diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 904de8b36c9a9..0000000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: Bug report -about: Create a report to help reproduce and fix the issue ---- - - -## Issue Summary - - - -## Round ID: - - - - - -## Testmerges: - - - -## Reproduction: - - - - - - diff --git a/.github/ISSUE_TEMPLATE/bug_report_form.yml b/.github/ISSUE_TEMPLATE/bug_report_form.yml new file mode 100644 index 0000000000000..f64b772437fc9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report_form.yml @@ -0,0 +1,65 @@ +name: Bug Report +description: Create a report to help reproduce and fix the issue. +body: + - type: markdown + attributes: + value: | + # **Please read the following guidelines. Follow all instructions or else your issue is subject to closure.** + ## If you use the "Report Issue" button in the top-right corner of the game, it will automatically fill in some of the information below. + + If you are reporting an issue found in another branch or codebase, you _must_ link the branch or codebase repo in your issue report or it will be closed. + For branches, If you have not pushed your code up, please either reproduce it on master or push your code up before making an issue report. + For other codebases, if you do not have a public code repository you will be refused help unless you can completely reproduce the issue on our master branch. + - type: input + id: reporting-version + attributes: + label: "Client Version:" + description: | + The BYOND version you are using to report this issue. You can find this information in the bottom left corner of the "About BYOND" window in the BYOND client. + It is strongly recommended that you include this, especially for concerns on the visual aspects of the game. + placeholder: "xxx.xxxx" + validations: + required: false + - type: textarea + id: issue-summary + attributes: + label: "Issue Summary:" + description: | + Briefly explain your issue in a few plain sentences. You may copy and paste the issue title here if it is suitable. + placeholder: | + "When I do X, Y happens instead of Z." + "X on Y map has Z issue." + validations: + required: true + - type: input + id: round-id + attributes: + label: "Round ID:" + description: | + If you discovered this issue from playing tgstation hosted servers, the Round ID can be found in the Status panel or retrieved from https://statbus.space/ + The Round ID lets us look up valuable information and logs for the round the bug happened. Leave this blank if there is no round ID. + placeholder: "XXXXXX" + validations: + required: false + - type: textarea + id: test-merges + attributes: + label: "Test Merge Information:" + description: | + If you're certain the issue is to be caused by a test merge [OOC Tab -> Show Server Revision], report it in the pull request's comment section rather than on the tracker. + If you're unsure you can refer to the issue number by prefixing said number with #. The issue number can be found beside the title after submission of this form. + validations: + required: false + - type: textarea + id: reproduction + attributes: + label: "Reproduction Steps:" + description: | + Describe the steps to reproduce the issue in detail. Include any relevant information, such as the map, round type, and any other factors that may be relevant. + If it is a runtime-related error, please include the runtime here as that is pertient information. Issues are not for oddities introduced by admin varedits, ensure these occur in normal circumstances. + placeholder: | + 1. Go to the X location + 2. Do Y action + 3. Observe Z result + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000000..e4f8cb0b767ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,4 @@ +contact_links: + - name: Feature Requests + url: https://tgstation13.org/phpBB/viewforum.php?f=9 + about: Post feature requests and suggestions on the forums. This repository does not handle them. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 11687283df4c7..0000000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- - -Feature requests are not handled in the repository. The best place to discuss these ideas would be on the /tg/station 13 forums here: https://tgstation13.org/phpBB/viewforum.php?f=9&sid=5153c1c704a4fb1006bf7a265e45e03f diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 3c8e7d04fd65b..9d11a11473320 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,7 +11,7 @@ ## Changelog - + :cl: add: Added new mechanics or gameplay changes diff --git a/.github/guides/AUTODOC.md b/.github/guides/AUTODOC.md index bcc92e10e59f3..fef5d62c668e2 100644 --- a/.github/guides/AUTODOC.md +++ b/.github/guides/AUTODOC.md @@ -40,7 +40,7 @@ public functions rely on to implement logic When documenting a proc, we give a short one line description (as this is shown next to the proc definition in the list of all procs for a type or global namespace), then a longer paragraph which will be shown when the user clicks on -the proc to jump to it's definition +the proc to jump to its definition ``` /** * Short description of the proc @@ -59,7 +59,7 @@ just going to be the typepath of the class, as dmdoc uses that by default Then we give a short oneline description of the class -Finally we give a longer multi paragraph description of the class and it's details +Finally we give a longer multi paragraph description of the class and its details ``` /** * # Classname (Can be omitted if it's just going to be the typepath) diff --git a/.github/guides/STANDARDS.md b/.github/guides/STANDARDS.md index 4716fa1b655c4..9c6496e0c4dc9 100644 --- a/.github/guides/STANDARDS.md +++ b/.github/guides/STANDARDS.md @@ -100,11 +100,11 @@ While we normally encourage (and in some cases, even require) bringing out of da ### RegisterSignal() #### PROC_REF Macros -When referencing procs in RegisterSignal, Callback and other procs you should use PROC_REF, TYPE_PROC_REF and GLOBAL_PROC_REF macros. +When referencing procs in RegisterSignal, Callback and other procs you should use PROC_REF, TYPE_PROC_REF and GLOBAL_PROC_REF macros. They ensure compilation fails if the reffered to procs change names or get removed. The macro to be used depends on how the proc you're in relates to the proc you want to use: -PROC_REF if the proc you want to use is defined on the current proc type or any of it's ancestor types. +PROC_REF if the proc you want to use is defined on the current proc type or any of its ancestor types. Example: ``` /mob/proc/funny() @@ -129,7 +129,7 @@ Example: /mob/subtype/proc/do_something() var/obj/thing/x = new() // we're referring to /obj/thing proc inside /mob/subtype proc - RegisterSignal(x, COMSIG_FAKE, TYPE_PROC_REF(/obj/thing, funny)) + RegisterSignal(x, COMSIG_FAKE, TYPE_PROC_REF(/obj/thing, funny)) ``` GLOBAL_PROC_REF if the proc you want to use is a global proc. @@ -154,7 +154,7 @@ All procs that are registered to listen for signals using `RegisterSignal()` mus ``` This is to ensure that it is clear the proc handles signals and turns on a lint to ensure it does not sleep. -Any sleeping behaviour that you need to perform inside a `SIGNAL_HANDLER` proc must be called asynchronously (e.g. with `INVOKE_ASYNC()`) or be redone to work asynchronously. +Any sleeping behaviour that you need to perform inside a `SIGNAL_HANDLER` proc must be called asynchronously (e.g. with `INVOKE_ASYNC()`) or be redone to work asynchronously. #### `override` @@ -280,7 +280,7 @@ Good: off_overlay = iconstate2appearance(icon, "off") broken_overlay = icon2appearance(broken_icon) if (stat & broken) - add_overlay(broken_overlay) + add_overlay(broken_overlay) return if (is_on) add_overlay(on_overlay) @@ -304,7 +304,7 @@ Bad: if (isnull(our_overlays)) our_overlays = list("on" = iconstate2appearance(overlay_icon, "on"), "off" = iconstate2appearance(overlay_icon, "off"), "broken" = iconstate2appearance(overlay_icon, "broken")) if (stat & broken) - add_overlay(our_overlays["broken"]) + add_overlay(our_overlays["broken"]) return ... ``` @@ -391,7 +391,7 @@ At its best, it can make some very common patterns easy to use, and harder to me some_code() if (do_something_else()) . = TRUE // Uh oh, what's going on! - + // even // more // code @@ -468,7 +468,7 @@ Meaning: to_chat(world, uh_oh()) ``` -...will print `woah!`. +...will print `woah!`. For this reason, it is acceptable for `.` to be used in places where consumers can reasonably continue in the event of a runtime. @@ -494,7 +494,7 @@ If you are using `.` in this case (or for another case that might be acceptable, . = ..() if (. == BIGGER_SUPER_ATTACK) return BIGGER_SUPER_ATTACK // More readable than `.` - + // Due to how common it is, most uses of `. = ..()` do not need a trailing `return .` ``` diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml index 7b544fef2a66c..3485b90d47489 100644 --- a/.github/workflows/run_integration_tests.yml +++ b/.github/workflows/run_integration_tests.yml @@ -46,9 +46,9 @@ jobs: - name: Install rust-g run: | bash tools/ci/install_rust_g.sh - - name: Install auxlua + - name: Install dreamluau run: | - bash tools/ci/install_auxlua.sh + bash tools/ci/install_dreamluau.sh - name: Configure version run: | echo "BYOND_MAJOR=${{ inputs.major }}" >> $GITHUB_ENV diff --git a/.github/workflows/update_tgs_dmapi.yml b/.github/workflows/update_tgs_dmapi.yml index 15d45b7935f05..232c02c0ecbed 100644 --- a/.github/workflows/update_tgs_dmapi.yml +++ b/.github/workflows/update_tgs_dmapi.yml @@ -21,6 +21,7 @@ jobs: - name: Apply DMAPI update uses: tgstation/tgs-dmapi-updater@v2 + id: dmapi-update with: header-path: 'code/__DEFINES/tgs.dm' library-path: 'code/modules/tgs' @@ -28,8 +29,8 @@ jobs: - name: Commit and Push continue-on-error: true run: | - git config user.name tgstation-server - git config user.email tgstation-server@users.noreply.github.com + git config user.name "tgstation-server-ci[bot]" + git config user.email "161980869+tgstation-server-ci[bot]@users.noreply.github.com" git add . git commit -m 'Update TGS DMAPI' git push -f -u origin tgs-dmapi-update @@ -41,7 +42,7 @@ jobs: source_branch: "tgs-dmapi-update" destination_branch: "master" pr_title: "Automatic TGS DMAPI Update" - pr_body: "This pull request updates the TGS DMAPI to the latest version. Please note any changes that may be breaking or unimplemented in your codebase by checking what changes are in the definitions file: code/__DEFINES/tgs.dm before merging." + pr_body: "This pull request updates the TGS DMAPI to the latest version. Please note any changes that may be breaking or unimplemented in your codebase by checking what changes are in the definitions file: code/__DEFINES/tgs.dm before merging.\n\n${{ steps.dmapi-update.outputs.release-notes }}" pr_label: "Tools" pr_allow_empty: false github_token: ${{ secrets.COMFY_ORANGE_PAT }} diff --git a/.gitignore b/.gitignore index c70ebf608b965..4076df99b62cf 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,8 @@ # Ignore compiled linux libs in the root folder, e.g. librust_g.so /*.so +# + #Ignore compiled files and other files generated during compilation. *.mdme *.mdme.* @@ -35,6 +37,16 @@ *.lk *.int *.backup + +# Ignore tools ported over from SpacemanDMM for personal use +.fingerprint +build/ +deps/ +incremental/ +dmm-tools.exe +dmm-tools.d +git-diagnostics-2024-08-11-1513.zip + ### https://raw.github.com/github/gitignore/cc542de017c606138a87ee4880e5f06b3a306def/Global/Linux.gitignore *~ @@ -214,7 +226,7 @@ Temporary Items # Built auxtools libraries and intermediate files aux*.dll libaux*.so -aux*.pdb +*.pdb # byond-tracy, we intentionally do not ship this and do not want to maintain it # https://github.com/mafemergency/byond-tracy/ @@ -244,3 +256,4 @@ define_sanity_output.txt # Running OpenDream locally tgstation.json +.cargo-lock diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm index 0e78558d6f38c..121f9e4ea45d4 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_pizza.dmm @@ -300,7 +300,6 @@ /area/ruin/pizzeria) "kr" = ( /obj/structure/table, -/obj/item/trash/waffles, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm index 96dec4af7207d..0bfcc133f0c98 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm @@ -25,8 +25,8 @@ /obj/item/clothing/shoes/galoshes{ pixel_y = -5 }, -/obj/item/flashlight/eyelight{ - pixel_y = 11 +/obj/item/flashlight{ + pixel_y = 8 }, /turf/open/floor/plating/icemoon, /area/ruin/plasma_facility/operations) diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm index ff3417fefce6d..d5c344e9cd31a 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm @@ -451,12 +451,8 @@ /area/ruin/comms_agent) "xq" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom{ - pixel_x = 31; - syndie = 1; - freerange = 1; - name = "syndicate radio intercom"; - desc = "A custom-made Syndicate-issue intercom used to transmit on all Nanotrasen frequencies. Particularly expensive." +/obj/item/radio/intercom/syndicate/freerange{ + pixel_x = 31 }, /obj/structure/table/reinforced, /obj/machinery/fax{ diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_mailroom.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_mailroom.dmm index 05d5324cac034..7f3f2fe17a10e 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_mailroom.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_mailroom.dmm @@ -12,10 +12,6 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) -"aG" = ( -/obj/structure/sign/warning/cold_temp, -/turf/closed/indestructible/reinforced, -/area/ruin/powered/mailroom) "ba" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/textured, @@ -35,8 +31,29 @@ dir = 4 }, /obj/effect/decal/remains/human, +/obj/item/paper/crumpled/bloody/fluff/stations/lavaland/mailroom/waiting{ + pixel_x = 8; + pixel_y = -5 + }, /turf/open/floor/iron/white, /area/ruin/powered/mailroom) +"cM" = ( +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/item/mail/junkmail, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/ruin/powered/mailroom) +"cP" = ( +/obj/structure/sign/poster/official/obey/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/ruin/powered/mailroom) +"dj" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/item/food/bonbon, +/obj/item/storage/fancy/heart_box, +/turf/open/floor/carpet/green, +/area/ruin/powered/mailroom) "dC" = ( /obj/effect/turf_decal/siding/yellow, /obj/structure/railing{ @@ -61,14 +78,9 @@ /obj/structure/holobox, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/powered/mailroom) -"hj" = ( -/obj/structure/filingcabinet/chestdrawer/wheeled, -/obj/item/storage/fancy/heart_box, -/obj/item/food/bonbon, -/turf/open/floor/carpet/royalblack, -/area/ruin/powered/mailroom) "hk" = ( /obj/effect/decal/cleanable/blood/drip, +/obj/machinery/light_switch/directional/east, /turf/open/floor/carpet/royalblack, /area/ruin/powered/mailroom) "hN" = ( @@ -77,7 +89,6 @@ /area/ruin/powered/mailroom) "iO" = ( /obj/item/food/grown/coffee/robusta, -/obj/machinery/light_switch/directional/west, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) "iV" = ( @@ -95,6 +106,7 @@ /obj/item/mail/junkmail, /obj/item/mail/junkmail, /obj/item/mail/junkmail, +/obj/structure/sign/poster/official/obey/directional/north, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) "jm" = ( @@ -104,21 +116,6 @@ /obj/item/mail/junkmail, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) -"jx" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/item/flashlight/glowstick/orange, -/turf/open/floor/iron/white, -/area/ruin/powered/mailroom) -"kZ" = ( -/obj/structure/filingcabinet/chestdrawer/wheeled, -/obj/item/paper/valentine, -/obj/item/grenade/c4, -/obj/item/clothing/accessory/medal/conduct, -/obj/item/paper/crumpled/muddy/fluff/instructions, -/turf/open/floor/carpet/royalblack, -/area/ruin/powered/mailroom) "lI" = ( /turf/closed/mineral/random/snow, /area/icemoon/underground/unexplored) @@ -126,7 +123,9 @@ /turf/closed/indestructible/reinforced, /area/ruin/powered/mailroom) "mA" = ( -/obj/structure/fence/corner, +/obj/structure/fence/corner{ + dir = 4 + }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "np" = ( @@ -138,6 +137,7 @@ "nM" = ( /obj/machinery/telecomms/relay/preset/mining, /obj/effect/turf_decal/siding/thinplating, +/obj/structure/sign/poster/official/obey/directional/north, /turf/open/floor/iron, /area/ruin/powered/mailroom) "nS" = ( @@ -179,6 +179,10 @@ /obj/machinery/light/small/red/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/powered/mailroom) +"rZ" = ( +/obj/item/flashlight/glowstick/orange, +/turf/open/floor/iron/white, +/area/ruin/powered/mailroom) "sA" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 8 @@ -203,7 +207,9 @@ /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/powered/mailroom) "vU" = ( -/obj/structure/sign/departments/cargo, +/obj/structure/sign/departments/cargo{ + name = "\improper Main Redirection Services" + }, /turf/closed/indestructible/reinforced, /area/ruin/powered/mailroom) "vV" = ( @@ -223,9 +229,13 @@ /obj/item/trash/can, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"xU" = ( +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/ruin/powered/mailroom) "yb" = ( /obj/item/screwdriver{ - pixel_x = -6; + pixel_x = -8; pixel_y = 6 }, /obj/structure/flora/rock/icy/style_random, @@ -243,12 +253,9 @@ /area/ruin/powered/mailroom) "AS" = ( /obj/structure/filingcabinet, +/obj/structure/sign/poster/official/obey/directional/north, /turf/open/floor/carpet/royalblack, /area/ruin/powered/mailroom) -"AX" = ( -/obj/structure/sign/warning/no_smoking/circle, -/turf/closed/indestructible/reinforced, -/area/ruin/powered/mailroom) "BZ" = ( /obj/effect/turf_decal/trimline/white/arrow_ccw{ dir = 4 @@ -258,23 +265,19 @@ }, /turf/open/floor/plating, /area/ruin/powered/mailroom) -"CW" = ( -/obj/structure/sign/poster/official/obey, -/turf/closed/indestructible/reinforced, -/area/ruin/powered/mailroom) "DR" = ( -/obj/structure/fence/post{ - dir = 4 - }, +/obj/structure/fence/post, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "DY" = ( /obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/north, -/obj/structure/window/spawner/directional/east, -/obj/item/toy/figure/cargotech, -/obj/item/paper/crumpled/bloody/fluff/stations/lavaland/mailroom/waiting, -/obj/machinery/door/window/left/directional/south, +/obj/item/toy/figure/cargotech{ + pixel_x = -6; + pixel_y = 12 + }, +/obj/machinery/door/window/half{ + pixel_y = 12 + }, /turf/open/floor/noslip, /area/ruin/powered/mailroom) "FC" = ( @@ -285,6 +288,14 @@ /obj/structure/sign/poster/ripped, /turf/closed/indestructible/reinforced, /area/ruin/powered/mailroom) +"GA" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/item/paper/crumpled/muddy/fluff/instructions, +/obj/item/clothing/accessory/medal/conduct, +/obj/item/grenade/c4, +/obj/item/paper/valentine, +/turf/open/floor/carpet/green, +/area/ruin/powered/mailroom) "HH" = ( /turf/open/floor/iron/smooth_corner{ dir = 4 @@ -292,12 +303,16 @@ /area/ruin/powered/mailroom) "HL" = ( /obj/structure/table/greyscale, -/obj/item/flashlight/lamp, -/obj/item/trash/candle, +/obj/item/flashlight/lamp{ + pixel_y = 11 + }, +/obj/item/trash/candle{ + pixel_x = -3; + pixel_y = 3 + }, /turf/open/floor/carpet/royalblack, /area/ruin/powered/mailroom) "IZ" = ( -/obj/item/food/strawberryicecreamsandwich, /turf/open/floor/iron/smooth_corner{ dir = 1 }, @@ -313,7 +328,7 @@ /area/ruin/powered/mailroom) "Js" = ( /obj/structure/fence/corner{ - dir = 1 + dir = 8 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) @@ -333,6 +348,7 @@ /area/ruin/powered/mailroom) "Mr" = ( /obj/machinery/computer/launchpad, +/obj/structure/sign/poster/ripped/directional/north, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) "Mz" = ( @@ -348,11 +364,22 @@ /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 }, +/obj/structure/sign/poster/official/obey/directional/north, /turf/open/floor/carpet/royalblack, /area/ruin/powered/mailroom) "MT" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/light/cold/directional/north, +/obj/structure/sign/warning/no_smoking/circle/directional/north{ + pixel_x = -5; + pixel_y = 27 + }, +/turf/open/floor/iron/textured, +/area/ruin/powered/mailroom) +"No" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/effect/decal/remains/human, /turf/open/floor/iron/textured, /area/ruin/powered/mailroom) "NE" = ( @@ -365,7 +392,10 @@ /turf/open/floor/carpet/green, /area/ruin/powered/mailroom) "Pk" = ( -/obj/item/multitool, +/obj/item/multitool{ + pixel_x = -15; + pixel_y = -8 + }, /obj/structure/ice_stasis, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) @@ -381,6 +411,7 @@ /obj/effect/turf_decal/siding/thinplating/corner, /obj/item/paper/crumpled/fluff/poem, /obj/structure/closet/crate/bin, +/obj/structure/sign/poster/ripped/directional/north, /turf/open/floor/carpet/royalblack, /area/ruin/powered/mailroom) "PQ" = ( @@ -394,15 +425,12 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/powered/mailroom) -"Qx" = ( -/obj/structure/sign/poster/official/obey, -/turf/closed/wall/r_wall, -/area/ruin/powered/mailroom) "QU" = ( /obj/effect/turf_decal/bot, /obj/item/pressure_plate/hologrid{ reward = /obj/item/keycard/icebox/processing }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/ruin/powered/mailroom) "Rn" = ( @@ -424,6 +452,7 @@ /area/ruin/powered/mailroom) "SY" = ( /obj/machinery/launchpad, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) "To" = ( @@ -451,9 +480,14 @@ /area/icemoon/underground/explored) "Vz" = ( /obj/item/paper_bin{ - pixel_y = 5 + pixel_y = 9; + pixel_x = 6 }, /obj/structure/table/rolling, +/obj/item/food/strawberryicecreamsandwich{ + pixel_x = -8; + pixel_y = 3 + }, /turf/open/floor/iron/smooth_large, /area/ruin/powered/mailroom) "VG" = ( @@ -462,7 +496,6 @@ /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/powered/mailroom) "Wj" = ( -/obj/machinery/status_display/evac/directional/west, /obj/structure/chair/plastic{ dir = 4 }, @@ -470,6 +503,7 @@ pixel_x = 4; pixel_y = 3 }, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/ruin/powered/mailroom) "Wr" = ( @@ -485,16 +519,10 @@ "WE" = ( /turf/closed/wall/r_wall, /area/ruin/powered/mailroom) -"Xa" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/indestructible/reinforced, -/area/ruin/powered/mailroom) "Xi" = ( /obj/effect/turf_decal/loading_area{ dir = 4 }, -/obj/effect/decal/remains/human, -/obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/iron/textured, /area/ruin/powered/mailroom) "XO" = ( @@ -515,8 +543,13 @@ /area/icemoon/underground/explored) "Ze" = ( /obj/machinery/vending/coffee, +/obj/structure/sign/poster/ripped/directional/north, /turf/open/floor/carpet/royalblack, /area/ruin/powered/mailroom) +"Zy" = ( +/obj/item/mail/junkmail, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/ruin/powered/mailroom) "ZV" = ( /obj/structure/chair/office/light{ dir = 8 @@ -550,7 +583,7 @@ dG (2,1,1) = {" lI yb -zr +dR qv pd iV @@ -558,7 +591,7 @@ lI iV iV qv -zr +dR lI iV iV @@ -581,7 +614,7 @@ iV iV iV iV -zr +dR lI Pk lI @@ -596,7 +629,7 @@ lI (4,1,1) = {" iV iV -zr +dR bK iV iV @@ -604,7 +637,7 @@ iV iV iV pd -zr +dR lI lI lI @@ -619,7 +652,7 @@ lI (5,1,1) = {" iV iV -zr +dR qv iV xL @@ -668,7 +701,7 @@ iV ms ms ms -Gn +ms ms ms ms @@ -676,7 +709,7 @@ ms ms Yk ms -dR +zr Js iV lI @@ -693,11 +726,11 @@ SY iO MC Wr -Xa +ms Wj ch Mi -jx +Mi ms UB DR @@ -719,7 +752,7 @@ az TN XU XU -XU +rZ Se DY iV @@ -757,19 +790,19 @@ lI (11,1,1) = {" lI iV -CW +ms jh XO HH Jd -AX +ms MT ba -ba +No Xi vU iV -zr +dR iV iV iV @@ -785,15 +818,15 @@ jm vV US To -aG +ms QU BZ wc qp ms -dR +zr mA -iV +Vq iV iV lI @@ -810,7 +843,7 @@ Yk Yk ms ms -Qx +WE ms ms ms @@ -827,19 +860,19 @@ lI lI iV ms -cg +cM Qb cg -cg +cM PD qP -cg +cM ms AS FC Rn au -hj +Rn ms iV iV @@ -850,21 +883,21 @@ lI lI iV ms +cP nS nS -nS -nS +xU nS nS uA ms Ze NN -NN +dj sA HL ms -Vq +iV iV lI lI @@ -878,8 +911,8 @@ nS nS nS nS -nS -nS +Zy +xU ms PO NN @@ -897,16 +930,16 @@ lI iV ms AP -nS +Zy nS oU nS -nS +gi nS ms nM NN -NN +GA Sm SA ms @@ -925,16 +958,16 @@ VG nS VG oI -gi +Zy ms MP hk KK ZV -kZ +Rn ms iV -iV +Vq iV lI "} @@ -943,18 +976,18 @@ iV iV ms ms -CW +ms ms ms Gn ms ms ms -Gn -CW -Gn -CW -CW +ms +ms +ms +ms +ms ms iV iV diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_crashsite.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_crashsite.dmm new file mode 100644 index 0000000000000..828e7b7f74352 --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_crashsite.dmm @@ -0,0 +1,908 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"b" = ( +/obj/machinery/door/airlock/titanium{ + name = "Escape Pod Airlock" + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) +"c" = ( +/obj/item/gps/computer, +/obj/structure/tubes, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"d" = ( +/obj/structure/tubes, +/obj/structure/rack, +/obj/item/survivalcapsule, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"e" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) +"f" = ( +/obj/structure/bed/pod{ + dir = 1 + }, +/obj/item/bedsheet/black{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"g" = ( +/obj/structure/rack, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"h" = ( +/obj/effect/decal/cleanable/rubble, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"i" = ( +/obj/effect/mob_spawn/corpse/goliath, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"j" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/item/bitrunning_disk/item/pka_mods, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) +"k" = ( +/obj/structure/girder, +/turf/open/floor/plating/lavaland_atmos, +/area/ruin/unpowered) +"l" = ( +/turf/open/water/lavaland_atmos, +/area/lavaland/surface) +"m" = ( +/obj/machinery/door/airlock/survival_pod/glass, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"n" = ( +/turf/closed/wall/mineral/titanium{ + initial_gas_mix = "LAVALAND_ATMOS" + }, +/area/ruin/unpowered) +"o" = ( +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface) +"p" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"q" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ruin/unpowered) +"r" = ( +/obj/machinery/door/airlock/titanium{ + name = "Escape Pod Airlock" + }, +/turf/open/floor/mineral/titanium/blue/lavaland_atmos, +/area/ruin/unpowered) +"s" = ( +/turf/open/floor/pod/dark, +/area/ruin/powered) +"t" = ( +/obj/structure/flora/tree/stump, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"u" = ( +/obj/structure/bonfire/prelit, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"v" = ( +/obj/effect/decal/cleanable/rubble, +/obj/item/stack/sheet/mineral/titanium, +/obj/item/stack/sheet/mineral/titanium, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"w" = ( +/obj/effect/decal/cleanable/glass/titanium, +/obj/item/stack/sheet/mineral/titanium, +/obj/item/stack/sheet/mineral/titanium, +/turf/open/floor/plating, +/area/ruin/unpowered) +"x" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/misc/ashplanet/wateryrock, +/area/lavaland/surface) +"y" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/mob_spawn/corpse/human/engineer, +/turf/open/floor/mineral/titanium/blue/lavaland_atmos, +/area/ruin/unpowered) +"z" = ( +/obj/item/book/manual/fish_catalog, +/turf/open/misc/ashplanet/wateryrock, +/area/lavaland/surface) +"B" = ( +/mob/living/basic/mining/goliath, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"D" = ( +/obj/item/gun/energy/recharge/kinetic_accelerator, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"E" = ( +/turf/open/misc/ashplanet/wateryrock, +/area/lavaland/surface) +"F" = ( +/obj/effect/mob_spawn/corpse/human/cargo_tech, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"G" = ( +/turf/template_noop, +/area/template_noop) +"H" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/mob_spawn/corpse/human/cook, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/unpowered) +"I" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue/lavaland_atmos, +/area/ruin/unpowered) +"J" = ( +/obj/machinery/smartfridge/survival_pod{ + desc = "A heated storage unit. This one's seen better days."; + name = "dusty survival pod storage" + }, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"K" = ( +/obj/structure/fans, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"L" = ( +/obj/item/storage/toolbox/fishing, +/turf/open/misc/ashplanet/wateryrock, +/area/lavaland/surface) +"M" = ( +/obj/structure/rack, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/obj/item/crowbar/large/emergency, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"N" = ( +/turf/closed/wall/mineral/titanium/survival/pod, +/area/ruin/powered) +"O" = ( +/obj/effect/spawner/structure/window/reinforced/shuttle, +/turf/open/floor/plating, +/area/ruin/unpowered) +"P" = ( +/obj/effect/mob_spawn/corpse/human/miner, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"Q" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/unpowered) +"R" = ( +/mob/living/basic/mining/goliath/ancient, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"S" = ( +/obj/structure/bed/pod, +/obj/item/bedsheet/black, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"T" = ( +/obj/structure/tubes, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"U" = ( +/obj/item/bait_can/worm/premium, +/turf/open/misc/ashplanet/wateryrock, +/area/lavaland/surface) +"V" = ( +/obj/structure/table/survival_pod, +/obj/item/food/meat/steak/goliath, +/turf/open/floor/pod/dark, +/area/ruin/powered) +"Y" = ( +/obj/machinery/power/shuttle_engine/propulsion/burst{ + dir = 8 + }, +/turf/closed/wall/mineral/titanium/interior, +/area/ruin/unpowered) +"Z" = ( +/obj/machinery/power/shuttle_engine/propulsion/burst, +/turf/closed/wall/mineral/titanium/interior, +/area/ruin/unpowered) + +(1,1,1) = {" +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +"} +(2,1,1) = {" +G +G +G +G +G +G +G +o +o +G +o +o +G +o +o +G +G +G +G +G +G +G +G +G +G +"} +(3,1,1) = {" +G +G +G +G +G +G +o +o +o +o +o +o +o +o +o +o +G +o +G +G +G +G +G +G +G +"} +(4,1,1) = {" +G +G +G +G +G +o +o +o +o +o +o +o +o +o +o +o +o +o +o +o +G +o +G +G +G +"} +(5,1,1) = {" +G +G +G +G +o +o +o +o +o +E +E +E +E +E +E +o +o +o +o +o +o +o +o +G +G +"} +(6,1,1) = {" +G +G +G +o +o +o +o +a +a +E +l +l +l +l +E +E +F +N +N +N +N +N +o +G +G +"} +(7,1,1) = {" +G +G +G +o +o +a +a +a +t +E +l +l +l +l +E +E +a +N +K +s +M +N +o +G +G +"} +(8,1,1) = {" +G +G +G +o +o +a +a +a +a +E +E +l +l +l +E +h +a +N +J +s +p +N +o +G +G +"} +(9,1,1) = {" +G +G +G +o +n +q +q +Z +a +a +E +E +l +U +E +a +a +N +V +s +S +N +o +o +G +"} +(10,1,1) = {" +G +G +G +o +O +y +I +r +a +a +R +z +x +L +a +a +h +N +N +m +N +N +o +G +G +"} +(11,1,1) = {" +G +G +G +o +n +q +k +Z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +o +o +G +"} +(12,1,1) = {" +G +G +G +o +o +v +a +B +a +a +i +a +a +a +a +a +a +a +B +a +a +a +G +G +G +"} +(13,1,1) = {" +G +G +G +G +o +o +a +a +a +a +D +a +a +a +a +u +a +a +a +a +a +a +G +G +G +"} +(14,1,1) = {" +G +G +G +G +o +o +Y +b +Y +P +a +a +a +a +a +h +a +a +a +a +a +a +G +G +G +"} +(15,1,1) = {" +G +G +G +o +o +o +q +e +Q +N +N +m +N +N +t +a +a +a +a +a +a +a +G +G +G +"} +(16,1,1) = {" +G +G +G +o +o +o +q +j +Q +N +K +s +f +N +a +a +a +a +a +a +a +G +G +G +G +"} +(17,1,1) = {" +G +G +G +o +o +o +n +o +Q +N +J +s +g +N +a +Y +b +Y +a +a +a +o +o +G +G +"} +(18,1,1) = {" +G +G +G +G +o +o +o +o +o +N +c +T +d +N +a +q +e +q +a +a +o +o +o +G +G +"} +(19,1,1) = {" +G +G +G +G +G +o +o +o +o +N +N +N +N +N +o +q +H +q +a +o +o +o +o +G +G +"} +(20,1,1) = {" +G +G +G +G +G +o +o +o +o +o +o +o +o +o +o +q +w +o +o +o +o +G +G +G +G +"} +(21,1,1) = {" +G +G +G +G +G +G +G +o +o +o +o +o +o +o +o +o +o +o +o +o +G +G +G +G +G +"} +(22,1,1) = {" +G +G +G +G +G +G +G +G +G +G +G +G +o +o +o +o +o +o +o +G +G +G +G +G +G +"} +(23,1,1) = {" +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +"} +(24,1,1) = {" +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +"} +(25,1,1) = {" +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +G +"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm index 6156174aaba56..51642da1a8da9 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm @@ -26,14 +26,13 @@ /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) "aW" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/clothing/mask/gas/explorer/folded, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/obj/machinery/suit_storage_unit/mining/eva, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 22 + }, /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) -"bc" = ( -/obj/structure/sign/poster/ripped, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) "bf" = ( /turf/closed/mineral/strong/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -53,35 +52,24 @@ /obj/machinery/iv_drip, /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) -"bt" = ( -/obj/structure/table, -/turf/closed/mineral/strong/wasteland, -/area/ruin/unpowered/elephant_graveyard) "by" = ( -/obj/structure/closet/emcloset, -/obj/item/light/bulb, /obj/effect/turf_decal/box/white, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/graveyard_shuttle) "bA" = ( -/obj/machinery/suit_storage_unit/mining/eva, /obj/effect/turf_decal/box/white, +/obj/item/wallframe/camera{ + pixel_x = 4; + pixel_y = -9 + }, +/obj/effect/decal/cleanable/oil, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/graveyard_shuttle) "bE" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/spawner/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/window/half/directional/north, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/graveyard_shuttle) -"bJ" = ( -/obj/structure/sign/warning/xeno_mining, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) -"bK" = ( -/obj/structure/sign/warning/explosives, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) "bS" = ( /obj/effect/decal/cleanable/oil/slippery, /obj/machinery/rnd/destructive_analyzer, @@ -89,15 +77,30 @@ /area/ruin/powered/graveyard_shuttle) "cm" = ( /obj/structure/table/optable, -/obj/item/storage/backpack/explorer, -/obj/item/reagent_containers/cup/soda_cans/cola, -/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/item/storage/backpack/explorer{ + pixel_x = -8; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/soda_cans/cola{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/machinery/light/small/broken/directional/east, /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) +"cs" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "cO" = ( /obj/structure/bed, /obj/item/trash/pistachios, -/obj/item/trash/chips, +/obj/item/trash/chips{ + pixel_x = -8 + }, /obj/item/bedsheet/brown, /obj/effect/decal/cleanable/dirt, /turf/open/misc/asteroid/basalt/wasteland, @@ -108,11 +111,20 @@ }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"da" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) "di" = ( /obj/structure/filingcabinet/chestdrawer, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 21 + }, /obj/item/paper/fluff/ruins/elephant_graveyard/hypothesis, /obj/effect/decal/cleanable/dirt, +/obj/item/clothing/mask/gas/explorer/folded, +/obj/item/storage/box/lights/tubes, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) "do" = ( @@ -126,12 +138,18 @@ "ei" = ( /obj/effect/decal/cleanable/blood/gibs/old, /obj/effect/decal/cleanable/blood/splatter, +/obj/item/flashlight/flare/torch, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "eu" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"eQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk/mining, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "gl" = ( /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/old, @@ -147,7 +165,6 @@ /area/ruin/unpowered/elephant_graveyard) "gY" = ( /obj/structure/table, -/obj/machinery/power/floodlight, /obj/structure/cable, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -178,20 +195,28 @@ /area/ruin/unpowered/elephant_graveyard) "kQ" = ( /obj/structure/table, -/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black{ + pixel_y = 8; + pixel_x = -2 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "lt" = ( /obj/structure/table, /obj/structure/cable, -/obj/item/clipboard, +/obj/item/clipboard{ + pixel_y = 14; + pixel_x = -3 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "lK" = ( /obj/structure/cable, /obj/item/reagent_containers/cup/bottle/frostoil{ desc = "A small bottle. Contains cold sauce. There's a label on here: APPLY ON SEVERE BURNS."; - volume = 10 + volume = 10; + pixel_y = -4; + pixel_x = 6 }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -200,13 +225,29 @@ /obj/effect/spawner/random/decoration/glowstick, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"mI" = ( +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "nl" = ( /obj/structure/table, -/obj/item/pen, -/obj/item/pen, -/obj/item/pen, +/obj/item/pen{ + pixel_x = -1 + }, +/obj/item/pen{ + pixel_y = 13; + pixel_x = 4 + }, +/obj/item/pen{ + pixel_y = 6; + pixel_x = -2 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"ns" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) "nv" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/misc/asteroid/basalt/wasteland, @@ -217,9 +258,20 @@ }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"nW" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 4 + }, +/obj/effect/decal/cleanable/ash, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "nX" = ( -/obj/item/trash/can, -/obj/structure/bedsheetbin/empty, +/obj/item/trash/can{ + pixel_y = 16 + }, +/obj/structure/bedsheetbin/empty{ + pixel_y = 12 + }, /obj/structure/table, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -240,14 +292,27 @@ /obj/structure/stone_tile/slab/cracked, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"pl" = ( +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "pI" = ( -/obj/item/light/bulb/broken, /obj/effect/turf_decal/caution/stand_clear/white, /obj/effect/decal/cleanable/dirt, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/graveyard_shuttle) +"qW" = ( +/obj/structure/statue/bone/rib{ + dir = 1; + pixel_x = -3 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "rb" = ( -/obj/item/chair, +/obj/item/chair{ + pixel_y = 6; + pixel_x = 1 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "rg" = ( @@ -259,9 +324,18 @@ /area/ruin/unpowered/elephant_graveyard) "rH" = ( /obj/structure/closet/crate/bin, -/obj/item/trash/candle, -/obj/item/trash/can/food/beans, -/obj/item/trash/can, +/obj/item/trash/candle{ + pixel_y = -4; + pixel_x = 3 + }, +/obj/item/trash/can/food/beans{ + pixel_y = -7; + pixel_x = -7 + }, +/obj/item/trash/can{ + pixel_y = 4; + pixel_x = 6 + }, /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt, /turf/open/misc/asteroid/basalt/wasteland, @@ -269,7 +343,9 @@ "sg" = ( /obj/structure/table, /obj/structure/cable, -/obj/item/t_scanner/adv_mining_scanner/lesser, +/obj/item/t_scanner/adv_mining_scanner/lesser{ + pixel_y = 8 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "tf" = ( @@ -277,18 +353,30 @@ icon_state = "wasteland_dug" }, /area/ruin/unpowered/elephant_graveyard) +"tm" = ( +/obj/structure/cable, +/obj/structure/lattice/catwalk/mining, +/obj/effect/decal/cleanable/dirt, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "uj" = ( /obj/structure/bed, /obj/item/flashlight/lantern, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "uy" = ( -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 12 + }, /obj/structure/closet/crate/grave/filled/lead_researcher, /obj/effect/decal/cleanable/blood/gibs/old, /obj/effect/mob_spawn/corpse/human/skeleton, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"uS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "vk" = ( /obj/structure/closet/crate/grave/filled, /obj/effect/decal/cleanable/dirt, @@ -296,8 +384,18 @@ /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "vP" = ( -/obj/item/light/bulb/broken, +/obj/item/light/bulb/broken{ + pixel_x = -2; + pixel_y = -2 + }, /obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/obj/item/light/bulb/broken, +/obj/item/light/bulb{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/machinery/light/small/dim/directional/west, /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) "vS" = ( @@ -307,13 +405,22 @@ /area/ruin/unpowered/elephant_graveyard) "wk" = ( /obj/structure/table, -/obj/item/tape/random, -/obj/item/tape/random, +/obj/item/tape/random{ + pixel_y = 6 + }, +/obj/item/tape/random{ + pixel_y = 10 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "wp" = ( -/obj/item/knife/combat/bone, -/obj/item/organ/internal/tongue, +/obj/item/knife/combat/bone{ + pixel_y = 4 + }, +/obj/item/organ/internal/tongue{ + pixel_x = 5; + pixel_y = -7 + }, /obj/effect/decal/cleanable/blood/old, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -332,6 +439,11 @@ /obj/effect/decal/cleanable/glass, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"zw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/floodlight, +/turf/open/floor/plating/lavaland_atmos, +/area/ruin/unpowered/elephant_graveyard) "zY" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/misc/asteroid/basalt/wasteland, @@ -353,7 +465,10 @@ /area/ruin/unpowered/elephant_graveyard) "AT" = ( /obj/structure/cable, -/obj/item/food/deadmouse, +/obj/item/food/deadmouse{ + pixel_x = 6; + pixel_y = 11 + }, /obj/item/assembly/mousetrap, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -386,7 +501,10 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface) "Di" = ( -/obj/item/organ/internal/lungs, +/obj/item/organ/internal/lungs{ + pixel_x = 11; + pixel_y = -4 + }, /obj/item/organ/internal/liver, /obj/effect/decal/cleanable/blood/old, /turf/open/misc/asteroid/basalt/wasteland, @@ -399,6 +517,7 @@ /area/ruin/unpowered/elephant_graveyard) "DB" = ( /obj/structure/stone_tile, +/obj/effect/decal/cleanable/blood/drip, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "DU" = ( @@ -406,26 +525,56 @@ /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "Eh" = ( -/obj/item/organ/internal/brain, +/obj/item/organ/internal/brain{ + pixel_x = -4; + pixel_y = -2 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "EI" = ( /obj/effect/decal/remains/human, -/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/item/restraints/handcuffs/cable/zipties/used{ + pixel_x = -7; + pixel_y = -2 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "EW" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"EZ" = ( +/obj/structure/flora/rock/pile/style_2, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"Gc" = ( +/obj/structure/statue/bone/rib{ + pixel_x = 5 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "GC" = ( /obj/effect/decal/cleanable/dirt, /obj/item/cigbutt, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"GT" = ( +/obj/structure/flora/ash/fireblossom, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) "Hq" = ( -/obj/structure/barricade/wooden, -/obj/structure/mineral_door/wood, +/obj/structure/barricade/wooden{ + dir = 8 + }, +/obj/structure/mineral_door/wood{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) +"Hz" = ( +/obj/structure/statue/bone/rib{ + pixel_x = 3 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "Iy" = ( @@ -435,14 +584,17 @@ "Iz" = ( /obj/structure/table, /obj/structure/cable, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = 11 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "IR" = ( /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/shuttle{ - name = "Archaeology Shuttle Airlock" + name = "Archaeology Shuttle Airlock"; + dir = 8 }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/graveyard_shuttle) @@ -457,20 +609,31 @@ /area/ruin/unpowered/elephant_graveyard) "JT" = ( /obj/structure/table, -/obj/item/taperecorder, +/obj/item/taperecorder{ + pixel_y = 12; + pixel_x = 4 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "Kg" = ( /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/dirt, -/obj/item/clothing/head/fedora/curator, -/obj/item/clothing/suit/jacket/curator, +/obj/item/clothing/head/fedora/curator{ + pixel_y = 7 + }, +/obj/item/clothing/suit/jacket/curator{ + pixel_x = -2; + pixel_y = -8 + }, /turf/open/floor/mineral/titanium/white, /area/ruin/powered/graveyard_shuttle) "Kj" = ( /obj/item/organ/internal/heart, /obj/item/organ/internal/eyes, -/obj/item/organ/internal/ears, +/obj/item/organ/internal/ears{ + pixel_y = 6; + pixel_x = 12 + }, /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) @@ -484,14 +647,20 @@ /obj/structure/barricade/sandbags, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) -"LN" = ( -/obj/structure/sign/warning/no_smoking/circle, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) +"KC" = ( +/obj/structure/flora/rock/style_3, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) "LR" = ( /obj/item/paper/fluff/ruins/elephant_graveyard, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"LV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/xeno_mining/directional/north, +/obj/structure/fluff/minepost, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "Mx" = ( /obj/structure/flora/rock/style_random, /obj/structure/cable, @@ -503,13 +672,22 @@ /area/ruin/unpowered/elephant_graveyard) "MF" = ( /obj/effect/decal/remains/human, -/obj/item/tank/internals/emergency_oxygen/empty, +/obj/item/tank/internals/emergency_oxygen/empty{ + pixel_y = -8; + pixel_x = 7 + }, /obj/effect/decal/cleanable/blood/old, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "MI" = ( /obj/structure/cable, /obj/machinery/power/floodlight, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/lavaland_atmos, +/area/ruin/unpowered/elephant_graveyard) +"NA" = ( +/obj/structure/lattice/catwalk/mining, +/obj/effect/decal/cleanable/dirt, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "NO" = ( @@ -518,36 +696,72 @@ /area/ruin/unpowered/elephant_graveyard) "Oa" = ( /obj/effect/decal/cleanable/generic, -/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_y = 4; + pixel_x = -5 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "Ou" = ( /obj/structure/statue/bone/rib, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) +"Ow" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/minepost, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered/elephant_graveyard) "PN" = ( /obj/machinery/power/floodlight, /obj/structure/cable, -/turf/open/misc/asteroid/basalt/wasteland, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/lavaland_atmos, /area/ruin/unpowered/elephant_graveyard) "Ql" = ( /obj/structure/barricade/wooden, /obj/item/paper/fluff/ruins/elephant_graveyard, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) -"SR" = ( -/obj/structure/sign/warning/no_smoking/circle, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/graveyard_shuttle) +"Qo" = ( +/obj/structure/statue/bone/rib{ + dir = 1; + pixel_x = -5 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) +"SB" = ( +/obj/structure/lattice/catwalk/mining, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) +"SJ" = ( +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) "Td" = ( /obj/structure/table, /obj/structure/cable, -/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/rnd_notes, +/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/rnd_notes{ + pixel_y = 11 + }, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) +"Tu" = ( +/obj/structure/sign/warning/explosives/directional/north, +/turf/open/misc/asteroid/basalt/wasteland, +/area/ruin/unpowered/elephant_graveyard) +"Ui" = ( +/obj/structure/fluff/minepost, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "UC" = ( /obj/structure/table, -/obj/item/storage/medkit/o2, +/obj/item/storage/medkit/o2{ + pixel_y = 8 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "UE" = ( @@ -560,7 +774,10 @@ /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "Vv" = ( -/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_x = -6; + pixel_y = -2 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "VM" = ( @@ -582,8 +799,14 @@ /area/ruin/unpowered/elephant_graveyard) "WW" = ( /obj/effect/decal/remains/human, -/obj/item/clothing/under/misc/overalls, -/obj/item/clothing/mask/bandana/green, +/obj/item/clothing/under/misc/overalls{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/clothing/mask/bandana/green{ + pixel_x = 4; + pixel_y = 4 + }, /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "WX" = ( @@ -600,12 +823,23 @@ /turf/open/misc/asteroid/basalt/wasteland, /area/ruin/unpowered/elephant_graveyard) "XK" = ( -/obj/item/food/deadmouse, +/obj/item/food/deadmouse{ + pixel_y = 11; + pixel_x = 5 + }, /obj/item/assembly/mousetrap, /turf/open/misc/asteroid/basalt/wasteland{ icon_state = "wasteland_dug" }, /area/ruin/unpowered/elephant_graveyard) +"XL" = ( +/obj/effect/turf_decal/delivery/white, +/obj/item/restraints/handcuffs/cable/zipties/used{ + pixel_x = 4; + pixel_y = -3 + }, +/turf/open/floor/circuit/off, +/area/ruin/powered/graveyard_shuttle) "XY" = ( /obj/structure/table, /obj/structure/cable, @@ -623,10 +857,14 @@ /obj/effect/spawner/structure/window/reinforced/shuttle, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/powered/graveyard_shuttle) -"ZC" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/graveyard_shuttle) +"YO" = ( +/obj/structure/flora/ash/leaf_shroom, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) +"YV" = ( +/obj/structure/flora/rock/pile/style_3, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface) "ZH" = ( /obj/structure/stone_tile/surrounding_tile, /turf/open/misc/asteroid/basalt/wasteland{ @@ -801,9 +1039,9 @@ gB bf bf bf -gu -dr -bJ +aA +LV +aA bf bf bf @@ -831,12 +1069,12 @@ bf bf bf aA -bc aA -LN -gB +aA +aA +mI WW -gB +gu Xe gB gB @@ -868,16 +1106,16 @@ bf lK Br Br -Br +tm PN -gB +NA gB tf gB gB -gB -gB -bK +aA +Tu +aA bf bf bf @@ -906,7 +1144,7 @@ Br Cn gB gB -gB +NA Cn Eh gB @@ -988,7 +1226,7 @@ Kj wp gB gB -gB +eu gB dr bf @@ -1016,8 +1254,8 @@ gB WX gB Dw -Dw -Dw +Qo +qW Dw gB gB @@ -1052,14 +1290,14 @@ Xe gB gB gB -gB +tf ZH do Bf gB do gB -nA +nW gB gB cZ @@ -1081,14 +1319,14 @@ ac (13,1,1) = {" bf uy -gB +Ui bf Xe Br gB gB gB -gB +tf AI gB tf @@ -1102,7 +1340,7 @@ Cn gB Xe gB -gB +NA bf bf gB @@ -1127,18 +1365,18 @@ gB iR gB Ou +Gc +Hz Ou -Ou -Ou -gB -gB +zY +zY tf gB gB UE gB gB -dr +eQ MI bf Xe @@ -1163,8 +1401,8 @@ gB gB gB gB -gB -gB +NA +uS gB gB gB @@ -1176,10 +1414,10 @@ gB gB gB gB -Br +tm bf ac -gB +Ui gB dr ac @@ -1199,13 +1437,13 @@ Br Br Br gB -gB -dr -gB +SB +zw +SB Cn gB km -gB +eu gB gB gB @@ -1242,7 +1480,7 @@ mH kQ JT gB -gB +zY km gB km @@ -1250,7 +1488,7 @@ gB gB dr Xe -Br +JD bf bf ac @@ -1278,7 +1516,7 @@ rb gB gB wk -gB +SJ gB dr gB @@ -1309,20 +1547,20 @@ zY gB bf gB -bt +bf XY EI -gB -gB +eu +pl UC gB +JD Br +JD Br Br Br -Br -Br -Br +JD Br AT bf @@ -1331,7 +1569,7 @@ ac ac ac ac -NO +Ow dr ac ac @@ -1352,7 +1590,7 @@ lt Iz Br Br -Br +cs rg bf ac @@ -1381,7 +1619,7 @@ ab ac ac bf -UK +Ui dr bf bf @@ -1426,7 +1664,7 @@ bf bf bf bf -gB +SJ bf bf bf @@ -1445,7 +1683,7 @@ ab ab ab ab -Cu +ns Cu "} (23,1,1) = {" @@ -1476,8 +1714,8 @@ ab ab ab ab -Cu -Cu +YO +EZ Cu Iy Cu @@ -1499,15 +1737,16 @@ AB bf aH aH -ZC +aH IR -ZC +aH aH aH aH Iy Cu Cu +GT Cu Cu Cu @@ -1516,8 +1755,7 @@ Cu Cu Cu Cu -Cu -Cu +da ab ab ab @@ -1543,15 +1781,15 @@ by aH aH jx +GT Cu Cu Cu Cu +GT Cu Cu -Cu -Cu -Cu +YV ab ab ab @@ -1573,17 +1811,17 @@ ab YM aO Kg -bi +XL bp bi pI bE aH jx +GT +GT Cu -Cu -Cu -Cu +KC ab ab ab @@ -1648,12 +1886,12 @@ ab aH aH aH -SR aH aH aH aH -Cu +aH +EZ Cu ab ab diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm index 30690101246d4..76449180e17b5 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm @@ -34,9 +34,18 @@ dir = 8 }, /obj/structure/table/wood, -/obj/item/food/meat/slab/human/mutant/lizard, -/obj/item/food/meat/slab/human/mutant/lizard, -/obj/item/food/meat/slab/human/mutant/lizard, +/obj/item/food/meat/slab/human/mutant/lizard{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/food/meat/slab/human/mutant/lizard{ + pixel_y = 10; + pixel_x = -3 + }, +/obj/item/food/meat/slab/human/mutant/lizard{ + pixel_y = 17; + pixel_x = 5 + }, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "eb" = ( @@ -46,13 +55,16 @@ /obj/structure/table/wood, /obj/item/food/meat/slab/corgi{ pixel_x = 3; - pixel_y = 1 + pixel_y = 4 }, /obj/item/food/meat/slab/corgi{ pixel_x = 5; - pixel_y = 5 + pixel_y = 18 + }, +/obj/item/knife/combat/bone{ + pixel_y = 10; + pixel_x = -4 }, -/obj/item/knife/combat/bone, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "eq" = ( @@ -77,7 +89,10 @@ /area/ruin/powered/gluttony) "fa" = ( /obj/structure/table/wood, -/obj/item/food/meat/slab/human, +/obj/item/food/meat/slab/human{ + pixel_y = 13; + pixel_x = -4 + }, /obj/structure/stone_tile/block/cracked{ dir = 8 }, @@ -111,7 +126,9 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "ie" = ( -/obj/item/veilrender/vealrender, +/obj/item/veilrender/vealrender{ + pixel_y = 4 + }, /obj/structure/stone_tile/slab/cracked{ dir = 6 }, @@ -155,8 +172,13 @@ dir = 1 }, /obj/structure/table/wood, -/obj/item/spear/bonespear, -/obj/item/slime_extract/silver, +/obj/item/spear/bonespear{ + pixel_y = 9 + }, +/obj/item/slime_extract/silver{ + pixel_y = 12; + pixel_x = -7 + }, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "ls" = ( @@ -224,6 +246,12 @@ /area/ruin/powered/gluttony) "rg" = ( /obj/structure/stone_tile/block/burnt, +/obj/item/clothing/gloves/butchering{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/effect/mob_spawn/corpse/human/miner, +/obj/effect/decal/cleanable/blood, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "vU" = ( @@ -260,8 +288,14 @@ dir = 1 }, /obj/structure/table/wood, -/obj/item/food/meat/slab/goliath, -/obj/item/food/meat/slab/human/mutant/ethereal, +/obj/item/food/meat/slab/goliath{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/food/meat/slab/human/mutant/ethereal{ + pixel_y = 15; + pixel_x = -9 + }, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "zd" = ( @@ -282,7 +316,7 @@ dir = 4 }, /obj/effect/decal/cleanable/blood/tracks{ - dir = 5 + dir = 8 }, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) @@ -354,8 +388,6 @@ /obj/structure/stone_tile/slab/cracked{ dir = 1 }, -/obj/effect/mob_spawn/corpse/human/miner, -/obj/item/clothing/gloves/butchering, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "IM" = ( @@ -491,7 +523,9 @@ dir = 8 }, /obj/structure/table/wood, -/obj/item/food/meat/slab/human/mutant/moth, +/obj/item/food/meat/slab/human/mutant/moth{ + pixel_y = 10 + }, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "WR" = ( @@ -505,9 +539,6 @@ /obj/structure/stone_tile/block/burnt{ dir = 4 }, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 10 - }, /turf/open/indestructible/necropolis, /area/ruin/powered/gluttony) "Zd" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm index d138d1c39f24c..1c5d5a7c5b663 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm @@ -10,7 +10,12 @@ /area/lavaland/surface/outdoors) "e" = ( /obj/structure/table/wood/poker, -/obj/item/gun/ballistic/revolver/russian/soul, +/obj/item/gun/ballistic/revolver/russian/soul{ + pixel_y = 8 + }, +/obj/item/coin/diamond{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/ruin/powered/greed) "f" = ( @@ -19,12 +24,17 @@ /area/ruin/powered/greed) "g" = ( /obj/structure/table/wood/poker, -/obj/item/coin/mythril, +/obj/item/coin/mythril{ + pixel_y = 8 + }, +/obj/item/coin/adamantine{ + pixel_y = 3; + pixel_x = -2 + }, /turf/open/floor/carpet, /area/ruin/powered/greed) "h" = ( /obj/structure/table/wood/poker, -/obj/item/coin/diamond, /obj/machinery/light/small/directional/west, /turf/open/floor/carpet, /area/ruin/powered/greed) @@ -33,7 +43,6 @@ /area/ruin/powered/greed) "j" = ( /obj/structure/table/wood/poker, -/obj/item/coin/adamantine, /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, /area/ruin/powered/greed) @@ -54,7 +63,9 @@ /area/ruin/powered/greed) "n" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000{ + pixel_y = 8 + }, /turf/open/floor/engine/cult, /area/ruin/powered/greed) "o" = ( @@ -63,33 +74,53 @@ /area/ruin/powered/greed) "p" = ( /obj/structure/table/wood/poker, -/obj/item/stack/ore/gold, +/obj/item/stack/ore/gold{ + pixel_y = 8 + }, /turf/open/floor/engine/cult, /area/ruin/powered/greed) "q" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c20, -/obj/item/stack/spacecash/c50, +/obj/item/stack/spacecash/c20{ + pixel_y = 5 + }, +/obj/item/stack/spacecash/c50{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/west, /turf/open/floor/engine/cult, /area/ruin/powered/greed) "r" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c100, -/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c500{ + pixel_y = 3 + }, +/obj/item/stack/spacecash/c100{ + pixel_y = 6 + }, +/obj/item/stack/spacecash/c1000{ + pixel_y = 8 + }, /turf/open/floor/engine/cult, /area/ruin/powered/greed) "s" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c200, +/obj/item/stack/spacecash/c200{ + pixel_y = 8 + }, /turf/open/floor/engine/cult, /area/ruin/powered/greed) "u" = ( /obj/structure/table/wood/poker, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c100, -/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c500{ + pixel_y = 3 + }, +/obj/item/stack/spacecash/c100{ + pixel_y = 5 + }, +/obj/item/stack/spacecash/c1000{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/east, /turf/open/floor/engine/cult, /area/ruin/powered/greed) @@ -100,6 +131,7 @@ /area/ruin/powered/greed) "w" = ( /obj/machinery/light/small/directional/east, +/obj/item/coin/gold, /turf/open/floor/engine/cult, /area/ruin/powered/greed) "J" = ( @@ -302,7 +334,7 @@ m m v m -l +m W W a @@ -324,7 +356,7 @@ m o m m -m +l m J a @@ -345,8 +377,8 @@ m m l w -l o +m W W a diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm index cad120c3f2516..d96f5f75c401c 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm @@ -57,8 +57,8 @@ a b b b -b -b +e +e b b b @@ -70,8 +70,8 @@ b b b b -b -b +e +e b b b @@ -80,25 +80,25 @@ a (3,1,1) = {" a b +e b +f +f b -c -c -b -b +e b a b -b +e b a b +e b +f +f b -c -c -b -b +e b a "} @@ -114,7 +114,7 @@ b b b b -b +e b b b @@ -129,52 +129,52 @@ b "} (5,1,1) = {" b -b -c +e +f b a a b -c -b +f +e b b c b b -b -c +e +f b a a b -c -b +f +e b "} (6,1,1) = {" b -b -c +e +f b a a b -c -b +f +e b b c b b -b -c +e +f b a a b -c -b +f +e b "} (7,1,1) = {" @@ -184,17 +184,17 @@ b b b b +b +b +b +b +b e -e -e -e -e -e -e -e -e -e -e +b +b +b +b +b b b b @@ -205,25 +205,25 @@ b (8,1,1) = {" a b +e b +f +f b -c -c -e -e e +b a +b e -e -e +b a +b e -e -e -c -c b +f +f b +e b a "} @@ -232,22 +232,22 @@ a b b b -b -b -e -e -e -e -e -f -e e e +b +b +b e +b +c +b e b b b +e +e +b b b a @@ -259,17 +259,17 @@ a b b b -e +b a e -e -e -e -e -e +b +b +b +b +b e a -e +b b b b @@ -284,17 +284,17 @@ b b b b +b +b +b +b e e e -e -e -e -e -e -e -e -e +b +b +b +b b b b @@ -305,25 +305,25 @@ a (12,1,1) = {" a c -b -b +e +e c c e e -f -e +c +b e d e -e -f +b +c e e c c -b -b +e +e c a "} @@ -334,14 +334,10 @@ b b b b -e -e -e -e -e -e -e -e +b +b +b +b e e e @@ -350,6 +346,10 @@ b b b b +b +b +b +b a "} (14,1,1) = {" @@ -359,17 +359,17 @@ a b b b -e +b a e -e -e -e -e -e +b +b +b +b +b e a -e +b b b b @@ -382,22 +382,22 @@ a b b b -b -b -e -e -e -e -e -f -e e e +b +b +b e +b +c +b e b b b +e +e +b b b a @@ -405,25 +405,25 @@ a (16,1,1) = {" a b +e b +f +f b -c -c -e -e e +b a +b e -e -e +b a +b e -e -e -c -c b +f +f b +e b a "} @@ -434,17 +434,17 @@ b b b b +b +b +b +b +b e -e -e -e -e -e -e -e -e -e -e +b +b +b +b +b b b b @@ -454,52 +454,52 @@ b "} (18,1,1) = {" b -b -c +e +f b a a b -c -b +f +e b b c b b -b -c +e +f b a a b -c -b +f +e b "} (19,1,1) = {" b -b -c +e +f b a a b -c -b +f +e b b c b b -b -c +e +f b a a b -c -b +f +e b "} (20,1,1) = {" @@ -514,7 +514,7 @@ b b b b -b +e b b b @@ -530,25 +530,25 @@ b (21,1,1) = {" a b +e b +f +f b -c -c -b -b +e b a b -b +e b a b +e b +f +f b -c -c -b -b +e b a "} @@ -557,8 +557,8 @@ a b b b -b -b +e +e b b b @@ -570,8 +570,8 @@ b b b b -b -b +e +e b b b diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm index 851cfe35548b6..a20690cb01eef 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_phonebooth.dmm @@ -13,13 +13,13 @@ /area/ruin/powered/lavaland_phone_booth) "k" = ( /obj/machinery/vending/snack/green{ - onstation_override = 1 + onstation_override = 1; + pixel_y = 16 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/lavaland_atmos, /area/ruin/powered/lavaland_phone_booth) "q" = ( -/obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, @@ -50,6 +50,7 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/machinery/airalarm/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/lavaland_atmos, /area/ruin/powered/lavaland_phone_booth) @@ -66,7 +67,8 @@ /area/ruin/powered/lavaland_phone_booth) "W" = ( /obj/machinery/vending/cigarette{ - onstation_override = 1 + onstation_override = 1; + pixel_y = 16 }, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/lavaland_atmos, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm index 6ed4b294d4176..bc2496fa4c612 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pride.dmm @@ -11,10 +11,6 @@ }, /turf/open/lava/smooth/weak, /area/ruin/powered/pride) -"i" = ( -/obj/structure/mirror/directional/east, -/turf/open/lava/smooth/weak, -/area/ruin/powered/pride) "j" = ( /obj/structure/mirror/magic/pride{ pixel_y = -6 @@ -23,19 +19,25 @@ /area/ruin/powered/pride) "k" = ( /obj/item/clothing/under/chameleon{ - armor = null + armor = null; + pixel_y = 8 }, /obj/structure/table/wood/fancy/royalblue, /turf/open/floor/mineral/silver, /area/ruin/powered/pride) "l" = ( -/obj/item/dyespray, +/obj/item/dyespray{ + pixel_y = 8; + pixel_x = -7 + }, /obj/structure/table/wood/fancy/royalblue, -/obj/item/coin/silver, +/obj/item/coin/silver{ + pixel_y = 8; + pixel_x = 6 + }, /turf/open/floor/mineral/silver, /area/ruin/powered/pride) "q" = ( -/obj/structure/mirror/directional/east, /obj/structure/stone_tile/surrounding_tile, /turf/open/lava/smooth/weak, /area/ruin/powered/pride) @@ -84,7 +86,6 @@ /turf/closed/wall/mineral/cult, /area/ruin/powered/pride) "K" = ( -/obj/structure/mirror/directional/east, /obj/structure/stone_tile/center, /obj/structure/stone_tile/surrounding_tile/burnt, /obj/structure/stone_tile/surrounding_tile{ @@ -102,14 +103,12 @@ /turf/open/lava/smooth/weak, /area/ruin/powered/pride) "O" = ( -/obj/structure/mirror/directional/west, /obj/structure/stone_tile/surrounding_tile{ dir = 8 }, /turf/open/lava/smooth/weak, /area/ruin/powered/pride) "R" = ( -/obj/structure/mirror/directional/west, /obj/structure/stone_tile/center, /obj/structure/stone_tile/surrounding_tile/burnt{ dir = 4 @@ -137,7 +136,6 @@ /turf/open/lava/smooth/weak, /area/ruin/powered/pride) "X" = ( -/obj/structure/mirror/directional/west, /turf/open/lava/smooth/weak, /area/ruin/powered/pride) "Y" = ( @@ -241,9 +239,9 @@ Y Y K q -i -i -i +X +X +X Y c a diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm index c70a28308c3ec..41b4510ea3459 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm @@ -338,7 +338,6 @@ /area/ruin/powered/seedvault) "bc" = ( /obj/machinery/light/directional/west, -/obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/line{ dir = 8 @@ -346,6 +345,7 @@ /obj/effect/turf_decal/trimline/green/line{ dir = 4 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bd" = ( @@ -375,10 +375,10 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bh" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/trimline/green/line{ dir = 6 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bi" = ( @@ -395,10 +395,10 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bj" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/trimline/green/line{ dir = 10 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bk" = ( @@ -413,7 +413,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/line{ dir = 8 @@ -421,6 +420,7 @@ /obj/effect/turf_decal/trimline/green/line{ dir = 4 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bm" = ( @@ -479,13 +479,13 @@ /area/ruin/powered/seedvault) "bw" = ( /obj/machinery/light/directional/south, -/obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/line{ dir = 1 }, /obj/effect/turf_decal/trimline/green/line, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bx" = ( @@ -511,17 +511,17 @@ /turf/closed/wall/r_wall, /area/ruin/powered/seedvault) "bB" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/trimline/green/line{ dir = 5 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bC" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/trimline/green/line{ dir = 9 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "bD" = ( @@ -565,7 +565,6 @@ /turf/open/floor/iron/freezer, /area/ruin/powered/seedvault) "pZ" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/trimline/green/line{ @@ -574,10 +573,10 @@ /obj/effect/turf_decal/trimline/green/line{ dir = 4 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "rF" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/line{ dir = 8 @@ -585,6 +584,7 @@ /obj/effect/turf_decal/trimline/green/line{ dir = 4 }, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) "rX" = ( @@ -656,12 +656,12 @@ /turf/open/floor/iron/freezer, /area/ruin/powered/seedvault) "VF" = ( -/obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/line{ dir = 1 }, /obj/effect/turf_decal/trimline/green/line, +/obj/machinery/hydroponics/constructable/fullupgrade, /turf/open/floor/mineral/plastitanium, /area/ruin/powered/seedvault) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_shuttle_wreckage.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_shuttle_wreckage.dmm index 36950aaa0eedc..769671ebcc3d9 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_shuttle_wreckage.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_shuttle_wreckage.dmm @@ -33,13 +33,25 @@ /obj/effect/mob_spawn/corpse/human/charredskeleton, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) +"eu" = ( +/obj/item/stack/sheet/mineral/titanium{ + pixel_y = 8; + pixel_x = 5 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/mineral/titanium/yellow{ + initial_gas_mix = "LAVALAND_ATMOS" + }, +/area/ruin/unpowered) "eQ" = ( /obj/item/shard/titanium, /obj/effect/decal/cleanable/glass, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) "fy" = ( -/obj/structure/door_assembly/door_assembly_shuttle, +/obj/structure/door_assembly/door_assembly_shuttle{ + dir = 4 + }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) "fz" = ( @@ -165,6 +177,13 @@ initial_gas_mix = "LAVALAND_ATMOS" }, /area/ruin/unpowered) +"wL" = ( +/obj/item/stack/sheet/mineral/titanium{ + pixel_y = 9; + pixel_x = -3 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) "xz" = ( /obj/machinery/computer, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -172,6 +191,12 @@ "yZ" = ( /turf/closed/mineral/volcanic/lava_land_surface, /area/ruin/unpowered) +"zf" = ( +/obj/item/shard/titanium, +/obj/effect/decal/cleanable/glass, +/obj/machinery/light/small/directional/west, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) "zk" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/decal/cleanable/glass, @@ -202,10 +227,10 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) -"Dy" = ( -/obj/item/shard/titanium, -/obj/machinery/light/small/directional/east, -/obj/effect/mapping_helpers/broken_floor, +"DK" = ( +/obj/item/stack/sheet/mineral/titanium{ + pixel_x = -6 + }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) "DL" = ( @@ -348,10 +373,17 @@ /obj/structure/table, /obj/item/storage/medkit/regular{ pixel_x = 2; - pixel_y = 3 + pixel_y = 11 }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) +"PH" = ( +/obj/item/food/meat/slab/human{ + pixel_y = 13; + pixel_x = -4 + }, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface) "Qq" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/glass, @@ -394,6 +426,13 @@ initial_gas_mix = "LAVALAND_ATMOS" }, /area/ruin/unpowered) +"Uj" = ( +/obj/item/stack/sheet/iron{ + pixel_x = 5; + pixel_y = -4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) "Vs" = ( /obj/item/stack/sheet/mineral/titanium, /obj/effect/mapping_helpers/broken_floor, @@ -437,6 +476,12 @@ initial_gas_mix = "LAVALAND_ATMOS" }, /area/ruin/unpowered) +"ZJ" = ( +/obj/item/stack/sheet/iron{ + pixel_y = 5 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) (1,1,1) = {" SV @@ -549,7 +594,7 @@ FL FL "} (6,1,1) = {" -FL +PH FL hT yZ @@ -583,7 +628,7 @@ lu Vs dK Bb -tp +Uj sE Lz eQ @@ -627,10 +672,10 @@ lu lu lu sE -tp +ZJ se FR -HM +DK yZ yZ FL @@ -649,10 +694,10 @@ lu lu lu Ma -HM +wL Pa yZ -CX +eu yZ yZ uh @@ -688,7 +733,7 @@ gP VN Ee Hy -eQ +zf rE rr Lz @@ -734,7 +779,7 @@ lu lu Rm JN -Dy +Rm On Om GZ diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm index 2089bc287fb1e..cf0e66a754958 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm @@ -17,14 +17,18 @@ }, /area/ruin/unpowered) "e" = ( -/obj/machinery/door/airlock/wood, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, /turf/open/floor/sepia{ slowdown = 10 }, /area/ruin/unpowered) "f" = ( /obj/structure/table/wood, -/obj/item/food/grown/citrus/orange, +/obj/item/food/grown/citrus/orange{ + pixel_y = 12 + }, /turf/open/floor/sepia{ slowdown = 10 }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm index 4894dbce32b1b..1c70551a84f06 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm @@ -47,7 +47,10 @@ /turf/open/floor/pod/dark, /area/ruin/powered) "l" = ( -/obj/item/pickaxe, +/obj/item/pickaxe{ + pixel_y = -6; + pixel_x = -3 + }, /obj/effect/decal/cleanable/blood, /turf/open/floor/pod/dark, /area/ruin/powered) @@ -69,7 +72,9 @@ /area/lavaland/surface/outdoors) "p" = ( /obj/structure/table/survival_pod, -/obj/item/knife/combat/survival, +/obj/item/knife/combat/survival{ + pixel_y = 8 + }, /turf/open/floor/pod/dark, /area/ruin/powered) "q" = ( @@ -86,7 +91,10 @@ /area/ruin/powered) "r" = ( /obj/structure/tubes, -/obj/item/crowbar, +/obj/item/crowbar{ + pixel_x = -4; + pixel_y = 4 + }, /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/pod/dark, /area/ruin/powered) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 13a82feee1d21..7b315a8e57b10 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -11,7 +11,8 @@ "ai" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 1 + dir = 1; + pixel_y = 8 }, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/bar) @@ -25,12 +26,14 @@ /area/ruin/syndicate_lava_base/virology) "ak" = ( /obj/machinery/vending/boozeomat/syndicate_access, -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) "al" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/medical/syndicate_access, +/obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/ruin/syndicate_lava_base/medbay) "ap" = ( @@ -83,10 +86,14 @@ /area/ruin/syndicate_lava_base/engineering) "aU" = ( /obj/structure/table, -/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/gun/syringe/syndicate, +/obj/item/gun/syringe/syndicate{ + pixel_y = 8 + }, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -101,16 +108,6 @@ /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet/red, /area/ruin/syndicate_lava_base/dormitories) -"aW" = ( -/obj/machinery/button/door{ - id = "lavalandsyndi_arrivals"; - name = "Arrivals Blast Door Control"; - pixel_y = -26; - req_access = list("syndicate") - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/ruin/syndicate_lava_base/arrivals) "bi" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -120,6 +117,15 @@ dir = 8 }, /area/ruin/syndicate_lava_base/chemistry) +"bw" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "bz" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -143,11 +149,13 @@ /turf/open/floor/carpet/red, /area/ruin/syndicate_lava_base/dormitories) "bC" = ( -/obj/machinery/light/small/directional/north, /obj/structure/table, -/obj/item/storage/medkit/fire, +/obj/item/storage/medkit/fire{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/departments/medbay/alt/directional/north, /turf/open/floor/iron/white/side{ dir = 5 }, @@ -194,11 +202,10 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/machinery/button/door{ +/obj/machinery/button/door/directional/east{ id = "lavalandsyndi_cargo"; - name = "Cargo Bay Blast Door Control"; - pixel_x = 26; - req_access = list("syndicate") + req_access = list("syndicate"); + name = "Cargo Bay Blast Door Control" }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) @@ -211,10 +218,18 @@ /area/ruin/syndicate_lava_base/dormitories) "cA" = ( /obj/structure/table/reinforced, -/obj/item/book/manual/wiki/chemistry, -/obj/item/book/manual/wiki/chemistry, -/obj/item/clothing/glasses/science, -/obj/item/clothing/glasses/science, +/obj/item/book/manual/wiki/chemistry{ + pixel_y = 8 + }, +/obj/item/book/manual/wiki/chemistry{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/science{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/science{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/chemistry) @@ -253,11 +268,9 @@ dir = 5 }, /obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "cY" = ( @@ -271,6 +284,10 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) +"cZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "dc" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -330,22 +347,25 @@ /obj/item/stack/sheet/mineral/plasma{ amount = 5; pixel_x = -2; - pixel_y = 6 + pixel_y = 14 }, /obj/item/stack/sheet/mineral/plasma{ amount = 5; - pixel_y = 2 + pixel_y = 10 }, /obj/item/stack/sheet/mineral/plasma{ amount = 5; pixel_x = 2; - pixel_y = -2 + pixel_y = 6 }, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/bottle/epinephrine, /turf/open/floor/iron/white/corner{ dir = 4 }, @@ -357,9 +377,11 @@ "dI" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder{ - pixel_y = 5 + pixel_y = 13 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/beaker/large, /turf/open/floor/iron/white/side{ dir = 5 }, @@ -402,15 +424,15 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) "ef" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/machinery/light/directional/north, /obj/structure/closet/emcloset/anchored, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, @@ -430,6 +452,13 @@ "eh" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/virology) +"em" = ( +/obj/effect/turf_decal/tile/dark_green/anticorner{ + dir = 1 + }, +/obj/machinery/hydroponics/constructable/fullupgrade, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "es" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -492,8 +521,12 @@ dir = 8 }, /obj/structure/table, -/obj/item/storage/box/lights/bulbs, -/obj/item/wrench, +/obj/item/storage/box/lights/bulbs{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/mineral/plastitanium, /area/ruin/syndicate_lava_base/cargo) @@ -581,9 +614,11 @@ /obj/structure/table/glass, /obj/item/storage/box/beakers{ pixel_x = 2; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/storage/box/syringes{ + pixel_y = 8 }, -/obj/item/storage/box/syringes, /obj/machinery/power/apc/auto_name/directional/north, /obj/effect/mapping_helpers/apc/syndicate_access, /obj/effect/decal/cleanable/dirt, @@ -595,9 +630,15 @@ "fj" = ( /obj/structure/table/glass, /obj/structure/reagent_dispensers/wall/virusfood/directional/north, -/obj/item/clothing/gloves/latex, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/gloves/latex{ + pixel_y = 8 + }, +/obj/item/healthanalyzer{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 8 + }, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/east, @@ -606,9 +647,6 @@ }, /area/ruin/syndicate_lava_base/virology) "fk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, /obj/machinery/door_buttons/access_button{ idDoor = "lavaland_syndie_virology_interior"; idSelf = "lavaland_syndie_virology_control"; @@ -621,11 +659,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "fm" = ( /obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -633,7 +673,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) "fn" = ( @@ -644,20 +683,16 @@ "fo" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/south{ +/obj/machinery/door/window/half/left/directional/north{ + req_access = list("syndicate"); name = "Chemistry" }, -/obj/machinery/door/window/left/directional/north{ - name = "Chemistry"; - req_access = list("syndicate") - }, /turf/open/floor/iron/white, /area/ruin/syndicate_lava_base/chemistry) "fp" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/chemistry) "fv" = ( @@ -666,24 +701,32 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/chemistry) "fx" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/cargo) +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/light/directional/north, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/ruin/syndicate_lava_base/engineering) "fA" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/infections{ - pixel_y = 7 + pixel_y = 15 + }, +/obj/item/reagent_containers/syringe/antiviral{ + pixel_y = 8 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 8 }, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/spray/cleaner, /obj/structure/cable, /turf/open/floor/iron/white/side{ dir = 8 }, /area/ruin/syndicate_lava_base/virology) "fB" = ( -/obj/structure/chair/stool/directional/south, +/obj/structure/chair/stool/directional/north, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/corner{ dir = 4 @@ -693,6 +736,7 @@ /obj/machinery/smartfridge/chemistry/virology/preloaded, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/east, /turf/open/floor/iron/white/side{ dir = 5 }, @@ -741,8 +785,12 @@ /area/ruin/syndicate_lava_base/main) "gb" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -766,11 +814,13 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, +/obj/effect/turf_decal/stripes/threshold{ + dir = 4 + }, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/cargo) "gg" = ( /obj/structure/sign/warning/fire/directional/north, -/obj/structure/sign/warning/xeno_mining/directional/south, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/cargo) "gh" = ( @@ -780,6 +830,9 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/cargo) "gj" = ( @@ -806,16 +859,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) -"gO" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/cargo) "gP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown{ dir = 1 }, /obj/machinery/photocopier/gratis, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) "gQ" = ( @@ -941,7 +991,6 @@ /area/ruin/syndicate_lava_base/virology) "hv" = ( /obj/machinery/disposal/bin, -/obj/structure/sign/warning/deathsposal/directional/east, /obj/effect/turf_decal/stripes/red/box, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -952,11 +1001,10 @@ }, /area/ruin/syndicate_lava_base/virology) "hw" = ( -/obj/machinery/door/airlock/external/ruin, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/structure/fans/tiny, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plating, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "hy" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -1007,36 +1055,33 @@ }, /area/ruin/syndicate_lava_base/virology) "hH" = ( -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/obj/machinery/door/poddoor/preopen{ - id = "lavalandsyndi_virology" - }, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/virology) +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/syndicate_lava_base/hydroponics) "hJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/main) "hK" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/fire/directional/east, -/obj/structure/closet/emcloset/anchored, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/flashlight/seclite, -/obj/item/clothing/mask/gas, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/main) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "hO" = ( /turf/closed/wall/mineral/plastitanium/explosive, /area/ruin/syndicate_lava_base/dormitories) "hS" = ( /obj/structure/table/reinforced, -/obj/item/folder, -/obj/item/suppressor, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, +/obj/item/folder{ + pixel_y = 8 + }, +/obj/item/suppressor{ + pixel_y = 8 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 8 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -1051,32 +1096,28 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) "hW" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 10 +/obj/effect/turf_decal/tile/dark_green/anticorner{ + dir = 1 }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/main) +/obj/machinery/hydroponics/constructable/fullupgrade, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "hX" = ( -/obj/structure/fans/tiny, -/obj/machinery/door/airlock/external/ruin, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/effect/turf_decal/tile/dark_green/half{ dir = 1 }, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/main) +/obj/machinery/light/directional/north, +/obj/machinery/hydroponics/constructable/fullupgrade, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "hY" = ( -/obj/structure/fans/tiny, -/obj/machinery/door/airlock/external/ruin, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 +/obj/effect/turf_decal/tile/dark_green/anticorner{ + dir = 4 }, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/main) +/obj/machinery/hydroponics/constructable/fullupgrade, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "if" = ( -/obj/structure/sign/warning/explosives/alt/directional/east, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/red, @@ -1098,9 +1139,9 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "iq" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/main) +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "iF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -1122,19 +1163,27 @@ "iQ" = ( /obj/machinery/airalarm/directional/west, /obj/structure/table, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest{ + pixel_y = 8 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_y = 8 + }, /obj/item/clothing/head/soft{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 8 }, /obj/item/clothing/head/soft{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 8 }, /obj/item/radio{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 8 }, /obj/item/radio{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 8 }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 @@ -1211,16 +1260,23 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/bar) +"jB" = ( +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "jM" = ( -/obj/machinery/light/small/directional/north, /obj/structure/chair{ dir = 8 }, -/obj/machinery/button/door{ +/obj/machinery/button/door/directional/north{ id = "lavalandsyndi_bar"; - name = "Bar Blast Door Control"; - pixel_y = 26; - req_access = list("syndicate") + req_access = list("syndicate"); + name = "Bar Blast Door Control" }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) @@ -1240,9 +1296,23 @@ "ka" = ( /obj/structure/closet/crate/bin, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) +"kb" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/ruin/syndicate_lava_base/engineering) "kl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1279,7 +1349,6 @@ /obj/effect/turf_decal/box/white/corners{ dir = 1 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/cargo) "kv" = ( @@ -1290,15 +1359,15 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/gloves/combat{ - pixel_y = -6 + pixel_y = 2 }, /obj/item/tank/internals/emergency_oxygen{ pixel_x = 4; - pixel_y = 4 + pixel_y = 12 }, /obj/item/clothing/mask/breath{ pixel_x = -2; - pixel_y = 4 + pixel_y = 12 }, /turf/open/floor/iron/white/side, /area/ruin/syndicate_lava_base/main) @@ -1382,7 +1451,6 @@ dir = 8 }, /obj/machinery/power/smes/engineering, -/obj/structure/sign/warning/electric_shock/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -1397,6 +1465,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/engineering) +"lb" = ( +/obj/effect/turf_decal/tile/dark_green/half, +/obj/machinery/vending/hydroseeds, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "lc" = ( /obj/machinery/power/rtg/lavaland, /obj/structure/lattice/catwalk, @@ -1426,10 +1499,6 @@ /area/ruin/syndicate_lava_base/bar) "li" = ( /obj/structure/table/wood, -/obj/item/toy/cards/deck/syndicate{ - pixel_x = -6; - pixel_y = 6 - }, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/bar) @@ -1499,7 +1568,6 @@ /turf/open/floor/wood, /area/ruin/syndicate_lava_base/bar) "lF" = ( -/obj/structure/sign/warning/vacuum/external/directional/west, /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/arrivals) @@ -1543,7 +1611,7 @@ /area/ruin/syndicate_lava_base/arrivals) "ms" = ( /obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/fire/directional/east, +/obj/structure/sign/warning/fire/directional/north, /obj/structure/closet/emcloset/anchored, /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/flashlight/seclite, @@ -1563,7 +1631,6 @@ /turf/open/floor/wood, /area/ruin/syndicate_lava_base/bar) "mA" = ( -/obj/machinery/light/small/directional/west, /obj/structure/bed/medical/emergency, /obj/machinery/iv_drip, /obj/item/reagent_containers/blood/o_minus, @@ -1578,16 +1645,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "mE" = ( /obj/structure/table/reinforced, -/obj/item/scalpel, +/obj/item/scalpel{ + pixel_y = 8 + }, /obj/item/circular_saw{ - pixel_y = 9 + pixel_y = 17 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -1600,6 +1667,7 @@ "mF" = ( /obj/machinery/atmospherics/components/unary/portables_connector, /obj/effect/decal/cleanable/dirt, +/obj/machinery/button/ignition/incinerator/syndicatelava/directional/west, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "mG" = ( @@ -1703,15 +1771,27 @@ /area/ruin/syndicate_lava_base/medbay) "nB" = ( /obj/structure/table/reinforced, -/obj/item/surgicaldrill, -/obj/item/cautery, +/obj/item/surgicaldrill{ + pixel_y = 8 + }, +/obj/item/cautery{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, +/obj/item/surgical_drapes{ + pixel_x = 7; + pixel_y = 4 + }, /turf/open/floor/iron/white/side, /area/ruin/syndicate_lava_base/medbay) "nC" = ( /obj/structure/table/reinforced, -/obj/item/retractor, -/obj/item/hemostat, +/obj/item/retractor{ + pixel_y = 8 + }, +/obj/item/hemostat{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/side{ dir = 6 @@ -1728,21 +1808,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/engineering) -"nI" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/east, -/obj/structure/window/reinforced/spawner/directional/north{ - pixel_y = 1 - }, -/obj/item/book/manual/chef_recipes{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/book/manual/wiki/barman_recipes, -/obj/item/reagent_containers/cup/glass/shaker, -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/turf/open/floor/wood, -/area/ruin/syndicate_lava_base/bar) "nK" = ( /obj/machinery/door/airlock/public/glass{ name = "Bar" @@ -1797,8 +1862,6 @@ /turf/open/floor/iron/white/side, /area/ruin/syndicate_lava_base/medbay) "oc" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/mapping_helpers/apc/syndicate_access, /obj/effect/decal/cleanable/dirt, @@ -1844,6 +1907,7 @@ /obj/item/crowbar, /obj/item/clothing/glasses/hud/health, /obj/item/clothing/neck/stethoscope, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/ruin/syndicate_lava_base/medbay) "ov" = ( @@ -1860,14 +1924,20 @@ /turf/open/floor/engine/vacuum, /area/ruin/syndicate_lava_base/engineering) "oD" = ( -/obj/structure/sign/warning/xeno_mining/directional/west, -/obj/structure/sign/warning/fire/directional/east, -/turf/open/floor/plating, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/button/door/directional/east{ + id = "lavalandsyndi_arrivals"; + req_access = list("syndicate"); + name = "Arrivals Blast Door Control" + }, +/turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) "oF" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/arrivals) +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/ruin/syndicate_lava_base/medbay) "oH" = ( /obj/machinery/door/poddoor/incinerator_syndicatelava_main, /turf/open/floor/engine/vacuum, @@ -1903,7 +1973,6 @@ /obj/machinery/light/small/directional/west, /obj/machinery/airalarm/directional/north, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/biohazard/directional/west, /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) @@ -1932,16 +2001,20 @@ /area/ruin/syndicate_lava_base/cargo) "pM" = ( /obj/structure/toilet{ - pixel_y = 18 + dir = 8 }, /obj/structure/sink/directional/west, /obj/machinery/light/small/directional/west, -/obj/structure/mirror/directional/east, +/obj/structure/mirror/directional/north, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/dormitories) +"pO" = ( +/obj/structure/sign/warning/explosives/alt/directional/north, +/turf/open/floor/circuit/red, +/area/ruin/syndicate_lava_base/main) "pR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red/anticorner/contrasted, @@ -1967,15 +2040,15 @@ dir = 8 }, /obj/structure/cable, -/obj/machinery/airlock_sensor/incinerator_syndicatelava{ - pixel_x = 22 - }, /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/engineering) "qd" = ( /obj/effect/turf_decal/stripes/line, -/obj/structure/sign/warning/fire/directional/east, +/obj/machinery/button/door/incinerator_vent_syndicatelava_main/directional/east{ + id = "syndicatelava_mainvent_outer"; + name = "turbine exhaust chamber vent control" + }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "qf" = ( @@ -1987,6 +2060,8 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) "qt" = ( @@ -1998,6 +2073,10 @@ dir = 1 }, /area/ruin/syndicate_lava_base/medbay) +"qy" = ( +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "qA" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/iron/dark, @@ -2054,6 +2133,11 @@ /obj/structure/disposalpipe/trunk, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/syndicate_lava_base/virology) +"rq" = ( +/obj/effect/turf_decal/tile/dark_green/half, +/obj/machinery/seed_extractor, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "rC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -2203,9 +2287,9 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) "ty" = ( -/obj/structure/sign/warning/vacuum/external/directional/west, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/main) +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "tA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -2218,24 +2302,23 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/door/incinerator_vent_syndicatelava_aux/directional/west, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "tC" = ( /obj/effect/turf_decal/stripes/red/corner{ dir = 4 }, -/obj/machinery/button/door{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/obj/machinery/button/door/directional/east{ id = "syndie_lavaland_vault"; + req_access = list("syndicate"); name = "Vault Bolt Control"; normaldoorcontrol = 1; - pixel_x = 24; - pixel_y = 8; - req_access = list("syndicate"); specialfunctions = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "tN" = ( @@ -2266,13 +2349,12 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) "ue" = ( -/obj/machinery/airalarm/directional/east, /obj/machinery/vending/coffee{ extended_inventory = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) "uh" = ( @@ -2351,13 +2433,13 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "vR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/turf_decal/tile/dark_green/half{ + dir = 4 }, -/obj/effect/mapping_helpers/no_lava, -/obj/effect/turf_decal/sand/plating/volcanic, -/turf/open/floor/plating/lavaland_atmos, -/area/lavaland/surface/outdoors) +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "vT" = ( /obj/effect/turf_decal/box/white/corners{ dir = 8 @@ -2374,26 +2456,8 @@ /obj/item/circuitboard/machine/smoke_machine, /obj/item/stack/sheet/plasteel/fifty, /obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/south{ - req_access = list("syndicate"); - id = "syndicate_lavaland_warehouse"; - name = "Warehouse Shutters" - }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/cargo) -"vV" = ( -/obj/machinery/turretid{ - ailock = 1; - control_area = "/area/ruin/syndicate_lava_base/main"; - dir = 1; - icon_state = "control_kill"; - lethal = 1; - name = "Base turret controls"; - pixel_y = 30; - req_access = list("syndicate") - }, -/turf/open/floor/circuit/red, -/area/ruin/syndicate_lava_base/main) "wc" = ( /obj/structure/chair/stool/bar/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -2423,6 +2487,18 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/main) +"wL" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced/half/directional/north, +/obj/item/book/manual/chef_recipes{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/book/manual/wiki/barman_recipes, +/obj/item/reagent_containers/cup/glass/shaker, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/wood, +/area/ruin/syndicate_lava_base/bar) "wV" = ( /obj/structure/noticeboard/directional/north, /obj/item/paper{ @@ -2474,26 +2550,9 @@ /area/ruin/syndicate_lava_base/engineering) "yh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/machinery/airlock_controller/incinerator_syndicatelava{ - pixel_x = -8; - pixel_y = -26 - }, -/obj/machinery/button/ignition/incinerator/syndicatelava{ - pixel_x = 6; - pixel_y = -24 - }, /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/incinerator_vent_syndicatelava_aux{ - pixel_x = -8; - pixel_y = -40 - }, -/obj/machinery/button/door/incinerator_vent_syndicatelava_main{ - pixel_x = 6; - pixel_y = -40 - }, /obj/machinery/portable_atmospherics/canister, -/obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "yq" = ( @@ -2506,6 +2565,13 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "yv" = ( +/obj/machinery/turretid/directional/south{ + ailock = 1; + control_area = "/area/ruin/syndicate_lava_base/main"; + lethal = 1; + name = "Base turret controls"; + req_access = list("syndicate") + }, /turf/open/floor/circuit/red, /area/ruin/syndicate_lava_base/main) "yA" = ( @@ -2536,13 +2602,16 @@ /area/ruin/syndicate_lava_base/main) "yL" = ( /obj/structure/table/optable, -/obj/item/surgical_drapes, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ dir = 4 }, /area/ruin/syndicate_lava_base/medbay) +"yO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/syndicate_lava_base/main) "za" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2596,6 +2665,7 @@ shuttleId = "syndie_cargo" }, /obj/structure/cable, +/obj/structure/sign/warning/xeno_mining/directional/north, /turf/open/floor/mineral/plastitanium, /area/ruin/syndicate_lava_base/cargo) "zw" = ( @@ -2611,7 +2681,7 @@ "zC" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/end, -/obj/machinery/door/window/brigdoor/left/directional/south{ +/obj/machinery/door/window/half/left/directional/south{ name = "Turbine Access" }, /obj/machinery/light/small/directional/west, @@ -2625,7 +2695,6 @@ /area/ruin/syndicate_lava_base/bar) "zH" = ( /obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/dormitories) "zI" = ( @@ -2732,6 +2801,28 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) +"Ax" = ( +/obj/effect/turf_decal/tile/dark_green/half, +/obj/structure/table/reinforced, +/obj/machinery/light/directional/south, +/obj/item/geneshears{ + pixel_x = -7; + pixel_y = -4 + }, +/obj/item/geneshears{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/secateurs{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/secateurs{ + pixel_x = 7; + pixel_y = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "AB" = ( /obj/machinery/power/turbine/inlet_compressor{ dir = 4 @@ -2741,7 +2832,8 @@ "AJ" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 1 + dir = 1; + pixel_y = 8 }, /obj/machinery/barsign/all_access/directional/south{ chosen_sign = "/datum/barsign/hiddensigns/syndibarsign" @@ -2757,6 +2849,11 @@ }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) +"AU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "Bi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -2843,6 +2940,11 @@ dir = 8 }, /area/ruin/syndicate_lava_base/chemistry) +"Cg" = ( +/obj/effect/turf_decal/tile/dark_green/half, +/obj/machinery/vending/hydronutrients, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "Ci" = ( /obj/effect/turf_decal/box/white/corners{ dir = 1 @@ -2863,6 +2965,7 @@ "Cj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow, /obj/effect/turf_decal/stripes/line, +/obj/machinery/airlock_controller/incinerator_syndicatelava/directional/west, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "Cl" = ( @@ -2899,7 +3002,7 @@ /turf/open/floor/iron/white, /area/ruin/syndicate_lava_base/medbay) "CJ" = ( -/obj/machinery/light/small/directional/south, +/obj/machinery/light/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, @@ -2909,7 +3012,6 @@ "CV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/radiation/rad_area/directional/south, /obj/effect/turf_decal/stripes, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -2925,6 +3027,14 @@ }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/virology) +"De" = ( +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "Di" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2938,24 +3048,30 @@ /area/ruin/syndicate_lava_base/medbay) "Dr" = ( /obj/machinery/airalarm/directional/west, -/obj/machinery/light/small/directional/west, /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ pixel_x = -1; - pixel_y = 1 + pixel_y = 9 }, /obj/item/stack/sheet/mineral/plastitanium{ - amount = 30 + amount = 30; + pixel_y = 8 }, /obj/item/stack/sheet/glass/fifty{ pixel_x = 1; - pixel_y = -1 + pixel_y = 7 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/clothing/head/utility/welding, -/obj/item/weldingtool/largetank, -/obj/item/analyzer, +/obj/item/clothing/head/utility/welding{ + pixel_y = 8 + }, +/obj/item/weldingtool/largetank{ + pixel_y = 8 + }, +/obj/item/analyzer{ + pixel_y = 8 + }, /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) @@ -3051,6 +3167,16 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) +"EV" = ( +/obj/effect/turf_decal/tile/dark_green/anticorner, +/obj/structure/table/reinforced, +/obj/item/gun/energy/floragun, +/obj/item/gun/energy/floragun{ + pixel_x = -2; + pixel_y = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "EX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -3103,7 +3229,7 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) "FX" = ( -/obj/machinery/door/window/right/directional/north{ +/obj/machinery/door/window/half/left/directional/north{ name = "Bar" }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3120,6 +3246,12 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) +"Gj" = ( +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "Gm" = ( /obj/machinery/syndicatebomb/self_destruct{ anchored = 1 @@ -3141,6 +3273,7 @@ }, /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/door/incinerator_vent_syndicatelava_main/directional/west, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "Gw" = ( @@ -3151,19 +3284,26 @@ /turf/open/floor/plating/lavaland_atmos, /area/ruin/syndicate_lava_base/main) "GG" = ( -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 8 + }, /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) -"GI" = ( -/obj/machinery/firealarm/directional/west, +"GJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/ruin/syndicate_lava_base/engineering) +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/structure/cable, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndicate_lava_base/cargo) "GV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -3230,6 +3370,9 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) +"HL" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/lavaland/surface/outdoors) "HT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -3270,7 +3413,8 @@ dir = 4 }, /obj/machinery/duct, -/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/cargo/directional/north, +/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "Iv" = ( @@ -3294,9 +3438,17 @@ }, /turf/open/floor/engine/n2, /area/ruin/syndicate_lava_base/engineering) +"IE" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "IQ" = ( /obj/structure/table, -/obj/item/reagent_containers/cup/glass/bottle/beer, +/obj/item/reagent_containers/cup/glass/bottle/beer{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -3314,9 +3466,13 @@ /area/ruin/syndicate_lava_base/main) "Jj" = ( /obj/structure/table/wood, -/obj/item/ammo_box/magazine/m9mm, +/obj/item/ammo_box/magazine/m9mm{ + pixel_y = 8 + }, /obj/machinery/airalarm/directional/north, -/obj/item/crowbar/red, +/obj/item/crowbar/red{ + pixel_y = 8 + }, /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet/red, /area/ruin/syndicate_lava_base/dormitories) @@ -3327,13 +3483,12 @@ /turf/open/floor/wood, /area/ruin/syndicate_lava_base/dormitories) "JB" = ( -/obj/machinery/button/door{ +/obj/machinery/chem_mass_spec, +/obj/machinery/button/door/directional/north{ id = "lavalandsyndi_chemistry"; - name = "Chemistry Blast Door Control"; - pixel_y = 26; - req_access = list("syndicate") + req_access = list("syndicate"); + name = "Chemistry Blast Door Control" }, -/obj/machinery/chem_mass_spec, /turf/open/floor/iron/white/side{ dir = 1 }, @@ -3377,10 +3532,6 @@ }, /turf/open/floor/engine/co2, /area/ruin/syndicate_lava_base/engineering) -"Ks" = ( -/obj/structure/sign/warning/vacuum/external/directional/west, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/arrivals) "Ku" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3390,6 +3541,16 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) +"Kw" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/ruin/syndicate_lava_base/bar) "KC" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/glass/incinerator/syndicatelava_exterior, @@ -3431,7 +3592,9 @@ /area/ruin/syndicate_lava_base/cargo) "KS" = ( /obj/structure/table, -/obj/item/storage/medkit/regular, +/obj/item/storage/medkit/regular{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/side{ dir = 4 @@ -3440,6 +3603,7 @@ "KT" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/north, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/dormitories) "KU" = ( @@ -3558,13 +3722,13 @@ }, /area/ruin/syndicate_lava_base/virology) "MZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes{ + dir = 4 + }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) "Nh" = ( @@ -3605,12 +3769,16 @@ /area/ruin/syndicate_lava_base/engineering) "NE" = ( /obj/structure/table/glass, -/obj/item/folder/white, +/obj/item/folder/white{ + pixel_y = 8 + }, /obj/item/reagent_containers/cup/beaker/large{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 8 }, /obj/item/reagent_containers/cup/beaker/large{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 8 }, /obj/item/reagent_containers/dropper, /obj/machinery/airalarm/directional/east, @@ -3623,6 +3791,22 @@ dir = 4 }, /area/ruin/syndicate_lava_base/chemistry) +"NI" = ( +/obj/effect/turf_decal/tile/dark_green{ + dir = 1 + }, +/obj/structure/cable, +/obj/item/reagent_containers/cup/watering_can/advanced{ + pixel_x = -6; + pixel_y = 13 + }, +/obj/item/reagent_containers/cup/watering_can/advanced{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "NO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3641,11 +3825,6 @@ mapping_id = "syndie_lavaland_incineratorturbine" }, /obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/incinerator_vent_syndicatelava_main{ - pixel_y = -23; - id = "syndicatelava_mainvent_outer"; - name = "turbine exhaust chamber vent control" - }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "Oq" = ( @@ -3671,6 +3850,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) +"Ow" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/ruin/syndicate_lava_base/main) "OF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3682,6 +3868,11 @@ }, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/engineering) +"OJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/ruin/syndicate_lava_base/main) "OL" = ( /obj/effect/mapping_helpers/no_lava, /obj/effect/turf_decal/sand/plating/volcanic, @@ -3694,6 +3885,11 @@ /obj/structure/tank_dispenser/oxygen, /turf/open/floor/mineral/plastitanium, /area/ruin/syndicate_lava_base/arrivals) +"OR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "OZ" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -3701,6 +3897,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) +"Pl" = ( +/obj/structure/table, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/ruin/syndicate_lava_base/bar) "Pn" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/structure/cable, @@ -3745,6 +3949,12 @@ }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) +"PF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "PG" = ( /obj/machinery/atmospherics/miner/oxygen, /turf/open/floor/engine/o2, @@ -3778,10 +3988,10 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/engineering) "Qj" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/sand/plating/volcanic, -/turf/open/floor/plating/lavaland_atmos, -/area/ruin/syndicate_lava_base/arrivals) +/obj/effect/turf_decal/tile/dark_green/diagonal_centre, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "Qu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -3812,16 +4022,6 @@ }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) -"QG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/cable, -/turf/open/floor/mineral/plastitanium, -/area/ruin/syndicate_lava_base/cargo) "QN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -3859,11 +4059,12 @@ }, /turf/open/floor/engine/plasma, /area/ruin/syndicate_lava_base/engineering) +"RE" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "RG" = ( /obj/structure/sink/kitchen/directional/west, -/obj/structure/closet/secure_closet/freezer/kitchen/maintenance{ - req_access = null - }, +/obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /obj/item/storage/box/donkpockets{ pixel_x = 2 }, @@ -3879,6 +4080,12 @@ "RK" = ( /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) +"Sn" = ( +/obj/effect/turf_decal/tile/dark_green/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "St" = ( /obj/structure/fans/tiny, /obj/machinery/door/airlock/external/ruin, @@ -3895,6 +4102,7 @@ /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ dir = 8 }, +/obj/machinery/airlock_sensor/incinerator_syndicatelava/directional/west, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/engineering) "SA" = ( @@ -3968,6 +4176,14 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/bar) +"Tp" = ( +/obj/effect/turf_decal/tile/dark_green/anticorner{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/biogenerator, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "Tq" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/caution/stand_clear{ @@ -3988,6 +4204,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) +"Tz" = ( +/obj/machinery/porta_turret/syndicate{ + dir = 10 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/syndicate_lava_base/virology) "TD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -3998,21 +4220,28 @@ /area/ruin/syndicate_lava_base/main) "TE" = ( /obj/structure/table, -/obj/structure/bedsheetbin, +/obj/structure/bedsheetbin{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/dormitories) "TG" = ( -/obj/structure/extinguisher_cabinet/directional/west, /obj/structure/table, -/obj/item/folder/yellow, +/obj/item/folder/yellow{ + pixel_y = 8 + }, /obj/item/stack/wrapping_paper{ - pixel_y = 5 + pixel_y = 13 + }, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 8 }, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ @@ -4063,12 +4292,19 @@ "Ue" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) "Um" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/main) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/ruin/syndicate_lava_base/cargo) "Ur" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -4114,6 +4350,13 @@ }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/main) +"UL" = ( +/obj/effect/turf_decal/tile/dark_green/half{ + dir = 4 + }, +/obj/machinery/hydroponics/constructable/fullupgrade, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "UP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -4124,10 +4367,16 @@ /area/ruin/syndicate_lava_base/virology) "UX" = ( /obj/structure/table/wood, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/sniper_rounds, +/obj/item/ammo_box/magazine/m9mm{ + pixel_y = 8 + }, +/obj/item/ammo_box/magazine/sniper_rounds{ + pixel_y = 8 + }, /obj/machinery/airalarm/directional/north, -/obj/item/crowbar/red, +/obj/item/crowbar/red{ + pixel_y = 8 + }, /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet/red, /area/ruin/syndicate_lava_base/dormitories) @@ -4139,6 +4388,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) +"Vi" = ( +/obj/effect/turf_decal/tile/dark_green/anticorner{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/shovel/spade{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/shovel/spade{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/item/cultivator{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/cultivator{ + pixel_x = 6; + pixel_y = 11 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/lavaland/surface/outdoors) "Vj" = ( /obj/machinery/duct, /turf/open/floor/plating, @@ -4209,6 +4484,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/engineering) "Wj" = ( @@ -4222,7 +4498,6 @@ /obj/effect/turf_decal/stripes/corner, /obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) "Wn" = ( @@ -4269,7 +4544,6 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) "WT" = ( -/obj/machinery/light/small/directional/west, /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4278,7 +4552,6 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/cargo) "WZ" = ( -/obj/machinery/light/small/directional/north, /obj/machinery/power/apc/auto_name/directional/north, /obj/effect/mapping_helpers/apc/syndicate_access, /obj/effect/decal/cleanable/dirt, @@ -4309,9 +4582,7 @@ /obj/machinery/air_sensor{ chamber_id = "lavalandsyndieco2" }, -/obj/structure/sign/poster/official/wtf_is_co2/directional/north{ - dir = 1 - }, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/engine/co2, /area/ruin/syndicate_lava_base/engineering) "Xz" = ( @@ -4370,6 +4641,34 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/main) +"XZ" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/item/turbine_parts/rotor{ + current_tier = 3 + }, +/obj/item/turbine_parts/stator{ + current_tier = 2 + }, +/obj/item/turbine_parts/compressor{ + current_tier = 3 + }, +/obj/item/pipe_dispenser, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/mineral/plastitanium{ + amount = 30 + }, +/obj/item/stack/sheet/plastitaniumglass{ + amount = 15 + }, +/obj/item/holosign_creator/atmos, +/obj/item/circuitboard/machine/thermomachine, +/obj/item/circuitboard/machine/thermomachine, +/turf/open/floor/iron, +/area/ruin/syndicate_lava_base/engineering) "Yd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4403,37 +4702,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) -"YJ" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/item/turbine_parts/rotor{ - current_tier = 3 - }, -/obj/item/turbine_parts/stator{ - current_tier = 2 - }, -/obj/item/turbine_parts/compressor{ - current_tier = 3 - }, -/obj/item/pipe_dispenser, -/obj/structure/closet/crate/engineering, -/obj/item/stack/sheet/mineral/plastitanium{ - amount = 30 - }, -/obj/item/stack/sheet/plastitaniumglass{ - amount = 15 - }, -/turf/open/floor/iron, -/area/ruin/syndicate_lava_base/engineering) "YP" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) +"Zb" = ( +/obj/effect/turf_decal/tile/dark_green/half, +/turf/open/floor/iron/dark/smooth_large, +/area/ruin/syndicate_lava_base/hydroponics) "Zj" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -4442,6 +4720,8 @@ anchored = 1 }, /obj/item/crowbar, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/engineering) "Zn" = ( @@ -4501,14 +4781,20 @@ /area/ruin/syndicate_lava_base/virology) "Zu" = ( /obj/structure/table/wood, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/sniper_rounds, -/obj/item/crowbar/red, +/obj/item/ammo_box/magazine/m9mm{ + pixel_y = 8 + }, +/obj/item/ammo_box/magazine/sniper_rounds{ + pixel_y = 8 + }, +/obj/item/crowbar/red{ + pixel_y = 8 + }, /turf/open/floor/carpet/red, /area/ruin/syndicate_lava_base/dormitories) "Zw" = ( -/obj/structure/sign/warning/vacuum/external/directional/south, /obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/cargo) "ZA" = ( @@ -4520,6 +4806,11 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/door/directional/north{ + id = "syndicate_lavaland_warehouse"; + req_access = list("syndicate"); + name = "Warehouse Shutters" + }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/cargo) "ZQ" = ( @@ -4901,7 +5192,7 @@ aj eh eh eh -eh +Tz ab ab ab @@ -5104,10 +5395,10 @@ eh eh ab ab -ab -ab -ab -ab +hH +qy +qy +qy dG dG dG @@ -5150,14 +5441,14 @@ eI Zr di hs -hH -ab -ab -ab -ab +eh ab ab -dG +hH +hH +hW +Sn +qy dG bz nb @@ -5165,7 +5456,7 @@ nb nb Hn lT -Ks +mr mS Uz FO @@ -5200,14 +5491,14 @@ fA MM gV ht -hH -ab -ab -ab -ab +eh ab -dG -dG +hH +hH +Tp +bw +Zb +qy bz xk VL @@ -5251,19 +5542,19 @@ Or CZ hu hH -ab -ab -ab -ab -dG -dG -bz +HL +HL +em +IE +cZ +lb +HL xk OL -jx -jx jy +jx jy +jx jy ms mT @@ -5301,16 +5592,16 @@ UP gX hv hH -ab -ab -ab -dG -dG -bz -xk -OL -jx +HL +Vi +NI +ty +cZ +Cg +HL +jy jx +jy IQ lf BG @@ -5322,7 +5613,7 @@ Vb mT mT mT -oF +mT ab ab ab @@ -5352,14 +5643,14 @@ eh eh eh hW -dG -dG -dG -bz -xk -VL -jx +IE +hK +AU +OR +rq +HL jx +Pl Ue kH xt @@ -5371,7 +5662,7 @@ np Tq EZ lF -oD +mr St ab ab @@ -5400,16 +5691,16 @@ pk vy fk hw -ty +ha hX -bz -nb -nb -xk -OL -jx -jx -uN +RE +PF +ty +OR +Ax +jy +jy +Kw zD uN zD @@ -5422,7 +5713,7 @@ oi mT mT mT -oF +mT ab ab ab @@ -5449,15 +5740,15 @@ ae fF hA MZ -hw -hJ +Ow +yO hY vR -VL +UL Qj -VL -VL -jx +Gj +EV +jy cI PO xt @@ -5500,13 +5791,13 @@ ae sn ha ha -hK -ha -ha -ha -ha -ha -ha +yO +hH +hH +hH +De +jB +hH jP jM uN @@ -5555,7 +5846,7 @@ ha ii fM mB -hB +OJ jl jz xt @@ -5662,7 +5953,7 @@ jy ka ue kM -nI +wL lC To TN @@ -5769,7 +6060,7 @@ jy Tr kE nW -aW +oo mT ab ab @@ -5819,7 +6110,7 @@ jy qO td nX -oo +oD mT ab ab @@ -6062,7 +6353,7 @@ hz wx ha kQ -ln +oF lJ pW lI @@ -6094,7 +6385,7 @@ dy kt Aj WT -XQ +Um kl Ac HG @@ -6211,7 +6502,7 @@ TD Qv Qu kw -kT +kQ bC KS ap @@ -6247,18 +6538,18 @@ SQ Iw dy dy -gO +dy Tb hC dy ha -iq +ha eZ -iq +ha ha ha yG -Um +ha ju ju ju @@ -6314,7 +6605,7 @@ Bu kV lp Dr -GI +kb mF Cj Lp @@ -6352,7 +6643,7 @@ UF gQ hT ha -vV +pO Gm yv XV @@ -6494,7 +6785,7 @@ ab dy dy eE -QG +GJ dy gd dy @@ -6609,9 +6900,9 @@ ju ju ju ju -TO +fx JE -YJ +XZ ta vB LW @@ -6645,10 +6936,10 @@ ab ab ab ab -fx +dy gh -fx -si +dy +iq ab ab ab diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm index 92338633ecfb3..ec17746150c83 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_1.dmm @@ -3,10 +3,8 @@ /turf/template_noop, /area/template_noop) "b" = ( -/obj/machinery/computer/message_monitor{ - dir = 1 - }, -/obj/item/paper/monitorkey, +/obj/structure/filingcabinet/security, +/obj/structure/noticeboard/directional/south, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "c" = ( @@ -28,8 +26,8 @@ /turf/open/floor/circuit/green, /area/ruin/syndicate_lava_base/telecomms) "m" = ( -/obj/machinery/computer/camera_advanced, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "n" = ( @@ -44,14 +42,17 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "p" = ( -/obj/structure/table, -/obj/item/storage/toolbox/syndicate, -/obj/item/multitool, -/obj/machinery/button/door{ +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_y = 8 + }, +/obj/machinery/button/door/directional/east{ id = "lavalandsyndi_telecomms"; - name = "Telecomms Blast Door Control"; - pixel_x = 26; - req_access = list("syndicate") + req_access = list("syndicate"); + name = "Telecomms Blast Door Control" }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) @@ -77,25 +78,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) -"z" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom{ - freerange = 1; - name = "Syndicate Radio Intercom" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/telecomms) "B" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "C" = ( -/obj/structure/chair/office{ - dir = 4 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "E" = ( @@ -110,14 +102,17 @@ /turf/template_noop, /area/ruin/syndicate_lava_base/telecomms) "G" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/radio/intercom/directional/north{ + freerange = 1; + name = "Syndicate Radio Intercom" + }, +/obj/machinery/computer/camera_advanced, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "K" = ( -/obj/structure/table/reinforced, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "N" = ( @@ -137,17 +132,20 @@ /area/ruin/syndicate_lava_base/telecomms) "U" = ( /obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/noticeboard/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "V" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/obj/machinery/computer/message_monitor, +/obj/item/paper/monitorkey, +/turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "W" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "Y" = ( @@ -156,10 +154,10 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "Z" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/office{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) @@ -196,7 +194,7 @@ a (4,1,1) = {" f f -V +f O f f @@ -205,8 +203,8 @@ a "} (5,1,1) = {" a -e -c +f +G o Y N @@ -216,7 +214,7 @@ f (6,1,1) = {" a e -c +V Z m C @@ -229,8 +227,8 @@ e W B K -z -G +o +c f "} (8,1,1) = {" diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm index fd703febfb165..fafb5fc0f9cf3 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_2.dmm @@ -11,13 +11,12 @@ "h" = ( /obj/item/storage/toolbox/syndicate, /obj/item/multitool, -/obj/machinery/button/door{ +/obj/structure/rack, +/obj/machinery/button/door/directional/east{ id = "lavalandsyndi_telecomms"; - name = "Telecomms Blast Door Control"; - pixel_x = 26; - req_access = list("syndicate") + req_access = list("syndicate"); + name = "Telecomms Blast Door Control" }, -/obj/structure/rack, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/telecomms) "j" = ( @@ -35,13 +34,13 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/telecomms) "n" = ( -/obj/structure/noticeboard/directional/north, /obj/effect/turf_decal/siding/wood{ dir = 4 }, /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/structure/sign/poster/contraband/syndiemoth/directional/north, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "q" = ( @@ -83,10 +82,9 @@ /obj/item/paper/monitorkey{ pixel_x = 5 }, -/obj/item/radio/intercom{ - freerange = 1; +/obj/item/radio/intercom/directional/south{ name = "Syndicate Radio Intercom"; - pixel_y = -26 + freerange = 1 }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) @@ -131,10 +129,14 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/telecomms) "Q" = ( -/obj/structure/sign/poster/contraband/syndiemoth/directional/south, /obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/structure/noticeboard/directional/south, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/telecomms) "R" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm index dd00fa974852e..5f96b10d3a79e 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/commswilding_3.dmm @@ -22,15 +22,14 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/telecomms) "e" = ( -/obj/machinery/button/door{ - id = "lavalandsyndi_fredrickleft"; - name = "Security Blast Door Control"; - pixel_y = -26; - req_access = list("syndicate") - }, /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 4 }, +/obj/machinery/button/door/directional/east{ + id = "lavalandsyndi_fredrickleft"; + req_access = list("syndicate"); + name = "Security Blast Door Control" + }, /turf/open/floor/iron/grimy, /area/ruin/syndicate_lava_base/telecomms) "j" = ( @@ -74,17 +73,15 @@ /turf/open/floor/iron, /area/ruin/syndicate_lava_base/telecomms) "t" = ( -/obj/structure/sign/poster/contraband/syndiemoth/directional/west, -/obj/item/radio/intercom{ - freerange = 1; - name = "Syndicate Radio Intercom"; - pixel_y = 5 - }, /obj/structure/table/reinforced, /obj/effect/decal/cleanable/cobweb, /obj/item/phone{ pixel_x = -4; - pixel_y = -4 + pixel_y = 4 + }, +/obj/item/radio/intercom/directional/north{ + freerange = 1; + name = "Syndicate Radio Intercom" }, /turf/open/floor/iron/grimy, /area/ruin/syndicate_lava_base/telecomms) @@ -114,12 +111,12 @@ "z" = ( /obj/item/modular_computer/pda/chameleon/broken{ pixel_x = 5; - pixel_y = 4 + pixel_y = 10 }, /obj/structure/table/reinforced, /obj/item/food/cherrycupcake{ pixel_x = -7; - pixel_y = 13 + pixel_y = 16 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, @@ -170,18 +167,17 @@ /area/ruin/syndicate_lava_base/telecomms) "H" = ( /obj/structure/table, -/obj/item/storage/toolbox/syndicate, -/obj/item/multitool, -/obj/machinery/button/door{ - id = "lavalandsyndi_telecomms"; - name = "Telecomms Blast Door Control"; - pixel_x = 26; - req_access = list("syndicate") +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/telecomms) "I" = ( @@ -220,18 +216,16 @@ /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/noticeboard/directional/east, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/telecomms) "X" = ( -/obj/machinery/button/door{ - id = "lavalandsyndi_fredrickright"; - name = "Security Blast Door Control"; - pixel_y = 26; - req_access = list("syndicate") - }, /obj/effect/decal/cleanable/dirt, /obj/item/stack/tile/iron/grimy, +/obj/machinery/button/door/directional/north{ + id = "lavalandsyndi_fredrickright"; + req_access = list("syndicate"); + name = "Security Blast Door Control" + }, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/telecomms) "Z" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm index 9dfb448cffecb..c816d4f5adf2f 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_feasible.dmm @@ -17,14 +17,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"ad" = ( -/obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/taperecorder, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) "ae" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -33,26 +25,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"af" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) "ag" = ( /obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/taperecorder, +/obj/item/restraints/handcuffs{ + pixel_y = 8 + }, +/obj/item/taperecorder{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/east, +/obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "ah" = ( @@ -67,30 +50,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"aj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) "ak" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"al" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) "am" = ( /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /obj/machinery/door/firedoor, @@ -101,7 +74,7 @@ /turf/open/floor/plating, /area/ruin/syndicate_lava_base/testlab) "an" = ( -/obj/structure/sign/warning/explosives/alt/directional/west, +/obj/structure/sign/warning/explosives/alt/directional/north, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "ao" = ( @@ -112,45 +85,18 @@ /area/ruin/syndicate_lava_base/testlab) "ap" = ( /obj/structure/table/reinforced, -/obj/item/storage/toolbox/syndicate, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, /obj/item/paper/crumpled{ default_raw_text = "Explosive testing on site is STRICTLY forbidden, as this outpost's walls are lined with explosives intended for intentional self-destruct purposes that may be set off prematurely through careless experiments."; name = "Explosives Testing Warning"; pixel_x = -6; - pixel_y = -3 + pixel_y = 5 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"aq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) -"ar" = ( -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "lavalandsyndi"; - name = "Syndicate Research Experimentation Shutters" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ruin/syndicate_lava_base/testlab) -"as" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) "at" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -169,44 +115,11 @@ /area/ruin/syndicate_lava_base/testlab) "av" = ( /obj/structure/table/reinforced, -/obj/item/storage/box/monkeycubes/syndicate, -/obj/item/storage/box/monkeycubes/syndicate, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) -"aw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/storage/box/monkeycubes/syndicate{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/mapping_helpers/airalarm/syndicate_access, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) -"ax" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) -"ay" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) -"az" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +/obj/item/storage/box/monkeycubes/syndicate{ + pixel_y = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -226,25 +139,17 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "aB" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/button/door{ - id = "lavalandsyndi"; - name = "Syndicate Experimentation Lockdown Control"; - pixel_y = 26; - req_access = list("syndicate") - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) -"aC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/button/door/directional/north{ + id = "lavalandsyndi"; + req_access = list("syndicate"); + name = "Syndicate Experimentation Lockdown Control" }, -/turf/open/floor/engine, +/turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "aD" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, @@ -262,35 +167,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"aF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/hatch{ - name = "Experimentation Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/structure/cable, -/obj/modular_map_connector, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) -"aG" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/table/reinforced, -/obj/item/storage/box/monkeycubes/syndicate, -/obj/item/storage/box/monkeycubes/syndicate, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) "aH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) -"aI" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/testlab) "aJ" = ( /obj/structure/chair{ dir = 1 @@ -300,11 +180,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"aK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) "aL" = ( /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, @@ -331,25 +206,11 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"aP" = ( -/obj/structure/sign/warning/explosives/alt/directional/east, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) "aQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) -"aR" = ( -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/ruin/syndicate_lava_base/testlab) "aS" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine, @@ -365,20 +226,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/ruin/syndicate_lava_base/testlab) -"aU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) -"aV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/syndicate_lava_base/testlab) "aW" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/engine, @@ -455,12 +302,12 @@ aa (3,1,1) = {" aD aD +an ah ah -an aY ah -aI +aD aL au aa @@ -525,9 +372,9 @@ aE (8,1,1) = {" aD aD +an ah ah -aP aS ah am diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm index 1c4f402f49d1f..f9713075f1088 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_inevitable.dmm @@ -9,11 +9,10 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "bs" = ( -/obj/machinery/button/door{ +/obj/machinery/button/door/directional/north{ id = "lavalandsyndi_mistake"; - name = "Chemistry Blast Door Control"; - pixel_y = 26; - req_access = list("syndicate") + req_access = list("syndicate"); + name = "Supermatter Engine Blast Door Control" }, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/effect/turf_decal/stripes/line{ @@ -22,7 +21,6 @@ /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "dO" = ( -/obj/structure/sign/warning/explosives/alt/directional/west, /obj/machinery/atmospherics/components/tank/nitrogen{ dir = 4; initialize_directions = 4 @@ -42,21 +40,28 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/testlab) "eq" = ( -/obj/machinery/door/airlock/engineering{ - name = "Supermatter" - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "eZ" = ( /obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "fY" = ( -/obj/machinery/power/energy_accumulator/grounding_rod/anchored, /obj/structure/cable, +/obj/machinery/power/energy_accumulator/tesla_coil/anchored, +/turf/open/floor/engine, +/area/ruin/syndicate_lava_base/testlab) +"gq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "gJ" = ( @@ -65,18 +70,20 @@ default_raw_text = "Explosive testing on site is STRICTLY forbidden, as this outpost's walls are lined with explosives intended for intentional self-destruct purposes that may be set off prematurely through careless experiments."; name = "Explosives Testing Warning"; pixel_x = -6; - pixel_y = 5 + pixel_y = 13 }, /obj/item/clothing/glasses/meson{ - pixel_y = 8 + pixel_y = 16 }, /obj/item/clothing/glasses/meson{ - pixel_y = 5 + pixel_y = 13 }, /obj/item/clothing/glasses/material/mining{ - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 }, -/obj/item/clothing/glasses/meson, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "gX" = ( @@ -105,6 +112,7 @@ /area/ruin/syndicate_lava_base/testlab) "hJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, /area/ruin/syndicate_lava_base/testlab) "hK" = ( @@ -115,24 +123,20 @@ /turf/open/floor/plating, /area/ruin/syndicate_lava_base/testlab) "iF" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/obj/structure/window/reinforced/plasma/spawner/directional/north, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "iQ" = ( -/obj/structure/sign/warning/explosives/alt/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/sign/warning/explosives/alt/directional/north, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "js" = ( /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "kw" = ( -/obj/item/stack/sheet/plasmarglass, -/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/structure/cable, +/obj/machinery/power/energy_accumulator/grounding_rod/anchored, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "kE" = ( @@ -174,9 +178,10 @@ /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "oo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/reinforced/plasma/spawner/directional/north, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "qY" = ( @@ -204,14 +209,15 @@ dir = 1; filter_type = list(/datum/gas/nitrogen) }, -/obj/structure/window/reinforced/plasma/spawner/directional/south, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "uG" = ( /obj/item/storage/toolbox/syndicate, /obj/item/pipe_dispenser, /obj/item/rpd_upgrade/unwrench, +/obj/item/circuitboard/machine/emitter, /obj/structure/rack, +/obj/item/circuitboard/machine/emitter, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "uT" = ( @@ -221,6 +227,10 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) +"wc" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/ruin/syndicate_lava_base/testlab) "xI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -233,7 +243,6 @@ /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "yU" = ( -/obj/structure/extinguisher_cabinet/directional/east, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -253,8 +262,7 @@ /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "Ch" = ( -/obj/machinery/power/supermatter_crystal/shard/syndicate, -/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/item/stack/sheet/plasmarglass, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "EC" = ( @@ -275,9 +283,8 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/testlab) "IG" = ( -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/obj/structure/cable, -/turf/open/floor/plating, +/obj/machinery/power/supermatter_crystal/shard/syndicate, +/turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "Lc" = ( /obj/machinery/atmospherics/components/binary/pump{ @@ -291,11 +298,7 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/syndicate_lava_base/testlab) "OO" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "Qz" = ( @@ -305,14 +308,30 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"Rn" = ( +"QH" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, /obj/structure/cable, +/turf/open/floor/iron/dark, +/area/ruin/syndicate_lava_base/testlab) +"Rn" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/structure/window/reinforced/plasma/spawner/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "Rp" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "Vo" = ( @@ -351,7 +370,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/ruin/syndicate_lava_base/testlab) "ZR" = ( @@ -410,10 +429,10 @@ em em gX Lc -Lc +QH hJ -kE -kE +eq +eq eq kE HC @@ -424,12 +443,12 @@ aA em bs Yj +Yj qY -qY -qY +Yj Ys +gq xT -em kE xI aA @@ -439,12 +458,12 @@ aA hK me XS -fY +js kw -iF js +Rn +iF kP -IG kE xI be @@ -454,12 +473,12 @@ aA EC me XS -Rn js +fY Ch -js -rT IG +iF +rT Vp ef yU @@ -467,16 +486,16 @@ on "} (8,1,1) = {" em -me +iQ +AS AS -oo sY OO Rp +oo lR -em ol -kE +wc aA aA "} @@ -485,7 +504,7 @@ em It Vo ZR -iQ +me em aA aA diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm index c84eec64e9ad9..bbb3c4ffe4f71 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1/mistake_unlikely.dmm @@ -11,14 +11,16 @@ "c" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/syndicate{ - pixel_y = 7 + pixel_y = 15 + }, +/obj/item/storage/box/monkeycubes/syndicate{ + pixel_y = 8 }, -/obj/item/storage/box/monkeycubes/syndicate, /obj/item/paper/crumpled{ default_raw_text = "Explosive testing on site is STRICTLY forbidden, as this outpost's walls are lined with explosives intended for intentional self-destruct purposes that may be set off prematurely through careless experiments."; name = "Explosives Testing Warning"; pixel_x = -6; - pixel_y = -3 + pixel_y = 5 }, /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/syndicate_access, @@ -31,22 +33,16 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/main) "i" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) -"n" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ruin/syndicate_lava_base/testlab) "w" = ( /obj/structure/closet/emcloset, +/obj/structure/sign/warning/explosives/alt/directional/north, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "A" = ( -/obj/structure/sign/warning/explosives/alt/directional/east, /obj/structure/closet/firecloset, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "B" = ( @@ -54,7 +50,7 @@ /area/ruin/syndicate_lava_base/testlab) "F" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/testlab) "K" = ( @@ -93,10 +89,11 @@ /area/ruin/syndicate_lava_base/testlab) "Q" = ( /obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/taperecorder, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/item/restraints/handcuffs{ + pixel_y = 8 + }, +/obj/item/taperecorder{ + pixel_y = 8 }, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, @@ -128,7 +125,7 @@ N "} (4,1,1) = {" d -n +B w A a diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm index e7a854d6bde72..9b7f942e61b15 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm @@ -84,9 +84,15 @@ /obj/structure/bed/nest, /obj/effect/decal/cleanable/blood/gibs, /obj/item/clothing/under/rank/security/officer, -/obj/item/clothing/suit/armor/vest, -/obj/item/melee/baton/security/loaded, -/obj/item/clothing/head/helmet, +/obj/item/clothing/suit/armor/vest{ + pixel_y = 3 + }, +/obj/item/melee/baton/security/loaded{ + pixel_x = 6 + }, +/obj/item/clothing/head/helmet{ + pixel_y = 13 + }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/xenonest) "B" = ( @@ -131,8 +137,14 @@ /obj/structure/bed/nest, /obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/glasses/night, +/obj/item/clothing/under/syndicate{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/clothing/glasses/night{ + pixel_y = 12; + pixel_x = 4 + }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/xenonest) "K" = ( @@ -151,10 +163,19 @@ /obj/structure/alien/weeds, /obj/structure/bed/nest, /obj/effect/decal/cleanable/blood/gibs, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/suit/space/syndicate/orange, -/obj/item/clothing/mask/gas, -/obj/item/clothing/head/helmet/space/syndicate/orange, +/obj/item/tank/internals/oxygen{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/clothing/suit/space/syndicate/orange{ + pixel_y = 8 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 7 + }, +/obj/item/clothing/head/helmet/space/syndicate/orange{ + pixel_y = 12 + }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/xenonest) "Q" = ( diff --git a/_maps/RandomRuins/SpaceRuins/clericden.dmm b/_maps/RandomRuins/SpaceRuins/clericden.dmm index f274f7a23f563..aef9cd54d20dc 100644 --- a/_maps/RandomRuins/SpaceRuins/clericden.dmm +++ b/_maps/RandomRuins/SpaceRuins/clericden.dmm @@ -56,27 +56,39 @@ /area/ruin/space) "o" = ( /obj/structure/table/wood/fancy, -/obj/item/reagent_containers/cup/glass/bottle/holywater, +/obj/item/reagent_containers/cup/glass/bottle/holywater{ + pixel_y = 12 + }, /turf/open/floor/carpet/airless, /area/ruin/space) "p" = ( /obj/structure/table/wood/fancy, -/obj/item/melee/cleric_mace, +/obj/item/melee/cleric_mace{ + pixel_y = 8 + }, /turf/open/floor/carpet/airless, /area/ruin/space) "q" = ( -/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/shreds{ + pixel_x = 5; + pixel_y = -3 + }, /turf/open/floor/carpet/airless, /area/ruin/space) "r" = ( /obj/effect/decal/cleanable/shreds, /obj/effect/decal/remains/human, -/obj/item/disk/design_disk/cleric_mace, +/obj/item/disk/design_disk/cleric_mace{ + pixel_x = -4; + pixel_y = 9 + }, /obj/structure/trap/cult, /turf/open/floor/carpet/airless, /area/ruin/space) "s" = ( -/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/shreds{ + pixel_y = -4 + }, /turf/open/floor/carpet/royalblack/airless, /area/ruin/space) "t" = ( @@ -88,7 +100,10 @@ "v" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/effect/decal/cleanable/blood/footprints, -/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/shreds{ + pixel_y = 6; + pixel_x = -1 + }, /turf/open/floor/carpet/airless, /area/ruin/space) "w" = ( @@ -105,6 +120,7 @@ /area/ruin/space) "z" = ( /obj/item/paper/fluff/ruins/clericsden/contact, +/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, /area/ruin/space) "A" = ( @@ -132,10 +148,6 @@ /mob/living/basic/construct/proteon/hostile, /turf/open/floor/carpet/airless, /area/ruin/space) -"F" = ( -/obj/item/flashlight/flare/torch, -/turf/open/floor/plating/airless, -/area/ruin/space) "G" = ( /obj/effect/decal/cleanable/blood/tracks, /obj/structure/trap/cult, @@ -152,7 +164,10 @@ "J" = ( /obj/structure/rack, /obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath{ + pixel_y = 6; + pixel_x = 6 + }, /turf/open/floor/iron/dark/airless, /area/ruin/space) "K" = ( @@ -161,6 +176,7 @@ /area/ruin/space) "L" = ( /obj/machinery/door/airlock/wood, +/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, /area/ruin/space) "M" = ( @@ -177,6 +193,10 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating/airless, /area/ruin/space) +"P" = ( +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating/airless, +/area/ruin/space) "Q" = ( /obj/item/book/bible, /obj/effect/decal/cleanable/blood, @@ -191,11 +211,22 @@ /obj/effect/decal/cleanable/blood/drip, /turf/open/misc/asteroid/airless, /area/ruin/space) +"T" = ( +/obj/structure/table/wood, +/obj/item/flashlight/flare/torch{ + pixel_y = 14 + }, +/turf/open/floor/carpet/royalblack/airless, +/area/ruin/space) "U" = ( /obj/effect/decal/remains/human, /obj/item/paper/fluff/ruins/clericsden/warning, /turf/open/misc/asteroid/airless, /area/ruin/space) +"Y" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating/airless, +/area/ruin/space) (1,1,1) = {" a @@ -305,10 +336,10 @@ i R e x -m +Y e x -m +Y e m J @@ -341,7 +372,7 @@ a a f h -m +Y o q u @@ -381,7 +412,7 @@ S a b d -m +P n s t @@ -389,7 +420,7 @@ n A C n -A +T C n H @@ -408,9 +439,9 @@ x z e x -F -e m +e +Y J e d diff --git a/_maps/RandomRuins/SpaceRuins/clownplanet.dmm b/_maps/RandomRuins/SpaceRuins/clownplanet.dmm index fa0b50cc44359..fc2b91488997d 100644 --- a/_maps/RandomRuins/SpaceRuins/clownplanet.dmm +++ b/_maps/RandomRuins/SpaceRuins/clownplanet.dmm @@ -29,10 +29,6 @@ /mob/living/basic/clown/clownhulk/destroyer, /turf/open/floor/engine, /area/ruin/space/has_grav/powered/clownplanet) -"ai" = ( -/obj/structure/sign/warning, -/turf/closed/wall/mineral/sandstone, -/area/ruin/space/has_grav/powered/clownplanet) "aj" = ( /turf/open/floor/grass{ color = "#1eff00" @@ -44,10 +40,6 @@ color = "#1eff00" }, /area/ruin/space/has_grav/powered/clownplanet) -"al" = ( -/obj/structure/sign/warning/xeno_mining, -/turf/closed/wall/mineral/sandstone, -/area/ruin/space/has_grav/powered/clownplanet) "am" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -195,6 +187,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/grass{ color = "#1eff00" }, @@ -209,6 +202,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/grass{ color = "#1eff00" }, @@ -232,6 +226,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/sign/warning/xeno_mining/directional/north, /turf/open/floor/grass{ color = "#1eff00" }, @@ -375,6 +370,15 @@ /obj/structure/barricade/wooden/crude, /turf/open/misc/asteroid, /area/ruin/space/has_grav/powered/clownplanet) +"VA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/sign/warning/xeno_mining/directional/north, +/turf/open/floor/grass{ + color = "#1eff00" + }, +/area/ruin/space/has_grav/powered/clownplanet) (1,1,1) = {" aa @@ -614,7 +618,7 @@ aa ae ae ac -ai +af aM aE ak @@ -641,7 +645,7 @@ ae ac ad af -al +af aR aj aj @@ -653,7 +657,7 @@ av av at aL -az +aj ab aD aD @@ -705,7 +709,7 @@ av av at aL -aj +az aq ab aD @@ -719,8 +723,8 @@ ae ad ac af -al -aL +af +VA au aj aU @@ -744,7 +748,7 @@ ae ae ae ac -ai +af aO aP aj diff --git a/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm b/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm index f8ec15738e1dc..512888b5e24ab 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm @@ -72,7 +72,7 @@ /turf/open/floor/iron/smooth_edge, /area/ruin/space/has_grav/derelictsulaco) "dk" = ( -/obj/machinery/keycard_auth/directional/south, +/obj/machinery/keycard_auth/wall_mounted/directional/south, /obj/item/stack/sheet/mineral/sandbags{ amount = 2 }, @@ -1110,7 +1110,7 @@ /area/template_noop) "KS" = ( /obj/machinery/door/window/brigdoor/left/directional/east, -/obj/machinery/keycard_auth/directional/north, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /obj/structure/barricade/sandbags, /turf/open/floor/iron/stairs{ dir = 8 diff --git a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm index 7b12e87992c8a..e6a52ee47fd7a 100644 --- a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm +++ b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm @@ -277,14 +277,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicate_forgotten_cargopod) -"bn" = ( -/obj/structure/table/reinforced, -/obj/item/paper, -/obj/item/pen, -/obj/machinery/light/directional/south, -/obj/machinery/computer/security/telescreen/forgotten_ship/sci/directional/south, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/syndicate_forgotten_ship) "bp" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") @@ -987,6 +979,17 @@ /obj/machinery/light/directional/east, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicate_forgotten_ship) +"ez" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/ruin/space/has_grav/syndicate_forgotten_ship"; + enabled = 0; + icon_state = "control_kill"; + lethal = 1; + name = "Ship turret control panel"; + req_access = list("syndicate") + }, +/turf/open/floor/mineral/plastitanium/red, +/area/ruin/space/has_grav/syndicate_forgotten_ship) "gz" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/mineral/plastitanium/red, @@ -1046,17 +1049,13 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/syndicate_forgotten_ship) -"qK" = ( -/obj/machinery/turretid{ - control_area = "/area/ruin/space/has_grav/syndicate_forgotten_ship"; - enabled = 0; - icon_state = "control_kill"; - lethal = 1; - name = "Ship turret control panel"; - pixel_y = 32; - req_access = list("syndicate") - }, -/turf/open/floor/mineral/plastitanium/red, +"of" = ( +/obj/structure/table/reinforced, +/obj/item/paper, +/obj/item/pen, +/obj/machinery/light/directional/south, +/obj/machinery/computer/security/telescreen/forgotten_ship/sci/directional/south, +/turf/open/floor/carpet/royalblack, /area/ruin/space/has_grav/syndicate_forgotten_ship) "rz" = ( /obj/machinery/airalarm/directional/north, @@ -2011,7 +2010,7 @@ vR aw bZ aB -bn +of bZ tv cE @@ -2759,7 +2758,7 @@ aa aa aa bZ -qK +ez aw bZ br diff --git a/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm b/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm index a81508dbe1f40..6aca5d7938a01 100644 --- a/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm +++ b/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm @@ -491,9 +491,6 @@ /area/ruin/space/has_grav/garbagetruck/foodwaste) "xf" = ( /obj/item/trash/tray, -/obj/item/trash/waffles, -/obj/item/trash/waffles, -/obj/item/trash/waffles, /obj/item/food/grown/mushroom/plumphelmet, /obj/structure/closet/crate/trashcart, /mob/living/basic/mouse/rat, diff --git a/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm new file mode 100644 index 0000000000000..50e0bffd56727 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm @@ -0,0 +1,7592 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ad" = ( +/obj/structure/table/wood, +/obj/item/c_tube{ + pixel_y = 8 + }, +/obj/item/gun/ballistic/shotgun/toy/crossbow, +/obj/machinery/light/warm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"ah" = ( +/obj/structure/cable/layer1, +/obj/machinery/camera/xray/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_vault_lasertrap"; + suicide_pact = 1; + suicide_pact_id = "donk_vault_lasertrap" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"am" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"ap" = ( +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"au" = ( +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"aw" = ( +/obj/structure/window/reinforced/fulltile, +/obj/effect/spawner/random/structure/grille, +/obj/effect/mapping_helpers/damaged_window, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"aD" = ( +/obj/effect/decal/cleanable/robot_debris/old, +/obj/item/assembly/igniter{ + pixel_x = -7; + pixel_y = -11 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"aH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"aM" = ( +/obj/structure/rack, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"aO" = ( +/obj/structure/grille/broken, +/obj/effect/mapping_helpers/damaged_window, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"aP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"ba" = ( +/obj/structure/grille, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"bd" = ( +/obj/structure/table/wood, +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"be" = ( +/obj/structure/rack, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bf" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/toner/large{ + pixel_y = 8; + pixel_x = 4 + }, +/obj/item/toner/large{ + pixel_y = -4; + pixel_x = 4 + }, +/obj/item/toner/large{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/item/food/grown/onion/red{ + pixel_y = 5; + pixel_x = -12 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"bn" = ( +/obj/structure/table/wood, +/obj/effect/overloader_trap{ + uses_remaining = 2; + shock_damage = 45; + trigger_cooldown_duration = 30 + }, +/obj/machinery/coffeemaker, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"bo" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + space_dir = 4; + name = "Dock 4 External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_4" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bq" = ( +/obj/structure/cable/layer1, +/obj/machinery/vending/sovietsoda{ + onstation_override = 1 + }, +/obj/structure/sign/poster/contraband/clown/directional/east, +/obj/machinery/duct, +/obj/effect/mapping_helpers/broken_machine, +/obj/machinery/camera/autoname/directional/east{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"br" = ( +/obj/structure/table/wood/fancy/orange, +/obj/machinery/recharger{ + pixel_y = 8; + pixel_x = -4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"bt" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/oil/streak{ + pixel_y = -7 + }, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"bu" = ( +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"bx" = ( +/obj/item/rack_parts, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bz" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 1 + }, +/obj/structure/sign/poster/ripped/directional/south, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"bA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bC" = ( +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bI" = ( +/obj/effect/spawner/random/trash/crushed_can, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bQ" = ( +/obj/structure/cable/layer1, +/obj/effect/spawner/random/trash/bin, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/duct, +/obj/effect/spawner/random/trash/deluxe_garbage, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bU" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen/yellow, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"bV" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/light_switch/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"bY" = ( +/obj/machinery/door/airlock/highsecurity{ + desc = "It's labelled AI CORE - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_aicore_door_bolts"; + name = "Secure Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"bZ" = ( +/obj/structure/table/wood, +/obj/structure/desk_bell, +/obj/machinery/duct, +/obj/effect/decal/cleanable/wrapping, +/obj/structure/curtain/cloth/fancy, +/obj/structure/cable/layer1, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"ca" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/oil/slippery, +/obj/machinery/camera/xray/directional/west, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"cb" = ( +/obj/item/clothing/neck/stethoscope, +/obj/item/reagent_containers/syringe/contraband/methamphetamine, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"ch" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE B" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"cm" = ( +/obj/structure/rack, +/obj/item/toy/nuke{ + pixel_y = 8; + pixel_x = 7 + }, +/obj/item/toy/figure/syndie{ + pixel_x = 8 + }, +/obj/item/toy/figure/syndie, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"co" = ( +/obj/structure/cable/layer1, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"cq" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"ct" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/cable/layer1, +/obj/effect/overloader_trap{ + trigger_delay = 10 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"cv" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"cB" = ( +/obj/item/throwing_star/toy{ + pixel_y = -6; + pixel_x = -7 + }, +/obj/item/barcodescanner, +/obj/item/ammo_casing/foam_dart{ + dir = 8; + pixel_x = 7; + pixel_y = 12 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/mob/living/basic/mouse/rat, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"cC" = ( +/obj/structure/cable/layer1, +/obj/effect/spawner/random/trash/bin, +/obj/effect/spawner/random/trash/food_packaging, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"cF" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/layer1, +/obj/machinery/camera/xray/directional/east, +/obj/machinery/button/door/invisible_tripwire{ + donk_ai_slave = 1; + suicide_pact = 1; + suicide_pact_id = "donk_office_trap_shutters"; + id = "donk_office_trap_shutters"; + sync_doors = 0 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"cL" = ( +/obj/structure/cable/layer1, +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"cN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"cO" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE D - EMPLOYEES ONLY."; + id_tag = "donk_door_bolts" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"cQ" = ( +/obj/structure/cable/layer1, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"cT" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/storage/belt/utility{ + desc = "The tool storage solution that hangs around your waist. This one has 'VLAD' embroidered on it." + }, +/obj/structure/sign/poster/contraband/interdyne_gene_clinics/directional/north, +/obj/machinery/light/warm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"cV" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"cY" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"db" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"dc" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/fuel_pool, +/obj/structure/sign/poster/contraband/energy_swords/directional/north, +/obj/machinery/duct, +/obj/structure/chair/sofa/left/maroon, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"dj" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Glass Airlock" + }, +/obj/structure/cable/layer1, +/obj/machinery/door/firedoor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"dt" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"du" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/light/red/dim/directional/east, +/obj/item/circuitboard/machine/microwave, +/obj/item/multitool/circuit{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"dv" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/radio{ + pixel_x = -6; + pixel_y = 8 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"dw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"dx" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/stamp/syndicate{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/stamp/denied{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/effect/spawner/random/entertainment/cigar, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"dC" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/lattice/catwalk, +/obj/structure/cable/layer1, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"dD" = ( +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"dE" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/storage/bag/trash/filled, +/mob/living/basic/mouse/rat, +/obj/item/screwdriver/red, +/obj/item/crowbar, +/obj/item/multitool, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"dH" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = -9; + pixel_x = -9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/chair/wood{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/machinery/button/door/invisible_tripwire{ + donk_ai_slave = 1; + suicide_pact = 1; + suicide_pact_id = "donk_office_trap_shutters"; + id = "donk_office_trap_shutters"; + sync_doors = 0 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"dN" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"dU" = ( +/obj/structure/cable/layer1, +/obj/machinery/vending/cigarette/syndicate{ + onstation_override = 1 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/broken_machine, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"ef" = ( +/obj/structure/cable/layer1, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"ej" = ( +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"ek" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/vending/clothing{ + onstation_override = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"en" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/light/red/dim/directional/west, +/obj/item/mod/construction/broken_core, +/obj/item/mod/module/storage/large_capacity, +/obj/item/mod/module/visor/night, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"eB" = ( +/obj/structure/cable/layer1, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/duct, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"eE" = ( +/obj/structure/secure_safe/directional/north{ + pixel_y = 44 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sink/directional/south, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -12; + id = "donk_market"; + name = "shutter button" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"eN" = ( +/obj/structure/cable/layer1, +/obj/item/dualsaber/toy, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"fg" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool_advanced, +/obj/structure/sign/clock/directional/north, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"fk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"fu" = ( +/obj/structure/table/wood, +/obj/item/dice/d10{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/dice/d10{ + pixel_y = 1; + pixel_x = -8 + }, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"fA" = ( +/obj/item/vending_refill/donksoft{ + pixel_y = -6; + pixel_x = -6 + }, +/obj/item/vending_refill/donksnackvendor{ + pixel_x = 10; + pixel_y = -6 + }, +/obj/item/vending_refill/sustenance{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/vending_refill/youtool{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/effect/turf_decal/bot_red, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/large{ + desc = "A hefty wooden crate labelled 'VENDOR REFILLS'. You'll need a crowbar to get it open." + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"fE" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"fK" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"fT" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/lattice/catwalk, +/obj/structure/cable/layer1, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"fW" = ( +/obj/structure/rack, +/obj/item/melee/skateboard, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"fZ" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"ga" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 1 Internal Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"gb" = ( +/obj/machinery/light/red/dim/directional/east, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"gh" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/mob/living/basic/mouse/rat, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"gn" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/item/coin/titanium{ + pixel_x = 12; + pixel_y = 11 + }, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"gv" = ( +/obj/structure/cable/layer1, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"gz" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"gH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/light/broken/directional/south, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"gK" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + space_dir = 8; + name = "Dock 1 External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_1" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"gS" = ( +/obj/machinery/door/poddoor, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"gT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 8 + }, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/wood/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"gV" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/wood{ + desc = "It's labelled MANAGERS OFFICE - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_office_entrance"; + name = "Executive Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"gW" = ( +/obj/machinery/light/warm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"hd" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/candy{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/item/book/random, +/obj/structure/sign/poster/contraband/cybersun_six_hundred/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"hf" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/poster/contraband/syndicate_pistol/directional/west, +/mob/living/simple_animal/bot/secbot{ + faction = list("Syndicate"); + bot_cover_flags = 4; + baton_type = /obj/item/melee/baton/security/cattleprod; + name = "\improper Syndicate Securitron"; + desc = "A little security robot, reprogrammed by the syndicate. He looks downright surly." + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"hi" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/basic/viscerator, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"hl" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"hr" = ( +/obj/structure/table/wood, +/obj/item/pen/fountain, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"hw" = ( +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"hx" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/east{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"hF" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE E - EMPLOYEES ONLY." + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"hH" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"hK" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/safe, +/obj/item/mail/junkmail, +/obj/item/market_uplink/blackmarket, +/obj/item/clothing/suit/armor/bulletproof{ + desc = "A Type II heavy bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." + }, +/obj/item/coin/gold, +/obj/item/vending_refill/donksnackvendor, +/obj/item/circuitboard/machine/vending/donksnackvendor, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"hL" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/poster/official/moth_epi/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"hO" = ( +/obj/item/stack/sheet/iron/twenty, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"hT" = ( +/obj/effect/mapping_helpers/damaged_window, +/obj/structure/window/reinforced/fulltile, +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"hV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"hW" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"hX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/carpet/orange/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"ia" = ( +/obj/structure/safe/floor, +/obj/item/fishing_hook/shiny{ + desc = "A fancy fishing hook made out of gold."; + name = "fancy gold fishing hook" + }, +/obj/item/food/bait/natural, +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_vault_lasertrap"; + suicide_pact = 1; + suicide_pact_id = "donk_vault_lasertrap" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"ic" = ( +/obj/effect/spawner/random/trash/mess, +/obj/item/stack/sheet/glass{ + pixel_y = 7; + pixel_x = 7; + amount = 15 + }, +/obj/item/stack/sheet/iron/ten, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"ij" = ( +/obj/machinery/light/warm/directional/east, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"ik" = ( +/obj/structure/closet/crate/preopen, +/obj/item/rack_parts, +/obj/item/stack/wrapping_paper/xmas, +/obj/item/radio/off, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"in" = ( +/obj/machinery/light/broken/directional/south, +/obj/item/storage/wallet/random, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"ip" = ( +/obj/structure/cable/layer1, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/machinery/duct, +/obj/machinery/firealarm/directional/east, +/obj/machinery/light/broken/directional/east, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"iu" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/blood/splatter, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"iv" = ( +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"ix" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 6; + pixel_x = 8 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"iz" = ( +/obj/machinery/porta_turret/syndicate/donk, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"iC" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"iD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"iE" = ( +/obj/item/chair/wood{ + pixel_y = -7; + pixel_x = 2 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_entrance_trap_gamma" + }, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_office_entrance_trap_gamma"; + donk_ai_slave = 1; + multiuse = 1; + resets_self = 1 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"iH" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 4 Internal Airlock" + }, +/obj/effect/mapping_helpers/airlock/welded, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_4" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/door/firedoor/closed{ + ignore_alarms = 1; + welded = 1; + alarm_type = null + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"iS" = ( +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"iU" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_trap_shutters" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"iW" = ( +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled WORKSTATION - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"iX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"iY" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/plastic, +/obj/item/stack/sheet/plastic/five{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - MISC' and has the Donk Co. logo stamped on it." + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/item/stack/sheet/iron/twenty, +/obj/item/electronics/apc{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"jd" = ( +/obj/structure/cable/layer1, +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"je" = ( +/obj/effect/mine/shrapnel/sting, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"jk" = ( +/obj/structure/cable/layer1, +/obj/structure/rack, +/obj/item/flashlight/seclite{ + name = "syndicate flashlight"; + desc = "A robust flashlight used by syndicate security." + }, +/obj/item/megaphone{ + inhand_icon_state = "megaphone-cargo"; + icon_state = "megaphone-cargo"; + desc = "A device used to project your voice. Loudly. It has 'PROPERTY OF DONK CO' written on the side."; + name = "donk co megaphone" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"jq" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/ammo_casing/foam_dart{ + dir = 4; + pixel_x = 7; + pixel_y = 6 + }, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/spawner/random/mod/maint, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"jF" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/east, +/obj/machinery/button/door/invisible_tripwire{ + donk_ai_slave = 1; + suicide_pact = 1; + suicide_pact_id = "donk_office_trap_shutters"; + id = "donk_office_trap_shutters"; + sync_doors = 0 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"jK" = ( +/obj/structure/cable/layer1, +/obj/machinery/porta_turret/syndicate/energy/cybersun, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"jL" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/reagent_containers/condiment/donksauce{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/instrument/banjo, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"jY" = ( +/obj/structure/cable/layer1, +/obj/structure/noticeboard/directional/north, +/obj/item/paper/fluff/ruins/hauntedtradingpost/warning, +/obj/machinery/duct, +/obj/item/paper/fluff/ruins/hauntedtradingpost/oldnote, +/obj/item/paper/fluff/ruins/hauntedtradingpost/officememo, +/obj/structure/chair/sofa/right/maroon, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"ka" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/obj/machinery/navbeacon{ + location = "breakroom1"; + codes_txt = "patrol;next_patrol=hall1" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"kl" = ( +/mob/living/basic/viscerator, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"km" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/trash/food_packaging, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/sign/departments/custodian/directional/west, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"kp" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"kq" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/item/folder, +/obj/item/folder, +/obj/item/paper/pamphlet/violent_video_games, +/obj/item/folder, +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming/eureka, +/obj/item/storage/box/gum/nicotine, +/obj/item/folder/yellow, +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming/eureka3, +/obj/item/folder/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/xray/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"kr" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space) +"kx" = ( +/mob/living/basic/bot/dedbot{ + bot_mode_flags = 29 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"kz" = ( +/obj/item/food/badrecipe/moldy/bacteria{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/effect/decal/cleanable/ash, +/obj/machinery/light/warm/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"kD" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/poster/official/moth_hardhat/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"kE" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/robot_debris/limb, +/obj/structure/sign/departments/cargo/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"kG" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/obj/structure/cable/layer1, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"kI" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"kR" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood/fancy/orange, +/obj/machinery/microwave, +/obj/structure/sign/poster/contraband/donk_co/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"kV" = ( +/obj/structure/table/wood, +/obj/item/c_tube, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"kX" = ( +/obj/structure/table/wood, +/obj/item/paper/fluff/ruins/hauntedtradingpost/officememo{ + pixel_y = 12; + pixel_x = -2 + }, +/obj/item/storage/box/donkpockets/donkpocketpizza, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"la" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"lc" = ( +/obj/structure/chair/comfy/brown, +/obj/structure/sign/poster/contraband/donk_co/directional/north, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"lx" = ( +/obj/structure/chair/comfy/black, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"lA" = ( +/mob/living/basic/viscerator, +/obj/effect/turf_decal/bot_red, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"lD" = ( +/obj/structure/bookcase/random/reference, +/obj/item/book/random{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/item/book/random{ + pixel_y = -7; + pixel_x = 6 + }, +/obj/item/book/bible{ + pixel_y = 8; + pixel_x = -6 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"lG" = ( +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"lI" = ( +/obj/machinery/photocopier/gratis, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/overloader_trap{ + shock_damage = 40; + uses_remaining = 3; + trigger_delay = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"lQ" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"lR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"lT" = ( +/obj/machinery/vending/cola/black{ + onstation_override = 1 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/broken_machine, +/obj/effect/decal/cleanable/glass, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"lW" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"me" = ( +/obj/item/bodypart/leg/left/skeleton{ + pixel_y = 8; + pixel_x = -12 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_waste" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"mf" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 2 Internal Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_2" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"mh" = ( +/obj/item/circuitboard/machine/vendatray{ + pixel_y = 15 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"mn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"mp" = ( +/obj/structure/sign/departments/restroom/directional/south, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_toilet" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"mt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"mz" = ( +/obj/structure/cable/layer1, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"mB" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 4 Internal Airlock" + }, +/obj/effect/mapping_helpers/airlock/welded, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_4" + }, +/obj/machinery/door/firedoor/closed{ + ignore_alarms = 1; + welded = 1; + alarm_type = null + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"mL" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"mR" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/food/fortunecookie{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/food/fortunecookie{ + pixel_x = -6 + }, +/obj/item/food/mozzarella_sticks{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/machinery/camera/xray/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"mT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"mV" = ( +/obj/effect/mapping_helpers/damaged_window, +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"nb" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STAFFROOM - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"nf" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 1 Internal Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"nh" = ( +/obj/structure/cable/layer1, +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"nk" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/machinery/duct, +/obj/machinery/firealarm/directional/south, +/obj/item/food/deadmouse, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"nu" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"nC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"nD" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"nE" = ( +/obj/structure/cable/layer1, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"nF" = ( +/obj/structure/cable/layer1, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"nG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"nJ" = ( +/obj/structure/cable/layer1, +/obj/structure/rack, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/item/language_manual/roundstart_species/unlimited, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/west{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"nZ" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"od" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"og" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"ok" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"ot" = ( +/obj/machinery/porta_turret/syndicate/energy/cybersun, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"ox" = ( +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - MISC' and has the Donk Co. logo stamped on it." + }, +/obj/item/card/id/away/donk{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/card/id/away/donk{ + pixel_y = 1; + pixel_x = -1 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"oy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance/no_decals, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"oz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"oB" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/pen/red{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/effect/spawner/random/bureaucracy/paper, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"oC" = ( +/obj/machinery/light/warm/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"oF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"oJ" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/item/storage/wallet/money{ + pixel_y = -5; + desc = "It can hold a few small and personal things. This one is monogrammed 'S.C.'." + }, +/obj/machinery/camera/autoname/directional/west{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"oN" = ( +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"oO" = ( +/obj/structure/cable/layer1, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"oT" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"oW" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"pb" = ( +/obj/structure/cable/multilayer, +/obj/structure/cable/layer1, +/obj/structure/safe/floor, +/obj/item/sticker/syndicate/apc, +/obj/item/grenade/empgrenade, +/obj/item/book/granter/crafting_recipe/donk_secret_recipe, +/obj/item/ai_module/core/full/cybersun, +/obj/item/reagent_containers/condiment/donksauce, +/mob/living/basic/cybersun_ai_core{ + donk_ai_master = 1 + }, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"pc" = ( +/obj/structure/table/wood, +/obj/item/cardpack/series_one{ + pixel_y = -8; + pixel_x = -11; + card_count = 4; + guaranteed_count = 0; + desc = "Contains six cards of varying rarity from the 2560 Core Set. Collect them all! This pack seems to have been resealed..." + }, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"pg" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/item/trash/ready_donk{ + pixel_x = 6; + pixel_y = -16 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"pj" = ( +/obj/effect/spawner/random/entertainment/coin, +/mob/living/basic/mad_piano{ + faction = list("Syndicate") + }, +/obj/item/card/id/away/donk/boss{ + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"pm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/furniture_parts, +/obj/structure/noticeboard/directional/north, +/obj/item/paper/fluff/ruins/hauntedtradingpost/nomodsuits, +/obj/item/universal_scanner, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"pn" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor/shutters{ + id_tag = "donk_office_trap_shutters"; + id = "donk_office_trap_shutters" + }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"pw" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"py" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/obj/structure/cable/layer1, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"pz" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"pB" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_trap_shutters" + }, +/obj/structure/cable/layer1, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"pG" = ( +/obj/structure/lattice/catwalk, +/obj/effect/spawner/structure/electrified_grille{ + spawn_list = list(/obj/structure/grille,/obj/structure/cable/layer1) + }, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"pN" = ( +/obj/structure/cable/layer1, +/obj/structure/window/reinforced/fulltile, +/obj/effect/mapping_helpers/damaged_window, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"pO" = ( +/mob/living/basic/mouse/brown, +/obj/structure/cable/layer1, +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/sign/poster/official/cleanliness/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"pS" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/screwdriver/power{ + pixel_y = 8 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"pT" = ( +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/machinery/light/warm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"pX" = ( +/obj/structure/cable/layer1, +/obj/structure/rack, +/obj/item/storage/medkit/fire{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/storage/medkit/brute{ + pixel_x = 3; + pixel_y = 6 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"qb" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/vending/assist{ + onstation_override = 1 + }, +/obj/machinery/camera/xray/directional/west, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"qi" = ( +/obj/effect/decal/cleanable/fuel_pool, +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/item/toy/plush/donkpocket{ + pixel_x = -3; + pixel_y = 2 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"qp" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/mine/shrapnel/sting, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"qB" = ( +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - TOY STOCK' and has the Donk Co. logo stamped on it." + }, +/obj/item/instrument/musicalmoth, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"qF" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/robot_debris/down, +/obj/item/ammo_casing/foam_dart{ + pixel_x = 2 + }, +/obj/effect/decal/cleanable/glass/plastitanium/screws{ + desc = "These screws are pretty loose." + }, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"qK" = ( +/obj/structure/cable/layer1, +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield{ + desc = "A fragile holographic energy field projected by an AI core. It blocks movement. Excels at blocking lethal projectiles." + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"qL" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/warning/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/xray/directional/south, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"qM" = ( +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/item/tank/internals/oxygen/yellow, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"qP" = ( +/obj/structure/bed/maint, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"qQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"qR" = ( +/turf/open/space/basic, +/area/space) +"qY" = ( +/obj/item/tank/jetpack/oxygen/security{ + name = "red jetpack (oxygen)" + }, +/obj/item/tank/internals/oxygen/red, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"ra" = ( +/obj/machinery/light/warm/directional/south, +/obj/structure/cable/layer1, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"rd" = ( +/obj/machinery/door/airlock/highsecurity{ + desc = "It's labelled AI CORE - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_aicore_door_bolts"; + name = "Secure Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked{ + id_tag = "donk_aicore_door_bolts" + }, +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"rg" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/blood/old, +/obj/item/restraints/legcuffs/beartrap/prearmed, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"rk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/structure/cable/layer1, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"rr" = ( +/obj/structure/table/wood, +/obj/item/toy/figure/ninja{ + pixel_y = 8; + pixel_x = 8; + name = "\improper Evil Underlord action figure"; + toysay = "For my dark master!" + }, +/obj/item/toy/figure/ninja{ + toysay = "Slaughter them all! For the Dark God!"; + name = "\improper Shadow Knight action figure" + }, +/obj/item/toy/figure/ninja{ + toysay = "Slaughter them all! For the Dark God!"; + name = "\improper Shadow Knight action figure"; + pixel_x = -10; + pixel_y = 4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"rs" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"ru" = ( +/obj/structure/cable/layer1, +/obj/machinery/recharger{ + pixel_x = -9; + pixel_y = 10 + }, +/obj/structure/table/wood, +/obj/item/food/cubannachos{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/food/donkpocket/warm/pizza{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable/layer1, +/obj/machinery/cell_charger{ + pixel_y = -7 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"rv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"rx" = ( +/obj/machinery/door/poddoor/shutters{ + id = "donk_toilet_window" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"rI" = ( +/obj/machinery/light_switch/directional/east, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"rN" = ( +/obj/structure/chair/sofa/corner/brown{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"rV" = ( +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"se" = ( +/obj/structure/sink/directional/south, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"sh" = ( +/obj/structure/frame/machine, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"sk" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Glass Airlock" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"sr" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/storage/toolbox/syndicate{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/machinery/light/red/dim/directional/west, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"ss" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/effect/spawner/random/exotic/technology, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/item/gun/energy/laser/carbine/cybersun, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/south{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"su" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/south{ + frequency = 1463 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/camera/xray/directional/south, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"sv" = ( +/obj/structure/table/wood, +/obj/structure/sign/poster/contraband/donk_co/directional/north, +/obj/item/trash/ready_donk, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"sx" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/machinery/porta_turret/syndicate/donk, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"sy" = ( +/obj/structure/sign/poster/contraband/blasto_detergent/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"sB" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/cell_charger, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 10; + id = "donk_office_peek"; + name = "shutter button" + }, +/obj/item/stock_parts/power_store/cell/bluespace{ + pixel_y = 2 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"sD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"sH" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"sM" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/south{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"sN" = ( +/obj/structure/sign/poster/contraband/energy_swords/directional/east, +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 19; + pixel_x = -2 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"sQ" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/wood{ + desc = "It's labelled WAITING ROOM - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_office_entrance"; + name = "Executive Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"sR" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood/fancy/orange, +/obj/item/kirbyplants/organic{ + pixel_y = 14 + }, +/obj/item/stack/spacecash/c10, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"sT" = ( +/obj/effect/mine/shrapnel/sting, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"sU" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/paper/fluff/ruins/hauntedtradingpost/curatorsnote{ + pixel_y = -2; + pixel_x = -6 + }, +/obj/structure/desk_bell{ + pixel_x = 4 + }, +/obj/item/radio{ + pixel_y = 14; + pixel_x = 6 + }, +/obj/item/gps/spaceruin{ + pixel_y = 10; + pixel_x = -7 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"sW" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"sY" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/poddoor, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"ta" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"tb" = ( +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"tj" = ( +/obj/structure/cable/layer1, +/obj/item/universal_scanner, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"tl" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"tm" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"tw" = ( +/obj/machinery/light/warm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"tG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"tJ" = ( +/obj/structure/sign/poster/contraband/eat/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/book/random, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"tK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"tL" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"tP" = ( +/obj/structure/closet/crate/secure/trashcart/filled, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/caution/white{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/obj/item/mop, +/obj/item/food/badrecipe/moldy/bacteria, +/obj/effect/spawner/random/maintenance/no_decals, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"tQ" = ( +/obj/structure/rack, +/obj/item/analyzer, +/obj/item/radio, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"tW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"tZ" = ( +/obj/structure/lattice/catwalk, +/obj/effect/spawner/random/structure/grille, +/obj/structure/cable/layer1, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"uj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"uq" = ( +/obj/structure/rack, +/obj/item/food/peanuts/random, +/obj/item/circuitboard/machine/microwave, +/obj/item/hand_labeler, +/obj/effect/spawner/random/entertainment/coin, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"ur" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"uA" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor/shutters{ + id = "donk_vault_lasertrap" + }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"uE" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Glass Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/blood/splatter, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"uF" = ( +/mob/living/basic/mouse/rat, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"uH" = ( +/turf/open/floor/carpet/orange/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"uT" = ( +/obj/structure/cable/layer1, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"uZ" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"va" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/lattice/catwalk, +/obj/structure/cable/layer1, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"ve" = ( +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"vf" = ( +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"vg" = ( +/obj/structure/rack, +/obj/item/analyzer, +/obj/item/radio, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"vm" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/ammo_casing/foam_dart{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/ammo_casing/foam_dart{ + dir = 4; + pixel_x = 7; + pixel_y = 6 + }, +/obj/machinery/light/broken/directional/east, +/obj/item/toy/snappop{ + pixel_y = 21; + pixel_x = -5 + }, +/obj/item/toy/snappop{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/ammo_box/magazine/toy/pistol{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/machinery/duct, +/obj/machinery/camera/xray/directional/east, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"vr" = ( +/obj/structure/cable/layer1, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"vv" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/vending/cola/shamblers{ + onstation_override = 1 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"vw" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"vx" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"vA" = ( +/obj/structure/door_assembly/door_assembly_ext{ + anchored = 1 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/carpet/orange/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"vD" = ( +/obj/structure/cable/layer1, +/obj/item/wrench/caravan{ + pixel_x = -8 + }, +/obj/structure/table/wood, +/obj/item/crowbar/hammer{ + pixel_x = -4 + }, +/obj/item/screwdriver/nuke{ + pixel_y = -4 + }, +/obj/structure/sign/poster/contraband/pwr_game/directional/south, +/obj/machinery/light/warm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"vH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/restraints/legcuffs/beartrap/prearmed{ + trap_damage = 30 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"vM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"vY" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/warm/directional/east, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"vZ" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/south, +/obj/effect/overloader_trap{ + uses_remaining = 1; + shock_damage = 60; + trigger_cooldown_duration = 30; + shock_range = 0; + trigger_range = 0; + machine_overload_damage = 200 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"wg" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STAFF MEETING ROOM - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"wk" = ( +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"wn" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"ws" = ( +/obj/machinery/light/warm/directional/west, +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"wy" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"wz" = ( +/obj/item/storage/box/donkpockets{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/storage/box/donkpockets/donkpockethonk{ + pixel_x = -8 + }, +/obj/item/storage/box/donkpockets/donkpockethonk{ + pixel_y = -4; + pixel_x = -8 + }, +/obj/item/storage/box/donkpockets/donkpocketpizza{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/item/storage/box/donkpockets/donkpocketpizza{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/storage/box/donkpockets/donkpocketspicy{ + pixel_x = 8 + }, +/obj/item/storage/box/donkpockets/donkpocketspicy{ + pixel_x = 8; + pixel_y = -4 + }, +/obj/structure/closet/crate/large{ + desc = "A hefty wooden crate labelled 'DONK POCKETS BOX BULK' You'll need a crowbar to get it open." + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"wA" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/storage/cans/sixsoda, +/obj/machinery/light/warm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"wD" = ( +/obj/machinery/porta_turret/syndicate/donk, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"wE" = ( +/obj/structure/table/wood, +/obj/item/storage/dice{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/dice/d100{ + pixel_y = 12; + pixel_x = -9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper/fluff/ruins/hauntedtradingpost/rpgrules{ + pixel_y = -2; + pixel_x = -8 + }, +/obj/item/toy/figure/dsquad{ + toysay = "Kneel before me!"; + name = "\improper Evil Overlord action figure"; + pixel_x = 3; + pixel_y = -5 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"wH" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"wK" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled... something. Whatever it said has been scratched out and painted over."; + id_tag = "donk_door_bolts" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/cable/layer1, +/obj/structure/barricade/wooden/crude, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"wQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"wX" = ( +/obj/structure/table/wood, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"xg" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"xn" = ( +/obj/structure/cable/layer1, +/obj/structure/frame/machine/secured, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"xr" = ( +/obj/structure/closet/crate/large{ + desc = "A hefty wooden crate labelled 'REJECT - DEFECTIVE'. You'll need a crowbar to get it open." + }, +/obj/item/ammo_casing/shotgun/ion{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/item/ammo_casing/shotgun/ion, +/obj/item/ammo_casing/shotgun/ion{ + pixel_y = 4; + pixel_x = 4 + }, +/obj/machinery/duct, +/obj/item/gun/ballistic/shotgun/musket{ + pixel_y = -7 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"xs" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/machinery/light/warm/directional/south, +/obj/item/toy/plush/donkpocket{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/kitchen/tongs{ + pixel_y = 4; + pixel_x = -7 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"xu" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_trap_shutters" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"xE" = ( +/obj/machinery/light/broken/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"xG" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/corner{ + dir = 8 + }, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"xN" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"xO" = ( +/obj/machinery/duct, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"xT" = ( +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/entertainment/lighter, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"xU" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"xV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"xW" = ( +/obj/machinery/light/small/dim/directional/west, +/obj/structure/cable/layer1, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"xY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"yb" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"yi" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"ys" = ( +/obj/structure/cable/layer1, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"yz" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/machinery/porta_turret/syndicate/donk, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"yE" = ( +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - DECO' and has the Donk Co. logo stamped on it." + }, +/obj/item/poster/random_contraband{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/poster/random_contraband{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/item/poster/random_contraband{ + pixel_x = -5; + pixel_y = -2 + }, +/obj/item/poster/random_contraband{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/poster/traitor{ + pixel_y = 4; + pixel_x = -1 + }, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"yF" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"yI" = ( +/obj/structure/cable/layer1, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"yK" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"yS" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"yU" = ( +/obj/item/rack_parts{ + pixel_y = 8; + pixel_x = 2 + }, +/obj/effect/turf_decal/bot_red, +/obj/item/storage/toolbox/syndicate{ + pixel_y = -4; + pixel_x = -2 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"zb" = ( +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE D - EMPLOYEES ONLY." + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"zd" = ( +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"zg" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"zi" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STAFF MEETING ROOM - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"zm" = ( +/obj/structure/closet/cardboard/metal{ + desc = "An iron alternative to the ubiquitous cardboard box. This one is labelled 'Do Not Open - Live Snakes Inside'." + }, +/obj/item/toy/plush/snakeplushie, +/mob/living/basic/snake/banded, +/mob/living/basic/snake/banded, +/mob/living/basic/snake/banded, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"zq" = ( +/obj/item/cardboard_cutout, +/obj/item/ammo_casing/foam_dart{ + pixel_x = 10; + pixel_y = 7; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"zt" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"zz" = ( +/obj/structure/table/wood, +/obj/item/laser_pointer/red, +/obj/item/pen/red{ + pixel_y = 9; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"zO" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/south{ + cable_layer = 1 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"zQ" = ( +/mob/living/basic/viscerator, +/obj/effect/turf_decal/bot_red, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 8; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "donk_aicore_door_bolts"; + name = "Door Bolt Button"; + skin = "-warning"; + silicon_access_disabled = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Ab" = ( +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"Af" = ( +/obj/structure/safe/floor, +/obj/structure/mannequin/wood, +/obj/item/circuitboard/computer/slot_machine, +/obj/item/circuitboard/computer/slot_machine, +/obj/item/circuitboard/machine/chem_dispenser/drinks/fullupgrade, +/obj/item/roulette_wheel_beacon, +/obj/item/coin/iron, +/obj/item/coin/iron, +/obj/item/coin/silver, +/obj/item/card/id/away/donk/boss, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Aj" = ( +/obj/structure/cable/layer1, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Aq" = ( +/obj/structure/table/wood, +/obj/item/food/ready_donk/mac_n_cheese{ + pixel_y = -2; + pixel_x = -6 + }, +/obj/item/food/ready_donk/mac_n_cheese{ + pixel_y = 2; + pixel_x = -6 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"At" = ( +/obj/structure/lattice/catwalk, +/obj/effect/spawner/structure/electrified_grille{ + spawn_list = list(/obj/structure/grille,/obj/structure/cable/layer1) + }, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Au" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/machinery/door/airlock/wood{ + name = "Executive Airlock"; + desc = "It's labelled MANAGEMENT - SENIOR EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"AB" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line, +/obj/machinery/light/red/dim/directional/south, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"AG" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/highsecurity{ + desc = "It's labelled SYSTEM CONTROL - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_door_bolts"; + name = "Secure Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"AQ" = ( +/obj/structure/frame/machine/secured, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/circuitboard/machine/vendor, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/camera/autoname/directional/south{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"AU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/obj/machinery/navbeacon{ + location = "workhall"; + codes_txt = "patrol;next_patrol=securehall" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Bb" = ( +/obj/machinery/navbeacon{ + location = "cybersun_ai_core" + }, +/obj/structure/cable/layer1, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Bc" = ( +/obj/machinery/light/warm/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Bg" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/stack/sheet/plastitaniumglass/fifty, +/obj/item/stack/sheet/mineral/plastitanium{ + pixel_y = 8; + amount = 50 + }, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Bi" = ( +/obj/structure/lattice, +/obj/effect/spawner/random/structure/grille, +/turf/open/space/basic, +/area/space) +"Bj" = ( +/obj/structure/rack, +/obj/effect/spawner/random/medical/minor_healing, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Bo" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Br" = ( +/obj/structure/rack, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/decoration/glowstick, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Bx" = ( +/obj/machinery/navbeacon{ + location = "hall2"; + codes_txt = "patrol;next_patrol=hall3" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"BE" = ( +/obj/structure/cable/layer1, +/obj/machinery/power/terminal{ + dir = 1; + cable_layer = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"BH" = ( +/obj/structure/cable/layer1, +/obj/machinery/navbeacon{ + location = "managers"; + codes_txt = "patrol;next_patrol=workhall" + }, +/mob/living/basic/bot/dedbot, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"BI" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled DISPOSALS - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"BJ" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STALL 3 - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"BP" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"BS" = ( +/mob/living/basic/cockroach, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/arrows/white{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"Ct" = ( +/obj/structure/cable/layer1, +/obj/item/cigbutt, +/obj/machinery/light_switch/directional/east, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/south{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Cz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"CD" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/lattice/catwalk, +/obj/structure/cable/layer1, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"CF" = ( +/obj/structure/sink/directional/south, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"CJ" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"CR" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"CS" = ( +/obj/structure/table/wood, +/obj/structure/desk_bell, +/obj/machinery/duct, +/obj/structure/curtain/cloth/fancy, +/obj/structure/cable/layer1, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"CU" = ( +/obj/structure/chair/wood, +/obj/structure/sign/poster/contraband/syndicate_recruitment/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_entrance_trap_alpha" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_office_entrance_trap_alpha"; + resets_self = 1; + donk_ai_slave = 1; + multiuse = 1 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"CZ" = ( +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"Db" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/machinery/door/airlock/highsecurity{ + desc = "It's labelled SYSTEM CONTROL - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_door_bolts"; + name = "Secure Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Dg" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/soda_cans/shamblers{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming{ + pixel_x = -5 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Di" = ( +/obj/structure/rack, +/obj/effect/spawner/random/decoration/glowstick, +/turf/open/floor/catwalk_floor/iron_smooth/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Dm" = ( +/obj/structure/filingcabinet, +/obj/structure/sign/clock/directional/north, +/obj/item/food/candy/bronx, +/obj/item/lipstick, +/obj/item/grenade/frag, +/obj/item/sticker/heart, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Dn" = ( +/obj/effect/spawner/random/trash/food_packaging, +/obj/item/stack/sheet/mineral/wood/fifty{ + amount = 42 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"Dp" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Dt" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen/yellow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Dz" = ( +/obj/machinery/door/poddoor/shutters/preopen, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/obj/structure/cable/layer1, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"DI" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Glass Airlock" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"DM" = ( +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"DP" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/south{ + frequency = 1463 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"DR" = ( +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"DT" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"DX" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"DY" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/machinery/conveyor_switch/oneway{ + id = "Donk_Trash_Chute" + }, +/obj/machinery/light/small/dim/directional/west, +/obj/machinery/button/door{ + pixel_y = 10; + pixel_x = -23; + id = "donk_waste" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"El" = ( +/obj/structure/cable/layer1, +/obj/machinery/recharger{ + pixel_x = -9; + pixel_y = -8 + }, +/obj/structure/table/wood, +/obj/item/stock_parts/matter_bin{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/paper/fluff/ruins/hauntedtradingpost/oldnote/aiclue, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Ep" = ( +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Et" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Eu" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/south, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"EC" = ( +/obj/structure/lattice/catwalk, +/obj/effect/spawner/structure/electrified_grille{ + spawn_list = list(/obj/structure/grille,/obj/structure/cable/layer1) + }, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"EK" = ( +/obj/item/coin/plastic{ + pixel_y = -9; + pixel_x = -9 + }, +/obj/item/ammo_casing/foam_dart{ + dir = 4; + pixel_x = 7; + pixel_y = 6 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_waste" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"EQ" = ( +/obj/structure/cable/layer1, +/obj/structure/sink/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"EX" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"EZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Fc" = ( +/obj/structure/easel{ + anchored = 1; + name = "spreadsheet stand"; + desc = "Only for the finest of spreadsheets!" + }, +/obj/machinery/holopad, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Fd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Fh" = ( +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"Fp" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Ft" = ( +/obj/structure/cable/layer1, +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - DECO' and has the Donk Co. logo stamped on it." + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/universal_scanner, +/obj/item/laser_pointer/red, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Fx" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Fy" = ( +/obj/effect/decal/cleanable/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/vending/custom, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"FB" = ( +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"FE" = ( +/obj/structure/grille/broken, +/obj/effect/spawner/random/trash/crushed_can, +/obj/structure/lattice/catwalk, +/obj/effect/spawner/random/trash/crushed_can, +/obj/structure/cable/layer1, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"FI" = ( +/mob/living/basic/mouse/rat, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"FL" = ( +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"FO" = ( +/obj/machinery/photocopier/gratis, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/obj/effect/overloader_trap{ + shock_damage = 40; + uses_remaining = 3; + trigger_delay = 10 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"FT" = ( +/obj/machinery/duct, +/obj/structure/noticeboard/directional/south, +/obj/item/paper/fluff/ruins/hauntedtradingpost/rpgclub, +/obj/item/paper/fluff/ruins/hauntedtradingpost/warning/turrets, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"FY" = ( +/obj/item/food/donut/meat{ + pixel_x = -2; + pixel_y = 1; + name = "meaty ring"; + desc = "A dog treat. It's in the shape of a bagel, and is made of processed meaty giblets." + }, +/obj/item/food/bowled/wish{ + pixel_y = -14; + pixel_x = -10; + desc = "92% tap water, 7% canine backwash, 1% other."; + name = "water bowl" + }, +/obj/structure/bed/dogbed, +/mob/living/basic/pet/dog/bullterrier/guarddog{ + faction = list("Syndicate") + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Ga" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_refuel_window"; + donk_ai_slave = 1 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Ge" = ( +/obj/item/food/badrecipe/moldy{ + pixel_x = -5; + pixel_y = -6 + }, +/mob/living/basic/mouse/white, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_waste" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"Gg" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor/shutters{ + id = "donk_office_peek" + }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Gk" = ( +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Gp" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/corner, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Gq" = ( +/obj/structure/rack, +/obj/item/analyzer, +/obj/item/radio, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Gs" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/poster/contraband/revolver/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Gw" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + space_dir = 8; + name = "Dock 2 External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_2" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Gy" = ( +/obj/structure/table/wood, +/obj/structure/desk_bell, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"GA" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"GC" = ( +/obj/structure/safe/floor, +/obj/structure/cable/layer1, +/obj/item/stack/sheet/mineral/uranium/five, +/obj/item/storage/box/donkpockets/donkpocketgondola, +/obj/item/toy/basketball{ + name = "autographed basketball"; + desc = "A basketball that has been signed by legendary basketball player Richard E. Durkis." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/sheet/mineral/diamond{ + amount = 10 + }, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_vault_lasertrap"; + suicide_pact = 1; + suicide_pact_id = "donk_vault_lasertrap" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"GG" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"GS" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Hb" = ( +/obj/effect/mapping_helpers/damaged_window, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"He" = ( +/obj/structure/rack, +/obj/effect/spawner/random/entertainment/money_medium, +/obj/item/storage/bag/money{ + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Hh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Hj" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/weldingtool/hugetank, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Hp" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STALL 1 - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Hq" = ( +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Ht" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/north{ + cable_layer = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Hu" = ( +/obj/structure/table/wood, +/obj/item/trash/boritos/red{ + pixel_y = 12; + pixel_x = 6 + }, +/obj/item/paper/crumpled{ + pixel_x = 10; + desc = "Ew, it's been used as a napkin..." + }, +/obj/item/food/grown/grapes/green{ + pixel_x = -4; + pixel_y = 5 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Hw" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Hz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"HA" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/caution/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"HB" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"HD" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/food/beef_wellington{ + pixel_y = 4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"HF" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/west, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/airalarm/directional/west, +/obj/structure/rack, +/obj/item/hand_labeler_refill, +/obj/item/hand_labeler, +/obj/effect/spawner/random/bureaucracy/pen, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"HG" = ( +/obj/item/broken_bottle, +/obj/item/cane/white, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"HK" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE A" + }, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"HL" = ( +/obj/item/toy/basketball{ + pixel_y = 8; + pixel_x = 1 + }, +/obj/item/toy/dodgeball{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/toy/dodgeball{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/toy/dodgeball, +/obj/structure/rack, +/obj/item/toy/basketball{ + pixel_y = -4; + pixel_x = -6 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"HR" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"HV" = ( +/obj/structure/shipping_container/donk_co, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"HX" = ( +/obj/structure/rack, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Ic" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 3 Internal Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_3" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Ie" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Ii" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line, +/obj/machinery/light/red/dim/directional/south, +/obj/machinery/camera/xray/directional/south, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Im" = ( +/obj/effect/turf_decal/stripes/red/line, +/obj/machinery/button/door{ + pixel_y = -23; + pixel_x = -8; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "donk_aicore_door_bolts"; + name = "Door Bolt Button"; + skin = "-warning"; + silicon_access_disabled = 1 + }, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Ip" = ( +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Iv" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"IA" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"IL" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/red/dim/directional/west, +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield, +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"IN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"IQ" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/robot_debris, +/mob/living/basic/mouse/rat, +/obj/effect/decal/cleanable/oil/streak{ + pixel_y = -7 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"IR" = ( +/obj/structure/closet/cardboard{ + desc = "A typical example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013' and has the Donk Co. logo stamped on it." + }, +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/trash/popcorn/salty, +/obj/item/ammo_casing/shotgun/fletchette{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/ammo_casing/shotgun/fletchette{ + pixel_x = -2; + pixel_y = -7 + }, +/obj/item/ammo_casing/shotgun/fletchette{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/machinery/camera/xray/directional/east, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"IT" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = -6; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/layer1, +/obj/machinery/button/door/invisible_tripwire{ + donk_ai_slave = 1; + suicide_pact = 1; + suicide_pact_id = "donk_office_trap_shutters"; + id = "donk_office_trap_shutters"; + sync_doors = 0 + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"IX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Jj" = ( +/obj/structure/showerframe{ + pixel_y = -2; + pixel_x = -8 + }, +/obj/structure/sinkframe{ + pixel_x = 2 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"Jw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Jx" = ( +/obj/structure/cable/layer1, +/obj/structure/frame/machine/secured, +/obj/structure/sign/poster/ripped/directional/east, +/obj/machinery/duct, +/obj/item/shard, +/obj/machinery/camera/autoname/directional/east{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"JE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"JG" = ( +/obj/structure/sink/directional/west, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"JJ" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/red/dim/directional/west, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"JP" = ( +/obj/structure/sign/poster/contraband/c20r/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt/alternate, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"JX" = ( +/obj/structure/cable/layer1, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"JY" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor/shutters/preopen, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"JZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4{ + dir = 8 + }, +/turf/open/floor/wood/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Kd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Kl" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Kr" = ( +/obj/structure/cable/layer1, +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"KC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"KF" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"KG" = ( +/obj/structure/rack, +/obj/item/toy/ammo/gun, +/obj/item/toy/ammo/gun, +/obj/item/toy/gun, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"KH" = ( +/obj/structure/cable/layer1, +/obj/machinery/vending/donksnack{ + onstation_override = 1 + }, +/obj/machinery/duct, +/obj/machinery/camera/autoname/directional/west{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"KI" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"KO" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/poddoor, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"KQ" = ( +/obj/item/plunger{ + pixel_x = -9; + pixel_y = 18 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/button/door{ + pixel_y = 25; + pixel_x = 12; + id = "donk_toilet" + }, +/obj/machinery/button/door{ + pixel_y = 25; + pixel_x = -12; + id = "donk_toilet_window"; + name = "window shutter button" + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/structure/toilet/secret{ + secret_type = /obj/item/toy/plush/nukeplushie; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"KZ" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Ld" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=breakroom1"; + location = "lounge" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Le" = ( +/obj/structure/rack, +/obj/item/radio, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Lf" = ( +/obj/structure/rack, +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/contraband/donk_co/directional/north, +/obj/item/storage/box/donkpockets, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Li" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Ls" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/item/restraints/legcuffs/beartrap/prearmed{ + trap_damage = 30 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Lt" = ( +/obj/structure/rack, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/spawner/random/medical/minor_healing, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Lz" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/ai_module/supplied/protect_station{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/machinery/light/red/dim/directional/east, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"LC" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/firedoor, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"LD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"LF" = ( +/obj/structure/cable/layer1, +/obj/structure/bookcase, +/obj/item/book/granter/crafting_recipe/death_sandwich{ + pixel_x = 6; + pixel_y = -7 + }, +/obj/item/book/granter/crafting_recipe/cooking_sweets_101{ + pixel_x = 10; + pixel_y = 10 + }, +/obj/item/book/manual/wiki/cooking_to_serve_man{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/item/book/random{ + pixel_x = -8; + pixel_y = 4 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"LG" = ( +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"LI" = ( +/obj/item/circuitboard/machine/vending/donksofttoyvendor{ + pixel_y = -2; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"LL" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"LM" = ( +/obj/effect/decal/cleanable/robot_debris/up, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"LO" = ( +/obj/structure/sign/poster/contraband/donut_corp/directional/west, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"LP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"LQ" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/poster/contraband/arc_slimes/directional/north, +/obj/item/trash/syndi_cakes{ + pixel_y = 4; + pixel_x = -8 + }, +/obj/item/clothing/shoes/sneakers/orange, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"LS" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/stock_parts/micro_laser/ultra{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/stock_parts/micro_laser/ultra{ + pixel_x = -8; + pixel_y = -12 + }, +/obj/item/stock_parts/micro_laser/ultra{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"LW" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/item/poster/random_contraband, +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming/eureka2, +/obj/item/healthanalyzer, +/obj/item/skillchip/brainwashing, +/obj/item/storage/fancy/cigarettes/cigpack_shadyjims, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Mc" = ( +/obj/item/trash/boritos/red{ + pixel_y = -12 + }, +/obj/machinery/navbeacon{ + location = "securehall"; + codes_txt = "patrol;next_patrol=managers" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Md" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Mf" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/effect/spawner/random/bureaucracy/paper, +/obj/effect/spawner/random/bureaucracy/pen, +/obj/structure/cable/layer1, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Mg" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/effect/spawner/structure/window/reinforced/indestructible, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_refuel_window" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"Mh" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/obj/item/card/id/away/donk, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Mr" = ( +/obj/machinery/camera/autoname/directional/west{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Mu" = ( +/obj/effect/mapping_helpers/bombable_wall, +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Mx" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/navbeacon{ + location = "hall1"; + codes_txt = "patrol;next_patrol=hall2" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"MJ" = ( +/obj/structure/cable/layer1, +/obj/structure/chair/office/tactical{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"MN" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/wirecutters{ + pixel_y = -6 + }, +/obj/item/circuitboard/machine/microwave{ + pixel_x = 9; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/multitool/circuit{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/west{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"MO" = ( +/obj/machinery/duct, +/obj/machinery/vending/snack{ + onstation_override = 1 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"MR" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal{ + desc = "An ominous looking wall."; + name = "reinforced wall" + }, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Ne" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Ng" = ( +/obj/structure/cable/layer1, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/food_or_drink/donkpockets_single, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/effect/spawner/random/maintenance/no_decals, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Ni" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/obj/structure/cable/layer1, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Nk" = ( +/obj/structure/table/wood, +/obj/item/storage/box/bandages, +/obj/machinery/camera/xray/directional/west, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Nr" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STAFFROOM - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Nt" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Nw" = ( +/obj/structure/cable/layer1, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"NB" = ( +/obj/structure/cable/layer1, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/stock_parts/capacitor/super{ + pixel_y = 5 + }, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = -10; + id = "donk_corridor_peek"; + name = "shutter button" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"NH" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Glass Airlock" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable/layer1, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"NM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/splatter, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"NS" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"NY" = ( +/obj/structure/cable/layer1, +/obj/machinery/vending/coffee{ + onstation_override = 1 + }, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"NZ" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 2 Internal Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_2" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Of" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/fuel_pool, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Oh" = ( +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Oi" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck/cas{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/toy/cards/deck/cas/black{ + pixel_y = 10; + pixel_x = -6 + }, +/obj/machinery/duct, +/obj/machinery/light_switch/directional/south, +/obj/item/universal_scanner{ + pixel_y = 12; + pixel_x = 5 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"OD" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"OE" = ( +/obj/structure/cable/layer1, +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE C - EMPLOYEES ONLY." + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"OL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"OP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/screwdriver{ + pixel_y = -12 + }, +/obj/item/vending_refill/custom, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"OR" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"OS" = ( +/obj/structure/cable/layer1, +/obj/item/trash/ready_donk, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/closet/crate/bin, +/obj/machinery/firealarm/directional/east, +/obj/structure/sign/clock/directional/north, +/obj/item/trash/syndi_cakes, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Pd" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/item/toy/snappop{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/weldingtool{ + pixel_y = 3; + pixel_x = -5 + }, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Pe" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/obj/item/book/random, +/obj/item/food/badrecipe/moldy{ + pixel_y = -6 + }, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"Pg" = ( +/obj/structure/safe, +/obj/item/pet_carrier, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/food/ready_donk/donkrange_chicken, +/obj/item/gun/ballistic/rifle/boltaction/donkrifle, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Pk" = ( +/obj/structure/cable/layer1, +/obj/machinery/vending/tool{ + onstation_override = 1 + }, +/obj/structure/sign/poster/contraband/donk_co/directional/west, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Pq" = ( +/obj/item/mail/junkmail, +/obj/item/folder/red, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper/fluff/ruins/hauntedtradingpost/officememo, +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/light_switch/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Pv" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Px" = ( +/obj/structure/chair/wood, +/obj/structure/sign/poster/contraband/gorlex_recruitment/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_entrance_trap_beta" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_office_entrance_trap_beta"; + resets_self = 1; + donk_ai_slave = 1; + multiuse = 1 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"PA" = ( +/obj/effect/decal/cleanable/fuel_pool, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"PD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"PE" = ( +/obj/structure/cable/layer1, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/structure/sign/poster/contraband/hacking_guide/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"PU" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/camera/xray/directional/north, +/mob/living/basic/mouse/rat, +/obj/item/food/badrecipe/moldy/bacteria, +/obj/effect/spawner/random/trash/deluxe_garbage, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"PX" = ( +/obj/structure/cable/layer1, +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield, +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Qc" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + desc = "It's labelled STORAGE E - EMPLOYEES ONLY." + }, +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"Qe" = ( +/obj/structure/sign/poster/contraband/donk_co/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Qr" = ( +/obj/structure/cable/layer1, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light/warm/directional/west, +/obj/machinery/duct, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Qw" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Qy" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/north{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"QA" = ( +/obj/structure/sign/warning, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"QF" = ( +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"QM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/vending/sovietsoda{ + onstation_override = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"QV" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/broken/directional/north, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"QX" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Ra" = ( +/obj/structure/cable/layer1, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_y = 4 + }, +/obj/item/chair/plastic{ + pixel_y = 8 + }, +/obj/item/chair/plastic{ + pixel_y = 16 + }, +/obj/item/chair/plastic{ + pixel_y = 12 + }, +/obj/item/chair/plastic{ + pixel_y = 16 + }, +/obj/structure/rack, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Rb" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Re" = ( +/obj/structure/table/wood/fancy/orange, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Ri" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/east{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"Rj" = ( +/obj/structure/sign/warning/pods/directional/west, +/obj/effect/spawner/random/trash/deluxe_garbage, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Ro" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Rq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Rv" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Rx" = ( +/obj/structure/rack, +/obj/structure/cable/layer1, +/obj/item/storage/box/mothic_rations, +/obj/structure/sign/poster/contraband/mothic_rations/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Ry" = ( +/obj/effect/decal/cleanable/glass/plastitanium/screws{ + desc = "Someone's got a screw loose! Or 41 screws loose." + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"RA" = ( +/obj/item/shield/buckler, +/obj/item/grenade/barrier, +/obj/effect/decal/cleanable/plastic, +/obj/machinery/light/warm/dim/directional/west, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"RC" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/east, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/north{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"RH" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 11; + height = 24; + name = "Donk Co Trading Outpost: Dock 2"; + shuttle_id = "whiteship_home"; + width = 35 + }, +/turf/open/space/basic, +/area/space) +"RI" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 + }, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"RN" = ( +/obj/structure/closet/l3closet, +/obj/item/soap/syndie, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"RR" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/door/airlock/grunge{ + desc = "It's labelled STALL 2 - EMPLOYEES ONLY" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"RU" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"RW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/syndicate, +/obj/machinery/door/airlock/wood{ + desc = "It's labelled MANAGERS OFFICE - SENIOR EMPLOYEES ONLY"; + name = "Ecevutive Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_vault" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"RX" = ( +/obj/item/stack/medical/suture{ + amount = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Sh" = ( +/obj/item/trash/ready_donk, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"Sj" = ( +/obj/effect/spawner/random/trash/mopbucket, +/obj/item/wrench, +/obj/item/crowbar, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"Sl" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/meter, +/obj/effect/spawner/random/maintenance/no_decals, +/obj/effect/spawner/random/trash/deluxe_garbage, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"Sx" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/west{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"Sy" = ( +/obj/effect/spawner/random/structure/grille, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"SA" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"SF" = ( +/obj/item/target/clown{ + pixel_y = 3 + }, +/obj/item/bikehorn, +/obj/item/soap/syndie{ + pixel_y = -9 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"SK" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/red/dim/directional/east, +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield, +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"SO" = ( +/obj/item/ammo_box/foambox{ + pixel_x = -10; + pixel_y = 7 + }, +/obj/item/mod/module/recycler/donk/safe{ + pixel_y = -3; + pixel_x = 7 + }, +/obj/item/gun/ballistic/automatic/pistol/toy{ + pixel_y = -6; + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"SQ" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"SX" = ( +/obj/machinery/button/door{ + pixel_y = 24; + pixel_x = 9; + id = "donk_office_trap_shutters"; + name = "shutter button"; + sync_doors = 0 + }, +/obj/machinery/button/door/selfdestructs{ + normaldoorcontrol = 1; + id = "donk_door_bolts"; + specialfunctions = 4; + pixel_x = -9; + pixel_y = 24; + desc = "A button for unbolting doors throughout the facility."; + name = "door bolt override" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"SY" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/stripes/red/line, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Ti" = ( +/obj/structure/sign/poster/ripped/directional/north, +/obj/structure/reagent_dispensers/fueltank/large, +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Tl" = ( +/obj/structure/cable/layer1, +/obj/structure/frame/machine/secured, +/obj/machinery/light/red/dim/directional/north, +/obj/item/circuitboard/machine/smes, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"Tp" = ( +/obj/machinery/door/poddoor/shutters{ + id = "donk_corridor_peek" + }, +/obj/structure/cable/layer1, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"Tz" = ( +/obj/structure/table/wood, +/obj/item/hourglass{ + pixel_x = 10; + pixel_y = 7 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"TB" = ( +/obj/structure/rack, +/turf/open/floor/catwalk_floor/iron_smooth/airless, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"TC" = ( +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/structure/closet/crate/secure/trashcart/filled, +/obj/item/food/badrecipe/moldy/bacteria, +/obj/item/food/fishmeat/donkfish, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/obj/item/card/id/away/donk{ + pixel_y = -4; + pixel_x = -8 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"TF" = ( +/obj/effect/mapping_helpers/bombable_wall, +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"TH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/light/warm/directional/south, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"TI" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"TK" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"TP" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/basic/bot/cleanbot{ + additional_access = /datum/id_trim/away/hauntedtradingpost; + bot_mode_flags = 0; + name = "\improper Henry"; + unique_name = 1; + desc = "A dusty and dented old cleaning robot. Despite his scars and his aging body, he determinedly stands by to cleanse the galaxy. One stain at a time."; + req_one_access = list("syndicate") + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"TR" = ( +/obj/structure/sign/poster/ripped/directional/south, +/obj/structure/cable/layer1, +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - DECO' and has the Donk Co. logo stamped on it." + }, +/obj/effect/spawner/random/maintenance/no_decals/two, +/obj/item/toy/snappop{ + pixel_x = 5 + }, +/obj/item/assembly/prox_sensor{ + pixel_y = -3; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"TT" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4; + name = "external vent" + }, +/turf/open/space/basic, +/area/space) +"TU" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"TY" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/red, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Uf" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Uk" = ( +/obj/structure/bed/maint, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"Uu" = ( +/obj/structure/table/wood, +/obj/item/pen/red{ + pixel_y = -3; + pixel_x = -6 + }, +/obj/item/poster/random_contraband{ + pixel_y = 8 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Ux" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/departments/custodian/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Uy" = ( +/obj/structure/cable/layer1, +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/obj/machinery/duct, +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"UD" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/machinery/door/airlock/wood{ + desc = "It's labelled CONFERENCE ROOM - SENIOR EMPLOYEES ONLY"; + name = "Executive Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"UO" = ( +/obj/structure/chair/sofa/corner/brown{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"UV" = ( +/obj/effect/decal/cleanable/fuel_pool, +/obj/item/lighter{ + pixel_y = 8; + pixel_x = 14 + }, +/obj/effect/decal/cleanable/oil/slippery{ + pixel_y = 6; + pixel_x = 6 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"UW" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/machinery/vending/medical{ + onstation_override = 1; + name = "\improper CyberMed +" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"UZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/wood{ + desc = "It's labelled CONFERENCE ROOM - SENIOR EMPLOYEES ONLY"; + name = "Executive Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_vault" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Vf" = ( +/obj/effect/spawner/random/structure/furniture_parts, +/obj/effect/spawner/random/entertainment/musical_instrument, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Vj" = ( +/obj/structure/table/wood, +/obj/item/food/cornchips{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/food/chocolatebar{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/toy/figure/ian{ + name = "\improper Dire-Corgi action figure"; + pixel_x = 2; + pixel_y = -13; + toysay = "ARF!!!" + }, +/obj/item/reagent_containers/cup/glass/mug/tea{ + pixel_y = -2; + pixel_x = -8 + }, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Vl" = ( +/obj/structure/table/wood, +/obj/item/toy/figure/wizard{ + pixel_y = 9; + pixel_x = -4; + toysay = "CLANG!"; + toysound = 'sound/effects/clang.ogg' + }, +/obj/item/toy/figure/warden{ + name = "\improper Knight action figure"; + toysay = "Upon my oath, Armoria will not fall!" + }, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Vm" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/obj/structure/sign/poster/contraband/microwave/directional/north, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Vq" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/circuitboard/machine/vendor, +/obj/item/circuitboard/machine/vendor{ + pixel_y = 12 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"Vw" = ( +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - MISC' and has the Donk Co. logo stamped on it." + }, +/obj/item/stack/sheet/cardboard/fifty{ + pixel_y = 4 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_x = 6 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_x = -5 + }, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"VA" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"VJ" = ( +/obj/structure/cable/layer1, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/machinery/power/apc/auto_name/directional/west{ + cable_layer = 1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"VP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/navbeacon{ + location = "hall3"; + codes_txt = "patrol;next_patrol=hall4" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"VQ" = ( +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"VW" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation) +"VX" = ( +/obj/structure/cable/layer1, +/obj/structure/rack, +/obj/item/gun/ballistic/automatic/pistol/toy, +/obj/effect/decal/cleanable/fuel_pool, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Wa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/machinery/navbeacon{ + location = "hall4"; + codes_txt = "patrol;next_patrol=lounge" + }, +/mob/living/basic/bot/firebot{ + additional_access = /datum/id_trim/away/hauntedtradingpost; + bot_mode_flags = 3; + req_one_access = list("syndicate"); + faction = list("Syndicate") + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Wf" = ( +/obj/structure/lattice/catwalk, +/obj/effect/spawner/structure/electrified_grille{ + spawn_list = list(/obj/structure/grille,/obj/structure/cable/layer1) + }, +/turf/open/space/basic, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Wg" = ( +/obj/structure/rack, +/obj/item/card/emagfake{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/card/emagfake{ + pixel_y = 2 + }, +/obj/item/card/emagfake{ + pixel_y = -4; + pixel_x = -1 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"Wn" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/broken/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Wo" = ( +/obj/structure/closet/crate/cardboard/mothic{ + name = "cardboard box"; + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'ORDER #494316' and has the seal of the nomadic moth fleet stamped on it." + }, +/obj/item/food/grown/herbs{ + pixel_x = 10; + pixel_y = 4 + }, +/obj/item/food/grown/herbs{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/food/grown/herbs, +/obj/effect/spawner/random/trash/deluxe_garbage, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Wu" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/warm/directional/west, +/obj/machinery/duct, +/obj/structure/closet/crate/bin, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Wv" = ( +/obj/structure/fireaxecabinet/empty/directional/north, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Ww" = ( +/obj/machinery/vending/coffee{ + onstation_override = 1 + }, +/obj/structure/cable/layer1, +/obj/machinery/duct, +/obj/effect/mapping_helpers/broken_machine, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"WA" = ( +/obj/machinery/door/airlock/highsecurity{ + desc = "It's labelled AI CORE - SENIOR EMPLOYEES ONLY"; + id_tag = "donk_aicore_door_bolts"; + name = "Secure Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/away/command, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/circuit/red/off, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"WD" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen/yellow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"WF" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Dock 3 Internal Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_3" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"WN" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"WO" = ( +/obj/structure/cable/layer1, +/obj/machinery/power/smes/magical/cybersun{ + cable_layer = 1; + donk_ai_slave = 1; + input_level = 180000; + output_level = 200000 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"WP" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"WV" = ( +/obj/structure/cable/layer1, +/obj/structure/sign/poster/ripped/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"WW" = ( +/obj/item/electronics/firelock{ + pixel_x = 8 + }, +/obj/item/trash/ready_donk{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/effect/turf_decal/arrows/red{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "Donk_Trash_Chute" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals) +"Xe" = ( +/obj/structure/cable/layer1, +/obj/machinery/vending/cola/shamblers{ + onstation_override = 1 + }, +/obj/machinery/duct, +/obj/effect/overloader_trap, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Xh" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Xj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/bureaucracy/briefcase, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"Xu" = ( +/obj/item/ammo_casing/foam_dart{ + pixel_x = 10; + pixel_y = 14; + dir = 4 + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"Xy" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood/fancy/orange, +/obj/item/storage/box/donkpockets{ + pixel_y = 12; + pixel_x = 8 + }, +/obj/item/storage/box/donkpockets{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/food/dankpocket{ + pixel_x = -10 + }, +/obj/item/food/dankpocket, +/obj/item/food/dankpocket{ + pixel_x = 10 + }, +/obj/machinery/light/warm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"Xz" = ( +/obj/structure/table/wood, +/obj/machinery/microwave, +/obj/machinery/door/poddoor/shutters{ + id = "donk_market" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"XB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/spawner/random/structure/furniture_parts, +/obj/item/stock_parts/capacitor/super, +/obj/item/stock_parts/capacitor/super, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"XC" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + space_dir = 4; + name = "Dock 3 External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "donk_dock_3" + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"XJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"XK" = ( +/obj/machinery/vending/donksnack{ + onstation_override = 1 + }, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"XR" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"XT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"XU" = ( +/obj/structure/table/wood, +/obj/item/coffee_cartridge{ + pixel_y = -2; + pixel_x = -12 + }, +/obj/item/reagent_containers/cup/glass/mug/britcup{ + pixel_x = -11; + pixel_y = 7 + }, +/obj/item/pinata/donk, +/obj/item/radio/intercom/directional/north{ + frequency = 1463 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"XW" = ( +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield, +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/hauntedtradingpost/aicore) +"XX" = ( +/obj/structure/cable/layer1, +/obj/machinery/light/small/broken/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/button/door/invisible_tripwire{ + id = "donk_vault_lasertrap"; + suicide_pact = 1; + suicide_pact_id = "donk_vault_lasertrap" + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Ye" = ( +/obj/structure/cable/layer1, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/machinery/camera/xray/directional/south, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Yg" = ( +/obj/structure/cable/layer1, +/obj/machinery/duct, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"Yq" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/item/bedsheet/syndie{ + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate, +/obj/item/storage/pill_bottle/happy{ + pixel_x = -8 + }, +/obj/item/bedsheet/orange{ + pixel_y = 8 + }, +/obj/effect/turf_decal/bot_red, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"Yw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/carpet/orange, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"YB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/porta_turret/syndicate/donk{ + scan_range = 7 + }, +/turf/open/floor/plating/reinforced, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"YF" = ( +/obj/structure/cable/layer1, +/obj/structure/table/wood, +/obj/item/food/pizza/donkpocket{ + pixel_y = 6; + pixel_x = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"YG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/south, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor) +"YI" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"YJ" = ( +/obj/machinery/light/small/broken/directional/west, +/mob/living/basic/viscerator, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage) +"YK" = ( +/obj/item/dice/d4{ + pixel_y = -6; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"YM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"YN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable/layer1, +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor) +"YR" = ( +/obj/structure/cable/layer1, +/obj/structure/frame/machine/secured, +/obj/machinery/duct, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/employees) +"YT" = ( +/obj/structure/aquarium/donkfish, +/turf/open/floor/wood/large, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"YX" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom) +"YY" = ( +/obj/structure/sign/clock/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"YZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "donk_office_trap_shutters" + }, +/turf/open/floor/carpet/donk, +/area/ruin/space/has_grav/hauntedtradingpost/office) +"Zf" = ( +/obj/structure/filingcabinet, +/obj/item/paper/fluff/ruins/hauntedtradingpost/nomodsuits, +/obj/item/paper/fluff/ruins/hauntedtradingpost/oldnote, +/obj/item/paper/fluff/junkmail_generic{ + name = "strange note" + }, +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt/alternate_alt, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"Zi" = ( +/obj/structure/cable/layer1, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint) +"Zn" = ( +/obj/structure/closet/crate/mail, +/obj/item/mail/junkmail, +/obj/item/mail/junkmail, +/obj/item/paper/fluff/operative, +/obj/item/mail/junkmail, +/obj/item/mail/junkmail, +/obj/effect/turf_decal/bot_red, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"Zt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + pipe_color = "#FF7B00"; + color = "#FF7B00" + }, +/obj/structure/sign/poster/ripped/directional/north, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) +"Zu" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/open/space/basic, +/area/space) +"ZI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom) +"ZK" = ( +/obj/item/stack/tile/carpet/donk/thirty{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/effect/spawner/random/decoration/carpet, +/obj/item/toy/plush/donkpocket{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/pillow{ + pixel_y = -2; + pixel_x = 10 + }, +/obj/effect/turf_decal/bot_red, +/obj/structure/closet/crate/cardboard{ + desc = "A fine example of the ubiquitous cardboard box. Handy if you want to store things. This box is labelled 'OUTLET 6013 - DECO' and has the Donk Co. logo stamped on it." + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"ZU" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage) +"ZZ" = ( +/obj/machinery/camera/autoname/directional/east{ + camera_construction_state = 1; + camera_enabled = 0 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/hauntedtradingpost/public) + +(1,1,1) = {" +qR +qR +wn +wn +wn +wn +wn +wn +wn +wn +wn +CD +EC +EC +CD +EC +gz +me +Ge +EK +gz +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +"} +(2,1,1) = {" +qR +qR +wn +fA +qP +ZK +wz +yE +RA +sM +wn +lQ +ys +ys +Ni +lQ +gz +TC +Sh +jq +WP +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +"} +(3,1,1) = {" +qR +qR +wn +Dn +hO +xU +WN +zm +WN +mz +wn +MN +LS +El +ru +Vq +gz +HG +WW +FI +WP +qR +TT +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +RH +qR +qR +qR +qR +qR +"} +(4,1,1) = {" +qR +qR +wn +Yq +zd +yU +xU +Zn +xU +wk +wn +cT +oW +VW +oW +vD +gz +cB +gh +Pe +gz +gz +rx +gz +qR +qR +qR +qR +Pv +gK +Pv +Pv +gK +Pv +Gw +Pv +Pv +Gw +Pv +qR +ba +qR +qR +"} +(5,1,1) = {" +qR +qR +wn +xT +kz +Ab +ZU +ZU +xE +wk +wn +PE +iX +tb +tb +Gs +gz +tP +BS +HA +DY +gz +KQ +gz +qR +qR +qR +qR +Pv +bA +bU +Gq +hW +Pv +QF +be +Lt +QF +Pv +qR +yS +qR +qR +"} +(6,1,1) = {" +qR +qR +wn +wn +wn +wn +wn +hF +wn +Qc +wn +Iv +am +og +VW +Ux +gz +RN +uF +xg +dE +gz +mp +gz +NS +qR +qR +NS +Pv +QF +tK +ok +QF +Pv +QF +tK +KC +QF +Pv +qR +kr +qR +qR +"} +(7,1,1) = {" +qR +va +rs +sR +EQ +Uy +hd +TK +rs +IX +IX +IX +Mf +kX +ct +xN +BI +zt +sW +Ri +sW +pO +sW +gz +NS +NS +NS +NS +Pv +bI +qM +Le +Kd +Pv +wQ +Dt +tQ +Kd +Pv +NS +kr +qR +qR +"} +(8,1,1) = {" +qR +At +kG +nh +Ne +Ne +cV +Rb +rs +Ls +FO +xr +Vw +OL +iS +nk +gz +gz +gz +gz +gz +gz +BI +gz +pw +pw +pw +pw +Pv +ga +Pv +Pv +nf +Pv +NZ +Pv +Pv +mf +Pv +NS +kr +NS +NS +"} +(9,1,1) = {" +qR +va +nF +hH +vM +Ro +Aj +YN +Au +AU +vH +IR +qp +ij +JG +DR +rI +iW +rg +oJ +ad +zq +lW +km +tl +cY +JP +gW +tG +rv +DT +tG +xV +Fd +xV +tG +tG +zO +yi +yi +yi +yi +NS +"} +(10,1,1) = {" +qR +At +nF +Aq +Hq +Ro +LF +rs +rs +lQ +lQ +lQ +Mu +lQ +lQ +lQ +lQ +tl +bt +Ie +od +Ld +VQ +IA +nb +yK +Wa +QF +Hz +oz +Uf +QF +QF +Hz +Yw +QF +VP +fK +OE +CZ +sh +yi +qR +"} +(11,1,1) = {" +qR +At +nF +bf +Hq +Mc +FB +Tp +sr +MJ +cv +JJ +cv +cv +en +Li +PU +wK +tj +LM +VQ +ef +Ra +Ct +tl +Kr +Md +oO +bq +UW +LC +Yg +ip +Jx +NY +gn +gv +GS +yi +CZ +Jj +yi +qR +"} +(12,1,1) = {" +qR +At +nF +XB +Hq +Aj +hx +Tp +pS +Nw +DM +DM +Nw +sT +yb +AG +IQ +tl +LQ +PA +aP +qF +tl +tl +tl +uZ +uE +uZ +uZ +uZ +uZ +NH +uZ +uZ +uZ +Rq +Uf +XT +yi +WV +TP +yi +qR +"} +(13,1,1) = {" +qR +At +nF +lI +oF +ra +rs +rs +NB +Nw +Gp +vw +vw +yz +Rv +Li +Li +tl +Ti +qi +VQ +Eu +tl +Af +Qr +CS +db +ix +nG +LO +Mr +uT +dt +UO +uZ +MO +QF +Xh +yi +XR +Zf +yi +qR +"} +(14,1,1) = {" +qR +At +nF +PD +Cz +Aj +AG +bu +fZ +DM +SY +ot +ve +MR +rd +MR +MR +tl +tl +jY +lG +Ft +tl +uq +ta +hr +XJ +dw +dw +tw +BP +uT +sU +bz +uZ +XK +xO +tJ +yi +OE +yi +yi +Bi +"} +(15,1,1) = {" +qR +At +nF +iY +EZ +qL +Li +jk +je +Nw +Ii +ve +QA +lA +nE +IL +MR +MR +tl +dc +UV +TR +tl +tl +RR +uZ +Xz +wX +pc +uZ +YY +uT +HB +dD +DI +QF +QF +gH +yi +CZ +Sj +yi +kr +"} +(16,1,1) = {" +qR +At +rs +OS +QX +DP +Li +xn +Nw +eN +Oh +MR +zQ +Gk +iv +qK +Bg +MR +tl +dU +Xu +tW +VX +tl +Ht +uZ +eE +mh +He +TY +RX +uT +Bc +uZ +uZ +YG +xO +QM +yi +hL +ox +yi +kr +"} +(17,1,1) = {" +qR +qR +rs +rs +rs +sQ +Li +Tl +Bb +wD +rV +WA +iv +iv +ot +XW +pb +MR +tl +YR +LI +aD +Of +tl +QV +Hp +ta +cQ +cQ +bd +Fp +mL +Kl +uZ +Vm +bC +OP +AQ +yi +Qy +kx +yi +kr +"} +(18,1,1) = {" +qR +qR +NS +ur +CU +Dp +Li +WO +BE +yb +Im +MR +kl +Gk +iv +PX +ss +MR +tl +Xe +VA +VQ +hl +Nr +oT +uZ +Lf +Ip +Ip +RU +mT +CJ +hw +uZ +sv +bC +cN +ek +yi +CZ +ic +yi +kr +"} +(19,1,1) = {" +qR +qR +NS +ur +iE +GG +Li +pX +je +Nw +AB +ve +QA +kl +nE +SK +MR +MR +tl +Pd +vm +Bo +cL +tl +Mh +uZ +Rx +aH +aM +Gy +FL +uT +in +uZ +uZ +CF +xO +Fy +yi +WV +cb +yi +kr +"} +(20,1,1) = {" +qR +qR +NS +ur +Px +Ye +TF +bu +bu +DM +SY +ot +ve +MR +bY +MR +MR +kI +tl +tl +tl +wg +tl +tl +BJ +uZ +bd +wX +wX +uZ +Zt +uT +uT +uT +dj +gv +QF +TH +yi +CZ +Uk +yi +kr +"} +(21,1,1) = {" +ur +KO +ur +ur +ur +gV +ur +ur +sB +Nw +xG +Fx +Fx +sx +KZ +Li +kI +kI +lD +nJ +HF +OD +kI +pm +ta +kV +mT +mT +NM +ws +mT +dD +HD +RI +uZ +Ww +xO +Qe +yi +ch +yi +yi +Bi +"} +(22,1,1) = {" +ur +Wv +Rj +Pg +Pq +tL +VJ +Gg +Hj +yb +DM +DM +Nw +je +Nw +Db +ca +hf +JX +co +nZ +FT +kI +hK +vY +bZ +iC +Ry +sN +dD +ZZ +dD +HR +rN +uZ +vv +hW +Xh +yi +CZ +qY +yi +qR +"} +(23,1,1) = {" +ur +Wo +ej +vf +hV +vx +tm +Gg +Lz +bu +cv +gb +zg +bu +du +Li +fg +Jw +wE +rr +Hu +ka +kI +kI +kI +uZ +sk +uZ +uZ +uZ +uZ +DI +uZ +uZ +uZ +LC +Uf +XT +yi +kD +ik +yi +qR +"} +(24,1,1) = {" +ur +Dm +ej +FY +xY +vZ +ur +ur +pz +pz +pz +pz +pz +pz +pz +pz +YB +Ep +Vj +Vl +fu +YI +Nk +Oi +kI +eB +jd +bQ +qb +Pk +LD +Yg +Wu +KH +lT +pg +gv +Wn +yi +CZ +nD +yi +qR +"} +(25,1,1) = {" +ur +YT +ej +dv +sH +BH +ur +jK +pz +kq +ap +lR +Fc +Xj +pj +pz +Vf +Ep +Hw +GA +Hw +uj +Hh +iu +zi +yK +Mx +QF +nC +iD +Uf +QF +QF +fk +iD +QF +Bx +fK +HK +Zi +TI +yi +qR +"} +(26,1,1) = {" +ur +ur +SX +dx +xY +kp +ur +uA +pz +LW +ap +lx +Uu +la +oC +pz +pz +se +YK +Nt +Nt +kE +wy +cC +kI +Ga +sy +pT +tG +xV +XT +tG +xV +tG +sD +tG +cq +mn +yi +yi +yi +yi +NS +"} +(27,1,1) = {" +pG +ur +lc +oB +sH +su +ur +ia +pz +bn +ap +LL +Dg +la +ap +bV +UD +YX +kR +Xy +yF +yF +cO +yF +yF +Mg +yF +pw +Pv +Ic +Pv +Pv +WF +Pv +iH +Pv +Pv +mB +mV +NS +Bi +NS +NS +"} +(28,1,1) = {" +pG +Dz +ej +br +xY +EX +RW +XX +pz +XU +ap +LL +Tz +KF +ap +Ng +yF +yF +yF +yF +yF +xW +Fh +zb +Sl +wH +yF +NS +Pv +wQ +vg +WD +mt +Hb +oN +HX +bx +hX +KI +NS +Zu +qR +qR +"} +(29,1,1) = {" +pG +JY +CR +Re +Qw +dN +ur +ah +UZ +fE +ap +LL +zz +la +ap +mR +yF +oy +YJ +Sx +Fh +Fh +LP +yF +OR +nu +yF +NS +Pv +QF +IN +LG +QF +Pv +uH +gT +JZ +uH +Sy +qR +Zu +qR +qR +"} +(30,1,1) = {" +pG +JY +vr +vf +vf +vr +ur +GC +pz +jL +ap +au +SA +au +ap +YF +yF +HV +SF +HV +KG +SQ +qB +yF +sY +sY +yF +qR +Pv +QF +Br +Bj +qQ +Pv +uH +Di +TB +uH +hT +qR +Bi +qR +qR +"} +(31,1,1) = {" +pG +ur +pB +iU +YZ +xu +ur +uA +pz +wA +YM +JE +YM +ZI +rk +xs +yF +SQ +SQ +SQ +HL +hi +Wg +yF +qR +qR +qR +qR +Pv +XC +Pv +Pv +XC +Pv +bo +Pv +aO +vA +aw +qR +kr +qR +qR +"} +(32,1,1) = {" +FE +pN +IT +jF +cF +dH +pn +jK +pz +RC +Et +DX +TU +DX +DX +iz +yF +SQ +SO +SQ +fW +SQ +cm +yF +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +"} +(33,1,1) = {" +fT +ur +ur +ur +ur +ur +ur +ur +pz +pz +pz +py +yI +yI +pz +pz +yF +yF +yF +yF +yF +gS +yF +yF +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +"} +(34,1,1) = {" +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +tZ +dC +Wf +Wf +Wf +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +qR +"} diff --git a/_maps/RandomRuins/SpaceRuins/hellfactory.dmm b/_maps/RandomRuins/SpaceRuins/hellfactory.dmm index 524e81ebb69cc..adabf3216325d 100644 --- a/_maps/RandomRuins/SpaceRuins/hellfactory.dmm +++ b/_maps/RandomRuins/SpaceRuins/hellfactory.dmm @@ -69,7 +69,9 @@ /area/ruin/space/has_grav/hellfactoryoffice) "al" = ( /obj/structure/table/reinforced, -/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer{ + pixel_y = 12 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "an" = ( @@ -82,7 +84,9 @@ /area/ruin/space/has_grav/hellfactoryoffice) "ap" = ( /obj/structure/table/reinforced, -/obj/machinery/computer/security/wooden_tv, +/obj/machinery/computer/security/wooden_tv{ + pixel_y = 16 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aq" = ( @@ -90,12 +94,17 @@ name = "bossman's hologrid"; reward = /obj/item/stack/spacecash/c10000 }, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "ar" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/iron/five, -/obj/item/grenade/firecracker, +/obj/item/stack/sheet/iron/five{ + pixel_x = -3 + }, +/obj/item/grenade/firecracker{ + pixel_x = 4 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "as" = ( @@ -104,8 +113,13 @@ /area/ruin/space/has_grav/hellfactory) "at" = ( /obj/structure/closet/crate/preopen, -/obj/item/reagent_containers/cup/beaker/large, -/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = -4 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "au" = ( @@ -162,7 +176,9 @@ /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "az" = ( -/obj/item/trash/raisins, +/obj/item/trash/raisins{ + pixel_x = -9 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aA" = ( @@ -186,33 +202,47 @@ /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aF" = ( -/obj/item/trash/can, +/obj/item/trash/can{ + pixel_x = -16 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aG" = ( /obj/structure/table/reinforced, -/obj/item/storage/cans/sixsoda, +/obj/item/storage/cans/sixsoda{ + pixel_y = 12 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aH" = ( /obj/structure/table/reinforced, -/obj/item/trash/popcorn, +/obj/item/trash/popcorn{ + pixel_y = 5; + pixel_x = 16 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aI" = ( /obj/structure/table/reinforced, -/obj/item/gps/spaceruin, +/obj/item/gps/spaceruin{ + pixel_y = 14; + pixel_x = -2 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aJ" = ( /obj/structure/table/reinforced, -/obj/item/trash/candle, +/obj/item/trash/candle{ + pixel_y = 12 + }, /obj/structure/cable, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aK" = ( /obj/structure/table/reinforced, -/obj/item/rsf, +/obj/item/rsf{ + pixel_y = 13 + }, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "aL" = ( @@ -280,14 +310,11 @@ /area/ruin/space/has_grav/hellfactoryoffice) "aS" = ( /obj/structure/closet/crate, -/obj/item/stack/package_wrap, +/obj/effect/spawner/random/exotic/languagebook{ + pixel_x = -2 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"aT" = ( -/obj/effect/mine/gas/water_vapor, -/obj/machinery/door/window/left/directional/south, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/hellfactory) "aU" = ( /turf/open/floor/plastic, /area/ruin/space/has_grav/hellfactory) @@ -307,6 +334,11 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) +"aY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hellfactory) "aZ" = ( /obj/machinery/light/directional/east, /turf/open/floor/iron/checker, @@ -326,8 +358,12 @@ /area/ruin/space/has_grav/hellfactory) "be" = ( /obj/structure/table, -/obj/item/paper_bin/carbon, -/obj/effect/decal/cleanable/cobweb, +/obj/item/paper_bin/carbon{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 12 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "bf" = ( @@ -353,9 +389,11 @@ /obj/item/stamp/denied, /obj/item/stamp{ pixel_x = 6; - pixel_y = 6 + pixel_y = 11 + }, +/obj/structure/railing{ + dir = 8 }, -/obj/structure/window/spawner/directional/west, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "bn" = ( @@ -368,7 +406,9 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bp" = ( -/obj/structure/chair/plastic, +/obj/structure/chair/plastic{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "br" = ( @@ -376,11 +416,11 @@ reward = /obj/item/keycard/office }, /obj/structure/cable, -/turf/open/floor/plating, +/turf/open/floor/carpet/lone, /area/ruin/space/has_grav/hellfactory) "bs" = ( /obj/machinery/conveyor/auto, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bt" = ( @@ -396,7 +436,6 @@ /obj/machinery/conveyor/auto{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bv" = ( @@ -409,15 +448,26 @@ /area/ruin/space/has_grav/hellfactory) "bw" = ( /obj/structure/table, -/obj/structure/window/spawner/directional/west, -/obj/item/pen/fourcolor, +/obj/item/pen/fourcolor{ + pixel_y = 6 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/glasses/science{ + pixel_y = -5 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "bx" = ( /obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 13; + pixel_x = 4 + }, +/obj/structure/railing{ + dir = 10 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "by" = ( @@ -426,7 +476,6 @@ "bB" = ( /obj/structure/fermenting_barrel, /obj/machinery/conveyor/auto, -/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bC" = ( @@ -437,10 +486,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"bD" = ( -/obj/effect/turf_decal/arrows, -/turf/open/floor/plating, -/area/ruin/space/has_grav/hellfactory) "bE" = ( /obj/effect/turf_decal/box/white/corners{ dir = 1 @@ -457,9 +502,7 @@ "bG" = ( /obj/structure/closet/crate, /obj/machinery/conveyor/auto, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/reagent_containers/cup/glass/flask, -/obj/item/stack/sheet/glass, +/obj/effect/spawner/random/engineering/material_rare, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bH" = ( @@ -472,19 +515,9 @@ /obj/machinery/conveyor/auto{ dir = 1 }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"bJ" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/ruin/space/has_grav/hellfactory) -"bK" = ( -/obj/machinery/light/directional/south, -/obj/structure/rack, -/obj/item/book/manual/random, -/obj/item/poster/random_contraband, -/turf/open/floor/iron, -/area/ruin/space/has_grav/hellfactory) "bL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -499,13 +532,6 @@ "bN" = ( /obj/structure/ore_box, /obj/machinery/conveyor/auto, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/plating, -/area/ruin/space/has_grav/hellfactory) -"bP" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bR" = ( @@ -525,7 +551,6 @@ dir = 4 }, /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "bU" = ( @@ -554,16 +579,11 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"bZ" = ( -/obj/machinery/door/puzzle/keycard/stockroom, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/hellfactory) "ca" = ( /obj/machinery/door/airlock, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "cb" = ( -/obj/machinery/light/small/directional/south, /obj/structure/curtain, /obj/structure/mirror/directional/north, /turf/open/floor/holofloor/wood, @@ -571,6 +591,7 @@ "cc" = ( /obj/structure/bed, /obj/effect/spawner/random/bedsheet, +/obj/machinery/light/small/directional/north, /turf/open/floor/holofloor/wood, /area/ruin/space/has_grav/hellfactory) "cd" = ( @@ -597,13 +618,24 @@ }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) +"cg" = ( +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = -6; + pixel_y = 13 + }, +/obj/item/stack/package_wrap{ + pixel_y = 4 + }, +/obj/item/stack/wrapping_paper, +/obj/structure/rack, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) "ch" = ( /obj/machinery/light/directional/west, /obj/machinery/plumbing/tank, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "ci" = ( -/obj/machinery/light/small/directional/south, /obj/effect/decal/remains/human, /obj/structure/curtain, /obj/structure/mirror/directional/north, @@ -621,6 +653,7 @@ /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, /obj/effect/mapping_helpers/apc/cell_10k, +/obj/item/stack/tile/iron/base, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cn" = ( @@ -648,6 +681,7 @@ /area/ruin/space/has_grav/hellfactory) "cr" = ( /obj/structure/closet/crate/trashcart, +/obj/item/storage/toolbox/emergency/old, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cs" = ( @@ -656,39 +690,38 @@ /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "cu" = ( -/obj/effect/turf_decal{ +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cv" = ( -/obj/effect/turf_decal{ +/obj/effect/turf_decal/caution/stand_clear/white, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/caution/stand_clear/white, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cw" = ( -/obj/effect/turf_decal{ +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/item/stack/tile/iron/base, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cx" = ( -/obj/effect/turf_decal{ - dir = 1 - }, /obj/effect/turf_decal/caution/stand_clear/white, /obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cy" = ( -/obj/effect/turf_decal{ +/obj/item/stack/tile/iron/base, +/obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cz" = ( @@ -698,6 +731,15 @@ /area/ruin/space/has_grav/hellfactory) "cA" = ( /obj/item/trash/raisins, +/obj/item/crowbar/large/emergency{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/shreds{ + pixel_x = -11; + pixel_y = 9 + }, +/obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cB" = ( @@ -709,24 +751,12 @@ /obj/effect/turf_decal/delivery/white, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"cE" = ( -/obj/structure/sign/warning/docking, -/turf/closed/wall/rust, -/area/ruin/space/has_grav/hellfactory) "cF" = ( /obj/effect/turf_decal/delivery/white, /obj/machinery/door/poddoor, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"cG" = ( -/obj/effect/turf_decal/delivery/white, -/obj/effect/turf_decal/delivery/red, -/obj/item/stack/tile/iron/base, -/obj/machinery/door/poddoor, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/ruin/space/has_grav/hellfactory) "cH" = ( /obj/effect/turf_decal/delivery/white, /obj/structure/grille/broken, @@ -741,30 +771,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"cJ" = ( -/obj/effect/turf_decal/delivery/white, -/obj/item/stack/tile/iron/base, -/obj/machinery/door/poddoor, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/ruin/space/has_grav/hellfactory) "cK" = ( /obj/machinery/power/port_gen/pacman, /obj/structure/cable, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cL" = ( -/obj/item/bedsheet/brown{ - dir = 4 - }, -/obj/structure/bed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/hellfactory) -"cM" = ( -/obj/item/storage/toolbox/emergency/old, -/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cN" = ( @@ -778,8 +791,9 @@ /area/ruin/space/has_grav/hellfactory) "cP" = ( /obj/effect/turf_decal/box/white/corners, -/obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/structure/broken_flooring/corner/directional/south, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "cQ" = ( @@ -793,8 +807,10 @@ /area/ruin/space/has_grav/hellfactory) "cV" = ( /obj/structure/table, -/obj/item/stack/ducts/fifty, -/obj/structure/window/spawner/directional/south, +/obj/item/stack/ducts/fifty{ + pixel_y = 15 + }, +/obj/structure/railing, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "dm" = ( @@ -809,22 +825,32 @@ /area/ruin/space/has_grav/hellfactory) "hk" = ( /obj/machinery/atmospherics/components/tank/water_vapor{ - dir = 8 + dir = 8; + pixel_y = 12 }, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hellfactoryoffice) "hv" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plastic, /area/ruin/space/has_grav/hellfactory) +"ih" = ( +/mob/living/basic/mouse, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) "iE" = ( /obj/structure/closet/crate, -/obj/effect/spawner/random/engineering/material_rare, +/obj/item/stack/sheet/glass, +/obj/item/reagent_containers/cup/glass/flask, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"kD" = ( -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/iron/checker, +"jl" = ( +/obj/machinery/door/puzzle/keycard/stockroom{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "lP" = ( /obj/item/chair/plastic{ @@ -839,10 +865,10 @@ /obj/structure/rack, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"nd" = ( -/obj/structure/sign/warning/vacuum, -/turf/closed/wall, -/area/ruin/space/has_grav/hellfactory) +"mh" = ( +/obj/structure/sign/warning/vacuum/directional/north, +/turf/template_noop, +/area/template_noop) "oH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, @@ -851,19 +877,19 @@ "oJ" = ( /turf/open/floor/iron/dark, /area/ruin/space/has_grav/hellfactory) -"oV" = ( -/obj/structure/sign/warning/cold_temp{ - name = "\improper BLAST FREEZER" - }, -/turf/closed/wall/r_wall, +"po" = ( +/obj/machinery/light/floor/broken, +/turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"pf" = ( +"pT" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/west, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"po" = ( -/obj/machinery/light/floor/broken, +"qB" = ( +/obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "qK" = ( @@ -871,14 +897,18 @@ /obj/effect/spawner/random/exotic/languagebook, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"sk" = ( -/obj/structure/extinguisher_cabinet/directional/north, +"sb" = ( +/obj/structure/sign/poster/ripped/directional/north, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) -"ux" = ( -/obj/machinery/light/small/directional/west, +"sk" = ( +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) +"sT" = ( +/obj/item/stack/tile/iron/base, +/turf/template_noop, +/area/template_noop) "uL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/floor, @@ -891,6 +921,12 @@ /obj/effect/spawner/random/entertainment/money_large, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) +"vI" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) "wv" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/effect/mapping_helpers/apc/cell_10k, @@ -901,47 +937,98 @@ /obj/structure/bed, /obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/light/small/directional/north, /turf/open/floor/holofloor/wood, /area/ruin/space/has_grav/hellfactory) +"zr" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) +"zw" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) +"AA" = ( +/obj/item/weldingtool/empty{ + pixel_y = 10; + pixel_x = -7 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hellfactory) +"BA" = ( +/obj/machinery/light/directional/north, +/obj/item/book/manual/random{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/structure/rack, +/obj/item/poster/random_contraband, +/obj/machinery/door/window/half/left/directional/west, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) "BC" = ( /obj/machinery/light/floor, /obj/effect/turf_decal/bot_white/left, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/hellfactory) -"EJ" = ( -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/iron, -/area/ruin/space/has_grav/hellfactory) -"Fs" = ( +"FL" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/microwave, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "GE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/ruin/space/has_grav/hellfactory) -"GU" = ( -/obj/structure/sign/warning/chem_diamond, -/turf/closed/wall, +"Is" = ( +/obj/structure/closet/crate, +/obj/item/stack/package_wrap, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) +"IA" = ( +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/iron/checker, +/area/ruin/space/has_grav/hellfactory) +"Jp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "KZ" = ( /obj/machinery/modular_computer/preset/civilian, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) +"Lz" = ( +/obj/effect/spawner/structure/window/ice, +/turf/open/floor/plating, +/area/ruin/space/has_grav/hellfactory) "Ns" = ( /obj/structure/closet/crate, /obj/machinery/conveyor/auto{ dir = 1 }, /obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/spawner/random/exotic/languagebook, +/obj/effect/spawner/random/engineering/material_rare, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "NU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/north, +/obj/item/reagent_containers/cup/glass/bottle/hooch{ + pixel_x = -6; + pixel_y = 5 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) "OJ" = ( @@ -951,15 +1038,28 @@ /obj/machinery/light/directional/east, /turf/open/floor/plastic, /area/ruin/space/has_grav/hellfactory) -"PO" = ( -/obj/machinery/light/small/directional/south, +"OX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/checker, +/area/ruin/space/has_grav/hellfactory) +"RX" = ( +/obj/structure/sign/warning/chem_diamond/directional/north, +/turf/open/floor/iron, +/area/ruin/space/has_grav/hellfactory) +"Sg" = ( +/obj/item/bedsheet/brown{ + dir = 4 + }, +/obj/structure/bed/maint, +/mob/living/basic/mouse, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"QS" = ( -/obj/structure/rack, -/obj/item/stack/wrapping_paper, -/obj/item/stack/package_wrap, -/obj/effect/spawner/random/food_or_drink/donkpockets, +"Sw" = ( +/obj/machinery/microwave{ + pixel_y = 11 + }, +/obj/structure/table, /turf/open/floor/iron, /area/ruin/space/has_grav/hellfactory) "Sz" = ( @@ -977,6 +1077,7 @@ "Vd" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy, +/obj/structure/sign/warning/docking/directional/north, /turf/template_noop, /area/ruin/space/has_grav/hellfactory) "VN" = ( @@ -987,10 +1088,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/has_grav/hellfactory) -"Yd" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/grimy, -/area/ruin/space/has_grav/hellfactoryoffice) "Zh" = ( /obj/structure/closet/crate/trashcart, /obj/item/stack/sheet/mineral/plasma, @@ -1000,6 +1097,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/hellfactory) +"ZC" = ( +/obj/item/trash/can{ + pixel_y = -10 + }, +/turf/open/floor/iron/grimy, +/area/ruin/space/has_grav/hellfactoryoffice) (1,1,1) = {" aa @@ -1090,7 +1193,7 @@ ad au aC aM -aT +aV ba bl bl @@ -1118,9 +1221,9 @@ av ab aN hv -bb -aA -bL +Lz +zw +Jp bt bb bb @@ -1129,7 +1232,7 @@ bU ce aA bL -aA +cf cn cs aW @@ -1145,15 +1248,15 @@ aw aD aN aU -bb -bL -aA +Lz +FL +qB bu bb bb bb bV -cf +aA aA aA UK @@ -1173,8 +1276,8 @@ OJ aO aV bc -bL -bL +zw +pT bv bC bI @@ -1199,20 +1302,20 @@ ah ah ah ah -oV -aA -aA -aA -bD -bJ -bP -GU +ac +zr aA +ih +by +by +by +ab +RX aA bL aA po -cE +aL aW Vd cQ @@ -1223,7 +1326,7 @@ aa ah aj az -aF +ZC aQ ah be @@ -1266,8 +1369,8 @@ gu by by cv -cG -aa +cI +sT aa aa "} @@ -1278,12 +1381,12 @@ ah al ao aG -Yd +ao ah KZ -ux -bL aA +bL +vI Wh Wh oJ @@ -1347,7 +1450,7 @@ cz cq cP cy -cJ +cF aa aa aa @@ -1364,9 +1467,9 @@ ah ac aW ac -by -by -bK +BA +aA +aA aL ca aL @@ -1374,7 +1477,7 @@ ca aL cq dm -cE +aL ac Vd cQ @@ -1386,14 +1489,14 @@ ah ap ao aK -Yd +ao ah aA bn aW -by -Wh -Fs +Sw +bL +bL aL cb aL @@ -1417,17 +1520,17 @@ ao ah aB bL -bZ -by -by -QS +ac +cg +aA +aA aL cc aL xK ac ac -aW +jl ac aW aa @@ -1455,7 +1558,7 @@ aW ac Zh cA -by +AA ab aa aa @@ -1474,16 +1577,16 @@ bo aL vB ab -aB +IA bR -PO +by ab as aL cr cB cL -nd +ab aa aa "} @@ -1499,17 +1602,17 @@ aL bk aB ab -qK -EJ +Is +aA aB ab -GE +OX iE -iE -by +qK +cL Sz by -cM +Wh cN aa aa @@ -1520,7 +1623,7 @@ aa aW ab bL -kD +aB aB ab sk @@ -1535,10 +1638,10 @@ aL ab ab NU -Wh +aY by ab -aa +mh aa "} (21,1,1) = {" @@ -1548,7 +1651,7 @@ ac as aA ab -aB +IA aA bL aB @@ -1558,12 +1661,12 @@ oH aB ab aB -pf +bL aA by Wh -by -by +cO +cL ab aa aa @@ -1582,15 +1685,15 @@ aB aL by ab -aA +sb bS aB ab as aL -by +Sg cl -cO +by ab aa aa diff --git a/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm b/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm index 01ef1895a66b9..969ec322a7efb 100644 --- a/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm +++ b/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm @@ -357,6 +357,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/mineral/titanium/tiled/purple, /area/ruin/space/has_grav/powered/hilbertresearchfacility) +"jG" = ( +/obj/effect/turf_decal/trimline/white/arrow_cw, +/obj/effect/turf_decal/trimline/white/mid_joiner, +/obj/structure/sign/departments/evac/aft/directional/west, +/turf/open/floor/mineral/plastitanium, +/area/ruin/space/has_grav/powered/hilbertresearchfacility) "jJ" = ( /obj/item/reagent_containers/cup/beaker/bluespace{ pixel_y = 5 @@ -1857,12 +1863,6 @@ /obj/machinery/hydroponics, /turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/powered/hilbertresearchfacility) -"Rk" = ( -/obj/structure/sign/departments/evac/directional/south, -/obj/effect/turf_decal/trimline/white/arrow_cw, -/obj/effect/turf_decal/trimline/white/mid_joiner, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/hilbertresearchfacility) "Ru" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -2993,7 +2993,7 @@ Do KC vG YG -Rk +jG Bo To To diff --git a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm index 64e7be0705b6b..abccc6b550eb1 100644 --- a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm +++ b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm @@ -562,7 +562,7 @@ /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/all_access, /obj/machinery/icecream_vat{ - desc = "Waffle co. actually ordered these guys to steal one of these just to be sure." + desc = "Waffle Corp. actually ordered these guys to steal one of these just to be sure." }, /turf/open/floor/plating, /area/ruin/space/has_grav/infested_frigate) @@ -856,7 +856,7 @@ icon_state = "floor5-old" }, /obj/item/ammo_casing/spent, -/obj/item/gun/ballistic/automatic/plastikov, +/obj/item/gun/ballistic/automatic/smartgun, /obj/effect/mob_spawn/corpse/human/syndicatepilot, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/infested_frigate) @@ -2790,7 +2790,7 @@ icon_state = "plastitaniumtiny" }, /mob/living/basic/alien/queen/large{ - loot = list(/obj/effect/gibspawner/xeno,/obj/item/ammo_box/magazine/plastikov9mm,/obj/effect/mob_spawn/corpse/human/syndicatecommando/soft_suit); + loot = list(/obj/effect/gibspawner/xeno,/obj/item/ammo_box/magazine/smartgun,/obj/effect/mob_spawn/corpse/human/syndicatecommando/soft_suit); desc = "What you saw in your dreams last night."; faction = list("syndicate","xenomorph") }, diff --git a/_maps/RandomRuins/SpaceRuins/meatderelict.dmm b/_maps/RandomRuins/SpaceRuins/meatderelict.dmm index 3e4bece11e8e5..9eb4b1ae0ee82 100644 --- a/_maps/RandomRuins/SpaceRuins/meatderelict.dmm +++ b/_maps/RandomRuins/SpaceRuins/meatderelict.dmm @@ -68,7 +68,7 @@ /turf/open/indestructible/dark, /area/ruin/space/has_grav/powered/biooutpost/vault) "bh" = ( -/obj/structure/sign/directions/science/directional/west, +/obj/structure/sign/directions/science/west_arrow, /obj/effect/turf_decal/siding/purple{ dir = 8 }, @@ -1747,7 +1747,7 @@ /obj/effect/turf_decal/siding/purple{ dir = 5 }, -/obj/structure/sign/directions/engineering/directional/east, +/obj/structure/sign/directions/engineering/east_arrow, /turf/open/indestructible/white, /area/ruin/space/has_grav/powered/biooutpost) "Hh" = ( @@ -2195,7 +2195,7 @@ /obj/effect/turf_decal/siding/purple{ dir = 6 }, -/obj/structure/sign/directions/engineering/directional/east, +/obj/structure/sign/directions/engineering/east_arrow, /obj/effect/spawner/random/bureaucracy/pen, /obj/item/paper/crumpled/fluff/meatderelict/shieldgens, /turf/open/indestructible/white, @@ -2528,7 +2528,7 @@ /turf/open/indestructible/plating, /area/ruin/space/has_grav/powered/biooutpost) "XO" = ( -/obj/structure/sign/directions/security/directional/south{ +/obj/structure/sign/directions/security/south_arrow{ pixel_x = 32 }, /obj/effect/turf_decal/tile/purple/opposingcorners, diff --git a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm index 6c08525d8f2c3..ddfbb91afdf87 100644 --- a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm +++ b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm @@ -30,14 +30,16 @@ /area/ruin/space/has_grav/powered/cat_man) "ai" = ( /obj/structure/mop_bucket/janitorialcart, -/obj/item/mop, -/obj/item/reagent_containers/cup/bucket, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 12 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "aj" = ( /obj/structure/table, -/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 8 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "ak" = ( @@ -49,7 +51,9 @@ dir = 6 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 12 + }, /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) @@ -103,14 +107,16 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "au" = ( -/obj/machinery/door/airlock/external/ruin, +/obj/machinery/door/airlock/external/ruin{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "av" = ( -/obj/machinery/light/small/directional/south, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "aw" = ( @@ -178,11 +184,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) -"aH" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/ruin/space/has_grav/powered/cat_man) "aI" = ( /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) @@ -268,6 +269,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) "aW" = ( @@ -282,7 +284,8 @@ /obj/item/reagent_containers/cup/bowl, /obj/item/food/meat/slab/synthmeat{ desc = "A slab of cat meat. Tastes like furball."; - name = "cat meat" + name = "cat meat"; + pixel_y = 5 }, /obj/machinery/light/small/directional/north, /turf/open/floor/plating, @@ -293,21 +296,20 @@ /area/ruin/space/has_grav/powered/cat_man) "ba" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/open/floor/carpet, -/area/ruin/space/has_grav/powered/cat_man) -"bc" = ( -/obj/machinery/button/door/directional/west{ - id = "meow"; - name = "Emergency Kitty Lockdown" +/obj/item/flashlight/lamp{ + pixel_y = 12 }, -/turf/open/floor/iron, +/turf/open/floor/carpet, /area/ruin/space/has_grav/powered/cat_man) "bd" = ( /obj/structure/table/reinforced, -/obj/item/hemostat, +/obj/item/hemostat{ + pixel_x = -4; + pixel_y = 10 + }, /obj/item/cautery{ - pixel_x = 4 + pixel_x = 4; + pixel_y = -2 }, /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) @@ -391,6 +393,12 @@ /obj/item/scalpel{ pixel_y = 12 }, +/obj/machinery/button/door/table{ + pixel_y = 14; + pixel_x = -4; + name = "Emergency Kitty Lockdown"; + id = "meow" + }, /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) "bt" = ( @@ -402,24 +410,45 @@ /area/ruin/space/has_grav/powered/cat_man) "bu" = ( /obj/structure/table/reinforced, -/obj/item/clothing/gloves/latex, -/obj/item/surgical_drapes, +/obj/item/clothing/gloves/latex{ + pixel_y = 7; + pixel_x = 1 + }, +/obj/item/surgical_drapes{ + pixel_y = 16; + pixel_x = -4 + }, /turf/open/floor/iron/white/side{ dir = 8 }, /area/ruin/space/has_grav/powered/cat_man) "bw" = ( /obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 12 + }, +/obj/item/pen{ + pixel_y = 8; + pixel_x = 3 + }, /turf/open/floor/carpet, /area/ruin/space/has_grav/powered/cat_man) "bx" = ( /obj/structure/rack, -/obj/item/melee/baton/security/cattleprod, -/obj/item/melee/baton/security/cattleprod, -/obj/item/restraints/handcuffs, -/obj/item/restraints/handcuffs, +/obj/item/melee/baton/security/cattleprod{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/melee/baton/security/cattleprod{ + pixel_y = 7; + pixel_x = 4 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 8 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 4 + }, /turf/open/floor/carpet, /area/ruin/space/has_grav/powered/cat_man) "by" = ( @@ -428,8 +457,13 @@ /area/ruin/space/has_grav/powered/cat_man) "bz" = ( /obj/structure/table/reinforced, -/obj/item/retractor, -/obj/item/razor, +/obj/item/retractor{ + pixel_y = 12 + }, +/obj/item/razor{ + pixel_y = 20; + pixel_x = 7 + }, /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) "bA" = ( @@ -475,7 +509,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, -/obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/components/unary/outlet_injector/monitored{ chamber_id = "catstation4"; dir = 4 @@ -541,6 +574,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored{ chamber_id = "catstation6" }, +/obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "bQ" = ( @@ -553,7 +587,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/hidden{ dir = 6 }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 12 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "bS" = ( @@ -575,11 +611,6 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) -"bV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ruin/space/has_grav/powered/cat_man) "bX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -665,8 +696,13 @@ dir = 5 }, /obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/wrench, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 10 + }, +/obj/item/wrench{ + pixel_x = -2; + pixel_y = 6 + }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "ck" = ( @@ -743,6 +779,7 @@ /obj/item/organ/internal/ears/cat, /obj/item/organ/internal/ears/cat, /obj/item/organ/internal/ears/cat, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/freezer, /area/ruin/space/has_grav/powered/cat_man) "cv" = ( @@ -783,10 +820,6 @@ }, /turf/open/floor/iron/freezer, /area/ruin/space/has_grav/powered/cat_man) -"cw" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/freezer, -/area/ruin/space/has_grav/powered/cat_man) "cx" = ( /obj/structure/closet/crate/freezer{ name = "cat tails" @@ -806,6 +839,13 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) +"kj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/cup/bowl, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ruin/space/has_grav/powered/cat_man) "lQ" = ( /obj/structure/bed/dogbed{ name = "kitty bed" @@ -838,6 +878,13 @@ dir = 4 }, /area/ruin/space/has_grav/powered/cat_man) +"wB" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/ruin/space/has_grav/powered/cat_man) "yx" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, @@ -850,7 +897,6 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "BX" = ( -/obj/machinery/firealarm/directional/east, /obj/machinery/computer/atmos_control/noreconnect{ atmos_chambers = list("catstation1"="Chamber 1","catstation2"="Chamber 2","catstation3"="Chamber 3","catstation4"="Chamber 4","catstation5"="Chamber 5","catstation6"="Chamber 6","catstationsupply"="Supply"); dir = 8 @@ -860,13 +906,32 @@ }, /turf/open/floor/iron, /area/ruin/space/has_grav/powered/cat_man) +"Mn" = ( +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 4 + }, +/obj/item/mop, +/turf/open/floor/plating, +/area/ruin/space/has_grav/powered/cat_man) +"OP" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/ruin/space/has_grav/powered/cat_man) +"QB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/cup/bowl, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ruin/space/has_grav/powered/cat_man) "RT" = ( /obj/machinery/door/airlock/external/ruin, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/ruin/space/has_grav/powered/cat_man) "Sl" = ( -/obj/machinery/door/airlock/external/ruin, +/obj/machinery/door/airlock/external/ruin{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, @@ -1115,7 +1180,7 @@ bo bw ad bJ -aI +OP aF ad aZ @@ -1180,7 +1245,7 @@ aS ad bL aI -aH +aG ad aZ ad @@ -1203,7 +1268,7 @@ ad ad ad ax -aH +aG ad aT mm @@ -1234,7 +1299,7 @@ ad ag aj ad -aw +wB aG ad ad @@ -1263,14 +1328,14 @@ aa ab ab ad -ah +Mn ah ar aw aI aO aI -bc +aI bq aI aI @@ -1347,7 +1412,7 @@ ay ah cp ct -cw +ct ad ab ab @@ -1372,7 +1437,7 @@ bB bE aP bQ -bV +ay ad ca cf @@ -1500,7 +1565,7 @@ bi aP ad aJ -bV +ay ad an ad @@ -1531,7 +1596,7 @@ ad ay ay ad -aK +QB aD ad am @@ -1560,7 +1625,7 @@ ad aX bk ad -aL +kj bH ad ad diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index ade5d068b6ebc..0693ba28318bf 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -103,13 +103,14 @@ "aJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/button/door{ - id = "ancient"; - name = "Charlie Station Lockdown Button" - }, /obj/effect/decal/cleanable/dirt, /obj/item/binoculars{ - pixel_y = 14 + pixel_y = 2 + }, +/obj/machinery/button/door/table{ + id = "ancient"; + name = "Charlie Station Lockdown Button"; + pixel_y = 8 }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) @@ -124,10 +125,17 @@ "aL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/toy/cards/deck, -/obj/item/folder/blue, -/obj/item/pen, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, +/obj/item/toy/cards/deck{ + pixel_y = 3; + pixel_x = 6 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "aM" = ( @@ -144,13 +152,17 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/clothing/neck/link_scryer/loaded/charlie, +/obj/item/clothing/neck/link_scryer/loaded/charlie{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "aS" = ( -/obj/structure/sign/poster/official/nanotrasen_logo, -/turf/closed/wall, -/area/ruin/space/ancientstation/charlie/bridge) +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/ruin/space/ancientstation/charlie/hall) "aT" = ( /turf/closed/wall, /area/ruin/space/ancientstation/charlie/hall) @@ -169,7 +181,9 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/megaphone, +/obj/item/megaphone{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "aX" = ( @@ -190,17 +204,15 @@ "ba" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/lighter, +/obj/item/lighter{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) -"bb" = ( -/obj/structure/sign/poster/contraband/pwr_game, -/turf/closed/wall, -/area/ruin/space/ancientstation/charlie/hall) "be" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/window/reinforced/half/directional/west, /obj/structure/alien/weeds, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) @@ -249,7 +261,7 @@ /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) "bp" = ( -/obj/machinery/door/window/brigdoor/left/directional/west, +/obj/machinery/door/window/half/left/directional/west, /obj/effect/decal/cleanable/robot_debris, /obj/structure/alien/weeds/node, /turf/open/floor/iron/dark, @@ -262,14 +274,18 @@ "bt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/dice/d6, +/obj/item/dice/d6{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "bu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) @@ -292,10 +308,6 @@ /obj/machinery/door/airlock/maintenance_hatch, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/hall) -"by" = ( -/obj/structure/sign/poster/official/nanotrasen_logo, -/turf/closed/wall/rust, -/area/ruin/space/ancientstation/charlie/bridge) "bz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -322,7 +334,7 @@ /turf/closed/wall, /area/ruin/space/ancientstation/delta/hall) "bF" = ( -/obj/structure/grille, +/obj/structure/window_frame, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/medbay) "bG" = ( @@ -357,8 +369,8 @@ /area/ruin/space/ancientstation/charlie/hall) "bS" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "bT" = ( @@ -388,10 +400,6 @@ }, /turf/open/floor/iron/white/textured, /area/ruin/space/ancientstation/delta/proto) -"bX" = ( -/obj/structure/sign/departments/science, -/turf/closed/wall/rust, -/area/ruin/space/ancientstation/charlie/hall) "bZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -404,10 +412,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) -"cb" = ( -/obj/structure/sign/poster/official/science, -/turf/closed/wall/rust, -/area/ruin/space/ancientstation/delta/hall) "cd" = ( /obj/machinery/door/airlock/command{ name = "Beta Station Access" @@ -417,6 +421,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/away/general, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "ce" = ( @@ -535,10 +540,6 @@ initial_gas_mix = "co2=6;o2=16;n2=82;TEMP=293.15" }, /area/ruin/space/ancientstation/delta/hall) -"ct" = ( -/obj/structure/sign/poster/official/science, -/turf/closed/wall, -/area/ruin/space/ancientstation/delta/hall) "cw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/transit_tube/station/reverse/flipped, @@ -557,11 +558,8 @@ /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) "cz" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table, -/obj/machinery/door/window/brigdoor/right/directional/east, +/obj/machinery/door/window/half/left/directional/east, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) "cA" = ( @@ -603,7 +601,9 @@ "cJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/paper/fluff/ruins/oldstation/protoinv, +/obj/item/paper/fluff/ruins/oldstation/protoinv{ + pixel_y = 8 + }, /turf/open/floor/iron/white/textured, /area/ruin/space/ancientstation/delta/proto) "cK" = ( @@ -724,10 +724,13 @@ /area/ruin/space/ancientstation/delta/hall) "dj" = ( /obj/machinery/door/airlock/external/glass/ruin, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 6 }, -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/iron/dark, /area/ruin/space/ancientstation/beta/mining) "dk" = ( /obj/effect/decal/cleanable/dirt, @@ -874,16 +877,16 @@ /obj/machinery/modular_computer/preset/research/away{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/door/window/brigdoor/right/directional/east, +/obj/machinery/door/window/half/left/directional/east, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) "dU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, @@ -940,7 +943,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/machinery/microwave{ - pixel_y = 6 + pixel_y = 8 }, /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) @@ -958,6 +961,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "em" = ( @@ -970,6 +974,7 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "eo" = ( @@ -983,9 +988,15 @@ "ep" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/seeds/wheat, -/obj/item/seeds/poppy, -/obj/item/seeds/potato, +/obj/item/seeds/wheat{ + pixel_y = 8 + }, +/obj/item/seeds/poppy{ + pixel_y = 8 + }, +/obj/item/seeds/potato{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) "eq" = ( @@ -996,10 +1007,18 @@ "er" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/seeds/wheat/rice, -/obj/item/seeds/grape, -/obj/effect/spawner/random/food_or_drink/seed, -/obj/item/seeds/ambrosia, +/obj/item/seeds/wheat/rice{ + pixel_y = 8 + }, +/obj/item/seeds/grape{ + pixel_y = 8 + }, +/obj/effect/spawner/random/food_or_drink/seed{ + pixel_y = 8 + }, +/obj/item/seeds/ambrosia{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) "et" = ( @@ -1027,12 +1046,15 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/contraband/donut_corp/directional/north, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/sec) "ex" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, @@ -1111,9 +1133,11 @@ /obj/structure/table, /obj/item/cultivator{ pixel_x = 4; - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/shovel/spade{ + pixel_y = 8 }, -/obj/item/shovel/spade, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) @@ -1141,17 +1165,19 @@ /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/mercury{ pixel_x = 6; - pixel_y = 8 + pixel_y = 16 }, /obj/item/reagent_containers/cup/bottle/nitrogen{ pixel_x = -6; - pixel_y = 8 + pixel_y = 16 }, /obj/item/reagent_containers/cup/bottle/oxygen{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/phosphorus{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -1181,10 +1207,6 @@ }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) -"fd" = ( -/obj/structure/sign/poster/contraband/donut_corp, -/turf/closed/wall, -/area/ruin/space/ancientstation/charlie/sec) "fe" = ( /obj/machinery/power/smes/engineering{ charge = 0 @@ -1231,14 +1253,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) -"fp" = ( -/obj/structure/sign/poster/official/here_for_your_safety, -/turf/closed/wall/rust, -/area/ruin/space/ancientstation/charlie/sec) "fq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/paper, +/obj/item/paper{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/sec) @@ -1258,12 +1278,16 @@ "fv" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 8 + }, /obj/item/stack/sheet/glass/fifty{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/autopsy_scanner{ + pixel_y = 8 }, -/obj/item/autopsy_scanner, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/delta/rnd) "fw" = ( @@ -1346,7 +1370,9 @@ "fM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/pen, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 @@ -1500,7 +1526,7 @@ /turf/closed/wall, /area/ruin/space/ancientstation/charlie/kitchen) "gJ" = ( -/obj/structure/grille, +/obj/structure/window_frame, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/hall) "gP" = ( @@ -1515,7 +1541,9 @@ /obj/structure/table/optable{ name = "Robotics Operating Table" }, -/obj/item/surgical_drapes, +/obj/item/surgical_drapes{ + pixel_y = 8 + }, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/delta/rnd) "gU" = ( @@ -1533,9 +1561,10 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "gX" = ( -/obj/structure/sign/poster/official/build, -/turf/closed/wall, -/area/ruin/space/ancientstation/charlie/engie) +/obj/structure/table, +/obj/structure/window/reinforced/half/directional/east, +/turf/open/floor/iron/dark, +/area/ruin/space/ancientstation/delta/ai) "gY" = ( /turf/closed/wall/rust, /area/ruin/space/ancientstation/charlie/kitchen) @@ -1543,8 +1572,12 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/storage/box/lights/mixed, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 8 + }, +/obj/item/storage/box/lights/mixed{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "ha" = ( @@ -1560,7 +1593,9 @@ "hb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/reagent_containers/cup/soda_cans/cola, +/obj/item/reagent_containers/cup/soda_cans/cola{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -1571,13 +1606,13 @@ /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar, -/obj/machinery/door/window/right/directional/north{ - req_access = list("away_general") - }, /obj/item/paper/fluff/ruins/oldstation/apc_note, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/item/card/id/away/old/equipment, /obj/item/stock_parts/power_store/battery/high, +/obj/machinery/door/window/half/left/directional/north{ + req_access = list("away_general") + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "hh" = ( @@ -1676,7 +1711,9 @@ "hA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/sec) @@ -1698,10 +1735,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) -"hM" = ( -/obj/structure/sign/departments/science, -/turf/closed/wall, -/area/ruin/space/ancientstation/charlie/hall) +"hJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/ruin/space/ancientstation/charlie/engie) "hN" = ( /obj/item/stack/rods, /obj/structure/lattice, @@ -1788,6 +1826,7 @@ dir = 4 }, /obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/away/general, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "ic" = ( @@ -1874,7 +1913,9 @@ "im" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/restraints/handcuffs, +/obj/item/restraints/handcuffs{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/sec) @@ -1955,14 +1996,18 @@ "iD" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/toy/nuke, +/obj/item/toy/nuke{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) "iE" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) @@ -1986,7 +2031,9 @@ "iI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/plate/small, +/obj/item/plate/small{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "iJ" = ( @@ -2038,6 +2085,8 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/storage) "iV" = ( @@ -2059,6 +2108,10 @@ }, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) +"iY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/ruin/space/ancientstation/charlie/engie) "jc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -2089,7 +2142,6 @@ "ji" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, -/obj/machinery/firealarm/directional/west, /obj/structure/cable, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/storage) @@ -2153,7 +2205,9 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/item/paper/fluff/ruins/oldstation, +/obj/item/paper/fluff/ruins/oldstation{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) @@ -2260,8 +2314,12 @@ "jX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/seeds/harebell, -/obj/item/seeds/carrot, +/obj/item/seeds/harebell{ + pixel_y = 8 + }, +/obj/item/seeds/carrot{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) @@ -2436,18 +2494,20 @@ }, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) -"kM" = ( -/obj/structure/sign/poster/official/work_for_a_future, -/turf/closed/wall/rust, -/area/ruin/space/ancientstation/charlie/dorms) "kN" = ( /obj/structure/table, -/obj/item/crowbar, +/obj/item/crowbar{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/decoration/glowstick, -/obj/item/clothing/neck/link_scryer/loaded/charlie, +/obj/effect/spawner/random/decoration/glowstick{ + pixel_y = 8 + }, +/obj/item/clothing/neck/link_scryer/loaded/charlie{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "kO" = ( @@ -2511,7 +2571,8 @@ /obj/structure/table/reinforced, /obj/item/healthanalyzer{ desc = "A prototype hand-held body scanner able to distinguish vital signs of the subject."; - name = "prototype health analyzer" + name = "prototype health analyzer"; + pixel_y = 8 }, /turf/open/floor/iron/white/textured, /area/ruin/space/ancientstation/delta/proto) @@ -2548,7 +2609,9 @@ /area/ruin/space/ancientstation/charlie/hydro) "lc" = ( /obj/structure/table/reinforced, -/obj/item/gun/energy/e_gun/old, +/obj/item/gun/energy/e_gun/old{ + pixel_y = 8 + }, /turf/open/floor/iron/white/textured, /area/ruin/space/ancientstation/delta/proto) "ld" = ( @@ -2735,11 +2798,11 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) "lV" = ( -/obj/structure/grille/broken, +/obj/item/stack/sheet/iron, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/medbay) "lW" = ( -/obj/structure/grille/broken, +/obj/item/stack/sheet/iron, /obj/item/shard{ icon_state = "medium" }, @@ -2762,10 +2825,6 @@ "mc" = ( /turf/closed/mineral/plasma, /area/ruin/space/ancientstation/charlie/dorms) -"md" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/ruin/space/ancientstation/delta/biolab) "me" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 @@ -2782,8 +2841,12 @@ "mg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/toy/seashell, -/obj/item/toy/seashell, +/obj/item/toy/seashell{ + pixel_y = 8 + }, +/obj/item/toy/seashell{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/white, @@ -2874,6 +2937,12 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/mining) "mC" = ( @@ -2929,16 +2998,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/mining) -"mO" = ( -/obj/machinery/mineral/processing_unit_console, -/turf/closed/wall, -/area/ruin/space/ancientstation/beta/mining) "mP" = ( /obj/machinery/door/airlock/external/glass/ruin, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/catwalk_floor, +/obj/effect/mapping_helpers/airlock/access/all/away/general, +/turf/open/floor/iron/dark/airless, /area/ruin/space/ancientstation/beta/supermatter) "mR" = ( /obj/effect/decal/cleanable/dirt, @@ -3029,6 +3092,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/all/away/general, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "nc" = ( @@ -3057,6 +3121,7 @@ dir = 10 }, /obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/away/general, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "nf" = ( @@ -3128,12 +3193,10 @@ /turf/open/floor/iron/airless, /area/ruin/space/ancientstation/beta/medbay) "nG" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table, -/obj/machinery/door/window/brigdoor/right/directional/east, /obj/item/computer_disk, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) "nI" = ( @@ -3233,16 +3296,20 @@ /obj/structure/table, /obj/item/stack/sheet/glass/fifty{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 8 }, -/obj/item/stack/sheet/iron/fifty, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) "of" = ( /obj/structure/table, -/obj/item/storage/toolbox/mechanical/old, +/obj/item/storage/toolbox/mechanical/old{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -3257,6 +3324,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/machinery/washing_machine, +/obj/structure/noticeboard/directional/west, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "ok" = ( @@ -3287,10 +3355,16 @@ /area/ruin/space/ancientstation/delta/hall) "oy" = ( /obj/structure/table, -/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/mask/breath, +/obj/item/tank/internals/oxygen{ + pixel_y = 8 + }, +/obj/item/clothing/mask/breath{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -3321,7 +3395,7 @@ /turf/open/floor/iron/white, /area/ruin/space/ancientstation/delta/rnd) "oE" = ( -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, @@ -3357,7 +3431,7 @@ "oM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 8 }, @@ -3401,7 +3475,7 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/hall) "oV" = ( -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/effect/decal/cleanable/glass, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, @@ -3440,7 +3514,7 @@ "pj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "pk" = ( @@ -3496,6 +3570,7 @@ dir = 1 }, /obj/machinery/computer/apc_control/away, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "pK" = ( @@ -3562,6 +3637,10 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/machinery/mineral/processing_unit_console{ + pixel_y = 20; + density = 0 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/mining) "ql" = ( @@ -3590,9 +3669,15 @@ "qr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/soap/nanotrasen, -/obj/item/coin, -/obj/item/coin, +/obj/item/soap/nanotrasen{ + pixel_y = 8 + }, +/obj/item/coin{ + pixel_y = 8 + }, +/obj/item/coin{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, @@ -3607,8 +3692,11 @@ /area/ruin/space/ancientstation/delta/hall) "qx" = ( /obj/machinery/door/airlock/external/glass/ruin, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/airless, /area/ruin/space/ancientstation/beta/supermatter) "qF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2{ @@ -3640,11 +3728,9 @@ "qQ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, /obj/machinery/door/airlock/external/glass/ruin, -/turf/open/floor/catwalk_floor, +/obj/effect/mapping_helpers/airlock/access/all/away/general, +/turf/open/floor/iron/dark/airless, /area/ruin/space/ancientstation/charlie/engie) "rc" = ( /obj/effect/decal/cleanable/dirt, @@ -3732,6 +3818,10 @@ /obj/effect/mapping_helpers/apc/away_general_access, /turf/open/floor/engine/airless, /area/ruin/space/ancientstation/beta/supermatter) +"rL" = ( +/obj/machinery/atmospherics/components/unary/airlock_pump, +/turf/open/floor/iron/dark, +/area/ruin/space/ancientstation/beta/mining) "rN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -3740,16 +3830,17 @@ pixel_x = 4; list_reagents = list(/datum/reagent/growthserum=30); name = "Experimental solution"; - pixel_y = 8 + pixel_y = 14 }, /obj/item/reagent_containers/cup/bottle{ pixel_x = -4; list_reagents = list(/datum/reagent/consumable/nutriment/peptides=30); - name = "Solution for Molly" + name = "Solution for Molly"; + pixel_y = 5 }, /obj/item/reagent_containers/dropper{ - pixel_x = -7; - pixel_y = 10 + pixel_x = 6; + pixel_y = -2 }, /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 1 @@ -3797,6 +3888,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) +"rY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/airless, +/area/ruin/space/ancientstation/beta/supermatter) "si" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, @@ -3825,7 +3923,6 @@ /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, -/obj/structure/noticeboard/directional/west, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hall) "sv" = ( @@ -4062,7 +4159,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, -/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron/diagonal, /area/ruin/space/ancientstation/beta/gravity) "uo" = ( @@ -4101,7 +4197,6 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/structure/sign/warning/chem_diamond/directional/east, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) "uw" = ( @@ -4168,7 +4263,9 @@ "uT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, @@ -4177,7 +4274,7 @@ /area/ruin/space/ancientstation/charlie/sec) "uX" = ( /obj/item/shard, -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/corner/directional/east, @@ -4237,6 +4334,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/hall) +"vs" = ( +/obj/machinery/light/small/red/directional/east, +/turf/open/floor/iron/dark, +/area/ruin/space/ancientstation/charlie/engie) "vv" = ( /obj/machinery/light/small/directional/south, /obj/structure/closet/crate, @@ -4298,10 +4399,12 @@ "vS" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/silver{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/sodium{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -4362,6 +4465,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "wm" = ( @@ -4440,7 +4544,8 @@ /area/space/nearstation) "wE" = ( /obj/machinery/door/airlock/engineering{ - name = "Supermatter Chamber" + name = "Supermatter Chamber"; + dir = 4 }, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) @@ -4462,6 +4567,7 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/contraband/lamarr/directional/north, /turf/open/floor/iron/white/textured_edge, /area/ruin/space/ancientstation/delta/biolab) "wL" = ( @@ -4491,10 +4597,13 @@ "wR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 4 + }, +/turf/open/floor/iron/dark, /area/ruin/space/ancientstation/charlie/engie) "wS" = ( -/obj/item/stack/rods, +/obj/item/stack/rods/ten, /obj/machinery/atmospherics/components/unary/vent_scrubber{ dir = 4 }, @@ -4504,16 +4613,26 @@ "xd" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/folder/white, -/obj/item/reagent_containers/cup/beaker, +/obj/item/folder/white{ + pixel_y = 11; + pixel_x = 5 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = 7; + pixel_x = -4 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper{ + pixel_y = -2 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) "xi" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/food_or_drink/snack{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, @@ -4579,9 +4698,10 @@ /turf/open/floor/engine/airless, /area/ruin/space/ancientstation/beta/supermatter) "xM" = ( -/obj/machinery/door/window/right/directional/east{ +/obj/machinery/door/window/half/right/directional/east{ req_access = list("away_general") }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/engine, /area/ruin/space/ancientstation/delta/biolab) "xT" = ( @@ -4619,23 +4739,18 @@ /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "yk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to Distro" }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/hall) "yq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/sign/warning/vacuum/directional/west, -/turf/open/floor/iron, -/area/ruin/space/ancientstation/delta/hall) -"yr" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/rust, -/area/ruin/space/ancientstation/delta/biolab) +/obj/structure/lattice, +/obj/item/stack/sheet/iron, +/turf/template_noop, +/area/space/nearstation) "yu" = ( /obj/machinery/door/airlock/engineering/glass, /obj/machinery/door/poddoor{ @@ -4723,6 +4838,7 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/all/away/general, /turf/open/floor/iron/white/textured_large, /area/ruin/space/ancientstation/delta/biolab) "zm" = ( @@ -4843,6 +4959,7 @@ dir = 4 }, /obj/machinery/firealarm/directional/east, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "zZ" = ( @@ -4851,6 +4968,7 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "Aa" = ( @@ -4877,7 +4995,9 @@ "Ae" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/kitchen/rollingpin, +/obj/item/kitchen/rollingpin{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "Af" = ( @@ -4929,7 +5049,7 @@ /area/ruin/space/ancientstation/beta/hall) "Az" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, @@ -4940,6 +5060,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "AC" = ( @@ -4954,7 +5075,7 @@ /area/ruin/space/ancientstation/delta/hall) "AH" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/item/shard{ icon_state = "medium" }, @@ -4997,10 +5118,12 @@ "AX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/clothing/gloves/color/fyellow/old, +/obj/item/clothing/gloves/color/fyellow/old{ + pixel_y = 8 + }, /obj/item/clothing/head/utility/welding{ pixel_x = -3; - pixel_y = 5 + pixel_y = 13 }, /obj/item/stock_parts/power_store/cell/high, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -5084,6 +5207,7 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "Bz" = ( @@ -5126,6 +5250,7 @@ /area/ruin/space/ancientstation/delta/rnd) "BP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine/airless, /area/ruin/space/ancientstation/beta/supermatter) "BR" = ( @@ -5178,10 +5303,13 @@ /area/ruin/space/ancientstation/beta/hall) "Cr" = ( /obj/structure/table/glass, -/obj/item/storage/medkit/ancient, +/obj/item/storage/medkit/ancient{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/item/paper/fluff/ruins/oldstation/protosleep{ - default_raw_text = "*Prototype Sleeper*

We have deliverted the lastest in medical technology to the medical bay for your use." + default_raw_text = "*Prototype Sleeper*

We have deliverted the lastest in medical technology to the medical bay for your use."; + pixel_y = 8 }, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -5240,7 +5368,7 @@ /area/ruin/space/ancientstation/beta/atmos) "CK" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/cup/beaker/oldstation, +/obj/machinery/vatgrower, /turf/open/floor/engine, /area/ruin/space/ancientstation/delta/biolab) "CN" = ( @@ -5296,7 +5424,7 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/hall) "Df" = ( -/obj/structure/grille/broken, +/obj/item/stack/sheet/iron, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) "Dg" = ( @@ -5474,7 +5602,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/obj/structure/sign/departments/custodian/directional/west, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/hall) "EF" = ( @@ -5494,6 +5621,14 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/hall) +"EI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/ruin/space/ancientstation/delta/hall) "EP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -5512,7 +5647,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 8 }, -/obj/structure/sign/departments/medbay/directional/west, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/hall) "EX" = ( @@ -5536,7 +5670,6 @@ /obj/structure/sink/directional/west{ has_water_reclaimer = 0 }, -/obj/structure/mirror/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/charlie/hall) @@ -5589,9 +5722,8 @@ /turf/open/floor/iron/diagonal, /area/ruin/space/ancientstation/beta/gravity) "Ft" = ( -/obj/structure/window/reinforced/spawner/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vatgrower, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/engine, /area/ruin/space/ancientstation/delta/biolab) "Fv" = ( @@ -5726,7 +5858,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 6 }, -/obj/structure/sign/poster/official/no_erp/directional/west, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/charlie/hall) "Gi" = ( @@ -5737,13 +5868,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2{ dir = 4 }, -/obj/structure/sign/warning/no_smoking/circle/directional/east, /turf/open/floor/plating, /area/ruin/space/ancientstation/beta/atmos) "Go" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/decal/cleanable/dirt, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/engine, /area/ruin/space/ancientstation/delta/biolab) "Gr" = ( @@ -5753,6 +5883,12 @@ /area/ruin/space/ancientstation/delta/hall) "Gt" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 5 + }, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/engie) "Gv" = ( @@ -5778,6 +5914,10 @@ /area/ruin/space/ancientstation/delta/hall) "GJ" = ( /obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine/airless, /area/ruin/space/ancientstation/beta/supermatter) "GK" = ( @@ -5880,10 +6020,18 @@ id = "oldstation_rnd" }, /obj/structure/table, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/servo, -/obj/item/stock_parts/micro_laser, -/obj/item/stack/cable_coil, +/obj/item/stock_parts/capacitor{ + pixel_y = 8 + }, +/obj/item/stock_parts/servo{ + pixel_y = 8 + }, +/obj/item/stock_parts/micro_laser{ + pixel_y = 8 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) "HE" = ( @@ -5895,7 +6043,7 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/hall) "HG" = ( -/obj/structure/grille/broken, +/obj/item/stack/sheet/iron, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/hall) "HK" = ( @@ -5995,6 +6143,7 @@ /obj/machinery/light_switch/directional/west{ pixel_x = -24 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine/airless, /area/ruin/space/ancientstation/beta/supermatter) "Ip" = ( @@ -6208,10 +6357,12 @@ "JC" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/sacid{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/silicon{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, @@ -6290,6 +6441,8 @@ /area/ruin/space/ancientstation/delta/hall) "JR" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/ruin/space/ancientstation/delta/hall) "JT" = ( @@ -6314,7 +6467,7 @@ "JX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2{ dir = 4 @@ -6349,10 +6502,12 @@ "Kb" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/carbon{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/chlorine{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -6421,11 +6576,10 @@ /area/ruin/space/ancientstation/beta/hall) "Kx" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/obj/structure/sign/warning/test_chamber/directional/south, -/turf/open/floor/iron, -/area/ruin/space/ancientstation/delta/hall) +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/textured, +/area/ruin/space/ancientstation/delta/proto) "KA" = ( /obj/structure/closet/crate/bin, /obj/effect/spawner/random/trash/garbage, @@ -6442,7 +6596,7 @@ /turf/template_noop, /area/ruin/space/ancientstation/beta/hall) "KI" = ( -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, @@ -6494,7 +6648,6 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/engine_safety/directional/west, /obj/structure/broken_flooring/pile/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, @@ -6527,11 +6680,22 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine/o2, /area/ruin/space/ancientstation/beta/atmos) +"Li" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/catwalk_floor, +/area/ruin/space/ancientstation/charlie/engie) "Lm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/grille/broken, /obj/structure/cable, +/obj/item/stack/sheet/iron, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) "Ln" = ( @@ -6621,10 +6785,12 @@ "LM" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/sugar{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/sulfur{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -6642,12 +6808,18 @@ /area/ruin/space/ancientstation/delta/biolab) "LS" = ( /obj/structure/table, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stock_parts/matter_bin, +/obj/item/stack/sheet/glass{ + pixel_y = 8 + }, +/obj/item/stack/sheet/glass{ + pixel_y = 8 + }, +/obj/item/stock_parts/matter_bin{ + pixel_y = 8 + }, /obj/item/stock_parts/scanning_module{ pixel_x = 2; - pixel_y = 3 + pixel_y = 11 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -6722,12 +6894,17 @@ /area/ruin/space/ancientstation/beta/supermatter) "Mt" = ( /obj/structure/table, -/obj/item/crowbar, +/obj/item/crowbar{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/decoration/glowstick, -/obj/structure/mirror/directional/west, -/obj/item/clothing/neck/link_scryer/loaded/charlie, +/obj/effect/spawner/random/decoration/glowstick{ + pixel_y = 8 + }, +/obj/item/clothing/neck/link_scryer/loaded/charlie{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "Mu" = ( @@ -6757,12 +6934,6 @@ /obj/effect/mapping_helpers/apc/unlocked, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) -"MM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/sign/departments/science/alt/directional/east, -/turf/open/floor/iron, -/area/ruin/space/ancientstation/delta/hall) "MN" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/fluorine{ @@ -6833,7 +7004,10 @@ "Ni" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/safety_internals/directional/north, -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 4 + }, +/turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/hall) "Np" = ( /obj/effect/decal/cleanable/blood/xtracks{ @@ -6879,7 +7053,10 @@ /turf/open/floor/iron/airless, /area/ruin/space/ancientstation/beta/medbay) "NC" = ( -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 1 + }, +/turf/open/floor/iron/dark/airless, /area/ruin/space/ancientstation/beta/supermatter) "ND" = ( /obj/structure/window/reinforced/spawner/directional/west, @@ -7002,7 +7179,9 @@ /area/ruin/space/ancientstation/delta/biolab) "Oh" = ( /obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protosupermatter, +/obj/item/paper/fluff/ruins/oldstation/protosupermatter{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white/textured, /area/ruin/space/ancientstation/delta/proto) @@ -7037,7 +7216,9 @@ /turf/open/floor/plating, /area/ruin/space/ancientstation/delta/hall) "Os" = ( -/obj/structure/door_assembly/door_assembly_eng, +/obj/structure/door_assembly/door_assembly_eng{ + dir = 4 + }, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) "Ou" = ( @@ -7117,7 +7298,9 @@ /area/ruin/space/ancientstation/charlie/sec) "OX" = ( /obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/oldstation/protosuit, +/obj/item/paper/fluff/ruins/oldstation/protosuit{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white/textured, /area/ruin/space/ancientstation/delta/proto) @@ -7154,10 +7337,8 @@ /area/ruin/space/ancientstation/charlie/sec) "Po" = ( /obj/machinery/door/airlock/external/glass/ruin, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, +/obj/effect/mapping_helpers/airlock/access/all/away/general, +/turf/open/floor/iron/dark/airless, /area/ruin/space/ancientstation/delta/hall) "Pq" = ( /obj/machinery/door/airlock/science, @@ -7280,7 +7461,7 @@ /turf/closed/mineral/diamond, /area/space/nearstation) "Qc" = ( -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/effect/decal/cleanable/glass, /obj/structure/broken_flooring/side/directional/south, /turf/open/floor/plating/airless, @@ -7357,10 +7538,12 @@ "QO" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/aluminium{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/bromine{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -7395,6 +7578,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) +"Rd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ruin/space/ancientstation/charlie/engie) "Rf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -7498,6 +7693,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/effect/spawner/random/maintenance/two, +/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/ruin/space/ancientstation/beta/hall) "Sb" = ( @@ -7635,7 +7831,7 @@ /turf/open/floor/plating, /area/ruin/space/ancientstation/delta/biolab) "SV" = ( -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/effect/mapping_helpers/broken_floor, /obj/structure/broken_flooring/pile/directional/south, /obj/effect/decal/cleanable/dirt, @@ -7653,12 +7849,20 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 5 + }, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/engie) "Tg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, @@ -7685,7 +7889,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/greenglow, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/storage) "Tq" = ( @@ -7708,7 +7911,6 @@ "Ts" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/ruin/space/ancientstation/beta/hall) "Tt" = ( @@ -7799,10 +8001,12 @@ "TZ" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/copper{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/ethanol{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -7816,15 +8020,10 @@ /area/ruin/space/solars/ancientstation/charlie/solars) "Ui" = ( /obj/machinery/door/airlock/external/glass/ruin, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/hall) -"Uj" = ( -/obj/structure/girder, -/turf/closed/mineral/random, -/area/ruin/space/ancientstation/beta/hall) "Ul" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -7836,7 +8035,7 @@ /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) "Un" = ( -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/pile/directional/south, /turf/open/floor/plating, @@ -7854,13 +8053,17 @@ /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/medbay) "Uq" = ( -/obj/machinery/shower/directional/south{ - has_water_reclaimer = 0 - }, +/obj/machinery/shower/directional/south, /obj/item/soap/nanotrasen, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/charlie/hall) "Us" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, /turf/open/floor/catwalk_floor, /area/ruin/space/ancientstation/beta/mining) "Uu" = ( @@ -7891,6 +8094,10 @@ "UN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine/airless, /area/ruin/space/ancientstation/beta/supermatter) "UP" = ( @@ -7907,7 +8114,7 @@ /area/ruin/space/ancientstation/delta/biolab) "UU" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods, +/obj/item/stack/sheet/iron, /obj/machinery/light/small/broken/directional/east, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/hall) @@ -8016,24 +8223,28 @@ /area/ruin/space/ancientstation/beta/supermatter) "VU" = ( /obj/machinery/door/airlock/external/glass/ruin, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/catwalk_floor, +/obj/effect/mapping_helpers/airlock/access/all/away/general, +/turf/open/floor/iron/dark/airless, /area/ruin/space/ancientstation/beta/mining) "VV" = ( /turf/open/floor/plating, /area/ruin/space/ancientstation/delta/hall) "VW" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/item/reagent_containers/cup/beaker/oldstation, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/engine, /area/ruin/space/ancientstation/delta/biolab) "Wa" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, /obj/structure/cable, /obj/machinery/door/airlock/external/glass/ruin, -/turf/open/floor/catwalk_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/iron/dark, /area/ruin/space/ancientstation/charlie/engie) "Wd" = ( /obj/effect/decal/cleanable/blood/xtracks{ @@ -8173,12 +8384,10 @@ /turf/open/floor/plating, /area/ruin/space/ancientstation/beta/medbay) "Xn" = ( -/obj/machinery/light_switch/directional/north, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/light/directional/north, /obj/machinery/power/apc/auto_name/directional/north, /obj/effect/mapping_helpers/apc/no_charge, /obj/structure/cable, @@ -8239,6 +8448,12 @@ "XJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ + dir = 5 + }, /turf/open/floor/plating, /area/ruin/space/ancientstation/charlie/engie) "XK" = ( @@ -8264,11 +8479,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/hall) -"XN" = ( -/obj/structure/sign/poster/contraband/space_cola, -/obj/structure/sign/poster/contraband/space_cola, -/turf/closed/wall, -/area/ruin/space/ancientstation/charlie/sec) "XO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8297,6 +8507,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron/diagonal, /area/ruin/space/ancientstation/beta/gravity) "XX" = ( @@ -8317,10 +8528,7 @@ /area/ruin/space/ancientstation/charlie/hall) "Ya" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/processor{ - pixel_y = 8 - }, +/obj/machinery/processor, /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "Yf" = ( @@ -8353,7 +8561,7 @@ /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "Yl" = ( -/obj/machinery/door/window/right/directional/east{ +/obj/machinery/door/window/half/right/directional/east{ req_access = list("away_general") }, /obj/effect/decal/cleanable/dirt, @@ -8409,7 +8617,10 @@ "Yx" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/broken_bottle, +/obj/item/broken_bottle{ + pixel_y = 10; + pixel_x = -7 + }, /obj/item/soap/nanotrasen, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -8518,7 +8729,9 @@ "Zb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/computer/old, -/obj/item/paper/fluff/ruins/oldstation/damagereport, +/obj/item/paper/fluff/ruins/oldstation/damagereport{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) @@ -8539,10 +8752,6 @@ }, /turf/open/floor/plating, /area/ruin/space/ancientstation/beta/atmos) -"Zj" = ( -/obj/structure/sign/poster/contraband/lamarr, -/turf/closed/wall, -/area/ruin/space/ancientstation/delta/biolab) "Zl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -8593,6 +8802,14 @@ }, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/hall) +"ZN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/engine/airless, +/area/ruin/space/ancientstation/beta/supermatter) "ZP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -8627,8 +8844,8 @@ /obj/item/wallframe/camera, /obj/item/wallframe/camera, /obj/item/wallframe/camera, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/south, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) "ZZ" = ( @@ -9983,7 +10200,7 @@ aa UP UP UP -Uj +Td gV Zq AK @@ -10059,7 +10276,7 @@ oB oF KA lW -YH +yq Jg UP UP @@ -10593,9 +10810,9 @@ iv Qi ZD Hj -Hj +ZN qx -NC +rY NC mP Jg @@ -11164,11 +11381,11 @@ aa aa aa VU -Us +rL Us dj mB -mG +cm cm gh mM @@ -11177,10 +11394,10 @@ mZ RR aa aa -aa -aa -aa -aa +JB +JB +JB +my dH dH my @@ -11250,7 +11467,7 @@ aa my aa aa -my +aa aa Jg aa @@ -11301,7 +11518,7 @@ aa Hf mD TM -mO +ga mU WI uR @@ -11316,7 +11533,7 @@ aa my aa aa -JB +aa aa Jg aa @@ -11377,12 +11594,12 @@ aa aa aa aa -aa +eI Ma qQ -Ma +eI +aa aa -JB aa Jg aa @@ -11443,12 +11660,12 @@ aa aa aa aa -aa Ma +iY wR Ma aa -JB +aa aa Jg aa @@ -11509,9 +11726,9 @@ aa aa aa aa -aa Ma -wR +vs +Li Ma aa aa @@ -11575,7 +11792,7 @@ aa Ma Ma eI -Ma +dl eI Wa eI @@ -11771,11 +11988,11 @@ mS kQ oy em -em +kJ em fe fE -fE +Rd fE fe em @@ -11837,7 +12054,7 @@ mY kQ AX em -ju +hJ eM pn fF @@ -11975,7 +12192,7 @@ eI fG Vz yu -gX +eI eI eI dl @@ -12025,7 +12242,7 @@ aa aa aT aT -bb +aT aA Mu Gd @@ -12154,7 +12371,7 @@ aa aa aa aa -NW +as as as as @@ -12162,7 +12379,7 @@ as as as hi -FV +aS jJ bZ ey @@ -12185,7 +12402,7 @@ aG nk nk nk -kM +aG nk nk nk @@ -12219,8 +12436,8 @@ aa aa aa aa -NW -NW +as +as hZ YF aV @@ -12285,7 +12502,7 @@ aa aa aa aa -aS +as wl bg aQ @@ -12293,7 +12510,7 @@ aI ba bk Tg -by +ak bS jJ Mr @@ -12681,7 +12898,7 @@ aa aa aa aa -aS +as AA ax aW @@ -12689,7 +12906,7 @@ aI aQ bm qr -aS +as bS fQ Mr @@ -12747,8 +12964,8 @@ aa aa aa aa -NW -NW +as +as nO hV aX @@ -12814,7 +13031,7 @@ aa aa aa aa -NW +as as as as @@ -12822,7 +13039,7 @@ ak ak ak aT -FV +aS OT WW cQ @@ -13020,14 +13237,14 @@ aT aT aT aT -bX +hi nd -bX +hi eJ eJ eJ dv -fp +dv fK TL PC @@ -13036,9 +13253,9 @@ eJ eJ eJ eJ -hM +aT ib -bX +hi aT hi hi @@ -13288,7 +13505,7 @@ Al FM aa eJ -fd +eJ ew Dm IM @@ -13298,7 +13515,7 @@ uY RP OV il -XN +eJ eJ aa HQ @@ -13944,9 +14161,9 @@ nr aa aa bE -ct +bE wi -cb +Gz bE bE XD @@ -13960,9 +14177,9 @@ Gz NJ bE bE -cb +Gz EF -cb +Gz bE aa aa @@ -14019,8 +14236,8 @@ MS EE cD Dg +EI cD -yq cD TA oU @@ -14269,7 +14486,7 @@ NS dT nG cz -cz +gX ad ad aa @@ -14424,9 +14641,9 @@ iF DJ wx ST -Kx +cD uj -kh +Kx UJ tf UJ @@ -15010,7 +15227,7 @@ nP WR sL Sz -MM +mi cD Si Se @@ -15074,7 +15291,7 @@ NG NG GX GX -yr +GX zj rp rp @@ -15201,7 +15418,7 @@ bE Vb rQ Fi -Zj +NG wK UH ae @@ -15274,7 +15491,7 @@ uo GX NG Lo -md +rp xM Go Yl diff --git a/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm b/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm index 58bad24369050..5ecaf9e9e4f4b 100644 --- a/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm +++ b/_maps/RandomRuins/SpaceRuins/russian_derelict.dmm @@ -118,7 +118,7 @@ /turf/template_noop, /area/space/nearstation) "aW" = ( -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/structure/chair{ dir = 1 }, @@ -286,7 +286,9 @@ /area/ruin/space/ks13/engineering/singulo) "dn" = ( /obj/structure/table, -/obj/item/paper/crumpled, +/obj/item/paper/crumpled{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/ruin/space/ks13/command/bridge) "dt" = ( @@ -317,7 +319,7 @@ /turf/open/floor/plating/airless, /area/ruin/space/ks13/command/bridge) "dy" = ( -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/structure/chair{ dir = 1 }, @@ -562,7 +564,9 @@ /area/ruin/space/ks13/security/court) "gO" = ( /obj/structure/table, -/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance{ + pixel_y = 8 + }, /turf/open/floor/plating, /area/ruin/space/ks13/command/bridge) "gQ" = ( @@ -703,7 +707,7 @@ /turf/open/floor/plating, /area/ruin/space/ks13/security/court) "iV" = ( -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/plating, /area/ruin/space/ks13/security/court) "jc" = ( @@ -1007,8 +1011,12 @@ /obj/effect/mapping_helpers/apc/no_charge, /obj/structure/cable, /obj/structure/table_frame, -/obj/item/bot_assembly/medbot, -/obj/item/healthanalyzer, +/obj/item/bot_assembly/medbot{ + pixel_y = 8 + }, +/obj/item/healthanalyzer{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/airless, /area/ruin/space/ks13/medical/medbay) @@ -1039,7 +1047,7 @@ /obj/structure/chair{ dir = 1 }, -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ks13/security/court) @@ -1747,7 +1755,6 @@ "sa" = ( /obj/structure/table/wood, /obj/item/clothing/head/hats/caphat{ - armor = null; desc = "A worn captains hat. This probably won't protect your noggin too well."; pixel_x = 7; pixel_y = 9 @@ -2096,10 +2103,6 @@ /obj/effect/spawner/structure/window/hollow/middle, /turf/open/floor/plating/airless, /area/ruin/space/ks13/hallway/central) -"tV" = ( -/obj/structure/sign/warning/explosives/alt/directional/south, -/turf/open/floor/iron, -/area/ruin/space/ks13/science/ordnance) "tX" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Access" @@ -2424,7 +2427,9 @@ "vV" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/pai_card, +/obj/item/pai_card{ + pixel_y = 8 + }, /turf/open/floor/iron/airless, /area/ruin/space/ks13/science/rnd) "vY" = ( @@ -2455,7 +2460,6 @@ /area/ruin/space/ks13/command/bridge_hall) "wh" = ( /obj/machinery/light/small/directional/east, -/obj/structure/sign/departments/science/alt/directional/east, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/airless, /area/ruin/space/ks13/hallway/central) @@ -2698,7 +2702,6 @@ /area/ruin/space/ks13/command/bridge_hall) "xq" = ( /obj/item/stack/cable_coil/cut, -/obj/structure/sign/departments/exam_room/directional/west, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron/white/airless, /area/ruin/space/ks13/medical/medbay) @@ -2886,7 +2889,6 @@ /turf/open/floor/plating/airless, /area/ruin/space/ks13/medical/medbay) "yp" = ( -/obj/structure/sign/warning/radiation/directional/west, /obj/effect/mapping_helpers/burnt_floor, /obj/structure/cable, /turf/open/floor/plating/airless, @@ -3114,10 +3116,12 @@ "zu" = ( /obj/structure/table, /obj/item/tank/internals/oxygen/empty{ - pixel_y = 6; + pixel_y = 11; pixel_x = -6 }, -/obj/item/tank/internals/oxygen/empty, +/obj/item/tank/internals/oxygen/empty{ + pixel_y = 3 + }, /turf/open/floor/iron/airless, /area/ruin/space/ks13/engineering/atmos) "zv" = ( @@ -3349,8 +3353,12 @@ /area/ruin/space/ks13/security/sec) "AF" = ( /obj/structure/table, -/obj/item/paper/crumpled, -/obj/item/pen, +/obj/item/paper/crumpled{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ks13/science/ordnance) @@ -4129,7 +4137,9 @@ /turf/open/floor/iron, /area/ruin/space/ks13/science/ordnance) "EU" = ( -/obj/structure/door_assembly/door_assembly_sec, +/obj/structure/door_assembly/door_assembly_sec{ + dir = 4 + }, /turf/open/floor/iron/airless, /area/ruin/space/ks13/security/sec) "EV" = ( @@ -4365,7 +4375,6 @@ /obj/item/shard{ icon_state = "small" }, -/obj/structure/sign/warning/radiation/directional/north, /obj/effect/mapping_helpers/broken_floor, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, @@ -4399,7 +4408,10 @@ pixel_x = -6; pixel_y = 12 }, -/obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty, +/obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{ + pixel_y = 5; + pixel_x = 3 + }, /turf/open/floor/iron, /area/ruin/space/ks13/command/bridge) "Gr" = ( @@ -4613,7 +4625,9 @@ /area/ruin/space/ks13/medical/medbay) "Hr" = ( /obj/structure/table, -/obj/effect/spawner/random/maintenance/three, +/obj/effect/spawner/random/maintenance/three{ + pixel_y = 8 + }, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron, /area/ruin/space/ks13/science/ordnance) @@ -4635,7 +4649,7 @@ "Hu" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - pixel_y = 4 + pixel_y = 9 }, /turf/open/floor/plating/airless, /area/space/nearstation) @@ -4900,7 +4914,9 @@ /area/ruin/space/ks13/service/chapel) "Ji" = ( /obj/structure/table_frame, -/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed{ + pixel_y = 12 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/airless, /area/ruin/space/ks13/medical/medbay) @@ -4913,9 +4929,12 @@ "Jl" = ( /obj/structure/table, /obj/item/wallframe/firealarm{ - pixel_y = 7 + pixel_y = 17 + }, +/obj/item/wallframe/firealarm{ + pixel_y = 9; + pixel_x = 6 }, -/obj/item/wallframe/firealarm, /turf/open/floor/iron/airless, /area/ruin/space/ks13/engineering/atmos) "Jp" = ( @@ -5167,11 +5186,6 @@ /obj/item/stack/rods, /turf/open/floor/plating/airless, /area/ruin/space/ks13/ai/corridor) -"KE" = ( -/obj/structure/sign/departments/science/alt/directional/east, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/airless, -/area/ruin/space/ks13/hallway/central) "KG" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -5562,7 +5576,7 @@ "MP" = ( /obj/structure/table, /obj/item/clothing/mask/gas{ - pixel_y = 4 + pixel_y = 12 }, /obj/item/clothing/mask/gas, /obj/effect/mapping_helpers/broken_floor, @@ -5678,8 +5692,12 @@ /area/ruin/space/ks13/service/bar) "Nv" = ( /obj/structure/table, -/obj/item/gavelblock, -/obj/item/gavelhammer, +/obj/item/gavelblock{ + pixel_y = 8 + }, +/obj/item/gavelhammer{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/ks13/security/court) @@ -5791,10 +5809,12 @@ "Oe" = ( /obj/structure/table, /obj/item/reagent_containers/cup/beaker{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 7 }, /obj/item/reagent_containers/cup/beaker/large{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 14 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc/auto_name/directional/north, @@ -5946,20 +5966,20 @@ /obj/structure/cable, /obj/structure/table, /obj/item/stack/medical/bruise_pack{ - pixel_y = 7; + pixel_y = 19; pixel_x = -3 }, /obj/item/stack/medical/bruise_pack{ - pixel_y = 2; + pixel_y = 10; pixel_x = -3 }, /obj/item/stack/medical/ointment{ pixel_x = 8; - pixel_y = 4 + pixel_y = 19 }, /obj/item/stack/medical/ointment{ pixel_x = 8; - pixel_y = -3 + pixel_y = 5 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/airless, @@ -6182,9 +6202,7 @@ /turf/open/floor/iron/airless, /area/ruin/space/ks13/dorms) "Qa" = ( -/obj/machinery/door/window/right/directional/south{ - name = "Medbay" - }, +/obj/machinery/door/window/half/right/directional/south, /turf/open/floor/plating, /area/ruin/space/ks13/security/court) "Qc" = ( @@ -6561,7 +6579,9 @@ "Si" = ( /obj/machinery/light/small/directional/north, /obj/structure/table, -/obj/effect/spawner/random/maintenance/three, +/obj/effect/spawner/random/maintenance/three{ + pixel_y = 12 + }, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron, /area/ruin/space/ks13/science/ordnance) @@ -6693,9 +6713,11 @@ /obj/structure/table, /obj/effect/spawner/random/engineering/tool{ pixel_x = 6; - pixel_y = 4 + pixel_y = 11 + }, +/obj/effect/spawner/random/engineering/tool{ + pixel_y = 8 }, -/obj/effect/spawner/random/engineering/tool, /turf/open/floor/iron, /area/ruin/space/ks13/science/ordnance) "SG" = ( @@ -6868,11 +6890,13 @@ "Tl" = ( /obj/structure/table, /obj/item/wallframe/airalarm{ - pixel_y = 5 + pixel_y = 14 }, -/obj/item/wallframe/airalarm, /obj/item/wallframe/airalarm{ - pixel_y = -5 + pixel_y = 8 + }, +/obj/item/wallframe/airalarm{ + pixel_y = 3 }, /turf/open/floor/plating/airless, /area/ruin/space/ks13/engineering/atmos) @@ -7435,8 +7459,9 @@ /turf/open/floor/iron, /area/ruin/space/ks13/command/bridge) "Wt" = ( +/obj/structure/table_frame, /obj/machinery/light/small/directional/north, -/turf/open/floor/iron/airless, +/turf/open/floor/plating/airless, /area/ruin/space/ks13/service/kitchen) "Wu" = ( /obj/effect/mapping_helpers/burnt_floor, @@ -7597,7 +7622,7 @@ /turf/open/floor/iron/airless, /area/ruin/space/ks13/science/rnd) "Xf" = ( -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ruin/space/ks13/security/court) @@ -7851,9 +7876,7 @@ /turf/open/floor/circuit/red/off, /area/ruin/space/ks13/ai/corridor) "YE" = ( -/obj/structure/plaque/static_plaque/golden/commission/ks13, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, +/obj/structure/plaque/static_plaque/golden/commission/ks13/directional/north, /turf/open/floor/iron/airless, /area/ruin/space/ks13/hallway/central) "YF" = ( @@ -8064,11 +8087,11 @@ /obj/structure/table/glass, /obj/item/reagent_containers/cup/beaker{ pixel_x = 9; - pixel_y = 7 + pixel_y = 17 }, /obj/item/reagent_containers/cup/beaker/large{ pixel_x = -4; - pixel_y = 4 + pixel_y = 15 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/airless, @@ -10274,7 +10297,7 @@ MW Hm Vr Jr -Sp +Wt ZO rh Kh @@ -10387,7 +10410,7 @@ Jr Ut Ww MW -Wt +Vk Sp pK WC @@ -12188,9 +12211,9 @@ RD Fw LA Xr -DM YE yR +yR Qz tY tY @@ -13883,7 +13906,7 @@ Ew Ew wh pT -KE +Hk DM WL xG @@ -16597,7 +16620,7 @@ Sx wo sx Yi -tV +or Sw CN TD diff --git a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm index 71074aa4451fd..cc65e97343b5a 100644 --- a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm +++ b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm @@ -32,6 +32,8 @@ /area/ruin/space/has_grav/powered) "i" = ( /obj/structure/closet{ + base_pixel_x = 0; + base_pixel_y = 0; icon_state = "oldcloset"; name = "strange closet"; enable_door_overlay = 0 diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index eec1e5a9671a7..abb7af131e42f 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -578,18 +578,6 @@ /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/grimy, /area/ruin/space/has_grav/hotel/bar) -"gv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - icon_state = "roomnum"; - name = "Room Number 1"; - pixel_y = -24 - }, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/hotel) "gB" = ( /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/carpet/black, @@ -633,17 +621,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/ruin/space/has_grav/hotel) -"hg" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 10; - icon_state = "roomnum"; - name = "Room Number 6"; - pixel_y = 24 - }, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/hotel) "hh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -841,18 +818,6 @@ }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/bar) -"iy" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/enzyme, -/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/cafeteria, -/area/ruin/space/has_grav/hotel/bar) "iA" = ( /obj/effect/turf_decal/siding/yellow{ dir = 4 @@ -1298,6 +1263,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/ruin/space/has_grav/hotel) +"mu" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/enzyme, +/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/cafeteria, +/area/ruin/space/has_grav/hotel/bar) "mD" = ( /obj/structure/table/wood/fancy/cyan, /obj/item/flashlight/lamp, @@ -1710,6 +1687,17 @@ "qU" = ( /turf/open/floor/wood/parquet, /area/ruin/space/has_grav/hotel/guestroom/room_4) +"qV" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 8; + icon_state = "direction_roomnum"; + name = "Room Number 4"; + pixel_y = 24 + }, +/turf/open/floor/wood/tile, +/area/ruin/space/has_grav/hotel) "qY" = ( /obj/structure/closet/secure_closet/freezer/fridge/open, /obj/item/food/grown/potato, @@ -1915,6 +1903,19 @@ /obj/structure/chair/comfy, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/hotel) +"tp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 4; + icon_state = "direction_roomnum"; + name = "Room Number 3"; + pixel_y = -24 + }, +/turf/open/floor/wood/tile, +/area/ruin/space/has_grav/hotel) "tq" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -1928,14 +1929,16 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/carpet/blue, /area/ruin/space/has_grav/hotel) -"tW" = ( -/obj/effect/turf_decal/siding/wood, +"tI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /obj/structure/sign/warning/fire{ desc = "A sign that states the labeled room's number."; - dir = 8; - icon_state = "roomnum"; - name = "Room Number 4"; - pixel_y = 24 + dir = 6; + icon_state = "direction_roomnum"; + name = "Room Number 5"; + pixel_y = -24 }, /turf/open/floor/wood/tile, /area/ruin/space/has_grav/hotel) @@ -1970,6 +1973,17 @@ /obj/structure/sign/warning/vacuum, /turf/closed/wall, /area/ruin/space/has_grav/hotel) +"uC" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 10; + icon_state = "direction_roomnum"; + name = "Room Number 6"; + pixel_y = 24 + }, +/turf/open/floor/wood/tile, +/area/ruin/space/has_grav/hotel) "uG" = ( /obj/structure/chair/comfy{ dir = 8 @@ -3805,6 +3819,18 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/carpet/lone, /area/ruin/space/has_grav/hotel/guestroom/room_1) +"RW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + icon_state = "direction_roomnum"; + name = "Room Number 1"; + pixel_y = -24 + }, +/turf/open/floor/wood/tile, +/area/ruin/space/has_grav/hotel) "RX" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -3834,6 +3860,17 @@ }, /turf/open/floor/iron/dark/side, /area/ruin/space/has_grav/hotel/dock) +"Sm" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/warning/fire{ + desc = "A sign that states the labeled room's number."; + dir = 1; + icon_state = "direction_roomnum"; + name = "Room Number 2"; + pixel_y = 24 + }, +/turf/open/floor/wood/tile, +/area/ruin/space/has_grav/hotel) "Sp" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -3890,19 +3927,6 @@ }, /turf/open/floor/iron/cafeteria, /area/ruin/space/has_grav/hotel/bar) -"Tq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 6; - icon_state = "roomnum"; - name = "Room Number 5"; - pixel_y = -24 - }, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/hotel) "Ts" = ( /turf/open/floor/carpet/purple, /area/ruin/space/has_grav/hotel/guestroom/room_5) @@ -3917,19 +3941,6 @@ }, /turf/template_noop, /area/ruin/space/has_grav/hotel) -"TG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 4; - icon_state = "roomnum"; - name = "Room Number 3"; - pixel_y = -24 - }, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/hotel) "TH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4367,17 +4378,6 @@ }, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/bar) -"Yf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/warning/fire{ - desc = "A sign that states the labeled room's number."; - dir = 1; - icon_state = "roomnum"; - name = "Room Number 2"; - pixel_y = 24 - }, -/turf/open/floor/wood/tile, -/area/ruin/space/has_grav/hotel) "Yh" = ( /obj/structure/table/wood/fancy/green, /turf/open/floor/carpet/purple, @@ -5558,11 +5558,11 @@ Ka Xg XS xI -hg +uC Lj PF wr -Tq +tI LD bu lZ @@ -5798,7 +5798,7 @@ Ki nE Ew if -iy +mu Ew iU qY @@ -6580,11 +6580,11 @@ On eR Gg Hm -tW +qV cf PF cf -TG +tp vy vx Xx @@ -7383,11 +7383,11 @@ Ml OS MY Ff -Yf +Sm cf PF cf -gv +RW BK Xw Bb diff --git a/_maps/RandomRuins/SpaceRuins/waystation.dmm b/_maps/RandomRuins/SpaceRuins/waystation.dmm index 38f8fcbac8cdd..312eb4d9bca59 100644 --- a/_maps/RandomRuins/SpaceRuins/waystation.dmm +++ b/_maps/RandomRuins/SpaceRuins/waystation.dmm @@ -1264,7 +1264,7 @@ }, /obj/structure/table/reinforced, /obj/machinery/button/door/directional/north{ - desc = "A door remote control switch. From the looks of it, It seems to be broken after being pressed too hard, it's bloody handprint still visible."; + desc = "A door remote control switch. From the looks of it, It seems to be broken after being pressed too hard, its bloody handprint still visible."; name = "Vault Lockdown" }, /obj/item/modular_computer/laptop/preset/civilian, diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 3b5c32345c0e3..bfbc5a18c56a1 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -598,7 +598,7 @@ /turf/open/floor/iron/freezer, /area/awaymission/cabin) "cH" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowcabin, /obj/structure/cable, /turf/open/floor/wood, /area/awaymission/cabin) @@ -660,7 +660,7 @@ /turf/open/floor/iron/white, /area/awaymission/cabin) "cQ" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowcabin, /obj/structure/cable, /turf/open/floor/carpet, /area/awaymission/cabin) @@ -2904,7 +2904,7 @@ /area/awaymission/cabin/snowforest) "rk" = ( /obj/machinery/light/directional/south, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowcabin, /obj/structure/sign/poster/official/report_crimes/directional/south, /obj/structure/cable, /turf/open/floor/carpet, diff --git a/_maps/RandomZLevels/TheBeach.dmm b/_maps/RandomZLevels/TheBeach.dmm index c7a097a02ad17..602e11e3f337a 100644 --- a/_maps/RandomZLevels/TheBeach.dmm +++ b/_maps/RandomZLevels/TheBeach.dmm @@ -279,10 +279,10 @@ /turf/open/floor/wood, /area/awaymission/beach) "dx" = ( -/obj/structure/sign/directions/dorms/directional/north{ +/obj/structure/sign/directions/dorms/north_arrow{ pixel_y = 35 }, -/obj/structure/sign/directions/medical/directional/north{ +/obj/structure/sign/directions/medical/north_arrow{ pixel_y = 29 }, /obj/machinery/computer/slot_machine, @@ -505,6 +505,10 @@ }, /turf/closed/wall/mineral/wood, /area/awaymission/beach) +"gq" = ( +/obj/item/broken_bottle, +/turf/open/misc/beach/sand, +/area/awaymission/beach) "gw" = ( /obj/item/stack/sheet/mineral/sandstone{ pixel_x = -8 @@ -1191,6 +1195,10 @@ }, /turf/open/misc/beach/sand, /area/awaymission/beach) +"pq" = ( +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/misc/beach/sand, +/area/awaymission/beach) "pr" = ( /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ pixel_x = -17; @@ -1688,7 +1696,7 @@ "vq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/beach, /turf/open/floor/plating, /area/awaymission/beach) "vx" = ( @@ -2856,6 +2864,17 @@ /obj/machinery/light/directional/west, /turf/open/floor/wood/large, /area/awaymission/beach) +"Jv" = ( +/obj/item/paper/fluff/old_pirate_note{ + pixel_x = -5; + pixel_y = -7 + }, +/obj/item/pen/fountain{ + pixel_y = -11; + pixel_x = -8 + }, +/turf/open/misc/beach/sand, +/area/awaymission/beach) "JF" = ( /obj/structure/marker_beacon/burgundy, /turf/open/water/beach, @@ -3330,6 +3349,12 @@ }, /turf/open/misc/beach/sand, /area/awaymission/beach) +"Pb" = ( +/obj/item/fishing_rod, +/obj/structure/closet/crate/trashcart, +/obj/item/reagent_containers/cup/glass/bottle/rum/aged, +/turf/open/misc/beach/sand, +/area/awaymission/beach) "Pe" = ( /turf/open/misc/beach/coast{ dir = 5 @@ -3378,6 +3403,11 @@ }, /turf/open/misc/beach/sand, /area/awaymission/beach) +"PU" = ( +/obj/effect/mob_spawn/corpse/human/old_pirate_captain, +/obj/structure/bed/maint, +/turf/open/misc/beach/sand, +/area/awaymission/beach) "Qe" = ( /obj/effect/turf_decal/sand, /obj/machinery/door/airlock/wood{ @@ -3586,7 +3616,7 @@ /area/awaymission/beach) "SB" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/beach, /turf/open/floor/plating, /area/awaymission/beach) "SI" = ( @@ -7415,8 +7445,8 @@ XB XB Vf YV -VY -VY +Pb +gq hL ni XB @@ -7672,8 +7702,8 @@ XB XB Vf VY -VY -VY +pq +PU Er BK XB @@ -7929,7 +7959,7 @@ XB XB Vf VY -VY +Jv VY VY BK @@ -8187,7 +8217,7 @@ XB Vf IZ VY -VY +pq VY BK XB diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index c64aa99d1aab6..a21d64d505b63 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -480,7 +480,7 @@ /turf/open/floor/plating, /area/awaymission/caves/research) "cR" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/floor/plating, /area/awaymission/caves/research) "cS" = ( @@ -610,7 +610,7 @@ "dw" = ( /obj/structure/bed, /obj/item/bedsheet, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/floor/iron, /area/awaymission/caves/bmp_asteroid/level_two) "dx" = ( @@ -653,7 +653,7 @@ "dH" = ( /obj/structure/bed, /obj/item/bedsheet, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/floor/wood, /area/awaymission/caves/northblock) "dI" = ( @@ -705,7 +705,7 @@ /obj/structure/bed, /obj/item/bedsheet, /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/floor/wood, /area/awaymission/caves/northblock) "ea" = ( @@ -714,7 +714,7 @@ /area/awaymission/caves/northblock) "ed" = ( /obj/structure/bed, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/floor/wood, /area/awaymission/caves/northblock) "ee" = ( @@ -849,7 +849,7 @@ /turf/open/floor/iron, /area/awaymission/caves/listeningpost) "eO" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/floor/iron, /area/awaymission/caves/listeningpost) "eP" = ( @@ -1584,7 +1584,7 @@ }, /area/awaymission/caves/bmp_asteroid/level_two) "Bs" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index 3a4e4c8affed6..a8f52784b343a 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -1903,14 +1903,14 @@ /turf/open/floor/mineral/titanium/yellow, /area/awaymission/moonoutpost19/arrivals) "ms" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/moonoutpost, /turf/open/floor/mineral/titanium/blue, /area/awaymission/moonoutpost19/arrivals) "mt" = ( /obj/structure/chair{ dir = 8 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/moonoutpost, /turf/open/floor/mineral/titanium/blue, /area/awaymission/moonoutpost19/arrivals) "mu" = ( @@ -1955,7 +1955,7 @@ /turf/open/floor/mineral/titanium/yellow, /area/awaymission/moonoutpost19/arrivals) "mI" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/moonoutpost, /turf/open/floor/mineral/titanium/yellow, /area/awaymission/moonoutpost19/arrivals) "mJ" = ( @@ -1965,7 +1965,7 @@ icon_state = "beacon"; name = "tracking beacon" }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/moonoutpost, /turf/open/floor/mineral/titanium/yellow, /area/awaymission/moonoutpost19/arrivals) "mK" = ( diff --git a/_maps/RandomZLevels/museum.dmm b/_maps/RandomZLevels/museum.dmm index 2937250b1f9ba..afd0cd888fdcd 100644 --- a/_maps/RandomZLevels/museum.dmm +++ b/_maps/RandomZLevels/museum.dmm @@ -1426,7 +1426,7 @@ /turf/open/indestructible/plating, /area/awaymission/museum) "lz" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/museum, /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, /area/awaymission/museum) @@ -3095,7 +3095,7 @@ /turf/open/floor/iron/smooth_large, /area/awaymission/museum) "zd" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/museum, /turf/open/floor/grass, /area/awaymission/museum) "zg" = ( @@ -4503,7 +4503,7 @@ }, /area/awaymission/museum) "KN" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/museum, /obj/effect/turf_decal/siding/wood{ dir = 1 }, diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index 1e84014fa0e1b..ae1814b7d7096 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -389,7 +389,7 @@ /turf/open/floor/iron/dark, /area/awaymission/research/interior/gateway) "bR" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /turf/open/floor/iron/dark, /area/awaymission/research/interior/gateway) "bS" = ( @@ -438,7 +438,7 @@ /turf/open/floor/iron/dark, /area/awaymission/research/interior/gateway) "bZ" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /obj/effect/turf_decal/stripes/line, /obj/structure/cable, /turf/open/floor/iron/dark, @@ -481,12 +481,12 @@ /area/awaymission/research/interior/gateway) "cj" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /turf/open/floor/iron/dark, /area/awaymission/research/interior/gateway) "ck" = ( /obj/machinery/door/window/right/directional/south, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /obj/structure/cable, /turf/open/floor/iron/dark, /area/awaymission/research/interior/gateway) @@ -1761,7 +1761,7 @@ /obj/structure/toilet{ dir = 8 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/awaymission/research/interior/bathroom) @@ -2007,7 +2007,7 @@ "jU" = ( /obj/structure/bed, /obj/item/bedsheet/blue, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /turf/open/floor/wood, /area/awaymission/research/interior/dorm) "jV" = ( @@ -2505,7 +2505,7 @@ "lT" = ( /obj/structure/bed, /obj/item/bedsheet/patriot, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /turf/open/floor/wood, /area/awaymission/research/interior/dorm) "lX" = ( @@ -2976,7 +2976,7 @@ /area/awaymission/research/interior) "sM" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/research, /obj/structure/cable, /turf/open/floor/iron/dark, /area/awaymission/research/interior/gateway) diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index d66be7f5614ff..5f0c85ff0b4bc 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -181,7 +181,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/item/bedsheet/purple, /turf/open/floor/wood, /area/awaymission/snowdin/post/dorm) @@ -213,7 +213,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /turf/open/floor/wood, /area/awaymission/snowdin/post/dorm) "aY" = ( @@ -239,7 +239,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/item/paper/crumpled/ruins/snowdin/dontdeadopeninside, /obj/item/bedsheet/green, /turf/open/floor/wood, @@ -414,7 +414,7 @@ /turf/open/floor/iron/freezer, /area/awaymission/snowdin/post/kitchen) "bM" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/freezer, /area/awaymission/snowdin/post/kitchen) @@ -1092,7 +1092,7 @@ "eh" = ( /obj/structure/bed, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/item/bedsheet/red, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -1909,11 +1909,6 @@ }, /turf/open/floor/iron/cafeteria, /area/awaymission/snowdin/post/messhall) -"ht" = ( -/obj/structure/table, -/obj/item/trash/waffles, -/turf/open/floor/iron/cafeteria, -/area/awaymission/snowdin/post/messhall) "hu" = ( /obj/structure/chair{ dir = 8 @@ -2073,12 +2068,12 @@ /area/awaymission/snowdin/post/gateway) "hR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/awaymission/snowdin/post/gateway) "hS" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/turf_decal/loading_area, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -2086,7 +2081,7 @@ /area/awaymission/snowdin/post/gateway) "hT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/awaymission/snowdin/post/gateway) @@ -2302,7 +2297,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 5 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /turf/open/floor/iron, /area/awaymission/snowdin/post/gateway) "iB" = ( @@ -2310,7 +2305,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 10 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -2318,7 +2313,7 @@ /area/awaymission/snowdin/post/gateway) "iC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /turf/open/floor/iron, /area/awaymission/snowdin/post/gateway) "iD" = ( @@ -2579,14 +2574,14 @@ /turf/open/floor/iron/white, /area/awaymission/snowdin/post/minipost) "ju" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/awaymission/snowdin/post/gateway) "jv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -2650,7 +2645,7 @@ /obj/structure/chair{ dir = 4 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/iron, @@ -3523,7 +3518,7 @@ /obj/structure/chair{ dir = 8 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/awaymission/snowdin/post/garage) @@ -7044,7 +7039,7 @@ }, /area/awaymission/snowdin/cave) "Be" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 }, @@ -7500,7 +7495,7 @@ /obj/structure/bed{ dir = 4 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/snowdin, /obj/item/bedsheet/nanotrasen{ dir = 4 }, @@ -25007,7 +25002,7 @@ Kd ex fJ gA -ht +hq hW iH jz diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index 7d8b1cd028d46..16cc8924aae9b 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -101,14 +101,14 @@ /turf/open/floor/iron/dark, /area/awaymission/undergroundoutpost45/central) "ax" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/underground, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/central) "ay" = ( /obj/structure/chair/comfy/beige{ dir = 4 }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/underground, /turf/open/floor/iron/grimy, /area/awaymission/undergroundoutpost45/central) "az" = ( @@ -118,7 +118,7 @@ icon_state = "beacon"; name = "tracking beacon" }, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/underground, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, @@ -126,7 +126,7 @@ /area/awaymission/undergroundoutpost45/central) "aB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/underground, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, @@ -218,7 +218,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/central) "aT" = ( -/obj/effect/landmark/awaystart, +/obj/effect/landmark/awaystart/underground, /turf/open/floor/iron/grimy, /area/awaymission/undergroundoutpost45/central) "aU" = ( diff --git a/_maps/deathmatch/instagib.dmm b/_maps/deathmatch/instagib.dmm deleted file mode 100644 index 915aa9338da39..0000000000000 --- a/_maps/deathmatch/instagib.dmm +++ /dev/null @@ -1,808 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/closed/wall/mineral/titanium, -/area/deathmatch/fullbright) -"c" = ( -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/deathmatch/fullbright) -"e" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/circuit/green, -/area/deathmatch/fullbright) -"q" = ( -/obj/machinery/door/airlock/titanium/glass, -/turf/open/floor/mineral/abductor, -/area/deathmatch/fullbright) -"u" = ( -/turf/template_noop, -/area/template_noop) -"v" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/circuit/green, -/area/deathmatch/fullbright) -"y" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/circuit/green, -/area/deathmatch/fullbright) -"A" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/vault/alien, -/area/deathmatch/fullbright) -"B" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/vault/alien, -/area/deathmatch/fullbright) -"C" = ( -/turf/open/floor/circuit/green, -/area/deathmatch/fullbright) -"D" = ( -/turf/closed/indestructible/alien, -/area/deathmatch/fullbright) -"E" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/vault/alien, -/area/deathmatch/fullbright) -"F" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/machinery/light/floor, -/turf/open/floor/vault/alien, -/area/deathmatch/fullbright) -"H" = ( -/turf/open/floor/vault/alien, -/area/deathmatch/fullbright) -"I" = ( -/obj/machinery/light, -/turf/open/floor/vault/alien, -/area/deathmatch/fullbright) -"L" = ( -/obj/machinery/light, -/turf/open/floor/circuit/green, -/area/deathmatch/fullbright) -"N" = ( -/obj/machinery/door/airlock/titanium/glass, -/turf/open/floor/plating/abductor2, -/area/deathmatch/fullbright) -"Y" = ( -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/deathmatch/fullbright) - -(1,1,1) = {" -u -u -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -u -u -"} -(2,1,1) = {" -u -D -D -H -H -H -H -H -H -H -N -Y -Y -Y -Y -N -H -H -H -H -H -H -H -D -D -u -"} -(3,1,1) = {" -D -D -H -H -H -H -H -H -H -H -N -Y -Y -Y -Y -N -H -H -H -H -H -H -H -H -D -D -"} -(4,1,1) = {" -D -H -H -F -H -a -a -H -H -I -a -Y -Y -Y -Y -a -E -H -H -a -a -H -F -H -H -D -"} -(5,1,1) = {" -D -H -H -H -H -H -B -H -H -H -H -a -Y -Y -a -H -H -H -H -B -H -H -H -H -H -D -"} -(6,1,1) = {" -D -H -H -a -H -H -H -H -H -H -H -H -a -a -H -H -H -H -H -H -H -H -a -H -H -D -"} -(7,1,1) = {" -D -H -H -a -E -H -H -H -a -H -H -H -H -H -H -H -H -a -H -H -H -I -a -H -H -D -"} -(8,1,1) = {" -D -H -H -H -H -H -H -a -E -H -H -v -C -C -v -H -H -I -a -H -H -H -H -H -H -D -"} -(9,1,1) = {" -D -H -H -H -H -H -a -B -F -C -C -a -q -q -a -C -H -F -B -a -H -H -H -H -H -D -"} -(10,1,1) = {" -D -H -H -A -H -H -H -H -H -C -a -c -c -c -c -a -C -C -H -H -H -H -A -H -H -D -"} -(11,1,1) = {" -D -N -N -a -H -H -H -H -C -a -c -c -c -c -c -c -a -C -H -H -H -H -a -N -N -D -"} -(12,1,1) = {" -D -Y -Y -Y -a -H -H -L -a -c -c -c -c -c -c -c -c -a -y -H -H -a -Y -Y -Y -D -"} -(13,1,1) = {" -D -Y -Y -Y -Y -a -H -C -q -c -c -c -c -c -c -c -c -q -C -H -a -Y -Y -Y -Y -D -"} -(14,1,1) = {" -D -Y -Y -Y -Y -a -H -C -q -c -c -c -c -c -c -c -c -q -C -H -a -Y -Y -Y -Y -D -"} -(15,1,1) = {" -D -Y -Y -Y -a -H -H -L -a -c -c -c -c -c -c -c -c -a -y -H -H -a -Y -Y -Y -D -"} -(16,1,1) = {" -D -N -N -a -H -H -H -H -C -a -c -c -c -c -c -c -a -C -H -H -H -H -a -N -N -D -"} -(17,1,1) = {" -D -H -H -B -H -H -H -H -H -C -a -c -c -c -c -a -C -H -H -H -H -H -B -H -H -D -"} -(18,1,1) = {" -D -H -H -H -H -H -a -A -F -C -C -a -q -q -a -C -C -F -A -a -H -H -H -H -H -D -"} -(19,1,1) = {" -D -H -H -H -H -H -H -a -E -H -H -e -C -C -e -H -H -I -a -H -H -H -H -H -H -D -"} -(20,1,1) = {" -D -H -H -a -E -H -H -H -a -H -H -H -H -H -H -H -H -a -H -H -H -I -a -H -H -D -"} -(21,1,1) = {" -D -H -H -a -H -H -H -H -H -H -H -H -a -a -H -H -H -H -H -H -H -H -a -H -H -D -"} -(22,1,1) = {" -D -H -H -H -H -H -A -H -H -H -H -a -Y -Y -a -H -H -H -H -A -H -H -H -H -H -D -"} -(23,1,1) = {" -D -H -H -F -H -a -a -H -H -I -a -Y -Y -Y -Y -a -E -H -H -a -a -H -F -H -H -D -"} -(24,1,1) = {" -D -D -H -H -H -H -H -H -H -H -N -Y -Y -Y -Y -N -H -H -H -H -H -H -H -H -D -D -"} -(25,1,1) = {" -u -D -D -H -H -H -H -H -H -H -N -Y -Y -Y -Y -N -H -H -H -H -H -H -H -D -D -u -"} -(26,1,1) = {" -u -u -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -D -u -u -"} diff --git a/_maps/deathmatch/lattice_battles.dmm b/_maps/deathmatch/lattice_battles.dmm new file mode 100644 index 0000000000000..eab56ca3064a0 --- /dev/null +++ b/_maps/deathmatch/lattice_battles.dmm @@ -0,0 +1,994 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"bm" = ( +/obj/structure/lattice/catwalk, +/obj/structure/closet/crate/large/hats, +/turf/open/chasm, +/area/deathmatch/fullbright) +"bz" = ( +/obj/structure/railing/unbreakable{ + dir = 1 + }, +/obj/item/clothing/head/cone, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"cN" = ( +/obj/structure/railing/unbreakable{ + dir = 8 + }, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"df" = ( +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/chasm, +/area/deathmatch/fullbright) +"dM" = ( +/turf/open/chasm, +/area/deathmatch/fullbright) +"eK" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/deathmatch_player_spawn, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/chasm, +/area/deathmatch/fullbright) +"gz" = ( +/obj/structure/flora/rock/pile/style_random, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"gN" = ( +/turf/closed/mineral/random, +/area/deathmatch/fullbright) +"gW" = ( +/obj/structure/railing/unbreakable{ + dir = 1 + }, +/obj/structure/flora/lunar_plant/style_1, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"ho" = ( +/obj/structure/flora/lunar_plant/style_1, +/obj/effect/playeronly_barrier, +/obj/structure/railing/unbreakable{ + dir = 6 + }, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"hH" = ( +/obj/structure/railing/unbreakable{ + dir = 5 + }, +/obj/structure/flora/rock/pile/style_random, +/obj/structure/flora/lunar_plant/style_3, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"jb" = ( +/obj/structure/flora/rock/style_random, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"lO" = ( +/obj/structure/railing/unbreakable{ + dir = 9 + }, +/obj/structure/flora/rock/pile/style_random, +/obj/structure/flora/lunar_plant/style_3, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"rE" = ( +/obj/structure/flora/rock/pile/style_random, +/turf/closed/mineral/random, +/area/deathmatch/fullbright) +"sl" = ( +/mob/living/basic/spider/giant/hunter/away_caves, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/spider/stickyweb, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"sQ" = ( +/obj/structure/flora/lunar_plant/style_2, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"tw" = ( +/obj/structure/railing/unbreakable{ + dir = 4 + }, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"tL" = ( +/obj/structure/railing/unbreakable, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"uJ" = ( +/obj/structure/railing/unbreakable{ + dir = 4 + }, +/obj/item/clothing/head/cone, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"uO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/closet/crate/critter, +/mob/living/basic/mothroach, +/mob/living/basic/mothroach, +/mob/living/basic/mothroach, +/turf/open/chasm, +/area/deathmatch/fullbright) +"vk" = ( +/obj/structure/lattice/catwalk, +/turf/open/chasm, +/area/deathmatch/fullbright) +"vr" = ( +/obj/structure/flora/lunar_plant/style_2, +/obj/structure/spider/stickyweb/very_sticky, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"wb" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/chasm, +/area/deathmatch/fullbright) +"yB" = ( +/obj/structure/railing/unbreakable{ + dir = 8 + }, +/obj/structure/flora/lunar_plant/style_1, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"AS" = ( +/mob/living/basic/pet/cat/space, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"BL" = ( +/obj/structure/railing/unbreakable{ + dir = 1 + }, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Cf" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/structure/flora/lunar_plant/style_3, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"CI" = ( +/mob/living/basic/pet/dog/corgi/puppy/void, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"CP" = ( +/obj/structure/lattice/catwalk, +/obj/item/clothing/head/cone, +/turf/open/chasm, +/area/deathmatch/fullbright) +"Dk" = ( +/mob/living/basic/wumborian_fugu, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"He" = ( +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Ia" = ( +/obj/machinery/power/floodlight, +/obj/structure/lattice/catwalk, +/turf/open/chasm, +/area/deathmatch/fullbright) +"IT" = ( +/obj/structure/lattice/catwalk, +/obj/effect/landmark/deathmatch_player_spawn, +/obj/effect/decal/cleanable/rubble, +/turf/open/chasm, +/area/deathmatch/fullbright) +"JE" = ( +/obj/structure/railing/unbreakable{ + dir = 10 + }, +/obj/structure/flora/lunar_plant/style_1, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"KO" = ( +/obj/structure/closet/crate/cardboard, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"LN" = ( +/obj/structure/railing/corner, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"MF" = ( +/obj/structure/lattice, +/turf/open/chasm, +/area/deathmatch/fullbright) +"MZ" = ( +/obj/item/clothing/head/cone, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Nf" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/structure/lattice, +/turf/open/chasm, +/area/deathmatch/fullbright) +"NA" = ( +/obj/structure/flora/lunar_plant/style_2, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"NG" = ( +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/crate/cardboard, +/obj/item/statuebust, +/turf/open/chasm, +/area/deathmatch/fullbright) +"NI" = ( +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/rubble, +/turf/open/chasm, +/area/deathmatch/fullbright) +"NY" = ( +/obj/effect/playeronly_barrier, +/obj/structure/railing/unbreakable, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"OF" = ( +/obj/machinery/power/port_gen/pacman/pre_loaded, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"St" = ( +/mob/living/basic/spider/giant/nurse/away_caves, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Sv" = ( +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/rubble, +/turf/open/chasm, +/area/deathmatch/fullbright) +"SL" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/structure/flora/lunar_plant/style_3, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Uy" = ( +/obj/item/clothing/head/cone, +/obj/effect/playeronly_barrier, +/obj/structure/railing/corner/unbreakable{ + dir = 1 + }, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"UU" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/flora/rock/style_random, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Xf" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/structure/spider/stickyweb, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Xk" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/floodlight, +/turf/open/chasm, +/area/deathmatch/fullbright) +"Xo" = ( +/obj/structure/flora/rock/style_random, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"Yu" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/structure/railing/unbreakable{ + dir = 6 + }, +/obj/structure/flora/lunar_plant/style_3, +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"YH" = ( +/obj/effect/playeronly_barrier, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"YV" = ( +/obj/structure/lattice/catwalk, +/obj/item/clothing/head/cone, +/obj/effect/decal/cleanable/rubble, +/turf/open/chasm, +/area/deathmatch/fullbright) +"Zp" = ( +/obj/effect/decal/cleanable/garbage, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) +"ZH" = ( +/obj/structure/flora/rock/pile/style_random, +/mob/living/basic/cow/moonicorn, +/turf/open/misc/asteroid/moon, +/area/deathmatch/fullbright) + +(1,1,1) = {" +rE +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +"} +(2,1,1) = {" +gN +gN +He +He +jb +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +"} +(3,1,1) = {" +gN +He +He +Dk +He +KO +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +"} +(4,1,1) = {" +gN +jb +Cf +He +LN +tw +uJ +tw +tw +Yu +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +"} +(5,1,1) = {" +gN +gN +OF +Zp +NY +dM +MF +MF +MF +MF +MF +gN +gN +gN +gN +gN +gN +gN +gN +MF +gN +gN +gN +gN +gN +"} +(6,1,1) = {" +gN +gN +gN +MZ +ho +vk +MF +vk +vk +MF +MF +MF +vk +df +vk +df +vk +MF +dM +dM +lO +gN +gN +gN +gN +"} +(7,1,1) = {" +gN +gN +gN +gN +gN +MF +MF +wb +vk +vk +MF +vk +wb +vk +vk +vk +vk +wb +MF +dM +bz +gN +gN +gN +gN +"} +(8,1,1) = {" +gN +gN +gN +gN +JE +MF +vk +vk +vk +vk +vk +NI +vk +vk +vk +vk +MF +vk +MF +MF +BL +sQ +gN +gN +gN +"} +(9,1,1) = {" +gN +gN +sQ +YH +tL +MF +vk +vk +vk +CP +vk +vk +vk +vk +vk +CP +MF +vk +vk +MF +BL +ZH +gN +gN +gN +"} +(10,1,1) = {" +gN +gN +gN +AS +tL +MF +vk +MF +MF +vk +df +Sv +vk +MF +vk +df +MF +vk +vk +MF +gW +jb +gN +gN +gN +"} +(11,1,1) = {" +gN +gN +gN +CI +tL +MF +vk +df +MF +MF +vk +vk +MF +MF +vk +df +vk +vk +df +vk +hH +gN +gN +gN +gN +"} +(12,1,1) = {" +gN +gN +gN +jb +tL +MF +vk +vk +vk +vk +vk +vk +vk +vk +vk +vk +vk +vk +df +NG +gN +gN +gN +gN +gN +"} +(13,1,1) = {" +gN +gN +gN +gN +Yu +MF +MF +eK +vk +vk +vk +vk +wb +CP +vk +vk +vk +wb +vk +Xk +gN +gN +gN +gN +gN +"} +(14,1,1) = {" +gN +gN +gN +gN +gN +Ia +MF +vk +vk +vk +vk +vk +vk +vk +vk +NI +vk +vk +vk +gN +gN +gN +gN +gN +gN +"} +(15,1,1) = {" +gN +gN +gN +gN +gN +gN +bm +df +vk +vk +vk +MF +MF +vk +vk +vk +MF +MF +vk +gN +gN +gN +gN +gN +gN +"} +(16,1,1) = {" +gN +gN +gN +gN +gN +gN +gN +MF +MF +vk +vk +MF +vk +vk +vk +df +MF +vk +vk +gN +gN +gN +gN +gN +gN +"} +(17,1,1) = {" +gN +gN +gN +gN +gN +gN +MF +MF +vk +vk +NI +vk +vk +vk +vk +CP +vk +vk +vk +gN +gN +gN +gN +gN +gN +"} +(18,1,1) = {" +gN +gN +gN +gN +gN +MF +MF +MF +vk +vk +YV +vk +MF +MF +vk +vk +vk +vk +df +gN +gN +gN +gN +gN +gN +"} +(19,1,1) = {" +gN +gN +gN +gN +SL +dM +MF +Nf +vk +vk +vk +MF +Nf +MF +MF +vk +vk +IT +vk +uO +gN +gN +gN +gN +gN +"} +(20,1,1) = {" +gN +gN +gN +gN +dM +dM +dM +MF +MF +vk +MF +MF +MF +MF +MF +MF +vk +vk +MF +MF +UU +gN +gN +gN +gN +"} +(21,1,1) = {" +gN +gN +gN +SL +dM +dM +dM +dM +uO +gN +gN +gN +gN +gN +gN +gN +vk +MF +dM +dM +BL +St +Xf +gN +gN +"} +(22,1,1) = {" +gN +gN +gN +jb +NA +dM +SL +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +lO +yB +cN +Uy +vr +gN +gN +gN +"} +(23,1,1) = {" +gN +gN +gN +gN +gz +Xo +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +sl +gz +gN +gN +gN +gN +gN +"} +(24,1,1) = {" +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +"} +(25,1,1) = {" +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +gN +"} diff --git a/_maps/deathmatch/mech_madness.dmm b/_maps/deathmatch/mech_madness.dmm deleted file mode 100644 index 3f804d2ee5452..0000000000000 --- a/_maps/deathmatch/mech_madness.dmm +++ /dev/null @@ -1,1649 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/turf/closed/indestructible/alien, -/area/deathmatch) -"ad" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg{ - pixel_y = 12 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 18 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 24 - }, -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"ae" = ( -/obj/machinery/door/poddoor/shutters{ - id = "dm4" - }, -/turf/open/floor/engine, -/area/deathmatch) -"af" = ( -/obj/machinery/button/door{ - id = "dm3"; - pixel_y = 24 - }, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"aj" = ( -/turf/open/floor/engine, -/area/deathmatch) -"am" = ( -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"an" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/utility/welding, -/obj/machinery/light/directional/west, -/obj/item/inducer, -/obj/item/weldingtool/largetank, -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"ao" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg{ - pixel_y = -8 - }, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot{ - pixel_y = 8 - }, -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"as" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/turf_decal/box, -/obj/machinery/button/door{ - id = "dm1"; - pixel_x = 24 - }, -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"at" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/turf_decal/box, -/obj/machinery/button/door{ - id = "dm4"; - pixel_y = 0; - pixel_x = -24 - }, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"aw" = ( -/turf/open/floor/carpet/neon/simple/purple, -/area/deathmatch) -"ax" = ( -/turf/closed/wall/mineral/plastitanium, -/area/deathmatch) -"az" = ( -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/carpet/neon/simple/red, -/area/deathmatch) -"aA" = ( -/obj/vehicle/sealed/mecha/gygax, -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"aB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4; - icon_state = "trimline_warn_fill" - }, -/turf/open/floor/engine, -/area/deathmatch) -"aC" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine, -/area/deathmatch) -"aE" = ( -/mob/living/carbon/human/species/monkey/angry, -/turf/open/floor/engine, -/area/deathmatch) -"aG" = ( -/turf/open/lava, -/area/deathmatch) -"aH" = ( -/obj/vehicle/sealed/mecha/gygax, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"aI" = ( -/turf/open/floor/carpet/neon/simple/lime, -/area/deathmatch) -"aJ" = ( -/turf/open/floor/carpet/neon/simple/red, -/area/deathmatch) -"aK" = ( -/turf/open/floor/carpet/neon/simple/violet, -/area/deathmatch) -"aL" = ( -/obj/item/chair, -/turf/open/floor/engine, -/area/deathmatch) -"aN" = ( -/obj/structure/table/reinforced, -/obj/item/gun/energy/laser, -/turf/open/floor/engine, -/area/deathmatch) -"aP" = ( -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/deathmatch) -"aQ" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/engine, -/area/deathmatch) -"aR" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/engine, -/area/deathmatch) -"aS" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy, -/turf/open/floor/engine, -/area/deathmatch) -"aV" = ( -/obj/structure/barricade/security, -/turf/open/floor/carpet/neon/simple/red, -/area/deathmatch) -"aW" = ( -/obj/structure/table, -/turf/open/floor/engine, -/area/deathmatch) -"aY" = ( -/obj/structure/closet/crate/trashcart/filled, -/obj/item/weldingtool, -/turf/open/floor/engine, -/area/deathmatch) -"aZ" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/engine, -/area/deathmatch) -"ba" = ( -/obj/structure/closet/crate/trashcart/filled, -/obj/machinery/light/directional/west, -/turf/open/floor/engine, -/area/deathmatch) -"bb" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/engine, -/area/deathmatch) -"bc" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/engine, -/area/deathmatch) -"bd" = ( -/obj/item/gun/energy/laser/hellgun, -/obj/structure/closet/crate/trashcart/filled, -/turf/open/floor/engine, -/area/deathmatch) -"be" = ( -/obj/machinery/stasis, -/turf/open/floor/engine, -/area/deathmatch) -"bf" = ( -/obj/machinery/door/airlock/hatch, -/turf/open/floor/carpet/neon/simple/purple, -/area/deathmatch) -"bh" = ( -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"bi" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 1; - icon_state = "trimline_warn_fill" - }, -/turf/open/floor/engine, -/area/deathmatch) -"bj" = ( -/obj/machinery/sleeper{ - dir = 4; - icon_state = "sleeper" - }, -/turf/open/floor/engine, -/area/deathmatch) -"bk" = ( -/obj/vehicle/ridden/atv, -/obj/item/key/atv, -/turf/open/floor/engine, -/area/deathmatch) -"bl" = ( -/obj/machinery/sleeper{ - dir = 8; - icon_state = "sleeper" - }, -/turf/open/floor/engine, -/area/deathmatch) -"bm" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/engine, -/area/deathmatch) -"bn" = ( -/obj/machinery/vending/assist, -/turf/open/floor/engine, -/area/deathmatch) -"bo" = ( -/obj/machinery/vending/sustenance, -/turf/open/floor/engine, -/area/deathmatch) -"bp" = ( -/obj/item/grenade/smokebomb, -/turf/open/floor/engine, -/area/deathmatch) -"bq" = ( -/obj/item/mecha_parts/mecha_equipment/armor/antiproj_armor_booster, -/turf/open/floor/engine, -/area/deathmatch) -"br" = ( -/obj/item/mecha_parts/mecha_equipment/armor/anticcw_armor_booster, -/turf/open/floor/engine, -/area/deathmatch) -"bs" = ( -/turf/open/floor/carpet/neon/simple/blue, -/area/deathmatch) -"bt" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/turf_decal/box, -/obj/machinery/button/door{ - id = "dm2"; - pixel_x = 24 - }, -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"bu" = ( -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"bv" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/utility/welding, -/obj/machinery/light/directional/east, -/obj/item/inducer, -/obj/item/weldingtool/largetank, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"bw" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"bx" = ( -/obj/machinery/door/poddoor/shutters{ - id = "dm1" - }, -/turf/open/floor/engine, -/area/deathmatch) -"by" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg{ - pixel_y = -8 - }, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot{ - pixel_y = 8 - }, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"bz" = ( -/obj/machinery/vending/medical, -/turf/open/floor/engine, -/area/deathmatch) -"bB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning, -/turf/open/floor/engine, -/area/deathmatch) -"bF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 8; - icon_state = "trimline_warn_fill" - }, -/turf/open/floor/engine, -/area/deathmatch) -"bG" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg{ - pixel_y = 12 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 18 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 24 - }, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"bH" = ( -/obj/structure/table_frame, -/turf/open/floor/carpet/neon/simple/violet, -/area/deathmatch) -"bJ" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/engine, -/area/deathmatch) -"bL" = ( -/obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/engine, -/area/deathmatch) -"bM" = ( -/obj/structure/window/fulltile, -/turf/open/floor/engine, -/area/deathmatch) -"bN" = ( -/obj/structure/showcase/horrific_experiment, -/turf/open/floor/engine, -/area/deathmatch) -"bO" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/engine, -/area/deathmatch) -"bP" = ( -/obj/machinery/door/airlock/hatch, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"bR" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/engine, -/area/deathmatch) -"bS" = ( -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/engine, -/area/deathmatch) -"bT" = ( -/obj/item/shard, -/turf/open/floor/engine, -/area/deathmatch) -"bV" = ( -/turf/open/floor/noslip, -/area/deathmatch) -"bW" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"bY" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"bZ" = ( -/obj/machinery/recharger, -/obj/structure/table, -/turf/open/floor/engine, -/area/deathmatch) -"ca" = ( -/obj/structure/table, -/obj/item/storage/briefcase, -/turf/open/floor/engine, -/area/deathmatch) -"cc" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/engine, -/area/deathmatch) -"cd" = ( -/obj/item/grenade/smokebomb, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"ce" = ( -/obj/structure/chair{ - dir = 1; - icon_state = "chair" - }, -/turf/open/floor/engine, -/area/deathmatch) -"cg" = ( -/obj/structure/showcase/machinery/cloning_pod, -/turf/open/floor/engine, -/area/deathmatch) -"ch" = ( -/obj/structure/chair/office, -/turf/open/floor/engine, -/area/deathmatch) -"ci" = ( -/obj/structure/cannon{ - dir = 8; - icon_state = "falconet_patina" - }, -/turf/open/floor/sepia, -/area/deathmatch) -"ck" = ( -/turf/open/floor/sepia, -/area/deathmatch) -"cl" = ( -/obj/item/reagent_containers/syringe, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/deathmatch) -"cm" = ( -/obj/item/gun/ballistic/revolver/c38/detective, -/obj/structure/table/wood, -/turf/open/floor/sepia, -/area/deathmatch) -"cn" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/sepia, -/area/deathmatch) -"cp" = ( -/obj/structure/window/spawner/directional/south, -/turf/open/floor/sepia, -/area/deathmatch) -"cq" = ( -/obj/item/gun/ballistic/rifle/boltaction/pipegun, -/obj/structure/table/wood, -/turf/open/floor/sepia, -/area/deathmatch) -"cr" = ( -/obj/item/gun/ballistic/rifle/boltaction, -/obj/structure/table/wood, -/turf/open/floor/sepia, -/area/deathmatch) -"ct" = ( -/obj/structure/window/spawner/directional/west{ - icon_state = "window" - }, -/obj/item/lighter, -/turf/open/floor/sepia, -/area/deathmatch) -"cv" = ( -/obj/item/reagent_containers/cup/bucket/wooden, -/obj/machinery/light/directional/south, -/turf/open/floor/sepia, -/area/deathmatch) -"cw" = ( -/obj/machinery/door/airlock/hatch, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"cx" = ( -/obj/structure/fermenting_barrel/gunpowder, -/turf/open/floor/sepia, -/area/deathmatch) -"cy" = ( -/obj/structure/toilet{ - dir = 8; - icon_state = "toilet00" - }, -/turf/open/floor/light, -/area/deathmatch) -"cz" = ( -/obj/item/stack/cannonball/fourteen, -/obj/structure/table/wood, -/turf/open/floor/sepia, -/area/deathmatch) -"cA" = ( -/obj/item/reagent_containers/cup/glass/drinkingglass/filled/nuka_cola, -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/deathmatch) -"cB" = ( -/obj/item/reagent_containers/pill/stimulant, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/deathmatch) -"cC" = ( -/obj/machinery/recharge_station, -/turf/open/floor/engine, -/area/deathmatch) -"cD" = ( -/obj/structure/barricade/security, -/turf/open/floor/engine, -/area/deathmatch) -"cE" = ( -/obj/structure/table, -/turf/open/floor/carpet/neon/simple/violet, -/area/deathmatch) -"cF" = ( -/obj/structure/barricade/security, -/turf/open/floor/carpet/neon/simple/violet, -/area/deathmatch) -"cG" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/utility/welding, -/obj/machinery/light/directional/east, -/obj/item/inducer, -/obj/item/weldingtool/largetank, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"cH" = ( -/obj/machinery/sheetifier, -/turf/open/floor/engine, -/area/deathmatch) -"cI" = ( -/obj/machinery/door/airlock/hatch, -/turf/open/floor/carpet/neon/simple/lime, -/area/deathmatch) -"cK" = ( -/obj/structure/table, -/obj/item/mecha_parts/mecha_equipment/repair_droid, -/turf/open/floor/engine, -/area/deathmatch) -"cL" = ( -/obj/structure/table, -/obj/item/grenade/smokebomb, -/turf/open/floor/engine, -/area/deathmatch) -"cM" = ( -/obj/item/reagent_containers/pill/happinesspsych, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/deathmatch) -"cN" = ( -/obj/item/fireaxe, -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/deathmatch) -"cO" = ( -/obj/structure/table_frame, -/turf/open/floor/engine, -/area/deathmatch) -"cP" = ( -/obj/structure/urinal{ - pixel_y = 24 - }, -/turf/open/floor/noslip, -/area/deathmatch) -"cQ" = ( -/obj/item/reagent_containers/pill/lsd, -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/deathmatch) -"cR" = ( -/obj/item/reagent_containers/pill/probital, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/deathmatch) -"cS" = ( -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/floor/engine, -/area/deathmatch) -"cT" = ( -/obj/item/inducer, -/obj/item/weldingtool, -/turf/open/floor/engine, -/area/deathmatch) -"cU" = ( -/obj/machinery/door/poddoor/shutters{ - id = "dm2" - }, -/turf/open/floor/engine, -/area/deathmatch) -"cV" = ( -/obj/item/mecha_ammo/scattershot, -/turf/open/floor/engine, -/area/deathmatch) -"cW" = ( -/obj/machinery/grill, -/turf/open/floor/engine, -/area/deathmatch) -"cX" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/turf_decal/box, -/obj/machinery/button/door{ - id = "dm3"; - pixel_x = -24 - }, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"cY" = ( -/obj/machinery/door/poddoor/shutters{ - id = "dm3" - }, -/turf/open/floor/engine, -/area/deathmatch) -"cZ" = ( -/obj/machinery/sheetifier, -/obj/machinery/light/directional/east, -/turf/open/floor/engine, -/area/deathmatch) -"da" = ( -/obj/machinery/door/airlock/hatch, -/turf/open/floor/engine, -/area/deathmatch) -"db" = ( -/obj/vehicle/sealed/mecha/gygax, -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"dc" = ( -/obj/machinery/grill, -/obj/machinery/light/directional/west, -/turf/open/floor/engine, -/area/deathmatch) -"dd" = ( -/obj/structure/table, -/obj/item/food/meat/rawcutlet, -/turf/open/floor/engine, -/area/deathmatch) -"df" = ( -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"dg" = ( -/obj/vehicle/sealed/mecha/gygax, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"dh" = ( -/obj/structure/closet/l3closet/janitor, -/turf/open/floor/engine, -/area/deathmatch) -"di" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/utility/welding, -/obj/item/weldingtool/largetank, -/obj/machinery/light/directional/west, -/obj/item/inducer, -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"dk" = ( -/obj/structure/table, -/obj/item/storage/belt/janitor, -/turf/open/floor/engine, -/area/deathmatch) -"eK" = ( -/obj/structure/table, -/obj/item/food/meat/slab/bear, -/turf/open/floor/engine, -/area/deathmatch) -"gg" = ( -/obj/structure/table, -/obj/item/mop, -/turf/open/floor/engine, -/area/deathmatch) -"go" = ( -/turf/open/floor/carpet/neon/simple/pink, -/area/deathmatch) -"gF" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg{ - pixel_y = 12 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 18 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 24 - }, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) -"nE" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg{ - pixel_y = -8 - }, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot{ - pixel_y = 8 - }, -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"ot" = ( -/obj/structure/mop_bucket/janitorialcart{ - dir = 4 - }, -/turf/open/floor/engine, -/area/deathmatch) -"pD" = ( -/obj/machinery/button/door{ - id = "dm1"; - pixel_y = -24 - }, -/turf/open/floor/carpet/neon/simple/yellow, -/area/deathmatch) -"sc" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_ammo/lmg, -/obj/item/mecha_ammo/lmg{ - pixel_y = 12 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 18 - }, -/obj/item/mecha_ammo/scattershot{ - pixel_y = 24 - }, -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"tY" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/engine, -/area/deathmatch) -"yI" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/south, -/turf/open/floor/engine, -/area/deathmatch) -"Br" = ( -/obj/machinery/button/door{ - id = "dm4"; - pixel_y = -24 - }, -/turf/open/floor/carpet/neon/simple/green, -/area/deathmatch) -"ES" = ( -/obj/item/storage/bag/trash, -/turf/open/floor/engine, -/area/deathmatch) -"Ij" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/bucket, -/turf/open/floor/engine, -/area/deathmatch) -"Jo" = ( -/obj/machinery/vending/wardrobe/jani_wardrobe, -/turf/open/floor/engine, -/area/deathmatch) -"ME" = ( -/obj/structure/table, -/obj/item/food/meat/slab/pig, -/turf/open/floor/engine, -/area/deathmatch) -"PK" = ( -/obj/item/storage/medkit/regular, -/turf/open/floor/noslip, -/area/deathmatch) -"RN" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/deathmatch) -"XP" = ( -/obj/machinery/button/door{ - id = "dm2"; - pixel_y = 24 - }, -/turf/open/floor/carpet/neon/simple/orange, -/area/deathmatch) -"Zw" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg{ - pixel_y = -8 - }, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot{ - pixel_y = 8 - }, -/turf/open/floor/carpet/neon/simple/teal, -/area/deathmatch) - -(1,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(2,1,1) = {" -ac -ad -an -bu -bx -aj -ax -aQ -bM -aj -ax -be -bj -bj -br -ax -aQ -bb -aj -ax -cC -aQ -cU -bh -di -sc -ac -"} -(3,1,1) = {" -ac -ao -aJ -pD -ac -aj -ax -aj -bM -aZ -bP -bY -aj -aj -aj -ax -aj -bb -aj -ax -cC -aj -ac -XP -bs -nE -ac -"} -(4,1,1) = {" -ac -bu -as -aA -ac -aj -da -aj -bM -aj -ax -df -df -df -bw -ax -aj -bb -aj -ax -aj -aj -ac -db -bt -bh -ac -"} -(5,1,1) = {" -ac -bx -ac -ac -ac -aj -ax -aj -bM -aj -ax -bR -aj -aj -bY -cw -bW -am -am -cw -aj -aj -ac -ac -ac -cU -ac -"} -(6,1,1) = {" -ac -aj -aj -aj -aj -aj -ax -aj -bM -aj -ax -aj -bk -aj -aj -ax -aj -cd -aj -ax -aj -aj -aj -aj -aj -aj -ac -"} -(7,1,1) = {" -ac -aj -aj -aj -aj -aj -ax -aj -bM -bc -ax -bZ -bl -bl -bz -ax -aj -am -bc -ax -aj -cH -cH -cZ -aj -aj -ac -"} -(8,1,1) = {" -ac -ax -ax -da -ax -ax -ax -ax -ax -ax -ax -ax -ax -ax -ax -ax -ax -cw -ax -ax -ax -ax -ax -ax -ax -da -ac -"} -(9,1,1) = {" -ac -az -aJ -aJ -aJ -aJ -aJ -aJ -aJ -aJ -az -ax -bm -aj -aQ -bO -aj -aK -aj -aj -aQ -aj -aj -ax -dk -aj -ac -"} -(10,1,1) = {" -ac -aJ -cD -cD -cD -aj -aj -aj -aj -aj -aJ -ax -bn -aj -aK -aK -aK -aK -cD -cD -cE -cK -aj -ax -Ij -aj -ac -"} -(11,1,1) = {" -ac -aJ -aj -aB -aB -aj -aj -aB -aB -aj -aJ -ax -bo -aj -aK -aj -aj -aj -aj -aj -aK -cL -aj -ax -gg -yI -ac -"} -(12,1,1) = {" -ac -aJ -bB -aG -aG -bi -bB -aG -aG -bi -aJ -aC -aj -aj -aK -aj -ca -ce -aj -aj -aK -aj -aj -ax -aj -aj -ac -"} -(13,1,1) = {" -ac -aJ -aj -bF -bF -aj -aj -bF -bF -aj -aJ -bf -aK -aK -aK -ch -aW -ce -aj -aj -aK -aK -aK -bf -aj -aj -ac -"} -(14,1,1) = {" -ac -aJ -aj -aj -aj -aj -aj -aj -aj -cD -aV -aC -aj -cD -aK -aj -cc -ce -aj -aj -aK -aj -aj -ax -ot -aj -ac -"} -(15,1,1) = {" -ac -aV -cD -aj -aJ -aJ -aJ -aJ -aj -aj -aJ -ax -aj -cD -aK -aj -aj -aj -aj -aj -cF -cD -aj -ax -ES -tY -ac -"} -(16,1,1) = {" -ac -aJ -aj -aj -aJ -aN -aS -aJ -aj -aj -aJ -ax -aj -cD -bH -aK -aK -aK -aK -aK -cF -cO -aL -ax -dh -aj -ac -"} -(17,1,1) = {" -ac -aJ -aj -aj -aJ -bJ -aN -aJ -aj -aj -aJ -ax -aj -aL -bc -aj -aj -aK -aj -aj -bc -aj -cV -ax -Jo -aj -ac -"} -(18,1,1) = {" -ac -aJ -aj -aj -aJ -aJ -aJ -aJ -aj -aj -aJ -ax -ax -ax -ax -ax -RN -da -ax -ax -ax -ax -ax -ax -ax -da -ac -"} -(19,1,1) = {" -ac -aJ -aj -aj -aj -aj -aj -aj -aj -aj -aJ -ax -aj -bq -aj -aj -ax -ck -cp -cm -ax -cP -bV -bV -PK -bV -ac -"} -(20,1,1) = {" -ac -aJ -aj -aB -aB -aj -aj -aB -aB -aj -aV -ax -aj -cg -cg -aj -ax -ck -cp -cq -ax -cP -cy -cy -bV -bV -ac -"} -(21,1,1) = {" -ac -aJ -bB -aG -aG -bi -bB -aG -aG -bi -aJ -ax -aj -aj -aj -aE -ax -ck -cp -cr -ax -ax -ax -ax -ax -da -ac -"} -(22,1,1) = {" -ac -aJ -aj -bF -bF -aj -aj -bF -bF -aj -aJ -ax -bp -cg -cg -aj -ax -cn -ck -ct -ax -cS -cW -dc -aj -aj -ac -"} -(23,1,1) = {" -ac -aJ -cD -cD -cD -aj -aj -aj -aj -aj -aJ -cI -aI -aI -aI -aI -cI -ck -ck -ck -da -aj -aj -aj -aj -aj -ac -"} -(24,1,1) = {" -ac -az -aJ -aJ -aJ -aJ -aJ -aJ -aJ -aJ -az -ax -aj -aE -bL -aj -ax -ck -ck -cv -ax -cT -aj -dd -ME -eK -ac -"} -(25,1,1) = {" -ac -ax -ax -da -ax -ax -ax -ax -ax -ax -ax -ax -aj -cg -bN -bS -ax -ci -ck -cx -ax -ax -da -ax -ax -ax -ac -"} -(26,1,1) = {" -ac -aj -aj -aj -aj -aQ -aj -ax -aY -ba -bd -ax -aE -aj -aR -bT -ax -ck -ck -cz -ax -aj -aj -aQ -aj -aj -ac -"} -(27,1,1) = {" -ac -ae -ac -ac -ac -aj -aj -da -aj -aj -aj -ax -aj -cg -cg -aE -ax -ax -da -ax -ax -aj -ac -ac -ac -cY -ac -"} -(28,1,1) = {" -ac -am -at -aH -ac -aj -aj -ax -aj -bb -aj -ax -ax -ax -ax -ax -RN -aP -cl -cA -ax -aj -ac -dg -cX -df -ac -"} -(29,1,1) = {" -ac -by -aw -Br -ac -aj -aj -ax -aj -bb -aj -aj -bb -aj -aj -aj -da -cM -cQ -cB -ax -aj -ac -af -go -Zw -ac -"} -(30,1,1) = {" -ac -bG -cG -am -ae -aj -aj -ax -aj -bb -aj -bc -aj -aj -bb -aj -ax -cN -cR -cQ -da -aj -cY -df -bv -gF -ac -"} -(31,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} diff --git a/_maps/deathmatch/ragecage.dmm b/_maps/deathmatch/ragecage.dmm deleted file mode 100644 index a96ab76b53829..0000000000000 --- a/_maps/deathmatch/ragecage.dmm +++ /dev/null @@ -1,500 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/obj/item/melee/baseball_bat, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"b" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"c" = ( -/obj/item/cardboard_cutout/adaptive{ - starting_cutout = "Private Security Officer" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cardboard_cutout/adaptive{ - starting_cutout = "Private Security Officer" - }, -/turf/open/indestructible/plating, -/area/deathmatch) -"d" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/indestructible/plating, -/area/deathmatch) -"f" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"g" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/indestructible/plating, -/area/deathmatch) -"i" = ( -/obj/effect/spawner/random/trash/mess, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"k" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"l" = ( -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"m" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cardboard_cutout/adaptive{ - starting_cutout = "Private Security Officer" - }, -/turf/open/indestructible/plating, -/area/deathmatch) -"o" = ( -/turf/closed/indestructible/grille, -/area/deathmatch) -"p" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/rtg/debug{ - power_gen = 50000; - name = "dumb idiot shocker powerer"; - desc = "Dont touch the grilles idiot" - }, -/obj/structure/cable, -/turf/open/indestructible/plating, -/area/deathmatch) -"q" = ( -/turf/closed/indestructible/fakedoor/engineering, -/area/deathmatch) -"t" = ( -/obj/effect/spawner/random/trash/graffiti, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"u" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable, -/turf/open/indestructible/plating, -/area/deathmatch) -"w" = ( -/obj/effect/decal/cleanable/blood/gibs/limb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"x" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/spawner/structure/electrified_grille, -/turf/open/indestructible/plating, -/area/deathmatch) -"z" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/indestructible/plating, -/area/deathmatch) -"A" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/indestructible/plating, -/area/deathmatch) -"B" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cardboard_cutout/adaptive{ - starting_cutout = "Private Security Officer" - }, -/obj/structure/cable, -/turf/open/indestructible/plating, -/area/deathmatch) -"C" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"D" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/mask/gas, -/turf/open/indestructible/plating, -/area/deathmatch) -"G" = ( -/turf/closed/indestructible/reinforced, -/area/deathmatch) -"H" = ( -/turf/closed/indestructible/fakedoor/maintenance, -/area/deathmatch) -"I" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/spear, -/turf/open/indestructible/plating, -/area/deathmatch) -"K" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/indestructible/plating, -/area/deathmatch) -"L" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/indestructible/plating, -/area/deathmatch) -"M" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/flashlight/flare{ - start_on = 1; - icon_state = "flare-on" - }, -/turf/open/indestructible/plating, -/area/deathmatch) -"N" = ( -/obj/effect/decal/cleanable/blood/gibs/down, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"P" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/indestructible/plating, -/area/deathmatch) -"Q" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"R" = ( -/obj/effect/spawner/structure/electrified_grille, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/indestructible/plating, -/area/deathmatch) -"S" = ( -/obj/effect/decal/cleanable/blood/gibs/torso, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"U" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/indestructible/plating, -/area/deathmatch) -"V" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cardboard_cutout/adaptive{ - starting_cutout = "Private Security Officer" - }, -/turf/open/indestructible/plating, -/area/deathmatch) -"X" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/toolbox/mechanical/old, -/turf/open/indestructible/plating, -/area/deathmatch) - -(1,1,1) = {" -G -G -H -G -o -G -H -G -H -G -o -G -H -G -G -"} -(2,1,1) = {" -G -p -u -U -U -U -D -U -U -U -I -U -U -f -G -"} -(3,1,1) = {" -G -U -B -V -V -V -V -V -V -V -c -V -V -X -G -"} -(4,1,1) = {" -G -U -L -A -A -A -A -A -A -A -A -A -g -U -G -"} -(5,1,1) = {" -G -U -d -U -U -U -l -C -Q -t -U -U -x -U -G -"} -(6,1,1) = {" -G -X -d -U -M -U -U -b -k -U -U -U -x -U -q -"} -(7,1,1) = {" -G -U -d -U -U -t -U -U -k -U -M -U -R -U -G -"} -(8,1,1) = {" -G -U -d -U -U -U -i -a -U -N -U -U -R -U -o -"} -(9,1,1) = {" -G -D -d -U -b -U -a -U -a -U -b -t -R -D -o -"} -(10,1,1) = {" -G -U -d -t -U -S -U -a -U -U -U -U -R -U -o -"} -(11,1,1) = {" -G -I -d -U -U -U -M -U -U -U -U -U -R -U -G -"} -(12,1,1) = {" -G -U -d -U -U -U -U -b -t -U -U -i -R -I -q -"} -(13,1,1) = {" -G -U -d -U -U -w -U -U -U -U -U -M -R -U -G -"} -(14,1,1) = {" -G -U -z -P -P -P -P -P -P -P -P -P -K -U -G -"} -(15,1,1) = {" -G -U -m -m -m -m -m -m -m -m -m -m -m -U -G -"} -(16,1,1) = {" -G -f -U -U -X -U -U -U -U -I -U -U -U -f -G -"} -(17,1,1) = {" -G -G -H -G -o -G -H -G -H -G -o -G -H -G -G -"} diff --git a/_maps/deathmatch/ragnarok.dmm b/_maps/deathmatch/ragnarok.dmm new file mode 100644 index 0000000000000..328055398e71a --- /dev/null +++ b/_maps/deathmatch/ragnarok.dmm @@ -0,0 +1,2160 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aJ" = ( +/obj/item/wallframe/painting/eldritch/beauty, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"aN" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"bb" = ( +/obj/structure/flora/coconuts, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"bj" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/bonfire/prelit, +/turf/open/floor/wood/large, +/area/deathmatch) +"bn" = ( +/turf/closed/wall/mineral/bronze, +/area/deathmatch) +"bv" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/water/jungle, +/area/deathmatch) +"bI" = ( +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"bO" = ( +/obj/structure/fluff/clockwork/alloy_shards/medium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"bU" = ( +/turf/open/indestructible/plating, +/area/deathmatch) +"cb" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/cult, +/area/deathmatch) +"cr" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/cult, +/area/deathmatch) +"cs" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"cH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/cult, +/area/deathmatch) +"cR" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/effect/turf_decal/weather/dirt, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"cT" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/tile, +/area/deathmatch) +"dv" = ( +/obj/structure/fluff/clockwork/clockgolem_remains, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"dI" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"dS" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"eB" = ( +/obj/effect/spawner/random/decoration/glowstick/on, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"eG" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"eL" = ( +/obj/effect/decal/remains/human, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"eU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/remains/human, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"fc" = ( +/obj/effect/rune/wall, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/cult, +/area/deathmatch) +"fl" = ( +/obj/structure/fake_stairs/wood, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"ft" = ( +/obj/effect/turf_decal/siding/wood/end, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/water/jungle, +/area/deathmatch) +"fO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"fW" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/structure/fluff/clockwork/alloy_shards/medium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"gi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"gx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/flora/coconuts, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"gz" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/cult, +/area/deathmatch) +"gJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"hg" = ( +/obj/effect/visible_heretic_influence, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"hr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"hw" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"hV" = ( +/turf/open/chasm/jungle, +/area/deathmatch) +"hY" = ( +/mob/living/carbon/human/species/monkey, +/obj/item/flashlight/flare/torch, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"ih" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/flora/bush/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"ij" = ( +/obj/structure/flora/rock/pile/style_random, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"iq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"iJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water/jungle, +/area/deathmatch) +"iO" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"jb" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/deathmatch) +"jv" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"jC" = ( +/obj/item/food/grown/banana, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"jI" = ( +/obj/effect/rune/wall, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/cult, +/area/deathmatch) +"jL" = ( +/obj/structure/flora/rock/style_random, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"jP" = ( +/obj/effect/decal/cleanable/blood/innards, +/turf/open/floor/cult, +/area/deathmatch) +"kc" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"ku" = ( +/obj/structure/flora/tree/jungle/style_random, +/obj/item/food/grown/banana/bunch, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"lr" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/bonfire/prelit, +/turf/open/floor/wood/large, +/area/deathmatch) +"lx" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"lC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/cult, +/area/deathmatch) +"lK" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/floor/wood/tile, +/area/deathmatch) +"lR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"lX" = ( +/obj/effect/rune/blood_boil, +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/cult, +/area/deathmatch) +"mr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit, +/turf/open/indestructible/plating, +/area/deathmatch) +"mD" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/cult, +/area/deathmatch) +"nO" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"ou" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/deathmatch) +"ox" = ( +/obj/effect/cosmic_rune, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"oB" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/deathmatch) +"oC" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"oF" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/effect/decal/cleanable/rubble, +/obj/effect/turf_decal/weather/dirt, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"oO" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/deathmatch) +"pr" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/obj/effect/decal/cleanable/ants/fire, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"px" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/rubble, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"pz" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/item/wallframe/painting/eldritch/vines, +/turf/open/indestructible/plating, +/area/deathmatch) +"pF" = ( +/obj/effect/rune/blood_boil, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/cult, +/area/deathmatch) +"qa" = ( +/turf/open/misc/grass/jungle, +/area/deathmatch) +"qg" = ( +/turf/open/floor/wood/tile, +/area/deathmatch) +"qh" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/water/jungle, +/area/deathmatch) +"qk" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/turf_decal/weather/dirt, +/obj/item/flashlight/flare/culttorch, +/turf/open/floor/cult, +/area/deathmatch) +"qp" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/flora/tree/jungle/small/style_random, +/obj/structure/flora/coconuts, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"qL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"rc" = ( +/obj/structure/fluff/clockwork/alloy_shards, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze/flat, +/area/deathmatch) +"rh" = ( +/obj/structure/fluff/clockwork/alloy_shards/medium, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"rm" = ( +/obj/structure/flora/rock/pile/jungle/large/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"rD" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water/jungle, +/area/deathmatch) +"rH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"sa" = ( +/obj/structure/flora/rock/style_random, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/rubble, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"sd" = ( +/obj/structure/table/bronze, +/obj/item/toy/clockwork_watch, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"sC" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"sE" = ( +/obj/effect/visible_heretic_influence, +/obj/effect/decal/cleanable/dirt, +/turf/open/indestructible/plating, +/area/deathmatch) +"sF" = ( +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/floor/cult, +/area/deathmatch) +"sJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/cult, +/area/deathmatch) +"tl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/r_wall/heretic_rust, +/area/deathmatch) +"tm" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"tE" = ( +/obj/effect/rune/malformed{ + icon_state = "hierophant"; + color = "#FFFF00" + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/floor/bronze/filled, +/area/deathmatch) +"uT" = ( +/obj/structure/table/bronze, +/obj/item/clockwork_alloy, +/obj/item/stack/sheet/bronze/thirty, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"vI" = ( +/obj/structure/flora/tree/jungle/small/style_random, +/obj/structure/flora/coconuts, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"vR" = ( +/obj/structure/rack/skeletal, +/obj/item/clothing/head/helmet/chaplain/cage{ + pixel_y = 11; + pixel_x = -1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/tile, +/area/deathmatch) +"wf" = ( +/obj/structure/rack/skeletal, +/obj/item/clothing/head/helmet/chaplain{ + pixel_y = 9 + }, +/turf/open/floor/wood/tile, +/area/deathmatch) +"wv" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/deathmatch) +"wH" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/large, +/area/deathmatch) +"wP" = ( +/obj/structure/flora/rock/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"wR" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"xc" = ( +/obj/structure/flora/grass/jungle/a/style_random, +/mob/living/carbon/human/species/monkey, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"xx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/flare/culttorch, +/turf/open/floor/cult, +/area/deathmatch) +"xC" = ( +/obj/effect/rune/wall, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/cult, +/area/deathmatch) +"ye" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/cult, +/area/deathmatch) +"yv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/cult, +/area/deathmatch) +"yY" = ( +/obj/effect/decal/cleanable/vomit, +/obj/effect/spawner/random/decoration/glowstick/on, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"zo" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"zX" = ( +/obj/structure/girder/bronze, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze/flat, +/area/deathmatch) +"Ab" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt, +/obj/item/flashlight/flare/culttorch, +/turf/open/floor/cult, +/area/deathmatch) +"An" = ( +/obj/structure/fluff/clockwork/alloy_shards/large, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"Ar" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/cult, +/area/deathmatch) +"Av" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"AE" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/cult, +/area/deathmatch) +"AN" = ( +/obj/structure/sacrificealtar, +/obj/item/knife/bloodletter{ + name = "McGuffin"; + desc = "An occult looking dagger that is cold to the touch. Somehow, the flawless orb on the pommel is made entirely of liquid blood. Honestly pretty disappointing as far as Mcguffins go." + }, +/turf/open/floor/wood/tile, +/area/deathmatch) +"AO" = ( +/obj/effect/decal/cleanable/ants, +/turf/closed/wall/heretic_rust, +/area/deathmatch) +"Ba" = ( +/obj/structure/destructible/cult/pylon, +/turf/open/floor/cult, +/area/deathmatch) +"Bd" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"Be" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"Bi" = ( +/obj/item/food/grown/banana, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"Bl" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Bp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/deathmatch) +"CB" = ( +/obj/structure/destructible/eldritch_crucible, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit, +/obj/effect/heretic_rune/big, +/turf/open/indestructible/plating, +/area/deathmatch) +"CE" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/deathmatch) +"CR" = ( +/mob/living/carbon/human/species/monkey, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Dn" = ( +/obj/structure/girder/cult, +/turf/open/floor/cult, +/area/deathmatch) +"Do" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/water/jungle, +/area/deathmatch) +"Ds" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/water/jungle, +/area/deathmatch) +"Du" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/item/flashlight/flare/torch, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"DA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/water/jungle, +/area/deathmatch) +"EF" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/indestructible/plating, +/area/deathmatch) +"Fj" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"Fn" = ( +/obj/item/food/grown/banana/bunch, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"FK" = ( +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"FO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/deathmatch) +"FQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/ants, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"FS" = ( +/obj/structure/fluff/clockwork/alloy_shards/medium_gearbit, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"Ga" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/effect/turf_decal/weather/dirt, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"GD" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"GE" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/cult, +/area/deathmatch) +"GO" = ( +/obj/item/food/grown/banana, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"GS" = ( +/obj/structure/girder/bronze, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze/flat, +/area/deathmatch) +"HN" = ( +/obj/structure/flora/rock/pile/jungle/large/style_random, +/obj/item/flashlight/flare/torch, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"HS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze/filled, +/area/deathmatch) +"HV" = ( +/obj/effect/rune/empower, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/cult, +/area/deathmatch) +"Ic" = ( +/obj/effect/decal/cleanable/ants, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"Ig" = ( +/turf/closed/indestructible/rock, +/area/deathmatch) +"Ik" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Io" = ( +/obj/structure/fluff/clockwork/blind_eye, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze/filled, +/area/deathmatch) +"IG" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/mob/living/carbon/human/species/monkey, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"IM" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/cult, +/area/deathmatch) +"Jf" = ( +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"JF" = ( +/obj/structure/flora/grass/jungle/a/style_random, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"JL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Kg" = ( +/turf/open/water/jungle, +/area/deathmatch) +"Kl" = ( +/obj/effect/spawner/structure/window/bronze, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"KL" = ( +/turf/open/floor/cult, +/area/deathmatch) +"KT" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/chasm/jungle, +/area/deathmatch) +"Lf" = ( +/obj/structure/fluff/clockwork/alloy_shards, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"LC" = ( +/obj/effect/decal/cleanable/blood/gibs/down, +/turf/open/floor/cult, +/area/deathmatch) +"LU" = ( +/obj/structure/flora/grass/jungle/a/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"My" = ( +/obj/structure/table/wood, +/obj/item/food/grown/holymelon, +/turf/open/floor/wood/tile, +/area/deathmatch) +"MM" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/chasm/jungle, +/area/deathmatch) +"Nf" = ( +/obj/structure/girder/cult, +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"NQ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water/jungle, +/area/deathmatch) +"NX" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/water/jungle, +/area/deathmatch) +"Or" = ( +/obj/structure/flora/tree/jungle/style_random, +/obj/structure/flora/coconuts, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Ov" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Pi" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/water/jungle, +/area/deathmatch) +"Px" = ( +/obj/structure/flora/tree/jungle/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"PH" = ( +/obj/effect/visible_heretic_influence, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"PI" = ( +/turf/open/floor/wood/large, +/area/deathmatch) +"PU" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/obj/structure/flora/rock/style_random, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"Qf" = ( +/turf/closed/wall/r_wall, +/area/deathmatch) +"QF" = ( +/obj/effect/visible_heretic_influence, +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"QO" = ( +/obj/effect/forcefield/cult, +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"QQ" = ( +/turf/closed/wall/r_wall/heretic_rust, +/area/deathmatch) +"Rj" = ( +/obj/structure/flora/rock/style_random, +/obj/effect/turf_decal/weather/dirt, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"Rm" = ( +/obj/effect/forcefield/cult/permanent, +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"RE" = ( +/obj/structure/bonfire/prelit, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"RL" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"RW" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"Sf" = ( +/obj/effect/rune/wall, +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"Sh" = ( +/obj/effect/decal/cleanable/blood/gibs/up, +/turf/open/floor/cult, +/area/deathmatch) +"Sp" = ( +/obj/structure/fluff/clockwork/alloy_shards/small, +/obj/structure/fluff/clockwork/fallen_armor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"Sw" = ( +/turf/open/misc/dirt/jungle/wasteland, +/area/deathmatch) +"SC" = ( +/turf/closed/wall/heretic_rust, +/area/deathmatch) +"SE" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/water/jungle, +/area/deathmatch) +"SW" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Ti" = ( +/obj/effect/decal/cleanable/vomit, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/indestructible/plating, +/area/deathmatch) +"To" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/obj/structure/flora/grass/jungle/b/style_random, +/obj/structure/flora/rock/pile/jungle/large/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"TE" = ( +/obj/structure/flora/rock/pile/style_random, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/misc/asteroid/moon, +/area/deathmatch) +"TN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/water/jungle, +/area/deathmatch) +"TX" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/decal/cleanable/ants/fire, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"UI" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/cult, +/area/deathmatch) +"UM" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/obj/effect/turf_decal/siding/wood, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"UQ" = ( +/obj/structure/rack/skeletal, +/obj/item/clothing/head/helmet/chaplain/witchunter_hat{ + pixel_y = 8; + pixel_x = -1 + }, +/turf/open/floor/wood/tile, +/area/deathmatch) +"UX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"UY" = ( +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"Vm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"Vv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/water/jungle, +/area/deathmatch) +"VF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/flora/bush/jungle/b/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"VP" = ( +/obj/effect/spawner/random/decoration/glowstick/on, +/turf/open/indestructible/plating, +/area/deathmatch) +"VY" = ( +/obj/structure/table/bronze, +/obj/item/clothing/shoes/bronze, +/obj/item/clothing/suit/costume/bronze, +/obj/item/clothing/head/costume/bronze, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/torch, +/turf/open/floor/bronze/flat, +/area/deathmatch) +"VZ" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Wm" = ( +/obj/structure/fluff/clockwork/alloy_shards/medium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/bronze, +/area/deathmatch) +"Wp" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/dirt/jungle/dark, +/area/deathmatch) +"Xa" = ( +/obj/structure/rack/skeletal, +/obj/item/clothing/head/helmet/chaplain/ancient{ + pixel_y = 6 + }, +/turf/open/floor/wood/tile, +/area/deathmatch) +"XL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/wallframe/painting/eldritch/weeping, +/turf/open/floor/plating/heretic_rust, +/area/deathmatch) +"XT" = ( +/turf/closed/wall/mineral/cult/artificer, +/area/deathmatch) +"Yn" = ( +/obj/effect/decal/cleanable/ants, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Ys" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/flora/rock/pile/jungle/style_random, +/turf/open/misc/dirt/jungle, +/area/deathmatch) +"Yv" = ( +/obj/structure/flora/tree/jungle/small/style_random, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Yx" = ( +/obj/structure/flora/rock/pile/jungle/style_random, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"YA" = ( +/obj/effect/decal/cleanable/blood/gibs/limb, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/cult, +/area/deathmatch) +"YI" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/deathmatch) +"YN" = ( +/obj/structure/girder/cult, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/cult, +/area/deathmatch) +"YY" = ( +/obj/structure/girder/cult, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/cult, +/area/deathmatch) +"Zj" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"Zw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/tile, +/area/deathmatch) +"ZJ" = ( +/obj/structure/destructible/cult/pants_altar, +/obj/effect/rune/apocalypse{ + req_cultists = 999 + }, +/obj/item/knife/ritual, +/turf/open/floor/cult, +/area/deathmatch) +"ZR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/misc/grass/jungle, +/area/deathmatch) +"ZY" = ( +/obj/structure/bonfire/prelit, +/turf/open/misc/dirt/jungle, +/area/deathmatch) + +(1,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(2,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +SC +SC +SC +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(3,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +sa +UY +UY +TE +QQ +QQ +QQ +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(4,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +bI +qa +Px +qa +dS +bU +UY +UY +bU +QQ +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(5,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +ij +dS +GO +qa +qa +Sw +oC +EF +Sw +Sw +Sw +Px +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(6,1,1) = {" +Ig +Ig +Ig +Ig +Ig +jL +jv +CR +LU +Yn +Sw +Sw +yY +aJ +bU +QQ +QF +Sw +LU +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(7,1,1) = {" +Ig +Ig +Ig +Ig +jL +ij +qa +hw +qa +Sw +oC +SC +sE +UY +Be +ox +Qf +Sw +Sw +IG +ij +jL +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(8,1,1) = {" +Ig +Ig +Ig +Ig +bI +nO +HN +qa +vI +oC +QQ +QQ +UY +Be +UY +bU +UX +Bi +oC +LU +LU +dS +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(9,1,1) = {" +Ig +Ig +Ig +ij +qa +qa +LU +qa +Sw +JF +QQ +pz +UY +CB +eL +Be +XL +VP +AO +tm +qa +vI +pr +Ig +Ig +Ig +Ig +Ig +Ig +"} +(10,1,1) = {" +Ig +Ig +Ig +aN +qa +qa +Or +Bl +QF +Qf +tl +UY +eU +UY +UY +UY +SC +kc +Ga +PH +FK +FK +FK +ZY +Ig +Ig +Ig +Ig +Ig +"} +(11,1,1) = {" +Ig +Ig +Ig +GD +qa +LU +Fn +qa +Sw +Sw +oC +UY +UY +EF +UY +mr +dI +lx +PI +Vm +iJ +TN +qh +FK +wR +Ig +Ig +Ig +Ig +"} +(12,1,1) = {" +Ig +Ig +wR +ZY +Ic +FK +FK +sC +LU +pr +Sw +Ti +fO +lR +hg +Bd +FK +lx +PI +NX +NQ +NQ +NQ +TN +CE +DA +Ig +Ig +Ig +"} +(13,1,1) = {" +Ig +Ig +iJ +TN +TN +TN +qh +FK +FK +FK +cs +FK +eB +SC +FK +sC +iJ +Ds +PI +Bp +FK +FK +wR +SE +FK +sC +Ig +Ig +Ig +"} +(14,1,1) = {" +Ig +Ig +SE +NQ +NQ +NQ +Kg +TN +qh +FK +FK +iJ +qh +RL +PI +Do +Kg +Pi +PI +gx +FK +qa +FK +FK +FK +Du +Ig +Ig +Ig +"} +(15,1,1) = {" +Ig +Ig +sC +sC +FK +bb +SE +NQ +bv +PI +ou +NQ +Kg +Ds +ft +Vv +oO +FK +ZY +qa +GD +qa +jv +Yn +GD +RW +jL +Ig +Ig +"} +(16,1,1) = {" +Ig +Ig +wP +GD +qa +Wp +ZY +FK +RL +PI +Bp +bb +SE +rD +YI +jb +rH +Ys +iq +iq +hr +qp +GO +hY +qa +ij +Ig +Ig +Ig +"} +(17,1,1) = {" +Ig +Ig +jC +xc +QO +fc +Nf +Sf +Rm +yv +Jf +FK +sC +FK +sC +lx +oB +qg +qg +qg +vR +gJ +qa +rm +jv +nO +Ig +Ig +Ig +"} +(18,1,1) = {" +Ig +Ig +ij +Px +Nf +lX +Wp +Jf +Ab +Sf +Jf +qa +GD +qa +qa +gi +Xa +cT +My +qg +qg +fl +jv +qa +qa +ku +Ig +Ig +Ig +"} +(19,1,1) = {" +Ig +Ig +PU +cR +Jf +Ar +cH +cH +KL +YA +QO +Jf +Yv +qa +RE +Ov +qg +qg +AN +lK +qg +VF +qa +VZ +iq +Yx +Ig +Ig +Ig +"} +(20,1,1) = {" +Ig +Ig +Ig +oF +Nf +Wp +gz +KL +jP +KL +lC +Sf +Jf +qa +qa +Ov +wf +qg +My +qg +cT +fl +VZ +Zj +bj +Ig +Ig +Ig +Ig +"} +(21,1,1) = {" +Ig +Ig +Ig +Rj +XT +YY +Sh +ye +ZJ +ye +LC +pF +XT +qa +FQ +eG +oB +Zw +qg +qg +UQ +ZR +Zj +wH +FO +KT +Ig +Ig +Ig +"} +(22,1,1) = {" +Ig +Ig +XT +KL +sJ +AE +KL +cr +KL +AE +jI +Nf +Jf +qa +qa +ih +JL +JL +JL +JL +qL +SW +wH +FO +KT +hV +Ig +Ig +Ig +"} +(23,1,1) = {" +Ig +Ig +XT +GE +ij +Jf +IM +sF +qk +Nf +Wp +Jf +jv +hY +qa +qa +qa +qa +qa +qa +Ov +wH +FO +KT +hV +hV +Ig +Ig +Ig +"} +(24,1,1) = {" +Ig +Ig +Ig +Wp +Nf +UI +KL +Ba +xC +Jf +Jf +qa +qa +jv +To +qa +qa +jv +Or +TX +Ov +wv +KT +hV +hV +Ig +Ig +Ig +Ig +"} +(25,1,1) = {" +Ig +Ig +XT +mD +KL +HV +gz +KL +YN +Wp +qa +qa +Yn +qa +qa +qa +jv +qa +dS +qa +UM +lr +MM +hV +Ig +Ig +Ig +Ig +Ig +"} +(26,1,1) = {" +Ig +Ig +Ig +XT +xx +KL +Nf +Sf +Jf +RE +Px +Ik +GO +qa +nO +jL +Av +bO +rc +bn +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(27,1,1) = {" +Ig +Ig +Ig +Ig +Dn +cb +Wp +Jf +qa +jv +qa +qa +qa +jL +bI +Ig +Lf +px +fW +dv +Sp +zX +bn +Ig +Ig +Ig +Ig +Ig +Ig +"} +(28,1,1) = {" +Ig +Ig +Ig +Ig +Ig +iO +jL +ij +zo +Ig +Ig +Ig +Ig +Ig +Ig +Ig +An +HS +Fj +Fj +rh +sd +Kl +Ig +Ig +Ig +Ig +Ig +Ig +"} +(29,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +bn +GS +Wm +tE +Io +uT +Kl +Ig +Ig +Ig +Ig +Ig +Ig +"} +(30,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Kl +FS +VY +bn +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} +(31,1,1) = {" +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +Ig +"} diff --git a/_maps/deathmatch/secu_ring.dmm b/_maps/deathmatch/secu_ring.dmm deleted file mode 100644 index 615103813faab..0000000000000 --- a/_maps/deathmatch/secu_ring.dmm +++ /dev/null @@ -1,567 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"e" = ( -/obj/structure/barricade/security/ctf, -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) -"l" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) -"n" = ( -/turf/open/floor/pod/light, -/area/deathmatch) -"o" = ( -/obj/machinery/recharger, -/turf/open/floor/pod/light, -/area/deathmatch) -"t" = ( -/obj/structure/barricade/security/ctf, -/turf/open/floor/pod/light, -/area/deathmatch) -"u" = ( -/turf/open/floor/pod, -/area/deathmatch) -"G" = ( -/obj/structure/barricade/security/ctf, -/turf/open/floor/pod/dark, -/area/deathmatch) -"H" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/pod, -/area/deathmatch) -"I" = ( -/turf/closed/indestructible/reinforced, -/area/deathmatch) -"M" = ( -/obj/machinery/light, -/turf/open/floor/pod, -/area/deathmatch) -"N" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/pod, -/area/deathmatch) -"O" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) -"R" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/pod, -/area/deathmatch) -"S" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) -"T" = ( -/obj/machinery/light, -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) -"W" = ( -/turf/open/floor/pod/dark, -/area/deathmatch) -"X" = ( -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) -"Y" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/turf/open/floor/mineral/plastitanium/red, -/area/deathmatch) - -(1,1,1) = {" -a -a -a -a -a -a -a -I -I -I -I -I -I -I -a -a -a -a -a -a -a -"} -(2,1,1) = {" -a -a -a -a -a -I -I -I -X -X -O -X -X -I -I -I -a -a -a -a -a -"} -(3,1,1) = {" -a -a -a -a -I -I -X -X -X -X -Y -X -X -X -X -I -I -a -a -a -a -"} -(4,1,1) = {" -a -a -a -I -I -X -X -X -X -n -o -n -X -X -X -X -I -I -a -a -a -"} -(5,1,1) = {" -a -a -I -I -e -X -X -n -n -t -t -t -n -n -X -X -e -I -I -a -a -"} -(6,1,1) = {" -a -I -I -X -X -e -n -n -t -n -W -n -t -n -n -e -X -X -I -I -a -"} -(7,1,1) = {" -a -I -X -X -X -n -o -n -W -W -W -W -W -n -o -n -X -X -X -I -a -"} -(8,1,1) = {" -I -I -X -X -n -n -n -W -W -G -G -G -W -W -n -n -n -X -X -I -I -"} -(9,1,1) = {" -I -X -X -X -n -t -W -W -W -u -u -u -W -W -W -t -n -X -X -X -I -"} -(10,1,1) = {" -I -X -X -n -t -n -W -G -u -u -N -u -u -G -W -n -t -n -X -X -I -"} -(11,1,1) = {" -I -l -Y -o -t -W -W -G -u -M -I -R -u -G -W -W -t -o -Y -T -I -"} -(12,1,1) = {" -I -X -X -n -t -n -W -G -u -u -H -u -u -G -W -n -t -n -X -X -I -"} -(13,1,1) = {" -I -X -X -X -n -t -W -W -W -u -u -u -W -W -W -t -n -X -X -X -I -"} -(14,1,1) = {" -I -I -X -X -n -n -n -W -W -G -G -G -W -W -n -n -n -X -X -I -I -"} -(15,1,1) = {" -a -I -X -X -X -n -o -n -W -W -W -W -W -n -o -n -X -X -X -I -a -"} -(16,1,1) = {" -a -I -I -X -X -e -n -n -t -n -W -n -t -n -n -e -X -X -I -I -a -"} -(17,1,1) = {" -a -a -I -I -e -X -X -n -n -t -t -t -n -n -X -X -e -I -I -a -a -"} -(18,1,1) = {" -a -a -a -I -I -X -X -X -X -n -o -n -X -X -X -X -I -I -a -a -a -"} -(19,1,1) = {" -a -a -a -a -I -I -X -X -X -X -Y -X -X -X -X -I -I -a -a -a -a -"} -(20,1,1) = {" -a -a -a -a -a -I -I -I -X -X -S -X -X -I -I -I -a -a -a -a -a -"} -(21,1,1) = {" -a -a -a -a -a -a -a -I -I -I -I -I -I -I -a -a -a -a -a -a -a -"} diff --git a/_maps/deathmatch/shooting_range.dmm b/_maps/deathmatch/shooting_range.dmm deleted file mode 100644 index e6d04007ebd6d..0000000000000 --- a/_maps/deathmatch/shooting_range.dmm +++ /dev/null @@ -1,750 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/deathmatch) -"b" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/deathmatch_player_spawn, -/turf/open/floor/wood/large, -/area/deathmatch) -"c" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/wood/large, -/area/deathmatch) -"d" = ( -/obj/item/ammo_box/magazine/m9mm/ap, -/turf/open/floor/wood, -/area/deathmatch) -"e" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/wood, -/area/deathmatch) -"f" = ( -/obj/machinery/light/directional/west, -/obj/structure/barricade/sandbags, -/turf/open/floor/wood, -/area/deathmatch) -"g" = ( -/turf/closed/indestructible/iron, -/area/deathmatch) -"h" = ( -/obj/structure/barricade/wooden, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"i" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/wood, -/area/deathmatch) -"j" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"k" = ( -/obj/structure/table/reinforced, -/obj/item/ammo_box/magazine/m9mm/fire, -/turf/open/floor/wood/large, -/area/deathmatch) -"l" = ( -/obj/structure/table/reinforced, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/turf/open/floor/wood/large, -/area/deathmatch) -"m" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"n" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/deathmatch) -"o" = ( -/obj/item/ammo_box/magazine/m9mm/ap, -/obj/structure/closet/crate/secure/weapon{ - locked = 0 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"p" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"q" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"r" = ( -/obj/item/flashlight/flare, -/turf/open/floor/wood, -/area/deathmatch) -"s" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/deathmatch) -"t" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"u" = ( -/obj/structure/barricade/sandbags, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/deathmatch) -"v" = ( -/obj/item/reagent_containers/hypospray/medipen, -/turf/open/floor/wood, -/area/deathmatch) -"x" = ( -/obj/item/ammo_box/magazine/m9mm/fire, -/turf/open/floor/wood, -/area/deathmatch) -"y" = ( -/obj/item/ammo_box/magazine/m9mm/fire, -/obj/structure/closet/crate/secure/weapon{ - locked = 0 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"z" = ( -/turf/open/floor/wood, -/area/deathmatch) -"A" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"B" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/deathmatch) -"C" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp, -/turf/open/floor/wood/large, -/area/deathmatch) -"D" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"E" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood/tile, -/area/deathmatch) -"F" = ( -/obj/structure/barricade/wooden, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/tile, -/area/deathmatch) -"I" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/tile, -/area/deathmatch) -"K" = ( -/turf/closed/wall, -/area/deathmatch) -"M" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/wood, -/area/deathmatch) -"O" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/wood, -/area/deathmatch) -"Q" = ( -/obj/item/ammo_box/magazine/m9mm/hp, -/obj/structure/closet/crate/secure/weapon{ - locked = 0 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/deathmatch) -"T" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/turf/open/floor/wood, -/area/deathmatch) -"U" = ( -/turf/open/floor/wood/large, -/area/deathmatch) -"W" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/deathmatch) -"X" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/large, -/area/deathmatch) -"Y" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood, -/area/deathmatch) - -(1,1,1) = {" -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -"} -(2,1,1) = {" -g -E -j -q -q -h -q -q -q -q -q -q -Q -q -q -q -j -q -q -q -o -g -"} -(3,1,1) = {" -g -I -z -z -T -K -z -z -M -z -z -z -z -z -z -i -z -z -z -z -m -g -"} -(4,1,1) = {" -g -I -z -z -z -K -M -M -M -z -z -z -z -z -O -K -z -z -K -O -m -g -"} -(5,1,1) = {" -g -I -z -a -z -K -z -z -z -z -z -z -e -z -O -z -z -z -z -K -m -g -"} -(6,1,1) = {" -g -F -O -K -z -n -z -z -z -a -z -e -z -z -K -W -e -z -z -z -t -g -"} -(7,1,1) = {" -g -I -z -f -e -z -r -K -K -K -O -O -K -z -K -z -z -T -z -z -m -g -"} -(8,1,1) = {" -g -I -z -M -M -M -z -c -U -U -U -U -X -z -O -z -z -z -z -K -m -g -"} -(9,1,1) = {" -g -I -e -z -v -z -z -K -U -l -b -U -X -z -O -K -K -K -K -O -m -g -"} -(10,1,1) = {" -g -I -z -z -z -z -z -K -U -C -k -U -K -z -z -z -z -M -z -z -m -g -"} -(11,1,1) = {" -g -I -z -z -z -z -z -c -U -U -U -U -O -e -v -z -z -M -x -z -m -g -"} -(12,1,1) = {" -g -I -z -M -M -z -z -K -O -O -K -K -K -z -z -z -z -M -M -z -t -g -"} -(13,1,1) = {" -g -I -z -e -M -z -z -B -z -z -z -u -d -z -z -r -z -z -z -z -m -g -"} -(14,1,1) = {" -g -I -z -z -M -z -z -z -z -M -z -M -z -z -s -K -K -O -O -K -m -g -"} -(15,1,1) = {" -g -I -K -O -O -K -O -z -z -M -z -z -z -z -z -K -T -z -z -K -m -g -"} -(16,1,1) = {" -g -I -z -z -z -z -O -z -K -K -z -K -O -z -z -O -z -z -s -K -m -g -"} -(17,1,1) = {" -g -I -e -z -T -s -K -z -K -z -z -z -O -z -z -O -e -z -z -K -m -g -"} -(18,1,1) = {" -g -I -z -z -z -z -K -Y -K -W -z -z -O -z -z -K -z -z -z -z -m -g -"} -(19,1,1) = {" -g -I -z -z -z -z -K -e -K -z -e -z -K -z -z -K -K -K -K -K -m -g -"} -(20,1,1) = {" -g -I -z -K -K -z -K -z -K -K -z -z -K -e -z -z -z -z -z -z -m -g -"} -(21,1,1) = {" -g -y -D -D -D -D -D -D -D -A -D -D -D -D -D -D -D -D -D -D -p -g -"} -(22,1,1) = {" -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -"} diff --git a/_maps/deathmatch/sniper_elite.dmm b/_maps/deathmatch/sniper_elite.dmm deleted file mode 100644 index 3882bd4a8140d..0000000000000 --- a/_maps/deathmatch/sniper_elite.dmm +++ /dev/null @@ -1,802 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/closed/indestructible/reinforced, -/area/deathmatch) -"b" = ( -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"c" = ( -/turf/open/floor/fake_snow, -/area/deathmatch) -"e" = ( -/obj/structure/statue/snow/snowman, -/obj/item/toy/balloon/syndicate{ - pixel_y = 11; - pixel_x = 5 - }, -/turf/open/floor/fake_snow, -/area/deathmatch) -"f" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"g" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"i" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"k" = ( -/obj/structure/rack, -/obj/item/ammo_box/magazine/sniper_rounds/penetrator, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"n" = ( -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"o" = ( -/obj/item/stack/medical/suture, -/turf/open/floor/fake_snow, -/area/deathmatch) -"p" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"q" = ( -/obj/item/crowbar, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"r" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/barricade/wooden, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"t" = ( -/obj/structure/barricade/wooden, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"u" = ( -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"v" = ( -/obj/structure/rack, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"x" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"y" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"z" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"A" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"B" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/fakeice/slippery, -/area/deathmatch) -"C" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/chasm, -/area/deathmatch) -"D" = ( -/turf/open/floor/fakeice/slippery, -/area/deathmatch) -"F" = ( -/obj/structure/closet/crate/secure/science, -/obj/item/toy/plush/lizard_plushie/green, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"H" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"J" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"K" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/fake_snow, -/area/deathmatch) -"L" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/fakeice/slippery, -/area/deathmatch) -"M" = ( -/obj/machinery/door/airlock/freezer, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/iron/freezer, -/area/deathmatch) -"N" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"O" = ( -/obj/machinery/door/airlock/freezer, -/turf/open/floor/iron/freezer, -/area/deathmatch) -"P" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"Q" = ( -/obj/structure/rack, -/obj/item/reagent_containers/hypospray/medipen/stimulants, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"R" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"U" = ( -/obj/structure/barricade/wooden, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"V" = ( -/obj/structure/rack, -/obj/item/ammo_box/magazine/sniper_rounds/penetrator, -/turf/open/floor/carpet/neon, -/area/deathmatch) -"W" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron/freezer, -/area/deathmatch) -"Y" = ( -/turf/open/floor/carpet/neon, -/area/deathmatch) -"Z" = ( -/obj/effect/landmark/deathmatch_player_spawn, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent, -/turf/open/floor/carpet/neon, -/area/deathmatch) - -(1,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -"} -(2,1,1) = {" -a -F -r -Y -p -Y -Y -Y -z -H -Y -Y -p -Y -H -Y -z -Y -Y -i -Y -H -Y -Y -Y -Y -z -Y -Y -Y -a -"} -(3,1,1) = {" -a -p -H -Y -i -Y -H -Y -i -Y -Y -Y -p -Y -Y -Y -i -Y -Y -p -Y -Y -i -Y -Y -H -Y -Y -J -n -a -"} -(4,1,1) = {" -a -Y -Y -H -p -Y -Y -Y -i -Y -Y -Y -i -Y -H -Y -i -H -Y -p -Y -Y -i -H -Y -Y -i -Y -P -P -a -"} -(5,1,1) = {" -a -i -i -Y -a -Y -H -Y -p -Y -H -Y -i -Y -Y -Y -p -Y -Y -a -Y -Y -a -n -J -n -p -n -Y -H -a -"} -(6,1,1) = {" -a -Y -Y -Y -a -n -R -J -a -n -n -n -N -n -n -n -p -b -b -y -b -x -a -b -b -x -p -Y -H -Y -a -"} -(7,1,1) = {" -a -a -p -i -a -P -P -U -a -a -P -P -p -p -P -P -a -a -P -P -P -U -a -f -f -t -a -a -p -a -a -"} -(8,1,1) = {" -a -n -J -n -U -c -c -c -c -e -c -c -c -c -c -c -L -D -D -c -c -c -c -c -D -D -P -J -Y -H -a -"} -(9,1,1) = {" -a -A -n -n -P -c -c -D -D -c -o -D -D -D -c -D -D -D -D -D -D -c -D -D -D -D -P -n -Y -v -a -"} -(10,1,1) = {" -a -k -n -n -P -D -D -D -D -D -D -D -D -D -D -D -D -c -D -D -D -D -D -D -D -c -a -A -H -V -a -"} -(11,1,1) = {" -a -Q -n -J -U -D -D -c -K -D -D -c -c -D -D -c -c -c -c -c -D -D -B -c -c -c -p -Y -Y -Y -a -"} -(12,1,1) = {" -a -p -p -a -U -U -P -P -a -U -P -P -p -P -P -P -a -U -P -P -P -P -a -p -i -i -a -a -p -a -a -"} -(13,1,1) = {" -a -Y -Y -Y -n -n -R -n -p -n -n -n -R -n -n -n -p -x -n -n -n -n -a -Z -u -u -p -Y -Y -H -a -"} -(14,1,1) = {" -a -Y -Y -H -Y -Y -Y -Y -a -Y -Y -Y -Y -Y -Y -H -a -Y -Y -H -Y -Y -i -Y -Y -H -p -p -i -Y -a -"} -(15,1,1) = {" -a -q -Y -Y -a -Y -Y -Y -i -Y -Y -H -a -Y -Y -Y -Y -Y -Y -Y -Y -Y -p -Y -Y -Y -i -Y -H -Y -a -"} -(16,1,1) = {" -a -M -a -O -a -Y -Y -H -i -Y -Y -Y -i -Y -Y -Y -g -Y -Y -i -Y -Y -H -Y -Y -Y -g -Y -i -i -a -"} -(17,1,1) = {" -a -C -a -W -p -Y -Y -Y -g -Y -Y -Y -i -Y -H -Y -a -Y -Y -i -Y -Y -Y -Y -H -Y -a -Y -Y -Y -a -"} -(18,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a -"} diff --git a/_maps/deathmatch/species_warfare.dmm b/_maps/deathmatch/species_warfare.dmm new file mode 100644 index 0000000000000..61397b1e5ae7d --- /dev/null +++ b/_maps/deathmatch/species_warfare.dmm @@ -0,0 +1,2491 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aA" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/medical_kiosk, +/obj/structure/sign/poster/official/moth_meth/directional/east, +/turf/open/indestructible/white, +/area/deathmatch) +"aD" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/effect/spawner/random/vending/colavend, +/turf/open/indestructible, +/area/deathmatch) +"by" = ( +/mob/living/basic/mothroach, +/turf/open/indestructible/white, +/area/deathmatch) +"bL" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/surgery_tray/full, +/turf/open/indestructible/white, +/area/deathmatch) +"bX" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/structure/table/glass, +/obj/item/storage/fancy/donut_box, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"cd" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/machinery/light/built/directional/south, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"cl" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/light/small/blacklight/directional/north, +/turf/open/floor/wood, +/area/deathmatch) +"cs" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/vehicle/sealed/mecha/ripley, +/obj/item/mecha_parts/mecha_equipment/air_tank/full, +/turf/open/floor/iron/dark, +/area/deathmatch) +"cy" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/cryo_cell, +/turf/open/indestructible/white, +/area/deathmatch) +"dv" = ( +/obj/effect/turf_decal/tile/green/half/contrasted, +/turf/open/indestructible, +/area/deathmatch) +"dA" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/turf/open/indestructible/white, +/area/deathmatch) +"dB" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/portable_atmospherics/canister/plasma, +/turf/open/indestructible, +/area/deathmatch) +"dX" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/computer/communications, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"ee" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/indestructible, +/area/deathmatch) +"em" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"es" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/stasis{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/obj/machinery/light/floor, +/turf/open/indestructible/white, +/area/deathmatch) +"eE" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/atmospherics/components/binary/crystallizer{ + dir = 4 + }, +/turf/open/indestructible, +/area/deathmatch) +"eO" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 1 + }, +/turf/open/indestructible, +/area/deathmatch) +"eW" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"fg" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted, +/turf/open/indestructible/dark, +/area/deathmatch) +"fm" = ( +/obj/item/pillow/random, +/turf/open/floor/wood, +/area/deathmatch) +"fA" = ( +/obj/machinery/power/tracker, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/deathmatch) +"fP" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/door/airlock/command/glass, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"fV" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/machinery/door/airlock/science/glass, +/turf/open/indestructible/white/smooth_large, +/area/deathmatch) +"gH" = ( +/mob/living/basic/pet/cat/feral, +/obj/structure/bed, +/obj/item/bedsheet/runtime, +/obj/machinery/light/small/blacklight/directional/south, +/turf/open/floor/wood, +/area/deathmatch) +"gI" = ( +/turf/open/indestructible/dark, +/area/deathmatch) +"gM" = ( +/obj/effect/spawner/random/structure/closet_private, +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/wood, +/area/deathmatch) +"hk" = ( +/obj/effect/turf_decal/tile/green/full, +/obj/machinery/door/airlock/glass, +/turf/open/indestructible/large, +/area/deathmatch) +"ho" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible, +/area/deathmatch) +"hA" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/open/indestructible, +/area/deathmatch) +"hC" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table/optable, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/white, +/area/deathmatch) +"hG" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/mecha_parts/mecha_equipment/ripleyupgrade, +/turf/open/floor/iron/dark, +/area/deathmatch) +"hR" = ( +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/indestructible/plating, +/area/deathmatch) +"is" = ( +/obj/item/grenade/spawnergrenade/cat, +/turf/open/floor/wood, +/area/deathmatch) +"iu" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/sleeper/self_control, +/turf/open/indestructible/white, +/area/deathmatch) +"ix" = ( +/obj/effect/turf_decal/tile/dark_blue{ + dir = 4 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"iK" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/turf/open/indestructible, +/area/deathmatch) +"iM" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/table/glass, +/obj/item/surgery_tray/full, +/turf/open/indestructible/white, +/area/deathmatch) +"iV" = ( +/obj/item/card/id/advanced/engioutpost, +/obj/effect/decal/remains/human/smokey, +/turf/open/indestructible, +/area/deathmatch) +"jm" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/closet/firecloset/full, +/turf/open/indestructible/dark, +/area/deathmatch) +"jn" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/machinery/light/floor, +/turf/open/indestructible/dark, +/area/deathmatch) +"ju" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"jw" = ( +/turf/open/space/basic, +/area/deathmatch) +"jR" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/machinery/rnd/production/protolathe/offstation, +/obj/machinery/light/directional/east, +/turf/open/indestructible/white, +/area/deathmatch) +"ko" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/vending/cigarette/syndicate, +/obj/machinery/light/directional/east, +/turf/open/indestructible, +/area/deathmatch) +"kY" = ( +/obj/machinery/door/airlock{ + id_tag = "Cabin2"; + name = "Cabin 4" + }, +/turf/open/chasm{ + icon_state = "wood"; + icon = 'icons/turf/floors.dmi'; + base_icon_state = "wood"; + name = "Dorms 4" + }, +/area/deathmatch) +"lF" = ( +/obj/effect/spawner/random/structure/closet_private, +/turf/open/floor/wood, +/area/deathmatch) +"mn" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/machinery/computer/security/wooden_tv{ + pixel_x = 1; + pixel_y = 6 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"mo" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/west, +/turf/open/indestructible/large, +/area/deathmatch) +"mK" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/closet/emcloset, +/turf/open/indestructible/white, +/area/deathmatch) +"mO" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"nb" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/turf/open/indestructible/dark/textured, +/area/deathmatch) +"nf" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/glass/bottle/champagne/cursed, +/obj/item/food/donut/trumpet, +/turf/open/indestructible/dark, +/area/deathmatch) +"nQ" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"nT" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted, +/obj/structure/closet/firecloset/full, +/turf/open/indestructible/white, +/area/deathmatch) +"oq" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/indestructible/white, +/area/deathmatch) +"oy" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/bz, +/turf/open/indestructible, +/area/deathmatch) +"oD" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/blacklight/directional/west, +/turf/open/indestructible/dark/textured, +/area/deathmatch) +"oN" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/nitrium, +/turf/open/indestructible, +/area/deathmatch) +"pD" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/turf/open/indestructible, +/area/deathmatch) +"pH" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/fireaxe/metal_h2_axe, +/turf/open/indestructible, +/area/deathmatch) +"pJ" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light/directional/west, +/turf/open/indestructible, +/area/deathmatch) +"pL" = ( +/mob/living/basic/lizard/wags_his_tail, +/obj/effect/decal/cleanable/dirt, +/turf/open/indestructible, +/area/deathmatch) +"qF" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/indestructible/white, +/area/deathmatch) +"qM" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"qV" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"rq" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table/reinforced, +/obj/item/toy/plush/slimeplushie{ + pixel_y = 10 + }, +/obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun, +/turf/open/floor/iron/dark, +/area/deathmatch) +"ru" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/rnd/production/circuit_imprinter/offstation, +/obj/item/mecha_parts/mecha_equipment/wormhole_generator, +/turf/open/indestructible/white, +/area/deathmatch) +"rO" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/item/melee/supermatter_sword, +/obj/machinery/light/small/blacklight/directional/south, +/turf/open/floor/wood, +/area/deathmatch) +"rP" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/table, +/obj/item/restraints/legcuffs/beartrap{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/restraints/legcuffs/beartrap{ + pixel_x = 2 + }, +/obj/item/key/janitor{ + pixel_y = 10 + }, +/turf/open/indestructible, +/area/deathmatch) +"rV" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/deathmatch) +"sn" = ( +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/wood, +/area/deathmatch) +"st" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, +/turf/open/indestructible/white, +/area/deathmatch) +"su" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/belt/utility/full{ + pixel_y = 4 + }, +/obj/item/storage/belt/utility/full, +/turf/open/indestructible, +/area/deathmatch) +"sx" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"sJ" = ( +/turf/open/floor/wood, +/area/deathmatch) +"sL" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/structure/table/glass, +/obj/item/storage/medkit/regular, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"sW" = ( +/obj/effect/turf_decal/tile/dark_blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/indestructible, +/area/deathmatch) +"tR" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"uq" = ( +/obj/structure/table, +/obj/effect/spawner/random/entertainment/dice, +/turf/open/indestructible, +/area/deathmatch) +"uQ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"uX" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible, +/area/deathmatch) +"vb" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/turf/open/indestructible, +/area/deathmatch) +"vm" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 8 + }, +/turf/open/indestructible, +/area/deathmatch) +"vq" = ( +/obj/structure/cable, +/turf/open/floor/iron/solarpanel/airless, +/area/deathmatch) +"vB" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible, +/area/deathmatch) +"vI" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/indestructible, +/area/deathmatch) +"vT" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/nob, +/obj/machinery/light/built/directional/south, +/turf/open/indestructible, +/area/deathmatch) +"wb" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/stasis{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/obj/machinery/light/floor, +/turf/open/indestructible/white, +/area/deathmatch) +"wd" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/indestructible, +/area/deathmatch) +"wj" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/indestructible, +/area/deathmatch) +"wA" = ( +/obj/structure/table/glass, +/obj/item/storage/box/syringes, +/obj/item/gun/syringe, +/obj/item/reagent_containers/cup/bottle/morphine{ + pixel_y = 17; + pixel_x = -7 + }, +/obj/item/reagent_containers/cup/bottle/traitor{ + pixel_y = 17; + pixel_x = 8 + }, +/obj/item/toy/plush/moth{ + name = "Mender Moff" + }, +/turf/open/indestructible/white, +/area/deathmatch) +"wG" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/structure/closet/firecloset/full, +/turf/open/indestructible/white, +/area/deathmatch) +"wM" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/jani_wardrobe, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/blacklight/directional/north, +/turf/open/indestructible, +/area/deathmatch) +"xe" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/indestructible, +/area/deathmatch) +"xj" = ( +/obj/effect/decal/cleanable/blood/footprints, +/turf/open/indestructible/white, +/area/deathmatch) +"xL" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/indestructible/large, +/area/deathmatch) +"xT" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/item/storage/medkit/brute{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/storage/medkit/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/cable, +/obj/structure/table/glass, +/turf/open/indestructible/white, +/area/deathmatch) +"yq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/indestructible/white, +/area/deathmatch) +"yy" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/glass/bottle/champagne/cursed, +/obj/item/food/donut/trumpet, +/turf/open/indestructible/dark, +/area/deathmatch) +"yD" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/obj/machinery/light/cold/dim/directional/east, +/turf/open/indestructible/white, +/area/deathmatch) +"yU" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted, +/obj/effect/decal/cleanable/dirt, +/turf/open/indestructible, +/area/deathmatch) +"zg" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted, +/obj/item/kirbyplants/random, +/turf/open/indestructible, +/area/deathmatch) +"zs" = ( +/obj/effect/turf_decal/tile/blue/full, +/turf/open/indestructible/white/smooth_large, +/area/deathmatch) +"zt" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/machinery/light/built/directional/south, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"zw" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 4 + }, +/turf/open/indestructible, +/area/deathmatch) +"zx" = ( +/obj/item/stack/tile/iron/four{ + pixel_y = 7; + pixel_x = 10 + }, +/obj/structure/cable, +/turf/open/indestructible/plating, +/area/deathmatch) +"zJ" = ( +/turf/closed/indestructible/reinforced, +/area/deathmatch) +"zK" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted, +/turf/open/indestructible/dark, +/area/deathmatch) +"zZ" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/spawner/random/vending/colavend, +/turf/open/indestructible, +/area/deathmatch) +"Ac" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/machinery/light/floor, +/turf/open/indestructible, +/area/deathmatch) +"Ag" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/obj/effect/decal/cleanable/oil, +/turf/open/indestructible/white, +/area/deathmatch) +"AE" = ( +/obj/effect/turf_decal/tile/yellow/full, +/obj/machinery/door/airlock/engineering/glass, +/turf/open/indestructible/large, +/area/deathmatch) +"AQ" = ( +/mob/living/basic/migo/hatsune, +/obj/structure/bed, +/obj/item/bedsheet/cult, +/obj/machinery/light/small/blacklight/directional/south, +/turf/open/floor/wood, +/area/deathmatch) +"AZ" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/item/storage/medkit/brute{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/storage/medkit/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/glass, +/turf/open/indestructible/white, +/area/deathmatch) +"Bc" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/item/clothing/suit/armor/elder_atmosian, +/obj/item/clothing/head/helmet/elder_atmosian, +/turf/open/indestructible, +/area/deathmatch) +"Bh" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/structure/table/glass, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 6 + }, +/obj/machinery/light/cold/dim/directional/east, +/turf/open/indestructible/white, +/area/deathmatch) +"Bu" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible, +/turf/open/indestructible, +/area/deathmatch) +"BA" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, +/turf/open/indestructible/white, +/area/deathmatch) +"BH" = ( +/turf/open/chasm{ + icon_state = "wood"; + icon = 'icons/turf/floors.dmi'; + base_icon_state = "wood"; + name = "Dorms 4" + }, +/area/deathmatch) +"BL" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"BV" = ( +/obj/effect/decal/cleanable/garbage, +/turf/open/indestructible, +/area/deathmatch) +"Dm" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/turf/open/indestructible/dark/textured, +/area/deathmatch) +"DN" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/machinery/vending/engivend, +/turf/open/indestructible, +/area/deathmatch) +"DV" = ( +/obj/effect/turf_decal/tile/dark_blue{ + dir = 8 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"DZ" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/deathmatch) +"El" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/machinery/vending/wardrobe/engi_wardrobe, +/obj/machinery/light/directional/east, +/turf/open/indestructible, +/area/deathmatch) +"Es" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/table/glass, +/obj/item/gun/ballistic/rifle/rebarxbow/forced, +/obj/item/ammo_casing/rebar, +/obj/item/ammo_casing/rebar, +/obj/item/ammo_casing/rebar, +/obj/machinery/light/built/directional/north, +/turf/open/indestructible, +/area/deathmatch) +"EC" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/decal/cleanable/ash/large, +/turf/open/indestructible, +/area/deathmatch) +"EN" = ( +/obj/effect/turf_decal/tile/dark_blue{ + dir = 1 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"FY" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/sleeper/self_control{ + dir = 1 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"Gl" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/mecha_part_fabricator/maint, +/turf/open/floor/iron/dark, +/area/deathmatch) +"Gm" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/machinery/recharger, +/turf/open/indestructible/dark, +/area/deathmatch) +"Gp" = ( +/obj/effect/landmark/deathmatch_player_spawn, +/obj/machinery/light/floor, +/turf/open/indestructible/white, +/area/deathmatch) +"Gy" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"GA" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/turf/open/indestructible, +/area/deathmatch) +"GF" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/directional/east, +/turf/open/indestructible, +/area/deathmatch) +"GY" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank/large, +/turf/open/indestructible, +/area/deathmatch) +"Hj" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/obj/structure/closet/firecloset/full, +/turf/open/indestructible, +/area/deathmatch) +"Hy" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/cryo_cell{ + dir = 1 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"Ia" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 1 + }, +/turf/open/indestructible, +/area/deathmatch) +"Iq" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/structure/rack, +/obj/item/gun/energy/e_gun/mini/practice_phaser, +/obj/machinery/light/built/directional/north, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Iu" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma, +/turf/open/indestructible/white, +/area/deathmatch) +"Iz" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/machinery/vending/tool, +/turf/open/indestructible, +/area/deathmatch) +"IA" = ( +/obj/effect/spawner/random/structure/closet_private, +/obj/item/toy/plush/awakenedplushie, +/turf/open/floor/wood, +/area/deathmatch) +"IJ" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/indestructible, +/area/deathmatch) +"IR" = ( +/obj/vehicle/ridden/janicart/upgraded, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/tile/iron/four{ + pixel_y = 7; + pixel_x = 10 + }, +/turf/open/indestructible/plating, +/area/deathmatch) +"IU" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/indestructible, +/area/deathmatch) +"JL" = ( +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted, +/obj/structure/table/glass, +/obj/machinery/recharger, +/turf/open/indestructible/dark, +/area/deathmatch) +"JS" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/indestructible, +/area/deathmatch) +"JX" = ( +/obj/item/melee/chainofcommand/tailwhip/kitty, +/turf/open/floor/wood, +/area/deathmatch) +"JZ" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/indestructible, +/area/deathmatch) +"Ka" = ( +/obj/machinery/door/airlock{ + id_tag = "Cabin7"; + name = "Cabin 1" + }, +/turf/open/floor/wood, +/area/deathmatch) +"Kv" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/mecha_wreckage/durand, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/turf/open/indestructible/white, +/area/deathmatch) +"Lk" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 1 + }, +/turf/open/indestructible, +/area/deathmatch) +"Lq" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/machinery/computer/monitor, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Lr" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/mop_bucket/janitorialcart, +/obj/effect/decal/cleanable/dirt, +/turf/open/indestructible, +/area/deathmatch) +"Lt" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted, +/turf/open/indestructible, +/area/deathmatch) +"LY" = ( +/obj/item/clothing/suit/pillow_suit, +/obj/item/clothing/head/pillow_hood, +/turf/open/floor/wood, +/area/deathmatch) +"Mi" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/grenade/gas_crystal/proto_nitrate_crystal, +/obj/item/grenade/gas_crystal/nitrous_oxide_crystal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible, +/area/deathmatch) +"Mn" = ( +/turf/open/indestructible/white, +/area/deathmatch) +"ME" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/clothing/head/collectable/welding, +/obj/item/sticker/syndicate/flash{ + pixel_x = 3 + }, +/obj/item/sticker/syndicate/flash{ + pixel_x = -4 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"MG" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 6 + }, +/turf/open/indestructible/white, +/area/deathmatch) +"Nb" = ( +/obj/machinery/light/floor, +/turf/open/indestructible/white, +/area/deathmatch) +"Ne" = ( +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/tile/purple/full, +/obj/effect/turf_decal/tile/purple/full, +/obj/structure/table/reinforced/plasmarglass, +/obj/machinery/door/window/right/directional/north, +/turf/open/indestructible/white/smooth_large, +/area/deathmatch) +"Nr" = ( +/obj/machinery/vending/medical, +/turf/open/indestructible/white, +/area/deathmatch) +"Ns" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/bucket, +/obj/item/mop, +/turf/open/indestructible, +/area/deathmatch) +"Nv" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/blacklight/directional/east, +/turf/open/indestructible/dark/textured, +/area/deathmatch) +"ND" = ( +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/obj/machinery/computer/message_monitor{ + dir = 8 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"Oa" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/indestructible, +/area/deathmatch) +"Oo" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"Os" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/indestructible, +/area/deathmatch) +"Ot" = ( +/obj/effect/turf_decal/tile/dark_blue, +/turf/open/indestructible/dark, +/area/deathmatch) +"OF" = ( +/obj/effect/turf_decal/tile/dark_blue/full, +/obj/structure/rack, +/obj/item/cane, +/obj/structure/fireaxecabinet/directional/south, +/obj/machinery/light/built/directional/south, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"ON" = ( +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 8 + }, +/turf/open/indestructible/white/smooth_large, +/area/deathmatch) +"Ps" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/gas_crystal/healium_crystal, +/obj/item/nitrium_crystal, +/turf/open/indestructible, +/area/deathmatch) +"Qo" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted, +/mob/living/basic/bot/medbot, +/obj/item/mecha_parts/mecha_equipment/gravcatapult, +/turf/open/indestructible/white, +/area/deathmatch) +"QM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible, +/area/deathmatch) +"RX" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = -7; + pixel_y = 12 + }, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/toy/plush/lizard_plushie, +/turf/open/indestructible/plating, +/area/deathmatch) +"RY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 8 + }, +/obj/item/mecha_parts/mecha_equipment/extinguisher, +/turf/open/indestructible/white, +/area/deathmatch) +"Sh" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/space/basic, +/area/deathmatch) +"Sm" = ( +/obj/structure/table/reinforced, +/obj/item/hypernoblium_crystal, +/obj/item/grenade/gas_crystal/crystal_foam, +/turf/open/indestructible, +/area/deathmatch) +"Sn" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/table/optable, +/obj/item/reagent_containers/syringe/contraband/methamphetamine, +/obj/effect/decal/cleanable/blood, +/turf/open/indestructible/white, +/area/deathmatch) +"Sy" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/rdconsole, +/turf/open/indestructible/white, +/area/deathmatch) +"Tl" = ( +/obj/effect/turf_decal/tile/green/half/contrasted, +/obj/machinery/portable_atmospherics/canister/water_vapor, +/turf/open/indestructible, +/area/deathmatch) +"To" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"TZ" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/portable_atmospherics/canister/zauker, +/turf/open/indestructible, +/area/deathmatch) +"Uj" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/indestructible, +/area/deathmatch) +"Ur" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria, +/area/deathmatch) +"UD" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/turf/open/indestructible, +/area/deathmatch) +"UH" = ( +/obj/structure/table, +/obj/effect/spawner/random/entertainment/deck, +/turf/open/indestructible, +/area/deathmatch) +"Vl" = ( +/turf/open/indestructible, +/area/deathmatch) +"Vp" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted, +/obj/item/kirbyplants/photosynthetic, +/turf/open/indestructible/dark, +/area/deathmatch) +"VE" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/item/kirbyplants/random/dead, +/obj/effect/decal/cleanable/vomit, +/turf/open/indestructible, +/area/deathmatch) +"Wf" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/storage/medkit/fire, +/obj/item/toy/plush/plasmamanplushie, +/turf/open/indestructible, +/area/deathmatch) +"Wy" = ( +/obj/machinery/vending/drugs, +/turf/open/indestructible/white, +/area/deathmatch) +"WE" = ( +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible, +/area/deathmatch) +"XZ" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/turf/open/indestructible, +/area/deathmatch) +"Yb" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, +/obj/structure/closet/firecloset/full, +/turf/open/indestructible, +/area/deathmatch) +"Yo" = ( +/mob/living/basic/cat_butcherer, +/obj/structure/bed, +/obj/item/bedsheet/runtime, +/obj/machinery/light/small/blacklight/directional/north, +/turf/open/floor/wood, +/area/deathmatch) +"Yr" = ( +/mob/living/basic/alien/maid, +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/vomit, +/obj/machinery/light/small/blacklight/directional/north, +/turf/open/floor/wood, +/area/deathmatch) +"YJ" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/machinery/rnd/destructive_analyzer, +/turf/open/indestructible/white, +/area/deathmatch) +"YQ" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/indestructible/dark, +/area/deathmatch) +"Za" = ( +/obj/effect/spawner/structure/window/reinforced/indestructible, +/turf/open/indestructible/plating, +/area/deathmatch) +"Zb" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/turf/open/indestructible, +/area/deathmatch) +"ZO" = ( +/obj/effect/turf_decal/tile/green, +/turf/open/indestructible, +/area/deathmatch) + +(1,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +jw +fA +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(2,1,1) = {" +jw +jw +jw +jw +jw +vq +vq +vq +vq +Sh +vq +vq +vq +vq +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(3,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +rV +Sh +rV +rV +Za +Za +Za +Za +Za +Za +Za +Za +rV +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(4,1,1) = {" +jw +jw +jw +jw +jw +vq +vq +vq +vq +Sh +vq +zJ +zJ +mK +cy +st +dA +Hy +wG +zJ +zJ +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(5,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +rV +Sh +rV +Za +hC +Mn +yq +yq +yq +yq +Mn +Sn +Za +rV +rV +rV +rV +jw +jw +jw +jw +jw +jw +jw +"} +(6,1,1) = {" +jw +jw +jw +jw +jw +jw +vq +vq +vq +Sh +vq +Za +bL +Mn +Mn +Mn +wA +xj +xj +iM +zJ +zJ +zJ +Za +zJ +zJ +jw +jw +jw +jw +jw +jw +"} +(7,1,1) = {" +jw +jw +rV +rV +rV +jw +jw +jw +jw +Sh +jw +Za +wb +Mn +Mn +by +Nr +by +Mn +es +zJ +Lr +rP +uX +IR +zJ +rV +jw +jw +jw +jw +jw +"} +(8,1,1) = {" +jw +rV +zJ +Za +Za +Za +zJ +rV +jw +Sh +jw +Za +AZ +Mn +Mn +Mn +Wy +Mn +Mn +xT +zJ +wM +BV +pL +Tl +Za +rV +jw +jw +jw +jw +jw +"} +(9,1,1) = {" +rV +zJ +zJ +tR +sx +cd +zJ +zJ +rV +Sh +jw +Za +iu +Mn +Mn +Mn +Nb +Mn +Mn +FY +zJ +Ns +ZO +VE +hR +zJ +rV +rV +jw +jw +jw +jw +"} +(10,1,1) = {" +rV +zJ +Lq +Gy +YQ +eW +sL +zJ +rV +Sh +rV +Za +MG +yD +qM +qM +aA +qM +qM +Bh +zJ +RX +yU +zJ +xL +zJ +zJ +Za +zJ +jw +jw +jw +"} +(11,1,1) = {" +rV +Za +nf +gI +jn +gI +Gm +zJ +zJ +zJ +zJ +zJ +zJ +zJ +zs +ON +zJ +zs +ON +zJ +zJ +zJ +hk +Za +Iu +Kv +Gl +cs +zJ +jw +jw +jw +"} +(12,1,1) = {" +jw +Za +jm +ix +gI +gI +zK +fP +nb +fP +eO +wd +pD +pD +sW +Zb +Zb +Zb +Zb +ee +pJ +ho +vm +Za +ME +Ag +rq +hG +zJ +jw +jw +jw +"} +(13,1,1) = {" +rV +zJ +Iq +Oo +gI +Ot +fg +fP +Nv +fP +iK +QM +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +vI +Ne +BA +uQ +em +RY +Za +rV +jw +jw +"} +(14,1,1) = {" +rV +Za +dX +BL +gI +Vp +OF +zJ +zJ +zJ +Hj +Vl +Ac +Vl +Vl +Vl +Vl +Vl +Vl +Ac +Vl +Vl +zg +Za +Sy +Mn +Gp +qF +Za +rV +jw +jw +"} +(15,1,1) = {" +rV +zJ +Iq +Oo +gI +DV +ju +fP +oD +fP +iK +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +Vl +JS +fV +oq +Mn +Mn +Qo +Za +rV +jw +jw +"} +(16,1,1) = {" +jw +Za +mn +EN +gI +gI +zK +fP +Dm +fP +UD +wj +GF +WE +Uj +aD +ko +zZ +xe +GA +GA +vB +Yb +Za +ru +jR +YJ +nT +zJ +rV +rV +jw +"} +(17,1,1) = {" +rV +Za +yy +gI +jn +gI +JL +zJ +zJ +zJ +zJ +hk +zJ +hk +zJ +zJ +zJ +zJ +Za +mo +Za +AE +Za +zJ +zJ +Za +Za +Za +zJ +zJ +rV +jw +"} +(18,1,1) = {" +rV +zJ +Lq +mO +To +nQ +bX +zJ +cl +sJ +zJ +Lk +vb +vm +zJ +sJ +rO +zJ +Oa +XZ +XZ +XZ +XZ +XZ +Os +IU +JZ +TZ +dB +zJ +rV +jw +"} +(19,1,1) = {" +rV +zJ +zJ +qV +ND +zt +zJ +zJ +lF +sJ +Ka +Ia +Ac +dv +kY +BH +IA +zJ +Wf +Vl +Vl +Vl +Vl +Vl +EC +IU +JZ +TZ +dB +zJ +jw +jw +"} +(20,1,1) = {" +jw +rV +zJ +Za +Za +Za +zJ +zJ +zJ +zJ +zJ +Ia +Vl +dv +zJ +zJ +zJ +zJ +Es +Vl +Sm +DZ +Ps +Vl +vT +zJ +zJ +zJ +zJ +zJ +jw +jw +"} +(21,1,1) = {" +jw +jw +jw +jw +rV +rV +rV +zJ +Yo +JX +zJ +Ia +uq +dv +zJ +sn +AQ +zJ +su +Vl +pH +zx +Mi +Vl +eE +zJ +rV +rV +rV +jw +jw +jw +"} +(22,1,1) = {" +jw +jw +vq +jw +jw +vq +rV +zJ +gM +sJ +Ka +Ia +UH +dv +Ka +sJ +lF +zJ +IJ +iV +Vl +Vl +Vl +oy +Bu +zJ +rV +rV +jw +jw +jw +jw +"} +(23,1,1) = {" +jw +jw +vq +rV +rV +vq +jw +zJ +zJ +zJ +zJ +Ia +Vl +dv +zJ +zJ +zJ +zJ +Bc +Iz +DN +El +GY +oN +hA +zJ +rV +jw +jw +jw +jw +jw +"} +(24,1,1) = {" +jw +fA +Sh +Sh +Sh +Sh +Sh +zJ +Yr +LY +zJ +Ia +Ac +dv +zJ +is +gH +zJ +zJ +Za +Za +zJ +Za +Za +zJ +zJ +jw +jw +jw +jw +jw +jw +"} +(25,1,1) = {" +jw +rV +vq +rV +rV +vq +jw +zJ +lF +fm +Ka +zw +Ur +Lt +Ka +sJ +lF +zJ +rV +rV +jw +Sh +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(26,1,1) = {" +jw +jw +vq +jw +jw +vq +rV +zJ +Za +zJ +zJ +zJ +Za +zJ +zJ +zJ +Za +zJ +rV +vq +vq +Sh +vq +vq +jw +jw +jw +jw +jw +jw +jw +jw +"} +(27,1,1) = {" +jw +jw +jw +jw +jw +jw +rV +rV +rV +rV +rV +jw +jw +jw +jw +rV +rV +rV +rV +jw +rV +Sh +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(28,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +rV +Sh +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(29,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +vq +vq +Sh +vq +vq +jw +jw +jw +jw +jw +jw +jw +jw +"} +(30,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +rV +fA +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(31,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +rV +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} +(32,1,1) = {" +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +jw +"} diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 7816e8a9be688..ea60391802463 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -1,28 +1,14 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aae" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) -"aal" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - N2" +"aaa" = ( +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 5 }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "aan" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) -"aao" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) "aap" = ( /obj/structure/sign/warning/pods/directional/north, /obj/effect/decal/cleanable/dirt/dust, @@ -30,32 +16,35 @@ /area/station/maintenance/department/electrical) "aav" = ( /obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, /obj/effect/turf_decal/siding/wood{ dir = 5 }, /turf/open/floor/iron/small, /area/station/security/prison/shower) -"aaH" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 +"aaC" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/window/spawner/directional/west, +/turf/closed/wall, +/area/station/hallway/primary/central/fore) +"aaN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/area/station/maintenance/hallway/abandoned_command) "aaZ" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/tile/blue, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) -"abc" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Gas"; - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 5 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron, +/area/station/engineering/atmos) +"abb" = ( +/obj/structure/cable, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "abh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65,16 +54,27 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"abj" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "abt" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, /obj/machinery/power/tracker, /turf/open/space/basic, /area/station/solars/aft) -"abB" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/station/hallway/primary/port) +"abE" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "abJ" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -82,6 +82,13 @@ }, /turf/open/floor/iron, /area/station/security/tram) +"abZ" = ( +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "acg" = ( /obj/machinery/power/smes/engineering, /turf/open/floor/plating, @@ -97,10 +104,28 @@ }, /turf/open/space/basic, /area/space/nearstation) +"ack" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 8 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "acJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"acK" = ( +/obj/structure/bed/maint, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/eighties/red, +/area/station/service/abandoned_gambling_den/gaming) +"acQ" = ( +/obj/effect/turf_decal/siding/wood/end, +/turf/open/floor/stone, +/area/station/service/chapel) "acS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -108,17 +133,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"adh" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "adl" = ( /obj/effect/turf_decal/siding/white, /obj/machinery/light/small/directional/south, @@ -137,48 +151,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"aef" = ( -/obj/structure/flora/bush/flowers_yw/style_3{ - pixel_x = 5; - pixel_y = -5 - }, -/obj/structure/flora/bush/flowers_br/style_random{ - pixel_y = -5; - pixel_x = 3 - }, -/obj/effect/light_emitter/fake_outdoors, -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"adP" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"aer" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/grass/Airless, +/turf/open/floor/iron, /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, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) -"aem" = ( -/obj/machinery/power/terminal, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "aeu" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"aeC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) "aeD" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/scan_consolenew{ @@ -191,24 +181,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/genetics) -"aeG" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"aeH" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "aeX" = ( /obj/structure/window/spawner/directional/east, /obj/item/kirbyplants/random, @@ -218,18 +190,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/lobby) -"afa" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +"afc" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/stairs{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"afm" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +/area/station/cargo/office) +"afg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) +/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) "afu" = ( /obj/structure/chair/wood{ dir = 8 @@ -243,10 +219,23 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/science/cytology) +"afy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "afA" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/machinery/button/door/directional/east{ + req_access = list("robotics"); + name = "Mech Bay Shutters Control"; + id = "mechbay" + }, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -255,27 +244,12 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"afJ" = ( -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/entry) -"afZ" = ( -/obj/structure/disposalpipe/segment{ +"afO" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/janitor) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "agb" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -288,11 +262,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"agp" = ( -/obj/structure/table/wood, -/obj/item/cigarette/cigar/cohiba, -/turf/open/floor/carpet, -/area/station/commons/dorms) "agy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/tank/oxygen{ @@ -311,14 +280,29 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"agK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"agM" = ( +/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/effect/turf_decal/tile/blue, -/turf/open/floor/iron/white/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/hallway/secondary/dock) +/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{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "agR" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -327,39 +311,21 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) -"agY" = ( -/obj/machinery/door/airlock/engineering{ - name = "Main Engineering" +"ahr" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) -"ahf" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"ahl" = ( -/obj/structure/flora/tree/jungle/style_5, -/turf/open/floor/grass, -/area/station/service/chapel) -"ahr" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/area/station/hallway/secondary/dock) "ahu" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -369,6 +335,13 @@ /mob/living/basic/pet/cat/runtime, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) +"ahv" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/science/xenobiology) "ahD" = ( /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, @@ -384,6 +357,39 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/wood/tile, /area/station/command/bridge) +"ahF" = ( +/obj/structure/chair/comfy/beige{ + dir = 4 + }, +/obj/machinery/button/door/directional/north{ + id = "CabinS"; + name = "Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/carpet/green, +/area/station/commons/dorms) +"ahI" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) +"ahV" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "ahW" = ( /obj/structure/railing{ dir = 1 @@ -399,10 +405,29 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"aiI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +"ail" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/hallway/primary/central/aft) +"aiG" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "aiK" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -413,13 +438,28 @@ }, /turf/open/floor/plating, /area/station/engineering/lobby) -"ajg" = ( -/obj/machinery/camera/directional/north{ - c_tag = "atmospherics - upper" +"aiW" = ( +/obj/machinery/airalarm/directional/south, +/obj/item/kirbyplants/organic/applebush, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) +"ajL" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/hallway/secondary/dock) +"ajR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/side{ + dir = 5 + }, +/area/station/science/xenobiology) "ako" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -431,24 +471,29 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"akq" = ( -/obj/structure/table, -/obj/item/clothing/under/suit/black_really, -/obj/item/clothing/accessory/waistcoat, -/obj/item/clothing/suit/toggle/lawyer/black, -/obj/item/clothing/under/suit/red, -/obj/item/clothing/neck/tie/black, -/obj/item/clothing/under/costume/buttondown/slacks/service, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/commons/dorms) "akF" = ( /obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod, /turf/closed/wall, /area/station/maintenance/port/aft) +"akH" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple, +/turf/open/floor/iron/dark, +/area/station/science/genetics) +"akO" = ( +/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/research{ + name = "Gun Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/auxlab/firing_range) "akR" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -466,10 +511,17 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"als" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) +"alD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "alF" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -482,31 +534,35 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"alG" = ( +/obj/effect/spawner/random/trash/hobo_squat, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "alJ" = ( /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/solars/starboard/aft) -"amb" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 +"alY" = ( +/obj/structure/chair{ + pixel_y = -2 }, /turf/open/floor/iron, -/area/station/engineering/atmos) -"amh" = ( +/area/station/security/execution/transfer) +"amd" = ( +/obj/machinery/oven/range, +/obj/machinery/airalarm/directional/north, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/effect/turf_decal/siding/end{ dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) +"amf" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/station/cargo/boutique) "amE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -519,18 +575,6 @@ }, /turf/open/floor/iron/textured_half, /area/station/security/execution/transfer) -"amK" = ( -/obj/effect/turf_decal/weather/snow, -/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/weather/snow/corner{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "anb" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta, /obj/effect/turf_decal/siding/red/corner{ @@ -541,12 +585,13 @@ }, /turf/open/floor/wood/tile, /area/station/command/bridge) -"ani" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +"ano" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "anJ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -555,14 +600,34 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron, /area/station/medical/chemistry) -"anX" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/ai_monitored/command/nuke_storage) +"anU" = ( +/obj/structure/flora/bush/flowers_pp{ + pixel_y = 3 + }, +/obj/effect/dummy/lighting_obj, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) +"anW" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "aoa" = ( /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/circuit, /area/station/tcommsat/server) +"aob" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/science/lab) "aoj" = ( /obj/structure/railing{ dir = 8 @@ -585,11 +650,22 @@ /obj/item/storage/lockbox/medal, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) -"aoL" = ( +"aoD" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, +/obj/machinery/light/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering Supermatter Emitters" + }, /turf/open/floor/plating, -/area/station/maintenance/fore/lesser) +/area/station/engineering/supermatter/room) +"aoH" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/airlock/atmos/glass{ + name = "Project Room" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/engineering/atmos) "apk" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_red{ @@ -600,32 +676,30 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/security) -"apl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"aps" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"apy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/sofa/bench/left{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L10"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"apo" = ( /obj/structure/cable, -/turf/open/floor/iron/kitchen/small, -/area/station/security/prison/mess) -"apq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/station/service/chapel) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "apB" = ( /obj/structure/disposalpipe/junction{ dir = 4 }, +/obj/structure/sign/warning/pods/directional/north, /turf/open/floor/iron/checker, /area/station/security/breakroom) "apF" = ( @@ -633,37 +707,41 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/lab) +"apR" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "apZ" = ( /turf/open/floor/engine/helium, /area/station/ai_monitored/turret_protected/ai) -"aqf" = ( -/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, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "aqo" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"aqG" = ( +"aqA" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"aqJ" = ( +/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 = 6 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=16.0-CentralFore-CentralPort"; - location = "15.0-CentralStarboard-CentralFore" +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron/white/small, +/area/station/security/warden) "aqV" = ( /obj/machinery/door/airlock/glass, /obj/machinery/door/firedoor, @@ -694,16 +772,19 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) -"arH" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta{ - dir = 8 +"aru" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 }, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/hallway/primary/central/fore) "arK" = ( /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'BOMB RANGE"; @@ -711,14 +792,6 @@ }, /turf/closed/wall, /area/station/science/ordnance/bomb) -"arL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron, -/area/station/commons/storage/tools) "arN" = ( /obj/structure/frame/machine, /obj/item/circuitboard/machine/pacman, @@ -728,6 +801,21 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/department/electrical) +"arY" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/firealarm/directional/east, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "asb" = ( /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark/small, @@ -740,13 +828,6 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) -"asf" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "N2O to Pure" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "ask" = ( /obj/structure/cable, /obj/machinery/door/airlock/public/glass{ @@ -755,22 +836,36 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/security/prison/workout) -"asm" = ( -/obj/effect/turf_decal/siding/blue, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) -"asS" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 +"asu" = ( +/obj/structure/hoop{ + dir = 8; + pixel_x = 10; + pixel_y = 11 }, -/obj/effect/turf_decal/siding/thinplating_new{ +/obj/effect/turf_decal/trimline/white/end{ dir = 8 }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/station/commons/fitness/recreation) +"asE" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"asL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) +"asX" = ( /obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/siding/green/corner{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "asZ" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -810,13 +905,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"atB" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/lower) "atE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, @@ -838,27 +926,15 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"atS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +"atM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "atW" = ( /turf/open/floor/iron/chapel{ dir = 8 }, /area/station/maintenance/starboard/greater) -"atZ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) "auc" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -870,30 +946,14 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine) -"auf" = ( -/obj/structure/cable, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) -"aul" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/dark_red{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 +"auB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"aus" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/tools) -"auF" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/glass, -/area/station/hallway/primary/central/aft) +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "auG" = ( /obj/structure/chair{ dir = 1 @@ -905,59 +965,21 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"auO" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/fore) -"auP" = ( -/obj/effect/spawner/random/entertainment/arcade{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/cable, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) "auT" = ( /obj/structure/cable, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) -"avd" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - Central Aft" - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/construction/mining/aux_base) "ave" = ( /turf/open/space, /area/space) "avp" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"avr" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/pdapainter/research, -/obj/machinery/computer/security/telescreen/rd/directional/north, -/obj/effect/turf_decal/siding/purple{ - dir = 5 +/obj/effect/spawner/random/trash, +/obj/effect/turf_decal/siding/white{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) +/turf/open/floor/iron/dark/small, +/area/station/maintenance/aft) "avB" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -966,6 +988,17 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"avI" = ( +/obj/structure/table/wood, +/obj/item/hemostat{ + name = "Totally Not Scissors"; + desc = "Ah yes, the Haircutting Device." + }, +/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/small, +/area/station/service/barber) "avN" = ( /obj/structure/table/glass, /obj/effect/decal/cleanable/dirt, @@ -976,22 +1009,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"avP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 8 - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) -"avR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/iron/smooth, -/area/station/hallway/secondary/command) -"avT" = ( -/obj/structure/cable, -/obj/structure/reflector/single/anchored, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "avU" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -1000,40 +1017,22 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"avY" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"awa" = ( +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "awe" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, /turf/open/floor/tram, /area/station/security/tram) -"aww" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"awC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "awE" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8 @@ -1042,16 +1041,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/mail_sorting/science/xenobiology, -/obj/machinery/camera/autoname/directional/north, /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) -"awH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "awL" = ( /obj/structure/chair{ dir = 4 @@ -1061,9 +1053,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"awO" = ( -/turf/open/floor/iron, -/area/station/engineering/storage/tech) "awQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -1084,14 +1073,11 @@ /turf/open/misc/sandy_dirt, /area/station/hallway/secondary/entry) "axd" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/directions/vault/directional/south{ - dir = 8 - }, -/turf/closed/wall, -/area/station/hallway/primary/central/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "axj" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, @@ -1103,32 +1089,25 @@ /obj/item/bodypart/arm/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"axw" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"axz" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/structure/table/glass, -/obj/item/food/taco/fish{ - pixel_y = 9; - pixel_x = 4 - }, -/obj/item/food/taco{ - pixel_y = 2; - pixel_x = -2 +"axK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "axN" = ( /obj/machinery/sparker/directional/north{ id = "Xenobio" }, /turf/open/floor/engine, /area/station/science/xenobiology) +"axS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark/side, +/area/station/science/xenobiology) "axX" = ( /obj/effect/turf_decal/siding/yellow, /obj/effect/turf_decal/tile/yellow/diagonal_centre, @@ -1139,6 +1118,19 @@ /obj/machinery/light/cold/dim/directional/south, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) +"axZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north{ + low_power_nightshift_lights = 1 + }, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "ayf" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -1156,6 +1148,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ayl" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "ayu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -1183,30 +1181,12 @@ }, /turf/open/floor/wood, /area/station/engineering/main) -"ayT" = ( -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 9 - }, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "ayV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"ayZ" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/commons/dorms) "azh" = ( /obj/structure/chair{ dir = 8 @@ -1227,12 +1207,6 @@ }, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) -"azq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "azv" = ( /obj/machinery/teleport/station, /obj/effect/turf_decal/stripes/line{ @@ -1272,47 +1246,26 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"azO" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"azV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) -"azW" = ( -/obj/machinery/computer/atmos_control/nitrogen_tank{ - dir = 1 +"aAe" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 1 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 }, -/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/atmos) -"azZ" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white/small, -/area/station/maintenance/port/aft) -"aAj" = ( -/obj/item/storage/backpack/duffelbag/sec{ - pixel_x = -15; - pixel_y = 7 +/area/station/hallway/primary/aft) +"aAs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/office) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "aAD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -1328,6 +1281,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"aAP" = ( +/obj/structure/mirror/directional/east, +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) "aAQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/junction/flip{ @@ -1350,9 +1309,6 @@ "aBb" = ( /obj/structure/table/glass, /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, /obj/item/storage/box/syringes{ pixel_x = 3; pixel_y = 14 @@ -1368,16 +1324,27 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"aBo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 +"aBj" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/obj/machinery/disposal/bin, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"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, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"aBr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) "aBu" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -1397,14 +1364,6 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/medical/morgue) -"aBB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "aBK" = ( /obj/structure/dresser, /obj/effect/turf_decal/siding/wood{ @@ -1412,13 +1371,6 @@ }, /turf/open/floor/iron/small, /area/station/security/prison/shower) -"aBL" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/bananalamp{ - pixel_y = 7 - }, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms) "aBV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -1436,12 +1388,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"aCz" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/machinery/light/small/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/grass, -/area/station/service/chapel) "aCM" = ( /obj/effect/spawner/random/structure/crate_abandoned, /obj/structure/alien/weeds, @@ -1473,16 +1419,22 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aDJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"aDj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 }, -/obj/structure/sign/directions/vault/directional/west{ - dir = 2 +/turf/open/floor/grass, +/area/station/service/chapel) +"aDR" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/primary/central/aft) "aEa" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, @@ -1496,38 +1448,17 @@ /obj/machinery/disposal/bin/tagger, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"aEd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hopqueue"; - name = "HoP Queue Shutters" - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/blue/half{ +"aEn" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/obj/effect/turf_decal/tile/blue/half{ - dir = 8 - }, -/turf/open/floor/iron/half{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) -"aEo" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/bot{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/dark/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) "aEB" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/seed_rare, @@ -1552,9 +1483,7 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine) -"aFb" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/flora/bush/large/style_2, +"aER" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, @@ -1580,13 +1509,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aFu" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark/small, -/area/station/commons/dorms) "aFE" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/west, @@ -1595,16 +1517,19 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aFH" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 5 - }, -/turf/open/space/basic, -/area/space/nearstation) "aFR" = ( /turf/open/floor/plating, /area/station/security/tram) +"aFT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "aFY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1619,21 +1544,25 @@ /obj/structure/marker_beacon/fuchsia, /turf/open/space/basic, /area/space/nearstation) -"aGb" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/science/ordnance/testlab) -"aGq" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"aGe" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Fuel Pipe to Incinerator"; + dir = 1 }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"aGo" = ( +/obj/structure/cable, /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{ + dir = 1 + }, +/obj/effect/landmark/navigate_destination/hop, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "aGv" = ( @@ -1656,46 +1585,19 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"aGH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"aGI" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/can/food/pine_nuts{ - pixel_x = 16; - pixel_y = 6 - }, -/obj/machinery/cell_charger{ - pixel_x = -1; - pixel_y = 2 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -1; - pixel_y = 1 +"aGR" = ( +/obj/structure/window/spawner/directional/north, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/locker_room) "aGU" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"aHl" = ( -/obj/structure/railing/corner, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/dorms) "aHq" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -1711,33 +1613,16 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/grass, /area/station/security/prison/garden) -"aHS" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ +"aHT" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"aIb" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"aIi" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Library" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/iron/textured_half, -/area/station/service/library) +/obj/machinery/airalarm/directional/south, +/obj/item/kirbyplants/random, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "aIk" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -1746,32 +1631,28 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"aIm" = ( +/obj/structure/rack, +/obj/effect/spawner/random/techstorage/security_all, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "aIr" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) +/turf/open/floor/stone, +/area/station/service/chapel) "aIu" = ( /obj/structure/bookcase/random/reference, /obj/machinery/camera/autoname/directional/north, /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/psychology) -"aIO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Dormatories" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 8 +"aIJ" = ( +/turf/open/floor/iron/stairs/left{ + dir = 4 }, -/area/station/commons/fitness/locker_room) +/area/station/hallway/secondary/recreation) "aIW" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -1783,18 +1664,45 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/small, /area/station/engineering/main) -"aJb" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 1 +"aJe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/bot{ - dir = 1 +/obj/machinery/door/firedoor{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + 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/small, +/area/station/hallway/primary/central/aft) +"aJl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aJq" = ( /turf/closed/mineral/random/stationside, /area/space/nearstation) +"aJr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "aJE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -1802,24 +1710,13 @@ }, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) -"aJP" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) -"aJV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"aJI" = ( +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 8; + name = "mix to engine" }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/smooth, -/area/station/security/evidence) +/turf/open/floor/iron, +/area/station/engineering/atmos) "aJX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -1832,23 +1729,17 @@ /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/engineering{ - name = "Auxillary Base Construction" - }, /obj/effect/mapping_helpers/airlock/access/all/engineering/aux_base, /obj/machinery/door/firedoor, /obj/effect/landmark/navigate_destination, +/obj/machinery/door/airlock/atmos{ + dir = 4; + name = "Auxiliary Base Construction" + }, /turf/open/floor/iron/textured_half{ dir = 8 }, /area/station/construction/mining/aux_base) -"aKm" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 10 - }, -/turf/open/space/basic, -/area/space/nearstation) "aKx" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark/small, @@ -1867,10 +1758,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"aKS" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/hallway/secondary/dock) "aLk" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/dark_red{ @@ -1889,12 +1776,38 @@ /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) "aLm" = ( -/turf/closed/wall/rust, -/area/station/cargo/drone_bay) +/obj/structure/closet/radiation, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"aLn" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple, +/obj/effect/turf_decal/siding/purple/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/genetics) +"aLp" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "aLr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"aLt" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "aLv" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/line{ @@ -1912,33 +1825,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"aLB" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/camera/autoname/directional/north, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 5 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) -"aLC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light/cold/directional/east, -/obj/machinery/power/apc/auto_name/directional/east{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"aLS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "aLU" = ( /obj/structure/chair{ dir = 4 @@ -1948,6 +1834,17 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"aLX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aMa" = ( /obj/item/bodypart/leg/left, /turf/open/floor/plating/airless, @@ -1961,23 +1858,50 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"aMi" = ( +/obj/machinery/light/small/directional/south{ + dir = 4 + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) +"aMt" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "aMy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"aNd" = ( -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"aNj" = ( -/obj/machinery/door/airlock/public{ - name = "Arcade" +"aMJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/side{ + dir = 8 + }, +/area/station/science/xenobiology) +"aMM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"aNd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/neutral, /obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) "aNk" = ( /obj/machinery/suit_storage_unit/security, @@ -1991,6 +1915,23 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/storage) +"aNo" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"aNx" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Dorms"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/commons/fitness/locker_room) "aNJ" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/north{ @@ -2009,13 +1950,10 @@ "aNL" = ( /turf/closed/wall, /area/station/science/ordnance/bomb) -"aNO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/camera/directional/west, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) +"aNS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "aNX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2037,33 +1975,27 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"aOa" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) -"aOh" = ( -/obj/machinery/status_display/ai/directional/south, -/obj/effect/turf_decal/tile/neutral{ +"aOc" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ dir = 8 }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral{ +/turf/open/floor/iron, +/area/station/engineering/atmos) +"aOm" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) -"aOt" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/machinery/light/warm/dim, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/recreation) "aOz" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -2074,6 +2006,11 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/science/genetics) +"aOO" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "aOX" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -2089,6 +2026,51 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) +"aPc" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/camera/directional/west{ + c_tag = "atmospherics - storage" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"aPd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/office) +"aPg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"aPs" = ( +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor"; + name = "Loading Doors"; + pixel_y = -8; + req_access = list("cargo") + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor2"; + name = "Loading Doors"; + pixel_y = 8; + req_access = list("cargo") + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "aPx" = ( /obj/structure/chair{ dir = 1 @@ -2113,13 +2095,13 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aPK" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"aPE" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "aPM" = ( /obj/structure/chair/sofa/bench/right, /obj/machinery/firealarm/directional/north, @@ -2127,25 +2109,11 @@ /obj/machinery/incident_display/tram/directional/north, /turf/open/floor/iron, /area/station/security/tram) -"aPV" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "aPX" = ( /obj/structure/cable, /obj/machinery/holopad, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"aQf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Captain's Office - Emergency" - }, -/turf/open/floor/plating, -/area/station/maintenance/hallway/abandoned_command) "aQm" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark/small, @@ -2158,20 +2126,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"aQx" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, -/obj/effect/turf_decal/tile/yellow, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - North Corridor" - }, +"aQv" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"aQx" = ( +/obj/effect/spawner/random/structure/crate_loot, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "aQF" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -2180,18 +2145,29 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) -"aQX" = ( -/obj/effect/turf_decal/siding/wideplating{ +"aQK" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Docking Corridor"; dir = 4 }, -/turf/open/floor/wood, -/area/station/engineering/main) -"aQZ" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 +/obj/machinery/door/firedoor{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/science/cytology) +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/hallway/secondary/dock) +"aQO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/hydro, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "aRa" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -2203,35 +2179,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"aRo" = ( -/obj/effect/turf_decal/trimline/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/white/mid_joiner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/fitness/recreation) -"aRv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron, -/area/station/commons/dorms) "aRw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel{ dir = 4 }, /area/station/maintenance/starboard/greater) -"aRx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "aRC" = ( /obj/structure/table, /obj/item/flashlight/lamp/green{ @@ -2239,6 +2192,11 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) +"aRH" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/small, +/area/station/medical/medbay/lobby) "aRI" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 1 @@ -2257,14 +2215,24 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"aSt" = ( -/obj/effect/spawner/random/structure/closet_private, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms) +"aSp" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aSy" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology) +"aSF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/flowers_br/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "aSI" = ( /obj/effect/turf_decal/delivery, /obj/structure/closet/emcloset, @@ -2274,36 +2242,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/small, /area/station/hallway/secondary/dock) -"aSW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"aTb" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/obj/machinery/button/door/directional/north{ - id = "Toilet1"; - specialfunctions = 4; - name = "Lock Control"; - normaldoorcontrol = 1 - }, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) +"aSY" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"aSZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "aTc" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"aTg" = ( -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "aTn" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -2328,20 +2279,21 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aTz" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 4 +"aTy" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"aTB" = ( -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/main) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "aTG" = ( /obj/structure/table/reinforced, /obj/machinery/requests_console/directional/east{ @@ -2354,84 +2306,58 @@ /obj/machinery/recharger, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"aUb" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" +"aUl" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /obj/structure/cable, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engine_airlock_1" +/turf/open/floor/plating, +/area/station/commons/dorms) +"aUm" = ( +/obj/structure/cable, +/obj/structure/chair/sofa/corp/left{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/corporate_suite) "aUA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_edge, /area/station/maintenance/starboard/greater) -"aUB" = ( -/obj/machinery/vending/wardrobe/robo_wardrobe, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/augments) -"aUJ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 +"aUO" = ( +/obj/structure/table, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/dark_red{ +/area/station/science/ordnance/testlab) +"aVu" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) -"aVA" = ( -/obj/structure/closet/secure_closet/freezer/empty, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 - }, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 - }, -/obj/item/food/grown/eggplant{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/food/grown/eggplant{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/soymilk, -/obj/item/reagent_containers/condiment/soymilk, -/obj/item/reagent_containers/condiment/flour, -/obj/item/reagent_containers/condiment/flour, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 }, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 +/turf/open/floor/iron, +/area/station/cargo/sorting) +"aVx" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) +"aVO" = ( +/obj/structure/chair/comfy/black{ + dir = 1 }, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"aVF" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/obj/effect/landmark/start/chaplain, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "aVT" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior, /obj/effect/mapping_helpers/airlock/locked, @@ -2455,7 +2381,6 @@ /obj/structure/chair, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, -/obj/machinery/camera/autoname/directional/west, /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/checker, /area/station/security/breakroom) @@ -2465,10 +2390,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/security/prison/rec) -"aWb" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "aWc" = ( /turf/open/floor/iron/small, /area/station/security/tram) @@ -2484,10 +2405,10 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/execution/transfer) -"aWt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"aWs" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron, -/area/station/security/prison/garden) +/area/station/engineering/atmos) "aWx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -2495,43 +2416,66 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"aWz" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) "aWA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"aXC" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"aWF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/stool/bamboo, +/obj/structure/cable, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) +"aWK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/closed/wall, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"aXd" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/smart/simple/orange, +/turf/open/space/basic, +/area/space/nearstation) +"aXv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"aXD" = ( +/obj/structure/chair/stool/directional/south, +/obj/machinery/holopad, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"aXG" = ( +/obj/structure/window/spawner/directional/north, +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -17; + pixel_y = 2 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/lavendergrass, +/turf/open/floor/grass, +/area/station/service/hydroponics) "aXI" = ( /turf/closed/wall/r_wall, /area/station/science/lobby) -"aXU" = ( -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_twentythree, -/turf/open/floor/iron, -/area/station/commons/storage/art) -"aYj" = ( -/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/siding/wood{ - dir = 10 +"aXW" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/turf/open/floor/stone, -/area/station/service/bar/backroom) +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "aYp" = ( /obj/structure/chair, /obj/effect/turf_decal/stripes/line{ @@ -2549,14 +2493,6 @@ dir = 8 }, /area/station/command/corporate_showroom) -"aYs" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/prison/rec) "aYv" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/line{ @@ -2571,33 +2507,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"aYU" = ( -/obj/structure/chair/wood{ - dir = 8 +"aYX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/turf/open/floor/stone, +/turf/open/floor/wood/tile, /area/station/service/bar) "aYY" = ( /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/service/lawoffice) -"aZh" = ( -/obj/machinery/modular_computer/preset/curator{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/station/service/library) -"aZp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 5 - }, -/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ - dir = 1 +"aZy" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "aZG" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/siding/wood{ @@ -2607,11 +2534,17 @@ /obj/structure/table/wood, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"aZJ" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/chair/sofa/corp/left{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/lawoffice) "aZL" = ( /obj/structure/table, /obj/item/aicard, /obj/machinery/light/cold/directional/east, -/obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/engineering/storage/tech) "aZS" = ( @@ -2623,17 +2556,47 @@ }, /turf/open/floor/wood/tile, /area/station/command/meeting_room) -"bah" = ( -/obj/structure/cable, -/obj/item/kirbyplants/organic/applebush, -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/iron/dark/textured_corner{ +"bag" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) +"bal" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "bat" = ( /turf/open/floor/engine/n2o, /area/station/ai_monitored/turret_protected/ai) +"bav" = ( +/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) +"baz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/box/mousetraps{ + pixel_x = -5 + }, +/obj/item/storage/box/mousetraps{ + pixel_x = 11; + pixel_y = 7 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/small, +/area/station/service/janitor) "baE" = ( /obj/structure/table, /obj/item/gps/mining{ @@ -2646,22 +2609,19 @@ /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"baJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"baO" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/spawner/random/entertainment/arcade{ - dir = 1 +"baH" = ( +/obj/structure/chair{ + dir = 4 }, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) +"baJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, -/area/station/holodeck/rec_center) +/area/station/engineering/atmos) "baP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2682,10 +2642,16 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"bbB" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter) +"bbI" = ( +/obj/structure/bed/maint, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/eighties/red, +/area/station/service/abandoned_gambling_den/gaming) +"bbJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) "bbK" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -2698,12 +2664,25 @@ }, /turf/open/floor/wood, /area/station/cargo/miningfoundry) -"bbT" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 8 +"bbL" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/cable, +/obj/structure/sign/painting/large/library{ + dir = 1 }, -/turf/open/floor/iron/dark/small, -/area/station/commons/dorms) +/turf/open/floor/wood/parquet, +/area/station/service/library) +"bbN" = ( +/obj/structure/cable/layer3, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/window/brigdoor/left/directional/north{ + atom_integrity = 300; + name = "AI Core Chamber Access"; + req_access = list("ai_upload") + }, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "bbU" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -2711,6 +2690,19 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"bbY" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron/small, +/area/station/service/bar) +"bck" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "bcr" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, @@ -2722,45 +2714,63 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) -"bcC" = ( +"bcw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"bcK" = ( -/obj/structure/disposalpipe/segment{ +/obj/structure/cable, +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) -"bcO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"bcC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/corner{ - dir = 4 +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) +"bcG" = ( +/obj/structure/closet{ + name = "Evidence Closet 4" }, -/area/station/science/xenobiology) -"bdN" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) -"bdU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ +/turf/open/floor/iron/smooth, +/area/station/security/evidence) +"bdq" = ( +/obj/structure/railing{ dir = 1 }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/computer/atmos_control/oxygen_tank{ - dir = 1 +/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/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/machinery/requests_console/directional/south, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/command/heads_quarters/ce) +"bdx" = ( +/obj/effect/turf_decal/sand/plating, +/turf/closed/wall/r_wall, +/area/space/nearstation) +"bdL" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 18 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 18 + }, +/obj/item/clothing/suit/hazardvest, +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 4 }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/command/teleporter) "bed" = ( /obj/structure/railing/corner{ dir = 1 @@ -2773,21 +2783,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/mineral/titanium, /area/station/command/heads_quarters/ce) -"bej" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/chapel) -"bes" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/library) +"bee" = ( +/obj/structure/cable, +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "bey" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -2798,47 +2798,53 @@ "beK" = ( /turf/open/floor/iron/smooth, /area/station/security/evidence) -"beN" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"beR" = ( +/obj/structure/closet{ + name = "Evidence Closet 3" }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/iron/smooth, +/area/station/security/evidence) +"bfb" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/siding/green, +/obj/machinery/component_printer, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "bfe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/autoname/directional/west, /obj/machinery/light/warm/directional/west, /turf/open/floor/iron/white, /area/station/science/cytology) -"bfE" = ( -/obj/effect/turf_decal/siding/green/end{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/herringbone, -/area/station/service/abandoned_gambling_den/gaming) -"bfU" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Air to Distro staging" +"bfq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 }, -/obj/machinery/camera/directional/north{ - c_tag = "atmospherics - lower" +/obj/structure/railing/corner{ + dir = 1 }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) -"bgg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/airalarm/directional/north, -/obj/item/wrench, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/white/small, -/area/station/science/server) +"bfE" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/pushbroom, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"bfO" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = -7 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "bgn" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -2862,25 +2868,13 @@ }, /turf/open/floor/iron/dark/small, /area/station/engineering/lobby) -"bgx" = ( +"bgw" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/vault{ - name = "Vault" +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/herringbone, -/area/station/ai_monitored/command/nuke_storage) -"bgy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "bgA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/small, @@ -2902,12 +2896,29 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"bgG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/corner{ + 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/wood, +/area/station/engineering/atmos/storage) "bgQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"bgS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "bho" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -2920,25 +2931,45 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"bhE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"bhN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +"bhJ" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, +/obj/machinery/chem_dispenser, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/pharmacy) +"bhX" = ( /obj/structure/cable, -/obj/effect/turf_decal/arrows{ +/obj/machinery/power/terminal, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) +"big" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "CO2 to Pure" + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron, +/area/station/engineering/atmos) +"bil" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/medical/psychology) +"biu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "biB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/smooth_large, @@ -2958,32 +2989,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/small, /area/station/engineering/lobby) -"bjc" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/power/shieldwallgen/xenobiologyaccess, -/obj/structure/cable/multilayer, +"bjj" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating, -/area/station/science/xenobiology) -"bje" = ( -/obj/structure/chair/sofa/bench{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) -"bjh" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/cargo/boutique) -"bji" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/stairs/left, -/area/station/hallway/secondary/recreation) +/area/station/engineering/supermatter/room) "bjp" = ( /obj/structure/cable, /obj/structure/rack, @@ -2991,6 +3001,30 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bjt" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"bjx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"bjB" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/machinery/camera/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "bjL" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table, @@ -3022,6 +3056,13 @@ dir = 1 }, /area/station/hallway/primary/aft) +"bkb" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) "bkd" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/lime, @@ -3036,10 +3077,35 @@ /obj/machinery/light/floor, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"bkj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "bkl" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bkz" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/cargo/office) +"bkQ" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/effect/spawner/random/bedsheet{ + dir = 4 + }, +/obj/machinery/button/door/directional/south{ + id = "Cabin4"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bkY" = ( /obj/machinery/requests_console/directional/west{ department = "Chief Medical Officer's Desk"; @@ -3090,35 +3156,41 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"blt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "bly" = ( /obj/structure/closet/crate/miningcar, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"blC" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/spawner/random/entertainment/arcade{ - dir = 1 - }, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) +"blz" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "blJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"blP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/dorms) +"blY" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"bma" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 10 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"bmo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "bmr" = ( /obj/structure/cable, /obj/machinery/telecomms/broadcaster/preset_right, @@ -3127,13 +3199,18 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"bmz" = ( +"bmt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/central/greater) +"bmv" = ( /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "bmA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -3161,6 +3238,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/maintenance/department/engine/atmos) +"bmQ" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "bmT" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -3168,34 +3252,16 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/tram, /area/station/security/tram) -"bmY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"bnn" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, +"bni" = ( /turf/open/floor/iron, -/area/station/hallway/primary/fore) +/area/station/maintenance/fore/greater) "bno" = ( /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/external{ - name = "Tram Maintenance" + name = "Tram Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -3214,28 +3280,14 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"bnI" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/suit_storage_unit/cmo, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) -"bnQ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/rock/pile/jungle/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"bnU" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ +"bnK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/side{ dir = 8 }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/aft) +/area/station/science/lower) "bnV" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -3246,13 +3298,20 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/engineering) -"bnX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"bnW" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "permaouter"; + name = "Permabrig Transfer"; + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/security/execution/transfer) "bob" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -3265,32 +3324,18 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"boi" = ( -/obj/structure/closet/crate, -/obj/item/clothing/mask/bandana/blue, -/obj/item/clothing/mask/bandana/blue, -/obj/item/clothing/mask/bandana/gold, -/obj/item/clothing/mask/bandana/gold, -/obj/item/clothing/mask/bandana/red, -/obj/item/clothing/mask/bandana/red, -/obj/item/clothing/mask/bandana/skull, -/obj/item/clothing/mask/bandana/skull, -/obj/item/toy/basketball, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +"bom" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "bor" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"boB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) "boI" = ( /obj/machinery/mecha_part_fabricator/maint{ name = "forgotten exosuit fabricator" @@ -3330,7 +3375,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/west, -/obj/structure/sign/warning/pods/directional/west, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, @@ -3343,6 +3387,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/small, /area/station/security/execution/education) +"bpm" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/white/textured_large, +/area/station/command/heads_quarters/cmo) "bpo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -3357,6 +3410,16 @@ /obj/machinery/light/broken/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"bpq" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) +"bpC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) "bpI" = ( /obj/structure/table, /obj/item/storage/box/donkpockets, @@ -3365,37 +3428,48 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"bpK" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/turf/open/floor/iron, +/area/station/security/warden) +"bpR" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/tools) "bpS" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) -"bpY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"bpT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L12"; + pixel_y = -15 }, +/obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 4 + dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"bqc" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Air to Pure" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "bqd" = ( /obj/item/reagent_containers/cup/bottle/ammonia, /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/security/prison/safe) +"bqe" = ( +/obj/structure/closet/secure_closet/atmospherics, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) "bqm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 8 }, @@ -3404,6 +3478,16 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/starboard) +"bqp" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Recreation" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/commons/fitness/recreation/entertainment) "bqs" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -3427,10 +3511,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"bqx" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/office) "bqy" = ( /turf/open/floor/engine{ name = "Holodeck Projector Floor" @@ -3449,6 +3529,26 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/virology) +"bqL" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/security/courtroom) +"bqO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/medical/medbay/lobby) "bqR" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/closet/crate/mod, @@ -3458,21 +3558,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"brj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) +"brd" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "bro" = ( /obj/structure/frame/machine, /turf/open/floor/tram, /area/station/security/tram) -"brw" = ( -/obj/structure/chair{ - pixel_y = -2 +"brv" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 1 }, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) "bry" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -3498,10 +3602,6 @@ /obj/vehicle/ridden/scooter/skateboard/hoverboard, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"brA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) "brD" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/tile/neutral{ @@ -3509,10 +3609,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"brG" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos) +"brR" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/machinery/light/floor, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/hydroponics) "brZ" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -3522,6 +3628,10 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/aft) +"bso" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "bsu" = ( /obj/structure/barricade/wooden/crude, /obj/effect/mapping_helpers/broken_floor, @@ -3564,17 +3674,86 @@ dir = 4 }, /area/station/maintenance/starboard/greater) +"bsN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "bsP" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"bta" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) +"btg" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/rag{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 5; + pixel_y = 16 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -7; + pixel_y = 15 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"btu" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos/glass{ + name = "Distro Access"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) +"btA" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/storage/box{ + pixel_x = -8; + pixel_y = 15 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"btF" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "btG" = ( /obj/structure/rack, /obj/effect/turf_decal/delivery/white, @@ -3590,45 +3769,35 @@ }, /turf/open/floor/wood, /area/station/engineering/main) -"btY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 +"bud" = ( +/obj/machinery/computer/communications{ + dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"bua" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/captain) +"bue" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"buc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bamboo, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) -"bud" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/atmos) -"buf" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ +/area/station/hallway/secondary/dock) +"buq" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) +"bus" = ( +/obj/structure/table/wood, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security) +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "buA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3642,46 +3811,36 @@ dir = 8 }, /area/station/science/xenobiology) -"buI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/storage/belt/utility{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/storage/belt/utility{ - pixel_x = 6 - }, -/obj/item/storage/belt/utility{ - pixel_x = -2; - pixel_y = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "buJ" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/machinery/bluespace_vendor/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"buU" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/five, -/obj/item/stack/cable_coil/five, -/obj/effect/turf_decal/tile/brown/opposingcorners{ +/obj/effect/turf_decal/weather/dirt{ dir = 1 }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) +"buU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "buV" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"bvg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "bvh" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -3704,40 +3863,46 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/security/warden) -"bvP" = ( -/obj/machinery/door/airlock{ - name = "Kitchen" +"bvU" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/turf/open/floor/stone, +/area/station/service/chapel) +"bwg" = ( +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) +"bwu" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, -/area/station/maintenance/central/greater) -"bvV" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"bwy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/destructible/cult/item_dispenser/archives/library, -/obj/item/book/codex_gigas, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/library) +/area/station/engineering/supermatter/room) "bwz" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"bwL" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_y = 12 + }, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/machinery/light/no_nightlight/directional/east, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "bxa" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -3745,24 +3910,23 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"bxk" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/structure/rack, -/obj/item/weldingtool/mini, -/obj/item/tank/internals/emergency_oxygen/empty, -/obj/item/cigarette/rollie, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) -"bxl" = ( +"bxe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/weather/snow, -/obj/effect/turf_decal/weather/snow/corner{ +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) +"bxr" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/bot{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/food_cart, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) "bxI" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -3775,6 +3939,9 @@ dir = 6 }, /area/station/science/lower) +"bxN" = ( +/turf/open/floor/iron/grimy, +/area/station/service/janitor) "bxT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/navigate_destination/dockescpod, @@ -3784,27 +3951,54 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"bxZ" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/landmark/start/hangover, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"byk" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "byq" = ( /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/small, /area/station/medical/morgue) -"byt" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"byv" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 +"byr" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = 4 }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/effect/turf_decal/siding{ + dir = 5 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "byx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -3824,21 +4018,6 @@ /obj/effect/turf_decal/stripes/asteroid/end, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"byN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"byR" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/disposalpipe/segment, -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "byU" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -3847,51 +4026,40 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"bzc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ +"bzx" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Distro to Waste" + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"bzF" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"bzj" = ( -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/turf_decal/siding/thinplating_new{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) -"bzF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"bzG" = ( /obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/worn_out/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "bzZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"bAb" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/public/glass{ - name = "Recreation" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured_half, -/area/station/commons/fitness/recreation/entertainment) -"bAr" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) +"bAk" = ( +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "bAs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3911,18 +4079,31 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/entry) -"bBh" = ( +"bBb" = ( +/obj/structure/flora/tree/jungle/style_2, /obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_br/style_3, -/obj/machinery/firealarm/directional/north, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = -16 + dir = 9 }, /turf/open/floor/grass, /area/station/service/chapel) +"bBf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"bBg" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/button/door/directional/east{ + id = "Cabin2"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms) "bBk" = ( /obj/effect/turf_decal/tile/dark_red, /obj/structure/cable, @@ -3944,27 +4125,12 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"bBL" = ( -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "bBN" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/table/wood, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/crap{ - pixel_y = 5 - }, -/obj/item/cigarette/pipe/cobpipe{ - pixel_x = 1; - pixel_y = -2 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "bBX" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, @@ -4004,11 +4170,19 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"bCo" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/warm/directional/south, +"bCp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/area/station/hallway/primary/central/aft) +"bCr" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "bCs" = ( /obj/machinery/light/dim/directional/north, /turf/open/floor/iron/dark/side{ @@ -4026,11 +4200,6 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/security/office) -"bCP" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "bCQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4050,12 +4219,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"bDg" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "bDh" = ( /obj/effect/turf_decal/siding/yellow{ dir = 5 @@ -4075,6 +4238,13 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"bDp" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) "bDq" = ( /obj/structure/table, /obj/item/shovel, @@ -4110,49 +4280,30 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"bDQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/light/no_nightlight/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "bEd" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bEw" = ( -/obj/structure/sign/directions/supply{ - dir = 1; - pixel_y = -8 - }, -/obj/structure/sign/directions/command{ - dir = 1 - }, -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_y = 8 - }, -/turf/closed/wall, -/area/station/hallway/secondary/entry) +"bEu" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/jungle/a/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/window/spawner/directional/east, +/obj/machinery/light/floor, +/turf/open/floor/grass, +/area/station/service/hydroponics) "bEB" = ( /obj/machinery/vending/cigarette, /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/science/lower) -"bEG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera/directional/north{ - c_tag = "atmospherics - HFR" - }, +"bEM" = ( /obj/effect/turf_decal/siding/wideplating{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/area/station/engineering/main) "bEN" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -4165,38 +4316,53 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"bES" = ( +/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 + }, +/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) +"bEU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "bEW" = ( /obj/effect/spawner/structure/window/reinforced/shuttle, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"bFh" = ( -/obj/structure/rack, -/obj/item/binoculars, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) -"bFt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"bEZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 8 }, -/turf/open/floor/iron, -/area/station/commons/dorms) +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) +"bFf" = ( +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "bFw" = ( /obj/machinery/telecomms/server/presets/science, /turf/open/floor/circuit, /area/station/tcommsat/server) -"bFO" = ( -/obj/effect/spawner/random/trash, -/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/central/greater) "bFR" = ( /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -4209,16 +4375,14 @@ /obj/effect/spawner/random/techstorage/rnd_all, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bGe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/siding/green{ - dir = 4 +"bFY" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "bGi" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/mug{ @@ -4249,23 +4413,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"bGq" = ( -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen/minisat/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat_interior) -"bGD" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/recreation) "bGL" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, @@ -4277,14 +4424,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/office) -"bGX" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) "bGY" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -4292,44 +4431,26 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"bHp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -11; - pixel_y = 2 - }, -/obj/item/reagent_containers/cup/glass/bottle/vodka, -/obj/item/food/grown/citrus/orange, -/obj/item/food/grown/citrus/orange{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/food/grown/grapes/green{ - pixel_y = -4; - pixel_x = -6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine/atmos) "bHs" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"bHy" = ( -/obj/structure/chair/office/light, -/obj/effect/landmark/start/scientist, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "bHU" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/carpet/blue, /area/station/cargo/boutique) +"bId" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "bIg" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/camera/directional/south{ @@ -4337,6 +4458,20 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"bIh" = ( +/obj/machinery/button/door/directional/east{ + id = "AuxToilet2"; + name = "Lock Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/structure/toilet, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/trash/soap{ + spawn_scatter_radius = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "bIp" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -28; @@ -4347,26 +4482,25 @@ /obj/structure/window/spawner/directional/south, /turf/open/misc/sandy_dirt, /area/station/science/research) -"bIJ" = ( +"bIH" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 4 + dir = 1 }, +/obj/structure/flora/bush/sparsegrass, /turf/open/floor/grass, /area/station/service/chapel) -"bIN" = ( -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"bIL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"bIT" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 8 }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/hallway/primary/central/aft) -"bJn" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "bJw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/singular/directional/south, @@ -4374,33 +4508,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"bJx" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/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, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) "bJK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4408,15 +4515,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"bJP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "bJZ" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, /area/station/security/prison/workout) -"bKa" = ( -/obj/structure/chair/sofa/bench/right, -/obj/machinery/incident_display/tram/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "bKl" = ( /obj/structure/railing/corner{ dir = 8 @@ -4424,11 +4535,23 @@ /obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, /area/station/engineering/main) -"bKv" = ( -/obj/structure/flora/tree/jungle/style_4, -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/grass, -/area/station/service/chapel) +"bKm" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) +"bKp" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"bKt" = ( +/obj/structure/table, +/obj/item/soap, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) "bKz" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -4439,6 +4562,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) +"bKD" = ( +/obj/item/kirbyplants/random, +/obj/item/storage/briefcase{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/security/detectives_office) "bKE" = ( /obj/effect/turf_decal/siding/red{ dir = 1 @@ -4452,18 +4584,18 @@ }, /turf/open/floor/iron/white/small, /area/station/security/warden) -"bKK" = ( +"bKM" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wideplating{ +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/corner, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "bKN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/window/brigdoor/left/directional/west{ @@ -4472,13 +4604,6 @@ }, /turf/open/floor/iron/small, /area/station/security/tram) -"bKO" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "bKU" = ( /obj/item/toy/crayon/spraycan{ pixel_x = -7 @@ -4487,30 +4612,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"bLp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 +"bLf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 }, -/obj/machinery/light/no_nightlight/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"bLS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock{ - name = "Library Maintenance" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/service/library) +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "bLT" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/south, @@ -4518,23 +4632,25 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"bLZ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "bMc" = ( -/obj/structure/table, -/obj/item/rcl/pre_loaded, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/commons/storage/art) -"bMn" = ( -/obj/effect/turf_decal/weather/snow, -/obj/effect/turf_decal/weather/snow/corner, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"bMl" = ( +/obj/structure/table/wood, +/obj/item/cigarette/cigar/cohiba, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bMt" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4542,15 +4658,6 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bMV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "bMW" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -4578,19 +4685,6 @@ "bNq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine/atmos) -"bNu" = ( -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"bNL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/small/directional/south, -/obj/machinery/status_display/ai/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "bNP" = ( /obj/structure/cable, /obj/structure/broken_flooring/pile/directional/east, @@ -4606,26 +4700,44 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) -"bOa" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"bOG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/station/service/kitchen) -"bON" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 8 +/turf/open/floor/iron, +/area/station/hallway/primary/aft) +"bNW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating/elevatorshaft, +/area/station/commons/dorms) +"bOa" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/frame/machine, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"bOj" = ( +/obj/item/assembly/mousetrap/armed, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) +"bOo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"bOB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" }, -/turf/open/floor/iron/dark/small, -/area/station/science/xenobiology) +/obj/structure/disposalpipe/segment, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) "bOR" = ( /obj/machinery/light/small/directional/west, /obj/structure/flora/bush/flowers_yw, @@ -4640,55 +4752,29 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) -"bPd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ +"bPu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, -/obj/structure/cable, -/turf/open/floor/wood, +/turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"bPk" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) -"bPy" = ( -/obj/structure/cable, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 8 +"bPw" = ( +/obj/machinery/shower/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) +"bPP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "bPU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"bQc" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/security/office) -"bQd" = ( -/obj/structure/flora/grass/jungle/b/style_2, -/turf/open/misc/dirt/station, -/area/station/service/chapel) "bQi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -4701,23 +4787,16 @@ /obj/machinery/computer/records/security, /turf/open/floor/wood/tile, /area/station/command/bridge) -"bQy" = ( +"bQz" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/computer/security/telescreen/isolation/directional/east, -/obj/machinery/photobooth/security, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"bQQ" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "bRf" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/spawner/random/structure/steam_vent, @@ -4743,6 +4822,12 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"bRo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "bRr" = ( /obj/structure/chair{ dir = 1; @@ -4756,12 +4841,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"bRK" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 4 - }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "bRN" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -4769,13 +4848,23 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"bSk" = ( -/obj/machinery/air_sensor/engine_chamber, +"bRT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, /turf/open/floor/engine, -/area/station/engineering/supermatter) +/area/station/engineering/supermatter/room) "bSo" = ( /turf/open/space/basic, /area/space/nearstation) +"bSr" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "bSs" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -4787,6 +4876,21 @@ }, /turf/open/space/basic, /area/space/nearstation) +"bSy" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"bSD" = ( +/obj/structure/flora/tree/jungle/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) +"bSG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "bSH" = ( /obj/structure/cable, /obj/machinery/power/solar_control{ @@ -4797,6 +4901,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"bSL" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/aft) +"bSU" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/commons/dorms) "bSX" = ( /obj/machinery/flasher/directional/east{ id = "AI"; @@ -4804,27 +4920,12 @@ }, /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai) -"bTo" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_yw, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) -"bTE" = ( -/obj/effect/turf_decal/tile/brown/half, -/obj/effect/turf_decal/tile/brown/half{ - dir = 1 +"bTC" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Air to Pure" }, -/turf/open/floor/iron/textured_half, -/area/station/cargo/miningoffice) -"bTI" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/iron, +/area/station/engineering/atmos) "bUr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue{ @@ -4867,6 +4968,21 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/tram, /area/station/security/tram) +"bUP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/landmark/navigate_destination/gateway, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"bVr" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "bVD" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -4880,21 +4996,21 @@ /turf/open/floor/iron/white/small, /area/station/security/execution/education) "bVJ" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L13"; - pixel_y = -15 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/obj/effect/decal/cleanable/molten_object, +/obj/effect/landmark/event_spawn, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "bVO" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/red, /obj/effect/landmark/start/head_of_security, /turf/open/floor/iron/small, /area/station/security/office) +"bVQ" = ( +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "bVR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4936,6 +5052,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/genetics) +"bWj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) "bWl" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -4943,13 +5064,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"bWp" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) "bWs" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -4957,23 +5071,64 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron, /area/station/science/xenobiology) -"bXb" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt/dust, +"bWD" = ( +/obj/effect/spawner/random/trash, /turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"bXi" = ( +/area/station/maintenance/port/greater) +"bWO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"bWU" = ( /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - name = "Crematorium" +/turf/closed/wall/r_wall, +/area/station/hallway/primary/central/aft) +"bWX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/textured_half{ - dir = 8 +/turf/open/floor/iron, +/area/station/engineering/atmos) +"bXf" = ( +/obj/structure/cable, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/area/station/security/brig/entrance) +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) +"bXm" = ( +/obj/structure/sign/picture_frame/portrait/bar{ + pixel_y = 32 + }, +/obj/structure/table/wood, +/obj/item/roulette_wheel_beacon, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/stone, +/area/station/service/bar/backroom) +"bXp" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "bXu" = ( /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/south, @@ -4994,6 +5149,9 @@ /obj/structure/closet/crate/bin, /turf/open/floor/iron/white, /area/station/medical/virology) +"bXK" = ( +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "bXO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5002,13 +5160,22 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"bXR" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"bXW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 }, -/turf/open/floor/stone, -/area/station/service/bar) +/turf/open/floor/iron, +/area/station/engineering/atmos) +"bYa" = ( +/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/research/glass{ + name = "Break Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "bYf" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/stripes/line{ @@ -5016,10 +5183,6 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"bYh" = ( -/obj/structure/flora/bush/flowers_yw/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) "bYk" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white/small, @@ -5033,32 +5196,70 @@ dir = 1 }, /area/station/engineering/hallway) -"bYK" = ( -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/dirt, +"bYm" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) -"bYV" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/effect/turf_decal/siding/wideplating{ +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ dir = 4 }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"bYw" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"bYx" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/turf/open/floor/iron, +/area/station/security/prison) +"bYD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, -/area/station/engineering/atmos/storage) -"bZa" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/white{ +/area/station/engineering/atmospherics_engine) +"bYP" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/side{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/aft) +/area/station/hallway/primary/central/fore) +"bYZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/stool/bamboo, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) +"bZl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "bZs" = ( /obj/structure/table, /obj/item/reagent_containers/cup/glass/drinkingglass, @@ -5098,15 +5299,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"bZz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/psychology) "bZN" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 4 @@ -5119,24 +5311,13 @@ }, /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 +"caf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 }, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, -/area/station/engineering/atmos/office) +/area/station/engineering/atmos) "cam" = ( /obj/machinery/flasher/directional/east{ id = "AI"; @@ -5151,54 +5332,29 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"cax" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"cay" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "caI" = ( /obj/structure/cable, /obj/effect/decal/cleanable/glass, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"caK" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"caW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk{ +"caM" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) +"cbd" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, -/obj/machinery/disposal/bin, -/turf/open/floor/stone, -/area/station/service/bar) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "cbg" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) -"cbh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) "cbi" = ( /obj/effect/landmark/start/ai/secondary, /obj/item/radio/intercom/directional/north{ @@ -5256,12 +5412,38 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) -"cbH" = ( +"cby" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/camera/directional/east{ + c_tag = "atmospherics - entrance" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) +"cbz" = ( +/obj/machinery/ticket_machine/directional/north, +/turf/open/floor/iron/half{ + dir = 8 + }, +/area/station/hallway/primary/central/fore) +"cbA" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/fore) +/area/station/commons/storage/tools) +"cbC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cbO" = ( /obj/structure/chair{ dir = 1 @@ -5269,12 +5451,22 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/small, /area/station/medical/storage) +"cbR" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cbU" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"cbY" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/closet/firecloset, +/turf/open/floor/iron, +/area/station/security/tram) "cca" = ( /obj/structure/table/reinforced, /obj/machinery/coffeemaker{ @@ -5295,12 +5487,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"ccA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/storage_shared) "ccD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5310,15 +5496,6 @@ }, /turf/open/floor/iron, /area/station/security/tram) -"ccF" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/command{ - name = "Telecomms Server Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/tcommsat/server) "ccG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, @@ -5343,41 +5520,27 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"cdB" = ( -/obj/machinery/camera/directional/south, -/obj/structure/flora/bush/flowers_pp/style_2, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/grass, -/area/station/service/chapel) -"cdC" = ( -/obj/structure/cable, +"cdQ" = ( +/obj/effect/turf_decal/weather/snow, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/exodrone/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"cdY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/obj/structure/cable, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "cea" = ( /obj/structure/window/spawner/directional/south, /turf/open/space/basic, /area/space/nearstation) -"ceN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) +"cei" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "ceP" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ @@ -5392,31 +5555,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"ceS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"cfa" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"cfb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/stone, -/area/station/service/chapel) "cfc" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ dir = 6 @@ -5434,6 +5572,16 @@ /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/ai) +"cfr" = ( +/obj/machinery/door/airlock{ + id_tag = "commiss2"; + name = "Commissary" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/commons/vacant_room/commissary) "cfH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -5441,18 +5589,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"cgs" = ( -/obj/structure/disposalpipe/segment, -/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/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) "cgt" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/garbage, @@ -5465,28 +5601,26 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) -"cgL" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) "cgM" = ( /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"cgV" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 +"cgT" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/end{ + dir = 1 }, -/obj/structure/flora/bush/flowers_yw/style_3, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "cgZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/delivery/red, /obj/effect/mapping_helpers/airlock/access/all/medical/general, /obj/machinery/door/airlock/medical/glass{ @@ -5494,41 +5628,24 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"chh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ +"cha" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/effect/turf_decal/weather/dirt{ dir = 4 }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +/turf/open/floor/grass, +/area/station/service/chapel) "chp" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) -"chC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/light/cold/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/north, -/obj/structure/disposalpipe/segment{ +"chw" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"chI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/turf/open/floor/eighties, -/area/station/hallway/primary/central/fore) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "chO" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -5546,40 +5663,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security) -"cib" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"cig" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"cik" = ( -/obj/structure/bookcase/random, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"cip" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/depsec/science, -/turf/open/floor/iron, -/area/station/security/checkpoint/science) "cis" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 9 @@ -5589,12 +5672,41 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"civ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ +"ciw" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"ciF" = ( +/obj/structure/table/glass, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) +"ciH" = ( +/turf/closed/wall/r_wall, +/area/station/hallway/primary/central/aft) +"ciK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 }, +/obj/structure/cable, +/obj/machinery/door/window/brigdoor/left/directional/east{ + name = "Secure Creature Pen"; + req_access = list("research") + }, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/science/xenobiology) "ciR" = ( /obj/structure/table, /obj/effect/spawner/random/techstorage/command_all, @@ -5606,16 +5718,6 @@ /obj/machinery/recharger, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) -"ciV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"ciW" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) "cjm" = ( /obj/structure/closet/firecloset, /obj/machinery/status_display/evac/directional/south, @@ -5630,26 +5732,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"cjD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) "cjR" = ( /obj/structure/disposalpipe/segment, /obj/structure/plasticflaps/opaque, /turf/open/floor/iron, /area/station/maintenance/port/lesser) -"cjS" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) "cjY" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5659,18 +5746,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"ckb" = ( -/obj/structure/chair/comfy/beige{ - dir = 4 - }, -/obj/machinery/button/door/directional/north{ - id = "CabinS"; - name = "Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/turf/open/floor/carpet/green, -/area/station/commons/dorms) "cks" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/yellow{ @@ -5685,10 +5760,6 @@ /obj/structure/sign/departments/engineering/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"ckt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "cku" = ( /obj/structure/barricade/wooden/crude, /turf/open/floor/noslip, @@ -5703,25 +5774,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"ckP" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"ckR" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Plasma to Pure" +"ckM" = ( +/obj/machinery/light/small/directional/south{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green{ +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 4 }, -/turf/open/floor/iron, +/turf/open/floor/engine/n2, /area/station/engineering/atmos) "ckV" = ( /obj/structure/cable, @@ -5748,12 +5808,13 @@ /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) "cll" = ( -/obj/machinery/door/window/right/directional/west{ - name = "Fitness Ring" +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "clq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -5768,18 +5829,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) -"clV" = ( -/obj/structure/table, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/clothing/mask/breath{ - pixel_x = 15; - pixel_y = 5 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) "clZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -5796,23 +5845,15 @@ "cmf" = ( /turf/closed/wall/rust, /area/station/maintenance/department/engine/atmos) -"cmn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/capacitor{ - pixel_x = -7; - pixel_y = 9 +"cmt" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Toxins" }, -/obj/item/stock_parts/capacitor{ - pixel_x = -7; - pixel_y = 9 +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{ + dir = 1 }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "cmw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5820,27 +5861,28 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public, +/obj/machinery/door/airlock/public{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /obj/effect/mapping_helpers/airlock/unres{ dir = 8 }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"cmy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/vending/boozeomat, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "cmz" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"cmD" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cmX" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 8 @@ -5850,49 +5892,50 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/security/tram) -"cnn" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/service/barber) "cns" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"cnC" = ( -/obj/structure/lattice, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/space/basic, -/area/space/nearstation) +"cnF" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "cnG" = ( /obj/machinery/suit_storage_unit/rd, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/rd) -"cob" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"cnO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"coi" = ( -/obj/structure/cable/layer3, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"coc" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/window/left/directional/south{ - name = "AI Security Door" - }, -/obj/machinery/flasher/directional/east{ - id = "ai" +/obj/structure/sign/departments/exodrone/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"col" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/pdapainter/research, +/obj/machinery/computer/security/telescreen/rd/directional/north, +/obj/effect/turf_decal/siding/purple{ + dir = 5 }, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "cop" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -5904,30 +5947,23 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"cor" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos) "cow" = ( /turf/closed/wall, /area/station/engineering/lobby) -"coC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ +"cpb" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/grass, +/area/station/service/chapel) "cpA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/door/airlock/maintenance_hatch{ - name = "AISat Maintenance" + name = "AISat Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -5967,10 +6003,26 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) +"cpV" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) "cqa" = ( /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cqb" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cqc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5980,11 +6032,23 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) +"cqh" = ( +/obj/structure/reflector/single/anchored, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "cqn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white/side, /area/station/science/xenobiology) +"cqp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) "cqr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/chapel{ @@ -6001,22 +6065,16 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/storage) -"cqD" = ( -/obj/structure/closet/secure_closet/bar, -/obj/item/stack/spacecash/c1, -/obj/item/stack/spacecash/c1, -/obj/item/stack/spacecash/c1, -/obj/item/stack/spacecash/c1, -/obj/item/stack/spacecash/c1, -/obj/machinery/airalarm/directional/north, -/obj/structure/reagent_dispensers/beerkeg, -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"cqz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/backroom) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cqM" = ( /obj/structure/railing{ dir = 8 @@ -6032,6 +6090,11 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/main) +"cqN" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) "cqS" = ( /obj/machinery/conveyor{ dir = 4; @@ -6042,62 +6105,61 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"cri" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"crm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"cro" = ( -/obj/structure/cable, -/obj/structure/chair/sofa/corp/left{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/corporate_suite) -"cru" = ( -/obj/structure/cable, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"crx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"crf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "crE" = ( /obj/structure/window/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) +"crG" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/effect/spawner/random/bedsheet{ + dir = 4 + }, +/obj/machinery/button/door/directional/north{ + id = "Cabin3"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms) "crJ" = ( /obj/effect/turf_decal/siding/red{ dir = 6 }, /turf/open/floor/iron/small, /area/station/security/brig) +"crV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "csl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"cso" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/wideplating_new/terracotta, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "css" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -6106,16 +6168,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"csv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/secondary/exit/departure_lounge) "csw" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/stripes/end, @@ -6144,7 +6196,8 @@ "csF" = ( /obj/machinery/atmospherics/pipe/smart/manifold/green/visible, /obj/machinery/door/poddoor/shutters/preopen{ - id = "aigas" + id = "aigas"; + dir = 4 }, /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, @@ -6154,12 +6207,31 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"csO" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "csS" = ( /obj/structure/cable, /obj/item/kirbyplants/organic/plant21, /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"csV" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 8 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "ctb" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -6171,16 +6243,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"ctl" = ( +"ctm" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/security/prison/work) -"ctH" = ( -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) +"ctQ" = ( +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/small, +/area/station/security/office) "cua" = ( /obj/effect/spawner/random/maintenance, /obj/effect/spawner/random/structure/crate, @@ -6204,21 +6281,40 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/security/prison/rec) -"cvc" = ( +"cuv" = ( +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"cuw" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/light/directional/east, -/obj/structure/table, -/obj/item/stack/sheet/mineral/plasma/five, +/obj/effect/turf_decal/bot{ + dir = 1 + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"cvk" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) +"cuH" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/turf_decal/weather/snow/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"cvb" = ( +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) +"cvn" = ( +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) "cvy" = ( /obj/structure/bed/medical/emergency, /turf/open/floor/iron/dark, @@ -6259,36 +6355,25 @@ dir = 1 }, /area/station/cargo/bitrunning/den) -"cvV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"cvX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/restaurant_portal/bar, -/turf/open/floor/wood/tile, -/area/station/service/bar) "cwb" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"cwc" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "cwf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"cwj" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) "cwt" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -6298,6 +6383,10 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/customs) +"cww" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "cwL" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -6305,6 +6394,16 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) +"cwM" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole{ + dir = 1 + }, +/obj/structure/sign/painting/library{ + pixel_x = 30 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "cwS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -6314,13 +6413,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cwU" = ( +/obj/machinery/door/airlock{ + name = "Hydroponics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/hydroponics) "cwX" = ( /obj/machinery/door/poddoor/shutters/preopen{ - id = "aigas" + id = "aigas"; + dir = 4 }, /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"cxg" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/aft) "cxy" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -6331,13 +6449,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"cxz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/station/service/chapel) "cxO" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -6347,6 +6458,12 @@ }, /turf/open/floor/plating, /area/station/science/cubicle) +"cxY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/cable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "cyf" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -6399,40 +6516,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"cze" = ( -/obj/machinery/turretid{ - icon_state = "control_stun"; - name = "AI Chamber turret control"; - pixel_x = 3; - pixel_y = -23 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/turret_protected/ai) "czg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"czq" = ( -/obj/structure/curtain/cloth, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 +"czn" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Mix" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/textured_half{ +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) +"czD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 }, -/area/station/service/janitor) -"czu" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) +/turf/open/floor/iron, +/area/station/engineering/atmos) "cAb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -6450,7 +6550,9 @@ "cAj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/delivery/red, /obj/effect/mapping_helpers/airlock/access/all/medical/surgery, /obj/machinery/door/airlock/medical{ @@ -6458,19 +6560,6 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/surgery/theatre) -"cAl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/assistant, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/bar) "cAm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box/corners{ @@ -6498,33 +6587,17 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/science/robotics/mechbay) -"cAv" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ +"cAX" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/office) -"cAZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/trash, /turf/open/floor/plating, -/area/station/maintenance/port/greater) -"cBd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/delivery, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"cBl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/area/station/maintenance/starboard/fore) "cBw" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/structure/filingcabinet/chestdrawer, @@ -6555,19 +6628,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"cCv" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wideplating_new/terracotta, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) -"cCx" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) "cCD" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance/external{ @@ -6584,29 +6644,24 @@ /turf/open/misc/asteroid/airless, /area/space/nearstation) "cCM" = ( -/obj/structure/cable, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"cCP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"cCV" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/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/wideplating{ - dir = 8 +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/siding/wideplating{ +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"cCQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cCW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6617,17 +6672,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) -"cDa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/station/science/xenobiology) "cDb" = ( /obj/structure/chair/office{ dir = 4 @@ -6635,10 +6679,18 @@ /obj/effect/landmark/start/head_of_security, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"cDf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +"cDl" = ( +/obj/machinery/libraryscanner, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"cDn" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4{ + dir = 5 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/dock) +/area/station/engineering/atmos) "cDt" = ( /obj/structure/chair/comfy/shuttle, /obj/structure/transport/linear/tram, @@ -6687,26 +6739,17 @@ dir = 1 }, /area/station/maintenance/starboard/greater) -"cDV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) "cEn" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) "cEo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/obj/effect/landmark/start/bartender, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar) "cED" = ( /obj/structure/railing/corner, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -6715,12 +6758,6 @@ }, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"cEF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/captain/private) "cEK" = ( /obj/effect/landmark/start/ai, /obj/item/radio/intercom/directional/south{ @@ -6761,6 +6798,14 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"cEL" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9"; + pixel_y = -15 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cEX" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -6776,6 +6821,9 @@ }, /turf/open/floor/wood/tile, /area/station/command/bridge) +"cFd" = ( +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) "cFg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -6801,6 +6849,11 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"cFD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "cFR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6817,21 +6870,28 @@ }, /obj/machinery/door/airlock/external{ name = "Escape Pod Two"; - space_dir = 8 + space_dir = 8; + dir = 4 }, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"cGa" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/light/cold/dim/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"cGi" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "cGj" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) -"cGG" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/railing/corner, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "cGI" = ( /obj/machinery/firealarm/directional/south, /obj/structure/closet/secure_closet/medical3, @@ -6840,17 +6900,19 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/small, /area/station/medical/storage) -"cGV" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/storage) -"cHh" = ( -/obj/structure/tank_dispenser, -/obj/effect/turf_decal/bot{ - dir = 1 +"cGW" = ( +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/light/cold/dim/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "cHp" = ( /obj/effect/turf_decal/siding/dark_red/corner{ dir = 4 @@ -6871,14 +6933,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"cHt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 9 - }, -/obj/machinery/meter/monitored/distro_loop, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) "cHC" = ( /obj/structure/chair{ pixel_y = -2 @@ -6891,25 +6945,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/lawoffice) -"cHG" = ( -/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/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"cHI" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/machinery/vatgrower, -/turf/open/floor/engine, -/area/station/science/cytology) "cHO" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/full, @@ -6927,7 +6962,8 @@ "cHR" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ - name = "Solar Maintenance" + name = "Solar Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -6936,6 +6972,25 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"cHS" = ( +/obj/machinery/vending/hydronutrients, +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"cHW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "cHX" = ( /obj/structure/filingcabinet, /obj/item/folder/documents, @@ -6946,17 +7001,27 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/medical/virology) -"cIX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar) -"cJv" = ( +"cJg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner, +/area/station/science/xenobiology) +"cJm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/thinplating_new/light, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cJz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6965,6 +7030,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) +"cJI" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "cJL" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -6978,6 +7053,12 @@ dir = 4 }, /area/station/science/xenobiology) +"cJN" = ( +/obj/structure/chair/sofa/bench/left, +/obj/effect/landmark/start/hangover, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/white, +/area/station/science/cytology) "cJT" = ( /obj/effect/turf_decal/bot_white, /obj/structure/closet/crate{ @@ -7001,41 +7082,25 @@ /obj/item/clothing/head/utility/welding, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"cKa" = ( -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/science/lab) "cKk" = ( /turf/closed/mineral/random/stationside, /area/station/ai_monitored/turret_protected/aisat/maint) -"cKm" = ( -/obj/machinery/camera/directional/west, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"cKt" = ( +"cKw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron/dark, +/area/station/cargo/office) +"cKB" = ( /obj/structure/cable, +/obj/item/storage/bag/trash, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/central/greater) -"cKy" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/atmospheric_sanity/ignore_area, -/turf/open/floor/iron, -/area/station/engineering/hallway) -"cKL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark/small, -/area/station/tcommsat/server) +/area/station/security/prison/safe) "cKV" = ( /obj/machinery/light/floor, /obj/effect/landmark/event_spawn, @@ -7050,13 +7115,17 @@ /obj/structure/marker_beacon/indigo, /turf/open/space/basic, /area/space/nearstation) -"cLw" = ( -/obj/machinery/power/energy_accumulator/grounding_rod/anchored, -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"cLA" = ( +/obj/structure/toilet, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/east{ + id = "ShowerToilet1"; + name = "Lock Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "cLD" = ( /obj/structure/window/spawner/directional/north, /obj/effect/turf_decal/siding/thinplating_new/dark{ @@ -7066,30 +7135,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/courtroom) -"cLJ" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"cLL" = ( -/obj/structure/flora/rock/pile/jungle/style_5{ - pixel_x = -5; - pixel_y = 5 - }, -/turf/open/floor/grass, -/area/station/service/chapel) -"cLR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/window/right/directional/south{ - name = "AI Security Door" - }, -/obj/machinery/flasher/directional/west{ - id = "ai" +"cLP" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Unfiltered & Air to Mix"; + dir = 4 }, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) +/turf/open/floor/iron, +/area/station/engineering/atmos) "cLS" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -7104,11 +7156,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"cLW" = ( -/mob/living/basic/mouse/brown/tom, -/obj/item/radio/intercom/prison/directional/south, -/turf/open/floor/plating, -/area/station/security/prison/safe) "cLY" = ( /obj/machinery/computer/security{ dir = 4 @@ -7116,6 +7163,15 @@ /obj/effect/turf_decal/tile/dark_red/fourcorners, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"cMj" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "cMq" = ( /turf/open/floor/plating/airless, /area/space/nearstation) @@ -7124,23 +7180,19 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"cME" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/button/door/directional/east{ - id = "kitchenshutters"; - name = "Kitchen Shutter Control" +"cMQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"cMG" = ( -/obj/machinery/door/poddoor/incinerator_atmos_aux, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cMS" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/north, @@ -7156,16 +7208,9 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"cMY" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/aft) -"cNk" = ( -/obj/structure/sign/departments/restroom/directional/south, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +"cNn" = ( +/turf/open/floor/engine/air, +/area/station/engineering/atmos) "cNR" = ( /obj/structure/chair/office{ dir = 4 @@ -7186,56 +7231,28 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"cOd" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/rock/pile/style_2{ - pixel_x = -1; - pixel_y = -3 +"cOq" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" }, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/recreation/entertainment) -"cOC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/science/xenobiology) -"cOI" = ( -/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) -"cOJ" = ( -/obj/structure/railing, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) -"cON" = ( /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - pixel_y = -2 +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"cOv" = ( +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"cOF" = ( +/obj/structure/cable, +/obj/structure/chair/office{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) "cOW" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, @@ -7251,26 +7268,19 @@ /obj/effect/turf_decal/siding/blue/corner, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"cPj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"cPp" = ( -/obj/structure/urinal/directional/east, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "cPD" = ( /obj/effect/turf_decal/stripes/end{ dir = 4 }, /turf/open/floor/plating/airless, /area/space/nearstation) +"cPF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "cPN" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/showroomfloor, @@ -7298,26 +7308,35 @@ }, /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) -"cQo" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/aft) -"cQG" = ( +"cPU" = ( +/obj/structure/table/wood, +/obj/item/pai_card, +/obj/item/storage/crayons, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"cQC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/structure/sign/departments/holy/directional/west, -/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"cQO" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/spawner/random/entertainment/arcade, +/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"cQN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/wood, -/turf/open/floor/stone, -/area/station/service/bar) +/area/station/commons/fitness/recreation/entertainment) "cQP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -7329,22 +7348,41 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"cQV" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Storage" - }, -/turf/open/floor/iron/smooth_half{ - dir = 8 - }, -/area/station/engineering/main) -"cRc" = ( -/obj/structure/disposalpipe/segment, +"cQR" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/court/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/security/glass{ + id_tag = "permaouter"; + name = "Permabrig Transfer"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/security/execution/transfer) +"cQV" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/maintenance/hallway/abandoned_command) +"cRh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/security/office) "cRm" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -7356,22 +7394,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/lobby) -"cRo" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "HFR Chamber" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) "cRw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue, @@ -7397,14 +7419,15 @@ /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) "cRL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "cRS" = ( /obj/structure/table, /obj/item/vending_refill/hydroseeds, @@ -7417,16 +7440,16 @@ /turf/open/floor/tram, /area/station/security/tram) "cSb" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +/obj/structure/sign/painting/library{ + pixel_y = 32 }, -/obj/structure/flora/bush/sparsegrass, -/turf/open/floor/grass, -/area/station/service/chapel) -"cSc" = ( -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/iron/smooth, +/area/station/service/library) +"cSd" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/science/lower) "cSk" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/closet/l3closet, @@ -7461,32 +7484,29 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"cSy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 5 +"cSw" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/computer/atmos_control/nocontrol/master{ + dir = 1 }, -/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light/no_nightlight/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"cSy" = ( +/obj/machinery/light/floor, +/obj/structure/flora/bush/flowers_br, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) +"cSA" = ( +/obj/structure/closet/crate/trashcart/filled, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/maintenance/fore/greater) "cSC" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) -"cTn" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"cTp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) "cTw" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/south, @@ -7511,48 +7531,38 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"cTD" = ( +/obj/effect/landmark/start/librarian, +/turf/open/floor/iron/grimy, +/area/station/service/library) "cTK" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/break_room) -"cTX" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) -"cTY" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 8 +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - N2O" }, -/obj/effect/turf_decal/bot{ +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"cUf" = ( -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_y = 8 +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) +"cTT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/sign/directions/command{ +/turf/open/floor/wood, +/area/station/service/chapel) +"cUd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/structure/sign/directions/supply{ - dir = 1; - pixel_y = -8 +/turf/open/floor/wood, +/area/station/commons/fitness/recreation) +"cUu" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 }, -/turf/closed/wall, -/area/station/service/library) -"cUB" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "cUH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -7566,6 +7576,12 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/engineering) +"cUL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "cUU" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -7581,31 +7597,29 @@ dir = 1 }, /area/station/hallway/primary/aft) -"cUY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"cVh" = ( -/obj/machinery/button/crematorium{ - id = "cremateme"; - pixel_y = -30 - }, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) -"cVm" = ( +"cVi" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance"; + dir = 4 }, -/obj/effect/turf_decal/stripes/red/line{ +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"cVq" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) "cVx" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 4 @@ -7625,22 +7639,23 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/science/robotics/augments) +"cVB" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/library) "cVC" = ( /obj/machinery/computer/operating{ dir = 1 }, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) -"cVO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/chapel/office) +"cVF" = ( +/turf/open/floor/iron/smooth, +/area/station/commons/storage/tools) "cVQ" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -7650,6 +7665,13 @@ dir = 1 }, /area/station/science/lower) +"cVU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cWh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7657,6 +7679,19 @@ dir = 4 }, /area/station/maintenance/fore/lesser) +"cWw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"cWA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "cWM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7664,7 +7699,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/grunge{ - name = "Morgue" + name = "Morgue"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/medical/morgue, /turf/open/floor/iron/dark/textured_half{ @@ -7673,7 +7709,8 @@ /area/station/hallway/primary/aft) "cWZ" = ( /obj/machinery/door/airlock/external{ - name = "Primary Docking Bay" + name = "Primary Docking Bay"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -7682,57 +7719,25 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"cXb" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "cXg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"cXh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"cXp" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/general, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ - name = "Service Hallway" +/obj/structure/table, +/obj/item/stack/sheet/iron/five, +/obj/item/stack/cable_coil/five, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/hallway/secondary/service) +/obj/item/radio/intercom/directional/east, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"cXt" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "cXu" = ( /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"cXz" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/security/breakroom) -"cXH" = ( -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "cXJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood{ @@ -7740,46 +7745,37 @@ }, /turf/open/floor/iron/small, /area/station/security/prison/shower) +"cXU" = ( +/obj/machinery/door/airlock/public{ + name = "Arcade" + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/hallway/primary/central/fore) "cYc" = ( /obj/effect/spawner/random/structure/crate, /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"cYk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"cYl" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/telecomms/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"cYp" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/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/holodeck/rec_center) +/area/station/security/brig/entrance) "cYt" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"cYD" = ( -/obj/structure/table/wood, -/obj/item/hemostat{ - name = "Totally Not Scissors"; - desc = "Ah yes, the Haircutting Device." - }, -/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/small, -/area/station/service/barber) "cYE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7804,13 +7800,22 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine) -"cYS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +"cYM" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) +/turf/open/floor/stone, +/area/station/service/bar) +"cYO" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark/fourcorners, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/no_nightlight/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "cYT" = ( /obj/structure/hedge, /obj/structure/sign/poster/contraband/random/directional/east, @@ -7821,65 +7826,19 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"cYY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) -"cZi" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) -"cZj" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4{ - dir = 9 +"cZh" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, /turf/open/floor/iron, -/area/station/engineering/atmos) -"cZk" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) -"cZl" = ( -/obj/machinery/light/small/directional/east, -/obj/item/kirbyplants/random/dead/research_director, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/rd) +/area/station/security/prison/work) "cZm" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/engine{ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"cZs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/chapel) -"cZx" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/wood, -/area/station/commons/fitness/recreation) "cZy" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7925,10 +7884,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron, /area/station/security) -"dao" = ( -/obj/effect/landmark/start/assistant, -/turf/open/floor/stone, -/area/station/service/bar) "daq" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -7957,6 +7912,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"dbh" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/jungle/c/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "dbs" = ( /obj/structure/chair/plastic{ dir = 8 @@ -7971,20 +7933,6 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"dby" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/washing_machine, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison) "dbz" = ( /obj/structure/cable/layer3, /obj/structure/chair/office{ @@ -7995,56 +7943,12 @@ "dbF" = ( /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"dbJ" = ( -/obj/effect/landmark/start/librarian, -/turf/open/floor/iron/grimy, -/area/station/service/library) -"dbZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "dcc" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/holopad, /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"dcx" = ( -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/structure/closet{ - anchored = 1; - can_be_unanchored = 1; - name = "Cold protection gear" - }, -/obj/item/clothing/suit/hooded/wintercoat/science, -/obj/item/clothing/suit/hooded/wintercoat/science, -/turf/open/floor/iron/dark/small, -/area/station/science/xenobiology) -"dcD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/port) "dcH" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -8055,13 +7959,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"dcK" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "dcS" = ( /obj/effect/turf_decal/siding/wideplating/dark/corner{ dir = 4 @@ -8073,13 +7970,32 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) -"dde" = ( -/obj/structure/chair{ - dir = 1; - pixel_y = -2 +"dcT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/science/lower) +/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, +/turf/open/floor/iron/textured_half, +/area/station/service/chapel/office) +"ddc" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/jungle/a/style_3, +/turf/open/misc/dirt/station, +/area/station/service/chapel) +"ddi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ddl" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -8092,6 +8008,20 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"ddn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"ddo" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/kirbyplants/organic/plant24, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "ddq" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/spawner/random/maintenance, @@ -8102,27 +8032,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"ddB" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "ddE" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/west, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"ddF" = ( -/mob/living/basic/goat/pete, -/obj/effect/turf_decal/weather/snow, -/obj/effect/turf_decal/weather/snow/corner, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "ddK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8132,22 +8046,12 @@ /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ddT" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +"dee" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) -"deb" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "deh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -8178,23 +8082,6 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) -"deR" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"deS" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 10 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) "dfb" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -8202,34 +8089,70 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/psychology) -"dfd" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"dff" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"dfi" = ( +/obj/structure/statue/sandstone/venus{ + dir = 8; + pixel_y = -15 + }, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_br/style_3, +/obj/effect/dummy/lighting_obj, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "dfo" = ( /obj/structure/cable, /obj/machinery/status_display/ai/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"dfA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"dfI" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) +"dfK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/engine, +/area/station/science/xenobiology) "dfN" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/south, /turf/open/floor/grass, /area/station/cargo/storage) -"dfT" = ( -/obj/effect/turf_decal/bot{ - dir = 1 +"dga" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"dgc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"dgf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/turf/open/floor/iron, +/area/station/engineering/atmos) "dgm" = ( /obj/structure/railing/corner{ dir = 1 @@ -8260,6 +8183,17 @@ /obj/structure/cable, /turf/open/floor/iron/white/corner, /area/station/science/lower) +"dgx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/prison/garden) +"dgy" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) "dgV" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -8268,9 +8202,17 @@ /obj/machinery/camera/directional/west{ c_tag = "Engineering - SECURE STORAGE" }, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) +"dgW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/departments/holy/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "dhh" = ( /obj/structure/cable, /obj/machinery/status_display/ai/directional/north, @@ -8279,16 +8221,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dhu" = ( -/obj/structure/flora/bush/sparsegrass{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "dhy" = ( /obj/structure/cable, /obj/structure/disposalpipe/trunk{ @@ -8317,20 +8249,47 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"dhG" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"dhH" = ( -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "dhK" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"dhX" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"dia" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"dic" = ( +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "dim" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8342,25 +8301,22 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"din" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/wideplating{ +"dip" = ( +/obj/structure/cable, +/obj/item/kirbyplants/organic/applebush, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/iron/dark/textured_corner{ dir = 4 }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) +/area/station/command/heads_quarters/hop) "dis" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/medical/glass{ id_tag = "MedbayFoyer"; name = "Medbay Clinic" @@ -8373,141 +8329,51 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/dark/small, /area/station/medical/medbay/lobby) -"dix" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "atmospherics - project room" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"diF" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Barber" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/commons/fitness/locker_room) -"diG" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/small/directional/east, -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"diI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname/directional/south, +"diw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"diK" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/mime, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"diP" = ( -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"diS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue, -/obj/structure/sink/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"diU" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/light/floor, -/turf/open/floor/iron/smooth, -/area/station/hallway/secondary/command) -"djc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ +/obj/machinery/door/firedoor{ dir = 8 }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"djf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"djg" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/small, -/area/station/security/brig) -"djO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"djX" = ( -/obj/structure/table, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/effect/turf_decal/bot{ - dir = 1 +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopqueue"; + name = "HoP Queue Shutters" }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -6; - pixel_y = 5 +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/blue/half{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"djY" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Dorms" +/obj/effect/turf_decal/tile/blue/half{ + dir = 8 }, -/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/half{ + dir = 8 + }, +/area/station/hallway/primary/central/fore) +"diS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/commons/dorms) -"dkh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/sink/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"dja" = ( +/mob/living/basic/bot/firebot, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) +"dke" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 }, -/turf/open/floor/stone, -/area/station/service/chapel) -"dkv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "dkz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8521,6 +8387,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/security/execution/education) +"dkN" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "dkT" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/stripes/line{ @@ -8529,12 +8402,56 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"dlj" = ( -/obj/structure/reflector/single/anchored{ - dir = 9 +"dkZ" = ( +/obj/machinery/computer/security/telescreen/prison/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/office) +"dla" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/arrows{ + dir = 4 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, /area/station/engineering/supermatter/room) +"dli" = ( +/obj/structure/table/wood, +/obj/item/food/grown/citrus/lemon{ + pixel_y = 12; + pixel_x = 4 + }, +/obj/item/food/grown/citrus/orange{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/food/grown/citrus/lime{ + pixel_x = 3 + }, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) +"dls" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) +"dlt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "dlx" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/flora/rock/pile/style_random, @@ -8552,44 +8469,53 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/small, /area/station/medical/storage) -"dlB" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/misc/dirt/station, -/area/station/service/chapel) -"dlG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/science/xenobiology) "dlJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"dlP" = ( +/obj/structure/flora/tree/jungle/small/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"dmi" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "dmk" = ( /obj/machinery/holopad, /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"dml" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"dmC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/medical/cryo) +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "dmG" = ( /obj/structure/transport/linear/tram, /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"dmR" = ( +/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) "dmT" = ( /obj/machinery/camera/directional/north{ c_tag = "Xenobiology - Cell 2"; @@ -8608,56 +8534,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/grunge{ - name = "Cell 3" + name = "Cell 3"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/security/prison/safe) -"dng" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/aft) -"dnk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"dny" = ( -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) -"dnK" = ( -/obj/item/kirbyplants/random, -/obj/item/storage/briefcase{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark/small, -/area/station/security/detectives_office) -"dnO" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/white/mid_joiner{ +"dmZ" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, -/obj/effect/turf_decal/trimline/white/mid_joiner{ - dir = 8 +/turf/open/floor/iron/white, +/area/station/medical/paramedic) +"dna" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Air" }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/station/commons/fitness/recreation) +/obj/machinery/light/small/red/directional/north, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/maintenance/port/fore) +"dnf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "dnU" = ( /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8679,14 +8586,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/brig) -"doc" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Gas to Mix" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dof" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -8695,13 +8594,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"doi" = ( -/obj/machinery/vending/wardrobe/chap_wardrobe, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "doj" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -8765,28 +8657,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"dpH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ - dir = 8 +"dpF" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/wood/tile, +/area/station/service/bar) "dpR" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, /turf/open/floor/tram, /area/station/security/tram) -"dqj" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/aft) -"dqB" = ( -/obj/structure/table, -/obj/item/clothing/head/utility/chefhat, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) "dqO" = ( /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs/auxiliary) @@ -8797,7 +8681,8 @@ /area/station/security/office) "dre" = ( /obj/machinery/door/airlock/maintenance{ - name = "Transit Tube Station" + name = "Transit Tube Station"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, @@ -8812,14 +8697,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) -"drC" = ( -/obj/machinery/vending/cola, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) "drI" = ( /obj/structure/railing{ dir = 1 @@ -8860,24 +8737,17 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"dsl" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood/parquet, -/area/station/service/library) "dsp" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/rack, /obj/item/pickaxe, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"dss" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple, -/obj/item/kirbyplants/random, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron/dark, -/area/station/science/genetics) +"dsq" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/jungle, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/locker_room) "dst" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -8888,14 +8758,6 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) -"dsK" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "dsN" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -8908,22 +8770,18 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"dta" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "dtk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/closed/wall, /area/station/science/ordnance/testlab) -"dtm" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) -"dtv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "dtC" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/purple{ @@ -8948,15 +8806,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/genetics) -"dtO" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"dtQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "dua" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -8969,12 +8825,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/augments) -"duj" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "dun" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -8993,34 +8843,41 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"duE" = ( -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "duI" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ dir = 10 }, /turf/closed/wall/rust, /area/station/ai_monitored/turret_protected/ai) -"duT" = ( -/obj/structure/closet/wardrobe/white, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 +"duR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) -"dvd" = ( -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"duV" = ( +/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) +"duZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "dvo" = ( /obj/machinery/ore_silo, /obj/effect/turf_decal/bot_white, @@ -9040,22 +8897,21 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"dvY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/service/lawoffice) "dwa" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/tram) +"dwf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "dwr" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/flora/rock/pile/jungle/style_random, @@ -9065,6 +8921,12 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"dwz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar) "dwC" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -9074,6 +8936,21 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_large, /area/station/engineering/storage_shared) +"dwF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/jungle/a, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) +"dwN" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Recreation" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/commons/fitness/recreation/entertainment) "dwT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9093,30 +8970,24 @@ "dxf" = ( /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical/central) -"dxv" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"dxw" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/warm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"dxF" = ( +/obj/machinery/computer/turbine_computer{ + mapping_id = "main_turbine" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"dxG" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"dxK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/corner{ dir = 4 }, -/turf/open/floor/wood, -/area/station/security/detectives_office) +/area/station/science/xenobiology) "dxO" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -9128,16 +8999,6 @@ /obj/item/stack/rods/fifty, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"dxV" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "dxZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -9147,6 +9008,14 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"dyd" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ + dir = 1; + pixel_y = 5 + }, +/turf/open/floor/carpet, +/area/station/service/library) "dyp" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -9163,12 +9032,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"dyr" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/broken_flooring/singular/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "dyF" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue{ @@ -9182,9 +9045,6 @@ dir = 4 }, /area/station/hallway/primary/central/fore) -"dyI" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) "dyO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9198,25 +9058,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) +"dyQ" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) "dyW" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) -"dzh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/pipe_dispenser{ - pixel_y = -7; - pixel_x = 2 - }, -/obj/item/pipe_dispenser{ - pixel_y = 5; - pixel_x = -2 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dzi" = ( /obj/structure/table/wood, /obj/item/book/granter/action/spell/smoke/lesser{ @@ -9235,6 +9087,12 @@ /obj/item/radio/intercom/chapel/directional/east, /turf/open/floor/iron/terracotta/diagonal, /area/station/service/chapel/office) +"dzo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "dzE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -9243,10 +9101,28 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dzH" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +"dzK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"dAa" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"dAd" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 1 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "dAn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -9255,15 +9131,12 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"dAu" = ( -/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/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) +"dAx" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/grille, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "dAz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, @@ -9271,14 +9144,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"dAC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "meow"; - name = "Commissary" - }, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "dAF" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 4 @@ -9309,12 +9174,9 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"dAL" = ( -/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/security/evidence) +"dBb" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dBh" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -9322,31 +9184,26 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood/tile, /area/station/science/lower) -"dBj" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"dBr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/turf/open/floor/iron, -/area/station/security/tram) -"dBt" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/blue{ - dir = 5 +"dBq" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 }, -/obj/machinery/light_switch/directional/east, -/obj/item/kirbyplants/random, -/obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = -3 +/obj/effect/turf_decal/tile/yellow{ + dir = 1 }, -/turf/open/floor/iron/white/small, -/area/station/command/heads_quarters/cmo) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"dBr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/turf/open/floor/iron, +/area/station/security/tram) "dBy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/pile/directional/east, @@ -9358,12 +9215,21 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"dBT" = ( -/obj/effect/turf_decal/box/white{ - color = "#EFB341" +"dBR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security) "dCe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9374,6 +9240,10 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"dCi" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) "dCj" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/passive_vent, @@ -9387,28 +9257,18 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"dCu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "dCR" = ( /obj/structure/cable/layer3, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) "dCU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/security/glass{ - name = "Security Office" + name = "Security Office"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ @@ -9422,16 +9282,17 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"dDi" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +"dDg" = ( +/obj/structure/cable/layer3, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/window/left/directional/south{ + name = "AI Security Door" }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/flasher/directional/east{ + id = "ai" }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "dDk" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/chapel{ @@ -9441,15 +9302,6 @@ "dDB" = ( /turf/open/space/basic, /area/space) -"dDC" = ( -/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/effect/landmark/start/janitor, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) "dDF" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -9486,37 +9338,15 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"dEc" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Central Fore" - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"dEq" = ( -/obj/effect/turf_decal/siding/thinplating_new/light, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "dEu" = ( /obj/machinery/vending/cigarette, +/obj/machinery/camera/autoname/directional/east{ + dir = 10 + }, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) -"dEw" = ( -/obj/structure/lattice, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/space/basic, -/area/space/nearstation) -"dEy" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input{ - dir = 1 - }, -/turf/open/floor/engine/co2, +"dED" = ( +/turf/open/floor/engine/n2o, /area/station/engineering/atmos) "dEF" = ( /obj/effect/turf_decal/stripes/white/line{ @@ -9524,49 +9354,47 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"dEL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/corner{ +"dEQ" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/area/station/science/ordnance/testlab) -"dEQ" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"dEY" = ( +/turf/open/floor/wood, +/area/station/service/chapel) +"dFm" = ( +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/structure/reagent_dispensers/watertank/high, /obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 5 + dir = 9 }, +/obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) -"dFA" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 4 +"dFI" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/railing{ +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/white/corner, +/area/station/commons/dorms) +"dFP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/turf/open/floor/iron, -/area/station/engineering/atmos/office) -"dFG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) -"dFN" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) -"dFQ" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/science/cytology) +"dGi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/smooth, +/area/station/security/evidence) +"dGq" = ( /obj/structure/cable, /obj/effect/spawner/random/trash, /obj/structure/disposalpipe/segment{ @@ -9574,19 +9402,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"dFY" = ( -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"dGV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"dGs" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 }, -/turf/closed/wall, -/area/station/engineering/atmos/storage/gas) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security) +"dGT" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "dHk" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -9602,18 +9438,6 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"dHx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "atmospherics - turbine" - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "dHL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9628,34 +9452,13 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"dHW" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 1 - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) -"dIt" = ( -/obj/structure/cable, -/obj/machinery/button/door/directional/east{ - id = "armory"; - name = "Armory Shutters"; - req_access = list("armory") - }, -/obj/effect/turf_decal/siding/dark_red{ - dir = 8 +"dIG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/public/glass{ + name = "Old Command Hallway" }, -/turf/open/floor/iron/dark/small, -/area/station/ai_monitored/security/armory) -"dIQ" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_yw/style_3, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron/textured_half, +/area/station/maintenance/hallway/abandoned_command) "dJd" = ( /obj/machinery/computer/records/security, /turf/open/floor/wood/tile, @@ -9669,53 +9472,47 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"dJn" = ( -/obj/machinery/light/small/directional/south{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) -"dJv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"dJB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 +"dJm" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) +"dJD" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/large/style_random{ + pixel_y = -1 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/grass, +/area/station/service/hydroponics) "dJT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security/glass{ id_tag = "permaouter"; - name = "Permabrig Transfer" + name = "Permabrig Transfer"; + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/security/execution/transfer) +"dKg" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/r_wall, +/area/station/command/teleporter) "dKl" = ( /obj/effect/spawner/random/engineering/material_cheap, /obj/effect/spawner/random/engineering/material, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"dKm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/cold/directional/east, -/obj/effect/turf_decal/tile/neutral, -/obj/item/radio/intercom/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "dKq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9739,6 +9536,13 @@ }, /turf/open/floor/wood/large, /area/station/command/corporate_suite) +"dKt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/security/prison/work) "dKA" = ( /obj/machinery/door/airlock/external/glass{ name = "Abandoned Dock Airlock" @@ -9748,61 +9552,76 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/dock) +"dKG" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dKQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"dKY" = ( -/obj/machinery/light/small/directional/south{ - dir = 4 +"dKX" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 +/turf/open/floor/stone, +/area/station/service/bar) +"dLg" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) +/obj/machinery/firealarm/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "meow"; + name = "Comissary Shutters"; + pixel_x = 29 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"dLl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "dLn" = ( /obj/structure/chair/office, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) "dLq" = ( -/obj/structure/table, -/obj/item/hand_labeler, -/obj/item/camera, -/obj/machinery/firealarm/directional/north, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/art) -"dLv" = ( -/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/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"dLK" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" }, -/obj/machinery/gulag_item_reclaimer{ - pixel_y = 24 +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_1" }, -/turf/open/floor/iron/dark, -/area/station/security/processing) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "dLQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dLR" = ( -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/small, -/area/station/security/office) -"dLW" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/carpet, -/area/station/service/library) "dMg" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -9810,14 +9629,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dMi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar) "dMm" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/turf_decal/stripes/line{ @@ -9826,10 +9637,34 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"dMr" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) +"dMA" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/vatgrower, +/turf/open/floor/engine, +/area/station/science/cytology) "dMM" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"dMV" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "dMX" = ( /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, @@ -9839,17 +9674,27 @@ /obj/item/wrench, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"dNj" = ( -/obj/structure/chair{ +"dNd" = ( +/obj/structure/closet{ + name = "Paramedic Supplies" + }, +/obj/effect/turf_decal/siding/blue{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"dNo" = ( -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/paramedic) +"dNe" = ( +/obj/machinery/door/poddoor{ + id = "Secure Storage top"; + name = "Secure Storage" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "dNq" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/aisat/exterior) @@ -9885,6 +9730,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"dNZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dOb" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/structure/alien/weeds, @@ -9895,23 +9746,15 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/office) -"dOf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/junction, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "dOz" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/storage/tools) -"dOP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"dOH" = ( +/obj/machinery/light_switch/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "dOT" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -9926,6 +9769,12 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) +"dOX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "dPa" = ( /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) @@ -9939,7 +9788,8 @@ dir = 5 }, /obj/machinery/door/poddoor/shutters/preopen{ - id = "aigas" + id = "aigas"; + dir = 4 }, /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, @@ -9948,32 +9798,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"dPp" = ( +"dPW" = ( +/obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"dPx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/service/chapel) -"dPW" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) +"dQb" = ( +/obj/effect/turf_decal/siding/blue{ dir = 8 }, -/obj/structure/railing, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) +/obj/structure/rack, +/turf/open/floor/iron/white, +/area/station/medical/paramedic) "dQi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -9982,37 +9820,29 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/lobby) -"dQn" = ( +"dQl" = ( /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 10 }, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 }, -/area/station/holodeck/rec_center) -"dQE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/storage/tech) +/area/station/hallway/primary/central/fore) +"dQG" = ( +/turf/closed/wall/r_wall/rust, +/area/station/engineering/supermatter/room) "dQQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 }, /turf/open/floor/engine, /area/station/science/cytology) -"dRb" = ( -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/chair/comfy/brown{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "dRk" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -10020,12 +9850,57 @@ /obj/effect/turf_decal/siding/wideplating{ dir = 4 }, -/turf/open/misc/sandy_dirt, -/area/station/security/tram) -"dRn" = ( -/obj/effect/turf_decal/siding/wood/end, -/turf/open/floor/stone, -/area/station/service/chapel) +/turf/open/misc/sandy_dirt, +/area/station/security/tram) +"dRl" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Gas to Filter" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"dRm" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) +"dRq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"dRv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) +"dRw" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/radio/intercom/directional/west, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"dRy" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "dRD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -10037,12 +9912,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dRT" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "dSb" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -10084,6 +9953,20 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"dSK" = ( +/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 = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"dSN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/floor/iron/dark/small, +/area/station/tcommsat/server) "dSO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10110,28 +9993,24 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) -"dTd" = ( -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"dTe" = ( -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood, -/area/station/cargo/boutique) -"dTg" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"dTo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line{ +"dTc" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/east, +/turf/open/floor/iron/smooth, +/area/station/hallway/secondary/command) +"dTz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/camera/directional/south{ + c_tag = "atmospherics - upper" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dTB" = ( /obj/structure/broken_flooring/pile/directional/east, /obj/effect/decal/cleanable/dirt, @@ -10142,31 +10021,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"dTH" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "dTI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"dTQ" = ( -/obj/structure/disposalpipe/segment, +"dTR" = ( /obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/chapel/office) -"dTW" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/computer/shuttle/mining{ - dir = 4 +/obj/machinery/modular_computer/preset/engineering{ + dir = 1 }, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) +"dUr" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "dUw" = ( /obj/structure/railing{ dir = 4 @@ -10209,13 +10083,31 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"dVQ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 +"dUN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/structure/flora/bush/sparsegrass, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/science/xenobiology) +"dVx" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "dVW" = ( /obj/structure/chair{ dir = 8 @@ -10227,6 +10119,16 @@ /obj/effect/landmark/start/depsec/supply, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) +"dVY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "dWh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -10235,10 +10137,6 @@ /obj/structure/sign/departments/science/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"dWm" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/eighties/red, -/area/station/service/abandoned_gambling_den/gaming) "dWs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10249,35 +10147,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/science/xenobiology) -"dWz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"dWF" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"dWG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "dWK" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/office{ @@ -10296,6 +10165,15 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"dWX" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) "dXb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -10322,6 +10200,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/science/lower) +"dXh" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dXO" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -10339,22 +10223,15 @@ dir = 1 }, /area/station/science/xenobiology) -"dYc" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/multitool{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/cigarette{ - pixel_x = 5; - pixel_y = 2 +"dYb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/lockers) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/office) "dYj" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, @@ -10374,22 +10251,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"dYu" = ( -/obj/machinery/light/floor, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"dYv" = ( -/obj/structure/closet/radiation, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) -"dYE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dYI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -10410,11 +10271,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"dYW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "dYX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10429,11 +10285,22 @@ /obj/item/retractor, /obj/item/hemostat, /obj/item/cautery, -/obj/machinery/camera/autoname/directional/north, /obj/structure/sign/poster/official/random/directional/north, /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) +"dZb" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"dZh" = ( +/obj/machinery/computer/atmos_control/nocontrol/incinerator{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "dZk" = ( /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/medical/general, @@ -10463,6 +10330,31 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"dZq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=15.0-CentralStarboard-CentralFore"; + location = "14.0-Dormatories-CentralStarboard" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"dZz" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - Central Aft" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dZD" = ( /obj/machinery/camera/directional/south{ c_tag = "AI Chamber - Core"; @@ -10473,7 +10365,6 @@ /area/station/ai_monitored/turret_protected/ai) "dZF" = ( /obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, /obj/effect/turf_decal/siding/wood{ dir = 4 }, @@ -10482,6 +10373,19 @@ }, /turf/open/floor/iron/small, /area/station/security/prison/shower) +"dZK" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/security/general, +/turf/open/floor/iron, +/area/station/security) "dZT" = ( /obj/machinery/button/transport/tram/directional/south{ id = 2; @@ -10509,24 +10413,56 @@ dir = 8 }, /area/station/engineering/main) -"eav" = ( -/obj/machinery/door/airlock/grunge{ - name = "Gambling Den" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +"eaw" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/robotics, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) +"eaC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) -"ebc" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/structure/steam_vent, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) +"eaE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"eaK" = ( +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_yw, +/obj/machinery/light/floor, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) +"eaM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/security/evidence) +"eaZ" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/starboard/fore) "ebe" = ( /obj/structure/hoop{ dir = 4; @@ -10539,33 +10475,18 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"ebk" = ( -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"ebE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/flasher/directional/west{ - id = "brigentry" +"ebl" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"ebK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "ebU" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/servingdish, @@ -10579,6 +10500,19 @@ /obj/machinery/door/window/right/directional/east, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"ech" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "ecn" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table, @@ -10605,10 +10539,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"ecC" = ( -/obj/machinery/light/floor, -/turf/open/floor/stone, -/area/station/service/bar) +"ecz" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/dorms) "ecL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/transit_tube/horizontal, @@ -10619,6 +10554,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/break_room) +"eda" = ( +/obj/structure/flora/bush/jungle/c/style_3, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "edc" = ( /obj/machinery/computer/teleporter, /obj/effect/decal/cleanable/dirt, @@ -10634,17 +10574,23 @@ dir = 1 }, /area/station/science/research) -"edk" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ +"edh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, +/obj/structure/sign/departments/holy/directional/west, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/hallway/primary/central/fore) +"edl" = ( +/obj/effect/turf_decal/tile/neutral/full, +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/random/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) "edD" = ( /obj/machinery/light/small/directional/west, /obj/item/kirbyplants/random, @@ -10653,19 +10599,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"edG" = ( -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "edJ" = ( /obj/machinery/teleport/station, /obj/machinery/airalarm/directional/north, @@ -10707,6 +10640,19 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"een" = ( +/obj/item/storage/backpack/duffelbag/sec{ + pixel_y = 12 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) +"eey" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "eeD" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 @@ -10716,28 +10662,17 @@ "eeJ" = ( /turf/closed/wall, /area/station/commons/fitness/locker_room) +"eeS" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "eeY" = ( /obj/machinery/door/airlock/maintenance{ - name = "Transit Tube Workshop" + name = "Transit Tube Workshop"; + dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"efi" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"efm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "efy" = ( /obj/item/kirbyplants/organic/plant21, /obj/machinery/status_display/ai/directional/west, @@ -10764,6 +10699,32 @@ dir = 10 }, /area/station/science/lower) +"efN" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/south, +/obj/item/clothing/head/utility/hardhat/reindeer{ + pixel_x = -16; + pixel_y = 3 + }, +/obj/item/clothing/shoes/clown_shoes/jester, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) +"efR" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/multitool{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/cigarette{ + pixel_x = 5; + pixel_y = 2 + }, +/turf/open/floor/iron/dark, +/area/station/security/lockers) "efS" = ( /obj/machinery/computer/security/qm{ dir = 1 @@ -10782,108 +10743,105 @@ /turf/open/floor/plating, /area/station/security/prison/rec) "egc" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 }, -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 10; - pixel_x = -5 +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4{ + dir = 9 }, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/engineering/atmos) +"ego" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/railing, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) "egr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) -"egC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, +"egw" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/chair/sofa/bench/left, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/hallway/secondary/recreation) "egG" = ( /obj/effect/landmark/start/medical_doctor, /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"egJ" = ( -/obj/structure/closet/wardrobe/black, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) -"egL" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/science/rd, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Research Director's Office" - }, -/obj/machinery/door/poddoor/preopen{ - id = "rdoffice"; - name = "Research Director's Shutters" - }, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/cubicle) "egN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) -"ehd" = ( -/obj/item/stack/cable_coil, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/light/cold/dim/directional/west, -/obj/structure/table/greyscale, -/obj/item/screwdriver, -/obj/item/stack/cable_coil/cut{ - pixel_x = 11; - pixel_y = 7 +"egW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Office" +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) +"ehh" = ( +/obj/machinery/computer/security/hos{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"ehf" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/hos) "ehj" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"ehT" = ( -/obj/machinery/door/airlock{ - id_tag = "commiss2"; - name = "Commissary" +"ehk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"ehs" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/dorms) +"ehM" = ( +/obj/effect/spawner/random/structure/closet_private, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms) +"ehN" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"ehO" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/commons/vacant_room/commissary) +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "ehV" = ( /obj/structure/cable, /obj/structure/chair/sofa/right{ @@ -10913,11 +10871,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eiy" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/office) "eiC" = ( /obj/structure/cable/multilayer/connected, /obj/structure/rack, @@ -10939,26 +10892,27 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/lobby) +"eiM" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "eiN" = ( /obj/machinery/light/cold/dim/directional/east, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/directions/evac/directional/east{ - dir = 2 - }, -/obj/structure/sign/directions/command/directional/east{ - pixel_y = 8; - dir = 2 - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = -8; - dir = 2 - }, /turf/open/floor/iron, /area/station/hallway/primary/fore) "eiU" = ( /turf/open/floor/plating/rust, /area/station/maintenance/department/engine/atmos) +"eiV" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/tile, +/area/station/service/lawoffice) "ejn" = ( /obj/item/stack/cable_coil/five, /obj/effect/decal/cleanable/cobweb, @@ -10970,6 +10924,24 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/bitrunning/den) +"ejw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/tools, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "ejx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -10997,7 +10969,7 @@ }, /obj/structure/table, /obj/effect/landmark/start/hangover, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/small, /area/station/engineering/lobby) "ejN" = ( @@ -11012,12 +10984,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/main) -"ejO" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ - dir = 1 - }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) "ekr" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 1 @@ -11033,7 +10999,6 @@ /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/camera/autoname/directional/west, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/stone, @@ -11042,6 +11007,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/command/heads_quarters/hop) +"ekK" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/chem_master, +/turf/open/floor/iron, +/area/station/science/xenobiology) "ekL" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -11075,40 +11045,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/security) -"elb" = ( -/obj/structure/table/reinforced, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 5 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) -"elc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/research/glass{ - name = "Robotics Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/robotics, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/mechbay) "elh" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2, /obj/structure/sign/warning/cold_temp/directional/west, /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"eln" = ( -/obj/structure/flora/tree/jungle/small/style_5, -/turf/open/floor/grass, -/area/station/service/chapel) "elv" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 @@ -11171,14 +11113,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"elN" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "elR" = ( /obj/structure/table, /obj/structure/window/spawner/directional/south, @@ -11194,36 +11128,37 @@ "emd" = ( /turf/open/floor/iron, /area/station/medical/chemistry) -"emg" = ( -/obj/effect/spawner/random/structure/crate_loot, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"emn" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 8 +"emj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"emq" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 }, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) +/obj/structure/flora/grass/jungle, +/turf/open/misc/dirt/station, +/area/station/service/chapel) "emB" = ( /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"emF" = ( -/obj/machinery/light/warm/dim, -/obj/structure/disposalpipe/segment{ - dir = 9 +"emQ" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/engineering/atmos) "ena" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/plumbed{ @@ -11239,43 +11174,23 @@ /obj/effect/landmark/navigate_destination/aiupload, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"enq" = ( -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/camera/autoname/directional/north, +"enx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/engineering/storage/tech) +/area/station/hallway/primary/port) "enE" = ( /obj/item/cultivator/rake, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"enF" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "enG" = ( /turf/open/floor/iron/dark, /area/station/science/ordnance) -"enV" = ( -/obj/structure/closet/secure_closet/research_director, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/rd) "eoa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11286,28 +11201,15 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"eof" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 +"eoh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"eog" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 4 +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 }, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"eok" = ( -/obj/machinery/air_sensor/nitrogen_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) +/turf/open/floor/wood, +/area/station/service/chapel) "eoz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11319,25 +11221,43 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/security/execution/transfer) +"eoA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "eoC" = ( /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"eoM" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/maintenance/central/greater) +"eoK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "epa" = ( /obj/machinery/telecomms/bus/preset_four, /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/autoname/directional/east, /turf/open/floor/circuit, /area/station/tcommsat/server) -"epm" = ( -/obj/machinery/light/no_nightlight/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"epg" = ( +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/landmark/start/detective, +/turf/open/floor/wood, +/area/station/security/detectives_office) "epn" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/full, @@ -11364,6 +11284,11 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/security/prison/rec) +"epQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/stairs/left, +/area/station/hallway/secondary/recreation) "eqg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11371,14 +11296,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) -"eqr" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Fuel Pipe to Incinerator"; - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "eqz" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 8 @@ -11391,36 +11308,28 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"eqG" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) -"eqI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ +"eqF" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "eqS" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"erf" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" +"eqU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 8 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 10 }, -/area/station/service/hydroponics) +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "erg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -11429,6 +11338,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"erq" = ( +/obj/structure/window/spawner/directional/north, +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -17; + pixel_y = 2 + }, +/turf/open/floor/grass, +/area/station/service/hydroponics) "erA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11446,23 +11366,30 @@ /obj/effect/turf_decal/siding/thinplating_new, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"erS" = ( -/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/engineering/gravity_generator) "erZ" = ( /obj/machinery/computer/records/security, /turf/open/floor/iron/small, /area/station/security/office) -"esr" = ( -/obj/effect/turf_decal/tile/blue, -/obj/structure/cable, +"ese" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"esf" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) +/obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "esv" = ( /obj/docking_port/stationary{ dwidth = 4; @@ -11474,14 +11401,6 @@ }, /turf/open/space/basic, /area/space) -"esz" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/central) "esF" = ( /obj/structure/cable, /obj/item/kirbyplants/organic/applebush, @@ -11506,24 +11425,44 @@ /obj/structure/sign/departments/medbay/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"ete" = ( +"etc" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"etj" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/structure/rack, +/obj/item/storage/belt/utility{ + pixel_x = -3; + pixel_y = -4 + }, +/obj/item/storage/belt/utility{ + pixel_x = 6 + }, +/obj/item/storage/belt/utility{ + pixel_x = -2; + pixel_y = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "etl" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 5 }, /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) +"etm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/wood, +/turf/open/floor/stone, +/area/station/service/bar) "eto" = ( /obj/structure/table/wood, /obj/item/statuebust, @@ -11539,6 +11478,13 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/circuit, /area/station/maintenance/port/aft) +"etV" = ( +/obj/machinery/power/energy_accumulator/grounding_rod/anchored, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "etZ" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/effect/turf_decal/siding/wideplating/dark/corner{ @@ -11551,20 +11497,24 @@ /obj/machinery/seed_extractor, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"eue" = ( -/obj/effect/turf_decal/siding/wideplating, +"eui" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /obj/effect/turf_decal/siding/wideplating{ dir = 8 }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, /turf/open/floor/wood, -/area/station/engineering/main) -"eul" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/area/station/engineering/atmospherics_engine) +"eup" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/iron/white/small, -/area/station/commons/fitness/locker_room) +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "euq" = ( /obj/structure/cable, /obj/item/kirbyplants/random/fullysynthetic, @@ -11583,10 +11533,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"euz" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/closed/wall, -/area/station/hallway/primary/central/aft) "euO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -11615,12 +11561,19 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "evj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ - dir = 8 +/obj/machinery/airalarm/directional/north, +/obj/machinery/button/door/directional/north{ + id = "vaco"; + name = "Comissary Shutters"; + pixel_x = 29 }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) +"evl" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/starboard/fore) "evq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11628,87 +11581,69 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"evv" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, +"evs" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/turf/open/floor/iron/dark/corner{ - dir = 4 +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 4; + pixel_y = 5 }, -/area/station/science/xenobiology) -"evw" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 9 +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) +"evG" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 10 }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) -"evA" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) +"evK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "evM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/small, /area/station/maintenance/department/engine) -"evQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/orange{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"evW" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"ewt" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/fore) -"ewF" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/vending/coffee, -/turf/open/floor/iron/white/corner{ - dir = 1 +"ewh" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) +"ewO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/research/glass{ + name = "Cytology Lab" }, -/area/station/hallway/secondary/dock) +/obj/effect/mapping_helpers/airlock/access/all/science/research, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "ewW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"exF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, +"exe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ - dir = 8 + dir = 4 }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) -"exM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/obj/effect/landmark/start/janitor, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) +"exN" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "exQ" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/yellow, @@ -11739,6 +11674,33 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/lockers) +"eyE" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"eyF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"eyI" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "eyJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -11747,20 +11709,19 @@ dir = 1 }, /area/station/ai_monitored/turret_protected/aisat/maint) -"eyW" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/bot{ - dir = 1 +"eyM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"eyY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"eyX" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, /turf/open/floor/iron, /area/station/engineering/atmos) "eyZ" = ( @@ -11768,6 +11729,24 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"eza" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"ezh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "ezi" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/cafeteria, @@ -11787,15 +11766,10 @@ /obj/machinery/modular_computer/preset/id{ dir = 1 }, -/obj/machinery/requests_console/directional/east{ - department = "Captain's Desk"; - name = "Captain's Requests Console"; - pixel_x = 0; - pixel_y = -30 - }, /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/requests_console/directional/south, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) "ezE" = ( @@ -11823,10 +11797,6 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"ezV" = ( -/obj/machinery/computer/security/telescreen/prison/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/office) "eAc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11840,20 +11810,13 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) -"eAm" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "eAn" = ( /obj/machinery/computer/mech_bay_power_console, /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 5 }, /obj/machinery/camera/autoname/directional/north, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) "eAo" = ( @@ -11868,6 +11831,12 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/aft) +"eAy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "eAz" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -11879,26 +11848,6 @@ /obj/machinery/light/floor, /turf/open/floor/noslip, /area/station/medical/medbay/central) -"eAE" = ( -/obj/item/stack/sheet/plasteel{ - amount = 10; - pixel_x = -2; - pixel_y = 2 - }, -/obj/structure/table, -/obj/item/stack/sheet/rglass{ - amount = 30; - pixel_x = 2; - pixel_y = -2 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "eAK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -11909,36 +11858,11 @@ "eAY" = ( /turf/open/floor/grass, /area/station/science/xenobiology) -"eBd" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/small, -/area/station/service/barber) "eBe" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"eBy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/storage/art) -"eBC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "eBH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11974,6 +11898,23 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"eCs" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"eCz" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/starboard) +"eCC" = ( +/obj/machinery/button/ignition/incinerator/atmos, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "eCJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -11992,15 +11933,10 @@ /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"eDi" = ( -/obj/structure/flora/bush/flowers_br, -/obj/structure/flora/bush/flowers_pp, -/obj/structure/flora/bush/flowers_yw, -/obj/structure/flora/bush/pale, -/turf/open/floor/grass, -/area/station/hallway/primary/central/fore) "eDo" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /obj/structure/disposalpipe/segment{ dir = 4 @@ -12010,20 +11946,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) -"eDr" = ( -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/sign/directions/supply/directional/west, -/obj/structure/sign/directions/engineering/directional/west{ - pixel_y = 8 - }, -/obj/structure/sign/directions/command/directional/west{ - pixel_y = -8 - }, -/turf/open/floor/iron/white, -/area/station/hallway/primary/starboard) "eDt" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -12031,6 +11953,16 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/security/tram) +"eDu" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "eDy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12078,9 +12010,12 @@ cycle_id = "sci-maint-passthrough" }, /obj/machinery/door/airlock/hatch{ - name = "MiniSat Antechamber" + name = "MiniSat Antechamber"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) @@ -12100,21 +12035,10 @@ /obj/item/stamp/head/hos, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"eEj" = ( -/obj/machinery/door/firedoor/heavy, -/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/dark/textured, -/area/station/engineering/atmos/office) -"eEn" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/railing{ - dir = 1 - }, +"eEh" = ( /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "eEq" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/stripes/corner, @@ -12123,10 +12047,30 @@ /obj/machinery/camera/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) +"eEv" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"eEI" = ( +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/security/prison/garden) "eEL" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"eEZ" = ( +/obj/structure/table/wood, +/obj/item/pen/red{ + pixel_x = 3; + pixel_y = 12 + }, +/obj/item/pen/blue{ + pixel_x = -6; + pixel_y = 12 + }, +/turf/open/floor/carpet, +/area/station/service/library) "eFc" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/firealarm/directional/west, @@ -12140,12 +12084,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eFi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/directional/south, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "eFk" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12167,6 +12105,12 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) +"eFp" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/hallway/primary/central/aft) "eFt" = ( /obj/machinery/processor/slime, /obj/effect/turf_decal/siding/white{ @@ -12183,6 +12127,27 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/security/prison) +"eFz" = ( +/obj/structure/flora/grass/jungle/b/style_2, +/turf/open/misc/dirt/station, +/area/station/service/chapel) +"eFN" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/white/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/white/mid_joiner{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/commons/fitness/recreation) "eFO" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -12211,7 +12176,9 @@ "eGb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/medical/glass{ id_tag = "MedbayFoyer"; name = "Medbay Clinic" @@ -12239,16 +12206,16 @@ dir = 1 }, /area/station/science/lobby) +"eGj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "eGw" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering - Public Desk" }, -/obj/machinery/requests_console/directional/west{ - department = "Engineering"; - name = "Engineering Requests Console"; - pixel_x = 0; - pixel_y = -30 - }, /obj/effect/mapping_helpers/requests_console/assistance, /obj/effect/mapping_helpers/requests_console/supplies, /obj/machinery/modular_computer/preset/cargochat/engineering{ @@ -12256,8 +12223,18 @@ }, /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/bot, +/obj/machinery/requests_console/directional/south, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) +"eGF" = ( +/mob/living/basic/goat/pete, +/obj/effect/turf_decal/weather/snow, +/obj/effect/turf_decal/weather/snow/corner, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "eGL" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -12276,17 +12253,14 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/paramedic) -"eGU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"eHa" = ( -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) +"eHb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/mapping_helpers/apc/cell_10k, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "eHe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -12309,6 +12283,30 @@ }, /turf/open/floor/iron/large, /area/station/command/heads_quarters/hop) +"eHm" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Pure to Fuel Pipe" + }, +/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/engineering/atmos) +"eHn" = ( +/obj/machinery/modular_computer/preset/cargochat/service{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/requests_console/auto_name/directional/east, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "eHs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12316,18 +12314,15 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/security/prison/workout) -"eHv" = ( -/obj/effect/turf_decal/siding/wood{ +"eHu" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/chair/comfy/brown{ - buildstackamount = 0; - color = "#c45c57"; - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 }, -/turf/open/floor/iron/grimy, -/area/station/service/library) +/turf/open/floor/iron, +/area/station/engineering/atmos) "eHy" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -12342,13 +12337,13 @@ /obj/structure/cable, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) -"eHS" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Gas to Filter" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"eIj" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "eIp" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12357,13 +12352,21 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"eIF" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"eIw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/rack, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vaco"; + name = "Comissary Shutters" + }, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "eIM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -12373,20 +12376,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"eIO" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +"eIR" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/general, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Service Hallway" }, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/hallway/secondary/service) "eIT" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/stripes/line{ @@ -12396,10 +12395,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"eIW" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "eJe" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron/smooth, @@ -12435,17 +12430,27 @@ /obj/effect/turf_decal/stripes/asteroid/end, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"eKd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/light/small/directional/west, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +"eJX" = ( +/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) "eKf" = ( /obj/structure/table, /obj/item/storage/box/donkpockets/donkpocketpizza, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) +"eKi" = ( +/obj/structure/closet/crate/trashcart/filled, +/obj/structure/spider/stickyweb, +/obj/effect/spawner/random/maintenance/four, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "eKs" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -12455,28 +12460,33 @@ dir = 4 }, /area/station/maintenance/starboard/greater) -"eKD" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/library, +"eKv" = ( +/obj/machinery/vending/games, /turf/open/floor/wood/parquet, /area/station/service/library) +"eKJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "eKP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"eKU" = ( -/turf/closed/wall/r_wall/rust, -/area/station/engineering/atmos/pumproom) "eKW" = ( /obj/machinery/door/airlock/maintenance{ - name = "Bathroom" + name = "Bathroom"; + dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"eLh" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "eLn" = ( /obj/machinery/door/airlock/glass{ name = "Gold Standard Law Firm" @@ -12492,41 +12502,18 @@ name = "E.V.A. Storage" }, /obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/all/command/eva, /turf/open/floor/iron/smooth_half{ dir = 1 }, /area/station/ai_monitored/command/storage/eva) -"eLB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) -"eLF" = ( -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) -"eMa" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"eMc" = ( -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/security/tram) +"eLH" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "eMl" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/camera/autoname/directional/west, @@ -12536,21 +12523,35 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"eMQ" = ( -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"eMS" = ( -/obj/structure/chair{ - pixel_y = -2 +"eMp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/turf/open/floor/stone, +/area/station/service/chapel) "eMU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"eMV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"eNh" = ( +/obj/effect/turf_decal/trimline/white/line, +/obj/effect/turf_decal/trimline/white/mid_joiner, +/obj/item/radio/intercom/directional/south, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/commons/fitness/recreation) "eNl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12570,29 +12571,29 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"eNp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/storage/art) +"eNs" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "eNt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"eNx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "eND" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"eNP" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L9"; - pixel_y = -15 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "eNU" = ( /obj/structure/table/reinforced, /obj/item/phone{ @@ -12606,52 +12607,79 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"eOk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +"eNV" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"eOp" = ( +/obj/structure/table/wood, +/obj/item/cigarette/cigar/premium{ + pixel_y = 5 }, -/turf/open/floor/iron, -/area/station/commons/storage/tools) +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "eOt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"eOX" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"eOY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ +"eOv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"eOB" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/fore/lesser) +"eOH" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter) +"eOO" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) +"eOY" = ( +/obj/structure/table, +/obj/item/canvas{ + pixel_x = 13; + pixel_y = 12 + }, +/obj/item/canvas, +/obj/item/canvas{ + pixel_x = 4; + pixel_y = 16 + }, +/obj/item/canvas{ + pixel_y = 15 + }, +/obj/item/canvas{ + pixel_x = 6 + }, +/turf/open/floor/iron, +/area/station/commons/storage/art) "eOZ" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/medical/coldroom) -"ePk" = ( -/obj/structure/disposalpipe/segment{ +"ePh" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/computer/shuttle/mining{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, +/obj/machinery/light/cold/directional/west, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/cargo/miningoffice) "ePn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/south, @@ -12661,21 +12689,24 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) -"ePt" = ( -/obj/structure/flora/grass/jungle/a/style_4, -/turf/open/floor/grass, -/area/station/service/chapel) -"ePP" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/dark_red{ - dir = 1 +"ePA" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 }, -/obj/structure/secure_safe/hos{ - pixel_x = 15; - pixel_y = 28 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"ePP" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/smooth, +/area/station/hallway/secondary/command) +"ePT" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/medical/central) "ePV" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/west, @@ -12698,9 +12729,15 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"eQd" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "eQk" = ( /obj/machinery/door/airlock/security{ - name = "Isolation" + name = "Isolation"; + dir = 8 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/white/small, @@ -12714,6 +12751,11 @@ }, /turf/open/floor/wood/tile, /area/station/science/lower) +"eQo" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "eQt" = ( /turf/closed/wall, /area/station/command/heads_quarters/rd) @@ -12722,12 +12764,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/security/tram) -"eQF" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) "eQQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12738,27 +12774,45 @@ /area/station/maintenance/starboard/greater) "eQY" = ( /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"eRy" = ( +"eRb" = ( +/obj/machinery/vending/wardrobe/chap_wardrobe, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/cable, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) +"eRi" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/machinery/light/floor, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "eRX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/medical/virology) +"eSc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/cable, +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "eSd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -12776,6 +12830,28 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/science/lower) +"eSz" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) +"eSH" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/status_display/door_timer/directional/south{ + id = "Cell 3"; + name = "Cell 3" + }, +/turf/open/floor/iron/dark/small, +/area/station/security/brig) +"eSN" = ( +/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "eSV" = ( /obj/structure/bed/maint, /turf/open/floor/iron/small, @@ -12822,13 +12898,24 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron, /area/station/security/prison) -"eTJ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +"eTF" = ( +/obj/machinery/vending/autodrobe/all_access, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) +"eTS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "eTT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12844,10 +12931,28 @@ /obj/effect/turf_decal/tile/dark_red, /turf/open/floor/iron, /area/station/security/execution/transfer) +"eUc" = ( +/obj/structure/flora/tree/jungle/style_6, +/turf/open/floor/grass, +/area/station/service/chapel) "eUg" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall/r_wall, /area/station/security/brig/entrance) +"eUm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "engsm"; + name = "Radiation Shutters Control"; + req_access = list("engineering") + }, +/obj/structure/cable, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "eUn" = ( /obj/structure/cable, /obj/structure/chair/office{ @@ -12856,13 +12961,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"eUx" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/closet/toolcloset, -/obj/machinery/light/small/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/main) "eUC" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -12892,13 +12990,14 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"eUY" = ( -/obj/structure/closet/radiation, -/obj/effect/turf_decal/bot{ - dir = 1 +"eUQ" = ( +/obj/structure/table, +/obj/item/clothing/shoes/ducky_shoes{ + pixel_x = 1; + pixel_y = 8 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "eUZ" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 1 @@ -12942,18 +13041,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"eVC" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) -"eVH" = ( -/obj/structure/window/spawner/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) "eVI" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron/smooth, @@ -12964,39 +13051,28 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"eVX" = ( -/obj/structure/statue/sandstone/venus{ - dir = 8; - pixel_y = -15 - }, -/obj/structure/flora/bush/flowers_pp, -/obj/structure/flora/bush/flowers_br/style_3, -/obj/effect/dummy/lighting_obj, -/obj/effect/light_emitter/fake_outdoors, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/grass/Airless, -/area/station/hallway/primary/central/aft) "eVY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"eWk" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"eWp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ + dir = 1 }, -/turf/open/floor/wood, -/area/station/service/chapel) -"eWr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 +/obj/effect/decal/cleanable/ash, +/obj/item/storage/dice{ + pixel_x = -16; + pixel_y = -6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/iron, +/area/station/maintenance/port/fore) +"eWu" = ( +/obj/structure/cable, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "eWB" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -13012,21 +13088,6 @@ "eWI" = ( /turf/closed/wall/r_wall, /area/station/maintenance/aft) -"eWO" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/science/xenobiology) -"eWP" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "eWY" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -13045,12 +13106,17 @@ /turf/open/floor/iron, /area/station/security/prison/workout) "eXB" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/service/chapel/office) +"eXC" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/service/bar) "eXK" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/table/wood, @@ -13059,15 +13125,16 @@ }, /turf/open/floor/stone, /area/station/maintenance/aft) -"eXR" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"eXM" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/office/light{ + dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/effect/turf_decal/siding/purple/corner, +/obj/effect/landmark/start/research_director, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "eXW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13078,6 +13145,15 @@ "eYc" = ( /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) +"eYd" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "eYk" = ( /obj/structure/cable, /obj/machinery/computer/station_alert{ @@ -13097,10 +13173,6 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eYB" = ( -/obj/effect/turf_decal/siding/wood/end, -/turf/open/floor/wood, -/area/station/service/chapel) "eYD" = ( /obj/structure/railing{ dir = 8 @@ -13119,10 +13191,12 @@ /turf/open/floor/iron/smooth, /area/station/security/checkpoint/engineering) "eYH" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/science/lower) +/obj/effect/spawner/random/trash, +/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/central/greater) "eYY" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/east, @@ -13132,39 +13206,78 @@ }, /turf/open/misc/sandy_dirt, /area/station/maintenance/port/lesser) -"eZi" = ( +"eZf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/effect/landmark/start/security_officer, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 5 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"eZu" = ( +/obj/machinery/door/airlock{ + id_tag = "Cabin4"; + name = "Cabin 4" + }, +/turf/open/floor/carpet, +/area/station/commons/dorms) +"eZz" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/unres, +/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/central/greater) +"eZL" = ( +/obj/structure/closet{ + name = "Evidence Closet 2" }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"eZj" = ( -/obj/structure/window/spawner/directional/east, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) +/obj/structure/secure_safe/directional/north{ + name = "evidence safe" + }, +/turf/open/floor/iron/smooth, +/area/station/security/evidence) "eZM" = ( /obj/structure/cable/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"fap" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 +"eZO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=1.5-PNexus-Vault"; + location = "1.0-Security-PNexus" }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"eZQ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "fav" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/computer/security/telescreen/entertainment/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"fay" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "faB" = ( /obj/structure/table/wood, /obj/item/book/bible, @@ -13191,6 +13304,18 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"fbd" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/command{ + name = "Telecomms Server Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-south" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) "fbe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13198,6 +13323,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/security/brig) +"fbf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 10 + }, +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/structure/fireaxecabinet/directional/east, +/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/dark, +/area/station/engineering/atmos/office) +"fbg" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "fbj" = ( /obj/structure/table/wood, /obj/machinery/computer/pod/old, @@ -13210,6 +13356,13 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"fbm" = ( +/obj/machinery/power/energy_accumulator/tesla_coil/anchored, +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "fbt" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -13217,6 +13370,23 @@ }, /turf/open/floor/iron, /area/station/security/tram) +"fby" = ( +/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) "fbG" = ( /obj/effect/turf_decal/stripes/white/corner{ dir = 4 @@ -13233,26 +13403,6 @@ /obj/structure/barricade/wooden, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"fbO" = ( -/obj/item/aicard, -/obj/item/pai_card, -/obj/item/circuitboard/aicore, -/obj/machinery/keycard_auth/directional/north{ - pixel_x = -5 - }, -/obj/machinery/button/door/directional/north{ - id = "xeno_blastdoor"; - name = "Xenobiology Containment Control"; - pixel_x = 8; - req_access = list("rd") - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table/glass, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "fca" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, @@ -13263,6 +13413,20 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"fco" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to External Air Ports" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "fcq" = ( /obj/structure/alien/weeds, /turf/open/misc/asteroid, @@ -13274,31 +13438,24 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"fcE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos/glass{ - name = "Distro Access" +"fcu" = ( +/obj/structure/table/wood, +/obj/item/clothing/glasses/eyepatch/medical, +/turf/open/floor/carpet/orange, +/area/station/commons/dorms) +"fcZ" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) -"fcU" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = 3 +/area/station/commons/dorms) +"fdg" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/bot{ + dir = 1 }, -/obj/structure/flora/bush/generic, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/locker_room) -"fcW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "fdi" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/line{ @@ -13319,14 +13476,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"fdv" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) "fdy" = ( /obj/structure/railing{ dir = 1 @@ -13363,6 +13512,10 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) +"fdT" = ( +/obj/structure/chair/stool/directional/north, +/turf/open/floor/carpet/orange, +/area/station/commons/dorms) "feo" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /obj/effect/turf_decal/tile/yellow, @@ -13370,35 +13523,31 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"feu" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/firealarm/directional/north, -/obj/machinery/computer/atmos_alert, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) -"fex" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +"feI" = ( +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/science/xenobiology) "feL" = ( -/obj/effect/turf_decal/weather/dirt{ +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) +"feU" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"feV" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1; + initialize_directions = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ dir = 1 }, -/obj/structure/flora/bush/flowers_pp, -/obj/structure/cable, -/turf/open/floor/grass, -/area/station/service/chapel) -"feR" = ( -/turf/open/floor/carpet, -/area/station/service/library) -"ffi" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "ffp" = ( /obj/structure/closet/firecloset, /obj/effect/spawner/random/maintenance, @@ -13411,36 +13560,41 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"ffK" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" +"ffH" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engine_airlock_1" +/turf/open/floor/iron, +/area/station/engineering/atmos) +"ffW" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta/corner{ + dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/engineering/main) -"ffL" = ( -/obj/machinery/door/poddoor{ - id = "Secure Storage top"; - name = "Secure Storage" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/dorms) +"ffZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"fgh" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1 }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/storage_shared) +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "fgk" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/status_display/door_timer{ +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/door_timer/directional/south{ id = "Cell 4"; - name = "Cell 4"; - pixel_y = -32 + name = "Cell 4" }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/security/brig) "fgp" = ( @@ -13473,19 +13627,19 @@ }, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"fgT" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +"fgS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/flora/bush/flowers_pp, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north{ - low_power_nightshift_lights = 1 +/obj/structure/bookcase/random, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"fgV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "fgW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/vending/drugs, @@ -13495,10 +13649,19 @@ /obj/machinery/camera/directional/north, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"fgX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) +"fhf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "fho" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/implanter{ @@ -13518,33 +13681,22 @@ }, /turf/open/floor/iron/small, /area/station/security/office) -"fhp" = ( -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 6 - }, -/obj/effect/turf_decal/siding{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) -"fhT" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) -"fhZ" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +"fhR" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -17; + pixel_y = 2 }, -/turf/open/floor/iron/white/corner{ +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/grass, +/area/station/service/hydroponics) +"fhS" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/area/station/hallway/secondary/entry) +/turf/open/floor/stone, +/area/station/service/chapel) "fib" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13563,10 +13715,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"fik" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/eighties, -/area/station/service/abandoned_gambling_den/gaming) +"fir" = ( +/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/research/glass{ + name = "Gun Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/auxlab/firing_range) "fiw" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/table, @@ -13578,48 +13742,15 @@ /obj/item/plate, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"fiK" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/mail_sorting/medbay/general, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"fiW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/chair/sofa/bench/right, -/turf/open/floor/stone, -/area/station/service/chapel) -"fjf" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"fjh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"fjy" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"fjp" = ( -/obj/machinery/door/airlock{ - id_tag = "Cabin1"; - name = "Cabin 1" +/obj/machinery/airalarm/directional/north, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/turf/open/floor/carpet/orange, -/area/station/commons/dorms) -"fjq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "fjL" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -13630,10 +13761,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/wood/tile, /area/station/science/lower) -"fjQ" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms) "fjV" = ( /obj/item/radio/intercom/directional/south{ broadcasting = 1; @@ -13647,12 +13774,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"fkd" = ( -/obj/structure/chair/stool/directional/south, -/obj/machinery/holopad, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "fkj" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -13669,53 +13790,19 @@ /obj/item/mod/module/signlang_radio, /turf/open/floor/iron/small, /area/station/medical/storage) -"fkr" = ( -/obj/structure/closet/secure_closet/atmospherics, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) -"fkF" = ( -/obj/structure/table/wood, -/obj/item/pen/red{ - pixel_x = 3; - pixel_y = 12 - }, -/obj/item/pen/blue{ - pixel_x = -6; - pixel_y = 12 - }, -/turf/open/floor/carpet, -/area/station/service/library) -"fkN" = ( -/obj/structure/mannequin/plastic, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/cargo/boutique) -"fkS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "fkT" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fla" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/siding/white{ - dir = 4 +"fle" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/aft) +/turf/open/floor/iron, +/area/station/hallway/primary/port) "flo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -13729,35 +13816,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"flw" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_yw/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"flx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research/glass{ - name = "Genetics" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/genetics, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) -"flD" = ( +"flF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +/obj/machinery/door/airlock{ + name = "Kitchen" }, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) -"flE" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Canister Storage" +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/storage/gas) +/obj/structure/cable, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "flM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13769,12 +13840,11 @@ /obj/item/flashlight/lantern, /turf/open/floor/plating/rust, /area/station/maintenance/starboard/greater) -"fme" = ( +"flZ" = ( +/obj/structure/flora/bush/jungle/a/style_random, /obj/effect/turf_decal/weather/dirt{ dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/flora/bush/sparsegrass, /turf/open/floor/grass, /area/station/service/chapel) "fmf" = ( @@ -13794,6 +13864,18 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/security/prison/work) +"fmx" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) +"fmB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating/elevatorshaft, +/area/station/commons/dorms) "fmH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13806,6 +13888,25 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/service/chapel/funeral) +"fnb" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters"; + dir = 4 + }, +/obj/effect/spawner/random/food_or_drink/condiment, +/turf/open/floor/plating, +/area/station/service/kitchen) "fnd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/closed/wall/r_wall, @@ -13820,6 +13921,13 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"fnr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "fnw" = ( /obj/structure/chair{ pixel_y = -2 @@ -13852,18 +13960,19 @@ /obj/machinery/door/window/right/directional/north{ name = "Security Desk" }, -/obj/structure/sign/directions/command/directional/east{ - dir = 1 - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = 8 - }, -/obj/structure/sign/directions/vault/directional/east{ - pixel_y = -8 - }, /obj/item/storage/fancy/donut_box, /turf/open/floor/iron/textured_large, /area/station/security/brig/entrance) +"fnZ" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "foe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -13877,34 +13986,18 @@ dir = 4 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"foh" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/camera/directional/east{ - c_tag = "atmospherics - entrance" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) -"fos" = ( -/obj/machinery/light/small/directional/south{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 +/area/station/hallway/primary/central/fore) +"fof" = ( +/obj/structure/closet/secure_closet/personal, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) -"fot" = ( -/obj/effect/turf_decal/trimline/white/line, -/obj/effect/turf_decal/trimline/white/mid_joiner, -/obj/item/radio/intercom/directional/south, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/commons/fitness/recreation) +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"for" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/project) "fov" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/vending/security, @@ -13926,6 +14019,25 @@ dir = 8 }, /area/station/science/xenobiology) +"foJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) +"foK" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/table, +/obj/item/storage/medkit/regular{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "foL" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/structure/lattice, @@ -13967,16 +14079,17 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"fpN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, +"fpJ" = ( +/obj/item/kirbyplants/random, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"fpL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/effect/landmark/start/hangover, +/obj/structure/chair/sofa/bench/left, +/turf/open/floor/stone, +/area/station/service/chapel) "fpO" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) @@ -13988,6 +14101,25 @@ "fpY" = ( /turf/closed/mineral/random/stationside, /area/station/ai_monitored/aisat/exterior) +"fqd" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/security/breakroom) +"fqv" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fqG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13995,13 +14127,11 @@ /obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/science/research) -"fqT" = ( -/obj/machinery/computer/slot_machine{ - pixel_y = 2 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) +"fqY" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/science/server) "frf" = ( /obj/structure/table/glass, /obj/item/defibrillator/loaded{ @@ -14010,25 +14140,11 @@ /obj/item/defibrillator/loaded, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"fri" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/cable, -/obj/machinery/door/airlock{ - id_tag = "commiss2"; - name = "Commissary" - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"frn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, -/obj/effect/turf_decal/tile/dark/fourcorners, -/obj/machinery/computer/atmos_control/carbon_tank, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"frC" = ( -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) +"frG" = ( +/obj/structure/flora/tree/jungle/style_4, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "frI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -14036,57 +14152,52 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"frM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "Secure Network Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/iron/dark/textured_half, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "frP" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/machinery/door/window/brigdoor/right/directional/north, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/customs) -"frZ" = ( +"fse" = ( +/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/machinery/door/airlock/research/glass{ - name = "Cubicle" +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/central/greater) +"fsm" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) -"fsk" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 1; - pixel_y = -2 +/obj/structure/railing/corner{ + dir = 4 }, -/obj/machinery/duct, /turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"fsl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"fsq" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/dim/directional/north, -/obj/item/reagent_containers/cup/glass/bottle/vodka{ - pixel_y = 18; - pixel_x = -8 - }, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - pixel_y = 21; - pixel_x = 3 - }, -/obj/item/reagent_containers/cup/glass/bottle/whiskey{ - pixel_y = 11 - }, -/obj/item/reagent_containers/cup/glass/bottle/gin{ - pixel_x = -6 +/area/station/engineering/atmos) +"fsr" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "fst" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/effect/mapping_helpers/broken_floor, @@ -14098,6 +14209,11 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/medical/chemistry) +"fsG" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "fsL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14150,34 +14266,50 @@ id = "wardshut"; name = "Privacy Shutters"; pixel_x = 6; - pixel_y = -2 + pixel_y = 16 }, /turf/open/floor/iron, /area/station/security/warden) -"ftC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ +"ftH" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/wood, -/area/station/service/chapel) +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"ftL" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "ftT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Decontamination A" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/rcl/pre_loaded, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 17 }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/main) +/obj/machinery/light/small/directional/south, +/obj/structure/secure_safe/directional/east, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "ftX" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) +"fue" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/corner, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "fuj" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/dark_red, @@ -14187,11 +14319,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"ful" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "fun" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14209,37 +14336,37 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"fuu" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/machinery/light/cold/directional/south, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/security/detectives_office, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"fuD" = ( +"fuy" = ( +/obj/structure/cable, +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/starboard/fore) +"fuA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/north, /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 }, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) +/turf/open/floor/wood, +/area/station/cargo/boutique) "fuL" = ( /obj/docking_port/stationary/escape_pod{ dir = 2 }, /turf/open/space/basic, /area/space) -"fuV" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +"fvb" = ( +/obj/machinery/door/airlock/external/glass{ + name = "ATMOS PROJECT Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/structure/chair, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/storage/tools) +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "fvh" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/disposaloutlet{ @@ -14248,29 +14375,12 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/hallway/primary/port) -"fvj" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/light/small/directional/north, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/rock/pile/style_random{ - pixel_x = 32 - }, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/locker_room) "fvs" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/command/heads_quarters/ce) -"fvv" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/arrows/white{ - color = "#0000FF"; - pixel_y = 15 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "fvz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14299,6 +14409,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"fvW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange, +/obj/structure/lattice, +/turf/open/misc/asteroid/airless, +/area/space/nearstation) "fwc" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -14312,20 +14427,48 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"fwr" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ +"fwf" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/turf_decal/tile/dark/fourcorners, -/obj/structure/railing/corner{ - dir = 4 +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 }, -/turf/open/floor/iron, +/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) +"fwj" = ( +/obj/machinery/air_sensor/mix_tank, +/turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"fwl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/chair/sofa/bench/right, +/turf/open/floor/stone, +/area/station/service/chapel) +"fwn" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/broken_flooring/singular/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) +"fwA" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "fwF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -14341,6 +14484,13 @@ "fwS" = ( /turf/open/floor/circuit, /area/station/maintenance/port/aft) +"fwT" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "fwU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14358,32 +14508,24 @@ dir = 1 }, /area/station/science/lobby) -"fwV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) "fwZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/hallway/secondary/entry) -"fxa" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"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{ +"fxA" = ( +/obj/structure/altar_of_gods, +/obj/item/book/bible, +/obj/effect/landmark/start/hangover, +/obj/item/flashlight/lantern/on, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "fxF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14391,18 +14533,30 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fxL" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "fxN" = ( /obj/structure/table, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) -"fxW" = ( -/obj/machinery/restaurant_portal/restaurant, -/obj/effect/turf_decal/siding/wood{ +"fxT" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"fym" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 10 }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/turf/open/floor/grass, +/area/station/service/chapel) "fyo" = ( /obj/structure/table, /obj/machinery/light/small/directional/east, @@ -14446,32 +14600,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"fyL" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple, -/obj/item/storage/box/bodybags{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/genetics) -"fyW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "fyZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14487,6 +14615,37 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"fzi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/port) +"fzk" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Project Room"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/engineering/atmos) "fzq" = ( /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/plating, @@ -14504,10 +14663,17 @@ /turf/open/floor/iron/white, /area/station/medical/virology) "fzw" = ( -/obj/machinery/light/floor, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar) +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/biogenerator, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fzx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14516,27 +14682,42 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"fzI" = ( -/obj/machinery/door/airlock{ - id_tag = "Cabin3"; - name = "Cabin 3" +"fzA" = ( +/obj/item/book/manual/chef_recipes, +/obj/item/stack/package_wrap{ + pixel_y = 2 }, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms) -"fzT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/plaque{ - icon_state = "L6"; - pixel_y = -15 +/obj/item/holosign_creator/robot_seat/restaurant, +/obj/structure/table, +/obj/effect/turf_decal/siding{ + dir = 9 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) +"fzF" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/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) +"fzG" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "fAr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/barricade/wooden/crude, @@ -14562,11 +14743,16 @@ /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) "fAD" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/hallway/primary/central/fore) "fAJ" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -14583,6 +14769,11 @@ /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"fAW" = ( +/obj/machinery/light/small/directional/east, +/obj/item/kirbyplants/random/dead/research_director, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/rd) "fAY" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/full, @@ -14617,37 +14808,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fBs" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "fBw" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fBB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar) -"fBN" = ( -/obj/structure/flora/bush/flowers_yw/style_3{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/machinery/light/floor, -/obj/effect/light_emitter/fake_outdoors, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/grass/Airless, -/area/station/hallway/primary/central/aft) +"fBx" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "fBO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/tank_holder/extinguisher, @@ -14692,11 +14865,30 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"fCz" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/north, +/obj/item/clothing/head/costume/rice_hat, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) +"fCM" = ( +/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, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "fCS" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark/small, /area/station/security/brig) +"fCV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "fDd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14707,18 +14899,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"fDf" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Incinerator Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/engineering/atmos) "fDg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14738,6 +14918,17 @@ "fDI" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) +"fDJ" = ( +/obj/structure/table, +/obj/item/clothing/head/fedora/det_hat/minor{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/toy/eightball{ + pixel_x = -4 + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "fDL" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14751,12 +14942,6 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fDO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/closed/wall, -/area/station/engineering/atmos/storage/gas) "fDQ" = ( /obj/machinery/flasher/directional/north, /turf/open/floor/iron/dark/smooth_large, @@ -14778,6 +14963,12 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) +"fDV" = ( +/obj/structure/cable, +/turf/open/floor/iron/stairs/right{ + dir = 8 + }, +/area/station/commons/fitness/locker_room) "fDW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -14815,34 +15006,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"fEs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "fEC" = ( /turf/closed/wall, /area/station/maintenance/port/lesser) -"fEF" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/thinplating{ - dir = 5 - }, -/turf/open/floor/eighties, -/area/station/hallway/primary/central/fore) -"fEM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"fEG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research/glass{ - name = "Cytology Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/research, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/cytology) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos) "fEU" = ( /obj/structure/table, /obj/item/multitool{ @@ -14855,14 +15027,16 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"fEX" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 7 +"fEW" = ( +/obj/machinery/door/poddoor{ + id = "Secure Storage top"; + name = "Secure Storage" }, -/turf/open/floor/carpet, -/area/station/service/library) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "fFt" = ( /obj/structure/chair/wood{ dir = 8 @@ -14886,6 +15060,14 @@ }, /turf/open/floor/plating, /area/station/security/warden) +"fFM" = ( +/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) "fFO" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Three"; @@ -14897,6 +15079,25 @@ }, /turf/open/floor/iron/small, /area/station/maintenance/department/electrical) +"fFQ" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"fFR" = ( +/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/security/glass{ + name = "Security Office"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/security/checkpoint/science) "fFT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14923,7 +15124,9 @@ name = "Virology Interior Airlock" }, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door_buttons/access_button{ idDoor = "virology_airlock_interior"; idSelf = "virology_airlock_control"; @@ -14950,31 +15153,18 @@ }, /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"fGf" = ( -/obj/structure/cable, -/obj/machinery/modular_computer/preset/engineering{ - dir = 1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "fGk" = ( -/obj/machinery/smartfridge, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" - }, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"fGT" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"fGz" = ( +/obj/effect/spawner/random/structure/closet_private, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms) "fGU" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 1 @@ -14985,19 +15175,59 @@ /obj/structure/sign/warning/pods/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/hallway) -"fGW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 +"fHd" = ( +/obj/structure/closet/secure_closet/freezer/empty, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 }, -/obj/structure/flora/bush/large/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "fHf" = ( /obj/structure/bed/maint, /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"fHq" = ( +/obj/item/kirbyplants/random/fullysynthetic, +/obj/structure/sign/poster/contraband/random/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) +"fHt" = ( +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "fHv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -15007,87 +15237,91 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fHD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/storage_shared) -"fHK" = ( -/obj/structure/toilet{ +"fHz" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/button/door/directional/north{ - name = "Lock Control"; - id = "Toilet2"; - specialfunctions = 4; - normaldoorcontrol = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/sofa/bench{ + dir = 1 }, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) -"fHN" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) +"fHA" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"fHB" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 +/obj/machinery/light/warm/directional/south, +/obj/item/kirbyplants/random/fullysynthetic, +/turf/open/floor/iron, +/area/station/commons/dorms) +"fHC" = ( +/obj/structure/flora/rock/pile/jungle/style_5{ + pixel_x = -5; + pixel_y = 5 }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=21.0-Bar-Porthall"; - location = "20.0-CentralPort-Bar" +/turf/open/floor/grass, +/area/station/service/chapel) +"fHD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "fHT" = ( /obj/machinery/newscaster/directional/south, /obj/machinery/vending/wardrobe/science_wardrobe, /turf/open/floor/iron/white, /area/station/science/research) -"fIe" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - 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/wood, -/area/station/engineering/atmos/office) +"fHX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) "fIf" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"fIj" = ( -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) -"fIl" = ( -/obj/structure/chair/wood{ - dir = 8 +"fIm" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/machinery/light/floor, -/turf/open/floor/stone, -/area/station/service/bar) -"fIw" = ( -/obj/effect/landmark/navigate_destination/dockescpod, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) -"fIP" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ - dir = 8 +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/dock) +"fIF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"fJe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/area/station/engineering/atmospherics_engine) +"fIG" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/spawner/random/entertainment/arcade, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"fJi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "fJl" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -15095,11 +15329,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/science/xenobiology) -"fJn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/break_room) "fJs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15108,9 +15337,12 @@ cycle_id = "sci-maint-passthrough" }, /obj/machinery/door/airlock/hatch{ - name = "MiniSat Antechamber" + name = "MiniSat Antechamber"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) @@ -15139,22 +15371,12 @@ dir = 1 }, /area/station/hallway/primary/aft) -"fKa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) "fKc" = ( /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/ai_monitored/turret_protected/aisat_interior) -"fKd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "fKl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15163,40 +15385,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fKr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) "fKx" = ( /obj/structure/transit_tube/horizontal, /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/basic, /area/space/nearstation) -"fKN" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/computer/security/telescreen/test_chamber/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/xenobiology) -"fKP" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/science/lower) +"fKV" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fLf" = ( /obj/structure/cable/layer3, /obj/structure/cable, @@ -15208,11 +15407,13 @@ /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) "fLg" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/assembly/mousetrap/armed, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/landmark/start/geneticist, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "fLk" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -15270,35 +15471,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"fLF" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #2" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/storage) -"fLI" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/aft) -"fLJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "fLK" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -15311,21 +15483,57 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"fLL" = ( +"fMd" = ( +/obj/structure/sink/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) +"fMf" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"fMk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge"; + dir = 4 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"fMl" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"fLR" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/commons/fitness/recreation/entertainment) -"fMg" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/fore) +/area/station/engineering/atmos) "fMs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15339,11 +15547,19 @@ /area/station/hallway/primary/aft) "fMv" = ( /obj/machinery/door/airlock/maintenance{ - name = "Bathroom" + name = "Bathroom"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"fMz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/displaycase/trophy, +/turf/open/floor/wood/parquet, +/area/station/service/library) "fMA" = ( /obj/machinery/disposal/bin, /obj/machinery/light/cold/dim/directional/north, @@ -15366,16 +15582,16 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/mineral/titanium, /area/station/command/heads_quarters/ce) -"fMB" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"fMD" = ( +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"fMK" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "fMQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -15387,12 +15603,23 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"fMX" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 +"fMR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating/rust, +/area/station/maintenance/fore/greater) +"fMY" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 }, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/structure/table/wood, +/obj/item/stack/spacecash/c10{ + pixel_y = 9; + pixel_x = 5 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/west, +/turf/open/floor/iron/small, +/area/station/service/barber) "fNb" = ( /obj/effect/turf_decal/arrows{ dir = 8 @@ -15400,6 +15627,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) +"fNg" = ( +/obj/machinery/airalarm/directional/south, +/turf/open/floor/wood, +/area/station/cargo/boutique) "fNu" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -15409,7 +15640,8 @@ }, /obj/machinery/door/poddoor{ id = "justiceblast"; - name = "Justice Blast Door" + name = "Justice Blast Door"; + dir = 4 }, /turf/open/floor/plating/airless, /area/station/security/execution/education) @@ -15420,15 +15652,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fNC" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/central/fore) "fNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -15455,32 +15678,23 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/small, /area/station/medical/storage) -"fNW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"fNZ" = ( +"fNS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"fOd" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/shower/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/main) "fOg" = ( /obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/sand/plating, @@ -15493,54 +15707,36 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fOq" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) -"fOJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/herringbone, -/area/station/ai_monitored/command/nuke_storage) -"fOK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "fOQ" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/security/prison/workout) +"fOR" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/closet/toolcloset, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) "fOW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/displaycase/trophy, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"fPk" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/engineering/atmos) "fPu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable/layer3, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fPK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) "fPO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -15549,28 +15745,15 @@ /area/station/ai_monitored/turret_protected/aisat_interior) "fPR" = ( /obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fPV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/dock) "fPY" = ( /obj/effect/turf_decal/siding/yellow/corner{ dir = 4 @@ -15585,21 +15768,27 @@ /obj/structure/cable, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"fPZ" = ( -/obj/effect/turf_decal/siding/wood{ +"fQs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/structure/table, -/obj/item/storage/box/mousetraps{ - pixel_x = -5 +/turf/open/floor/iron/white/side{ + dir = 1 }, -/obj/item/storage/box/mousetraps{ - pixel_x = 11; - pixel_y = 7 +/area/station/science/xenobiology) +"fQz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/small, -/area/station/service/janitor) +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "fQA" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 8 @@ -15622,14 +15811,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fRl" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/genetics) "fRq" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -15650,6 +15831,13 @@ /obj/item/plunger, /turf/open/floor/iron, /area/station/medical/chemistry) +"fRu" = ( +/obj/structure/flora/bush/flowers_pp/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "fRv" = ( /obj/structure/table, /obj/effect/turf_decal/siding/thinplating_new/terracotta{ @@ -15661,41 +15849,11 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) -"fRI" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/misc/asteroid, -/area/station/maintenance/hallway/abandoned_command) "fRJ" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fRM" = ( -/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/engineering/atmos) -"fRV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"fRX" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Study" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/parquet, -/area/station/service/library) "fSe" = ( /turf/closed/wall/rust, /area/station/cargo/miningfoundry) @@ -15704,12 +15862,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/prison) -"fSg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 4 +"fSs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/turf/open/floor/engine, -/area/station/science/xenobiology) +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "fSx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -15732,11 +15893,13 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/white/small, /area/station/medical/psychology) -"fSU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/autoname/directional/west, +"fSJ" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/area/station/commons/fitness/recreation/entertainment) "fSX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15786,16 +15949,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fTJ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Atmospherics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/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/engineering/atmospherics_engine) "fTM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15828,12 +15981,17 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fUC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"fUs" = ( +/obj/structure/closet/crate/solarpanel_small, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"fUG" = ( +/obj/machinery/power/energy_accumulator/tesla_coil/anchored, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "fUI" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -15841,19 +15999,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fUO" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "Antechamber Turret Control"; - pixel_y = 30; - req_access = list("minisat") - }, -/obj/structure/showcase/cyborg/old{ - pixel_y = 20 +"fUM" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat/foyer) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore/lesser) "fUP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15875,7 +16028,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/grunge{ - name = "Cell 2" + name = "Cell 2"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 @@ -15887,12 +16041,15 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"fVl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar) +"fVj" = ( +/obj/item/pickaxe, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"fVn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/service/chapel/office) "fVy" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -15906,20 +16063,17 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/small, /area/station/security/checkpoint/engineering) -"fVF" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/sparsegrass, -/turf/open/floor/grass, -/area/station/service/chapel) +"fVB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/cafeteria, +/area/station/science/breakroom) "fVG" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"fVM" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "fVU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15927,14 +16081,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fWi" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "fWr" = ( /obj/structure/closet/crate, /obj/structure/barricade/wooden/crude, @@ -15946,16 +16092,31 @@ /obj/item/kirbyplants/random, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/aft) +"fWD" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "fWJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"fWR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "fWT" = ( /obj/machinery/vending/assist, /obj/machinery/firealarm/directional/west, /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"fXd" = ( +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "fXg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -15987,16 +16148,27 @@ /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) "fXB" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/door/airlock/security/glass{ - name = "Engineering Security Post" + name = "Engineering Security Post"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/catwalk_floor, /area/station/security/checkpoint/engineering) +"fXC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/navigate_destination/vault, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "fXD" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -16020,14 +16192,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"fYe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"fXO" = ( +/obj/machinery/door/airlock{ + id_tag = "Cabin1"; + name = "Cabin 1" }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/station/service/chapel) +/turf/open/floor/carpet/orange, +/area/station/commons/dorms) "fYr" = ( /obj/structure/table, /obj/item/extinguisher/empty, @@ -16035,27 +16206,54 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"fYH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "fYJ" = ( -/obj/structure/table/wood, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/obj/machinery/power/apc/auto_name/directional/west{ + areastring = "/area/station/science/ordnance/freezerchamber" }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"fYN" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/south, +/obj/structure/flora/bush/flowers_yw, +/obj/machinery/camera/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "fYU" = ( /obj/effect/spawner/random/structure/crate_loot, /obj/item/pickaxe, /obj/effect/spawner/random/maintenance, /turf/open/misc/asteroid, /area/station/maintenance/department/engine/atmos) +"fZb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"fZf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/effect/landmark/navigate_destination/cargo, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"fZn" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/iron/textured_half, +/area/station/service/library) "fZp" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -16067,32 +16265,27 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"fZG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 +"fZA" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine" }, +/obj/machinery/door/firedoor, +/turf/open/floor/stone, +/area/station/hallway/primary/port) +"fZE" = ( +/obj/effect/landmark/start/hangover, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) +"fZJ" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) -"fZK" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement{ - dir = 1; - pixel_y = 5 - }, -/turf/open/floor/carpet, -/area/station/service/library) -"fZZ" = ( -/obj/structure/chair/sofa/bench/left{ +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "gad" = ( /obj/structure/table/bronze, /obj/item/food/grown/cannabis{ @@ -16125,17 +16318,6 @@ }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) -"gaj" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "gaF" = ( /obj/machinery/stasis{ dir = 4 @@ -16151,6 +16333,17 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"gaR" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/machinery/door/airlock/command/glass{ + name = "Telecommunications Server Room" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-south" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) "gaU" = ( /obj/effect/turf_decal/siding{ dir = 9 @@ -16182,47 +16375,24 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/white/small, /area/station/science/lab) -"gbf" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/power/smes{ - capacity = 1.8e+008; - charge = 2e+005 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"gbh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 +"gaY" = ( +/obj/structure/flora/bush/flowers_yw/style_3{ + pixel_x = 3; + pixel_y = 2 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"gbj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/floor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"gby" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "gbD" = ( /obj/machinery/hydroponics/soil, /obj/item/food/grown/mushroom/reishi, /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"gbG" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "gbH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16239,31 +16409,47 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"gbT" = ( -/obj/structure/table, -/obj/item/storage/bag/construction, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"gcg" = ( -/obj/structure/chair{ - name = "Defense" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/courtroom) "gcs" = ( /turf/closed/wall, /area/space/nearstation) +"gcw" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "gcz" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore/lesser) +"gcG" = ( +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "gcL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"gda" = ( +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos/office) +"gdj" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "gdn" = ( /obj/item/kirbyplants/organic/applebush, /obj/effect/turf_decal/tile/red{ @@ -16279,10 +16465,6 @@ "gdr" = ( /turf/closed/wall/rust, /area/station/maintenance/fore/lesser) -"gdx" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "gdA" = ( /obj/structure/railing/corner{ dir = 8 @@ -16304,7 +16486,6 @@ /area/station/maintenance/fore/lesser) "gdD" = ( /obj/machinery/light/cold/directional/south, -/obj/structure/sign/warning/pods/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/aft) @@ -16317,17 +16498,16 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gdF" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "geb" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/flashlight/lamp/green, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) +"gef" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/space/basic, +/area/space/nearstation) "geg" = ( /obj/machinery/door/airlock{ name = "Gas Lab Maintenance" @@ -16335,6 +16515,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"get" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "geu" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -16353,16 +16539,6 @@ /obj/machinery/light/small/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) -"geH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/security) "geJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -16378,13 +16554,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"geW" = ( -/obj/machinery/computer/security/hos{ - dir = 4 +"geZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 1 }, -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/hos) +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/computer/atmos_control/oxygen_tank{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "gfb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16395,16 +16574,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gfm" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) "gfs" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/command) @@ -16425,6 +16594,23 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"gfD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"gfF" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "gfJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -16438,31 +16624,12 @@ /obj/structure/closet/emcloset, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"gfQ" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) -"gfZ" = ( -/obj/structure/window/spawner/directional/west, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"ggc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) +/area/station/hallway/secondary/dock) +"gfZ" = ( +/obj/structure/window/spawner/directional/west, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, +/area/space/nearstation) "ggh" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -16488,31 +16655,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ggz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, +"ggC" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"ggJ" = ( -/obj/machinery/light/no_nightlight/directional/east, -/obj/structure/sign/poster/official/nanotrasen_logo/directional/east, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) "ggN" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 }, /turf/open/floor/engine, /area/station/science/explab) +"ggW" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/stairs, +/area/station/maintenance/port/greater) "ggX" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -16534,15 +16694,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"ghj" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/hydroponics/constructable, -/obj/machinery/light/small/directional/east, +"ghi" = ( +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/camera, +/obj/machinery/firealarm/directional/north, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/commons/storage/art) "ghs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16595,15 +16755,21 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/science/lower) -"ghL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"ghP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/item/radio/intercom/directional/west, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/primary/central/aft) "ghQ" = ( /obj/machinery/nuclearbomb/selfdestruct, /turf/open/floor/circuit/green, @@ -16614,16 +16780,6 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"ghX" = ( -/obj/structure/spider/stickyweb, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"gip" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "giq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -16635,6 +16791,15 @@ /obj/machinery/nuclearbomb/beer, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) +"giC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "giU" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -16656,33 +16821,29 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/wood/tile, /area/station/command/bridge) +"giW" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Dorms"; + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/commons/fitness/locker_room) "giY" = ( /obj/structure/window/spawner/directional/west, /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"gjg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner, -/area/station/science/xenobiology) -"gjn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"gjE" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/main) +"gjc" = ( +/obj/structure/table, +/obj/item/hfr_box/corner, +/obj/item/hfr_box/corner, +/obj/item/hfr_box/corner, +/obj/item/hfr_box/corner, +/obj/item/hfr_box/core, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "gjL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ @@ -16701,12 +16862,11 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/wood/tile, /area/station/command/bridge) -"gjU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"gkk" = ( +/obj/structure/cable, +/obj/machinery/power/emitter/welded, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "gkq" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/corner, @@ -16716,13 +16876,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"gkv" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white/small, -/area/station/science/server) "gkw" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/west, @@ -16741,6 +16894,19 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/medical/virology) +"gkS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"gkV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "gkW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -16750,15 +16916,43 @@ dir = 8 }, /area/station/engineering/main) -"glo" = ( -/obj/machinery/suit_storage_unit/atmos, +"glf" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) +"glj" = ( +/obj/structure/table, +/obj/item/electronics/airalarm{ + pixel_x = -5; + pixel_y = -7 + }, +/obj/item/electronics/firealarm{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/electronics/firealarm{ + pixel_x = 5 + }, +/obj/item/electronics/airalarm{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/electronics/airalarm{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/structure/sign/poster/official/build/directional/east, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) -"gls" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/central/greater) +/area/station/engineering/atmos/storage) +"glu" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/station/commons/storage/art) "glM" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -16766,28 +16960,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"glT" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 9; - pixel_x = 4 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding{ - dir = 5 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) "glY" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/rack, @@ -16798,9 +16970,6 @@ /obj/item/wrench/medical, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"gmf" = ( -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "gmm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16808,7 +16977,9 @@ /area/station/maintenance/starboard/aft) "gmn" = ( /obj/structure/cable, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/medical{ name = "Cryogenics Bay" }, @@ -16819,59 +16990,33 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"gmv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/north, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +"gmT" = ( +/obj/effect/landmark/start/chaplain, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) +"gnn" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "gnA" = ( /obj/structure/cable, /obj/machinery/light/small/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"gnB" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"gnK" = ( -/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, -/turf/open/floor/iron/grimy, -/area/station/service/janitor) -"gnL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 1 - }, +"gnP" = ( +/obj/structure/closet/crate, +/obj/item/clothing/mask/bandana/blue, +/obj/item/clothing/mask/bandana/blue, +/obj/item/clothing/mask/bandana/gold, +/obj/item/clothing/mask/bandana/gold, +/obj/item/clothing/mask/bandana/red, +/obj/item/clothing/mask/bandana/red, +/obj/item/clothing/mask/bandana/skull, +/obj/item/clothing/mask/bandana/skull, +/obj/item/toy/basketball, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/hallway/secondary/recreation) "gnQ" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window, @@ -16895,6 +17040,18 @@ }, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) +"gol" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "gom" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -16905,16 +17062,6 @@ "gow" = ( /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"goA" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "goB" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -16932,12 +17079,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"goS" = ( -/obj/machinery/incident_display/delam/directional/north, -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) "goT" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -16953,6 +17094,20 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"gpm" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "gpu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16966,11 +17121,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"gpA" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/dorms) "gpI" = ( /turf/closed/wall, /area/station/command/heads_quarters/ce) @@ -16986,28 +17136,12 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/small, /area/station/medical/virology) -"gpP" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/tools) -"gpT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, +"gpY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/effect/mapping_helpers/broken_floor, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) -"gpV" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/carpet/orange, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "gqb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -17015,6 +17149,16 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"gqe" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "gqg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17022,10 +17166,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gqh" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) "gqs" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -17040,11 +17180,23 @@ /obj/structure/spider/stickyweb, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"gqS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +"gqx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"gqY" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "grm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -17069,14 +17221,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/engine/atmos) -"grH" = ( +"grJ" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/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/hallway/primary/central/aft) +"grS" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/obj/machinery/computer/security/telescreen/interrogation/directional/north, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/security) +/area/station/maintenance/fore/greater) "gsh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -17085,6 +17250,18 @@ }, /turf/open/floor/iron/white/side, /area/station/science/lobby) +"gsk" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "gsv" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -17096,16 +17273,48 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white/small, /area/station/science/lab) +"gsE" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) "gsY" = ( /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"gtk" = ( -/obj/structure/hedge, +"gsZ" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/commons/dorms) +"gtf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 + dir = 1 }, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"gtm" = ( +/obj/structure/sign/directions/medical/east_arrow{ + pixel_y = -8; + dir = 2 + }, +/obj/structure/sign/directions/evac/east_arrow{ + dir = 2 + }, +/obj/structure/sign/directions/command/east_arrow{ + pixel_y = 8; + dir = 2 + }, +/turf/closed/wall, +/area/station/hallway/primary/fore) "gto" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17130,11 +17339,32 @@ /obj/effect/landmark/start/depsec/engineering, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/engineering) -"gtH" = ( -/turf/open/floor/iron/stairs/left{ +"gtv" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/machinery/camera/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) +"gtw" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/area/station/hallway/secondary/recreation) +/obj/structure/table, +/obj/item/clothing/glasses/meson{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/clothing/glasses/meson{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/clothing/glasses/meson{ + pixel_x = 5; + pixel_y = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "gtJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17144,12 +17374,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"guh" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "atmos to engine" +"gtL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "gun" = ( /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/tile/red{ @@ -17159,29 +17390,72 @@ /area/station/hallway/secondary/exit/departure_lounge) "guz" = ( /obj/structure/cable, -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/aft) -"guC" = ( -/obj/effect/turf_decal/tile/green/half/contrasted, -/obj/structure/closet/l3closet/virology, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"guK" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/status_display/door_timer{ - id = "Cell 3"; - name = "Cell 3"; - pixel_y = -32 +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/starboard/aft) +"guC" = ( +/obj/effect/turf_decal/tile/green/half/contrasted, +/obj/structure/closet/l3closet/virology, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"guG" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/storage/wallet{ + pixel_x = -3; + pixel_y = 10 + }, +/obj/item/cigarette/cigar{ + pixel_x = -1; + pixel_y = -2 + }, +/obj/item/lighter{ + pixel_x = 11; + pixel_y = -7 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/qm) +"guY" = ( +/turf/closed/wall, +/area/station/service/chapel/storage) +"gva" = ( +/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/central/greater) +"gvg" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) +"gvm" = ( +/obj/machinery/door/airlock/grunge{ + name = "Janitorial Closet"; + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/service/janitor, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/janitor) +"gvK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/dark/small, -/area/station/security/brig) -"guY" = ( -/turf/closed/wall, -/area/station/service/chapel/storage) +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "gvV" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/office{ @@ -17191,21 +17465,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/brig/entrance) -"gwa" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/checker, -/area/station/security/breakroom) -"gwf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/meter, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "gwl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17217,31 +17476,50 @@ /turf/open/floor/iron/small, /area/station/engineering/atmos/storage/gas) "gwm" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 +/obj/structure/flora/bush/jungle, +/obj/structure/flora/rock/pile/style_3, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/recreation/entertainment) +"gwy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/structure/table, +/obj/item/radio/intercom/directional/south, +/obj/item/clothing/head/cone{ + pixel_y = 5; + pixel_x = -6 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/item/clothing/head/cone{ + pixel_y = 7; + pixel_x = -6 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/pipe_dispenser{ + pixel_y = 9; + pixel_x = 14 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"gwx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/cigarette{ + pixel_y = 2 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"gwD" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 8 }, -/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/hallway/primary/central/fore) +/area/station/service/hydroponics) +"gwK" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "gwQ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/east, @@ -17266,6 +17544,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gwW" = ( +/obj/structure/closet/crate/trashcart/filled, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "gxb" = ( /obj/structure/table/reinforced, /obj/item/clothing/mask/surgical{ @@ -17282,12 +17565,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"gxd" = ( -/obj/structure/reflector/single/anchored{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "gxg" = ( /obj/effect/turf_decal/siding/red{ dir = 9 @@ -17307,23 +17584,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"gxl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/filingcabinet/employment, -/turf/open/floor/wood/tile, -/area/station/service/lawoffice) -"gxo" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "gxq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17342,7 +17602,9 @@ /turf/open/floor/iron/smooth, /area/station/cargo/miningfoundry) "gxs" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/research/glass{ name = "Chemistry Lab" }, @@ -17360,6 +17622,10 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"gxv" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta, +/turf/open/floor/iron, +/area/station/commons/dorms) "gxx" = ( /obj/structure/flora/bush/flowers_yw/style_random, /obj/structure/window/reinforced/spawner/directional/west, @@ -17368,15 +17634,21 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"gxA" = ( -/obj/structure/table, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/core, +"gxF" = ( +/mob/living/simple_animal/bot/secbot/beepsky/armsky, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, /turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +/area/station/ai_monitored/security/armory) +"gxJ" = ( +/obj/machinery/shower/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "gxL" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -17403,20 +17675,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"gya" = ( -/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) -"gyc" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "gyd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/window/spawner/directional/east, @@ -17435,17 +17693,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"gyj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) "gyr" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/smooth, @@ -17461,18 +17708,60 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"gyx" = ( -/obj/structure/cable, +"gyC" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/obj/item/storage/pill_bottle/potassiodide{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/pen/screwdriver, +/obj/item/radio/intercom/directional/west, +/obj/item/geiger_counter{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) +"gyL" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"gyy" = ( -/obj/structure/table/wood, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) +"gyO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/open/floor/stone, -/area/station/service/bar) +/area/station/service/chapel) +"gyQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"gzi" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/checker, +/area/station/security/breakroom) +"gzo" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "gzs" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -17490,6 +17779,10 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/security) +"gzA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "gzB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/spawner/directional/west, @@ -17506,21 +17799,30 @@ "gzF" = ( /turf/closed/wall/r_wall, /area/station/security/prison/rec) -"gzM" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +"gzG" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "gzY" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"gAf" = ( +/obj/structure/curtain/cloth, +/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/textured_half{ + dir = 8 + }, +/area/station/service/janitor) "gAn" = ( /obj/structure/railing/corner{ dir = 8 @@ -17528,18 +17830,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"gAu" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"gAy" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "gAA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17548,25 +17838,10 @@ dir = 5 }, /area/station/science/research) -"gAH" = ( -/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/siding/wood/corner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/parquet, -/area/station/service/library) "gAJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"gAQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/railing, -/turf/open/floor/iron, -/area/station/engineering/atmos) "gAR" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -17576,17 +17851,6 @@ }, /turf/open/floor/iron, /area/station/security/warden) -"gAV" = ( -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) -"gBg" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "gBh" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/department/engine/atmos) @@ -17618,22 +17882,16 @@ "gBu" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) -"gBw" = ( -/obj/machinery/ticket_machine/directional/north, -/turf/open/floor/iron/half{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) "gBx" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/glass, /obj/machinery/recharger{ pixel_x = 6; - pixel_y = 7 + pixel_y = 11 }, /obj/machinery/cell_charger{ pixel_x = 1; - pixel_y = -1 + pixel_y = 4 }, /turf/open/floor/glass/reinforced, /area/station/command/bridge) @@ -17652,33 +17910,20 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) -"gBB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter/room) "gBK" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Atmospherics Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, /obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating{ +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 8 }, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "gBT" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/secure_safe/caps_spare, +/obj/structure/secure_safe/caps_spare{ + pixel_y = 7 + }, /obj/structure/table/glass, /turf/open/floor/glass/reinforced, /area/station/command/bridge) @@ -17696,13 +17941,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/wood/tile, /area/station/command/bridge) -"gCl" = ( -/obj/machinery/light/floor, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "gCo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17734,35 +17972,35 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"gCI" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"gCF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/newscaster/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine" +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"gCH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/tile, -/area/station/service/lawoffice) +/obj/machinery/light/no_nightlight/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "gCT" = ( /turf/closed/wall, /area/station/hallway/secondary/command) -"gDc" = ( -/obj/structure/table/reinforced, -/obj/item/folder/blue{ - pixel_y = 2 +"gCV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" }, -/obj/item/pen, -/obj/machinery/airalarm/directional/south, -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"gDg" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/maintenance/central/greater) "gDk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17785,9 +18023,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/space/basic, /area/space/nearstation) -"gDB" = ( -/turf/open/floor/iron, -/area/station/science/lower) "gDC" = ( /obj/structure/lattice, /obj/structure/railing{ @@ -17807,29 +18042,46 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gDL" = ( +/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/station/science/xenobiology) +"gDR" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/clothing/head/utility/welding, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "gEc" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gEd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, +/obj/machinery/meter/monitored/distro_loop, +/obj/structure/cable, +/obj/machinery/camera/directional/east{ + c_tag = "atmospherics - distro" + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "gEe" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"gEx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"gEG" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/office) "gEH" = ( /turf/closed/wall/r_wall, /area/station/security/evidence) @@ -17843,19 +18095,40 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/cargo/office) -"gEM" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 +"gEV" = ( +/obj/structure/table/glass, +/obj/machinery/fax{ + fax_name = "Chief Medical Officer's Office"; + name = "Chief Medical Officer's Fax Machine"; + pixel_y = 13 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/button/door/directional/south{ + id = "cmoprivacy"; + name = "CMO Privacy Shutters"; + pixel_x = -6; + req_access = list("cmo") }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/button/door/directional/south{ + id = "medlock"; + name = "Medbay Lockdown Control"; + pixel_x = 6; + req_access = list("medical") }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) +"gFe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "gFg" = ( /obj/machinery/computer/cargo/request, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -17864,12 +18137,6 @@ }, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"gFm" = ( -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "gFs" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -17936,12 +18203,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/textured_half, /area/station/security/processing) -"gGk" = ( -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/stairs/right{ +"gGe" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/area/station/hallway/secondary/recreation) +/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/hallway/primary/port) "gGl" = ( /obj/structure/bed/double{ dir = 1 @@ -17957,6 +18229,21 @@ }, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) +"gGu" = ( +/obj/structure/closet/wardrobe/white, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) +"gGv" = ( +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/small, +/area/station/security/office) "gGw" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/newscaster/directional/west, @@ -17964,35 +18251,41 @@ /turf/open/floor/wood, /area/station/cargo/miningfoundry) "gGx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"gGy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange{ +/obj/machinery/door/airlock/research{ + name = "Research and Development Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/research, +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/lab) +"gGA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "gGB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/prison) +"gGI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/chapel) "gGK" = ( /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"gGO" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "gGQ" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -18013,34 +18306,29 @@ /obj/item/melee/chainofcommand, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"gHg" = ( -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/glass, -/area/station/hallway/primary/central/aft) -"gHl" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ +"gHh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/security/checkpoint/customs) -"gHm" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) -"gHD" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, -/area/station/commons/dorms) +/area/station/science/ordnance) +"gHl" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/customs) "gHP" = ( /obj/structure/hedge, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"gHQ" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "gHT" = ( /obj/structure/bodycontainer/morgue{ dir = 2 @@ -18052,6 +18340,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"gHZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "gIb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18076,20 +18371,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gIv" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/wood/tile, -/area/station/service/bar) "gIx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18113,20 +18394,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"gIR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/science/rd, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Research Director's Office" +"gIJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/door/poddoor/preopen{ - id = "rdoffice"; - name = "Research Director's Shutters" +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) +/turf/open/floor/wood/parquet, +/area/station/service/library) "gIS" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/holywater, @@ -18140,6 +18419,13 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/security) +"gIY" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "gJo" = ( /turf/open/floor/iron/stairs{ dir = 8 @@ -18151,35 +18437,23 @@ }, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) +"gJt" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "gJu" = ( /obj/structure/closet, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/royalblue, /area/station/command/corporate_suite) -"gJw" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"gJD" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"gJz" = ( +/obj/structure/spider/stickyweb, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"gJQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/stack/spacecash/c1, -/obj/item/cigarette/cigar/havana, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/station/maintenance/starboard/central) +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "gJS" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18227,15 +18501,16 @@ "gKL" = ( /turf/closed/wall/r_wall, /area/station/engineering/break_room) -"gKQ" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ +"gKP" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/siding/green{ + dir = 4 }, -/turf/open/floor/iron/small, -/area/station/service/barber) +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "gKT" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -18243,25 +18518,25 @@ "gLb" = ( /turf/closed/wall, /area/station/medical/virology) -"gLg" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/cable, -/obj/structure/sign/painting/large/library{ - dir = 1 +"gLf" = ( +/obj/structure/chair/comfy/brown, +/obj/structure/sign/painting/library{ + pixel_x = 30 }, /turf/open/floor/wood/parquet, /area/station/service/library) -"gLo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 +"gLj" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter) +"gLl" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/siding/wood/end, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/turf/open/floor/iron/smooth, +/area/station/service/library) "gLs" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -18280,6 +18555,23 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron, /area/station/security) +"gLB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"gLK" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "gLM" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -18293,33 +18585,14 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"gLO" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L11"; - pixel_y = -15 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"gLV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/trash, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "gLY" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/command/corporate_suite) "gLZ" = ( /obj/machinery/door/airlock/maintenance{ - name = "Bridge Closet" + name = "Bridge Closet"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/abandoned, /obj/effect/mapping_helpers/airlock/access/any/command/maintenance, @@ -18338,14 +18611,6 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/server) -"gMq" = ( -/obj/machinery/vending/clothing, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "gMs" = ( /obj/structure/cable, /obj/effect/spawner/structure/window, @@ -18358,25 +18623,6 @@ }, /turf/open/floor/plating, /area/station/command/gateway) -"gMz" = ( -/obj/structure/chair/sofa/bench/right, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"gMM" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/delivery/red, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay Clinic" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medlock"; - name = "Lockdown Shutters" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/small, -/area/station/medical/medbay/lobby) "gMQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/displaycase/labcage, @@ -18398,42 +18644,21 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) -"gMV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/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/engineering/atmos) -"gMX" = ( -/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 = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"gNa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/engineering/atmos) "gNb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"gNg" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) -"gNs" = ( -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) +"gNe" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/machinery/door/airlock/command/glass{ + name = "Telecommunications Server Room" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-north" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) "gNt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18455,47 +18680,43 @@ }, /turf/open/floor/plating, /area/station/cargo/miningoffice) -"gNP" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ +"gNT" = ( +/obj/effect/turf_decal/siding/wood{ 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/hallway/primary/port) -"gNV" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/stairs{ +/obj/machinery/firealarm/directional/east, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/area/station/cargo/office) -"gNX" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"gOm" = ( -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/aisat/equipment) -"gOt" = ( -/obj/structure/flora/tree/jungle/small/style_2, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +/turf/open/floor/wood/tile, +/area/station/service/bar) +"gOb" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/east, +/obj/item/clothing/head/utility/hardhat/welding{ + pixel_x = 7; + pixel_y = 13 }, -/turf/open/floor/grass, -/area/station/service/chapel) -"gOw" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/structure/chair{ - dir = 8 +/obj/item/clothing/shoes/cowboy/lizard{ + pixel_x = -2 }, -/obj/machinery/flasher/directional/east{ - id = "brigisolation" +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) +"gOg" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +/turf/open/floor/wood, +/area/station/cargo/boutique) +"gOm" = ( +/turf/closed/wall/r_wall, +/area/station/ai_monitored/turret_protected/aisat/equipment) +"gOC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "gOK" = ( /obj/structure/fermenting_barrel/gunpowder, /obj/structure/barricade/wooden/crude, @@ -18532,18 +18753,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/small, /area/station/security/checkpoint/engineering) -"gPm" = ( -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat/equipment) -"gPv" = ( +"gPh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, /obj/structure/cable, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "gPN" = ( /obj/structure/fermenting_barrel, /turf/open/floor/plating, @@ -18560,9 +18775,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"gPZ" = ( -/turf/open/floor/iron, -/area/station/security/tram) "gQa" = ( /obj/structure/sign/warning/chem_diamond, /turf/closed/wall, @@ -18575,13 +18787,16 @@ /obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"gQy" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"gQF" = ( +/obj/machinery/door/airlock/external{ + name = "Departure Lounge Airlock"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/hallway/secondary/exit/departure_lounge) "gQG" = ( /obj/structure/window/spawner/directional/east, /obj/structure/closet/crate, @@ -18598,20 +18813,54 @@ }, /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, -/turf/open/floor/grass, -/area/station/service/chapel) +"gQN" = ( +/obj/structure/sign/warning/engine_safety/directional/north, +/obj/machinery/light/cold/dim/directional/north, +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) +"gRg" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/sign/departments/medbay/alt/directional/west, +/turf/open/floor/iron/white, +/area/station/hallway/primary/central/aft) "gRp" = ( /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/machinery/door/airlock/security{ - name = "Transfer E.V.A." + name = "Transfer E.V.A."; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/security/tram) +"gRA" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "Engine Room"; + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/supermatter/room) +"gRC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "gRG" = ( /obj/structure/toilet{ dir = 8 @@ -18623,14 +18872,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"gRH" = ( -/obj/machinery/button/door/directional/north{ - id = "Cabin4"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1 - }, -/turf/closed/wall, -/area/station/service/abandoned_gambling_den) "gRL" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -18644,6 +18885,11 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"gSb" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "gSi" = ( /obj/structure/chair{ dir = 4 @@ -18659,6 +18905,14 @@ /obj/effect/gibspawner/human, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"gSl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/augments) "gSr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18718,6 +18972,15 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"gTf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/disposals, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "gTi" = ( /obj/structure/table/glass, /obj/item/aicard{ @@ -18725,6 +18988,10 @@ }, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) +"gTz" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/prison/garden) "gTH" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18748,12 +19015,12 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"gTO" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/security/prison/work) +"gTR" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 9 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "gTS" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -18773,7 +19040,9 @@ /turf/open/floor/iron/cafeteria, /area/station/science/circuits) "gTW" = ( -/obj/machinery/door/airlock/hatch, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) "gTX" = ( @@ -18783,6 +19052,12 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"gUd" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "gUe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18806,7 +19081,9 @@ /obj/machinery/door/airlock/command{ name = "Council Chambers" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron/dark/textured_half{ dir = 1 @@ -18825,6 +19102,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"gUF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "gUG" = ( /obj/effect/turf_decal/siding/red{ dir = 1 @@ -18832,16 +19115,10 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/security/medical) -"gUM" = ( -/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/engineering/atmos/pumproom) +"gUO" = ( +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) "gUV" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/south{ @@ -18862,27 +19139,47 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/hallway/secondary/command) "gVi" = ( -/obj/effect/spawner/structure/window, -/obj/structure/sign/departments/medbay/alt/directional/east, -/turf/open/floor/plating, -/area/station/medical/medbay/lobby) +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/iron/white/small, +/area/station/medical/medbay/central) +"gVm" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "gVp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/command/corporate_suite) +"gVs" = ( +/obj/machinery/light/floor, +/turf/open/floor/grass, +/area/station/service/chapel) "gVA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/grille, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"gVL" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/sparsegrass, -/turf/open/floor/grass, -/area/station/service/chapel) +"gVF" = ( +/turf/open/floor/carpet, +/area/station/service/library) +"gVS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/dorms) +"gVV" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "gVW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, @@ -18891,11 +19188,6 @@ "gWb" = ( /turf/closed/wall, /area/station/command/heads_quarters/hos) -"gWf" = ( -/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/station/science/xenobiology) "gWk" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -18906,6 +19198,15 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/command/corporate_suite) +"gWy" = ( +/obj/structure/cable, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/lawyer, +/turf/open/floor/wood/tile, +/area/station/service/lawoffice) "gWB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18919,6 +19220,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"gWT" = ( +/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/power/apc/auto_name/directional/south, +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/augments) "gXf" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -18930,13 +19242,13 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) -"gXs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"gXG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/science/breakroom) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "gXL" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -18963,21 +19275,38 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"gXT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "gYq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/greater) +"gYv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"gYx" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/cryo) +"gYM" = ( +/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) "gZh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -19001,20 +19330,13 @@ /turf/open/floor/plating, /area/station/security/checkpoint/escape) "gZy" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 18 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 18 - }, -/obj/item/clothing/suit/hazardvest, -/obj/effect/turf_decal/siding/thinplating_new/terracotta{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/command/teleporter) +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "gZM" = ( /obj/item/kirbyplants/random, /obj/machinery/light/cold/directional/east, @@ -19023,11 +19345,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"gZS" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "gZU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19040,18 +19357,6 @@ }, /turf/open/floor/iron, /area/station/security) -"gZW" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/dorms) "had" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -19059,11 +19364,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hal" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +"hao" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/north, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 }, -/turf/open/floor/engine, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 8 + }, +/turf/open/floor/wood, /area/station/engineering/atmospherics_engine) "haq" = ( /obj/structure/disposalpipe/segment{ @@ -19077,6 +19391,28 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"haB" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"haD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/medical/psychology) +"haK" = ( +/obj/machinery/light/small/directional/south{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) "haO" = ( /obj/effect/turf_decal/stripes/white/end, /obj/machinery/door/poddoor/shutters{ @@ -19085,15 +19421,10 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "hbc" = ( -/obj/effect/turf_decal/siding/dark_red/corner{ - dir = 8 - }, -/obj/structure/secure_safe/directional/north{ - name = "armory safe A" - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/ai_monitored/security/armory) +/obj/machinery/holopad, +/obj/effect/landmark/start/hangover, +/turf/open/floor/stone, +/area/station/service/bar) "hbk" = ( /obj/structure/cable, /obj/effect/turf_decal/siding{ @@ -19107,6 +19438,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"hbp" = ( +/obj/structure/chair{ + dir = 1; + pixel_y = -2 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/science/lower) "hbt" = ( /obj/structure/broken_flooring/singular/directional/south, /obj/effect/decal/cleanable/dirt, @@ -19128,13 +19468,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"hbz" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "hbG" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/camera/autoname/directional/north, @@ -19176,14 +19509,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"hbY" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "hcb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -19227,16 +19552,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"hcn" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/south, -/obj/item/clothing/head/utility/hardhat/reindeer{ - pixel_x = -16; - pixel_y = 3 - }, -/obj/item/clothing/shoes/clown_shoes/jester, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) "hcs" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -19244,28 +19559,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"hcu" = ( -/obj/effect/turf_decal/siding/dark_red, -/obj/item/stack/sheet/cardboard{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/storage/box/teargas{ - pixel_x = -7; - pixel_y = 14 - }, -/obj/item/gun/grenadelauncher{ - pixel_x = 17; - pixel_y = 10 - }, -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/dark/small, -/area/station/ai_monitored/security/armory) "hcE" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -19276,27 +19569,6 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/wood/tile, /area/station/command/bridge) -"hcQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/stone, -/area/station/service/bar) -"hcT" = ( -/obj/machinery/computer/slot_machine{ - pixel_y = 2 - }, -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) "hcU" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19330,6 +19602,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"hdi" = ( +/obj/machinery/door/airlock{ + name = "Unit B"; + id_tag = "Toilet3" + }, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "hdo" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -19339,13 +19618,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hdz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/mess) "hdB" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -19368,19 +19640,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/bridge) -"hdI" = ( -/obj/structure/table/wood, -/obj/item/pai_card, -/obj/item/storage/crayons, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) "hdQ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -19397,17 +19656,18 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"hdZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"hed" = ( +"hdW" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ - dir = 8 + dir = 1 }, -/turf/open/floor/wood, -/area/station/service/chapel) +/turf/open/floor/wood/tile, +/area/station/service/bar) +"hea" = ( +/obj/machinery/space_heater, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "hei" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -19421,6 +19681,22 @@ "hem" = ( /turf/closed/wall, /area/station/hallway/primary/fore) +"hes" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/commons/storage/tools) +"hez" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "heB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box/red/corners, @@ -19461,15 +19737,6 @@ dir = 1 }, /area/station/command/gateway) -"heN" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "heT" = ( /obj/structure/table, /obj/machinery/airalarm/directional/west, @@ -19498,24 +19765,28 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"heY" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/computer/security, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/turf/open/floor/iron, -/area/station/security/warden) "hfc" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hfm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/obj/structure/lattice, -/turf/open/misc/asteroid/airless, -/area/space/nearstation) +"hfk" = ( +/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) "hfC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19526,6 +19797,12 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hfG" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "hfI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19535,6 +19812,15 @@ }, /turf/open/floor/wood/tile, /area/station/tcommsat/server) +"hfX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/cold/directional/west, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "hfZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/side{ @@ -19599,21 +19885,21 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"hgH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "hgP" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"hgR" = ( +/obj/machinery/door/airlock/silver{ + name = "Showers"; + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/commons/dorms) "hgY" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -19640,6 +19926,11 @@ /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/open/floor/iron/textured_half, /area/station/security/checkpoint/customs) +"hhj" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "hhk" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/pdapainter{ @@ -19652,7 +19943,8 @@ "hhl" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "sci-entrance" @@ -19660,12 +19952,25 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hhr" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ +"hho" = ( +/obj/structure/mirror/directional/east, +/obj/structure/chair/stool/bar/directional/east, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) +"hhy" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ dir = 4 }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "hhL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19677,15 +19982,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"hhT" = ( -/obj/structure/steam_vent, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "hic" = ( /obj/machinery/holopad, /turf/open/floor/wood/large, /area/station/command/corporate_suite) +"hid" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "hiq" = ( /obj/structure/closet{ name = "Evidence Closet 1" @@ -19709,18 +20021,15 @@ /turf/open/floor/iron/small, /area/station/security/office) "hiK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/bot{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"hiU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) +/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) "hiV" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -19736,6 +20045,24 @@ dir = 1 }, /area/station/engineering/lobby) +"hjl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"hjr" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "hjx" = ( /obj/structure/bed/medical/emergency, /obj/effect/turf_decal/stripes/line{ @@ -19752,6 +20079,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) +"hjB" = ( +/obj/effect/turf_decal/tile/neutral/full, +/obj/structure/table/glass, +/obj/item/food/taco/fish{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/food/taco{ + pixel_y = 2; + pixel_x = -2 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) "hjQ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral{ @@ -19759,12 +20099,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"hkd" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/main) "hkk" = ( /obj/machinery/computer/records/medical{ dir = 4 @@ -19786,6 +20120,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/command/gateway) +"hks" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/iron, +/area/station/engineering/hallway) "hkt" = ( /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/siding/white{ @@ -19796,6 +20139,17 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) +"hku" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Study" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "hky" = ( /obj/item/kirbyplants/organic/applebush, /obj/effect/turf_decal/tile/red{ @@ -19804,13 +20158,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"hkA" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/structure/rack, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) "hkB" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -19848,6 +20195,15 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark, /area/station/science/lab) +"hkV" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "hkW" = ( /obj/structure/closet/crate/goldcrate, /obj/effect/turf_decal/bot_white/right, @@ -19855,19 +20211,29 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"hlC" = ( -/obj/effect/spawner/structure/window, -/obj/effect/turf_decal/bot{ +"hkX" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/turf/open/floor/plating, -/area/station/engineering/main) -"hlE" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ +/obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/area/station/hallway/primary/port) +"hkZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/port/greater) +"hln" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hlJ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -19876,22 +20242,27 @@ name = "Ordnance Storage" }, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"hlX" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Old Command Hallway" +"hlT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/turf/open/floor/iron/textured_half, -/area/station/maintenance/hallway/abandoned_command) +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "hmb" = ( /obj/structure/disposalpipe/trunk{ dir = 4 }, /obj/effect/turf_decal/bot, /obj/machinery/disposal/bin, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) "hmf" = ( @@ -19919,51 +20290,41 @@ /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, -/area/station/maintenance/solars/port/aft) -"hmn" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/hallway/primary/central/aft) -"hmt" = ( -/obj/structure/closet/crate, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/effect/spawner/random/contraband/prison, -/obj/effect/spawner/random/contraband/prison, -/turf/open/floor/iron, -/area/station/security/prison/work) -"hmC" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 +"hmo" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/screwdriver, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/service/chapel) -"hmH" = ( -/obj/effect/spawner/xmastree, -/obj/structure/flora/tree/jungle/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"hmK" = ( -/obj/machinery/door/airlock/wood{ - name = "Bar Backroom" +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"hmr" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) +"hmx" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, /obj/structure/cable, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"hmC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/service/bar/backroom) +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "hmQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table, @@ -19985,6 +20346,19 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) +"hmZ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hnf" = ( /obj/item/bikehorn/rubberducky{ pixel_x = -6; @@ -19996,13 +20370,35 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"hnn" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 +"hnw" = ( +/obj/structure/closet/lasertag/red, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"hny" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + initialize_directions = 8 }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"hnH" = ( /obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/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/commons/vacant_room/commissary) +/area/station/hallway/primary/central/aft) "hnO" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -20043,16 +20439,10 @@ }, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"hoc" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +"hoh" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "hok" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -20069,6 +20459,10 @@ "hop" = ( /turf/closed/wall, /area/station/service/chapel/funeral) +"hot" = ( +/obj/effect/landmark/navigate_destination/dockescpod, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "hoG" = ( /obj/structure/cable, /obj/effect/landmark/start/scientist, @@ -20117,6 +20511,19 @@ }, /turf/open/floor/grass, /area/station/medical/virology) +"hpA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"hpH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/bar) "hpM" = ( /obj/effect/turf_decal/siding, /turf/open/floor/iron/white, @@ -20145,11 +20552,6 @@ dir = 8 }, /area/station/science/lobby) -"hqH" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/cup/watering_can/wood, -/turf/open/floor/plating, -/area/station/maintenance/starboard/greater) "hqM" = ( /obj/structure/toiletbong{ dir = 1 @@ -20162,6 +20564,16 @@ "hqS" = ( /turf/closed/wall, /area/station/security/prison/work) +"hqU" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hqW" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -20170,20 +20582,32 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) -"hrc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +"hrh" = ( +/mob/living/basic/frog, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/rock/pile/jungle/style_4, +/obj/structure/flora/bush/flowers_pp/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) +"hri" = ( +/obj/structure/cable, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"hrl" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/west, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" +/area/station/hallway/primary/central/fore) +"hrn" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /turf/open/floor/iron, -/area/station/service/kitchen) +/area/station/commons/fitness/locker_room) "hrx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20215,7 +20639,9 @@ /area/station/security/checkpoint/customs) "hrE" = ( /obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, @@ -20233,6 +20659,13 @@ }, /turf/open/space/basic, /area/space/nearstation) +"hrN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/storage/art) "hrO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20261,6 +20694,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/small, /area/station/hallway/primary/fore) +"hsg" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) +"hsm" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) "hss" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20268,14 +20709,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"hsx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/vending/boozeomat, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "hsC" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -20288,13 +20721,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"hsH" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "hsJ" = ( /obj/docking_port/stationary/mining_home, /obj/effect/turf_decal/stripes/white/line, @@ -20315,16 +20741,36 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/security/tram) -"htg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ +"htf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 }, -/obj/machinery/firealarm/directional/south, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/iron, /area/station/engineering/atmos) -"htp" = ( -/turf/closed/wall, -/area/station/service/barber) +"htu" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"htJ" = ( +/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/plating, +/area/station/maintenance/central/greater) "htM" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -20345,17 +20791,30 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/processing) -"htN" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 +"htP" = ( +/obj/structure/cable, +/obj/structure/chair{ + dir = 1; + pixel_y = -2 }, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/area/station/science/lower) "hua" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"hug" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/research/glass{ + name = "Genetics" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/genetics, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "huh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20366,20 +20825,18 @@ /obj/item/pickaxe, /obj/item/wrench, /obj/item/radio/off, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"huj" = ( +"hun" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "hur" = ( /obj/structure/table/glass, /obj/item/storage/briefcase/secure, @@ -20408,18 +20865,14 @@ }, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"huY" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/port/aft) "hvc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/door/airlock/maintenance_hatch{ - name = "AISat Maintenance" + name = "AISat Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -20430,11 +20883,36 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/maint) +"hvs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"hvw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "hvx" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/machinery/light/small/directional/north, /turf/open/floor/grass, /area/station/medical/virology) +"hvA" = ( +/obj/machinery/light/no_nightlight/directional/east, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/east, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "hvT" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt/dust, @@ -20460,18 +20938,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/tram) -"hvX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/tcommsat/server) -"hwh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"hwm" = ( +/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/thinplating{ dir = 4 }, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "hwn" = ( /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/showroomfloor, @@ -20519,6 +20994,11 @@ "hwJ" = ( /turf/closed/wall/rust, /area/space/nearstation) +"hwN" = ( +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/iron/white/small, +/area/station/maintenance/port/aft) "hwZ" = ( /obj/structure/chair/bronze{ dir = 8 @@ -20537,21 +21017,12 @@ }, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"hxp" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/storage/box{ - pixel_x = -8; - pixel_y = 15 +"hxl" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) +/turf/closed/wall/r_wall, +/area/station/maintenance/department/engine/atmos) "hxA" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -20560,6 +21031,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"hxO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "hxQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -20571,7 +21048,6 @@ dir = 9 }, /obj/effect/turf_decal/tile/yellow/diagonal_centre, -/obj/machinery/light/small/directional/west, /obj/structure/cable, /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/diagonal, @@ -20606,21 +21082,20 @@ "hyE" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) +"hyN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hyO" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hyW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, +"hyP" = ( +/turf/open/misc/dirt/station, /area/station/service/chapel) "hyX" = ( /obj/structure/window/spawner/directional/north, @@ -20629,38 +21104,54 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/grass, /area/station/security/prison/garden) -"hzb" = ( -/obj/structure/cable, -/obj/item/radio/intercom/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark/herringbone, -/area/station/ai_monitored/command/nuke_storage) "hzm" = ( /turf/closed/wall/rust, /area/station/cargo/miningoffice) -"hzp" = ( +"hzt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/obj/machinery/door/airlock/research{ + name = "Augment Corridor" }, +/obj/effect/mapping_helpers/airlock/access/all/science/robotics, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/augments) +"hzG" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 5 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/navigate_destination/lawyer, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/hallway/secondary/recreation) +"hzJ" = ( +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = -11 + }, +/obj/structure/flora/rock/pile/jungle/style_5, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/recreation/entertainment) "hzK" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"hzO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +"hzU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "hzV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -20673,6 +21164,22 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/cargo/miningoffice) +"hAk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 4 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"hAl" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hAu" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -20681,12 +21188,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hAB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "hAC" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/small, @@ -20711,51 +21212,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"hAW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"hBh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table, -/obj/item/storage/box/lights/mixed{ - pixel_x = -20; - pixel_y = -2 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 5; - pixel_y = 1 +"hBa" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/small, -/area/station/service/janitor) +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/central) "hBi" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "Air to External Air Ports" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/corner{ +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/wood, /area/station/engineering/atmos/pumproom) "hBq" = ( @@ -20769,16 +21238,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/plating, /area/station/commons/storage/tools) -"hBt" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/structure/cable, +"hBx" = ( +/obj/structure/closet/secure_closet/personal, +/obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, -/area/station/hallway/primary/fore) +/area/station/commons/fitness/locker_room) "hBA" = ( /obj/structure/cable, /obj/effect/spawner/structure/window, @@ -20789,6 +21253,12 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) +"hBH" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/commons/storage/art) "hBR" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -20807,28 +21277,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"hBX" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"hCd" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/mob/living/simple_animal/bot/secbot/beepsky/officer, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security) -"hCl" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/prison/work) "hCq" = ( /obj/effect/decal/cleanable/glass/titanium, /obj/structure/closet/crate, @@ -20838,33 +21286,18 @@ "hCr" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) -"hCB" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/commons/storage/art) -"hCH" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"hCI" = ( +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, -/area/station/maintenance/fore/lesser) -"hCN" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/maintenance/disposal/incinerator) "hCQ" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/aft) -"hCT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"hCU" = ( +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) "hCX" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -20880,13 +21313,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hDd" = ( -/obj/machinery/power/energy_accumulator/grounding_rod/anchored, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "hDg" = ( /obj/structure/chair/stool/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -20913,13 +21339,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) -"hDu" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 - }, -/obj/machinery/power/emitter, -/turf/open/floor/iron/dark/small, -/area/station/engineering/storage_shared) "hDz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash, @@ -20932,6 +21351,12 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/eva) +"hDD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "hDN" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -20970,22 +21395,16 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/eva) -"hEu" = ( -/obj/structure/cable, +"hEq" = ( +/obj/machinery/door/morgue{ + name = "Private Study"; + req_access = list("library"); + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"hEw" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/small/directional/east, -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/central/greater) "hED" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -20993,9 +21412,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"hEJ" = ( -/turf/open/floor/iron/smooth, -/area/station/service/library) "hFb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -21004,24 +21420,30 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"hFd" = ( -/obj/structure/rack, -/obj/item/clothing/neck/petcollar, -/obj/item/flashlight/flare/candle{ - pixel_x = 10 +"hFo" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/dim/directional/east, +/obj/machinery/newscaster/directional/east, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 19 }, -/obj/item/flashlight/flare/candle{ - pixel_x = 8; +/obj/item/pen{ + pixel_x = 5; + pixel_y = 20 + }, +/obj/machinery/cell_charger{ + pixel_x = 2; pixel_y = 1 }, -/obj/item/screwdriver{ - pixel_y = 9 +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 2; + pixel_y = 2 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "hFp" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -21029,6 +21451,7 @@ /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/start/hangover, +/obj/structure/sign/directions/medical/southeast_arrow/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) "hFx" = ( @@ -21042,6 +21465,14 @@ }, /turf/open/floor/iron/corner, /area/station/engineering/main) +"hFB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/caution/stand_clear, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hFC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21055,13 +21486,17 @@ /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"hFO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "hGb" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) +"hGc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/library) "hGn" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/rust, @@ -21074,16 +21509,20 @@ }, /turf/open/floor/wood, /area/station/engineering/main) -"hGr" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/tcommsat/server) "hGt" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"hGu" = ( +/obj/structure/flora/grass/jungle/b/style_3, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/grass, +/area/station/service/chapel) "hGE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -21091,21 +21530,75 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/medical/medbay/central) +"hGG" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"hHa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"hHd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "atmospherics - turbine" + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "hHf" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ pixel_x = -2; pixel_y = 6 }, -/obj/structure/sign/departments/telecomms/directional/south, /turf/open/floor/iron, /area/station/science/lobby) -"hHy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"hHl" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 }, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/machinery/light/small/directional/south, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) +"hHp" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/iron, +/area/station/service/kitchen) +"hHr" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"hHA" = ( +/obj/machinery/processor{ + pixel_y = 6 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/table, +/obj/effect/turf_decal/siding/end, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "hHE" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/engine, @@ -21118,12 +21611,36 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"hHG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "hHH" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"hHL" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + name = "Door Bolt Control"; + id = "commiss2"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "hHV" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/lattice/catwalk, @@ -21132,18 +21649,30 @@ }, /turf/open/space/basic, /area/space/nearstation) -"hIi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"hHW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) -"hIm" = ( -/obj/machinery/libraryscanner, -/obj/machinery/camera/autoname/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"hIc" = ( /obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"hIn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "hIE" = ( /obj/structure/table/glass, /obj/machinery/light/small/directional/east, @@ -21154,6 +21683,26 @@ /obj/item/hemostat, /turf/open/floor/iron/white, /area/station/science/robotics/augments) +"hIY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"hJg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "hJp" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/turret_protected/ai) @@ -21216,12 +21765,12 @@ /obj/structure/sign/warning/no_smoking/circle/directional/east, /turf/open/floor/iron/white, /area/station/science/robotics/augments) -"hKf" = ( -/obj/machinery/light/small/directional/south{ - dir = 4 - }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) +"hKp" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/assembly/mousetrap/armed, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "hKs" = ( /obj/effect/turf_decal/box/corners, /obj/effect/turf_decal/stripes/white/line{ @@ -21244,29 +21793,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"hKT" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) -"hKU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/small, -/area/station/security/detectives_office) -"hKV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"hKS" = ( +/obj/structure/cable, +/obj/item/kirbyplants/organic/applebush, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) "hKX" = ( /turf/closed/mineral/random/stationside, /area/station/hallway/primary/fore) -"hKZ" = ( -/obj/structure/flora/bush/jungle/a/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "hLa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21275,10 +21810,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"hLb" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "hLc" = ( /turf/open/floor/plating, /area/station/science/xenobiology) @@ -21286,12 +21817,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/office) -"hLx" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "hLD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/tank/air{ @@ -21302,6 +21827,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hLE" = ( +/obj/structure/table, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "hLS" = ( /obj/machinery/portable_atmospherics/canister, /obj/effect/turf_decal/stripes/line{ @@ -21322,9 +21859,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ - name = "Docking Corridor" + name = "Docking Corridor"; + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half{ dir = 8 }, @@ -21369,39 +21909,23 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"hML" = ( -/obj/effect/landmark/start/hangover, -/turf/open/floor/glass, -/area/station/hallway/primary/central/aft) -"hMQ" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - initialize_directions = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 +"hMM" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"hNa" = ( +/obj/structure/chair/wood{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) -"hMX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) "hNb" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"hNj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "hNo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -21410,13 +21934,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hNq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "hNv" = ( /obj/machinery/netpod, /obj/machinery/light_switch/directional/north, @@ -21439,12 +21956,12 @@ /obj/item/clothing/head/utility/welding, /turf/open/floor/iron, /area/station/medical/chemistry) -"hNP" = ( -/obj/item/storage/backpack/duffelbag/sec{ - pixel_y = 12 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) +"hNL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hNY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -21481,9 +21998,12 @@ dir = 1 }, /area/station/security/execution/transfer) -"hOO" = ( -/obj/structure/flora/tree/jungle/small/style_4, -/turf/open/floor/grass, +"hOQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, /area/station/service/chapel) "hOX" = ( /obj/item/chair, @@ -21491,17 +22011,13 @@ /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) "hOY" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) -"hPb" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fore Primary Hallway" + }, +/turf/open/floor/iron/textured_half, +/area/station/hallway/primary/central/fore) "hPd" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/brown{ @@ -21536,23 +22052,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"hPp" = ( +/obj/structure/closet/secure_closet/evidence, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/iron/smooth, +/area/station/security/evidence) "hPs" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/airalarm/directional/south, /turf/open/floor/engine, /area/station/engineering/gravity_generator) -"hPU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/side{ - dir = 5 - }, -/area/station/science/xenobiology) "hPW" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ - name = "Solar Maintenance" + name = "Solar Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -21567,31 +22081,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/circuit, /area/station/tcommsat/server) -"hQs" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) -"hQx" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "hQz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -21618,29 +22107,12 @@ /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hQG" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/bot{ - dir = 1 +"hQI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 }, /turf/open/floor/iron, -/area/station/engineering/atmos) -"hRc" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/structure/closet/crate/wooden/toy, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) +/area/station/engineering/atmos/project) "hRd" = ( /obj/structure/table/reinforced, /obj/item/binoculars, @@ -21673,6 +22145,12 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"hSA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "hSK" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/white{ @@ -21696,21 +22174,62 @@ }, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) +"hTc" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"hTg" = ( +/turf/closed/wall/r_wall/rust, +/area/station/maintenance/disposal/incinerator) +"hTk" = ( +/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{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "hTr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance{ - name = "Atmospherics Maintenance" + name = "Atmospherics Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/abandoned, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hTz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"hTu" = ( +/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, +/turf/open/floor/iron/grimy, +/area/station/service/janitor) "hTD" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 6 @@ -21719,12 +22238,38 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"hTE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"hTH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "hTL" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/spawner/random/structure/crate_loot, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"hTM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "hTW" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/vehicle/ridden/janicart, @@ -21743,40 +22288,20 @@ /obj/structure/table/glass, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"hUC" = ( -/obj/structure/toilet, -/obj/machinery/light/small/directional/north, -/obj/machinery/button/door/directional/east{ - id = "ShowerToilet1"; - name = "Lock Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) -"hUH" = ( +"hUD" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "hUI" = ( /obj/structure/table, /obj/item/storage/belt/utility, /obj/item/radio/off, /turf/open/floor/iron/smooth, /area/station/command/gateway) -"hUO" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Lockers" - }, -/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/textured_half, -/area/station/commons/fitness/locker_room) "hVb" = ( /obj/machinery/plate_press, /obj/effect/turf_decal/stripes/line, @@ -21790,15 +22315,6 @@ /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"hVk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron, -/area/station/commons/storage/tools) "hVo" = ( /obj/machinery/smartfridge/organ, /obj/effect/turf_decal/trimline/blue/corner{ @@ -21814,15 +22330,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"hVz" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) -"hVJ" = ( -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +"hVE" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/space/basic, +/area/space/nearstation) "hVM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21837,14 +22349,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"hVO" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/south, -/obj/structure/flora/bush/flowers_yw, -/obj/machinery/camera/directional/south, -/turf/open/floor/grass, -/area/station/service/chapel) "hVX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -21864,25 +22368,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, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"hWk" = ( -/obj/machinery/vending/coffee, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"hWm" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "hWu" = ( /obj/machinery/door/airlock/medical{ name = "CMO Bedroom" @@ -21890,20 +22375,18 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) -"hWE" = ( -/obj/machinery/button/door/directional/east{ - id = "AuxToilet2"; - name = "Lock Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/structure/toilet, -/obj/machinery/light/small/directional/west, -/obj/effect/spawner/random/trash/soap{ - spawn_scatter_radius = 1 +"hWv" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/computer/security/telescreen/test_chamber/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) +/area/station/science/xenobiology) +"hWE" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "hWJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -21913,14 +22396,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/security) -"hWL" = ( -/obj/effect/turf_decal/weather/snow, -/obj/effect/turf_decal/weather/snow/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "hWU" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -21931,13 +22406,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"hXc" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/main) "hXf" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Hull Breach Emergency Storage" @@ -21955,15 +22423,6 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/white/small, /area/station/medical/medbay/central) -"hXv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "hXU" = ( /turf/closed/wall, /area/station/security/execution/education) @@ -21989,12 +22448,24 @@ /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) "hYh" = ( -/obj/structure/flora/bush/jungle/c/style_3, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +/obj/machinery/light/no_nightlight/directional/west, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"hYi" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/landmark/start/cyborg, +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload Turret Control" }, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/machinery/status_display/ai/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "hYn" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -22006,6 +22477,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"hYv" = ( +/obj/structure/table, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "hYw" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, @@ -22014,6 +22489,11 @@ "hYC" = ( /turf/closed/wall, /area/station/engineering/atmos) +"hYI" = ( +/obj/machinery/power/emitter/welded, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "hYK" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -22074,18 +22554,39 @@ /obj/machinery/brm, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"hZn" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) +"hZI" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "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) +"hZS" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Cooling Loop Bypass" + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hZT" = ( /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/security/general, /obj/machinery/door/airlock/security{ - name = "Prison Transfer Tram" + name = "Prison Transfer Tram"; + dir = 1 }, /turf/open/floor/iron, /area/station/security/tram) @@ -22114,6 +22615,27 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) +"ias" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"iau" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "iaw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22125,13 +22647,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"iaB" = ( -/obj/machinery/computer/turbine_computer{ - mapping_id = "main_turbine" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "iaH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22166,6 +22681,37 @@ dir = 8 }, /area/station/maintenance/starboard/greater) +"iaN" = ( +/turf/open/floor/stone, +/area/station/service/chapel) +"iaZ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/stack/sheet/plasteel/fifty, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/rglass/fifty, +/obj/item/storage/medkit/fire{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_y = 9 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) +"ibd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "ibe" = ( /obj/effect/turf_decal/bot_white, /obj/structure/closet/crate/freezer, @@ -22181,6 +22727,18 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"ibC" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/siding/green{ + dir = 9 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "ibD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -22193,13 +22751,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"ibF" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) "ibI" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 8 @@ -22210,20 +22761,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"ibP" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) -"ibX" = ( -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "icc" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -22242,6 +22779,13 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"ick" = ( +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = -7; + pixel_y = 10 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "ico" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -22249,22 +22793,30 @@ /turf/open/floor/wood, /area/station/hallway/secondary/entry) "icF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"icN" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 + dir = 8 }, /obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"icG" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "icT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22283,14 +22835,6 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"idd" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "ide" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22305,6 +22849,18 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ido" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "idp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22318,20 +22874,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"ids" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - name = "Door Bolt Control"; - id = "commiss2"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "idt" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -22343,7 +22885,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security/glass{ - name = "Secure Gear Storage" + name = "Secure Gear Storage"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ @@ -22391,11 +22934,46 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"iec" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=23.1-Evac"; + location = "22.0-Porthall-Evac" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "ief" = ( /obj/structure/cable, /obj/machinery/telecomms/message_server/preset, /turf/open/floor/circuit, /area/station/tcommsat/server) +"ieu" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"ieN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/storage/art) +"ieW" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/closet/l3closet/janitor, +/obj/item/clothing/gloves/color/orange, +/obj/item/clothing/shoes/galoshes, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/small, +/area/station/service/janitor) "ieY" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, @@ -22412,40 +22990,15 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"ifg" = ( -/obj/structure/chair/sofa/bench/right, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/white, -/area/station/science/cytology) -"ifl" = ( -/obj/structure/cable, +"ifC" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/trash, -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/maintenance/port/greater) -"ifu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"ifH" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/aft) +/area/station/commons/fitness/recreation/entertainment) "ifI" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -22470,6 +23023,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"ifP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "ifU" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -22478,24 +23041,29 @@ dir = 1 }, /area/station/science/lobby) +"ifZ" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/library) +"igh" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "igr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"igs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/obj/effect/landmark/start/security_officer, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/security/office) "igD" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -22503,10 +23071,12 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"ihb" = ( -/obj/effect/spawner/random/trash, +"igN" = ( +/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) +/area/station/maintenance/central/greater) "ihc" = ( /obj/structure/cable, /obj/machinery/door/airlock/command/glass{ @@ -22516,12 +23086,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/teleporter, /turf/open/floor/iron/dark/textured_half, /area/station/command/teleporter) -"ihd" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "ihh" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -22573,17 +23137,36 @@ "iht" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_dock) -"ihv" = ( -/obj/structure/bed/maint, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/eighties/red, -/area/station/service/abandoned_gambling_den/gaming) +"ihz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/commons/fitness/recreation/entertainment) "ihC" = ( /obj/structure/bodycontainer/morgue{ dir = 1 }, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) +"ihK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"ihR" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "ihZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22605,6 +23188,10 @@ /obj/effect/turf_decal/loading_area, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"iit" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "iix" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -22615,50 +23202,45 @@ }, /turf/open/space/basic, /area/space) -"iiE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/obj/structure/cable, -/obj/effect/mapping_helpers/airalarm/link{ - chamber_id = "engine" - }, -/obj/effect/mapping_helpers/airalarm/engine_access, -/obj/effect/mapping_helpers/airalarm/tlv_no_checks, -/obj/machinery/meter, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering Supermatter Port" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"iiI" = ( -/obj/structure/table/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters{ - id = "meow"; - name = "Commissary" - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) +"iiU" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/server) "iiW" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) -"iiX" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) -"ijk" = ( -/obj/structure/disposalpipe/segment, +"ijj" = ( +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"ijz" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) +"ijl" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/airalarm/directional/north, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"ijp" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/starboard/fore) "ijB" = ( /obj/machinery/atmospherics/components/trinary/mixer/flipped{ dir = 8 @@ -22675,7 +23257,8 @@ /area/station/ai_monitored/turret_protected/aisat/maint) "ijI" = ( /obj/machinery/door/airlock/external{ - name = "Primary Docking Bay" + name = "Primary Docking Bay"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -22710,29 +23293,36 @@ /area/station/maintenance/starboard/fore) "ikl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/security/glass{ - name = "Gear Room" + name = "Gear Room"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ dir = 8 }, /area/station/security/lockers) +"ikp" = ( +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/end, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "ikr" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 }, /turf/open/floor/plating, /area/station/cargo/miningoffice) -"ikC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "ikH" = ( /obj/structure/table/bronze, /obj/machinery/computer/security/wooden_tv{ @@ -22763,32 +23353,11 @@ }, /turf/open/floor/plating, /area/station/cargo/miningoffice) -"ile" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "ill" = ( /obj/structure/frame/machine, /obj/item/circuitboard/computer/security, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"ilo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "ilw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22796,27 +23365,6 @@ dir = 4 }, /area/station/science/research) -"ilx" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/end{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) -"ily" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/plumbing/input{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/cytology) "ilz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt/dust, @@ -22828,27 +23376,39 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"ilE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) -"ilT" = ( -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Access" +"ilH" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/engineering/atmos) +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "ilW" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"ime" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/dim/directional/north, +/obj/item/reagent_containers/cup/glass/bottle/vodka{ + pixel_y = 18; + pixel_x = -8 + }, +/obj/item/reagent_containers/cup/glass/bottle/rum{ + pixel_y = 21; + pixel_x = 3 + }, +/obj/item/reagent_containers/cup/glass/bottle/whiskey{ + pixel_y = 11 + }, +/obj/item/reagent_containers/cup/glass/bottle/gin{ + pixel_x = -6 + }, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "imj" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "permaouter"; @@ -22863,44 +23423,18 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron, /area/station/security/tram) -"imI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"imO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "ina" = ( /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"ind" = ( -/obj/machinery/light/floor, -/obj/structure/flora/bush/flowers_br, -/turf/open/floor/grass, -/area/station/hallway/primary/central/fore) -"inh" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 +"inA" = ( +/obj/machinery/door/airlock/external/glass{ + name = "ATMOS PROJECT Airlock" }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "inR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22914,18 +23448,6 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"inU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) -"ioa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar) "iob" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22939,29 +23461,31 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/white/small, /area/station/medical/treatment_center) -"ioz" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/dorms) -"ioQ" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 1 +"ioA" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair/office{ + dir = 4 }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "atmospherics - entrance" +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) +/area/station/command/heads_quarters/rd) "ioR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/west, /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/iron/white, /area/station/science/cytology) +"ioV" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "ioW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22972,23 +23496,19 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/security/execution/transfer) +"ioZ" = ( +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "ipb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"ipc" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/bed/dogbed/mcgriff, -/mob/living/basic/pet/dog/pug/mcgriff, -/turf/open/floor/iron, -/area/station/security/warden) "ipd" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/button/door/directional/east{ @@ -23011,29 +23531,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) -"ipj" = ( -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) -"ipp" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"ipq" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange, -/turf/open/space/basic, -/area/space/nearstation) -"ipr" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/closet/wardrobe/miner, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "ips" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23045,15 +23542,25 @@ dir = 8 }, /area/station/command/bridge) -"ipt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"ipw" = ( +/obj/structure/flora/bush/flowers_yw/style_3{ + pixel_y = -3 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/structure/flora/bush/flowers_br/style_random{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/structure/flora/bush/flowers_pp{ + pixel_y = -5; + pixel_x = -3 + }, +/obj/machinery/light/floor, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "ipx" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -23082,12 +23589,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"ipN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "ipP" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/stripes/corner{ @@ -23097,26 +23598,33 @@ /obj/effect/spawner/random/trash/janitor_supplies, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"iqi" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = 6; - pixel_y = 15 +"iqa" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1"; + pixel_y = -15 }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = -5; - pixel_y = 15 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = 2; - pixel_y = 9 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = -7; - pixel_y = 9 +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"iqf" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "iqj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -23168,18 +23676,42 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"iqO" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"iqT" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Dorms" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/commons/dorms) +"iqV" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Waste" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "ira" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/small, /area/station/security/tram) -"irc" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, +"ire" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/maintenance/disposal/incinerator) "iri" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23193,6 +23725,10 @@ dir = 8 }, /area/station/command/heads_quarters/hop) +"irl" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "irp" = ( /obj/machinery/door/airlock/external{ name = "Tram Maintenance" @@ -23210,6 +23746,21 @@ /obj/structure/closet/toolcloset, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"irF" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/engineering/break_room) +"irL" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "irQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23217,13 +23768,6 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/hop) -"irR" = ( -/obj/machinery/power/energy_accumulator/grounding_rod/anchored, -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "isi" = ( /obj/structure/table, /obj/effect/turf_decal/siding/thinplating_new{ @@ -23236,22 +23780,7 @@ "isj" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"ist" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/lobby) -"isC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) -"isD" = ( +"iso" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, @@ -23262,6 +23791,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"ist" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/lobby) "isI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23271,20 +23805,10 @@ dir = 1 }, /area/station/command/gateway) -"isK" = ( -/obj/structure/sign/directions/evac{ - dir = 8 - }, -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/science{ - dir = 4; - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/hallway/primary/port) +"isN" = ( +/obj/machinery/air_sensor/engine_chamber, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "isQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23301,13 +23825,6 @@ "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 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green, -/turf/open/floor/iron, -/area/station/engineering/atmos) "itw" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -23358,12 +23875,11 @@ /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) "iua" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/obj/machinery/air_sensor/incinerator_tank, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "iuc" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "AISat Maintenance" @@ -23386,18 +23902,10 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iuF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/cargo/boutique) -"iuR" = ( -/turf/closed/wall/r_wall, -/area/station/hallway/primary/central/aft) +"iuC" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "iuW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, @@ -23414,16 +23922,10 @@ /turf/open/floor/wood, /area/station/maintenance/starboard/greater) "ivh" = ( -/obj/structure/cable, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/trash, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, -/area/station/maintenance/port/greater) +/area/station/maintenance/starboard/central) "ivk" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -23441,14 +23943,14 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"ivs" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 +"ivo" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "O2 to Airmix" }, -/obj/structure/railing/corner{ +/obj/machinery/light/no_nightlight/directional/north, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ dir = 4 }, -/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) "ivz" = ( @@ -23483,23 +23985,35 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"iwt" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "iwz" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"iwR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ +"iwH" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/dorms) +"iwO" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"ixk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) "ixl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23508,14 +24022,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) +"ixp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "ixz" = ( /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/solars/port/aft) -"ixG" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) "ixM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23524,14 +24041,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ixT" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple/corner, -/turf/open/floor/iron/dark, -/area/station/science/genetics) +"ixO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/hallway/primary/central/aft) "ixU" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -23555,6 +24071,15 @@ }, /turf/open/floor/plating, /area/station/security/brig/entrance) +"iye" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "N2 to Pure" + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "iyn" = ( /obj/structure/railing/corner{ dir = 4 @@ -23574,86 +24099,41 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"iyr" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/light/cold/directional/north, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/science/ordnance/testlab) -"iyt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white/small, -/area/station/science/lab) -"iyC" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/machinery/dna_infuser, -/obj/item/infuser_book, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/genetics) -"iyR" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/floor/grass, -/area/station/service/chapel) -"izf" = ( -/obj/structure/sign/warning/engine_safety/directional/north, -/obj/machinery/light/cold/dim/directional/north, -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) -"izh" = ( -/obj/item/shovel, -/turf/open/floor/plating, -/area/station/maintenance/department/prison) -"izk" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet1"; - name = "Unit 1" - }, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) -"izo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/grunge{ - name = "Vacant Comissary" - }, -/turf/open/floor/iron/textured_half{ - dir = 1 +"iyC" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 4 }, -/area/station/maintenance/central/lesser) -"izu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/dna_infuser, +/obj/item/infuser_book, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"izA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/genetics) +"iyH" = ( +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) +"iyP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/table/glass, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) +"iyS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/area/station/engineering/atmos/project) +"izw" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "izD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23671,24 +24151,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/storage/gas) -"izF" = ( -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) -"izP" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "iAk" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -23696,27 +24158,14 @@ /obj/machinery/field/generator, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) -"iAu" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/effect/spawner/random/bedsheet{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4; - id = "Cabin1" +"iAm" = ( +/obj/machinery/computer/cargo{ + dir = 1 }, -/turf/open/floor/carpet/orange, -/area/station/commons/dorms) -"iAv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/obj/machinery/computer/security/telescreen/vault/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "iAy" = ( /obj/structure/table, /obj/item/clothing/shoes/sneakers/orange{ @@ -23737,23 +24186,45 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"iAA" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "iAD" = ( /obj/machinery/door/poddoor/shutters{ dir = 8; id = "mechbay"; name = "Mech Bay Shutters" }, -/obj/machinery/button/door/directional/north{ - id = "mechbay"; - name = "Mech Bay Shutters Control"; - req_access = list("robotics") - }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/science/robotics/mechbay) +"iAH" = ( +/obj/structure/chair{ + name = "Defense" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/courtroom) "iAJ" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"iAL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "iAM" = ( /obj/effect/turf_decal/siding/wideplating/dark/corner{ dir = 1 @@ -23772,6 +24243,12 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) +"iBb" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix Outlet Pump" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "iBc" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 5 @@ -23798,15 +24275,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iBt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/bartender, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "iBu" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, @@ -23816,6 +24284,30 @@ /obj/structure/cable, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) +"iBI" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/effect/spawner/random/bedsheet{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "Cabin1" + }, +/turf/open/floor/carpet/orange, +/area/station/commons/dorms) +"iBN" = ( +/obj/effect/turf_decal/tile/neutral/full, +/obj/item/kirbyplants/random, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) +"iBS" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/project) "iBZ" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -23841,38 +24333,16 @@ }, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain) -"iCi" = ( -/obj/machinery/computer/security/telescreen/isolation/directional/north{ - name = "reflection room monitor" - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/east, -/obj/machinery/button/flasher{ - id = "IsolationFlash"; - pixel_x = 28; - pixel_y = 28 - }, -/turf/open/floor/iron/dark/small, -/area/station/security/execution/education) "iCj" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"iCq" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 4 +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/research/glass{ + name = "Genetics" }, -/turf/open/floor/iron, -/area/station/commons/dorms) +/obj/effect/mapping_helpers/airlock/access/all/science/genetics, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "iCw" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/yellow{ @@ -23886,13 +24356,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"iCx" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) "iCF" = ( /obj/structure/railing, /obj/structure/sign/poster/official/random/directional/north, @@ -23900,16 +24363,14 @@ dir = 8 }, /area/station/engineering/main) -"iCJ" = ( -/obj/structure/cable, +"iDd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/command{ - name = "Research Division Server Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/rd, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/server) +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "iDk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23919,7 +24380,8 @@ "iDt" = ( /obj/effect/mapping_helpers/airlock/access/any/security/general, /obj/machinery/door/airlock/security{ - name = "Holding Cell" + name = "Holding Cell"; + dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/central/lesser) @@ -23935,13 +24397,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white, /area/station/security/medical) -"iDA" = ( -/obj/structure/chair/comfy/black{ +"iDD" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/landmark/start/detective, -/turf/open/floor/wood, -/area/station/security/detectives_office) +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "iDH" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/chair/office/light{ @@ -23965,34 +24429,13 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "iDP" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/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/engineering/atmos) -"iEi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/airlock/public/glass{ - name = "Chapel Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/service/chapel/office) +/obj/structure/chair/stool/directional/east, +/turf/open/floor/carpet, +/area/station/commons/dorms) "iEk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/command/bridge) -"iEo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) "iEA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/north, @@ -24002,6 +24445,28 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/engine, /area/station/science/explab) +"iEC" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/hallway/primary/central/fore) +"iED" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "iEG" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/dark/side{ @@ -24033,40 +24498,24 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"iFm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 +"iFl" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 }, -/area/station/science/xenobiology) +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iFs" = ( /obj/structure/window/spawner/directional/east, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"iFB" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{ - dir = 1 - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) -"iFD" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L5"; - pixel_y = -15 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +"iFt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/turf/open/misc/asteroid/airless, +/area/space/nearstation) "iFE" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/office{ @@ -24084,7 +24533,8 @@ "iGp" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ - name = "Solar Maintenance" + name = "Solar Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -24092,19 +24542,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/solars/port/aft) -"iGq" = ( -/obj/effect/landmark/start/librarian, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"iGt" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "iGA" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -24115,53 +24552,11 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"iGM" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light/cold/dim/directional/east, -/obj/machinery/newscaster/directional/east, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 19 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 20 - }, -/obj/machinery/cell_charger{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 2; - pixel_y = 2 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) "iGO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iGS" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) -"iHa" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Gas to Cold Loop"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "iHg" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance/external{ @@ -24171,41 +24566,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"iHq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"iHv" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/ordnance/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/science/ordnance/testlab) "iHw" = ( /obj/effect/spawner/random/structure/barricade, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"iHz" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"iHE" = ( -/obj/structure/chair/office, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) +"iHI" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "iHM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24214,42 +24582,6 @@ dir = 1 }, /area/station/science/lower) -"iHT" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"iId" = ( -/obj/machinery/processor{ - pixel_y = 6 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/table, -/obj/effect/turf_decal/siding/end, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) -"iIs" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"iIv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "iIw" = ( /obj/structure/cable, /obj/item/wrench, @@ -24262,22 +24594,6 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/command/heads_quarters/hop) -"iIK" = ( -/obj/effect/turf_decal/bot, -/obj/structure/rack, -/obj/item/stack/sheet/plasteel/fifty, -/obj/item/stack/sheet/plastic/five, -/obj/item/stack/sheet/rglass/fifty, -/obj/item/storage/medkit/fire{ - pixel_x = 1; - pixel_y = 4 - }, -/obj/machinery/airalarm/directional/east, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_y = 9 - }, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) "iIN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24294,12 +24610,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"iIU" = ( -/obj/machinery/vending/wardrobe/det_wardrobe, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/security/telescreen/normal/directional/west, -/turf/open/floor/wood, -/area/station/security/detectives_office) "iIW" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -24315,14 +24625,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"iIZ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Dorms" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/commons/dorms) +"iIY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos) "iJb" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -24358,15 +24664,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/cargo/miningfoundry) -"iJq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 +"iJm" = ( +/obj/structure/table/reinforced, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters{ + id = "meow"; + name = "Commissary" }, /turf/open/floor/iron, -/area/station/commons/storage/tools) +/area/station/commons/vacant_room/commissary) "iJt" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -24395,6 +24701,14 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"iJC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "iJI" = ( /obj/structure/table/glass, /obj/item/folder/blue, @@ -24413,6 +24727,10 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) +"iJK" = ( +/obj/machinery/power/supermatter_crystal/engine, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "iJL" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 @@ -24430,6 +24748,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/small, /area/station/engineering/lobby) "iKe" = ( @@ -24441,6 +24760,12 @@ dir = 1 }, /area/station/command/heads_quarters/hop) +"iKf" = ( +/obj/machinery/computer/atmos_control/nitrous_tank, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) "iKm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24460,18 +24785,17 @@ /obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"iLe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"iKU" = ( +/obj/structure/closet/crate{ + name = "Materials Crate" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/iron/white/small, -/area/station/security/warden) -"iLh" = ( -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/smooth, -/area/station/service/library) +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/machinery/light/cold/dim/directional/west, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "iLp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24484,19 +24808,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"iLx" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) "iLA" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 5 }, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "iLC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24511,22 +24833,17 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 8 +/obj/structure/sign/directions/vault/southwest_arrow/directional/north{ + pixel_y = 24 }, -/area/station/hallway/primary/central/fore) -"iLH" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +/obj/machinery/light/small/directional/north, +/obj/structure/sign/directions/security/south_arrow/directional/north{ + pixel_y = 33 }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 +/turf/open/floor/iron/dark/side{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/area/station/hallway/primary/central/fore) "iLN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24546,12 +24863,6 @@ /obj/machinery/recharge_station, /turf/open/floor/plating, /area/station/maintenance/department/bridge) -"iLZ" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/circuit, -/area/station/maintenance/port/aft) "iMg" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/stripes/line{ @@ -24569,7 +24880,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/external{ - name = "Tram Maintenance" + name = "Tram Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -24577,6 +24889,27 @@ /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"iMm" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"iMt" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/chapel) +"iMB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "iMC" = ( /obj/machinery/flasher/portable, /turf/open/floor/plating, @@ -24625,6 +24958,14 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"iNs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/airalarm/directional/north, +/obj/item/wrench, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/white/small, +/area/station/science/server) "iNA" = ( /obj/machinery/light/cold/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -24632,31 +24973,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"iNC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/exit/departure_lounge) "iNE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iNF" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "iNO" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -24664,13 +24985,11 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/security/tram) -"iNS" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) +"iNU" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "iNV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -24688,7 +25007,9 @@ dir = 8 }, /obj/effect/mapping_helpers/airlock/access/all/command/captain, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/command/glass{ name = "Captain's Office" }, @@ -24696,6 +25017,46 @@ dir = 1 }, /area/station/command/heads_quarters/captain) +"iOb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_x = -20; + pixel_y = -2 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 5; + pixel_y = 1 + }, +/turf/open/floor/iron/small, +/area/station/service/janitor) +"iOc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "iOm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -24717,6 +25078,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"iOr" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/suit_storage_unit/cmo, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "iOs" = ( /obj/structure/table/wood/fancy/royalblue, /obj/effect/turf_decal/siding/wood{ @@ -24764,49 +25130,17 @@ }, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"iOL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark/side, -/area/station/science/xenobiology) -"iOM" = ( +"iOT" = ( /obj/structure/cable, -/obj/item/storage/bag/trash, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/security/prison/safe) -"iOY" = ( -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/structure/crate_abandoned, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) -"iPd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/commons/fitness/locker_room) "iPj" = ( /obj/structure/cable, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) -"iPn" = ( -/mob/living/simple_animal/bot/secbot/beepsky/armsky, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) -"iPy" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/prison/garden) "iPF" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -24821,6 +25155,22 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"iPR" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/vending/wardrobe/jani_wardrobe, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/small, +/area/station/service/janitor) +"iPS" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "iPU" = ( /mob/living/simple_animal/hostile/mimic/crate, /turf/open/floor/plating, @@ -24830,14 +25180,13 @@ /obj/structure/curtain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"iQi" = ( +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "iQl" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"iQp" = ( -/obj/structure/flora/bush/sparsegrass, -/turf/open/floor/grass, -/area/station/service/chapel) "iQr" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -24850,20 +25199,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark/side, /area/station/engineering/hallway) -"iQC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/elevatorshaft, -/area/station/commons/dorms) -"iQT" = ( -/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/white/small, -/area/station/service/janitor) "iQU" = ( /obj/structure/closet{ name = "janitorial supplies" @@ -24874,58 +25209,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) -"iQV" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) -"iRk" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/cytology) -"iRl" = ( -/obj/structure/table/wood, -/obj/item/food/grown/citrus/lemon{ - pixel_y = 12; - pixel_x = 4 - }, -/obj/item/food/grown/citrus/orange{ - pixel_y = 6; - pixel_x = -4 - }, -/obj/item/food/grown/citrus/lime{ - pixel_x = 3 - }, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) "iRz" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"iRE" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) -"iRQ" = ( -/obj/effect/turf_decal/weather/snow, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/food/meat/bacon, -/obj/item/food/meat/bacon, -/obj/item/food/meat/slab/monkey, -/obj/item/food/meat/slab/monkey, -/obj/item/food/meat/slab/monkey, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "iSb" = ( /obj/structure/frame/computer{ dir = 1 @@ -24963,29 +25251,29 @@ "iSr" = ( /turf/open/floor/iron, /area/station/security/execution/transfer) -"iSt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/supermatter/room) -"iSD" = ( -/turf/open/misc/dirt/station, -/area/station/service/chapel) "iSK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/structure/sign/warning/pods/directional/west, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"iTe" = ( -/obj/effect/turf_decal/siding/red{ - dir = 6 +"iSS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"iST" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/closet/toolcloset, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/main) +"iTb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/floor/iron/small, -/area/station/security/office) +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "iTn" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -24993,20 +25281,22 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) +"iTs" = ( +/obj/structure/chair/sofa/right{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/item/toy/plush/pkplush{ + name = "Bruder" + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/aft) "iTv" = ( /obj/item/kirbyplants/random, /turf/open/floor/wood/parquet, /area/station/service/library) -"iTy" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) "iTB" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/south, @@ -25018,21 +25308,11 @@ dir = 1 }, /area/station/science/xenobiology) -"iTN" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "holodeck" - }, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/commons/fitness/recreation/entertainment) "iTP" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ - name = "Solar Maintenance" + name = "Solar Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -25049,38 +25329,23 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"iTT" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "iUb" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar/large/old, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) -"iUh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"iUp" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/station/tcommsat/server) "iUH" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "iUK" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -25094,13 +25359,24 @@ /obj/machinery/disposal/bin/tagger, /turf/open/floor/iron, /area/station/cargo/storage) -"iUT" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 +"iVf" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/status_display/door_timer{ + id = "Cell 2"; + name = "Cell 2"; + pixel_y = 32 }, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/security/brig) +"iVl" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "iVq" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -25108,9 +25384,6 @@ /obj/item/stack/sheet/mineral/titanium, /turf/open/floor/tram, /area/station/security/tram) -"iVr" = ( -/turf/closed/mineral/random/stationside, -/area/station/maintenance/fore/greater) "iVu" = ( /obj/structure/transport/linear/tram, /obj/machinery/transport/tram_controller, @@ -25162,23 +25435,6 @@ }, /turf/open/floor/plating, /area/station/cargo/miningoffice) -"iVP" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/clothing/head/utility/welding, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "iVT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -25188,6 +25444,14 @@ /obj/item/flashlight, /turf/open/floor/plating, /area/station/hallway/secondary/dock) +"iVX" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/central) "iVY" = ( /obj/effect/turf_decal/siding/brown{ dir = 1 @@ -25231,30 +25495,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"iWp" = ( -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/office) -"iWs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ +"iWx" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 }, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, -/area/station/security/execution/transfer) -"iWD" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/area/station/engineering/atmos) "iWE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25308,12 +25556,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iXi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/hallway/primary/central/aft) "iXm" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -25322,24 +25564,6 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"iXu" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/aft) -"iXy" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "iXB" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 4 @@ -25348,26 +25572,13 @@ /obj/effect/spawner/random/armory/e_gun, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"iXM" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/server) -"iXW" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = 5; - pixel_y = 6 +"iXF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/side{ + dir = 6 }, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/firealarm/directional/east, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/backroom) +/area/station/science/xenobiology) "iYh" = ( /obj/structure/fluff/broken_canister_frame, /turf/open/floor/plating, @@ -25404,31 +25615,28 @@ }, /turf/open/floor/iron/small, /area/station/command/teleporter) +"iYE" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/office) "iYY" = ( /obj/structure/cable, /turf/open/floor/iron/small, /area/station/security/processing) -"iZs" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/structure/railing/corner{ - dir = 1 +"iZk" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) +"iZw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"iZu" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/station/service/chapel) "iZy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -25461,59 +25669,21 @@ /obj/effect/spawner/random/food_or_drink/seed, /turf/open/misc/sandy_dirt, /area/station/maintenance/starboard/aft) -"iZK" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=19.0-Engineering-CentralPort"; - location = "18.0-ToolStorage-Engineering" - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"iZM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"iZO" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "iZU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/directional/east, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) -"iZW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +"jaa" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/commons/fitness/recreation/entertainment) +"jah" = ( +/obj/structure/table, +/obj/item/storage/bag/construction, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "jar" = ( /obj/machinery/drone_dispenser, /turf/open/misc/asteroid, @@ -25547,7 +25717,6 @@ }, /obj/machinery/holopad, /obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) "jaL" = ( @@ -25560,13 +25729,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) +"jaM" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "jaN" = ( /obj/structure/hedge, /obj/effect/decal/cleanable/cobweb, /obj/machinery/status_display/supply{ pixel_y = 32 }, -/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/cargo/storage) "jaP" = ( @@ -25580,18 +25755,11 @@ /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ - id = "rdoffice"; - name = "Research Director's Shutters" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) -"jbp" = ( -/obj/structure/flora/bush/jungle, -/obj/structure/flora/rock/pile/style_3, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/recreation/entertainment) + id = "rdoffice"; + name = "Research Director's Shutters" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "jbr" = ( /obj/structure/table/glass, /obj/item/folder/blue{ @@ -25606,51 +25774,32 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"jby" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +"jbB" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Storage" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, +/turf/open/floor/iron/smooth_half{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"jbE" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 +/area/station/engineering/main) +"jbD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/turf/open/floor/plating, -/area/station/engineering/atmos) +/turf/open/floor/wood, +/area/station/service/chapel) "jbV" = ( /obj/machinery/photocopier, /turf/open/floor/iron/dark, /area/station/security/office) -"jbX" = ( -/obj/effect/landmark/start/assistant, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "jch" = ( /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"jcj" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/service/library) "jcm" = ( /obj/structure/cable, /obj/effect/turf_decal/sand/plating, @@ -25663,6 +25812,19 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"jcq" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/crystal, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "jct" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ @@ -25681,19 +25843,6 @@ /obj/machinery/door/window/right/directional/south, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"jcB" = ( -/obj/machinery/door/airlock/wood{ - name = "Bar Backroom" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) "jcE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25710,6 +25859,12 @@ }, /turf/open/floor/stone, /area/station/command/heads_quarters/captain/private) +"jcV" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "jcZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -25718,41 +25873,55 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) +"jdg" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) "jdp" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, /obj/effect/landmark/start/captain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"jdx" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/station/service/library) -"jdR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"jdX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +"jdC" = ( /obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) +"jea" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/light/directional/west, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"jec" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "jeh" = ( /turf/open/floor/noslip, /area/station/security/tram) -"jep" = ( -/obj/structure/cable, +"jek" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/science/ordnance/testlab) "jeC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -25760,12 +25929,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"jeF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "jeG" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/effect/turf_decal/stripes/white/line{ @@ -25774,20 +25937,28 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) -"jeV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor{ - id = "Secure Storage below"; - name = "Secure Storage" - }, -/turf/open/floor/plating/rust, -/area/station/engineering/main) +"jeQ" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "jeW" = ( /obj/effect/spawner/structure/window, -/obj/structure/sign/departments/medbay/alt/directional/west, /turf/open/floor/plating, /area/station/medical/medbay/lobby) +"jfe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"jff" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "jfs" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -25819,66 +25990,30 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"jfB" = ( -/turf/open/floor/iron/grimy, -/area/station/service/janitor) -"jfE" = ( -/obj/structure/closet/secure_closet/evidence, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/smooth, -/area/station/security/evidence) -"jfT" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 +"jfQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding{ + dir = 4 }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "jgb" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"jgq" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/structure/flora/bush/jungle/a/style_3, -/turf/open/misc/dirt/station, -/area/station/service/chapel) -"jgy" = ( -/obj/effect/spawner/random/trash/hobo_squat, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"jgF" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 +/obj/structure/bookcase/random, +/obj/structure/sign/painting/library{ + pixel_y = 32 }, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/wood/parquet, +/area/station/service/library) +"jgH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"jgQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/railing/corner{ + dir = 4 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, -/area/station/security/prison/workout) -"jhj" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) +/area/station/engineering/atmos) "jhm" = ( /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) @@ -25889,21 +26024,10 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"jhB" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) "jhC" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/cargo/miningoffice) -"jhF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jhY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -25922,33 +26046,31 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_half, /area/station/hallway/primary/aft) -"jie" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/broken_flooring/singular/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "jig" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 }, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"jij" = ( +/turf/open/floor/engine, +/area/station/engineering/supermatter) "jim" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) "jiq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/research/glass{ + name = "Cytology Lab" }, -/obj/structure/disposalpipe/segment{ +/obj/effect/mapping_helpers/airlock/access/all/science/research, +/obj/machinery/door/firedoor{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/processing) +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/cytology) "jir" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25979,6 +26101,11 @@ }, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) +"jiJ" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "jiR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/engine/vacuum, @@ -26013,12 +26140,28 @@ "jjq" = ( /turf/closed/wall, /area/station/cargo/warehouse) -"jjI" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) +"jjt" = ( +/obj/item/flashlight/lantern/on, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/chapel) +"jjy" = ( +/obj/effect/spawner/random/trash, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"jjE" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "jjJ" = ( /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, @@ -26032,6 +26175,16 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/medical/chemistry) +"jjW" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"jkg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "jkz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -26040,14 +26193,6 @@ dir = 8 }, /area/station/science/lobby) -"jkC" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/warm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "jkE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -26059,6 +26204,29 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"jkI" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/light/cold/directional/north, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/science/ordnance/testlab) +"jkN" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L3"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "jkS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26066,11 +26234,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"jkT" = ( -/obj/structure/table/wood, -/obj/machinery/fax/auto_name, -/turf/open/floor/carpet, -/area/station/service/library) "jkV" = ( /obj/machinery/door/airlock/external/glass{ name = "ATMOS PROJECT Airlock" @@ -26080,6 +26243,10 @@ /obj/structure/cable, /turf/open/floor/plating/rust, /area/station/engineering/supermatter/room) +"jlk" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) "jlt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26099,25 +26266,37 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"jlz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) -"jlA" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "jlC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=6.2-Arrivals"; + location = "6.1-Arrivals" + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/hallway/secondary/entry) +"jlD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/machinery/door/airlock/public/glass{ + name = "Cargo Botique"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) "jlL" = ( /obj/structure/closet/secure_closet/engineering_chief, /obj/item/storage/briefcase/secure, @@ -26151,11 +26330,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"jlW" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_pp/style_2, -/turf/open/floor/grass, -/area/station/service/chapel) "jlZ" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -26178,34 +26352,31 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/processing) +"jmm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "jmo" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"jmF" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"jmB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/construction/mining/aux_base) +/turf/open/floor/wood, +/area/station/cargo/boutique) "jmK" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/iron, /area/station/cargo/storage) -"jmN" = ( -/obj/structure/table, -/obj/item/stack/rods/fifty, -/obj/item/wrench, -/obj/item/storage/box/lights/mixed, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "jmV" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, @@ -26229,6 +26400,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) +"jna" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/turf/open/floor/iron/white/small, +/area/station/science/server) "jnh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26247,6 +26423,15 @@ /obj/machinery/bci_implanter, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"jnl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "jnn" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -26257,23 +26442,16 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"jnB" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/storage/gas) -"jnI" = ( -/obj/machinery/air_sensor/incinerator_tank, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) +"jnt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/captain/private) +"jnx" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "jnN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -26292,29 +26470,19 @@ }, /turf/open/floor/plating, /area/station/command/corporate_showroom) -"joH" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen, -/obj/machinery/door/poddoor/shutters{ - id = "meow"; - name = "Commissary" - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) -"joR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"joq" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 }, -/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, +/obj/effect/landmark/start/mime, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"joy" = ( /obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/turf/open/floor/wood/parquet, +/area/station/service/library) "joS" = ( /obj/machinery/light/broken/directional/north, /obj/effect/decal/cleanable/dirt, @@ -26323,6 +26491,11 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"joT" = ( +/obj/structure/sign/departments/restroom/directional/south, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "jpm" = ( /obj/structure/chair{ dir = 4; @@ -26333,10 +26506,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"jpp" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "jpu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -26348,17 +26517,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"jpE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) -"jpM" = ( -/obj/structure/closet{ - name = "Evidence Closet 3" - }, -/turf/open/floor/iron/smooth, -/area/station/security/evidence) "jpR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26367,31 +26525,12 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jpW" = ( -/obj/structure/cable, -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/turf/open/floor/wood/tile, -/area/station/service/lawoffice) "jqd" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"jqq" = ( -/obj/structure/closet/crate/trashcart/filled, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "jqu" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -26435,18 +26574,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"jqK" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/biogenerator, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) "jqZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -26470,22 +26597,15 @@ /obj/structure/cable, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) -"jrv" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"jrD" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 +"jrC" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/light/small/directional/north, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/rock/pile/style_random{ + pixel_x = 32 }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/locker_room) "jrG" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -26513,50 +26633,55 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) +"jrV" = ( +/turf/open/floor/iron/stairs/left{ + dir = 1 + }, +/area/station/maintenance/hallway/abandoned_command) "jrX" = ( /turf/open/floor/iron/stairs{ dir = 1 }, /area/station/cargo/office) -"jsa" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/xenobiology) -"jsv" = ( -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/security/prison/workout) -"jsE" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/table/wood, -/obj/item/book/manual/wiki/tgc, -/turf/open/floor/carpet/green, -/area/station/commons/dorms) -"jsG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"jse" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) +"jsh" = ( +/obj/machinery/modular_computer/preset/civilian{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) +"jsi" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"jsl" = ( +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/pale, +/turf/open/floor/grass, /area/station/hallway/primary/central/fore) -"jsJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +"jso" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/green/visible{ dir = 4 }, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/disposalpipe/segment, +/obj/machinery/camera/directional/south{ + c_tag = "atmospherics - lower"; + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/engineering/atmos) +"jsv" = ( +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/security/prison/workout) "jsN" = ( /obj/structure/hedge, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -26567,11 +26692,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/brig/entrance) -"jsU" = ( -/obj/structure/hedge, -/obj/effect/turf_decal/siding/thinplating/terracotta, -/turf/open/floor/iron, -/area/station/commons/dorms) "jsX" = ( /obj/structure/steam_vent, /turf/open/floor/plating, @@ -26593,6 +26713,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"jto" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Distro Staging to Distro" + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "jts" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26603,16 +26732,25 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) +"jtv" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "jtD" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) -"jtG" = ( -/obj/structure/table, -/obj/structure/railing/corner, -/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/window/right/directional/south{ + name = "Upload Console Window"; + req_access = list("ai_upload") + }, /turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/area/station/ai_monitored/turret_protected/ai_upload) "jtI" = ( /turf/open/floor/iron/white/side{ dir = 4 @@ -26621,6 +26759,11 @@ "jtK" = ( /turf/open/floor/iron/small, /area/station/maintenance/department/medical/central) +"jtN" = ( +/obj/machinery/air_sensor/plasma_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "jtY" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26631,6 +26774,20 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"jue" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/item/radio{ + desc = "An old handheld radio. You could use it, if you really wanted to."; + icon_state = "radio"; + name = "old radio"; + pixel_x = -6; + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/station/cargo/office) "jug" = ( /obj/machinery/door/airlock/hatch{ name = "Tool Supply Corridor" @@ -26650,11 +26807,6 @@ /obj/item/storage/box/matches, /turf/open/floor/iron, /area/station/cargo/sorting) -"juP" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/stone, -/area/station/service/chapel) "juS" = ( /obj/structure/bed, /obj/item/bedsheet/hop, @@ -26662,35 +26814,20 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) -"jvd" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) -"jvl" = ( -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/captain/private) -"jvB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +"jvn" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"jvu" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood/parquet, +/area/station/service/library) "jvN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -26710,14 +26847,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"jvQ" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "jvR" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/brown/opposingcorners, @@ -26738,13 +26867,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/small, /area/station/command/teleporter) -"jwf" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "jwh" = ( /obj/structure/broken_flooring/pile/directional/east, /obj/effect/spawner/random/trash/graffiti{ @@ -26760,21 +26882,34 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"jwl" = ( +"jwk" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"jwA" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/stone, +/area/station/service/bar) +"jwQ" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"jwT" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security) +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "jwU" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/sign/poster/random/directional/south, @@ -26816,12 +26951,18 @@ "jxD" = ( /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"jxF" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "jxJ" = ( /obj/structure/hedge, /obj/machinery/status_display/supply{ pixel_y = -32 }, -/obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/cargo/storage) "jxU" = ( @@ -26855,13 +26996,9 @@ /turf/open/floor/iron/white/small, /area/station/medical/storage) "jya" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) -"jyd" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) +/obj/effect/turf_decal/trimline/yellow/filled/line, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "jye" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/north, @@ -26878,6 +27015,11 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) +"jyr" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/siding/thinplating/terracotta, +/turf/open/floor/iron, +/area/station/commons/dorms) "jyu" = ( /obj/structure/chair/bronze{ dir = 4 @@ -26901,16 +27043,6 @@ }, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"jyF" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 - }, -/obj/machinery/shower/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/break_room) "jyG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26924,7 +27056,9 @@ name = "Captain's Quarters" }, /obj/effect/mapping_helpers/airlock/access/all/command/captain, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -26940,6 +27074,10 @@ dir = 4 }, /area/station/command/heads_quarters/captain/private) +"jyT" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos) "jyY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -26972,7 +27110,9 @@ name = "Captain's Bedroom" }, /obj/effect/mapping_helpers/airlock/access/all/command/captain, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -26981,26 +27121,36 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"jzr" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ +"jzq" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Gas to Cold Loop"; dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"jzK" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) +"jzR" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Filter" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "jAb" = ( /obj/structure/cable, /turf/open/floor/iron/stairs{ dir = 1 }, /area/station/engineering/storage/tech) -"jAf" = ( -/obj/structure/mirror/directional/east, -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) "jAp" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/diagonal, @@ -27024,10 +27174,20 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/security/tram) -"jBg" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +"jAZ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/rock/pile/jungle/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) +"jBn" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/construction/mining/aux_base) "jBo" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 6 @@ -27042,19 +27202,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"jBu" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "jBA" = ( /obj/structure/cable, /obj/machinery/power/smes/super/full, @@ -27078,20 +27225,32 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jCm" = ( -/obj/effect/landmark/start/hangover, -/turf/open/misc/dirt/station, -/area/station/service/chapel) "jCo" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jCH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"jCx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"jCK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/stone, +/area/station/service/bar) "jCP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27099,37 +27258,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"jCZ" = ( -/obj/machinery/door/window/brigdoor/left/directional/west{ - id = "Cell 1"; - name = "Cell 1"; - req_access = list("security") - }, -/turf/open/floor/iron/dark/small, -/area/station/security/brig) "jDa" = ( /obj/machinery/holopad, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"jDc" = ( -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/turf/open/floor/iron/small, -/area/station/security/brig) -"jDi" = ( -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) -"jDm" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/office) +"jDj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar) "jDt" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -27143,49 +27279,49 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"jDx" = ( +/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/siding/wood{ + dir = 10 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "jDy" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/stairs{ dir = 8 }, /area/station/command/corporate_showroom) +"jDH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "jDM" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/hedge, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"jDS" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"jDT" = ( -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar) "jEc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"jEf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "jEi" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 }, /obj/machinery/light/small/directional/north, /obj/effect/landmark/start/assistant, -/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron, /area/station/science/lobby) "jEu" = ( @@ -27195,6 +27331,14 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"jEv" = ( +/obj/machinery/deepfryer, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/siding/end{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "jEx" = ( /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/any/command/general, @@ -27216,15 +27360,6 @@ dir = 1 }, /area/station/command/corporate_showroom) -"jEz" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/structure/chair{ - dir = 4; - pixel_y = -2 - }, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) "jEA" = ( /obj/structure/chair/sofa/bench{ dir = 1 @@ -27269,16 +27404,24 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"jEQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"jEP" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron/stairs/medium{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/side{ - dir = 8 +/area/station/engineering/atmos) +"jET" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 }, -/area/station/commons/storage/tools) +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/carpet, +/area/station/service/library) "jEZ" = ( /obj/structure/hedge, /obj/effect/decal/cleanable/dirt, @@ -27289,14 +27432,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"jFm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) "jFw" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/yellow{ @@ -27326,14 +27461,21 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"jFK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ +"jFS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/kirbyplants/random, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"jFV" = ( +/obj/machinery/button/transport/tram/directional/south{ + id = 1; + specific_transport_id = "bird_2" + }, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "jGc" = ( /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/showroomfloor, @@ -27344,20 +27486,6 @@ }, /turf/open/floor/iron, /area/station/security) -"jGu" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"jGy" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "jGA" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -27369,13 +27497,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"jGK" = ( -/obj/structure/chair/wood, -/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/small, -/area/station/service/barber) "jGL" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -27394,19 +27515,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"jGO" = ( -/obj/structure/chair/sofa/corp/right{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) -"jGT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/commons/dorms) "jGW" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -27427,6 +27535,12 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/station/security/tram) +"jHg" = ( +/obj/effect/turf_decal/box/white{ + color = "#EFB341" + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "jHi" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -27469,17 +27583,11 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/security/tram) -"jHJ" = ( -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) -"jHM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"jHN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "jHU" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -27496,13 +27604,20 @@ /turf/open/floor/iron/textured_half, /area/station/commons/toilet/auxiliary) "jId" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/vending/autodrobe, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/parquet, +/area/station/service/greenroom) +"jIe" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) +/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/central/greater) "jIh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -27511,12 +27626,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jIi" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + 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/wood, +/area/station/engineering/atmos/office) "jIj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"jIk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/kirbyplants/random, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/hallway/secondary/command) "jIl" = ( /obj/effect/turf_decal/siding/red{ dir = 10 @@ -27533,12 +27663,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"jIA" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jIB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -27550,6 +27674,12 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"jIC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) "jIH" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -27599,15 +27729,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"jJd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron, -/area/station/service/hydroponics) "jJg" = ( /obj/effect/turf_decal/siding/wideplating, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27625,13 +27746,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"jJT" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/siding/green, -/obj/machinery/component_printer, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) "jJW" = ( /obj/effect/decal/cleanable/oil/slippery, /obj/item/stack/sheet/cardboard, @@ -27645,17 +27759,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"jKg" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/science/xenobiology) "jKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27676,7 +27779,9 @@ name = "Cargo Office" }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/stairs{ dir = 4 }, @@ -27685,6 +27790,15 @@ /obj/machinery/door/window/right/directional/north, /turf/open/floor/iron, /area/station/security/prison/workout) +"jKR" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light/no_nightlight/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "jKS" = ( /obj/structure/table/reinforced, /obj/item/trash/cheesie{ @@ -27696,38 +27810,28 @@ "jKU" = ( /turf/closed/wall, /area/station/engineering/atmos/storage/gas) -"jLb" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +"jLc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, /turf/open/floor/iron, -/area/station/commons/storage/tools) +/area/station/engineering/gravity_generator) "jLl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"jLr" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ +"jLv" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"jLv" = ( -/obj/effect/turf_decal/bot{ - dir = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/turf/open/floor/wood/tile, +/area/station/service/bar) "jLB" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -27755,18 +27859,6 @@ "jLR" = ( /turf/open/floor/iron/small, /area/station/command/teleporter) -"jLS" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -2; - pixel_y = 4 - }, -/turf/open/floor/carpet, -/area/station/service/library) "jLV" = ( /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, @@ -27785,12 +27877,19 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"jMp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 8 - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) +"jMh" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall, +/area/station/hallway/primary/port) +"jMr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/machinery/holopad, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "jMC" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 @@ -27810,15 +27909,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{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jMX" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -27856,13 +27946,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/paramedic) -"jNu" = ( -/obj/machinery/air_sensor/air_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "jNw" = ( -/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, @@ -27880,13 +27967,12 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) -"jOb" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 - }, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) +"jOd" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "jOh" = ( /obj/structure/cable, /obj/machinery/door/firedoor, @@ -27925,19 +28011,21 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) +"jOt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/window/brigdoor/right/directional/north{ + atom_integrity = 300; + name = "AI Core Chamber Access"; + req_access = list("ai_upload") + }, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "jOF" = ( /obj/item/kirbyplants/random, /obj/machinery/light_switch/directional/west, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"jOM" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "jOS" = ( /obj/machinery/vending/cigarette, /obj/machinery/light/small/directional/south, @@ -27947,78 +28035,27 @@ /obj/effect/landmark/start/captain, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) -"jPa" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/east, -/turf/open/floor/iron/smooth, -/area/station/hallway/secondary/command) -"jPe" = ( -/obj/structure/steam_vent, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) -"jPo" = ( +"jPi" = ( /obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Security Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/holopad, /obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +/turf/open/floor/iron, +/area/station/security/processing) "jPq" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"jPM" = ( -/obj/structure/rack, -/obj/effect/spawner/random/techstorage/security_all, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) -"jQf" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"jQj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/starboard/greater) -"jQv" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"jQB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) -"jQW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fore Primary Hallway" +"jQQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 10 }, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/central/fore) +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "jRk" = ( /obj/effect/turf_decal/siding/white{ dir = 1 @@ -28028,140 +28065,43 @@ }, /turf/open/floor/iron/smooth, /area/station/command/corporate_showroom) -"jRl" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/button/door/directional/north{ - id = "meow"; - name = "Comissary Shutters"; - pixel_x = 29 - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) -"jRs" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"jRv" = ( -/obj/machinery/door/airlock{ - id_tag = "Cabin4"; - name = "Cabin 4" - }, -/turf/open/floor/carpet, -/area/station/commons/dorms) "jRx" = ( /obj/structure/chair/sofa/bench, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"jRz" = ( -/obj/structure/flora/bush/large/style_3, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "jRE" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security) -"jRJ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"jRK" = ( -/obj/machinery/door/airlock{ - name = "Hydroponics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"jRU" = ( -/obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 }, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/stairs/old{ +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/area/station/engineering/break_room) +/turf/open/floor/iron, +/area/station/security) "jSl" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"jSm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) "jSn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed, /obj/item/bedsheet/brown, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"jSp" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "jSw" = ( /obj/structure/railing, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"jSE" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/kirbyplants/organic/plant22, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"jSJ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, +"jSN" = ( /obj/structure/cable, -/turf/open/floor/grass, -/area/station/service/chapel) -"jSQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/kirbyplants/random, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/hallway/secondary/command) +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "jSR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -28185,12 +28125,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"jTf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) "jTh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28201,22 +28135,14 @@ /obj/structure/cable, /turf/open/floor/iron/textured_half, /area/station/security/detectives_office) -"jTj" = ( -/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{ +"jTp" = ( +/obj/effect/turf_decal/siding/wood/end{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"jTn" = ( -/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/central/greater) +/obj/structure/table/wood, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "jTu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28232,19 +28158,11 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"jTC" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"jTD" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"jTN" = ( +/obj/machinery/igniter/incinerator_atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "jTU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28261,23 +28179,22 @@ dir = 1 }, /area/station/hallway/primary/aft) -"jTW" = ( -/obj/structure/closet/radiation, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jUc" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/east, /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"jUj" = ( +/obj/structure/closet/radiation, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/small/directional/east, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) "jUl" = ( /obj/machinery/door/airlock/external{ - name = "Common Mining Dock" + name = "Common Mining Dock"; + dir = 4 }, /turf/open/floor/plating, /area/station/hallway/secondary/dock) @@ -28298,89 +28215,57 @@ /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, /area/station/maintenance/department/electrical) -"jUy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"jUA" = ( -/obj/item/kirbyplants/random, -/obj/structure/disposalpipe/segment{ - dir = 4 +"jUQ" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 8 }, -/obj/machinery/light_switch/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/herringbone, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/dark/small, /area/station/commons/dorms) "jVe" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"jVl" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "HFR Chamber" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "jVs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/maintenance{ - name = "Security Maintenance" + name = "Security Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jVx" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side, -/area/station/maintenance/central/greater) -"jVJ" = ( -/obj/structure/table, -/obj/item/bikehorn/rubberducky{ - pixel_y = 9; - pixel_x = 6; - color = "#a61a11"; - name = "Reggie, the Angry Duckling"; - desc = "Foooo! Ducky is maaaaad. Ducky waaaanna hiiiiiit stuuuuuuf!" - }, -/obj/item/grenade/firecracker{ - pixel_x = 1 - }, -/obj/item/match{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "jVM" = ( /turf/closed/wall, /area/station/maintenance/central/greater) -"jVY" = ( +"jVT" = ( +/obj/structure/cable, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "jWd" = ( /obj/structure/cable, /obj/item/kirbyplants/random/fullysynthetic, @@ -28395,14 +28280,13 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) -"jWj" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 +"jWf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/flora/bush/large/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "jWl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -28412,18 +28296,11 @@ /turf/open/floor/iron, /area/station/hallway/primary/aft) "jWm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "atmospherics - upper" +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"jWr" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "jWs" = ( /turf/open/floor/iron/dark, /area/station/security/processing) @@ -28431,13 +28308,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/courtroom) -"jWz" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "jWA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28448,11 +28318,6 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron, /area/station/cargo/storage) -"jWC" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/closet/toolcloset, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/main) "jWO" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/camera/autoname/directional/south, @@ -28460,6 +28325,26 @@ dir = 8 }, /area/station/hallway/secondary/dock) +"jWX" = ( +/obj/structure/flora/bush/flowers_br/style_random{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) +"jWY" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "jWZ" = ( /obj/machinery/mineral/ore_redemption{ dir = 4; @@ -28473,12 +28358,10 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/textured_large, /area/station/cargo/office) -"jXc" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"jXa" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/port/aft) "jXe" = ( /obj/machinery/holopad/secure, /turf/open/floor/iron/smooth, @@ -28492,17 +28375,18 @@ /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"jXr" = ( -/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/engineering/tcoms, -/obj/machinery/door/airlock/command/glass{ - name = "Telecommunications Server Room" +"jXq" = ( +/obj/machinery/atmospherics/components/binary/crystallizer{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/tcommsat/server) +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "jXA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28516,15 +28400,12 @@ /turf/open/floor/iron/white/textured_half, /area/station/engineering/storage/tcomms) "jXB" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Lockers" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured_half{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/commons/fitness/locker_room) +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/cargo/office) "jXC" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -28532,15 +28413,6 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) -"jXH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jXQ" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -18; @@ -28561,6 +28433,13 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"jXT" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "jXV" = ( /obj/structure/table, /obj/item/stack/cable_coil/five, @@ -28572,12 +28451,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"jYe" = ( -/obj/effect/turf_decal/siding/thinplating{ +"jXX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/aft) +"jYq" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ dir = 8 }, -/turf/open/floor/eighties, -/area/station/hallway/primary/central/fore) +/area/station/service/hydroponics) "jYr" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/mecha_part_fabricator{ @@ -28595,21 +28486,32 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"jYF" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"jYE" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) +"jYG" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/turf_decal/weather/snow/corner, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) -"jYM" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/service/bar) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"jYK" = ( +/obj/structure/chair/stool/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/hallway/secondary/command) "jYU" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "hopqueue"; @@ -28623,6 +28525,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/half, /area/station/hallway/primary/central/fore) +"jYW" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "jYY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28633,6 +28542,12 @@ /obj/effect/mapping_helpers/airlock/access/all/command/teleporter, /turf/open/floor/iron/dark/textured_half, /area/station/command/teleporter) +"jYZ" = ( +/obj/machinery/incident_display/delam/directional/north, +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "jZc" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -28648,6 +28563,13 @@ dir = 1 }, /area/station/hallway/primary/central/fore) +"jZv" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/cafeteria, +/area/station/science/breakroom) "jZJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -28670,9 +28592,37 @@ name = "Ordnance Storage" }, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"jZP" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/warm/dim/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"jZY" = ( +/obj/structure/flora/bush/flowers_br/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) +"kac" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/eighties/red, +/area/station/service/abandoned_gambling_den/gaming) +"kae" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/structure/sign/poster/official/tactical_game_cards/directional/west, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "kam" = ( /obj/effect/decal/cleanable/cobweb, /obj/machinery/disposal/delivery_chute{ @@ -28704,17 +28654,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"kaz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/storage/tools) "kaD" = ( /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) @@ -28750,6 +28689,13 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) +"kaX" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/station/commons/dorms) "kbc" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -28758,36 +28704,28 @@ /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"kbk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 +"kbf" = ( +/obj/machinery/door/airlock{ + id_tag = "CabinS"; + name = "Study" }, -/turf/open/floor/wood, -/area/station/cargo/boutique) -"kbm" = ( -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/fore) -"kbI" = ( -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell, -/turf/open/floor/iron/white, -/area/station/science/auxlab/firing_range) -"kbL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ - dir = 8 +/turf/open/floor/carpet/green, +/area/station/commons/dorms) +"kbU" = ( +/obj/structure/displaycase/trophy, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/wood/parquet, +/area/station/service/library) "kci" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/maintenance_hatch{ - name = "Construction Hatch" + name = "Construction Hatch"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -28803,34 +28741,33 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"kcQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 1 - }, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) +"kcI" = ( +/obj/item/radio/intercom/prison/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/work) "kcW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/smes/full, /obj/structure/cable, /turf/open/floor/circuit, /area/station/tcommsat/server) -"kdg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"kde" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/machinery/reagentgrinder{ + pixel_y = 14; + pixel_x = -13 }, -/obj/structure/displaycase/trophy, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/item/reagent_containers/cup/rag{ + pixel_x = 7; + pixel_y = 7 + }, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "kdn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kdv" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange, -/obj/structure/lattice, -/turf/open/misc/asteroid/airless, -/area/space/nearstation) "kdH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -28885,29 +28822,21 @@ "ket" = ( /turf/open/floor/iron, /area/station/security/prison/work) -"keL" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/service/chapel) -"keO" = ( -/obj/effect/spawner/random/trash, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/aft) -"keP" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/science/lower) "keQ" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 }, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/effect/turf_decal/siding{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) +"keV" = ( +/obj/structure/cable, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/fore/lesser) "kft" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28932,6 +28861,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kfx" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "kfy" = ( /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white/corner{ @@ -28942,14 +28878,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kfM" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "kfW" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -28988,20 +28916,24 @@ dir = 1 }, /area/station/hallway/primary/aft) -"kgu" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/passive_vent, -/turf/open/space/basic, -/area/space/nearstation) -"kgw" = ( -/obj/machinery/door/airlock{ - name = "Gambling Den" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/research, -/obj/item/assembly/mousetrap/armed, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +"kgp" = ( +/obj/effect/turf_decal/siding/blue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white, +/area/station/medical/paramedic) +"kgq" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/firealarm/directional/north, +/obj/machinery/computer/atmos_alert, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"kgt" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "kgN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -29022,16 +28954,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, /area/station/security/tram) -"kho" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=6.3-Arrivals"; - location = "6.2-Arrivals" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "khp" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -29040,6 +28962,19 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) +"khy" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"khz" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "khD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -29073,43 +29008,36 @@ dir = 1 }, /area/station/hallway/primary/central/fore) -"khY" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"khZ" = ( -/obj/structure/disposalpipe/segment, +"khX" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/cargo/office) +/obj/machinery/door/airlock/command{ + name = "Telecomms Server Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-south" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) "kia" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"kii" = ( -/obj/structure/flora/bush/flowers_yw/style_3{ - pixel_y = -3 - }, -/obj/structure/flora/bush/flowers_br/style_random{ - pixel_x = -6; - pixel_y = -6 - }, -/obj/structure/flora/bush/flowers_pp{ - pixel_y = -5; - pixel_x = -3 +"kih" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/obj/machinery/light/floor, -/obj/effect/light_emitter/fake_outdoors, -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/grass/Airless, -/area/station/hallway/primary/central/aft) +/turf/open/floor/iron/white/corner, +/area/station/hallway/secondary/exit/departure_lounge) "kit" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -29149,27 +29077,31 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kiP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "kiQ" = ( /obj/structure/cable, /obj/machinery/power/smes/super/full, /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"kiR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +"kjb" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/warm/directional/west, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/station/construction/mining/aux_base) -"kiY" = ( -/obj/structure/flora/tree/jungle/style_6, -/turf/open/floor/grass, -/area/station/service/chapel) +/area/station/commons/dorms) +"kjc" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "kjg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29186,62 +29118,24 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"kjs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/table, -/obj/item/clothing/glasses/meson{ - pixel_x = -2; - pixel_y = 3 - }, -/obj/item/clothing/glasses/meson{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/clothing/glasses/meson{ - pixel_x = 5; - pixel_y = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"kjw" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/sign/directions/lavaland/directional/south, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/dock) -"kjx" = ( -/obj/effect/turf_decal/weather/snow, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/west, +"kjH" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /obj/structure/cable, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"kjO" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/siding/white{ - dir = 4 +/obj/machinery/door/airlock{ + id_tag = "commiss2"; + name = "Commissary" }, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/aft) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"kjN" = ( +/obj/structure/chair/sofa/bench/right, +/obj/machinery/incident_display/tram/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "kjU" = ( /obj/structure/plasticflaps/opaque, /turf/open/floor/plating, /area/station/maintenance/department/bridge) -"kjW" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) "kkd" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ name = "Creature Pen"; @@ -29258,6 +29152,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/teleporter) +"kkj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) "kkm" = ( /obj/machinery/door/airlock/medical/glass{ name = "Primary Treatment Centre" @@ -29286,6 +29188,12 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"kkN" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/port/fore) "kkO" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -29295,72 +29203,43 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white/textured_large, /area/station/command/heads_quarters/cmo) -"kkS" = ( -/obj/structure/railing{ +"kkR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/commons/dorms) -"kkV" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/computer/order_console/mining, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"kkY" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/iron/smooth, -/area/station/hallway/secondary/command) +/area/station/hallway/primary/central/fore) "kld" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"klf" = ( -/obj/structure/disposalpipe/segment, +"klj" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"klB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"klg" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron/stairs/medium{ - dir = 1 - }, /area/station/engineering/atmos) -"klF" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/science/xenobiology) -"klG" = ( -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "klH" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/processing) -"klN" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/structure/flora/bush/large/style_random{ - pixel_y = 0 - }, -/turf/open/floor/grass, -/area/station/service/chapel) +"klW" = ( +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "klY" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/spawner/random/maintenance, @@ -29378,7 +29257,8 @@ "kmg" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4 }, /obj/machinery/conveyor{ dir = 4; @@ -29404,7 +29284,8 @@ "kmo" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4 }, /obj/machinery/conveyor{ dir = 4; @@ -29422,6 +29303,17 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"kmA" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/landmark/start/clown, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "kmC" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -29441,44 +29333,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) -"kmL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/obj/item/clothing/head/cone{ - pixel_y = 5; - pixel_x = -6 - }, -/obj/item/clothing/head/cone{ - pixel_y = 7; - pixel_x = -6 - }, -/obj/item/pipe_dispenser{ - pixel_y = 9; - pixel_x = 14 - }, -/obj/item/cigarette{ - pixel_y = 2 - }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) -"kmP" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/siding/green{ - dir = 9 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) +"kmR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/prison/garden) "kmT" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kmX" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "knk" = ( /obj/machinery/conveyor{ dir = 4; @@ -29492,13 +29365,6 @@ "knv" = ( /turf/closed/wall, /area/station/maintenance/department/engine/atmos) -"knB" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet2"; - name = "Unit 2" - }, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "knC" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -29515,14 +29381,6 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, /area/station/cargo/storage) -"knO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/airalarm/directional/east, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "knV" = ( /obj/structure/closet/l3closet, /obj/effect/turf_decal/stripes/line{ @@ -29531,12 +29389,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark/small, /area/station/medical/virology) -"kop" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) "kov" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29557,6 +29409,35 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"koK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"kpj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"kpk" = ( +/obj/structure/chair/stool/bar/directional/east, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) +"kpD" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "kpF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/hangover, @@ -29578,14 +29459,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"kpU" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) -"kpX" = ( -/obj/effect/landmark/start/scientist, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "kqb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29594,11 +29467,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/white/side, /area/station/science/research) -"kql" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "kqr" = ( /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -29620,11 +29488,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/engineering) -"kqy" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/small, -/area/station/security/prison/mess) "kqK" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -29679,11 +29542,6 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, /area/station/cargo/sorting) -"kqU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) "kqW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29698,32 +29556,14 @@ cycle_id = "sci-entrance" }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/cargo/sorting) "kqX" = ( /turf/closed/wall, /area/station/ai_monitored/aisat/exterior) -"kqZ" = ( -/obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) -"krb" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/airlock/atmos/glass{ - name = "Project Room" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/engineering/atmos) "krd" = ( /obj/machinery/rnd/production/circuit_imprinter/department/science, /obj/machinery/newscaster/directional/north, @@ -29731,28 +29571,36 @@ dir = 4 }, /area/station/science/lab) +"krj" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "krk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) +"krm" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "kro" = ( /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"krx" = ( +/obj/machinery/vending/cola, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "krz" = ( /obj/structure/cable, /turf/open/floor/iron/stairs, /area/station/maintenance/department/science/xenobiology) -"krF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/chapel) -"krG" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "krK" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ @@ -29790,6 +29638,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"ksd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "kse" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -29798,24 +29652,17 @@ /obj/machinery/telecomms/server/presets/common, /turf/open/floor/circuit, /area/station/tcommsat/server) -"ksm" = ( -/obj/structure/table/wood, -/obj/machinery/camera/autoname/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/barsign{ - chosen_sign = "thecavern"; - icon_state = "thecavern"; - pixel_y = 32 +"ksl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/reagentgrinder{ - pixel_x = -5; - pixel_y = 10 +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/sofa/bench/left{ + dir = 4 }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "kso" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -29846,7 +29693,9 @@ cycle_id = "sci-entrance" }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/maintenance/port/fore) "ksA" = ( @@ -29863,42 +29712,37 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/all/engineering/construction, /obj/machinery/door/airlock/highsecurity{ - name = "Gravity Generator" + name = "Gravity Generator"; + dir = 4 }, /turf/open/floor/catwalk_floor/iron, /area/station/engineering/gravity_generator) "ksJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"ksM" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/simple/orange/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/junction{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/hallway) +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) "ksN" = ( /obj/structure/transit_tube/station/dispenser, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"ksY" = ( +/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/commons/fitness/locker_room) +"kta" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "kte" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -29906,30 +29750,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) -"kti" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 1; - initialize_directions = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) -"ktl" = ( -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/assembly/flash/handheld, -/obj/item/ai_module/reset{ - pixel_y = 14 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) "ktB" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -29944,33 +29764,36 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"ktJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ +"ktH" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"ktK" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/dorms) "ktM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/cargo/office) -"ktT" = ( +"ktX" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ +/obj/machinery/vending/coffee, +/turf/open/floor/iron/white/corner{ dir = 1 }, -/obj/item/radio/intercom/prison/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison) +/area/station/hallway/secondary/dock) "kua" = ( /obj/structure/table, /obj/item/disk/cargo{ @@ -29991,23 +29814,26 @@ /area/station/cargo/office) "kuq" = ( /obj/machinery/computer/cargo/request, +/obj/structure/sign/directions/science/right/east_arrow/directional/north{ + pixel_y = 33 + }, +/obj/structure/sign/directions/evac/southwest_arrow/directional/north{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/hallway/primary/central/fore) -"kut" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/landmark/navigate_destination, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engine_airlock_2" +"kuu" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) +/obj/machinery/power/emitter, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "kux" = ( /obj/structure/cable, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 4 }, @@ -30021,33 +29847,15 @@ /obj/structure/closet/secure_closet/miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"kuE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, +"kuG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"kuO" = ( -/obj/structure/chair{ - dir = 1; - pixel_y = -2 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/science/lower) -"kuQ" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/machinery/airalarm/directional/north, -/obj/structure/chair, -/turf/open/floor/iron, -/area/station/commons/storage/tools) +/turf/open/floor/iron/dark/side, +/area/station/science/xenobiology) "kvl" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -30057,19 +29865,21 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kvz" = ( -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) -"kvD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +"kvm" = ( +/turf/open/floor/wood/parquet, +/area/station/medical/psychology) +"kvG" = ( +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "kvI" = ( /obj/docking_port/stationary/random{ dir = 8; @@ -30087,6 +29897,10 @@ /obj/structure/chair, /turf/open/floor/iron/white/small, /area/station/security/execution/education) +"kvS" = ( +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "kvT" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/line{ @@ -30099,6 +29913,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kvW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) +"kvX" = ( +/obj/effect/turf_decal/bot/left, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) +"kwc" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "kws" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/firealarm/directional/west, @@ -30110,16 +29939,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"kwy" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "kwA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -30127,6 +29946,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/robotics/augments) +"kwN" = ( +/obj/structure/window/spawner/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "kwW" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth, @@ -30171,21 +29997,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"kxE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/research/glass{ - name = "Genetics" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/genetics, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) -"kxF" = ( -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "kxL" = ( /turf/open/floor/iron/dark/small, /area/station/hallway/secondary/entry) @@ -30193,6 +30004,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) +"kxR" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) "kxX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -30200,45 +30022,34 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) -"kxY" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/south{ - name = "Hydroponics Desk" - }, -/obj/machinery/door/firedoor, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/pen{ - pixel_x = 4 - }, -/obj/machinery/door/window/right/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"kym" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 +"kyi" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 }, -/turf/open/floor/wood, -/area/station/cargo/boutique) +/obj/structure/flora/bush/large/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "kyr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/airalarm/directional/west, /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"kyE" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, +"kyw" = ( +/obj/structure/closet/secure_closet/research_director, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/rd) +"kyx" = ( +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/maintenance/hallway/abandoned_command) +"kyA" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "kyN" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/small, @@ -30254,17 +30065,16 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kzs" = ( -/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/security/glass{ - name = "Security Office" +"kze" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/security/checkpoint/science) +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/hydroponics/constructable, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) "kzv" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -30275,27 +30085,45 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"kzA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "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) +"kzO" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/landmark/navigate_destination/kitchen, +/obj/machinery/camera/autoname/directional/north, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "kzP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"kzV" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"kAa" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/button/door/directional/east{ + id = "kitchenshutters"; + name = "Kitchen Shutter Control" }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/service/chapel) +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "kAf" = ( /obj/structure/transit_tube/station/dispenser/flipped{ dir = 1 @@ -30313,20 +30141,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/small, /area/station/hallway/primary/fore) -"kAz" = ( -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/structure/cable, -/obj/machinery/camera/directional/west, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"kAJ" = ( -/obj/structure/closet/wardrobe/mixed, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "kAR" = ( /obj/structure/fireplace, /obj/effect/turf_decal/siding/wood, @@ -30336,6 +30150,11 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/command/teleporter) +"kBx" = ( +/obj/structure/closet/secure_closet/personal, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "kBA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30359,15 +30178,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/small, /area/station/engineering/main) -"kBM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/turf/open/floor/eighties, -/area/station/hallway/primary/central/fore) "kBZ" = ( /obj/machinery/door/airlock/command{ name = "Chief Engineer's Office" @@ -30381,32 +30191,33 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "kCq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 6 +/obj/structure/toilet{ + dir = 4 }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/official/random/directional/west, +/obj/machinery/button/door/directional/north{ + id = "Toilet1"; + specialfunctions = 4; + name = "Lock Control"; + normaldoorcontrol = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) +"kCt" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/obj/item/radio/intercom/directional/north, +/obj/item/clothing/mask/gas, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/west, /turf/open/floor/iron, -/area/station/engineering/atmos/project) +/area/station/commons/vacant_room/commissary) "kCy" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/command/heads_quarters/captain) -"kCB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/cargo/boutique) "kCC" = ( /obj/structure/sink/directional/west, /obj/structure/table/bronze, @@ -30446,6 +30257,11 @@ }, /turf/open/floor/iron/white/small, /area/station/service/janitor) +"kCQ" = ( +/obj/structure/chair/sofa/bench/right, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "kCT" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -30458,25 +30274,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"kDs" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms) -"kEd" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"kDe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage below"; + name = "Secure Storage" }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/dorms) -"kEo" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating/rust, /area/station/engineering/main) +"kEf" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "kEs" = ( /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -30486,6 +30302,11 @@ dir = 1 }, /area/station/cargo/storage) +"kEt" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/chapel/office) "kEu" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/textured_half{ @@ -30510,15 +30331,22 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, /area/station/cargo/storage) -"kEW" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ - dir = 8 +"kER" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"kFd" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 }, -/obj/effect/turf_decal/bot{ - dir = 1 +/obj/machinery/shower/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/iron/dark/small, +/area/station/engineering/break_room) "kFg" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/wood, @@ -30528,33 +30356,19 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) -"kFq" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/service/lawoffice) "kFw" = ( -/obj/machinery/door/airlock{ - id_tag = "Cabin2"; - name = "Cabin 2" - }, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms) +/obj/effect/turf_decal/tile/neutral/full, +/obj/structure/rack, +/obj/item/weldingtool/mini, +/obj/item/tank/internals/emergency_oxygen/empty, +/obj/item/cigarette/rollie, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) "kFy" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"kFA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "kFD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/autolathe, @@ -30582,11 +30396,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/sorting) -"kFK" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) "kFU" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron, @@ -30594,6 +30403,13 @@ "kFY" = ( /turf/closed/wall/r_wall, /area/station/medical/morgue) +"kGl" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "kGn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -30607,15 +30423,10 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"kGw" = ( -/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/thinplating{ - dir = 4 - }, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) +"kGv" = ( +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "kGB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -30643,12 +30454,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"kHd" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "kHi" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -30675,25 +30480,45 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"kHk" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/service/chapel) "kHo" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kHp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/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/wideplating/corner{ +"kHr" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) +"kHw" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ dir = 8 }, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 6 +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Central Fore" }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"kHD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar) +"kHJ" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) "kHL" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -30711,10 +30536,6 @@ }, /turf/open/floor/iron, /area/station/security) -"kHX" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "kIj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -30722,13 +30543,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"kIm" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/science/xenobiology) "kIn" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 8 @@ -30776,7 +30590,9 @@ pixel_x = 8; pixel_y = 8 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/office) "kIQ" = ( @@ -30795,6 +30611,15 @@ }, /turf/open/floor/iron/small, /area/station/medical/medbay/lobby) +"kIX" = ( +/obj/effect/turf_decal/arrows/white{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "kIY" = ( /obj/structure/broken_flooring/singular/directional/south, /obj/effect/decal/cleanable/dirt, @@ -30859,28 +30684,36 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"kKh" = ( +"kKk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"kKv" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"kKF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter) +"kKK" = ( +/obj/structure/flora/rock/pile/jungle/style_4, +/turf/open/floor/grass, +/area/station/service/chapel) +"kKN" = ( +/obj/machinery/door/airlock{ + name = "Bathrooms" }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) -"kKD" = ( -/obj/structure/chair/comfy/brown, -/obj/structure/sign/painting/library{ - pixel_x = 30 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/area/station/commons/toilet/restrooms) "kKT" = ( /obj/machinery/computer/camera_advanced/xenobio{ dir = 4 @@ -30893,36 +30726,77 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"kKX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"kKW" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/dark_red, +/obj/effect/decal/cleanable/dirt, +/obj/item/food/gumball{ + pixel_x = 5; + pixel_y = 9 + }, +/obj/item/cigarette/candy{ + pixel_x = -3; + pixel_y = 10 + }, +/obj/item/food/gumball{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/weldingtool/mini{ + pixel_x = 5; + pixel_y = -11 + }, +/obj/item/screwdriver{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/storage/box/prisoner{ + pixel_x = 5; + pixel_y = -12 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) "kLo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"kLr" = ( -/obj/structure/table, -/obj/item/hfr_box/body/waste_output, -/obj/item/hfr_box/body/moderator_input, -/obj/item/hfr_box/body/fuel_input, -/obj/item/hfr_box/body/interface, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +"kLs" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/bar) +"kLw" = ( +/obj/structure/chair/sofa/bench/right, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/iron/white, +/area/station/science/cytology) +"kLC" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Lockers"; + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/commons/fitness/locker_room) +"kLR" = ( +/obj/structure/sign/poster/official/moth_piping/directional/north, +/obj/machinery/light/cold/dim/directional/north, +/obj/structure/closet/firecloset, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "kLS" = ( /turf/open/floor/iron/stairs{ dir = 1 }, /area/station/medical/treatment_center) -"kMe" = ( -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "kMm" = ( /obj/structure/chair/sofa/right/brown{ dir = 1 @@ -30930,16 +30804,21 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet, /area/station/medical/psychology) -"kMA" = ( -/obj/structure/disposalpipe/segment{ +"kMK" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2{ dir = 4 }, -/obj/machinery/light/warm/dim, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/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) "kMW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30965,16 +30844,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"kNv" = ( -/obj/machinery/air_sensor/mix_tank, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Mix" - }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) -"kNx" = ( -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) "kNz" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/small, @@ -31004,30 +30873,35 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"kNX" = ( -/obj/structure/closet/masks, -/obj/structure/extinguisher_cabinet/directional/north, +"kNP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/hallway/primary/central/fore) "kNZ" = ( /obj/structure/cable, /obj/machinery/light/small/directional/north, /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"kOh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research{ - name = "Mech Bay" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/robotics, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/mechbay) "kOm" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) +"kOA" = ( +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/station/service/chapel) "kOG" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ @@ -31039,13 +30913,16 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/solars/starboard/fore) -"kOH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 +"kOI" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta{ + dir = 8 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/obj/effect/turf_decal/siding/wideplating/dark/corner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) "kOR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31081,15 +30958,23 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/execution/transfer) -"kPo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 +"kPt" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/capacitor{ + pixel_x = -7; + pixel_y = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/item/stock_parts/capacitor{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "kPv" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -31115,25 +31000,6 @@ "kPW" = ( /turf/open/floor/plating, /area/station/maintenance/port/fore) -"kQe" = ( -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor"; - name = "Loading Doors"; - pixel_y = -8; - req_access = list("cargo") - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor2"; - name = "Loading Doors"; - pixel_y = 8; - req_access = list("cargo") - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "kQk" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -31141,21 +31007,24 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"kQl" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "kQt" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) +"kQB" = ( +/turf/open/floor/iron, +/area/station/science/lower) "kQM" = ( /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/storage) -"kRi" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "kRt" = ( /obj/machinery/monkey_recycler, /obj/effect/turf_decal/siding/white{ @@ -31163,16 +31032,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"kRA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "kRE" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -31199,16 +31058,6 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"kRV" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kSb" = ( /turf/open/floor/wood, /area/station/command/heads_quarters/qm) @@ -31235,6 +31084,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"kSl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "kSv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31248,14 +31107,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kSA" = ( -/obj/structure/cable, +"kSw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/obj/machinery/holopad, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar) "kSO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31264,16 +31121,26 @@ /obj/machinery/photocopier, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"kTm" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ +"kTj" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron/textured_half{ - dir = 8 +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"kTm" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/closed/wall, +/area/station/engineering/atmos/storage/gas) +"kTo" = ( +/obj/machinery/light/small/directional/south{ + dir = 4 }, -/area/station/service/library) +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "kTp" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, @@ -31299,45 +31166,28 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"kTy" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + req_access = list("minisat") + }, +/obj/structure/showcase/cyborg/old{ + pixel_y = 20 + }, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat/foyer) "kTC" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/catwalk_floor, /area/station/science/xenobiology) -"kTF" = ( -/obj/machinery/light/warm/dim, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"kTG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) "kTH" = ( /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_smooth, /area/station/hallway/secondary/command) -"kTX" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) -"kUa" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "kUf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31351,15 +31201,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kUL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"kUG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"kUN" = ( -/turf/closed/wall/r_wall, +/area/station/engineering/atmos/project) +"kUV" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, /area/station/engineering/atmos/pumproom) "kVb" = ( /obj/structure/cable, @@ -31372,12 +31228,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"kVg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/structure/chair/sofa/bench/left, -/turf/open/floor/stone, -/area/station/service/chapel) "kVn" = ( /obj/structure/disposalpipe/segment, /obj/structure/table/reinforced, @@ -31397,12 +31247,12 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kVB" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 +"kVH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "kWd" = ( /obj/machinery/door/airlock{ name = "Room 2" @@ -31416,24 +31266,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/security/prison/workout) -"kWm" = ( -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/small, -/area/station/security/office) -"kWF" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar) "kWJ" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -31442,22 +31274,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) -"kWR" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Docking Corridor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ +"kXb" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/area/station/hallway/secondary/dock) -"kWY" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +/obj/structure/sign/directions/vault/south_arrow{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) +/turf/closed/wall, +/area/station/hallway/primary/central/aft) "kXn" = ( /turf/closed/wall/r_wall, /area/station/engineering/gravity_generator) @@ -31468,20 +31293,30 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"kXu" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/red{ +"kXs" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/spawner/random/entertainment/arcade{ dir = 1 }, -/turf/open/floor/iron/white/small, -/area/station/security/warden) +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "kXC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) +"kXE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/security) +"kXF" = ( +/turf/open/floor/iron, +/area/station/maintenance/aft) "kXM" = ( /obj/effect/spawner/random/structure/girder, /obj/structure/barricade/wooden, @@ -31503,16 +31338,22 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"kYa" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"kYb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/effect/landmark/navigate_destination/cargo, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/primary/central/aft) +"kYd" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "kYs" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -31520,6 +31361,7 @@ /obj/effect/turf_decal/stripes/asteroid/end{ dir = 1 }, +/obj/structure/sign/poster/contraband/thunderdrome/directional/north, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) "kYA" = ( @@ -31566,6 +31408,13 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/grass, /area/station/cargo/storage) +"kZd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "kZh" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -31574,34 +31423,6 @@ /obj/item/modular_computer/laptop, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"kZj" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/grass/jungle/b/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"kZr" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 - }, -/obj/machinery/shower/directional/east, -/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/main) -"kZv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "AI Core shutters"; - name = "AI Core Shutter" - }, -/turf/open/floor/iron/stairs, -/area/station/ai_monitored/turret_protected/ai) "kZx" = ( /obj/machinery/button/door/directional/north{ id = "main_surgery"; @@ -31619,13 +31440,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"kZC" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) "kZF" = ( /obj/structure/closet/crate/secure{ desc = "A secure crate containing various materials for building a customised test-site."; @@ -31640,27 +31454,49 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"kZI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"kZG" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/item/stack/sheet/cardboard{ + pixel_x = -3; + pixel_y = 8 }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/service/chapel) -"lab" = ( +/obj/item/storage/box/teargas{ + pixel_x = -7; + pixel_y = 14 + }, +/obj/item/gun/grenadelauncher{ + pixel_x = 17; + pixel_y = 10 + }, +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/dark/small, +/area/station/ai_monitored/security/armory) +"lad" = ( +/obj/effect/spawner/random/structure/closet_private, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/orange, +/area/station/commons/dorms) +"laq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"lat" = ( +/obj/structure/railing{ dir = 4 }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/aft) +/turf/open/floor/iron, +/area/station/commons/dorms) "laD" = ( /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) @@ -31679,19 +31515,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) -"laK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "laL" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 @@ -31701,12 +31524,25 @@ dir = 8 }, /area/station/hallway/primary/central/fore) -"laU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"laO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/weather/snow, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 }, -/turf/closed/wall, -/area/station/commons/fitness/recreation/entertainment) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/food_cart, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"laY" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/tile, +/area/station/service/bar) "laZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -31718,21 +31554,36 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) "lbi" = ( -/obj/structure/flora/bush/flowers_br, -/obj/structure/flora/bush/flowers_yw, -/obj/machinery/light/floor, -/turf/open/floor/grass, -/area/station/hallway/primary/central/fore) -"lbl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/structure/chair{ + dir = 8 }, -/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) +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"lbn" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) +"lbt" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/circuit, +/area/station/maintenance/port/aft) +"lbz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lbF" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -31791,6 +31642,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) +"lcv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lcw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -31802,6 +31660,12 @@ /obj/effect/landmark/navigate_destination/chemfactory, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"lcB" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ + dir = 4 + }, +/turf/open/misc/asteroid/airless, +/area/space/nearstation) "lcC" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -31811,46 +31675,40 @@ /obj/machinery/camera/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"lcD" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral{ +"lcG" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 8 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"lcF" = ( -/obj/machinery/status_display/evac/directional/east, -/turf/open/floor/glass, -/area/station/hallway/primary/central/aft) -"lcY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west, +/obj/machinery/status_display/ai/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) +"lcH" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{ dir = 1 }, -/obj/effect/landmark/navigate_destination/hop, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"ldb" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"ldl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/holy/directional/south, -/obj/machinery/light/cold/directional/south, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) +"ldb" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "ldq" = ( /turf/closed/wall, /area/station/maintenance/department/science/xenobiology) +"ldv" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 1 + }, +/obj/structure/rack, +/obj/effect/spawner/random/armory/riot_helmet, +/obj/effect/spawner/random/armory/bulletproof_helmet, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark/small, +/area/station/ai_monitored/security/armory) "ldx" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -31866,14 +31724,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"ldG" = ( -/obj/machinery/door/airlock/external/glass{ - name = "ATMOS PROJECT Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "ldJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -31884,28 +31734,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/textured_half, /area/station/security/brig) -"lee" = ( +"lec" = ( /obj/structure/cable, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) -"lei" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, +/obj/effect/turf_decal/stripes/line{ 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, -/turf/open/floor/iron/textured_half, -/area/station/service/chapel/office) +/turf/open/floor/iron, +/area/station/science/xenobiology) "lek" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner{ @@ -31919,39 +31755,6 @@ dir = 1 }, /area/station/medical/treatment_center) -"leB" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/dark_red, -/obj/effect/decal/cleanable/dirt, -/obj/item/food/gumball{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/cigarette/candy{ - pixel_x = -3; - pixel_y = 10 - }, -/obj/item/food/gumball{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/weldingtool/mini{ - pixel_x = 5; - pixel_y = -11 - }, -/obj/item/screwdriver{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/storage/box/prisoner{ - pixel_x = 5; - pixel_y = -12 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/security/processing) "leC" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -31960,6 +31763,19 @@ "leP" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"leR" = ( +/obj/machinery/light/small/directional/south{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) +"leT" = ( +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/office) "leU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31972,12 +31788,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lfc" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/science/ordnance/testlab) "lfd" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -32004,29 +31814,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"lfq" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Distro Staging to Distro" - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) -"lfs" = ( -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/half, -/area/station/hallway/primary/central/fore) -"lft" = ( -/obj/structure/sign/departments/restroom/directional/south, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "lfv" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -32036,6 +31823,17 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"lfB" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "lfC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32117,14 +31915,12 @@ /turf/open/floor/iron/small, /area/station/maintenance/department/electrical) "lgw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/stripes/corner{ +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/turf/open/floor/iron/dark/side, -/area/station/science/xenobiology) +/turf/open/floor/stone, +/area/station/service/chapel) "lgx" = ( /obj/structure/disposalpipe/junction/flip, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32138,10 +31934,6 @@ dir = 1 }, /area/station/hallway/primary/aft) -"lgD" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "lgG" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -32155,25 +31947,37 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"lgQ" = ( -/obj/machinery/computer/security/telescreen/cmo/directional/west, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) +"lgL" = ( +/obj/machinery/computer/security/telescreen/isolation/directional/north{ + name = "reflection room monitor" + }, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/east, +/obj/machinery/button/flasher{ + id = "IsolationFlash"; + pixel_x = 28; + pixel_y = 28 + }, +/turf/open/floor/iron/dark/small, +/area/station/security/execution/education) "lgV" = ( /obj/structure/table, /obj/item/camera, /turf/open/floor/iron, /area/station/security/prison/workout) -"lhi" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/button/door/directional/north{ - id = "vaco"; - name = "Comissary Shutters"; - pixel_x = 29 +"lhb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "lhl" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_x = 32; @@ -32216,6 +32020,13 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"lhA" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/security/tram) "lhP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -32229,30 +32040,20 @@ /obj/item/pickaxe, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"lhT" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, +"lhW" = ( +/obj/structure/flora/tree/jungle/small/style_4, +/turf/open/floor/grass, +/area/station/service/chapel) +"liy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"lir" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 10 }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"liw" = ( -/obj/effect/turf_decal/siding/wood/end{ +/turf/open/floor/iron/white/side{ dir = 8 }, -/obj/effect/landmark/navigate_destination/kitchen, -/turf/open/floor/wood, -/area/station/hallway/primary/central/aft) +/area/station/science/research) "liG" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -32274,17 +32075,10 @@ /obj/machinery/incident_display/tram/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"liJ" = ( -/obj/effect/landmark/start/chaplain, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) "liL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "liP" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/small, @@ -32293,23 +32087,6 @@ /obj/structure/lattice, /turf/open/misc/asteroid/airless, /area/space/nearstation) -"liS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/central) -"liT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "liX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -32318,23 +32095,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/rust, /area/station/maintenance/department/engine/atmos) -"ljg" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/obj/effect/turf_decal/weather/snow, -/obj/machinery/light/small/directional/north, -/obj/machinery/icecream_vat, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"lji" = ( -/obj/structure/flora/tree/jungle/style_2, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "ljl" = ( /obj/structure/lattice, /obj/structure/railing/corner{ @@ -32395,16 +32155,17 @@ }, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) -"ljT" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/obj/machinery/light/floor, -/obj/structure/flora/bush/sparsegrass, -/obj/structure/flora/bush/flowers_br, -/obj/structure/flora/bush/flowers_pp, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"ljU" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "ljZ" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -32412,11 +32173,6 @@ /obj/effect/turf_decal/bot, /obj/machinery/light/small/directional/west, /obj/machinery/light_switch/directional/south, -/obj/machinery/requests_console/directional/west{ - department = "Robotics"; - name = "Robotics Requests Console"; - pixel_y = -30 - }, /obj/effect/mapping_helpers/requests_console/ore_update, /obj/effect/mapping_helpers/requests_console/supplies, /obj/machinery/button/door/directional/west{ @@ -32424,13 +32180,16 @@ name = "Robotics Shutters"; pixel_y = 8 }, +/obj/machinery/requests_console/directional/south, /turf/open/floor/iron, /area/station/science/robotics/lab) "lka" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/security/prison/workout) "lkd" = ( @@ -32457,6 +32216,15 @@ /obj/item/pen, /turf/open/floor/iron, /area/station/security/prison/rec) +"lkv" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "lkI" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32466,19 +32234,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"lkJ" = ( -/obj/structure/flora/rock/pile/jungle/style_4, -/turf/open/floor/grass, -/area/station/service/chapel) -"lkN" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) "lkR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32501,12 +32256,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"llH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark/small, -/area/station/tcommsat/server) "llN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32543,21 +32292,14 @@ "llW" = ( /turf/closed/wall, /area/station/ai_monitored/security/armory) -"llY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) "lmb" = ( /obj/structure/cable, /obj/machinery/door/airlock{ name = "Xenobiology Maintenance" }, -/obj/structure/barricade/wooden, +/obj/structure/barricade/wooden{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) @@ -32565,33 +32307,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) -"lmm" = ( -/mob/living/basic/frog, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/structure/flora/rock/pile/jungle/style_4, -/obj/structure/flora/bush/flowers_pp/style_2, -/turf/open/floor/grass, -/area/station/service/chapel) -"lmo" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix Outlet Pump" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "lmv" = ( /obj/structure/disposalpipe/segment, /obj/item/kirbyplants/random, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) -"lmz" = ( -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"lmJ" = ( -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "lmR" = ( /obj/structure/dresser, /obj/structure/sign/poster/contraband/random/directional/east, @@ -32619,83 +32339,22 @@ dir = 4 }, /area/station/hallway/secondary/construction) -"lnD" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/rag{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = 5; - pixel_y = 16 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -7; - pixel_y = 15 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "lnI" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/ore_box, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"lnM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/window/brigdoor/right/directional/north{ - atom_integrity = 300; - name = "AI Core Chamber Access"; - req_access = list("ai_upload") - }, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) -"lnN" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/structure/table, -/obj/item/reagent_containers/cup/bottle/mutagen{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = -3; - pixel_y = -1 - }, -/obj/item/reagent_containers/cup/watering_can{ - pixel_x = 7; - pixel_y = 13 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 6; - pixel_y = 1 +"lnK" = ( +/obj/machinery/camera/directional/north{ + c_tag = "atmospherics - upper" }, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/official/random/directional/north, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, -/area/station/service/hydroponics) -"lnW" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) +/area/station/engineering/atmos) +"lnQ" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/hallway/secondary/dock) "lnZ" = ( /obj/effect/turf_decal/tile/dark_red, /obj/effect/decal/cleanable/dirt, @@ -32744,30 +32403,33 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"lox" = ( -/obj/effect/turf_decal/siding/red{ +"loA" = ( +/obj/effect/turf_decal/arrows/red{ + dir = 4; + pixel_x = -15 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron/white/small, -/area/station/security/warden) +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "loL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"lps" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/computer/atmos_control/nocontrol/master{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/light/no_nightlight/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) "lpC" = ( /turf/open/floor/plating, /area/station/service/chapel/funeral) +"lpD" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "lpJ" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -32799,6 +32461,19 @@ /obj/machinery/duct, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"lpZ" = ( +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"lqb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "lqd" = ( /obj/effect/turf_decal/siding/red{ dir = 10 @@ -32825,35 +32500,25 @@ }, /turf/open/floor/iron/white/side, /area/station/hallway/primary/starboard) -"lqh" = ( -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/south, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -17; - pixel_y = 2 - }, -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/flora/bush/flowers_yw, -/obj/structure/flora/bush/lavendergrass, -/turf/open/floor/grass, -/area/station/service/hydroponics) "lql" = ( /turf/open/floor/wood/parquet, /area/station/service/library) -"lqq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/chapel, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +"lqm" = ( +/obj/structure/table/wood, +/turf/open/floor/stone, +/area/station/service/bar) "lqt" = ( /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/tile, /area/station/command/heads_quarters/hop) +"lqv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "lqC" = ( /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) @@ -32861,18 +32526,16 @@ /obj/effect/landmark/transport/nav_beacon/tram/platform/birdshot/prison_wing, /turf/open/floor/tram, /area/station/security/tram) -"lqQ" = ( +"lra" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/extinguisher_cabinet/directional/north, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/wood/parquet, +/area/station/service/library) "lrh" = ( /obj/structure/cable, /obj/effect/spawner/random/trash, @@ -32896,44 +32559,50 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"lrQ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "lsh" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 +/obj/structure/table/reinforced, +/obj/item/folder/blue{ + pixel_y = 2 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/service/barber) -"lst" = ( -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Access" +/obj/item/pen, +/obj/machinery/airalarm/directional/south, +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) +"lsu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"lsy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/junction/flip{ dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"lsF" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "lsO" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/white/side{ dir = 1 }, /area/station/science/lower) -"lsP" = ( -/obj/structure/flora/grass/jungle/b/style_5, -/turf/open/floor/grass, -/area/station/service/chapel) +"lsU" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) +"lsX" = ( +/obj/machinery/atmospherics/components/binary/tank_compressor, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "lsY" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -32941,15 +32610,6 @@ dir = 1 }, /area/station/security/execution/transfer) -"lte" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "lto" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -32965,20 +32625,26 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/plating, /area/station/security/tram) -"ltr" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 6 +"lts" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"ltE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/circuit, +/area/station/tcommsat/server) +"ltB" = ( +/obj/machinery/vending/coffee, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"ltO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/stairs{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ dir = 1 }, -/area/station/engineering/storage/tech) +/turf/open/floor/wood/parquet, +/area/station/service/library) "ltP" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/siding/wood{ @@ -32989,29 +32655,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"ltQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/prison) -"ltU" = ( -/obj/machinery/door/poddoor{ - id = "Secure Storage top"; - name = "Secure Storage" - }, -/obj/effect/turf_decal/stripes/line{ +"ltV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/storage_shared) -"luc" = ( -/obj/machinery/door/airlock{ - id_tag = "ShowerToilet1"; - name = "Toilet" - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "lun" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/command/general, @@ -33049,28 +32701,21 @@ }, /turf/open/floor/wood/parquet, /area/station/service/greenroom) +"luE" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/storage/gas) "luG" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"luP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/obj/effect/landmark/navigate_destination/chapel, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "lvc" = ( /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"lve" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/station/science/xenobiology) "lvk" = ( /obj/structure/railing{ dir = 4 @@ -33078,14 +32723,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"lvr" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/landmark/navigate_destination/bar, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "lvu" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -33096,29 +32733,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/office) -"lvv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) -"lvy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "lvA" = ( /obj/structure/table/wood/fancy/red, /obj/item/clothing/head/costume/witchwig{ @@ -33131,10 +32745,14 @@ }, /turf/open/floor/wood/parquet, /area/station/service/greenroom) -"lvJ" = ( -/obj/structure/flora/bush/flowers_br, -/turf/open/floor/grass, -/area/station/service/chapel) +"lvI" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/storage/tools) "lvK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -33185,21 +32803,14 @@ dir = 1 }, /area/station/security/execution/transfer) -"lwu" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"lwC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 4 +"lwz" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/machinery/shower/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/engineering/main) "lwI" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/computer/security/mining{ @@ -33208,20 +32819,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"lwK" = ( -/turf/closed/wall/r_wall/rust, -/area/station/engineering/atmos/storage) -"lwO" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "Engine Room" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engine_airlock_2" - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/supermatter/room) "lwW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -33241,10 +32838,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/engine, /area/station/science/explab) -"lxm" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "lxo" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33253,14 +32846,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lxp" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Dorms" - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/commons/fitness/locker_room) "lxy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33269,7 +32854,9 @@ name = "Mining Office" }, /obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/cargo/miningoffice) "lxI" = ( @@ -33286,6 +32873,15 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"lxU" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_2, +/obj/structure/flora/bush/large/style_random{ + pixel_x = 0; + pixel_y = 2 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "lxZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/red{ @@ -33313,12 +32909,6 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/psychology) -"lyq" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) "lyt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -33327,6 +32917,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"lyw" = ( +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "lyQ" = ( /obj/structure/table, /obj/item/storage/photo_album/prison, @@ -33383,22 +32978,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/storage) -"lzB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"lzG" = ( -/obj/structure/flora/bush/jungle/c/style_3{ - pixel_x = -7; - pixel_y = 10 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "lzM" = ( /turf/closed/wall, /area/station/security/tram) @@ -33407,7 +32986,9 @@ /obj/machinery/door/airlock/command{ name = "Council Chambers" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron/dark/textured_half{ dir = 1 @@ -33421,23 +33002,6 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/grass, /area/station/cargo/storage) -"lzW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/invisible{ - pixel_x = -2; - pixel_y = 7 - }, -/obj/machinery/newscaster/directional/north, -/obj/item/storage/photo_album/library, -/turf/open/floor/iron/grimy, -/area/station/service/library) "lAk" = ( /obj/effect/turf_decal/siding/white{ dir = 9 @@ -33458,6 +33022,32 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"lAE" = ( +/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/engineering/tcoms, +/obj/machinery/door/airlock/command/glass{ + name = "Telecommunications Server Room" + }, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-north" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) +"lAH" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light/no_nightlight/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) +"lAM" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/kirbyplants/organic/plant22, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "lAO" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -33490,13 +33080,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"lAV" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"lAW" = ( +/obj/structure/sign/departments/restroom/directional/south, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "lBf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -33506,6 +33099,11 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"lBl" = ( +/obj/item/radio/intercom/directional/south, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/lawoffice) "lBm" = ( /obj/effect/turf_decal/stripes/box, /obj/structure/disposalpipe/trunk, @@ -33546,42 +33144,11 @@ }, /turf/open/space/basic, /area/space/nearstation) -"lBq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/small, -/area/station/medical/medbay/lobby) "lBy" = ( /obj/structure/railing, /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"lBz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/tools, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "lBN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security{ @@ -33591,15 +33158,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/detective, /turf/open/floor/iron/textured_half, /area/station/security/detectives_office) -"lCb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering - Supermatter Chamber" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "lCg" = ( /obj/structure/chair{ dir = 4 @@ -33638,71 +33196,80 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/engineering/lobby) +"lCE" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "lCK" = ( -/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark/smooth_large, +/area/station/service/lawoffice) +"lCM" = ( +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "lCN" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/aft) +"lCQ" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "lCS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/door/airlock/maintenance{ - name = "Coroner Office Maintenance" + name = "Coroner Office Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/medical/coroner, /turf/open/floor/plating, /area/station/medical/morgue) -"lCT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) -"lDc" = ( +"lDm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/command{ - name = "Telecomms Server Room" +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/tcommsat/server) -"lDo" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/indigo, -/obj/machinery/atmospherics/pipe/smart/simple/orange, -/turf/open/space/basic, -/area/space/nearstation) -"lDp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) +"lDn" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 8 }, -/obj/effect/landmark/navigate_destination/gateway, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"lDr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"lDw" = ( +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) +"lDB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/stool/directional/south, /turf/open/floor/iron, -/area/station/science/ordnance/testlab) +/area/station/cargo/sorting) "lDI" = ( /obj/structure/rack, /obj/item/storage/belt/utility/full, @@ -33716,6 +33283,15 @@ /obj/item/clothing/head/utility/welding, /turf/open/floor/iron, /area/station/science/robotics/lab) +"lDW" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/structure/flora/bush/jungle/c/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "lEa" = ( /turf/open/floor/iron/half, /area/station/hallway/primary/central/fore) @@ -33726,34 +33302,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lEm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron/dark, -/area/station/cargo/office) -"lEs" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 +"lEk" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 5 }, -/obj/machinery/computer/order_console/cook{ +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"lEB" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "lEJ" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4 }, /obj/machinery/conveyor{ dir = 8; @@ -33774,59 +33341,30 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/stone, /area/station/command/heads_quarters/captain/private) -"lEN" = ( -/obj/structure/chair/sofa/right{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/item/toy/plush/pkplush{ - name = "Bruder" - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/aft) -"lEO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/glass, -/obj/item/flashlight/lamp/green{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/taperecorder{ - pixel_x = -15; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/library) "lER" = ( /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"lFd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lFg" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) -"lFm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"lFp" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - N2" }, -/turf/open/floor/wood, -/area/station/service/chapel) -"lFq" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/exodrone_launcher, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "lFG" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/red, @@ -33834,11 +33372,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) -"lGd" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +"lFS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/science/ordnance/testlab) "lGe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33865,6 +33409,10 @@ /obj/structure/table/reinforced/plastitaniumglass, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) +"lGy" = ( +/obj/structure/flora/bush/jungle/a/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "lGE" = ( /obj/machinery/computer/gateway_control{ dir = 1 @@ -33872,6 +33420,9 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/smooth, /area/station/command/gateway) +"lGH" = ( +/turf/open/floor/iron/dark/small, +/area/station/science/xenobiology) "lGK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33887,41 +33438,22 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/science/lower) -"lGO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sink/directional/west, -/turf/open/floor/iron, -/area/station/security/prison/garden) "lGT" = ( /obj/structure/chair/stool/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) -"lHb" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/robotics, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) +"lGX" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "lHc" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"lHd" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "lHe" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/carpet/donk, @@ -33944,11 +33476,12 @@ dir = 1 }, /area/station/science/lower) -"lHp" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 +"lHo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/eighties/red, +/obj/structure/cable, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) "lHt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33956,9 +33489,18 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"lHz" = ( -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/port/aft) +"lHy" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/half, +/area/station/hallway/primary/central/fore) +"lHI" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "lHJ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -33986,7 +33528,9 @@ name = "Quartermaster's Bedroom" }, /obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/structure/cable, /turf/open/floor/iron/dark/textured_half{ dir = 1 @@ -33998,12 +33542,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) -"lHZ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +"lHX" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Cubicle" }, -/turf/closed/wall, -/area/station/hallway/primary/central/aft) +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/cubicle) "lIa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34014,7 +33560,8 @@ dir = 8 }, /obj/machinery/door/airlock/silver{ - name = "Bathroom" + name = "Bathroom"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/command/captain, /turf/open/floor/iron/dark/textured_half{ @@ -34090,35 +33637,31 @@ dir = 8 }, /area/station/science/xenobiology) +"lIX" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) "lJe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"lJg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ +"lJD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/sofa/bench/right{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"lJq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/turf/open/floor/engine/air, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) +"lJG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/closed/wall/r_wall, /area/station/engineering/atmos) -"lJB" = ( -/obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - name = "Private Channel"; - pixel_x = -26 - }, -/obj/machinery/computer/security/telescreen/aiupload/directional/west, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "lJV" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, @@ -34131,26 +33674,19 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) -"lKg" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "lKh" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"lKs" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Recreation" +"lKq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/commons/fitness/recreation/entertainment) +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lKA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -34165,13 +33701,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"lKB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "lKG" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, @@ -34190,9 +33719,39 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron/dark/smooth_half, /area/station/cargo/bitrunning/den) +"lKM" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "lKV" = ( -/turf/open/floor/iron/smooth, -/area/station/commons/storage/tools) +/obj/item/aicard, +/obj/item/pai_card, +/obj/item/circuitboard/aicore, +/obj/machinery/keycard_auth/wall_mounted/directional/north{ + pixel_x = -5 + }, +/obj/machinery/button/door/directional/north{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Control"; + pixel_x = 8; + req_access = list("rd") + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table/glass, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) +"lKY" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Cubicle" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "lLb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security/glass{ @@ -34210,17 +33769,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"lLi" = ( -/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{ - name = "Drone Bay" +"lLg" = ( +/obj/effect/turf_decal/siding/red{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) +/turf/open/floor/iron/small, +/area/station/security/office) "lLq" = ( /obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/oil, @@ -34235,6 +33789,13 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"lLz" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/grass, +/area/station/service/chapel) "lLA" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -34293,6 +33854,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) +"lMu" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "lMF" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -34303,22 +33873,42 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"lMH" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"lML" = ( +/obj/structure/chair{ + dir = 8 }, -/turf/open/floor/iron/grimy, -/area/station/service/library) +/turf/open/floor/iron/dark, +/area/station/security/interrogation) +"lMN" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"lMQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"lMR" = ( +/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/research{ + name = "Robotics Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/robotics, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/lab) "lNf" = ( /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"lNk" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "lNp" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -34354,19 +33944,6 @@ }, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"lNF" = ( -/obj/effect/spawner/random/entertainment/lighter, -/obj/item/cigarette/rollie/mindbreaker{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/cigarette/rollie/trippy{ - pixel_x = 4 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/greater) "lNJ" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -34376,11 +33953,17 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"lNN" = ( -/obj/structure/table, -/obj/item/toy/foamblade, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) +"lNM" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "lNQ" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/firealarm/directional/north, @@ -34408,6 +33991,15 @@ "lOj" = ( /turf/closed/wall, /area/station/cargo/miningoffice) +"lOF" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/chair{ + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "lOG" = ( /obj/structure/table, /obj/item/stack/spacecash/c1{ @@ -34448,6 +34040,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"lPz" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lPC" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -34464,12 +34063,6 @@ /obj/machinery/announcement_system, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"lPK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lPO" = ( /obj/structure/table, /obj/item/surgery_tray/full{ @@ -34480,13 +34073,30 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/execution/education) +"lPP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"lQg" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/science/xenobiology) "lQh" = ( /turf/open/floor/iron/small, /area/station/maintenance/port/aft) -"lQs" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron/small, -/area/station/maintenance/port/lesser) "lQu" = ( /obj/machinery/light/broken/directional/south, /obj/effect/spawner/random/trash/bin, @@ -34495,6 +34105,10 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"lQz" = ( +/obj/machinery/door/poddoor/incinerator_atmos_aux, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "lQA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34504,6 +34118,13 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"lQL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "lQR" = ( /obj/effect/turf_decal/caution{ dir = 4 @@ -34511,11 +34132,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/terracotta/small, /area/station/security/checkpoint/escape) -"lQU" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, +"lQV" = ( /obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "lQZ" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -34551,61 +34175,38 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"lRm" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/science/xenobiology) -"lRy" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"lRK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"lRo" = ( +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white/corner{ dir = 8 }, -/obj/effect/turf_decal/siding/wideplating{ +/area/station/hallway/secondary/dock) +"lRv" = ( +/obj/machinery/status_display/evac/directional/north, +/turf/open/misc/dirt/station, +/area/station/service/chapel) +"lRP" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"lRZ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 8 }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) -"lRM" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/trimline/neutral/line{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=21.0-Bar-Porthall"; + location = "20.0-CentralPort-Bar" }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"lRU" = ( -/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/dark/herringbone, -/area/station/ai_monitored/command/nuke_storage) -"lRV" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/dark_red{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) "lSb" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -34615,15 +34216,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lSh" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"lSc" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + 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/maintenance/hallway/abandoned_command) +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "lSu" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -34633,10 +34232,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"lSy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) "lSI" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34653,24 +34248,27 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"lTa" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +"lSZ" = ( +/obj/machinery/light/dim/directional/west, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "lTg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"lTn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lTt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34687,16 +34285,6 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/storage) -"lTy" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) "lTA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -34719,22 +34307,18 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"lUl" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L1"; - pixel_y = -15 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "lUo" = ( /turf/open/floor/iron, /area/station/science/lobby) +"lUr" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 6 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "lUz" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -34789,6 +34373,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"lVi" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/light/small/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "lVv" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/siding/yellow{ @@ -34797,6 +34389,12 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/wood, /area/station/engineering/break_room) +"lVx" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar) "lVy" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 8 @@ -34829,31 +34427,43 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"lVZ" = ( +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/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/dark/textured, +/area/station/engineering/atmos/office) +"lWf" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "lWk" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron/large, /area/station/hallway/primary/central/fore) -"lWp" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west, -/obj/item/clothing/head/costume/paper_hat{ - pixel_y = 12; - pixel_x = -4 +"lWq" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/closed/wall, +/area/station/hallway/primary/central/aft) +"lWy" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Dormatories"; + dir = 4 }, -/obj/item/clothing/head/collectable/petehat{ - pixel_x = 5; - pixel_y = -5 +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/item/cigarette/cigar/cohiba{ - pixel_y = 4 +/obj/structure/cable, +/turf/open/floor/iron/textured_half{ + dir = 8 }, -/turf/open/floor/iron/dark/small, /area/station/commons/fitness/locker_room) -"lWz" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "lWF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34866,6 +34476,10 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"lWK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/chapel) "lWR" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -34888,11 +34502,6 @@ }, /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) -"lWV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "lWY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -34929,16 +34538,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) -"lXw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/radiation/rad_area/directional/east, -/turf/open/floor/iron/stairs/right{ - dir = 1 - }, -/area/station/maintenance/hallway/abandoned_command) "lXC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -34972,21 +34571,16 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"lXU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +"lXX" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/obj/machinery/light/cold/directional/north, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"lXX" = ( -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/hallway/primary/port) "lXY" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -34995,6 +34589,12 @@ /obj/item/banner/cargo, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) +"lYc" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "lYf" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35008,34 +34608,12 @@ "lYj" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) -"lYl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"lYo" = ( +/obj/structure/easel, +/obj/item/canvas/twentythree_twentythree, +/obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"lYt" = ( -/obj/structure/table/wood/fancy/green, -/obj/item/storage/wallet{ - pixel_x = -3; - pixel_y = 10 - }, -/obj/item/cigarette/cigar{ - pixel_x = -1; - pixel_y = -2 - }, -/obj/item/lighter{ - pixel_x = 11; - pixel_y = -7 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/qm) +/area/station/commons/storage/art) "lYw" = ( /obj/structure/hedge, /obj/item/radio/intercom/directional/south, @@ -35059,20 +34637,22 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"lYJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/service/lawoffice) "lYT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"lYV" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "lZa" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -35086,29 +34666,9 @@ }, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"lZf" = ( -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 - }, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"lZr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"lZh" = ( +/turf/closed/mineral/random/stationside, +/area/station/maintenance/fore/greater) "lZt" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -35169,33 +34729,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"lZP" = ( -/obj/structure/table, -/obj/item/clothing/head/fedora/det_hat/minor{ - pixel_x = 7; - pixel_y = 9 - }, -/obj/item/toy/eightball{ - pixel_x = -4 +"lZZ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/window/left/directional/east{ + name = "Mass Driver Door"; + req_access = list("ordnance") }, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) -"lZR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"lZT" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/effect/turf_decal/weather/dirt{ +/turf/open/floor/iron/dark/side{ dir = 4 }, -/turf/open/floor/grass, -/area/station/service/chapel) -"mae" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/service/bar) +/area/station/science/ordnance/testlab) "maf" = ( /turf/closed/wall/rust, /area/station/hallway/primary/fore) @@ -35204,19 +34747,26 @@ /obj/effect/spawner/random/trash, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"mak" = ( -/obj/machinery/computer/communications{ - dir = 1 - }, -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/captain) +"maq" = ( +/obj/effect/spawner/random/maintenance, +/obj/structure/rack, +/turf/open/floor/plating, +/area/station/service/bar) "mau" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/white/small, /area/station/science/cubicle) +"max" = ( +/obj/structure/window/spawner/directional/north, +/obj/machinery/light/small/directional/south, +/obj/structure/flora/bush/jungle, +/obj/structure/flora/rock/pile/style_2{ + pixel_x = -20 + }, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/locker_room) "maE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35227,23 +34777,23 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"maK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"maG" = ( +/obj/effect/landmark/navigate_destination/dockescpod, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "maL" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 }, /turf/open/floor/sepia, /area/station/maintenance/aft) +"maS" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "mbp" = ( /obj/structure/hedge, /obj/machinery/light_switch/directional/east, @@ -35255,21 +34805,20 @@ /obj/machinery/pdapainter/medbay, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) +"mbu" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mbG" = ( /obj/structure/fluff/broken_canister_frame, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"mbP" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/requests_console/directional/north{ - name = "Atmospherics Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) +"mbU" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "mbV" = ( /obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/eighties/red, @@ -35287,17 +34836,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mcj" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/rcl/pre_loaded, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 17 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/secure_safe/directional/east, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "mcl" = ( /obj/structure/alien/weeds, /obj/effect/gibspawner/xeno, @@ -35316,28 +34854,51 @@ /obj/machinery/holopad, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"mct" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/stripes/line, +"mcr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, /turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/area/station/engineering/supermatter) "mcv" = ( /obj/effect/turf_decal/siding/brown, /obj/structure/table/reinforced/plastitaniumglass, /obj/item/phone, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"mcI" = ( +"mcw" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 6 + }, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/xenobiology) +"mcA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ - dir = 4 + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"mcH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/plaque{ + icon_state = "L2"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/hallway/primary/central/aft) "mcP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35346,22 +34907,15 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"mcS" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"mcV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"mdh" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "mdm" = ( /obj/structure/chair/office/light{ dir = 8 @@ -35376,14 +34930,13 @@ "mdt" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/mechbay) -"mdG" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) +"mdF" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "mdX" = ( /obj/machinery/light/small/directional/north, /obj/machinery/conveyor_switch{ @@ -35398,14 +34951,30 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/engine/atmos) -"mei" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +"meq" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "meu" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain) +"meE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "meG" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35430,6 +34999,10 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"meO" = ( +/obj/structure/flora/bush/jungle/a/style_3, +/turf/open/misc/dirt/station, +/area/station/service/chapel) "mfl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -35465,6 +35038,12 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) +"mfQ" = ( +/obj/structure/cable, +/obj/structure/hedge, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) "mfR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -35484,34 +35063,23 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) -"mgF" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Project Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"mgR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 9 - }, -/turf/open/floor/iron, +"mgy" = ( +/turf/closed/wall, +/area/station/service/barber) +"mgO" = ( +/obj/machinery/air_sensor/carbon_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/co2, /area/station/engineering/atmos) -"mgW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +"mgQ" = ( +/obj/structure/water_source/puddle, +/turf/open/misc/asteroid, +/area/station/maintenance/starboard/greater) +"mhb" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "mhk" = ( /turf/closed/wall, /area/station/maintenance/port/greater) @@ -35524,6 +35092,31 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"mhA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"mhB" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"mhD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mhV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35531,20 +35124,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"mhZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/lawoffice) -"mib" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "mid" = ( /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, @@ -35572,29 +35151,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"miF" = ( -/turf/open/floor/stone, -/area/station/service/chapel) -"miP" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/small, -/area/station/service/barber) -"miQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"mjc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "mjf" = ( /obj/structure/table/reinforced/rglass, /obj/machinery/door/window/left/directional/west{ @@ -35608,24 +35164,34 @@ /obj/item/clothing/under/costume/skeleton, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"mjr" = ( -/obj/machinery/vending/dinnerware, -/obj/machinery/requests_console/auto_name/directional/south, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"mjt" = ( -/obj/machinery/computer/atmos_control/nitrous_tank, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"mjl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/commons/fitness/recreation/entertainment) +"mjq" = ( +/obj/effect/turf_decal/bot/right, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "mjF" = ( /obj/structure/table/glass, /obj/item/clothing/suit/costume/cyborg_suit, /obj/item/clothing/head/costume/tv_head, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"mjM" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "mjN" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -35661,36 +35227,11 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) -"mka" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/hydro, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"mkh" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/cafeteria, -/area/station/science/breakroom) "mks" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"mkt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "mkA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35709,11 +35250,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) -"mkN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) "mkO" = ( /obj/structure/filingcabinet, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -35722,6 +35258,18 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) +"mkQ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"mkW" = ( +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/small, +/area/station/security/office) "mkZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wood{ @@ -35730,27 +35278,19 @@ /obj/machinery/light/floor, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"mle" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"mlg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, +/obj/machinery/door/airlock/command{ + name = "Research Division Server Room" }, -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white/textured_large, -/area/station/command/heads_quarters/cmo) +/obj/effect/mapping_helpers/airlock/access/all/science/rd, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/server) "mlm" = ( /obj/structure/cable, /obj/structure/alien/weeds, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"mlp" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "mlr" = ( /obj/structure/chair/office/light{ dir = 4 @@ -35765,26 +35305,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"mlD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, +"mlt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/junction, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"mlK" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/lawoffice) "mlN" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -35792,6 +35318,12 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"mlO" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light_switch/directional/west, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "mms" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -35800,7 +35332,8 @@ "mmw" = ( /obj/machinery/door/poddoor/shutters{ id = "evashutter"; - name = "E.V.A. Storage Shutter" + name = "E.V.A. Storage Shutter"; + dir = 4 }, /obj/effect/turf_decal/delivery, /turf/open/floor/iron/smooth_half{ @@ -35825,6 +35358,18 @@ dir = 1 }, /area/station/science/xenobiology) +"mmB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "mmE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35833,16 +35378,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"mmL" = ( -/obj/effect/turf_decal/siding/wood{ +"mmP" = ( +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "mmT" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -35855,6 +35397,12 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/electrical) +"mmV" = ( +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/security/warden) "mnb" = ( /obj/effect/turf_decal/stripes/white/corner{ dir = 4 @@ -35871,9 +35419,12 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/security/glass{ - name = "Security Office" + name = "Security Office"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/structure/cable, @@ -35887,14 +35438,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"mnl" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/coffeemaker/impressa, -/obj/item/coffee_cartridge/decaf{ - pixel_y = 9 - }, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) "mnw" = ( /obj/effect/spawner/random/vending/colavend, /obj/machinery/firealarm/directional/east, @@ -35907,24 +35450,13 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"mnC" = ( -/obj/structure/table, -/obj/item/phone{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/reagent_containers/cup/glass/mug/britcup{ - pixel_x = -6; - pixel_y = 11 - }, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) -"mnH" = ( -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/effect/landmark/start/hangover, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +"mnJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "mnN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35937,43 +35469,52 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) +"mnQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/tcommsat/server) "mnZ" = ( /obj/machinery/computer/cargo{ dir = 4 }, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/cargo/storage) "mog" = ( -/obj/machinery/oven/range, -/obj/machinery/airalarm/directional/north, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/turf_decal/siding/end{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 10 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) -"moj" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" +/obj/structure/table, +/obj/item/cigarette, +/obj/item/toy/toy_dagger, +/obj/item/clothing/head/collectable/paper, +/obj/item/toy/figure/roboticist{ + pixel_x = 6; + pixel_y = 6 }, -/obj/effect/mapping_helpers/airlock/access/any/command/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +/obj/item/toy/figure/syndie{ + pixel_y = 5; + pixel_x = -6 }, -/obj/structure/disposalpipe/junction{ - dir = 4 +/obj/item/toy/figure/md{ + pixel_x = 10 }, -/turf/open/floor/plating, -/area/station/maintenance/hallway/abandoned_command) -"mok" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Cytology Lab" +/obj/item/toy/figure/hop{ + pixel_x = 2; + pixel_y = -2 }, -/obj/effect/mapping_helpers/airlock/access/all/science/research, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) +/obj/item/toy/figure/ian{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/toy/figure/lawyer{ + pixel_x = -10 + }, +/obj/item/toy/figure/detective, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mos" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, @@ -35986,39 +35527,99 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"moG" = ( -/obj/effect/spawner/random/trash, +"moB" = ( /obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) +"moG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"moN" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/components/binary/volume_pump, -/obj/structure/railing{ +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"moL" = ( +/obj/machinery/computer/monitor{ dir = 1 }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat/equipment) +"moY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "mpk" = ( /obj/machinery/airalarm/directional/south, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) -"mpl" = ( -/obj/machinery/computer/slot_machine{ - pixel_y = 2 +"mps" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "N2O to Pure" }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) -"mpy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/turf/open/floor/iron, +/area/station/engineering/atmos) +"mpw" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/machinery/shower/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/engineering/break_room) +"mpz" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/structure/rack, +/obj/item/circuitboard/machine/thermomachine{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/circuitboard/machine/thermomachine{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) +"mpB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/no_nightlight/directional/north, +/obj/effect/turf_decal/siding/wideplating{ dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/medical/psychology) +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) +"mpD" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "N2 to Airmix" + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"mpP" = ( +/obj/structure/cable, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "mpQ" = ( /obj/structure/bed{ dir = 4 @@ -36030,23 +35631,23 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/small, /area/station/security/brig) -"mql" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/light/warm/directional/south, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/iron, -/area/station/commons/dorms) -"mqn" = ( -/obj/effect/turf_decal/stripes/corner{ +"mpZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/structure/chair{ - pixel_y = -2 +/turf/open/floor/iron/dark/small, +/area/station/tcommsat/server) +"mqo" = ( +/obj/machinery/button/door/directional/north{ + name = "Lock Control"; + id = "Toilet3"; + specialfunctions = 4; + normaldoorcontrol = 1 }, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/obj/machinery/recharge_station, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "mqz" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -36067,11 +35668,13 @@ /obj/item/wrench, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"mrc" = ( -/obj/effect/landmark/atmospheric_sanity/ignore_area, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/eighties/red, -/area/station/service/abandoned_gambling_den/gaming) +"mqP" = ( +/obj/structure/reagent_dispensers/fueltank/large, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "mrh" = ( /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/medical/surgery, @@ -36080,24 +35683,22 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"mrn" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "mrt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"mrB" = ( +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) +"mrK" = ( +/obj/machinery/space_heater, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "mrP" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -36123,54 +35724,39 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"msk" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L3"; - pixel_y = -15 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"msn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/research{ + name = "Mech Bay" }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/obj/effect/mapping_helpers/airlock/access/all/science/robotics, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/mechbay) "msq" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) -"mss" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Cooling Loop Bypass" - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "msy" = ( /obj/machinery/door/airlock/mining/glass{ name = "Cargo Bay" }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/cargo/storage) "msJ" = ( /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"mtc" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/screwdriver, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) +"mtg" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/service/bar) "mtP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36220,6 +35806,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"muB" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/aft) "muI" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -36246,21 +35839,32 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/wood/tile, /area/station/command/meeting_room) -"mvd" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"muX" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "mvh" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/holopad, /turf/open/floor/glass/reinforced, /area/station/command/bridge) +"mvi" = ( +/obj/effect/landmark/start/librarian, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"mvl" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix Outlet Pump" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mvo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/telecomms/bus/preset_three, @@ -36273,10 +35877,31 @@ }, /turf/open/floor/iron, /area/station/security/brig/entrance) +"mvx" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "mvC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/hallway/secondary/entry) +"mvO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "mvP" = ( /obj/machinery/smartfridge/organ, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -36336,15 +35961,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) -"mwK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "mwN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -36372,15 +35988,21 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/warden) -"mxp" = ( -/obj/structure/table, -/obj/structure/railing/corner{ +"mxl" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/sofa/bench/right{ dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"mxw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "mxM" = ( /obj/structure/barricade/wooden/crude, /turf/open/floor/noslip, @@ -36394,14 +36016,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"mxS" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/hallway/primary/central/aft) "mya" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36412,43 +36026,41 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mye" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 +"myc" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 }, -/obj/structure/flora/rock/pile/jungle/style_5{ - pixel_y = -5; - pixel_x = -8 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/grass, -/area/station/service/chapel) -"myl" = ( -/obj/machinery/shower/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ +/turf/open/floor/iron/dark/side{ dir = 8 }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) +/area/station/science/xenobiology) +"myq" = ( +/obj/structure/cable, +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/wood/tile, +/area/station/service/lawoffice) "myt" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron, /area/station/security/processing) -"myy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south{ - pixel_y = -31 - }, -/obj/effect/landmark/start/security_officer, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/security/office) +"myD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "myM" = ( /obj/structure/window/spawner/directional/north, /obj/structure/window/spawner/directional/south, @@ -36470,6 +36082,22 @@ /obj/item/clothing/mask/breath, /turf/open/floor/plating, /area/station/command/teleporter) +"myZ" = ( +/obj/structure/rack, +/obj/item/binoculars, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) +"mza" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/court/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mzb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36479,15 +36107,6 @@ /obj/item/paper/fluff/jobs/engineering/frequencies, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) -"mze" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "mzf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -36502,6 +36121,26 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"mzm" = ( +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_x = -2; + pixel_y = 2 + }, +/obj/structure/table, +/obj/item/stack/sheet/rglass{ + amount = 30; + pixel_x = 2; + pixel_y = -2 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "mzo" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table, @@ -36512,16 +36151,6 @@ /obj/item/stock_parts/subspace/amplifier, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"mzs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"mzx" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage) "mzz" = ( /obj/structure/hedge, /obj/machinery/camera/directional/east, @@ -36531,12 +36160,15 @@ "mzM" = ( /turf/open/floor/iron/stairs, /area/station/hallway/primary/central/fore) -"mAi" = ( -/obj/structure/closet/crate/trashcart/filled, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) +"mAp" = ( +/obj/item/storage/backpack/duffelbag/sec{ + pixel_x = -15; + pixel_y = 7 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/office) "mAs" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical{ @@ -36556,6 +36188,11 @@ /obj/machinery/light/small/directional/east, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) +"mAC" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/carbon/human/species/monkey/punpun, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "mAL" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, @@ -36568,17 +36205,14 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"mAR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, +"mAX" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/light/small/directional/east, +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/commons/fitness/recreation/entertainment) "mBo" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -36590,6 +36224,17 @@ /obj/structure/sign/poster/official/soft_cap_pop_art/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"mBZ" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/service/library) "mCf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external/glass{ @@ -36598,6 +36243,26 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/hallway/secondary/dock) +"mCg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"mCk" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"mCn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar) "mCt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36611,6 +36276,17 @@ dir = 4 }, /area/station/hallway/secondary/construction) +"mCA" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/requests_console/directional/north{ + name = "Atmospherics Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) "mCF" = ( /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/construction) @@ -36619,20 +36295,42 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"mDb" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/cable, +"mCM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L6"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"mCR" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine"; + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"mDf" = ( -/obj/structure/chair/wood{ +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar) +/area/station/hallway/primary/central/fore) +"mCV" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "mDh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36649,16 +36347,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"mDA" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole{ - dir = 1 - }, -/obj/structure/sign/painting/library{ - pixel_x = 30 +"mDr" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = 3 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/structure/flora/bush/generic, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/locker_room) "mDG" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -36666,28 +36363,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"mDJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"mDL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/half, -/area/station/hallway/primary/central/fore) -"mDS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "mDW" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36698,6 +36373,10 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) +"mEi" = ( +/obj/effect/turf_decal/tile/neutral/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) "mEq" = ( /obj/structure/closet/crate/wooden{ name = "Alms Box" @@ -36705,6 +36384,16 @@ /obj/effect/spawner/random/entertainment/money_medium, /turf/open/floor/iron/dark/smooth_corner, /area/station/maintenance/starboard/greater) +"mEs" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) "mEy" = ( /obj/machinery/conveyor{ dir = 8; @@ -36716,12 +36405,6 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"mEA" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "mEB" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -36735,6 +36418,28 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white, /area/station/science/cytology) +"mEQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"mER" = ( +/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) +"mES" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/security/detectives_office) "mET" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -36743,7 +36448,6 @@ /turf/open/floor/tram, /area/station/maintenance/department/medical/central) "mEU" = ( -/obj/machinery/light/small/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) "mFh" = ( @@ -36786,6 +36490,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mFE" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Engine Coolant Bypass"; + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mFG" = ( /obj/machinery/telecomms/processor/preset_four, /obj/effect/decal/cleanable/dirt, @@ -36799,10 +36514,27 @@ /obj/item/wrench, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) +"mFO" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "mFP" = ( /obj/structure/cable, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"mFQ" = ( +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine) +"mFW" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "mGg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36826,22 +36558,6 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) -"mGn" = ( -/obj/structure/rack, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/clothing/gloves/color/fyellow{ - pixel_y = 2 - }, -/obj/item/wrench, -/obj/item/cigarette/xeno{ - pixel_x = -3; - pixel_y = -9 - }, -/obj/item/clothing/head/utility/welding, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine/atmos) "mGp" = ( /obj/structure/table/glass, /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted, @@ -36861,20 +36577,10 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"mGs" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"mGM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/broken_flooring/singular/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) +"mGH" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/station/maintenance/central/greater) "mGN" = ( /obj/effect/turf_decal/siding/blue{ dir = 6 @@ -36901,29 +36607,17 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/virology) -"mHf" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"mHh" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) -"mHy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"mHG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 +"mHA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) +"mHB" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/engineering/atmos) "mHZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36953,14 +36647,6 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"mIm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/science/lower) "mIA" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36976,6 +36662,12 @@ }, /turf/open/floor/plating, /area/station/commons/storage/tools) +"mIB" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/purple/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mID" = ( /obj/structure/window/spawner/directional/west, /obj/structure/table/wood, @@ -36991,25 +36683,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"mIE" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/stone, -/area/station/hallway/primary/port) -"mIP" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) -"mIR" = ( -/obj/structure/chair/stool/directional/east, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "mIT" = ( /obj/effect/turf_decal/siding/red{ dir = 10 @@ -37029,21 +36702,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"mJe" = ( -/obj/structure/disposalpipe/segment{ +"mJn" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door"; dir = 4 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "holodeck" }, -/obj/effect/turf_decal/tile/red{ +/turf/open/floor/iron/textured_half{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, +/area/station/commons/fitness/recreation/entertainment) +"mJp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/hallway/primary/fore) +/area/station/hallway/secondary/recreation) "mJq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37065,10 +36741,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"mJB" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "mJC" = ( /obj/structure/table/optable{ desc = "A cold, hard place for your final rest."; @@ -37078,6 +36750,12 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/small, /area/station/medical/morgue) +"mJG" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/structure/aquarium/lawyer, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) "mJK" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, @@ -37102,7 +36780,6 @@ /area/station/security/courtroom) "mJZ" = ( /obj/structure/cable, -/obj/machinery/camera/autoname/directional/south, /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/security/prison/workout) @@ -37120,22 +36797,20 @@ dir = 1 }, /area/station/hallway/primary/aft) -"mKh" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"mKm" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ +"mKs" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/obj/structure/disposalpipe/segment, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/engineering/atmos) "mKB" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -37215,15 +36890,6 @@ }, /turf/open/floor/iron, /area/station/science/cytology) -"mLZ" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/main) "mMp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37255,10 +36921,6 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mMF" = ( -/obj/structure/sign/warning/pods/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "mMN" = ( /obj/structure/chair/office{ dir = 8 @@ -37299,6 +36961,20 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft) +"mNJ" = ( +/obj/structure/window/spawner/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) +"mNL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/structure/table, +/obj/item/stack/sheet/mineral/plasma/five, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mNQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -37313,6 +36989,12 @@ }, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"mNW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "mOk" = ( /obj/structure/table/glass, /obj/item/folder/blue{ @@ -37331,6 +37013,13 @@ dir = 10 }, /area/station/science/xenobiology) +"mOn" = ( +/obj/machinery/door/airlock{ + id_tag = "ShowerToilet1"; + name = "Toilet" + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "mOq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37338,27 +37027,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"mOr" = ( -/obj/effect/spawner/random/trash/bucket, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"mOx" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/obj/item/gps, -/obj/structure/closet/crate/engineering, -/obj/machinery/light/cold/directional/east, -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/iron/dark/small, -/area/station/engineering/storage_shared) "mOI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/south, @@ -37373,15 +37041,19 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) -"mOV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"mPb" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/structure/railing/corner, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "mPq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37393,6 +37065,17 @@ }, /turf/open/floor/iron, /area/station/security) +"mPs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "mPu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37413,15 +37096,41 @@ }, /turf/open/floor/wood/tile, /area/station/command/meeting_room) -"mPB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "mPJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"mPN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"mPR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"mPT" = ( +/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) +"mQa" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/augments) "mQh" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/conveyor_switch/oneway{ @@ -37439,11 +37148,6 @@ }, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"mQD" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "mQF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -37451,7 +37155,9 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/command{ name = "Head of Security's Office" }, @@ -37460,15 +37166,16 @@ dir = 8 }, /area/station/command/heads_quarters/hos) -"mRl" = ( -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) -"mRB" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/end, -/obj/structure/cable, +"mRf" = ( /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/science/ordnance/testlab) +"mRn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mRD" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/maintenance, @@ -37483,48 +37190,79 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"mSa" = ( -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"mSl" = ( -/obj/effect/turf_decal/siding/wideplating, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"mRN" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Barber" }, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) -"mSA" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/commons/fitness/locker_room) +"mSk" = ( /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/research/glass{ + name = "Robotics Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/robotics, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/mechbay) +"mSm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 5 }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"mSu" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/machinery/smartfridge, /turf/open/floor/plating, -/area/station/maintenance/port/greater) +/area/station/service/hydroponics) "mSH" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"mSQ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/grass, -/area/station/service/chapel) -"mTc" = ( +"mSJ" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"mSL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/south, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"mSN" = ( /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=6.3-Arrivals"; + location = "6.2-Arrivals" + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"mTa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/navigate_destination/teleporter, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mTd" = ( /obj/structure/closet/crate{ name = "Starups Clothing Crate" @@ -37579,6 +37317,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/grimy, /area/station/cargo/boutique) +"mTO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/meter/monitored/distro_loop, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "mTP" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -37598,24 +37343,28 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"mTT" = ( -/obj/effect/spawner/random/entertainment/arcade{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) "mTU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/transit_tube/horizontal, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"mUe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) +"mTW" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"mUd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "mUg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37625,26 +37374,6 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"mUi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"mUm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mUn" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -37662,6 +37391,16 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/grimy, /area/station/cargo/boutique) +"mUK" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "mUO" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -37672,26 +37411,18 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"mUY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 +"mUS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/obj/structure/railing/corner, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"mVc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 }, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/aft) +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "mVm" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 @@ -37702,6 +37433,16 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) +"mVp" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "mVt" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/dark_red{ @@ -37712,7 +37453,8 @@ /area/station/ai_monitored/security/armory) "mVC" = ( /obj/machinery/door/airlock/external{ - name = "Departure Lounge Airlock" + name = "Departure Lounge Airlock"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -37727,6 +37469,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"mVG" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/tile, +/area/station/service/bar) "mVM" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -37740,39 +37490,77 @@ dir = 4 }, /area/station/medical/medbay/central) +"mVO" = ( +/obj/structure/toilet, +/obj/machinery/light/small/directional/west, +/obj/machinery/button/door/directional/east{ + id = "AuxToilet1"; + name = "Lock Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) +"mVP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"mVR" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/computer/security, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/turf/open/floor/iron, +/area/station/security/warden) "mWc" = ( /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/science/lower) -"mWB" = ( -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"mWE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/floor/iron/dark/small, -/area/station/tcommsat/server) -"mWF" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"mWq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"mWT" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/filingcabinet/employment, +/turf/open/floor/wood/tile, +/area/station/service/lawoffice) +"mWx" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms) +"mWN" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = 3 }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/turf/open/floor/grass, +/area/station/service/chapel) +"mWS" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/east, +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 2 + }, +/obj/item/reagent_containers/cup/glass/mug/coco{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "mWY" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/sofa/bench/left{ @@ -37781,6 +37569,13 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/processing) +"mXb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/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/engineering/atmos) "mXk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/singular/directional/east, @@ -37790,12 +37585,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"mXp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mXt" = ( /obj/machinery/rnd/production/techfab/department/medical, /obj/effect/turf_decal/stripes/box, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/storage) +"mXv" = ( +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "mXD" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -37803,6 +37614,21 @@ /obj/item/stack/sheet/mineral/titanium, /turf/open/floor/tram, /area/station/security/tram) +"mXH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/grass/jungle/b/style_3, +/obj/machinery/light/small/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) +"mXR" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "mXT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37811,26 +37637,14 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"mXZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mYd" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/vending/clothing, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/central) +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "mYj" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -37843,6 +37657,11 @@ }, /obj/structure/reagent_dispensers/watertank, /obj/effect/mapping_helpers/broken_floor, +/obj/machinery/button/door/directional/west{ + req_access = list("robotics"); + name = "Mech Bay Shutters Control"; + id = "mechbay" + }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) "mYq" = ( @@ -37863,6 +37682,41 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"mYv" = ( +/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/chair/sofa/bench/right{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) +"mYz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) +"mYH" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Lockers"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/commons/fitness/locker_room) +"mYK" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "mYP" = ( /obj/structure/table, /obj/item/storage/bag/tray/cafeteria{ @@ -37874,6 +37728,26 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"mYT" = ( +/obj/structure/table, +/obj/item/assembly/igniter{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/assembly/igniter{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/assembly/igniter{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/assembly/igniter{ + pixel_x = 2; + pixel_y = -1 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "mYW" = ( /obj/machinery/camera{ c_tag = "Xenobiology - Zoo"; @@ -37884,13 +37758,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/grass, /area/station/science/xenobiology) -"mZa" = ( -/obj/machinery/button/transport/tram/directional/south{ - id = 1; - specific_transport_id = "bird_2" - }, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "mZb" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -37904,25 +37771,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security{ aiControlDisabled = 1; - name = "Education Chamber" + name = "Education Chamber"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/security/execution/education) -"mZd" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mZg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37933,6 +37789,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"mZt" = ( +/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/engineering/tcoms, +/obj/machinery/door/airlock/command/glass{ + name = "Telecommunications Server Room" + }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-south" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) +"mZx" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/machinery/bluespace_vendor/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "mZA" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/public/glass{ @@ -37941,12 +37816,28 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"mZT" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/command/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_command) "mZZ" = ( /obj/structure/table/glass, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, /obj/item/radio/intercom/directional/south, +/obj/machinery/camera/autoname/directional/south{ + dir = 9 + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "nah" = ( @@ -37954,12 +37845,30 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) +"naw" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light_switch/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "nay" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public/glass{ - name = "Research Wing" + name = "Research Wing"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_half{ dir = 1 }, @@ -37987,6 +37896,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) +"naI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "naN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -37995,14 +37911,34 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"nba" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"nbA" = ( +/obj/machinery/restaurant_portal/restaurant, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"nbD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "nbF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/science/robotics/augments) -"nbH" = ( -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "nbL" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -38013,6 +37949,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"nbV" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "ncb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -38022,6 +37966,15 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"ncd" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "ncf" = ( /obj/machinery/recycler{ dir = 8 @@ -38032,6 +37985,10 @@ }, /turf/open/floor/plating, /area/station/service/janitor) +"nci" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "nck" = ( /obj/machinery/fax{ fax_name = "Engineering Lobby"; @@ -38050,15 +38007,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"ncr" = ( -/obj/structure/cable, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/wood/tile, -/area/station/service/lawoffice) "ncD" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ @@ -38066,11 +38014,14 @@ }, /turf/open/space/basic, /area/space/nearstation) -"ncH" = ( -/obj/structure/table, -/obj/item/wirecutters, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) +"ncF" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/station/holodeck/rec_center) "ncL" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/line{ @@ -38089,43 +38040,62 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) +"ndi" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) "ndm" = ( -/obj/structure/marker_beacon/fuchsia, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/misc/dirt/station, +/area/station/service/chapel) "ndp" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"ndJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/landmark/navigate_destination/teleporter, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "ndM" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/iron, /area/station/security/tram) +"ndV" = ( +/obj/structure/railing/corner, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/dorms) "ndY" = ( -/obj/effect/turf_decal/stripes/red/line{ +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 8 }, +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/structure/table, +/obj/item/reagent_containers/cup/bottle/mutagen{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe{ + pixel_x = -3; + pixel_y = -1 + }, +/obj/item/reagent_containers/cup/watering_can{ + pixel_x = 7; + pixel_y = 13 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/machinery/light/small/directional/west, /obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) +/turf/open/floor/iron, +/area/station/service/hydroponics) "neg" = ( /obj/effect/spawner/random/structure/crate_loot, /obj/effect/turf_decal/siding/thinplating_new/terracotta{ @@ -38139,12 +38109,11 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"neF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/station/service/chapel) +"nem" = ( +/obj/structure/closet/masks, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "nfg" = ( /obj/machinery/holopad, /obj/effect/turf_decal/siding/thinplating{ @@ -38158,18 +38127,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"nfn" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) "nfG" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -38177,32 +38134,76 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, -/area/station/security) -"ngd" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"ngq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ +/turf/open/floor/iron, +/area/station/security) +"ngk" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"ngq" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) +"ngy" = ( +/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/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) +"ngB" = ( +/obj/structure/chair/sofa/bench/right{ dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "ngL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) -"nhl" = ( -/obj/structure/cable, +"ngQ" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/power/shieldwallgen/xenobiologyaccess, +/obj/structure/cable/multilayer, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"ngS" = ( +/obj/machinery/transport/power_rectifier{ + configured_transport_id = "bird_2" + }, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) +"nhi" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nhu" = ( /obj/structure/table, /obj/effect/spawner/random/engineering/flashlight, @@ -38248,17 +38249,6 @@ }, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"nhW" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 - }, -/obj/machinery/vending/wardrobe/hydro_wardrobe, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "nhZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38297,14 +38287,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"niF" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/station/science/lower) +"niB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "niI" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/white{ @@ -38331,12 +38318,6 @@ }, /turf/open/floor/plating, /area/station/command/meeting_room) -"niW" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/turf/open/floor/iron/small, -/area/station/service/barber) "niZ" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -38356,23 +38337,27 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"njh" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) -"njs" = ( -/obj/structure/chair/comfy/black{ +"nji" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 }, -/obj/effect/landmark/start/chaplain, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) -"nju" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"njj" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/area/station/maintenance/port/greater) "njA" = ( /obj/machinery/photocopier, /obj/structure/sign/poster/official/random/directional/north, @@ -38380,25 +38365,20 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) +"njJ" = ( +/obj/structure/kitchenspike, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "njL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"njT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "njW" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -38428,6 +38408,14 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nkq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security) "nkw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -38446,15 +38434,40 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"nkW" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +"nkJ" = ( +/obj/machinery/research/anomaly_refinery, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) +"nkN" = ( +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) +"nkZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "nla" = ( /turf/closed/wall, /area/station/commons/storage/art) +"nlb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/plaque{ + icon_state = "L4"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "nle" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -38466,11 +38479,6 @@ /obj/machinery/vending/wardrobe/sec_wardrobe, /turf/open/floor/iron/dark, /area/station/security/lockers) -"nlj" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nlk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38491,27 +38499,30 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "nlt" = ( -/obj/machinery/atmospherics/components/trinary/mixer{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/science/xenobiology) +"nlx" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/sign/poster/contraband/random/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "nlC" = ( /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/white/corner{ dir = 4 }, /area/station/science/xenobiology) -"nlQ" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/turf/open/floor/eighties, -/area/station/hallway/primary/central/fore) -"nlR" = ( -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "nlS" = ( /turf/open/floor/iron/white/small, /area/station/medical/virology) @@ -38538,24 +38549,34 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"nmC" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/knife/kitchen{ - pixel_y = 2 - }, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, -/obj/item/kitchen/rollingpin, -/obj/effect/turf_decal/siding{ - dir = 4 +"nmn" = ( +/obj/structure/chair/office{ + dir = 1 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) "nmH" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, /area/station/engineering/main) +"nmJ" = ( +/obj/structure/flora/bush/flowers_yw/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) +"nmQ" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) +"nmR" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "nmX" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -38571,36 +38592,28 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) -"nnd" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "nne" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) -"nnp" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "N2 to Airmix" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ +"nnu" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"nnC" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"nnH" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"nnz" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/break_room) +/obj/effect/turf_decal/tile/purple/opposingcorners, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "noe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -38612,11 +38625,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"nor" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "nou" = ( /obj/effect/decal/cleanable/glass, /obj/structure/bed/maint, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"noy" = ( +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "noz" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -38660,6 +38683,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) +"noK" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "noN" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -38674,17 +38701,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"noV" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "custodialshutters"; - name = "Custodial Closet Shutters" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/large, -/area/station/service/janitor) "npp" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -38697,21 +38713,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"npI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"npV" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/lawoffice) "npZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -38720,21 +38721,6 @@ /obj/structure/sign/departments/court/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"nqa" = ( -/obj/machinery/door/airlock/grunge{ - name = "Janitorial Closet" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/service/janitor, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/service/janitor) "nqd" = ( /obj/machinery/shower/directional/east, /obj/effect/turf_decal/trimline/blue/end{ @@ -38743,10 +38729,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/virology) -"nqf" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "nqx" = ( /obj/machinery/power/turbine/turbine_outlet{ dir = 8 @@ -38759,18 +38741,6 @@ /obj/structure/mirror/directional/north, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) -"nqN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) "nqV" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -38783,13 +38753,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"nqY" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/chapel) "nra" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/window/spawner/directional/south, @@ -38797,29 +38760,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/main) -"nrg" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"nrn" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos) -"nrp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/flashlight/lantern/on, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "nry" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 @@ -38834,6 +38774,15 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) +"nrP" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/main) +"nrT" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "nsc" = ( /obj/structure/cable, /obj/item/kirbyplants/organic/applebush, @@ -38849,6 +38798,15 @@ /obj/item/target/alien, /turf/open/floor/plating, /area/station/science/auxlab/firing_range) +"nso" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/chem_dispenser, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/pharmacy) "nsr" = ( /obj/effect/turf_decal/siding/red{ dir = 6 @@ -38863,28 +38821,6 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) -"nsz" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) -"nsD" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/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, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "nsL" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/red{ @@ -38907,15 +38843,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nsW" = ( -/obj/item/kirbyplants/random, +"nsS" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/chair, /turf/open/floor/iron, -/area/station/hallway/secondary/dock) +/area/station/commons/storage/tools) "nsX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/cargo/miningfoundry) +"ntb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nte" = ( /obj/structure/table/glass, /obj/machinery/recharger, @@ -38945,14 +38891,15 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"ntu" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"nty" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) "ntF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/status_display/ai/directional/south, @@ -38974,14 +38921,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"ntP" = ( -/obj/structure/displaycase/trophy, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/wood/parquet, -/area/station/service/library) "ntW" = ( /obj/machinery/light/small/directional/north, /obj/machinery/vending/wardrobe/coroner_wardrobe, @@ -38990,13 +38929,6 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) -"ntZ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Recreation" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/commons/fitness/recreation/entertainment) "nua" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39010,17 +38942,6 @@ /obj/effect/turf_decal/sand/plating, /turf/closed/wall, /area/station/maintenance/port/lesser) -"nun" = ( -/obj/structure/flora/bush/flowers_br/style_random{ - pixel_x = -3; - pixel_y = 4 - }, -/obj/effect/light_emitter/fake_outdoors, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/grass/Airless, -/area/station/hallway/primary/central/aft) "nuo" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -39039,27 +38960,60 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"nut" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"nuz" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 10 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/small, +/area/station/service/barber) "nuC" = ( /obj/effect/turf_decal/siding, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white/small, /area/station/science/lab) -"nuL" = ( -/obj/structure/disposalpipe/segment{ +"nuJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 }, -/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/herringbone, -/area/station/commons/dorms) +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) +"nuL" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/aft) "nuO" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"nuP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "nuS" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -39079,29 +39033,26 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"nuV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) "nuY" = ( /obj/structure/broken_flooring/pile/directional/east, /obj/structure/alien/weeds/node, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"nvB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +"nvj" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) +"nvw" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple/corner, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "nvE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral, @@ -39131,32 +39082,38 @@ dir = 1 }, /area/station/hallway/secondary/dock) -"nwk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, -/obj/effect/spawner/random/trash/bin, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) -"nwK" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "HFR Chamber" +"nwN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"nwT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) -"nwN" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/machinery/light/cold/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/area/station/hallway/primary/central/fore) +"nwZ" = ( +/obj/machinery/door/airlock{ + name = "Hydroponics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"nxa" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/tree/jungle/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "nxo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39176,24 +39133,13 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) -"nxI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 +"nxP" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 }, +/obj/structure/railing, /turf/open/floor/iron, -/area/station/hallway/primary/fore) -"nxJ" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) +/area/station/engineering/atmos) "nxX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39245,23 +39191,17 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"nyy" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/pushbroom, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "nyB" = ( -/obj/structure/sign/departments/xenobio/alt/directional/west, /turf/open/floor/iron/white/corner{ dir = 4 }, /area/station/science/lower) +"nyD" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "nyE" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -39273,6 +39213,12 @@ "nyH" = ( /turf/closed/wall, /area/station/hallway/primary/aft) +"nyN" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/dorms) "nyQ" = ( /obj/machinery/holopad, /obj/effect/landmark/event_spawn, @@ -39291,7 +39237,9 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/heads_quarters/qm) "nyT" = ( @@ -39314,19 +39262,24 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"nzA" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/tram) -"nzK" = ( +"nzd" = ( /obj/structure/cable, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/trimline/neutral/end{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) +"nzs" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) +"nzD" = ( +/obj/structure/chair{ + dir = 1; + pixel_y = -2 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/science/lower) "nzL" = ( /turf/closed/wall, /area/station/science/ordnance/testlab) @@ -39366,25 +39319,12 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"nAJ" = ( -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) -"nAW" = ( -/obj/machinery/atmospherics/components/binary/crystallizer{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, +"nBh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom/directional/east, /turf/open/floor/iron, -/area/station/engineering/atmos/project) +/area/station/hallway/primary/central/fore) "nBq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39402,17 +39342,6 @@ }, /turf/open/floor/stone, /area/station/command/corporate_suite) -"nBF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/entry) "nBG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -39422,21 +39351,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"nBP" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +"nBT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/supermatter) -"nCe" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"nBU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/side{ - dir = 6 - }, -/area/station/science/xenobiology) +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) +"nCb" = ( +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/eighties/red, +/area/station/service/abandoned_gambling_den/gaming) "nCo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/chair/office{ @@ -39444,17 +39380,16 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"nCt" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 +"nCB" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 8 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/sign/poster/official/random/directional/east, /obj/structure/cable, -/turf/open/floor/iron, +/turf/open/floor/eighties/red, /area/station/hallway/primary/central/fore) "nCC" = ( /obj/structure/chair/stool/directional/south, @@ -39468,6 +39403,12 @@ "nCH" = ( /turf/closed/wall/r_wall, /area/station/security) +"nCP" = ( +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "nCR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -39485,12 +39426,11 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"nCX" = ( -/obj/structure/flora/bush/flowers_pp, -/obj/structure/flora/bush/flowers_yw, -/obj/structure/flora/bush/fullgrass, +"nCW" = ( +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, -/area/station/hallway/primary/central/fore) +/area/station/service/chapel) "nCY" = ( /obj/structure/cable, /turf/open/floor/iron/kitchen/small, @@ -39508,23 +39448,31 @@ }, /turf/open/floor/iron, /area/station/security) -"nDj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"nDr" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/service/chapel) -"nDJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) -"nDQ" = ( -/obj/structure/chair{ +/obj/item/assembly/flash/handheld, +/obj/item/ai_module/reset{ + pixel_y = 14 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) +"nDM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) +/turf/open/floor/iron, +/area/station/security/prison) +"nDN" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "nEh" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -39536,17 +39484,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"nEq" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Library" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/textured_half, -/area/station/service/library) "nEx" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -39572,19 +39509,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/cytology) -"nEG" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/effect/turf_decal/siding/wideplating{ +"nER" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/siding/wideplating/corner{ +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/side{ 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/wood, -/area/station/engineering/atmos/storage) +/area/station/science/xenobiology) "nEY" = ( /obj/structure/closet/firecloset, /obj/effect/decal/cleanable/dirt, @@ -39599,10 +39535,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/iron/textured_half, /area/station/engineering/storage/tech) -"nFc" = ( -/obj/structure/chair/stool/bar/directional/east, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) "nFo" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) @@ -39619,9 +39551,11 @@ /obj/machinery/telecomms/server/presets/command, /turf/open/floor/circuit, /area/station/tcommsat/server) -"nFv" = ( -/obj/machinery/light/no_nightlight/directional/west, -/turf/open/floor/iron, +"nFC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 8 + }, +/turf/open/floor/engine/o2, /area/station/engineering/atmos) "nFD" = ( /obj/structure/cable, @@ -39632,28 +39566,12 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"nFH" = ( -/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/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nFI" = ( /obj/effect/turf_decal/stripes/end{ dir = 8 }, /turf/open/floor/plating/airless, /area/space/nearstation) -"nFU" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "nFW" = ( /turf/closed/wall, /area/station/maintenance/fore/greater) @@ -39678,18 +39596,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) -"nGf" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) "nGi" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 }, -/obj/machinery/camera/autoname/directional/north, /obj/structure/cable, /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark, @@ -39714,6 +39624,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"nGB" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "nGI" = ( /obj/machinery/door/window/left/directional/east{ name = "Isolation Room 2"; @@ -39729,6 +39646,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"nHc" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "nHd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -39737,20 +39659,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"nHp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/item/radio{ - desc = "An old handheld radio. You could use it, if you really wanted to."; - icon_state = "radio"; - name = "old radio"; - pixel_x = -6; - pixel_y = 10 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "nHq" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow{ @@ -39771,33 +39679,15 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"nHH" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"nHI" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 8 - }, +"nHF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "nHN" = ( /obj/structure/table, /obj/item/stack/pipe_cleaner_coil/random, @@ -39814,20 +39704,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/commons/storage/art) -"nHU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "nId" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) @@ -39840,6 +39716,17 @@ /obj/machinery/light/floor, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) +"nIy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "nIA" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -39874,32 +39761,13 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/solars/starboard/fore) -"nJj" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/central/fore) -"nJo" = ( +"nJA" = ( +/obj/machinery/light/small/directional/east, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "nJG" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -39920,6 +39788,20 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"nJW" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/librarian, +/turf/open/floor/carpet, +/area/station/service/library) +"nJX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nKc" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 4 @@ -39928,15 +39810,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{ - dir = 1 - }, -/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, @@ -39947,74 +39820,64 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/tcommsat/server) +"nKm" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"nKr" = ( +/obj/structure/cable, +/obj/structure/reflector/single/anchored, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"nKt" = ( +/obj/machinery/portable_atmospherics/scrubber/huge, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "nKz" = ( /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"nLk" = ( +"nKG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/science/rd, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Research Director's Office" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/poddoor/preopen{ - id = "rdoffice"; - name = "Research Director's Shutters" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"nLh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/command/heads_quarters/rd) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "nLH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"nLJ" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ +"nMc" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"nLM" = ( -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/electronics/airlock{ - pixel_y = 13 - }, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) -"nMk" = ( -/obj/machinery/power/emitter/welded{ +/obj/effect/turf_decal/bot{ dir = 1 }, -/obj/structure/cable, -/turf/open/floor/plating, +/obj/machinery/light/directional/east, +/turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nMn" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) -"nMq" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/closet/secure_closet/miner, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "nMA" = ( /obj/machinery/door/airlock{ name = "Construction Maintenance" @@ -40022,21 +39885,30 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"nMV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 +"nMJ" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, -/area/station/maintenance/port/fore) -"nMW" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 +/area/station/maintenance/fore/greater) +"nMN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 }, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +/turf/open/floor/grass, +/area/station/service/chapel) +"nMO" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Lockers" + }, +/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/textured_half, +/area/station/commons/fitness/locker_room) "nMX" = ( /obj/machinery/camera/directional/south{ c_tag = "Holodeck - Aft"; @@ -40056,30 +39928,37 @@ /obj/effect/turf_decal/bot_white/right, /turf/open/floor/engine, /area/station/engineering/gravity_generator) -"nNj" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, +"nNk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/radiation/rad_area/directional/east, +/turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"nNz" = ( -/obj/structure/disposalpipe/segment, +"nNt" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"nNu" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"nNA" = ( -/obj/machinery/light/small/broken/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) +"nNx" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "nNB" = ( /obj/machinery/door/airlock{ name = "Gardening Supplies" @@ -40087,28 +39966,40 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"nNJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "nNZ" = ( /obj/structure/tank_dispenser, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"nOD" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/obj/machinery/power/apc/auto_name/directional/west{ - areastring = "/area/station/science/ordnance/freezerchamber" +"nOP" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"nOH" = ( -/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" }, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) +"nOU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "nPd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -40118,17 +40009,23 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"nPe" = ( -/obj/structure/cable, +"nPn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"nPl" = ( -/obj/machinery/power/supermatter_crystal/engine, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock{ + name = "Library Maintenance" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/service/library) "nPt" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40150,6 +40047,15 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"nPE" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "nPF" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -40176,37 +40082,17 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"nPY" = ( -/obj/structure/table/reinforced, -/obj/structure/desk_bell{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" +"nPZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/plating, -/area/station/service/kitchen) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nQa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/lockers) -"nQc" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "nQj" = ( /obj/structure/toilet/greyscale{ dir = 8 @@ -40273,16 +40159,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"nQH" = ( -/obj/structure/closet{ - name = "Paramedic Supplies" - }, -/obj/effect/turf_decal/siding/blue{ - dir = 5 - }, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) "nQP" = ( /obj/machinery/computer/security{ dir = 8 @@ -40296,12 +40172,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"nRa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "nRd" = ( /obj/structure/cable, /obj/effect/spawner/structure/window, @@ -40311,6 +40181,14 @@ }, /turf/open/floor/plating, /area/station/command/bridge) +"nRe" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "External Gas to Loop" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nRr" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -40328,19 +40206,6 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"nSb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "nSd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40348,6 +40213,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"nSk" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "nSA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -40366,9 +40238,15 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"nST" = ( -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) +"nSU" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "nSY" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -40384,6 +40262,11 @@ }, /turf/open/floor/iron/textured_half, /area/station/hallway/primary/central/fore) +"nTb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/starboard/greater) "nTi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40414,12 +40297,6 @@ }, /turf/open/floor/plating, /area/station/security/tram) -"nTz" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/obj/machinery/chem_dispenser, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/pharmacy) "nTC" = ( /turf/open/floor/iron/white/small, /area/station/security/prison/safe) @@ -40432,26 +40309,22 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) -"nTP" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Cubicle" +"nTY" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"nUn" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/cubicle) -"nUd" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 10; + pixel_x = -5 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"nUh" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/service/hydroponics) "nUo" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -40466,6 +40339,14 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"nUu" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "nUx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -40473,39 +40354,12 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"nUK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/barricade/wooden/crude, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/cargo/boutique) "nUQ" = ( /obj/structure/chair{ dir = 8 }, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs) -"nUY" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/terracotta{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) -"nVa" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8 - }, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) "nVg" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -40523,18 +40377,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, @@ -40546,92 +40388,77 @@ dir = 1 }, /area/station/science/xenobiology) -"nVA" = ( +"nVC" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/area/station/science/lower) "nVF" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/tcommsat/server) -"nVU" = ( -/obj/effect/turf_decal/stripes/red/line{ +"nVK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"nWa" = ( -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +/area/station/engineering/atmos) +"nVV" = ( +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"nWe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "nWh" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"nWk" = ( -/obj/item/kirbyplants/random/fullysynthetic, -/obj/structure/sign/poster/contraband/random/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) "nWr" = ( /obj/structure/cable, /obj/structure/hedge, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"nWV" = ( -/obj/effect/spawner/random/entertainment/arcade{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) +"nWX" = ( +/obj/structure/training_machine, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) "nXt" = ( /obj/effect/turf_decal/tile/yellow/full, /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/window/right/directional/east{ name = "Pharmacy Desk"; req_access = list("pharmacy") }, /turf/open/floor/iron/white/textured_large, /area/station/medical/pharmacy) -"nXv" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -1; - pixel_y = -3 - }, -/obj/item/stack/cable_coil, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) -"nXx" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/light/cold/directional/south, -/obj/machinery/airalarm/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, +"nXB" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, -/area/station/security/brig/entrance) +/area/station/commons/fitness/recreation/entertainment) "nXC" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -40655,6 +40482,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/cytology) +"nXU" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "nYk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -40674,19 +40505,6 @@ /obj/structure/bed/maint, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nYs" = ( -/obj/structure/window/spawner/directional/north, -/obj/machinery/light/small/directional/south, -/obj/structure/flora/bush/jungle, -/obj/structure/flora/rock/pile/style_2{ - pixel_x = -20 - }, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/locker_room) -"nYH" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/port/aft) "nYQ" = ( /obj/machinery/vending/wardrobe/cargo_wardrobe, /obj/machinery/camera/autoname/directional/south, @@ -40711,6 +40529,11 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"nZi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "nZq" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -40730,18 +40553,19 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"nZF" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +"nZI" = ( +/obj/effect/spawner/random/entertainment/lighter, +/obj/item/cigarette/rollie/mindbreaker{ + pixel_x = -2; + pixel_y = 6 }, -/obj/machinery/portable_atmospherics/canister, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"nZG" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) +/obj/item/cigarette/rollie/trippy{ + pixel_x = 4 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/greater) "nZQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -40762,58 +40586,31 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"oae" = ( -/obj/effect/turf_decal/tile/dark_red, -/turf/open/floor/iron, -/area/station/security/prison) -"oah" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/landmark/start/cyborg, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload Turret Control"; - pixel_y = -28 - }, -/obj/machinery/status_display/ai/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) -"oaK" = ( -/obj/structure/window/spawner/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) -"oaY" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 4; - pixel_y = 5 +"oai" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) -"obb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research{ - name = "Research and Development Lab" +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/science/research, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/meeting_room) +"oaC" = ( +/turf/open/floor/iron/small, +/area/station/maintenance/starboard/central) +"oaG" = ( +/obj/structure/flora/bush/flowers_pp/style_2, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) +"oaW" = ( +/obj/structure/reflector/single/anchored{ + dir = 10 }, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/lab) +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "obe" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/disposalpipe/segment{ @@ -40821,6 +40618,20 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) +"obg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/tools) +"obl" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "obq" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -40834,39 +40645,56 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"obH" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"obB" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Old Command Hallway" }, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"obN" = ( -/obj/structure/cable, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/fore/lesser) +/turf/open/floor/iron/textured_half, +/area/station/maintenance/hallway/abandoned_command) +"obK" = ( +/obj/effect/turf_decal/tile/brown/half, +/obj/effect/turf_decal/tile/brown/half{ + dir = 1 + }, +/turf/open/floor/iron/textured_half, +/area/station/cargo/miningoffice) "obP" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/hallway/secondary/dock) +"obT" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "obW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"oca" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "ocb" = ( /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"ocv" = ( +"ocn" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/landmark/navigate_destination/library, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ - dir = 4 + dir = 8 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/hallway/primary/central/fore) "ocx" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -40880,14 +40708,8 @@ /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, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +/turf/closed/wall/rust, +/area/station/cargo/drone_bay) "odh" = ( /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/open/floor/plating, @@ -40897,27 +40719,27 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"odD" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table/wood, -/obj/machinery/light/small/built/directional/north, -/obj/item/stack/sheet/iron/ten, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 9 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) -"odH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, +"odu" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_pp/style_2, +/turf/open/floor/grass, /area/station/service/chapel) +"odC" = ( +/obj/structure/sign/painting/large/library{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "odP" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) +"odU" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "odX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40930,20 +40752,26 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/storage) -"oer" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "External Gas to Loop" +"oep" = ( +/obj/structure/table, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/effect/turf_decal/bot{ + dir = 1 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -6; + pixel_y = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "oev" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ - name = "Funerary Driver" + name = "Funerary Driver"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, @@ -40966,22 +40794,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"oeS" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) "oeW" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/medical/storage) -"oeZ" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar) +"ofb" = ( +/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/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "off" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -40989,21 +40813,29 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"ofp" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "ofu" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 8 }, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical/central) -"ofx" = ( -/obj/effect/turf_decal/sand/plating, -/turf/closed/wall/r_wall, -/area/space/nearstation) -"ofU" = ( -/obj/machinery/holopad, -/obj/effect/landmark/start/hangover, -/turf/open/floor/stone, -/area/station/service/bar) +"ofC" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/secure_closet/miner, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) +"ofJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "ofZ" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/port/lesser) @@ -41030,26 +40862,36 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"ogE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"ogy" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "ogF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/closet/firecloset, /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"ogG" = ( -/obj/effect/turf_decal/stripes/corner{ +"ogN" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) +/obj/structure/table, +/obj/item/clothing/gloves/color/orange{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/key/janitor{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "ogR" = ( /obj/effect/turf_decal/siding/green{ dir = 10 @@ -41069,6 +40911,12 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"ogU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "ogW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41089,13 +40937,10 @@ /obj/item/reagent_containers/pill/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ohf" = ( -/obj/structure/reagent_dispensers/fueltank/large, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +"ohg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/small, +/area/station/security/detectives_office) "ohj" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/white/line{ @@ -41121,11 +40966,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ohr" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/flora/bush/jungle, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/locker_room) "ohu" = ( /obj/structure/rack, /obj/item/storage/medkit/regular, @@ -41172,12 +41012,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs) -"ohN" = ( -/obj/item/kirbyplants/random, -/obj/item/radio/intercom/directional/north, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/white, -/area/station/science/cytology) "oig" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -41193,6 +41027,22 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"oim" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/components/binary/volume_pump/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"oio" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/machinery/light/no_nightlight/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "ois" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -41216,6 +41066,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"oiy" = ( +/obj/structure/cable, +/obj/structure/chair{ + pixel_y = -2 + }, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "oiA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -41226,6 +41083,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"oiG" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "oiL" = ( /obj/machinery/computer/cargo{ dir = 1 @@ -41233,6 +41097,12 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/plating, /area/station/cargo/office) +"oiN" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) "oiP" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -41257,13 +41127,6 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"oiZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "ojz" = ( /obj/structure/railing{ dir = 1 @@ -41279,43 +41142,36 @@ }, /turf/open/floor/wood, /area/station/engineering/main) -"ojA" = ( -/obj/structure/flora/bush/jungle/a/style_random, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "ojD" = ( /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/security/lockers) -"okk" = ( -/obj/structure/table, -/obj/item/screwdriver, +"ojI" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, -/area/station/construction/mining/aux_base) +/area/station/commons/fitness/recreation/entertainment) +"okj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "okl" = ( /obj/machinery/status_display/ai, /turf/closed/wall, /area/station/hallway/secondary/entry) -"oks" = ( -/obj/structure/reflector/single/anchored, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "okB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/engine, /area/station/science/xenobiology) -"okD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) +"okI" = ( +/obj/structure/cable, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "okW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41327,20 +41183,29 @@ name = "Ordnance Lab" }, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; + dir = 4; id = "rdordnance"; name = "Ordnance Lab Shutters" }, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/ordnance) -"okZ" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/radio/intercom/directional/west, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +"okY" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) +"olb" = ( +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/courtroom) "olj" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable, @@ -41371,31 +41236,16 @@ }, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"olV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/dim/directional/west, +"olL" = ( /turf/open/floor/iron, -/area/station/maintenance/port/aft) -"oma" = ( -/obj/machinery/atmospherics/components/unary/passive_vent, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) -"omj" = ( -/obj/machinery/computer/security/mining, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/brown{ - dir = 1 +/area/station/engineering/storage/tech) +"olY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/incident_display/bridge/directional/north, -/turf/open/floor/iron/smooth, -/area/station/command/bridge) -"omq" = ( /obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "omW" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/white/corner, @@ -41403,11 +41253,6 @@ "ona" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"ong" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "onw" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -41438,26 +41283,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"onQ" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"onR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/clothing/gloves/color/orange{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/key/janitor{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) "onX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -41465,6 +41290,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/small, /area/station/security/brig) +"ook" = ( +/obj/structure/steam_vent, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "oom" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -41476,13 +41307,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"ooo" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos) "ooK" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -41496,6 +41320,31 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ooZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"opm" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "opn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41516,6 +41365,20 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"opB" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/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) "opH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41532,29 +41395,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"opN" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"opV" = ( -/obj/effect/landmark/start/bartender, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar) -"opW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/science/xenobiology) "oqg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41565,44 +41405,31 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"oqi" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 4 +"oqp" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "QM #2" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) -"oqq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/no_nightlight/directional/north, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "oqK" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"oqT" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"oqU" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/obj/structure/sink/directional/east, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/small, -/area/station/service/barber) +"oqM" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/machinery/light/small/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "ora" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41613,38 +41440,28 @@ "orb" = ( /turf/closed/wall, /area/station/engineering/main) -"orz" = ( -/obj/structure/table, -/obj/item/assembly/igniter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/assembly/igniter{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = -1 +"orf" = ( +/obj/structure/closet/wardrobe/grey, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 6 }, -/turf/open/floor/engine, -/area/station/science/xenobiology) +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "orC" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) -"orW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"orE" = ( +/obj/machinery/door/airlock/grunge{ + name = "Gambling Den"; + dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/science/xenobiology) +/area/station/maintenance/fore/greater) "osa" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -41653,30 +41470,20 @@ /turf/open/space/basic, /area/space/nearstation) "ose" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/power/smes{ + capacity = 1.8e+008; + charge = 2e+005 }, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "osj" = ( /obj/structure/cable, /obj/machinery/power/terminal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) -"osp" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "oss" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41686,16 +41493,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"osw" = ( -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +"osv" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "osy" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -41703,10 +41506,6 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/medical/morgue) -"osP" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) "osT" = ( /obj/structure/railing, /obj/structure/disposalpipe/segment{ @@ -41722,14 +41521,25 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"otB" = ( +"otu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/siding/green/corner{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"otz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/research/glass{ + name = "Cubicle" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "otG" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/status_display/supply{ @@ -41737,18 +41547,6 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/office) -"otJ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "otX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41762,52 +41560,19 @@ id_tag = "com_guest"; name = "Guest Suite" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, /area/station/command/corporate_suite) -"oul" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_yw/style_2, -/turf/open/floor/grass, -/area/station/service/chapel) -"oum" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) -"oun" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 10 - }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"ouz" = ( -/turf/open/floor/iron/dark/small, -/area/station/command/heads_quarters/rd) -"ouH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"ouJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"out" = ( +/obj/structure/dresser, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "ouL" = ( /obj/item/clothing/head/cone{ pixel_x = 7 @@ -41818,7 +41583,8 @@ /area/station/maintenance/starboard/greater) "ouN" = ( /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -41836,30 +41602,85 @@ /turf/open/floor/iron, /area/station/cargo/storage) "ouS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) +/obj/effect/spawner/random/structure/crate, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "ouT" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"ouZ" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft) "ovf" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/port) +"ovu" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) "ovB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/alien/weeds, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/starboard/greater) -"ovQ" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/cargo/storage) +/turf/open/floor/iron, +/area/station/maintenance/starboard/greater) +"ovG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"ovQ" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/cargo/storage) +"ovX" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/iron/dark/side, +/area/station/cargo/office) +"ovZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"owa" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/stairs/right{ + dir = 1 + }, +/area/station/maintenance/hallway/abandoned_command) "owb" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/south, @@ -41898,13 +41719,6 @@ }, /turf/open/floor/iron, /area/station/science/cytology) -"owH" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) "owJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41921,6 +41735,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/cargo/storage) +"owN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/caution/stand_clear, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"owO" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "owP" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/delivery/white, @@ -41935,6 +41763,28 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"owW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"owX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "owZ" = ( /obj/item/kirbyplants/organic/applebush, /turf/open/floor/iron/dark/smooth_large, @@ -41954,32 +41804,32 @@ }, /turf/open/floor/wood, /area/station/engineering/break_room) -"oxg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) -"oxm" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/door/window/right/directional/south{ - name = "Command Deliveries"; - req_access = list("command") +"oxj" = ( +/obj/structure/cable, +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) -"oxn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) +"oxs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/landmark/event_spawn, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/turf/open/floor/wood, +/area/station/cargo/boutique) "oxw" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/white/line{ @@ -41987,33 +41837,35 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/storage) -"oyn" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/public/glass{ - name = "Old Command Hallway" +"oxK" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 }, -/turf/open/floor/iron/textured_half, -/area/station/maintenance/hallway/abandoned_command) -"oyp" = ( +/turf/open/floor/engine, +/area/station/science/cytology) +"oxP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"oyq" = ( -/obj/machinery/light/warm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"oyz" = ( -/obj/structure/flora/grass/jungle/b/style_3, +/turf/open/floor/iron/dark/side, +/area/station/science/xenobiology) +"oyx" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 1 + dir = 10 }, -/obj/structure/cable, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"oyy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/turf/open/misc/asteroid/airless, +/area/space/nearstation) "oyQ" = ( /turf/closed/wall, /area/station/science/auxlab/firing_range) @@ -42044,13 +41896,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"ozs" = ( -/obj/effect/turf_decal/stripes/line{ +"ozq" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/plating, -/area/station/construction/mining/aux_base) +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/turf/open/floor/iron/cafeteria, +/area/station/science/breakroom) "ozt" = ( /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, @@ -42062,10 +41917,19 @@ /obj/structure/mannequin/plastic, /turf/open/floor/carpet/blue, /area/station/cargo/boutique) -"ozQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) +"ozU" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters"; + dir = 4 + }, +/obj/effect/spawner/random/food_or_drink/donuts, +/turf/open/floor/plating, +/area/station/service/kitchen) "ozV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -42087,6 +41951,15 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/security/lockers) +"oAw" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "oAA" = ( /obj/structure/closet/emcloset, /obj/effect/mapping_helpers/broken_floor, @@ -42102,6 +41975,28 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/textured_half, /area/station/security/brig) +"oBb" = ( +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"oBf" = ( +/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) "oBh" = ( /obj/structure/alien/weeds/node, /turf/open/misc/asteroid, @@ -42109,7 +42004,8 @@ "oBv" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; - shuttledocked = 1 + shuttledocked = 1; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -42130,80 +42026,52 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"oBF" = ( -/obj/effect/turf_decal/arrows/white{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) -"oBP" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"oBT" = ( -/obj/structure/cable, +"oBN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/armory, -/obj/machinery/door/airlock/security{ - name = "Warden's Office" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/security/warden) -"oBX" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/genetics) -"oCb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "oCg" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/medical_all, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"oCh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "oCi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) +"oCk" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/stone, +/area/station/service/chapel) "oCq" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/medical) +"oCv" = ( +/obj/structure/closet/radiation, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "oCx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral, /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"oCB" = ( -/obj/machinery/atmospherics/components/binary/tank_compressor, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "oCE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42222,37 +42090,47 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"oCV" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"oCO" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - O2" }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) +"oCT" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"oDg" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/commons/fitness/recreation/entertainment) +"oDv" = ( +/obj/structure/flora/tree/jungle/small/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) +"oDz" = ( +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/science/xenobiology) "oDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"oDS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos) -"oDX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 4 +"oDH" = ( +/obj/structure/mannequin/plastic, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/stone, -/area/station/service/bar) +/turf/open/floor/plating, +/area/station/cargo/boutique) "oDY" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -42267,35 +42145,6 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/tram, /area/station/security/tram) -"oEk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/camera/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"oEn" = ( -/obj/structure/cable, -/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/plating, -/area/station/maintenance/port/greater) -"oEz" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/structure/closet/secure_closet/hydroponics, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "oEB" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/box/red/corners{ @@ -42312,6 +42161,18 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"oEV" = ( +/obj/structure/cable, +/obj/machinery/button/door/directional/east{ + id = "armory"; + name = "Armory Shutters"; + req_access = list("armory") + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/ai_monitored/security/armory) "oFc" = ( /obj/effect/spawner/random/trash, /obj/machinery/light/small/directional/west, @@ -42344,28 +42205,57 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/cargo/sorting) +"oFn" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/table/wood, +/obj/item/book/manual/wiki/tgc, +/turf/open/floor/carpet/green, +/area/station/commons/dorms) "oFu" = ( /turf/closed/wall, /area/station/security/office) -"oFy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Cargo Botique" +"oFF" = ( +/obj/machinery/door/airlock/vault{ + name = "Vault" }, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron/dark/herringbone, +/area/station/hallway/primary/central/aft) "oFI" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"oGf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/requests_console/auto_name/directional/west, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/stone, +/area/station/service/bar) +"oGg" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) +"oGi" = ( +/obj/effect/turf_decal/siding/red{ + dir = 5 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/landmark/start/warden, +/turf/open/floor/iron/white/small, +/area/station/security/warden) "oGk" = ( /turf/open/floor/circuit, /area/station/tcommsat/server) @@ -42380,18 +42270,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth_half, /area/station/cargo/storage) -"oGo" = ( -/obj/structure/table/glass, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 11; - pixel_y = 6 - }, -/obj/item/folder/blue{ - pixel_x = -3; - pixel_y = 2 - }, -/turf/open/floor/carpet/executive, -/area/station/command/meeting_room) "oGL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42413,32 +42291,20 @@ /obj/effect/spawner/random/entertainment/deck, /turf/open/floor/iron, /area/station/security/prison/rec) +"oHb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oHg" = ( /obj/structure/flora/bush/flowers_yw/style_random, /obj/structure/window/spawner/directional/south, /obj/structure/flora/rock/pile/style_2, /turf/open/misc/sandy_dirt, /area/station/science/research) -"oHk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/stairs, -/area/station/maintenance/port/greater) -"oHp" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"oHw" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/port/aft) "oHy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42467,19 +42333,19 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/department/electrical) -"oIx" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) -"oIE" = ( -/obj/effect/turf_decal/stripes/end{ +"oIn" = ( +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) +"oIw" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red{ dir = 1 }, -/obj/structure/closet/crate/wooden, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) +/obj/machinery/disposal/bin, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) "oIF" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -42495,12 +42361,6 @@ /obj/structure/frame/machine, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"oIL" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/chapel) "oIP" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -42516,28 +42376,26 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/fitness/recreation) -"oIS" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/evac/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "oIT" = ( /obj/structure/frame/machine, /obj/item/circuitboard/machine/biogenerator, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"oIY" = ( -/obj/effect/turf_decal/delivery, +"oJj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/service/kitchen) +"oJl" = ( +/obj/machinery/door/airlock/engineering{ + name = "Main Engineering" + }, /obj/machinery/door/firedoor, -/obj/machinery/smartfridge, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"oJm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "oJn" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -42546,6 +42404,25 @@ /obj/effect/mapping_helpers/mail_sorting/science/rd_office, /turf/open/floor/iron/white/side, /area/station/science/research) +"oJp" = ( +/obj/structure/table, +/obj/item/bikehorn/rubberducky{ + pixel_y = 9; + pixel_x = 6; + color = "#a61a11"; + name = "Reggie, the Angry Duckling"; + desc = "Foooo! Ducky is maaaaad. Ducky waaaanna hiiiiiit stuuuuuuf!" + }, +/obj/item/grenade/firecracker{ + pixel_x = 1 + }, +/obj/item/match{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "oJv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -42558,21 +42435,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/circuit, /area/station/tcommsat/server) -"oJx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/rack, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "vaco"; - name = "Comissary Shutters" - }, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "oJz" = ( /obj/structure/bodycontainer/morgue{ dir = 2 @@ -42587,45 +42449,16 @@ /obj/structure/chair/sofa/bench/tram/solo, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"oJB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/processing) "oJE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security{ - aiControlDisabled = 1; - name = "Reflection Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark/textured_half, -/area/station/security/execution/education) -"oJL" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) -"oJO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) + aiControlDisabled = 1; + name = "Reflection Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark/textured_half, +/area/station/security/execution/education) "oJP" = ( /obj/structure/cable, /obj/machinery/telecomms/broadcaster/preset_left, @@ -42634,6 +42467,19 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) +"oJQ" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "oJR" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, @@ -42645,11 +42491,17 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/station/medical/chemistry) -"oKn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/science/server) +"oKo" = ( +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "oKr" = ( /obj/structure/toilet/greyscale{ dir = 4 @@ -42657,6 +42509,17 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"oKt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "oKz" = ( /obj/structure/cable, /obj/machinery/door/airlock/security{ @@ -42665,6 +42528,17 @@ /obj/effect/mapping_helpers/airlock/access/all/security/armory, /turf/open/floor/iron/textured_half, /area/station/security/warden) +"oKM" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "oKP" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -42672,54 +42546,87 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"oLc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"oKV" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Dorms" }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +/obj/machinery/door/firedoor, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/commons/dorms) "oLg" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/aft) -"oLo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"oLx" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Air" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) +"oLU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"oLr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/light/small/directional/north, /turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"oLD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/area/station/engineering/atmospherics_engine) +"oMd" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) +"oMk" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/obj/structure/lattice, +/turf/open/misc/asteroid/airless, +/area/space/nearstation) +"oMr" = ( +/obj/machinery/door/firedoor{ + dir = 4 }, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) -"oLV" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/recreation) "oMy" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/aft) +"oMz" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Air to Distro" + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "oMI" = ( /obj/effect/decal/cleanable/dirt, /mob/living/basic/slime, /turf/open/floor/engine, /area/station/science/xenobiology) +"oMU" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/research/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat_interior) "oNd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/blue/corner{ @@ -42729,11 +42636,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"oNs" = ( -/turf/open/floor/iron/stairs/left{ - dir = 1 +"oNg" = ( +/obj/machinery/door/poddoor/incinerator_atmos_main{ + dir = 4 }, -/area/station/maintenance/hallway/abandoned_command) +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "oNv" = ( /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ dir = 1 @@ -42742,6 +42650,18 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"oNw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "oND" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/stripes/line{ @@ -42755,23 +42675,15 @@ /obj/structure/alien/weeds, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"oNN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/station/science/research) "oNW" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/engineering/atmos/project) "oNX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42803,12 +42715,23 @@ dir = 1 }, /area/station/science/lobby) +"oOj" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "oOl" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"oOo" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "oOp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/cold/directional/east, @@ -42817,10 +42740,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"oOs" = ( -/obj/structure/closet/crate/solarpanel_small, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) "oOv" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -42839,13 +42758,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"oOC" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/grass, -/area/station/service/chapel) +"oOH" = ( +/turf/open/floor/iron/smooth, +/area/station/service/library) "oOK" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -42864,12 +42779,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"oOV" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/security/breakroom) "oPa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42885,19 +42794,11 @@ /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) +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/indigo, +/obj/machinery/atmospherics/pipe/smart/simple/orange, +/turf/open/space/basic, +/area/space/nearstation) "oPi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42914,9 +42815,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"oPj" = ( -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) "oPo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42926,13 +42824,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"oPy" = ( -/obj/structure/bookcase/random, -/obj/structure/sign/painting/library{ - pixel_x = -30 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"oPp" = ( +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) +"oPu" = ( +/obj/structure/sign/warning/electric_shock, +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter) +"oPA" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "oPG" = ( /obj/machinery/door/airlock/research{ name = "Research Director's Bedroom" @@ -42967,6 +42871,12 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/prison/workout) +"oQc" = ( +/obj/structure/table, +/obj/item/dyespray, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) "oQj" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/east, @@ -42977,7 +42887,8 @@ "oQr" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4 }, /obj/machinery/conveyor{ dir = 8; @@ -42989,9 +42900,41 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/cargo/storage) +"oQz" = ( +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/light/cold/dim/directional/west, +/obj/structure/table/greyscale, +/obj/item/screwdriver, +/obj/item/stack/cable_coil/cut{ + pixel_x = 11; + pixel_y = 7 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Office" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "oQF" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) +"oQH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "oQJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/line{ @@ -42999,13 +42942,12 @@ }, /turf/open/floor/iron, /area/station/science/cytology) -"oQK" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - initialize_directions = 8 +"oQY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "oRj" = ( /obj/effect/turf_decal/siding/yellow{ dir = 8 @@ -43019,10 +42961,13 @@ /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/closed/mineral/random/stationside, /area/station/ai_monitored/aisat/exterior) -"oRp" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/carpet, -/area/station/commons/dorms) +"oRq" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "oRr" = ( /obj/machinery/conveyor{ dir = 8; @@ -43034,48 +42979,46 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/cargo/storage) -"oRv" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/obj/item/radio/intercom/directional/south, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"oRw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "oRy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/machinery/door/airlock/command{ + name = "Telecomms Server Room" }, -/obj/machinery/door/airlock/maintenance{ - name = "Crematorium" +/obj/effect/mapping_helpers/airlock/access/all/engineering/tcoms, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "comms-entrance-north" }, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, -/turf/open/floor/iron/textured_half{ - dir = 8 +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/tcommsat/server) +"oRz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/area/station/service/chapel/storage) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "oRB" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"oRI" = ( +/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/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "oRJ" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/light/cold/directional/west, @@ -43090,18 +43033,20 @@ "oRV" = ( /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /obj/machinery/door/airlock/grunge{ - name = "St. Brendan's" + name = "St. Brendan's"; + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/greater) -"oRW" = ( -/obj/effect/turf_decal/siding/wideplating{ +"oRX" = ( +/obj/structure/closet/boxinggloves, +/obj/effect/turf_decal/stripes/red/line{ dir = 4 }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/main) +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "oRZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -43128,6 +43073,17 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"oSo" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "custodialshutters"; + name = "Custodial Closet Shutters" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/large, +/area/station/service/janitor) "oSv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/rdconsole{ @@ -43141,28 +43097,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) -"oTf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"oTg" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 +"oSK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/turf/open/floor/iron/dark, +/area/station/cargo/office) +"oSV" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/end, /obj/structure/cable, /turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) +/area/station/hallway/primary/central/fore) "oTj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"oTl" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "oTH" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/decal/cleanable/dirt, @@ -43175,30 +43133,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"oTJ" = ( -/obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"oTM" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) -"oTN" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "oTT" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -43211,34 +43145,15 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"oTZ" = ( -/obj/structure/cable, -/obj/structure/reflector/single/anchored{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"oUb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/chapel) "oUd" = ( /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"oUi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +"oUm" = ( +/obj/structure/railing{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/commons/dorms) "oUB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43271,29 +43186,20 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/security/evidence) -"oVl" = ( -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_y = 32 - }, -/obj/structure/table/wood, -/obj/item/roulette_wheel_beacon, -/obj/item/holosign_creator/robot_seat/bar{ - pixel_x = 2; - pixel_y = 9 +"oUX" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/stone, -/area/station/service/bar/backroom) -"oVm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 6 - }, +/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/engineering/atmos) +/area/station/hallway/primary/central/aft) "oVt" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /obj/effect/turf_decal/tile/yellow, @@ -43303,19 +43209,44 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"oVE" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ +"oVy" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/port/aft) +"oVA" = ( +/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/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"oVC" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"oVE" = ( +/obj/machinery/door/window/right/directional/west{ + name = "Fitness Ring" + }, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "oVF" = ( /mob/living/basic/mining/lobstrosity, /turf/open/misc/asteroid/airless, @@ -43328,13 +43259,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) -"oVW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/structure/flora/bush/large/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) "oVY" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -43353,6 +43277,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"oWh" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "oWk" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/item/clothing/suit/caution, @@ -43382,14 +43313,31 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"oXa" = ( +"oWD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) +"oXo" = ( +/obj/machinery/power/smes/engineering, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) +"oXq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 6 }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) +/turf/open/floor/iron, +/area/station/engineering/atmos) "oXs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -43408,25 +43356,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"oYi" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=23.1-Evac"; - location = "22.0-Porthall-Evac" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"oYj" = ( -/obj/machinery/light_switch/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "oYv" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43435,12 +43364,6 @@ dir = 8 }, /area/station/engineering/main) -"oYF" = ( -/obj/structure/reflector/box/anchored{ - dir = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "oYL" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -43457,6 +43380,13 @@ /obj/item/radio/intercom/command/directional/east, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) +"oZg" = ( +/obj/effect/turf_decal/siding/green/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/herringbone, +/area/station/service/abandoned_gambling_den/gaming) "oZi" = ( /obj/effect/turf_decal/siding/wideplating/dark/corner, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -43474,16 +43404,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"oZy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "oZz" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ name = "Burn Chamber Exterior Airlock" @@ -43499,13 +43419,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"oZO" = ( -/obj/structure/railing{ - dir = 8 +"oZS" = ( +/obj/machinery/computer/security/mining, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/brown{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/dorms) +/obj/machinery/incident_display/bridge/directional/north, +/turf/open/floor/iron/smooth, +/area/station/command/bridge) "oZY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43513,6 +43435,11 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"pah" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding, +/turf/open/floor/iron/white/small, +/area/station/science/lab) "pan" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -43533,17 +43460,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) -"paT" = ( -/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/research/glass{ - name = "Cubicle" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/cubicle) "paX" = ( /obj/structure/chair/bronze{ dir = 8 @@ -43564,10 +43480,6 @@ }, /turf/open/floor/iron/smooth, /area/station/service/greenroom) -"pbk" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta, -/turf/open/floor/iron, -/area/station/commons/dorms) "pbl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -43582,27 +43494,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"pbw" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"pbD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/plaque{ - icon_state = "L12"; - pixel_y = -15 +"pbx" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 }, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "pbE" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -43610,37 +43514,30 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"pbG" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ +"pbJ" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 1 }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"pbO" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) +"pbY" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, +/obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"pca" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 +/area/station/cargo/miningoffice) +"pbZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "pcb" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -43657,16 +43554,6 @@ dir = 8 }, /area/station/command/heads_quarters/hos) -"pcE" = ( -/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/research/glass{ - name = "Break Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) "pcK" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/blue{ @@ -43690,22 +43577,38 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"pcO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/cargo/boutique) +"pde" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "pdf" = ( /obj/structure/transport/linear/tram, /obj/effect/landmark/transport/transport_id/birdshot/line_2, /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"pdl" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/kirbyplants/random/fullysynthetic, +"pdj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"pdn" = ( +/obj/machinery/power/terminal, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "pds" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -43728,10 +43631,11 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/science/cytology) -"pdA" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +"pdO" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/port/aft) "pdR" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -43781,6 +43685,13 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"peD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "peN" = ( /obj/structure/lattice, /obj/machinery/camera/motion/directional/north{ @@ -43790,13 +43701,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"peU" = ( -/obj/structure/flora/rock/pile/jungle/style_2, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "pfd" = ( /obj/effect/turf_decal/stripes/white/corner{ dir = 1 @@ -43813,11 +43717,19 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"pfo" = ( -/obj/structure/closet/secure_closet/personal, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +"pfn" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/science/ordnance/testlab) +"pfr" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "pfu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -43859,34 +43771,18 @@ pixel_y = 2 }, /obj/machinery/camera/autoname/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) -"pfT" = ( -/obj/structure/training_machine, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) -"pfW" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) -"pgg" = ( -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"pfP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/security/tram) -"pgl" = ( -/obj/structure/cable, -/turf/open/floor/iron/stairs/right{ - dir = 8 +/obj/machinery/camera/motion/directional/south{ + c_tag = "Captain's Office - Emergency" }, -/area/station/commons/fitness/locker_room) -"pgm" = ( -/obj/machinery/computer/security/telescreen/prison/directional/north, -/obj/machinery/computer/records/security, -/turf/open/floor/wood, -/area/station/security/detectives_office) +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_command) "pgq" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/wood{ @@ -43904,60 +43800,88 @@ /obj/item/kirbyplants/fern, /turf/open/floor/iron/white, /area/station/science/cytology) +"pgA" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"pgG" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1 + }, +/obj/item/radio/intercom/prison/directional/west, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison) "phd" = ( -/obj/effect/turf_decal/siding/red{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/holopad, -/turf/open/floor/iron/small, -/area/station/security/office) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"phi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "phj" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/iron, /area/station/cargo/storage) -"phm" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/genetics) -"pho" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/dark_red{ - dir = 1 - }, -/turf/open/floor/iron/dark/small, -/area/station/ai_monitored/security/armory) "phs" = ( /obj/machinery/duct, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"pht" = ( +/turf/open/floor/wood, +/area/station/security/detectives_office) +"phz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "phC" = ( /obj/machinery/light/cold/dim/directional/west, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/structure/sign/directions/security/directional/west{ - dir = 2 - }, -/obj/structure/sign/directions/science/directional/west{ - pixel_y = 8; - dir = 10 - }, -/obj/structure/sign/directions/upload/directional/west{ - pixel_y = -8; - dir = 10 - }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"phG" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"phD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/stone, -/area/station/service/bar) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"phW" = ( +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "phY" = ( /obj/structure/railing{ dir = 1 @@ -43975,13 +43899,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side, /area/station/science/lower) -"pic" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 10 - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "pie" = ( /obj/effect/spawner/random/decoration/showcase, /obj/structure/window/spawner/directional/south, @@ -44016,10 +43933,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"pit" = ( -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "piG" = ( /obj/effect/turf_decal/siding/green{ dir = 8 @@ -44027,12 +43940,6 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) -"piJ" = ( -/obj/structure/bed, -/obj/item/bedsheet/purple, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/grimy, -/area/station/service/janitor) "piL" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral{ @@ -44040,6 +43947,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"piQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pjb" = ( /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, @@ -44050,6 +43966,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"pjf" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "pjk" = ( /turf/open/floor/iron, /area/station/engineering/atmos) @@ -44073,19 +43994,12 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"pjA" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"pjv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "pjG" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/iron, @@ -44103,6 +44017,14 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"pjN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/cable, +/turf/open/floor/grass, +/area/station/service/chapel) "pjT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44111,17 +44033,28 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"pjX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"pjV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/ammo_casing/spent{ + pixel_x = 5; + pixel_y = 6 }, -/obj/machinery/button/door/directional/east{ - id = "Secure Storage top"; - name = "Secure engineering storage"; - req_access = list("engine_equip") +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_x = 4; + pixel_y = -2 }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"pkc" = ( +/obj/structure/flora/bush/large/style_3, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "pke" = ( /obj/machinery/door/airlock/centcom{ name = "Disposals Access:" @@ -44129,6 +44062,20 @@ /obj/effect/mapping_helpers/airlock/access/any/service/janitor, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"pkg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/highsecurity{ + name = "AI Upload" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/ai_monitored/turret_protected/ai_upload) "pkh" = ( /obj/effect/spawner/random/decoration/showcase, /obj/structure/window/spawner/directional/south, @@ -44141,41 +44088,20 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"pkt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, +"pkx" = ( +/obj/effect/turf_decal/tile/dark_red, /turf/open/floor/iron, -/area/station/engineering/atmos/project) +/area/station/security/prison) "pkB" = ( /obj/item/kirbyplants/random, /obj/item/weldingtool, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"pkQ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) -"pkR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=6.2-Arrivals"; - location = "6.1-Arrivals" - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/entry) +"pkF" = ( +/obj/structure/cable, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "pkS" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/wood{ @@ -44184,16 +44110,21 @@ /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/wood/tile, /area/station/service/lawoffice) -"pkU" = ( -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/south, -/obj/structure/flora/bush/flowers_br, -/obj/structure/flora/bush/flowers_yw, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -17; - pixel_y = 2 +"pkY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/south{ + name = "Hydroponics Desk" }, -/turf/open/floor/grass, +/obj/machinery/door/firedoor, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/pen{ + pixel_x = 4 + }, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/turf/open/floor/plating, /area/station/service/hydroponics) "plf" = ( /obj/structure/disposalpipe/segment, @@ -44201,9 +44132,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"plo" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "plr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 8 }, @@ -44231,6 +44168,17 @@ }, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"plY" = ( +/obj/structure/chair/office, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "pmg" = ( /obj/structure/table/reinforced/titaniumglass, /obj/effect/turf_decal/bot, @@ -44242,11 +44190,15 @@ }, /turf/open/floor/catwalk_floor/titanium, /area/station/command/heads_quarters/ce) -"pmq" = ( -/obj/structure/bed/maint, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/eighties/red, -/area/station/service/abandoned_gambling_den/gaming) +"pmp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/holy/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "pms" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -44270,6 +44222,14 @@ }, /turf/open/floor/iron, /area/station/security/prison/workout) +"pnd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/half, +/obj/effect/turf_decal/tile/brown/half{ + dir = 1 + }, +/turf/open/floor/iron/textured_half, +/area/station/cargo/miningoffice) "pnf" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44282,6 +44242,10 @@ "pnl" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/electrical) +"pnp" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "pnq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public{ @@ -44294,33 +44258,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"pnF" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/hydroponics/constructable, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"pnH" = ( -/obj/machinery/vending/wardrobe/atmos_wardrobe, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) -"pnK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/structure/flora/bush/flowers_yw/style_3, -/obj/structure/flora/bush/jungle/c/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"pnO" = ( -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "pnQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -44355,13 +44292,14 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) -"pot" = ( -/obj/structure/table/wood, -/obj/item/cigarette/cigar/premium{ - pixel_y = 5 - }, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) +"pov" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "pox" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44416,6 +44354,11 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"poQ" = ( +/obj/effect/spawner/xmastree, +/obj/structure/flora/tree/jungle/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "poU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44453,6 +44396,13 @@ /obj/structure/cable, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) +"ppq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/station/engineering/atmos) "pps" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/window/spawner/directional/north, @@ -44473,10 +44423,15 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"ppL" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +"ppJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - Supermatter Chamber" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ppQ" = ( /obj/effect/turf_decal/stripes/box, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -44485,29 +44440,14 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"ppT" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"ppV" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/station/holodeck/rec_center) +"ppR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "pqm" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tcomms) -"pqr" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/camera/directional/west{ - c_tag = "atmospherics - storage" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "pqv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -44517,6 +44457,15 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pqJ" = ( +/obj/structure/chair/sofa/bench{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "pqK" = ( /obj/structure/cable, /obj/machinery/door/window/left/directional/south, @@ -44545,6 +44494,14 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"pqZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter) +"prc" = ( +/obj/structure/flora/bush/flowers_pp/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "prf" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -44565,13 +44522,26 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"prP" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ +"prv" = ( +/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/engineering/atmospherics_engine) +"prF" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"prT" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/siding/white{ dir = 4 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/iron/dark/small, +/area/station/maintenance/aft) "prW" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -44579,6 +44549,10 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"psa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) "psc" = ( /obj/machinery/door/poddoor/shutters{ id = "teleporterhubshutters"; @@ -44598,14 +44572,15 @@ dir = 1 }, /area/station/science/auxlab/firing_range) -"psz" = ( -/obj/machinery/door/window/left/directional/west{ - name = "Fitness Ring" +"psu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage below"; + name = "Secure Storage" }, -/obj/structure/window/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) +/turf/open/floor/plating/rust, +/area/station/engineering/main) "psI" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/full, @@ -44627,17 +44602,6 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) -"psK" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) "psP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44654,6 +44618,13 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ptc" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "ptj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44661,10 +44632,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/diagonal, /area/station/science/auxlab/firing_range) -"ptl" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "ptt" = ( /obj/structure/chair/wood/wings, /obj/effect/turf_decal/siding/wood{ @@ -44683,13 +44650,24 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/stone, /area/station/command/corporate_suite) +"pty" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine) "ptC" = ( -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 5 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "ptN" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/toy/talking/griffin{ @@ -44697,15 +44675,19 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"ptX" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, +"ptS" = ( /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/central/greater) +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"pue" = ( +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron/kitchen/small, +/area/station/security/prison/mess) "pus" = ( /obj/effect/turf_decal/box/red/corners, /obj/effect/turf_decal/stripes/white/line{ @@ -44720,25 +44702,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) -"pvi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/service/chapel/office) -"pvk" = ( -/obj/structure/closet/boxinggloves, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"pvC" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/wood, -/area/station/service/chapel/office) +"puH" = ( +/obj/structure/hedge, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "pvY" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 @@ -44747,9 +44714,19 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"pvZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/isolation/directional/east, +/obj/machinery/photobooth/security, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "pwn" = ( /obj/effect/spawner/random/vending/colavend, -/obj/structure/sign/departments/telecomms/directional/south, /turf/open/floor/iron, /area/station/science/lower) "pwq" = ( @@ -44776,21 +44753,25 @@ "pwN" = ( /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) -"pwO" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark/fourcorners, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/no_nightlight/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "pxj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) +"pxk" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/light/no_nightlight/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"pxp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/diagonal, +/area/station/command/heads_quarters/hop) "pxx" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -44806,18 +44787,48 @@ /turf/open/floor/iron/dark, /area/station/medical/pharmacy) "pxz" = ( -/turf/closed/wall/r_wall/rust, -/area/station/maintenance/disposal/incinerator) +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/stone, +/area/station/service/bar) "pxA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/grunge{ - name = "Cell 4" + name = "Cell 4"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/security/prison/safe) +"pxL" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/jungle/a/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/window/spawner/directional/east, +/obj/machinery/light/floor, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/grass, +/area/station/service/hydroponics) +"pxQ" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 1; + pixel_y = -2 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "pxZ" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -44828,35 +44839,24 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"pyk" = ( -/obj/structure/closet/crate/trashcart/filled, -/obj/structure/spider/stickyweb, -/obj/effect/spawner/random/maintenance/four, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"pys" = ( -/obj/structure/sign/warning/fire, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) -"pyt" = ( -/obj/machinery/light/floor, -/turf/open/floor/grass, -/area/station/service/chapel) -"pyA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ +"pyi" = ( +/obj/structure/table/reinforced, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 5 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters"; dir = 4 }, /turf/open/floor/plating, -/area/station/maintenance/port/greater) -"pyF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/area/station/service/kitchen) +"pyj" = ( +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "pzb" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -44868,6 +44868,15 @@ "pzd" = ( /turf/closed/wall, /area/station/commons/fitness/recreation/entertainment) +"pzo" = ( +/obj/effect/turf_decal/tile/neutral/full, +/obj/structure/chair{ + dir = 4; + pixel_y = -2 + }, +/obj/structure/sign/poster/contraband/random/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) "pzy" = ( /obj/structure/table, /obj/item/storage/box/prisoner{ @@ -44879,11 +44888,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/security/execution/transfer) -"pzK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding, -/turf/open/floor/iron/white/small, -/area/station/science/lab) "pzL" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -44896,6 +44900,10 @@ /obj/item/stack/sheet/mineral/titanium, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"pzW" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms) "pAl" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44960,25 +44968,13 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"pAY" = ( +"pBq" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/white/corner{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/area/station/hallway/secondary/dock) -"pBm" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "pBu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -44992,15 +44988,24 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) +"pBG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/vault{ + name = "Vault" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "pBN" = ( /obj/machinery/flasher/directional/east{ id = "justiceflash" }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/education) -"pBO" = ( -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) "pBT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -45023,9 +45028,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"pCn" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/project) +"pCj" = ( +/obj/machinery/power/energy_accumulator/grounding_rod/anchored, +/obj/structure/window/reinforced/plasma/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "pCv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45059,6 +45068,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft) +"pDa" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "pDr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45070,6 +45090,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/rec) +"pDv" = ( +/obj/machinery/power/energy_accumulator/tesla_coil/anchored, +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/obj/machinery/camera/directional/west, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "pDw" = ( /obj/effect/turf_decal/siding/blue{ dir = 4 @@ -45114,10 +45142,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"pDX" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "pEo" = ( /obj/item/radio/intercom/directional/west, /obj/structure/disposalpipe/segment, @@ -45126,23 +45150,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"pEp" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Pure to Unfiltered" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"pEq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pEs" = ( /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white, @@ -45163,27 +45170,12 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"pEv" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/dorms) "pEy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"pEB" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/turf/open/floor/iron, -/area/station/security/prison) -"pED" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/turf/open/floor/iron/white/small, -/area/station/science/server) "pEL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue{ @@ -45191,40 +45183,38 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"pEO" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ +"pFb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=1.0-Security-PNexus"; - location = "23.2-Evac-Garden" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"pET" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) -"pEU" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock/freezer{ - name = "Freezer" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen) +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) "pFk" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/effect/decal/cleanable/dirt, /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"pFl" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"pFw" = ( +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "pFI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45267,6 +45257,9 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"pGw" = ( +/turf/open/floor/stone, +/area/station/service/bar) "pGD" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -45292,11 +45285,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"pGS" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/camera/directional/north, -/turf/open/misc/dirt/station, -/area/station/service/chapel) "pGU" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 5 @@ -45307,11 +45295,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"pHc" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) "pHe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -45338,36 +45321,20 @@ /obj/item/storage/medkit/regular, /turf/open/floor/plating, /area/station/cargo/storage) -"pHq" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"pHs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pHw" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/airlock_painter, /turf/open/floor/iron, /area/station/commons/storage/art) -"pHA" = ( -/obj/effect/turf_decal/weather/dirt{ +"pHy" = ( +/obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/structure/flora/bush/flowers_br/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) "pHC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -45402,37 +45369,19 @@ }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"pHY" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/machinery/light_switch/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 +"pHV" = ( +/obj/machinery/holopad, +/obj/machinery/button/door/directional/north{ + id = "medlock"; + name = "Medbay Lockdown Control"; + req_access = list("medical") }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "pId" = ( /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"pIf" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/east, -/obj/item/clothing/head/utility/hardhat/welding{ - pixel_x = 7; - pixel_y = 13 - }, -/obj/item/clothing/shoes/cowboy/lizard{ - pixel_x = -2 - }, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) "pIi" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/rack, @@ -45457,15 +45406,16 @@ }, /turf/open/floor/plating, /area/station/cargo/miningfoundry) -"pIn" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"pIj" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L11"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + 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/maintenance/hallway/abandoned_command) +/area/station/hallway/primary/central/aft) "pIp" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/stripes/white/line{ @@ -45473,16 +45423,36 @@ }, /turf/open/floor/engine, /area/station/science/cytology) +"pIt" = ( +/obj/structure/sign/directions/science/west_arrow{ + pixel_y = 8; + dir = 10 + }, +/obj/structure/sign/directions/security/west_arrow{ + dir = 2 + }, +/obj/structure/sign/directions/upload/west_arrow{ + pixel_y = -8; + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/station/hallway/primary/fore) "pIw" = ( /obj/structure/bodycontainer/morgue, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) -"pIC" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 +"pIQ" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "pIS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -45491,12 +45461,10 @@ }, /turf/open/floor/plating, /area/station/command/bridge) -"pJc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar) +"pJi" = ( +/obj/machinery/computer/security/telescreen/cmo/directional/west, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "pJj" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -45518,6 +45486,20 @@ dir = 8 }, /area/station/cargo/storage) +"pJp" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "HFR Chamber"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "pJr" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plating, @@ -45552,6 +45534,17 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"pJD" = ( +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "pJQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -45560,9 +45553,12 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "pKi" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/security{ - name = "Security Transferring Center" + name = "Security Transferring Center"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ @@ -45574,6 +45570,15 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/white/small, /area/station/medical/medbay/central) +"pKo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "pKp" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -45581,12 +45586,27 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"pKx" = ( -/obj/structure/disposalpipe/segment{ +"pKr" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"pKz" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) +"pKM" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/firealarm/directional/west, +/obj/machinery/vending/cytopro, +/turf/open/floor/iron/white, +/area/station/science/cytology) "pKR" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 @@ -45615,19 +45635,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"pKW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "pLf" = ( -/obj/machinery/griddle, -/obj/effect/turf_decal/siding{ - dir = 10 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/window/right/directional/south{ + name = "AI Security Door" }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) +/obj/machinery/flasher/directional/west{ + id = "ai" + }, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "pLj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45652,7 +45669,9 @@ name = "E.V.A. Storage" }, /obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/command/general, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; @@ -45678,6 +45697,13 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/engineering/break_room) +"pLU" = ( +/obj/structure/flora/bush/jungle/c/style_3, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "pLZ" = ( /obj/machinery/vending/coffee, /obj/machinery/light/cold/directional/north, @@ -45687,21 +45713,6 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"pMq" = ( -/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/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) "pMs" = ( /obj/structure/transit_tube/horizontal, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45711,12 +45722,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) -"pMM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"pMH" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "pMS" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -45730,12 +45739,6 @@ }, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"pNh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) "pNi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45749,20 +45752,36 @@ }, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"pNA" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "pNC" = ( /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/secondary/construction) "pNF" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) +/obj/structure/flora/bush/sparsegrass{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"pNK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, +/obj/effect/turf_decal/tile/dark/fourcorners, +/obj/machinery/computer/atmos_control/carbon_tank, +/turf/open/floor/iron, +/area/station/engineering/atmos) "pNO" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -45771,12 +45790,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/small, /area/station/science/lab) -"pNZ" = ( -/obj/structure/sign/directions/dorms{ +"pOe" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/closed/wall, -/area/station/commons/fitness/locker_room) +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/half, +/area/station/hallway/primary/central/fore) "pOg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45789,6 +45809,16 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/office) +"pOh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "pOi" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -45816,6 +45846,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"pOq" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 9 + }, +/obj/machinery/meter/monitored/distro_loop, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "pOw" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -45845,34 +45883,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"pOM" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/port) -"pOQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/firealarm/directional/east, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"pOT" = ( -/turf/closed/wall, -/area/station/holodeck/rec_center) "pOX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -45884,12 +45894,6 @@ /obj/effect/landmark/start/coroner, /turf/open/floor/iron/small, /area/station/medical/morgue) -"pPj" = ( -/obj/structure/mirror/directional/east, -/obj/structure/chair/stool/bar/directional/east, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) "pPm" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/corner{ @@ -45902,42 +45906,40 @@ /obj/item/airlock_painter, /turf/open/floor/iron/small, /area/station/engineering/atmos/storage/gas) -"pPp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 4 - }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"pPx" = ( -/obj/structure/disposalpipe/trunk{ +"pPJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/disposal/bin, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "pPK" = ( /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/hallway/secondary/command) -"pPO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"pPW" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"pPU" = ( -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"pPX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L14"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "pPZ" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -45946,19 +45948,27 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"pQn" = ( -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron/kitchen/small, -/area/station/security/prison/mess) "pQr" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 1 }, /obj/machinery/mechpad, /obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"pQx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) +"pQB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) "pQE" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -45972,11 +45982,20 @@ }, /turf/open/floor/engine, /area/station/hallway/secondary/entry) -"pQP" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/components/unary/bluespace_sender, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/office) +"pQH" = ( +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"pQS" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = -8 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "pQY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -45985,15 +46004,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/science/xenobiology) -"pRc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "pRe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/table/wood, @@ -46002,6 +46012,14 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/service/chapel/office) +"pRj" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "pRw" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -46016,6 +46034,23 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/security/prison/rec) +"pRG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"pRH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red, +/turf/open/floor/iron/white/small, +/area/station/security/warden) "pRL" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron/small, @@ -46035,11 +46070,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"pRR" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "pSc" = ( /obj/item/bikehorn/rubberducky{ pixel_x = 6; @@ -46059,6 +46089,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"pSe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/directional/east, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"pSk" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/electronics/airlock{ + pixel_y = 13 + }, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "pSq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, @@ -46071,6 +46122,17 @@ }, /turf/open/space/basic, /area/space/nearstation) +"pSw" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/stone, +/area/station/service/bar) +"pSA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "pSB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/tank/air{ @@ -46078,29 +46140,22 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"pSI" = ( -/obj/machinery/door/morgue{ - name = "Private Study"; - req_access = list("library") - }, +"pSO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/central/greater) -"pSN" = ( -/obj/item/radio/intercom/directional/south, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/lawoffice) -"pSP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron/smooth, +/area/station/hallway/secondary/command) +"pSS" = ( +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/chair/comfy/brown{ + dir = 1 }, /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{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "pST" = ( /obj/structure/table, /obj/item/plant_analyzer, @@ -46110,19 +46165,12 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"pTk" = ( +"pSW" = ( /obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Maintenance" + dir = 10 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/holodeck/rec_center) +/turf/open/floor/iron/white, +/area/station/hallway/primary/central/aft) "pTq" = ( /obj/machinery/door/airlock/maintenance{ name = "Crematorium Maintenance" @@ -46138,30 +46186,28 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/service/lawoffice) +"pTv" = ( +/obj/structure/cable, +/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/plating, +/area/station/maintenance/port/greater) "pTz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/service/lawoffice) -"pTA" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/spawner/random/entertainment/arcade, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"pTZ" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/dorms) "pUc" = ( /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/medical/chemistry) "pUs" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46185,10 +46231,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/wood/tile, /area/station/command/meeting_room) -"pUA" = ( -/obj/machinery/space_heater, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "pUC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/doppler_array{ @@ -46205,21 +46247,24 @@ pixel_y = 1 }, /obj/machinery/light/small/directional/east, +/obj/machinery/camera/directional/east, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"pUM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"pUQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"pUN" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/aft) "pUS" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; - shuttledocked = 1 + shuttledocked = 1; + dir = 4 }, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -46234,25 +46279,20 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) -"pVj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"pVg" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"pVq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "pVK" = ( /obj/effect/mapping_helpers/broken_floor, /turf/closed/wall, @@ -46277,6 +46317,11 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) +"pVS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "pVU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46305,12 +46350,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"pWB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/diagonal, -/area/station/command/heads_quarters/hop) "pWC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -46374,6 +46413,18 @@ }, /turf/open/space/basic, /area/space/nearstation) +"pWW" = ( +/obj/structure/table/glass, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 11; + pixel_y = 6 + }, +/obj/item/folder/blue{ + pixel_x = -3; + pixel_y = 2 + }, +/turf/open/floor/carpet/executive, +/area/station/command/meeting_room) "pWZ" = ( /obj/effect/turf_decal/siding/white{ dir = 9 @@ -46396,10 +46447,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"pXk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) "pXo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -46412,13 +46459,16 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"pXv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"pXr" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/structure/chair{ + dir = 8 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/flasher/directional/east{ + id = "brigisolation" + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "pXz" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/machinery/firealarm/directional/south, @@ -46427,6 +46477,9 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"pXA" = ( +/turf/open/floor/wood, +/area/station/engineering/main) "pXB" = ( /obj/effect/turf_decal/siding/dark_red, /obj/machinery/light/small/directional/north, @@ -46442,6 +46495,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"pXK" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "pXL" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -46464,15 +46523,23 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"pYi" = ( +"pYf" = ( +/turf/open/floor/iron, +/area/station/engineering/atmos/project) +"pYk" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, /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/starboard/fore) +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pYr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46480,31 +46547,32 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "pYu" = ( -/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, /obj/effect/mapping_helpers/broken_floor, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"pYw" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/railing/corner, -/turf/open/floor/iron, -/area/station/engineering/atmos) "pYx" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, /turf/open/floor/engine, /area/station/science/explab) +"pYL" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) +"pYT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "pYY" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -46512,31 +46580,26 @@ /obj/structure/cable, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"pYZ" = ( -/turf/open/floor/iron/white/side{ - dir = 4 +"pZa" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/area/station/science/lower) -"pZp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 5 +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 }, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/commons/storage/tools) +"pZp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pZu" = ( /obj/structure/hedge, /turf/open/floor/plating, /area/station/cargo/storage) -"pZv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "pZz" = ( /obj/structure/rack, /obj/item/clothing/gloves/cargo_gauntlet{ @@ -46547,6 +46610,7 @@ pixel_y = 3 }, /obj/machinery/airalarm/directional/south, +/obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/cargo/storage) "pZK" = ( @@ -46555,64 +46619,79 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"pZM" = ( +/obj/machinery/door/window/brigdoor/left/directional/west{ + id = "Cell 1"; + name = "Cell 1"; + req_access = list("security") + }, +/turf/open/floor/iron/dark/small, +/area/station/security/brig) "pZQ" = ( /obj/structure/grille, /obj/item/shard/titanium, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"qan" = ( -/obj/structure/cable/layer3, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/window/brigdoor/left/directional/north{ - atom_integrity = 300; - name = "AI Core Chamber Access"; - req_access = list("ai_upload") +"pZU" = ( +/obj/structure/rack, +/obj/item/clothing/neck/petcollar, +/obj/item/flashlight/flare/candle{ + pixel_x = 10 }, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) -"qav" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Unfiltered & Air to Mix"; - dir = 4 +/obj/item/flashlight/flare/candle{ + pixel_x = 8; + pixel_y = 1 }, +/obj/item/screwdriver{ + pixel_y = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/engineering/atmos) -"qaF" = ( -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/turf/open/floor/iron/white/small, -/area/station/maintenance/port/aft) -"qaU" = ( -/obj/effect/turf_decal/arrows/white, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/area/station/maintenance/department/engine/atmos) +"qaG" = ( +/obj/effect/turf_decal/box/white{ + color = "#9FED58" }, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) -"qaX" = ( -/obj/structure/table, -/obj/item/electronics/airalarm{ - pixel_x = -5; - pixel_y = -7 +"qaJ" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/item/electronics/firealarm{ - pixel_x = 5; - pixel_y = -5 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/electronics/firealarm{ - pixel_x = 5 +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"qaN" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/item/electronics/airalarm{ - pixel_x = 7; - pixel_y = 9 +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/obj/item/electronics/airalarm{ - pixel_x = -5; - pixel_y = 5 +/turf/open/floor/wood/tile, +/area/station/service/bar) +"qbe" = ( +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = -8 }, -/obj/structure/sign/poster/official/build/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +/obj/structure/sign/directions/command{ + dir = 1 + }, +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_y = 8 + }, +/turf/closed/wall/r_wall, +/area/station/hallway/primary/aft) "qbj" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -46644,19 +46723,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/supply) -"qbA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"qbB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "qbE" = ( /obj/item/stack/tile/catwalk_tile/iron, /turf/open/floor/plating, @@ -46670,19 +46736,25 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"qbP" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/east, -/obj/structure/table/reinforced, -/obj/item/folder/yellow{ - pixel_x = 2 +"qbS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/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/engineering/atmos) +"qbW" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/item/reagent_containers/cup/glass/mug/coco{ - pixel_x = -6; - pixel_y = 6 +/obj/structure/disposaloutlet{ + dir = 1 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "qcf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46699,14 +46771,15 @@ /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"qcB" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/maintenance/central/greater) "qcF" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"qcI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "qcQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46723,11 +46796,18 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"qdu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) +"qdh" = ( +/obj/structure/closet/crate, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/effect/spawner/random/contraband/prison, +/obj/effect/spawner/random/contraband/prison, +/turf/open/floor/iron, +/area/station/security/prison/work) "qdv" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -46748,22 +46828,6 @@ dir = 1 }, /area/station/hallway/primary/aft) -"qdN" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) -"qdR" = ( -/obj/structure/toilet, -/obj/machinery/light/small/directional/west, -/obj/machinery/button/door/directional/east{ - id = "AuxToilet1"; - name = "Lock Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) "qdS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -46778,19 +46842,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"qdU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/obj/machinery/meter/monitored/distro_loop, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) -"qdZ" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +"qef" = ( +/obj/structure/marker_beacon/fuchsia, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "qei" = ( /turf/closed/wall, /area/station/science/ordnance/storage) @@ -46857,18 +46913,49 @@ /obj/effect/mapping_helpers/airlock/access/any/service/lawyer, /turf/open/floor/iron/dark/textured_half, /area/station/service/lawoffice) -"qfK" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Pure to Waste" +"qfH" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance"; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"qfN" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/hallway/secondary/dock) "qfV" = ( /obj/machinery/vending/tool, /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/plating, /area/station/commons/storage/tools) +"qfW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "qfX" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -46876,6 +46963,26 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"qgc" = ( +/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) +"qgi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "qgj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -46917,12 +47024,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/lawyer, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qgJ" = ( -/obj/machinery/light/dim/directional/west, -/obj/machinery/duct, -/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 @@ -46949,16 +47050,17 @@ /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" +"qhv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 10 }, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/hallway/primary/central/fore) "qhD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46978,16 +47080,15 @@ /obj/effect/turf_decal/trimline/white/mid_joiner, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"qhR" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood/corner{ +"qhG" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/spawner/random/food_or_drink/booze{ - pixel_y = 10 - }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "qhV" = ( /obj/structure/table, /obj/machinery/fax{ @@ -47009,16 +47110,16 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"qie" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, +"qig" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "qin" = ( /obj/docking_port/stationary/escape_pod, /turf/open/space/basic, @@ -47038,32 +47139,14 @@ }, /turf/open/space/basic, /area/space/nearstation) +"qiv" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "qiz" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/storage/tools) -"qiC" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"qiI" = ( -/obj/structure/cable, -/obj/effect/spawner/random/structure/steam_vent, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"qiL" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) "qiM" = ( /obj/structure/table, /turf/open/floor/iron/cafeteria, @@ -47099,17 +47182,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"qjt" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qju" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -47127,6 +47199,15 @@ /obj/structure/table/reinforced/plastitaniumglass, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) +"qjS" = ( +/obj/machinery/light/small/directional/south{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "qjT" = ( /obj/structure/cable, /obj/item/kirbyplants/random, @@ -47140,6 +47221,19 @@ }, /turf/open/floor/iron, /area/station/science/cytology) +"qkb" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/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, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "qke" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/line{ @@ -47154,20 +47248,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"qkm" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"qko" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "qkp" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -47176,15 +47256,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"qkq" = ( -/obj/structure/cable, -/obj/machinery/power/terminal, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) +"qkH" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/siding/red, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/iron/small, +/area/station/security/office) "qkK" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"qkM" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "qlc" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -47198,7 +47286,6 @@ "qld" = ( /obj/machinery/destructive_scanner, /obj/machinery/light/small/directional/south, -/obj/structure/sign/departments/telecomms/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) "qli" = ( @@ -47209,6 +47296,12 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"qlw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "qly" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/effect/turf_decal/stripes/line{ @@ -47232,6 +47325,10 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/eva) +"qlT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "qlV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -47246,12 +47343,6 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"qme" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "qmv" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -47263,26 +47354,10 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/cargo/boutique) -"qmD" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix Outlet Pump" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"qmM" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/iron/smooth, -/area/station/service/library) -"qmT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/caution/stand_clear, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +"qmS" = ( +/obj/structure/flora/tree/jungle/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "qmZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47291,25 +47366,21 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) -"qnb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"qna" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/table, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "vaco"; - name = "Comissary Shutters" +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "qnc" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; - shuttledocked = 1 + shuttledocked = 1; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -47331,6 +47402,21 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) +"qnQ" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"qnZ" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "qoj" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/window/right/directional/west{ @@ -47340,18 +47426,31 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/plating, /area/station/medical/morgue) +"qom" = ( +/obj/machinery/door/airlock{ + name = "Gambling Den" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/research, +/obj/item/assembly/mousetrap/armed, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "qop" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/space/nearstation) -"qow" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" +"qov" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/corner, /area/station/commons/dorms) "qoA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -47363,28 +47462,14 @@ "qoD" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_showroom) -"qpe" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/disposaloutlet{ - dir = 1 +"qoG" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/item/radio/intercom/directional/south, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) -"qpp" = ( -/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/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qpu" = ( /obj/effect/turf_decal/siding/brown{ dir = 9 @@ -47392,6 +47477,11 @@ /obj/structure/steam_vent, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) +"qpy" = ( +/obj/machinery/air_sensor/nitrous_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "qpO" = ( /obj/structure/chair{ dir = 1 @@ -47406,8 +47496,30 @@ pixel_y = 4 }, /obj/item/restraints/handcuffs, +/obj/machinery/airalarm/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"qpW" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Incinerator Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"qqb" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "qqd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47415,6 +47527,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"qqg" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/station/service/library) "qqC" = ( /obj/structure/chair/comfy/carp{ dir = 1 @@ -47422,20 +47538,30 @@ /obj/machinery/light/floor, /turf/open/floor/glass/reinforced, /area/station/command/bridge) -"qqH" = ( -/obj/effect/spawner/random/entertainment/arcade{ +"qqW" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 8 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/eighties/red, +/obj/structure/cable, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) "qrb" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/white/side, +/area/station/science/lower) "qrg" = ( /obj/structure/cable, /obj/structure/displaycase/captain{ @@ -47453,6 +47579,37 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"qrG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron, +/area/station/commons/storage/tools) +"qrO" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) +"qrS" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) +"qrV" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"qrX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "qsg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/terminal, @@ -47469,17 +47626,36 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"qsr" = ( -/obj/effect/turf_decal/bot{ +"qsw" = ( +/obj/item/radio/intercom/directional/north{ + broadcasting = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = -26 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) +"qsx" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, -/obj/structure/reagent_dispensers/fueltank/large, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering - storage" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"qsJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "qsR" = ( /obj/structure/table/reinforced, /obj/effect/mapping_helpers/broken_floor, @@ -47495,16 +47671,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) -"qsY" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) "qtd" = ( /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) @@ -47528,10 +47694,24 @@ /obj/effect/landmark/start/head_of_security, /turf/open/floor/iron/checker, /area/station/command/heads_quarters/hos) +"qtF" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "qtG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/primary/fore) +"qtI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/service/chapel) "qtJ" = ( /obj/item/kirbyplants/random, /obj/machinery/light/small/directional/north, @@ -47594,13 +47774,22 @@ "quU" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain) -"qva" = ( -/obj/machinery/door/airlock{ - name = "Unit B"; - id_tag = "Toilet3" +"quY" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 }, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) +/obj/item/gps, +/obj/structure/closet/crate/engineering, +/obj/machinery/light/cold/directional/east, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "qvr" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -47616,6 +47805,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) +"qvK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "qvL" = ( /obj/effect/turf_decal/siding/wood, /obj/item/kirbyplants/random, @@ -47629,6 +47828,20 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"qwk" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple, +/obj/item/storage/box/bodybags{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "qwq" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/computer/prisoner/management{ @@ -47636,6 +47849,13 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"qwu" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/turf/open/floor/iron/dark/small, +/area/station/ai_monitored/security/armory) "qww" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -47646,6 +47866,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"qwy" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "qwz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -47657,12 +47881,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"qwA" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/turf/open/floor/eighties, -/area/station/hallway/primary/central/fore) "qwC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -47672,16 +47890,10 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron, /area/station/security) -"qwF" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/green/visible{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "atmospherics - lower"; - dir = 1 - }, +"qwL" = ( +/obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/maintenance/department/medical/central) "qwU" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/table/glass, @@ -47712,12 +47924,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"qxB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/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, @@ -47749,13 +47955,13 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/science/research) -"qyr" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/corner, -/turf/open/floor/wood, -/area/station/engineering/main) +"qyq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "qyx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/chair{ @@ -47765,6 +47971,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) +"qyy" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "qyz" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -47780,6 +47992,12 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"qyE" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/dorms) "qyN" = ( /obj/structure/railing, /turf/open/space/basic, @@ -47797,6 +48015,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"qze" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/chair/wood, +/turf/open/floor/iron/small, +/area/station/service/barber) "qzi" = ( /obj/structure/cable, /obj/effect/spawner/random/maintenance, @@ -47807,6 +48032,13 @@ /obj/structure/table/glass, /turf/open/floor/iron/white, /area/station/science/research) +"qzl" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "qzp" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/button/transport/tram/directional/north{ @@ -47829,33 +48061,6 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron, /area/station/security/tram) -"qzt" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/large/style_2, -/obj/structure/flora/bush/sparsegrass, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"qzv" = ( -/obj/structure/table, -/obj/item/canvas{ - pixel_x = 13; - pixel_y = 12 - }, -/obj/item/canvas, -/obj/item/canvas{ - pixel_x = 4; - pixel_y = 16 - }, -/obj/item/canvas{ - pixel_y = 15 - }, -/obj/item/canvas{ - pixel_x = 6 - }, -/turf/open/floor/iron, -/area/station/commons/storage/art) "qzL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -47875,10 +48080,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"qzP" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/grass, -/area/station/service/chapel) "qzT" = ( /obj/item/bikehorn/rubberducky{ pixel_x = -6; @@ -47895,10 +48096,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"qAj" = ( -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/commons/dorms) +"qAf" = ( +/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/white/small, +/area/station/service/janitor) "qAn" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -47930,21 +48136,21 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"qAt" = ( +"qAu" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/red{ + dir = 1 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"qAJ" = ( -/obj/effect/spawner/random/structure/closet_private, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms) +/obj/item/radio/intercom/directional/south{ + pixel_y = -31 + }, +/obj/effect/landmark/start/security_officer, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/security/office) "qAQ" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/helium_output{ @@ -47959,9 +48165,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/security/glass{ id_tag = "permaouter"; - name = "Permabrig Transfer" + name = "Permabrig Transfer"; + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ dir = 1 @@ -47996,19 +48205,6 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"qBK" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) -"qBM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "qBN" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 8 @@ -48025,6 +48221,12 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) +"qBV" = ( +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/fullgrass, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) "qCb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -48040,11 +48242,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"qCj" = ( -/obj/machinery/airalarm/directional/south, -/obj/item/kirbyplants/organic/applebush, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) +"qCe" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/light/small/directional/east, +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "qCq" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, @@ -48074,14 +48278,6 @@ }, /turf/open/floor/iron/large, /area/station/command/heads_quarters/hop) -"qCK" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "qCT" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -48116,22 +48312,19 @@ }, /turf/open/floor/wood/tile, /area/station/tcommsat/server) -"qDd" = ( +"qDg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Theater Greenroom" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ +/obj/effect/turf_decal/siding/wideplating/corner{ dir = 8 }, -/area/station/service/greenroom) +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "qDi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48147,16 +48340,15 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron/white/small, /area/station/maintenance/port/aft) -"qDC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/junction/flip{ +"qDB" = ( +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "qDJ" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -48178,21 +48370,14 @@ /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) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/janitor) "qDN" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/status_display/evac/directional/west, @@ -48225,12 +48410,10 @@ /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "qEy" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 1 - }, -/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/structure/steam_vent, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/area/station/maintenance/fore/greater) "qEz" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ name = "Holding Cell"; @@ -48242,22 +48425,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lower) -"qEO" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/status_display/evac/directional/east, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/stripes/end, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/effect/turf_decal/siding/thinplating_new{ +"qEJ" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/obj/effect/landmark/start/assistant, +/obj/machinery/barsign/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"qEL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "qEP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48276,20 +48455,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) -"qFc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/plaque{ - icon_state = "L10"; - pixel_y = -15 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "qFh" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -48307,35 +48472,19 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"qGc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fore Primary Hallway" - }, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/central/fore) -"qGe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 +"qFL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) -"qGf" = ( -/obj/structure/flora/bush/flowers_pp{ - pixel_y = 3 +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/effect/dummy/lighting_obj, -/obj/effect/light_emitter/fake_outdoors, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/grass/Airless, -/area/station/hallway/primary/central/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/assistant, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/bar) "qGu" = ( /obj/effect/turf_decal/siding/dark_red, /obj/item/radio/intercom/directional/south, @@ -48364,15 +48513,9 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) -"qHr" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/camera/directional/west, -/obj/machinery/status_display/ai/directional/west, -/turf/open/floor/grass, -/area/station/service/chapel) +"qGS" = ( +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "qHt" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -48398,24 +48541,17 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) -"qIb" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - name = "Maintenance" +"qId" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"qIe" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "qIf" = ( /turf/closed/wall, /area/station/medical/cryo) @@ -48428,6 +48564,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/processing) +"qIu" = ( +/obj/structure/closet/wardrobe/black, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 9 + }, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "qIB" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -48435,12 +48579,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"qIC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) "qID" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -48451,6 +48589,25 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) +"qIG" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"qIK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "qIM" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/east, @@ -48480,25 +48637,16 @@ /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) "qJz" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ +/obj/structure/chair/stool/directional/north, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms) +"qJW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange{ dir = 1 }, -/obj/effect/spawner/random/food_or_drink/salad{ - pixel_y = 6 - }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) -"qJH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"qJL" = ( -/obj/machinery/space_heater, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "qKe" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green, @@ -48506,6 +48654,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"qKl" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "qKt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48517,31 +48671,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_large, /area/station/engineering/storage_shared) -"qKz" = ( -/obj/structure/window/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) -"qKA" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/green{ - dir = 4 - }, -/obj/structure/lattice, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/space/basic, -/area/space/nearstation) -"qKD" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) -"qKH" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 9 - }, -/turf/open/space/basic, -/area/space/nearstation) "qKI" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/iron/small, @@ -48549,7 +48678,9 @@ "qKS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/delivery/red, /obj/machinery/door/airlock/medical/glass{ name = "CMO Office" @@ -48557,6 +48688,14 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) +"qKX" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "qLj" = ( /obj/structure/bed{ dir = 4 @@ -48569,6 +48708,20 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"qLk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"qLr" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/ai_monitored/command/nuke_storage) +"qLs" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "qLt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48599,28 +48752,12 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) -"qLU" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/hydroponics/constructable, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"qMa" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/table, -/obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = -3 +"qLL" = ( +/obj/structure/reflector/single/anchored{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "qMb" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -48628,10 +48765,10 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"qMj" = ( -/obj/effect/turf_decal/bot/right, +"qMd" = ( +/obj/structure/cable, /turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) +/area/station/engineering/supermatter) "qMp" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -48639,16 +48776,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) -"qMw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/landmark/navigate_destination/chapel, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qMG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable, @@ -48668,10 +48795,21 @@ "qNn" = ( /turf/closed/wall/r_wall, /area/station/service/abandoned_gambling_den/gaming) +"qNt" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "qNw" = ( /obj/structure/hedge, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"qNE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/closed/wall, +/area/station/hallway/primary/central/aft) "qNF" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -48689,15 +48827,13 @@ "qNO" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"qNU" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"qOb" = ( -/obj/structure/flora/bush/sparsegrass, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) +"qNV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "qOm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -48705,30 +48841,6 @@ }, /turf/open/floor/plating, /area/station/commons/storage/tools) -"qOr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) -"qOG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) -"qOJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "qON" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/table, @@ -48749,11 +48861,6 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"qOQ" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "qPc" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 @@ -48761,17 +48868,41 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"qPk" = ( -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos/office) -"qPJ" = ( -/obj/machinery/status_display/ai/directional/north, +"qPD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/fourcorners, /turf/open/floor/iron, -/area/station/engineering/storage/tech) +/area/station/security/execution/transfer) "qPN" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"qPR" = ( +/obj/machinery/computer/atmos_control/nitrogen_tank{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"qPY" = ( +/obj/structure/flora/grass/jungle/a/style_4, +/turf/open/floor/grass, +/area/station/service/chapel) +"qQa" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"qQh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/mannequin/plastic, +/turf/open/floor/carpet/blue, +/area/station/cargo/boutique) "qQi" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/yellow{ @@ -48834,22 +48965,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qQR" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/obj/machinery/computer/security/telescreen/engine/directional/west, -/obj/machinery/status_display/evac/directional/south, -/obj/item/radio/off{ - pixel_x = 1; - pixel_y = 3 +"qRa" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) -"qRb" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/railing, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "qRh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -48874,11 +49000,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/small, /area/station/security/prison/shower) -"qRx" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) "qRB" = ( /obj/structure/table, /obj/machinery/computer/libraryconsole/bookmanagement{ @@ -48887,6 +49008,19 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/station/security/prison/rec) +"qRD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) +"qRH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) "qRN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -48916,32 +49050,27 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"qSa" = ( -/obj/machinery/door/window/right/directional/north{ - name = "Library Desk Door"; - req_access = list("library") - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/carpet, -/area/station/service/library) -"qSh" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "qSk" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance" }, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"qSs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/directional/north{ + c_tag = "atmospherics - HFR" + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "qSC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -48969,11 +49098,20 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) +"qSV" = ( +/obj/structure/cable, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "qSZ" = ( /obj/structure/hedge, /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"qTa" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "qTb" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49013,6 +49151,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"qTC" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/cargo/boutique) "qTD" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -49023,11 +49167,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/plating, /area/station/command/teleporter) -"qTG" = ( -/obj/structure/cable, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) "qTJ" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -49036,6 +49175,10 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"qTL" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/engineering/main) "qTR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -49087,6 +49230,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"qUz" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/light/warm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "qUE" = ( /obj/machinery/pipedispenser/disposal/transit_tube, /obj/effect/turf_decal/stripes/box, @@ -49096,30 +49248,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qUJ" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/kirbyplants/organic/plant24, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"qUL" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"qUO" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber" }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"qUR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/obj/structure/cable, /turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/area/station/engineering/supermatter) "qUS" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 4 @@ -49145,13 +49284,30 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"qVm" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 +"qVc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/transport/power_rectifier{ + configured_transport_id = "bird_2" }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) +"qVh" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Mix" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"qVk" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "qVn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49166,6 +49322,21 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"qVt" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wideplating/dark, +/turf/open/floor/iron, +/area/station/commons/dorms) +"qVE" = ( +/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/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "qVJ" = ( /obj/item/clothing/head/cone{ pixel_x = -4; @@ -49215,13 +49386,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/cargo/boutique) -"qWg" = ( -/obj/machinery/door/airlock{ - name = "Bathrooms" +"qWc" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/railing{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured_half, -/area/station/commons/toilet/restrooms) +/turf/open/floor/iron, +/area/station/engineering/atmos) "qWh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49236,26 +49407,17 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/medical/psychology) -"qWC" = ( -/obj/structure/railing{ +"qWA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/commons/dorms) +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "qWF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner, /area/station/science/research) -"qWG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "qWJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49273,7 +49435,8 @@ dir = 4 }, /obj/machinery/door/airlock/maintenance_hatch{ - name = "AISat Maintenance" + name = "AISat Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -49352,6 +49515,18 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"qXq" = ( +/obj/effect/turf_decal/box/white, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) +"qXw" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "qXB" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -49374,21 +49549,19 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"qXP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/plaque{ - icon_state = "L8"; - pixel_y = -15 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"qXQ" = ( +/obj/structure/table, +/obj/item/stack/sheet/plasteel/fifty, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"qXS" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Cytology Lab" }, -/obj/effect/landmark/observer_start, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/obj/effect/mapping_helpers/airlock/access/all/science/research, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "qYh" = ( /obj/structure/closet/crate/silvercrate, /obj/effect/turf_decal/bot_white/left, @@ -49406,23 +49579,6 @@ /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 - }, -/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) "qYv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -49442,6 +49598,7 @@ /area/station/maintenance/port/aft) "qYD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) "qYE" = ( @@ -49455,6 +49612,14 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"qYI" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/door/window/right/directional/south{ + name = "Command Deliveries"; + req_access = list("command") + }, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) "qYK" = ( /obj/structure/disposalpipe/trunk, /obj/structure/window/reinforced/spawner/directional/west, @@ -49466,6 +49631,14 @@ }, /turf/open/floor/plating, /area/station/security/brig/entrance) +"qYU" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/engine, +/area/station/science/xenobiology) "qZe" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 1 @@ -49479,21 +49652,6 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"qZj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/ammo_casing/spent{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qZm" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -49509,21 +49667,10 @@ /obj/structure/sign/departments/medbay/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"qZw" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Dormatories" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/commons/fitness/locker_room) -"qZy" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/small, -/area/station/medical/medbay/lobby) +"qZC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/eighties, +/area/station/service/abandoned_gambling_den/gaming) "qZG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/corner/directional/south, @@ -49540,6 +49687,24 @@ }, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"qZL" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/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/engineering/supermatter/room) +"qZN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "qZU" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/effect/turf_decal/stripes/white/line{ @@ -49547,6 +49712,27 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) +"rab" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"rac" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "raf" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -49562,12 +49748,28 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"rax" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner{ +"rav" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/newscaster/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood/tile, +/area/station/service/lawoffice) +"raB" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8 }, -/turf/open/floor/iron, -/area/station/commons/dorms) +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "raE" = ( /obj/machinery/duct, /turf/open/floor/iron, @@ -49586,21 +49788,16 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"raR" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, +"raN" = ( /obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) -"raZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/obj/structure/table/wood, +/obj/machinery/light/small/built/directional/north, +/obj/item/stack/sheet/iron/ten, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 9 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "rbc" = ( /obj/structure/transport/linear/tram, /obj/structure/tram, @@ -49609,14 +49806,6 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"rbj" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/wood/parquet, -/area/station/service/library) "rbs" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -49631,34 +49820,22 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/treatment_center) -"rbH" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light_switch/directional/west, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) -"rbI" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 +"rbG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, -/obj/machinery/shower/directional/east, -/turf/open/floor/iron/dark/small, -/area/station/engineering/main) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "rbO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rbW" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "rce" = ( /obj/machinery/camera{ c_tag = "Xenobiology - Cell 3"; @@ -49689,38 +49866,30 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"rci" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/canister, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "rcl" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/engine, /area/station/science/xenobiology) -"rcE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"rcz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"rcP" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding, /obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 8 + dir = 5 }, +/turf/open/floor/iron/white/small, +/area/station/science/lab) +"rcF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rcG" = ( +/obj/item/reagent_containers/cup/watering_can/wood, +/obj/structure/table, +/turf/open/floor/plating, +/area/station/maintenance/starboard/greater) "rcQ" = ( /obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, @@ -49728,67 +49897,41 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"rds" = ( -/obj/machinery/computer/slot_machine{ - pixel_y = 2 +"rde" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 }, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) -"rdt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/item/pen, +/obj/machinery/door/poddoor/shutters{ + id = "meow"; + name = "Commissary" }, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/commons/vacant_room/commissary) +"rdl" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rdw" = ( /turf/open/floor/eighties/red, /area/station/service/abandoned_gambling_den/gaming) -"rdA" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"rdB" = ( +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 6 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) -"rdH" = ( -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/mineral/titanium, -/area/station/command/heads_quarters/ce) +/turf/open/floor/iron, +/area/station/commons/storage/tools) "rdM" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, /turf/open/floor/engine, /area/station/science/cytology) -"rdV" = ( -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) -"rdW" = ( -/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 = 6 - }, -/obj/machinery/firealarm/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/small, -/area/station/security/warden) "reg" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -49804,17 +49947,13 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"rem" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"res" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"rex" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/smooth_large, -/area/station/maintenance/central/lesser) +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "reE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49857,14 +49996,7 @@ "reN" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) -"reS" = ( -/obj/effect/spawner/random/trash, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/area/station/science/ordnance/burnchamber) "reZ" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -49872,6 +50004,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/security/execution/transfer) +"rfh" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/stairs/left{ + dir = 8 + }, +/area/station/commons/fitness/locker_room) "rfi" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -49879,26 +50017,20 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"rfo" = ( -/obj/structure/cable, -/obj/item/kirbyplants/organic/applebush, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) "rfq" = ( /obj/structure/sink/directional/south, /obj/effect/turf_decal/trimline/blue/end, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"rfB" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "rfD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/drone_bay) +"rfE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner, +/area/station/science/xenobiology) "rfJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -49909,35 +50041,45 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/glass, /area/station/command/heads_quarters/rd) -"rfT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "rfW" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/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, +/turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) "rfZ" = ( /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"rga" = ( +/turf/open/floor/iron, +/area/station/security/tram) +"rgn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/prison/workout) "rgA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"rgF" = ( +/obj/structure/table, +/obj/machinery/light/warm/directional/north, +/obj/effect/landmark/start/hangover, +/obj/item/soap, +/turf/open/floor/iron, +/area/station/commons/dorms) "rgK" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 8 @@ -49945,10 +50087,6 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rgM" = ( -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/glass, -/area/station/hallway/primary/central/aft) "rgS" = ( /obj/structure/railing/corner/end{ dir = 1 @@ -49960,6 +50098,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) +"rgX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"rhi" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "rhj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49967,39 +50116,16 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rhm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 10 - }, -/obj/structure/table, -/obj/item/cigarette, -/obj/item/toy/toy_dagger, -/obj/item/clothing/head/collectable/paper, -/obj/item/toy/figure/roboticist{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/toy/figure/syndie{ - pixel_y = 5; - pixel_x = -6 - }, -/obj/item/toy/figure/md{ - pixel_x = 10 - }, -/obj/item/toy/figure/hop{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/toy/figure/ian{ - pixel_x = -5; - pixel_y = -1 +"rhs" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Plasma to Pure" }, -/obj/item/toy/figure/lawyer{ - pixel_x = -10 +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 }, -/obj/item/toy/figure/detective, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/iron, +/area/station/engineering/atmos) "rhy" = ( /obj/structure/chair{ dir = 1 @@ -50008,10 +50134,6 @@ /obj/structure/thermoplastic, /turf/open/floor/tram, /area/station/security/tram) -"rhC" = ( -/obj/structure/chair/office, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) "rhH" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -50027,6 +50149,36 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"rhM" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"rhP" = ( +/obj/structure/table/wood, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/barsign{ + chosen_sign = "thecavern"; + icon_state = "thecavern"; + pixel_y = 32 + }, +/obj/machinery/reagentgrinder{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "rie" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/cargo_technician, @@ -50037,43 +50189,54 @@ /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) "rig" = ( -/obj/machinery/door/poddoor/massdriver_chapel, +/obj/machinery/door/poddoor/massdriver_chapel{ + dir = 4 + }, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"rik" = ( -/obj/structure/flora/grass/jungle/b/style_random, -/obj/machinery/camera/directional/north, -/turf/open/misc/dirt/station, -/area/station/service/chapel) -"riq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ +"rii" = ( +/obj/machinery/computer/crew{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/door/window/brigdoor/left/directional/east{ - name = "Secure Creature Pen"; - req_access = list("research") +/obj/effect/turf_decal/siding/blue{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/science/xenobiology) +/turf/open/floor/iron/white, +/area/station/medical/paramedic) "rir" = ( /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"riS" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"ris" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/obj/machinery/computer/security/telescreen/engine/directional/west, +/obj/machinery/status_display/evac/directional/south, +/obj/item/radio/off{ + pixel_x = 1; + pixel_y = 3 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "riV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"rja" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - CO2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output{ + dir = 1 + }, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) +"rjd" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "rji" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -50103,40 +50266,31 @@ /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/dark/small, /area/station/hallway/primary/fore) -"rjw" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air to Distro" - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 +"rjM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) -"rjN" = ( -/obj/structure/cable, -/obj/structure/chair{ - pixel_y = -2 - }, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) -"rko" = ( -/obj/structure/sign/directions/evac/directional/west, -/obj/structure/sign/directions/science/directional/west{ - dir = 4; - pixel_y = -8 +/area/station/service/chapel) +"rki" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/structure/sign/directions/security/directional/west{ - pixel_y = 8 +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/science/lower) +"rkE" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ +/obj/effect/turf_decal/bot{ dir = 1 }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "rkI" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -50147,13 +50301,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/station/medical/morgue) -"rkM" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 6 - }, -/obj/machinery/light/no_nightlight/directional/north, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) "rlb" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -50172,29 +50319,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"rli" = ( -/obj/machinery/door/airlock/silver{ - name = "Showers" - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/commons/dorms) -"rlq" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/effect/spawner/random/bedsheet{ - dir = 4 - }, -/obj/machinery/button/door/directional/north{ - id = "Cabin3"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms) "rlr" = ( /turf/closed/wall, /area/station/medical/storage) @@ -50209,6 +50333,25 @@ /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"rlP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/service/chapel) +"rlX" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "rma" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 6 @@ -50216,13 +50359,22 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"rmk" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/jungle/c/style_3{ - pixel_x = -7 +"rmb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) +"rmr" = ( +/obj/structure/sink/kitchen/directional/east, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"rmv" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "rmM" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/edge{ @@ -50235,6 +50387,13 @@ /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/iron, /area/station/security/courtroom) +"rnb" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar) "rnc" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/siding/thinplating_new{ @@ -50245,19 +50404,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"rnr" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/jungle/c/style_3{ - pixel_x = 8 - }, -/turf/open/floor/grass, -/area/station/service/chapel) -"rnD" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/commons/fitness/recreation/entertainment) "rnE" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -50267,6 +50413,10 @@ }, /turf/open/floor/plating, /area/station/medical/chemistry) +"rnS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) "rnV" = ( /obj/structure/cable, /turf/open/floor/iron/showroomfloor, @@ -50305,6 +50455,16 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"roK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "roS" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/west, @@ -50321,14 +50481,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"rpg" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rpi" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -50336,39 +50488,19 @@ "rpk" = ( /turf/open/floor/iron/white, /area/station/science/research) -"rpo" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "rpq" = ( /obj/machinery/camera/autoname/directional/east, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/smooth, /area/station/security/evidence) -"rpv" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/central/fore) -"rpB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"rpG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ + dir = 5 }, -/obj/structure/sign/departments/holy/directional/north, -/obj/machinery/camera/directional/north, /turf/open/floor/iron, -/area/station/hallway/primary/port) -"rpQ" = ( -/obj/structure/lattice, -/obj/structure/grille/broken, -/obj/machinery/atmospherics/pipe/smart/simple/orange, -/turf/open/space/basic, -/area/space/nearstation) +/area/station/engineering/atmos) "rpV" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -50385,34 +50517,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"rqp" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "rqq" = ( /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/office) -"rqt" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/aquarium/lawyer, -/turf/open/floor/iron/dark, -/area/station/service/lawoffice) "rqw" = ( /turf/closed/wall, /area/station/commons/dorms) -"rqD" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"rqF" = ( -/obj/structure/flora/bush/jungle/a/style_3, -/turf/open/misc/dirt/station, -/area/station/service/chapel) +"rqz" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "rqR" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -50422,6 +50537,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) +"rri" = ( +/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/fore/greater) +"rrj" = ( +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "rro" = ( /obj/structure/railing, /obj/structure/disposalpipe/segment{ @@ -50432,13 +50556,6 @@ dir = 4 }, /area/station/engineering/main) -"rrp" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "rrq" = ( /obj/structure/closet, /turf/open/floor/plating, @@ -50447,15 +50564,15 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/science/robotics/augments) -"rry" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ +"rrz" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "rrQ" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/effect/turf_decal/tile/dark_red/half/contrasted, @@ -50469,12 +50586,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/lawoffice) -"rrX" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar) +"rrY" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "rrZ" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/trash/garbage, @@ -50482,6 +50598,13 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/plating, /area/station/security/prison/safe) +"rsb" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "rse" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/disposalpipe/segment{ @@ -50499,19 +50622,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/lawoffice) -"rsl" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/crystal, -/obj/item/stock_parts/subspace/crystal, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tcomms) "rsr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -50526,6 +50636,17 @@ /obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) +"rsu" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "atmospherics - entrance" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) "rsv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50548,11 +50669,6 @@ "rsL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/fore) -"rsZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "rth" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50566,23 +50682,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) -"rtI" = ( -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/science/xenobiology) "rtQ" = ( /turf/closed/wall/r_wall, /area/station/security/tram) -"rtX" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Engineering Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "rtZ" = ( /obj/structure/sign/directions/dorms{ dir = 1 @@ -50600,32 +50702,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ - name = "Prison Garden" + name = "Prison Garden"; + dir = 4 }, /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half{ dir = 8 }, /area/station/security/prison/garden) -"rud" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/window/left/directional/east{ - name = "Mass Driver Door"; - req_access = list("ordnance") - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/science/ordnance/testlab) -"ruh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "atmospherics - lower" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "rui" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -50648,38 +50732,21 @@ "ruD" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"ruR" = ( +"ruS" = ( /obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" + name = "Engineering Office" }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"ruS" = ( -/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/mapping_helpers/airlock/access/all/engineering/engine_equipment, +/turf/open/floor/iron/smooth_half{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/area/station/maintenance/department/engine/atmos) "ruY" = ( /turf/open/floor/plating, /area/station/maintenance/fore/lesser) "rvp" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/hallway/abandoned_command) -"rvr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rvs" = ( /obj/effect/turf_decal/stripes/white/line, /obj/item/stack/sheet/mineral/titanium, @@ -50701,16 +50768,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"rvI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "rvX" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/south{ @@ -50747,7 +50804,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/external{ - name = "Tram Maintenance" + name = "Tram Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -50778,13 +50836,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"rxa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/mannequin/plastic, -/turf/open/floor/carpet/blue, -/area/station/cargo/boutique) "rxo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50805,18 +50856,6 @@ /obj/item/razor, /turf/open/floor/iron/dark/small, /area/station/security/execution/education) -"rxD" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) -"rxJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "rxP" = ( /obj/structure/table, /obj/item/assembly/signaler{ @@ -50845,42 +50884,12 @@ /obj/item/modular_computer/laptop, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"rxX" = ( -/obj/structure/closet{ - name = "Paramedic Supplies" - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) -"rxY" = ( -/obj/structure/chair/stool/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/hallway/secondary/command) -"rxZ" = ( -/obj/item/book/manual/chef_recipes, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/holosign_creator/robot_seat/restaurant, -/obj/structure/table, -/obj/effect/turf_decal/siding{ - dir = 9 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) -"rya" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 +"ryd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "ryi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50888,6 +50897,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"ryj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "ryk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50896,12 +50911,6 @@ dir = 1 }, /area/station/science/research) -"ryr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "ryt" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/tile/neutral{ @@ -50921,11 +50930,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"ryW" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +"ryV" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "rza" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -50934,36 +50945,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"rzb" = ( -/obj/effect/turf_decal/stripes/line{ +"rzF" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ dir = 1 }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering Supermatter Chamber" - }, -/turf/open/floor/engine, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, /area/station/engineering/supermatter/room) -"rzd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) -"rze" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) -"rzm" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Engineering - Decontamination B" +"rzH" = ( +/obj/machinery/camera/directional/east, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/break_room) +/turf/open/floor/grass, +/area/station/service/chapel) "rzJ" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -50984,11 +50983,11 @@ /obj/machinery/bouldertech/refinery, /turf/open/floor/iron, /area/station/cargo/miningfoundry) -"rzZ" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) +"rzM" = ( +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "rAt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51049,15 +51048,21 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"rBg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "rBh" = ( /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rBl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "rBq" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -51094,15 +51099,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rBO" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/dorms) "rBY" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -51110,12 +51106,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"rCa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/science/ordnance/testlab) "rCj" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -51127,21 +51117,19 @@ dir = 1 }, /area/station/security/execution/transfer) -"rCk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "rCv" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"rCS" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) +"rCC" = ( +/obj/structure/table, +/obj/item/hfr_box/body/waste_output, +/obj/item/hfr_box/body/moderator_input, +/obj/item/hfr_box/body/fuel_input, +/obj/item/hfr_box/body/interface, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "rDc" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/siding/yellow{ @@ -51163,28 +51151,10 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"rDv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/cold/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"rDD" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/white/corner, -/area/station/commons/dorms) +"rDm" = ( +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/cargo/miningfoundry) "rDP" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -51198,11 +51168,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"rDU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "rDV" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) @@ -51212,11 +51177,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"rEa" = ( -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "rEb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, @@ -51225,32 +51185,27 @@ /turf/open/floor/wood, /area/station/maintenance/starboard/greater) "rEd" = ( -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) -"rEF" = ( -/obj/machinery/photocopier, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"rEJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/directional/east, -/obj/machinery/status_display/evac/directional/east, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"rEW" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange, +/turf/open/space/basic, +/area/space/nearstation) +"rEE" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/disposalpipe/junction/flip{ + dir = 2 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"rER" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "rEY" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/pdapainter{ @@ -51317,6 +51272,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"rFB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/tile, +/area/station/service/bar) "rFC" = ( /turf/open/floor/catwalk_floor, /area/station/command/heads_quarters/ce) @@ -51341,6 +51303,34 @@ dir = 6 }, /area/station/science/research) +"rFI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=16.0-CentralFore-CentralPort"; + location = "15.0-CentralStarboard-CentralFore" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"rFJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"rFL" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "rFP" = ( /obj/structure/disposalpipe/trunk{ dir = 2 @@ -51376,6 +51366,11 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/cargo/sorting) +"rGk" = ( +/obj/effect/turf_decal/siding/green/end, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/herringbone, +/area/station/service/abandoned_gambling_den/gaming) "rGp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51426,6 +51421,21 @@ /obj/item/screwdriver, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) +"rGS" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/reagent_dispensers/fueltank/large, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - storage" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"rHa" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "rHe" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -51436,14 +51446,20 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"rHl" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +"rHi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Dormatories"; + dir = 4 }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/commons/fitness/locker_room) "rHp" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/landmark/event_spawn, @@ -51481,17 +51497,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"rHO" = ( -/obj/structure/closet/emcloset, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"rHY" = ( -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) "rIb" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -51508,24 +51513,37 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"rIo" = ( -/obj/effect/turf_decal/siding/green/end, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/herringbone, -/area/station/service/abandoned_gambling_den/gaming) -"rIH" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input, -/turf/open/floor/engine/n2, +"rII" = ( +/obj/structure/closet/radiation, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, /area/station/engineering/atmos) "rIJ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/gravity_generator) -"rIW" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) +"rIN" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"rIT" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "rIY" = ( /turf/closed/wall/r_wall, /area/station/construction/mining/aux_base) @@ -51546,19 +51564,15 @@ }, /turf/open/floor/grass, /area/station/science/xenobiology) +"rJx" = ( +/obj/item/shovel, +/turf/open/floor/plating, +/area/station/maintenance/department/prison) "rJW" = ( /obj/machinery/suit_storage_unit/hos, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/command/heads_quarters/hos) -"rJZ" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rKv" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, @@ -51569,6 +51583,13 @@ }, /turf/open/floor/iron, /area/station/science/cytology) +"rKE" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 4 + }, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "rKR" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -51623,12 +51644,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"rLx" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/dorms) "rLK" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -51646,11 +51661,23 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) +"rLP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "rMb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"rMc" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "rMf" = ( /obj/structure/table, /obj/machinery/computer/arcade/orion_trail{ @@ -51696,6 +51723,16 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"rMx" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/mail_sorting/medbay/general, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "rMH" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -51703,6 +51740,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"rMN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "rMR" = ( /obj/effect/turf_decal/siding/yellow{ dir = 10 @@ -51714,6 +51760,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) +"rMT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/tools) +"rMZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "rNd" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -51737,10 +51798,14 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/gateway) "rNG" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/closet/toolcloset, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/break_room) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "rNI" = ( /obj/effect/turf_decal/siding/thinplating_new/corner{ dir = 4 @@ -51754,20 +51819,47 @@ /obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"rNL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"rNM" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/structure/displaycase/trophy, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"rNN" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral{ +/turf/open/floor/iron/white/small, +/area/station/commons/fitness/locker_room) +"rOb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"rOd" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/engineering/storage/tech) +"rOe" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"rOf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/misc/asteroid, +/area/station/maintenance/hallway/abandoned_command) +"rOB" = ( +/obj/structure/closet/secure_closet/atmospherics, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "rOG" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -51800,11 +51892,10 @@ "rPf" = ( /turf/closed/wall/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"rPg" = ( -/obj/machinery/air_sensor/plasma_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +"rPh" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "rPm" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -51839,26 +51930,11 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/psychology) -"rPA" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) -"rPL" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +"rPN" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/railing, +/turf/open/floor/iron, +/area/station/engineering/atmos) "rPT" = ( /obj/structure/chair/stool/bar/directional/east, /obj/effect/turf_decal/siding/red/corner{ @@ -51869,30 +51945,25 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) -"rPU" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/status_display/door_timer{ - id = "Cell 2"; - name = "Cell 2"; - pixel_y = 32 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/security/brig) "rPV" = ( /obj/machinery/vending/tool, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 }, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, /area/station/engineering/main) -"rPW" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) +"rPY" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance"; + dir = 4 + }, +/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) "rQi" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -51921,15 +51992,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, /turf/open/floor/iron/dark/small, /area/station/medical/pharmacy) -"rQN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light/cold/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rQS" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -51938,17 +52000,15 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"rRa" = ( -/obj/effect/spawner/random/trash, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) "rRf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/public/glass{ - name = "Courtroom" + name = "Courtroom"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/security/general, /obj/effect/mapping_helpers/airlock/access/any/security/court, @@ -51956,14 +52016,11 @@ dir = 1 }, /area/station/security/courtroom) -"rRq" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +"rRn" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/space/basic, +/area/space/nearstation) "rRu" = ( /obj/structure/transit_tube/horizontal, /obj/effect/decal/cleanable/dirt, @@ -51984,6 +52041,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/courtroom) +"rRX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) +"rSh" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/dorms) "rSi" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 8 @@ -52005,13 +52076,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/coroner, /turf/open/floor/iron/small, /area/station/medical/morgue) -"rSy" = ( -/obj/machinery/door/airlock{ - id_tag = "CabinS"; - name = "Study" - }, -/turf/open/floor/carpet/green, -/area/station/commons/dorms) "rSz" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; @@ -52028,12 +52092,16 @@ /obj/structure/railing/corner, /turf/open/space/basic, /area/space/nearstation) -"rSI" = ( -/obj/structure/cable, -/obj/machinery/airalarm/directional/south, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) +"rSG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Decontamination A" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "rST" = ( /turf/closed/wall, /area/station/cargo/storage) @@ -52048,15 +52116,22 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"rTn" = ( -/obj/machinery/light/small/directional/north, -/turf/open/misc/dirt/station, -/area/station/service/chapel) "rTq" = ( /obj/machinery/photocopier, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"rTu" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"rTx" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "rTy" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -52069,13 +52144,6 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"rTC" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "rTD" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -52090,6 +52158,19 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/cargo/sorting) +"rTI" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/knife/kitchen{ + pixel_y = 2 + }, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/item/kitchen/rollingpin, +/obj/effect/turf_decal/siding{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "rTJ" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -52101,6 +52182,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"rTO" = ( +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "rTU" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -52112,29 +52197,42 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"rTW" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/dorms) "rUb" = ( /obj/structure/hedge, /obj/machinery/status_display/evac/directional/east, /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"rUc" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/turf_decal/siding/purple/corner, -/obj/effect/landmark/start/research_director, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "rUd" = ( /turf/closed/wall, /area/station/security/prison) -"rUq" = ( -/obj/item/assembly/mousetrap/armed, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) +"rUg" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/science/cytology) +"rUh" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 9 + }, +/obj/structure/sink/directional/east, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/small, +/area/station/service/barber) "rUt" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -52146,6 +52244,13 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"rUF" = ( +/obj/effect/turf_decal/siding/wideplating/dark, +/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/small, +/area/station/service/barber) "rUI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52154,6 +52259,14 @@ dir = 4 }, /area/station/science/lobby) +"rUL" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "rUR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/table_or_rack, @@ -52169,6 +52282,34 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"rUX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - North Corridor" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"rVa" = ( +/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) "rVj" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/cold/directional/north, @@ -52182,24 +52323,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"rVt" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" +"rVo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 }, -/obj/effect/spawner/random/food_or_drink/condiment, -/turf/open/floor/plating, -/area/station/service/kitchen) +/turf/open/floor/iron, +/area/station/engineering/atmos) "rVy" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -52228,12 +52357,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"rVI" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "rVQ" = ( /obj/structure/disposalpipe/trunk, /obj/structure/window/spawner/directional/west, @@ -52250,6 +52373,24 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"rVV" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"rWi" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "rWm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52331,18 +52472,16 @@ dir = 1 }, /area/station/cargo/bitrunning/den) -"rWU" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) -"rXm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/effect/turf_decal/stripes/line, +"rXt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, /obj/structure/cable, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "rXv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -52351,19 +52490,22 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"rXy" = ( -/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/central/greater) -"rXM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"rXF" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/stripes/end, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/effect/turf_decal/siding/thinplating_new{ dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "rXW" = ( /obj/structure/flora/bush/flowers_yw, /obj/machinery/door/window/left/directional/west{ @@ -52379,9 +52521,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"rYc" = ( -/turf/open/floor/iron/small, -/area/station/maintenance/port/lesser) "rYm" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/office/light{ @@ -52394,38 +52533,52 @@ /obj/effect/landmark/start/geneticist, /turf/open/floor/iron/dark, /area/station/science/genetics) +"rYo" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/white, +/area/station/medical/paramedic) "rYp" = ( /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"rYs" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 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{ +"rYq" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 8 }, -/turf/open/floor/iron/white, -/area/station/science/cytology) -"rYx" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/structure/cable, +/obj/machinery/hydroponics/constructable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"rYr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/service/barber) -"rYD" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) +"rYE" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/tram) "rYG" = ( /obj/structure/cable, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/security/prison/workout) +"rYI" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rYL" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52436,12 +52589,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"rZb" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "rZc" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -52449,10 +52596,6 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) -"rZe" = ( -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/cargo/miningfoundry) "rZi" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -52461,47 +52604,25 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/aft) -"rZo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "rZq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/ai/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"rZu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"rZw" = ( -/obj/structure/table/glass, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/lawoffice) -"rZz" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/hallway/primary/central/fore) +"rZu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"rZw" = ( +/obj/structure/closet/wardrobe/mixed, +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) "rZG" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/trash/food_packaging, @@ -52511,51 +52632,38 @@ /obj/structure/alien/weeds, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"rZJ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ - dir = 4 - }, +"rZZ" = ( +/obj/structure/table, +/obj/item/screwdriver, /turf/open/floor/iron, -/area/station/engineering/atmos) -"rZM" = ( -/obj/structure/table/wood, -/obj/item/clothing/glasses/eyepatch/medical, -/turf/open/floor/carpet/orange, -/area/station/commons/dorms) -"saq" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Toxins" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{ - dir = 1 - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) -"sar" = ( +/area/station/construction/mining/aux_base) +"sag" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/science/rd, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Research Director's Office" }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/machinery/door/poddoor/preopen{ + id = "rdoffice"; + name = "Research Director's Shutters" + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/command/heads_quarters/rd) "sas" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/carpet/blue, /area/station/cargo/boutique) -"saz" = ( -/obj/machinery/status_display/ai/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, +"sax" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/turf/open/floor/wood, +/area/station/service/chapel/office) +"saC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"saL" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/area/station/engineering/atmos) "saY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52585,7 +52693,9 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 8 }, @@ -52613,6 +52723,21 @@ /obj/effect/landmark/start/research_director, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"sca" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Cold Loop to Gas" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"scc" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_command) "scj" = ( /turf/closed/wall/r_wall, /area/station/science/lower) @@ -52652,96 +52777,88 @@ /obj/machinery/light/small/broken/directional/south, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"scP" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 +"scM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -11; + pixel_y = 2 }, -/obj/effect/turf_decal/siding/wideplating/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) -"scU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"scY" = ( -/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/item/reagent_containers/cup/glass/bottle/vodka, +/obj/item/food/grown/citrus/orange, +/obj/item/food/grown/citrus/orange{ + pixel_x = 4; + pixel_y = 2 }, -/turf/open/floor/wood, -/area/station/cargo/boutique) +/obj/item/food/grown/grapes/green{ + pixel_y = -4; + pixel_x = -6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "sdf" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"sdZ" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ +"sdk" = ( +/obj/structure/closet/secure_closet/bar, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/machinery/airalarm/directional/north, +/obj/structure/reagent_dispensers/beerkeg, +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/turf_decal/tile/dark/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/backroom) +"sdR" = ( +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/office) "sea" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/white/corner, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"seq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"ser" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"seL" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 }, -/turf/open/floor/iron/dark/side{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/area/station/science/ordnance/testlab) -"ses" = ( -/obj/structure/dresser, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) +/turf/open/floor/iron, +/area/station/security/brig/entrance) "seM" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 }, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) -"seN" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/fore/greater) "seV" = ( /obj/structure/transit_tube/horizontal, /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/space/basic, /area/space/nearstation) -"sfk" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +"sfe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar) "sfq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52750,31 +52867,12 @@ dir = 1 }, /area/station/science/research) -"sfu" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"sfy" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"sfB" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/no_nightlight/directional/north, +"sfD" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/commons/dorms) "sfF" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Office" @@ -52782,7 +52880,9 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/any/engineering/general, @@ -52801,6 +52901,31 @@ /obj/item/clothing/head/costume/festive, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"sgg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L8"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/landmark/observer_start, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"sgo" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/service/hydroponics) "sgw" = ( /obj/machinery/mass_driver/ordnance{ dir = 1 @@ -52808,11 +52933,6 @@ /obj/effect/turf_decal/stripes/white/end, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"sgB" = ( -/obj/item/kirbyplants/random/fullysynthetic, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) "sgC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52830,7 +52950,9 @@ name = "Cargo Bay" }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/cargo/storage) "sgO" = ( @@ -52853,17 +52975,47 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/secondary/recreation) +"shc" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/barricade/wooden/crude, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/cargo/boutique) "shf" = ( /obj/machinery/vending/coffee, /turf/open/floor/plating, /area/station/hallway/secondary/recreation) -"shm" = ( -/obj/effect/turf_decal/stripes/line{ +"shn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, -/obj/structure/filingcabinet/chestdrawer, +/obj/effect/mapping_helpers/mail_sorting/security/hos_office, /turf/open/floor/iron, -/area/station/science/xenobiology) +/area/station/security) +"shr" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/unary/bluespace_sender, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"shz" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "shD" = ( /turf/closed/wall, /area/station/hallway/secondary/recreation) @@ -52881,14 +53033,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"shR" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/light/small/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) "sib" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -52903,27 +53047,58 @@ "sis" = ( /turf/open/floor/grass, /area/station/security/prison/garden) -"siG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ +"siA" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/decal/cleanable/ash, -/obj/item/storage/dice{ - pixel_x = -16; - pixel_y = -6 +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 }, /turf/open/floor/iron, -/area/station/maintenance/port/fore) -"siN" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) -"sjl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/area/station/hallway/primary/fore) +"siD" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/commons/fitness/locker_room) +"siY" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/corner, -/area/station/science/xenobiology) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"sji" = ( +/obj/structure/cable, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) +"sjl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"sjm" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sjp" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -52934,58 +53109,36 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"sjw" = ( -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"sjG" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"sjK" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"sjA" = ( +/obj/structure/chair/plastic{ + dir = 8 }, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"sjL" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/neutral/line{ +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"sjF" = ( +/obj/effect/turf_decal/siding/thinplating{ dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/turf/open/floor/eighties/red, /area/station/hallway/primary/central/fore) -"sjY" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/purple/visible{ - dir = 4 +"ska" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "skc" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 }, /turf/open/floor/iron/dark/side, /area/station/security/execution/transfer) -"skd" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "skm" = ( /obj/structure/cable, /obj/structure/table, @@ -53003,23 +53156,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/prison) -"skp" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/machinery/chem_dispenser, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/medical/chemistry) -"skN" = ( -/obj/structure/table/wood, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/obj/item/stack/cable_coil/five, -/obj/effect/turf_decal/siding/wideplating_new/terracotta, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) "skP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -53031,25 +53167,11 @@ }, /turf/open/floor/iron/white/small, /area/station/security/warden) -"skT" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "skU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/small, /area/station/security/prison/shower) -"skV" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple, -/obj/effect/turf_decal/siding/purple/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/genetics) "skW" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -53057,6 +53179,12 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"slo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "slp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53144,19 +53272,35 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"smv" = ( +/obj/machinery/holopad, +/obj/structure/cable, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/captain/private) "smH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/security/courtroom) -"sne" = ( -/obj/machinery/griddle, -/obj/effect/turf_decal/siding{ - dir = 6 +"sna" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/service/bar) +"snb" = ( +/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/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) +"sng" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) +/turf/open/floor/wood/tile, +/area/station/service/bar) "snj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ @@ -53170,6 +53314,14 @@ }, /turf/open/floor/plating, /area/station/engineering/lobby) +"snk" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "snn" = ( /obj/machinery/rnd/experimentor, /turf/open/floor/engine, @@ -53187,6 +53339,20 @@ /obj/structure/thermoplastic, /turf/open/floor/tram, /area/station/security/tram) +"snC" = ( +/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, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/service/chapel/office) "snJ" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/light/small/directional/south, @@ -53197,13 +53363,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/courtroom) -"snW" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/turf/open/floor/iron, -/area/station/security/tram) "snZ" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) @@ -53233,27 +53392,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"sot" = ( -/obj/machinery/door/airlock/multi_tile/public{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/service/library) "sox" = ( /obj/effect/turf_decal/stripes/white/line, /obj/structure/transport/linear/tram, /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) +"soz" = ( +/obj/item/kirbyplants/random/fullysynthetic, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/station/security/tram) "soD" = ( /obj/effect/turf_decal/siding/thinplating_new/dark/corner{ dir = 8 @@ -53269,50 +53419,31 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"soU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "soV" = ( /obj/effect/spawner/random/engineering/canister, /turf/open/floor/plating, /area/station/maintenance/department/engine) "spg" = ( -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/machinery/door/airlock/security{ - name = "Courtroom" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/court, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"spi" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/security/checkpoint/customs/auxiliary) -"spk" = ( -/obj/machinery/camera/directional/east, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) -"spo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/machinery/door/airlock/security{ + name = "Courtroom"; dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/obj/effect/mapping_helpers/airlock/access/any/security/court, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) +"spi" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/security/checkpoint/customs/auxiliary) +"spp" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "spx" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -53320,10 +53451,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"spH" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron/small, -/area/station/service/bar) "spK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53365,6 +53492,15 @@ /obj/machinery/field/generator, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) +"sqn" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/small, +/area/station/service/barber) "sqo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53416,38 +53552,10 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"srg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "srn" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/maintenance/port/greater) -"srw" = ( -/turf/closed/wall/r_wall/rust, -/area/station/engineering/atmospherics_engine) -"srx" = ( -/obj/machinery/power/port_gen/pacman, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/main) -"sry" = ( -/obj/structure/flora/bush/jungle/c/style_3{ - pixel_x = 6; - pixel_y = -6 - }, -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/grass, -/area/station/service/chapel) "srA" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -53455,17 +53563,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"srE" = ( -/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/engineering/tcoms, -/obj/machinery/door/airlock/command/glass{ - name = "Telecommunications Server Room" - }, -/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/tcommsat/server) "srH" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -53490,6 +53587,28 @@ }, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"sse" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"ssf" = ( +/obj/effect/turf_decal/weather/snow, +/obj/machinery/gibber, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"ssn" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "sso" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -53514,33 +53633,24 @@ "ssz" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/science/xenobiology) -"ssY" = ( -/obj/structure/kitchenspike, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/obj/effect/turf_decal/weather/snow, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"sta" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/item/trash/flare{ - pixel_x = 11; - pixel_y = 21 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +"ssJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/airalarm/directional/west, +/obj/structure/cable, +/obj/effect/mapping_helpers/airalarm/link{ + chamber_id = "engine" }, -/turf/open/floor/iron/dark/corner{ - dir = 4 +/obj/effect/mapping_helpers/airalarm/engine_access, +/obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/obj/machinery/meter, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering Supermatter Port" }, -/area/station/hallway/primary/central/fore) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "stj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53549,14 +53659,6 @@ dir = 1 }, /area/station/maintenance/department/science/xenobiology) -"stH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/half, -/obj/effect/turf_decal/tile/brown/half{ - dir = 1 - }, -/turf/open/floor/iron/textured_half, -/area/station/cargo/miningoffice) "stP" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -53577,33 +53679,21 @@ /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) -"stY" = ( -/obj/structure/table/wood, -/obj/item/flashlight/flare/candle{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/flashlight/flare/candle{ - pixel_x = -3; - pixel_y = 5 +"suj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/flashlight/flare/candle{ - pixel_x = -5; - pixel_y = 4 +/obj/effect/turf_decal/tile/yellow{ + dir = 1 }, -/obj/item/lighter{ - pixel_x = 4 +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms) -"sue" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/sofa/bench/right{ +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, -/obj/effect/landmark/start/hangover, /turf/open/floor/iron, -/area/station/holodeck/rec_center) +/area/station/hallway/primary/fore) "sul" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -53616,21 +53706,22 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/checker, /area/station/command/heads_quarters/hos) -"suM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 +"suQ" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"svd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"suU" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "svh" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -53674,7 +53765,9 @@ name = "Xenobiology Secure Lab" }, /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/science/xenobiology) "svD" = ( @@ -53683,10 +53776,36 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/science/genetics) +"svF" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "svG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) +"svH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"svJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "svK" = ( /obj/machinery/light/cold/dim/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53720,11 +53839,20 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/pharmacy) +"svV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "swb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ name = "Escape Pod Four"; - space_dir = 4 + space_dir = 4; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -53743,36 +53871,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"swk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) -"swu" = ( -/turf/open/floor/wood, -/area/station/security/detectives_office) -"swB" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/cable, +"swi" = ( +/obj/machinery/air_sensor/oxygen_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) +"sws" = ( /turf/open/floor/iron/small, -/area/station/hallway/primary/starboard) -"swF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/science/xenobiology) +/area/station/commons/fitness/locker_room) "swJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -53783,19 +53889,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"swK" = ( -/obj/structure/sign/poster/official/moth_piping/directional/north, -/obj/machinery/light/cold/dim/directional/north, -/obj/structure/closet/firecloset, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) -"swM" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/machinery/camera/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) "swO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53809,7 +53902,8 @@ /area/station/cargo/storage) "swT" = ( /obj/machinery/door/airlock/maintenance_hatch{ - name = "Engineering Maintenance" + name = "Engineering Maintenance"; + dir = 4 }, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -53836,14 +53930,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"swW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/wood/tile, -/area/station/service/bar) "sxm" = ( /turf/closed/wall, /area/station/tcommsat/server) @@ -53851,7 +53937,8 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ name = "Escape Pod Four"; - space_dir = 4 + space_dir = 4; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -53872,6 +53959,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sxE" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/science/server) "sxF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53882,23 +53976,22 @@ dir = 8 }, /area/station/science/research) -"sxH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) +"sxK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "sxT" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/aft) "sxZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/structure/cable, +/obj/effect/turf_decal/siding/red{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/turf/open/floor/iron/white/small, +/area/station/security/warden) "syb" = ( /obj/docking_port/stationary/random{ dir = 4; @@ -53946,21 +54039,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"syA" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Dorms" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/commons/fitness/locker_room) "syC" = ( /obj/structure/window/spawner/directional/west, /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) +"syM" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/science/xenobiology) "syN" = ( /obj/effect/spawner/random/trash, /turf/open/floor/plating, @@ -53973,47 +54071,28 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"szg" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter) -"szC" = ( +"syT" = ( +/obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 + dir = 1 }, -/turf/open/floor/wood, -/area/station/service/chapel) -"sBf" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/desk_bell{ + pixel_x = 4; + pixel_y = 3 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"szm" = ( +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "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) -"sBq" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/closet/l3closet/janitor, -/obj/item/clothing/gloves/color/orange, -/obj/item/clothing/shoes/galoshes, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/small, -/area/station/service/janitor) "sBL" = ( /obj/structure/sign/directions/science{ dir = 4; @@ -54028,18 +54107,38 @@ }, /turf/closed/wall, /area/station/commons/storage/art) -"sBP" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 1 +"sBO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "sBV" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, -/turf/open/misc/asteroid/airless, -/area/space/nearstation) +/obj/structure/window/spawner/directional/east, +/obj/structure/table/wood, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/crap{ + pixel_y = 5 + }, +/obj/item/cigarette/pipe/cobpipe{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) +"sBZ" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "sCc" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -54076,21 +54175,15 @@ name = "Medbay" }, /obj/effect/turf_decal/delivery/red, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/unres{ dir = 8 }, /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/dark/small, /area/station/medical/medbay/central) -"sCq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "sCu" = ( /obj/machinery/computer/prisoner/management{ dir = 8 @@ -54112,20 +54205,17 @@ }, /turf/open/floor/iron/textured_half, /area/station/commons/fitness/recreation) -"sCC" = ( -/obj/machinery/door/airlock/external/glass{ - name = "ATMOS PROJECT Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "sCH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"sCI" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/chem_master, +/turf/open/floor/iron, +/area/station/medical/chemistry) "sCR" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/modular_computer/preset/research{ @@ -54135,6 +54225,16 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"sDg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/flasher/directional/west{ + id = "brigentry" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "sDj" = ( /turf/closed/wall/r_wall, /area/station/science/cytology) @@ -54157,11 +54257,6 @@ /obj/structure/hedge, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"sDs" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wideplating/dark, -/turf/open/floor/iron, -/area/station/commons/dorms) "sDA" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -54171,27 +54266,56 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"sDM" = ( +"sDB" = ( /obj/structure/cable, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/science/lab) -"sDZ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 + dir = 1 }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=15.0-CentralStarboard-CentralFore"; - location = "14.0-Dormatories-CentralStarboard" +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/primary/port) +"sDM" = ( +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/port/aft) +"sDQ" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"sDS" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) +"sDZ" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) +"sEc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"sEd" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Test Chamber"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "sEn" = ( /obj/item/clothing/head/cone, /obj/item/clothing/head/cone{ @@ -54212,6 +54336,11 @@ }, /turf/open/floor/engine, /area/station/science/cytology) +"sEA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "sEB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, @@ -54230,20 +54359,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"sFs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +"sFv" = ( +/obj/effect/spawner/random/trash/bucket, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "sFz" = ( /obj/structure/chair/stool/directional/east, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"sFP" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "sGh" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/white/line{ @@ -54251,13 +54385,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"sGk" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) "sGp" = ( /obj/structure/flora/rock/pile/style_random, /obj/structure/window/reinforced/spawner/directional/west, @@ -54284,20 +54411,26 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/science/ordnance/storage) -"sGN" = ( -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/requests_console/auto_name/directional/east, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +"sGK" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/service) +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) +"sGN" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "sHe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54306,12 +54439,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"sHg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"sHh" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/supermatter/room) +/obj/machinery/computer/security/telescreen/entertainment/directional/west, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) "sHk" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/spawner/random/structure/table, @@ -54324,16 +54458,17 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/smooth_large, /area/station/engineering/storage_shared) -"sHI" = ( -/obj/machinery/computer/atmos_control/air_tank{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 1 +"sHJ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sHM" = ( /obj/structure/railing, /obj/structure/disposalpipe/segment{ @@ -54341,6 +54476,16 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) +"sHN" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "sHO" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 4 @@ -54357,6 +54502,15 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"sHW" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to Distro staging" + }, +/obj/machinery/camera/directional/north{ + c_tag = "atmospherics - lower" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sHX" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 6 @@ -54364,6 +54518,26 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/engine, /area/station/science/cytology) +"sIb" = ( +/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) +"sIe" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/flowers_yw/style_2, +/obj/structure/flora/bush/large/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "sIj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -54372,6 +54546,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) +"sIl" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input, +/turf/open/floor/engine/vacuum, +/area/station/maintenance/disposal/incinerator) "sIA" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -54380,15 +54558,34 @@ /turf/open/floor/plating, /area/station/maintenance/fore/greater) "sIB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/turf/open/misc/asteroid/airless, -/area/space/nearstation) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"sIJ" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "sIO" = ( /obj/structure/grille/broken, /obj/item/shard/titanium, /obj/effect/decal/cleanable/glass/titanium, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"sIR" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/parquet, +/area/station/service/library) "sIZ" = ( /obj/structure/table/wood, /obj/effect/spawner/random/bureaucracy/folder, @@ -54396,35 +54593,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"sJg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/door/airlock/command{ - name = "Research Division Server Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/rd, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/server) "sJi" = ( /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"sJr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) -"sJv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=1.5-PNexus-Vault"; - location = "1.0-Security-PNexus" - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "sJw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54433,6 +54605,11 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"sJD" = ( +/obj/machinery/light/no_nightlight/directional/east, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sJE" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/item/kirbyplants/random/fullysynthetic, @@ -54441,13 +54618,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"sJL" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) "sJN" = ( /obj/effect/turf_decal/siding, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54457,36 +54627,18 @@ "sJR" = ( /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"sJV" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "BrewMaster 2199" - }, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "sKk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sKm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 +"sKp" = ( +/obj/machinery/photocopier, +/obj/structure/sign/painting/library{ + pixel_y = 32 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +/turf/open/floor/wood/parquet, +/area/station/service/library) "sKq" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -54496,6 +54648,12 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) +"sKr" = ( +/obj/structure/reflector/box/anchored{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/supermatter/room) "sKt" = ( /obj/effect/turf_decal/trimline/white/line, /obj/effect/turf_decal/trimline/white/mid_joiner, @@ -54520,10 +54678,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"sKD" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "sKE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/small, /area/station/security/warden) +"sKF" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "sKS" = ( /obj/structure/sign/poster/official/pda_ad/directional/north, /obj/structure/tank_holder/extinguisher, @@ -54531,6 +54705,44 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"sKY" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/terracotta{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) +"sLf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"sLh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"sLz" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "sLB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -54583,7 +54795,9 @@ cycle_id = "sci-entrance" }, /obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, @@ -54591,48 +54805,22 @@ dir = 1 }, /area/station/science/research) -"sMj" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "sMq" = ( /obj/machinery/light/warm/directional/west, /turf/open/floor/iron, /area/station/security/prison) -"sMt" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/central/aft) "sMu" = ( /obj/structure/cable, /obj/structure/railing, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"sMB" = ( -/obj/effect/turf_decal/siding/wideplating, -/obj/structure/rack, -/obj/item/circuitboard/machine/thermomachine{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/circuitboard/machine/thermomachine{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) +"sMw" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "sMD" = ( /turf/closed/wall, /area/station/science/server) @@ -54661,13 +54849,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"sNb" = ( -/obj/effect/turf_decal/tile/blue, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/dock) "sNg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -54676,33 +54857,39 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"sNr" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/dark_red/corner{ - dir = 1 - }, -/obj/structure/rack, -/obj/effect/spawner/random/armory/riot_helmet, -/obj/effect/spawner/random/armory/bulletproof_helmet, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark/small, -/area/station/ai_monitored/security/armory) "sNz" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sNI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "sNW" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"sOi" = ( -/obj/effect/turf_decal/siding/wood/end{ +"sNY" = ( +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/lower) +"sOd" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 1 }, -/turf/open/floor/stone, +/obj/structure/flora/rock/pile/jungle/style_5{ + pixel_y = -5; + pixel_x = -8 + }, +/turf/open/floor/grass, /area/station/service/chapel) "sOj" = ( /obj/effect/turf_decal/stripes/line, @@ -54723,23 +54910,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"sOt" = ( -/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/chair/sofa/bench{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) -"sOy" = ( -/obj/structure/window/spawner/directional/west, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) "sOF" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -54747,6 +54917,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"sOJ" = ( +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/science/lab) "sON" = ( /turf/closed/wall, /area/station/service/bar/backroom) @@ -54757,15 +54932,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) -"sOP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) "sOR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ @@ -54783,12 +54949,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/greater) -"sPb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) "sPk" = ( /obj/structure/railing{ dir = 1 @@ -54832,6 +54992,12 @@ }, /turf/open/space/basic, /area/space/nearstation) +"sQs" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "sQv" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/spawner/random/structure/closet_empty/crate, @@ -54841,17 +55007,6 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"sQy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/service/chapel) "sQI" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/modular_computer/preset/id, @@ -54884,37 +55039,26 @@ }, /turf/open/floor/iron/dark/textured_corner, /area/station/command/heads_quarters/hop) -"sQP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - 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/small, -/area/station/hallway/primary/central/aft) "sQS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) -"sQX" = ( -/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/binary/valve/digital{ +"sQV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) +/turf/open/floor/stone, +/area/station/service/chapel) +"sRb" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/cable, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "sRf" = ( /obj/machinery/power/turbine/inlet_compressor{ dir = 8 @@ -54933,22 +55077,24 @@ dir = 8 }, /area/station/science/lobby) -"sRD" = ( -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) -"sRF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +"sRo" = ( +/obj/structure/toilet{ dir = 4 }, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/machinery/button/door/directional/north{ + name = "Lock Control"; + id = "Toilet2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) +"sRy" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "sRL" = ( /turf/closed/wall, /area/station/service/janitor) @@ -54961,34 +55107,41 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) -"sRT" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/siding/thinplating{ - dir = 5 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 +"sSc" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" }, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) -"sRV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) -"sRW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "sSj" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 6 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"sSn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/obj/machinery/door/airlock/maintenance{ + name = "Crematorium"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/chapel/storage) "sSq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55018,10 +55171,12 @@ "sSB" = ( /turf/open/floor/catwalk_floor, /area/station/engineering/break_room) -"sSN" = ( -/obj/structure/flora/bush/flowers_pp/style_2, -/turf/open/floor/grass, -/area/station/service/chapel) +"sSI" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sSQ" = ( /turf/closed/wall, /area/station/maintenance/department/medical/central) @@ -55057,20 +55212,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"sTb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/plaque{ - icon_state = "L14"; - pixel_y = -15 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "sTi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55088,14 +55229,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"sTJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "sTK" = ( /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/circuit, @@ -55120,12 +55253,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"sUr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "sUy" = ( /turf/closed/wall/r_wall, /area/station/command/meeting_room) @@ -55152,18 +55279,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"sUM" = ( -/obj/machinery/power/emitter/welded, -/obj/structure/cable, +"sUK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"sUN" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) +/area/station/maintenance/fore/greater) +"sUS" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "sUV" = ( /obj/structure/table, /obj/item/folder/yellow, @@ -55217,36 +55343,22 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"sVG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "sVN" = ( /turf/closed/wall/r_wall, /area/station/security/prison/workout) -"sVO" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) -"sWc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/chem_master, -/turf/open/floor/iron, -/area/station/science/xenobiology) -"sWq" = ( -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"sVS" = ( +/obj/machinery/door/airlock{ + name = "Bathrooms" }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/hallway/primary/central/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured_half, +/area/station/commons/toilet/restrooms) +"sWf" = ( +/obj/structure/table, +/obj/structure/railing/corner, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "sWA" = ( /obj/machinery/door/airlock/glass{ name = "Gold Standard Law Firm" @@ -55258,12 +55370,44 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/maintenance/starboard/greater) +"sWK" = ( +/obj/structure/chair/office, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) +"sWL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/departments/botany/alt1/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"sWN" = ( +/obj/machinery/camera/directional/west, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"sWO" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "sWQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"sWU" = ( +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"sWX" = ( +/obj/structure/sign/directions/dorms{ + dir = 4 + }, +/turf/closed/wall, +/area/station/commons/fitness/locker_room) "sXi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, @@ -55281,28 +55425,6 @@ /obj/effect/turf_decal/siding/thinplating_new, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"sXs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"sXu" = ( -/obj/structure/cable/layer3, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "AI Core shutters"; - name = "AI Core Shutter" - }, -/turf/open/floor/iron/stairs, -/area/station/ai_monitored/turret_protected/ai) "sXw" = ( /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/circuit, @@ -55313,19 +55435,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"sXD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"sXE" = ( -/mob/living/basic/bot/firebot, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/storage_shared) "sXG" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -55339,12 +55448,6 @@ /obj/structure/frame/machine, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"sXL" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) "sXO" = ( /obj/structure/chair{ dir = 4 @@ -55355,9 +55458,13 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"sXY" = ( -/turf/closed/wall/r_wall/rust, -/area/station/engineering/supermatter/room) +"sXS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "sXZ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -55414,12 +55521,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, /turf/open/floor/catwalk_floor/iron, /area/station/engineering/storage/tech) -"sYw" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "sYx" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer, /obj/effect/turf_decal/stripes, @@ -55427,27 +55528,33 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"sYS" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor/border_only{ +"sYR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/light/small/directional/east, +/obj/effect/landmark/start/janitor, +/turf/open/floor/iron/grimy, +/area/station/service/janitor) +"sYZ" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ dir = 4 }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "kitchenshutters"; - name = "Kitchen Shutters" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/effect/spawner/random/food_or_drink/donuts, -/turf/open/floor/plating, -/area/station/service/kitchen) -"sZo" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 10 +/turf/open/floor/iron/small, +/area/station/service/barber) +"sZg" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "sZx" = ( /obj/structure/cable, /obj/structure/disposalpipe/trunk{ @@ -55461,15 +55568,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"sZA" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/flora/bush/flowers_pp/style_2, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) "sZH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55490,18 +55588,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) -"sZP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +"sZX" = ( +/mob/living/basic/mouse/brown/tom, +/obj/item/radio/intercom/prison/directional/south, +/turf/open/floor/plating, +/area/station/security/prison/safe) "tab" = ( /obj/structure/rack, /obj/item/restraints/handcuffs, @@ -55527,6 +55618,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) +"tar" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/commons/dorms) "tau" = ( /obj/effect/turf_decal/bot, /obj/machinery/status_display/evac/directional/south, @@ -55537,6 +55632,16 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) +"taA" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/airalarm/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) "taB" = ( /turf/open/floor/iron/white, /area/station/medical/treatment_center) @@ -55557,13 +55662,21 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"taT" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +"taN" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/computer/holodeck{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) +"taS" = ( +/obj/structure/flora/grass/jungle/b/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) "taZ" = ( /obj/structure/flora/bush/large/style_random{ pixel_y = -3 @@ -55572,6 +55685,11 @@ /obj/machinery/camera/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/secondary/recreation) +"tba" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/wardrobe/miner, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "tbb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55584,10 +55702,21 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/execution/transfer) +"tbe" = ( +/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 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "tbk" = ( /obj/structure/cable, /obj/machinery/door/airlock/hatch{ - name = "Experimentation Chamber" + name = "Experimentation Chamber"; + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55608,6 +55737,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/explab) +"tbz" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "tbB" = ( /obj/structure/table/reinforced, /obj/effect/mapping_helpers/broken_floor, @@ -55629,18 +55763,24 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/lab) -"tbI" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "tbK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"tbN" = ( +/obj/structure/table, +/obj/item/phone{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/item/reagent_containers/cup/glass/mug/britcup{ + pixel_x = -6; + pixel_y = 11 + }, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) "tbS" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -55649,9 +55789,18 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"tbY" = ( +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "tca" = ( /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) +"tco" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "tcz" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -55665,9 +55814,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/processing) -"tdb" = ( -/turf/open/floor/wood, -/area/station/engineering/main) "tdh" = ( /obj/structure/chair/sofa/corp/right{ dir = 4 @@ -55675,10 +55821,24 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/wood/large, /area/station/command/corporate_suite) -"tdm" = ( -/obj/machinery/door/poddoor/incinerator_atmos_main, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +"tdk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"tdl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "tdu" = ( /obj/structure/lattice, /obj/structure/railing{ @@ -55715,13 +55875,6 @@ /obj/effect/turf_decal/stripes/white/corner, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"tdE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/aft) "tdF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55736,6 +55889,32 @@ /obj/effect/turf_decal/bot_white/left, /turf/open/floor/engine, /area/station/engineering/gravity_generator) +"tdJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/security/office) +"tdM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/armory, +/obj/machinery/door/airlock/security{ + name = "Warden's Office"; + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/security/warden) "tdO" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 4 @@ -55755,12 +55934,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) +"tdX" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "tdY" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, /turf/open/floor/plating/rust, /area/station/maintenance/department/electrical) +"tdZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "tec" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -55768,35 +55967,29 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"teo" = ( -/obj/machinery/door/airlock/atmos/glass{ - name = "Distro Access" - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/turf_decal/siding/wideplating{ +"tee" = ( +/obj/effect/landmark/start/chaplain, +/obj/effect/turf_decal/siding/wood/end{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating{ +/turf/open/floor/stone, +/area/station/service/chapel) +"tek" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ dir = 8 }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) -"tes" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 9 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"tev" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron/small, +/area/station/hallway/secondary/exit/departure_lounge) "tey" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/computer/records/security{ @@ -55806,6 +55999,24 @@ dir = 1 }, /area/station/security/execution/transfer) +"tez" = ( +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 8 + }, +/obj/structure/secure_safe/directional/north{ + name = "armory safe A" + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/ai_monitored/security/armory) +"teA" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/green{ + dir = 4 + }, +/obj/structure/lattice, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/space/basic, +/area/space/nearstation) "teE" = ( /obj/structure/table, /obj/effect/mapping_helpers/broken_floor, @@ -55837,19 +56048,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"teV" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"tfc" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) "tff" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -55866,6 +56064,13 @@ /obj/structure/table/wood, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"tfi" = ( +/obj/structure/cable, +/obj/structure/reflector/single/anchored{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "tfy" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/red{ @@ -55873,19 +56078,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"tfD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/corner, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) "tfE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -55893,24 +56085,35 @@ /obj/item/clipboard, /turf/open/floor/iron/white/small, /area/station/science/server) -"tfM" = ( +"tgf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"tfX" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron/dark/side, -/area/station/cargo/office) "tgl" = ( /turf/closed/wall, /area/station/service/greenroom) +"tgo" = ( +/obj/structure/rack, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/clothing/gloves/color/fyellow{ + pixel_y = 2 + }, +/obj/item/wrench, +/obj/item/cigarette/xeno{ + pixel_x = -3; + pixel_y = -9 + }, +/obj/item/clothing/head/utility/welding, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "tgp" = ( /obj/structure/table/reinforced, /obj/item/folder{ @@ -55923,7 +56126,9 @@ /obj/structure/desk_bell{ pixel_x = 6 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 8; id = "roboticshut"; @@ -55931,19 +56136,17 @@ }, /turf/open/floor/iron/textured_large, /area/station/science/robotics/lab) +"tgs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "tgw" = ( /obj/machinery/computer/cargo/request, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) -"tgx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "tgJ" = ( /obj/machinery/cryo_cell, /obj/effect/turf_decal/stripes/line{ @@ -55951,6 +56154,15 @@ }, /turf/open/floor/iron/small, /area/station/medical/cryo) +"tgO" = ( +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) +"tgY" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "thb" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/siding/yellow{ @@ -55968,23 +56180,18 @@ dir = 1 }, /area/station/science/research) -"thw" = ( -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 8; - name = "mix to engine" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"thx" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "thM" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/structure/closet/secure_closet/miner, /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"tib" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "tii" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56011,16 +56218,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"tiv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair{ - dir = 4; - pixel_y = -2 - }, -/turf/open/floor/iron/cafeteria, -/area/station/science/breakroom) "tiM" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/carpet/red, @@ -56068,62 +56265,38 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) -"tje" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "tjj" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) -"tjs" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/spawner/random/entertainment/arcade{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) -"tjT" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/stone, -/area/station/service/bar) -"tjY" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air" +"tjB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/mess) +"tkl" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" }, -/obj/machinery/light/small/red/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) -"tkm" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -17; - pixel_y = 2 +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/grass, -/area/station/service/hydroponics) +/area/station/service/bar/backroom) "tkq" = ( /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"tkE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/mess) +"tkw" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "tkN" = ( /obj/structure/closet/crate, /obj/item/camera, @@ -56131,18 +56304,20 @@ /obj/item/broken_bottle, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) +"tkR" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "tkS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"tkU" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/dark, +"tld" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/station/engineering/atmos/storage) "tlh" = ( /obj/effect/spawner/structure/window, @@ -56171,23 +56346,11 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"tlJ" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/item/kirbyplants/random, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron, -/area/station/holodeck/rec_center) "tlX" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"tmi" = ( -/obj/structure/flora/bush/flowers_br/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) "tmk" = ( /obj/machinery/power/emitter, /obj/effect/turf_decal/stripes/line{ @@ -56199,35 +56362,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"tmD" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/jungle/a/style_random, -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/window/spawner/directional/east, -/obj/machinery/light/floor, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"tmK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) -"tmM" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/stairs/left{ - dir = 8 - }, -/area/station/commons/fitness/locker_room) -"tmO" = ( -/obj/machinery/computer/atmos_control/mix_tank{ - dir = 8 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "tmQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56242,7 +56376,8 @@ "tmT" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Two"; - space_dir = 8 + space_dir = 8; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -56253,18 +56388,6 @@ "tnb" = ( /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"tnh" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wideplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) "tns" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -56301,13 +56424,16 @@ }, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"tnB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"tnD" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "tnF" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56316,14 +56442,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"tnZ" = ( -/obj/structure/bookcase/random, -/obj/structure/sign/poster/official/random/directional/west, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"tob" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "tof" = ( /turf/closed/wall/rust, /area/station/ai_monitored/turret_protected/ai) @@ -56348,13 +56473,13 @@ }, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"tov" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark, -/area/station/cargo/office) +"toB" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "toC" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -56399,6 +56524,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"toE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "toH" = ( /obj/machinery/door/poddoor{ id = "pubminingdoor"; @@ -56406,6 +56535,12 @@ }, /turf/open/floor/plating/airless, /area/station/hallway/secondary/dock) +"toP" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "toT" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/window/reinforced/spawner/directional/west, @@ -56420,11 +56555,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"toX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/light/no_nightlight/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "tpk" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /obj/effect/turf_decal/siding/wood{ @@ -56441,15 +56571,12 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/noslip, /area/station/security/tram) -"tpG" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +"tpF" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "tpK" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 4 @@ -56479,19 +56606,17 @@ }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"tpQ" = ( +"tqb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/structure/cable, +/obj/machinery/duct, +/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/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/central/greater) -"tpW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/area/station/maintenance/central/lesser) "tqh" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 8 @@ -56565,9 +56690,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"trB" = ( -/turf/open/floor/glass, -/area/station/hallway/primary/central/aft) "trI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56575,27 +56697,39 @@ /obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"trX" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - CO2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output{ - dir = 1 - }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) -"trY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/computer/atmos_control/plasma_tank, -/turf/open/floor/iron, +"trJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/station/engineering/atmos) +"trZ" = ( +/obj/structure/flora/tree/jungle/small/style_3, +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "tsb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line, -/obj/structure/sign/departments/aiupload/directional/south, -/turf/open/floor/iron/white, -/area/station/hallway/primary/starboard) +/obj/machinery/door/airlock/security{ + name = "Isolation"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/white/small, +/area/station/security/prison/safe) +"tsr" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "tst" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -56607,6 +56741,10 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) +"tsw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "tsA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56617,58 +56755,53 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"tsB" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "tsF" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central/fore) -"ttb" = ( -/obj/structure/flora/grass/jungle/b/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"tts" = ( -/obj/structure/altar_of_gods, -/obj/item/book/bible, -/obj/effect/landmark/start/hangover, -/obj/item/flashlight/lantern/on, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 +"tsP" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 6 }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +/turf/open/floor/iron/small, +/area/station/service/barber) +"ttj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"ttt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/science/rd, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Research Director's Office" }, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/machinery/door/poddoor/preopen{ + id = "rdoffice"; + name = "Research Director's Shutters" + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/research) "ttD" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 9 }, /turf/open/floor/engine, /area/station/science/cytology) -"ttL" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, +"ttS" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/engineering/atmospherics_engine) -"ttV" = ( -/obj/effect/turf_decal/tile/neutral{ +/area/station/engineering/supermatter) +"ttX" = ( +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/effect/landmark/start/assistant, -/obj/machinery/barsign{ - chosen_sign = "thecavern"; - icon_state = "thecavern"; - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"ttX" = ( -/obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/red/line{ dir = 4 }, @@ -56677,12 +56810,6 @@ }, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"tua" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "tug" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -56697,11 +56824,17 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron, /area/station/security/processing) -"tuu" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +"tuw" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=1.0-Security-PNexus"; + location = "23.2-Evac-Garden" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "tux" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56720,6 +56853,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/server) +"tuI" = ( +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/machinery/computer/records/security, +/turf/open/floor/wood, +/area/station/security/detectives_office) "tuP" = ( /obj/machinery/light/small/directional/east, /obj/item/kirbyplants/random, @@ -56735,28 +56873,40 @@ "tuT" = ( /turf/closed/wall, /area/station/hallway/secondary/entry) +"tuV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "tuW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/command/bridge) -"tuY" = ( -/obj/effect/spawner/random/structure/closet_private, -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/orange, -/area/station/commons/dorms) "tuZ" = ( /turf/closed/wall, /area/station/security/brig/entrance) -"tvx" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/siding/dark_red{ - dir = 1 +"tvs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) +"tvF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/machinery/disposal/bin, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) +/turf/open/floor/iron/dark/small, +/area/station/science/xenobiology) +"tvL" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "tvM" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, @@ -56781,30 +56931,16 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) -"tvW" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/tile, -/area/station/service/bar) "tvZ" = ( /obj/effect/spawner/random/trash, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"twe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"twb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/delivery, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "twg" = ( /obj/structure/railing{ dir = 5 @@ -56818,12 +56954,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"twm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/maintenance/port/greater) "two" = ( /obj/structure/table/reinforced, /obj/structure/desk_bell{ @@ -56840,10 +56970,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/small, /area/station/security/tram) -"twA" = ( -/obj/machinery/portable_atmospherics/scrubber/huge, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "twE" = ( /obj/structure/cable, /obj/machinery/door/firedoor, @@ -56881,17 +57007,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/ce) -"twN" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/machinery/newscaster/directional/west, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = -8 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "twQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -56913,14 +57028,49 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"txC" = ( +"txm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"txC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"txL" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "txN" = ( /turf/closed/wall, /area/station/security/prison/workout) +"txP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "txV" = ( /obj/machinery/button/door/directional/east{ id = "AuxToilet3"; @@ -56932,19 +57082,28 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"txW" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/grille, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) "tyc" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - O2" +/obj/machinery/computer/atmos_control/air_tank{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output, -/turf/open/floor/engine/o2, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, /area/station/engineering/atmos) +"tyf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "tyh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56977,13 +57136,27 @@ /area/station/maintenance/hallway/abandoned_command) "tyA" = ( /obj/machinery/vending/modularpc, -/obj/structure/sign/departments/science/alt/directional/east, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) "tyD" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"tyE" = ( +/obj/structure/flora/bush/flowers_yw/style_3{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/structure/flora/bush/flowers_br/style_random{ + pixel_y = -5; + pixel_x = 3 + }, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "tyT" = ( /obj/structure/transport/linear/tram, /obj/structure/thermoplastic, @@ -56991,11 +57164,57 @@ /obj/effect/landmark/transport/nav_beacon/tram/nav/birdshot/prison, /turf/open/floor/tram, /area/station/security/tram) +"tza" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/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/engineering/main) +"tze" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/office) +"tzl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"tzm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "tzo" = ( /obj/structure/alien/egg/burst, /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"tzp" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/obj/machinery/camera/directional/north, +/turf/open/misc/dirt/station, +/area/station/service/chapel) "tzq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -57004,7 +57223,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, @@ -57046,18 +57266,44 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"tzN" = ( -/obj/effect/turf_decal/weather/dirt{ +"tzW" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/machinery/light_switch/directional/east, +/obj/item/kirbyplants/random, +/obj/item/storage/medkit/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/iron/white/small, +/area/station/command/heads_quarters/cmo) +"tzX" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"tAh" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, -/obj/structure/flora/bush/flowers_yw/style_2, -/obj/structure/flora/bush/large/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"tzZ" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"tAi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/corner, /obj/structure/cable, /turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/area/station/hallway/primary/central/aft) "tAm" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/effect/decal/cleanable/dirt, @@ -57073,31 +57319,11 @@ }, /turf/open/floor/iron, /area/station/engineering/hallway) -"tAp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 10 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "tAq" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"tAr" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "tAs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57106,17 +57332,6 @@ }, /turf/open/floor/iron, /area/station/security) -"tAw" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/unres, -/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/central/greater) "tAx" = ( /obj/effect/turf_decal/trimline/blue/corner, /obj/structure/table/glass, @@ -57165,13 +57380,7 @@ "tAT" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/grimy, -/area/station/tcommsat/server) -"tBk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/chapel) +/area/station/tcommsat/server) "tBm" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -57203,12 +57412,12 @@ }, /turf/open/floor/iron, /area/station/security/prison/workout) -"tCh" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/turf_decal/siding/red, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/iron/small, -/area/station/security/office) +"tBW" = ( +/obj/machinery/vending/dinnerware, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "tCm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/red{ @@ -57224,6 +57433,11 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/starboard/aft) +"tCs" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "tCz" = ( /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, @@ -57241,6 +57455,20 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/science/robotics/mechbay) +"tCR" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) +"tCW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "tCZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -57249,7 +57477,9 @@ /area/station/medical/treatment_center) "tDb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 4 }, @@ -57265,61 +57495,41 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"tDf" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "tDn" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/prison) -"tDu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor{ - id = "Secure Storage top"; - name = "Secure Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/storage_shared) -"tDz" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/chair/sofa/corp/left{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/service/lawoffice) "tDB" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"tDC" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/service/chapel) "tDE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" + name = "Departure Lounge"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"tDF" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"tDH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"tDM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "tEg" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/line{ @@ -57347,26 +57557,45 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/security/tram) -"tEC" = ( -/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/research{ - name = "Robotics Lab" +"tEy" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/science/robotics, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/lab) -"tEL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) +"tEF" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"tEX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"tFn" = ( +/obj/structure/closet/emcloset, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "tFs" = ( /obj/structure/table/glass, /obj/item/storage/medkit/regular{ @@ -57379,6 +57608,12 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"tFC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter/room) "tFH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57394,13 +57629,6 @@ "tFQ" = ( /turf/closed/wall, /area/station/medical/medbay/central) -"tFW" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/chem_master, -/turf/open/floor/iron, -/area/station/medical/chemistry) "tGp" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -57408,6 +57636,24 @@ "tGq" = ( /turf/closed/wall, /area/station/service/kitchen/coldroom) +"tGs" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=19.0-Engineering-CentralPort"; + location = "18.0-ToolStorage-Engineering" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "tGv" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/button/transport/tram/directional/north{ @@ -57417,18 +57663,10 @@ /obj/machinery/transport/destination_sign/indicator/directional/north, /turf/open/floor/noslip, /area/station/security/tram) -"tGB" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/smooth, -/area/station/maintenance/solars/starboard/fore) -"tGF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/break_room) +"tGH" = ( +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "tGI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57452,6 +57690,12 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"tGW" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "tHa" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -57459,34 +57703,43 @@ }, /turf/open/floor/iron/smooth_large, /area/station/engineering/storage_shared) -"tHi" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/carbon/human/species/monkey/punpun, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) "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) +"tHu" = ( +/obj/structure/table/wood, +/obj/machinery/fax/auto_name, +/turf/open/floor/carpet, +/area/station/service/library) +"tHH" = ( +/obj/item/kirbyplants/random/fullysynthetic, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "tHK" = ( /turf/closed/wall, /area/station/security/prison/shower) "tHL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"tIa" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/structure/chair{ - dir = 4 +"tHW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/navigate_destination/chapel, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/machinery/light/small/directional/west, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/security/brig/entrance) +/area/station/hallway/primary/port) "tIz" = ( /obj/structure/chair/wood{ dir = 8 @@ -57522,9 +57775,6 @@ }, /turf/open/floor/wood, /area/station/engineering/break_room) -"tIR" = ( -/turf/open/floor/engine, -/area/station/engineering/supermatter) "tJe" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -57534,15 +57784,6 @@ }, /turf/open/floor/iron, /area/station/security) -"tJo" = ( -/obj/structure/closet/lasertag/blue, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "tJw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57551,7 +57792,9 @@ name = "Xenobiology Secure Lab" }, /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron, /area/station/science/xenobiology) "tJz" = ( @@ -57563,18 +57806,6 @@ }, /turf/open/floor/plating, /area/station/security/brig/entrance) -"tJF" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/rack, -/obj/item/storage/toolbox/emergency{ - pixel_x = -2; - pixel_y = -3 - }, -/obj/item/cigarette/cigar, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/smooth, -/area/station/command/bridge) "tJX" = ( /turf/open/floor/plating, /area/station/maintenance/aft) @@ -57590,24 +57821,16 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tKl" = ( -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"tKn" = ( -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) -"tKD" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ +"tKv" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/grunge{ + name = "St. Brendan's"; dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/light/no_nightlight/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/maintenance/starboard/greater) "tKG" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/mapping_helpers/broken_floor, @@ -57631,17 +57854,6 @@ /obj/machinery/power/smes, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) -"tKS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "tLc" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/techstorage/service_all, @@ -57649,34 +57861,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"tLj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "tLn" = ( /obj/effect/turf_decal/siding{ dir = 1 }, /turf/open/floor/iron/white/small, /area/station/science/lab) -"tLp" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engine_airlock_2" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) "tLt" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -57685,6 +57875,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"tLu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/computer/atmos_control/plasma_tank, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"tLA" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "tMh" = ( /obj/structure/fireaxecabinet/directional/south, /obj/machinery/door/window/brigdoor/left/directional/north{ @@ -57703,32 +57912,34 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"tMS" = ( -/obj/structure/cable, +"tMw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 8 +/obj/machinery/door/airlock{ + name = "Theater Greenroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/structure/cable, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"tNf" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/greenroom) +"tMS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 8 }, -/obj/structure/disposalpipe/segment, +/obj/machinery/light/cold/directional/east, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"tNm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) +/area/station/security/execution/transfer) "tNn" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -57761,16 +57972,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/engine, /area/station/science/xenobiology) -"tNy" = ( -/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/research{ - name = "Gun Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/auxlab/firing_range) "tNz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57788,22 +57989,23 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"tNF" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair{ - dir = 8 +"tNR" = ( +/obj/item/cigarette, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_y = 5; + pixel_x = 6 }, -/obj/effect/turf_decal/siding/white{ - dir = 8 +/obj/item/lighter, +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/aft) -"tNR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/station/science/xenobiology) +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "tNT" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/kitchen/small, @@ -57815,26 +58017,16 @@ /obj/item/airlock_painter, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"tOa" = ( -/obj/structure/chair/sofa/bench/left, -/obj/effect/landmark/start/hangover, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/white, -/area/station/science/cytology) "tOc" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/electrical) "tOd" = ( -/obj/structure/flora/bush/jungle/a/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"tOg" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark/side, +/area/station/science/xenobiology) "tOk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57844,6 +58036,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"tOl" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) "tOs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57852,20 +58051,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"tOw" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/storage/tools) -"tOJ" = ( -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ +"tOB" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/misc/asteroid/airless, -/area/space/nearstation) +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "tOO" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -20; @@ -57894,6 +58088,20 @@ }, /turf/open/floor/wood, /area/station/cargo/miningfoundry) +"tPb" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "tPf" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, @@ -57911,73 +58119,43 @@ }, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"tPE" = ( -/obj/structure/table, -/obj/item/soap, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) +"tPo" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) +"tPF" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos) "tPH" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"tPM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "tPP" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"tPW" = ( -/obj/structure/closet/secure_closet/personal, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"tPX" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) "tPZ" = ( /obj/machinery/netpod, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"tQr" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/siding/green{ - dir = 10 +"tQp" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 }, -/obj/structure/table, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) "tQx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, @@ -58003,18 +58181,12 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"tQR" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "engine_airlock_2" +"tQW" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) +/turf/open/floor/iron/dark, +/area/station/security/office) "tRc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58023,6 +58195,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"tRe" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/storage/tools) "tRh" = ( /obj/structure/chair{ dir = 8; @@ -58050,19 +58228,16 @@ /obj/effect/turf_decal/tile/dark_red/fourcorners, /turf/open/floor/iron, /area/station/security/tram) -"tRJ" = ( -/obj/effect/turf_decal/siding/thinplating_new/light, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"tRR" = ( -/obj/structure/chair/stool/directional/east, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/medical/central) +"tRV" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "tSp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/grunge{ - name = "Cell 1" + name = "Cell 1"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 @@ -58084,14 +58259,6 @@ /obj/machinery/light/small/broken/directional/west, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"tSA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/departments/cargo/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "tSB" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -58101,6 +58268,22 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) +"tSD" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/science/lower) +"tSF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/corner, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "tTg" = ( /obj/structure/table, /obj/item/trash/cheesie{ @@ -58124,16 +58307,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"tTs" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "tTx" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -58148,11 +58321,20 @@ /obj/machinery/light/very_dim/directional/east, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"tTT" = ( -/turf/open/floor/iron/white/corner{ +"tTN" = ( +/obj/structure/disposalpipe/sorting/mail{ dir = 1 }, -/area/station/science/xenobiology) +/obj/effect/mapping_helpers/mail_sorting/service/library, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"tTT" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Ports" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "tTW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58183,12 +58365,15 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public/glass{ - name = "Research Wing" + name = "Research Wing"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "sci-entrance" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 8; id = "rdrnd"; @@ -58208,16 +58393,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) -"tUj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "tUo" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -58239,6 +58414,10 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"tUD" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/tcommsat/server) "tUH" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -58247,13 +58426,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"tUZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +"tUO" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/structure/flora/bush/flowers_br/style_3, +/obj/machinery/firealarm/directional/north, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = -16 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"tUU" = ( +/obj/structure/flora/tree/jungle/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "tVc" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod One"; @@ -58262,19 +58450,17 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"tVd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/navigate_destination/bar, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "tVe" = ( /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"tVp" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/chem_dispenser/drinks/beer, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "tVt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -58287,17 +58473,45 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) +"tVu" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"tVE" = ( +/obj/structure/window/spawner/directional/north, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -20; + pixel_y = -11 + }, +/obj/structure/flora/bush/flowers_yw/style_random, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/locker_room) "tVR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/storage) -"tWm" = ( -/obj/structure/flora/bush/jungle/c/style_3, -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/grass, -/area/station/service/chapel) +"tWf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"tWg" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/cargo/office) "tWo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -58336,43 +58550,30 @@ /area/station/science/breakroom) "tWQ" = ( /obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" + name = "Departure Lounge"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"tWT" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 +"tXf" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ + dir = 4 }, -/obj/structure/sign/poster/official/tactical_game_cards/directional/west, -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) +/turf/closed/wall/r_wall, +/area/station/maintenance/department/engine/atmos) "tXl" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/table/bronze, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) -"tXy" = ( -/obj/structure/flora/tree/jungle/small/style_3, -/obj/effect/turf_decal/weather/dirt, -/obj/machinery/light/small/directional/south, -/obj/machinery/status_display/ai/directional/south, -/turf/open/floor/grass, -/area/station/service/chapel) -"tXF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 +"tXD" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/turf/open/floor/wood/parquet, +/area/station/service/library) "tXG" = ( /obj/structure/chair{ dir = 8 @@ -58448,6 +58649,22 @@ /obj/structure/sign/poster/contraband/got_wood/directional/north, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) +"tZn" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/head/costume/paper_hat{ + pixel_y = 12; + pixel_x = -4 + }, +/obj/item/clothing/head/collectable/petehat{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "tZp" = ( /obj/structure/table, /obj/item/stock_parts/matter_bin{ @@ -58485,18 +58702,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"tZE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "tZI" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58519,15 +58724,6 @@ /obj/machinery/light/cold/dim/directional/east, /turf/open/floor/iron, /area/station/engineering/main) -"uaa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "uab" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58549,17 +58745,14 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"uaF" = ( -/obj/structure/disposalpipe/segment{ +"uaG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light/no_nightlight/directional/south, /turf/open/floor/iron, -/area/station/hallway/secondary/dock) +/area/station/engineering/atmos) "uaT" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -58582,6 +58775,15 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"uaW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "uaZ" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -58601,16 +58803,13 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"ubl" = ( -/obj/structure/easel, -/obj/item/canvas/twentythree_twentythree, -/obj/item/canvas/twentythree_twentythree, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron, -/area/station/commons/storage/art) "uby" = ( /turf/closed/wall, /area/station/security/prison/garden) +"ubG" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron/small, +/area/station/maintenance/port/lesser) "ubK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58650,34 +58849,15 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"ucm" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ +"ucz" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ dir = 8 }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, -/area/station/engineering/atmos/project) -"ucy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/turf/open/floor/iron/small, -/area/station/security/office) -"ucC" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/chair/wood, -/turf/open/floor/iron/small, -/area/station/service/barber) +/area/station/engineering/atmos) "ucJ" = ( /obj/machinery/door/window/left/directional/south{ req_access = list("chapel_office") @@ -58688,6 +58868,11 @@ }, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"ucQ" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/light/floor, +/turf/open/floor/iron/smooth, +/area/station/hallway/secondary/command) "ucR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock{ @@ -58695,16 +58880,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"ucS" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4; - initialize_directions = 8 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "ucY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58725,6 +58900,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"udq" = ( +/obj/structure/bookcase/random, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/parquet, +/area/station/service/library) "udv" = ( /obj/machinery/telecomms/receiver/preset_right, /turf/open/floor/circuit, @@ -58765,12 +58945,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/brig/entrance) -"udH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "udK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58789,27 +58963,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"udO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "udW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/departments/botany/alt1/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"uek" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/commons/dorms) +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "ueo" = ( /obj/machinery/light/small/broken{ dir = 4 @@ -58849,7 +59006,9 @@ id = "hop"; name = "Privacy Shutters" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/machinery/door/window/brigdoor/right/directional/east{ name = "Head of Personnel's Desk"; req_access = list("hop") @@ -58862,13 +59021,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/command/heads_quarters/hop) -"ueP" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Air" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "ueX" = ( /turf/closed/wall/rust, /area/station/maintenance/port/fore) @@ -58878,14 +59030,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_half, /area/station/hallway/primary/central/fore) -"ufe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"ufc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"ufe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/augments) +/obj/effect/turf_decal/tile/neutral, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "uff" = ( /obj/machinery/holopad, /turf/open/floor/wood/large, @@ -58922,18 +59081,6 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ugb" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) "uge" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58962,13 +59109,6 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ugo" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "ugA" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -59003,10 +59143,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"ugI" = ( -/obj/structure/flora/tree/jungle/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) "ugJ" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -59015,6 +59151,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"uhd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "atmospherics - lower" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "uhe" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/conveyor{ @@ -59043,46 +59188,57 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/small, /area/station/medical/morgue) +"uho" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "uhq" = ( /obj/structure/chair/bronze, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) -"uhy" = ( -/obj/effect/turf_decal/stripes/red/line{ +"uhB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Crematorium"; dir = 4 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/computer/holodeck{ - dir = 8 +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"uhH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/transport/power_rectifier{ - configured_transport_id = "bird_2" +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/textured_half{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/central) +/area/station/security/brig/entrance) "uhI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 }, -/obj/effect/turf_decal/caution, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "uhM" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/hallway/primary/central/aft) -"uhT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/sofa/bench/left{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron, -/area/station/maintenance/aft) +/area/station/hallway/secondary/dock) +"uhO" = ( +/obj/structure/urinal/directional/east, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "uia" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59114,12 +59270,6 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"uiw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "uiz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59134,6 +59284,19 @@ }, /turf/open/floor/iron/white/small, /area/station/science/lobby) +"uiN" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 4; + id = "garbage"; + name = "trash chute" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "uiS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59142,6 +59305,13 @@ dir = 1 }, /area/station/science/research) +"uiX" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Aft Corridor" + }, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/hallway/primary/aft) "uiY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59154,6 +59324,12 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ujm" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "atmos to engine" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ujq" = ( /obj/structure/disposalpipe/segment, /obj/structure/closet/emcloset, @@ -59165,33 +59341,13 @@ /obj/item/stack/sheet/cardboard, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uju" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"ujv" = ( +/obj/structure/window/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "ujA" = ( /turf/closed/wall/r_wall, /area/station/security/warden) -"ujB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"ujE" = ( -/obj/item/kirbyplants/random/fullysynthetic, -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/security/tram) "ujH" = ( /obj/structure/sink/directional/south, /obj/item/mop, @@ -59222,10 +59378,6 @@ }, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"ukf" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "uki" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, @@ -59252,24 +59404,26 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"ukE" = ( -/obj/structure/cable, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "ukI" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ukP" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/atmos) +"ukJ" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) +"ukN" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/research{ + name = "Augment Corridor" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/robotics, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/augments) "ukQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59286,12 +59440,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"ukY" = ( -/obj/machinery/light/small/directional/south{ - dir = 4 - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) "ulb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, @@ -59302,15 +59450,22 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/cryo) +"uli" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/cigarette/cigar, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/smooth, +/area/station/command/bridge) "ull" = ( /obj/machinery/light/cold/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ulp" = ( -/obj/structure/cable, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/security/prison/workout) "ulq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59322,22 +59477,12 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) "ulC" = ( -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"ulE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "ulK" = ( /obj/structure/cable, /obj/machinery/ntnet_relay, @@ -59347,6 +59492,17 @@ "ulO" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"umb" = ( +/obj/structure/sign/directions/security/west_arrow{ + pixel_y = 8 + }, +/obj/structure/sign/directions/evac/west_arrow, +/obj/structure/sign/directions/science/west_arrow{ + dir = 4; + pixel_y = -8 + }, +/turf/closed/wall, +/area/station/service/bar) "ume" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -59359,6 +59515,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"uml" = ( +/obj/item/kirbyplants/random, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light_switch/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"umq" = ( +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "umr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -59382,6 +59555,20 @@ }, /turf/open/floor/sepia, /area/station/maintenance/aft) +"umB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/washing_machine, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison) "umI" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -59395,6 +59582,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"une" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "unf" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /obj/machinery/computer/records/security{ @@ -59402,52 +59595,39 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"unz" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/pumproom) "unK" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"unT" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "uoh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"uoz" = ( +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "uoB" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) -"uoH" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"uoD" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"uoJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/radiation/rad_area/directional/east, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"uoR" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"upa" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "upe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59457,7 +59637,9 @@ /area/station/maintenance/starboard/central) "upg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 4 }, @@ -59466,6 +59648,14 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/port) +"upo" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/security/tram) "upr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59508,12 +59698,17 @@ dir = 5 }, /area/station/science/research) -"upV" = ( -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 +"uqa" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/security/courtroom) +/obj/effect/turf_decal/siding/red{ + dir = 5 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/security/office) "uqc" = ( /obj/structure/cable, /obj/effect/spawner/random/trash, @@ -59526,46 +59721,24 @@ }, /turf/open/space/basic, /area/space/nearstation) -"uqg" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Distro Staging to Waste" - }, -/obj/effect/turf_decal/siding/wideplating{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) "uql" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/light_switch/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"uqq" = ( -/obj/structure/table, -/turf/open/floor/iron/dark/small, -/area/station/maintenance/central/lesser) -"uqw" = ( -/turf/closed/wall/r_wall, -/area/station/commons/fitness/recreation) -"uqE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/machinery/light_switch/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"uqw" = ( +/turf/closed/wall/r_wall, +/area/station/commons/fitness/recreation) "uqF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fore Primary Hallway" + }, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, /area/station/hallway/primary/central/fore) "uqH" = ( /obj/structure/cable, @@ -59599,35 +59772,12 @@ /obj/structure/alien/weeds, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"uqV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "urd" = ( /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/cafeteria, /area/station/science/breakroom) -"urf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/plaque{ - icon_state = "L2"; - pixel_y = -15 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "urg" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Office" @@ -59635,7 +59785,9 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 4 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /obj/structure/disposalpipe/segment{ @@ -59648,12 +59800,6 @@ dir = 8 }, /area/station/engineering/main) -"urh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "urk" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -59690,17 +59836,10 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"urq" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "uru" = ( /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, @@ -59727,20 +59866,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark/small, /area/station/hallway/secondary/dock) -"urF" = ( -/obj/machinery/computer/cargo{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/vault/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"urK" = ( -/obj/machinery/light/warm/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "urM" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -59749,18 +59874,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/execution/transfer) -"urP" = ( -/obj/structure/closet/secure_closet/atmospherics, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "urQ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/office) -"usd" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +"urU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/cold/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "usg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59770,6 +59897,15 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) +"usr" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/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/herringbone, +/area/station/commons/dorms) "usF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/easel, @@ -59777,23 +59913,17 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/sepia, /area/station/maintenance/aft) -"usG" = ( -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 1 +"usH" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "usJ" = ( /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) -"usP" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "utm" = ( /turf/closed/wall/r_wall, /area/station/science/auxlab/firing_range) @@ -59802,6 +59932,13 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"utB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "utD" = ( /obj/machinery/light_switch/directional/west, /obj/effect/turf_decal/stripes/corner{ @@ -59811,6 +59948,10 @@ dir = 8 }, /area/station/hallway/secondary/construction) +"utE" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/department/science/xenobiology) "utF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59837,9 +59978,25 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/heads_quarters/qm) +"utN" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay Clinic" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medlock"; + name = "Lockdown Shutters" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/small, +/area/station/medical/medbay/lobby) "utP" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/paper_bin/carbon{ @@ -59850,24 +60007,31 @@ }, /turf/open/floor/iron/small, /area/station/security/office) -"utQ" = ( -/obj/effect/landmark/navigate_destination/dockescpod, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +"utR" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "uub" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uuz" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 +"uum" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/item/clothing/mask/gas, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "uuN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59894,55 +60058,41 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"uuY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"uva" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering Supermatter Chamber" }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"uvA" = ( +/turf/closed/wall/r_wall, +/area/station/command/gateway) +"uvU" = ( /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/research/glass{ - name = "Gun Lab" +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=23.2-Evac-Garden"; + location = "23.4-Evac" }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/auxlab/firing_range) -"uvb" = ( -/obj/structure/dresser, -/turf/open/floor/wood, -/area/station/cargo/boutique) -"uvf" = ( -/obj/structure/cable, -/obj/machinery/button/door/directional/south{ - id = "secbreach"; - name = "Emergency Breach Shutters"; - req_access = list("security") +/obj/structure/disposalpipe/junction/flip{ + dir = 2 }, -/turf/open/floor/iron/dark, -/area/station/security/office) -"uvx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) +"uwf" = ( +/obj/machinery/air_sensor/air_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) +"uwi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"uvz" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) -"uvA" = ( -/turf/closed/wall/r_wall, -/area/station/command/gateway) -"uvG" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/spawner/random/entertainment/arcade, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron, -/area/station/holodeck/rec_center) +/area/station/science/xenobiology) "uwB" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 4 @@ -59959,6 +60109,10 @@ /obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uwX" = ( +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "uxd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59968,6 +60122,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"uxp" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"uxr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"uxB" = ( +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/starboard/fore) "uxJ" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/machinery/door/firedoor, @@ -59983,17 +60164,31 @@ /obj/structure/trap/stun, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"uxY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bamboo, -/obj/structure/cable, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) +"uxT" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/service/barber) "uya" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"uyo" = ( +/obj/machinery/griddle, +/obj/effect/turf_decal/siding{ + dir = 10 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) +"uyx" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "uyA" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -60005,24 +60200,31 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white/small, /area/station/security/warden) +"uyR" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/security/prison/work) "uzj" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/prison/garden) -"uzm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "uzo" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/aft) +"uzu" = ( +/obj/structure/table, +/obj/item/wirecutters, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) +"uzH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/stone, +/area/station/service/chapel) "uzJ" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -60034,15 +60236,29 @@ dir = 1 }, /area/station/science/lower) -"uzY" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +"uzN" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 4; + initialize_directions = 8 }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/white/corner{ +/obj/effect/turf_decal/bot{ dir = 1 }, -/area/station/hallway/secondary/dock) +/turf/open/floor/iron, +/area/station/engineering/atmos/project) +"uzV" = ( +/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{ + name = "Drone Bay" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "uzZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -60059,24 +60275,17 @@ /turf/open/floor/carpet/lone, /area/station/service/chapel/office) "uAk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/holy/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"uAo" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 +/obj/structure/cable, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 +/obj/structure/secure_safe/hos{ + pixel_x = 15; + pixel_y = 28 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) "uAK" = ( /obj/machinery/computer/security, /obj/effect/turf_decal/siding/red{ @@ -60085,19 +60294,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood/tile, /area/station/command/bridge) -"uAM" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/structure/closet/firecloset, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "uAY" = ( /turf/open/floor/plating, /area/station/maintenance/department/bridge) @@ -60122,17 +60318,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"uBo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/entry) "uBu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -60147,25 +60332,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/engineering/storage/tech) -"uBE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/machinery/light/no_nightlight/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"uBI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 +"uBJ" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 }, -/obj/effect/turf_decal/stripes/red/line{ +/obj/structure/chair, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/storage/tools) +"uBL" = ( +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "uBM" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -60175,17 +60359,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) -"uBN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/service/bar/backroom) -"uBP" = ( -/obj/effect/turf_decal/bot/left, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "uBQ" = ( /obj/structure/table/bronze, /obj/machinery/microwave{ @@ -60206,21 +60379,27 @@ /obj/item/mop, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uCo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"uCg" = ( /obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "uCp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white/side, /area/station/hallway/primary/starboard) +"uCs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "uCH" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/stripes/line{ @@ -60252,42 +60431,31 @@ }, /turf/open/floor/plating, /area/station/medical/chemistry) +"uDn" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"uDs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "uDv" = ( /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/lockers) -"uDz" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Lockers" - }, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/commons/fitness/locker_room) "uDB" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 10 }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"uDE" = ( -/obj/structure/window/spawner/directional/north, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/machinery/door/airlock{ - id_tag = "Toilet1"; - name = "Unit 1" - }, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/locker_room) +/area/station/engineering/atmos) "uDF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60297,6 +60465,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"uDK" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/large/style_2, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/hydroponics) "uDQ" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -60326,6 +60502,15 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/stone, /area/station/command/corporate_suite) +"uEq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "meow"; + name = "Commissary"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "uEC" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/box/red/corners{ @@ -60336,13 +60521,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"uEH" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "uEI" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/window/reinforced/spawner/directional/west, @@ -60351,6 +60529,17 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"uEJ" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "uEP" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -60376,29 +60565,19 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"uEZ" = ( -/obj/effect/turf_decal/siding/wideplating, -/obj/effect/turf_decal/siding/wideplating{ +"uEX" = ( +/obj/machinery/power/emitter/welded{ dir = 1 }, -/turf/open/floor/wood, -/area/station/engineering/atmospherics_engine) +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "uFc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"uFe" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 4; - pixel_x = -15 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "uFk" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/window/reinforced/spawner/directional/east, @@ -60417,19 +60596,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"uFt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"uFv" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "uFw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, @@ -60444,29 +60618,52 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ - name = "Research Wing" + name = "Research Wing"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_half{ dir = 1 }, /area/station/hallway/primary/starboard) +"uFE" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "uFQ" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/south, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"uFS" = ( -/obj/machinery/igniter/incinerator_atmos, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/turf/open/floor/engine/vacuum, -/area/station/maintenance/disposal/incinerator) -"uFZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/vending/wardrobe/jani_wardrobe, -/obj/machinery/camera/autoname/directional/north, +"uFV" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/computer/order_console/mining, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) +"uGd" = ( +/obj/structure/table, +/obj/item/stack/rods/fifty, +/obj/item/wrench, +/obj/item/storage/box/lights/mixed, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"uGi" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, /turf/open/floor/iron/small, -/area/station/service/janitor) +/area/station/engineering/atmos/pumproom) "uGj" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/structure/table/glass, @@ -60477,18 +60674,25 @@ /obj/effect/mapping_helpers/requests_console/ore_update, /turf/open/floor/iron/white, /area/station/medical/virology) +"uGq" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/commons/fitness/recreation/entertainment) "uGA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ - name = "Research Wing" + name = "Research Wing"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "sci-entrance" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 8; id = "rdrnd"; @@ -60498,11 +60702,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"uGF" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "uGH" = ( /obj/machinery/rnd/production/circuit_imprinter, /obj/effect/turf_decal/bot, @@ -60512,7 +60711,6 @@ /obj/machinery/camera/directional/east{ c_tag = "Engineering - Supplies" }, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/station/engineering/main) "uGK" = ( @@ -60541,6 +60739,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/security/brig) +"uGR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "uGT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60580,6 +60790,10 @@ /obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/science/research) +"uGY" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "uHc" = ( /obj/structure/frame/machine, /obj/item/stack/cable_coil/five, @@ -60596,6 +60810,13 @@ /obj/structure/sign/departments/rndserver/directional/south, /turf/open/floor/iron/white/side, /area/station/science/research) +"uHk" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/white/small, +/area/station/science/ordnance/storage) "uHo" = ( /obj/machinery/light/small/directional/east, /obj/machinery/computer/records/security{ @@ -60609,6 +60830,11 @@ /obj/item/assault_pod/mining, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"uHE" = ( +/obj/structure/cable, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "uHF" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /obj/machinery/door/airlock{ @@ -60618,14 +60844,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"uHH" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/light/warm/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/dorms) "uHI" = ( /obj/machinery/door/morgue{ name = "Confession Booth" @@ -60634,12 +60852,22 @@ dir = 1 }, /area/station/service/chapel/office) +"uHK" = ( +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "uHR" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"uIi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "uIj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -60654,13 +60882,22 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, /area/station/medical/treatment_center) +"uIr" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/spawner/random/food_or_drink/salad{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark/diagonal, +/area/station/service/bar) "uIu" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/office) +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "uIv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60672,30 +60909,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"uIy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"uIA" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 9 - }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"uIP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "uIT" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -60708,19 +60921,22 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"uJi" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 +"uJh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"uJk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron, -/area/station/service/hydroponics) -"uJq" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/area/station/hallway/primary/port) "uJD" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -60735,14 +60951,30 @@ /obj/machinery/shieldgen, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) +"uJX" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/commons/dorms) "uKh" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/start/hangover, /obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/directions/upload/southeast_arrow/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"uKk" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "uKl" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -60766,13 +60998,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"uKD" = ( -/obj/structure/table, -/obj/machinery/light/warm/directional/north, -/obj/effect/landmark/start/hangover, -/obj/item/soap, -/turf/open/floor/iron, -/area/station/commons/dorms) "uKH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60794,31 +61019,23 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"uKR" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "uLj" = ( /turf/closed/wall, /area/station/commons/toilet/auxiliary) -"uLk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor{ - id = "Secure Storage below"; - name = "Secure Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/rust, -/area/station/engineering/main) -"uLD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) +"uLF" = ( +/obj/structure/table, +/obj/item/toy/foamblade, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "uLO" = ( /obj/item/stack/sheet/cardboard{ amount = 14 @@ -60832,15 +61049,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/security/prison/work) -"uLT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/science/xenobiology) "uLW" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -60852,6 +61060,18 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/secondary/service) +"uMj" = ( +/obj/structure/cable, +/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/spawner/random/trash, +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/maintenance/port/greater) "uMl" = ( /obj/machinery/cryo_cell, /obj/effect/turf_decal/stripes/line{ @@ -60876,21 +61096,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white/diagonal, /area/station/maintenance/department/science/xenobiology) -"uMF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Gas to Filter" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "uMH" = ( /turf/open/floor/iron/white/side, /area/station/science/research) -"uMJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +"uMM" = ( +/obj/effect/turf_decal/siding/red{ + dir = 9 + }, +/turf/open/floor/iron/small, +/area/station/security/brig) "uMN" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/hedge, @@ -60910,10 +61124,22 @@ "uMU" = ( /turf/closed/wall, /area/station/science/robotics/mechbay) +"uMZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "uNa" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uNb" = ( +/obj/machinery/power/energy_accumulator/grounding_rod/anchored, +/obj/structure/window/reinforced/plasma/spawner/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "uNd" = ( /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/cafeteria, @@ -60926,14 +61152,41 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"uNj" = ( +/obj/machinery/vending/wardrobe/robo_wardrobe, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/robotics/augments) +"uNr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"uNu" = ( +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "uNz" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/dark_red{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 4 }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) +/turf/open/floor/iron/dark/small, +/area/station/science/xenobiology) +"uNB" = ( +/obj/structure/table, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/clothing/mask/breath{ + pixel_x = 15; + pixel_y = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) "uNR" = ( /obj/structure/cable, /obj/structure/chair{ @@ -60942,6 +61195,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"uNU" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "uNX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60954,6 +61214,14 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/primary/aft) +"uOj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/holy/directional/south, +/obj/machinery/light/cold/directional/south, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "uOk" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/window/spawner/directional/south, @@ -60961,24 +61229,48 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/main) -"uOt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +"uOm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/effect/turf_decal/bot{ - dir = 1 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/atmos/project) +/area/station/hallway/primary/fore) +"uOo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/grunge{ + name = "Vacant Comissary" + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/maintenance/central/lesser) "uOw" = ( /turf/open/floor/iron, /area/station/maintenance/department/medical/central) "uOx" = ( -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 5 +/obj/structure/table, +/obj/effect/spawner/random/techstorage/ai_all, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) +"uOy" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 }, -/turf/open/floor/wood/tile, -/area/station/maintenance/central/lesser) +/obj/structure/flora/bush/large/style_random{ + pixel_y = 0 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "uOH" = ( /obj/item/kirbyplants/random, /obj/machinery/light_switch/directional/west, @@ -60989,6 +61281,22 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"uOY" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"uPd" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "uPr" = ( /obj/structure/weightmachine/weightlifter, /obj/effect/turf_decal/bot, @@ -61015,16 +61323,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"uPM" = ( -/obj/structure/urinal/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) -"uPW" = ( -/obj/structure/flora/bush/flowers_pp/style_2, -/obj/structure/flora/bush/large/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) +"uPQ" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "uPX" = ( /obj/structure/railing{ dir = 8 @@ -61040,7 +61348,9 @@ /area/station/science/ordnance/storage) "uQc" = ( /obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) "uQf" = ( @@ -61058,9 +61368,6 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) -"uQo" = ( -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "uQu" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/status_display/door_timer{ @@ -61070,39 +61377,33 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"uQG" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) -"uQI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"uQD" = ( +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 4 }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) -"uQK" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - Central Aft" }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"uQG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/warm/dim/directional/south, /turf/open/floor/iron, -/area/station/hallway/primary/port) -"uQT" = ( -/obj/machinery/air_sensor/carbon_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) -"uQY" = ( -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/area/station/hallway/primary/central/aft) +"uQU" = ( +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"uRa" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/iron, /area/station/engineering/atmos) "uRe" = ( /obj/structure/reagent_dispensers/water_cooler, @@ -61129,12 +61430,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"uRv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) "uRF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -61165,17 +61460,6 @@ "uSa" = ( /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"uSc" = ( -/obj/machinery/air_sensor/nitrous_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) -"uSh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "uSi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61186,14 +61470,14 @@ "uSj" = ( /turf/closed/wall/r_wall, /area/station/medical/medbay/central) -"uSo" = ( -/obj/structure/railing/corner{ - dir = 4 +"uSl" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/hallway/primary/central/fore) "uSt" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -61218,6 +61502,14 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) +"uSH" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "uSI" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/wood, @@ -61238,32 +61530,58 @@ }, /turf/open/floor/iron/textured_half, /area/station/commons/storage/art) -"uTb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/table/glass, +"uSR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/fuel_pellet, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) +"uSX" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/purple, +/obj/item/kirbyplants/random, +/obj/machinery/newscaster/directional/south, /turf/open/floor/iron/dark, -/area/station/service/lawoffice) -"uTz" = ( +/area/station/science/genetics) +"uTj" = ( +/obj/structure/urinal/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) +"uTk" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"uTl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"uTs" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/station/service/abandoned_gambling_den) +"uTt" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "uTA" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai) -"uTE" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "uTK" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -61276,20 +61594,24 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/escape) -"uTN" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - N2O" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ - dir = 1 - }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) "uTO" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/science) +"uTQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "uTR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61299,6 +61621,12 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"uTT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "uUb" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -61333,57 +61661,27 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"uUB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar) "uUS" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Cubicle" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) -"uUU" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ +/obj/effect/turf_decal/siding/thinplating{ dir = 8 }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"uVo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/machinery/firealarm/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) +"uVp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "uVD" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"uVH" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 4 - }, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) "uVO" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, @@ -61426,25 +61724,29 @@ "uWo" = ( /turf/closed/wall, /area/station/medical/paramedic) -"uWr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"uWs" = ( +/obj/structure/chair{ + pixel_y = -2 }, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/cafeteria, -/area/station/science/circuits) +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "uWv" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/flora/bush/flowers_pp/style_random, /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/science/genetics) +"uWx" = ( +/obj/machinery/light/floor, +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "uWy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/grunge{ - name = "Cell 5" + name = "Cell 5"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 @@ -61455,6 +61757,11 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"uWL" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/scientist, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "uWQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -61464,11 +61771,19 @@ /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) "uWZ" = ( -/obj/machinery/door/airlock/public, +/obj/machinery/door/airlock/public{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"uXm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/maintenance/port/greater) "uXs" = ( /obj/structure/window/spawner/directional/east, /obj/structure/window/spawner/directional/west, @@ -61510,6 +61825,29 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"uYv" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"uYz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"uYC" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "uYD" = ( /obj/structure/table, /obj/effect/turf_decal/tile/green/fourcorners, @@ -61527,14 +61865,6 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating, /area/station/security/brig/entrance) -"uYM" = ( -/obj/machinery/deepfryer, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/siding/end{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) "uYO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61543,25 +61873,22 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"uYY" = ( -/obj/structure/closet/wardrobe/grey, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "uZc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/courtroom) -"uZk" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +"uZh" = ( +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"uZv" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uZA" = ( /obj/structure/chair{ dir = 1; @@ -61581,55 +61908,32 @@ dir = 1 }, /area/station/science/lower) -"uZK" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"uZY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "vaf" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"vam" = ( -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = -11 - }, -/obj/structure/flora/rock/pile/jungle/style_5, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/recreation/entertainment) "vav" = ( /obj/structure/lattice, /obj/structure/railing, /turf/open/space/basic, /area/space/nearstation) -"vaw" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "vaF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/item/kirbyplants/organic/applebush, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"vaQ" = ( +/obj/machinery/camera/autoname/directional/west{ + dir = 6 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vba" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -61639,6 +61943,11 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) +"vbd" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/directional/east, +/turf/open/floor/iron/stairs/right, +/area/station/hallway/secondary/recreation) "vbp" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -61651,21 +61960,23 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"vbu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/command{ + name = "Research Division Server Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/rd, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/server) "vbA" = ( -/obj/structure/sign/departments/science/alt/directional/east, /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) "vbK" = ( /turf/closed/wall, /area/station/science/research) -"vbM" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "vbO" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -61679,9 +61990,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"vbP" = ( -/turf/open/floor/wood/parquet, -/area/station/medical/psychology) "vbQ" = ( /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/circuit, @@ -61692,23 +62000,13 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "vcd" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"vcl" = ( -/obj/structure/chair{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) -"vcm" = ( -/obj/item/pickaxe, -/turf/open/misc/asteroid, -/area/station/maintenance/department/electrical) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "vcB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61730,6 +62028,15 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"vcU" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters"; + dir = 4 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "vcW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61809,6 +62116,20 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) +"vdx" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark/fourcorners, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "vdH" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue{ @@ -61816,13 +62137,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vdL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"vdT" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "vdX" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -61863,20 +62181,39 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vex" = ( -/obj/effect/turf_decal/stripes/end, -/obj/item/kirbyplants/random/fullysynthetic, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) +"veu" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"vew" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar) "veA" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/machinery/door/poddoor/shutters/preopen{ - id = "aigas" + id = "aigas"; + dir = 4 }, /obj/effect/spawner/structure/window/survival_pod, /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"veI" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "veK" = ( /turf/closed/wall, /area/station/science/lab) @@ -61886,14 +62223,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"veR" = ( -/obj/machinery/computer/atmos_control/nocontrol/incinerator{ - dir = 8 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "vfc" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -61910,7 +62239,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/external{ - name = "Tram Maintenance" + name = "Tram Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -61923,31 +62253,34 @@ /turf/open/floor/iron/dark, /area/station/science/lab) "vfo" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 7 }, -/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/carpet, +/area/station/service/library) +"vfp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/cargo/boutique) +"vfz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/hallway/primary/central/fore) "vfD" = ( /obj/effect/turf_decal/siding/thinplating_new/light, /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"vfI" = ( -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/machinery/light_switch/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/effect/turf_decal/siding/end, -/turf/open/floor/iron/dark/textured_large, -/area/station/service/kitchen) "vfK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -61985,31 +62318,12 @@ /obj/item/toy/crayon/purple, /turf/open/floor/iron/white, /area/station/science/research) -"vgf" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"vgh" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 2 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) +"vgg" = ( +/obj/structure/bed, +/obj/item/bedsheet/purple, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/grimy, +/area/station/service/janitor) "vgp" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -62055,42 +62369,22 @@ /obj/structure/barricade/wooden, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"vgS" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/desk_bell{ - pixel_x = 4; - pixel_y = 3 - }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) -"vgY" = ( +"vgU" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/stairs{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) +/area/station/engineering/storage/tech) "vhe" = ( /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/smooth, /area/station/cargo/office) -"vhr" = ( -/obj/structure/sink/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) -"vht" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +"vhq" = ( +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "vhC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62113,6 +62407,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/research) +"vhP" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Atmospherics Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/storage) "vid" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -62124,12 +62436,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/office) -"vip" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "vir" = ( /turf/open/floor/iron/white/side{ dir = 8 @@ -62213,13 +62519,45 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"vjI" = ( +"vjq" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/aft) +"vjC" = ( +/obj/structure/flora/bush/flowers_br, +/turf/open/floor/grass, +/area/station/service/chapel) +"vjQ" = ( +/obj/structure/closet/secure_closet/personal, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) +"vjU" = ( /obj/machinery/door/airlock{ - name = "Bathrooms" + name = "Maintenance" }, +/obj/effect/mapping_helpers/airlock/access/any/service/general, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/textured_half, -/area/station/commons/toilet/restrooms) +/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/central/greater) +"vjV" = ( +/obj/machinery/computer/atmos_control/mix_tank{ + dir = 8 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"vkf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "vkh" = ( /turf/closed/wall, /area/station/service/bar) @@ -62233,13 +62571,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) -"vks" = ( -/obj/structure/cable, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "vkt" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -62247,13 +62578,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"vkC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "vkD" = ( /obj/structure/table, /obj/item/stack/ore/gold{ @@ -62265,12 +62589,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"vkI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) "vkJ" = ( /obj/item/book/manual/wiki/security_space_law{ pixel_x = 9; @@ -62288,6 +62606,14 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) +"vkR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/caution, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/smooth, +/area/station/command/gateway) "vkS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62332,6 +62658,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"vlk" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "vln" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -62357,6 +62693,19 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"vlE" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"vlS" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "vlV" = ( /turf/closed/wall, /area/station/maintenance/aft) @@ -62400,40 +62749,24 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"vmp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/genetics) -"vmr" = ( -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "vmt" = ( /obj/structure/chair/stool/bamboo{ dir = 4 }, /turf/open/floor/iron/terracotta/diagonal, /area/station/service/chapel/office) -"vmB" = ( -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +"vmx" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "vmH" = ( /obj/machinery/door/morgue{ name = "Confession Booth (Chaplain)"; - req_access = list("chapel_office") + req_access = list("chapel_office"); + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 1 @@ -62449,9 +62782,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/space/nearstation) -"vmN" = ( -/turf/open/floor/iron/small, -/area/station/maintenance/starboard/central) "vmS" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -62460,6 +62790,19 @@ /obj/vehicle/sealed/mecha/ripley/paddy/preset, /turf/open/floor/iron, /area/station/security/tram) +"vmV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) +"vmW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "vmX" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/wood, @@ -62476,17 +62819,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side, /area/station/science/lower) -"vni" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "vnj" = ( /obj/structure/table, /obj/item/clothing/under/rank/prisoner/skirt{ @@ -62535,28 +62867,6 @@ /obj/machinery/door/airlock/glass, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"vnC" = ( -/obj/structure/closet{ - name = "Evidence Closet 2" - }, -/obj/structure/secure_safe/directional/north{ - name = "evidence safe" - }, -/turf/open/floor/iron/smooth, -/area/station/security/evidence) -"vnD" = ( -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/security/general, -/turf/open/floor/iron, -/area/station/security) "vnF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -62567,11 +62877,6 @@ "vnI" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/department/engine) -"vnL" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space/basic, -/area/space/nearstation) "vnN" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -62583,13 +62888,10 @@ /obj/machinery/medical_kiosk, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"vnZ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 6 - }, -/turf/open/space/basic, -/area/space/nearstation) +"vnU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "voe" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -62599,6 +62901,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/tram) +"vog" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/machinery/light/cold/directional/south, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/security/detectives_office, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "voh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, @@ -62630,10 +62943,21 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/security) -"voN" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/command/teleporter) +"voK" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"voT" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -1; + pixel_y = -3 + }, +/obj/item/stack/cable_coil, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "vpb" = ( /obj/machinery/door/airlock/hatch{ name = "Tool Supply Corridor" @@ -62650,25 +62974,13 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"vpt" = ( -/obj/item/radio/intercom/prison/directional/north, -/turf/open/floor/iron, -/area/station/security/prison/work) -"vpz" = ( -/obj/machinery/light/small/directional/south{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ +"vpA" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) -"vpF" = ( -/obj/structure/table, -/obj/item/dyespray, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/service/barber) +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/construction/mining/aux_base) "vpI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -62676,6 +62988,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"vpK" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vpM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62683,11 +63000,6 @@ /obj/machinery/smartfridge/petri/preloaded, /turf/open/floor/iron/white, /area/station/science/cytology) -"vpP" = ( -/obj/effect/spawner/random/structure/closet_private, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet, -/area/station/commons/dorms) "vpT" = ( /obj/structure/chair/sofa/bench{ dir = 1 @@ -62728,12 +63040,15 @@ /obj/item/stack/rods/two, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"vqF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 +"vqy" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 }, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron, +/area/station/commons/storage/tools) "vqH" = ( /obj/structure/railing{ dir = 8 @@ -62741,13 +63056,17 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"vqJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"vqN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/worn_out/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) +/obj/item/flashlight/lantern/on, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "vqU" = ( /obj/machinery/rnd/server/master, /turf/open/floor/circuit, @@ -62784,6 +63103,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"vrr" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) +"vrw" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vrz" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -62796,27 +63130,18 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) -"vrB" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "vrO" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/grunge{ - name = "Courtroom" + name = "Courtroom"; + dir = 4 }, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, /area/station/security/courtroom) -"vrS" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "vrT" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -62841,23 +63166,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"vsf" = ( -/obj/structure/closet/crate{ - name = "Materials Crate" - }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/machinery/light/cold/dim/directional/west, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, +"vsj" = ( /turf/open/floor/iron/dark/small, -/area/station/engineering/storage_shared) -"vsi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/commons/fitness/recreation) +/area/station/command/heads_quarters/rd) "vso" = ( /obj/effect/landmark/start/scientist, /obj/structure/chair{ @@ -62873,16 +63184,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vsJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/augments) "vsQ" = ( /obj/machinery/light_switch/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -62891,6 +63192,15 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) +"vsR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/gulag_item_reclaimer{ + pixel_y = 24 + }, +/turf/open/floor/iron/dark, +/area/station/security/processing) "vsW" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/box/red/corners{ @@ -62901,10 +63211,14 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"vtr" = ( -/obj/machinery/light/floor, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"vtd" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/light/warm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "vtA" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -62934,26 +63248,11 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"vtX" = ( -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"vud" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/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/engineering/main) -"vuj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/fuel_pellet, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) +"vtW" = ( +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "vum" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/north, @@ -62962,16 +63261,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"vun" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/requests_console/auto_name/directional/west, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/stone, -/area/station/service/bar) "vuq" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -63002,18 +63291,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) -"vuD" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "vuH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc/auto_name/directional/west, @@ -63021,18 +63298,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/cargo/miningfoundry) -"vuJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "vuR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63050,14 +63315,12 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/paramedic) -"vuV" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Distro to Waste" - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +"vuU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/hallway/primary/central/aft) "vva" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/public/glass{ @@ -63072,40 +63335,10 @@ /obj/item/clothing/shoes/cowboy/lizard/masterwork, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) -"vvd" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/effect/spawner/random/bedsheet{ - dir = 4 - }, -/obj/machinery/button/door/directional/south{ - id = "Cabin4"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/turf/open/floor/carpet, -/area/station/commons/dorms) -"vve" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Aft Corridor" - }, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/aft) "vvs" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"vvw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "vvz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -63114,16 +63347,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"vvC" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engine Airlock" +"vvJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/obj/structure/cable, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) +/obj/machinery/restaurant_portal/bar, +/turf/open/floor/wood/tile, +/area/station/service/bar) "vvK" = ( /obj/structure/table, /obj/effect/turf_decal/tile/green/fourcorners, @@ -63138,18 +63368,12 @@ "vvP" = ( /turf/open/floor/iron/white/small, /area/station/maintenance/port/aft) -"vvW" = ( -/obj/structure/hoop{ - dir = 8; - pixel_x = 10; - pixel_y = 11 - }, -/obj/effect/turf_decal/trimline/white/end{ +"vvX" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ dir = 8 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/station/commons/fitness/recreation) +/turf/open/floor/iron, +/area/station/engineering/atmos) "vwc" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; @@ -63177,6 +63401,15 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/small, /area/station/maintenance/department/medical/central) +"vwt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/service/chapel) "vwx" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -63227,30 +63460,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/security/office) -"vwW" = ( -/obj/machinery/chem_master/condimaster, -/obj/effect/turf_decal/siding/end{ - dir = 1 +"vwT" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding{ + dir = 8 }, /turf/open/floor/iron/dark/textured_large, /area/station/service/kitchen) -"vwZ" = ( -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/newscaster/directional/west, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "vxm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -63269,21 +63485,13 @@ "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) +"vxO" = ( +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/smooth, +/area/station/service/library) "vxX" = ( /obj/effect/spawner/random/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63291,6 +63499,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"vye" = ( +/obj/machinery/griddle, +/obj/effect/turf_decal/siding{ + dir = 6 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "vyi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63302,14 +63517,22 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/hidden, /turf/open/floor/wood/tile, /area/station/tcommsat/server) -"vym" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/office/light{ - dir = 1 +"vyn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) +"vyq" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/structure/chair{ + dir = 4 }, -/obj/effect/landmark/start/geneticist, -/turf/open/floor/iron/dark, -/area/station/science/genetics) +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "vyF" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/sofa/bench/left{ @@ -63321,16 +63544,34 @@ }, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"vyP" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 +"vyI" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/arrows/white{ + color = "#0000FF"; + pixel_y = 15 }, -/obj/structure/closet/secure_closet/hydroponics, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "vyR" = ( /turf/open/floor/glass, /area/station/command/corporate_dock) +"vyS" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" + }, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) +"vyT" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "vyU" = ( /obj/machinery/vending/cigarette, /obj/machinery/light/small/directional/north, @@ -63352,12 +63593,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"vzh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/toilet/auxiliary) "vzt" = ( /obj/structure/hedge, /obj/machinery/light/cold/directional/east, @@ -63383,17 +63618,6 @@ /obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"vzE" = ( -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/sparsegrass, -/obj/structure/flora/bush/flowers_br, -/obj/structure/flora/bush/flowers_pp, -/obj/structure/flora/bush/large/style_random{ - pixel_y = -1 - }, -/turf/open/floor/grass, -/area/station/service/hydroponics) "vzK" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/helium_output{ @@ -63402,14 +63626,14 @@ }, /turf/open/floor/engine/helium, /area/station/ai_monitored/turret_protected/ai) -"vzN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/research/glass{ - name = "Cytology Lab" +"vzS" = ( +/obj/machinery/button/door/directional/north{ + id = "Cabin4"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/science/research, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/research) +/turf/closed/wall, +/area/station/service/abandoned_gambling_den) "vzV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63437,14 +63661,39 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/tram) -"vAl" = ( +"vAf" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "atmospherics - project room" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) +"vAk" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table/wood, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating{ dir = 4 }, /turf/open/floor/wood, -/area/station/cargo/boutique) +/area/station/engineering/atmos/office) +"vAp" = ( +/obj/structure/table, +/obj/machinery/camera/directional/east{ + c_tag = "atmospherics - HFR" + }, +/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "vAq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63510,6 +63759,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_half, /area/station/science/lobby) +"vBn" = ( +/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/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "vBG" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -63518,33 +63776,49 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"vBH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "vBK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/office) -"vCc" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Lockers" +"vBN" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/commons/fitness/locker_room) -"vCe" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/research) -"vCi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 9 +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) +"vBU" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/corner, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"vCe" = ( /obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central/aft) +/area/station/science/research) "vCl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63559,27 +63833,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"vCp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor, -/area/station/engineering/atmos/office) -"vCq" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) -"vCs" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "vCO" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, @@ -63593,20 +63846,12 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) -"vCZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"vDe" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"vDf" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +/area/station/holodeck/rec_center) "vDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63622,22 +63867,18 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"vDG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) "vDQ" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/lockers) "vDS" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/turf/open/floor/iron/small, -/area/station/engineering/break_room) +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "vDV" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/cmo) @@ -63656,22 +63897,6 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"vEk" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"vEn" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/dock) "vEz" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -63693,28 +63918,9 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"vEL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "vEP" = ( /turf/closed/wall/r_wall, /area/station/security/brig) -"vET" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "vEW" = ( /turf/closed/wall/r_wall, /area/station/security/prison/shower) @@ -63798,17 +64004,11 @@ /obj/item/storage/lockbox/loyalty, /turf/open/floor/iron, /area/station/security/tram) -"vGe" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/clown, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) +"vGa" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/wood, +/area/station/commons/fitness/recreation) "vGp" = ( /obj/structure/table/wood, /obj/machinery/light/small/red/dim/directional/south, @@ -63829,16 +64029,6 @@ dir = 10 }, /area/station/hallway/secondary/construction) -"vGS" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - Central Aft" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "vGU" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -63854,6 +64044,17 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) +"vHm" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) +"vHr" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "vHu" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -63866,6 +64067,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vHG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/bartender, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "vHH" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/siding/thinplating_new{ @@ -63876,6 +64086,13 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"vHS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "vHT" = ( /obj/effect/turf_decal/box/red/corners{ dir = 8 @@ -63886,15 +64103,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/any/engineering/general, -/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{ @@ -63902,22 +64110,18 @@ }, /turf/open/floor/wood, /area/station/service/chapel/office) -"vHX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/engineering/atmos/office) "vId" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner, /area/station/science/lower) +"vIj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/station/service/chapel) "vIt" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -63927,20 +64131,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"vIz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"vIC" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "vIJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -63952,6 +64142,11 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) +"vIM" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "vIX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63989,18 +64184,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/service/chapel/office) -"vJB" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"vJG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "vJH" = ( /turf/open/floor/plating, /area/station/maintenance/port/aft) @@ -64025,6 +64208,18 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"vJP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) "vJR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64035,7 +64230,9 @@ name = "Medbay" }, /obj/effect/turf_decal/delivery/red, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/unres{ dir = 8 }, @@ -64090,6 +64287,12 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) +"vKL" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ + dir = 1 + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "vKU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64150,6 +64353,14 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"vLl" = ( +/obj/machinery/camera/directional/south, +/obj/structure/flora/bush/flowers_pp/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "vLs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/east, @@ -64158,6 +64369,13 @@ "vLv" = ( /turf/open/floor/circuit/telecomms/mainframe, /area/station/science/xenobiology) +"vLA" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "vLC" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -64177,18 +64395,22 @@ /obj/item/gavelhammer, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"vLH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"vLK" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research{ - name = "Augment Corridor" +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/science/robotics, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/augments) +/turf/open/floor/grass, +/area/station/service/chapel) +"vLL" = ( +/obj/machinery/button/crematorium{ + id = "cremateme"; + pixel_y = -30 + }, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "vLP" = ( /turf/closed/wall/rust, /area/station/command/heads_quarters/qm) @@ -64207,20 +64429,19 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) -"vLX" = ( -/obj/effect/turf_decal/box/white, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) "vMr" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) "vMs" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/public/glass{ - name = "Arrivals" + name = "Arrivals"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 8 @@ -64230,6 +64451,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"vMw" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vMC" = ( /turf/closed/wall/r_wall, /area/station/science/lab) @@ -64242,12 +64474,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vMI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "vMJ" = ( /obj/structure/disposalpipe/sorting/mail, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64261,14 +64487,6 @@ dir = 1 }, /area/station/hallway/primary/aft) -"vMP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "vMT" = ( /obj/machinery/hydroponics/soil, /obj/item/food/grown/mushroom/libertycap, @@ -64282,14 +64500,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) -"vNq" = ( -/obj/machinery/washing_machine, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron/white/corner, -/area/station/commons/dorms) "vNt" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_x = -32; @@ -64313,46 +64523,33 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"vNM" = ( -/obj/machinery/door/airlock{ - name = "Hydroponics Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +"vNG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured_half{ - dir = 8 +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 }, -/area/station/service/hydroponics) +/turf/open/floor/iron, +/area/station/commons/storage/tools) "vNO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, /obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"vOf" = ( -/obj/structure/cable, -/obj/structure/chair{ - dir = 1; - pixel_y = -2 - }, -/obj/machinery/firealarm/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, -/area/station/science/lower) -"vOg" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) -"vOm" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/tools) +/area/station/engineering/storage/tech) +"vNP" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/main) "vOr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64373,6 +64570,14 @@ dir = 8 }, /area/station/engineering/main) +"vOV" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + pixel_y = -2 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "vPa" = ( /obj/effect/turf_decal/siding{ dir = 5 @@ -64390,6 +64595,24 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/science/genetics) +"vPn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) +"vPp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/maintenance/solars/port/aft) "vPs" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64399,19 +64622,6 @@ /obj/structure/sign/departments/medbay/alt/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"vPw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/recreation) "vPJ" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/structure/alien/weeds, @@ -64451,38 +64661,45 @@ /turf/open/misc/sandy_dirt, /area/station/maintenance/port/lesser) "vQu" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AI Core shutters"; + name = "AI Core Shutter" + }, +/turf/open/floor/iron/stairs, +/area/station/ai_monitored/turret_protected/ai) "vQv" = ( /obj/structure/window/spawner/directional/west, /obj/structure/flora/bush/large/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"vQx" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 +"vQF" = ( +/turf/open/floor/iron/small, +/area/station/maintenance/port/lesser) +"vQW" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/mob/living/basic/spider/giant/sgt_araneus, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) +"vRb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vRd" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, /obj/item/flashlight/lamp, /turf/open/floor/iron, /area/station/security/tram) -"vRg" = ( -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen/research/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat_interior) "vRh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64490,11 +64707,11 @@ dir = 1 }, /area/station/science/research) -"vRn" = ( +"vRr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/maintenance/port/greater) +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "vRt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64506,17 +64723,34 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"vRQ" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 6; + pixel_y = 15 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = -5; + pixel_y = 15 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = -7; + pixel_y = 9 + }, +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) +"vRU" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plating, +/area/station/maintenance/fore/greater) "vSg" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) -"vSi" = ( -/obj/structure/hedge, -/obj/effect/turf_decal/siding/wood/end, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/service/library) "vSj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -64525,18 +64759,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"vSt" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/wood, -/area/station/engineering/atmos/pumproom) -"vSw" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "vSx" = ( /obj/structure/table/reinforced, /obj/item/kitchen/fork/plastic, @@ -64545,23 +64767,28 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"vSI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"vSK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light/cold/directional/east, +/obj/machinery/power/apc/auto_name/directional/east{ + areastring = "/area/station/science/ordnance/burnchamber" + }, /obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/service/bar) +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "vSL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +/obj/structure/sign/departments/medbay/alt/directional/east, +/turf/open/floor/iron/white, +/area/station/hallway/primary/starboard) +"vSM" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/directions/vault/directional/east{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "vSW" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -64573,6 +64800,16 @@ }, /turf/open/floor/iron, /area/station/commons/storage/art) +"vTa" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "vTf" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 9 @@ -64583,23 +64820,6 @@ /obj/machinery/air_sensor/ordnance_freezer_chamber, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) -"vTg" = ( -/obj/structure/table/reinforced, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/obj/item/storage/pill_bottle/potassiodide{ - pixel_y = 12; - pixel_x = -6 - }, -/obj/item/pen/screwdriver, -/obj/item/radio/intercom/directional/west, -/obj/item/geiger_counter{ - pixel_x = 7; - pixel_y = 14 - }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/storage/gas) "vTj" = ( /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, @@ -64609,17 +64829,8 @@ /obj/structure/table, /obj/effect/spawner/random/food_or_drink/condiment, /obj/machinery/light/small/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/science/breakroom) -"vTn" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_yw/style_2, -/obj/structure/flora/bush/large/style_random{ - pixel_x = 0; - pixel_y = 2 - }, -/turf/open/floor/grass, -/area/station/service/chapel) +/turf/open/floor/iron/cafeteria, +/area/station/science/breakroom) "vTo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64668,14 +64879,27 @@ }, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"vTP" = ( -/obj/structure/sink/kitchen/directional/east, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/kitchen/small, -/area/station/service/kitchen) +"vTQ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vTV" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) +"vTX" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/science/lower) "vTY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/window/left/directional/east{ @@ -64696,6 +64920,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"vUn" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) "vUz" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/glass, @@ -64736,31 +64976,31 @@ }, /turf/open/floor/iron/white/small, /area/station/security/prison/safe) -"vUS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 +"vVa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/service/chapel) -"vUV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/machinery/button/door/directional/east{ + id = "Secure Storage top"; + name = "Secure engineering storage"; + req_access = list("engine_equip") }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/stone, -/area/station/service/chapel) +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "vVo" = ( /obj/machinery/light/cold/directional/south, /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/machinery/airalarm/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"vVq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vVx" = ( /obj/machinery/hydroponics/soil, /obj/item/food/grown/mushroom/plumphelmet, @@ -64788,6 +65028,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"vVG" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/south, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "vVP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -64810,12 +65064,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"vVV" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "vVX" = ( /obj/structure/cable, /obj/machinery/telecomms/processor/preset_one, @@ -64836,12 +65084,28 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white/corner, /area/station/science/lobby) +"vWg" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/structure/closet{ + anchored = 1; + can_be_unanchored = 1; + name = "Cold protection gear" + }, +/obj/item/clothing/suit/hooded/wintercoat/science, +/obj/item/clothing/suit/hooded/wintercoat/science, +/turf/open/floor/iron/dark/small, +/area/station/science/xenobiology) "vWr" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "permaouter"; - name = "Permabrig Transfer" + name = "Permabrig Transfer"; + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half{ dir = 1 @@ -64852,19 +65116,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) -"vWw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "vWA" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/firealarm/directional/south, @@ -64900,6 +65151,13 @@ /obj/structure/barricade/wooden, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"vWT" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "vWU" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -64912,15 +65170,6 @@ /obj/item/clothing/gloves/boxing/blue, /turf/open/floor/iron, /area/station/security/prison/workout) -"vXd" = ( -/obj/item/flashlight/lantern/on, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/chapel) "vXi" = ( /obj/structure/table, /obj/item/reagent_containers/cup/bowl, @@ -64951,6 +65200,16 @@ dir = 8 }, /area/station/science/lobby) +"vXC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/library, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vXH" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -64967,11 +65226,56 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) +"vXO" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/turf/open/floor/iron, +/area/station/security/tram) +"vXQ" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/machinery/button/door/directional/west{ + id = "Secure Storage below"; + name = "Secure engineering storage"; + pixel_y = 24; + req_access = list("engine_equip") + }, +/turf/open/floor/iron/corner{ + dir = 8 + }, +/area/station/engineering/main) +"vXW" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"vXZ" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/storage) "vYj" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"vYl" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "vYx" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 1 @@ -64985,17 +65289,19 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/security/courtroom) -"vYD" = ( -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/obj/structure/chair/office{ - dir = 4 +"vYA" = ( +/obj/structure/table/wood, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" }, -/obj/item/radio/intercom/directional/north, -/obj/effect/landmark/start/warden, -/turf/open/floor/iron/white/small, -/area/station/security/warden) +/obj/item/stack/cable_coil/five, +/obj/effect/turf_decal/siding/wideplating_new/terracotta, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"vYC" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/hallway/abandoned_command) "vYF" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 8 @@ -65007,6 +65313,11 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"vYG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/broken_flooring/singular/directional/south, +/turf/open/floor/iron, +/area/station/maintenance/starboard/aft) "vYH" = ( /obj/structure/table, /obj/effect/turf_decal/siding/thinplating_new{ @@ -65045,13 +65356,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/misc/asteroid, /area/station/maintenance/hallway/abandoned_command) -"vYU" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/paramedic) "vZb" = ( /obj/structure/cable, /obj/structure/table, @@ -65061,41 +65365,42 @@ /turf/open/floor/iron, /area/station/security/prison/garden) "vZd" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/supermatter) +"vZh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "vZm" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/processing) -"vZu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/mapping_helpers/apc/cell_10k, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "vZD" = ( /obj/structure/table, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/courtroom) -"vZK" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/machinery/reagentgrinder{ - pixel_y = 14; - pixel_x = -13 +"vZL" = ( +/obj/machinery/holopad, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 }, -/obj/item/reagent_containers/cup/rag{ - pixel_x = 7; - pixel_y = 7 +/area/station/science/xenobiology) +"vZQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 }, -/turf/open/floor/stone, -/area/station/service/abandoned_gambling_den) +/turf/open/floor/iron, +/area/station/engineering/atmos) "vZW" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -65130,26 +65435,26 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"waD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"waz" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/central/greater) +"waB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/hallway/primary/central/aft) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/station/hallway/secondary/dock) "waH" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 5 }, /obj/effect/turf_decal/tile/yellow, /obj/structure/cable, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"waI" = ( -/obj/machinery/vending/games, -/turf/open/floor/wood/parquet, -/area/station/service/library) "waN" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -65168,25 +65473,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"waY" = ( -/obj/effect/turf_decal/weather/snow, -/obj/machinery/gibber, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"wbd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/effect/landmark/start/security_officer, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "wbf" = ( /turf/closed/wall, /area/station/security/prison/safe) @@ -65256,38 +65542,43 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"wcz" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"wcF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "wcG" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) +"wcJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) +"wcN" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "wcP" = ( /obj/machinery/modular_computer/preset/cargochat/cargo, /turf/open/floor/iron, /area/station/cargo/sorting) -"wcR" = ( -/obj/structure/chair{ - pixel_y = -2 +"wcS" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7"; + pixel_y = -15 }, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/airalarm/directional/north, -/obj/effect/landmark/start/hangover, /turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/area/station/hallway/primary/central/aft) "wcV" = ( /obj/structure/closet/crate, /obj/item/food/breadslice/plain, @@ -65300,20 +65591,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"wcY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/button/door/directional/west{ - id = "engsm"; - name = "Radiation Shutters Control"; - req_access = list("engineering") - }, -/obj/structure/cable, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "wdd" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65333,12 +65610,47 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"wdr" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet/lone, +/area/station/service/abandoned_gambling_den) +"wdt" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat_interior) "wdB" = ( /obj/structure/railing{ dir = 4 }, /turf/open/space/basic, /area/space/nearstation) +"wdL" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) +"wdO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "wdS" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 4 @@ -65346,6 +65658,13 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/circuit, /area/station/tcommsat/server) +"wdX" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold/orange{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "wdY" = ( /obj/effect/spawner/random/structure/table, /turf/open/floor/plating, @@ -65359,21 +65678,51 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"wed" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/research{ - name = "Augment Corridor" +"wef" = ( +/obj/effect/turf_decal/siding/thinplating/terracotta{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/science/robotics, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/augments) +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) +"wei" = ( +/obj/structure/table, +/obj/item/clothing/under/suit/black_really, +/obj/item/clothing/accessory/waistcoat, +/obj/item/clothing/suit/toggle/lawyer/black, +/obj/item/clothing/under/suit/red, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/under/costume/buttondown/slacks/service, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms) "wen" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/aisat/maint) +"wep" = ( +/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/engineering/gravity_generator) +"wet" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"wex" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "weA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -65386,10 +65735,10 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/small, /area/station/engineering/lobby) -"weY" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"weW" = ( +/obj/effect/landmark/start/scientist, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "wfa" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -65416,24 +65765,11 @@ "wfr" = ( /turf/closed/wall/r_wall, /area/station/medical/pharmacy) -"wfB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) -"wfG" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"wgj" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +"wgm" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "wgn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, @@ -65484,14 +65820,6 @@ /obj/item/reagent_containers/cup/glass/bottle/beer, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"wgI" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/commons/vacant_room/commissary) "wgL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/central) @@ -65500,18 +65828,30 @@ /obj/effect/turf_decal/weather, /turf/open/floor/plating, /area/station/service/chapel/office) -"wha" = ( -/obj/effect/turf_decal/siding/wood{ +"wgN" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/stone, -/area/station/service/chapel) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "whc" = ( /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"whk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "whl" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/stripes/line{ @@ -65519,24 +65859,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"whm" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Pure to Fuel Pipe" - }, -/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/engineering/atmos) -"whn" = ( -/obj/structure/cable, -/obj/machinery/light/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering Supermatter Emitters" - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "whu" = ( /obj/structure/cable, /obj/machinery/blackbox_recorder, @@ -65546,9 +65868,12 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/maintenance_hatch{ - name = "Construction Hatch" + name = "Construction Hatch"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -65556,28 +65881,44 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"whD" = ( -/obj/machinery/research/anomaly_refinery, -/turf/open/floor/iron/white/small, -/area/station/science/ordnance/storage) +"whE" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) "whF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "rdordnance"; - name = "Ordnance Lab Shutters" - }, -/turf/open/floor/plating, -/area/station/science/ordnance) -"whK" = ( -/obj/structure/closet/radiation, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/light/small/directional/east, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/break_room) +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "rdordnance"; + name = "Ordnance Lab Shutters" + }, +/turf/open/floor/plating, +/area/station/science/ordnance) +"whG" = ( +/obj/machinery/door/airlock/atmos/glass{ + name = "Distro Access" + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "whL" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -65587,6 +65928,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) +"whS" = ( +/obj/machinery/light/warm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "whX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock{ @@ -65596,20 +65942,47 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"whZ" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical, -/obj/effect/turf_decal/stripes/line{ +"wib" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"wif" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/orange{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) "win" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall/r_wall, /area/station/security/brig/entrance) +"wiv" = ( +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"wiz" = ( +/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/research/glass{ + name = "Cubicle" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/cubicle) "wiC" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -65637,33 +66010,29 @@ "wja" = ( /turf/closed/wall/r_wall, /area/station/commons/toilet/auxiliary) -"wjq" = ( -/obj/structure/sign/painting/large/library{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "wjr" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"wjw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) "wjG" = ( /obj/structure/filingcabinet, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) -"wjR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 +"wjI" = ( +/obj/machinery/door/airlock{ + id_tag = "Cabin2"; + name = "Cabin 2" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/carpet/purple, +/area/station/commons/dorms) +"wjU" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "wjZ" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -65684,71 +66053,80 @@ }, /turf/open/floor/wood/tile, /area/station/command/bridge) -"wkj" = ( -/obj/structure/table, -/obj/machinery/camera/directional/east{ - c_tag = "atmospherics - HFR" - }, -/obj/item/stack/rods/fifty, -/obj/item/stack/rods/fifty, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +"wkr" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) "wkF" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/hallway/secondary/recreation) -"wkG" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 +"wkJ" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/binary/volume_pump, +/obj/structure/railing{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"wkK" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) +"wkQ" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/floor/wood/parquet, +/area/station/service/library) "wla" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) +"wle" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) "wlk" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, /turf/open/floor/engine, /area/station/science/xenobiology) -"wme" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/aft) -"wmq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"wlA" = ( +/obj/structure/cable, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/workout) +"wlE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) -"wmu" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner{ +/obj/structure/sign/departments/holy/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"wlM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"wlW" = ( +/obj/effect/spawner/structure/window, +/obj/effect/turf_decal/bot{ dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/meeting_room) +/turf/open/floor/plating, +/area/station/engineering/main) +"wme" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/aft) "wmx" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -65786,9 +66164,15 @@ /obj/machinery/holopad, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"wmL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, -/turf/open/floor/iron, +"wmI" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, /area/station/engineering/atmos) "wmS" = ( /obj/structure/cable, @@ -65804,27 +66188,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"wmX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/plaque{ - icon_state = "L4"; - pixel_y = -15 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "wnd" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/office) +"wnv" = ( +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "wnw" = ( /obj/machinery/pdapainter/engineering, /obj/effect/turf_decal/bot, @@ -65846,13 +66217,6 @@ }, /turf/open/floor/mineral/titanium, /area/station/command/heads_quarters/ce) -"wny" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/small/broken/directional/north, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "wnE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65881,24 +66245,19 @@ "woi" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) +"woo" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/broken_flooring/singular/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "wos" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/server) -"woz" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/spawner/random/entertainment/arcade{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/eighties/red, -/area/station/hallway/primary/central/fore) "woD" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -65913,26 +66272,21 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"woF" = ( +/obj/effect/turf_decal/trimline/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/white/mid_joiner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/fitness/recreation) "woI" = ( /obj/structure/rack, /obj/item/crowbar/large/old, /obj/item/wrench, /turf/open/floor/catwalk_floor, /area/station/science/xenobiology) -"woK" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "woP" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -65957,11 +66311,6 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"wpr" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/closet/firecloset, -/turf/open/floor/iron, -/area/station/security/tram) "wpw" = ( /obj/structure/cable, /obj/item/kirbyplants/random, @@ -65975,6 +66324,11 @@ "wpO" = ( /turf/closed/wall/r_wall, /area/station/security/processing) +"wpS" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "wqb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65991,35 +66345,20 @@ "wqj" = ( /turf/closed/wall, /area/station/commons/toilet/restrooms) -"wqz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "wqD" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"wqI" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "wqM" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"wqP" = ( +/turf/closed/wall/r_wall/rust, +/area/station/maintenance/department/electrical) "wqW" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 1 @@ -66039,41 +66378,22 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"wrj" = ( +"wrt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/trash, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"wrk" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/textured_half, /area/station/security/brig/entrance) -"wrw" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"wrx" = ( -/obj/machinery/button/door/directional/north{ - name = "Lock Control"; - id = "Toilet3"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/recharge_station, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/white/small, -/area/station/commons/toilet/restrooms) "wrD" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -66082,16 +66402,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"wrF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/end{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +"wrH" = ( +/obj/effect/turf_decal/siding, +/turf/open/floor/iron/white/small, +/area/station/science/lab) "wrO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -66104,32 +66418,15 @@ }, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"wrS" = ( -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/sign/poster/contraband/random/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/abandoned_gambling_den) "wrW" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/security{ dir = 8 }, -/obj/machinery/camera/directional/east, /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"wrZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "wsa" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -66151,6 +66448,20 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"wsp" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "BrewMaster 2199" + }, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wsB" = ( /obj/structure/rack, /obj/effect/spawner/random/engineering/toolbox, @@ -66166,13 +66477,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) +"wsJ" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Canister Storage" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/start/atmospheric_technician, +/obj/structure/chair/plastic, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "wsL" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/siding/wideplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/corner, +/turf/open/floor/wood, +/area/station/engineering/main) "wsR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -66227,35 +66550,6 @@ "wtt" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai_upload) -"wtu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/highsecurity{ - name = "AI Upload" - }, -/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, -/turf/open/floor/iron/dark/textured_half, -/area/station/ai_monitored/turret_protected/ai_upload) -"wtv" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"wtw" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "wtx" = ( /obj/structure/cannon{ dir = 4 @@ -66271,25 +66565,24 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"wtC" = ( +/obj/structure/flora/rock/pile/jungle/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "wtG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/red/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"wtJ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, +"wtL" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/commons/fitness/locker_room) "wtT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66298,6 +66591,16 @@ dir = 4 }, /area/station/science/lobby) +"wtV" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "wtX" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/customs/auxiliary) @@ -66311,6 +66614,16 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/aft) +"wuh" = ( +/obj/structure/closet{ + name = "Paramedic Supplies" + }, +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/paramedic) "wuj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66333,15 +66646,6 @@ dir = 8 }, /area/station/science/lobby) -"wup" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wuq" = ( /obj/structure/table, /obj/effect/spawner/random/techstorage/rnd_secure_all, @@ -66355,6 +66659,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/command/gateway) +"wuC" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wuH" = ( /obj/structure/broken_flooring/singular/directional/south, /obj/effect/landmark/generic_maintenance_landmark, @@ -66375,26 +66688,16 @@ "wuM" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) -"wuY" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/machinery/light/floor, -/turf/open/floor/stone, -/area/station/service/bar) "wvk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/extinguisher_cabinet/directional/east, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron, +/area/station/hallway/primary/port) "wvv" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -66413,12 +66716,29 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"wvZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"wwf" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"wwg" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Distro Staging to Waste" + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "wwk" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 8 @@ -66434,18 +66754,6 @@ dir = 1 }, /area/station/security/execution/transfer) -"wwv" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wwz" = ( /obj/structure/cable, /obj/machinery/computer/mech_bay_power_console{ @@ -66464,16 +66772,13 @@ dir = 1 }, /area/station/science/lower) -"wwJ" = ( -/obj/structure/disposalpipe/segment{ +"wwL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/station/cargo/sorting) +/area/station/hallway/primary/central/aft) "wwQ" = ( /obj/structure/chair/office{ dir = 4 @@ -66499,10 +66804,18 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/fore) +"wxn" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "wxu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/maintenance/starboard/central) +"wxv" = ( +/obj/machinery/light/floor, +/turf/open/floor/wood/parquet, +/area/station/service/library) "wxG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/dim/directional/north, @@ -66534,7 +66847,9 @@ /turf/open/floor/iron/white/small, /area/station/science/lab) "wxW" = ( -/obj/machinery/door/airlock/external/glass, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/port/fore) @@ -66550,28 +66865,12 @@ dir = 1 }, /area/station/science/xenobiology) -"wya" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/chem_dispenser, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/pharmacy) "wyb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_red, /turf/open/floor/iron, /area/station/security/prison) -"wyg" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "wyj" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -66582,6 +66881,10 @@ /obj/effect/spawner/random/decoration/flower, /turf/open/floor/wood, /area/station/service/chapel/office) +"wyr" = ( +/obj/machinery/light/small/directional/north, +/turf/open/misc/dirt/station, +/area/station/service/chapel) "wyy" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/scan_consolenew{ @@ -66594,9 +66897,19 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/iron/dark, /area/station/science/genetics) +"wyG" = ( +/obj/structure/cable, +/obj/machinery/button/door/directional/south{ + id = "secbreach"; + name = "Emergency Breach Shutters"; + req_access = list("security") + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "wyH" = ( /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66623,12 +66936,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/office) -"wyM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 8 +"wzc" = ( +/obj/effect/turf_decal/bot{ + dir = 1 }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "wzo" = ( /obj/machinery/light/small/directional/north, /obj/effect/landmark/start/cargo_technician, @@ -66657,16 +66971,22 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) +"wzP" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "wzS" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) -"wAa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) "wAb" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/donkpockets, @@ -66695,6 +67015,42 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) +"wAC" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) +"wAG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"wAH" = ( +/obj/structure/table/wood, +/obj/item/flashlight/flare/candle{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/flashlight/flare/candle{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/flashlight/flare/candle{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/lighter{ + pixel_x = 4 + }, +/turf/open/floor/carpet/purple, +/area/station/commons/dorms) "wAS" = ( /obj/structure/table/wood, /obj/item/hand_labeler, @@ -66708,13 +67064,6 @@ "wBa" = ( /turf/open/floor/iron/dark/smooth_corner, /area/station/maintenance/starboard/greater) -"wBc" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "wBf" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating/rust, @@ -66737,6 +67086,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/port) +"wBn" = ( +/obj/structure/table, +/obj/item/clothing/head/utility/chefhat, +/turf/open/floor/iron/dark/small, +/area/station/commons/fitness/locker_room) "wBo" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) @@ -66748,13 +67102,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wBy" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Pure to Ports" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wBI" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -66777,6 +67124,13 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) +"wCh" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "wCt" = ( /obj/machinery/flasher/directional/east{ id = "hopflash" @@ -66832,18 +67186,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"wCM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "wCR" = ( /turf/closed/wall, /area/station/cargo/boutique) @@ -66854,13 +67196,28 @@ "wCY" = ( /turf/closed/wall, /area/station/command/heads_quarters/cmo) -"wDn" = ( -/obj/effect/turf_decal/stripes/white/line{ +"wCZ" = ( +/obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/machinery/shower/directional/east, -/turf/open/floor/iron/dark/small, -/area/station/engineering/break_room) +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"wDd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer4, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wDo" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -66886,25 +67243,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wEs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"wEo" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"wEv" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) +/obj/structure/table, +/obj/item/stack/spacecash/c1, +/obj/item/cigarette/cigar/havana, +/turf/open/floor/light/colour_cycle/dancefloor_b, +/area/station/maintenance/starboard/central) "wEC" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -66914,12 +67259,6 @@ dir = 1 }, /area/station/science/lower) -"wEF" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/north, -/obj/item/clothing/head/costume/rice_hat, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) "wEG" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron/dark, @@ -66929,36 +67268,30 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"wET" = ( +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wEW" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wFa" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) -"wFd" = ( -/obj/structure/disposalpipe/segment, +"wFc" = ( +/obj/structure/chair/stool/directional/north, /turf/open/floor/iron/smooth, -/area/station/service/library) -"wFe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"wFq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating/rust, -/area/station/maintenance/fore/greater) +/area/station/maintenance/solars/starboard/fore) "wFz" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/table, @@ -66966,12 +67299,6 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"wFK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wFQ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -66983,17 +67310,12 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"wFY" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 +"wFX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/structure/flora/bush/jungle/c/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"wFZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) +/turf/open/floor/iron/dark/small, +/area/station/tcommsat/server) "wGh" = ( /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, @@ -67014,18 +67336,23 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/security/courtroom) -"wGx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 1 +"wGv" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Security Maintenance" }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "wGz" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 4 }, @@ -67046,25 +67373,20 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"wGT" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "N2 to Pure" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"wGU" = ( -/obj/structure/table, -/obj/effect/spawner/random/techstorage/ai_all, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/storage/tech) "wHg" = ( /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"wHG" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/rock/pile/style_2{ + pixel_x = -1; + pixel_y = -3 + }, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/turf/open/misc/sandy_dirt, +/area/station/commons/fitness/recreation/entertainment) "wHN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67073,34 +67395,34 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"wHO" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/vending/autodrobe, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/greenroom) "wHP" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"wHS" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wIc" = ( /obj/structure/window/spawner/directional/west, /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) +"wIg" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"wIj" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wIm" = ( /obj/machinery/door/airlock/hatch{ name = "Centcom Dock" @@ -67109,20 +67431,18 @@ /obj/effect/mapping_helpers/airlock/access/any/admin/general, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"wIn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "wIp" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) -"wIG" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Engineering Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/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/engineering/supermatter/room) "wIY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67140,19 +67460,15 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/department/science/xenobiology) -"wJv" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ - pixel_y = 10 - }, -/turf/open/floor/iron/dark/diagonal, -/area/station/service/bar) "wJx" = ( /turf/closed/wall/r_wall, /area/station/security/courtroom) +"wJA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "wJD" = ( /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -67174,6 +67490,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/security/processing) "wJL" = ( @@ -67183,17 +67500,10 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"wJT" = ( -/obj/structure/flora/bush/flowers_pp/style_2, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "wJX" = ( -/obj/structure/closet/secure_closet/personal, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "wJY" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 4 @@ -67225,12 +67535,8 @@ pixel_y = 8 }, /obj/item/ai_module/supplied/freeform, -/obj/machinery/flasher/directional/north, /obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - name = "Private Channel"; - pixel_x = -26 + pixel_x = 16 }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) @@ -67240,45 +67546,51 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) -"wKn" = ( -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +"wKp" = ( +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/stairs/right{ + dir = 4 + }, +/area/station/hallway/secondary/recreation) "wKr" = ( /obj/structure/bookcase/random, /turf/open/floor/wood/parquet, /area/station/service/library) +"wKu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wKz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"wKF" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "wKG" = ( /obj/structure/alien/resin/wall, /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"wKH" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/rack, -/turf/open/floor/plating, -/area/station/service/bar) -"wKO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/directional/east, -/turf/open/floor/iron/stairs/right, -/area/station/hallway/secondary/recreation) -"wKR" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) "wLd" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) +"wLe" = ( +/obj/effect/spawner/random/structure/crate_loot, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "wLm" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/any/security/general, @@ -67288,18 +67600,14 @@ /obj/effect/mapping_helpers/airlock/access/any/security/court, /turf/open/floor/plating, /area/station/security/courtroom) -"wLo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"wLw" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 +"wLG" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/siding/green{ + dir = 10 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/structure/table, +/turf/open/floor/iron/cafeteria, +/area/station/science/circuits) "wLM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -67311,12 +67619,21 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"wLU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, +"wLT" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Gas"; + dir = 8 + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"wLY" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "wLZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/decal/cleanable/dirt, @@ -67330,13 +67647,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/library) -"wMz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"wMj" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "wMA" = ( /obj/machinery/camera/directional/west, /obj/structure/bookcase/random/religion, @@ -67354,17 +67669,18 @@ /obj/effect/spawner/round_default_module, /obj/machinery/flasher/directional/east, /obj/item/radio/intercom/directional/north{ - pixel_x = 27 + pixel_x = -16 }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"wMG" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"wMF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/area/station/hallway/primary/port) "wMH" = ( /turf/closed/wall, /area/station/science/xenobiology) @@ -67373,10 +67689,6 @@ dir = 1 }, /area/station/science/lower) -"wMN" = ( -/obj/effect/turf_decal/siding, -/turf/open/floor/iron/white/small, -/area/station/science/lab) "wMO" = ( /turf/closed/wall/r_wall, /area/station/science/server) @@ -67416,9 +67728,9 @@ }, /area/station/science/lobby) "wNd" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/obj/structure/cable, +/turf/open/floor/iron/kitchen/small, +/area/station/security/prison/mess) "wNg" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -67426,18 +67738,13 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"wNs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ +"wNu" = ( +/obj/effect/turf_decal/arrows/white, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "wNv" = ( /obj/effect/landmark/navigate_destination/bridge, /turf/open/floor/iron/smooth_half, @@ -67450,11 +67757,6 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"wND" = ( -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) "wNK" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, @@ -67556,17 +67858,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/genetics) -"wOt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"wOx" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + initialize_directions = 8 }, -/obj/machinery/firealarm/directional/east, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood/corner{ +/obj/effect/turf_decal/siding/wideplating{ dir = 1 }, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/turf/open/floor/wood, +/area/station/engineering/atmos/pumproom) "wOz" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/effect/turf_decal/stripes/line{ @@ -67596,21 +67896,28 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wOS" = ( +"wOW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"wOY" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ dir = 4 }, -/obj/effect/landmark/navigate_destination/disposals, -/turf/open/floor/iron, -/area/station/maintenance/hallway/abandoned_command) -"wOZ" = ( -/obj/effect/decal/cleanable/molten_object, -/obj/effect/landmark/event_spawn, -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "wPd" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) @@ -67641,6 +67948,29 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"wPv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) +"wPI" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can/food/pine_nuts{ + pixel_x = 16; + pixel_y = 6 + }, +/obj/machinery/cell_charger{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -1; + pixel_y = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "wPK" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/office/light{ @@ -67666,16 +67996,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"wPO" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "O2 to Airmix" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green{ - dir = 4 - }, -/obj/machinery/light/no_nightlight/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wPP" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -67696,25 +68016,19 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) -"wPX" = ( +"wPQ" = ( /obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) -"wQc" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/station/service/abandoned_gambling_den) +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"wQf" = ( +/obj/machinery/air_sensor/nitrogen_tank, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "wQi" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 @@ -67736,18 +68050,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"wQn" = ( -/obj/structure/closet{ - name = "Evidence Closet 4" - }, -/turf/open/floor/iron/smooth, -/area/station/security/evidence) -"wQw" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/stone, -/area/station/service/chapel) "wQx" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -67773,17 +68075,28 @@ }, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"wQP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/highsecurity{ - name = "Secure Network Access" +"wQN" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron/white, +/area/station/medical/paramedic) +"wQR" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, -/turf/open/floor/iron/dark/textured_half, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"wQS" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/fore/greater) "wQT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -67792,6 +68105,17 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"wQY" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/mob/living/simple_animal/bot/secbot/beepsky/officer, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security) "wRa" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue{ @@ -67827,14 +68151,21 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_freezer_chamber_input, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) -"wRy" = ( -/obj/machinery/power/smes/engineering, +"wRr" = ( /obj/structure/cable, -/obj/effect/turf_decal/bot{ +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/supermatter/room) +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "wRN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -67845,20 +68176,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"wRO" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "wRP" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics - South" @@ -67887,6 +68204,20 @@ /obj/machinery/smartfridge/organ, /turf/open/floor/plating, /area/station/medical/morgue) +"wSd" = ( +/obj/effect/turf_decal/weather/snow, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/food/meat/bacon, +/obj/item/food/meat/bacon, +/obj/item/food/meat/slab/monkey, +/obj/item/food/meat/slab/monkey, +/obj/item/food/meat/slab/monkey, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "wSf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -67901,12 +68232,21 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/primary/aft) -"wSi" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"wSt" = ( +/obj/effect/turf_decal/stripes/end, +/obj/item/kirbyplants/random/fullysynthetic, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) +"wSy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/cargo/office) +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "wSF" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -67947,6 +68287,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) +"wTf" = ( +/obj/machinery/modular_computer/preset/curator{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/station/service/library) "wTm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67974,6 +68320,16 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/primary/aft) +"wTI" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/effect/turf_decal/siding/red{ + dir = 10 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/small, +/area/station/security/brig) "wTJ" = ( /obj/structure/table, /obj/item/computer_disk{ @@ -68024,30 +68380,12 @@ /obj/structure/curtain/cloth/fancy, /turf/open/floor/iron/grimy, /area/station/cargo/boutique) -"wTU" = ( -/obj/structure/table/glass, -/obj/machinery/fax{ - fax_name = "Chief Medical Officer's Office"; - name = "Chief Medical Officer's Fax Machine"; - pixel_y = 13 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/button/door/directional/south{ - id = "cmoprivacy"; - name = "CMO Privacy Shutters"; - pixel_x = -6; - req_access = list("cmo") - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/button/door/directional/south{ - id = "medlock"; - name = "Medbay Lockdown Control"; - pixel_x = 6; - req_access = list("medical") +"wTR" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/side{ + dir = 4 }, -/obj/machinery/keycard_auth/directional/east, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) +/area/station/science/ordnance/testlab) "wTX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68067,52 +68405,64 @@ }, /turf/open/floor/iron, /area/station/security) -"wUc" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/siding/wood/end{ +"wUx" = ( +/obj/machinery/door/airlock/multi_tile/public{ dir = 4 }, -/turf/open/floor/wood, -/area/station/hallway/primary/central/aft) -"wUS" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/library) +"wUD" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 }, -/obj/machinery/conveyor_switch/oneway{ +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/door/poddoor/shutters{ dir = 4; - id = "garbage"; - name = "trash chute" + id = "vaco"; + name = "Comissary Shutters" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) +"wUK" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/light/small/directional/north, +/obj/machinery/icecream_vat, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "wVg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"wVj" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "wVI" = ( /obj/machinery/biogenerator, /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"wVN" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/general, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"wWm" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "wWs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68121,22 +68471,30 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/medical/coldroom) +"wWu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"wWv" = ( +/obj/structure/cable, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "wWz" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/secondary/construction) -"wWD" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "wWR" = ( /obj/structure/table, /obj/item/clothing/gloves/color/orange, @@ -68148,11 +68506,6 @@ "wWS" = ( /turf/open/floor/iron, /area/station/security/prison) -"wWU" = ( -/obj/structure/cable, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) "wWX" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -68173,16 +68526,14 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"wXe" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/effect/turf_decal/siding/wideplating/dark{ +"wXf" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, -/obj/structure/disposalpipe/segment, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/security/brig/entrance) +/area/station/commons/vacant_room/commissary) "wXg" = ( /obj/structure/disposalpipe/trunk, /obj/structure/window/reinforced/spawner/directional/east, @@ -68207,25 +68558,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/processing) -"wXt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/chapel) "wXC" = ( /obj/effect/turf_decal/siding/red{ dir = 5 }, /turf/open/floor/iron/small, /area/station/security/brig) -"wXL" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Cold Loop to Gas" - }, -/obj/effect/turf_decal/stripes/line{ +"wXN" = ( +/obj/machinery/chem_master/condimaster, +/obj/effect/turf_decal/siding/end{ dir = 1 }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron/dark/textured_large, +/area/station/service/kitchen) "wYa" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -68250,14 +68595,15 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"wYx" = ( +/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) "wYA" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"wYH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "wYK" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/siding/wideplating{ @@ -68265,6 +68611,17 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"wYO" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) +"wYU" = ( +/turf/open/floor/stone, +/area/station/service/abandoned_gambling_den) "wZa" = ( /obj/docking_port/stationary{ dir = 8; @@ -68278,7 +68635,8 @@ /area/space) "wZb" = ( /obj/machinery/door/airlock/external{ - name = "Departure Lounge Airlock" + name = "Departure Lounge Airlock"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -68300,25 +68658,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) -"wZs" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/smart/simple/orange{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) -"wZx" = ( -/obj/machinery/door/airlock/vault{ - name = "Vault" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/herringbone, -/area/station/hallway/primary/central/aft) "wZA" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -68327,20 +68666,25 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"wZD" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = 3 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "wZF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"wZH" = ( +/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/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/office) "wZO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/item/radio/intercom/directional/north, @@ -68356,6 +68700,14 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"xak" = ( +/obj/structure/railing/corner{ + 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/commons/dorms) "xam" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68384,6 +68736,24 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/commons/storage/art) +"xaE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"xaF" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/light/cold/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "xaH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/airalarm/directional/north, @@ -68403,6 +68773,10 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"xaL" = ( +/obj/effect/turf_decal/siding/wood/end, +/turf/open/floor/wood, +/area/station/service/chapel) "xaN" = ( /turf/closed/wall, /area/station/maintenance/starboard/central) @@ -68438,7 +68812,8 @@ }, /obj/machinery/door/poddoor{ id = "miningdoor"; - name = "Mining Shuttle Hangar" + name = "Mining Shuttle Hangar"; + dir = 4 }, /turf/open/floor/plating/airless, /area/station/cargo/miningoffice) @@ -68446,20 +68821,21 @@ /obj/structure/cable, /turf/open/floor/grass, /area/station/science/xenobiology) +"xbf" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "xbg" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) "xbl" = ( /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/gateway) -"xbo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xbs" = ( /obj/machinery/light_switch/directional/north, /obj/effect/decal/cleanable/dirt, @@ -68485,6 +68861,14 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) +"xbU" = ( +/obj/structure/table, +/obj/item/circuitboard/machine/coffeemaker/impressa, +/obj/item/coffee_cartridge/decaf{ + pixel_y = 9 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "xbV" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/floor, @@ -68514,15 +68898,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"xcz" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/jungle/a/style_random, -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/window/spawner/directional/east, -/obj/machinery/light/floor, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/grass, -/area/station/service/hydroponics) "xcF" = ( /turf/open/floor/iron, /area/station/commons/dorms) @@ -68531,18 +68906,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"xcK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/station/hallway/primary/central/aft) -"xcW" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) "xda" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -68557,6 +68920,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"xdj" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "xdo" = ( /obj/machinery/firealarm/directional/north, /obj/item/kirbyplants/random/fullysynthetic, @@ -68565,6 +68932,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) +"xdr" = ( +/obj/structure/table, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "xds" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68592,6 +68968,16 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"xdM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/chapel/office) "xdR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -68604,20 +68990,19 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"xdV" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/engine, -/area/station/science/xenobiology) "xed" = ( /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_large, /area/station/engineering/storage_shared) +"xem" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/west, +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "xeo" = ( /obj/structure/window/spawner/directional/south, /obj/structure/lattice, @@ -68645,7 +69030,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/maintenance{ - name = "Maintenance" + name = "Maintenance"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -68718,33 +69104,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/research) -"xfe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"xfm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ +"xfi" = ( +/obj/structure/table/glass, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell, +/turf/open/floor/iron/white, +/area/station/science/auxlab/firing_range) +"xfj" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ dir = 8 }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/security/hos_office, /turf/open/floor/iron, -/area/station/security) +/area/station/engineering/atmos) "xfu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ @@ -68752,6 +69123,13 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) +"xfx" = ( +/obj/machinery/door/airlock{ + id_tag = "Cabin3"; + name = "Cabin 3" + }, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms) "xfy" = ( /obj/structure/transport/linear/tram, /obj/structure/fluff/tram_rail/floor{ @@ -68795,29 +69173,24 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) -"xfX" = ( +"xfZ" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) -"xgd" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/main) +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/exodrone_launcher, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) "xgg" = ( /obj/structure/chair{ pixel_y = -2 }, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs/auxiliary) +"xgi" = ( +/obj/machinery/vending/wardrobe/det_wardrobe, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/security/telescreen/normal/directional/west, +/turf/open/floor/wood, +/area/station/security/detectives_office) "xgw" = ( /obj/structure/rack, /obj/item/storage/medkit/regular, @@ -68830,18 +69203,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/white, /area/station/security/medical) -"xgy" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/stack/spacecash/c10{ - pixel_y = 9; - pixel_x = 5 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, -/turf/open/floor/iron/small, -/area/station/service/barber) "xgz" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_x = 32; @@ -68861,43 +69222,63 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xhk" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" - }, -/obj/machinery/door/firedoor, +"xgB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) -"xht" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/obj/structure/cable, +/obj/machinery/light/small/directional/south, /turf/open/floor/iron, -/area/station/hallway/primary/port) -"xhD" = ( -/obj/structure/table, -/obj/item/clothing/shoes/ducky_shoes{ - pixel_x = 1; - pixel_y = 8 +/area/station/science/xenobiology) +"xgM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron/dark/small, -/area/station/commons/fitness/locker_room) -"xhG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/machinery/camera/directional/north{ + c_tag = "Engineering Supermatter Chamber" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"xgV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 8 + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) +"xgW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage top"; + name = "Secure Storage" }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/navigate_destination/lawyer, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) +"xhg" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/recreation) +/area/station/hallway/primary/central/aft) +"xho" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Pure to Unfiltered" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"xhz" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar) "xhM" = ( /obj/structure/table, /obj/item/book/manual/wiki/tcomms, @@ -68973,17 +69354,6 @@ }, /turf/open/floor/iron/large, /area/station/ai_monitored/command/storage/eva) -"xiS" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xiT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69002,6 +69372,13 @@ "xjg" = ( /turf/open/floor/iron/dark, /area/station/security/interrogation) +"xji" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/toilet/auxiliary) "xjo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -69013,19 +69390,18 @@ dir = 8 }, /area/station/science/lower) -"xjz" = ( -/turf/closed/wall/r_wall, -/area/station/security/prison/garden) -"xjC" = ( -/obj/structure/railing/corner{ +"xjw" = ( +/obj/effect/turf_decal/trimline/neutral/line{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/hallway/primary/central/fore) +"xjz" = ( +/turf/closed/wall/r_wall, +/area/station/security/prison/garden) "xjE" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -69034,19 +69410,10 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) -"xjQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "xjT" = ( /obj/machinery/door/airlock/external{ - name = "Construction Zone" + name = "Construction Zone"; + dir = 4 }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) @@ -69081,6 +69448,21 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"xkc" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/broken_flooring/pile/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"xkf" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/engineering/atmospherics_engine) "xkn" = ( /obj/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69105,6 +69487,11 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/science/cytology) +"xkR" = ( +/obj/structure/chair/stool/directional/east, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/herringbone, +/area/station/commons/dorms) "xkU" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 9 @@ -69112,9 +69499,6 @@ /obj/machinery/power/shieldwallgen, /turf/open/floor/iron/smooth_large, /area/station/command/teleporter) -"xkV" = ( -/turf/open/floor/stone, -/area/station/service/bar) "xkX" = ( /obj/effect/turf_decal/tile/yellow/diagonal_centre, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69140,6 +69524,15 @@ "xli" = ( /turf/closed/wall, /area/station/hallway/primary/central/aft) +"xln" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Decontamination B" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) "xlx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -69148,6 +69541,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/vacant_room/office) +"xlI" = ( +/obj/machinery/light/floor, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar) "xlL" = ( /turf/open/floor/iron/white, /area/station/science/cytology) @@ -69161,15 +69559,6 @@ "xlP" = ( /turf/open/floor/engine, /area/station/science/xenobiology) -"xlU" = ( -/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/plating, -/area/station/maintenance/central/greater) "xlZ" = ( /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) @@ -69179,6 +69568,19 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) +"xmc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "xmd" = ( /obj/structure/window/spawner/directional/east, /obj/structure/flora/bush/flowers_yw/style_random, @@ -69219,13 +69621,9 @@ /turf/closed/wall/r_wall, /area/station/maintenance/fore/greater) "xnb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/thinplating_new/light, -/obj/machinery/requests_console/auto_name/directional/south, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "xng" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/delivery_chute{ @@ -69242,19 +69640,27 @@ /area/station/cargo/sorting) "xnk" = ( /obj/structure/cable, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/tile, -/area/station/service/lawoffice) -"xno" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 +/obj/effect/mapping_helpers/airlock/access/all/science/rd, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + name = "Research Director's Office" }, -/obj/machinery/airalarm/directional/south, -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) +/obj/machinery/door/poddoor/preopen{ + id = "rdoffice"; + name = "Research Director's Shutters" + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/cubicle) +"xno" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"xny" = ( +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) "xnB" = ( /obj/effect/turf_decal/stripes/white/corner, /obj/effect/turf_decal/stripes/white/line, @@ -69278,6 +69684,10 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"xnP" = ( +/obj/machinery/newscaster/directional/south, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "xnR" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/decal/cleanable/dirt, @@ -69319,6 +69729,21 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"xoO" = ( +/obj/machinery/turretid/directional/south{ + icon_state = "control_stun"; + name = "AI Chamber turret control" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/turret_protected/ai) +"xoR" = ( +/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) "xoS" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 9 @@ -69365,6 +69790,17 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"xpv" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "xpw" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -69372,6 +69808,10 @@ /obj/item/gavelhammer, /turf/open/floor/iron, /area/station/security/courtroom) +"xpB" = ( +/obj/effect/landmark/start/hangover, +/turf/open/misc/dirt/station, +/area/station/service/chapel) "xpJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69380,10 +69820,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"xpL" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/maintenance/hallway/abandoned_command) "xpR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -69472,14 +69908,40 @@ dir = 1 }, /area/station/command/bridge) +"xqy" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar) "xqC" = ( /turf/closed/wall, /area/station/maintenance/hallway/abandoned_command) +"xqF" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/machinery/chem_dispenser, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/station/medical/chemistry) "xqL" = ( -/obj/structure/cable, -/obj/machinery/power/emitter/welded, +/obj/structure/table/reinforced, +/obj/structure/desk_bell{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters"; + dir = 4 + }, /turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/area/station/service/kitchen) "xqN" = ( /turf/closed/wall, /area/station/medical/chemistry) @@ -69489,35 +69951,25 @@ "xqW" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/starboard) -"xqX" = ( -/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/commons/fitness/locker_room) -"xrc" = ( -/obj/machinery/door/airlock{ - name = "Maintenance" +"xrj" = ( +/obj/structure/table/glass, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/sign/directions/supply/west_arrow, +/obj/structure/sign/directions/engineering/west_arrow{ + pixel_y = 8 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) -"xre" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/sign/directions/command/west_arrow{ + pixel_y = -8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/robotics/augments) +/turf/open/floor/iron/white, +/area/station/hallway/primary/starboard) "xru" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/airalarm/directional/east, /obj/item/radio/intercom/prison/directional/south, +/obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/security/prison/workout) "xry" = ( @@ -69539,44 +69991,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"xrE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/navigate_destination/vault, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) -"xrN" = ( -/obj/structure/railing{ - dir = 1 - }, -/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/machinery/requests_console/directional/north{ - department = "Chief Engineer's Desk"; - name = "Chief Engineer's Requests Console"; - pixel_y = -32; - pixel_x = 2 - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/iron/stairs/old{ - dir = 4 - }, -/area/station/command/heads_quarters/ce) -"xrX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"xrK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/window/right/directional/south{ - name = "Upload Console Window"; - req_access = list("ai_upload") - }, /turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/area/station/engineering/atmospherics_engine) "xrZ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -69625,39 +70043,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical/central) -"xso" = ( -/obj/machinery/shower/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/dorms) -"xsC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) -"xsD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xsF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/processing) -"xsI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/light/small/directional/east, -/obj/effect/landmark/start/janitor, -/turf/open/floor/iron/grimy, -/area/station/service/janitor) "xsJ" = ( /obj/effect/turf_decal/siding{ dir = 4 @@ -69671,7 +70060,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/stripes/red/line{ dir = 8 }, @@ -69689,6 +70080,12 @@ dir = 4 }, /area/station/science/lobby) +"xsP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/atmospherics_engine) "xsT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -69737,21 +70134,35 @@ dir = 4 }, /area/station/engineering/main) +"xtd" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/large/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "xte" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"xtD" = ( -/obj/effect/turf_decal/siding/wood{ +"xtj" = ( +/obj/machinery/door/firedoor{ 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/wood/tile, -/area/station/service/bar) +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/port) "xtI" = ( /turf/closed/wall/r_wall, /area/station/science/breakroom) @@ -69769,6 +70180,12 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/eva) +"xtS" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/xenobiology) "xtU" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/effect/landmark/navigate_destination/med, @@ -69777,6 +70194,13 @@ "xtW" = ( /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"xud" = ( +/obj/structure/chair/wood, +/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/small, +/area/station/service/barber) "xuh" = ( /obj/structure/chair/pew/left, /obj/item/bouquet/sunflower, @@ -69787,6 +70211,12 @@ "xul" = ( /turf/open/floor/iron, /area/station/maintenance/port/aft) +"xun" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 8 + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) "xur" = ( /turf/closed/wall, /area/station/security/processing) @@ -69811,6 +70241,12 @@ /mob/living/basic/parrot/poly, /turf/open/floor/mineral/titanium, /area/station/command/heads_quarters/ce) +"xuw" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "xuD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -69828,12 +70264,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space/basic, /area/space/nearstation) -"xuJ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "xuO" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -69841,14 +70271,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xuQ" = ( -/obj/machinery/washing_machine, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/commons/dorms) "xuW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69880,6 +70302,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"xvi" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/white/small, +/area/station/maintenance/port/aft) "xvv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69908,42 +70334,19 @@ }, /turf/closed/wall, /area/station/cargo/miningfoundry) -"xvK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"xvM" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "xvT" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/maint) -"xvU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) -"xvV" = ( -/obj/structure/cable, +"xwa" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "xwd" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, @@ -69953,13 +70356,6 @@ /obj/machinery/shower/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"xwj" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/security/courtroom) "xwk" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/airalarm/directional/north, @@ -69987,7 +70383,9 @@ cycle_id = "sci-entrance" }, /obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, @@ -70035,19 +70433,19 @@ /obj/structure/bed/maint, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"xwV" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/small, +/area/station/security/prison/mess) "xxa" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) "xxj" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/flora/bush/jungle/a, -/obj/machinery/light/small/directional/north, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/showroomfloor, +/area/station/service/barber) "xxo" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/yellow, @@ -70070,9 +70468,19 @@ /turf/open/floor/iron, /area/station/maintenance/starboard/greater) "xxD" = ( -/obj/structure/closet/secure_closet/personal, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/turf_decal/siding/wideplating{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/main) +"xxG" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet2"; + name = "Unit 2" + }, +/turf/open/floor/iron/white/small, +/area/station/commons/toilet/restrooms) "xxL" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron/checker{ @@ -70084,14 +70492,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"xxT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, +"xxW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "AI Core shutters"; + name = "AI Core Shutter" + }, +/turf/open/floor/iron/stairs, +/area/station/ai_monitored/turret_protected/ai) "xyh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70129,37 +70538,12 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) -"xym" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 5 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"xyt" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/chapel) "xyx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"xyM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=23.2-Evac-Garden"; - location = "23.4-Evac" - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 2 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "xyQ" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/south, @@ -70170,17 +70554,23 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"xyZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ +"xyT" = ( +/obj/machinery/door/airlock/external{ + name = "Primary Docking Bay"; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, -/obj/structure/broken_flooring/pile/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/entry) "xzd" = ( /obj/structure/lattice, /obj/structure/railing/corner, @@ -70192,20 +70582,23 @@ }, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"xzl" = ( +"xzv" = ( +/obj/machinery/door/window/right/directional/north{ + name = "Library Desk Door"; + req_access = list("library") + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/carpet, +/area/station/service/library) +"xzw" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating/elevatorshaft, +/turf/open/floor/iron, /area/station/commons/dorms) -"xzo" = ( -/obj/machinery/door/airlock/external{ - name = "Departure Lounge Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/hallway/secondary/exit/departure_lounge) "xzE" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, @@ -70221,6 +70614,13 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"xzF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/mess) "xzQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/item/radio/intercom/directional/west, @@ -70239,10 +70639,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"xAj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/cold/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "xAm" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"xAo" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock/freezer{ + name = "Freezer" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen) "xAv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -70251,13 +70670,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" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "xAA" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -70280,6 +70692,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"xAQ" = ( +/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/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "xAR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70298,16 +70719,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/side, /area/station/hallway/primary/central/fore) -"xBd" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L7"; - pixel_y = -15 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/aft) "xBe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -70316,16 +70727,21 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) -"xBp" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"xBo" = ( +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/neutral, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, -/area/station/hallway/secondary/dock) +/area/station/hallway/primary/central/fore) +"xBt" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "xBx" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -70351,6 +70767,20 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"xBI" = ( +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_y = 8 + }, +/obj/structure/sign/directions/command{ + dir = 1 + }, +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = -8 + }, +/turf/closed/wall, +/area/station/service/library) "xBV" = ( /obj/effect/spawner/random/structure/chair_flipped, /turf/open/floor/plating, @@ -70371,16 +70801,36 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/hallway/primary/central/fore) +"xCs" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"xCF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "xCH" = ( /obj/structure/railing{ dir = 9 }, /turf/open/space/basic, /area/space/nearstation) -"xCI" = ( -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) +"xCP" = ( +/obj/effect/spawner/random/structure/closet_private, +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet, +/area/station/commons/dorms) "xCS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70415,6 +70865,12 @@ dir = 4 }, /area/station/science/lobby) +"xDh" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "xDj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -70433,15 +70889,6 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/starboard) -"xDS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "xEd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70453,11 +70900,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"xEl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/wood, -/area/station/service/chapel/office) "xEm" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -70485,6 +70927,13 @@ /obj/structure/flora/bush/flowers_yw, /turf/open/floor/grass, /area/station/science/xenobiology) +"xEp" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/bananalamp{ + pixel_y = 7 + }, +/turf/open/floor/carpet/blue, +/area/station/commons/dorms) "xEq" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -70495,21 +70944,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"xEx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) -"xEM" = ( -/obj/structure/window/spawner/directional/north, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -20; - pixel_y = -11 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/misc/sandy_dirt, -/area/station/commons/fitness/locker_room) "xEQ" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ dir = 1 @@ -70544,6 +70978,14 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/small, /area/station/medical/cryo) +"xEZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/service/chapel) "xFd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70556,20 +70998,6 @@ "xFe" = ( /turf/closed/wall, /area/station/security/lockers) -"xFf" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/machinery/button/door/directional/west{ - id = "Secure Storage below"; - name = "Secure engineering storage"; - pixel_y = 24; - req_access = list("engine_equip") - }, -/turf/open/floor/iron/corner{ - dir = 8 - }, -/area/station/engineering/main) "xFw" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/sofa/bench{ @@ -70580,10 +71008,6 @@ "xFA" = ( /turf/closed/wall/r_wall, /area/station/science/research) -"xFD" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/commons/dorms) "xFI" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /obj/machinery/door/airlock/research/glass{ @@ -70600,19 +71024,14 @@ dir = 9 }, /area/station/science/ordnance/testlab) -"xFM" = ( -/obj/structure/hedge, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "xFS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/meter, +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xFT" = ( /obj/structure/table/wood, /obj/machinery/computer/pod/old, @@ -70625,15 +71044,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"xGf" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 1 +"xGg" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /turf/open/floor/iron, -/area/station/commons/storage/tools) +/area/station/security/brig/entrance) +"xGj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "xGl" = ( /obj/machinery/door/airlock/external{ - name = "External Docking Port" + name = "External Docking Port"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -70645,6 +71078,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"xGz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "xGH" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/smooth, @@ -70699,17 +71141,24 @@ }, /turf/open/floor/iron/terracotta/small, /area/station/security/checkpoint/escape) -"xHi" = ( -/obj/structure/bed, -/obj/effect/spawner/random/bedsheet, -/obj/machinery/button/door/directional/east{ - id = "Cabin2"; - name = "Cabin Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 +"xHl" = ( +/obj/structure/table, +/obj/item/rcl/pre_loaded, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/commons/storage/art) +"xHm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/engineering/storage/tech) +"xHA" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 }, -/turf/open/floor/carpet/purple, -/area/station/commons/dorms) +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "xHD" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -70736,14 +71185,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/tram) -"xIf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/herringbone, -/area/station/commons/dorms) "xIj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70789,9 +71230,29 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/plating, /area/station/engineering/gravity_generator) +"xIG" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/dorms) +"xIO" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "xIP" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/construction) +"xIS" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/office) "xIW" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -70808,6 +71269,11 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"xJu" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/central) "xJw" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/line{ @@ -70818,28 +71284,28 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"xJA" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Fitness Ring" + }, +/obj/structure/window/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/commons/dorms) "xJB" = ( /turf/closed/wall, /area/station/security/courtroom) -"xJT" = ( -/obj/effect/turf_decal/siding/wideplating{ +"xJH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_y = 12 - }, -/obj/item/multitool{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/machinery/light/no_nightlight/directional/east, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/turf/open/floor/wood, -/area/station/engineering/atmos/storage) +/area/station/science/xenobiology) "xJZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70853,14 +71319,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/medbay/central) -"xKe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering Supermatter Chamber" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xKg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -70870,7 +71328,8 @@ /area/station/medical/treatment_center) "xKi" = ( /obj/machinery/door/airlock/external{ - name = "External Docking Port" + name = "External Docking Port"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -70895,6 +71354,13 @@ /obj/structure/fireaxecabinet/mechremoval/directional/west, /turf/open/floor/iron, /area/station/science/robotics/lab) +"xKu" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/closet/toolcloset, +/obj/machinery/light/small/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/main) "xKv" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -70903,6 +71369,31 @@ "xKG" = ( /turf/open/floor/iron, /area/station/hallway/primary/port) +"xKJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) +"xKN" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/tile, +/area/station/service/bar) "xKQ" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners, /obj/machinery/firealarm/directional/north, @@ -70937,7 +71428,8 @@ "xLl" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; - shuttledocked = 1 + shuttledocked = 1; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/structure/cable, @@ -70954,6 +71446,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"xLv" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/depsec/science, +/turf/open/floor/iron, +/area/station/security/checkpoint/science) "xLy" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt/dust, @@ -70963,26 +71466,20 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"xLF" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Engine Coolant Bypass"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"xLS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, -/obj/machinery/meter/monitored/distro_loop, +"xLG" = ( /obj/structure/cable, -/obj/machinery/camera/directional/east{ - c_tag = "atmospherics - distro" +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos/pumproom) +/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) +"xLP" = ( +/obj/effect/turf_decal/tile/neutral/full, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/smooth_large, +/area/station/maintenance/central/lesser) "xLY" = ( /obj/item/reagent_containers/cup/glass/bottle/beer{ pixel_y = 11 @@ -71003,13 +71500,6 @@ /obj/machinery/light/floor, /turf/open/floor/noslip, /area/station/medical/treatment_center) -"xMc" = ( -/obj/machinery/holopad, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/xenobiology) "xMg" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -71038,16 +71528,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xMu" = ( +"xMt" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /obj/effect/turf_decal/siding/wood, -/turf/closed/wall, -/area/station/service/library) -"xMv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) +"xMy" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/locker_room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "xMK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -71077,6 +71572,19 @@ "xMY" = ( /turf/closed/wall/r_wall, /area/station/command/teleporter) +"xMZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/tcommsat/server) +"xNb" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "xNh" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -71085,22 +71593,13 @@ "xNw" = ( /turf/closed/wall, /area/station/science/breakroom) -"xND" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/plating, -/area/station/hallway/primary/central/fore) -"xNX" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 +"xNA" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/small, +/area/station/service/barber) "xOm" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/shutters{ @@ -71109,10 +71608,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"xOq" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/turf/open/floor/iron, -/area/station/security/warden) "xOw" = ( /obj/structure/bed{ dir = 4 @@ -71174,26 +71669,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/security/prison/rec) -"xPp" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/structure/flora/tree/jungle/style_3, -/turf/open/floor/grass, -/area/station/service/chapel) -"xPq" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"xPs" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "xPv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71208,24 +71683,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"xPH" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) -"xPJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "xPN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71246,7 +71703,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/cold/directional/south, /obj/effect/turf_decal/stripes/line, -/obj/structure/sign/departments/aiupload/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) "xQa" = ( @@ -71310,6 +71766,23 @@ "xQJ" = ( /turf/closed/wall, /area/station/service/abandoned_gambling_den/gaming) +"xQT" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_yw, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) +"xQU" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "xQW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71320,14 +71793,11 @@ /turf/open/floor/iron/diagonal, /area/station/science/auxlab/firing_range) "xRd" = ( -/obj/machinery/holopad, -/obj/machinery/button/door/directional/north{ - id = "medlock"; - name = "Medbay Lockdown Control"; - req_access = list("medical") +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 }, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) +/turf/open/floor/iron, +/area/station/engineering/atmos/project) "xRg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71361,6 +71831,13 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"xRy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xRA" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -71413,21 +71890,19 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den/gaming) -"xSd" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "xSe" = ( /obj/structure/table/glass, /obj/structure/microscope, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/science/cytology) +"xSk" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) "xSt" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/stripes/white/line{ @@ -71494,13 +71969,6 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"xTr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/closet/firecloset, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xTB" = ( /obj/structure/chair/sofa/left{ dir = 4 @@ -71525,17 +71993,6 @@ }, /turf/open/floor/engine, /area/station/science/cytology) -"xTR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 6 - }, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/xenobiology) "xTV" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -71578,11 +72035,15 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"xUy" = ( +"xUx" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/public/glass{ + name = "Recreation" + }, +/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore/greater) +/turf/open/floor/iron/textured_half, +/area/station/commons/fitness/recreation/entertainment) "xUB" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, @@ -71591,12 +72052,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"xUK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xUL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71624,31 +72079,34 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"xUT" = ( -/obj/effect/turf_decal/siding/thinplating/terracotta/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/dorms) "xUV" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron/white/side, /area/station/science/research) -"xUX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "xVd" = ( /obj/effect/turf_decal/sand/plating, /obj/item/stack/ore/slag, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"xVf" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/recreation) +"xVh" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/kirbyplants/random/fullysynthetic, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/dorms) "xVj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -71763,6 +72221,15 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"xWB" = ( +/obj/machinery/door/firedoor{ + 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/small, +/area/station/service/bar) "xWD" = ( /obj/structure/table/glass, /obj/item/experi_scanner{ @@ -71799,10 +72266,13 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "xXe" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/office) "xXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71820,6 +72290,22 @@ }, /turf/open/floor/iron/small, /area/station/engineering/break_room) +"xXm" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"xXp" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/command/heads_quarters/hos) "xXr" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71842,13 +72328,13 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xXD" = ( -/obj/effect/turf_decal/siding/thinplating_new/light, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +"xXA" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Lockers" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/commons/fitness/locker_room) "xXG" = ( /obj/structure/bed, /obj/item/bedsheet/cmo, @@ -71904,17 +72390,19 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"xXS" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "xXT" = ( /turf/closed/wall, /area/station/maintenance/starboard/fore) "xYk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, -/area/station/engineering/gravity_generator) +/area/station/engineering/atmos) "xYu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -71925,6 +72413,17 @@ /obj/effect/gibspawner/human, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"xYC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/service/chapel) "xYD" = ( /turf/open/floor/grass, /area/station/service/chapel) @@ -71953,18 +72452,25 @@ "xYO" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/bridge) +"xYT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"xZc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/science/ordnance/testlab) "xZd" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"xZe" = ( -/obj/effect/landmark/start/chaplain, -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/chapel) "xZg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral, @@ -71993,6 +72499,17 @@ "xZy" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"xZB" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/bed/dogbed/mcgriff, +/mob/living/basic/pet/dog/pug/mcgriff, +/turf/open/floor/iron, +/area/station/security/warden) "xZE" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/purple{ @@ -72057,16 +72574,6 @@ /obj/machinery/power/tracker, /turf/open/space/basic, /area/station/solars/port) -"yaE" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/dark_red{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/mob/living/basic/spider/giant/sgt_araneus, -/turf/open/floor/stone, -/area/station/command/heads_quarters/hos) "yaI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -72075,10 +72582,6 @@ "yaL" = ( /turf/closed/wall, /area/station/commons/vacant_room/commissary) -"yaT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "yaU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -72090,12 +72593,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) -"yba" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "ybh" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -72111,11 +72608,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/interrogation) -"ybp" = ( -/obj/machinery/air_sensor/oxygen_tank, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) "ybs" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -72127,14 +72619,26 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/public/glass{ - name = "Arrivals" + name = "Arrivals"; + dir = 4 }, /turf/open/floor/iron/textured_half{ dir = 8 }, /area/station/hallway/secondary/entry) +"ybF" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "ybJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72157,13 +72661,6 @@ "ybO" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"ycb" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/structure/flora/grass/jungle, -/turf/open/misc/dirt/station, -/area/station/service/chapel) "ycd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -72202,41 +72699,47 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"ycp" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tcomms) "ycq" = ( /obj/machinery/modular_computer/preset/cargochat/science{ dir = 1 }, /turf/open/floor/iron/white, /area/station/science/research) +"ycw" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"ycB" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/atmos) "ycC" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) "ycE" = ( /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"ycQ" = ( -/obj/machinery/newscaster/directional/north, -/obj/structure/chair/sofa/bench/left, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) -"ycS" = ( -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"ycX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"ycJ" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 }, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/red/line, +/turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) "ydf" = ( /obj/effect/turf_decal/siding/wood{ @@ -72262,11 +72765,28 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood/tile, /area/station/command/bridge) -"ydz" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) +"ydy" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/prison/rec) +"ydF" = ( +/obj/effect/turf_decal/siding/wood, +/turf/closed/wall, +/area/station/service/library) +"ydH" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/plumbing/input{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/cytology) "ydL" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt/dust, @@ -72278,16 +72798,6 @@ "yeh" = ( /turf/closed/wall, /area/station/hallway/primary/starboard) -"yei" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Transit Tube Station" - }, -/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 @@ -72311,32 +72821,33 @@ pixel_x = -3; pixel_y = -4 }, -/obj/structure/sign/warning/test_chamber/directional/east, /turf/open/floor/iron/white, /area/station/science/robotics/augments) -"yew" = ( -/obj/effect/turf_decal/box/white{ - color = "#9FED58" +"yes" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 9 }, -/turf/open/floor/engine, -/area/station/engineering/atmospherics_engine) -"yey" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 10 +/turf/open/floor/iron, +/area/station/engineering/atmos) +"yet" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 +/obj/item/trash/flare{ + pixel_x = 11; + pixel_y = 21 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/structure/fireaxecabinet/directional/east, -/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/dark, -/area/station/engineering/atmos/office) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) "yeD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -72397,6 +72908,42 @@ dir = 8 }, /area/station/maintenance/starboard/greater) +"yfk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"yfp" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/dock) +"yfr" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "yfs" = ( /obj/structure/closet/l3closet/scientist, /obj/item/storage/bag/xeno, @@ -72417,23 +72964,12 @@ "yfD" = ( /turf/closed/wall, /area/station/medical/surgery/theatre) -"yfF" = ( -/obj/machinery/vending/autodrobe/all_access, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/commons/fitness/locker_room) "yfJ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"yfL" = ( -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) "yfN" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72444,12 +72980,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"yfX" = ( -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +"yfW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "yfY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72460,16 +72996,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"ygf" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Test Chamber"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) +"ygk" = ( +/obj/effect/turf_decal/siding/wideplating/dark, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "ygu" = ( /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"ygx" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/hallway/abandoned_command) "ygK" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/west, @@ -72507,6 +73044,11 @@ /obj/effect/spawner/random/aimodule/harmless, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"yhe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth_large, +/area/station/science/auxlab/firing_range) "yhq" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral{ @@ -72534,31 +73076,16 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"yhK" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/auxlab/firing_range) -"yhQ" = ( -/obj/machinery/transport/power_rectifier{ - configured_transport_id = "bird_2" - }, -/turf/open/floor/iron, -/area/station/maintenance/port/aft) -"yhW" = ( -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/command/gateway) -"yhX" = ( -/obj/effect/turf_decal/siding/wood, +"yib" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/turf/open/floor/wood, -/area/station/service/chapel) +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/science/xenobiology) "yig" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/east, @@ -72582,6 +73109,14 @@ }, /turf/open/floor/iron/white/side, /area/station/hallway/primary/starboard) +"yik" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/structure/railing/corner, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "yil" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72596,10 +73131,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"yio" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/secondary/recreation) "yiq" = ( /obj/structure/chair{ dir = 4 @@ -72627,6 +73158,19 @@ /obj/item/clothing/head/utility/welding, /turf/open/floor/iron, /area/station/science/robotics/lab) +"yiy" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/security/breakroom) +"yiI" = ( +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/dorms) "yiL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -72647,26 +73191,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"yiY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/departments/holy/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"yiZ" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/light/no_nightlight/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "yjc" = ( /obj/machinery/rnd/production/techfab/department/cargo, /obj/effect/turf_decal/delivery/white, @@ -72683,12 +73207,24 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white/small, /area/station/science/cubicle) +"yjy" = ( +/obj/structure/closet/lasertag/blue, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation/entertainment) "yjE" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine) -"yjP" = ( -/obj/structure/flora/tree/jungle/style_2, -/turf/open/floor/grass, +"yjJ" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, /area/station/service/chapel) "yjQ" = ( /obj/structure/window/reinforced/spawner/directional/south, @@ -72715,15 +73251,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"yka" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple, -/turf/open/floor/iron/dark, -/area/station/science/genetics) "ykd" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -72734,12 +73261,10 @@ /turf/open/floor/stone, /area/station/command/corporate_suite) "ykk" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "ykn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72769,13 +73294,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/science/lobby) -"ylp" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "ylq" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -72801,6 +73319,21 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) +"ylO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/pipe_dispenser{ + pixel_y = -7; + pixel_x = 2 + }, +/obj/item/pipe_dispenser{ + pixel_y = 5; + pixel_x = -2 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ylR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72818,6 +73351,11 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"ymb" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "ymh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77768,7 +78306,7 @@ dDB dDB blb hYC -uQY +wmI hYC tYT dDB @@ -78003,19 +78541,19 @@ dDB dDB dDB dDB -vnZ -sxH -sxH -sxH -sxH -kdv -kdv -sxH -sxH -sxH -sxH -ipq -aFH +vLA +aSZ +aSZ +aSZ +aSZ +fvW +fvW +aSZ +aSZ +aSZ +aSZ +rEd +tCR blb blb blb @@ -78025,7 +78563,7 @@ dDB dDB blb hYC -mKh +mHB hYC aJq tYT @@ -78260,7 +78798,7 @@ dDB dDB dDB dDB -wZs +jXT dDB dDB aJq @@ -78272,7 +78810,7 @@ blb blb blb ybO -evQ +wdX cwf cwf ybO @@ -78282,7 +78820,7 @@ dDB blb cwf ybO -ilT +mVp ybO cwf aJq @@ -78511,45 +79049,45 @@ dDB dDB dDB dDB -vnZ -rpQ -sxH -sxH -sxH -sxH -qKH +vLA +aXd +aSZ +aSZ +aSZ +aSZ +sGN dDB aJq aJq -pCn -pCn -oBP -oBP -oBP -oBP -pCn +iBS +iBS +for +for +for +for +iBS ybO -thw -wup -atZ -dhG -hfm -hfm -bta -bta -bhE -cXg -aao -aao -bhE -sBV -sBV -sBV -bta -dhG -blt -nGf -dxv +aJI +mhD +ffZ +trJ +oMk +oMk +buU +buU +wet +wDd +baJ +baJ +wet +iFt +iFt +iFt +buU +trJ +rpG +hAl +cDn pjk cwf tYT @@ -78768,7 +79306,7 @@ aan dDB dDB dDB -gGy +gHZ kaP dDB dDB @@ -78778,35 +79316,35 @@ blb dDB dDB blb -pCn -afm -afa -afa -afa -afa -aNO +iBS +oQY +xRd +xRd +xRd +xRd +xem cwf -mzs -cZj -gJw +bSG +egc +dXh ybO ybO ybO ybO ybO cwf -lRy -lRy -lRy +jlk +jlk +jlk cwf ybO ybO ybO ybO ybO -qwF -fAD -sjY +jso +uRa +mIB pjk cwf tYT @@ -79025,7 +79563,7 @@ dDB dDB dDB dDB -gGy +gHZ kaP tYT dDB @@ -79035,36 +79573,36 @@ gcs tYT dDB blb -oBP -mHG -lmJ -lmJ -lmJ -lmJ -yaT +for +hJg +pYf +pYf +pYf +pYf +jya cwf -sjY -fAD -rZJ -oDS -lSy -dEy -mRl +mIB +uRa +ffH +lJG +evK +osv +oIn ybO -sdZ -lRy -lRy -lRy -cax +aEn +jlk +jlk +jlk +kxR ybO -kNx -jya -gUM -oDS -jTD -fAD -urh -pZp +cFd +kHJ +ksJ +lJG +vvX +uRa +uDB +aaZ ybO tYT tYT @@ -79282,7 +79820,7 @@ dDB dDB dDB dDB -gGy +gHZ gcs tYT tYT @@ -79292,36 +79830,36 @@ aJq tYT tYT liQ -oBP -mHG -lmJ -lmJ -lmJ -lmJ -yaT +for +hJg +pYf +pYf +pYf +pYf +jya cwf -gbh -fAD -jWm +wIj +uRa +dTz ybO -cbh -gNg -uQT -nrn -frn -lRy -lRy -lRy -bdU -nrn -ybp -qBK -jMp -cor -wPO -wLw -udH -gbh +uTT +wgm +mgO +jyT +pNK +jlk +jlk +jlk +geZ +jyT +swi +tPo +nFC +ycB +ivo +fPk +gyQ +wIj ybO tYT tYT @@ -79539,7 +80077,7 @@ dDB dDB dDB dDB -gGy +gHZ aJq aJq tYT @@ -79549,36 +80087,36 @@ tYT tYT aJq liQ -oBP -mHG -lmJ -lmJ -lmJ -lmJ -rDU +for +hJg +pYf +pYf +pYf +pYf +uMZ hYC -bLp -wGx -qht -nrn -lCT -trX -hKf +pxk +sLh +big +jyT +asL +rja +kTo ybO -pwO -lRy -lRy -lRy -vGS +cYO +jlk +jlk +jlk +uQD ybO -kNx -tyc -dJn -nrn -jMQ -wmL -civ -gbh +cFd +oCO +haK +jyT +mPT +saC +nVK +wIj cwf tYT dDB @@ -79796,7 +80334,7 @@ dDB dDB dDB dDB -gGy +gHZ aJq aJq aJq @@ -79806,36 +80344,36 @@ tYT tYT aJq aJq -pCn -bDQ -lmJ -lmJ -lmJ -lmJ -yaT +iBS +kUG +pYf +pYf +pYf +pYf +jya cwf -gbh -fAD -mUY +wIj +uRa +ppq ybO ybO -ukP +xXm ybO ybO -fwr -lRy -lRy -lRy -pYw +vdx +jlk +jlk +jlk +hTc ybO ybO -ukP +xXm ybO ybO -ivs -fAD -civ -gbh +jgH +uRa +nVK +wIj cwf tYT dDB @@ -80053,7 +80591,7 @@ dDB dDB dDB dDB -gGy +gHZ aJq aJq aJq @@ -80063,36 +80601,36 @@ tYT tYT tYT liQ -oBP -mHG -lmJ -lmJ -lmJ -lmJ -yaT -krb -gbh -fAD -gAQ +for +hJg +pYf +pYf +pYf +pYf +jya +aoH +wIj +uRa +nxP cwf -dEw -dEw -dEw +hVE +hVE +hVE cwf -xPq -lRy -lRy -lRy -qRb +qWc +jlk +jlk +jlk +rPN cwf -dEw -dEw -dEw +hVE +hVE +hVE cwf -gXT -fAD -civ -gbh +pKo +uRa +nVK +wIj cwf aJq dDB @@ -80310,7 +80848,7 @@ dDB dDB dDB dDB -gGy +gHZ dDB aJq tYT @@ -80320,36 +80858,36 @@ tYT tYT tYT liQ -oBP -mHG -lmJ -lmJ -lmJ -lmJ -yaT +for +hJg +pYf +pYf +pYf +pYf +jya cwf -gbh -fAD -hLx -klg -lRy -lRy -lRy -klg -lRy -lRy -lRy -lRy -lRy -klg -lRy -lRy -lRy -klg -hLx -fAD -civ -gbh +wIj +uRa +bWX +jEP +jlk +jlk +jlk +jEP +jlk +jlk +jlk +jlk +jlk +jEP +jlk +jlk +jlk +jEP +bWX +uRa +nVK +wIj ybO aJq aJq @@ -80567,46 +81105,46 @@ dDB dDB dDB dDB -gGy +gHZ dDB dDB tYT tYT -tOJ +lcB gKs -sjw +ahV gKs aJq -oBP -mHG -ucS -gxo -lmJ -lmJ -toX +for +hJg +uzN +uKR +pYf +pYf +lAH hYC -jhF -fAD -gAQ +hln +uRa +nxP cwf -cnC -cnC -cnC +rRn +rRn +rRn cwf -xPq -lRy -lRy -lRy -qRb +qWc +jlk +jlk +jlk +rPN cwf -cnC -cnC -cnC +rRn +rRn +rRn cwf -gXT -fAD -civ -fOK +pKo +uRa +nVK +haB ybO aJq aJq @@ -80824,46 +81362,46 @@ dDB dDB dDB dDB -gGy +gHZ dDB dDB dDB tYT -sIB +oyy gKs -xPH +hCI gKs aJq -pCn -kCq -vEL -xvU -lmJ -lmJ -yaT +iBS +nuJ +dmC +hQI +pYf +pYf +jya cwf -gbh -fAD -lvy +wIj +uRa +eOv ybO ybO -ukP +xXm ybO ybO -iZs -lRy -lRy -lRy -enF +dhX +jlk +jlk +jlk +iau ybO ybO -ukP +xXm ybO ybO -rvI -fAD -civ -gbh +bfq +uRa +nVK +wIj cwf tYT tYT @@ -81081,46 +81619,46 @@ dDB dDB dDB dDB -gGy +gHZ wBo -tdm +oNg wBo wBo -evj +nut wBo -lst +rac wBo giq -pCn -nAW -gnB -bDg -uOt -lmJ -yaT +iBS +jXq +lUr +jcV +oAw +pYf +jya cwf -gbh -fAD -tua -oDS -hzO -iFB -oPj +wIj +uRa +xuw +lJG +gOC +lcH +iQi ybO -dEc -lRy -lRy -lRy -yiZ +kHw +jlk +jlk +jlk +jKR ybO -nbH -rIH -ouS -oDS -fIP -fAD -civ -gbh +phW +obl +nci +lJG +xfj +uRa +nVK +wIj cwf tYT tYT @@ -81338,46 +81876,46 @@ dDB dDB dDB dDB -gGy +gHZ wBo nqx wBo -qko -mjc -hMX -ful -aem -gbf -pCn -ucm -pkt -mGs -uOt -lmJ -yaT +gpY +rMZ +vRr +aXv +pdn +ose +iBS +gpm +dwf +oNW +oAw +pYf +jya cwf -gbh -fAD -jWm +wIj +uRa +dTz ybO -kVB -dzH -rPg -nrn -trY -lRy -lRy -lRy -azW -nrn -eok -gip -avP -cor -nnp -wLw -rVI -gbh +kwc +nkN +jtN +jyT +tLu +jlk +jlk +jlk +qPR +jyT +wQf +kta +xgV +ycB +mpD +fPk +aOc +wIj cwf tYT tYT @@ -81594,47 +82132,47 @@ dDB dDB dDB dDB -vnZ -evw +vLA +pYT giq lVW -eEn -cCP -wWm -mPB -pit -wWm -pnO -pCn -teV -dix -fEs -hXv -eMa -ykk +qXw +cxY +wJX +bIL +sWO +wJX +pkF +iBS +uCg +vAf +iyS +iAL +rNG +kfx hYC -egC -nlt -ckR -nrn -ktJ -saq -ukY +peD +eyX +rhs +jyT +vmV +cmt +aMi ybO -sfy -lRy -lRy -lRy -uUU +bxr +jlk +jlk +jlk +emQ ybO -nbH -aal -fos -nrn -wGT -wmL -civ -tKD +phW +lFp +ckM +jyT +iye +saC +nVK +uaG ybO tYT tYT @@ -81693,9 +82231,9 @@ vdg wdB sxv rCv -xzo +gQF rCv -xzo +gQF rCv vdg wdB @@ -81851,47 +82389,47 @@ dDB dDB dDB dDB -gGy +gHZ wBo wBo sRf wBo -hFO -wBo -mPB -wWm -nlR -gQy +bgS +eCC +bIL +wJX +mXv +qkM ybO hYC hYC cwf -mgF +fzk cwf hYC hYC -bLp -fAD -cGG +pxk +uRa +yik ybO ybO -ukP +xXm ybO ybO -mxp -nUh -bud -lRy -jtG +xdr +tPF +sSI +jlk +sWf ybO ybO -ukP +xXm ybO ybO -xNX -fAD -civ -ruh +fsm +uRa +nVK +uhd ybO tYT tYT @@ -82108,47 +82646,47 @@ dDB dDB dDB dDB -gGy +gHZ wBo -fgX -uFS +qlT +jTN wBo -eKd +fFM wBo -aeH -dOP -pit -dHx +kMK +bjt +sWO +hHd ybO -eUY +aLm pjk pjk -fRM +fEG pjk pjk -nFv -gbh -fAD -gAQ +hYh +wIj +uRa +nxP cwf -dEw -dEw -dEw +hVE +hVE +hVE cwf -xPq -lRy -bud -lRy -qRb +qWc +jlk +sSI +jlk +rPN cwf -dEw -dEw -dEw +hVE +hVE +hVE cwf -amb -fAD -civ -gbh +pRG +uRa +nVK +wIj ybO tYT aJq @@ -82365,47 +82903,47 @@ dDB dDB dDB dDB -gGy -cMG -bTI -jnI -gya -qBM -ael -wcF -eqr -mUe -vvw +gHZ +lQz +sIl +iua +eSN +eNx +rVa +niB +aGe +pVS +wIn cwf pjk -rdt +jmm pjk -fRM +fEG pjk pjk pjk -qfK -fAD -hLx -klg -lRy -lRy -lRy -klg -lRy -lRy -uju -osp -lRy -klg -lRy -lRy -lRy -klg -gjU -eyY -civ -gbh +iqV +uRa +bWX +jEP +jlk +jlk +jlk +jEP +jlk +jlk +fMl +oRq +jlk +jEP +jlk +jlk +jlk +jEP +vZQ +eHu +nVK +wIj ybO ybO bNq @@ -82622,49 +83160,49 @@ dDB dDB dDB dDB -gGy +gHZ wBo wBo wBo wBo -hTz -vOg -iaB -jHM -jdR -kKX -fDf -cjD -gMV -whm -iDP -pUQ -pZp +ykk +tRV +dxF +oBN +eAy +ezh +qpW +klB +qbS +eHm +mXb +fCV +aaZ pjk -gbh -fAD -gAQ +wIj +uRa +nxP cwf -cnC -cnC -cnC +rRn +rRn +rRn cwf -xPq -lRy -uju -lRy -qRb +qWc +jlk +fMl +jlk +rPN cwf -cnC -cnC -cnC +rRn +rRn +rRn cwf -amb -fAD -civ -urh -pUQ -pZp +pRG +uRa +nVK +uDB +fCV +aaZ bNq aJq aJq @@ -82721,9 +83259,9 @@ scl syg tfy rCv -xzo +gQF rCv -xzo +gQF rCv fyv vFD @@ -82878,50 +83416,50 @@ dDB dDB dDB dDB -vnZ -evw +vLA +pYT blb blb blb blb blb giq -pit -nlR -seq -hNq +sWO +mXv +ire +nbD cwf -sUr -oVm -fjf -fjf -qmD +okj +oXq +aWs +aWs +iBb bPU -kbL -dkv -fAD -jXH +czD +hpA +uRa +htf ybO ybO -ukP +xXm ybO ybO -wtJ -lRy -uju -lRy -hQG +byk +jlk +fMl +jlk +mKs ybO ybO -ukP +xXm ybO ybO -tAp -jUy -eOY -aiI -rfT -iPd +qfW +tAh +veu +sjm +dNZ +gfF ecq fYU aJq @@ -83135,7 +83673,7 @@ dDB dDB dDB dDB -gGy +gHZ aJq aJq pWm @@ -83143,42 +83681,42 @@ pWm pWm pWm wBo -jGu -wWm -wWm -mHy +spp +wJX +wJX +qNV ybO -jTW -hLx +rII +bWX pjk pjk pjk -wBy -kEW -wBy -fAD -vZd -oDS -iEo -ejO -kvz +tTT +ack +tTT +uRa +dKG +lJG +txL +vKL +dED ybO -sfB -lRy -uju -lRy -avd +ucz +jlk +fMl +jlk +dZz ybO -uQo -rYD -lJq -brG -uBE -wLw -mgR +cNn +hsm +fHX +iIY +oio +fPk +yes pjk -jIA -kRi +bXW +iWx bNq xLy cvJ @@ -83202,8 +83740,8 @@ iVK jhC lOj bll -kkV -ipr +uFV +tba lOj lOj hzm @@ -83223,7 +83761,7 @@ qON nZh rDS rWM -mnC +tbN whL pLl leU @@ -83392,51 +83930,51 @@ dDB dDB dDB dDB -gGy +gHZ aJq tYT kGn wzv -byt +asE lOM wBo -cTY -veR -pit -ggz +csV +dZh +sWO +nBU ybO -ajg -hLx +lnK +bWX pjk -oVm -fjf -sRW -fjf -itr -hWa -wFK +oXq +aWs +gzA +aWs +eJX +xoR +gYv ybO -qOr -kFK -uSc -nrn -mjt -lRy -uju -lRy -sHI -nrn -jNu -uGF -wyM -cor -bfU -wLw -weY -udH -jIA -gbh -taT +hxO +feL +qpy +jyT +iKf +jlk +fMl +jlk +tyc +jyT +uwf +cqN +xun +ycB +sHW +fPk +eLh +gyQ +bXW +wIj +gCV nHd lyR qDJ @@ -83462,7 +84000,7 @@ hNA hNA inT lOj -dTW +ePh lwI lOj jaN @@ -83477,16 +84015,16 @@ pZu jxJ slw dDd -vuj -cYS -rhC +uSR +qRH +sWK pee qyT pLZ pWF fMQ qCb -vgh +rEE yaI qRN erg @@ -83494,7 +84032,7 @@ sNg yaI wRN yaI -xyM +uvU yaI xQy qRN @@ -83522,8 +84060,8 @@ fEC fEC fEC fEC -lQs -rYc +ubG +vQF dyW fEC eHN @@ -83649,8 +84187,8 @@ dDB dDB dDB dDB -pic -aFH +jQQ +tCR vmL kGn pFK @@ -83659,40 +84197,40 @@ kYI wBo wBo wBo -ulC -hNq +cuv +nbD ybO pjk -lmo -tmO -qav -epm -gNa -pEp -fPK -dJB -asf -nrn -dKY -uTN -kvz +mvl +vjV +cLP +sJD +caf +xho +wKu +dgf +mps +jyT +qjS +cTK +dED ybO -wwv -lRy -uju -lRy -nQc +rhM +jlk +fMl +jlk +wIg ybO -uQo -ueP -vpz -nrn -bqc -soU -fwV -wjR -jIA -htg +cNn +oLx +leR +jyT +bTC +rVo +xYk +aPg +bXW +kGl bNq aIk eiU @@ -83717,16 +84255,16 @@ jhC lPi hNb kdN -onQ -bTE -cob +lsU +obK +pbY vWA lOj mnZ kdH nJU kEA -kQe +aPs ouR oRr kdH @@ -83734,9 +84272,9 @@ pHo pZz slw qtJ -qdu +aBr tyD -lFq +xfZ sor whL sYs @@ -83751,7 +84289,7 @@ jch wZS tCm onw -csv +kih gun mKD snZ @@ -83907,7 +84445,7 @@ dDB dDB dDB dDB -wZs +jXT tYT pWm pWm @@ -83916,41 +84454,41 @@ pWm pWm pRw pnl -pxz -yei +hTg +rPY ybO ybO -qKA -cnC -qKA +teA +rRn +teA jZl jZl -ttL -nwK -ttL +uTt +pJp +uTt jZl jZl jZl jZl jZl jZl -qPk -qPk -eEj -qPk -qPk -cGV -cGV -cGV -cGV -cGV -kUN -kjW -kjW -fcE -ceN -cDV -kUN +gda +gda +lVZ +gda +gda +vXZ +vXZ +vXZ +vXZ +vXZ +unz +irl +irl +btu +chw +bPu +bNq ybs knv knv @@ -83973,9 +84511,9 @@ iVK jhC lPi hNA -vJG +myD ipb -stH +pnd lfU lfU lPi @@ -84008,7 +84546,7 @@ gdn qyT tDb ttX -iNC +tek qyT nvK xBe @@ -84037,7 +84575,7 @@ vFy vFy rOG hbm -utQ +maG vSW fEC iBE @@ -84164,7 +84702,7 @@ dDB dDB dDB dDB -wZs +jXT dDB vmL pWm @@ -84174,40 +84712,40 @@ wzv jUx wzv wzv -fjh -dfd -ybO -jbE -ukP -ooo +xno +blz +pnl +oOj +xXm +oOj jZl -wmq -wmq -wmq -wmq -vMI -pKW -kiP -wmq -dYv +prv +prv +prv +prv +bom +dLq +tDH +bav +oCv jZl -feu -nfn -dAu -bGX -jhj -cGV -tkU -ocZ -pqr -tkU -kUN -cSc -tKn -eWr -xcW -prP -kUN +kgq +sIJ +vBn +uYC +xXe +vXZ +fwT +hiK +aPc +fwT +unz +plo +qGS +wCh +mhA +mCg +bNq ybs knv aJq @@ -84229,7 +84767,7 @@ iVL iVL jig lOj -nMq +ofC thM kuy lOj @@ -84246,12 +84784,12 @@ oRr poM uzJ mKB -aLm +ocZ slw -lLi +uzV slw -gMX -hEu +dSK +aBq ozn ozn pXC @@ -84265,7 +84803,7 @@ qyT qyT tDE tWQ -ggc +fMk qyT sbx lgj @@ -84415,13 +84953,13 @@ dDB dDB dDB dDB -ndm -vnZ -ipq -ipq -ipq -lDo -qKH +qef +vLA +rEd +rEd +rEd +oPh +sGN blb blb tGK @@ -84431,40 +84969,40 @@ pWm aap wzv wzv -fjh +xno wzv -ybO -dpH -kNv -gAy +pnl +bEZ +fwj +abE jZl -bKK -pET -pET -lRK -pET -pET -tfD -gyj -gyj -cRo -tnh -vHX -fIe -kHp -cCV -gBK -jSm -nEG -scP -bYV -teo -nqN -hBi -bzF -gzM -svd -kUN +tSF +gVm +gVm +eui +gVm +gVm +fue +oLU +oLU +jVl +vAk +oWD +jIi +qDg +esf +vhP +owX +bgG +phz +uhI +whG +eMV +fco +tuV +eoK +uGi +bNq liX jqd lxP @@ -84502,27 +85040,27 @@ owl oSb ppk mjQ -fLF -ahr +oqp +cOq nFX nFX -cdC -pSP +coc +ovZ mhk mhk mhk mhk mhk -cgV -qHr -gyc -dVQ -wFY -ahf +kkj +lcG +cpb +lDn +dbh +cUu wBm wXk xKG -suM +nBT yea yea yea @@ -84673,7 +85211,7 @@ dDB dDB dDB dDB -wZs +jXT dDB dDB dDB @@ -84688,40 +85226,40 @@ qcF jUx pWm pWm -uEH -dfd -ybO -ybO -ybO -ybO +vmx +blz +pnl +uHK +uHK +uHK jZl -bEG -rCk -uQI -oBF -uQI -xEx -uEZ -jDi -dYv +qSs +gGA +xsP +kIX +xsP +fgV +xkf +jwQ +oCv jZl -mbP -din -pMq -iHE -lps -cGV -pUA -bPk -mSl -qJL -kUN -rkM -isC -bPd -vDG -rry -kUN +mCA +mPb +ngy +plY +cSw +vXZ +hea +nSU +qnZ +mrK +unz +gCH +eaE +etc +lqb +dfA +bNq olj cmf gBh @@ -84759,27 +85297,27 @@ lkI oSg lWF mjV -pHs +ehO mhk -ihb +bWD ozt -dEQ +xMy sqz mhk -iSD -pbw -twN -mSQ -jWj -bIJ -bIJ +hyP +nGB +pQS +dMr +usH +nMN +nMN xYD -yjP -hVO +tUU +fYN wAW -wXk +jFS oOy -atS +enx uHI vlY vGp @@ -84930,7 +85468,7 @@ dDB dDB dDB dDB -wZs +jXT dDB dDB dDB @@ -84946,39 +85484,39 @@ wzv wzv wzv yil -yil -wfB -kNn -yil -kNn +wzv +pnl +uHK +czn +uHK jZl -oqq -tmK -qMj -eLF -uBP -gGO -uEZ -jDi -nXv -ttL -pnH -dPW -cAv -iCx -pQP -mzx -dcK -cwj -izF -pdA -kjW -fap -uqg -cjS -gqS -kmL -eKU +mpB +gUF +mjq +mrB +kvX +ofp +xkf +jwQ +voT +uTt +gUO +ego +dYb +suQ +shr +tld +jzK +cGi +vhq +eNV +irl +eGj +wwg +ehN +svF +gwy +ecq olj gBh gBh @@ -85020,23 +85558,23 @@ qby mhk mhk mhk -xxT +bZl mhk mhk -pGS -sUN -lsP -pHA -iSD -iSD -iSD -oVW -ePt -jlW +lRv +buJ +taS +aSF +hyP +hyP +hyP +vmW +qPY +odu wBm hDT glM -atS +enx wEG wEG wEG @@ -85057,8 +85595,8 @@ qVP qVP ftv dWK -xOq -ipc +bpK +xZB vTV gWb pcv @@ -85187,7 +85725,7 @@ dDB dDB dDB dDB -wZs +jXT dDB dDB dDB @@ -85199,43 +85737,43 @@ dDB aWx tdY qcF -wzv +kNn yil xnL yil -pWm -pWm -pWm -mMF -mDb -srw -tXF -qaU -yew -ukf -vLX -fvv -uEZ -jDi -gxA -ttL -fkr -dPW -vCp -moN -kWY -mzx -dcK -cwj -izF -twA -kjW -xcW -hMQ -tNm -nWa -iua -kUN +wYx +pnl +pnl +pnl +pnl +wqP +bYD +wNu +qaG +pYL +qXq +vyI +xkf +jwQ +gjc +uTt +bqe +ego +aPd +wkJ +bkb +tld +jzK +cGi +vhq +nKt +irl +mhA +wOx +tvs +kGv +uYz +bNq bJK dez gBh @@ -85277,23 +85815,23 @@ mLh nry qRq mhk -vdL +siY mhk mhk -cXb -sry -uoR -neF -hed -hAB -jCm -iSD -bnQ -fVF +aPE +kOA +aNo +tdZ +dzo +pde +xpB +hyP +jAZ +fsG wBm wXk jte -diI +gLB yea vmt dzi @@ -85312,17 +85850,17 @@ blb blb blb xkt -heY -xOq +mVR +bpK mxg nPu vTV ekr tVe -geW +ehh qVP qVP -kZC +bmv rOG sLB qVP @@ -85443,56 +85981,56 @@ dDB dDB dDB dDB -ndm -aKm -ipq -ipq -ipq -lDo -aFH +qef +wif +rEd +rEd +rEd +oPh +tCR blb blb pWm pWm pWm pWm -pWm rjo pWm pWm pWm -bvt -bvt -bXb +wYx +wYx +wYx +wYx yil -fTJ -qpp -tmK -uBP -dBT -qMj -gGO -uEZ -jDi -jBg -ttL -glo -dPW -vCp -moN -kWY -mzx -dcK -cwj -izF -eyW -kjW -fap -kti -iwR -oQK -dFG -kUN +gyL +qVE +gUF +kvX +jHg +mjq +ofp +xkf +jwQ +eCs +uTt +sdR +ego +aPd +wkJ +bkb +tld +jzK +cGi +vhq +fdg +irl +eGj +feV +hBi +hny +emj +bNq cvJ olj knv @@ -85534,23 +86072,23 @@ mLk nsL kVn srn -iHT -pRc +mXR +uCs mhk -pbw -qzP -neF -hmC -xZe -eWk -hAB -iSD -cib -vTn +bjB +eLH +tdZ +dEQ +tee +iMt +pde +hyP +pbJ +lxU wBm wXk -dTH -xFS +uDn +qsJ yea vmH yea @@ -85574,7 +86112,7 @@ bvK skS mIT vTV -yaE +vQW tVe cDb fuj @@ -85706,50 +86244,50 @@ dDB dDB wCc dDB -wZs +jXT dDB dDB tYT aJq -aJq -pWm +gcs ako mmT vtJ acg pWm -bvt -bvt -vcm +aQx +wzv +wzv +wzv oii -jZl -sZP -wvZ -mDS -uFe -mDS -hal -uEZ -jDi -jHJ -ttL -fkr -aJP -dFA -cOI -uIu -mzx -dcK -cwj -izF -ohf -kjW -xcW -lkN -rjw -vSt -kOH -kUN +pnl +mUS +fIF +buq +loA +buq +hSA +xkf +jwQ +qXQ +uTt +bqe +mEs +wZH +gYM +dyQ +tld +jzK +cGi +vhq +mqP +irl +mhA +kUV +oMz +blY +pKr +bNq cvJ aIk knv @@ -85792,22 +86330,22 @@ dVW qSS mhk tKf -kwy +hun mhk -bBh -qzP -krF -sOi -tts -dRn -keL -iSD -rnr -aCz +tUO +eLH +cTT +apR +fxA +acQ +tDC +hyP +vLK +hhj wAW -spo +nba xiF -gEx +rFJ yea vne wMA @@ -85829,9 +86367,9 @@ cHp syk bKE uyH -iLe +pRH vTV -uNz +jYE eDX nte lNx @@ -85963,13 +86501,12 @@ dDB dDB wCc dDB -wZs +jXT dDB dDB tYT aJq -aJq -pWm +gcs arN wOz viE @@ -85977,36 +86514,37 @@ bOa pWm bvt bvt -bvt +rHa +fVj oii -jZl -gmv -jrD -jrD -jrD -jrD -ggJ -ibP -lxm -wgj -ttL -foh -exF -yey -aZp -ioQ -mzx -qaX -xJT -sMB -gbT -kjW -qdU -vuV -xLS -lfq -cHt -kUN +pnl +hao +dRy +dRy +dRy +dRy +hvA +aMt +rTO +jwk +uTt +cby +otu +fbf +oim +rsu +tld +glj +bwL +mpz +jah +irl +mTO +bzx +gEd +jto +pOq +bNq xxt liX knv @@ -86049,26 +86587,26 @@ mhk mhk mhk xmI -ivh +lNM mhk -fme -flw -apq -bJx -miF -sMj -vqF -iyR -kiY -tev +bFY +cei +jbD +kHk +iaN +yjJ +cHW +aDj +eUc +oPA wBm wXk glM -uAk +pmp yea vmX vij -xEl +sax wyl fEC fEC @@ -86077,18 +86615,18 @@ wmV qVP blb xkt -hcu +kZG mYR -vht +nmR mYR mYR -pho +qwu oKz -kXu +sxZ pds kPa vTV -ePP +uAk ddE tiM qGu @@ -86100,7 +86638,7 @@ qVP kvO tug hXU -iCi +lgL pxj hAC cVC @@ -86156,7 +86694,7 @@ xjz xjz xjz xjz -dDB +xjz dDB blb blb @@ -86220,13 +86758,12 @@ dDB dDB blb dDB -wZs +jXT dDB dDB tYT aJq -aJq -pWm +gcs pWm hDg qMG @@ -86235,37 +86772,38 @@ bvt bvt bvt bvt +bvt yil -jZl -wFZ -oLc -jDi -jDi -jDi -jZl -srw -jZl -jZl +pnl +xrK +qLk +jwQ +jwQ +jwQ +pnl +wqP +pnl +pnl jZl xck -cag +hTk xck -bJH +agM xck -cGV -cGV -cGV -lwK -cGV -kUN -hhr -kUN -gUQ -kUN -kUN -kUN +vXZ +bNq +bNq +ecq +bNq +bNq +hxl +bNq +tXf +bNq +bNq +bNq knv -tZE +cVi knv aJq hwJ @@ -86297,7 +86835,7 @@ wuM bKz kFg kRJ -bvV +ctm lGk uKP wCI @@ -86306,22 +86844,22 @@ mhk nFY mhk mhk -mze -iLH -oyz -tmi -klN -nDj -miF -oiZ -lvJ +ltV +bYw +hGu +jZY +uOy +rjM +iaN +gdj +vjC xYD -gRm -rmk +nCW +bfO wBm wXk glM -atS +enx rQC vne vHV @@ -86336,17 +86874,17 @@ blb xkt pXB mYR -lWz +iNU eJh -iPn +gxF aLk syk lCt sKE bWh vTV -tvx -sRV +oIw +bWj loL fvF qVP @@ -86412,7 +86950,7 @@ hJC aHJ wmy tBm -xjz +tBm xjz blb blb @@ -86477,36 +87015,36 @@ dDB dDB blb dDB -wZs +jXT dDB dDB dDB tYT aJq bvt -bvt fiw oIf pWm bvt bvt bvt +bvt pWm oii -jZl -jDi -jDi -jDi -jDi -jDi -jZl +pnl +jwQ +jwQ +jwQ +jwQ +jwQ +pnl oCE oCE lYH fGU bYl -ksM -cKy +tEy +hks tAm iQr kfv @@ -86515,9 +87053,9 @@ hrx hrx hrx lLe -emg +wLe knv -hFd +pZU wdo tkN gBh @@ -86534,8 +87072,8 @@ dDB dDB dDB slY -tjY -siG +dna +eWp nEA slY oPi @@ -86558,53 +87096,53 @@ tca lGT lWR mlr -nxJ +xbf mhk xYJ xYJ tYL -mSA +eDu mhk -jSJ -tOd -qzP -nDj -miF -oiZ -xPs -qOb -iQp -xyt +lLz +lGy +eLH +rjM +iaN +gdj +eKJ +tbY +wnv +eSz wBm vuR xgA -hiK -lei -pvi -pvi -buc +rMN +dcT +fVn +fVn +bYZ uAi -njs +aVO uAi fEC rui qVP qop xkt -hbc +tez mVt -dIt +oEV huN jBr -sNr +ldv syk -vYD -lox -rdW +oGi +mmV +aqJ vTV iWj -lRV -aUJ +gsE +xXp lfi qVP nGA @@ -86663,13 +87201,13 @@ tDn wVI npp nNB -iPy +gTz iWe -aWt +kmR sis sis sis -tBm +eEI xjz blb dDB @@ -86734,7 +87272,7 @@ dDB dDB wCc dDB -wZs +jXT dDB dDB tYT @@ -86750,13 +87288,13 @@ bvt bvt pWm yil -jZl -urP -kLr -wkj -tuu -kHd -jZl +pnl +rOB +rCC +vAp +tkR +raB +pnl oCE pWm pWm @@ -86771,7 +87309,7 @@ bNq bNq knv knv -lZr +sEc wDM uaZ fTf @@ -86791,7 +87329,7 @@ dDB dDB dDB slY -rhm +mog cis slY slY @@ -86815,34 +87353,34 @@ lme lHe lWU tca -urF +iAm mhk xZd mhk sNW -mze +ltV mhk -shR -ugI -rYs -dPx -nqY -oiZ -iSD -fGW -bIJ -cdB +lVi +qmS +gvg +qtI +lgw +gdj +hyP +kyi +nMN +vLl wAW -rpB -jzr -qMw -iEi -dTQ -cVO -uxY -czu -dny -doi +dgW +fle +tHW +snC +kEt +xdM +aWF +sRb +qSV +eRb fEC kJJ qVP @@ -86857,7 +87395,7 @@ xkt ujA cDH fFH -oBT +tdM vTV vTV xxO @@ -86869,7 +87407,7 @@ qVP apB sUG olI -gwa +gzi xsf skm qXj @@ -86918,10 +87456,10 @@ qdv bSH tDn eua -izh +rJx xAG jWd -lGO +dgx cZA hyX tBm @@ -86991,7 +87529,7 @@ dDB dDB wCc dDB -wZs +jXT dDB bSo aJq @@ -87008,11 +87546,11 @@ bvt pWm qjp kNn -jZl -jZl -jZl -srw -jZl +pnl +pnl +pnl +wqP +pnl tOc oCE pWm @@ -87051,7 +87589,7 @@ ueX mEB slY slY -nMV +mbu dRD xwz xwz @@ -87071,35 +87609,35 @@ kSO gNC lHk lXf -lKg +tco efS mhk qTJ mhk rGN -mze +ltV mhk -feL -peU -cxz -vUS -miF -lFm -szC -iSD -iSD -iSD +pjN +wtC +vIj +gFe +iaN +rlP +vwt +hyP +hyP +hyP wBm wXk -pEO -nRa +tuw +cWw rQC von -pvC -aLS +eXB +hvw wzS wzS -pPx +vBN fEC rui qVP @@ -87108,17 +87646,17 @@ qVP llW llW xkt -geH -buf +kXE +dGs dah urw urw -hCd -jwl +wQY +dBR cFg hWJ -vnD -xfm +dZK +shn voJ qxv apk @@ -87248,9 +87786,9 @@ blb blb wCc blb -wZs +jXT blb -ofx +bdx aJq aJq aJq @@ -87263,7 +87801,7 @@ ayK ayK ayK ayK -sXY +dQG kNn oCE vxX @@ -87334,22 +87872,22 @@ mhk mhk mhk mhk -mze +ltV mhk -fgT -ycb -nDj -jlC -wha -oIL -lFm -kzV -uaa -eYB -mIE +axZ +emq +rjM +uzH +vkf +aIr +rlP +cRL +jnl +xaL +fZA wXk glM -ldl +uOj yea vrf von @@ -87431,8 +87969,8 @@ qdv rwP uZB tDn -gTO -ctl +uyR +dKt wTm eJw eJw @@ -87505,7 +88043,7 @@ dDB dDB wCc dDB -wZs +jXT dDB vmL aJq @@ -87513,15 +88051,15 @@ ayK urz urz urz -sUM -gPv -oTZ -whn -avT +hYI +eWu +tfi +aoD +nKr cYt -nMk +uEX ayK -wIG +qZL ayK pnl pnl @@ -87591,35 +88129,35 @@ nGu xYJ ina mhk -gLV +nWe mhk -bTo -iSD -nDj -vUV -hmH -tBk -miF -miF -miF -juP +xQT +hyP +rjM +gGI +poQ +fhS +iaN +iaN +iaN +oCk wAW -lqq -ckP -xht +luG +wtV +tbe yea yea vJn wgA guY -oRy +sSn guY fEC fEC fEC rui qVP -vnC +eZL jnN gEH nDe @@ -87638,8 +88176,8 @@ dCU urQ xsf wJD -cXz -oOV +fqd +yiy jyi xsf qzs @@ -87688,12 +88226,12 @@ tDn tDn tDn tDn -vpt -hCl +kcI +cZh hqS cuh qQv -aYs +ydy pDu jqZ pDu @@ -87762,26 +88300,26 @@ dDB dDB blb dDB -wZs +jXT dDB ayK ayK ayK -gxd -oks -dlj +oaW +cqh +qLL cYt -kMe -kMe -kMe -kMe -oJm -jeF -vZu -jeF -mWB +fXd +fXd +fXd +fXd +jse +bwu +eHb +bwu +pyj rDV -vsf +iKU fHD agR dgV @@ -87793,13 +88331,13 @@ uOk nmH sHO ojz -hlC -srx -oOs -ehd -djX -jmN -qUJ +wlW +wiv +fUs +oQz +oep +uGd +ddo bNq pkB sCm @@ -87807,7 +88345,7 @@ obW grF ecn kmH -bHp +scM cPe obW blb @@ -87832,7 +88370,7 @@ xwz rFP rTU sgR -obH +lPz sSx tnu tPg @@ -87844,40 +88382,40 @@ lIn lXY mhk ina -pyA +ddn ina xYJ xYJ -xsD +qig srn -xxj -cSb -nDj -dkh -hHy -fMX -cxz -cZs -cZs -eYB -mIE +dwF +lWf +rjM +hOQ +ogU +wKF +vIj +mdh +mdh +xaL +fZA wXk -uQK -mwK -kyE +lXX +lsy +jtv yea vJA vKa guY -brj +jHN iQU pIw pIw fEC wmV qVP -jfE -dAL +hPp +eaM oUN tux jGd @@ -87889,9 +88427,9 @@ xNh xFe dqX bCG -kWm -dLR -ucy +ctQ +gGv +tdJ vBK xsf dEu @@ -87946,7 +88484,7 @@ sEU tDn fmw ket -hmt +qdh mTs qBc vWr @@ -88019,7 +88557,7 @@ dDB dDB rpi rpi -vbM +maS rpi jkV cYt @@ -88028,35 +88566,35 @@ cYt cYt cYt cYt -kMe -kMe -kMe -kMe -kMe -lWV -mWB -iSt -iSt -ltU +fXd +fXd +fXd +fXd +fXd +qrX +pyj +bag +bag +fEW ugF eTj -hDu +kuu uJH tHa -jeV -xFf +psu +vXQ xta cbj bKl cqM dgm -kEo -hkd -hkd -hkd -hkd -eue -dfT +qTL +pXK +pXK +pXK +pXK +xxD +uNU bNq muy hAN @@ -88081,60 +88619,60 @@ dDB slY ohl uuR -rZe +rDm jIH bbK ePn uki rFW bCZ -uqE -fkd +aVu +aXD sSA wcP qDP -wwJ +nhi yjc vLP oyZ lIq -lYt +guG mhk xYJ -lwC +dzK tYL mhk mhk -fpN +hHG mhk -kZj -xyt -apq -nrp -wXt -fYe -uzm -iSD -iyR -rya +mXH +eSz +rlP +vqN +lWK +iZw +eoh +hyP +aDj +fym wBm -kvD -xiS -crm +gRC +opm +wMF dyq yea vKa wgM guY -vhr +fMd pwN -liJ +gmT pwN pTq rui qVP -jpM -aJV +beR +dGi gEH dyO tJe @@ -88144,11 +88682,11 @@ xmL wrO vHu xFe -hNP -igs +een +cRh vwQ his -tCh +qkH aTq wuc trp @@ -88188,7 +88726,7 @@ blb blb rtQ tEt -ujE +soz abJ voj vKG @@ -88276,50 +88814,50 @@ dDB dDB blb dDB -wZs +jXT dDB ayK ayK ayK -evW -mWB -mWB +pMH +pyj +pyj cYt -kMe -kMe -kMe -kMe -nDJ -lWV -mWB -wjw -kMe -tDu -ccA +fXd +fXd +fXd +fXd +sxK +qrX +pyj +ksd +fXd +xgW +nor oPa -sXE +dja qKx xed -uLk +kDe vrh eat oYv jJg bsG wqW -cQV -tdb -tdb -tdb -tdb -qyr -mLZ -vHU +jbB +pXA +pXA +pXA +pXA +wsL +lkv +ruS lER hRO knv rKZ -mGn +tgo lvK jiC vdw @@ -88346,8 +88884,8 @@ xwz rGq rUt sgR -wcz -eIF +lDB +rdl juJ mTe kqL @@ -88358,25 +88896,25 @@ lIw lYw mhk qjn -uiw +oCT ina mhk ozt -mrn -vRn -ani -bKv -jCm -dPx -miF -yhX -iSD -iyR -lkJ -qzP +jwT +hkZ +aER +frG +xpB +qtI +iaN +qVk +hyP +aDj +kKK +dfI wAW -yiY -nSb +wlE +uTQ xOS yeF xle @@ -88384,13 +88922,13 @@ xle xle xle xle -jlz +yfW kte -cVh +vLL fEC wmV qVP -wQn +bcG rpq gEH jlt @@ -88401,14 +88939,14 @@ xGT wrO xNh xFe -aAj -myy +mAp +qAu dDQ utP bVO -ezV +dkZ wuc -iiX +gHQ sos trp edK @@ -88451,7 +88989,7 @@ lzM raf uMu vKG -snW +vXO xAG pSd uHF @@ -88463,7 +89001,7 @@ ket mTs iAy ora -oTJ +duV hTZ wjZ jUp @@ -88533,44 +89071,44 @@ dDB dDB wCc dDB -wZs +jXT dDB aJq ayK -oks -gxd -gxd -mWB -xqL -kMe -kMe -oYF -kMe -kMe +cqh +oaW +oaW +pyj +gkk +fXd +fXd +sKr +fXd +fXd cYt -mWB -sHg -pjX -ffL +pyj +eup +vVa +dNe tmk wzF gom gzs ilz -jeV +psu hFA gkW rmM btV lMl ayR -kEo -aQX -aQX -aQX -aQX -oRW -qsr +qTL +bEM +bEM +bEM +bEM +vNP +rGS bNq wxG uIX @@ -88605,7 +89143,7 @@ pjL llN jqu sSU -vuJ +sBO hEi kqQ uUb @@ -88615,33 +89153,33 @@ lJV cYT mhk mhk -dDi +bal mhk mhk sNW -jQv +fsr mhk -oOC +vlE xYD -dhu -kZI -miF -yhX -jCm -hOO -lzG -tWm +pNF +xEZ +iaN +qVk +xpB +lhW +ick +eda wBm -fNW -beN -oRw +wvk +qaJ +kER xle xle slZ -iIU +xgi wAj xle -jep +oCi guY yaW fEC @@ -88658,12 +89196,12 @@ vDQ vDQ fov xFe -iWp -igs +leT +cRh fho erZ -tCh -eiy +qkH +xIS wuc npH sos @@ -88702,12 +89240,12 @@ rpi qYn aWc irp -gPZ -gPZ +rga +rga tYq tYq dJT -vWr +bnW tYq xAG pSd @@ -88790,26 +89328,26 @@ dDB dDB wCc dDB -wZs +jXT dDB aJq ayK ayK ayK -lQU -ruR -lQU +bSy +sSc +bSy ayK -lQU -lQU -lQU +bSy +bSy +bSy ayK -lQU -ruR -lQU +bSy +sSc +bSy ayK rDV -mOx +quY dwC iAk sql @@ -88821,13 +89359,13 @@ nra hGp sHO drI -kEo -eAE -klG -cHh -klG -jLv -jSE +qTL +mzm +ioZ +cGa +ioZ +wzc +lAM bNq hOX fEU @@ -88871,39 +89409,39 @@ slY mhk mhk mhk -rZb -jXc +gJt +irL xYJ nZW xYJ -jQv +fsr mhk -rqF -aFb -qzP -sQy -miF -yhX -iSD -ani -cLL -rPW +meO +xtd +eLH +xYC +iaN +qVk +hyP +aER +fHC +dJm wBm -fNW -iZW +wvk +rBl uoh xle -pgm -swu -iDA +tuI +pht +epg wAS xle -bXi +uhB tuZ fEC fEC -rPL -lGd +bgw +qrO dAn cjR ekZ @@ -88915,12 +89453,12 @@ gLs nfg icc xFe -rqp -bQc -phd +tQW +uqa +mkW lyc -iTe -gEG +lLg +iYE wuc xul sos @@ -88960,9 +89498,9 @@ rtQ rtQ rtQ ndM -wpr +cbY tYq -sYw +alY kOR iSr kws @@ -89047,24 +89585,24 @@ dDB dDB wCc dDB -wZs -dDB -oma -sjG -pXv -ouJ -bzc -bzc -bzc -jdX -ikC -bhN -aRx -jdX -bzc -bzc -bzc -jrv +jXT +dDB +krm +klj +mRn +wlM +ufc +ufc +ufc +giC +hjl +eSc +oHb +giC +ufc +ufc +ufc +pBq rDV rDV rDV @@ -89128,38 +89666,38 @@ slY rXw lYT mhk -uiw +oCT mhk mhk mhk mhk -ete +gqY mhk -dlB -wJT -sGk -kZI -miF -yhX -iSD -ani -eln -jlW +ndm +fRu +cWA +xEZ +iaN +qVk +hyP +aER +oDv +odu wBm -fNW -uQK +wvk +lXX xOS yeS vrz -dxG +mES wiC dOT xle -chh -aul -jPo +xGj +uPQ +wGv rOG -dFQ +dGq fEq rpV qVP @@ -89172,15 +89710,15 @@ tdx ojD uDv eyB -ylp -bqx -bqx -bqx -bqx -uvf +fwA +tze +tze +tze +tze +wyG wuc xul -qTG +uHE wuc wpw ufg @@ -89224,7 +89762,7 @@ jJP uwB uwB uwB -iWs +rRX uwB uwB uwB @@ -89243,7 +89781,7 @@ wjZ tyh eJw vJL -tkE +tjB bhv vXi bZs @@ -89304,33 +89842,33 @@ dDB dDB wCc dDB -aKm -dHW -aFH +wif +qJW +tCR ayK -rzb -aNd -aNd -aNd -aNd -aNd -lrQ -osw -dYE -aNd -aNd -aNd -cay -nlj +xgM +cOv +cOv +cOv +cOv +cOv +bsN +awa +lKq +cOv +cOv +cOv +toE +iSS ejN -rbI -kZr -ftT +lwz +fOd +rSG ejN ejL feo oVt -aQx +rUX rFb rSW wPM @@ -89363,7 +89901,7 @@ slY slY mFA slY -aus +bpR voz sRg hmb @@ -89382,38 +89920,38 @@ kso kYG kYG pep -nJo -avY -oHk -jRJ -cAZ -iHT -vMP -vMP -eRy +njj +wPQ +ggW +roK +cnF +mXR +eZQ +eZQ +cJI mhk -iSD -keQ -cxz -vUS -miF -yhX -iyR -sSN -ttb -dIQ +hyP +aXW +vIj +gFe +iaN +qVk +aDj +prc +nXU +oqM wAW -fNW -oYi +wvk +iec xZg lBN -hKU +ohg ixl qyx vXr jTh -wXe -fuu +fZJ +vog qVP qVP qVP @@ -89425,7 +89963,7 @@ xfN daq xFe lgh -dYc +efR nlf yjd xFe @@ -89446,7 +89984,7 @@ oAn ufg wuc vmS -nzA +rYE xHO wuc xAR @@ -89477,7 +90015,7 @@ ohu xgw gMs rrQ -hAW +qPD mFq wpy wpy @@ -89500,7 +90038,7 @@ wjZ lka rYG txN -hdz +xzF ayV ezi ezi @@ -89563,30 +90101,30 @@ blb uqe uLW blb -aKm -fxp -nKe -guh -cBl -fJe -aJb -cay -fMB -maK -iWD -cay -aJb -cay -oCb -mct -ffK -gjE -aTB -hXc -aUb -vud -efi -efi +wif +bjj +mER +ujm +gqx +qEL +dAd +toE +hqU +dla +htu +toE +dAd +toE +ddi +hNL +dLK +hfG +dnf +nJA +tdX +tza +uoD +uoD nGP vuq faQ @@ -89620,11 +90158,11 @@ blb ueX gIx gKK -vOm -tOw -hVk -gpP -iJq +cbA +lvI +vqy +pZa +rMT ivm slY kPW @@ -89634,49 +90172,49 @@ skW wOM jpR ueX -aae +kkN uxd xaZ dZm slY -ilo +tyf tYL mhk -twm +uXm mhk mhk oaa mhk oTH mhk -lji -wZD -nDj -sRF -miF -yhX -lmm -lkJ -iQp -fVF +bBb +mWN +rjM +gyO +iaN +qVk +hrh +kKK +wnv +fsG wBm -fNW -uQK +wvk +lXX qHH xle -dnK +bKD vKV wjG wPh xle -eof -hQx +kSl +csO hDN dcc vRC iqG -pBm -nDQ +caM +baH hDN ylR gIV @@ -89703,8 +90241,8 @@ bRr ufg wuc iai -pgg -eMc +lhA +upo wuc gqg trp @@ -89740,7 +90278,7 @@ xIj eoz eoz tTW -bQy +pvZ tMS xIj vfN @@ -89822,24 +90360,24 @@ sQm wNU aci ayK -gBB -rZo -icF -xUK -dTo -dTo -sTJ -imO -qmT -dTo -dTo -dTo -gwf -lCb +tFC +uIi +sEA +afO +vRb +vRb +owN +vVq +hFB +vRb +vRb +vRb +xFS +ppJ rQi -jWC -eUx -xgd +iST +xKu +nrP wfn eDo ecY @@ -89896,29 +90434,29 @@ ksx mEB slY ueX -jQv +fsr sNW mhk -fkN -nUK -bjh -kbk +oDH +shc +qTC +gOg mhk mhk mhk -sZA -xyt -nDj -fiW -cfb -yhX -jgq -hYh -ahl -oul +dUr +eSz +rjM +fwl +biu +qVk +ddc +pLU +bSD +mhb wBm -dcD -pOM +fzi +xtj upg xle xle @@ -89926,11 +90464,11 @@ xle xle xle xle -gyx -uTz +sNI +ibd ybj uab -rjN +oiy wPe xjg flp @@ -89951,7 +90489,7 @@ jWs lnz wuc xul -auf +okI wuc ufg tiW @@ -89999,7 +90537,7 @@ qPN qPN qPN qPN -eQk +tsb qPN qPN qPN @@ -90012,7 +90550,7 @@ sCu nQP wjZ qeP -jgQ +rgn oPV qHI ect @@ -90080,19 +90618,19 @@ blb osa blb ayK -tpW -scU -dyI -dyI -dyI -jhB -bbB -pys -dyI -dyI -dyI -tpW -pUM +sIB +ttj +eOH +eOH +eOH +oPu +vZd +gLj +eOH +eOH +eOH +sIB +gkS ayK ayK urz @@ -90103,7 +90641,7 @@ lYF uBj nRA wnR -eVC +lKM gKL jOi rNI @@ -90136,15 +90674,15 @@ slY slY eVc hbw -wOZ +bVJ hmj -arL +qrG sRg slY slY slY slY -nHp +jue jrX jIN xEm @@ -90153,43 +90691,43 @@ ksA oJR oiw mhk -jQv +fsr sqz mhk mTd qBz qTR -kym +vfp rHD -dTe +fNg wCR -jRz -qzP -nDj -kVg -oUb -yhX -bQd -ani -hKZ -fVF +pkc +eLH +rjM +fpL +eMp +qVk +eFz +aER +vHr +fsG wBm -fNW -uQK +wvk +lXX xOS kWJ tJz -tIa +vyq mvv jsS ocz -nPe -lTa +utB +cYl hDN xyx xjg wGK -cZk +toP dPl pHe rAC @@ -90202,7 +90740,7 @@ gWB gWB gWB gWB -oJB +jPi jmi fvL lnZ @@ -90226,7 +90764,7 @@ ujr rKv dYp trp -bKa +kjN xul xul fAr @@ -90337,24 +90875,24 @@ aci bWl wNU gfA -wXL -ipN -szg -tIR -dFY -pMM -tIR -hCT -kAz -cKm -szg -tpW -pUM -kMe -kMe -fGf +sca +ntb +bmQ +jij +fUG +mcr +jij +xCs +pDv +sWN +bmQ +sIB +gkS +fXd +rWi +dTR ayK -izf +gQN aWA ugA tIN @@ -90365,7 +90903,7 @@ gKL upG daC jBo -xrN +bdq gpI lhq cBw @@ -90393,7 +90931,7 @@ eEq sRg gQG hbw -aGI +wPI hmQ pGE jug @@ -90404,46 +90942,46 @@ vpb lmS lAk jIY -jDm -tfX -khZ +vyT +ovX +bkz nSY nYQ mhk -ifl +uMj mhk mhk wCR wCR qUs -vAl +pcO qmz -uvb +amf wCR -swM -jlW -lFm -ftC -oUb -vXd -iSD -gVL -pyt -tXy +gtv +odu +rlP +pOh +eMp +jjt +hyP +bIH +gVs +trZ wAW -chC -nSb +xAj +uTQ xOS par tJz -kql -kql +uKk +uKk rAR ezM -nPe -nnd +utB +seL hDN -vcl +lML tPf xjg kXo @@ -90461,10 +90999,10 @@ vZm vZm qIp jaQ -jiq +owW bBk wuc -rWU +bpq sos wuc ufg @@ -90481,7 +91019,7 @@ xAR trp etx fwS -iLZ +lbt trp jRx xul @@ -90518,7 +91056,7 @@ wbf noS iui qPN -jQf +oCh whc skc wjZ @@ -90594,24 +91132,24 @@ sYg rpi blb ayK -tpW -mss -nBP -ibX -irR -hDd -nPl -hCT -cLw -ibX -nBP -oTf -pUM -kMe -qkq -wRy +sIB +hZS +ttS +qMd +pCj +etV +iJK +xCs +uNb +qMd +ttS +lcv +gkS +fXd +bhX +oXo ayK -goS +jYZ aWA thb oxc @@ -90628,7 +91166,7 @@ hpj rYL gpI jlL -qQR +ris bNq neg wZr @@ -90645,11 +91183,11 @@ dDB dDB dDB qiz -lKV +cVF mGY hXf -xGf -jLb +tRe +rdB hgd mrP xrZ @@ -90658,47 +91196,47 @@ xat xat xat xat -tov +jXB jEK jJc pOg kft ktM -sOP +oSK otG mhk -oEn -lPK +pTv +pjv mhk mTN wTO qVR -kym +vfp rHH oUJ wCR -oOC -iRE -rya -kZI -oUb -yhX -iSD -ojA -uPW -rPW +vlE +sDZ +fym +xEZ +eMp +qVk +hyP +flZ +oaG +dJm wBm -fNW -uQK +svJ +lXX xOS uJD tJz -uZk -gOw +lbi +pXr jsS iAM -nPe -byv +utB +nji vEP qVV qVV @@ -90706,7 +91244,7 @@ qVV qVV qVV qVV -grH +nkq qlc xur nGi @@ -90718,7 +91256,7 @@ bCf xur xLl xur -dLv +vsR xzE wuc psX @@ -90785,9 +91323,9 @@ muS qeP tBA oPV -pQn -kqy -apo +pue +xwV +wNd tSB eGL dDB @@ -90851,24 +91389,24 @@ uLW rpi blb ayK -rxJ -wLU -szg -jWr -dFY -pMM -bSk -hCT -nAJ -jWr -szg -oTf -awH -gAV -qkq -wRy +xRy +bmo +bmQ +rPh +fUG +mcr +isN +xCs +fbm +rPh +bmQ +lcv +hyN +kEf +bhX +oXo ayK -vDS +rrY aWA lVv nHq @@ -90902,13 +91440,13 @@ dDB dDB dDB qiz -lKV +cVF mGZ qOm -fuV +uBJ hbR hgn -jEQ +hes gRL hcl xat @@ -90921,32 +91459,32 @@ jJc lvu hPd kua -lEm +cKw oiL mhk -kPo -wkK +xLG +hjr mhk wCR wCR qVZ -kCB +oxs rJo sas wCR -rTn -xPp -uoR -kZI -odH -yhX -iSD -gOt -bYh -uoR +wyr +nxa +aNo +xEZ +sQV +qVk +hyP +dlP +nmJ +aNo wBm -fNW -uQK +wvk +lXX xOS uKA uBc @@ -90954,11 +91492,11 @@ tuZ tuZ uBc xjX -nPe -nnd +utB +seL vEP gxg -djg +wTI qVV mpQ lqd @@ -90975,7 +91513,7 @@ xur xur iYY xur -leB +kKW dYj wuc aTn @@ -91015,24 +91553,24 @@ dDB dDB dDB qyN -kgu +gef wOl -dby -ktT +umB +pgG gGB -ltQ +nDM wyb -pEB +bYx wWS wyb jLB sMq -oae +pkx eFy rBy ngL kND -qBc +cQR vWr oQF rsH @@ -91106,27 +91644,27 @@ sQm sQm qZm bSv -vnL -qEy -iHa -rXm -dyI -dyI -ozQ -ozQ -xAx -brA -brA -dyI -dyI -oTf -pUM -kMe -qkq -wRy +bLZ +rzF +jzq +qyq +eOH +eOH +kKF +kKF +dmR +pqZ +pqZ +eOH +eOH +lcv +gkS +fXd +bhX +oXo ayK -swK -jTf +kLR +qKl nCC rDc qQi @@ -91136,10 +91674,10 @@ gKL nmX cyy paX -rdH +dmi gpI ceP -mcj +ftT gpI qCT rWH @@ -91162,19 +91700,19 @@ sRg hBq mIA sRg -kuQ +nsS hgZ hgZ -kaz -eOk +vNG +obg qgK xPX wzo hLm bGU -wSi -gNV -wqI +tWg +afc +yfr gEJ xat wnd @@ -91182,37 +91720,37 @@ kIO wnd mhk mhk -sBf +ciw mhk mUt wTO uSI -scY +jmB rJo bHU wCR -rik -hyW -iSD -kZI -oUb -yhX -mye -lZT -uoR -iSD +tzp +oyx +hyP +xEZ +eMp +qVk +sOd +cha +aNo +hyP wBm -mcI -fyW -bcC -hNj -kKh -ebE -iHq -azV -oLo -sCq -nXx +svH +mmB +dlt +tgf +wrt +sDg +hvs +ixk +gtf +wWu +xaF vEP wXC crJ @@ -91237,7 +91775,7 @@ huE wuc xul sos -dyr +fwn sos xPf gVA @@ -91247,8 +91785,8 @@ eOt eOt eOt vUf -olV -mkt +foJ +vHS vRt vUf vUf @@ -91256,7 +91794,7 @@ vUf muI vUf vRt -mZa +jFV trp lbG oJA @@ -91365,22 +91903,22 @@ blb osa blb ayK -tpW -wLU -nLJ -nLJ -dyI -eHS -tIR -uMF -dyI -kRV -kRV -oTf -pUM -kMe -lgD -gHm +sIB +bmo +shz +shz +eOH +jzR +jij +dRl +eOH +rkE +rkE +lcv +gkS +fXd +gnn +mCV ayK nXC nmi @@ -91388,7 +91926,7 @@ cED nQE rLj gNt -iIK +iaZ gKL fMA gFF @@ -91439,43 +91977,43 @@ msq laD gSX mhk -jQv +fsr mhk wCR wCR wCR -iuF +fuA ozO -rxa +qQh wCR -iSD -tzN -pnK -dbZ -wQw -bej -spk -iSD -iSD -iSD +hyP +sIe +lDW +eoA +bvU +ofJ +rzH +hyP +hyP +hyP wAW -wXk -qjt -sJv +uJk +hkX +eZO slM tJz vLC -rRq +hUD jsS ezM -fLJ +jMr oZi vEP uQu -jCZ +pZM ePV uES -guK +eSH qVV yfY mMY @@ -91622,19 +92160,19 @@ wNU qZm dDB ayK -tpW -wLU -cBd -cBd -dyI -ozQ -xAx -brA -dyI -oer -oer -oTf -eFi +sIB +bmo +twb +twb +eOH +kKF +qUO +pqZ +eOH +nRe +nRe +lcv +mSL ayK ayK ayK @@ -91657,7 +92195,7 @@ weA nlZ lYj lYj -lYj +pIt uKh lLA lpJ @@ -91675,12 +92213,12 @@ qtG hem cks hCX -vwZ -gEM +siA +dBq iCw -bnn -lBz -mJe +vBU +ejw +suj iDO xRV xRV @@ -91688,7 +92226,7 @@ xRV xRV lCg lCg -kYa +fZf rBh xRV iLF @@ -91696,36 +92234,36 @@ kJb laL loj mhk -jby +qfH mhk mVM aSI xRV -oFy +jlD xZS xZS xRV xZS xRV xRV -rcP +mCR xRV -xhk +iEC xRV xZS xZS xRV -aXC -jsJ -mKm -qZj -vrS -fKr -sfu -sfu -ugb -wrk -wbd +aaC +bMc +vYl +pjV +vDS +bOB +ymb +ymb +ovu +nbV +eZf lbO ybJ fbe @@ -91768,7 +92306,7 @@ trp trp trp trp -yhQ +ngS xqd xul trp @@ -91879,30 +92417,30 @@ blb blb dDB hdT -tpW -vNO -whZ -qUR -qUR -wcY -xLF -iiE -mib -mib -mib -xbo -jCH -kut -wDn -jyF -rzm +sIB +cnO +iVl +svV +svV +eUm +mFE +ssJ +bRT +bRT +bRT +bEU +bRo +pIQ +mpw +kFd +xln gBA sSB sHM iqB fdy hnS -vvC +sKD hxY vpZ oRj @@ -91937,45 +92475,45 @@ wbi wbi wbi hnO -nxI -sxZ -qGc +wib +bBf +hOY pfw -sar -tSA +lTn +lFd frI frI uIv frI -aDJ -hKV +frI +phD mZg frI frI -oyp -mXZ -mUm -mAR -qWG -fkS -tDM -qWG -qWG -rvr -qWG -mOV -cQG -oUi -twe -qWG -rDv -qWG -qWG -ghL -vWw -aBo -rZz -tfM +auB +nLh +aJl +aLX +aWK +hTE +qhv +aWK +aWK +uaW +aWK +xGz +edh +oNw +jCx +aWK +urU +aWK +aWK +bId +xmc +tdk +qIG +mSm nsO uBc tJz @@ -92010,9 +92548,9 @@ trp eKW wuc tKR -huY +pdO chO -oHw +vPp gkw lba tKR @@ -92136,30 +92674,30 @@ dDB ayK ayK ayK -tpW -udO -aNd -aNd -aNd -aNd -aNd -aNd -abc -aNd -aNd -aNd -doc -tQR -tGF -fJn -nnz -tLp -boB -cOJ +sIB +jfe +cOv +cOv +cOv +cOv +cOv +cOv +wLT +cOv +cOv +cOv +qVh +aiG +psa +rYr +dPW +nOP +ryj +rrz iqB phY jmZ -agY +oJl bDh fPY xkX @@ -92190,31 +92728,31 @@ gBk hNY hNY gxR -inh -jvB -inh -iZK -pVq -hBt -jQW -uAo -uAo -iIv -uAo -jsG -jLr -aHS -fHN +alD +uOm +alD +tGs +ehk +mhB +uqF +fnZ +fnZ +mXp +fnZ +fhf +dQl +fAD +lRZ jpu pWM foe jpu lKA -amh +wzP jpu qdS jpu -xfX +sLf xmu jpu jpu @@ -92222,27 +92760,27 @@ jpu foe jpu lKA -uDB +icF jpu jpu fXJ jpu aRJ wRg -rPA -iUh -sXs -atS +bLf +bYm +sDB +enx ftX udA -mJB -vDe +iHI +xGg vJV qBN iKm eUZ vEP -rPU +iVf pCF fCS syR @@ -92263,15 +92801,15 @@ dDB dDB blb trp -qaF +hwN vvP wuc gTe -nYH -lHz -hmk -lHz -nYH +jXa +sDM +oVy +sDM +jXa gTe wuc pRL @@ -92314,8 +92852,8 @@ qPN qPN qPN uDQ -iOM -cLW +cKB +sZX wbf bJZ yeO @@ -92323,7 +92861,7 @@ muS muS muS fOQ -ulp +wlA sVN blb dDB @@ -92391,28 +92929,28 @@ dDB dDB dDB ayK -lsF +eEv ayK -rzb -qme -aNd -aNd -aNd -aNd -aNd -aNd -wqz -wqz -wqz -wqz -xKe +xgM +tGW +cOv +cOv +cOv +cOv +cOv +cOv +rgX +rgX +rgX +rgX +uva yjE -rNG -whK -cTK -jKU -jKU -jRU +fOR +jUj +ukJ +kTm +luE +irF iqB ahW wfn @@ -92465,31 +93003,31 @@ kfw yeD kJj yjZ -fUC +rcF yjZ -lCK +eIj yjZ -dOf -wWD -wvk -vkC -fUC -dKm -rEJ -fUC -fUC -ifu -aSW -fUC -fUC -fUC -fUC -uqF -dff -qGe -gNP -hzp -atS +mlt +cbC +ech +pZp +rcF +vfz +pSe +rcF +rcF +uDs +bJP +rcF +rcF +rcF +rcF +phi +aNd +rfW +gGe +wdO +enx ftX fnP gvV @@ -92499,10 +93037,10 @@ qYK jMX uYH vEP -jDc +uMM jIl qVV -jDc +uMM jIl qVV eux @@ -92521,7 +93059,7 @@ dDB blb trp qDx -azZ +xvi wLd hPW kOm @@ -92647,27 +93185,27 @@ blb rpi rpi rpi -ldG -mWB -sCC -ryr -vgf -aeG -dzh -cvc -buI -kjs -xUK -vni -uAM -lHd -nHH -xTr +inA +pyj +fvb +nPZ +cuw +icG +ylO +mNL +etj +gtw +afO +nMc +tVu +hmZ +tVu +nJX yjE -dGV -fDO jKU -vTg +jKU +jKU +jKU jKU nQB pVM @@ -92685,7 +93223,7 @@ eiD cow poL rjv -hem +gtm hFp bgE lpJ @@ -92704,7 +93242,7 @@ lYj hJP noz niw -xSd +qhG ubT lYj mmw @@ -92712,22 +93250,22 @@ eLx hCr tsF xRV -aEd +diw xZS xZS xZS xRV xRV -vIJ +uum kux wGz yaL -dAC -dAC +uEq +uEq yaL -fNC -rpv -cXh +dWX +whE +lHo jVM xeO wMg @@ -92735,19 +93273,19 @@ xeO xeO xeO xeO -kTm -sot +ifZ +wUx xeO wMg wMg wMg xeO xeO -cUf -rEW -nsD -iUH -isK +xBI +aqA +qkb +utR +wAW uBc uBc win @@ -92914,7 +93452,7 @@ ayK ayK ayK ayK -lwO +gRA ayK ayK ayK @@ -92923,8 +93461,8 @@ ayK yjE eIT whl -flE -jnB +wsJ +gyC eqS gsY xsX @@ -92969,43 +93507,43 @@ hwo hDC tsF ijN -mDL -lfs +pOe +lHy wCt lEa lWk xRV owR -wLo -xfe -ehT -urq -ddB +qcI +kkR +cfr +pRj +fof yaL yaL jVM -wRO +pVg jVM -rEF +sKp kGE -waI +eKv xeO -tnZ -oPy -omq -pKx -cik +jgb wKr -dsl -wMz -ntP -rNL +joy +aMM +udq +wKr +sIR +fgS +kbU +fOW xeO -rEW -qSk -hWm +jZP +oVC +mCk fvh -abB +jMh tCF ncD blb @@ -93170,10 +93708,10 @@ dDB dDB dDB vxt -nST +mFQ evM -aOa -rtX +pty +qSk hVq hVq bUF @@ -93233,36 +93771,36 @@ jsN jLI xZS vrn -nzK +hri wQB yaL -ids -wgI -uuz -iVP +hHL +tzX +kCt +gDR jVM -cKt +vSM jVM -hIm -azq +cDl +qlw iTv wMg wKr -vtr -mcV -iGq -uTE -eKD -oCi -wFd -wFd -wFd -nEq -qie -oCV -emF -iuR -iuR +wxv +cqp +mvi +tXD +tTN +mjM +jcj +jcj +jcj +mBZ +uBL +grJ +iJC +ciH +ciH dDB dDB dDB @@ -93427,21 +93965,21 @@ dDB dDB dDB vxt -nST -nST -nST +mFQ +mFQ +mFQ vxt yfa yfa hVq yjE -okD -hVz +dRv +bKm gwl pPm jKU -qbP -iGM +mWS +hFo nck tau gKL @@ -93484,40 +94022,40 @@ qlP uVT sQI iri -bah +dip uVT uVT -gBw +cbz xZS vrn ncL wQB -joH -lte -tsB -iGS -oTg -fri -moG +rde +bck +wXf +tEF +qsx +kjH +jjy jVM -tPX -gfm -rcE -fRX -gAH -mmL -mmL -qDC -btY -mUi -xMu -qmM -vSi -hEJ +fMf +nmn +ltO +hku +iDd +cVq +cVq +gfD +mPs +dVY +ydF +cSb +gLl +oOH wMg -ocv -eZi -kHX +vXC +cMQ +oTl tYX dDB dDB @@ -93732,7 +94270,7 @@ sUy muW mOk iap -oGo +pWW iDk sUy jaK @@ -93746,35 +94284,35 @@ qCJ xQw jLI jYU -pZv -sjL -tNf -iiI -hnn -jRl -kqZ -buU +hlT +fSs +phd +iJm +jxF +dLg +hLE +cXg jVM -rpg +uPd jVM -hdI -kRA -pKx +cPU +cQC +aMM wMg -iZM -fEX -fkF -jLS -jkT -oxn -saL -iLh -hEJ -hEJ -aIi -bMV -eZi -kHX +iLx +vfo +eEZ +jET +tHu +nNJ +jvu +vxO +oOH +oOH +fZn +kpj +cMQ +oTl tYX dDB dDB @@ -94003,7 +94541,7 @@ eHk xQw gtr xZS -vET +qgi ncL qwz jVM @@ -94012,26 +94550,26 @@ jVM jVM jVM jVM -eAm +wLY jVM -uCo +lra lql -pKx +aMM xeO -gLg -jdx -dLW -feR -fZK -qbB -iwt -uSh -uSh -kdg +bbL +qqg +nJW +gVF +dyd +ycw +wkQ +tgs +tgs +fMz xeO -mWF -eZi -kHX +cCM +cMQ +oTl tYX dDB dDB @@ -94260,35 +94798,35 @@ iWW uVT uVT uVT -vET +qgi ncL wQB -jVx +gDg jVM -rXy -bFO -avp -avp -qiI +gva +eYH +gwK +gwK +oBb jVM -bLS +nPn xeO -rbj +aBj xeO -sXD -qSa -feR -aZh -jdx -pOQ +dgy +xzv +gVF +wTf +qqg +gIJ wKr wKr -kKD -mDA +gLf +cwM wMg -bMV -eZi -kHX +kpj +cMQ +oTl tYX dDB dDB @@ -94505,54 +95043,54 @@ xil ljN gTH ipf -wmu +oai sUy jnh hEm uVT idN -pWB +pxp rWE qJq oIP azm xQw -vET +qgi ncL wQB -aaZ +gUd jVM -avp +gwK jVM jVM jVM -tDF +vXW jVM -ipt +duR jVM yfC yfC yfC yfC -qzt -ljT -vzE +uDK +brR +dJD yfC yfC yfC yfC yfC xli -cVm -sQP -ifH -iuR +xKJ +aJe +lCE +ciH tYX tYX -iuR +ciH tYX tYX -iuR +ciH dDB dDB dDB @@ -94774,42 +95312,42 @@ iLC jts wzK eAc -lcY -kuE -lqQ -esr -tAw -rXy +aGo +bvg +uGR +pSA +eZz +gva jVM -eXB -eIW -ptX -hsH -srg +mFO +nnu +jIe +nKm +bcw jVM -ayT -sZo +dFm +jvn yfC -lnN -egc -qiC -qiC -qiC -qLU -pnF -qiC +ndY +nUn +iFl +iFl +iFl +kze +taA +iFl yfC -hoc -lhT -jbX -diP -rgM -trB -trB -saz -lcD -gCl -euz +kTj +cCQ +oUX +mbU +vdT +tgO +tgO +pPW +aer +vrw +lWq dDB dDB dDB @@ -95022,7 +95560,7 @@ ahE plz sDq jwi -qCj +aiW uVT uVT eku @@ -95031,41 +95569,41 @@ eku uVT uVT uVT -lYl +tzl kvl wQB -rxD +nzs jVM jVM jVM jVM jVM -pSI +hEq jVM -xlU -jRK -nrg -xXD +htJ +nwZ +qnQ +adP yfC -sJV -uIA -pIC -pIC -mWT -pIC -oun -wBc +wsp +gTR +jsi +jsi +obT +jsi +oca +eyI mKY -mka -vCi -gnL -diP -trB -trB -trB -ryW -diP -kHX +aQO +tAi +ghP +mbU +tgO +tgO +tgO +hWE +mbU +oTl tYX blb blb @@ -95277,7 +95815,7 @@ xMk xsh hcc xGJ -bBN +sBV jwi qtd hOg @@ -95288,42 +95826,42 @@ ghD gaf xQw mvT -vET +qgi kvT wQB -cZi +eNs jVM -lbl -bwy +qgc +afg mqz jVM -gls +bmt jVM -lzB +lPP jVM -jfT -dEq -wEv -uJi -ntu -uMJ -uMJ -uMJ -dvd -tRJ -wBc -kxY -bMV -dPp -kMA -iuR +wjU +nnC +sgo +gwD +fxT +jDH +jDH +jDH +fMD +pnp +eyI +pkY +kpj +moY +uQG +ciH tYX tYX tYX -iuR -nUd -ong -iuR +ciH +rmv +jjE +ciH tYX dDB dDB @@ -95536,7 +96074,7 @@ hcd plz pkh jwi -aeC +pFb qVo uVT dJd @@ -95545,42 +96083,42 @@ hMh juS uVT mvT -vET +qgi kyO wQB -drC +krx jVM -lzW -dbJ -lMH +fwf +cTD +cVB jVM -gls +bmt jVM -uZY +txm jVM -oEz -dEq +ncd +nnC yfC -lZf -qCK -dvd -dvd -gNX -dvd -tRJ -wBc -oIY -bMV -dPp -kUL +wET +uYv +fMD +fMD +eeS +fMD +pnp +eyI +mSu +kpj +moY +rLP tYX blb blb dDB tYX -trB -trB -trB +tgO +tgO +tgO tYX dDB dDB @@ -95802,42 +96340,42 @@ cpT xQv xQw mvT -vET +qgi ncL wQB -ydz +aVx jVM -lEO -eHv -bes -pSI -gls +hfk +oBf +hGc +fse +bmt jVM -joR +jff jVM -vyP -xnb +ryV +afy yfC -edk -wyg -qbA -qbA -hLb -dvd -tRJ -qiC +kmX +vWT +aNS +aNS +nTY +fMD +pnp +iFl yfC -udW -djf -kUL +sWL +ail +bCp tYX dDB blb dDB tYX -lcF -trB -trB +bFf +tgO +tgO tYX dDB dDB @@ -96051,7 +96589,7 @@ plz pkh jwi tBo -jGO +brv xYO xYO iLN @@ -96059,8 +96597,8 @@ xYO xYO xYO xYO -lXU -rJZ +nwT +uSl wQB jVM jVM @@ -96070,32 +96608,32 @@ jVM jVM jVM jVM -lzB +lPP jVM -nhW -cJv +pDa +qZN yfC -jqK -dEY -bRK -aTz -bRK -bRK -ltr -qiC -lqh -bMV -dPp -lir -iuR -blb -blb -blb -iuR -iuR -bnU -bnU -iuR +fzw +iLA +owO +cMj +owO +owO +xHA +iFl +aXG +kpj +moY +uJh +ciH +blb +blb +blb +ciH +ciH +kvG +kvG +ciH tYX dDB blb @@ -96316,43 +96854,43 @@ oXK uAY uAY xRU -vET -rJZ +qgi +uSl wQB xZS -tWT -tjs -qqH -qVm -nWV +kae +uEJ +fzG +uUS +qId jVM -uqV -ksJ +dia +oRz jVM -xym -mgW +lEk +vZh yfC -edG -wBc -jJd -qiC -ghj -qiC -qiC -vfo -pkU -lUl -urf -cPj +cHS +eyI +ptS +iFl +rYq +iFl +iFl +rOe +erq +iqa +mcH +qna tYX dDB dDB blb dDB tYX -iNF -diP -fVM +xhg +mbU +gSb tYX blb blb @@ -96558,14 +97096,14 @@ pIS gCg mxe uFm -rfo +hKS xsh gjS plz sDq jwi qtd -oxm +qYI kjU uAY iLV @@ -96573,43 +97111,43 @@ iYh lZt lZt xYO -uBI -kTX +tzm +cGW sbU xZS -lHp -qwA -jYe -kBM -blC +sjF +glf +bCr +whk +res jVM -gLo -cTn +hTM +atM jVM yfC -vNM +cwU yfC yfC -erf -xcz -tkm +jYq +pxL +fhR yfC -tmD -tkm +bEu +fhR yfC yfC -msk -wmX -kUL +jkN +nlb +bCp tYX blb blb blb blb tYX -iNF -trB -fOW +xhg +tgO +wwL tYX dDB dDB @@ -96830,46 +97368,46 @@ xYO xYO xYO xYO -ujB -dtO -gwx -aNj -jvd -fEF -nlQ -chI -mTT +kNP +xjw +crV +cXU +bQz +xBt +jaM +lQL +muX jVM -tKS -vQu -vQu -wVN -hQs -rdV -bPy -nVw -qYr -eqI -nHI -cgs -asS -ddT -cXp -iFD -fzT -kUL +nIy +pdj +pdj +vjU +aTy +dic +nVV +sIb +bES +sZg +wRr +wQR +qRa +mvx +eIR +dVx +mCM +bCp tYX blb -aef -fBN +tyE +gaY dDB -tYX -tKl -trB -oIS -iuR -anX -anX +ciH +nNu +tgO +voK +ciH +qLr +qLr uXY iTn nBw @@ -97085,49 +97623,49 @@ myT iMg iYj sDp -gZy +bdL kke -laK -rJZ +meE +uSl wQB xZS -sRT -woz -auP -kGw -vQx +mUK +tLA +nCB +hwm +hHl jVM -jTj -mOr -jgy +lhb +sFv +alG jVM -aLB -ilx -qEO -oPh -qDL -sGN -bzj -vxA -lEs -jUr +ptC +cgT +rXF +oVA +fby +eHn +oKo +wOY +fzF +tNR uMg -xBd -qXP -kTF -iuR -dDB -eVX -qGf -blb -iuR -oqT -trB -xrE -wZx -lRU -fOJ -bgx +wcS +sgg +xYT +ciH +dDB +dfi +anU +blb +ciH +kKv +tgO +fXC +oFF +snb +axd +pBG xcv nBw ghQ @@ -97327,7 +97865,7 @@ dDB dDB dDB ycC -omj +oZS mPJ mPJ ipD @@ -97335,7 +97873,7 @@ opH oSv xGJ pNi -sPb +egW jRk ihc kBg @@ -97344,48 +97882,48 @@ opn jwa opn jYY -ndJ -rJZ -eBC +mTa +uSl +ocn xRV xRV xRV xRV -oum +oJQ xRV jVM -xjQ +laq jVM tGq tGq xmt xmt xmt -cri -bOG +flF +oJj xmt xmt -hrl +hHp xmt xmt -lHZ -eNP -qFc -cEo +qNE +cEL +apy +hmC tYX dDB -kii -nun +ipw +jWX blb -tYX -rNN -trB -bNL -iuR -anX -anX +ciH +lpD +tgO +dgc +ciH +qLr +qLr uXY -hzb +mpP erK iPj bob @@ -97601,43 +98139,43 @@ iYD jLR jLR xMY -dCu -eXR +tEX +qDB wQB -rHl -sVO -lbi +wdL +mdF +eaK jVM -jTn -xXe +igN +lRP jVM -ulE -bvP -amK -kjx +wSy +pJD +cdQ +ebl xmt -mog -cCM -gbj -vwW -iId -vTP -rpo -mjr +amd +eEh +ihK +wXN +hHA +rmr +jjW +tBW xmt -vEk -gLO -pbD -kUL +qrV +pIj +bpT +bCp tYX blb blb dDB dDB tYX -iNF -trB -fjq +xhg +tgO +yfk tYX dDB dDB @@ -97850,7 +98388,7 @@ aEc xGJ hxj qtd -rSI +sji xMY iBc iMZ @@ -97858,43 +98396,43 @@ qTD azv jNe psc -dCu -rJZ +tEX +uSl wQB xAV -txW -nCX +dAx +qBV jVM -tUj -qkm -qkm -ruS +cqz +gZy +gZy +oRI jVM -bxl -bMn +laO +jYG xmt -uYM -aTg -pkQ -bBL -uRv -als -cXH -nZG +jEv +klW +kKk +uZh +uIu +jeQ +sWU +gVV xmt -liw -bVJ -sTb -kUL +kzO +aDR +pPX +bCp tYX dDB blb blb blb tYX -iNF -hrc -fjq +xhg +nOU +yfk tYX blb blb @@ -98080,7 +98618,7 @@ hJp wct wct iWV -uVH +jsh wct isj isj @@ -98103,7 +98641,7 @@ ycC ycC noq ueC -tJF +uli qoD jnZ jEx @@ -98114,44 +98652,44 @@ xMY xMY xMY xMY -voN -sta -rJZ +dKg +yet +uSl wQB vpT -txW -eDi +dAx +jsl jVM -uZY -mnH +txm +bxZ jVM -tpQ +rOb jVM -ljg -ddF -pEU -duj -aTg -rxZ -fhp -oTM -pLf -aTg -aTg -aIr -sWq -nUd -bmY -lir -iuR -blb -blb -dDB -iuR -iuR -ifH -ifH -iXi +wUK +eGF +xAo +lYc +klW +fzA +keQ +vwT +uyo +klW +klW +pbZ +xMt +rmv +rbG +uJh +ciH +blb +blb +dDB +ciH +ciH +lbn +lbn +bWU tYX dDB dDB @@ -98333,14 +98871,14 @@ cfk fkj dMg cyk -lnM -kZv -cLR +jOt +xxW +pLf cRI dbs fkj wct -vRg +oMU fKc eVz fTe @@ -98350,8 +98888,8 @@ xvT gfs gwS gxi -kkY -rxY +ePP +jYK qjy nWr hsO @@ -98372,43 +98910,43 @@ hHF lGo jNO geE -wCM -rJZ +vJP +uSl wQB -eIO -xND -ind +opB +fMK +cSy jVM -oZy +hzU jVM jVM -uvx +aAs jVM -iRQ -hWL +wSd +cuH xmt -vfI -aTg -glT -nmC -sJL -sne -aTg -aTg -aIr -bIN -nUd -bmY -kUL +ikp +klW +byr +rTI +jfQ +vye +klW +klW +pbZ +lMu +rmv +rbG +bCp tYX dDB blb dDB tYX -auF -trB -trB -waD +uGY +tgO +tgO +ixO dDB dDB dDB @@ -98589,7 +99127,7 @@ dor fNF dCj iyq -cze +xoO wct wct eDh @@ -98601,11 +99139,11 @@ eeD fKl fOk fTe -fUO +kTy fXj efy jxp -jSQ +jIk pRz gyd gyd @@ -98629,43 +99167,43 @@ oUd lun wNv mzM -wCM -woK +vJP +ooZ kJR -qcB +mGH jVM jVM jVM -wrj +eyF jVM -jGy -aYj +cwc +jDx sON -ssY -waY +njJ +ssf xmt -cME -aTg -dYu -aTg -aTg -aTg -dYu -aVA +kAa +klW +uWx +klW +klW +klW +uWx +fHd xmt -wUc -nUd -dPp -kUL +uSH +rmv +moY +bCp tYX dDB blb dDB tYX -trB -trB -trB -waD +tgO +tgO +tgO +ixO dDB dDB dDB @@ -98694,20 +99232,20 @@ rnV mrh rTy miA -cON +vOV mBo -fsk +pxQ raE uCe wER -lZR +dLl raE raE dBy ena gKE -ipp -rzZ +hsg +igh sSQ blb dDB @@ -98867,7 +99405,7 @@ nKz kwZ gDs jXe -diU +ucQ gCT mks soO @@ -98886,43 +99424,43 @@ soO gfs ivl mzM -wCM -ePk -tgx +vJP +eza +koK jVM -yfX -pRR -cTn -xlU -eoM -oVl -uBN +mSJ +cbR +atM +htJ +waz +bXm +fnr sON tGq tGq xmt xmt -oTN -fGk -sYS -nPY -rVt -elb +sHN +vcU +ozU +xqL +fnb +pyi xmt xmt xli -jOM -dPp -aOt -iuR +cVU +moY +uQG +ciH tYX tYX tYX -iuR -iNF -xuJ -iXi -waD +ciH +xhg +ryd +bWU +ixO blb blb blb @@ -98949,11 +99487,11 @@ iaA xin kcA sSQ -qRx +xJu sCl -qiL +aLp twF -fiK +rMx wJk wJk wJk @@ -98963,7 +99501,7 @@ dYI wJk tWo dYI -fxa +jYW bsP sSQ blb @@ -99121,7 +99659,7 @@ csS jxp jEu jim -avR +pSO gzB jim jim @@ -99143,42 +99681,42 @@ xSx jxC ufb xCl -cYY -wNs +dls +ido wiF jVM jVM jVM jVM -oJO -eoM -cqD -iBt -hmK -dMi -vun -caW +mVP +waz +sdk +vHG +tkl +vew +oGf +jCK vkh -tes -dJv -tvW -qsY -qsY -qsY -ycS -fxW -jYM -nUd -dPp -aww -xuJ -trB -trB -hML -deR -diP -efm -waD +xIO +wex +laY +vTa +vTa +vTa +qaN +nbA +mtg +rmv +moY +get +ixp +tgO +tgO +fZE +vaQ +mbU +mnJ +ixO dDB dDB dDB @@ -99361,14 +99899,14 @@ cfk fkj dPa dZZ -qan -sXu -coi +bbN +vQu +dDg eND dbz fkj wct -bGq +wdt eBN fQY fTh @@ -99390,7 +99928,7 @@ otX hei hei vPP -jPa +dTc gIb nsc vzt @@ -99401,40 +99939,40 @@ jye jOs mAv khS -aqG +rFI mwN jVM -sjK -nFH -hgH -cHG +kjc +ofb +nHF +xAQ jVM -iXW -dRb +arY +pSS sON -tjT -rrX -lAV -fYJ -eGU -eTJ -vkI -oeZ -wuY -oeZ -luP -jFK +jwA +qyy +xqy +bus +rFB +iMm +mPN +bSr +hNa +bSr +jEf +mVG vkh -ttV -dPp -aww -vtX -gHg -trB -trB -kHX -kHX -dTg +qEJ +moY +get +vpK +uwX +tgO +tgO +oTl +oTl +eRi tYX dDB dDB @@ -99474,13 +100012,13 @@ fkq vDV kkO vDV -ses +out ijY wgL lLH sSQ sqV -dWz +lJD sSQ goB jbt @@ -99622,7 +100160,7 @@ wct wct wct eNU -gDc +lsh wct gOm gOm @@ -99644,7 +100182,7 @@ vPP vPP vPP dKq -cro +aUm tdh txh gcz @@ -99658,41 +100196,41 @@ quU quU tsF ubK -lRM -vuD -qIb -gJD -hPb +wAG +bKM +cJm +tnD +lMN jVM -tpQ +rOb jVM jVM jVM jVM vkh -lnD -fzw -bKO -qhR -pPU -xkV -gyy -phG -gyy -xkV -cvV +btg +xlI +ano +eyE +hdW +pGw +lqm +cYM +lqm +pGw +gIY vkh -nUd -dPp -aqf -xcK -iXi -waD -waD -iXi -waD -waD -iuR +rmv +moY +fCM +vuU +bWU +ixO +ixO +bWU +ixO +ixO +ciH dDB dDB dDB @@ -99729,10 +100267,10 @@ phs vFm fNR vDV -mle +bpm hWu stX -yfL +xnP wgL tLt sSQ @@ -99915,35 +100453,35 @@ liG rRQ tsF kiB -izP +iqf wNW jVM jVM jVM jVM -izu -tpQ -tpQ -jTn -jlA -mae -ksm -opV -fVl -qJz -ebk -xkV -mDf -mDf -aYU -dao -cvV -spH -nUd -dPp -aww -nsz -iuR +lMQ +rOb +rOb +igN +jSN +sna +rhP +cEo +dwz +uIr +xKN +pGw +rnb +rnb +lVx +pSw +gIY +bbY +rmv +moY +get +jWY +ciH dDB dDB dDB @@ -99988,7 +100526,7 @@ grx vDV mkA wCY -bnI +iOr xXG wgL ngq @@ -100141,7 +100679,7 @@ xvT itb eip eFk -gPm +moL xvT fDk gcL @@ -100172,7 +100710,7 @@ jyu ezx tsF vIJ -nHU +txC twJ tgl iSi @@ -100182,24 +100720,24 @@ jVM jVM jVM jVM -kXC -mae -hsx -pJc -xkV -oVE -pPU -ecC -cIX -ofU -xkV -ecC -cvV -spH -elN -dPp -sFs -fZZ +sMw +sna +cmy +kSw +pGw +sGK +hdW +xny +jDj +hbc +pGw +xny +gIY +bbY +pfr +moY +ktH +hkV tYX dDB dDB @@ -100426,37 +100964,37 @@ iCb rth iZB uff -mak +bud tsF qlV -ePk +eza tmQ tgl lut pbd -cig -hxp -wtv -oRv +tsr +btA +ePA +vVG jVM -kXC -mae -tVp -ioa -fBB -vgS -pPU -xkV -oDX -oeZ -oeZ -xkV -cvV -spH -nUd -dPp -aww -bje +sMw +sna +iqO +kHD +mCn +syT +hdW +pGw +kZd +bSr +bSr +pGw +gIY +bbY +rmv +moY +get +pqJ tYX dDB dDB @@ -100502,7 +101040,7 @@ nFD ljP pKS bkY -lgQ +pJi mbq wgL hgF @@ -100686,34 +101224,34 @@ rth mbp tsF kpF -ePk +eza wQB tgl lvA -nyy -diK -djc -jgb -hRc +bfE +joq +uVp +brd +gBK jVM -kXC +sMw vkh -dxV -jDT -fOq -wJv -pPU -xkV -cQN -bXR -gyy -xkV -swW +hIc +ijj +izw +rIN +hdW +pGw +etm +xhz +lqm +pGw +dpF vkh -oNW -cSy -bpY -sMt +ftH +ovG +eqU +iDD tYX dDB dDB @@ -100724,7 +101262,7 @@ dDB dDB qIf xEW -dml +gYx lXT gnQ kIv @@ -100759,13 +101297,13 @@ vDV ahu clt jbr -xRd +pHV kel wgL tLt sSQ -uhH -ouH +qVc +jkg eBQ ndp gow @@ -100943,34 +101481,34 @@ jyG meu tsF lAS -ePk +eza wQB tgl -wHO -pbG +jId +vlk wvv -xvK -vGe -xno +rXt +kmA +aHT jVM -kXC +sMw vkh vkh -kWF -wtw -dJv -lTy -wAa -uUB -fIl -aYU -pPO -jFm -jYM -nUd -vip -njT -fGT +dKX +jTp +wex +sLz +aYX +sfe +okY +lVx +mEQ +sng +mtg +rmv +kYb +wwf +qvK tYX dDB dDB @@ -101189,7 +101727,7 @@ uIj uIj uIj lto -hCH +fUM lOY gcz lcs @@ -101200,34 +101738,34 @@ lGK mfP tsF lPo -wNs +ido wQB tgl tgl xHD tgl -uIP -dsK -pHY +hIY +prF +naw jVM -kXC -wKH +sMw +maq vkh -hcQ -jcB -gGx -xtD -gIv -cAl -npI -npI -wOt -cvX -jYM -nUd -vip -duE -aOh +pxz +lCQ +eyM +hpH +rVV +qFL +jLv +jLv +gNT +vvJ +mtg +rmv +kYb +lfB +ljU xli blb blb @@ -101270,11 +101808,11 @@ bXO jxZ dlz nFD -dBt +tzW don cSr krY -wTU +gEV wgL swJ sSQ @@ -101457,34 +101995,34 @@ lGK jOS tsF vrn -ePk +eza smf aCO -iLA +bYP pcK tgl -qDd +tMw xHD xHD jVM -jBu +pbx vkh vkh vkh vkh vkh -jYM +mtg vkh -vSI -spH -spH +xWB +eXC +eXC vkh -jYM -vkh -iXu -mVc -lab -axd +kLs +umb +hhy +eaC +xCF +kXb xli qir qir @@ -101708,41 +102246,41 @@ xRH gcz gad ogi -jvl +smv jcZ lGK mgt tsF kiO -nCt +fQz wNW -coC -pVj -pVj -cRL -ose +lsu +cll +cll +piQ +txP vpI -aBB -nMW -tEL -rQN +gkV +ycJ +uxr +hfX vpI rZq -ycX +vpI pBu -khY -lvr -aGq -khY -khY -khY -lmz -rko -diP -vip -gaj -rIW -mxS +lbz +tVd +jea +lbz +lbz +lbz +dBb +dta +mbU +kYb +vMw +nDN +gRg jeW pvY xry @@ -101750,7 +102288,7 @@ ppu wSF qir kIS -lBq +bqO csw tlX rVH @@ -101971,43 +102509,43 @@ iaw uoB tsF kjg -iZO -awC -gwm -xPJ -pbO -pbO -icN -mZd -sDZ -pca -uVo +wCZ +qqW +pYk +btF +hmx +hmx +pFl +gsk +dZq +mTW +hid oBA mut -pjA +uxp mut -otJ -pbO -pbO -rfW -mlD -xPJ -pbO -mRB -jSp -klf -oHp -huj -fIj -uhM -qZy +uTk +hmx +hmx +aru +dRq +btF +hmx +oSV +ska +eQo +dkN +bXp +bAk +pSW +aRH vCO -lKB +cPF vCO -ile +iAA wMZ vnN -aEo +bzF pOm lwk gUn @@ -102227,44 +102765,44 @@ gcz jyM uoB jZn -baJ +cqb rji vAw -ceS +hHa nvE nvE nvE nvE qio -vCZ +gPh uQi nvE oCx -crx +nBh rFn nvE -tPM -kfM -cRc -aPK -aPK -aPK -aPK -mcS -sKm -dRT -dRT -nNz -inU -hmn +wOW +xBo +mza +tob +tob +tob +tob +veI +vBH +xDh +xDh +hnH +wVj +eFp bcv kov viy efB -lJg +gcw xyh xRI -lJg +gcw hVh elM pYr @@ -102296,8 +102834,8 @@ rnE xqN fgW uBl -tNF -bZa +pUN +muB sJE niI cqc @@ -102485,26 +103023,26 @@ jzo uoB uoB wSZ -moj -xpL -nJj +mZT +vYC +vUn dyF lNp xRA eeJ -aIO -qZw -pNZ +rHi +lWy +sWX ylX qUt qUt qUt qUt -fNZ +oxj qUt qUt xJB -xwj +bqL vrO vYy xJB @@ -102516,11 +103054,11 @@ uBY ygu mHb ona -nkW -riS -ihd -gMM -gBg +eqF +cbd +jWm +utN +eey dUC qTK vnF @@ -102548,8 +103086,8 @@ vTo wYA wPP uer -skp -tFW +xqF +sCI xqN rnE xqN @@ -102727,38 +103265,38 @@ uvA xbl xbl rNB -ogG -auT +cpV +cOF lGE gcz xRH jFF ehj ill -obN +keV iPU gcz -cEF +jnt gGl qfz wSZ lFg xqC -htp -htp -htp -htp +mgy +mgy +mgy +mgy eeJ -ehf -tzZ -mSa -hWk +nNx +jnx +bXK +ltB qUt -uZK -ptl -ptl -wrZ -mvd +xXS +noK +noK +rlX +gqe qUt rnc ugH @@ -102770,8 +103308,8 @@ xJB mNQ xpU uBY -ygu -gVi +vSL +jeW dba dse gfM @@ -102822,11 +103360,11 @@ eRX gpM sSQ hrF -swk +iED uOw sSQ hhb -tRR +ePT dxf dxf qNj @@ -102984,9 +103522,9 @@ uvA gIl gKg xbl -uhI -yhW -clV +vkR +moB +uNB gcz hyv fyH @@ -103001,22 +103539,22 @@ jjJ wSZ lFg xqC -oqU -xgy -ucC -miP +rUh +fMY +qze +nuz eeJ -xMv -cdY -mSa -buJ +kzA +wcJ +bXK +mZx qUt qUt -aIb +odU qUt qUt -uLD -vmr +tqb +wWv qLt vrY vrY @@ -103049,7 +103587,7 @@ tFQ xSO tFQ xSO -pKm +gVi xSO tFQ xSO @@ -103241,7 +103779,7 @@ uvA xbl xbl xbl -flD +pQx heH hUI gcz @@ -103258,21 +103796,21 @@ tvP wSZ lFg xqC -lsh -cYD -jGK -rYx -hUO -xqX -tzZ -bCo +sqn +avI +xud +rUF +nMO +ksY +jnx +sUS eeJ qUt -iZu -frC -jEz +iBN +mEi +pzo qUt -aGH +aFT qUt azN vcN @@ -103336,7 +103874,7 @@ nyp exW lVy wgL -swk +iED ulO wgL wgL @@ -103515,21 +104053,21 @@ wSZ wSZ lFg xqC -eBd -gKQ -cnn -niW +xNA +uxT +sYZ +tsP ylX -jwf -bmz -mSa -tPW +hZI +iOT +bXK +hBx qUt -bxk -rex -axz +kFw +xLP +hjB qUt -aGH +aFT qUt qLA vIZ @@ -103594,7 +104132,7 @@ fLk guC wgL wsR -bAr +kXC wgL nah kwW @@ -103760,7 +104298,7 @@ heL hjx gcz gDp -aoL +eOB eDN ilW gcz @@ -103770,23 +104308,23 @@ lJe tyr iGl iGl -aQf +pfP xqC -eHa -pBO -pBO -jyd +hCU +cvn +cvn +xxj ylX -eMS -tzZ -thx -caK +rTx +jnx +qLs +ioV qUt -rex -rex -lnW +xLP +xLP +edl qUt -xDS +tOB wua jWy jWy @@ -104012,8 +104550,8 @@ aJq aJq uvA wur -nOH -hIi +nty +pQB hkm gcz jrJ @@ -104025,27 +104563,27 @@ wSZ jdp gRG wSZ -nNj +scc ujq nEx xqC -pPj -tPE -jAf -vpF +hho +bKt +aAP +oQc eeJ -wKn -tzZ -eMQ -xxD +uoz +jnx +uNu +uQU qUt -oIE -vex +nPE +wSt qUt qUt -xDS +tOB wua -gcg +iAH vvK rRz smH @@ -104058,8 +104596,8 @@ xMr uSN uWo hkk -hkA -cTX +dQb +rii xTB ehV uWo @@ -104070,12 +104608,12 @@ nCU xlh aIu dYM -vbP +kvm qDK vEz mGh wfr -wya +nso lHJ vKY lSK @@ -104275,9 +104813,9 @@ uvA gcz xRH xRH -fLL +olY kro -rHO +tFn wSZ wSZ wSZ @@ -104291,16 +104829,16 @@ xqC eeJ eeJ eeJ -tmM -pgl +rfh +fDV eeJ eeJ qUt qUt qUt qUt -qUL -vIC +ogy +qqb wua qLD uYD @@ -104315,8 +104853,8 @@ xMr yiq uWo kgT -kpU -oeS +wQN +dmZ pEs xyQ uWo @@ -104328,7 +104866,7 @@ iOm gFs fSG ugJ -mpy +haD vEz kMm wfr @@ -104525,38 +105063,38 @@ aJq aJq aJq xqC -mqn -lDp -byN -qdZ -hBX -vmB -azO -fLL +lOF +bUP +kVH +cQV +ygx +mmP +kyx +olY iQl xlZ xlZ -oNs -hVJ +jrV +dga xlZ jZK -tnB -osP -wfG +oiG +dZb +mPR pwq -oyn -fSU -fRV -skd -ciV -rrp +dIG +lGX +hDD +mkQ +uFv +hHr wqj -aTb +kCq wqj -fHK +sRo qUt roD -xDS +tOB wua wua qMp @@ -104573,8 +105111,8 @@ yiL vuT jNq kOT -vYU -asm +rYo +kgp ide mMp ist @@ -104584,7 +105122,7 @@ jjk xlh dfb iDH -bZz +bil xPW sKq aRC @@ -104782,38 +105320,38 @@ aJq aJq aJq xqC -cCx -vqJ -kSA -oWg -nVA -uoJ +exN +bzG +vyn oWg -lSh -bgy -bgy -bgy -lXw -pIn -kTG -wEs -pyF -wFe -wOS -isD -hlX -wND -hlE -hlE -hlE -lft +qIK +aQv +nNk +sFP +tCW +tCW +tCW +owa +uFE +aaN +nKG +fWR +sXS +gTf +iso +obB +tCs +pgA +pgA +pgA +lAW wqj -izk +vyS wqj -knB +xxG qUt qvr -xDS +tOB wua vLF sUg @@ -104828,8 +105366,8 @@ iLp xMr yiQ uWo -nQH -rxX +wuh +dNd tdv eGT sMT @@ -104854,7 +105392,7 @@ toC bGY wCK tDd -nTz +bhJ wfr sCp vJR @@ -105051,29 +105589,29 @@ ksB sOs sOs xmO -liT +vPn nFW dXO sRL sRL -noV +oSo sRL sRL -bCP -dqB -pIf -lZP -jgF +lyw +wBn +gOb +fDJ +hrn wqj -rEa -qgJ -mQD +szm +lSZ +nrT qUt qUt -xDS +tOB wua wua -upV +olb qvw tRh soD @@ -105297,15 +105835,15 @@ aJq aJq aJq rvp -fRI +rOf iFP iGl hqW wSZ xoh -usG -erS -dNj +umq +wep +hGG pMS xmO sHe @@ -105313,22 +105851,22 @@ nFW kam boX asZ -psK +ihR cZL sRL -eWP -hcn +ygk +efN eeJ -wEF -jgF +fCz +hrn wqj -rEa -nMn -knO -adh -hbz -vIC -hdZ +szm +vrr +meq +dGT +mYz +qqb +oQH wua wua wua @@ -105392,7 +105930,7 @@ wgL wgL wgL wgL -swk +iED ulO sSQ dDB @@ -105561,8 +106099,8 @@ iGl wSZ hnY hYq -xYk -mDJ +jLc +bjx xID xmO sHe @@ -105570,22 +106108,22 @@ pke tzD cqS kCN -nVa -fuD +gol +kyA xVV -eWP -lNN -lWp -xhD -heN -vjI -ijz -tOg +ygk +uLF +tZn +eUQ +anW +kKN +cXt +qtF wqj qUt qUt qUt -hdZ +oQH qUt dWW tnb @@ -105596,13 +106134,13 @@ tnb qyY xvh xpU -izA -swB -vve -vSw -wrF -tTs -lvv +mcA +eCz +uiX +nHc +mvO +aAe +iOc xJw xJw xJw @@ -105826,20 +106364,20 @@ sHe nFW mEy ncf -wUS -dDC -onR +uiN +exe +ogN xVV -mEA -htN -tje -tje -fWi -qWg -oLD -gmf -qva -nqf +vlS +lEB +khy +khy +snk +sVS +dee +cvb +hdi +wxn qUt tNs tNs @@ -105856,7 +106394,7 @@ hPl xPN vEA vwh -vSL +pDU rIn pDU pDU @@ -105900,7 +106438,7 @@ xpJ mOq jhZ wnE -iTy +ahI wmD bgB clq @@ -106084,21 +106622,21 @@ nFW ghW boX kCP -iQT +qAf wRP sRL -mSa -thx -hbY -mSa -cNk +bXK +qLs +uOY +bXK +joT wqj -uPM -cPp +uTj +uhO wqj -wrx +mqo qUt -hdZ +oQH qUt qUt qUt @@ -106145,7 +106683,7 @@ vSg vSg chp vSg -vSg +qbe wSg wSg wSg @@ -106335,19 +106873,19 @@ hHE nNi hPs xmO -iAv +fJi sIA jPq kaF ffD hTW -jYF -qpe +xwa +qbW sRL -rfB -mSa -jVJ -oyq +fpJ +bXK +oJp +noy eeJ eeJ eeJ @@ -106355,7 +106893,7 @@ eeJ eeJ eeJ qUt -hdZ +oQH tnb tnb tnb @@ -106371,12 +106909,12 @@ ntF nla nHN vSY -qzv +eOY ldq roz roz ssz -rbH +mlO wYd mAs yeP @@ -106405,7 +106943,7 @@ cLY xaP tuT vMs -bEw +tuT jEG ybD tuT @@ -106420,8 +106958,8 @@ rch cmz fWr sSQ -qNU -fIw +qwL +hot tVc jtK shL @@ -106581,8 +107119,8 @@ dDB dDB aJq aJq -iVr -iVr +lZh +lZh nFW nFW nFW @@ -106592,27 +107130,27 @@ xmO xmO xmO xmO -wFq +fMR nFW nFW sRL sRL xVV -czq +gAf xVV sRL eeJ -oYj -jvQ -eul +dOH +sjA +rNM eeJ -egJ -yfF -gMq -duT -gtk +qIu +eTF +mYd +gGu +evG qUt -hdZ +oQH tnb qUt tkq @@ -106626,16 +107164,16 @@ xvh xpU xMr sOR -eNp +ieN vxM -hCB +hBH ldq -wWU +bee xQI ssz -ixG +iit wYd -fdv +rOd yeP uya uya @@ -106645,7 +107183,7 @@ uya yeP oFI wYd -dNo +qwy ssz vxp xYE @@ -106838,43 +107376,43 @@ dDB tYT aJq aJq -iVr +lZh nFW nFW sJR -usd -fcW -fcW -fcW -nju -jPe -nju -iGt +udW +oOo +oOo +oOo +tvL +ook +tvL +sKF vtL -sBP +fgh sRL -uFZ -jfB -afZ -jfB -fPZ +iPR +bxN +qDL +bxN +baz eeJ -wjq -dtv -mSa -diF -fBs -dhH -rsZ -jQB -kAJ +odC +ppR +bXK +mRN +mFW +sws +rmb +gXG +rZw qUt tNs tNs tNs tNs tNs -rbW +aLt spP bRt wsb @@ -106885,24 +107423,24 @@ xMr slJ vxs xaC -ubl +glu ldq roz ssz ssz -qdN +wkr ukB -awO +olL yeP xaW -ncH -wGU +uzu +uOx pST mwu yeP -qPJ +iyH ukB -dQE +lqv ssz ssz xYE @@ -107095,36 +107633,36 @@ dDB aJq aJq aJq -iVr +lZh nFW sJR sJR -iOY +vRU nFW nFW nFW -nFU +abj nFW -wNd +upa nFW tDB unK sRL -sBq -xsI -gnK -piJ -hBh +ieW +sYR +hTu +vgg +iOb eeJ -mSa -dtv -uQG -vCc -jOb -iQV -lYV -iXy -uYY +bXK +ppR +xnb +xXA +siD +hmr +rUL +lSc +orf qUt tNs qUt @@ -107142,7 +107680,7 @@ xMr slJ vxM vxM -aXU +lYo ldq qRO ssz @@ -107152,7 +107690,7 @@ wYd pGD wSH kJW -rXM +rhi pGD bMt jAb @@ -107352,42 +107890,42 @@ tYT aJq aJq aJq -iVr +lZh nFW -fcW +oOo nFW rqw rqw -xso -myl -iUT +bPw +gxJ +dRm rqw rqw rqw -qow +aUl rqw sRL sRL sRL -nqa +gvm sRL sRL eeJ -lxp -syA +giW +aNx eeJ eeJ eeJ -rqD -opN +fZb +wtL eeJ eeJ qUt -xrc +wYO qUt -odD -mtc -deS +raN +hmo +bma wua sqA sJi @@ -107397,9 +107935,9 @@ xvh uiY uDF uSO -eBy +hrN vxM -bMc +xHl ldq qRO ssz @@ -107410,14 +107948,14 @@ wYd nFa uBy sMU -kop +xHm sMU -ltE +vgU nFa wYd sMU pGD -jPM +aIm ssz fmH ldq @@ -107609,42 +108147,42 @@ blb hwJ aJq aJq -iVr +lZh nFW -rRa +vtW nFW -hUC -luc -cgL -gNs -jjI +cLA +mOn +fmx +fHt +tpF rqw -okZ -gZS -txC -xsC -iIZ -kEd -aHl -gZW -rze -uHH -qWC -rze -uSo -vNq +dRw +aps +wpS +wJA +oKV +xIG +ndV +rTW +lat +kjb +bSU +lat +xak +dFI rqw -ohr -rqD -opN -xEM +dsq +fZb +wtL +tVE qUt -eqG -mHh -nNA -rHY -mIP -skN +bVr +nmQ +oPp +pFw +xNb +vYA wua wWX blf @@ -107654,7 +108192,7 @@ xbC nkH xMr nla -dLq +ghi vTx pHw ldq @@ -107663,17 +108201,17 @@ ssz ssz xpY tLc -ktl +nDr yeP xaW wuq aZL ciR -mwu +mfQ yeP -enq +vNO ivY -nLM +pSk ssz ssz kHo @@ -107866,42 +108404,42 @@ dDB dDB aJq aJq -iVr +lZh nFW -fcW +oOo nFW rqw rqw -sRD -ptC -qKD +gcG +yiI +mYK rqw -pfo -ebK -ctH -oLV +kBx +gCF +pQH +vIM rqw -pdl -pEv -iQC -xzl -xzl -xzl -xzl -rDD -akq +xVh +nyN +fmB +bNW +bNW +bNW +bNW +qov +wei rqw -fvj -uDz -jXB -nYs +jrC +kLC +mYH +max qUt -ffi -mHh -uqq -qOG -pXk -cCv +rjd +nmQ +hYv +aJr +xaE +cso wua wtX wtX @@ -108123,42 +108661,42 @@ dDB dDB aJq aJq -iVr +lZh nFW -fcW -uJq +oOo +hoh nFW rqw rqw rqw -rli +hgR rqw -wJX -fYH -fYH -nuL -djY -rBO -gdF -kkS -oZO -kkS -kkS -kkS -xjC -xuQ +vjQ +nkZ +nkZ +usr +iqT +xzw +eOO +oUm +ehs +oUm +oUm +oUm +uJX +mWx rqw -fcU -rem -xvM -uDE +mDr +iwO +jOd +aGR qUt -lhi -brw -mnl -uOx -llY -rdA +evj +uWs +xbU +aaa +hAk +sSj qUt sqY ata @@ -108380,46 +108918,46 @@ dDB dDB aJq aJq -iVr +lZh nFW sJR -usd +udW nFW -tuY -iAu +lad +iBI rqw -qAj -jsU -xFM -wYH -bnX -jUA +liL +jyr +puH +cFD +hHW +uml pzd pzd -rnD +uGq pzd -jbp -vam -cOd +gwm +hzJ +wHG pzd -rnD +uGq pzd pzd pzd -iIs -axw +xSk +toB shD qUt -qnb -qnb -oJx +wUD +wUD +eIw qUt -izo +uOo qUt qUt srA lrH -aaH +eiM rtZ xvh ugh @@ -108455,9 +108993,9 @@ ldq lCS ldq ldq -sgB -fhT -qIC +tHH +rzM +bxe pJz jIc bAT @@ -108472,7 +109010,7 @@ ich meN tZJ vtC -ijI +xyT vtC tuT vtC @@ -108637,43 +109175,43 @@ dDB dDB tYT aJq -iVr +lZh nFW -krG +qiv sJR -bdN -rZM -gpV -fjp +sRy +fcu +fdT +fXO xcF -gpA -fYH -wYH -ctH -xIf -lKs -fex -fex -byR -qIe -dBj -luG -evA -vVV -vaw -jWz -bAb -dWG -bQQ -bji +ecz +nkZ +cFD +pQH +vcd +bqp +gzG +gzG +wcN +fWD +ojI +sQs +khz +ese +xQU +ptc +xUx +xpv +mJp +epQ pjT pCv tOk pCv unc sWQ -raZ -sVG +naI +ias qUa qUa qUa @@ -108709,10 +109247,10 @@ ldq kUF kdn kdn -vgY +jWf qVn fpq -liL +xji nBq nBq tkS @@ -108894,46 +109432,46 @@ dDB dDB dDB aJq -iVr +lZh nFW nFW -hhT +qEy nFW rqw rqw rqw -lXX -rLx -fYH -vrB -ctH -gby -ntZ -jpp -jpp -dxw -qOQ -jpp -jpp -jpp -jkC -mei -jpp -ntZ -sSj -sfk -wKO +bVQ +sfD +nkZ +rMc +pQH +tsw +dwN +uyx +uyx +qUz +fFQ +uyx +uyx +uyx +vtd +nXB +uyx +dwN +suU +aOO +vbd sQd -gAu -wrw +qQa +nyD qfo -jRs -jRs -xhG -mHf -kFA -gdx -qSh +rFL +rFL +hzG +bKp +fGk +rTu +qNt twE tOs pFI @@ -109151,34 +109689,34 @@ dDB dDB dDB aJq -iVr -iVr +lZh +lZh nFW -fcW +oOo nFW -stY -kDs -kFw +wAH +qJz +wjI rsv -rLx -ctH -pDX -mIR -urK +sfD +pQH +aSY +xkR +whS pzd -tpG -pvk +pNA +oRX pzd -nVU -qMa -uhy -iCj +ybF +foK +taN +ieu pzd -cfa -tJo +hnw +yjy pzd -vPw -bGD +aOm +oMr shD sCi sCi @@ -109226,10 +109764,10 @@ xGw ldq qqd ldq -qdR +mVO naN vOr -mdG +nUu uLj oig oig @@ -109408,41 +109946,41 @@ dDB dDB dDB aJq -iVr -iVr +lZh +lZh nFW -fcW +oOo nFW -qAJ -xHi +ehM +bBg rqw -aRv -pbk -cll -sOy -sOy -psz +tib +gxv +oVE +kvS +kvS +xJA pzd -rnD -rnD +uGq +uGq pzd -iTN -rnD -rnD -iTN +mJn +uGq +uGq +mJn pzd -rnD -rnD +uGq +uGq pzd -dWF -sfk +iPS +aOO oYL sCc tOO aYY sCi -rqt -uTb +mJG +iyP rrU vwc vDX @@ -109486,13 +110024,13 @@ ldq uLj uLj vOr -iNS +oWh uLj blb blb oig oqg -pkR +jlC vtC blb dDB @@ -109666,19 +110204,19 @@ dDB dDB aJq aJq -iVr +lZh nFW -kxF +kHr nFW nFW nFW nFW -jGT -pbk -qKz -pfW -gHD -dtm +qRD +gxv +rrj +iTT +qTa +dMV pzd bqy bqy @@ -109691,17 +110229,17 @@ bqy bqy bqy pzd -qAt -yio +ifP +dAa shf sCc -tDz +aZJ pTs sCi cHC qUm rrU -rZw +ciF vDX xww ruD @@ -109740,10 +110278,10 @@ qqd qqd qqd ldq -hWE +bIh mAP vOr -vzh +cUL uLj foL blb @@ -109923,20 +110461,20 @@ dDB dDB dDB aJq -iVr +lZh nFW sJR sJR -xUy -xUy -gbG +rri +rri +nMJ rsv -hCN -eVH -eQF -pfW -oaK -rnD +iwH +kwN +hez +iTT +mNJ +uGq bqy bqy bqy @@ -109947,16 +110485,16 @@ bqy bqy bqy bqy -rnD +uGq oss -yio +dAa ibv sCc pTz pTz qfA -mlK -npV +pHy +oiN rsg rSz vDX @@ -109993,14 +110531,14 @@ ssz lmb ssz ssz -njh +ouS kgk xQI ldq uLj uLj vOr -jtD +ftL uLj blb blb @@ -110184,15 +110722,15 @@ aJq nFW nFW nFW -xUy +rri nFW nFW -ioz -pbk -dFN -eZj -eZj -pHc +qyE +gxv +wMj +ujv +ujv +jiJ pzd bqy bqy @@ -110204,22 +110742,22 @@ bqy bqy bqy bqy -rnD +uGq oss -gFm +lpZ shD sCi -mhZ -pSN +lCK +lBl sCi -kFq +lIX vDX vDX vDX vDX xww vDX -eDr +xrj xdc xtL xQW @@ -110246,8 +110784,8 @@ mLA dWs lXg cJL -klF -evv +nER +syM ktB ssz ssz @@ -110257,7 +110795,7 @@ ssz txV aJX vOr -oIx +hZn uLj foL blb @@ -110439,18 +110977,18 @@ dDB dDB aJq aJq -iVr +lZh nFW -exM +sUK nFW -kNX -blP -xUT -arH -nUY -nUY -iCq -rnD +nem +gVS +ffW +kOI +sKY +sKY +wef +uGq bqy bqy bqy @@ -110462,12 +111000,12 @@ bqy bqy bqy pzd -djO -deb +moG +feU wkF -gxl +mWq pDD -dvY +lYJ vDX vDX vDX @@ -110499,13 +111037,13 @@ heB nZQ srb yeQ -gjg -hUH +cJg +pov fsL fsL qKt mJy -bcO +dxK yeQ pus nZQ @@ -110519,7 +111057,7 @@ uLj blb blb oig -uBo +oKt idp vtC blb @@ -110696,17 +111234,17 @@ blb blb hwJ aJq -iVr +lZh nFW -exM +sUK nFW -uKD -bFt +rgF +jIC xcF -sDs -aFu -bbT -mql +qVt +jUQ +rSh +fHB pzd qBl bqy @@ -110718,13 +111256,13 @@ bqy bqy bqy nMX -rnD +uGq oss -yio +dAa wkF pkS pDQ -xnk +eiV qgx xww uHR @@ -110776,7 +111314,7 @@ uLj oig oig tuT -nBF +duZ idp vtC blb @@ -110953,18 +111491,18 @@ dDB dDB aJq aJq -iVr +lZh nFW -reS +abZ nFW -xFD +tar xIW xcF -rax -uek -pTZ -ayZ -rnD +fcZ +kaX +ktK +gsZ +uGq bqy bqy bqy @@ -110976,18 +111514,18 @@ bqy bqy bqy pzd -oEk -yio +sjl +dAa wkF plJ -ncr +gWy bgp vDX qxP vDX wPd wPd -pNF +ycp vmn pqm pqm @@ -111006,7 +111544,7 @@ rMH tjj blb ssz -aVF +jVT ldq ssz dmT @@ -111210,16 +111748,16 @@ dDB dDB aJq aJq -iVr +lZh nFW -exM +sUK nFW rqw -fzI +xfx rqw -rSy +kbf rqw -jRv +eZu rqw pzd bqy @@ -111232,12 +111770,12 @@ bqy cZm bqy bqy -rnD +uGq oss -yio +dAa wkF -gCI -jpW +rav +myq tpk vDX xww @@ -111252,8 +111790,8 @@ tPm fTM bAs ykL -lJB -oah +qsw +hYi wtt fDQ xoW @@ -111287,7 +111825,7 @@ pGK gWN jFh tuT -xCI +tGH ufn rFi vbR @@ -111467,17 +112005,17 @@ dDB aJq aJq aJq -iVr +lZh nFW -xUy +rri nFW -rlq -fjQ +crG +pzW rqw -ckb +ahF rqw -oRp -vvd +iDP +bkQ pzd bqy bqy @@ -111489,9 +112027,9 @@ bqy bqy bqy bqy -rnD +uGq oss -yio +dAa vDX vDX vDX @@ -111508,32 +112046,32 @@ jXA xRg xuu enb -wQP +frM xPv uSi -wtu +pkg wKz -xrX +jtD xBj xUB yha tqD dDB ssz -ppL +utE roz ssz vLv jLF yeQ fJl -lgw +oxP iTB aSy kkd aSy wtc -cOC +nlt fJK yeQ cdg @@ -111553,7 +112091,7 @@ ufn ufn sqh bEN -afJ +oKM jGA vtC cWZ @@ -111568,7 +112106,7 @@ cWZ vtC rzJ vJN -fhZ +ngB tuT tuT dDB @@ -111724,31 +112262,31 @@ tYT aJq aJq aJq -iVr +lZh nFW -xUy +rri nFW -aSt -aBL +fGz +xEp rqw -jsE +oFn rqw -agp -vpP +bMl +xCP pzd bqy bqy bqy bqy -dQn -ppV -ppV -ppV -ppV -ppV -fLR -qOJ -yio +ncF +vDf +vDf +vDf +vDf +vDf +jaa +ilH +dAa iOv veq xww @@ -111757,7 +112295,7 @@ aop xww xww wPd -cmn +kPt vMt tQQ vMt @@ -111766,7 +112304,7 @@ eDz fTM xRB ykL -ipj +fjy jyw wtt kSd @@ -111783,27 +112321,27 @@ ssz vLv qIk yeQ -shm -tNR +uwi +tOd uDg xvF xvF mIg pQY -iFm +yib kau yeQ fDY xbe pQE sMu -vks +abb gWN tbK mPu tbK tbK -kho +mSN vbR lRj vbR @@ -111983,7 +112521,7 @@ aJq aJq nFW nFW -gbG +nMJ nFW nFW nFW @@ -111994,18 +112532,18 @@ nFW nFW pzd pzd -rnD +uGq pzd -iTN -laU +mJn +ihz pzd -iTN +mJn pzd -rnD +uGq pzd pzd -gGk -gtH +wKp +aIJ vDX vDX vDX @@ -112016,12 +112554,12 @@ xww wPd wPd mzo -rsl +jcq pqm pqm tOZ alb -tsb +xRB ykL ykL ykL @@ -112040,15 +112578,15 @@ ssz xLk qIk vuB -orW -lve +lec +axS uDg pMA xvF xvF pQY -iFm -sWc +yib +ekK yeQ rJw eAY @@ -112056,10 +112594,10 @@ pQE jSw fEd yel -pHq +eQd tuT tXG -vcd +kpD tbK jUc ixM @@ -112068,9 +112606,9 @@ ufn hMA jIj ufn -vJB +nSk uKN -lNk +iuC ufn yhF viT @@ -112239,29 +112777,29 @@ aJq aJq aJq nFW -hKT -mkN -bJn -fcW -aPV -rEd -rEd -fcW -fcW -jVY -cvk +oGg +bpC +oMd +oOo +krj +bni +bni +oOo +oOo +ewh +wQS nFW -uvG -siN -ngd -nuV -sue -ngd -cUB -baO -pOT -gMz -rem +fIG +hMM +uyx +ksl +mxl +uyx +tgY +kXs +pzd +kCQ +iwO rQA shD xbg @@ -112298,13 +112836,13 @@ vLv nye aSy jGL -iOL +kuG iTB aSy vWI aSy wtc -opW +xJH bWs yeQ mYW @@ -112321,7 +112859,7 @@ aJZ kTw kTw hLU -kWR +aQK svs tGU tGU @@ -112496,34 +113034,34 @@ aJq aJq aJq nFW -mAi -exM -bYK -mkN -pNh -reS -exM -seN -xUy -rEd -aWb +cSA +sUK +sDS +bpC +wle +abZ +sUK +grS +rri +bni +fbg nFW -pTA -hEw -bWp -gjn -ngd -ibF -diG -baO -pOT -ycQ -rem -nvB -jqq +cQO +mAX +fSJ +nuP +uyx +ulC +qCe +kXs +pzd +egw +iwO +ufe +gwW xbg pGU -aRo +woF qhF svh xww @@ -112575,7 +113113,7 @@ tuT jOF wOC rlH -okk +rZZ kTw tqX kfy @@ -112761,33 +113299,33 @@ nFW nFW nFW nFW -eav -eav +orE +orE nFW nFW -pOT -pOT -tlJ -cYp -jTC -eOX -pOT +pzd +pzd +oDg +ifC +kgt +sDQ +pzd xQJ xQJ xQJ ryt -nvB -uIy +ufe +bWO pnq pHI -vsi +cUd tPH wPd wPd fpB wPd gsv -wMN +wrH tbB ygu xdc @@ -112813,7 +113351,7 @@ cYG srb yeQ pVU -ukE +bXf tEj rfJ rcl @@ -112830,7 +113368,7 @@ tuT tuT tuT kNZ -kiR +auT rlH oZL kTw @@ -113015,36 +113553,36 @@ aJq aJq aJq wOp -fqT -mpl +sHh +wdr wOp -oLr -tLj +iMB +uTl wOp -fsq -iRl -pOT -pOT -pTk -pOT -pOT -pOT +ime +dli +pzd +pzd +mjl +pzd +pzd +pzd xqs xMO xQJ -wMG +mxw xPx ibv oIR pHM tpK -dnO +eFN vMC krd -sDM -cKa +aob +sOJ stP -pzK +pah tbD ygu xdc @@ -113082,13 +113620,13 @@ bqD mOI rIY hLS -jmF +jBn bYf dxO wOC wOC nyQ -hiU +hTH ktD kTw sok @@ -113272,36 +113810,36 @@ aJq aJq aJq wOp -hOY -rCS -fsl -usP -tAr -mlp -fLg -tHi -tfc +rqz +pjf +iTb +rsb +kYd +tOl +hKp +mAC +qrS wOp -mTc +wgN xQJ ejn vJx -pmq +bbI xMo xQJ -wcR +ijl rQA shG sCB sUe tpO -cZx +vGa vMC apF vfk rWr tLn -pzK +pah tbD tyA tTx @@ -113327,11 +113865,11 @@ cCb jlS yeQ buA -idd +tDf iiW iiW egr -vCs +tkw nVx yeQ eDF @@ -113340,7 +113878,7 @@ pAs rIY irs oND -ozs +vpA dMm wOC aHu @@ -113529,26 +114067,26 @@ aJq aJq aJq wOp -kqU -uvz -ogE +kvW +bkj +hIn jhm -qJH -wQc -pot -rUq -lyq +nZi +tbz +eOp +bOj +fxL wOp -mTc +wgN xQJ mbV vJx -mrc +nCb xMT xQJ -rTC +xVf rQA -boi +gnP xbg sUE tqh @@ -113584,12 +114122,12 @@ aSy aSy aSy jKq -lRm -eWO -eWO -eWO -jKg -swF +lQg +myc +myc +myc +dUN +xgB eWI eWI eWI @@ -113605,8 +114143,8 @@ kOV kOV rIY rIY -fPV -kjw +ahr +ajL svs grm grm @@ -113786,21 +114324,21 @@ aJq aJq aJq wOp -wrS -nFc -miQ -wKR -cLJ -raR -iqi -cUY -dnk +nlx +kpk +dOX +uTs +iUH +aZy +vRQ +crf +rER wOp -pYi +sse xXT -ihv +acK rdw -dWm +kac xQJ xQJ sgY @@ -113808,8 +114346,8 @@ oNX shD xbg rOK -vvW -fot +asu +eNh vMC tiQ iIw @@ -114043,23 +114581,23 @@ aJq aJq aJq wOp -rds -hcT +ayl +qKX wOp -wny -bua +bOo +uNr wOp -vZK -dTd -ghX -kgw -xvV +kde +wYU +gJz +qom +cAX xQJ xQJ -bfE -rIo +oZg +rGk xQJ -ohN +pKM oUC oPM sDj @@ -114072,7 +114610,7 @@ eJm noe hYK pNO -iyt +rcz vMC wMP uUf @@ -114300,23 +114838,23 @@ aJq aJq aJq wOp -gRH +vzS wOp wOp -nWk -iHz -dTd -vCq -ppT -pyk +fHq +sBZ +wYU +cww +uho +eKi wOp mIW xRW tSv -fik +qZC nou xQJ -ifg +kLw xlL oPM wBI @@ -114350,18 +114888,18 @@ ifU eGc cAb xjb -pYZ +sNY nyB gOQ cvH xiT blk -fxi +lGH rrb -fxi +lGH ibI -bON -dcx +tvF +vWg eWI maL usF @@ -114567,13 +115105,13 @@ wOp wOp wOp wOp -mTc +nNt xRW xqS -fik +qZC xqS xQJ -tOa +cJN oPM oPM wBI @@ -114586,7 +115124,7 @@ vso fHT veK dDF -obb +gGx vMC xFA sMh @@ -114607,8 +115145,8 @@ hHf aXI awE kdO -niF -mIm +bnK +vTX gMR pAl deh @@ -114617,7 +115155,7 @@ uTR rFF sea wqb -dlG +uNz ois eWI umz @@ -114824,7 +115362,7 @@ wtx xXT kNu lfa -mTc +nNt xQJ mjf mFh @@ -114832,7 +115370,7 @@ noB xQJ avN oPM -rYt +dFP wBI sEr dQQ @@ -114843,7 +115381,7 @@ vir vir vir vir -oNN +liy yfA mfl xds @@ -114862,11 +115400,11 @@ reh tgp reh reh -vnf +qrb wML oOw -keP -qrb +tSD +aSy aSy svz aSy @@ -114891,7 +115429,7 @@ ycE cOW aLr tqX -sNb +lRo svs blb svs @@ -115079,16 +115617,16 @@ aJq xXT bsu opA -goA -jDS -uFt +rYI +aSp +vTQ plB caI mFP qrm qNn wBI -fEM +jiq wBI sDj sES @@ -115131,7 +115669,7 @@ aSy aSy aSy aSy -sjl +rfE nlC eWI tJX @@ -115336,7 +115874,7 @@ aJq xXT nkm xXT -mTc +nNt lfd vwd xQJ @@ -115364,32 +115902,32 @@ vbK xuW xam vhJ -kOh +msn wec gGK aPX smk -elc +mSk wIY wIY nAF srK srK -tEC +lMR vnf wML rOX -aUB +uNj sYa yfs -hPU +ajR xKX -fKN -xMc +hWv +vZL xKX -jsa -nCe -kIm +xtS +iXF +ahv eWI dov oLg @@ -115593,7 +116131,7 @@ dDB xXT xXT xXT -wHS +sHJ xXT xXT xQJ @@ -115608,7 +116146,7 @@ rKC pnU xlL xlL -mok +qXS vRh uMH vbK @@ -115635,18 +116173,18 @@ udw uHd lhm wEC -wed -vsJ +ukN +mQa sYa cqn -xTR +mcw foI gJS lIL gJS -cDa +aMJ mOm -uLT +fQs oWr tJX tJX @@ -115850,7 +116388,7 @@ dDB dDB blb xXT -mTc +nNt xXT oOb xRq @@ -115870,9 +116408,9 @@ vRh uMH xfc rYm -phm -vmp -phm +jec +gtL +jec wPK xfc vRh @@ -115893,9 +116431,9 @@ sZK vnf cVQ rOX -xre +gWT sYa -rtI +feI dXU aSy deQ @@ -115903,7 +116441,7 @@ tst deQ aSy iMI -tTT +oDz eWI wuf tJX @@ -115918,11 +116456,11 @@ xXP xXP oOl rIY -pAY +yfp kfy obP urB -aKS +lnQ asb msJ msJ @@ -116107,11 +116645,11 @@ dDB dDB blb ukI -wkG -ebc -jDS -cmD -pEq +rab +fHA +aSp +fqv +wuC lYf rsL iJb @@ -116122,11 +116660,11 @@ pdU qka voh eWD -vzN +ewO vRh pwA rvX -ixT +nvw svy sSW tbS @@ -116150,17 +116688,17 @@ uHd vnf dav rOX -ufe +gSl sYa xlM qrB yeQ yeQ -riq +ciK yeQ yeQ qrB -bjc +ngQ eWI dNy tJX @@ -116366,7 +116904,7 @@ blb xXT kNI xXT -wsL +uZv vwd fzq xau @@ -116383,7 +116921,7 @@ vbK upr uMH xfc -yka +akH vPf rXW tdw @@ -116407,13 +116945,13 @@ sZK vnf lsO rOX -vLH +hzt sYa sYa sYa xlP xlP -fSg +lCM xlP xlP eWI @@ -116425,14 +116963,14 @@ vlV uXU vlV kAR -dng +jXX vkZ lCN -fLI -cQo -cMY +cxg +vjq +bSL vlV -fPV +ahr jWO svs dDB @@ -116640,7 +117178,7 @@ vbK xva uMH vbK -fyL +qwk svD sKz uWv @@ -116656,7 +117194,7 @@ wHg mbZ xia jYr -oaY +evs lZB ivz jYr @@ -116670,7 +117208,7 @@ cVz sYa rQw xlP -pPp +dfK xlP tGp eWI @@ -116679,15 +117217,15 @@ usJ lCN jsX vlV -dqj +ouZ vlV -lEN +iTs fsW quw vlV -kjO -fla -keO +nuL +prT +avp vlV qXh rhH @@ -116881,14 +117419,14 @@ uRF kNJ orC oPQ -kbm +uxB rsL xau rsL xSt xWq -iRk -aQZ +oxK +rUg wJL prf dSb @@ -116896,13 +117434,13 @@ hiV vbK upy qWJ -flx -oBX +iCj +tPb mzl aOz -fRl -skV -kxE +bIT +aLn +hug gto fqG sQb @@ -116942,8 +117480,8 @@ vlV vlV vlV vlV -uhT -uhT +kXF +kXF niZ pCU tqX @@ -117138,13 +117676,13 @@ uRF uRF orC vWM -tGB +ijp rsL mIh rsL xTO -cHI -ily +dMA +ydH xPj wJL sHX @@ -117155,14 +117693,14 @@ upP rwg vbK dtC -vym -phm -phm -dss +fLg +jec +jec +uSX vbK sfq uGX -frZ +otz xqn xqn wvM @@ -117172,7 +117710,7 @@ xEd bBr yjt eTT -paT +wiz jxk vKX vnf @@ -117184,7 +117722,7 @@ duc sYa axN xlP -gWf +gDL xlP xlP eWI @@ -117204,7 +117742,7 @@ niZ niZ vlV tqX -vEn +ajL svs grm grm @@ -117408,7 +117946,7 @@ prh sYb ttD vbK -pcE +bYa xfc vbK bWi @@ -117419,7 +117957,7 @@ tzH vbK the fqG -uUS +lKY ocb mau ocb @@ -117429,7 +117967,7 @@ xVv ocb ocb mau -nTP +lHX dNz erE vnf @@ -117439,11 +117977,11 @@ pXQ kwA xaR sYa -xdV +qYU xlP gpy xlP -orz +mYT eWI eWI eWI @@ -117652,7 +118190,7 @@ uRF uRF vWM vWM -ewt +eaZ rsL mJq rsL @@ -117698,7 +118236,7 @@ boW sYa mwJ xlP -ygf +sEd xlP fvH eWI @@ -117714,11 +118252,11 @@ eWI tJX tJX vlV -nsW +dCi geS -aWz +ndi xsW -agK +waB qRo wGq hgu @@ -117907,15 +118445,15 @@ dDB blb uRF kPv -fMg -auO -cbH +wFc +evl +fuy rsL wBs noN vjb vjb -uoH +qoG ikc vwd rsL @@ -117971,7 +118509,7 @@ eWI pPZ uzo vlV -bNu +bwg xQj msJ nwj @@ -118173,7 +118711,7 @@ xXT qNF rej wBs -ijk +fKV jSR wxd qYv @@ -118183,8 +118721,8 @@ eXW uNR viA sbN -iXM -oKn +iiU +fqY tuE owv rOW @@ -118196,7 +118734,7 @@ xia xia xia cxO -egL +xnk cxO xia xia @@ -118228,10 +118766,10 @@ eWI eWI eWI eWI -cDf +rnS xQj svs -uzY +fIm qbn svs kNK @@ -118435,14 +118973,14 @@ rsL rsL xtI xtI -gXs +fVB urd vTm xok xok xok sMD -sJg +mlg sMD wMO ukQ @@ -118450,14 +118988,14 @@ qTe sxF qTb vYL -gIR +ttt wNT xnC xnC xnC rfO aGv -nLk +sag vId icT bxI @@ -118477,7 +119015,7 @@ blb wos nFs bgQ -hvX +wFX fsT eXo blb @@ -118486,9 +119024,9 @@ blb blb sLU tYN -imI +jdg svs -ewF +ktX xJi svs pSq @@ -118684,24 +119222,24 @@ xXT xXT xWd rsL -ndY +nvj pms gaL -oJL -yhK +tQp +vHm prW pms tCD -tiv +ozq urd qXL xok uGK xok wcq -pED +jna kea -iCJ +vbu ede hoG vkt @@ -118709,17 +119247,17 @@ vCe oJn xer sZx -wPX -wFa -emn -unT +ioA +eYd +rIT +eTS hsC jbd jiT cDy efK wML -fKP +rki sxm eXo eXo @@ -118733,7 +119271,7 @@ blb blb wos jMa -mWE +dSN gZh oJP eXo @@ -118743,7 +119281,7 @@ eXo eXo eXo qCc -xBp +qfN svs grm grm @@ -118942,11 +119480,11 @@ wyK xfa rsL lRh -pfT +nWX kaD -jpE -jpE -sJr +yhe +yhe +wPv kaD tCD vtA @@ -118957,7 +119495,7 @@ dSq xok mzf wwQ -gkv +sxE wMO gAA jtI @@ -118965,11 +119503,11 @@ tRw xFA rFH xFA -fbO +lKV ixU ipx -lHb -skT +eaw +bso sCR eQt fjL @@ -118978,7 +119516,7 @@ vnf wML pwn eXo -iUp +lts wdS eXo wos @@ -118997,7 +119535,7 @@ eXo eXo eXo jat -iUp +lts nVF msJ xQj @@ -119204,29 +119742,29 @@ seM rVy seM oGL -gfQ +bDp tCD -mkh +jZv ntK lSu xok tNz xok -bgg +iNs tfE vFG wMO -kzs +fFR uTO uTO xok dXb xok wOh -rUc +eXM qbN xZE -ugo +mHA roZ eQt wYa @@ -119241,7 +119779,7 @@ wos sXw vVX sTK -hGr +tUD vbQ iVE ksg @@ -119257,7 +119795,7 @@ jrU qlz nVF msJ -cYk +xQj svs blb blb @@ -119464,7 +120002,7 @@ psn oyQ oyQ oyQ -uuY +fir tCD xok vhC @@ -119479,7 +120017,7 @@ cyx xok upe xok -avr +col nuo eQt eQt @@ -119491,10 +120029,10 @@ xok qID iHM uSB -lDc -qxB +oRy +xMZ nKj -jXr +lAE mny oWC mny @@ -119509,11 +120047,11 @@ qDi aEJ bZt mHZ -srE +mZt lom tGI -lDc -fKa +khX +bbJ pGp svs dDB @@ -119722,7 +120260,7 @@ oyQ pVa qjh qzL -kbI +xfi xok vhC sHV @@ -119732,26 +120270,26 @@ fds xok fni xWw -cip +xLv ujT -mYd +iVX xok xok xok xok -enV -ouz +kyw +vsj xOw xok itF xok qFb wML -gDB -ccF +kQB +fbd gMe nRr -pJu +gNe rqm vwx rYp @@ -119766,10 +120304,10 @@ woD qCY toh tAT -pJu +gaR ldx gMe -ccF +fbd msJ xQj svs @@ -119975,7 +120513,7 @@ rsL quq xQX ptj -tNy +akO jGW vkU ogT @@ -119997,14 +120535,14 @@ xEq xEq xok cnG -cZl +fAW gMQ xok sjp rNd vnf uzK -dde +nzD nVF qsg kcW @@ -120012,7 +120550,7 @@ wos udv tSq mvo -hGr +tUD bFw ulK cdn @@ -120261,7 +120799,7 @@ sjp xaN xjo qQK -kuO +hbp nVF aAD sCk @@ -120505,7 +121043,7 @@ wZA wZA tUH vDC -esz +hBa xaN wQx xEq @@ -120532,7 +121070,7 @@ blb blb wos tMs -mWE +dSN gZh bmr eXo @@ -120541,14 +121079,14 @@ eXo eXo eXo eXo -cru +ggC xaI svs svs svs svs svs -gTW +bue gTW svs svs @@ -120753,7 +121291,7 @@ dDB dDB xaN eSV -vmN +oaC viP xaN mSH @@ -120789,8 +121327,8 @@ ifa blb wos aoa -llH -cKL +mpZ +mnQ mTM eXo blb @@ -120799,7 +121337,7 @@ blb blb sLU tYN -apl +uhM svs dDB dDB @@ -121019,7 +121557,7 @@ tZi xWL vkV nBG -liS +ivh xaN eUN xwS @@ -121032,16 +121570,16 @@ fWJ bNl bCQ qgq -vOf +htP uXC scj ifa ifa ifa ifa -kmP +ibC vLi -tQr +wLG ifa dDB eXo @@ -121056,7 +121594,7 @@ kQt kQt kQt xJm -sOt +fHz svs dDB dDB @@ -121282,8 +121820,8 @@ xok xok xok xok -eog -tbI +rKE +tWf xok qNO xaN @@ -121296,8 +121834,8 @@ jTu gTK bDD dhy -otB -lee +asX +kQl lCh ifa dDB @@ -121313,7 +121851,7 @@ kVx bEd hyE hZP -uaF +mYv svs blb blb @@ -121530,7 +122068,7 @@ blb dDB xaN dNG -gJQ +wEo vlq vFn qNO @@ -121539,22 +122077,22 @@ wRd qsV xEQ elh -yba -lDr +gHh +mUd xok geg xok bEB mWc -eYH -atB +cSd +nVC vXH jnk -gqh -bcK +wAC +nnH kXQ -jId -ciW +pKz +gzo qKe ifa blb @@ -121796,10 +122334,10 @@ wRo vTf xFI gfu -ckt -ckt -nOD -lwu +vnU +vnU +fYJ +slo lkV whF okW @@ -121808,11 +122346,11 @@ fUo hyE xKl vkW -uWr +tdl kCI -gqh -ciW -jJT +wAC +gzo +bfb kQt kQt kQt @@ -122055,7 +122593,7 @@ sbq aFj lkV iJL -rci +ssn vTv dpz boY @@ -122065,7 +122603,7 @@ xZX hyE gTS nUo -bGe +gKP iqD fVy nQo @@ -122311,9 +122849,9 @@ jiR reN hRA reN -xUX -nZF -kpX +qWA +gLK +weW lnu enG xMK @@ -122333,7 +122871,7 @@ oix hyE hyE oCM -mGM +vYG hyE leP leP @@ -122569,17 +123107,17 @@ oZz xZJ aVT enG -kUa -kUa -kUa -vIz +xdj +xdj +xdj +fNS xpR kQt -nhl +lHI kat dzE oTj -eLB +mNW hyE hKs pYx @@ -122826,7 +123364,7 @@ nWh xEn nWh xnR -aLC +vSK wLZ xwn cns @@ -123335,7 +123873,7 @@ dDB blb yeZ rma -oCB +lsX xFL dtk kZF @@ -123343,8 +123881,8 @@ pSB qei qZU jeG -oxg -fZG +bcC +jdC hQD cqx kQt @@ -123591,17 +124129,17 @@ dDB dDB blb rle -oqi +nCP xFL -rCa +xZc lwn aMy nNZ qei rss hcb -owH -sQX +qzl +lDm idt tKG kQt @@ -123848,8 +124386,8 @@ dDB dDB blb yeZ -iyr -dEL +jkI +pfn wVg nzL nzL @@ -123857,12 +124395,12 @@ nzL qei vCQ qSC -kcQ -gpT +axK +dke bVD agy kQt -tdE +gvK rWA mfp uyA @@ -124106,7 +124644,7 @@ dDB blb rle wTJ -lDw +mRf ejx bry heT @@ -124114,14 +124652,14 @@ teE qei xwQ wCH -sXL -rzd +une +nzd sGE hon kQt lHc pyh -xyZ +xkc pxZ xTf nZq @@ -124362,17 +124900,17 @@ blb blb nzL yeZ -iHv -lDw -fKd -lDw -bHy +aUO +mRf +fay +mRf +uWL rxP qei -whD -hwh -cTp -rzd +nkJ +bBN +uHk +nzd uQb ijB kQt @@ -124620,22 +125158,22 @@ dDB nFI yeZ wXg -rud -aGb +lZZ +jek rFp yly -rBg +bPP rGp blJ qnJ oiT obs -ilE -nwk +pPJ +dtQ kQt jeC dLQ -jie +woo vHx hyE lKG @@ -124880,8 +125418,8 @@ cwb sDA sgw yeZ -ser -lfc +lFS +wTR kQt kQt kQt @@ -125137,14 +125675,14 @@ yeZ yeZ yeZ yeZ -oXa -dYW +lQV +iZk dxZ dLQ dLQ dLQ dLQ -irc +ngk hyE jeC xAv @@ -125395,7 +125933,7 @@ blb blb yeZ pUC -bFh +myZ kQt hyE hyE @@ -125403,7 +125941,7 @@ hyE hyE kit dLQ -tUZ +fBx hyE hyE dDB @@ -127216,7 +127754,7 @@ pnt ylD ksN sVk -jQj +nTb xpb ylD lVz @@ -127486,7 +128024,7 @@ dDB ylD ylD ylD -sPa +tKv ylD ylD oRV @@ -128510,7 +129048,7 @@ xqq xLY ylD lye -lNF +nZI ylD ylD ylD @@ -129013,10 +129551,10 @@ uxL lhl jxD ylD -hqH +rcG vzv brz -cgM +mgQ ylD wyj dYR diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index f4691cfb2ab04..3af6ec23a73b0 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -15,14 +15,6 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) -"aaf" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/solars/port/fore) "aaz" = ( /obj/effect/landmark/start/hangover, /obj/structure/chair/stool/directional/east, @@ -46,13 +38,11 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) "aaR" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/camera/directional/north{ c_tag = "Library - Fore Starboard"; - dir = 9; name = "library camera" }, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -129,7 +119,6 @@ dir = 1 }, /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay) @@ -199,6 +188,7 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/construction/mining/aux_base) "acs" = ( @@ -342,7 +332,6 @@ /area/station/security/prison) "aej" = ( /obj/structure/chair/stool/directional/east, -/obj/structure/sign/poster/random/directional/west, /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/service/barber) @@ -351,6 +340,13 @@ dir = 1 }, /area/station/commons/fitness/recreation) +"aeo" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/sign/poster/contraband/self_ai_liberation/directional/north, +/turf/open/floor/iron, +/area/station/science/research/abandoned) "aeu" = ( /obj/machinery/hydroponics/constructable, /obj/structure/sign/poster/random/directional/north, @@ -452,6 +448,13 @@ /obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/science) +"afs" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "aft" = ( /obj/machinery/newscaster/directional/south, /obj/structure/chair/sofa/bench/corner{ @@ -464,6 +467,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"afu" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/cytology{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/item/seeds/soya{ + pixel_x = 11; + pixel_y = -2 + }, +/obj/structure/sign/warning/deathsposal/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "afD" = ( /obj/machinery/firealarm/directional/south, /obj/structure/filingcabinet/security, @@ -626,6 +646,7 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, /obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) "agZ" = ( @@ -800,6 +821,13 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/eva/abandoned) +"ajz" = ( +/obj/machinery/suit_storage_unit/security, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/evidence) "ajP" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment, @@ -809,7 +837,7 @@ /area/station/service/library/lounge) "ajY" = ( /obj/structure/chair/sofa/corner/brown, -/obj/structure/noticeboard/directional/east, +/obj/structure/sign/poster/official/help_others/directional/north, /turf/open/floor/carpet/blue, /area/station/medical/psychology) "akf" = ( @@ -859,17 +887,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/prison/visit) -"ale" = ( -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/east{ - pixel_x = 3 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +"alp" = ( +/obj/machinery/hydroponics/soil, +/obj/item/cultivator, +/obj/machinery/airalarm/directional/east, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "alG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -904,6 +927,9 @@ name = "science camera"; network = list("ss13","rd") }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/white, /area/station/science/lobby) "alT" = ( @@ -1083,10 +1109,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/service/library/abandoned) -"anB" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter/room) "anC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -1139,13 +1161,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay) -"anZ" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "aoc" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -1248,6 +1263,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"apm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/hydroponics/constructable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/green, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron, +/area/station/security/prison/garden) "apu" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -1386,6 +1409,7 @@ dir = 1 }, /obj/item/pillow/random, +/obj/machinery/status_display/evac/directional/south, /turf/open/floor/wood, /area/station/commons/dorms) "aqW" = ( @@ -1602,9 +1626,6 @@ /area/station/maintenance/department/medical/morgue) "asO" = ( /obj/machinery/porta_turret/ai, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) "asS" = ( @@ -1749,7 +1770,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/poddoor{ id = "engstorage"; - name = "Engineering Secure Storage Lockdown" + name = "Engineering Secure Storage Lockdown"; + dir = 8; + manual_align = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -1779,7 +1802,6 @@ /obj/structure/table, /obj/item/stack/package_wrap, /obj/item/hand_labeler, -/obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/evidence) @@ -1889,7 +1911,6 @@ dir = 8 }, /obj/structure/chair/stool/bar/directional/west, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/wood, /area/station/service/electronic_marketing_den) @@ -1933,7 +1954,6 @@ "awi" = ( /obj/structure/table/glass, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/science/directional/south, /turf/open/floor/plating, /area/station/maintenance/space_hut/observatory) "awj" = ( @@ -1958,10 +1978,10 @@ /turf/open/floor/iron, /area/station/cargo/storage) "awA" = ( -/obj/structure/sign/poster/random/directional/north, /obj/machinery/module_duplicator, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/firing_range/directional/north, /turf/open/floor/iron/dark, /area/station/science/circuits) "awC" = ( @@ -1996,6 +2016,17 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/crew_quarters/bar) +"awN" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "ceblast"; + name = "Chief Engineer's Office Blast Doors"; + dir = 4; + manual_align = 1 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) "awT" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/cafeteria, @@ -2070,6 +2101,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) +"axY" = ( +/obj/structure/table/wood, +/obj/item/cigarette/cigar/cohiba{ + pixel_x = 3 + }, +/obj/item/cigarette/cigar/havana{ + pixel_x = -3 + }, +/obj/item/cigarette/cigar, +/turf/open/floor/wood, +/area/station/command/meeting_room/council) "ayh" = ( /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/ce) @@ -2227,24 +2269,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"aBf" = ( -/obj/structure/table/glass, -/obj/item/folder/blue{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/folder/white, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/cmo/directional/south, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) -"aBn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/sign/warning/vacuum/directional/south, -/turf/open/floor/plating, -/area/station/security/checkpoint/escape) "aBp" = ( /obj/machinery/status_display/evac/directional/south, /obj/item/kirbyplants/random, @@ -2266,6 +2290,7 @@ /obj/item/toy/figure/ce, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) "aBy" = ( @@ -2350,6 +2375,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) +"aCA" = ( +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/white, +/area/station/science/research) "aCJ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -2530,7 +2559,6 @@ /turf/open/space, /area/space/nearstation) "aFp" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 }, @@ -2548,10 +2576,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"aFE" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/command/teleporter) "aFH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, @@ -2594,7 +2618,9 @@ "aGo" = ( /obj/machinery/door/poddoor{ id = "engstorage"; - name = "Engineering Secure Storage Lockdown" + name = "Engineering Secure Storage Lockdown"; + dir = 8; + manual_align = 1 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -2684,6 +2710,7 @@ /obj/item/wrench, /obj/item/analyzer, /obj/item/book/manual/wiki/atmospherics, +/obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/electrical) "aGZ" = ( @@ -2706,28 +2733,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/service/hydroponics) -"aHq" = ( -/obj/structure/table/wood, -/obj/item/storage/box/matches{ - pixel_x = -2; - pixel_y = 3 - }, -/obj/item/cigarette/cigar{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/cigarette/cigar/cohiba{ - pixel_x = 3; - pixel_y = 1 - }, -/obj/item/cigarette/cigar{ - pixel_x = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/corporate_showroom) "aHr" = ( /obj/item/kirbyplants/random, /obj/machinery/light/directional/south, @@ -2842,6 +2847,9 @@ /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "aII" = ( @@ -3004,11 +3012,13 @@ /turf/open/floor/iron, /area/station/maintenance/port/aft) "aKq" = ( -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, /obj/machinery/light/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/security/courtroom) "aKt" = ( @@ -3044,17 +3054,6 @@ dir = 4 }, /area/station/commons/fitness/recreation) -"aLM" = ( -/obj/machinery/computer/security/telescreen/prison/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "aLN" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -3177,9 +3176,6 @@ /area/station/medical/treatment_center) "aNb" = ( /obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ - pixel_y = -24 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) @@ -3244,10 +3240,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/department/chapel) -"aNP" = ( -/obj/structure/sign/warning/hot_temp/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "aNQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -3358,10 +3350,10 @@ /area/station/service/chapel/office) "aOQ" = ( /obj/structure/closet/secure_closet/courtroom, -/obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) "aOT" = ( @@ -3375,9 +3367,6 @@ /obj/effect/turf_decal/trimline/purple/filled/mid_joiner{ dir = 4 }, -/obj/item/radio/intercom/directional/east{ - pixel_y = 2 - }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) "aPc" = ( @@ -3475,7 +3464,8 @@ dir = 4 }, /obj/machinery/door/airlock/external{ - name = "MiniSat Exterior Access" + name = "MiniSat Exterior Access"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/construction, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -3514,13 +3504,11 @@ /obj/structure/cable, /obj/structure/table/wood, /obj/machinery/door/firedoor, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_y = 32 - }, /obj/item/storage/fancy/cigarettes/cigars, /obj/item/storage/fancy/cigarettes/cigars/cohiba{ pixel_y = 3 }, +/obj/structure/sign/picture_frame/portrait/bar, /turf/open/floor/iron/dark/smooth_half{ dir = 1 }, @@ -3650,12 +3638,6 @@ /area/station/service/library/abandoned) "aSW" = ( /obj/structure/cable, -/obj/machinery/button/flasher{ - id = "Cell 3"; - name = "Prisoner Flash"; - pixel_x = 25; - pixel_y = 7 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/button/door/directional/east{ @@ -3667,6 +3649,10 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/button/flasher/directional/east{ + id = "Cell 3"; + name = "Prisoner Flash" + }, /turf/open/floor/iron, /area/station/security/execution/transfer) "aTz" = ( @@ -3818,6 +3804,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/engineering/supermatter/room) "aWk" = ( @@ -3985,16 +3972,16 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "aXI" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/newscaster/directional/north, -/obj/machinery/button/door/directional/south{ +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot_red, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/north{ id = "Arrivals_Toilet3"; name = "Lock Control"; - normaldoorcontrol = 1; - specialfunctions = 4 + specialfunctions = 4; + normaldoorcontrol = 1 }, -/obj/machinery/recharge_station, -/obj/effect/turf_decal/bot_red, /turf/open/floor/iron, /area/station/commons/toilet/restrooms) "aXK" = ( @@ -4020,6 +4007,16 @@ }, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"aYf" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "aYs" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -4168,6 +4165,7 @@ dir = 1 }, /obj/effect/turf_decal/caution/stand_clear, +/obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "ban" = ( @@ -4201,7 +4199,6 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/light/directional/west, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -4228,7 +4225,6 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/structure/sign/warning/biohazard/directional/east, /turf/open/floor/iron/white, /area/station/science/research) "bbo" = ( @@ -4307,6 +4303,15 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"bcv" = ( +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "bcx" = ( /obj/machinery/door/airlock/highsecurity{ name = "Emergency Access" @@ -4404,6 +4409,7 @@ /obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 1 }, +/obj/machinery/status_display/door_timer/directional/west, /turf/open/floor/iron/dark/textured_half, /area/station/security/detectives_office) "bdF" = ( @@ -4493,23 +4499,15 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/sign/warning/biohazard/directional/north, /obj/machinery/camera/directional/north{ c_tag = "Science - Xenobiology Access"; name = "science camera"; network = list("ss13","rd") }, /obj/structure/sink/directional/west, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/science) -"bfe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/sign/warning/pods/directional/south, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/dorms) "bfn" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4762,6 +4760,10 @@ /obj/effect/turf_decal/bot, /obj/machinery/newscaster/directional/south, /obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + name = "cargo camera"; + c_tag = "Cargo - Mining" + }, /turf/open/floor/iron, /area/station/cargo/miningoffice) "bhN" = ( @@ -4832,6 +4834,7 @@ /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light/small/red/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/smooth, /area/station/science/xenobiology) "biv" = ( @@ -4907,8 +4910,8 @@ /area/station/engineering/lobby) "bjp" = ( /obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/test_chamber/directional/north, /turf/open/floor/iron, /area/station/science/research) "bjs" = ( @@ -5327,9 +5330,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-right" }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -5338,11 +5338,15 @@ }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "bpd" = ( /obj/machinery/light/small/directional/north, -/obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/hallway/secondary/service) "bpg" = ( @@ -5353,6 +5357,9 @@ /obj/effect/turf_decal/siding/yellow{ dir = 1 }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "bpr" = ( @@ -5372,7 +5379,6 @@ /area/station/engineering/storage/tech) "bpw" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/contraband/random/directional/west, /obj/structure/table/wood, /obj/item/newspaper, /obj/item/clothing/head/hats/bowler, @@ -5407,7 +5413,6 @@ /obj/structure/table/wood, /obj/item/food/baguette, /obj/item/toy/crayon/spraycan/mimecan, -/obj/structure/sign/poster/random/directional/south, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -5539,9 +5544,6 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos) "bsd" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/machinery/airalarm/directional/south, /obj/effect/landmark/start/hangover/closet, /obj/effect/spawner/random/structure/closet_private, @@ -5785,7 +5787,7 @@ /obj/machinery/light/small/directional/south, /obj/effect/landmark/start/hangover, /obj/machinery/newscaster/directional/west, -/obj/machinery/button/door/directional/south{ +/obj/machinery/button/door/directional/east{ id = "Toilet1"; name = "Lock Control"; normaldoorcontrol = 1; @@ -5861,7 +5863,6 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/structure/sign/poster/random/directional/south, /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/maintenance/port/fore) @@ -5905,6 +5906,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"bwS" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/structure/sign/painting/library, +/turf/open/floor/wood, +/area/station/commons/dorms) "bwU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5997,17 +6004,34 @@ /area/station/engineering/break_room) "byP" = ( /obj/machinery/firealarm/directional/east, -/obj/machinery/camera{ - c_tag = "Cargo Bay - Drone Bay"; - dir = 4; - name = "cargo camera" - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"byT" = ( +/obj/structure/window/spawner/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/closet/crate/hydroponics, +/obj/item/seeds/tower, +/obj/effect/spawner/random/contraband/prison, +/obj/item/seeds/pumpkin, +/obj/item/seeds/wheat, +/obj/item/seeds/ambrosia, +/obj/item/seeds/grass, +/obj/item/seeds/carrot, +/obj/item/seeds/tomato, +/obj/item/seeds/potato, +/obj/item/seeds/garlic, +/obj/item/seeds/onion, +/obj/item/paper/guides/jobs/hydroponics, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/garden) "byX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6025,15 +6049,15 @@ /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "bzf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /obj/effect/turf_decal/siding/yellow/corner{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "bzh" = ( @@ -6118,7 +6142,6 @@ "bAp" = ( /obj/structure/sink/directional/west, /obj/item/trash/sosjerky, -/obj/structure/sign/poster/official/cleanliness/directional/east, /obj/machinery/firealarm/directional/south, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -6178,23 +6201,6 @@ "bAR" = ( /turf/closed/wall/r_wall, /area/station/engineering/break_room) -"bAS" = ( -/obj/structure/table/wood, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/cigarette/cigar/havana{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/cigarette/cigar/cohiba{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/cigarette/cigar{ - pixel_x = -2; - pixel_y = 2 - }, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/hos) "bAU" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/lattice, @@ -6237,10 +6243,6 @@ /area/station/maintenance/starboard/aft) "bBh" = ( /obj/machinery/disposal/bin, -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = -32 - }, /obj/structure/disposalpipe/trunk{ dir = 1 }, @@ -6308,9 +6310,6 @@ /obj/item/bedsheet/medical{ dir = 4 }, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 }, @@ -6336,7 +6335,6 @@ /obj/item/disk/tech_disk{ pixel_y = 6 }, -/obj/structure/sign/warning/no_smoking/directional/west, /obj/effect/turf_decal/siding/purple{ dir = 4 }, @@ -6415,7 +6413,6 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, /obj/effect/spawner/random/structure/tank_holder, -/obj/structure/sign/poster/official/wtf_is_co2/directional/east, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) "bCY" = ( @@ -6492,10 +6489,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/department/chapel) -"bDX" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/engineering/lobby) +"bEc" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/directional/north, +/obj/structure/window/half/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "bEd" = ( /obj/structure/chair/wood{ dir = 4 @@ -6556,6 +6562,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"bED" = ( +/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "bEH" = ( /obj/structure/rack, /obj/item/book/manual/wiki/engineering_guide, @@ -6595,10 +6605,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/maintenance/department/eva/abandoned) -"bET" = ( -/obj/structure/sign/warning/vacuum, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/science/xenobiology) "bEU" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/machinery/shieldgen, @@ -6666,17 +6672,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/herringbone, /area/station/cargo/miningoffice) -"bFD" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "bFS" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/structure/cable, @@ -6704,18 +6699,6 @@ name = "Custom Channel"; pixel_y = -8 }, -/obj/machinery/button/door/directional/south{ - id = "aicoredoor"; - name = "AI Chamber Access Control"; - pixel_x = -24; - req_access = list("ai_upload") - }, -/obj/machinery/button/door/directional/south{ - id = "aicorewindow"; - name = "AI Core Shutters"; - pixel_x = 24; - req_access = list("ai_upload") - }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) "bFV" = ( @@ -6735,11 +6718,8 @@ /area/station/ai_monitored/turret_protected/aisat_interior) "bGa" = ( /obj/structure/table/wood/fancy, -/obj/structure/sign/painting/large/library{ - dir = 8; - pixel_x = -28 - }, /obj/machinery/door/window/right/directional/east, +/obj/structure/sign/painting/library_secure/directional/west, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "bGc" = ( @@ -6779,7 +6759,6 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/help_others/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "bGn" = ( @@ -6868,8 +6847,8 @@ "bHd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table/wood, -/obj/item/radio/intercom/command, /obj/item/paper/fluff/jobs/engineering/frequencies, +/obj/item/radio/intercom/command, /turf/open/floor/carpet, /area/station/command/meeting_room/council) "bHg" = ( @@ -6891,14 +6870,6 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/iron, /area/station/maintenance/fore) -"bHr" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/engineering/main) "bHA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ @@ -7005,22 +6976,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"bIW" = ( -/obj/machinery/turretid{ - icon_state = "control_stun"; - name = "AI Chamber turret control"; - pixel_x = 3; - pixel_y = -23 - }, -/obj/machinery/door/window/brigdoor/left/directional/west{ - name = "Primary AI Core Access"; - req_access = list("ai_upload") - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "bJf" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -7233,11 +7188,11 @@ "bLt" = ( /obj/machinery/camera/directional/north{ c_tag = "Medbay - Central Hallway"; - dir = 9; name = "medbay camera"; network = list("ss13","medbay") }, /obj/machinery/photocopier, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay) "bLu" = ( @@ -7260,28 +7215,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"bLy" = ( -/obj/machinery/computer/cargo{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo Bay - Starboard"; - name = "cargo camera" - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/east{ - id = "cargounload"; - name = "Loading Doors"; - pixel_y = 6 - }, -/obj/machinery/button/door/directional/east{ - id = "cargoload"; - name = "Loading Doors"; - pixel_y = -6 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "bLC" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -7359,10 +7292,12 @@ /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) "bMh" = ( -/obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark/corner{ dir = 4 }, @@ -7451,9 +7386,6 @@ /turf/open/floor/iron/white, /area/station/science/research) "bOh" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/directional/south, @@ -7582,10 +7514,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"bPH" = ( -/obj/structure/sign/plaques/kiddie, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/aisat_interior) "bPI" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -7633,13 +7561,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) -"bRl" = ( -/obj/structure/sign/warning/electric_shock{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "bRm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -7661,19 +7582,15 @@ /turf/open/floor/plating, /area/station/maintenance/port) "bRw" = ( -/obj/structure/sign/warning/deathsposal/directional/east, -/obj/structure/disposalpipe/trunk{ +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, -/obj/machinery/light/directional/east, +/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/purple{ dir = 8 }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/obj/machinery/disposal/bin/tagger, /turf/open/floor/iron, /area/station/science/xenobiology) "bRy" = ( @@ -7695,10 +7612,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"bRD" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/aisat_interior) "bRE" = ( /obj/structure/cable, /obj/machinery/chem_master/condimaster{ @@ -7739,10 +7652,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"bRP" = ( -/obj/structure/sign/warning/vacuum, -/turf/closed/wall, -/area/space/nearstation) "bRQ" = ( /obj/structure/lattice, /obj/structure/transit_tube/curved/flipped{ @@ -7796,16 +7705,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/security/execution/transfer) -"bSn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 8 - }, -/obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/south, -/turf/open/floor/iron/white, -/area/station/science/research) "bSp" = ( /obj/effect/landmark/start/hangover, /obj/structure/table/wood, @@ -7851,6 +7750,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/atmos) +"bSB" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "bSG" = ( /obj/effect/spawner/random/structure/girder, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -7897,6 +7803,7 @@ }, /obj/item/bedsheet/medical, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/medical) "bSZ" = ( @@ -7925,6 +7832,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"bTm" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/research/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "bTo" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -7959,11 +7871,9 @@ "bTy" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/vending/clothing, -/obj/machinery/button/curtain{ +/obj/machinery/button/curtain/directional/north{ id = "theater_curtains"; name = "curtain control"; - pixel_x = -24; - pixel_y = -8; req_access = list("theatre") }, /turf/open/floor/iron/dark, @@ -8040,20 +7950,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/security/checkpoint/escape) -"bUN" = ( -/obj/structure/table, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/cell_charger, -/obj/item/screwdriver{ - pixel_y = -1 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "bUQ" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, @@ -8183,7 +8079,6 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel/office) "bWT" = ( @@ -8214,6 +8109,7 @@ name = "emergency shower" }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark/textured, /area/station/science/research) "bXA" = ( @@ -8283,7 +8179,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/structure/sign/warning/no_smoking/directional/south, /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) @@ -8312,6 +8207,7 @@ /obj/effect/turf_decal/loading_area{ dir = 8 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark/side{ dir = 4 }, @@ -8441,8 +8337,7 @@ /area/station/ai_monitored/turret_protected/aisat_interior) "cak" = ( /obj/machinery/flasher/directional/south{ - id = "AI"; - pixel_x = -26 + id = "AI" }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -8455,8 +8350,8 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, /obj/item/radio/intercom/directional/south, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/cargo/sorting) "cao" = ( @@ -8500,7 +8395,6 @@ /turf/open/floor/iron, /area/station/engineering/main) "caW" = ( -/obj/structure/sign/poster/random/directional/west, /obj/structure/closet, /obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/spawner/random/food_or_drink/condiment, @@ -8581,11 +8475,6 @@ /obj/effect/mapping_helpers/mail_sorting/security/hos_office, /turf/open/floor/iron, /area/station/security/office) -"cbY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/vacuum, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) "ccd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8806,16 +8695,6 @@ "cfu" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) -"cfx" = ( -/obj/structure/cable, -/obj/machinery/computer/station_alert{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/security/telescreen/ce/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "cfy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -8959,6 +8838,7 @@ /obj/machinery/power/smes/full, /obj/effect/turf_decal/bot, /obj/item/radio/intercom/directional/west, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/engineering/gravity_generator) "chF" = ( @@ -9003,19 +8883,13 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "cit" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"ciz" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ciB" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering - Supermatter Room Port"; @@ -9124,14 +8998,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"ckb" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/east, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "ckd" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -9160,30 +9026,21 @@ /turf/open/floor/iron, /area/station/medical/medbay) "cky" = ( -/obj/machinery/button/door/directional/south{ - id = "psych_shutters"; - name = "Shutter Control"; - pixel_x = -4; - req_access = list("psychology") - }, /obj/machinery/light_switch/directional/south{ pixel_x = 6 }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/button/door/directional/south{ - id = "psych_bolt"; - name = "Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -4; - pixel_y = -35; - req_access = list("psychology"); - specialfunctions = 4 - }, /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ dir = 1; pixel_y = 4 }, +/obj/machinery/button/door/directional/west{ + id = "psych_bolt"; + name = "Bolt Control"; + req_access = list("psychology"); + normaldoorcontrol = 1; + specialfunctions = 4 + }, /turf/open/floor/wood, /area/station/medical/psychology) "ckB" = ( @@ -9267,7 +9124,6 @@ /obj/structure/table/wood, /obj/item/instrument/guitar, /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/wood, /area/station/service/theater/abandoned) @@ -9376,7 +9232,6 @@ /obj/structure/toilet{ dir = 8 }, -/obj/machinery/newscaster/directional/north, /obj/machinery/button/door/directional/south{ id = "Arrivals_Toilet1"; name = "Lock Control"; @@ -9384,7 +9239,14 @@ specialfunctions = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/east, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/north{ + id = "Arrivals_Toilet1"; + name = "Lock Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, /turf/open/floor/plating, /area/station/commons/toilet/restrooms) "cmd" = ( @@ -9417,7 +9279,6 @@ /obj/item/folder/blue, /obj/item/pen, /obj/machinery/light/small/directional/south, -/obj/structure/sign/departments/aisat/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "cmu" = ( @@ -9428,16 +9289,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"cmy" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen/prison/directional/east, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "cmE" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) "cmI" = ( @@ -9552,11 +9409,15 @@ /area/station/maintenance/fore) "cnp" = ( /obj/machinery/photocopier, -/obj/machinery/status_display/ai/directional/north, /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/east, +/obj/machinery/button/door/directional/north{ + id = "detectivewindows"; + name = "Privacy Shutters"; + req_access = list("detective") + }, /turf/open/floor/iron/dark, /area/station/security/detectives_office) "cnu" = ( @@ -9642,14 +9503,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"coH" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/solars/starboard/fore) "coV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -9723,7 +9576,6 @@ /turf/open/floor/iron/dark, /area/station/security/execution/transfer) "cpG" = ( -/obj/structure/sign/poster/contraband/kudzu/directional/west, /obj/machinery/light/small/directional/west, /obj/structure/table, /obj/machinery/reagentgrinder, @@ -9755,12 +9607,12 @@ /turf/open/floor/iron, /area/station/security/lockers) "cqp" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/trimline/blue/end{ dir = 8 }, /obj/machinery/shower/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/half/directional/north, /turf/open/floor/iron/textured, /area/station/medical/cryo) "cqt" = ( @@ -9808,7 +9660,6 @@ /obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 1 }, -/obj/structure/sign/poster/contraband/borg_fancy_1/directional/west, /obj/structure/table/reinforced, /obj/machinery/ecto_sniffer, /turf/open/floor/iron/dark/textured_half, @@ -9855,6 +9706,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"csa" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/rglass{ + amount = 50; + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster/directional/east, +/obj/item/mod/module/plasma_stabilizer, +/obj/item/mod/module/thermal_regulator, +/obj/item/mod/module/magboot, +/obj/item/mod/module/signlang_radio, +/turf/open/floor/iron, +/area/station/engineering/storage) "cse" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -9976,6 +9846,13 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"ctN" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Security - Armory External"; + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) "ctU" = ( /obj/structure/chair/office{ dir = 1 @@ -10042,7 +9919,6 @@ /area/station/engineering/main) "cul" = ( /obj/machinery/plate_press, -/obj/structure/sign/warning/electric_shock/directional/east, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/turf_decal/tile/yellow, @@ -10094,7 +9970,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/medical/paramedic) "cvr" = ( @@ -10173,7 +10048,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/sign/warning/radiation/directional/south, /turf/open/floor/iron, /area/station/engineering/supermatter/room) "cwV" = ( @@ -10212,6 +10086,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "cxe" = ( @@ -10252,6 +10127,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"cxE" = ( +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "cxM" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line, @@ -10297,7 +10179,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "cyv" = ( -/obj/machinery/light_switch/directional/south, /obj/machinery/camera/directional/south{ c_tag = "Bridge - Teleporter"; name = "command camera" @@ -10365,17 +10246,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/large, /area/station/command/corporate_showroom) -"czg" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/decal/cleanable/dirt, -/obj/item/plant_analyzer, -/obj/machinery/camera/directional/east{ - c_tag = "Permabrig - Garden"; - network = list("ss13","prison") - }, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/security/prison/garden) "czi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/purple{ @@ -10450,7 +10320,8 @@ "cAb" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/button/door{ +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno3"; name = "Containment Control"; req_access = list("xenobiology") @@ -10466,16 +10337,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"cAs" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/warning/docking/directional/south, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/maintenance/department/chapel) "cAw" = ( /obj/structure/cable, /obj/structure/rack, @@ -10520,9 +10381,7 @@ /area/station/engineering/atmos) "cAV" = ( /obj/effect/landmark/start/hangover, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 - }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/wood, /area/station/hallway/secondary/service) "cAZ" = ( @@ -10583,6 +10442,9 @@ }, /obj/structure/closet/emcloset, /obj/machinery/light/small/red/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/plating, /area/station/security/execution/transfer) "cBE" = ( @@ -10611,7 +10473,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4 + }, /turf/open/floor/iron, /area/station/medical/storage) "cBS" = ( @@ -10755,7 +10619,9 @@ dir = 4 }, /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -10786,19 +10652,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/detectives_office) -"cDK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 +"cDG" = ( +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/iron, +/area/station/security/execution/transfer) "cDM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11014,11 +10877,6 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) -"cGI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/science/xenobiology) "cGJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11095,7 +10953,6 @@ dir = 8 }, /obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/south, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/hallway/secondary/service) @@ -11174,11 +11031,28 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"cIu" = ( +/obj/structure/table, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/cell_charger, +/obj/item/screwdriver{ + pixel_y = -1 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "cIw" = ( /obj/machinery/suit_storage_unit/captain, /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/captain/private) "cIA" = ( @@ -11238,12 +11112,12 @@ /area/station/hallway/secondary/exit/departure_lounge) "cJX" = ( /obj/structure/table/reinforced, -/obj/machinery/status_display/evac/directional/west, /obj/effect/spawner/random/food_or_drink/donkpockets{ pixel_y = -1 }, /obj/effect/spawner/random/food_or_drink/refreshing_beverage, /obj/effect/spawner/random/food_or_drink/snack, +/obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/engineering/break_room) "cKa" = ( @@ -11389,6 +11263,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/rd) +"cLV" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/flag/nanotrasen/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "cLX" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 1 @@ -11449,15 +11330,23 @@ /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) "cMM" = ( -/obj/machinery/status_display/door_timer{ - id = "medsci-cell"; - name = "Med-Sci Cell"; - pixel_y = -32 - }, /obj/effect/landmark/start/depsec/science, /obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/machinery/status_display/door_timer/directional/south{ + id = "medsci-cell"; + name = "Med-Sci Cell" + }, /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) +"cMZ" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south{ + pixel_y = -38 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/station/command/bridge) "cNf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -11529,6 +11418,16 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/fore) +"cOn" = ( +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/machinery/status_display/ai/directional/north, +/obj/item/rcl/pre_loaded, +/obj/effect/turf_decal/bot, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "cOq" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -11544,6 +11443,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/science/xenobiology) "cOA" = ( @@ -11575,7 +11475,6 @@ name = "Brig" }, /obj/structure/disposalpipe/segment, -/obj/structure/sign/poster/official/nanotrasen_logo/directional/west, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11717,7 +11616,6 @@ /area/station/command/bridge) "cQw" = ( /obj/item/kirbyplants/random, -/obj/structure/sign/warning/no_smoking/directional/north, /obj/effect/turf_decal/stripes/line, /obj/machinery/power/terminal{ dir = 8 @@ -11733,18 +11631,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/machinery/button/door/directional/south{ - id = "bridgewindows"; - name = "Bridge View Blast Doors"; - pixel_x = -6; - req_access = list("command") - }, -/obj/machinery/button/door/directional/south{ - id = "bridgedoors"; - name = "Bridge Access Blast Doors"; - pixel_x = 6; - req_access = list("command") - }, /turf/open/floor/carpet, /area/station/command/bridge) "cQM" = ( @@ -11757,7 +11643,6 @@ /turf/open/floor/iron/large, /area/station/science/xenobiology) "cQZ" = ( -/obj/structure/sign/warning/chem_diamond/directional/west, /obj/machinery/chem_dispenser, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -12163,6 +12048,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cWD" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "cWI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/yellow{ @@ -12335,7 +12226,6 @@ /obj/structure/table/wood, /obj/item/clothing/under/costume/geisha, /obj/item/clothing/shoes/sandal, -/obj/structure/sign/poster/ripped/directional/east, /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -12436,15 +12326,17 @@ /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/bar) "dan" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8; + name = "Xeniobio Junction" + }, +/obj/effect/mapping_helpers/mail_sorting/science/xenobiology, /turf/open/floor/iron/white, /area/station/science/xenobiology) "das" = ( @@ -12596,13 +12488,14 @@ /area/station/maintenance/starboard/aft) "dco" = ( /obj/structure/table/reinforced, -/obj/machinery/button/door{ +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/bot, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno8"; name = "Containment Control"; req_access = list("xenobiology") }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/science/xenobiology) "dcz" = ( @@ -12681,6 +12574,7 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) "ddw" = ( @@ -12999,9 +12893,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "dgU" = ( -/obj/machinery/status_display/supply{ - pixel_x = -32 - }, /obj/machinery/camera/directional/west{ c_tag = "Cargo Bay - Port"; name = "cargo camera" @@ -13010,6 +12901,7 @@ dir = 8 }, /obj/machinery/light/directional/west, +/obj/machinery/status_display/supply/directional/west, /turf/open/floor/iron, /area/station/cargo/storage) "dhk" = ( @@ -13046,7 +12938,6 @@ /turf/open/floor/wood, /area/station/service/library/abandoned) "dip" = ( -/obj/structure/sign/poster/contraband/hacking_guide/directional/south, /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) @@ -13086,10 +12977,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"djf" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/project) "djn" = ( /obj/structure/table/wood, /obj/item/toy/talking/codex_gigas, @@ -13182,10 +13069,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/security) -"djY" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/space/basic, -/area/space/nearstation) "dka" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -13223,9 +13106,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/chair/office, -/obj/machinery/status_display/supply{ - pixel_x = 32 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -13244,8 +13124,11 @@ /area/station/hallway/primary/central/fore) "dkF" = ( /obj/structure/table, -/obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ + pixel_y = -32 + }, +/obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "dkH" = ( @@ -13309,12 +13192,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"dlm" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "dlo" = ( /obj/effect/decal/cleanable/robot_debris/down, /obj/effect/decal/cleanable/oil, @@ -13341,7 +13218,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, -/obj/structure/sign/poster/random/directional/east, /turf/open/floor/iron/grimy, /area/station/maintenance/port/fore) "dlC" = ( @@ -13370,15 +13246,6 @@ /obj/structure/table/wood, /obj/structure/secure_safe/directional/east, /obj/machinery/computer/security/wooden_tv, -/obj/machinery/light_switch/directional/south{ - pixel_x = 8 - }, -/obj/machinery/button/door/directional/south{ - id = "detectivewindows"; - name = "Privacy Shutters"; - pixel_x = -6; - req_access = list("detective") - }, /turf/open/floor/carpet, /area/station/security/detectives_office) "dmq" = ( @@ -13428,10 +13295,6 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/security/brig) -"dmU" = ( -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "dnd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13474,6 +13337,9 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "dnV" = ( @@ -13572,7 +13438,6 @@ "dpQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box, -/obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) "dqc" = ( @@ -13712,7 +13577,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/structure/sign/poster/official/no_erp/directional/west, /turf/open/floor/iron/white, /area/station/security/prison/toilet) "drJ" = ( @@ -13723,9 +13587,6 @@ pixel_x = 8 }, /obj/effect/turf_decal/box/corners, -/obj/machinery/status_display/supply{ - pixel_x = 32 - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, @@ -13774,6 +13635,15 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"dsh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ + dir = 4 + }, +/obj/machinery/meter/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "dsi" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -13795,6 +13665,7 @@ /obj/structure/chair/sofa/right/brown, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron/dark, /area/station/service/library) "dso" = ( @@ -13813,6 +13684,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/hallway/primary/port) "dsC" = ( @@ -13905,15 +13779,8 @@ "dtj" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, -/obj/structure/sign/warning/no_smoking/directional/east, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"dtk" = ( -/obj/structure/table/wood/poker, -/obj/item/cigarette/pipe, -/turf/open/floor/carpet/green, -/area/station/commons/lounge) "dtn" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -13930,6 +13797,9 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Office Fore" + }, /turf/open/floor/iron, /area/station/security/office) "dtM" = ( @@ -13941,12 +13811,25 @@ /turf/open/floor/carpet/purple, /area/station/commons/dorms) "dtS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 10 +/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior{ + dir = 4; + manual_align = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/layer_manifold/green/visible{ + dir = 4 + }, +/turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "dtX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, @@ -14017,12 +13900,8 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) "duK" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2; - name = "Xenobio Junction" - }, /obj/effect/landmark/event_spawn, -/obj/effect/mapping_helpers/mail_sorting/science/xenobiology, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/science/xenobiology) "duV" = ( @@ -14200,11 +14079,6 @@ /area/station/security/prison/mess) "dwE" = ( /obj/structure/cable, -/obj/machinery/camera/directional/west{ - c_tag = "Library - Game Lounge"; - dir = 1; - name = "library camera" - }, /obj/machinery/firealarm/directional/north, /obj/structure/disposalpipe/segment{ dir = 4 @@ -14388,10 +14262,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"dyw" = ( -/obj/structure/sign/departments/psychology/directional/east, -/turf/closed/wall, -/area/station/maintenance/department/chapel) "dyx" = ( /turf/open/floor/iron/white, /area/station/science/research) @@ -14440,11 +14310,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"dzn" = ( -/obj/structure/sign/plaques/kiddie/library, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/library/artgallery) "dzw" = ( /turf/closed/wall/r_wall, /area/station/security/brig) @@ -14454,9 +14319,20 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/commons/toilet/restrooms) +"dAx" = ( +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat_interior) "dAX" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/official/work_for_a_future/directional/south, /obj/machinery/atmospherics/components/tank/air{ dir = 1 }, @@ -14537,6 +14413,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "dBB" = ( @@ -14583,6 +14460,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"dCg" = ( +/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, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "dCk" = ( /turf/closed/wall/r_wall, /area/station/security/detectives_office) @@ -14618,6 +14508,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/science/research) +"dCD" = ( +/obj/machinery/button/door/directional/east{ + id = "permashut1"; + name = "Cell Lockdown Button"; + pixel_y = -6; + req_access = list("brig") + }, +/turf/closed/wall/r_wall, +/area/station/security/execution/transfer) "dCH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -14667,10 +14566,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"dDB" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "dDT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/trinary/filter{ @@ -14717,7 +14612,6 @@ }, /obj/item/storage/pill_bottle/mannitol, /obj/item/reagent_containers/dropper, -/obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/camera/directional/west{ c_tag = "Medbay - Cryogenics"; name = "medical camera"; @@ -14729,6 +14623,7 @@ /obj/effect/turf_decal/siding/blue, /obj/structure/table/glass, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/half/directional/south, /turf/open/floor/iron, /area/station/medical/cryo) "dEv" = ( @@ -14873,7 +14768,6 @@ /obj/machinery/libraryscanner, /obj/machinery/camera/directional/north{ c_tag = "Library - Desk"; - dir = 9; name = "library camera" }, /obj/item/radio/intercom/directional/north, @@ -14904,7 +14798,6 @@ /obj/machinery/status_display/ai/directional/south, /obj/machinery/camera/directional/south{ c_tag = "Service - Cafeteria Aft"; - dir = 5; name = "service camera" }, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -14954,10 +14847,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) -"dHx" = ( -/obj/structure/sign/warning/radiation/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "dHN" = ( /obj/machinery/door/poddoor/massdriver_chapel, /obj/structure/fans/tiny, @@ -15072,12 +14961,6 @@ /obj/machinery/door/airlock/external{ name = "External Airlock" }, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_x = 32 - }, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15145,10 +15028,13 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/service/chapel) -"dJY" = ( -/obj/structure/sign/calendar/directional/south, -/turf/open/floor/plating, -/area/station/service/abandoned_gambling_den) +"dKe" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/hfr_room) "dKg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15176,6 +15062,7 @@ "dKz" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/directional/east, +/obj/machinery/light/small/directional/north, /turf/open/floor/carpet/royalblack, /area/station/service/chapel/office) "dKC" = ( @@ -15260,17 +15147,17 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/south, /obj/machinery/newscaster/directional/west, -/obj/machinery/button/door/directional/south{ - id = "Toilet3"; - name = "Lock Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, /obj/effect/spawner/random/trash/graffiti{ pixel_x = 32 }, /obj/machinery/recharge_station, /obj/effect/turf_decal/bot_red, +/obj/machinery/button/door/directional/east{ + id = "Toilet3"; + name = "Lock Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, /turf/open/floor/iron, /area/station/commons/toilet/locker) "dLJ" = ( @@ -15311,7 +15198,6 @@ "dMh" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics - Project Room Fore"; - dir = 5; name = "atmospherics camera" }, /obj/machinery/status_display/evac/directional/south, @@ -15348,7 +15234,6 @@ /area/station/hallway/primary/central/aft) "dMD" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold/green/visible, /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -15356,6 +15241,7 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "dMH" = ( @@ -15395,6 +15281,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/vending/wallmed/directional/south, /turf/open/floor/iron, /area/station/medical/surgery/theatre) "dNb" = ( @@ -15672,12 +15559,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/processing) -"dPN" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/space/basic, -/area/space/nearstation) "dPR" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) @@ -15807,6 +15688,19 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/main) +"dRF" = ( +/obj/structure/table, +/obj/item/binoculars, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ordnance/directional/west, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) +"dRG" = ( +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "dRJ" = ( /turf/open/floor/glass/reinforced, /area/station/hallway/primary/fore) @@ -15953,12 +15847,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"dTS" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/space/basic, -/area/space/nearstation) "dUb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16076,6 +15964,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/library/lounge) +"dVG" = ( +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "dVT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -16103,6 +16002,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/medical/paramedic) "dWd" = ( @@ -16197,12 +16097,9 @@ /turf/open/floor/iron, /area/station/maintenance/port) "dXw" = ( -/obj/structure/sign/painting/large/library_private{ - dir = 1; - pixel_x = -29 - }, /obj/structure/destructible/cult/item_dispenser/archives/library, /obj/item/book/codex_gigas, +/obj/structure/sign/painting/large/library_private/directional/north, /turf/open/floor/iron/dark, /area/station/service/library/printer) "dXD" = ( @@ -16228,13 +16125,6 @@ "dXL" = ( /turf/closed/wall/r_wall, /area/station/service/barber) -"dXN" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/incident_display/bridge/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "dXO" = ( /obj/structure/chair{ dir = 4 @@ -16247,6 +16137,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /obj/machinery/light/directional/north, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/cargo/miningoffice) "dYj" = ( @@ -16557,7 +16448,6 @@ /obj/structure/table, /obj/item/paper_bin, /obj/item/pen, -/obj/structure/sign/poster/contraband/borg_fancy_2/directional/south, /turf/open/floor/iron, /area/station/science/research/abandoned) "ecm" = ( @@ -16604,6 +16494,9 @@ dir = 5 }, /obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "ecX" = ( @@ -16627,6 +16520,10 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"edc" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "edd" = ( /turf/closed/wall, /area/station/service/chapel/storage) @@ -16652,6 +16549,7 @@ }, /obj/effect/turf_decal/box/red, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) "edq" = ( @@ -16753,12 +16651,10 @@ }, /obj/item/folder/yellow, /obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = 12 - }, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/cargo/sorting) "eex" = ( @@ -16813,6 +16709,26 @@ "efg" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/button/door/table{ + pixel_y = 15; + id = "brigwindows"; + name = "Cell Window Control"; + req_access = list("security") + }, +/obj/machinery/button/door/table{ + pixel_y = 7; + id = "brigfront"; + name = "Brig Access Control"; + req_access = list("security"); + pixel_x = 6 + }, +/obj/machinery/button/door/table{ + pixel_y = 7; + id = "brigprison"; + name = "Prison Lockdown"; + req_access = list("brig"); + pixel_x = -6 + }, /turf/open/floor/iron, /area/station/security/warden) "efh" = ( @@ -16904,9 +16820,6 @@ /turf/open/floor/plating, /area/station/cargo/storage) "ehg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/newscaster/directional/west, /obj/structure/table/wood, /obj/item/clipboard, @@ -16933,7 +16846,6 @@ /obj/effect/turf_decal/trimline/neutral/warning{ dir = 8 }, -/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -16964,15 +16876,13 @@ dir = 1 }, /obj/machinery/light/small/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark/corner{ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"ehJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "ehL" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -16987,12 +16897,12 @@ /area/station/cargo/storage) "eif" = ( /obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) "eio" = ( @@ -17030,10 +16940,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/security/prison/safe) -"eiK" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "eiU" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -17090,8 +16996,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/virology) +"eko" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "ekF" = ( -/obj/structure/sign/poster/official/random/directional/south, /obj/machinery/light/directional/south, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/disposalpipe/trunk{ @@ -17152,10 +17061,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"elK" = ( -/obj/structure/sign/warning/no_smoking, -/turf/closed/wall, -/area/station/engineering/main) "elM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17184,7 +17089,6 @@ /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/fore) "elT" = ( @@ -17271,6 +17175,8 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/cargo/office) "env" = ( @@ -17321,7 +17227,6 @@ /obj/item/clothing/head/cone, /obj/item/clothing/head/cone, /obj/item/clothing/head/cone, -/obj/structure/sign/poster/official/moth_delam/directional/south, /turf/open/floor/iron, /area/station/engineering/main) "eos" = ( @@ -17437,6 +17342,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron/dark/corner{ dir = 1 }, @@ -17474,8 +17380,7 @@ "eqg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/flasher/directional/north{ - id = "AI"; - pixel_x = -26 + id = "AI" }, /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -17548,16 +17453,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron/dark, /area/station/service/bar) -"eqP" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology - Secure Cell Interior"; - name = "xenobiology camera"; - network = list("ss13","xeno","rd") - }, -/obj/machinery/status_display/ai/directional/west, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "eqU" = ( /turf/open/space, /area/space) @@ -17827,13 +17722,6 @@ /obj/structure/cable, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/port/aft) -"etw" = ( -/obj/structure/lattice, -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/turf/open/space, -/area/space/nearstation) "ety" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -17855,16 +17743,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"etR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/port/fore) "etS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -17960,7 +17838,6 @@ "euV" = ( /obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/electric_shock/directional/south, /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/engineering/storage) @@ -18140,7 +18017,6 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "exS" = ( -/obj/structure/sign/poster/official/work_for_a_future/directional/west, /obj/machinery/firealarm/directional/south, /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -18170,7 +18046,6 @@ /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 }, -/obj/machinery/airalarm/directional/south, /obj/machinery/photocopier, /turf/open/floor/iron/white, /area/station/science/research) @@ -18577,6 +18452,7 @@ /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) "eEn" = ( @@ -18672,6 +18548,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"eFS" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "eGb" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/wood, @@ -18682,7 +18565,6 @@ /turf/open/floor/plating, /area/station/service/kitchen/abandoned) "eGq" = ( -/obj/structure/sign/poster/official/do_not_question/directional/west, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) @@ -18778,7 +18660,6 @@ /obj/structure/disposalpipe/junction/flip{ dir = 1 }, -/obj/structure/sign/poster/official/cleanliness/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay) "eHt" = ( @@ -18856,20 +18737,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/department/science) -"eIh" = ( -/obj/machinery/computer/robotics{ - dir = 8 - }, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/obj/machinery/keycard_auth/directional/south, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "eIi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18879,6 +18746,17 @@ }, /turf/open/floor/carpet/green, /area/station/service/library) +"eIj" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "eIl" = ( /obj/effect/landmark/start/security_officer, /obj/structure/chair/office{ @@ -19014,6 +18892,7 @@ /area/station/medical/chemistry) "eKi" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/aft) "eKr" = ( @@ -19035,6 +18914,7 @@ dir = 8 }, /obj/structure/cable, +/obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) "eKz" = ( @@ -19047,32 +18927,32 @@ /area/station/science/research/abandoned) "eKL" = ( /obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "rdordnance"; - name = "Ordnance Containment Control"; - pixel_x = -7; - pixel_y = -4; - req_access = list("rd") - }, -/obj/machinery/button/door{ +/obj/machinery/button/door/table{ id = "sci_experimentor"; name = "Experimentor Containment Control"; - pixel_x = -7; - pixel_y = 7; + req_access = list("rd"); + pixel_y = 13; + pixel_x = -6 + }, +/obj/machinery/button/door/table{ + pixel_x = -6; + pixel_y = 4; + name = "Ordnance Containment Control"; + id = "rdordnance"; req_access = list("rd") }, -/obj/machinery/button/door{ +/obj/machinery/button/door/table{ id = "rdrnd"; name = "Research and Development Containment Control"; - pixel_x = 7; - pixel_y = 7; - req_access = list("rd") + req_access = list("rd"); + pixel_y = 13; + pixel_x = 6 }, -/obj/machinery/button/door{ - id = "rdoffice"; +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 4; name = "Privacy Control"; - pixel_x = 7; - pixel_y = -4; + id = "rdoffice"; req_access = list("rd") }, /turf/open/floor/iron/white, @@ -19097,16 +18977,11 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, -/turf/open/floor/iron, -/area/station/security/checkpoint/escape) -"eKV" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/obj/structure/sign/nanotrasen{ + pixel_y = 32 }, /turf/open/floor/iron, -/area/station/commons/toilet/locker) +/area/station/security/checkpoint/escape) "eKX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19124,7 +18999,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/camera/directional/south{ c_tag = "Library - Aft Starboard"; - dir = 5; name = "library camera" }, /turf/open/floor/iron/grimy, @@ -19230,7 +19104,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/warning/docking/directional/south, /obj/machinery/duct, /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, @@ -19305,13 +19178,12 @@ /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "eNP" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, +/obj/structure/sign/painting/library/directional/east, /turf/open/floor/wood/large, /area/station/service/library/lounge) "eOb" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) "eOe" = ( @@ -19398,6 +19270,10 @@ }, /turf/open/floor/carpet/black, /area/station/maintenance/port) +"eOH" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "eOL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/effect/turf_decal/stripes/line{ @@ -19588,13 +19464,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron, /area/station/engineering/atmos) -"eQx" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/decal/cleanable/dirt, -/obj/item/shovel/spade, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/security/prison/garden) "eQB" = ( /obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" @@ -19718,11 +19587,15 @@ pixel_x = -8; pixel_y = 12 }, -/obj/machinery/newscaster/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, /obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Xenobiology - Cytology Desk"; + name = "xenobiology camera"; + network = list("ss13","xeno","rd") + }, /turf/open/floor/iron, /area/station/science/xenobiology) "eSD" = ( @@ -19753,7 +19626,6 @@ "eSU" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/bot, -/obj/structure/sign/warning/gas_mask/directional/north, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -19771,7 +19643,6 @@ /obj/structure/closet/crate/trashcart, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/station/security/prison) "eTy" = ( @@ -19793,6 +19664,7 @@ name = "Moffee" }, /obj/machinery/light/warm/directional/north, +/obj/structure/noticeboard/directional/north, /turf/open/floor/carpet/blue, /area/station/medical/psychology) "eTP" = ( @@ -19800,6 +19672,7 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/science) "eTS" = ( @@ -19864,10 +19737,6 @@ /obj/machinery/ai_slipper{ uses = 10 }, -/obj/machinery/flasher/directional/south{ - id = "AI"; - pixel_x = 26 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) @@ -19907,7 +19776,6 @@ "eUJ" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/firecloset, -/obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) @@ -19958,11 +19826,13 @@ /area/station/science/auxlab/firing_range) "eVb" = ( /obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; - name = "Bridge Access Blast Door" + name = "Bridge Access Blast Door"; + dir = 4; + manual_align = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) "eVc" = ( @@ -19986,10 +19856,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/large, /area/station/security/office) -"eVp" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/floor/glass/reinforced, -/area/station/maintenance/department/science/xenobiology) "eVq" = ( /turf/open/floor/iron/grimy, /area/station/service/chapel/office) @@ -20165,6 +20031,16 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/office) +"eXy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/computer/security/telescreen/interrogation/directional/west, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/brig) "eXD" = ( /obj/machinery/camera/directional/north{ c_tag = "Solar - Aft Port"; @@ -20245,6 +20121,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron/dark/corner, /area/station/engineering/supermatter/room) "eYJ" = ( @@ -20286,10 +20163,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 }, -/obj/structure/sign/warning/cold_temp/directional/west{ - desc = "A sign that notes the room within is the Cold Room. Not that it's actually cold."; - name = "COLD ROOM" - }, /turf/open/floor/iron/white, /area/station/medical/medbay) "eYY" = ( @@ -20307,12 +20180,15 @@ /area/station/security/checkpoint/escape) "eZe" = ( /obj/machinery/vending/wardrobe/viro_wardrobe, -/obj/structure/sign/poster/official/cleanliness/directional/west, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/green{ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/door/directional/north{ + id = "viro_private_shutters"; + name = "Privacy Shutters" + }, /turf/open/floor/iron/dark, /area/station/medical/virology) "eZh" = ( @@ -20353,9 +20229,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "eZV" = ( -/obj/machinery/light_switch/directional/east{ - pixel_x = 22 - }, /obj/machinery/modular_computer/preset/id{ dir = 8 }, @@ -20369,12 +20242,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/maintenance/port/fore) -"faF" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/vacuum, -/turf/open/floor/plating, -/area/station/security/processing) "faP" = ( /obj/effect/turf_decal/tile/yellow/diagonal_edge, /obj/effect/turf_decal/tile/red/diagonal_centre, @@ -20410,7 +20277,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/sign/poster/official/moth_piping/directional/west, /obj/machinery/light/small/directional/west, /turf/open/floor/engine, /area/station/engineering/supermatter/room) @@ -20471,14 +20337,11 @@ /obj/item/reagent_containers/cup/bowl{ pixel_y = 3 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8; - pixel_y = 23 - }, /obj/structure/table, /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/cafeteria, /area/station/service/barber) "fco" = ( @@ -20492,7 +20355,9 @@ "fcx" = ( /obj/machinery/door/morgue{ name = "Curator's Study"; - req_access = list("library") + req_access = list("library"); + manual_align = 1; + dir = 4 }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20558,6 +20423,10 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"fdb" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "fdG" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -20676,15 +20545,12 @@ /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/siding/wood/corner, /obj/item/radio/intercom/directional/east, -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/button/curtain{ +/obj/machinery/light/small/directional/east, +/obj/machinery/button/curtain/directional/north{ id = "theater_curtains"; name = "curtain control"; - pixel_x = 24; - pixel_y = -8; req_access = list("theatre") }, -/obj/machinery/light/small/directional/east, /turf/open/floor/wood, /area/station/service/theater) "feB" = ( @@ -20728,6 +20594,17 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/department/chapel) +"feW" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/rd/directional/east, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "ffb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20740,17 +20617,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"fff" = ( -/obj/machinery/power/apc/auto_name/directional/north{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "ffi" = ( /obj/structure/cable, /obj/machinery/power/solar_control{ @@ -20801,7 +20667,6 @@ /obj/item/wrench, /obj/item/clothing/under/suit/waiter, /obj/item/clothing/accessory/waistcoat, -/obj/structure/sign/poster/contraband/random/directional/west, /obj/machinery/barsign/all_access/directional/north, /turf/open/floor/iron/dark, /area/station/service/electronic_marketing_den) @@ -20835,9 +20700,7 @@ /obj/item/kirbyplants/random, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/machinery/light_switch/directional/north{ - pixel_x = -10 - }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "ffQ" = ( @@ -21093,7 +20956,6 @@ "fjQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/flag/nanotrasen/directional/south, /obj/machinery/light/directional/south, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -21116,7 +20978,6 @@ /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) "fkg" = ( -/obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, @@ -21124,6 +20985,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "fkl" = ( @@ -21150,7 +21012,6 @@ dir = 10 }, /obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/biohazard/directional/west, /turf/open/floor/iron, /area/station/medical/medbay) "fkB" = ( @@ -21161,6 +21022,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"fkI" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil, +/obj/item/electronics/airalarm, +/obj/item/electronics/firealarm, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/port) "fkS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21333,15 +21203,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) -"fmw" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "fmB" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -21401,16 +21262,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"fmY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "justicechamber"; - name = "Justice Chamber Blast Door" - }, -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/security/execution/education) "fnb" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -21576,29 +21427,17 @@ /turf/open/floor/iron, /area/station/hallway/primary/port) "fpt" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/plasma{ - amount = 5 - }, -/obj/structure/sign/warning/secure_area/directional/west, -/obj/effect/turf_decal/siding/purple, /obj/effect/turf_decal/tile/purple/anticorner/contrasted{ dir = 8 }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/purple, /turf/open/floor/iron, /area/station/science/xenobiology) -"fpu" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/white, -/area/station/science/research) "fpv" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -21655,7 +21494,6 @@ dir = 4 }, /obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/evidence) "fqx" = ( @@ -21752,6 +21590,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/fore) +"fsm" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "fso" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -21801,9 +21644,9 @@ pixel_y = 3 }, /obj/item/storage/box/beakers, -/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table/reinforced/rglass, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/medical/treatment_center) "fsC" = ( @@ -21905,9 +21748,6 @@ /turf/open/floor/iron, /area/station/maintenance/department/crew_quarters/bar) "ftG" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/structure/table, /obj/machinery/cell_charger, /obj/item/gps, @@ -22045,10 +21885,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/department/eva/abandoned) -"fvZ" = ( -/obj/structure/sign/warning/no_smoking, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/aisat_interior) "fwa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22091,7 +21927,6 @@ c_tag = "Service - Mime's Room"; name = "service camera" }, -/obj/structure/sign/poster/random/directional/east, /turf/open/floor/wood, /area/station/service/theater) "fwt" = ( @@ -22187,7 +22022,6 @@ /turf/open/floor/iron, /area/station/cargo/miningoffice) "fxP" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/west, /obj/structure/table/wood, /obj/item/folder/white{ pixel_x = -2; @@ -22202,6 +22036,11 @@ pixel_x = 9; pixel_y = 5 }, +/obj/machinery/button/door/directional/west{ + id = "psych_shutters"; + name = "Shutter Control"; + req_access = list("psychology") + }, /turf/open/floor/wood, /area/station/medical/psychology) "fya" = ( @@ -22259,15 +22098,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/service/kitchen) -"fyH" = ( -/obj/machinery/keycard_auth/directional/south{ - pixel_x = 6 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -8 - }, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "fyP" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/effect/turf_decal/siding/yellow{ @@ -22278,9 +22108,6 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "fyU" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral, /obj/machinery/light/directional/south, @@ -22327,15 +22154,9 @@ /area/station/hallway/primary/fore) "fzx" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "fzF" = ( @@ -22349,13 +22170,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"fzK" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "fzV" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -22491,8 +22305,8 @@ "fBk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/north, /obj/effect/spawner/random/maintenance, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) "fBp" = ( @@ -22512,6 +22326,11 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"fBL" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron/textured_large, +/area/station/engineering/atmos/project) "fBQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22644,7 +22463,6 @@ /area/station/engineering/main) "fEd" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/execution/education) @@ -22661,7 +22479,9 @@ "fEh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ - name = "Prison Wing" + name = "Prison Wing"; + dir = 4; + manual_align = 1 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -22681,10 +22501,6 @@ "fEr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/meter, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, @@ -22715,7 +22531,6 @@ /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) "fEV" = ( -/obj/structure/sign/poster/official/moth_epi/directional/west, /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -22765,8 +22580,7 @@ }, /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/unlocked, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "fFo" = ( @@ -22838,12 +22652,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) -"fGn" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/bot, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "fGt" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -22877,13 +22685,11 @@ "fGY" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/supply{ - pixel_x = 32 - }, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 4 }, /obj/machinery/light/small/directional/east, +/obj/machinery/status_display/supply/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) "fGZ" = ( @@ -22979,6 +22785,9 @@ /area/station/command/bridge) "fIn" = ( /obj/structure/bookcase/random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/meeting_room/council) "fIp" = ( @@ -23024,8 +22833,8 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/docking/directional/north, /obj/structure/cable, +/obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) "fIQ" = ( @@ -23062,16 +22871,16 @@ /area/station/security/prison/work) "fIX" = ( /obj/structure/table/reinforced, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/item/folder/white, -/obj/machinery/camera/directional/north{ - c_tag = "Xenobiology - Cytology Desk"; - name = "xenobiology camera"; - network = list("ss13","xeno","rd") - }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) "fIY" = ( @@ -23195,6 +23004,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fKT" = ( +/obj/structure/cable, +/obj/machinery/nuclearbomb/selfdestruct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "fKU" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -23303,6 +23118,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"fMc" = ( +/obj/effect/turf_decal/siding/green{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/water_source/puddle, +/turf/open/misc/sandy_dirt, +/area/station/service/hydroponics/garden) "fMo" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -23359,14 +23182,13 @@ /turf/open/floor/iron, /area/station/security/brig) "fNF" = ( -/obj/structure/cable, /obj/structure/table, -/obj/machinery/power/apc/auto_name/directional/north, /obj/item/paper_bin/carbon, /obj/item/pen, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/iron, /area/station/cargo/office) "fNN" = ( @@ -23542,15 +23364,31 @@ /obj/machinery/light_switch/directional/east{ pixel_x = 38 }, -/obj/structure/extinguisher_cabinet/directional/north{ - pixel_x = 32 - }, /obj/structure/closet/secure_closet/security/cargo, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"fPM" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/button/door/directional/east{ + id = "hosprivacy"; + name = "Privacy Control"; + pixel_y = 6; + req_access = list("hos") + }, +/obj/machinery/button/door/directional/east{ + id = "hosspace"; + name = "Space Shutters Control"; + pixel_y = -6; + req_access = list("hos") + }, +/obj/structure/tank_holder/extinguisher, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hos) "fQg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23614,20 +23452,10 @@ /area/station/security/checkpoint/customs/aft) "fQL" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/button/door{ - id = "Disposal Exit"; - name = "Disposal Vent Control"; - pixel_x = -25; - pixel_y = 4; - req_access = list("maint_tunnels") - }, /obj/structure/chair/stool/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = -24; - pixel_y = -7 - }, +/obj/machinery/computer/pod/old/mass_driver_controller/trash, /turf/open/floor/iron, /area/station/maintenance/disposal) "fQW" = ( @@ -23697,16 +23525,20 @@ /area/station/science/explab) "fRO" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/loading_area{ dir = 4 }, +/obj/structure/window/half/directional/south, /turf/open/floor/iron, /area/station/cargo/storage) "fRP" = ( -/obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/neutral/full, +/obj/machinery/button/door/directional/north{ + id = "Interro_shutters"; + name = "Shutters Control"; + req_access = list("security") + }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) "fSg" = ( @@ -23730,6 +23562,14 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"fSt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "fSw" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -23767,9 +23607,6 @@ /turf/open/floor/iron/dark, /area/station/science/ordnance) "fTz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -23870,7 +23707,8 @@ "fUF" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/button/door{ +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno1"; name = "Containment Control"; req_access = list("xenobiology") @@ -23921,10 +23759,6 @@ /area/station/science/xenobiology) "fVd" = ( /obj/structure/cable, -/obj/structure/sign/warning/no_smoking/circle{ - pixel_x = 28; - pixel_y = -28 - }, /obj/machinery/modular_computer/preset/engineering{ dir = 1 }, @@ -24108,6 +23942,8 @@ /obj/machinery/light_switch/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "fXz" = ( @@ -24119,12 +23955,6 @@ id = "brigprison"; name = "Prison Blast Door" }, -/obj/machinery/button/flasher{ - id = "Cell 1"; - name = "Prisoner Flash"; - pixel_x = 25; - pixel_y = 7 - }, /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24135,6 +23965,10 @@ pixel_y = -6; req_access = list("brig") }, +/obj/machinery/button/flasher/directional/east{ + id = "Cell 1"; + name = "Prisoner Flash" + }, /turf/open/floor/iron, /area/station/security/execution/transfer) "fXF" = ( @@ -24453,14 +24287,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) -"gbD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "gbF" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -24526,7 +24352,6 @@ /obj/item/radio/intercom/directional/north, /obj/machinery/camera/directional/east{ c_tag = "Service - Hydroponics Front Fore"; - dir = 6; name = "service camera" }, /obj/effect/turf_decal/tile/green/opposingcorners, @@ -24567,17 +24392,14 @@ /turf/closed/wall/r_wall, /area/station/service/chapel/funeral) "gcD" = ( -/obj/machinery/status_display/door_timer{ - id = "cargocell"; - name = "Cargo Cell"; - pixel_x = -32; - pixel_y = -32 - }, -/obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 }, /obj/machinery/light/directional/west, +/obj/machinery/status_display/door_timer/directional/west{ + id = "cargocell"; + name = "Cargo Cell" + }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) "gcI" = ( @@ -24660,6 +24482,21 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/security/prison) +"gdy" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/blood/random{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/blood/random, +/obj/effect/turf_decal/bot, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -6; + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/abandoned) "gdA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24683,6 +24520,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/window/half/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal) "gdR" = ( @@ -24693,9 +24531,6 @@ /turf/open/floor/iron/white, /area/station/medical/medbay) "gee" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/directional/south, @@ -24769,7 +24604,7 @@ "geR" = ( /obj/machinery/vending/engivend, /obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/moth_hardhat/directional/east, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/engineering/main) "geU" = ( @@ -24855,9 +24690,6 @@ /area/station/security/checkpoint/arrivals) "gfp" = ( /obj/structure/table/wood, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/machinery/computer/security/telescreen/entertainment/directional/south, /turf/open/floor/wood, /area/station/commons/dorms) @@ -24875,7 +24707,6 @@ /turf/open/floor/iron/dark, /area/station/science/auxlab/firing_range) "gfw" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/structure/table, /obj/item/assembly/infra, /obj/structure/disposalpipe/segment{ @@ -24893,6 +24724,7 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 1 }, +/obj/machinery/vending/cytopro, /turf/open/floor/iron, /area/station/science/xenobiology) "gfR" = ( @@ -24938,7 +24770,6 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) "ggz" = ( -/obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, @@ -24974,6 +24805,7 @@ /obj/machinery/rnd/production/circuit_imprinter, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) "ghq" = ( @@ -25057,6 +24889,7 @@ /obj/item/hand_tele, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) "giu" = ( @@ -25102,12 +24935,6 @@ /area/station/maintenance/port/fore) "gjc" = ( /obj/structure/cable, -/obj/machinery/button/flasher{ - id = "Cell 4"; - name = "Prisoner Flash"; - pixel_x = 25; - pixel_y = 7 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/button/door/directional/east{ @@ -25119,6 +24946,10 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/button/flasher/directional/east{ + id = "Cell 5"; + name = "Prisoner Flash" + }, /turf/open/floor/iron, /area/station/security/execution/transfer) "gjg" = ( @@ -25147,10 +24978,6 @@ "gjk" = ( /obj/structure/chair, /obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/north{ - c_tag = "Security Post - Departures Holding Cell"; - dir = 9 - }, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, @@ -25267,7 +25094,6 @@ "gkW" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, -/obj/structure/sign/poster/official/help_others/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/courtroom) @@ -25353,6 +25179,29 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/iron, /area/station/engineering/supermatter/room) +"gmz" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-entrance" + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + manual_align = 1; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/scanner_gate/preset_guns{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/security/brig) "gmD" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Auxiliary Power" @@ -25545,33 +25394,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"goc" = ( -/obj/machinery/keycard_auth/directional/south{ - pixel_y = -38 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/button/door/directional/south{ - id = "teleportershutters"; - name = "Teleporter Shutters"; - pixel_x = -6; - req_access = list("command") - }, -/obj/machinery/button/door/directional/south{ - id = "evastorage"; - name = "E.V.A. Shutters"; - pixel_x = 6; - req_access = list("command") - }, -/turf/open/floor/carpet, -/area/station/command/bridge) -"goj" = ( -/obj/structure/sign/painting/library{ - pixel_y = 33 - }, -/turf/open/floor/carpet/green, -/area/station/commons/dorms) "gor" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25676,11 +25498,16 @@ }, /obj/machinery/light/directional/west, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/half{ dir = 1 }, /area/station/cargo/miningoffice) +"gpG" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "gpI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25742,6 +25569,9 @@ /area/station/medical/virology) "gqq" = ( /obj/structure/dresser, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) "gqA" = ( @@ -25778,25 +25608,19 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "gqR" = ( -/obj/structure/disposalpipe/segment, /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ +/obj/structure/disposalpipe/junction/flip{ dir = 1 }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "gqZ" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "brig-entrance" }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig" - }, /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25805,15 +25629,13 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + manual_align = 1; + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/security/brig) -"gri" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/random/directional/south, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/dorms) "grl" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -25823,6 +25645,7 @@ /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/meson, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "grm" = ( @@ -26038,6 +25861,13 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + req_access = list("virology"); + name = "Virology Access Console"; + idSelf = "virology_airlock_control"; + idInterior = "virology_airlock_interior"; + idExterior = "virology_airlock_exterior" + }, /turf/open/floor/iron, /area/station/medical/virology) "gtp" = ( @@ -26310,11 +26140,6 @@ "gwr" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/south{ - id = "evashutters"; - name = "E.V.A. Shutters"; - req_access = list("command") - }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) "gwt" = ( @@ -26322,7 +26147,7 @@ dir = 4 }, /obj/effect/spawner/random/structure/closet_private, -/obj/structure/sign/poster/random/directional/west, +/obj/machinery/light_switch/directional/west, /turf/open/floor/wood, /area/station/hallway/secondary/service) "gwx" = ( @@ -26335,6 +26160,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/xenobiology) +"gwG" = ( +/obj/machinery/hydroponics/soil, +/obj/item/plant_analyzer, +/obj/machinery/camera/directional/east{ + c_tag = "Permabrig - Garden"; + network = list("ss13","prison") + }, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "gwL" = ( /obj/machinery/hydroponics/soil, /obj/effect/decal/cleanable/dirt, @@ -26392,7 +26226,6 @@ "gxL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, @@ -26400,17 +26233,11 @@ /area/station/hallway/primary/port) "gxT" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/button/door{ - id = "xenosecure"; - name = "Containment Control"; - pixel_y = -3; - req_access = list("xenobiology") - }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /obj/item/radio/intercom{ - pixel_y = 5 + pixel_y = 32 }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) "gxW" = ( @@ -26450,6 +26277,15 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/medical/break_room) +"gyp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/computer/security/telescreen/engine/directional/west, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/atmos_control/nocontrol/master{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/storage/gas) "gyB" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26470,11 +26306,9 @@ /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) "gyW" = ( -/obj/structure/cable, /obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/service) @@ -26493,6 +26327,14 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"gzA" = ( +/obj/structure/table/wood, +/obj/machinery/light/directional/south, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/machinery/computer/security/telescreen/vault/directional/east, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "gzF" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -26624,12 +26466,13 @@ /turf/open/floor/iron/dark, /area/station/maintenance/department/eva/abandoned) "gBi" = ( -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, /obj/structure/table/wood/fancy/blue, -/obj/machinery/door/window/right/directional/west, +/obj/machinery/door/window/right/directional/west{ + name = "Secure Exhibit"; + req_access = list("library") + }, /obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/sign/painting/library_secure/directional/east, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "gBm" = ( @@ -26651,13 +26494,32 @@ /area/station/science/research) "gBs" = ( /obj/structure/table/reinforced, -/obj/item/clipboard, -/obj/item/toy/figure/secofficer, /obj/machinery/newscaster/directional/west, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, /obj/machinery/light/small/directional/west, +/obj/machinery/button/flasher/table{ + pixel_y = 4; + pixel_x = 3; + id = "brigflashdoor"; + name = "Flash Control"; + req_access = list("security") + }, +/obj/machinery/button/door/table{ + pixel_y = 12; + pixel_x = 3; + req_access = list("security"); + name = "Brig Access Control"; + id = "brigfront" + }, +/obj/machinery/button/door/table{ + pixel_y = -4; + pixel_x = 3; + id = "brigwindows"; + name = "Cell Window Control"; + req_access = list("security") + }, /turf/open/floor/iron, /area/station/security/holding_cell) "gBx" = ( @@ -26675,7 +26537,6 @@ }, /obj/item/reagent_containers/cup/bottle/multiver, /obj/item/reagent_containers/syringe, -/obj/structure/sign/poster/official/cleanliness/directional/east, /obj/machinery/vending/wallmed/directional/north, /obj/effect/turf_decal/siding/dark_red, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -26736,7 +26597,6 @@ /turf/open/floor/iron/dark, /area/station/security/mechbay) "gCn" = ( -/obj/structure/sign/warning/electric_shock/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, @@ -26768,9 +26628,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"gCt" = ( -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "gCB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26822,6 +26679,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/ion_rifle/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/science) "gCL" = ( @@ -26843,7 +26701,6 @@ /turf/open/floor/iron, /area/station/security/courtroom) "gCS" = ( -/obj/structure/sign/poster/official/science/directional/west, /obj/effect/turf_decal/stripes/line, /obj/machinery/status_display/ai/directional/north, /obj/structure/rack, @@ -26935,20 +26792,12 @@ "gDV" = ( /turf/closed/wall, /area/station/service/library/lounge) -"gDW" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/aft) "gDY" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/station/security/office) -"gEz" = ( -/obj/structure/sign/calendar/directional/south, -/turf/open/floor/carpet/blue, -/area/station/commons/dorms) "gEA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27127,7 +26976,9 @@ dir = 1 }, /obj/item/radio/intercom/directional/north, -/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Security Post - Departures Holding Cell" + }, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "gGF" = ( @@ -27148,7 +26999,8 @@ dir = 8 }, /obj/machinery/newscaster/directional/west, -/obj/machinery/button/door/directional/south{ +/obj/machinery/button/door/directional/east{ + dir = 8; id = "Toilet_Research"; name = "Lock Control"; normaldoorcontrol = 1; @@ -27176,23 +27028,25 @@ /obj/machinery/button/door/directional/north{ id = "ceblast"; name = "Office Lockdown Control"; - pixel_x = 6; - pixel_y = 26; + pixel_y = 35; req_access = list("ce") }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -6 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"gHx" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "gHE" = ( /obj/machinery/requests_console/directional/north{ department = "Chapel"; name = "Chapel Requests Console" }, /obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/light/small/directional/north, /turf/open/floor/carpet/royalblack, /area/station/service/chapel/office) "gHI" = ( @@ -27243,9 +27097,6 @@ /turf/open/floor/iron, /area/station/security/holding_cell) "gIq" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -27261,33 +27112,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"gIw" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/button/door/directional/east{ - id = "hosprivacy"; - name = "Privacy Control"; - pixel_y = 6; - req_access = list("hos") - }, -/obj/machinery/button/door/directional/east{ - id = "hosspace"; - name = "Space Shutters Control"; - pixel_y = -6; - req_access = list("hos") - }, -/obj/machinery/keycard_auth/directional/east{ - pixel_x = 38; - pixel_y = 6 - }, -/obj/machinery/light_switch/directional/east{ - pixel_x = 37; - pixel_y = -6 - }, -/obj/structure/tank_holder/extinguisher, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hos) "gIx" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/effect/decal/cleanable/dirt, @@ -27310,6 +27134,15 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"gIF" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/supermatter/room) "gII" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -27467,6 +27300,7 @@ "gKI" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room/council) "gKT" = ( @@ -27541,14 +27375,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/basic, /area/space/nearstation) -"gLT" = ( -/obj/machinery/hydroponics/soil, -/obj/item/cultivator, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/security/prison/garden) "gMd" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -27589,7 +27415,6 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/service) "gME" = ( -/obj/structure/sign/warning/vacuum, /turf/closed/wall, /area/station/cargo/miningoffice) "gMK" = ( @@ -27683,6 +27508,7 @@ /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/office) "gNO" = ( @@ -27708,6 +27534,14 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"gOF" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "gOR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27866,16 +27700,7 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) -"gQF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "gQH" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) @@ -27959,51 +27784,17 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/main) -"gRN" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen/prison/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "gRU" = ( /obj/structure/table/reinforced, -/obj/machinery/button/ignition{ - id = "justicespark"; - pixel_x = 7; - pixel_y = 24; - req_access = list("armory") - }, -/obj/machinery/button/flasher{ - id = "justiceflash"; - pixel_x = 6; - pixel_y = 34; - req_access = list("armory") - }, /obj/item/folder/red{ pixel_x = 3 }, /obj/item/restraints/handcuffs, /obj/item/taperecorder, -/obj/machinery/button/door/directional/north{ - id = "justiceblast"; - name = "Justice Shutters Control"; - pixel_x = -6; - req_access = list("armory") - }, -/obj/machinery/button/door/directional/north{ - id = "justicechamber"; - name = "Justice Chamber Control"; - pixel_x = -6; - pixel_y = 34; - req_access = list("armory") - }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) "gSe" = ( @@ -28030,17 +27821,10 @@ /area/station/maintenance/department/engine/atmos) "gSB" = ( /obj/structure/cable, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_x = -8; - pixel_y = 36 - }, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = -8; - pixel_y = 24 - }, /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/south, /obj/machinery/light/small/directional/north, +/obj/machinery/button/door/incinerator_vent_atmos_aux/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "gSR" = ( @@ -28147,7 +27931,9 @@ dir = 4 }, /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -28158,25 +27944,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron, /area/station/cargo/storage) -"gUt" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/effect/turf_decal/bot, -/obj/item/clothing/gloves/color/yellow, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/station/engineering/storage) "gUy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table, @@ -28185,7 +27952,6 @@ /obj/item/clothing/head/utility/chefhat, /obj/item/reagent_containers/condiment/flour, /obj/effect/turf_decal/bot, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/item/kitchen/rollingpin{ pixel_x = -4 }, @@ -28329,14 +28095,16 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-left" }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "gWv" = ( @@ -28380,6 +28148,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot_white/right, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/gateway) "gWV" = ( @@ -28416,8 +28187,8 @@ /area/station/hallway/secondary/exit) "gXm" = ( /obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/paramedic) "gXn" = ( @@ -28447,6 +28218,13 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/port) +"gXN" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "gXS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/railing/corner{ @@ -28574,7 +28352,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 }, -/obj/structure/sign/warning/secure_area/directional/south, /obj/machinery/light/directional/south, /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, @@ -28607,10 +28384,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/supermatter/room) -"haF" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/space/basic, -/area/space/nearstation) "haG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -28669,12 +28442,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"hbA" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/iron/dark/textured, -/area/station/science/ordnance/storage) "hbB" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -28721,6 +28488,7 @@ /area/station/engineering/atmos/pumproom) "hbW" = ( /obj/effect/spawner/random/structure/crate, +/obj/structure/sign/departments/medbay/alt/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/chapel) "hcb" = ( @@ -28813,11 +28581,11 @@ /area/station/medical/morgue) "hcW" = ( /obj/machinery/light/directional/north, -/obj/structure/sign/warning/gas_mask/directional/north, /obj/effect/turf_decal/tile/neutral/full, /obj/machinery/atmospherics/components/binary/pump/on/supply/visible/layer4{ dir = 4 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance) "hdx" = ( @@ -28836,16 +28604,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/smooth_large, /area/station/command/heads_quarters/cmo) -"hdI" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "hdK" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28865,11 +28623,11 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "hdR" = ( -/obj/machinery/light_switch/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "hdU" = ( @@ -28979,16 +28737,21 @@ /turf/open/floor/iron, /area/station/medical/pharmacy) "hfb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, -/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, +/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior{ + manual_align = 1; + dir = 4 + }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ + dir = 8 + }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) "hfe" = ( @@ -29029,7 +28792,6 @@ /area/station/hallway/secondary/entry) "hfM" = ( /obj/effect/decal/cleanable/glass, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/fore) "hfN" = ( @@ -29127,10 +28889,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/plating, /area/station/service/library/abandoned) -"hhK" = ( -/obj/structure/sign/warning/vacuum, -/turf/closed/wall, -/area/station/cargo/storage) "hhM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -29345,7 +29103,6 @@ /area/station/maintenance/department/chapel) "hkJ" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking/directional/east, /obj/structure/tank_dispenser, /obj/machinery/camera/directional/east{ c_tag = "Engineering - Gear Storage"; @@ -29531,13 +29288,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"hnd" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "hnk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, @@ -29560,9 +29310,6 @@ /area/station/hallway/secondary/command) "hnx" = ( /obj/structure/table, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/machinery/computer/records/security/laptop{ dir = 8; pixel_y = 6 @@ -29612,9 +29359,6 @@ /area/station/engineering/atmos) "hnM" = ( /obj/machinery/pdapainter/research, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/turf_decal/bot_red, /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -29650,6 +29394,34 @@ "hoC" = ( /turf/closed/wall, /area/station/cargo/office) +"hoF" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/item/radio/intercom/directional/east{ + pixel_x = 38; + pixel_y = 3 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/east{ + pixel_x = 40; + pixel_y = -8 + }, +/obj/machinery/button/door/directional/east{ + id = "qmspace"; + name = "Space Shutters Control"; + pixel_y = -8 + }, +/obj/machinery/button/door/directional/east{ + id = "qmprivacy"; + name = "Privacy Control"; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "hoO" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -29657,6 +29429,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "hoQ" = ( @@ -30016,6 +29789,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"huy" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/commons/toilet/locker) "huH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30081,7 +29863,6 @@ dir = 8 }, /obj/effect/turf_decal/bot, -/obj/structure/sign/warning/cold_temp/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, @@ -30106,9 +29887,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, @@ -30130,7 +29908,6 @@ /area/station/security/interrogation) "hvD" = ( /obj/structure/chair/stool/bar/directional/north, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron/grimy, /area/station/service/abandoned_gambling_den) "hvJ" = ( @@ -30140,6 +29917,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/virology) +"hvX" = ( +/obj/structure/cable, +/obj/machinery/power/smes/engineering, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/circuit/green, +/area/station/engineering/main) "hwa" = ( /obj/structure/chair{ dir = 1 @@ -30299,7 +30082,6 @@ /area/station/service/chapel/office) "hxT" = ( /obj/structure/table/reinforced, -/obj/structure/sign/poster/official/random/directional/south, /obj/item/relic, /obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -30537,6 +30319,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/plaques/kiddie/library, /turf/open/floor/iron/dark, /area/station/service/library) "hCh" = ( @@ -30617,7 +30400,9 @@ dir = 8 }, /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -30672,17 +30457,39 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hEt" = ( -/obj/structure/sign/warning/vacuum, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/aft) "hEF" = ( /turf/closed/wall/r_wall, /area/station/security/lockers) "hEI" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/wood, -/obj/item/taperecorder, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_x = 1; + id = "evastorage"; + name = "E.V.A. Shutters"; + req_access = list("command") + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 8; + pixel_x = -4; + id = "teleportershutters"; + name = "Teleporter Shutters"; + req_access = list("command") + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 16; + pixel_x = 1; + id = "bridgewindows"; + name = "Bridge View Blast Doors"; + req_access = list("command") + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_x = 7; + pixel_y = 8; + id = "bridgedoors"; + name = "Bridge Access Blast Doors"; + req_access = list("command") + }, /turf/open/floor/iron/grimy, /area/station/command/bridge) "hEL" = ( @@ -30778,7 +30585,6 @@ /obj/item/reagent_containers/cup/beaker, /obj/item/reagent_containers/syringe/antiviral, /obj/item/reagent_containers/dropper, -/obj/structure/sign/warning/biohazard/directional/west, /obj/structure/cable, /obj/structure/table/reinforced/rglass, /turf/open/floor/iron, @@ -30859,25 +30665,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"hHi" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/seeds/onion, -/obj/item/seeds/garlic, -/obj/item/seeds/potato, -/obj/item/seeds/tomato, -/obj/item/seeds/carrot, -/obj/item/seeds/grass, -/obj/item/seeds/ambrosia, -/obj/item/seeds/wheat, -/obj/item/seeds/pumpkin, -/obj/effect/spawner/random/contraband/prison, -/obj/structure/window/spawner/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/item/seeds/tower, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/security/prison/garden) "hHo" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/chem_heater/withbuffer, @@ -30972,6 +30759,16 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"hIr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/science/xenobiology) "hIs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31155,6 +30952,7 @@ dir = 1 }, /obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "hKZ" = ( @@ -31198,14 +30996,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"hLt" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/closed/wall, -/area/station/hallway/secondary/exit/departure_lounge) "hLA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet/orange, @@ -31292,6 +31082,10 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/medical/morgue) +"hNe" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/hos) "hNg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31332,7 +31126,6 @@ /turf/open/floor/iron, /area/station/commons/toilet/locker) "hNP" = ( -/obj/structure/sign/poster/contraband/random/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, @@ -31359,7 +31152,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/poddoor{ id = "engstorage"; - name = "Engineering Secure Storage Lockdown" + name = "Engineering Secure Storage Lockdown"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -31483,6 +31278,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/office) "hPx" = ( @@ -31516,7 +31312,6 @@ /area/station/security/prison/safe) "hPO" = ( /obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/vacuum/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/hallway) @@ -31534,20 +31329,14 @@ /turf/open/floor/plating, /area/station/security/office) "hQr" = ( -/obj/machinery/light_switch/directional/north, /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, -/obj/structure/sign/warning/deathsposal/directional/east, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, -/obj/machinery/button/door/directional/north{ - id = "viro_private_shutters"; - name = "Privacy Shutters"; - pixel_y = 36 - }, /obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/deathsposal/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "hQs" = ( @@ -31715,6 +31504,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/iron/dark/telecomms, /area/station/science/xenobiology) "hSl" = ( @@ -31849,7 +31639,6 @@ /obj/structure/chair/office{ dir = 1 }, -/obj/structure/sign/poster/random/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/service) @@ -31925,10 +31714,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"hUV" = ( -/obj/structure/sign/warning/no_smoking, -/turf/closed/wall, -/area/station/engineering/atmos/storage) "hVi" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -32019,9 +31804,11 @@ /turf/open/floor/carpet, /area/station/command/meeting_room/council) "hWz" = ( -/obj/structure/closet/secure_closet/atmospherics, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/sign/warning/deathsposal/directional/north, /obj/effect/turf_decal/bot, -/turf/open/floor/iron, +/turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "hWA" = ( /obj/structure/table/reinforced, @@ -32150,14 +31937,11 @@ /turf/open/floor/iron, /area/station/science/research/abandoned) "hXQ" = ( -/obj/machinery/door/window/left/directional/east{ - name = "'Monkey Pen"; - req_access = list("genetics") - }, -/obj/structure/flora/bush/lavendergrass, -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/science/genetics) +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "hXZ" = ( /obj/item/storage/box/teargas{ pixel_x = 3; @@ -32255,7 +32039,8 @@ "hZl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/morgue{ - name = "Occult Study" + name = "Occult Study"; + dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -32399,6 +32184,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "iaT" = ( @@ -32642,7 +32428,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "icX" = ( -/obj/structure/sign/warning/pods/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -32703,9 +32488,6 @@ /turf/open/floor/plating, /area/station/maintenance/department/electrical) "idD" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 4 @@ -32805,6 +32587,7 @@ }, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/floor, /turf/open/floor/iron, /area/station/science/research) "ieM" = ( @@ -32856,6 +32639,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/cigarette, /obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) "ifp" = ( @@ -32864,6 +32648,10 @@ /obj/item/canvas/twentythree_twentythree, /obj/item/canvas/nineteen_nineteen, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/camera/directional/west{ + c_tag = "Library - Game Lounge"; + name = "library camera" + }, /turf/open/floor/iron/dark, /area/station/service/library/lounge) "ifr" = ( @@ -32938,6 +32726,10 @@ /obj/item/stack/rods/fifty, /turf/open/floor/plating, /area/station/maintenance/department/eva/abandoned) +"igZ" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "iho" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -32999,13 +32791,6 @@ }, /turf/open/floor/plating, /area/station/medical/virology) -"iij" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/command/teleporter) "iiy" = ( /obj/structure/easel, /turf/open/floor/iron, @@ -33084,8 +32869,8 @@ /obj/structure/closet{ name = "evidence closet" }, -/obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/evidence) "ijx" = ( @@ -33151,7 +32936,6 @@ /turf/open/floor/plating, /area/station/maintenance/port) "ikn" = ( -/obj/structure/sign/poster/party_game/directional/west, /obj/structure/table, /obj/item/storage/briefcase/secure{ pixel_x = 3; @@ -33250,6 +33034,9 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/maintenance/department/science) "iln" = ( @@ -33281,6 +33068,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/engineering/supermatter/room) "ilH" = ( @@ -33433,10 +33221,6 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/science/robotics/lab) -"ind" = ( -/obj/structure/sign/warning/no_smoking, -/turf/closed/wall, -/area/station/service/kitchen/abandoned) "inl" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/decal/cleanable/dirt, @@ -33502,10 +33286,10 @@ /area/station/service/hydroponics) "inV" = ( /obj/structure/table/wood, -/obj/item/radio/intercom, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/item/radio/intercom, /turf/open/floor/iron, /area/station/security/courtroom) "ioe" = ( @@ -33532,6 +33316,9 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "iov" = ( @@ -33606,13 +33393,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"iqg" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "iqj" = ( /obj/effect/turf_decal/trimline/purple/filled/warning, /turf/open/floor/iron/white, @@ -33622,13 +33402,13 @@ /turf/open/floor/plating, /area/station/maintenance/fore) "iqn" = ( -/obj/structure/mirror/directional/west, /obj/effect/landmark/start/hangover, /obj/structure/sink/directional/east, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 }, +/obj/structure/mirror/directional/west, /turf/open/floor/iron, /area/station/commons/toilet/locker) "iqz" = ( @@ -33640,8 +33420,8 @@ /obj/item/crowbar, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/structure/sign/poster/official/report_crimes/directional/north, /obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/report_crimes/directional/north, /turf/open/floor/iron, /area/station/engineering/storage) "iqT" = ( @@ -33837,6 +33617,9 @@ "isQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/cargo/storage) "isR" = ( @@ -34031,12 +33814,8 @@ /obj/machinery/button/door/directional/north{ id = "paramed_dispatch"; name = "Privacy Shutters"; - pixel_x = 6; req_access = list("medical") }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 - }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, @@ -34060,11 +33839,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/cargo/warehouse) -"ivH" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/radiation/directional/south, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "ivK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34125,9 +33899,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "iwW" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/effect/spawner/random/structure/closet_private, /obj/effect/landmark/start/hangover/closet, /obj/item/clothing/suit/toggle/lawyer, @@ -34210,6 +33981,7 @@ pixel_x = -10; pixel_y = 3 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/security/detectives_office) "ixZ" = ( @@ -34275,6 +34047,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"iyO" = ( +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "izo" = ( /obj/structure/table/wood, /obj/item/gavelblock, @@ -34448,8 +34223,13 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/firing_range/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/science) +"iBs" = ( +/obj/structure/sign/warning/xeno_mining/directional/north, +/turf/open/floor/glass/reinforced, +/area/station/maintenance/department/science/xenobiology) "iBx" = ( /obj/effect/spawner/random/structure/closet_private, /obj/structure/extinguisher_cabinet/directional/east, @@ -34465,12 +34245,12 @@ /turf/open/floor/iron, /area/station/maintenance/port/aft) "iBG" = ( -/obj/structure/sign/poster/official/help_others/directional/east, /obj/structure/closet/secure_closet/psychology, /obj/item/toy/plush/beeplushie{ desc = "Maybe hugging this will make you feel better about yourself."; name = "Therabee" }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/medical/psychology) "iBO" = ( @@ -34626,6 +34406,31 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"iDV" = ( +/obj/docking_port/stationary/syndicate/northeast{ + dir = 8 + }, +/turf/open/space, +/area/space) +"iDZ" = ( +/obj/structure/cable, +/obj/structure/table/wood, +/obj/machinery/button/ticket_machine/table{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/machinery/button/photobooth/table{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/machinery/button/flasher/table{ + pixel_y = 12; + id = "hopflash"; + req_access = list("hop"); + name = "Queue Flasher" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "iEa" = ( /obj/structure/table/wood, /obj/item/clothing/under/costume/maid, @@ -34756,11 +34561,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"iFt" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "iFD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -35006,12 +34806,6 @@ /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"iIz" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/security/processing) "iIM" = ( /obj/effect/turf_decal/tile/red/diagonal_centre, /obj/effect/turf_decal/tile/blue/diagonal_edge, @@ -35062,13 +34856,19 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"iJw" = ( -/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +"iJD" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/water_source/puddle, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "iJE" = ( /obj/structure/table/wood/fancy, -/obj/machinery/door/window/left/directional/east, +/obj/machinery/door/window/left/directional/east{ + req_access = list("library"); + name = "Secure Exhibit" + }, +/obj/structure/sign/painting/library_secure/directional/west, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "iJF" = ( @@ -35163,6 +34963,16 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) +"iKy" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology - Secure Cell Interior"; + name = "xenobiology camera"; + network = list("ss13","xeno","rd") + }, +/obj/machinery/status_display/ai/directional/west, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "iKC" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -35245,6 +35055,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"iLV" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/effect/turf_decal/trimline/neutral, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/box/white, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "iMf" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron, @@ -35285,12 +35106,12 @@ /area/station/science/ordnance/burnchamber) "iMO" = ( /obj/structure/closet/secure_closet/personal, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/item/storage/wallet, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/commons/locker) "iMV" = ( @@ -35306,6 +35127,11 @@ }, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) +"iNe" = ( +/obj/machinery/hydroponics/soil, +/obj/item/cultivator, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "iNg" = ( /obj/effect/landmark/start/hangover/closet, /obj/structure/closet/emcloset, @@ -35368,6 +35194,25 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/half, /area/station/engineering/main) +"iNO" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/effect/turf_decal/bot, +/obj/item/clothing/gloves/color/yellow, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/station/engineering/storage) "iNR" = ( /obj/item/kirbyplants/random, /obj/machinery/status_display/evac/directional/east, @@ -35434,6 +35279,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"iON" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/science/lab) "iPb" = ( /obj/structure/table, /obj/item/storage/box/tail_pin, @@ -35537,13 +35394,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/supermatter/room) -"iRd" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "iRf" = ( /obj/machinery/power/turbine/turbine_outlet, /turf/open/floor/engine, @@ -35803,12 +35653,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/button/door/directional/east{ + id = "engielock"; + name = "Engineering Lockdown Control"; + pixel_y = 8; + req_access = list("engineering") + }, /turf/open/floor/iron, /area/station/engineering/lobby) "iVj" = ( @@ -35866,17 +35721,17 @@ /area/station/maintenance/department/chapel) "iVH" = ( /obj/structure/table/reinforced, -/obj/machinery/button/door{ +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno6"; name = "Containment Control"; req_access = list("xenobiology") }, -/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "iVT" = ( /obj/machinery/photocopier, -/obj/structure/sign/poster/official/work_for_a_future/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "iVU" = ( @@ -35963,13 +35818,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"iWz" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/sign/poster/contraband/self_ai_liberation/directional/north, -/turf/open/floor/iron, -/area/station/science/research/abandoned) "iWA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36038,6 +35886,7 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/engineering/lobby) "iXj" = ( @@ -36112,14 +35961,13 @@ "iXM" = ( /obj/structure/cable, /obj/item/kirbyplants/random, -/obj/machinery/status_display/door_timer{ - id = "engcell"; - name = "Engineering Cell"; - pixel_y = 32 - }, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, +/obj/machinery/status_display/door_timer/directional/north{ + id = "engcell"; + name = "Engineering Cell" + }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) "iXO" = ( @@ -36139,12 +35987,6 @@ "iYi" = ( /turf/closed/wall, /area/station/commons/toilet/locker) -"iYp" = ( -/obj/structure/cable, -/obj/machinery/nuclearbomb/selfdestruct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "iYq" = ( /obj/machinery/computer/prisoner/management{ dir = 4 @@ -36167,18 +36009,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/research/abandoned) -"iYI" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos) "iYJ" = ( /obj/structure/table/wood, /obj/item/camera, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/item/hand_labeler, /turf/open/floor/wood, /area/station/commons/vacant_room/office) @@ -36261,16 +36094,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/electronic_marketing_den) -"iZU" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "iZY" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ dir = 4 @@ -36324,6 +36147,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable/layer3, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) "jaz" = ( @@ -36339,6 +36165,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/maintenance/port) "jaV" = ( @@ -36360,10 +36187,8 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "jaX" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 9 - }, /obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "jaZ" = ( @@ -36582,6 +36407,7 @@ }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/bot_white, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/medical/surgery/theatre) "jdg" = ( @@ -36707,13 +36533,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) -"jeI" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32; - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "jeM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -36770,15 +36589,21 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"jff" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "jfn" = ( /obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/structure/sign/poster/random/directional/east, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/checker, /area/station/service/bar/backroom) "jfo" = ( /obj/effect/turf_decal/tile/yellow/diagonal_edge, /obj/effect/turf_decal/tile/red/diagonal_centre, -/obj/structure/sign/poster/official/cleanliness/directional/west, /obj/machinery/camera/directional/west{ c_tag = "Science - Break Room"; name = "science camera"; @@ -36805,17 +36630,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"jfC" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/effect/turf_decal/trimline/neutral, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/box/white, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "jfF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36834,11 +36648,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"jfL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/floor/plating, -/area/station/engineering/atmos/mix) "jfP" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36884,6 +36693,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron, /area/station/maintenance/port) "jgb" = ( @@ -36942,7 +36752,6 @@ /turf/open/floor/wood, /area/station/service/theater) "jgS" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -37117,7 +36926,6 @@ name = "engineering camera"; network = list("ss13","engine") }, -/obj/structure/sign/warning/radiation/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter) "jjC" = ( @@ -37157,6 +36965,7 @@ /obj/effect/turf_decal/bot, /obj/structure/rack, /obj/machinery/newscaster/directional/west, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/main) "jkd" = ( @@ -37323,7 +37132,6 @@ "jlN" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/machinery/airalarm/directional/west, /obj/item/restraints/handcuffs, /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/light/small/directional/west, @@ -37371,6 +37179,7 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 }, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark/corner{ dir = 1 }, @@ -37478,6 +37287,7 @@ /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) "jni" = ( @@ -37500,6 +37310,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"jnB" = ( +/obj/effect/turf_decal/box/red, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "jnG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37609,14 +37427,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/hallway) -"joz" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 8 - }, -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/space/basic, -/area/space/nearstation) "joB" = ( /obj/machinery/conveyor{ dir = 4; @@ -37722,6 +37532,7 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating/airless, /area/space/nearstation) "jqr" = ( @@ -37862,7 +37673,6 @@ /turf/open/floor/iron, /area/station/engineering/atmos/project) "jso" = ( -/obj/structure/sign/poster/random/directional/east, /obj/structure/chair/comfy/beige{ dir = 8 }, @@ -37985,17 +37795,6 @@ "jtC" = ( /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"jtD" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) -"jtV" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/aft) "jui" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38125,12 +37924,10 @@ /turf/open/floor/iron/white, /area/station/medical/chemistry) "jvT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, +/obj/effect/turf_decal/siding/yellow/corner, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "jvX" = ( @@ -38192,7 +37989,6 @@ "jxf" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/bot, -/obj/structure/sign/calendar/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/breakroom) @@ -38203,14 +37999,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"jxj" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "jxm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38281,6 +38069,7 @@ /obj/effect/spawner/random/structure/table_or_rack, /obj/item/stack/rods/ten, /obj/effect/spawner/random/maintenance, +/obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) "jyu" = ( @@ -38376,14 +38165,12 @@ /turf/open/floor/iron/textured, /area/station/commons/vacant_room) "jzi" = ( -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, /obj/machinery/camera/directional/south{ c_tag = "Cargo Bay - Aft Starboard"; name = "cargo camera" }, /obj/effect/turf_decal/stripes/line, +/obj/machinery/status_display/supply/directional/south, /turf/open/floor/iron, /area/station/cargo/storage) "jzp" = ( @@ -38451,6 +38238,19 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/science) +"jAe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jAf" = ( /obj/structure/chair/pew/left, /turf/open/floor/iron/chapel{ @@ -38486,6 +38286,10 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"jAC" = ( +/obj/structure/sign/painting/library, +/turf/open/floor/carpet/green, +/area/station/commons/dorms) "jAI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38573,26 +38377,6 @@ /obj/machinery/computer/records/security{ dir = 8 }, -/obj/machinery/button/flasher{ - id = "brigflashdoor"; - name = "Flash Control"; - pixel_x = 26; - pixel_y = 7; - req_access = list("security") - }, -/obj/machinery/button/door/directional/east{ - id = "brigfront"; - name = "Brig Access Control"; - pixel_y = -6; - req_access = list("security") - }, -/obj/machinery/button/door/directional/east{ - id = "brigwindows"; - name = "Cell Window Control"; - pixel_x = 36; - pixel_y = -6; - req_access = list("security") - }, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, @@ -38667,6 +38451,13 @@ /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"jCy" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/flasher/directional/south{ + id = "AI" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "jCI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38830,7 +38621,9 @@ /obj/structure/cable, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" + name = "Bridge Access"; + dir = 4; + manual_align = 1 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-left" @@ -38950,9 +38743,6 @@ dir = 4 }, /obj/item/bedsheet/medical, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, @@ -38980,14 +38770,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron, /area/station/engineering/atmos) -"jGs" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/aft) "jGx" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -39067,7 +38849,6 @@ /obj/structure/chair/sofa/left/brown{ dir = 4 }, -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, @@ -39267,7 +39048,6 @@ }, /area/station/service/kitchen) "jKE" = ( -/obj/machinery/light_switch/directional/north, /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room/council) @@ -39555,12 +39335,12 @@ /area/station/security/checkpoint/customs/fore) "jNY" = ( /obj/structure/table/optable, -/obj/machinery/newscaster/directional/north, /obj/effect/turf_decal/bot_red, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 }, +/obj/structure/sign/clock/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) "jNZ" = ( @@ -39753,6 +39533,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/dark/telecomms, /area/station/science/xenobiology) "jQd" = ( @@ -39801,6 +39582,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/electronic_marketing_den) +"jQv" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/directional/west{ + c_tag = "AI Satellite - Teleporter"; + name = "ai camera"; + network = list("minisat"); + start_active = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/turretid/directional/west{ + name = "Antechamber Turret Control"; + req_access = list("minisat"); + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "jQw" = ( /obj/machinery/telecomms/broadcaster/preset_right, /turf/open/floor/circuit/telecomms/mainframe, @@ -39946,6 +39743,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/test_chamber/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/science) "jSl" = ( @@ -40158,10 +39956,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"jUT" = ( -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/space/basic, -/area/space/nearstation) "jUU" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -40366,7 +40160,6 @@ "jYt" = ( /obj/structure/closet/crate/wooden/toy, /obj/item/toy/mecha/honk, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, @@ -40405,16 +40198,19 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/bar/directional/west, /obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch/directional/north, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den/gaming) "jYX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; - name = "Bridge Access Blast Door" + name = "Bridge Access Blast Door"; + dir = 4; + manual_align = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) "jZc" = ( @@ -40565,11 +40361,11 @@ /area/station/service/abandoned_gambling_den) "kaG" = ( /obj/structure/closet/secure_closet/personal, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/commons/locker) "kaL" = ( @@ -40673,7 +40469,6 @@ dir = 8 }, /obj/effect/spawner/random/structure/crate, -/obj/structure/sign/warning/secure_area/directional/west, /obj/structure/sign/nanotrasen{ pixel_y = 32 }, @@ -40747,10 +40542,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/department/science) -"kcR" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/closed/wall/r_wall, -/area/station/engineering/transit_tube) "kcT" = ( /obj/machinery/door/morgue{ name = "Relic Closet"; @@ -40794,7 +40585,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, -/obj/structure/sign/warning/secure_area/directional/east, /turf/open/floor/iron/white, /area/station/science/research) "kdC" = ( @@ -40806,15 +40596,15 @@ /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/aft) "kdE" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/loading_area{ dir = 4 }, +/obj/structure/window/half/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) "kdM" = ( -/obj/structure/sign/poster/official/do_not_question/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/aft) "kdN" = ( @@ -40947,6 +40737,24 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, /area/station/medical/virology) +"kfx" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ + pixel_x = 5 + }, +/obj/item/toy/figure/bitrunner{ + pixel_x = -6 + }, +/obj/machinery/camera/directional/south{ + name = "cargo camera"; + c_tag = "Cargo - Bitrunners" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "kfC" = ( /obj/machinery/telecomms/processor/preset_two, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ @@ -40972,6 +40780,7 @@ /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/service/library) "kfI" = ( @@ -40989,9 +40798,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "kfL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -41089,6 +40895,10 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"kgL" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/closed/wall/r_wall, +/area/station/maintenance/disposal/incinerator) "kgO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -41112,6 +40922,11 @@ "khb" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/lab) +"khh" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "khl" = ( /obj/structure/mirror/directional/north, /obj/structure/sink/directional/south, @@ -41217,6 +41032,7 @@ }, /obj/effect/landmark/start/cargo_technician, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/office) "kiq" = ( @@ -41233,7 +41049,6 @@ /turf/open/floor/iron/checker, /area/station/hallway/secondary/service) "kiz" = ( -/obj/structure/sign/poster/random/directional/east, /obj/structure/table, /obj/item/clipboard, /obj/item/folder/white, @@ -41264,6 +41079,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/evidence) +"kiP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "kiQ" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/bot, @@ -41271,7 +41091,9 @@ /area/station/engineering/atmos/project) "kiR" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/plasticflaps/opaque, +/obj/structure/plasticflaps/opaque{ + dir = 4 + }, /obj/machinery/door/poddoor/preopen{ id = "atmoslock"; name = "Atmospherics Lockdown Blast Door" @@ -41295,6 +41117,7 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/medical/morgue) "kjl" = ( @@ -41576,8 +41399,18 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/service/hydroponics) +"kmi" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) "kmE" = ( -/obj/machinery/door/poddoor/incinerator_atmos_aux, +/obj/machinery/door/poddoor/incinerator_atmos_aux{ + manual_align = 1; + dir = 4 + }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "kmS" = ( @@ -41704,13 +41537,13 @@ /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) "koB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "koJ" = ( @@ -41780,6 +41613,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/gateway) +"kpB" = ( +/obj/structure/table/wood/poker, +/obj/item/cigarette/pipe, +/turf/open/floor/carpet/green, +/area/station/commons/lounge) "kpD" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -41839,9 +41677,6 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, @@ -41927,6 +41762,11 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"ksk" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "ksn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/window/preopen{ @@ -41961,18 +41801,10 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/dinnerware, /obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/newscaster/directional/east, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"ksJ" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32; - pixel_y = -32 - }, -/obj/machinery/light/small/directional/south, -/obj/item/kirbyplants/organic/plant22, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "ksK" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -42056,6 +41888,28 @@ /obj/structure/cable, /turf/open/space/basic, /area/station/solars/port/aft) +"kuq" = ( +/obj/machinery/computer/cargo{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Bay - Starboard"; + name = "cargo camera" + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/bot, +/obj/machinery/button/door/directional/east{ + id = "cargounload"; + name = "Loading Doors"; + pixel_y = 6 + }, +/obj/machinery/button/door/directional/east{ + id = "cargoload"; + name = "Loading Doors"; + pixel_y = -6 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kur" = ( /obj/item/kirbyplants/random, /obj/machinery/light/directional/south, @@ -42257,7 +42111,6 @@ /turf/open/floor/wood, /area/station/service/electronic_marketing_den) "kws" = ( -/obj/structure/sign/poster/official/work_for_a_future/directional/south, /obj/structure/chair/sofa/bench{ dir = 1 }, @@ -42273,11 +42126,11 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/docking/directional/north, /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) "kwL" = ( @@ -42291,7 +42144,6 @@ /area/station/maintenance/port) "kwX" = ( /obj/effect/mapping_helpers/burnt_floor, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/station/maintenance/port) "kxg" = ( @@ -42375,6 +42227,12 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/commons/lounge) +"kyu" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/white, +/area/station/science/lobby) "kyx" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -42466,7 +42324,6 @@ /area/station/service/electronic_marketing_den) "kzP" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/do_not_question/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/detectives_office/private_investigators_office) @@ -42511,12 +42368,9 @@ dir = 6 }, /obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, /turf/open/floor/iron/white/smooth_large, /area/station/medical/psychology) -"kAD" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/engineering/storage/tech) "kAE" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/structure/reagent_dispensers/fueltank, @@ -42548,6 +42402,33 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark/smooth_large, /area/station/security/detectives_office) +"kBc" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-entrance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/scanner_gate/preset_guns{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + manual_align = 1; + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/brig) "kBz" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -42819,7 +42700,6 @@ /turf/open/floor/iron/dark, /area/station/security/prison/visit) "kFO" = ( -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, @@ -42903,10 +42783,11 @@ dir = 4 }, /obj/structure/cable, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/meter, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "kGK" = ( @@ -42957,6 +42838,9 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "kHp" = ( @@ -42985,7 +42869,6 @@ /obj/machinery/shieldgen, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking/directional/north, /obj/effect/turf_decal/bot, /obj/machinery/light/small/directional/north, /turf/open/floor/iron, @@ -43100,6 +42983,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden/abandoned) +"kJF" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "kJH" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -43135,10 +43023,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/service/theater/abandoned) -"kKm" = ( -/obj/structure/sign/warning/pods, -/turf/closed/wall, -/area/station/hallway/secondary/entry) "kKy" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/rnd/production/techfab/department/medical, @@ -43149,16 +43033,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron, /area/station/medical/storage) -"kKz" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload Turret Control"; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "kKW" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -43299,7 +43173,6 @@ /area/station/security/brig) "kMt" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/radiation/directional/west, /turf/open/floor/engine, /area/station/engineering/supermatter) "kMu" = ( @@ -43409,16 +43282,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"kNG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "xenosecure"; - name = "Secure Pen Shutters" - }, -/obj/structure/cable, -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/floor/plating, -/area/station/science/xenobiology) "kNH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/smooth_large, @@ -43588,10 +43451,12 @@ /turf/open/floor/iron, /area/station/service/hydroponics) "kRi" = ( -/obj/structure/disposalpipe/segment, /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "kRk" = ( @@ -43697,7 +43562,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/sign/warning/pods/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "kSc" = ( @@ -43744,6 +43608,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"kSC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/port) "kSR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43817,10 +43688,14 @@ }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hos) -"kTV" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/engineering/gravity_generator) +"kTS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/lobby) "kTX" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/directional/south, @@ -43837,21 +43712,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) -"kUj" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 7 - }, -/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ - pixel_x = 5 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/item/toy/figure/bitrunner{ - pixel_x = -6 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "kUn" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown{ @@ -43996,7 +43856,6 @@ "kVZ" = ( /obj/structure/closet/secure_closet/freezer/fridge/open, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/plating, /area/station/service/kitchen/abandoned) "kWi" = ( @@ -44084,6 +43943,7 @@ /obj/item/reagent_containers/syringe, /obj/structure/table/reinforced/rglass, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/medical/treatment_center) "kXb" = ( @@ -44174,9 +44034,6 @@ /turf/open/space/basic, /area/space/nearstation) "kYb" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/structure/closet/emcloset, /obj/effect/turf_decal/delivery, /obj/machinery/camera/directional/west{ @@ -44187,6 +44044,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"kYi" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/fire/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "kYn" = ( /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den/gaming) @@ -44337,9 +44199,6 @@ /turf/open/floor/plating, /area/station/science/research/abandoned) "laJ" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/security/courtroom) @@ -44381,7 +44240,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/sign/warning/radiation/directional/south, /turf/open/floor/iron, /area/station/engineering/supermatter/room) "lbo" = ( @@ -44415,6 +44273,11 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, +/obj/machinery/button/door{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels") + }, /turf/open/floor/iron, /area/station/maintenance/disposal) "lbw" = ( @@ -44527,15 +44390,11 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 5 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"lcP" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "lcT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -44615,6 +44474,14 @@ /obj/structure/sign/poster/contraband/arc_slimes/directional/north, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"ldJ" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "ldN" = ( /obj/structure/table, /obj/machinery/reagentgrinder{ @@ -44638,7 +44505,6 @@ "led" = ( /obj/item/restraints/handcuffs, /obj/item/assembly/flash/handheld, -/obj/structure/sign/poster/official/report_crimes/directional/south, /obj/structure/cable, /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -44697,9 +44563,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/port) "lfs" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, @@ -44875,11 +44738,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"lhp" = ( -/obj/structure/sign/poster/official/report_crimes/directional/south, -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "lhC" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -45158,20 +45016,11 @@ /area/station/cargo/office) "lks" = ( /obj/machinery/chem_dispenser, -/obj/structure/sign/warning/chem_diamond/directional/south, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"lkx" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) "lky" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/airalarm/directional/north, @@ -45339,6 +45188,7 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/maintenance/port) "lmL" = ( @@ -45378,22 +45228,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"lnk" = ( -/obj/structure/table/reinforced, -/obj/item/stack/package_wrap, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "lnm" = ( /obj/structure/closet/secure_closet/captains, /obj/effect/turf_decal/stripes/line{ @@ -45495,6 +45329,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 4 }, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) "lpk" = ( @@ -45565,9 +45400,6 @@ /area/station/hallway/secondary/construction) "lpA" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, /obj/structure/reagent_dispensers/fueltank, /obj/structure/window/reinforced/spawner/directional/west, /obj/item/weldingtool, @@ -45612,6 +45444,9 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) "lql" = ( @@ -45793,6 +45628,10 @@ "ltx" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/incinerator_vent_atmos_main/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 5 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "ltz" = ( @@ -45878,13 +45717,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"ltY" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "ltZ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/glass, @@ -45922,6 +45754,7 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) "luE" = ( @@ -45939,9 +45772,16 @@ "luG" = ( /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, -/obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/grimy, /area/station/maintenance/port/fore) +"luX" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "lva" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45952,7 +45792,6 @@ /area/station/cargo/storage) "lvi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/foam_force_ad/directional/west, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -45968,6 +45807,7 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/security/brig) "lvl" = ( @@ -46057,6 +45897,12 @@ dir = 1 }, /obj/machinery/light/directional/north, +/obj/machinery/button/door/table{ + pixel_y = 14; + name = "Ordnance Containment Control"; + id = "rdordnance"; + req_access = list("science") + }, /turf/open/floor/iron, /area/station/science/ordnance/office) "lvZ" = ( @@ -46172,7 +46018,6 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron, /area/station/cargo/warehouse) "lxS" = ( @@ -46182,11 +46027,6 @@ /turf/open/floor/iron, /area/station/commons/toilet/locker) "lyd" = ( -/obj/machinery/flasher{ - id = "justiceflash"; - pixel_x = 26; - req_access = list("security") - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, @@ -46433,9 +46273,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-left" }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -46444,6 +46281,11 @@ }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "lBk" = ( @@ -46484,6 +46326,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/storage) +"lBA" = ( +/obj/effect/decal/remains/xeno, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "lBG" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -46498,10 +46344,6 @@ }, /turf/open/floor/iron, /area/station/medical/virology) -"lBR" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/command/storage/eva) "lBV" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/decal/cleanable/dirt, @@ -46567,6 +46409,9 @@ }, /obj/item/clothing/glasses/sunglasses, /obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/service/lawoffice) "lCM" = ( @@ -46639,7 +46484,7 @@ pixel_x = -3; pixel_y = 5 }, -/obj/structure/sign/poster/official/random/directional/west, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/cargo/miningoffice) "lDI" = ( @@ -46647,12 +46492,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) -"lDV" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall, -/area/station/engineering/main) "lDY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46720,7 +46564,6 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/obj/structure/sign/poster/random/directional/west, /obj/effect/mapping_helpers/mail_sorting/service/kitchen, /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, @@ -46797,6 +46640,7 @@ dir = 5 }, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark/corner{ dir = 4 }, @@ -46859,7 +46703,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 }, -/obj/structure/sign/poster/official/report_crimes/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay) "lGf" = ( @@ -46967,6 +46810,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot_white/left, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/gateway) "lHx" = ( @@ -47095,9 +46941,6 @@ /turf/open/floor/plating, /area/station/maintenance/department/science) "lIy" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/structure/table/reinforced, /obj/item/storage/lockbox/loyalty, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -47311,18 +47154,15 @@ /turf/open/floor/plating, /area/station/security/prison/safe) "lKw" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, +/obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/button/door/directional/north{ id = "transitlock"; name = "Transit Tube Lockdown Control"; - pixel_y = 40; req_access = list("command") }, -/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "lKy" = ( @@ -47397,6 +47237,10 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine, /area/station/science/explab) +"lLt" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "lLy" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -47414,7 +47258,6 @@ dir = 1 }, /obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/vending/wallmed/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/surgery/theatre) @@ -47594,23 +47437,12 @@ /turf/open/floor/iron/dark, /area/station/service/library) "lOf" = ( -/obj/structure/sign/poster/official/report_crimes/directional/south, /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"lOw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ - dir = 4 - }, -/obj/machinery/meter/layer2, -/obj/structure/sign/warning/no_smoking/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "lOA" = ( /obj/machinery/suit_storage_unit/atmos, /obj/effect/turf_decal/box/red/corners{ @@ -47655,6 +47487,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/bot_white, +/obj/machinery/light/small/directional/west, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "lPf" = ( @@ -47979,9 +47812,6 @@ /obj/machinery/door/airlock/highsecurity{ name = "MiniSat Upload" }, -/obj/machinery/flasher/directional/west{ - id = "AI" - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47998,7 +47828,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/obj/structure/sign/warning/no_smoking/circle/directional/south, /turf/open/floor/iron, /area/station/maintenance/department/science) "lUI" = ( @@ -48037,8 +47866,8 @@ "lVn" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/extinguisher_cabinet/directional/north, /obj/effect/turf_decal/tile/red, +/obj/structure/sign/warning/pods/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) "lVv" = ( @@ -48123,8 +47952,8 @@ /obj/item/crowbar, /obj/item/wrench, /obj/item/radio, -/obj/structure/sign/poster/official/space_cops/directional/west, /obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "lXl" = ( @@ -48250,13 +48079,13 @@ /area/station/maintenance/department/medical/morgue) "lYW" = ( /obj/effect/turf_decal/trimline/blue/end, -/obj/structure/sign/warning/secure_area/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /obj/machinery/shower/directional/south{ name = "emergency shower" }, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/textured, /area/station/medical/medbay) "lYY" = ( @@ -48307,16 +48136,6 @@ pixel_x = -38; pixel_y = 8 }, -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = -38; - pixel_y = -7; - req_access = list("kitchen") - }, -/obj/machinery/button/ticket_machine{ - pixel_y = 22; - pixel_x = -6 - }, /obj/machinery/button/door/directional/west{ id = "hopblast"; name = "Lockdown Blast Doors"; @@ -48330,10 +48149,6 @@ req_access = list("hop") }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/button/photobooth{ - pixel_y = 22; - pixel_x = 6 - }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "lZF" = ( @@ -48342,7 +48157,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/sign/warning/secure_area/directional/south, /turf/open/floor/plating, /area/station/science/xenobiology) "lZG" = ( @@ -48557,9 +48371,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /turf/open/floor/iron, /area/station/science/auxlab/firing_range) "mdm" = ( @@ -48600,25 +48411,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"mdG" = ( -/obj/structure/rack, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/wrench, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/lightreplacer, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "mdM" = ( /obj/machinery/computer/records/medical{ dir = 1 }, /obj/machinery/light/small/directional/south, -/obj/structure/sign/poster/official/random/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/fore) @@ -48683,20 +48480,20 @@ /turf/open/floor/iron/large, /area/station/security/brig) "meZ" = ( -/obj/machinery/light/small/directional/east, /obj/structure/toilet{ dir = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/mess, -/obj/machinery/newscaster/directional/north, -/obj/machinery/button/door/directional/south{ +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/north{ id = "Arrivals_Toilet2"; name = "Lock Control"; normaldoorcontrol = 1; specialfunctions = 4 }, -/obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/commons/toilet/restrooms) "mfq" = ( @@ -48742,13 +48539,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) -"mfO" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "mfP" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -48948,12 +48738,6 @@ "mhA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/south{ - id = "engielock"; - name = "Engineering Lockdown Control"; - pixel_x = -6; - req_access = list("engineering") - }, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, @@ -49012,11 +48796,11 @@ "mjo" = ( /obj/machinery/recharge_station, /obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/south{ +/obj/effect/turf_decal/bot_red, +/obj/machinery/button/door/directional/east{ id = "gatewayshutters"; name = "Gateway Shutters" }, -/obj/effect/turf_decal/bot_red, /turf/open/floor/iron, /area/station/command/gateway) "mjr" = ( @@ -49080,12 +48864,12 @@ /obj/effect/turf_decal/bot, /obj/machinery/light_switch/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/dark, /area/station/science/circuits) "mkj" = ( /obj/effect/turf_decal/trimline/neutral/warning, /obj/effect/turf_decal/trimline/neutral/mid_joiner, -/obj/structure/sign/warning/no_smoking/directional/west, /obj/structure/table/reinforced, /obj/item/stack/sheet/glass/fifty, /obj/item/stack/sheet/iron/fifty, @@ -49098,6 +48882,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) +"mkG" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "mkM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ @@ -49138,6 +48928,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) "mly" = ( @@ -49165,15 +48958,15 @@ /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) "mlW" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, /obj/structure/railing{ dir = 1 }, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) "mmf" = ( @@ -49214,24 +49007,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"mna" = ( -/obj/machinery/firealarm/directional/south, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/item/storage/box/monkeycubes{ - pixel_y = 10; - pixel_x = 1 - }, -/obj/item/storage/box/monkeycubes{ - pixel_y = 3; - pixel_x = -13 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "mnl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49443,6 +49218,9 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/aft) "mqP" = ( @@ -49467,7 +49245,7 @@ /area/station/security/office) "mqV" = ( /obj/structure/dresser, -/obj/structure/mirror/directional/south, +/obj/item/radio/intercom/directional/east, /turf/open/floor/wood, /area/station/hallway/secondary/service) "mra" = ( @@ -49557,11 +49335,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/eva/abandoned) -"msx" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/wood, -/area/station/service/electronic_marketing_den) "msB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/engine, @@ -49591,13 +49364,6 @@ }, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) -"msO" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "msR" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -49641,10 +49407,10 @@ }, /obj/item/multitool, /obj/effect/turf_decal/bot, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/break_room) "mti" = ( @@ -49687,6 +49453,13 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, /area/station/engineering/storage) +"mtx" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "mtD" = ( /obj/machinery/requests_console/directional/north{ department = "Medbay"; @@ -49729,6 +49502,7 @@ /obj/effect/turf_decal/trimline/dark_red/filled/line{ dir = 8 }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/evidence) "muh" = ( @@ -49917,6 +49691,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"mvH" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "mvM" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -50046,7 +49830,6 @@ }, /area/station/engineering/lobby) "mxn" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/half{ dir = 8 @@ -50393,16 +50176,8 @@ /obj/structure/table/glass, /obj/item/paper_bin, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/safety_eye_protection/directional/south, /turf/open/floor/plating, /area/station/maintenance/space_hut/observatory) -"mCe" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/interrogation/directional/west, -/turf/open/floor/iron/checker, -/area/station/security/interrogation) "mCf" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -50644,28 +50419,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"mEB" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Brig" - }, -/obj/structure/cable, -/obj/effect/landmark/navigate_destination, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-entrance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/brig) "mEH" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -50768,6 +50521,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "mGm" = ( @@ -50862,6 +50616,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/storage) +"mHn" = ( +/obj/structure/table/reinforced, +/obj/item/stack/package_wrap, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "mHo" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -51024,13 +50794,11 @@ "mIO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 10 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron/dark/corner, /area/station/maintenance/disposal/incinerator) "mIX" = ( @@ -51067,14 +50835,11 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) "mJi" = ( -/obj/structure/sign/departments/science{ - name = "ROBOTICS"; - pixel_y = 32 - }, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "mJm" = ( @@ -51092,11 +50857,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance_storage, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"mJn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port) "mJq" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, @@ -51165,9 +50925,7 @@ /area/station/engineering/atmos/pumproom) "mJS" = ( /obj/structure/dresser, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, +/obj/structure/sign/painting/library, /turf/open/floor/wood, /area/station/commons/dorms) "mJW" = ( @@ -51182,13 +50940,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"mKn" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/box, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "mKp" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -51201,6 +50952,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) +"mKI" = ( +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "mKL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51250,6 +51006,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/storage) +"mLE" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "mLP" = ( /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/effect/turf_decal/stripes/line, @@ -51505,9 +51266,6 @@ "mPo" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy/lily, -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/commons/dorms) @@ -51578,15 +51336,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"mQz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/work_for_a_future/directional/south, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "mQA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/bar/directional/west, @@ -51624,12 +51373,10 @@ /turf/open/floor/plating, /area/station/science/xenobiology) "mQY" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Departures Lounge - Fore Starboard"; - dir = 6; - name = "departures camera" - }, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/directional/south_east{ + c_tag = "Departures Lounge - Fore Starboard" + }, /turf/open/floor/iron/dark/corner, /area/station/hallway/secondary/exit/departure_lounge) "mQZ" = ( @@ -51667,6 +51414,7 @@ name = "Research Division Fax Machine"; pixel_x = 1 }, +/obj/structure/sign/warning/test_chamber/directional/north, /turf/open/floor/iron, /area/station/science/research) "mRs" = ( @@ -51769,21 +51517,29 @@ /turf/open/floor/iron, /area/station/medical/treatment_center) "mTc" = ( -/obj/item/radio/intercom/directional/north, /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/aft) "mTe" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 10 - }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "mTn" = ( @@ -51967,6 +51723,12 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/medical/paramedic) +"mWi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/structure/sign/warning/pods/directional/north, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "mWq" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, @@ -52051,18 +51813,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/service/library) -"mXr" = ( -/obj/structure/cable, -/obj/structure/table/wood, -/obj/item/cigarette/cigar/cohiba{ - pixel_x = 3 - }, -/obj/item/cigarette/cigar/havana{ - pixel_x = -3 - }, -/obj/item/cigarette/cigar, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/captain) "mXy" = ( /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) @@ -52109,7 +51859,6 @@ /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "mYr" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Fore Tanks"; name = "atmospherics camera" @@ -52288,7 +52037,6 @@ /turf/open/floor/iron, /area/station/security/warden) "nbs" = ( -/obj/machinery/status_display/evac/directional/south, /obj/effect/turf_decal/trimline/neutral/warning{ dir = 1 }, @@ -52301,12 +52049,12 @@ /turf/open/floor/iron/dark/textured_half, /area/station/medical/morgue) "nbv" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 + }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "nbw" = ( @@ -52440,6 +52188,7 @@ /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 1 }, +/obj/structure/sign/departments/science/alt/directional/north, /turf/open/floor/iron/white, /area/station/science/research) "ndh" = ( @@ -52450,6 +52199,19 @@ /obj/effect/turf_decal/bot_red, /turf/open/floor/iron/dark, /area/station/security/office) +"ndt" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/wrench, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/lightreplacer, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "ndH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -52707,6 +52469,24 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) +"nht" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) +"nhw" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/science/xenobiology) "nhA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -52853,10 +52633,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/department/medical/morgue) -"njz" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall, -/area/station/maintenance/starboard/aft) "njI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/east, @@ -53038,7 +52814,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/sign/departments/science/alt/directional/east, /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/science/lab) @@ -53054,6 +52829,9 @@ /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark/textured_edge{ dir = 4 }, @@ -53141,21 +52919,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science) -"nnh" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/cytology{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/item/seeds/soya{ - pixel_x = 11; - pixel_y = -2 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "nnv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53300,6 +53063,9 @@ /obj/structure/closet/secure_closet/personal/cabinet{ name = "mime's closet" }, +/obj/machinery/light_switch/directional/west{ + pixel_y = -6 + }, /turf/open/floor/wood, /area/station/service/theater) "npm" = ( @@ -53429,9 +53195,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/mirror/directional/west, /turf/open/floor/iron, /area/station/commons/toilet/locker) "nrG" = ( @@ -53778,15 +53544,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) -"nwV" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "nwW" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/machinery/status_display/ai/directional/north, /obj/structure/table/wood/fancy/red, /obj/machinery/door/window/brigdoor/left/directional/east{ @@ -53932,6 +53690,7 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/plaques/kiddie/library, /turf/open/floor/iron/dark, /area/station/service/library) "nyE" = ( @@ -53989,6 +53748,44 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/recharge_floor, /area/station/science/research/abandoned) +"nze" = ( +/obj/item/stack/cable_coil, +/obj/item/bodypart/arm/right/robot{ + pixel_x = 3 + }, +/obj/item/bodypart/arm/left/robot{ + pixel_x = -3 + }, +/obj/structure/table, +/obj/item/radio/intercom/directional/west, +/obj/item/assembly/prox_sensor{ + pixel_x = 5 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 5 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 5 + }, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 3; + pixel_y = 16 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -3; + pixel_y = 16 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 15 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "nzi" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -53998,6 +53795,10 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"nzj" = ( +/obj/effect/decal/cleanable/xenoblood, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "nzk" = ( /obj/structure/sign/warning/pods/directional/north, /obj/effect/decal/cleanable/dirt, @@ -54113,6 +53914,14 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"nAB" = ( +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/table, +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/circuits) "nAF" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/stripes/line{ @@ -54190,11 +53999,13 @@ /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) "nBJ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/door/poddoor/preopen{ id = "bridgedoors"; - name = "Bridge Access Blast Door" + name = "Bridge Access Blast Door"; + dir = 4; + manual_align = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) "nBL" = ( @@ -54232,7 +54043,7 @@ "nCg" = ( /obj/structure/lattice, /obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/structure/sign/warning/hot_temp/directional/north, +/obj/structure/sign/warning/fire/directional/north, /turf/open/space/basic, /area/space/nearstation) "nCi" = ( @@ -54349,7 +54160,6 @@ /obj/structure/table/wood, /obj/item/toy/crayon/spraycan/lubecan, /obj/item/bikehorn, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, @@ -54378,6 +54188,13 @@ "nEc" = ( /turf/closed/wall, /area/station/science/research/abandoned) +"nEe" = ( +/obj/structure/lattice, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/space/basic, +/area/space/nearstation) "nEk" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -54411,10 +54228,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"nET" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/space/basic, -/area/space/nearstation) "nEZ" = ( /turf/closed/wall/r_wall, /area/station/security/mechbay) @@ -54509,9 +54322,6 @@ /area/station/maintenance/department/science) "nGC" = ( /obj/machinery/vending/hydroseeds, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 - }, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) @@ -54547,7 +54357,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "nGZ" = ( -/obj/structure/mirror/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, @@ -54556,19 +54365,18 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/mirror/directional/east, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"nHc" = ( -/obj/structure/table/wood, -/obj/item/cigarette/cigar/cohiba{ - pixel_x = 3 - }, -/obj/item/cigarette/cigar/havana{ - pixel_x = -3 +"nHb" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload Turret Control"; + pixel_y = 0 }, -/obj/item/cigarette/cigar, -/turf/open/floor/wood, -/area/station/command/meeting_room/council) +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "nHd" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance_hatch{ @@ -54644,7 +54452,6 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/bluespace_vendor/directional/north, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, @@ -54777,7 +54584,6 @@ /turf/open/floor/iron, /area/station/security/prison) "nJh" = ( -/obj/machinery/firealarm/directional/north, /obj/item/stack/medical/gauze, /obj/item/stack/medical/mesh, /obj/structure/table/reinforced/rglass, @@ -54797,14 +54603,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"nJu" = ( -/obj/structure/table/wood, -/obj/item/pen, -/obj/effect/turf_decal/siding/dark_red{ - dir = 4 - }, -/turf/open/floor/iron/checker, -/area/station/security/interrogation) "nJx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -54895,10 +54693,6 @@ /area/station/maintenance/port/fore) "nKE" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Head of Security's Office"; - dir = 9 - }, /obj/structure/bed/dogbed/lia, /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -55008,6 +54802,14 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/service/hydroponics) +"nMC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nMD" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/side{ @@ -55123,6 +54925,11 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"nNV" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/hos) "nOk" = ( /obj/item/kirbyplants/random, /obj/machinery/status_display/ai/directional/west, @@ -55154,6 +54961,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/main) "nOy" = ( @@ -55176,18 +54984,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"nOJ" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "nOP" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -55197,9 +54993,6 @@ /area/station/hallway/primary/central/aft) "nOT" = ( /obj/item/kirbyplants/random, -/obj/structure/sign/warning/electric_shock{ - pixel_y = -30 - }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, @@ -55239,6 +55032,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"nPn" = ( +/obj/structure/cable, +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "nPo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55247,8 +55050,8 @@ /turf/open/floor/plating, /area/station/cargo/sorting) "nPp" = ( -/obj/structure/sign/warning/secure_area/directional/north, /obj/structure/lattice, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/space/basic, /area/space/nearstation) "nPz" = ( @@ -55413,7 +55216,6 @@ /turf/open/floor/iron/dark, /area/station/security/evidence) "nRi" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/structure/table, /obj/item/stack/sheet/iron/fifty, /obj/item/stack/sheet/glass/fifty, @@ -55473,10 +55275,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/virology) -"nSv" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/captain/private) "nSA" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -55575,8 +55373,8 @@ /turf/open/floor/wood, /area/station/commons/dorms) "nUc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) @@ -55667,6 +55465,7 @@ /area/station/engineering/supermatter/room) "nVw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) "nVB" = ( @@ -55761,6 +55560,7 @@ /obj/machinery/light_switch/directional/south{ pixel_x = 8 }, +/obj/machinery/light_switch/directional/west, /turf/open/floor/wood, /area/station/hallway/secondary/service) "nWY" = ( @@ -55806,12 +55606,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/power/apc/auto_name/directional/south, /obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 5 - }, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/closet/radiation, +/obj/item/analyzer, /turf/open/floor/iron/dark/corner, /area/station/maintenance/disposal/incinerator) "nXH" = ( @@ -56035,12 +55834,6 @@ /turf/open/floor/plating, /area/station/maintenance/department/chapel) "oaZ" = ( -/obj/structure/sign/painting/library_private{ - pixel_y = -32 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/modular_computer/preset/curator{ dir = 1 }, @@ -56110,12 +55903,6 @@ /turf/open/floor/plating, /area/station/engineering/atmos) "obL" = ( -/obj/machinery/button/flasher{ - id = "Cell 5"; - name = "Prisoner Flash"; - pixel_x = 25; - pixel_y = 7 - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56128,6 +55915,10 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/button/flasher/directional/east{ + id = "Cell 4"; + name = "Prisoner Flash" + }, /turf/open/floor/iron, /area/station/security/execution/transfer) "obO" = ( @@ -56147,9 +55938,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/order_console/mining, /obj/item/radio/intercom/directional/west, -/obj/machinery/firealarm/directional/west{ - pixel_y = -9 - }, /turf/open/floor/iron, /area/station/cargo/miningoffice) "ocd" = ( @@ -56262,13 +56050,13 @@ /area/station/hallway/secondary/entry) "odc" = ( /obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/newscaster/directional/south, /obj/machinery/camera/directional/east{ c_tag = "Medbay - Paramedic Dispatch"; name = "medbay camera"; network = list("ss13","medbay") }, /obj/effect/turf_decal/tile/blue, +/obj/machinery/light/small/directional/south, /turf/open/floor/iron/white, /area/station/medical/paramedic) "odd" = ( @@ -56401,15 +56189,13 @@ /area/station/maintenance/port) "ofu" = ( /obj/structure/cable, -/obj/structure/sign/warning/no_smoking/directional/north, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 6 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/checker, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/unlocked, +/turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "ofx" = ( /obj/structure/cable, @@ -56445,9 +56231,6 @@ dir = 4; name = "Mix Outlet Pump" }, -/obj/structure/sign/warning/secure_area/directional/west{ - pixel_y = -32 - }, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ @@ -56627,6 +56410,43 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"oip" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 12; + id = "atmoslock"; + name = "Atmospherics Lockdown Control"; + req_access = list("atmospherics") + }, +/obj/machinery/keycard_auth{ + pixel_y = -6; + pixel_x = 1 + }, +/obj/machinery/button/door/table{ + pixel_x = -5; + pixel_y = 4; + id = "transitlock"; + name = "Transit Tube Lockdown Control"; + req_access = list("command") + }, +/obj/machinery/button/door/table{ + pixel_x = -5; + pixel_y = 12; + id = "engstorage"; + name = "Engineering Secure Storage Control"; + req_access = list("engine_equip") + }, +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 4; + id = "engielock"; + name = "Engineering Lockdown Control"; + req_access = list("engineering") + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "ois" = ( /obj/structure/table/glass, /obj/effect/decal/cleanable/dirt, @@ -56751,13 +56571,8 @@ /area/station/hallway/primary/fore) "ojW" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/vacuum/directional/east, /turf/open/floor/plating, /area/station/security/execution/transfer) -"okb" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/maintenance/department/crew_quarters/bar) "oke" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -56906,7 +56721,6 @@ /area/station/service/library/artgallery) "olD" = ( /obj/item/kirbyplants/random, -/obj/structure/sign/poster/official/ian/directional/south, /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -57043,7 +56857,6 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/status_display/ai/directional/north, -/obj/structure/sign/poster/official/obey/directional/east, /turf/open/floor/plating, /area/station/security/prison/safe) "omY" = ( @@ -57131,7 +56944,9 @@ "ooq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ - name = "Brig" + name = "Brig"; + manual_align = 1; + dir = 4 }, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ @@ -57157,6 +56972,7 @@ /obj/machinery/firealarm/directional/east, /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/crowbar/red, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron, /area/station/engineering/gravity_generator) "ooC" = ( @@ -57180,6 +56996,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/blood/old, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/plating, /area/station/maintenance/department/science) "opl" = ( @@ -57279,7 +57098,6 @@ "oqx" = ( /obj/machinery/deepfryer, /obj/effect/turf_decal/bot, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "oqz" = ( @@ -57407,9 +57225,10 @@ "osO" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/north, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) "osR" = ( @@ -57467,9 +57286,6 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "ouc" = ( -/obj/structure/sign/warning/electric_shock{ - pixel_y = -30 - }, /obj/machinery/camera/directional/south{ c_tag = "Permabrig - Fitness"; network = list("ss13","prison") @@ -57516,9 +57332,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, @@ -57720,6 +57533,17 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space/basic, /area/space/nearstation) +"oxA" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced/spawner/directional/east{ + pixel_x = 3 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "oxD" = ( /obj/structure/cable, /obj/structure/tank_holder/oxygen/yellow, @@ -57755,7 +57579,6 @@ /obj/item/stack/sheet/glass/fifty, /obj/item/stack/sheet/iron/fifty, /obj/effect/turf_decal/bot, -/obj/structure/sign/poster/contraband/free_drone/directional/south, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/maintenance/port) @@ -57881,11 +57704,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"ozA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "ozE" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -57901,6 +57719,15 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/white, /area/station/medical/storage) +"ozG" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction) "ozQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -57991,6 +57818,14 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"oBW" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/space, +/area/space/nearstation) "oBX" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/item/kirbyplants/random, @@ -58053,10 +57888,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/medical/virology) -"oCG" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) "oCJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/opposingcorners, @@ -58198,6 +58029,13 @@ /obj/structure/flora/bush/grassy/style_random, /turf/open/misc/grass, /area/station/hallway/primary/fore) +"oEu" = ( +/obj/structure/table/wood, +/obj/machinery/keycard_auth/wall_mounted/directional/west, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "oEy" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -58271,12 +58109,6 @@ }, /turf/open/floor/engine, /area/station/science/genetics) -"oFv" = ( -/obj/docking_port/stationary/syndicate/northeast{ - dir = 8 - }, -/turf/open/space, -/area/space) "oFC" = ( /obj/machinery/airalarm/directional/west, /obj/structure/tank_dispenser, @@ -58313,20 +58145,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/command/corporate_showroom) -"oGq" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/delivery_chute{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/right/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/disposal) "oGr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, @@ -58343,9 +58161,6 @@ /turf/closed/wall, /area/station/service/chapel) "oGM" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/structure/closet/secure_closet/armory2, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -58434,19 +58249,6 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"oHO" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/table, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/clothing/mask/gas, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/cold/directional/north, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "oHQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58521,6 +58323,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"oIO" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/full, +/obj/machinery/holopad, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "oIU" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -58556,7 +58365,6 @@ /area/station/cargo/storage) "oJW" = ( /obj/structure/closet/secure_closet/evidence, -/obj/item/radio/intercom/directional/south, /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -58646,7 +58454,6 @@ "oLD" = ( /obj/machinery/camera/directional/north{ c_tag = "Science - Central Access"; - dir = 9; name = "science camera"; network = list("ss13","rd") }, @@ -58771,15 +58578,15 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "oMu" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/loading_area{ dir = 1 }, -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/door/window/right/directional/north{ name = "Incoming Mail"; req_access = list("shipping") }, +/obj/structure/window/half/directional/east, +/obj/structure/window/half/directional/west, /turf/open/floor/iron, /area/station/cargo/sorting) "oMw" = ( @@ -58836,7 +58643,9 @@ /turf/open/floor/iron, /area/station/engineering/storage/tech) "oNc" = ( -/obj/structure/plasticflaps/opaque, +/obj/structure/plasticflaps/opaque{ + dir = 4 + }, /obj/machinery/navbeacon{ codes_txt = "delivery;dir=1"; location = "Robotics" @@ -58899,6 +58708,25 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"oOn" = ( +/obj/item/phone{ + desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_x = 6 + }, +/obj/item/cigarette/cigar/havana{ + pixel_x = 2 + }, +/obj/item/cigarette/cigar{ + pixel_x = 4.5 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "oOw" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -59138,15 +58966,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) -"oRA" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction) "oRD" = ( /obj/structure/cable, /obj/item/circuitboard/computer/secure_data, @@ -59209,12 +59028,6 @@ /turf/open/floor/iron, /area/station/cargo/storage) "oSx" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: BLAST DOORS"; - pixel_y = -32 - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -59267,11 +59080,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"oSN" = ( -/obj/structure/lattice, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/space/basic, -/area/space/nearstation) "oSV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -59282,15 +59090,22 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) +"oSZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "oTg" = ( /obj/structure/sink/directional/west, -/obj/machinery/light_switch/directional/east, -/obj/machinery/firealarm/directional/east{ - pixel_x = 38 - }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -59312,6 +59127,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 10 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "oTv" = ( @@ -59359,7 +59177,6 @@ "oTY" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/fore) "oUc" = ( @@ -59414,12 +59231,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/server) -"oUy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/maintenance/port) "oUz" = ( /obj/structure/chair/sofa/left/brown{ dir = 8 @@ -59517,23 +59328,13 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/service/chapel) -"oWp" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/sink/directional/south, -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/cup/watering_can, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron, -/area/station/security/prison/garden) "oWt" = ( /obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 8 }, /obj/structure/bed/medical/emergency, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/medical) "oWA" = ( @@ -59542,14 +59343,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/wood, /area/station/hallway/secondary/service) -"oXg" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/table, -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/circuits) "oXi" = ( /obj/effect/turf_decal/bot_white/left, /obj/effect/turf_decal/tile/neutral{ @@ -59686,7 +59479,6 @@ c_tag = "Service - Clown's Room"; name = "service camera" }, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/wood, /area/station/service/theater) "oZz" = ( @@ -59786,11 +59578,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) -"pbv" = ( -/obj/structure/sign/warning/radiation/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/gravity_generator) "pbF" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -59835,6 +59622,7 @@ /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 }, +/obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/science/research) "pca" = ( @@ -59914,6 +59702,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"pcU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port) "pdb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/stripes/line, @@ -60047,14 +59841,14 @@ /area/station/commons/fitness/recreation) "pen" = ( /obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/sign/warning/deathsposal/directional/east, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, -/obj/machinery/disposal/bin/tagger, +/obj/structure/rack, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/clothing/mask/gas, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "peo" = ( @@ -60246,10 +60040,6 @@ }, /turf/open/floor/glass, /area/station/maintenance/space_hut/observatory) -"pgA" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/main) "pgE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60280,11 +60070,11 @@ /obj/item/radio/intercom/directional/north, /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, +/obj/machinery/digital_clock/directional/east, /turf/open/floor/iron, /area/station/commons/lounge) "pgP" = ( @@ -60389,6 +60179,7 @@ dir = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/departments/aisat/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "phI" = ( @@ -60478,7 +60269,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/structure/sign/warning/secure_area/directional/east, /obj/structure/sink/directional/north, /turf/open/floor/iron, /area/station/medical/medbay) @@ -60527,6 +60317,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) +"pjs" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "pjN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60557,11 +60357,9 @@ /turf/open/floor/iron, /area/station/medical/storage) "pkb" = ( -/obj/item/radio/intercom/directional/north, /obj/machinery/button/door/directional/north{ id = "chemisttop"; - name = "Pharmacy Shutters"; - pixel_y = 40 + name = "Pharmacy Shutters" }, /obj/machinery/chem_mass_spec, /obj/effect/turf_decal/siding/yellow{ @@ -60575,15 +60373,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/pharmacy) -"pkd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK" - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) "pke" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green{ @@ -60602,7 +60391,6 @@ /turf/open/floor/iron/dark, /area/station/medical/break_room) "pkk" = ( -/obj/structure/sign/warning/test_chamber/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, @@ -60628,6 +60416,7 @@ /obj/structure/cable, /obj/machinery/power/smes/engineering, /obj/machinery/light_switch/directional/east, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/circuit/green, /area/station/engineering/main) "pkA" = ( @@ -60739,13 +60528,13 @@ /obj/effect/turf_decal/loading_area, /turf/open/floor/iron, /area/station/command/teleporter) +"plG" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "plK" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "plO" = ( @@ -60791,6 +60580,17 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"pmr" = ( +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "pmz" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -60828,6 +60628,9 @@ /obj/machinery/vending/coffee, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "pmY" = ( @@ -60843,14 +60646,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"pnm" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/circuitboard/machine/crystallizer, -/obj/item/stack/cable_coil/thirty, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/hfr_room) "pnV" = ( /obj/structure/cable, /obj/structure/chair/office{ @@ -60877,13 +60672,6 @@ id_tag = "virology_airlock_interior"; name = "Virology Interior Airlock" }, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = 22; - req_access = list("virology") - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -60953,6 +60741,10 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"ppK" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "ppN" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -61082,15 +60874,14 @@ /area/station/service/theater/abandoned) "prt" = ( /obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "pru" = ( /obj/machinery/camera/directional/north{ c_tag = "Library - Back Printing Room"; - dir = 9; name = "library camera" }, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/machinery/vending/wardrobe/curator_wardrobe, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -61193,6 +60984,10 @@ dir = 1 }, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/button/door/directional/north{ + id = "chemisttop"; + name = "Pharmacy Shutters" + }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) "ptk" = ( @@ -61213,7 +61008,6 @@ /area/station/service/theater) "ptq" = ( /obj/machinery/porta_turret/ai, -/obj/structure/sign/warning/electric_shock/directional/south, /obj/structure/cable, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) @@ -61231,6 +61025,7 @@ /area/station/maintenance/department/crew_quarters/bar) "ptI" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/painting/library_private/directional/north, /turf/open/floor/iron/dark, /area/station/service/library/printer) "ptM" = ( @@ -61240,11 +61035,6 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"ptN" = ( -/obj/structure/sign/warning/directional/west, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "ptO" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, @@ -61272,9 +61062,6 @@ dir = 1 }, /obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 - }, /turf/open/floor/iron, /area/station/engineering/main) "put" = ( @@ -61302,7 +61089,6 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/docking/directional/south, /obj/machinery/duct, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, @@ -61350,7 +61136,6 @@ /obj/effect/turf_decal/bot, /obj/machinery/camera/directional/west{ c_tag = "Service - Hydroponics Back"; - dir = 10; name = "hallway camera" }, /obj/effect/turf_decal/tile/blue{ @@ -61645,6 +61430,11 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/maintenance/department/science/xenobiology) +"pzg" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/docking/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "pzh" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/right/directional/west{ @@ -61903,9 +61693,6 @@ }, /area/station/hallway/secondary/entry) "pBw" = ( -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, /obj/effect/turf_decal/arrows{ dir = 4 }, @@ -61913,6 +61700,7 @@ c_tag = "Cargo - Waiting Room"; name = "cargo camera" }, +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/iron, /area/station/cargo/lobby) "pBB" = ( @@ -61933,6 +61721,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"pBL" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "pBM" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -61969,9 +61764,6 @@ /obj/structure/table, /obj/item/clipboard, /obj/item/toy/figure/cargotech, -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/station/cargo/office) @@ -62041,7 +61833,6 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/structure/sign/xenobio_guide/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/xenobiology) @@ -62051,16 +61842,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"pDx" = ( -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "pDz" = ( /obj/machinery/quantum_server, /obj/effect/turf_decal/bot/left, @@ -62164,20 +61945,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) -"pEH" = ( -/obj/machinery/door/poddoor/preopen{ - id = "brigprison"; - name = "Prison Blast Door" - }, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: BLAST DOORS"; - pixel_x = 32 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/security/execution/transfer) "pEL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62211,6 +61978,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/commons/lounge) "pEU" = ( @@ -62271,7 +62039,6 @@ /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat_interior) "pFq" = ( -/obj/structure/sign/warning/no_smoking/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -62280,6 +62047,7 @@ /area/station/engineering/main) "pFu" = ( /obj/effect/turf_decal/stripes/corner, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "pFy" = ( @@ -62306,11 +62074,13 @@ /obj/item/kirbyplants/random, /obj/machinery/camera/directional/north{ c_tag = "Arrivals - Starboard Entrance"; - dir = 9; name = "arrivals camera" }, /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "pFO" = ( @@ -62384,15 +62154,8 @@ }, /turf/open/floor/iron/dark/corner, /area/station/maintenance/disposal/incinerator) -"pGv" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) "pGw" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/iron, @@ -62407,22 +62170,16 @@ /obj/item/knife/kitchen, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"pGz" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "pGC" = ( /obj/item/kirbyplants/random, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den/gaming) +"pGF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "pGJ" = ( /obj/structure/table/reinforced, /obj/item/folder/blue{ @@ -62439,11 +62196,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/herringbone, /area/station/cargo/miningoffice) -"pHa" = ( -/obj/structure/lattice, -/obj/structure/sign/warning/directional/west, -/turf/open/space, -/area/space/nearstation) "pHd" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -62461,13 +62213,15 @@ /turf/open/floor/iron/kitchen, /area/station/commons/dorms/laundry) "pHl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ + dir = 8 + }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "pHt" = ( @@ -62478,10 +62232,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"pHy" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/service/chapel) "pHz" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -62607,10 +62357,11 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/science/lab) -"pJz" = ( -/obj/effect/decal/remains/xeno, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +"pJu" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/warden) "pJM" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -62749,6 +62500,7 @@ /obj/effect/turf_decal/box/red, /obj/machinery/portable_atmospherics/canister, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/door/incinerator_vent_ordmix/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) "pLe" = ( @@ -62787,7 +62539,6 @@ /area/station/commons/dorms) "pLq" = ( /obj/structure/cable, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/turf_decal/tile/blue{ dir = 4 }, @@ -62907,6 +62658,13 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) +"pMH" = ( +/obj/item/kirbyplants/random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/grimy, +/area/station/tcommsat/computer) "pMK" = ( /obj/structure/disposalpipe/trunk, /obj/structure/cable, @@ -63096,6 +62854,9 @@ /area/station/commons/dorms) "pOQ" = ( /obj/structure/lattice, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /obj/structure/sign/nanotrasen{ pixel_y = 32 }, @@ -63138,6 +62899,7 @@ }, /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/commons/toilet/restrooms) "pPf" = ( @@ -63179,7 +62941,6 @@ /obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/bot, /obj/effect/spawner/random/trash/janitor_supplies, -/obj/structure/sign/poster/random/directional/west, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, @@ -63215,6 +62976,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"pPS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pQd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -63229,13 +62997,6 @@ }, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) -"pQn" = ( -/obj/structure/sign/poster/official/safety_eye_protection/directional/west, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "pQo" = ( /obj/machinery/modular_computer/preset/cargochat/engineering{ dir = 1 @@ -63538,16 +63299,6 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) -"pTT" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/execution/education) "pTV" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/structure/cable, @@ -63616,14 +63367,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/pumproom) -"pUq" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "pUw" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -63794,7 +63537,6 @@ "pWb" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/cobweb, -/obj/structure/sign/warning/electric_shock/directional/west, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, @@ -63825,7 +63567,6 @@ /obj/machinery/firealarm/directional/north, /obj/machinery/camera/directional/north{ c_tag = "Service - Service Hall"; - dir = 9; name = "service camera" }, /turf/open/floor/iron/dark, @@ -63887,6 +63628,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/abandoned) +"pXc" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south{ + pixel_x = 6 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -8 + }, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "pXg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63942,6 +63692,7 @@ "pXB" = ( /obj/structure/table/reinforced, /obj/machinery/coffeemaker/impressa, +/obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/engineering/break_room) "pXK" = ( @@ -64036,18 +63787,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"pYW" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Security - Armory External"; - dir = 10 - }, -/turf/open/space/basic, -/area/space/nearstation) "pZc" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, @@ -64056,10 +63799,9 @@ /obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/machinery/status_display/door_timer{ +/obj/machinery/status_display/door_timer/directional/west{ id = "Isolation_Cell"; - name = "Isolation Cell"; - pixel_x = -32 + name = "Isolation Cell" }, /turf/open/floor/iron, /area/station/security/execution/transfer) @@ -64124,23 +63866,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"pZM" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/poddoor/preopen{ - id = "sci_experimentor"; - name = "Experimentor Blast Door" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/explab) "qaq" = ( /obj/structure/table, /obj/item/clothing/gloves/latex, @@ -64179,7 +63904,6 @@ /obj/machinery/status_display/ai/directional/south, /obj/machinery/camera/directional/south{ c_tag = "Service - Bar Aft"; - dir = 5; name = "service camera" }, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -64193,6 +63917,9 @@ dir = 8 }, /obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "qaF" = ( @@ -64277,6 +64004,10 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/meter, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "qbP" = ( @@ -64509,7 +64240,6 @@ /area/station/command/bridge) "qeF" = ( /obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/south, /obj/structure/rack, /obj/item/book/manual/wiki/medicine{ pixel_x = -4; @@ -64593,7 +64323,6 @@ /turf/open/floor/iron/dark, /area/station/maintenance/department/science) "qfO" = ( -/obj/structure/disposalpipe/segment, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -64710,6 +64439,9 @@ /obj/effect/turf_decal/tile/green{ dir = 8 }, +/obj/machinery/door_buttons/access_button/directional/west{ + name = "Virology Access" + }, /turf/open/floor/iron/white, /area/station/medical/virology) "qig" = ( @@ -65073,13 +64805,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) -"qnC" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "qnG" = ( /obj/machinery/airalarm/directional/south, /obj/structure/extinguisher_cabinet/directional/east, @@ -65154,6 +64879,9 @@ "qoo" = ( /obj/structure/table/wood, /obj/item/pai_card, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/meeting_room/council) "qoA" = ( @@ -65185,12 +64913,6 @@ }, /turf/open/floor/iron, /area/station/engineering/supermatter/room) -"qoD" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "qoE" = ( /obj/machinery/recharge_station, /obj/effect/decal/cleanable/dirt, @@ -65239,7 +64961,6 @@ /obj/effect/turf_decal/trimline/blue/end{ dir = 8 }, -/obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/shower/directional/west{ name = "emergency shower" }, @@ -65281,14 +65002,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"qpI" = ( -/obj/structure/table, -/obj/item/binoculars, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/ordnance/directional/west, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "qpQ" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -65355,8 +65068,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/camera/directional/north{ - c_tag = "Security Post - Medsci"; - dir = 9 + c_tag = "Security Post - Medsci" }, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -65554,7 +65266,6 @@ /turf/open/floor/iron, /area/station/maintenance/port/aft) "qub" = ( -/obj/structure/sign/warning/firing_range/directional/west, /obj/machinery/bci_implanter, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -65629,10 +65340,6 @@ }, /turf/open/floor/iron, /area/station/commons/toilet/locker) -"qvn" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/fore) "qvo" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -65985,13 +65692,13 @@ /obj/machinery/newscaster/directional/west, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/machinery/button/door/directional/south{ +/obj/item/food/sandwich/cheese/grilled, +/obj/machinery/button/door/directional/east{ id = "Toilet_Med"; name = "Lock Control"; normaldoorcontrol = 1; specialfunctions = 4 }, -/obj/item/food/sandwich/cheese/grilled, /turf/open/floor/iron/cafeteria, /area/station/medical/break_room) "qzT" = ( @@ -66000,7 +65707,6 @@ dir = 5 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/iron, /area/station/engineering/gravity_generator) "qzX" = ( @@ -66157,6 +65863,13 @@ }, /obj/item/restraints/handcuffs, /obj/item/assembly/flash/handheld, +/obj/machinery/button/door/table{ + pixel_y = 9; + pixel_x = -6; + id = "armouryaccess"; + name = "Armoury Access"; + req_access = list("armory") + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "qBF" = ( @@ -66190,6 +65903,7 @@ }, /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/dark, /area/station/science/auxlab/firing_range) "qCe" = ( @@ -66248,7 +65962,6 @@ /turf/open/floor/iron, /area/station/maintenance/disposal) "qCs" = ( -/obj/machinery/light/small/directional/north, /obj/machinery/vending/assist, /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, @@ -66257,6 +65970,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "qCC" = ( @@ -66323,7 +66037,6 @@ /obj/machinery/door/airlock/vault{ name = "Vault Door" }, -/obj/structure/sign/warning/secure_area/directional/north, /obj/effect/landmark/navigate_destination, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -66340,15 +66053,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = 24; - pixel_y = -24; - req_access = list("virology") - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66356,6 +66060,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door_buttons/access_button/directional/north{ + name = "Virology Access" + }, /turf/open/floor/iron, /area/station/medical/virology) "qDZ" = ( @@ -66382,9 +66089,6 @@ /turf/open/floor/iron/white, /area/station/medical/medbay) "qEj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/light/small/directional/south, /obj/structure/table/wood, /obj/item/paper_bin{ @@ -66553,6 +66257,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/commons/lounge) "qGQ" = ( @@ -66692,10 +66397,6 @@ /area/station/security/detectives_office/private_investigators_office) "qHQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/newscaster{ - pixel_x = 32; - pixel_y = 32 - }, /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) @@ -66705,6 +66406,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/security/detectives_office/private_investigators_office) +"qIv" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 0 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/firealarm/directional/south, +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "qIE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -66778,6 +66493,7 @@ "qJl" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/hallway) "qJs" = ( @@ -66850,8 +66566,8 @@ /area/station/ai_monitored/aisat/exterior) "qKk" = ( /obj/structure/table/wood, -/obj/item/radio/intercom, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom, /turf/open/floor/iron/dark, /area/station/security/courtroom) "qKs" = ( @@ -66870,13 +66586,13 @@ /obj/effect/turf_decal/bot, /obj/effect/landmark/start/hangover, /obj/machinery/newscaster/directional/west, -/obj/machinery/button/door/directional/south{ +/obj/effect/landmark/start/assistant, +/obj/machinery/button/door/directional/east{ id = "Toilet2"; name = "Lock Control"; normaldoorcontrol = 1; specialfunctions = 4 }, -/obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/commons/toilet/locker) "qKH" = ( @@ -66985,6 +66701,10 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, +/obj/machinery/airlock_controller/incinerator_ordmix{ + dir = 4; + pixel_x = -12 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "qLu" = ( @@ -66993,6 +66713,9 @@ }, /obj/effect/turf_decal/siding/purple, /obj/effect/turf_decal/tile/purple/half/contrasted, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, /area/station/science/xenobiology) "qLw" = ( @@ -67031,10 +66754,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"qLJ" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/security/checkpoint/engineering) "qLO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/suit_storage_unit/engine, @@ -67053,6 +66772,7 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating/airless, /area/space/nearstation) "qLS" = ( @@ -67108,7 +66828,6 @@ "qMB" = ( /obj/effect/turf_decal/bot, /obj/machinery/firealarm/directional/north, -/obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/science/research) @@ -67156,11 +66875,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/port/fore) -"qNn" = ( -/obj/effect/turf_decal/box/red, -/obj/machinery/vatgrower, -/turf/open/floor/iron/dark/textured_large, -/area/station/science/xenobiology) "qNo" = ( /obj/structure/table/reinforced, /obj/machinery/firealarm/directional/south, @@ -67188,6 +66902,7 @@ department = "Garden"; name = "Garden Requests Console" }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) "qNK" = ( @@ -67459,15 +67174,6 @@ /obj/item/storage/bag/tray/cafeteria, /turf/open/floor/plating, /area/station/security/prison/mess) -"qSa" = ( -/obj/item/reagent_containers/cup/beaker, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/dropper, -/obj/structure/sign/warning/biohazard/directional/east, -/obj/structure/cable, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/iron, -/area/station/medical/virology) "qSd" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -67530,17 +67236,17 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"qTb" = ( +"qSW" = ( +/obj/machinery/computer/security/telescreen/prison/directional/east, /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/directional/east, /turf/open/floor/iron, -/area/station/maintenance/department/chapel) +/area/station/security/execution/transfer) "qTs" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67603,8 +67309,17 @@ "qUu" = ( /obj/structure/chair/sofa/right/brown, /obj/effect/landmark/start/hangover, +/obj/structure/sign/painting/large/library/directional/north, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) +"qUv" = ( +/obj/structure/table/wood, +/obj/item/pen, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/security/interrogation) "qUw" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -67629,10 +67344,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"qUM" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/tcommsat/server) "qUP" = ( /obj/machinery/hydroponics/soil, /obj/item/shovel/spade, @@ -67685,7 +67396,6 @@ /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/boozeomat/all_access, -/obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) "qVr" = ( @@ -67882,7 +67592,6 @@ /obj/structure/bodycontainer/morgue{ dir = 1 }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -67910,7 +67619,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/plasticflaps/opaque, +/obj/structure/plasticflaps/opaque{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, /obj/machinery/navbeacon{ @@ -67966,6 +67677,11 @@ dir = 8 }, /area/station/commons/fitness/recreation) +"rag" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "ram" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -67998,13 +67714,6 @@ /obj/effect/turf_decal/trimline/blue/end, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/project) -"raF" = ( -/obj/machinery/computer/security/telescreen/vault/directional/north, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "raI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68016,14 +67725,11 @@ /area/station/command/corporate_showroom) "raL" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/layer_manifold/green/visible{ - dir = 4 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 6 + }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "raQ" = ( @@ -68035,12 +67741,11 @@ /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = 32 - }, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Head of Security's Office" + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) "rbb" = ( @@ -68094,6 +67799,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) +"rcm" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "rcw" = ( /obj/structure/fireaxecabinet/directional/east, /turf/open/floor/iron/dark, @@ -68106,6 +67826,14 @@ "rcI" = ( /turf/open/floor/iron, /area/station/cargo/sorting) +"rcM" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "rcP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68152,10 +67880,12 @@ /turf/open/floor/iron/white/smooth_large, /area/station/science/robotics/lab) "rdq" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, /turf/open/floor/iron, /area/station/science/xenobiology) "rdu" = ( @@ -68194,7 +67924,7 @@ /turf/open/floor/iron, /area/station/hallway/primary/starboard) "rdR" = ( -/obj/machinery/firealarm/directional/north, +/obj/structure/plaque/static_plaque/golden/captain, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "rdS" = ( @@ -68209,12 +67939,11 @@ /area/station/engineering/lobby) "rem" = ( /obj/effect/turf_decal/stripes/line, -/obj/structure/sign/poster/random/directional/west, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) "rep" = ( /obj/structure/closet/firecloset, -/obj/structure/sign/warning/biohazard/directional/east, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -68225,7 +67954,7 @@ name = "medbay camera"; network = list("ss13","medbay") }, -/obj/machinery/firealarm/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, /area/station/medical/medbay) "req" = ( @@ -68309,8 +68038,8 @@ /obj/structure/bed/medical{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/medical/treatment_center) "rfG" = ( @@ -68351,7 +68080,6 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/science/research) "rgf" = ( @@ -68390,16 +68118,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"rgw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: PRESSURIZED DOORS"; - pixel_y = -32 - }, -/turf/open/floor/iron, -/area/station/engineering/supermatter/room) "rgA" = ( /obj/structure/chair, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -68418,7 +68136,6 @@ }, /obj/effect/mapping_helpers/requests_console/supplies, /obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/sign/poster/official/do_not_question/directional/east, /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/main) @@ -68541,7 +68258,6 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/biohazard/directional/south, /obj/machinery/duct, /obj/machinery/light/small/directional/south, /obj/structure/disposalpipe/segment{ @@ -68629,6 +68345,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white, /area/station/medical/medbay) +"riV" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos/hfr_room) "rjd" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, @@ -68680,9 +68403,6 @@ /area/station/service/theater) "rju" = ( /obj/structure/closet/crate/preopen, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/item/tank/internals/oxygen/red{ pixel_x = 3 }, @@ -68694,10 +68414,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"rjz" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/glass/reinforced, -/area/station/maintenance/department/science/xenobiology) "rjG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68739,15 +68455,6 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"rjT" = ( -/obj/structure/sign/poster/official/ion_rifle/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "rjZ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -68806,7 +68513,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/camera/directional/south{ c_tag = "Library - Aft Port"; - dir = 5; name = "library camera" }, /turf/open/floor/iron/grimy, @@ -68834,12 +68540,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white, /area/station/science/lobby) -"rle" = ( -/obj/structure/lattice, -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/structure/sign/warning/fire/directional/south, -/turf/open/space/basic, -/area/space/nearstation) "rlj" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -68902,11 +68602,13 @@ /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "rlE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, /obj/machinery/air_sensor/incinerator_tank, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ + dir = 6 + }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) "rlG" = ( @@ -69029,9 +68731,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /turf/open/floor/iron, /area/station/science/auxlab/firing_range) "rmo" = ( @@ -69049,25 +68748,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"rmz" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/rglass{ - amount = 50; - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/newscaster/directional/east, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/mod/module/thermal_regulator, -/obj/item/mod/module/magboot, -/obj/item/mod/module/signlang_radio, -/turf/open/floor/iron, -/area/station/engineering/storage) "rmI" = ( /obj/structure/table/reinforced, /obj/item/electronics/apc, @@ -69076,7 +68756,6 @@ pixel_y = 3 }, /obj/item/stack/cable_coil, -/obj/structure/sign/poster/official/build/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/electrical) "rmP" = ( @@ -69157,6 +68836,7 @@ }, /obj/item/camera_film, /obj/machinery/light_switch/directional/east, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/wood, /area/station/commons/vacant_room/office) "rnr" = ( @@ -69295,10 +68975,10 @@ /turf/open/floor/carpet/green, /area/station/commons/lounge) "rqa" = ( -/obj/machinery/status_display/evac/directional/north, /obj/structure/table/wood, /obj/item/folder/red, /obj/item/pen/red, +/obj/structure/sign/painting/library, /turf/open/floor/wood, /area/station/commons/dorms) "rqi" = ( @@ -69589,7 +69269,6 @@ /obj/item/instrument/violin, /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/station/service/theater/abandoned) @@ -69700,7 +69379,6 @@ /area/station/commons/fitness/recreation) "rwk" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron/grimy, /area/station/service/abandoned_gambling_den) "rwl" = ( @@ -69780,6 +69458,19 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/service/kitchen) +"rxN" = ( +/obj/machinery/door/window/brigdoor/left/directional/west{ + name = "Primary AI Core Access"; + req_access = list("ai_upload") + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/turretid/directional/north{ + name = "AI Chamber turret control" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "rxT" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -69845,9 +69536,6 @@ /turf/open/floor/carpet/red, /area/station/hallway/secondary/service) "ryl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -70087,8 +69775,7 @@ /obj/machinery/button/door/directional/north{ id = "engdoor"; name = "Engineering Cell Control"; - normaldoorcontrol = 1; - pixel_y = 37 + normaldoorcontrol = 1 }, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -70146,9 +69833,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-right" }, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -70157,6 +69841,11 @@ }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "rCc" = ( @@ -70251,10 +69940,10 @@ /obj/machinery/mineral/stacking_machine{ input_dir = 2 }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, +/obj/structure/window/half/directional/north, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal) "rEe" = ( @@ -70308,15 +69997,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"rEN" = ( -/obj/structure/sign/warning/electric_shock{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "rEO" = ( /turf/closed/wall/r_wall, /area/station/medical/coldroom) @@ -70391,14 +70071,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"rFR" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/smartfridge/drying, +/turf/open/floor/iron/cafeteria, +/area/station/service/kitchen) "rFV" = ( /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Office Fore"; - dir = 9 - }, -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/north, /obj/machinery/disposal/bin/tagger, @@ -70437,12 +70117,32 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"rGA" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/directional/north, +/turf/open/space/basic, +/area/space/nearstation) +"rGI" = ( +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/delivery_chute{ + dir = 8 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "rGU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"rGW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/plating, +/area/station/service/abandoned_gambling_den) "rGZ" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -70474,16 +70174,16 @@ "rHn" = ( /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/directional/east, -/obj/item/folder/blue, +/obj/item/folder/blue{ + pixel_y = 3 + }, /obj/item/pen, +/obj/item/taperecorder{ + pixel_y = -6; + pixel_x = -2 + }, /turf/open/floor/iron/grimy, /area/station/command/bridge) -"rHp" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/science/ordnance/storage) "rHq" = ( /obj/structure/chair/office, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -70577,13 +70277,6 @@ dir = 1 }, /area/station/commons/fitness/recreation) -"rIv" = ( -/obj/structure/sign/poster/official/moth_meth/directional/west, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "rID" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -70591,7 +70284,6 @@ /turf/open/floor/iron, /area/station/service/hydroponics) "rII" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -70608,6 +70300,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/cargo/sorting) "rIM" = ( @@ -70635,11 +70328,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/medical/virology) -"rIP" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/space/basic, -/area/space/nearstation) "rIU" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -71016,11 +70704,6 @@ /area/station/engineering/atmos/storage/gas) "rNV" = ( /obj/item/kirbyplants/random, -/obj/machinery/status_display/door_timer{ - id = "brig1"; - name = "Cell 1"; - pixel_x = -32 - }, /obj/machinery/light/directional/west, /obj/machinery/camera/directional/west{ c_tag = "Security - Brig Center" @@ -71030,6 +70713,10 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, +/obj/machinery/status_display/door_timer/directional/west{ + id = "brig1"; + name = "Cell 1" + }, /turf/open/floor/iron, /area/station/security/brig) "rNW" = ( @@ -71060,12 +70747,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"rOa" = ( -/obj/structure/sign/warning/secure_area{ - pixel_y = -14 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/storage/gas) "rOc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/large, @@ -71142,11 +70823,6 @@ /turf/open/floor/iron, /area/station/engineering/storage/tech) "rOS" = ( -/obj/machinery/button/door/directional/south{ - id = "armouryaccess"; - name = "Armoury Access"; - req_access = list("armory") - }, /obj/effect/turf_decal/trimline/dark_red/filled/line{ dir = 10 }, @@ -71166,6 +70842,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 4 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) "rOX" = ( @@ -71373,9 +71050,6 @@ /turf/open/floor/wood, /area/station/maintenance/port/aft) "rQI" = ( -/obj/machinery/airlock_sensor/incinerator_atmos{ - pixel_x = 24 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -71475,17 +71149,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay) -"rRF" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "rRR" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -71600,10 +71263,10 @@ "rSZ" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/delivery, -/obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/break_room) "rTr" = ( @@ -71618,6 +71281,7 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "rTB" = ( +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) "rTG" = ( @@ -71745,13 +71409,17 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "rUX" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/item/kirbyplants/random, /obj/machinery/digital_clock/directional/north, /turf/open/floor/wood, /area/station/commons/dorms) +"rVb" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "rVc" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -71933,7 +71601,6 @@ /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 4 }, -/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/turf_decal/box/corners{ dir = 8 }, @@ -72032,7 +71699,8 @@ "rYE" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/button/door{ +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno4"; name = "Containment Control"; req_access = list("xenobiology") @@ -72043,6 +71711,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, /obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/iron, /area/station/cargo/miningoffice) "rZe" = ( @@ -72115,7 +71784,9 @@ "rZE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ - name = "Prison Wing" + name = "Prison Wing"; + dir = 4; + manual_align = 1 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -72245,10 +71916,10 @@ /area/station/service/kitchen/abandoned) "saR" = ( /obj/machinery/disposal/bin, -/obj/structure/extinguisher_cabinet/directional/north, /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) "saS" = ( @@ -72260,6 +71931,7 @@ }, /obj/item/gps/engineering, /obj/effect/turf_decal/bot, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "saT" = ( @@ -72283,14 +71955,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"sbl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/sign/warning/biohazard/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/department/science) "sbP" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -72339,6 +72003,7 @@ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/large, /area/station/medical/medbay) "sch" = ( @@ -72361,9 +72026,6 @@ dir = 4 }, /obj/effect/turf_decal/bot/left, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/machinery/modular_computer/preset/cargochat/science{ dir = 4 }, @@ -72400,6 +72062,18 @@ req_access = list("ai_upload") }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/door/directional/north{ + id = "aicorewindow"; + name = "AI Core Shutters"; + req_access = list("ai_upload") + }, +/obj/machinery/button/door/directional/north{ + pixel_y = 24; + id = "aicoredoor"; + name = "AI Chamber Access Control"; + req_access = list("ai_upload") + }, +/obj/machinery/flasher/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) @@ -72432,6 +72106,10 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, /area/station/medical/virology) "sdB" = ( @@ -72496,6 +72174,18 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron, /area/station/medical/storage) +"sel" = ( +/obj/structure/table/glass, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/cmo/directional/south, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) "sez" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -72575,12 +72265,6 @@ "sfy" = ( /obj/effect/turf_decal/delivery, /obj/machinery/computer/shuttle/mining/common, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_y = 32 - }, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/smooth_large, /area/station/hallway/secondary/entry) @@ -72613,10 +72297,6 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"sfE" = ( -/obj/effect/decal/cleanable/xenoblood, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "sfH" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/neutral{ @@ -72651,6 +72331,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/red, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) "sgj" = ( @@ -72897,6 +72578,12 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) +"sjX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port) "ske" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -72944,14 +72631,6 @@ /obj/machinery/light_switch/directional/north{ pixel_x = -8 }, -/obj/machinery/button/door{ - id = "rdordnance"; - name = "Ordnance Containment Control"; - pixel_x = 8; - pixel_y = 26; - req_access = list("science") - }, -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, @@ -72960,6 +72639,7 @@ name = "science camera"; network = list("ss13","rd") }, +/obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "skC" = ( @@ -72981,7 +72661,6 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box/red, -/obj/structure/sign/poster/official/help_others/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/execution/education) @@ -73045,7 +72724,6 @@ dir = 9 }, /obj/machinery/status_display/ai/directional/north, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/engine, /area/station/science/explab) "slE" = ( @@ -73126,10 +72804,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"smO" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/solars/starboard/fore) "smR" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, @@ -73177,11 +72851,6 @@ }, /turf/open/floor/plating, /area/station/science/genetics) -"snK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "snW" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -73253,7 +72922,6 @@ dir = 1 }, /obj/structure/table/wood/poker, -/obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) "spd" = ( @@ -73277,13 +72945,19 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/structure/sign/warning/fire/directional/east, /turf/open/floor/iron, /area/station/engineering/main) "spq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"spw" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) "spB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -73324,15 +72998,12 @@ /area/station/hallway/primary/central/aft) "sqj" = ( /obj/structure/closet/crate/freezer/surplus_limbs, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Coldroom"; - dir = 9; - name = "medbay camera"; - network = list("ss13","medbay") - }, /obj/effect/turf_decal/bot_white{ color = "#435a88" }, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Coldroom" + }, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) "sqm" = ( @@ -73357,7 +73028,6 @@ "sqD" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, -/obj/structure/sign/poster/official/work_for_a_future/directional/south, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) "sqI" = ( @@ -73395,16 +73065,12 @@ }, /area/station/science/lobby) "srd" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/obj/machinery/disposal/bin, -/obj/structure/sign/warning/deathsposal/directional/south, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/table/reinforced, /turf/open/floor/iron/checker, /area/station/maintenance/disposal/incinerator) "srg" = ( @@ -73445,6 +73111,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) +"srQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "ssb" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -73469,27 +73149,6 @@ /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) "ssr" = ( -/obj/machinery/button/door{ - id = "brigwindows"; - name = "Cell Window Control"; - pixel_x = -32; - pixel_y = -26; - req_access = list("security") - }, -/obj/machinery/button/door{ - id = "brigfront"; - name = "Brig Access Control"; - pixel_x = -26; - pixel_y = -36; - req_access = list("security") - }, -/obj/machinery/button/door{ - id = "brigprison"; - name = "Prison Lockdown"; - pixel_x = -38; - pixel_y = -36; - req_access = list("brig") - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -73636,16 +73295,12 @@ pixel_x = -4; pixel_y = 4 }, -/obj/structure/sign/warning/no_smoking/directional/west, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) "suB" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/west{ - pixel_x = -24 - }, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, @@ -73668,6 +73323,7 @@ /obj/machinery/modular_computer/preset/civilian, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) "suQ" = ( @@ -73699,22 +73355,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) -"sva" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/warning/engine_safety/directional/south, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/station/engineering/lobby) "svc" = ( /obj/structure/table/reinforced, -/obj/machinery/button/door{ +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno7"; name = "Containment Control"; req_access = list("xenobiology") }, -/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "svd" = ( @@ -73758,13 +73407,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"svz" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "svO" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -73812,12 +73454,44 @@ fax_name = "Captain's Office"; name = "Captain's Fax Machine" }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "swn" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/machinery/button/ignition/incinerator/ordmix/table{ + id = "justicespark"; + name = "ignition switch"; + req_access = list("armory"); + pixel_y = 5; + pixel_x = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/button/ignition/incinerator/ordmix/table{ + id = "justiceflash"; + name = "flasher button"; + req_access = list("armory"); + pixel_y = 5; + pixel_x = -8 + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 13; + pixel_x = 4; + id = "justicechamber"; + name = "Justice Chamber Control"; + req_access = list("armory") + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 13; + pixel_x = -8; + id = "justiceblast"; + name = "Justice Shutters Control"; + req_access = list("armory") + }, /turf/open/floor/iron/dark, /area/station/security/execution/education) "swD" = ( @@ -73834,27 +73508,11 @@ }, /obj/structure/closet/emcloset, /obj/machinery/light/small/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/plating, /area/station/commons/fitness/recreation) -"swR" = ( -/obj/item/phone{ - desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/cigarette/cigar/cohiba{ - pixel_x = 6 - }, -/obj/item/cigarette/cigar/havana{ - pixel_x = 2 - }, -/obj/item/cigarette/cigar{ - pixel_x = 4.5 - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "swY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -73863,6 +73521,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"sxe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "sxk" = ( /obj/structure/barricade/wooden, /obj/structure/cable, @@ -74079,6 +73746,9 @@ /obj/effect/turf_decal/trimline/purple/filled/mid_joiner{ dir = 4 }, +/obj/item/radio/intercom/directional/east{ + pixel_y = 2 + }, /turf/open/floor/iron/white/smooth_large, /area/station/science/ordnance/storage) "szn" = ( @@ -74124,37 +73794,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"szZ" = ( -/obj/structure/table/reinforced, -/obj/item/folder/yellow, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/structure/extinguisher_cabinet/directional/north{ - pixel_x = 32 - }, -/obj/item/radio/intercom/directional/east{ - pixel_x = 38; - pixel_y = 3 - }, -/obj/machinery/keycard_auth/directional/east{ - pixel_x = 40; - pixel_y = -8 - }, -/obj/machinery/button/door/directional/east{ - id = "qmspace"; - name = "Space Shutters Control"; - pixel_y = -8 - }, -/obj/machinery/button/door/directional/east{ - id = "qmprivacy"; - name = "Privacy Control"; - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "sAh" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -74162,7 +73801,6 @@ "sAi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/xenoblood, -/obj/structure/sign/warning/xeno_mining/directional/north, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/smooth, /area/station/maintenance/department/science/xenobiology) @@ -74176,6 +73814,17 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) +"sAC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/item/storage/box/lights/mixed, +/obj/machinery/airalarm/directional/north, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sAD" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -74375,6 +74024,7 @@ name = "science camera"; network = list("ss13","rd") }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/science/research) "sDe" = ( @@ -74392,12 +74042,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/spawner/random/trash/caution_sign, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: PRESSURIZED DOORS"; - pixel_x = -32 - }, /turf/open/floor/plating, /area/station/maintenance/port/fore) "sDJ" = ( @@ -74578,15 +74222,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"sGz" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/command/heads_quarters/hop) "sGB" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/bot, +/obj/structure/sign/painting/library_private/directional/north, /turf/open/floor/iron/dark, /area/station/service/library/printer) "sGI" = ( @@ -74642,6 +74283,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "sHn" = ( @@ -74773,6 +74417,7 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/aft) "sIR" = ( @@ -74783,11 +74428,6 @@ "sIX" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/rd) -"sIY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/security) "sIZ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -74827,8 +74467,11 @@ dir = 4; id = "cargoload" }, -/obj/structure/plasticflaps, /obj/effect/decal/cleanable/dirt, +/obj/structure/plasticflaps{ + dir = 8; + manual_align = 1 + }, /turf/open/floor/plating, /area/station/cargo/storage) "sJj" = ( @@ -74855,10 +74498,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) -"sJF" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "sJG" = ( /obj/item/reagent_containers/chem_pack{ pixel_x = 3; @@ -75109,16 +74748,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/supermatter/room) -"sMx" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "sMG" = ( /obj/machinery/flasher/directional/south{ id = "Isolation_Cell" @@ -75173,13 +74802,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/port) -"sNe" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "sNC" = ( /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, @@ -75239,6 +74861,11 @@ dir = 8 }, /area/station/service/chapel) +"sOK" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/space, +/area/space/nearstation) "sOM" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=hall4"; @@ -75292,6 +74919,12 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"sPS" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/main) "sPT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75324,6 +74957,10 @@ /area/station/commons/fitness/recreation) "sQb" = ( /obj/effect/turf_decal/stripes/line, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "sQi" = ( @@ -75421,7 +75058,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "sQO" = ( -/obj/structure/sign/poster/random/directional/north, /obj/structure/table, /obj/item/radio/intercom/directional/west, /obj/effect/decal/cleanable/dirt, @@ -75454,10 +75090,13 @@ /turf/open/floor/iron, /area/station/maintenance/department/science) "sQU" = ( -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Bay - Drone Bay"; + name = "cargo camera" + }, /turf/open/floor/iron, /area/station/cargo/drone_bay) "sRd" = ( @@ -75474,13 +75113,13 @@ /obj/item/wrench, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, -/obj/structure/sign/poster/random/directional/south, /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/department/security) "sRC" = ( /obj/machinery/door/morgue{ - name = "Confession Booth" + name = "Confession Booth"; + dir = 4 }, /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -75537,7 +75176,9 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/door/poddoor{ id = "cargoload"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /turf/open/floor/plating, /area/station/cargo/storage) @@ -75570,10 +75211,8 @@ "sSZ" = ( /obj/machinery/button/door/directional/north{ id = "surgery_shutters"; - name = "Privacy Shutters"; - pixel_y = 36 + name = "Privacy Shutters" }, -/obj/machinery/light_switch/directional/north, /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -75594,12 +75233,6 @@ /area/station/engineering/supermatter/room) "sTq" = ( /obj/structure/cable, -/obj/machinery/button/flasher{ - id = "Cell 2"; - name = "Prisoner Flash"; - pixel_x = 25; - pixel_y = 7 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/button/door/directional/east{ @@ -75611,6 +75244,10 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/button/flasher/directional/east{ + id = "Cell 2"; + name = "Prisoner Flash" + }, /turf/open/floor/iron, /area/station/security/execution/transfer) "sTu" = ( @@ -75640,7 +75277,7 @@ /obj/structure/table, /obj/item/clothing/gloves/latex, /obj/item/clothing/glasses/science, -/obj/structure/sign/poster/official/science/directional/west, +/obj/structure/sign/departments/science/directional/west, /turf/open/floor/iron/white, /area/station/science/lobby) "sTR" = ( @@ -75773,7 +75410,6 @@ /turf/open/floor/iron/dark, /area/station/security/prison/visit) "sVi" = ( -/obj/structure/sign/warning/test_chamber/directional/south, /obj/structure/disposalpipe/segment{ dir = 5 }, @@ -75788,11 +75424,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"sVm" = ( -/obj/structure/lattice, -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/space/basic, -/area/space/nearstation) +"sVv" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "sVC" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 @@ -75878,15 +75520,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"sWJ" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil, -/obj/item/electronics/airalarm, -/obj/item/electronics/firealarm, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/port) "sWO" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 @@ -75941,14 +75574,6 @@ /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"sXE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/structure/lattice/catwalk, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/space/basic, -/area/space/nearstation) "sXI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -76002,23 +75627,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/grimy, /area/station/command/meeting_room/council) -"sXV" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stock_parts/micro_laser, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker - }, -/obj/item/multitool, -/turf/open/floor/iron, -/area/station/science/lab) "sYf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76130,6 +75738,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/window/half/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal) "sZv" = ( @@ -76254,16 +75863,15 @@ /area/station/maintenance/department/chapel) "tbZ" = ( /obj/item/kirbyplants/random, -/obj/machinery/status_display/door_timer{ - id = "brig2"; - name = "Cell 2"; - pixel_x = -32 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/machinery/status_display/door_timer/directional/west{ + id = "brig2"; + name = "Cell 2" + }, /turf/open/floor/iron, /area/station/security/brig) "tcb" = ( @@ -76306,6 +75914,7 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/structure/fireaxecabinet/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) "tcn" = ( @@ -76477,6 +76086,23 @@ /obj/machinery/light/floor, /turf/open/floor/wood/large, /area/station/command/corporate_showroom) +"teL" = ( +/obj/machinery/door/window/left/directional/east{ + name = "Monkey Pen"; + req_access = list("genetics") + }, +/obj/structure/flora/bush/lavendergrass, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/science/genetics) +"teQ" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/circuitboard/machine/crystallizer, +/obj/item/stack/cable_coil/thirty, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/hfr_room) "teU" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -76612,6 +76238,7 @@ /obj/machinery/atmospherics/components/tank/air{ dir = 9 }, +/obj/machinery/button/ignition/incinerator/ordmix/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) "tgN" = ( @@ -76683,6 +76310,24 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"thv" = ( +/obj/structure/table/wood, +/obj/item/restraints/handcuffs{ + pixel_y = 6 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_x = 7; + pixel_y = -7 + }, +/obj/item/cigarette/cigar/havana{ + pixel_x = -3 + }, +/obj/item/cigarette/cigar{ + pixel_x = -1; + pixel_y = -7 + }, +/turf/open/floor/carpet, +/area/station/security/detectives_office) "thz" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/effect/turf_decal/stripes/line{ @@ -76712,9 +76357,6 @@ /area/station/commons/dorms) "thO" = ( /obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) @@ -76733,6 +76375,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"tiL" = ( +/obj/machinery/field/generator, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) "tiP" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -76756,6 +76405,12 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/medbay) +"tjk" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/space/basic, +/area/space/nearstation) "tjl" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -76795,6 +76450,15 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"tkg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/warning/pods/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "tki" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76959,13 +76623,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"tns" = ( -/obj/structure/table/wood, -/obj/machinery/keycard_auth/directional/west, -/obj/item/flashlight/lamp, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) "tnu" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -77005,18 +76662,16 @@ /area/station/service/library/abandoned) "tnN" = ( /obj/structure/table/reinforced, -/obj/machinery/button/door{ +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno5"; name = "Containment Control"; req_access = list("xenobiology") }, -/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "tnR" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/effect/landmark/start/hangover, /turf/open/floor/carpet/purple, /area/station/commons/dorms) @@ -77105,6 +76760,7 @@ /obj/effect/turf_decal/trimline/neutral/warning{ dir = 8 }, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -77161,10 +76817,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den/gaming) -"tpJ" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/security/courtroom) "tpP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77218,12 +76870,10 @@ /turf/open/floor/iron, /area/station/medical/storage) "tqy" = ( -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, /obj/structure/table/wood/fancy/blue, /obj/machinery/door/window/left/directional/west, /obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/sign/painting/library_secure/directional/east, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "tqI" = ( @@ -77256,24 +76906,6 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/service/bar/backroom) -"trf" = ( -/obj/structure/table/wood, -/obj/item/restraints/handcuffs{ - pixel_y = 6 - }, -/obj/item/cigarette/cigar/cohiba{ - pixel_x = 7; - pixel_y = -7 - }, -/obj/item/cigarette/cigar/havana{ - pixel_x = -3 - }, -/obj/item/cigarette/cigar{ - pixel_x = -1; - pixel_y = -7 - }, -/turf/open/floor/carpet, -/area/station/security/detectives_office) "trw" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -77286,16 +76918,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"trC" = ( -/obj/item/reagent_containers/condiment/enzyme, -/obj/item/kitchen/rollingpin, -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 5 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "trG" = ( /obj/machinery/door/window/left/directional/north{ name = "Engineering Delivery"; @@ -77343,9 +76965,6 @@ /turf/open/floor/engine, /area/station/engineering/supermatter) "tsc" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /turf/open/floor/carpet/blue, /area/station/commons/dorms) "tse" = ( @@ -77478,13 +77097,9 @@ /obj/effect/spawner/random/structure/tank_holder, /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/dim/directional/north, +/obj/structure/sign/warning/vacuum/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/science/xenobiology) -"ttE" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/ce) "ttF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -77553,7 +77168,6 @@ /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) "tug" = ( -/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -77572,10 +77186,10 @@ /turf/open/floor/engine, /area/station/science/explab) "tuk" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) "tum" = ( @@ -77630,6 +77244,10 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/security) +"tuw" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "tuy" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77658,7 +77276,6 @@ /obj/machinery/power/terminal{ dir = 4 }, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/electrical) "tuN" = ( @@ -77726,9 +77343,6 @@ "tvF" = ( /obj/structure/cable, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/landmark/navigate_destination, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-right" @@ -77741,6 +77355,11 @@ }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "tvG" = ( @@ -77806,6 +77425,16 @@ dir = 8 }, /area/station/commons/fitness/recreation) +"txb" = ( +/obj/item/reagent_containers/condiment/enzyme, +/obj/item/kitchen/rollingpin, +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 5 + }, +/turf/open/floor/iron/cafeteria, +/area/station/service/kitchen) "txc" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -77823,17 +77452,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/eva/abandoned) -"txJ" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: PRESSURIZED DOORS"; - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos/project) "txK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77909,25 +77527,11 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/hfr_room) -"tzc" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/science/lab) "tzj" = ( -/obj/structure/disposalpipe/trunk{ +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, -/obj/structure/sign/warning/deathsposal/directional/south, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/bot_red, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "tzm" = ( @@ -77936,7 +77540,6 @@ "tzn" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/sign/poster/official/random/directional/south, /obj/item/clothing/suit/jacket/straight_jacket, /obj/item/clothing/mask/muzzle, /obj/item/clothing/mask/muzzle, @@ -77955,10 +77558,8 @@ /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8 }, -/obj/machinery/airlock_sensor/incinerator_ordmix{ - pixel_y = 24 - }, /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, +/obj/machinery/airlock_sensor/incinerator_ordmix, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) "tzT" = ( @@ -78014,19 +77615,18 @@ /obj/machinery/camera/directional/east{ c_tag = "Garden" }, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics/garden) "tAL" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, /obj/structure/railing{ dir = 1 }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) "tAM" = ( @@ -78131,12 +77731,7 @@ /obj/structure/cable, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: BLAST DOORS"; - pixel_y = 32 - }, +/obj/structure/sign/warning/doors/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) "tCk" = ( @@ -78400,12 +77995,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"tEE" = ( -/obj/structure/table/reinforced, -/obj/machinery/keycard_auth, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "tEK" = ( /obj/machinery/computer/security{ dir = 4 @@ -78470,24 +78059,8 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"tFu" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "tFG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -78589,14 +78162,6 @@ }, /turf/open/floor/wood/large, /area/station/command/corporate_showroom) -"tGW" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/security/prison/garden) "tHc" = ( /obj/structure/table/wood/fancy, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -78913,8 +78478,7 @@ dir = 1 }, /obj/machinery/camera/directional/north{ - c_tag = "Security - Transfer Centre"; - dir = 9 + c_tag = "Security - Transfer Centre" }, /turf/open/floor/iron, /area/station/security/processing) @@ -78947,10 +78511,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/half, /area/station/security/range) -"tLC" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter/room) "tLW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/red/fourcorners, @@ -79123,6 +78683,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/wood, /area/station/service/theater) "tNP" = ( @@ -79196,6 +78757,7 @@ /obj/machinery/light_switch/directional/west{ pixel_y = -6 }, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/wood, /area/station/service/theater) "tOv" = ( @@ -79408,7 +78970,9 @@ /turf/open/floor/iron/white, /area/station/science/lobby) "tQz" = ( -/obj/machinery/door/poddoor/incinerator_atmos_main, +/obj/machinery/door/poddoor/incinerator_atmos_main{ + manual_align = 1 + }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "tQE" = ( @@ -79490,19 +79054,18 @@ /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron/cafeteria, /area/station/service/barber) "tRu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, /obj/effect/spawner/random/maintenance, -/obj/machinery/light/small/directional/north, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) "tRO" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, @@ -79518,15 +79081,6 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/iron/white, /area/station/medical/virology) -"tSa" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron, -/area/station/commons/lounge) "tSh" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -79586,12 +79140,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tTj" = ( -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "tTn" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -79639,7 +79187,6 @@ /turf/open/floor/iron, /area/station/commons/toilet/locker) "tTQ" = ( -/obj/structure/sign/poster/ripped/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -79851,16 +79398,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"tWU" = ( -/obj/effect/turf_decal/siding/green{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "tXe" = ( /obj/effect/turf_decal/loading_area/red{ dir = 4 @@ -79935,6 +79472,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"tXN" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/warning/pods/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms) "tXO" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, @@ -80003,6 +79547,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/command/teleporter) +"tYn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "mechbay"; + name = "Mech Bay Shutters" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "tYo" = ( /obj/structure/window/spawner/directional/south, /obj/effect/decal/cleanable/dirt, @@ -80168,7 +79729,6 @@ "uaS" = ( /obj/item/rack_parts, /obj/effect/spawner/random/engineering/tool, -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -80258,6 +79818,7 @@ /obj/machinery/computer/operating, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/bot_white, +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/medical/surgery/theatre) "ubL" = ( @@ -80350,23 +79911,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"ucz" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-entrance" - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/brig) "ucA" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -80391,6 +79935,19 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/security/processing) +"ucG" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/delivery_chute{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/right/directional/east, +/obj/structure/window/half/directional/south, +/obj/structure/window/half/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/disposal) "ucT" = ( /obj/machinery/camera/directional/west{ c_tag = "Chapel - Fore Port"; @@ -80471,6 +80028,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "udt" = ( @@ -80565,7 +80125,8 @@ "ueC" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/button/door{ +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; id = "xeno2"; name = "Containment Control"; req_access = list("xenobiology") @@ -80593,11 +80154,10 @@ /area/station/commons/toilet/locker) "ufz" = ( /obj/machinery/firealarm/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /obj/effect/turf_decal/bot_white, /obj/structure/filingcabinet, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/library/printer) "ufE" = ( @@ -80612,7 +80172,7 @@ /area/station/security/warden) "ugc" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/structure/sign/poster/random/directional/north, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) "ugd" = ( @@ -80686,10 +80246,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"ugP" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/maintenance/port) "uhb" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology) @@ -80708,7 +80264,6 @@ /area/station/maintenance/starboard/aft) "uhC" = ( /obj/effect/spawner/random/vending/colavend, -/obj/structure/sign/poster/official/ian/directional/south, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -80797,11 +80352,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/engineering/main) -"uiH" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/research/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "uiK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -80871,13 +80421,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"ujL" = ( -/obj/structure/table/reinforced, -/obj/item/clipboard, -/obj/item/mining_voucher, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "ujQ" = ( /obj/machinery/status_display/ai/directional/west, /obj/structure/filingcabinet/security, @@ -80967,15 +80510,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay) -"ukO" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "ukR" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -81018,19 +80552,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/wood, /area/station/service/theater) -"ulQ" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals - Garden Access"; - dir = 9; - name = "arrivals camera" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ulR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/duct, @@ -81262,13 +80783,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/structure/sign/warning/pods/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uow" = ( -/obj/effect/spawner/structure/window, -/obj/structure/sign/plaques/kiddie/library, -/turf/open/floor/plating, -/area/station/service/library) "uoz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81281,13 +80798,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uoF" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/station/tcommsat/server) "uoI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, @@ -81358,23 +80878,6 @@ /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"upp" = ( -/obj/item/kirbyplants/random, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "Antechamber Turret Control"; - pixel_x = -32; - req_access = list("minisat") - }, -/obj/machinery/camera/directional/west{ - c_tag = "AI Satellite - Teleporter"; - name = "ai camera"; - network = list("minisat"); - start_active = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "upv" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=4"; @@ -81404,10 +80907,10 @@ "upX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/evac/directional/north, /obj/effect/turf_decal/tile/brown{ dir = 4 }, +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "uqd" = ( @@ -81425,10 +80928,10 @@ /area/station/hallway/secondary/entry) "uqq" = ( /obj/item/kirbyplants/random, -/obj/structure/sign/poster/random/directional/north, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron, /area/station/commons/toilet/locker) "uqJ" = ( @@ -81461,7 +80964,7 @@ /area/station/security/checkpoint/arrivals) "uqX" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/north, +/obj/machinery/status_display/ai/directional/north, /turf/open/floor/wood, /area/station/service/theater) "uqZ" = ( @@ -81631,6 +81134,9 @@ /obj/machinery/airalarm/directional/east, /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) "utj" = ( @@ -81752,9 +81258,6 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) "uuC" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -81763,6 +81266,7 @@ dir = 8 }, /obj/effect/turf_decal/box/corners, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "uuJ" = ( @@ -81831,6 +81335,9 @@ /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/arrivals) "uvt" = ( @@ -81867,6 +81374,14 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"uwb" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 8 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "uwc" = ( /obj/machinery/vending/autodrobe, /obj/effect/turf_decal/bot, @@ -81903,6 +81418,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) "uwL" = ( @@ -81915,6 +81431,7 @@ /obj/structure/bodycontainer/morgue{ dir = 2 }, +/obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -81986,15 +81503,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/smooth_large, /area/station/medical/psychology) -"uxC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/machinery/computer/security/telescreen/engine/directional/west, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/atmos_control/nocontrol/master{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/storage/gas) +"uxF" = ( +/obj/machinery/hydroponics/soil, +/obj/machinery/light/small/directional/west, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "uxG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -82065,11 +81578,6 @@ /obj/machinery/vending/dinnerware, /turf/open/floor/iron/dark, /area/station/service/kitchen) -"uyy" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "uyA" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -82213,13 +81721,6 @@ }, /turf/open/floor/wood/large, /area/station/service/library) -"uzZ" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "uAc" = ( /obj/structure/closet/crate, /obj/item/target/alien, @@ -82269,9 +81770,6 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "uAL" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/structure/table/reinforced, /obj/machinery/recharger{ pixel_x = -6; @@ -82398,6 +81896,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white, /area/station/medical/paramedic) "uCp" = ( @@ -82449,27 +81948,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"uDj" = ( -/obj/structure/cable, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/corporate_showroom) -"uDk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/warning/secure_area/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port) "uDl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -82508,10 +81986,6 @@ /obj/structure/chair/stool/bar/directional/north, /turf/open/floor/carpet/green, /area/station/commons/lounge) -"uDI" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/service/chapel/funeral) "uDQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -82567,7 +82041,6 @@ id = "warehouse_shutters"; name = "warehouse shutters control" }, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, /area/station/cargo/warehouse) @@ -82586,9 +82059,6 @@ /turf/open/floor/iron/white/side, /area/station/science/research) "uFa" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/machinery/camera/directional/south{ c_tag = "Security - Brig Desk" }, @@ -82657,6 +82127,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"uFW" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "uFX" = ( /obj/structure/table, /obj/item/clothing/suit/apron/chef, @@ -82874,7 +82350,6 @@ "uIK" = ( /obj/effect/landmark/navigate_destination/dockesc, /obj/effect/turf_decal/delivery, -/obj/structure/sign/warning/vacuum/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "uIM" = ( @@ -83027,7 +82502,6 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/no_smoking/circle/directional/south, /obj/effect/turf_decal/siding/yellow{ dir = 8 }, @@ -83048,6 +82522,20 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/medical/abandoned) +"uKN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "uKQ" = ( /obj/structure/chair{ dir = 1; @@ -83077,7 +82565,6 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "uLf" = ( -/obj/structure/sign/warning/electric_shock/directional/east, /obj/effect/turf_decal/tile/red{ dir = 4 }, @@ -83128,7 +82615,6 @@ /turf/open/floor/iron, /area/station/engineering/break_room) "uLx" = ( -/obj/machinery/status_display/ai/directional/south, /obj/effect/turf_decal/siding/thinplating/dark/corner, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 @@ -83160,11 +82646,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/maintenance/department/science) -"uLX" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "uMb" = ( /obj/structure/table, /obj/item/analyzer, @@ -83266,9 +82747,7 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) "uNf" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, +/obj/structure/sign/painting/library/directional/south, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "uNg" = ( @@ -83285,8 +82764,19 @@ "uNh" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/plaques/kiddie, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"uNq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/hfr_room) "uNy" = ( /obj/machinery/computer/accounting{ dir = 4 @@ -83319,10 +82809,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) -"uNU" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/hop) "uNY" = ( /turf/closed/wall, /area/station/medical/medbay/lobby) @@ -83370,13 +82856,6 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"uOC" = ( -/obj/structure/lattice, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/space, -/area/space/nearstation) "uOE" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -83392,7 +82871,6 @@ /obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/machinery/hydroponics/constructable, /turf/open/floor/iron/white, /area/station/science/xenobiology) "uOH" = ( @@ -83521,17 +82999,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/maintenance/port) -"uPM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/space/basic, -/area/space/nearstation) "uPS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table/wood, @@ -83591,20 +83058,13 @@ /area/station/commons/storage/primary) "uQD" = ( /obj/machinery/light/small/directional/north, -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: BLAST DOORS"; - pixel_y = 32 - }, /obj/item/kirbyplants/organic/plant22, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "uQF" = ( @@ -83668,11 +83128,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/edge, /area/station/hallway/primary/central/aft) -"uRt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/fore) "uRx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /obj/effect/turf_decal/stripes/line{ @@ -83697,6 +83152,16 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"uRO" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "uRP" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ @@ -83802,9 +83267,9 @@ "uSX" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) "uSY" = ( @@ -83935,6 +83400,23 @@ "uUW" = ( /turf/closed/wall, /area/station/maintenance/space_hut/observatory) +"uVd" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stock_parts/micro_laser, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, +/turf/open/floor/iron, +/area/station/science/lab) "uVe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance_hatch{ @@ -84024,7 +83506,6 @@ "uWm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/xenoblood, -/obj/structure/sign/warning/xeno_mining/directional/south, /turf/open/floor/iron/smooth, /area/station/maintenance/department/science/xenobiology) "uWI" = ( @@ -84081,10 +83562,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"uXF" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/space/basic, -/area/space/nearstation) "uXK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -84115,16 +83592,6 @@ /obj/effect/mapping_helpers/airalarm/tlv_no_checks, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"uXU" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/delivery_chute{ - dir = 8 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "uYg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/green, @@ -84277,16 +83744,6 @@ }, /turf/open/floor/iron, /area/station/science/research) -"uZy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/security/telescreen/interrogation/directional/west, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig) "uZH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -84298,13 +83755,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"uZM" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "uZQ" = ( /obj/structure/rack, /obj/item/stack/medical/gauze, @@ -84527,7 +83977,6 @@ dir = 4; id = "garbage" }, -/obj/structure/sign/warning/vacuum/directional/north, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -84672,13 +84121,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"vex" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/iron, -/area/station/security/prison/garden) "veD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -84756,6 +84198,11 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"vfR" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/directional/north, +/turf/open/space, +/area/space/nearstation) "vfS" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -84853,6 +84300,7 @@ /obj/effect/turf_decal/tile/red/diagonal_centre, /obj/effect/turf_decal/tile/yellow/diagonal_edge, /obj/effect/landmark/start/hangover, +/obj/machinery/newscaster/directional/west, /turf/open/floor/iron/diagonal, /area/station/science/breakroom) "vhH" = ( @@ -84873,9 +84321,6 @@ /area/station/service/bar/backroom) "vhW" = ( /obj/item/kirbyplants/random, -/obj/structure/sign/warning/pods/directional/south{ - dir = 8 - }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, @@ -84890,6 +84335,7 @@ }, /obj/structure/closet, /obj/effect/turf_decal/trimline/dark_blue/filled/line, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) "vii" = ( @@ -84920,32 +84366,6 @@ /turf/open/floor/iron, /area/station/security/checkpoint/escape) "viB" = ( -/obj/machinery/button/door/directional/west{ - id = "engielock"; - name = "Engineering Lockdown Control"; - pixel_y = -8; - req_access = list("engineering") - }, -/obj/machinery/button/door/directional/west{ - id = "atmoslock"; - name = "Atmospherics Lockdown Control"; - pixel_y = 4; - req_access = list("atmospherics") - }, -/obj/machinery/button/door/directional/west{ - id = "engstorage"; - name = "Engineering Secure Storage Control"; - pixel_x = -36; - pixel_y = 4; - req_access = list("engine_equip") - }, -/obj/machinery/button/door/directional/west{ - id = "transitlock"; - name = "Transit Tube Lockdown Control"; - pixel_x = -36; - pixel_y = -8; - req_access = list("command") - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) @@ -85107,9 +84527,6 @@ "vkX" = ( /obj/effect/turf_decal/bot, /obj/machinery/vending/cigarette, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, @@ -85286,12 +84703,8 @@ /area/station/engineering/main) "vod" = ( /obj/item/kirbyplants/random, -/obj/machinery/button/door/directional/south{ - id = "Interro_shutters"; - name = "Shutters Control"; - req_access = list("security") - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/security/interrogation) "voe" = ( @@ -85390,10 +84803,15 @@ "vpC" = ( /obj/item/storage/medkit/regular, /obj/structure/table, -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/button/door/directional/north{ + id = "cmoshutter"; + name = "CMO Office Shutters"; + req_access = list("cmo") + }, /turf/open/floor/iron, /area/station/command/heads_quarters/cmo) "vpI" = ( @@ -85420,10 +84838,8 @@ /turf/open/floor/iron, /area/station/engineering/storage_shared) "vqg" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/landmark/start/hangover, +/obj/machinery/airalarm/directional/south, /turf/open/floor/wood, /area/station/commons/dorms) "vqt" = ( @@ -85442,17 +84858,6 @@ /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ name = "Burn Chamber Interior Airlock" }, -/obj/machinery/button/ignition/incinerator/ordmix{ - pixel_x = -6; - pixel_y = -24 - }, -/obj/machinery/button/door/incinerator_vent_ordmix{ - pixel_x = 8; - pixel_y = -24 - }, -/obj/machinery/airlock_controller/incinerator_ordmix{ - pixel_y = 32 - }, /obj/effect/mapping_helpers/airlock/locked, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -85498,6 +84903,13 @@ /obj/item/paint_palette, /turf/open/floor/carpet/blue, /area/station/service/library/lounge) +"vqS" = ( +/obj/structure/lattice, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/space, +/area/space/nearstation) "vqY" = ( /obj/effect/landmark/start/hangover, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -85638,6 +85050,7 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/incident_display/bridge/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) "vtc" = ( @@ -85728,7 +85141,6 @@ /turf/open/floor/iron/dark, /area/station/science/circuits) "vub" = ( -/obj/machinery/light_switch/directional/west, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -85768,7 +85180,6 @@ /obj/item/cultivator, /obj/item/reagent_containers/cup/watering_can, /obj/item/plant_analyzer, -/obj/structure/sign/poster/contraband/kudzu/directional/south, /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/green{ @@ -85786,6 +85197,7 @@ name = "engineering camera"; network = list("ss13","engine") }, +/obj/structure/sign/warning/engine_safety/directional/north, /turf/open/floor/iron, /area/station/engineering/supermatter/room) "vuJ" = ( @@ -85845,6 +85257,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron/white/smooth_half{ dir = 1 }, @@ -85859,8 +85272,8 @@ /area/station/security/prison/work) "vvD" = ( /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, +/obj/machinery/button/ignition/incinerator/atmos/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "vvF" = ( @@ -86017,17 +85430,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"vxq" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen/prison/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "vxr" = ( /turf/open/floor/iron, /area/station/security/prison) @@ -86164,6 +85566,9 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/cargo/lobby) "vyO" = ( @@ -86179,6 +85584,11 @@ /obj/structure/table/reinforced, /obj/item/storage/belt/utility, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/door/directional/east{ + id = "evashutters"; + name = "E.V.A. Shutters"; + req_access = list("command") + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) "vyX" = ( @@ -86227,7 +85637,9 @@ "vzD" = ( /obj/structure/table/wood, /obj/structure/cable, -/obj/item/radio/intercom, +/obj/item/radio/intercom{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) "vzK" = ( @@ -86291,13 +85703,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"vAl" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/command/meeting_room/council) "vAs" = ( /obj/structure/cable, /obj/machinery/holopad/secure, @@ -86344,6 +85749,18 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/engineering/supermatter/room) +"vAD" = ( +/obj/structure/cable, +/obj/structure/table/wood, +/obj/item/cigarette/cigar/cohiba{ + pixel_x = 3 + }, +/obj/item/cigarette/cigar/havana{ + pixel_x = -3 + }, +/obj/item/cigarette/cigar, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/captain) "vAE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -86417,7 +85834,7 @@ /area/station/science/research) "vBt" = ( /obj/structure/closet/l3closet/janitor, -/obj/structure/sign/poster/random/directional/east, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/dark, /area/station/service/janitor) "vBu" = ( @@ -86460,10 +85877,6 @@ icon_state = "foam_plating" }, /area/station/maintenance/department/science/xenobiology) -"vBX" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall, -/area/station/engineering/storage/tech) "vBY" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -86481,12 +85894,10 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "vCk" = ( -/obj/structure/sign/departments/medbay/alt{ - pixel_x = 32 - }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, +/obj/structure/sign/departments/medbay/alt/directional/east, /turf/open/floor/iron, /area/station/security/brig) "vCn" = ( @@ -86569,23 +85980,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/captain) -"vDw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/maintenance/disposal/incinerator) "vDy" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 }, /obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, /turf/open/floor/iron/dark, /area/station/medical/morgue) "vDH" = ( @@ -86598,6 +85998,9 @@ "vDJ" = ( /obj/machinery/teleport/hub, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/teleporter) "vDL" = ( @@ -86655,6 +86058,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) +"vEw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/maintenance/port/aft) "vEV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -86720,7 +86133,6 @@ /obj/structure/cable, /obj/machinery/camera/directional/east{ c_tag = "Dormitories - Hall"; - dir = 6; name = "dormitories camera" }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -86758,7 +86170,6 @@ }, /area/station/commons/fitness/recreation) "vFw" = ( -/obj/structure/sign/warning/electric_shock/directional/east, /obj/machinery/status_display/ai/directional/north, /obj/structure/table/wood/fancy/blue, /obj/machinery/door/window/right/directional/west{ @@ -86894,6 +86305,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) "vHq" = ( @@ -86946,6 +86358,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/security) +"vIo" = ( +/obj/machinery/hydroponics/soil, +/obj/item/shovel/spade, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "vIq" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -86956,6 +86373,10 @@ /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/station/medical/medbay) +"vIz" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "vIB" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/structure/cable, @@ -87089,6 +86510,7 @@ dir = 9 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "vKK" = ( @@ -87152,7 +86574,6 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/item/stack/ducts/fifty, -/obj/structure/sign/poster/random/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/port/fore) @@ -87189,11 +86610,6 @@ "vMp" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"vMq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/plating, -/area/station/cargo/miningoffice) "vMx" = ( /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/north, @@ -87355,17 +86771,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"vPe" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, -/turf/open/floor/plating, -/area/station/engineering/lobby) "vPf" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/machinery/light/warm/directional/south, +/obj/structure/sign/painting/library/directional/south, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "vPl" = ( @@ -87442,7 +86850,10 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/airlock_controller/incinerator_atmos{ + dir = 4; + pixel_x = -12 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "vQb" = ( @@ -87655,6 +87066,9 @@ /obj/effect/turf_decal/bot, /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) "vTC" = ( @@ -87827,6 +87241,13 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/department/chapel) +"vVs" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/interrogation/directional/west, +/turf/open/floor/iron/checker, +/area/station/security/interrogation) "vVu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -87874,7 +87295,6 @@ /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) "vWm" = ( -/obj/structure/sign/warning/vacuum/external/directional/west, /obj/item/kirbyplants/random, /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/blue{ @@ -87896,11 +87316,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"vWM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) "vWR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -87911,6 +87326,9 @@ "vWU" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) "vWV" = ( @@ -87921,7 +87339,6 @@ }, /obj/effect/mapping_helpers/requests_console/ore_update, /obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/light/cold/directional/north, /obj/structure/closet/crate/mod, /turf/open/floor/iron, /area/station/science/robotics/lab) @@ -87981,9 +87398,6 @@ "vXP" = ( /obj/structure/cable, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-left" }, @@ -87992,6 +87406,11 @@ }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "vXQ" = ( @@ -88161,6 +87580,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) +"waE" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/main) "waG" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -88277,6 +87704,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/service/barber) +"wco" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/mining_voucher, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "wct" = ( /obj/item/stack/cable_coil, /obj/structure/lattice/catwalk, @@ -88583,6 +88017,7 @@ }, /obj/structure/table/wood, /obj/item/flashlight/lamp, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/wood, /area/station/hallway/secondary/service) "wgC" = ( @@ -88630,6 +88065,7 @@ /obj/structure/closet/secure_closet/security, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "wgO" = ( @@ -88648,7 +88084,6 @@ /turf/open/floor/iron/large, /area/station/security/checkpoint/medical/medsci) "whc" = ( -/obj/structure/sign/poster/official/fruit_bowl/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -88812,7 +88247,6 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/plasma_effects/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) "wjF" = ( @@ -88851,17 +88285,16 @@ /turf/open/floor/iron, /area/station/maintenance/department/chapel) "wjS" = ( -/obj/structure/extinguisher_cabinet/directional/north, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/camera/directional/north{ c_tag = "Library - Fore Port"; - dir = 9; name = "library camera" }, /obj/structure/chair/comfy/teal, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/iron/dark, /area/station/service/library) "wjV" = ( @@ -88995,26 +88428,14 @@ /area/station/engineering/atmos/storage) "wlH" = ( /obj/structure/cable, -/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 - }, -/obj/machinery/button/ignition/incinerator/atmos{ - pixel_x = 8; - pixel_y = 36 - }, -/obj/structure/closet/radiation, -/obj/item/analyzer, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 +/obj/structure/disposalpipe/trunk{ + dir = 4 }, +/obj/machinery/disposal/bin, +/obj/structure/sign/warning/deathsposal/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "wlI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -89075,16 +88496,6 @@ /obj/item/pen, /turf/open/floor/iron/white, /area/station/medical/medbay) -"wmo" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/machinery/status_display/ai/directional/north, -/obj/item/rcl/pre_loaded, -/obj/effect/turf_decal/bot, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "wmp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -89170,7 +88581,8 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/external{ - name = "MiniSat Exterior Access" + name = "MiniSat Exterior Access"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -89299,7 +88711,6 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, -/obj/structure/sign/poster/official/space_cops/directional/south, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/maintenance/department/security) @@ -89361,12 +88772,20 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) +"wpo" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/command/teleporter) "wpp" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, /obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/corner{ dir = 4 }, @@ -89524,13 +88943,13 @@ /area/station/engineering/atmos/storage) "wqQ" = ( /obj/item/radio/intercom/directional/east, -/obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/trimline/blue/end{ dir = 8 }, /obj/effect/turf_decal/siding/blue, /obj/machinery/shower/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/half/directional/south, /turf/open/floor/iron/textured, /area/station/medical/cryo) "wqT" = ( @@ -89590,9 +89009,6 @@ "wrM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -32 - }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, @@ -89631,6 +89047,7 @@ "wsd" = ( /obj/machinery/monkey_recycler, /obj/effect/turf_decal/bot_red, +/obj/structure/sign/xenobio_guide/directional/north, /turf/open/floor/iron/dark, /area/station/science/xenobiology) "wse" = ( @@ -89699,7 +89116,7 @@ "wsT" = ( /obj/structure/table/reinforced, /obj/machinery/microwave/engineering/cell_included, -/obj/structure/sign/poster/random/directional/west, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/wood, /area/station/engineering/break_room) "wsU" = ( @@ -89766,10 +89183,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/floor, /turf/open/floor/iron, /area/station/science/research) "wtU" = ( /obj/structure/cable, +/obj/structure/sign/plaques/kiddie/library, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) "wtV" = ( @@ -89855,11 +89274,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"wuV" = ( -/obj/structure/fireaxecabinet/directional/south, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "wuZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -89925,10 +89339,10 @@ /obj/item/folder/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, +/obj/item/radio/intercom, /turf/open/floor/iron, /area/station/security/courtroom) "wvG" = ( @@ -89979,10 +89393,12 @@ /turf/open/floor/iron, /area/station/engineering/break_room) "wwN" = ( -/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /turf/open/floor/iron/dark, /area/station/service/library/printer) "wwP" = ( @@ -90035,11 +89451,11 @@ "wxl" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/structure/sign/poster/official/safety_report/directional/west, /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "wxo" = ( @@ -90047,6 +89463,9 @@ /obj/machinery/vending/coffee, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) "wxv" = ( @@ -90121,6 +89540,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/test_chamber/directional/north, /turf/open/floor/iron/dark, /area/station/science/xenobiology) "wyH" = ( @@ -90139,22 +89559,13 @@ /obj/item/taperecorder{ pixel_y = 7 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 9; - pixel_y = 32 - }, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 }, /obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"wyN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 10 - }, -/turf/open/space/basic, -/area/space/nearstation) "wzb" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 @@ -90204,12 +89615,20 @@ /obj/machinery/light/small/directional/north, /obj/machinery/camera/directional/north{ c_tag = "Service - Janitorial Closet"; - dir = 9; name = "service camera" }, /mob/living/basic/lizard/eats_the_roaches, /turf/open/floor/iron/checker, /area/station/service/janitor) +"wzz" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/sign/warning/vacuum/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "wzD" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/bot, @@ -90297,14 +89716,6 @@ /obj/item/pen, /turf/open/floor/iron, /area/station/cargo/lobby) -"wAt" = ( -/obj/machinery/hydroponics/soil, -/obj/item/cultivator, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/security/prison/garden) "wAz" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -90328,11 +89739,11 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/docking/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/chapel) "wAT" = ( @@ -90341,9 +89752,6 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "wAZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/structure/table/wood, /obj/item/taperecorder, /obj/item/camera, @@ -90440,16 +89848,6 @@ /obj/structure/flora/bush/large/style_random, /turf/open/misc/grass, /area/station/hallway/primary/fore) -"wCh" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "wCl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -90607,25 +90005,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) -"wDO" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = -5 - }, -/obj/machinery/button/door/directional/south{ - id = "cmoshutter"; - name = "CMO Office Shutters"; - pixel_x = 8; - pixel_y = -26; - req_access = list("cmo") - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "wDX" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -90647,7 +90026,6 @@ /obj/item/wrench, /obj/item/storage/box/lights/mixed, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/random/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/maintenance/port) @@ -90691,7 +90069,6 @@ dir = 1 }, /obj/item/stack/sheet/glass, -/obj/structure/sign/poster/contraband/borg_fancy_1/directional/south, /turf/open/floor/plating, /area/station/science/research/abandoned) "wEX" = ( @@ -90892,6 +90269,9 @@ }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/small/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "wGV" = ( @@ -90963,7 +90343,6 @@ "wHW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) @@ -91021,6 +90400,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"wIO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "wJa" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/engine/vacuum, @@ -91053,7 +90436,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/structure/sign/warning/explosives/alt/directional/east, /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/maintenance/department/science) @@ -91105,9 +90487,6 @@ /turf/open/floor/iron/chapel, /area/station/service/chapel) "wKm" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -91195,44 +90574,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/pharmacy) -"wLA" = ( -/obj/item/stack/cable_coil, -/obj/item/bodypart/arm/right/robot{ - pixel_x = 3 - }, -/obj/item/bodypart/arm/left/robot{ - pixel_x = -3 - }, -/obj/structure/table, -/obj/item/radio/intercom/directional/west, -/obj/item/assembly/prox_sensor{ - pixel_x = 5 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 5 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 5 - }, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 3; - pixel_y = 16 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -3; - pixel_y = 16 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 15 - }, -/turf/open/floor/iron, -/area/station/science/robotics/lab) +"wLe" = ( +/obj/machinery/hydroponics/soil, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light/small/directional/east, +/turf/open/misc/sandy_dirt, +/area/station/security/prison/garden) "wLK" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -91312,6 +90659,28 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"wML" = ( +/obj/structure/table/wood, +/obj/item/storage/box/matches{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/cigarette/cigar{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/item/cigarette/cigar{ + pixel_x = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/corporate_showroom) "wMU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -91349,20 +90718,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"wNP" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/box, -/obj/structure/sign/poster/official/random/directional/west, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/engineering/atmos/storage/gas) "wNV" = ( /obj/structure/table, /obj/item/paper_bin, @@ -91377,12 +90732,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wOw" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/structure/sign/poster/official/there_is_no_gas_giant/directional/east, -/turf/open/floor/iron/textured_large, -/area/station/engineering/atmos/project) "wOz" = ( /obj/structure/chair/office/light, /obj/effect/turf_decal/trimline/green/filled/warning, @@ -91457,16 +90806,15 @@ /obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/structure/sign/warning/biohazard/directional/west, /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 }, /obj/machinery/camera/directional/north{ c_tag = "Medbay - Science Airlock"; - dir = 9; name = "medbay camera"; network = list("ss13","medbay") }, +/obj/structure/sign/warning/chem_diamond/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay) "wPT" = ( @@ -91477,6 +90825,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"wPW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "wQo" = ( /obj/structure/table/wood, /obj/machinery/recharger{ @@ -91614,7 +90972,6 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/poster/official/here_for_your_safety/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison/visit) "wSv" = ( @@ -91680,25 +91037,13 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "wTc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible/layer2, +/obj/machinery/airlock_sensor/incinerator_atmos, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 10 }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer2{ dir = 8 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "wTg" = ( @@ -91825,14 +91170,6 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) -"wVy" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/sign/poster/contraband/ambrosia_vulgaris/directional/west, -/turf/open/floor/plating, -/area/station/security/prison/garden) "wVJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -91954,13 +91291,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/sign/warning/docking/directional/east, -/obj/structure/sign/warning/no_smoking/circle/directional/north, /obj/machinery/camera/directional/north{ c_tag = "Science - Ordnance Launch Access"; name = "science camera"; network = list("ss13","rd") }, +/obj/structure/sign/warning/explosives/alt/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/science) "wXU" = ( @@ -92021,6 +91357,11 @@ "wZE" = ( /turf/closed/wall, /area/station/maintenance/department/electrical) +"wZS" = ( +/obj/structure/cable, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/wood, +/area/station/command/meeting_room/council) "wZT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -92061,7 +91402,6 @@ /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) "xao" = ( -/obj/machinery/status_display/evac/directional/north, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -92087,13 +91427,10 @@ /turf/open/floor/iron, /area/station/commons/storage/tools) "xaF" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = -32 - }, /obj/machinery/light/small/directional/south, /obj/item/kirbyplants/organic/plant22, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/command/bridge) "xaK" = ( @@ -92170,6 +91507,10 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - Garden Access"; + name = "arrivals camera" + }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "xbu" = ( @@ -92329,16 +91670,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/textured, /area/station/medical/medbay) -"xcR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron, -/area/station/science/xenobiology) "xcU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -92356,14 +91687,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/iron, /area/station/maintenance/fore) -"xdn" = ( -/obj/effect/turf_decal/box/red, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 - }, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "xdA" = ( /obj/effect/spawner/random/decoration/carpet, /obj/effect/spawner/random/structure/furniture_parts, @@ -92565,24 +91888,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xfE" = ( -/obj/structure/lattice/catwalk, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/space/basic, -/area/space/nearstation) -"xfG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/item/storage/box/lights/mixed, -/obj/machinery/airalarm/directional/north, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xfR" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Interrogation Monitoring" @@ -92807,6 +92112,11 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"xif" = ( +/obj/effect/turf_decal/box/red, +/obj/machinery/vatgrower, +/turf/open/floor/iron/dark/textured_large, +/area/station/science/xenobiology) "xih" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plating, @@ -92953,11 +92263,9 @@ /turf/open/floor/iron/white, /area/station/medical/medbay) "xka" = ( -/obj/item/radio/intercom/directional/north, /obj/machinery/button/door/directional/north{ id = "barber_door_lock"; normaldoorcontrol = 1; - pixel_y = 40; specialfunctions = 4 }, /obj/machinery/camera/directional/north{ @@ -93228,11 +92536,6 @@ /obj/machinery/computer/security/wooden_tv, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"xny" = ( -/obj/structure/sign/poster/official/do_not_question/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "xnF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -93332,6 +92635,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark/corner{ dir = 1 }, @@ -93427,6 +92731,24 @@ }, /turf/open/floor/iron, /area/station/engineering/hallway) +"xqU" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/item/storage/box/monkeycubes{ + pixel_y = 10; + pixel_x = 1 + }, +/obj/item/storage/box/monkeycubes{ + pixel_y = 3; + pixel_x = -13 + }, +/turf/open/floor/iron, +/area/station/science/xenobiology) "xqW" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/secure_closet/engineering_electrical, @@ -93434,6 +92756,7 @@ dir = 8 }, /obj/item/clothing/gloves/color/yellow, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "xrd" = ( @@ -93480,7 +92803,6 @@ /turf/open/floor/iron/dark, /area/station/command/bridge) "xrS" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 }, @@ -93647,10 +92969,10 @@ name = "evidence closet" }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/evidence) "xtf" = ( -/obj/machinery/airalarm/directional/east, /obj/machinery/light/cold/directional/east, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -93662,9 +92984,6 @@ "xtg" = ( /obj/structure/cable, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Bridge Access" - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "bridge-right" }, @@ -93676,6 +92995,11 @@ }, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/command/glass{ + name = "Bridge Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "xtj" = ( @@ -93704,6 +93028,19 @@ "xtp" = ( /turf/closed/wall, /area/station/service/kitchen) +"xtr" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 6; + id = "xenosecure"; + name = "Containment Control"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron, +/area/station/science/xenobiology) "xtB" = ( /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /obj/machinery/door/airlock/maintenance_hatch{ @@ -93744,6 +93081,26 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/lobby) +"xuC" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/cigarette/cigar/havana{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/cigarette/cigar{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/machinery/keycard_auth{ + pixel_y = 11 + }, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/hos) "xuI" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -93771,6 +93128,7 @@ name = "engineering camera" }, /obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) "xvo" = ( @@ -93858,17 +93216,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal) -"xwC" = ( -/obj/machinery/computer/mecha{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/rd/directional/east, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "xwK" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -94065,16 +93412,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"xyu" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/medical/morgue) "xyK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/item/kirbyplants/random, /obj/structure/cable, -/obj/structure/sign/poster/random/directional/east, /obj/machinery/camera/directional/north{ c_tag = "Dormitories - Fore Hall"; name = "dormitories camera" @@ -94182,18 +93524,23 @@ /area/station/service/theater) "xzH" = ( /obj/structure/table/reinforced, -/obj/item/paper_bin, /obj/item/pen, -/obj/structure/sign/poster/official/enlist/directional/south, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 }, +/obj/item/clipboard{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/item/paper_bin, +/obj/item/toy/figure/secofficer{ + pixel_y = 7 + }, /turf/open/floor/iron, /area/station/security/holding_cell) "xzI" = ( /obj/machinery/camera/directional/north{ c_tag = "Library - Private Study"; - dir = 9; name = "library camera" }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -94282,10 +93629,10 @@ /area/station/security/detectives_office/private_investigators_office) "xAr" = ( /obj/structure/mannequin/skeleton, -/obj/machinery/status_display/ai/directional/north, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 }, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) "xAt" = ( @@ -94307,10 +93654,9 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, -/obj/structure/sign/poster/official/random/directional/east, -/obj/machinery/newscaster/directional/north, /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/calendar/directional/north, /turf/open/floor/iron/dark, /area/station/science/breakroom) "xAD" = ( @@ -94409,6 +93755,20 @@ /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"xCb" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/cold/directional/north, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/sign/warning/deathsposal/directional/north, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) "xCf" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -94419,21 +93779,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"xCC" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/blood/random{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/reagent_containers/blood/random, -/obj/effect/turf_decal/bot, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -6; - pixel_y = 8 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/abandoned) "xCF" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -94483,6 +93828,7 @@ /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/caution/stand_clear, /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron/half, /area/station/engineering/atmos) "xDq" = ( @@ -94502,10 +93848,10 @@ /area/station/service/abandoned_gambling_den) "xDz" = ( /obj/structure/chair/office/light, -/obj/structure/sign/warning/secure_area/directional/west, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 }, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) "xDU" = ( @@ -94525,7 +93871,9 @@ }, /obj/machinery/door/poddoor{ id = "cargounload"; - name = "Supply Dock Unloading Door" + name = "Supply Dock Unloading Door"; + dir = 4; + manual_align = 1 }, /turf/open/floor/plating, /area/station/cargo/storage) @@ -94536,6 +93884,9 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "xDY" = ( @@ -94580,9 +93931,6 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "xEF" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ - pixel_x = 24 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/camera/directional/east{ c_tag = "Chapel - Funeral Room"; @@ -94615,7 +93963,10 @@ dir = 8; id = "cargounload" }, -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 8; + manual_align = 1 + }, /turf/open/floor/plating, /area/station/cargo/storage) "xES" = ( @@ -95172,9 +94523,9 @@ /obj/structure/disposaloutlet{ dir = 1 }, -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/half/directional/east, +/obj/structure/window/half/directional/west, /turf/open/floor/iron, /area/station/cargo/sorting) "xLE" = ( @@ -95238,10 +94589,13 @@ /area/station/hallway/secondary/service) "xMi" = ( /obj/structure/cable, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Incinerator Control"; + name = "atmospherics camera" + }, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 5 + dir = 4 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "xMo" = ( @@ -95343,6 +94697,7 @@ /obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/science/research) "xNR" = ( @@ -95373,10 +94728,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"xOt" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/hop) "xOu" = ( /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, @@ -95506,10 +94857,10 @@ dir = 4 }, /obj/machinery/light/directional/north, -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron, /area/station/engineering/lobby) "xQM" = ( @@ -95520,13 +94871,13 @@ /turf/open/floor/iron/large, /area/station/medical/storage) "xQZ" = ( -/obj/machinery/airalarm/directional/north, /obj/effect/landmark/start/hangover/closet, /obj/effect/spawner/random/structure/closet_private, /obj/item/clothing/head/costume/kitty, /obj/item/clothing/under/costume/maid, /obj/item/clothing/head/costume/rabbitears, /obj/item/clothing/under/dress/eveninggown, +/obj/structure/sign/painting/library, /turf/open/floor/wood, /area/station/commons/dorms) "xRa" = ( @@ -95536,6 +94887,18 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"xRk" = ( +/obj/machinery/computer/robotics{ + dir = 8 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "xRo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -95578,7 +94941,7 @@ /obj/structure/bed, /obj/item/bedsheet/clown, /obj/machinery/newscaster/directional/east, -/obj/structure/sign/poster/random/directional/north, +/obj/structure/mirror/directional/north, /turf/open/floor/wood, /area/station/hallway/secondary/service) "xSx" = ( @@ -95645,13 +95008,6 @@ dir = 1 }, /area/station/maintenance/department/electrical) -"xTk" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/structure/sign/poster/official/do_not_question/directional/south, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/lockers) "xTm" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/tile/blue{ @@ -95867,7 +95223,6 @@ /area/station/science/research) "xWi" = ( /obj/effect/turf_decal/siding/green, -/obj/structure/sign/warning/biohazard/directional/north, /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/flora/bush/ferny, /obj/structure/flora/bush/lavendergrass, @@ -95955,15 +95310,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/carpet, /area/station/security/detectives_office) -"xXd" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/sign/poster/random/directional/south, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "xXj" = ( /obj/structure/table/wood, /obj/item/clipboard, @@ -96010,14 +95356,6 @@ /obj/machinery/light/warm/directional/west, /turf/open/floor/wood, /area/station/service/lawoffice) -"xYf" = ( -/obj/structure/table/wood, -/obj/machinery/light/directional/south, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/machinery/computer/security/telescreen/vault/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "xYl" = ( /obj/structure/lattice, /obj/item/toy/figure/ninja, @@ -96043,6 +95381,7 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, +/obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "xYI" = ( @@ -96156,6 +95495,7 @@ "yah" = ( /obj/machinery/computer/bank_machine, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) "yaj" = ( @@ -96213,10 +95553,6 @@ dir = 1 }, /area/station/commons/fitness/recreation) -"yaG" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/medical/virology) "yaI" = ( /turf/closed/wall, /area/station/commons/dorms) @@ -96234,7 +95570,6 @@ name = "Prison Blast Door" }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/pods/directional/west, /obj/structure/cable, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -96278,6 +95613,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage) +"ybL" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/preopen{ + id = "sci_experimentor"; + name = "Experimentor Blast Door" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/explab) "ybN" = ( /obj/machinery/vending/assist, /obj/machinery/camera/directional/west{ @@ -96327,6 +95679,7 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, +/obj/item/folder/white, /turf/open/floor/iron, /area/station/science/xenobiology) "ycz" = ( @@ -96426,6 +95779,10 @@ "ydW" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/eva/abandoned) +"yeh" = ( +/obj/structure/sign/plaques/kiddie/library, +/turf/open/floor/wood/tile, +/area/station/service/library/artgallery) "yei" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -96448,6 +95805,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/iron/dark, /area/station/service/library) "yeF" = ( @@ -96536,6 +95894,8 @@ /area/station/engineering/atmos) "yfY" = ( /obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) "yga" = ( @@ -96560,7 +95920,6 @@ /area/station/commons/storage/primary) "ygC" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Aft Tanks"; name = "atmospherics camera" @@ -96638,18 +95997,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"ygY" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: BLAST DOORS"; - pixel_x = -32 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "yhh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -96673,7 +96020,6 @@ pixel_x = -1; pixel_y = 5 }, -/obj/structure/sign/poster/official/random/directional/west, /obj/structure/sign/calendar/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -96809,13 +96155,6 @@ }, /turf/open/floor/stone, /area/station/command/corporate_showroom) -"yjF" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "yjG" = ( /obj/structure/cable, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -96825,12 +96164,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/virology) -"yjJ" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/minisat/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "yjK" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot_white, @@ -96883,10 +96216,8 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/vault/directional/east{ - pixel_y = -32 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/departments/vault/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) "ykm" = ( @@ -96973,6 +96304,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) +"ylS" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/holding_cell) "ylT" = ( /obj/machinery/newscaster/directional/west, /obj/effect/decal/cleanable/dirt, @@ -102786,7 +102122,7 @@ bPC bPC bPC iGI -fvZ +bPC bPC bPC idU @@ -104068,7 +103404,7 @@ ueB uhL btH bPC -fmw +dAx bTs rPe vvL @@ -104325,7 +103661,7 @@ jPe kXJ cQh bPC -bRD +bPC bPC tnG bPC @@ -104587,7 +103923,7 @@ ikT uQY ikT qTF -bRD +bPC ruN aRr csk @@ -104828,7 +104164,7 @@ eXM sSb sSb sSb -lMy +fSt aBN yga lMy @@ -104839,7 +104175,7 @@ lMy abJ tHQ bPC -uNh +gOF bTu tfl bYe @@ -104853,7 +104189,7 @@ sdK qdV qGs cdt -idU +oBW kXC jtr odk @@ -105089,7 +104425,7 @@ wJU bCu yga btH -bIW +rxN btH btH lMy @@ -105100,7 +104436,7 @@ lgs bYe tfl bYe -kkh +jCy bPC hmU hmU @@ -105110,7 +104446,7 @@ hmU cfu ptq cdt -pYJ +sOK kXC xRE hfl @@ -105614,7 +104950,7 @@ bFY bYe tfl bYe -kKz +nHb bPC apT hmU @@ -105866,7 +105202,7 @@ deX deX hkC kXJ -bPH +bPC uNh bYe tfl @@ -105881,7 +105217,7 @@ hmU tEd cJh cdt -idU +oBW kXC uqd aaN @@ -106381,7 +105717,7 @@ xMX kXJ cQh bPC -bRD +bPC bPC dNg bPC @@ -106638,8 +105974,8 @@ lyf lMA btH bPC -uNh -upp +gOF +jQv hzJ rKC tIb @@ -107666,7 +107002,7 @@ chU iIm pzp bPC -uNh +gOF asa uQY asa @@ -109722,7 +109058,7 @@ qYo aad vVc aad -bRP +aJD eOb qdF gnO @@ -114380,7 +113716,7 @@ aaa uHd aaa qYo -nET +sHt qYo aaa qYo @@ -114388,7 +113724,7 @@ qYo aaa qYo aaa -nET +sHt qYo aaa uHd @@ -114635,7 +113971,7 @@ vVc aad aad aad -djY +sHt nCi nCi fqm @@ -114647,7 +113983,7 @@ fqm fqm nCi nCi -djY +vIz aaa qYo aaa @@ -114896,11 +114232,11 @@ nCi nCi fbp gZb -rjz +vPU vPU hzj vPU -rjz +vPU pvx jDc nCi @@ -115110,11 +114446,11 @@ efQ qYo wes gnH -sXE gnH +gnH +wFJ wFJ wFJ -uPM wFJ wFJ wFJ @@ -115375,7 +114711,7 @@ wGy vVc vVc vVc -sVm +qYo abj abj lbi @@ -115400,21 +114736,21 @@ frC kvX tGf vVc -rIP vVc vVc -xfE +vVc +vVc vVc vVc fqm djS nCi nCi -gCt -gCt -eqP -gCt -gCt +iyO +iyO +iKy +iyO +iyO nCi nCi cJd @@ -115643,7 +114979,7 @@ qYo qYo qYo vVc -rIP +vVc vVc vVc ksq @@ -115661,23 +114997,23 @@ nCi nCi hCt nCi -chp +hXQ chp fqm vPU nCi -gCt -gCt -gCt -iJw -gCt -gCt -gCt +iyO +iyO +iyO +bED +iyO +iyO +iyO nCi vPU fqm aaa -oSN +qYo aaa aaa uHd @@ -115879,7 +115215,7 @@ aaa aaa xNe aaa -joz +nUT wGy wGy wGy @@ -115894,22 +115230,22 @@ phy iyc kNA cmq -kcR -nUT +vmt +uwb aaa qYo aaa vVc gAw -uzZ +hrs qYo ksq vVc vVc -rIP vVc vVc -rIP +vVc +vVc vVc vVc ksq @@ -115921,21 +115257,21 @@ nCi lMc rXu nCi -eVp +mFq nCi -gCt -ozA -pJz -gCt -sfE -gCt -gCt +lLt +kiP +lBA +iyO +nzj +iyO +iyO nCi mFq nCi nCi nCi -aaa +eOH aaa qYo aaa @@ -116150,7 +115486,7 @@ dgk eqg uYy jCY -yjJ +kJF vmt nUT aaa @@ -116172,23 +115508,23 @@ cCY qmJ xKv nCi -bET +nCi hVB nCi iUF gbe nCi -vPU +iBs nCi -gCt -gCt -gCt -gCt -gCt -gCt -gCt +iyO +iyO +iyO +iyO +iyO +iyO +iyO nCi -vPU +iBs cfb imw nCi @@ -116411,7 +115747,7 @@ vmt vmt hSa fgB -dPN +fgB fgB fgB azR @@ -116439,9 +115775,9 @@ uWm nCi rIb rIb -xdn -gCt -uXU +jnB +iyO +rGI uhb uhb nCi @@ -116616,7 +115952,7 @@ edx pEP edx edx -qYo +kYi efQ efQ efQ @@ -116699,7 +116035,7 @@ imx imx xsH umb -kNG +imx lZF uhb nCi @@ -116952,7 +116288,7 @@ aFU nCi uhb xIa -iRd +xtr gxT kPD rxX @@ -117130,7 +116466,7 @@ edx luo edx edx -vVc +fsm pxN pxN pxN @@ -117169,7 +116505,7 @@ xUy xqR qzc kUx -kTV +nUp chv dQl oIE @@ -117202,16 +116538,16 @@ xQm nCi kmS fCk -cGI +wlI nCi cTO uOn uhb -mKn +spw fPl jqr vxQ -xcR +hIr vxQ lzc plQ @@ -117383,7 +116719,7 @@ pkp edx hfb edx -sJF +edx gSB pGt pEP @@ -117447,11 +116783,11 @@ gAw jPd ehD sHT -dHx +rVM fNc -ivH +bPI sHT -vrs +gIF vrs qJI iQV @@ -117635,8 +116971,8 @@ aaa aaa qYo kvq -aaa -wyN +qYo +pBL mJH pHl rQI @@ -117692,7 +117028,7 @@ rpK yks haI imV -pbv +aCy gAw wqU ntd @@ -117721,7 +117057,7 @@ nCi fsC nOv uhb -oHO +xCb aqF rqy jKx @@ -117737,7 +117073,7 @@ mAt cRJ mAt mAt -pBY +rGW mVi fUf hSE @@ -117893,11 +117229,11 @@ aaa qYo kvq qYo -edx +vVc edx wTc -edx -edx +wIO +kgL ltx aIp edx @@ -117957,7 +117293,7 @@ hWY heZ bpr bpr -anB +gAw ilG cwI sHT @@ -117969,7 +117305,7 @@ kMt chY vUV sst -rgw +nbZ nCi nCi nCi @@ -118149,15 +117485,15 @@ qYo qYo qYo hNg -rIP +vVc +vVc edx -vDw dtS -snK -snK +edx +edx xMi dvA -eiK +edx kXV pxN dlj @@ -118197,7 +117533,7 @@ xUy xqR vTc oMh -kTV +nUp oow qzT nAF @@ -118227,14 +117563,14 @@ jcL vUV ugr xil -tLC +gAw epC -qZb +pTC jaI kwX pTC nzt -nwV +sfN lYw ncJ rYE @@ -118244,7 +117580,7 @@ taA dco gZx ddW -nwV +sfN fOp mAt ifk @@ -118407,11 +117743,11 @@ aaa qYo kvq edx +mJH edx -cDK -vPZ -vPZ +wPW vPZ +jff kGI sog edx @@ -118471,7 +117807,7 @@ ntd bzY cMA vog -anB +gAw aVW lbl sHT @@ -118741,10 +118077,10 @@ sHT qqQ sLe nzs -tLC +gAw eYG -qZb -uKY +pTC +pcU gcr pTC kWi @@ -118943,7 +118279,7 @@ oOh gvk rMi kCN -iYI +jXN mmN udG jxJ @@ -118957,7 +118293,7 @@ unO jxJ avX tiC -jfL +hhM mtm guU nNz @@ -118972,11 +118308,11 @@ bAR bAR iBR iBR -dEL +awN iBR -dEL +awN iBR -dEL +awN iBR gAw nOZ @@ -119232,7 +118568,7 @@ viB pOz hEL gyR -cfx +nPn vyn eMN gAw @@ -119512,10 +118848,10 @@ qJI nCl gAw dtX -ugP pTC pTC -uKY +pTC +sjX iQF pTC dLh @@ -119741,12 +119077,12 @@ jLx dFw mPr bAR -wmo +cOn gsV auh tMl apu -swR +oOn aHE wCn gAw @@ -120001,8 +119337,8 @@ bAR aBw gsV vEZ +oip fzY -tEE tEw aHE iov @@ -120465,7 +119801,7 @@ ixO vlA vlA vlA -gAL +mtx iXp wSR wSR @@ -120510,7 +119846,7 @@ pQo uCa wkj bqP -nOJ +qIv bAR gHt bAV @@ -120543,7 +119879,7 @@ pjN pjN qdP pTC -rZw +kSC rrU pTC uFO @@ -120572,7 +119908,7 @@ pNA tmc fza lgW -dJY +jtC fYR aad aaa @@ -120721,8 +120057,8 @@ uZY aYK nBO mPV -aaf -sHl +vlA +uNq dEP mWP dYj @@ -120772,25 +120108,25 @@ bAR ggB jko dEL -ttE +iBR rex ovS rex -ttE +iBR gAw mwW -anB +gAw cCY cCY cCY gAw gAw gAw -tLC +gAw cCY rAd cCY -tLC +gAw gAw gAw gAw @@ -121058,10 +120394,10 @@ nRy xsb pTC rZw -oUy +iQF pTC fwt -uyy +sfN duq gED bJt @@ -121071,7 +120407,7 @@ taA buY kYq xsN -uyy +sfN uLh mAt iIn @@ -121260,7 +120596,7 @@ cwY wIf cwY wIf -hUV +cwY wIf cwY cwY @@ -121493,7 +120829,7 @@ vlA vlA vlA vlA -epV +riV vkL dYj dYj @@ -121533,13 +120869,13 @@ wiZ fXF xkz hwe -tFu +rcm vpV uCa gQk nEJ oGb -vPe +oGb oGb nvO blj @@ -121575,7 +120911,7 @@ rZw iQF eRr pTC -nnh +afu fpt uOF sPk @@ -121752,7 +121088,7 @@ gqe wcG bpg nDM -pnm +teQ dYj vZX umm @@ -121800,12 +121136,12 @@ aaa oGb lGF mxj -ttE +iBR xzQ hIf mPh -ttE -kTn +iBR +sPS sBy vvH vaw @@ -121814,11 +121150,11 @@ jkK fbn gTr rRD -pgA +rRD aYU pzA aYU -pgA +rRD rRD dOr mKv @@ -122056,7 +121392,7 @@ oGb qYo oGb lGF -sva +kTS iBR iBR wxd @@ -122090,11 +121426,11 @@ qcM bYq pTC fIX -qLu +nhw rOV dan pGk -iZU +gIq gIq yeZ oSK @@ -122261,9 +121597,9 @@ dYj hWz pFu cxc -nBW +pGF iaS -uAK +plG cij bzf wUZ @@ -122284,10 +121620,10 @@ sID pUW qSm wIf -mdG +ndt lvJ jYA -jtD +gXN eVG wqF npE @@ -122315,7 +121651,7 @@ oGb lGF qOL iNJ -elK +tqo nOx xbD kgP @@ -122824,7 +122160,7 @@ aiS lEi mez oGb -vPe +oGb oGb uDb jmj @@ -122860,11 +122196,11 @@ aWk mqP pTC esb -qNn +xif lZG gmI ahY -mna +xqU jDd eJG loj @@ -122879,7 +122215,7 @@ wEI qNb naL nEc -iWz +aeo kGQ bGz nzb @@ -123076,7 +122412,7 @@ gvj rNf xLZ xLZ -rOa +xLZ xLZ iVV cZY @@ -123086,7 +122422,7 @@ eSk wif pEY vvp -lDV +tqo tUg gmP qeP @@ -123103,7 +122439,7 @@ grl iJU pJM pec -bHr +waE fii fii lBz @@ -123131,7 +122467,7 @@ qOr pra nuM gFP -ehJ +aBV wEI fxj dip @@ -123294,7 +122630,7 @@ grV uAK sHl jvT -lEr +dKe epV vSE rGb @@ -123332,7 +122668,7 @@ vnq ftU dCX wdZ -uxC +gyp bYK xLZ iXc @@ -123356,11 +122692,11 @@ vvH hcQ dsj rRD -pgA +rRD hOa aGo auD -pgA +rRD fii pUf bID @@ -123892,7 +123228,7 @@ tGJ wEI cxb iaG -sbl +lUF wEI eTP jUx @@ -124119,7 +123455,7 @@ uAI lWx fti wGA -aJu +hvX uxG pkZ xDi @@ -124325,7 +123661,7 @@ ewY xxp mDa wZv -txJ +vSE jQl kND qyj @@ -124391,11 +123727,11 @@ swD baw fii iqz -gUt +iNO hps hkJ tum -rmz +csa abO pTC sNd @@ -124583,9 +123919,9 @@ hwM hwM hwM hwM -djf +hwM bGC -djf +hwM hwM oXU vjF @@ -124593,14 +123929,14 @@ hNp iaJ vUt nmw -lHZ +pPS dge sPT vOI -etR +vOI xcU nmw -haF +eOH qYo dQS qYo @@ -124609,7 +123945,7 @@ aaa qYo cut qYo -haF +sHt aaa xLZ nNK @@ -124625,8 +123961,8 @@ rov bjl lNk nSJ -bDX -qLJ +rov +wGA wGA wGA rAH @@ -124641,7 +123977,7 @@ pTC goD sjH pTC -xDV +tiL xgE spe wxf @@ -124845,7 +124181,7 @@ lCM qlr hwM pqw -wOw +fBL dYE sOi wzD @@ -124876,7 +124212,7 @@ cES rHd sef kol -wNP +eJq eJq pPy xsc @@ -125097,9 +124433,9 @@ oYs oYs azA nmw -qvn +nmw pfQ -qvn +nmw nmw nmw nmw @@ -125193,7 +124529,7 @@ gFM pMA lNg iLq -rjT +lNg gcP khq aHI @@ -125352,7 +124688,7 @@ oYs vzK vbP tEX -gbD +uMH hWF uMH cdg @@ -125461,7 +124797,7 @@ szJ xoR hfe sKR -qpI +dRF fYU kzc dqo @@ -125717,7 +125053,7 @@ fLf cfL xoR aJy -qnC +rVb dkF fYU kzc @@ -125737,9 +125073,9 @@ uHc qQM qQM kzc -jGs +kzc kyA -jtV +kzc kzc qQM qQM @@ -125913,7 +125249,7 @@ dGS dGS dGS dGS -vBX +dGS dsy nps nps @@ -125930,7 +125266,7 @@ rnr lRx gRl iQr -sWJ +fkI pTC qcM vcB @@ -125941,7 +125277,7 @@ uPI ibL vcB jto -mJn +qcM vcB vcB cdN @@ -125977,7 +125313,7 @@ mdm jYs rxK hGW -hEt +kzc pFd qQM pqg @@ -126164,7 +125500,7 @@ aJU keE tbf sdB -pUq +luX urC aZo jPJ @@ -126205,7 +125541,7 @@ kVT vcB xao tDE -dyx +aCA sIX xTB umC @@ -126249,7 +125585,7 @@ bAz vLq anz qQM -uYH +edc frM avb hPh @@ -126413,8 +125749,8 @@ dvn oYs vnD oYs -aad -kAD +kvt +aJU wVU aJU aJU @@ -126685,7 +126021,7 @@ oNb biS vYG dGS -iCO +oSZ uED nXK vcB @@ -126742,7 +126078,7 @@ vSX wEI qYo blX -hdI +pjs vQu dSo jCf @@ -126765,7 +126101,7 @@ fjx qQM jzp pJr -jtV +kzc fvY gBh qVv @@ -126910,7 +126246,7 @@ bmP xUq tti vVe -ckb +ofg cLt xJf vVe @@ -126919,7 +126255,7 @@ ofg iNH xJf iEI -svz +cLt ofg vVe itn @@ -126968,7 +126304,7 @@ wFE rrU wFE qcM -uDk +eHn pTC nzM cPa @@ -126991,7 +126327,7 @@ jqt qub uFt elq -oXg +nAB bWH jDd plP @@ -127020,7 +126356,7 @@ woc edw pLQ qQM -dnV +vEw ijm uRy txm @@ -127146,7 +126482,7 @@ kwg dEe oLz dEe -msx +kwg oYs llW oYs @@ -127199,7 +126535,7 @@ rCx biS eIo dGS -iCO +oSZ uED gdq vcB @@ -127254,7 +126590,7 @@ duo bLL aBV eHt -aNP +jUx nGq wEI mxY @@ -127422,7 +126758,7 @@ oYs oUm uVZ xeh -sNe +oUm oYs kcb eFs @@ -127441,8 +126777,8 @@ aMH oYs owb oYs -aad -kAD +kvt +aJU wVU aJU aJU @@ -127474,7 +126810,7 @@ pTC pTC unj fKQ -wLA +nze xGw iCI pTC @@ -127674,7 +127010,7 @@ kQR iPc tZN rID -xXd +nlc oYs vCn oYs @@ -127687,7 +127023,7 @@ spq nyp vmh rEJ -fGn +rFR xtp hBF jUU @@ -127708,7 +127044,7 @@ tlp nLY uyf klO -rRF +sVv iNR bCj tjp @@ -127753,8 +127089,8 @@ vgu tYP hBT ipr -xwC -eIh +feW +xRk urt mjW lPM @@ -127942,7 +127278,7 @@ xtp pwA dyb eTy -trC +txb lZa xtp xtp @@ -127978,7 +127314,7 @@ vcB vcB vcB pTC -jxj +rcM ydp uTm nfR @@ -128026,7 +127362,7 @@ jDd jDd nCg juG -rle +juG jDd jDd cHb @@ -128258,7 +127594,7 @@ pTC lLa fRK txc -pZM +ybL ffb dqP aFp @@ -128278,7 +127614,7 @@ hIB xop xop mcC -rHp +kLi rSR qgo qex @@ -128404,7 +127740,7 @@ sjt qld qld sjt -cbY +qld qld rAC qld @@ -128415,7 +127751,7 @@ fZV qld xyL qld -pkd +qld sjt qld qld @@ -128519,7 +127855,7 @@ igg rgb kyD qmd -bNU +kmi bNU hiq dxZ @@ -128562,7 +127898,7 @@ pUd wnc dMs qQM -uYH +gpG pJr uRy jeo @@ -128793,7 +128129,7 @@ pGi xop ehk agq -hbA +agq qgo rDn gTc @@ -128821,7 +128157,7 @@ qQM qQM uBt uXy -gDW +kzc lpY tsJ wbP @@ -129056,7 +128392,7 @@ qaA jXy oHM iLH -fff +dVG vss oSA kzc @@ -129236,7 +128572,7 @@ uRf oYs uoV vNI -dlm +oTY oYs dWf jcC @@ -129294,7 +128630,7 @@ oRh oHq wNV eyl -dNN +nKA uMV sEF sVi @@ -129314,7 +128650,7 @@ nJK yex iML tgI -iFt +ksk djT kzc kzc @@ -129432,7 +128768,7 @@ sjt qld qld sjt -pkd +qld qld thf qld @@ -129443,13 +128779,13 @@ hIQ qld thf qld -cbY +qld sjt qld qld sjt -kKm -oMr +sjt +tkg kJd uqk lWu @@ -129537,7 +128873,7 @@ khb dUm khb khb -wIa +kyu nlF dNS dNS @@ -129571,7 +128907,7 @@ vqx oHM iLH pKR -iqg +oIO uUG fgy oFC @@ -129828,7 +129164,7 @@ hGI esH owX asW -bFD +eIj nSb jHm ucu @@ -130085,7 +129421,7 @@ hNW hNW hNW hNW -dDB +ppK hNW nLP hNW @@ -130281,7 +129617,7 @@ uQt nia vBY eYN -msO +eFS iyq iCO uED @@ -130316,7 +129652,7 @@ srb pRG mCZ lmC -oEb +dNN ugs jky hBb @@ -130342,7 +129678,7 @@ lzo vbO uXN eqB -pDx +mvH eyH pwD eyH @@ -130548,7 +129884,7 @@ fcl xpI qAQ dvG -pMw +tYn pMw cpf sJo @@ -130558,7 +129894,7 @@ fHD tCD khb rNZ -bUN +cIu ryp khb gmZ @@ -130599,7 +129935,7 @@ oxo ojG oxo mZK -gQF +nMC vEX xLj ctU @@ -130855,12 +130191,12 @@ qPI ibH cBe ciH -lcP -lOw -wCh +bSB +dsh +uRO cFB oQq -jfC +iLV hqU kzc qBk @@ -131096,7 +130432,7 @@ fvi fvi jmA dCx -bSn +oxP fDF fDF fDF @@ -131133,7 +130469,7 @@ tgT hMI tgT tgT -aaa +eOH aaa gqm gqm @@ -131656,7 +130992,7 @@ kSX hGJ sKQ tgT -aaa +tjk aaa qYo aaa @@ -131838,14 +131174,14 @@ pRS pRS pRS pRS -uNU +pRS jaV tPc mlE mlE mlE mlE -lBR +mlE mlE mlE mlE @@ -131891,7 +131227,7 @@ tbd doe qya lEj -rIv +qya xIz swY qpq @@ -132021,7 +131357,7 @@ aaa qld rJf kJd -sMx +fNv sjt pmV tht @@ -132078,7 +131414,7 @@ bog xaF awc xOv -nHc +axY fxs lAg kPM @@ -132096,7 +131432,7 @@ gqq tMo rjd pRS -oHJ +uKN kxs mlE xWP @@ -132117,7 +131453,7 @@ bgL mfI fvi tpg -tzc +iON oZz bpM vzA @@ -132140,7 +131476,7 @@ kzc vmK wWL vfS -pQn +qya jvQ eKe eKe @@ -132345,7 +131681,7 @@ hWA iaL pRS iaL -xOt +pRS iaL pRS pRS @@ -132356,7 +131692,7 @@ pRS oHJ qdA mlE -dZW +sxe rKF gAr jOo @@ -132604,11 +131940,11 @@ jpe sCh cvE vcU -tns +oEu lZx lZx dQf -sGz +lZx pRS mcv qLS @@ -132668,7 +132004,7 @@ kzc aOD qQM qQM -uXF +sHt tgT xPc xPc @@ -132683,7 +132019,7 @@ xPc sTV xPc tgT -pOQ +qYo aaa eqU qYo @@ -132856,7 +132192,7 @@ mGw pRS ahm lNA -ozz +iDZ lNA ozz lNA @@ -132884,7 +132220,7 @@ rcW oJy oFr pXk -hXQ +teL lfz fvi nlK @@ -133030,7 +132366,7 @@ sjt qld qld sjt -cbY +qld qld xyL qld @@ -133041,12 +132377,12 @@ eUf qld rAC qld -pkd +qld sjt qld qld sjt -kKm +sjt uot xYB urY @@ -133076,7 +132412,7 @@ aWP qrP odI mSA -dtk +kpB uDD msR mDq @@ -133094,7 +132430,7 @@ xzC rjt iDP eem -xny +dOZ kOj aad aad @@ -133147,7 +132483,7 @@ fvi fvi fvi hMa -sXV +uVd gsG iuU tZi @@ -133362,7 +132698,7 @@ jeF bog kCV sQA -tNL +wZS jBt wSy eXf @@ -133594,7 +132930,7 @@ pri qkA nWI bQN -tSa +msR vnU bTy eex @@ -133663,7 +132999,7 @@ gem vBk wil sDd -fpu +wil wil erT iqj @@ -133677,7 +133013,7 @@ dQT akg hdH jgt -wDO +aYf loe iId nuI @@ -133696,7 +133032,7 @@ kzc ecm uYH qQM -uXF +sHt tgT riB tgT @@ -133711,7 +133047,7 @@ xPc xPc xPc tgT -hrs +qYo aaa qYo aaa @@ -133885,7 +133221,7 @@ pRS kNB lAv nAz -xYf +gzA lZx pgs lbt @@ -133934,7 +133270,7 @@ dQT deW pMF uZm -aBf +sel loe gaC lpx @@ -134058,7 +133394,7 @@ sjt qld qld sjt -pkd +qld qld pch qld @@ -134069,7 +133405,7 @@ oYE qld pch qld -cbY +qld sjt qld qld @@ -134134,7 +133470,7 @@ yil obc sQA qoo -vAl +mGw mGw qHx awc @@ -134156,7 +133492,7 @@ bMB drM mlE odw -ukO +bcv eAY fot mpb @@ -134334,7 +133670,7 @@ aaa sjt fQg kJd -ciz +pOC sjt pFF jAi @@ -134385,10 +133721,10 @@ aaa wyH wyH diL -ujL +wco drj bog -wuV +nkU sQA awc ijB @@ -134410,7 +133746,7 @@ aaa aaa vpK jHY -rEN +xaP mlE mlE szn @@ -134482,7 +133818,7 @@ xPc xPc xPc tgT -anZ +nPp qYo efQ aaa @@ -134909,8 +134245,8 @@ lqj sVj eWX yiC -qUM -jDi +xkw +uoF eDK dfb hup @@ -134918,7 +134254,7 @@ xCa ilI dRh dBl -qoD +hup xkw aaa aaa @@ -134994,7 +134330,7 @@ ovW gqm jFJ skg -qSa +hFZ gqm qYo qYo @@ -135101,7 +134437,7 @@ aaa aaa aaa aad -pkd +qld yiK oMr cDT @@ -135121,8 +134457,8 @@ kVP xSf mqV kVP -giz -giz +mLE +eko qSC lJJ maV @@ -135253,7 +134589,7 @@ tgT tgT tgT tgT -nPp +nEe aaa aaa aaa @@ -135419,7 +134755,7 @@ dTp hEI sxr eVl -xDU +pMH gnA jHb kgs @@ -135495,7 +134831,7 @@ lwZ fWX cug tqK -yaG +tgT gte qpr nov @@ -135634,7 +134970,7 @@ jYM qRw tPD pOD -tWU +fMc sSH kVP aUZ @@ -135765,7 +135101,7 @@ bhw bhw bhw bhw -qYo +hrs efQ aaa aaa @@ -136019,7 +135355,7 @@ kjk hNb pPw rSv -vWM +xBc elt cYh aaa @@ -136129,7 +135465,7 @@ aaa aaa aaa aad -cbY +qld fZV rbR kJd @@ -136142,7 +135478,7 @@ ogg uqK jJc jJc -ulQ +lEI iWA rkS qnI @@ -136188,7 +135524,7 @@ cQv sHn qBY wIe -goc +cMZ eVl dol uIY @@ -136214,7 +135550,7 @@ duA cCM oEC nqf -aHq +wML hTq qFK bPv @@ -136431,7 +135767,7 @@ qAV ttF qAV qAV -okb +qAV rKN pXg jkf @@ -136536,7 +135872,7 @@ tHV tHV tHV tHV -qYo +hrs qYo aaa aaa @@ -136959,14 +136295,14 @@ cQv drj oEf ccq -dXN +uFW eVl usZ wiw rmx rme xkw -jDi +uoF uEh fYw hup @@ -136974,7 +136310,7 @@ jQw hup jPC pFy -qoD +hup xkw aaa aaa @@ -136985,7 +136321,7 @@ duA fqN mzL sFu -uDj +sFu duA tAL nEk @@ -137142,7 +136478,7 @@ qld qld qld sjt -cbY +qld qld xyL qld @@ -137153,7 +136489,7 @@ woB qld xyL qld -pkd +qld sjt qld qld @@ -137299,7 +136635,7 @@ tHV tHV tHV tHV -xyu +tHV eKU imN exJ @@ -137469,10 +136805,10 @@ aaa wyH wyH diL -uiH +bTm drj bog -uLX +khh gOU gOU vDo @@ -137494,7 +136830,7 @@ aaa aaa vpK elM -bRl +uJm ksK ksK maS @@ -137732,7 +137068,7 @@ bog jlZ gOU swj -jeI +aby aby igb gOU @@ -138333,7 +137669,7 @@ fvo fvo nEa jSQ -aBn +nEa fvo nEa nEa @@ -138497,7 +137833,7 @@ aaa aad aaa diL -pGz +ldJ bsC bog nkU @@ -138508,7 +137844,7 @@ wkt aby dFo xnw -fyH +pXc ivA hTg pgE @@ -139014,7 +138350,7 @@ diL cmE drj bog -iMg +nkU gOU cBE kDL @@ -139023,7 +138359,7 @@ aby wRz aGZ teA -nSv +ivA lnm tLa nDn @@ -139031,7 +138367,7 @@ nrd ivA cVy kSu -iij +wpo dsT qBq fQw @@ -139196,13 +138532,13 @@ aad abi adR xrr -smO +xrr eTZ -coH +xrr xrr adR abi -lnk +mHn aff afG afY @@ -139216,7 +138552,7 @@ mtu jdL jQx siV -uRt +iql kdg ccy jdL @@ -139275,7 +138611,7 @@ uhH gOU xRO wvg -mXr +vAD icS gOU ivA @@ -139362,8 +138698,8 @@ thB ivz jTa eWi -hLt -qYo +nxb +pzg aaa aaa aaa @@ -139785,12 +139121,12 @@ diL uQD drj bog -ksJ +xaF gOU prt wqT epd -tTj +aby iKC ivA hmA @@ -139806,7 +139142,7 @@ vDJ pgv sXg vIQ -rBB +srQ jiC pVb ksK @@ -140062,7 +139398,7 @@ vIQ twE vIQ vIQ -aFE +vIQ jaV tPc ksK @@ -140258,7 +139594,7 @@ xGK jdL juz jdL -xfG +sAC hTl tjl kdE @@ -140315,7 +139651,7 @@ lSl mta jol lSl -ltY +lSl lSl lSl dbU @@ -140504,7 +139840,7 @@ sUA vno bxe uWe -xCC +gdy vno jYU llB @@ -141057,7 +140393,7 @@ qbd gHq lJw tYI -kUj +kfx hXg lDY tpZ @@ -141111,7 +140447,7 @@ cao cao hvm idj -uow +hvm nyC hvm cao @@ -141666,8 +141002,8 @@ oWo oWo oGK oGK -pHy -aaa +oGK +tjk qYo qYo aaa @@ -141834,7 +141170,7 @@ uoz tpZ aad lhY -vZE +rag ldU tcG vZE @@ -142043,7 +141379,7 @@ inq azE ffk qYN -ind +vno ksI qHQ mVI @@ -142079,7 +141415,7 @@ fKA krp krp aJE -vMq +rWo izK rWo hXg @@ -142344,13 +141680,13 @@ lDu taO eCQ tpZ -uoz +jAe tpZ aaa lhY uvJ qKc -iYp +fKT sJr wPT lhY @@ -142577,7 +141913,7 @@ nDk ofN aWN ivt -bLy +kuq ivt ktK egU @@ -142632,7 +141968,7 @@ aSi aSi aSi aSi -tpJ +iVq wmM iVq oKL @@ -142860,7 +142196,7 @@ bhJ tpZ tpZ tpZ -aad +vzw lhY yah vZE @@ -142868,7 +142204,7 @@ xrd vZE aSm lhY -aad +vzw mjz wus mJD @@ -142896,7 +142232,7 @@ vBa crR iee iYi -eKV +huy npm qVH iYi @@ -142914,8 +142250,8 @@ gnh nHY gnh aBz -dzn -pPl +teU +yeh pPl pPl vPf @@ -143079,8 +142415,8 @@ vno aad kic vcz -kic -kic +tuw +tuw xBu mvv fkS @@ -143091,8 +142427,8 @@ aad tDx xEO bti -hhK -bti +jrp +wzz sJi tDx aad @@ -143101,7 +142437,7 @@ aad aad aad aJE -raF +cxE aAU uQZ xhJ @@ -143337,7 +142673,7 @@ aad oeX sZt fQL -oGq +ucG xBu rum akS @@ -143615,7 +142951,7 @@ aaa aaa aad ljS -szZ +hoF bdF wob eZV @@ -143849,7 +143185,7 @@ aac aac aad kic -gdM +bEc qvW rEb jMk @@ -143884,7 +143220,7 @@ rYR hYO aFH gME -aaa +igZ aaa aaa aaa @@ -143920,7 +143256,7 @@ rrF qKk ltK iVq -lRk +dCg bPv iee iYi @@ -144199,7 +143535,7 @@ sRT nHY sRT gIZ -dzn +teU wtU pPl pPl @@ -144414,7 +143750,7 @@ aaa oIU eCA alG -trf +thv gZz csy oIU @@ -144750,8 +144086,8 @@ vNn vNn oGK oGK -pHy -aaa +oGK +tjk qYo aaa aaa @@ -144977,7 +144313,7 @@ ifp sNC qMf eOS -cAs +wjQ wZE wZE tFQ @@ -145197,7 +144533,7 @@ jvs pLR gXc pwx -lhp +fdb rYA icD nfC @@ -145248,7 +144584,7 @@ dKz dpO asS iVj -dmU +dRG tdC kZc mVY @@ -145687,13 +145023,13 @@ abj aad aad aad -faF +btm aGz btm aad btm aGz -faF +btm aad aad dCk @@ -145994,7 +145330,7 @@ cao cao hvm vmL -uow +hvm hCe hvm cao @@ -146209,7 +145545,7 @@ gjB wpQ plC pBg -iIz +xxF wsC mVO nHs @@ -146228,7 +145564,7 @@ xzH dth ddC ajq -sIY +vHY rYA oCP oCP @@ -146262,7 +145598,7 @@ nkL lvL qMf lrr -qTb +pOT wZE jCw nEM @@ -146286,8 +145622,8 @@ kgf cVh uuP brb -uDI -aaa +brb +tjk aaa aaa qYo @@ -146523,7 +145859,7 @@ feV wZE xvr rmI -fzK +afs vTn wZE dre @@ -146708,7 +146044,7 @@ jrA qIH vgQ hYa -mCe +vVs nup iSk jLe @@ -146727,7 +146063,7 @@ xxF kCa lim lim -uZM +lim lim lim lim @@ -146773,7 +146109,7 @@ gDV gDV gDV gDV -dyw +qMf qMf jaz eMU @@ -146965,7 +146301,7 @@ xzJ hXi vgQ csD -nJu +qUv nup mTT hgS @@ -146989,12 +146325,12 @@ hOz hOz hOz dzw -mEB +kBc hOz -ucz +gmz mTA mTA -tNZ +ylS nIb dth hmi @@ -147021,7 +146357,7 @@ xIu xIu xIu aSJ -gri +fSK nXH uhX qJR @@ -147458,7 +146794,7 @@ aaa aaa abj aaa -nET +sHt aad aaa aaa @@ -147478,7 +146814,7 @@ xPo krO pUP vgQ -pGv +mkG xfR vgQ eAW @@ -147534,7 +146870,7 @@ hLA vty kUC yaI -ouy +gHx gBQ nXH jcn @@ -147572,7 +146908,7 @@ gcB brb brb brb -aaa +tjk aaa aaa qYo @@ -147723,7 +147059,7 @@ vXr vXr qIH qIH -qIH +dCD nJY qIH qIH @@ -147791,7 +147127,7 @@ vBH mcG gua yaI -ouy +cLV fSK nXH smG @@ -147986,7 +147322,7 @@ wDX xNU hlr hzx -ygY +wDX sYM vyO yiA @@ -147995,7 +147331,7 @@ ybk jgS aub ivK -uZy +eXy fND ukX stA @@ -148048,7 +147384,7 @@ tFR yaI yaI yaI -hnd +ouy omY nXH pMS @@ -148230,19 +147566,19 @@ aaa uHd aaa vXr -cmy +mKI xIl obL -aLM +qSW xIl gjc -gRN +cDG xIl aSW -vxq +pmr xIl sTq -gRN +cDG ayM fXC iKL @@ -148299,7 +147635,7 @@ uCp oQn hMd ftk -yjF +ftk ftk xOC ftk @@ -148505,7 +147841,7 @@ mSe hpN krO hAo -pEH +dFG kWE sBg hsg @@ -148751,7 +148087,7 @@ iPK lYv lTv iPK -mQz +tTQ lTv iPK tTQ @@ -148835,7 +148171,7 @@ iBx nXH qAu kZE -oRA +ozG mzX xin dJP @@ -149016,7 +148352,7 @@ lTv lnX aAr mSe -iCo +mWi nYt lET oWt @@ -149048,7 +148384,7 @@ gIB cPF vEV efg -lra +pJu ozt eAV mDF @@ -149076,7 +148412,7 @@ gUJ bhg bsd yaI -ouy +cLV geH nXH myZ @@ -149325,15 +148661,15 @@ wgE xUB dtR yaI -goj +upk lpt sKM yaI -tYs +bwS bXJ -gEz +tsc yaI -ouy +nht geH nXH gWF @@ -149582,7 +148918,7 @@ xQZ xnF tnR yaI -upk +jAC cse tiP yaI @@ -149787,7 +149123,7 @@ tUB pcA ouc qWZ -iCo +cWD krO guZ lET @@ -149823,7 +149159,7 @@ ufR phL qpz adM -xTk +nIn dth dBH rYA @@ -149847,8 +149183,8 @@ xxN oLO qfH yaI -ouy -bfe +tXN +geH nXH qPE jBm @@ -149861,15 +149197,15 @@ qOK nXH nXH nXH -njz +nXH eLG nXH nXH bHA vNa -lkx +vNa dvu -oCG +vNa nXH cln udq @@ -150028,7 +149364,7 @@ idT idT idT idT -oWp +byT sON qkJ xdP @@ -150084,7 +149420,7 @@ uAL hEF aad aad -pHa +aad aad aad uKw @@ -150282,9 +149618,9 @@ aaa uHd aaa arw -gLT -wVy -eQx +iNe +uxF +vIo gZi gOo bfs @@ -150562,7 +149898,7 @@ sgh lTJ gJk qIH -etw +aad qYo hQq fNW @@ -150596,7 +149932,7 @@ osc adM hci hEF -aad +vfR aad aad aad @@ -150819,7 +150155,7 @@ kiB krO vRz qIH -aaa +tjk aaa hQq rYf @@ -150835,13 +150171,13 @@ tNy ukq vGX vgK -aWO +ajz dav aWO bLs iRi nIV -ale +oxA vyj snW auW @@ -150899,7 +150235,7 @@ pWe bbr pWe fHG -qYo +nEe aaa aaa qYo @@ -151055,7 +150391,7 @@ aaa arw jCv mze -vex +apm pSS diC vTP @@ -151072,7 +150408,7 @@ cSi cSF nOT vxs -iCo +cWD yiA afQ eoB @@ -151567,9 +150903,9 @@ qYo uHd aaa arw -wAt -tGW -czg +alp +wLe +gwG tYo iiy tUB @@ -151590,7 +150926,7 @@ iCo xwa qIH qIH -kvt +aad aad kOA kOA @@ -151606,7 +150942,7 @@ iDq dql iDq iDq -aad +vfR aaa aad bLs @@ -151827,7 +151163,7 @@ idT idT idT idT -hHi +iJD pGj fLv sMN @@ -151855,18 +151191,18 @@ cLX aNq oYp aNq -ida +nNV psx kOA aaa qYo aaa qYo -jUT +sHt qYo aaa qYo -pHa +aad bLs bLs bLs @@ -151875,7 +151211,7 @@ bLs bLs bLs bLs -ptN +rGA nEZ pgZ uHu @@ -152126,10 +151462,10 @@ efQ aaa aaa aaa -mfO -pYW +qYo +ctN aaa -mfO +qYo aaa aaa aaa @@ -152138,7 +151474,7 @@ rPb fvD knp nEZ -qYo +rGA aaa aaa aad @@ -152368,7 +151704,7 @@ gby jfR lPV qcj -bAS +xuC uTM nHJ bRF @@ -152571,7 +151907,7 @@ aaa aaa aaa aaa -oFv +iDV aaa aaa aaa @@ -152617,7 +151953,7 @@ eHO vip vhW qIH -aad +kvt aad aad bRF @@ -153136,14 +152472,14 @@ qIH aad kOA kOA -gIw +fPM huI fbW okz nGO kOA kOA -aad +vqS efQ aaa efQ @@ -153170,7 +152506,7 @@ qYo uHd qYo aad -dTS +sHt uKw mfC xFk @@ -153891,10 +153227,10 @@ aad aaa aaa bCC -pTT +hhn lyd rnf -fmY +oHS jxg iGx nkn @@ -154426,8 +153762,8 @@ nSR nSR nSR kOA -kOA -aaa +hNe +vIz efQ aaa efQ @@ -154677,13 +154013,13 @@ gJk aaa aad aaa -jUT +sHt aad aaa aad aaa aad -jUT +sHt aaa qYo aaa @@ -154931,7 +154267,7 @@ cBD hms qLF gJk -pOQ +nEe aad efQ efQ @@ -156001,7 +155337,7 @@ aaa efQ aad aaa -uOC +aad uKw mfC uKw @@ -156018,7 +155354,7 @@ fIQ uKw mfC uKw -pOQ +nEe efQ aaa aaa diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 748b501c75f9e..752edd1c3f312 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -1,4 +1,9 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aab" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "aap" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, @@ -14,10 +19,6 @@ /obj/item/taperecorder, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"aaD" = ( -/obj/structure/sign/warning, -/turf/closed/wall/r_wall, -/area/mine/storage) "aaI" = ( /obj/structure/closet/wardrobe/white, /obj/item/clothing/shoes/jackboots, @@ -36,11 +37,6 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron, /area/station/hallway/primary/port) -"aaX" = ( -/obj/structure/chair/sofa/bench/right, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "abb" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -50,13 +46,10 @@ "abe" = ( /turf/open/floor/engine, /area/station/science/xenobiology) -"abm" = ( -/obj/structure/table, -/obj/item/trash/can/food/beans, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) +"abh" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "abv" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -74,6 +67,22 @@ /obj/item/clothing/head/helmet/skull, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"abJ" = ( +/obj/machinery/camera{ + c_tag = "Service - Botany"; + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "abL" = ( /obj/machinery/light/directional/north, /obj/structure/sign/warning/secure_area/directional/north, @@ -90,6 +99,16 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"abT" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/explab) "abU" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment{ @@ -102,37 +121,40 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"abZ" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "ace" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"acg" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"acm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"acs" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "acE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"acG" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/obj/item/reagent_containers/cup/bucket, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"acN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) "ade" = ( /obj/structure/table/glass, -/obj/structure/extinguisher_cabinet/directional/north, /obj/item/reagent_containers/cup/bottle/epinephrine, /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = 6 }, /obj/item/reagent_containers/syringe, /obj/effect/turf_decal/tile/blue/full, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/large, /area/station/medical/treatment_center) "adm" = ( @@ -147,6 +169,10 @@ id = "mining_internal" }, /obj/machinery/bouldertech/refinery, +/obj/machinery/camera/directional/east{ + c_tag = "Mining Ore Smeltery"; + network = list("ss13", "mine") + }, /turf/open/floor/iron, /area/mine/production) "adq" = ( @@ -157,12 +183,26 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"adv" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "adD" = ( /obj/structure/railing/corner{ dir = 8 }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"adS" = ( +/obj/structure/statue/snow/snowman{ + name = "Steve" + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "adY" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -208,7 +248,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, -/obj/machinery/light/small/directional/north, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "aey" = ( @@ -223,15 +263,6 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/smooth, /area/mine/living_quarters) -"aeF" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "aeQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -242,10 +273,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"aeV" = ( -/obj/structure/sign/warning, -/turf/closed/wall, -/area/station/maintenance/port/fore) +"aeS" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "afp" = ( /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, @@ -263,30 +294,17 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/sign/warning/cold_temp/directional/north, /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/large, /area/mine/mechbay) -"aft" = ( -/obj/machinery/vending/boozeomat, -/turf/open/floor/iron, -/area/station/service/bar) -"afy" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "afz" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/greater) "afK" = ( /obj/structure/cable, -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, +/obj/structure/tall_stairs/small/directional/west, +/turf/open/floor/plating, /area/station/engineering/lobby) "afR" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, @@ -303,6 +321,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) +"agd" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/station/science/explab) "agk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -339,10 +367,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"agG" = ( -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/grimy, -/area/station/hallway/secondary/entry) "agI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -373,12 +397,6 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"ahh" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/service/bar) "ahm" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/firealarm/directional/south, @@ -418,6 +436,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/service/chapel) +"aiu" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aiA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -438,10 +460,21 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"aiT" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/fore) +"aiO" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/toy/figure/chef, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"aiQ" = ( +/obj/machinery/modular_computer/preset/id, +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "aiX" = ( /turf/open/floor/iron, /area/station/security/courtroom) @@ -454,6 +487,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"ajm" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/departments/medbay/alt/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ajr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -503,27 +544,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) -"akb" = ( -/obj/structure/closet/crate, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/mob/living/basic/mouse/white, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "akk" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ dir = 4 @@ -544,6 +564,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/command/teleporter) +"aku" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bookcase/random, +/turf/open/floor/iron/grimy, +/area/station/maintenance/aft/greater) "akx" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/railing{ @@ -685,17 +710,6 @@ dir = 8 }, /area/station/engineering/lobby) -"amq" = ( -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) -"amt" = ( -/obj/structure/cable, -/turf/open/floor/iron/chapel{ - dir = 4 - }, -/area/station/service/chapel) "amv" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -707,6 +721,11 @@ /obj/structure/curtain, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"amz" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "amE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -717,18 +736,18 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "amJ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/treatment_center) "amK" = ( /obj/item/cigbutt, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/gas_mask/directional/north, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "amN" = ( @@ -739,6 +758,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"amW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "anb" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -775,22 +801,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"any" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"anI" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" +"anD" = ( +/obj/machinery/door/airlock/research{ + name = "Cytology Lab" }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/iron/smooth_large, +/area/station/science/ordnance) "anK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -820,17 +841,27 @@ }, /turf/open/floor/plating, /area/station/engineering/lobby) +"aoc" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/item/radio/intercom/directional/west, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "aog" = ( /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/command/bridge) -"aoi" = ( -/obj/structure/closet/emcloset, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"aon" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "aoo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -842,15 +873,11 @@ /turf/open/floor/iron/white, /area/station/science/ordnance/office) "aop" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, /obj/effect/turf_decal/tile/purple/anticorner/contrasted{ dir = 8 }, +/obj/structure/sign/departments/science/directional/west, +/obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "aos" = ( @@ -859,9 +886,36 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) -"aoC" = ( -/turf/open/openspace, -/area/icemoon/underground/explored) +"aoM" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"aoO" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/spawner/random/trash/crushed_can{ + pixel_y = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) +"aoQ" = ( +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/station/science/research) "apb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -905,16 +959,16 @@ /turf/open/floor/iron, /area/station/commons/locker) "apt" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/structure/railing/corner{ - dir = 4 +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/trimline/green/filled/warning{ +/obj/structure/railing{ dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/railing/corner/end/flip{ dir = 1 }, /turf/open/floor/iron/white, @@ -925,12 +979,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"apC" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/calendar/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "apD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -945,14 +993,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"apL" = ( -/obj/machinery/modular_computer/preset/engineering, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/security/telescreen/engine/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "apS" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -986,6 +1026,11 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/mine/laborcamp) +"aqh" = ( +/obj/effect/turf_decal/weather/snow/corner, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "aqp" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 8 @@ -1001,15 +1046,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"aqq" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" +"aqr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plating, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, /area/station/service/hydroponics) "aqB" = ( /obj/structure/cable, @@ -1033,6 +1077,16 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"aqV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/service/bar/backroom) "arb" = ( /obj/structure/table, /obj/item/folder/red, @@ -1090,33 +1144,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"arW" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "arZ" = ( -/obj/effect/turf_decal/tile/blue, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "asa" = ( /obj/structure/table/wood, /obj/item/storage/crayons, /turf/open/floor/iron, /area/station/commons/dorms) -"asb" = ( -/obj/structure/sink/directional/west, -/obj/structure/cable, -/obj/machinery/button/door/directional/east{ - id = "xenobio10"; - name = "Xenobio Pen 10 Blast DOors"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "asg" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -1149,21 +1189,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"asG" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) "asM" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"asN" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/sink/kitchen/directional/west, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/service/bar) "asZ" = ( /obj/machinery/door/airlock/research{ name = "Robotics Lab" @@ -1193,7 +1233,7 @@ /area/station/medical/storage) "atc" = ( /obj/structure/fence{ - dir = 1 + dir = 8 }, /obj/effect/turf_decal/weather/snow/corner{ dir = 8 @@ -1231,6 +1271,25 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"atG" = ( +/obj/structure/railing/corner, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) +"atI" = ( +/obj/structure/table/glass, +/obj/item/shovel/spade, +/obj/item/cultivator{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "atN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1238,6 +1297,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"atQ" = ( +/obj/structure/sign/warning/secure_area{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "atW" = ( /obj/structure/flora/grass/green/style_random, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -1315,37 +1380,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"avd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) -"ave" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "avh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -1359,13 +1393,6 @@ dir = 1 }, /area/station/engineering/atmos) -"avo" = ( -/obj/structure/stairs/east, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "avP" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -1381,12 +1408,32 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/security/armory/upper) +"awe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "awn" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall, /area/station/maintenance/fore/lesser) +"awu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "awx" = ( /turf/open/floor/iron, /area/station/commons/locker) @@ -1411,11 +1458,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"awF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"awE" = ( +/obj/structure/closet/crate/freezer/food{ + name = "cooler" + }, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "awK" = ( /obj/structure/table, /obj/item/hemostat, @@ -1456,13 +1509,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) +"awX" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "axb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/sign/warning/gas_mask/directional/north{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/vault, /area/station/security/prison/rec) "axc" = ( @@ -1471,8 +1526,9 @@ id = "Biohazard"; name = "Biohazard Containment Door" }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/science/research) "axd" = ( /obj/structure/table, @@ -1506,11 +1562,12 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"axy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) +"axw" = ( +/obj/structure/chair/stool/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "axz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -1526,8 +1583,7 @@ "axC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, -/obj/structure/bookcase/random, -/turf/open/floor/plating, +/turf/open/floor/iron/grimy, /area/station/maintenance/aft/greater) "axD" = ( /obj/effect/turf_decal/stripes/corner{ @@ -1603,9 +1659,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ayJ" = ( -/obj/effect/spawner/random/lavaland_mob/raptor, -/turf/open/misc/asteroid/snow/icemoon, +"ayL" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "ayR" = ( /obj/machinery/airalarm/directional/east, @@ -1615,14 +1674,12 @@ /obj/item/stamp/head/cmo, /obj/item/clothing/neck/stethoscope, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Medical Office South"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"ayY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "azf" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -1637,12 +1694,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"azt" = ( -/obj/machinery/door/airlock{ - name = "Unit B" - }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "azw" = ( /turf/closed/wall, /area/station/medical/pharmacy) @@ -1661,19 +1712,12 @@ /obj/machinery/door/airlock/maintenance{ name = "Engineering Maintenance" }, -/obj/structure/sign/warning/radiation/rad_area/directional/west, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"azI" = ( -/obj/machinery/vending/autodrobe, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "azN" = ( /obj/structure/rack, /obj/item/tank/internals/emergency_oxygen{ @@ -1706,8 +1750,27 @@ name = "Robotics Desk"; req_access = list("robotics") }, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, /turf/open/floor/plating, /area/station/science/robotics/lab) +"aAe" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) +"aAg" = ( +/obj/structure/minecart_rail{ + dir = 10 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "aAi" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/table/wood/fancy/red, @@ -1724,10 +1787,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"aAk" = ( -/obj/structure/table/wood, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "aAl" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 1 @@ -1742,28 +1801,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) -"aAy" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/dice{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/effect/spawner/random/entertainment/money_small, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"aBb" = ( -/obj/structure/closet/emcloset, -/obj/item/pickaxe, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/service/hydroponics) "aBf" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/engine{ @@ -1784,12 +1821,18 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"aBj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"aBK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"aBP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters3"; + name = "Pharmacy Shutters" }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/plating, +/area/station/service/kitchen) "aBR" = ( /turf/open/genturf/blue, /area/icemoon/surface/outdoors/noruins) @@ -1837,7 +1880,15 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "aCo" = ( /obj/structure/chair/wood{ @@ -1857,6 +1908,15 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"aCJ" = ( +/obj/machinery/newscaster/directional/west, +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) +"aCO" = ( +/obj/structure/sign/departments/evac/starboard/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "aCU" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment{ @@ -1876,8 +1936,15 @@ /area/station/engineering/storage/tech) "aDe" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"aDl" = ( +/obj/structure/rack, +/obj/item/bouquet, +/obj/item/binoculars, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "aDo" = ( /obj/structure/chair/office{ dir = 4 @@ -1890,7 +1957,6 @@ /obj/machinery/light/directional/south, /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "aDJ" = ( @@ -1900,25 +1966,32 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark/side, /area/station/security/prison) +"aDM" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aDZ" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/obj/machinery/door/firedoor, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; - name = "Bridge Blast Door" + name = "Bridge Blast Door"; + dir = 4 }, /obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/command/bridge) -"aEx" = ( -/obj/structure/closet/lasertag/blue, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/obj/structure/sign/warning/secure_area/directional/north, +/obj/machinery/door/firedoor{ + dir = 8 }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) +"aEj" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) +"aEz" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "aEA" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -1938,20 +2011,14 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"aEK" = ( -/obj/machinery/atmospherics/components/binary/pump/off, -/obj/machinery/airlock_sensor/incinerator_ordmix{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "aEM" = ( /obj/structure/sign/departments/cargo, /turf/closed/wall/r_wall, /area/station/cargo/warehouse) +"aEP" = ( +/obj/structure/railing/corner, +/turf/open/floor/stone, +/area/station/commons/lounge) "aES" = ( /obj/structure/table/wood/fancy/blue, /obj/effect/spawner/random/aimodule/neutral, @@ -1969,6 +2036,12 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"aEX" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "aFg" = ( /obj/machinery/button/door/directional/east{ id = "lawyer_blast"; @@ -1979,6 +2052,16 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) +"aFh" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/status_display/ai/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/chem_master/condimaster, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "aFi" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/portable_atmospherics/scrubber, @@ -2004,9 +2087,6 @@ /obj/effect/turf_decal/delivery/red, /obj/item/clothing/gloves/color/grey/protects_cold, /obj/item/clothing/mask/gas, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /turf/open/floor/iron/textured, /area/station/ai_monitored/command/storage/eva) "aFz" = ( @@ -2038,26 +2118,10 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"aGf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"aGk" = ( -/obj/structure/rack, -/obj/item/wrench, -/obj/item/crowbar, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/engineering/flashlight, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) +"aGb" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "aGr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/directional/east{ @@ -2093,13 +2157,12 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp) -"aHh" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"aHn" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/iron/grimy, +/area/station/commons/vacant_room/office) "aHz" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -2138,10 +2201,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/service/chapel) -"aIg" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/main) +"aIn" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "aIr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2153,21 +2220,6 @@ dir = 9 }, /area/station/science/explab) -"aIA" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "aIB" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 4 @@ -2206,6 +2258,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"aJa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"aJj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/service/library) "aJm" = ( /obj/structure/cable, /obj/machinery/door/window/left/directional/east{ @@ -2240,7 +2306,6 @@ /area/station/maintenance/department/medical/morgue) "aJz" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor/border_only, /obj/machinery/light/directional/west, /turf/open/floor/iron/cafeteria{ dir = 8 @@ -2324,16 +2389,21 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"aLh" = ( -/obj/structure/fireplace, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"aLo" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +"aKW" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"aLe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "aLy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2377,7 +2447,7 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, -/obj/structure/sign/clock/directional/east, +/obj/structure/sign/clock/directional/north, /turf/open/floor/wood, /area/station/commons/vacant_room/office) "aLV" = ( @@ -2448,12 +2518,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aMI" = ( -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/white, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "aML" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -2464,21 +2528,20 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"aNc" = ( -/obj/structure/fence{ - dir = 4 +"aMU" = ( +/obj/structure/chair/office{ + dir = 8 }, -/obj/structure/sign/nanotrasen, +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/remains/human, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"aNc" = ( +/obj/structure/fence/post, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"aNj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "aNq" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/siding/dark_blue, @@ -2512,8 +2575,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal) +"aOb" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "aOd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2553,6 +2626,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/textured, /area/station/security/medical) +"aOW" = ( +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aOX" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) @@ -2604,11 +2682,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"aPP" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "aPV" = ( /obj/effect/spawner/random/trash/mess, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2634,16 +2707,6 @@ /obj/item/clothing/shoes/jackboots, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aQn" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/ordnance) "aQy" = ( /obj/effect/turf_decal/siding/wood, /obj/item/kirbyplants/random/fullysynthetic{ @@ -2652,6 +2715,10 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Mining Break Room"; + network = list("ss13", "mine") + }, /turf/open/floor/stone, /area/mine/eva/lower) "aQJ" = ( @@ -2687,8 +2754,8 @@ /turf/open/floor/engine/co2, /area/station/engineering/atmos) "aRl" = ( -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/smartfridge/extract/preloaded, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) "aRm" = ( @@ -2762,7 +2829,14 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/south, /obj/effect/mapping_helpers/dead_body_placer, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "aRR" = ( /obj/effect/turf_decal/stripes/line{ @@ -2805,17 +2879,6 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"aSw" = ( -/obj/structure/rack, -/obj/item/lighter, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/reagent_containers/pill/patch/aiuri, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "aSB" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box, @@ -2828,6 +2891,10 @@ /obj/structure/railing/corner, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"aSE" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/station/hallway/secondary/entry) "aSH" = ( /obj/machinery/flasher/portable, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -2840,6 +2907,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"aSM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "aSS" = ( /obj/effect/turf_decal/trimline/dark_red/end, /obj/machinery/meter, @@ -2861,22 +2941,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"aTk" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Apiary" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) "aTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2903,6 +2967,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) "aTH" = ( @@ -2966,11 +3031,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"aUq" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/generic/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"aUt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "aUA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -2982,10 +3059,6 @@ /obj/structure/fence/door, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"aUD" = ( -/obj/structure/sign/departments/maint/alt, -/turf/closed/wall, -/area/station/maintenance/department/medical/morgue) "aUK" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering Equipment Storage" @@ -2999,15 +3072,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) -"aUR" = ( -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) "aUS" = ( /obj/machinery/meter{ name = "Mixed Air Tank In" @@ -3048,7 +3112,8 @@ dir = 8 }, /obj/machinery/camera/directional/east{ - c_tag = "Mining B-1 Crater Observatory Access" + c_tag = "Mining B-1 Crater Observatory Access"; + network = list("ss13", "mine") }, /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/small/directional/east, @@ -3058,6 +3123,14 @@ /obj/structure/ore_box, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"aVr" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "aVw" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -3071,6 +3144,11 @@ dir = 4 }, /obj/machinery/light/directional/north, +/obj/machinery/button/door/directional/north{ + id = "Secure Gate"; + name = "Cell Shutters"; + req_access = list("brig") + }, /turf/open/floor/iron/textured, /area/station/security/brig) "aVH" = ( @@ -3083,13 +3161,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"aVJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/commons/lounge) "aVU" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/virology{ @@ -3098,13 +3169,6 @@ id_tag = "virology_airlock_exterior"; name = "Virology Exterior Airlock" }, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_exterior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = -24; - req_access = list("virology") - }, /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 @@ -3136,6 +3200,12 @@ /obj/structure/chair/office/light, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"aWj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "aWk" = ( /obj/machinery/door/poddoor/shutters{ dir = 1; @@ -3144,6 +3214,16 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) +"aWu" = ( +/obj/structure/barricade/wooden/snowed, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "aWD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3174,6 +3254,33 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp/security) +"aWZ" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/tall_stairs/start/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"aXa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"aXc" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"aXi" = ( +/obj/structure/tall_stairs/end/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "aXp" = ( /obj/structure/cable, /obj/machinery/button/door/directional/west{ @@ -3189,18 +3296,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aXu" = ( -/obj/structure/chair/sofa/right/brown, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"aXv" = ( -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"aXx" = ( +"aXq" = ( /obj/item/bedsheet/red, /mob/living/simple_animal/bot/secbot/beepsky, /turf/open/floor/plating, @@ -3211,6 +3307,25 @@ /obj/structure/sign/poster/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"aYi" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/ecto_sniffer{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) +"aYk" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/berry, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "aYm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3225,6 +3340,28 @@ }, /turf/open/floor/iron, /area/station/commons/storage/mining) +"aYu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"aYv" = ( +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"aYA" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "aYJ" = ( /turf/open/floor/iron/white, /area/station/science/research) @@ -3235,39 +3372,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/mine/production) -"aYO" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "aYQ" = ( /obj/machinery/shower/directional/south, /obj/item/soap/nanotrasen, /obj/item/bikehorn/rubberducky/plasticducky, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"aYS" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/emproof, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 10 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "aZd" = ( /turf/open/floor/plating, /area/station/medical/virology) @@ -3310,6 +3420,10 @@ /obj/structure/tank_holder/oxygen, /turf/open/floor/iron, /area/station/tcommsat/computer) +"aZC" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "aZD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3326,6 +3440,14 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"aZJ" = ( +/obj/item/toy/snowball{ + pixel_x = 11; + pixel_y = -7 + }, +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "aZK" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/table, @@ -3350,6 +3472,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"aZU" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "aZV" = ( /obj/effect/landmark/start/atmospheric_technician, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3388,13 +3517,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"bao" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "bar" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -3411,8 +3533,8 @@ /turf/open/floor/iron, /area/station/engineering/storage/tech) "baE" = ( -/obj/structure/sign/warning/secure_area/directional/east, /obj/effect/spawner/random/engineering/atmospherics_portable, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) "baF" = ( @@ -3426,6 +3548,19 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) +"baI" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"baN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/science/ordnance) "baQ" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ dir = 4 @@ -3494,11 +3629,9 @@ /turf/open/floor/iron/textured, /area/station/security/brig) "bcf" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "bcm" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Lower Brig Cells"; @@ -3511,14 +3644,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) -"bcu" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/seeds/watermelon, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) "bcx" = ( /obj/machinery/door/airlock/maintenance{ name = "Quartermaster Office Maintenance" @@ -3567,6 +3692,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/prison/rec) +"bdp" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "bdr" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/blue/filled/warning, @@ -3633,14 +3770,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/wood, /area/station/service/library) -"bdX" = ( -/obj/item/toy/snowball{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/toy/snowball, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "bea" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/icemoon, @@ -3658,14 +3787,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"beF" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "beO" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -3695,19 +3816,22 @@ /turf/open/floor/iron, /area/station/security/prison/mess) "bfl" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "bfo" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva/lower) -"bfy" = ( -/obj/effect/spawner/random/trash/bin, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bfL" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -3747,6 +3871,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"bgj" = ( +/obj/machinery/atmospherics/components/tank/air{ + initialize_directions = 3; + dir = 3 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "bgs" = ( /obj/structure/sign/poster/random/directional/east, /obj/structure/cable, @@ -3830,8 +3963,11 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "bhk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) @@ -3861,18 +3997,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"bid" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/bar, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Atrium" - }, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "bie" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -3881,17 +4005,12 @@ /area/mine/production) "bif" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/warning/radiation/rad_area/directional/east, /obj/machinery/camera/directional/east{ c_tag = "Atmospherics - HFR Decontamination Chamber" }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"bil" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "bin" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 @@ -3915,14 +4034,31 @@ /obj/item/clothing/head/beanie/orange, /turf/open/floor/iron, /area/station/cargo/storage) -"biI" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Test Chamber"; - network = list("ss13","test","rd","xeno") +"biB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/pen/red, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 }, -/obj/machinery/light/directional/west, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +/obj/item/folder/yellow, +/obj/machinery/button/door/directional/west{ + id = "qmprivacy"; + name = "Privacy Shutters Control"; + req_access = list("qm") + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) +"biE" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "biR" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -3986,6 +4122,12 @@ dir = 4 }, /area/station/security/prison) +"bjs" = ( +/obj/structure/sign/warning{ + pixel_y = 48 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "bjv" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -4054,12 +4196,13 @@ "bkF" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/science/explab) -"bkM" = ( -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"bkR" = ( +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "bkS" = ( /obj/machinery/bci_implanter, /turf/open/floor/iron/white/side{ @@ -4169,10 +4312,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) -"blX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "bml" = ( /obj/structure/table, /obj/item/storage/medkit/regular, @@ -4181,6 +4320,10 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) +"bmo" = ( +/obj/structure/tall_stairs/start/directional/west, +/turf/open/floor/carpet, +/area/station/service/chapel) "bmv" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -4195,16 +4338,20 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 9 }, +/obj/structure/fence{ + dir = 1 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "bna" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /obj/machinery/door/firedoor, /obj/structure/cable, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) "bnh" = ( /obj/machinery/door/window/left/directional/east{ @@ -4251,11 +4398,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"bnG" = ( -/obj/structure/sign/warning/fire/directional/west, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "bnL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance_hatch, @@ -4288,42 +4430,11 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/structure/sign/poster/contraband/the_griffin/directional/south, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) "bol" = ( /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"bon" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"bor" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/holosign/barrier/atmos/sturdy, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "bos" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 5 @@ -4354,23 +4465,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"bpa" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/obj/machinery/light/small/red/directional/north, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) -"bpc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +"boW" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "bpd" = ( /obj/machinery/power/smes/engineering, /obj/effect/turf_decal/delivery, @@ -4382,6 +4483,7 @@ "bpf" = ( /obj/machinery/computer/records/security, /obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/structure/fireaxecabinet/directional/north, /turf/open/floor/iron, /area/station/command/bridge) "bpm" = ( @@ -4405,19 +4507,7 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"bpv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "bpD" = ( -/obj/machinery/newscaster/directional/south, -/obj/structure/closet/firecloset, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -4429,7 +4519,7 @@ /turf/open/floor/plating, /area/station/maintenance/port/greater) "bpL" = ( -/obj/structure/noticeboard/directional/west, +/obj/structure/sign/painting/library_private/directional/west, /turf/open/floor/engine/cult, /area/station/service/library) "bpQ" = ( @@ -4462,6 +4552,7 @@ "bpZ" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/chem_dispenser, +/obj/structure/sign/warning/chem_diamond/directional/north, /turf/open/floor/glass/reinforced, /area/station/medical/treatment_center) "bqe" = ( @@ -4469,6 +4560,16 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"bqq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "bqr" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/north, @@ -4500,10 +4601,11 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"bqX" = ( -/obj/machinery/air_sensor/ordnance_burn_chamber, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) +"bqV" = ( +/obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/aft) "bqY" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -4518,6 +4620,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"brm" = ( +/obj/machinery/computer/holodeck{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "bro" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4544,15 +4655,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"brC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "brJ" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/event_spawn, @@ -4595,15 +4697,6 @@ }, /turf/open/floor/plating, /area/mine/eva/lower) -"bsc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) "bsd" = ( /obj/structure/chair/stool/directional/south, /obj/structure/sign/poster/official/obey/directional/north, @@ -4633,14 +4726,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) -"bsn" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "bst" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -4682,6 +4767,26 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark, /area/station/maintenance/port/greater) +"bsW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"bsX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "bta" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -4714,6 +4819,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction) +"btu" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/space_heater, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/medical/morgue) "btB" = ( /obj/structure/table, /obj/item/flashlight/lantern, @@ -4739,6 +4850,20 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"btK" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "btU" = ( /turf/closed/wall, /area/station/medical/morgue) @@ -4783,39 +4908,26 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"buW" = ( -/obj/structure/lattice, -/obj/structure/sign/warning/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) +"buR" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/potato{ + name = "\improper Beepsky's emergency battery" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "buY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"bvc" = ( -/obj/structure/minecart_rail{ - dir = 1 - }, -/obj/item/radio/intercom/directional/west{ - frequency = 1453; - name = "Kitchen Intercom" - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "bvd" = ( /obj/machinery/power/terminal, /obj/machinery/light/small/directional/east, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"bve" = ( -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/turf/open/openspace, -/area/station/medical/treatment_center) "bvg" = ( /obj/structure/railing{ dir = 4 @@ -4849,11 +4961,23 @@ /obj/machinery/autolathe, /turf/open/floor/iron, /area/station/cargo/office) -"bvu" = ( -/obj/machinery/light/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"bvw" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe{ + pixel_x = -5; + pixel_y = -8 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = -6; + pixel_x = 9 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "bvE" = ( /obj/machinery/computer/monitor{ name = "bridge power monitoring console" @@ -4894,14 +5018,6 @@ name = "Virology Interior Airlock" }, /obj/structure/cable, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_x = -24; - pixel_y = 5; - req_access = list("virology") - }, /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4911,12 +5027,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/virology) -"bwh" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/turf/closed/wall, -/area/station/service/hydroponics) "bwi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4990,6 +5100,10 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/fore) +"bxS" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/fore) "bxU" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -5010,7 +5124,6 @@ /area/station/maintenance/port/aft) "bxX" = ( /obj/structure/chair/stool/directional/north, -/obj/structure/sign/poster/official/report_crimes/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) @@ -5072,11 +5185,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"byy" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "byB" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/icemoon, @@ -5096,14 +5204,12 @@ /obj/effect/mapping_helpers/mail_sorting/science/robotics, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"byO" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 +"byL" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/iron/cafeteria{ + dir = 8 }, -/mob/living/carbon/human/species/monkey/punpun, -/obj/item/kirbyplants/organic/plant11, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/area/station/science/research) "byP" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -5121,6 +5227,12 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"bzo" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "bzA" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/siding/wood/corner{ @@ -5129,7 +5241,6 @@ /turf/open/floor/wood, /area/station/service/library) "bzB" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -5149,14 +5260,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"bzF" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/item/aquarium_kit, -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "bzI" = ( /obj/machinery/bluespace_vendor/directional/west, /obj/effect/turf_decal/tile/blue{ @@ -5167,7 +5270,8 @@ "bzJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/camera/directional/north{ - c_tag = "Mining Mech Bay" + c_tag = "Mining Mech Bay"; + network = list("ss13", "mine") }, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/stripes/corner, @@ -5185,15 +5289,6 @@ "bzW" = ( /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"bzX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "bAa" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -5262,25 +5357,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bBa" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"bBb" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "bBd" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -5289,24 +5365,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/lobby) -"bBn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/cable/multilayer/multiz, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bBw" = ( /obj/item/trash/sosjerky, /turf/open/floor/plating, @@ -5338,14 +5396,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) +"bBO" = ( +/obj/effect/spawner/random/decoration/flower, +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "bBW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"bCc" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/port/aft) "bCd" = ( /obj/machinery/door/airlock/maintenance{ name = "Genetics Lab Maintenance" @@ -5368,6 +5427,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) +"bCl" = ( +/obj/structure/table/wood, +/obj/item/toy/mecha/honk{ + pixel_y = 12 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "bCp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5377,9 +5444,7 @@ /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "bCq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, +/obj/structure/tall_stairs/start/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) "bCr" = ( @@ -5390,7 +5455,6 @@ /obj/item/folder/white, /obj/item/pen, /obj/machinery/door/firedoor, -/obj/structure/sign/warning/fire/directional/west, /obj/structure/table/reinforced, /turf/open/floor/plating, /area/station/medical/treatment_center) @@ -5413,9 +5477,9 @@ /turf/closed/wall/r_wall, /area/station/medical/virology) "bCL" = ( -/obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/glass, /obj/item/storage/box/monkeycubes, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) "bCQ" = ( @@ -5433,23 +5497,28 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "bCW" = ( -/obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; - name = "Bridge Blast Door" + name = "Bridge Blast Door"; + dir = 4 }, /obj/effect/turf_decal/delivery, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/command/bridge) "bDd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/security/prison/workout) "bDj" = ( @@ -5460,6 +5529,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"bDr" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/barsign/directional/north, +/turf/open/floor/iron, +/area/station/service/bar) "bDu" = ( /turf/closed/wall/r_wall, /area/station/security/lockers) @@ -5502,6 +5580,13 @@ /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/iron, /area/mine/laborcamp) +"bDN" = ( +/obj/structure/tall_stairs/end/directional/south, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/commons/lounge) "bDO" = ( /obj/structure/fluff/tram_rail, /obj/structure/fluff/tram_rail{ @@ -5551,10 +5636,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/structure/sign/warning/gas_mask/directional/west{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, /obj/machinery/door/airlock/external{ glass = 1; name = "Xenobiology External Airlock"; @@ -5568,9 +5649,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"bEk" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "bEo" = ( -/obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM" + }, /turf/open/floor/iron/white, /area/station/maintenance/aft/greater) "bEz" = ( @@ -5594,16 +5684,9 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"bEH" = ( -/obj/structure/stairs/north{ - dir = 4 - }, -/turf/open/floor/iron/stairs/old{ - dir = 4 - }, -/area/station/engineering/atmos/storage) "bEJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -5640,6 +5723,7 @@ /area/station/maintenance/starboard/aft) "bFr" = ( /obj/structure/tank_holder/extinguisher, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) "bFs" = ( @@ -5650,8 +5734,10 @@ /area/station/hallway/secondary/exit/departure_lounge) "bFS" = ( /obj/item/crowbar/red, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/maintenance, +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "bFY" = ( @@ -5670,7 +5756,6 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/item/trash/waffles, /turf/open/floor/plating, /area/station/maintenance/port/aft) "bGm" = ( @@ -5686,12 +5771,6 @@ /obj/structure/sign/departments/xenobio/directional/south, /turf/open/floor/plating, /area/station/science/xenobiology) -"bGD" = ( -/obj/structure/table/reinforced, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) "bGP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -5701,6 +5780,11 @@ dir = 1 }, /area/mine/eva) +"bGS" = ( +/obj/effect/spawner/random/structure/tank_holder, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bGT" = ( /obj/machinery/light/directional/south, /obj/structure/closet/firecloset, @@ -5738,6 +5822,10 @@ }, /turf/open/floor/plating, /area/station/hallway/primary/fore) +"bHJ" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "bHO" = ( /obj/machinery/light_switch/directional/south{ pixel_x = 6; @@ -5749,6 +5837,7 @@ "bHZ" = ( /obj/effect/spawner/random/trash/mess, /obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) "bIa" = ( @@ -5774,21 +5863,6 @@ dir = 4 }, /area/station/ai_monitored/command/storage/eva) -"bId" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "bIl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -5809,15 +5883,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) -"bIq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bIt" = ( /obj/structure/rack, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -5888,6 +5953,13 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/smooth, /area/mine/eva) +"bJd" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "bJi" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/landmark/generic_maintenance_landmark, @@ -5920,27 +5992,6 @@ /turf/open/floor/iron, /area/mine/laborcamp) "bJy" = ( -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = 8; - pixel_y = -32 - }, -/obj/machinery/button/door/directional/south{ - id = "hopqueue"; - name = "Queue Shutters Control"; - pixel_x = -8; - req_access = list("hop") - }, -/obj/machinery/button/door/directional/south{ - id = "hop"; - name = "Privacy Shutters Control"; - pixel_x = 8; - req_access = list("hop") - }, -/obj/machinery/button/ticket_machine{ - pixel_x = -8; - pixel_y = -32 - }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, @@ -5964,7 +6015,6 @@ dir = 4 }, /obj/structure/cable, -/obj/structure/sign/poster/random/directional/west, /turf/open/floor/iron, /area/station/science/robotics/mechbay) "bJQ" = ( @@ -5977,8 +6027,9 @@ /turf/open/floor/wood, /area/station/service/library) "bKm" = ( -/obj/machinery/vending/assist, -/obj/structure/sign/poster/random/directional/west, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -6026,6 +6077,17 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"bKO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/item/kirbyplants/organic/plant10, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "bKZ" = ( /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt, @@ -6033,19 +6095,6 @@ dir = 5 }, /area/station/maintenance/port/aft) -"bLa" = ( -/obj/structure/bed, -/obj/machinery/airalarm/directional/north, -/obj/effect/spawner/random/bedsheet, -/obj/machinery/button/door/directional/east{ - id = "Dorm1"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/item/pillow/random, -/turf/open/floor/carpet, -/area/station/commons/dorms) "bLc" = ( /turf/open/floor/iron/dark/textured_edge{ dir = 1 @@ -6056,12 +6105,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) -"bLf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "bLn" = ( /obj/machinery/light/directional/west, /obj/item/radio/intercom/directional/west, @@ -6139,8 +6182,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/structure/railing, /turf/open/floor/iron/dark, /area/station/service/chapel) +"bMk" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/station/commons/lounge) "bMz" = ( /obj/docking_port/stationary{ dir = 8; @@ -6179,13 +6227,15 @@ }, /obj/machinery/door/poddoor{ id = "QMLoaddoor"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /turf/open/floor/plating, /area/station/cargo/storage) "bNu" = ( -/obj/item/kirbyplants/random, /obj/machinery/light/directional/west, +/obj/structure/chair, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -6224,12 +6274,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"bOh" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "bOj" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -6243,15 +6287,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/construction) -"bOn" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Gambling Lounge" - }, -/obj/machinery/computer/slot_machine{ - name = "two-armed bandit" - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "bOo" = ( /obj/effect/turf_decal/arrows/white{ dir = 4 @@ -6261,15 +6296,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"bOy" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/spawner/random/vending/snackvend, -/obj/machinery/camera/directional/east{ - c_tag = "Engineering Lobby" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) "bOz" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 1 @@ -6285,12 +6311,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"bOT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "bOX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6301,24 +6321,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) +"bOY" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "bOZ" = ( -/obj/effect/spawner/random/structure/musician/piano/random_piano, -/obj/machinery/button/curtain{ - id = "cantena_curtains"; - pixel_x = -30 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "bPc" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"bPk" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) "bPn" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -6382,12 +6397,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) -"bPR" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "bPV" = ( /obj/item/kirbyplants/random/dead, /turf/open/floor/plating/snowed/icemoon, @@ -6404,14 +6413,6 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) -"bQd" = ( -/obj/structure/fireaxecabinet/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "bQh" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/corner{ @@ -6436,11 +6437,17 @@ /area/station/security/execution/education) "bQV" = ( /obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "bRb" = ( /obj/structure/flora/bush/lavendergrass/style_random, @@ -6476,19 +6483,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"bRx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "bRz" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -6521,18 +6515,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"bRO" = ( -/obj/item/reagent_containers/cup/soda_cans/beer{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"bSi" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bSk" = ( /obj/machinery/door/poddoor/preopen{ id = "Prison Gate"; @@ -6554,21 +6536,31 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/eighties/red, /area/station/security/prison/safe) +"bSp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "bSz" = ( /obj/structure/railing{ dir = 8 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"bSC" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center" +"bSD" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "bSG" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -6585,9 +6577,23 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"bSW" = ( +/obj/structure/bed, +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/button/door/directional/east{ + id = "Dorm1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/item/pillow/random, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bSX" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/chair/sofa/right/brown, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/carpet/blue, /area/station/security/prison/work) "bTl" = ( @@ -6618,13 +6624,31 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"bTJ" = ( +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/north, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "bTQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/light/directional/east, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"bTX" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "bUa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6633,13 +6657,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"bUp" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/security/prison/garden) "bUx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore) +"bUy" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/bar) "bUH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -6699,6 +6726,18 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"bVx" = ( +/obj/item/trash/popcorn, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) "bVI" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -6739,12 +6778,11 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/green{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"bVZ" = ( -/obj/structure/sign/poster/contraband/the_big_gas_giant_truth, -/turf/closed/wall, -/area/station/maintenance/department/medical/central) "bWe" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle, @@ -6758,6 +6796,12 @@ dir = 8 }, /area/station/security/prison) +"bWj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "bWl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6788,6 +6832,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"bWU" = ( +/obj/machinery/button/door/directional/west{ + id = "xenobio4"; + name = "Xenobio Pen 4 Blast Door"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "bWV" = ( /obj/structure/closet/crate, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -6800,13 +6852,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bXb" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/plastic, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bXf" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -6865,18 +6910,13 @@ dir = 1 }, /area/station/security/prison) -"bXL" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/white, -/area/station/science/research) "bXT" = ( -/obj/machinery/camera{ +/obj/structure/closet/l3closet, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/north{ c_tag = "Medbay Storage"; - dir = 9; network = list("ss13","medbay") }, -/obj/structure/closet/l3closet, -/obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, /area/station/medical/storage) "bYd" = ( @@ -6884,6 +6924,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/mine/mechbay) +"bYf" = ( +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/security/prison/safe) "bYg" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -6901,10 +6947,6 @@ dir = 8 }, /area/station/service/chapel) -"bYr" = ( -/obj/structure/fence, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "bYu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -6918,12 +6960,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) -"bYx" = ( -/obj/structure/fence/post{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "bYz" = ( /obj/machinery/conveyor{ dir = 8; @@ -6947,6 +6983,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) +"bYC" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Backroom" + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "bYF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7028,6 +7072,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) +"bZm" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Hall" + }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "bZx" = ( /turf/open/openspace, /area/station/hallway/primary/fore) @@ -7045,7 +7101,6 @@ /obj/effect/turf_decal/delivery/red, /obj/item/clothing/gloves/color/grey/protects_cold, /obj/item/clothing/mask/gas, -/obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/iron/textured, /area/station/ai_monitored/command/storage/eva) "bZK" = ( @@ -7056,34 +7111,35 @@ "bZQ" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/starboard) -"bZU" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/mapping_helpers/mail_sorting/service/dormitories, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "bZV" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cag" = ( -/obj/effect/turf_decal/siding/wood{ +"bZW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"caA" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/glass, +/obj/item/book/manual/hydroponics_pod_people, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/obj/machinery/light/small/directional/west, +/obj/item/plant_analyzer, +/obj/item/watertank{ + pixel_y = -3; + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "caC" = ( /obj/machinery/door/window/right/directional/west{ name = "Monkey Pen"; @@ -7100,8 +7156,7 @@ /turf/open/floor/iron/large, /area/station/hallway/primary/port) "caU" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/gas_mask/directional/north, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "caX" = ( @@ -7109,6 +7164,7 @@ dir = 9 }, /obj/structure/marker_beacon/burgundy, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "caY" = ( @@ -7131,7 +7187,9 @@ /turf/open/floor/iron, /area/mine/mechbay) "cbq" = ( -/obj/structure/plasticflaps/opaque, +/obj/structure/plasticflaps/opaque{ + dir = 4 + }, /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; location = "Research Division" @@ -7148,13 +7206,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"cbu" = ( -/obj/machinery/vatgrower{ - dir = 4 +"cby" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) "cbz" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/textured, @@ -7169,17 +7231,15 @@ /obj/effect/turf_decal/siding/purple/corner{ dir = 4 }, -/turf/open/floor/iron, -/area/station/science/lab) -"cbP" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio9"; - name = "Xenobio Pen 9 Blast DOors"; - req_access = list("xenobiology") +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 }, -/obj/machinery/light/floor, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/lab) "ccg" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -7212,6 +7272,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ccv" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 3 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 3 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/textured, +/area/mine/mechbay) "ccw" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -7246,6 +7318,18 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) +"ccF" = ( +/obj/structure/cable, +/mob/living/basic/bear/snow/misha, +/obj/structure/bed/dogbed/misha, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/hos) +"ccL" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ccQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -7284,10 +7368,10 @@ /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) "ccX" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/spawner/random/medical/patient_stretcher, /obj/effect/decal/cleanable/blood/gibs/torso, /obj/effect/mapping_helpers/burnt_floor, +/obj/structure/window/reinforced/tinted/spawner/directional/north, /turf/open/floor/plating, /area/station/security/prison/safe) "ccZ" = ( @@ -7320,28 +7404,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cdO" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"cdX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "cef" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -7353,10 +7415,6 @@ /obj/structure/grille, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"cem" = ( -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "ceo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7397,6 +7455,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"ceQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/minecart_rail/railbreak, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "ceS" = ( /obj/machinery/mech_bay_recharge_port{ dir = 1 @@ -7405,21 +7471,6 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"ceU" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ceY" = ( /obj/machinery/door/poddoor/preopen{ id = "Disposal Exit"; @@ -7481,6 +7532,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"cft" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cfC" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ @@ -7488,6 +7554,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"cfR" = ( +/obj/machinery/dna_scannernew, +/obj/structure/sign/warning/test_chamber/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/genetics) "cfS" = ( /obj/item/clothing/suit/costume/snowman{ name = "Man of Snow" @@ -7509,9 +7580,7 @@ dir = 8; name = "Scrubbers multi deck pipe adapter" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/engineering/lobby) "cga" = ( @@ -7526,19 +7595,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"cgd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"cge" = ( -/obj/machinery/light/dim/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "cgs" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, @@ -7556,6 +7612,10 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"cgB" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "cgC" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -7569,6 +7629,10 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"cgX" = ( +/obj/structure/fence/post, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cgZ" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical, @@ -7581,6 +7645,17 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"chb" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"chc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "chg" = ( /obj/structure/fence/door, /turf/open/misc/asteroid/snow/icemoon, @@ -7644,13 +7719,14 @@ "chW" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/machinery/chem_master, -/obj/structure/sign/warning/no_smoking/circle{ - pixel_x = -27; - pixel_y = -26 - }, /obj/machinery/light/small/directional/west, /turf/open/floor/glass/reinforced, /area/station/medical/treatment_center) +"cie" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cih" = ( /obj/machinery/button/door/directional/west{ id = "chemistry_lower_shutters"; @@ -7671,6 +7747,29 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"civ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar"; + dir = 4 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "ciG" = ( /obj/machinery/door/airlock/external{ name = "Security Yard"; @@ -7687,7 +7786,6 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) "ciI" = ( @@ -7713,21 +7811,13 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"cjh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cjz" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/rack, /obj/item/stack/ducts/fifty, /obj/item/storage/box/swab, /obj/effect/spawner/random/contraband/permabrig_gear, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/grimy, /area/station/security/prison/work) "cjI" = ( @@ -7763,11 +7853,20 @@ /turf/open/floor/iron, /area/station/maintenance/starboard/fore) "ckc" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/machinery/camera/directional/south{ c_tag = "Central Hallway South-West" }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "cke" = ( /obj/structure/cable, @@ -7778,11 +7877,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"cki" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "cks" = ( /obj/item/wrench, /obj/effect/turf_decal/delivery, @@ -7803,6 +7897,12 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"clj" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "cll" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7818,9 +7918,9 @@ /turf/open/floor/plating, /area/station/construction) "clo" = ( -/obj/machinery/firealarm/directional/north, /obj/machinery/light/small/directional/north, /obj/item/kirbyplants/random, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/science/breakroom) "clq" = ( @@ -7842,24 +7942,25 @@ dir = 4 }, /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/misc/asteroid/snow/icemoon, -/area/station/engineering/main) +/area/icemoon/surface/outdoors/nospawn) "clI" = ( /obj/structure/sign/warning/biohazard/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "clK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/large, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/medbay/lobby) "clP" = ( /obj/structure/cable, @@ -7906,14 +8007,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"cmg" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron, -/area/station/service/hydroponics) "cmq" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -7931,6 +8024,7 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, +/obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "cmw" = ( @@ -7971,17 +8065,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"cmK" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/west, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 3 - }, -/obj/item/storage/photo_album/bar, -/obj/item/toy/figure/bartender, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "cmL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8031,10 +8114,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cnh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "cnj" = ( /obj/structure/fence/door{ name = "graveyard" @@ -8075,15 +8154,23 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"cnS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, +"cod" = ( +/obj/structure/sign/poster/official/here_for_your_safety/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"coS" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/stool/directional/east, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "coT" = ( /obj/structure/table, /obj/item/storage/wallet, @@ -8132,6 +8219,11 @@ /obj/machinery/light/small/directional/east, /turf/open/openspace, /area/station/service/chapel) +"cps" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/wallet/random, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "cpt" = ( /obj/structure/fence/corner{ dir = 9 @@ -8168,10 +8260,13 @@ }, /turf/open/floor/plating, /area/station/engineering/engine_smes) -"cpO" = ( -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"cpK" = ( +/obj/machinery/light/cold/directional/east, +/obj/machinery/status_display/ai/directional/east, +/obj/structure/railing, +/obj/structure/lattice/catwalk, +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "cpT" = ( /obj/item/kirbyplants/random, /obj/machinery/status_display/evac/directional/south, @@ -8195,13 +8290,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cql" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cqo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8212,24 +8300,18 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"cqs" = ( -/obj/item/toy/snowball{ - pixel_y = -7; - pixel_x = 5 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "cqv" = ( /obj/effect/landmark/blobstart, -/obj/machinery/camera{ - c_tag = "Virology Pen"; - dir = 9; - network = list("ss13","medbay") - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /obj/machinery/light/small/directional/north, /turf/open/floor/grass, /area/station/medical/virology) +"cqw" = ( +/obj/structure/table/wood, +/obj/item/c_tube, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cqx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8247,6 +8329,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"cqN" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cqO" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 10 @@ -8256,17 +8347,32 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"cqT" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "cqW" = ( /obj/vehicle/ridden/secway, /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) +"crd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/mine/eva) "crg" = ( /obj/machinery/door/morgue{ - name = "Confession Booth" + name = "Confession Booth"; + dir = 4 }, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, /area/station/service/chapel) "crn" = ( /obj/structure/disposalpipe/segment, @@ -8274,13 +8380,28 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/science/genetics) -"crO" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/corner/end/flip{ +"crs" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ dir = 1 }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"crv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "crS" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /turf/open/floor/wood, @@ -8314,13 +8435,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"css" = ( -/obj/structure/table/wood, -/obj/structure/reagent_dispensers/beerkeg, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "csB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -8334,20 +8448,6 @@ "csT" = ( /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"csV" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored/graveyard) -"csZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "ctk" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8362,6 +8462,13 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"ctm" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "ctr" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/stripes/line{ @@ -8371,6 +8478,20 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"ctt" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/turretid/directional/south{ + name = "AI Chamber turret control" + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) +"ctC" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ctE" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/south, @@ -8381,10 +8502,6 @@ }, /turf/open/floor/iron/dark/smooth_half, /area/station/security/office) -"ctF" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) "ctI" = ( /obj/machinery/telecomms/processor/preset_three, /turf/open/floor/iron/dark/telecomms, @@ -8400,13 +8517,44 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"ctS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "ctY" = ( /obj/structure/tank_holder/anesthetic, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "cua" = ( -/obj/machinery/button/photobooth{ - pixel_y = -26 +/obj/structure/table, +/obj/machinery/button/photobooth/table{ + pixel_x = -5 + }, +/obj/machinery/button/flasher/table{ + id = "hopflash"; + pixel_y = 8 + }, +/obj/machinery/button/ticket_machine/table{ + pixel_x = 6 + }, +/obj/machinery/button/door/table{ + pixel_y = 16; + pixel_x = -5; + name = "Privacy Shutters Control"; + id = "hop"; + req_access = list("hop") + }, +/obj/machinery/button/door/table{ + pixel_y = 16; + pixel_x = 6; + name = "Privacy Shutters Control"; + id = "hopqueue"; + req_access = list("hop") }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) @@ -8429,6 +8577,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"cup" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "cuq" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 @@ -8451,10 +8608,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"cuB" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "cuJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -8496,6 +8649,16 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"cvj" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/science/ordnance) "cvq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -8528,6 +8691,13 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"cvH" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "cvN" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -8546,9 +8716,7 @@ /turf/open/floor/iron, /area/station/maintenance/port/fore) "cwh" = ( -/obj/structure/plaque/static_plaque/golden/commission/icebox{ - pixel_y = 29 - }, +/obj/structure/plaque/static_plaque/golden/commission/icebox/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "cwj" = ( @@ -8599,6 +8767,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"cwT" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cxd" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark/side{ @@ -8640,17 +8813,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"cxD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "cxO" = ( /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) @@ -8675,12 +8837,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) -"cxT" = ( -/obj/structure/table/wood, -/obj/item/plate, -/obj/effect/spawner/random/trash/bacteria, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "cyh" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -8692,6 +8848,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"cys" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Atrium" + }, +/obj/effect/turf_decal/bot_white, +/obj/structure/sign/picture_frame/portrait/bar, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "cyA" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -8709,9 +8876,6 @@ dir = 8 }, /obj/item/kirbyplants/random, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white, /area/station/science/ordnance/office) @@ -8762,6 +8926,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/structure/sign/poster/official/safety_internals/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/fore) "cyX" = ( @@ -8770,30 +8935,22 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"cyZ" = ( -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/fore) "czi" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"czj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "czl" = ( /obj/effect/turf_decal/tile/brown/fourcorners, /obj/machinery/modular_computer/preset/cargochat/engineering, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"czo" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/sign/poster/official/help_others/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness) "czq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -8817,10 +8974,6 @@ /turf/open/floor/iron, /area/station/cargo/storage) "czz" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = -24; - pixel_y = -6 - }, /obj/machinery/button/door/directional/west{ id = "Disposal Exit"; name = "Disposal Vent Control"; @@ -8834,6 +8987,8 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, +/obj/machinery/computer/pod/old/mass_driver_controller/trash, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) "czD" = ( @@ -8842,6 +8997,10 @@ "czF" = ( /obj/machinery/smartfridge/organ, /obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "surgery"; + name = "Surgery Shutter" + }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "czO" = ( @@ -8850,7 +9009,7 @@ }, /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/plating, -/area/station/maintenance/aft/greater) +/area/station/engineering/atmos/storage) "czR" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/camera/directional/south{ @@ -8868,9 +9027,12 @@ pixel_y = -3 }, /obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "czW" = ( @@ -8882,6 +9044,9 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 }, +/obj/structure/fence{ + dir = 1 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "cAe" = ( @@ -8923,6 +9088,9 @@ "cAz" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, /turf/open/floor/wood, /area/station/security/courtroom) "cAB" = ( @@ -9003,20 +9171,6 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"cBn" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"cBD" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "cBG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9024,10 +9178,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/prison/workout) -"cBJ" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cBP" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp{ @@ -9059,14 +9209,6 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"cCe" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "cCt" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_all, @@ -9083,9 +9225,10 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/structure/railing/corner{ - dir = 4 +/obj/structure/railing/corner/end{ + dir = 1 }, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "cCF" = ( @@ -9096,24 +9239,11 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/mine/laborcamp) -"cCR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"cCT" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 1 +/obj/effect/turf_decal/siding/green{ + dir = 8 }, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/area/mine/laborcamp) "cCW" = ( /obj/machinery/conveyor/inverted{ dir = 6; @@ -9192,9 +9322,6 @@ /area/station/security/checkpoint/medical) "cEh" = ( /obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, /obj/structure/rack, /obj/item/pickaxe, /obj/item/tank/internals/emergency_oxygen, @@ -9275,17 +9402,18 @@ "cFc" = ( /obj/structure/rack, /obj/effect/spawner/random/contraband/permabrig_gear, -/obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/vault, /area/station/security/prison/rec) +"cFr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cFJ" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) "cFX" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/structure/chair/stool/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -9335,22 +9463,13 @@ "cGA" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"cGI" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ +"cGB" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/kitchen) +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "cGQ" = ( /obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ @@ -9447,6 +9566,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) +"cIM" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cIP" = ( /obj/machinery/bookbinder, /turf/open/floor/wood, @@ -9466,11 +9592,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) -"cJa" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "cJb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/north, @@ -9528,14 +9649,6 @@ dir = 6 }, /area/station/science/research) -"cKp" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "cKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9577,26 +9690,6 @@ /obj/structure/bookcase/random/reference, /turf/open/floor/carpet/blue, /area/station/medical/psychology) -"cKJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) -"cLf" = ( -/obj/structure/rack, -/obj/item/shovel, -/obj/item/clothing/mask/gas/plaguedoctor, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "cLo" = ( /obj/machinery/recharge_station, /turf/open/floor/iron, @@ -9671,6 +9764,11 @@ "cLN" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) +"cLR" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "cMd" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/tile/yellow{ @@ -9687,25 +9785,29 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"cMj" = ( -/obj/structure/stairs/west, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) "cMk" = ( /turf/closed/wall/r_wall, /area/mine/production) +"cMr" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "cMv" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/public/glass{ - name = "Escape" + name = "Escape"; + dir = 8 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ dir = 8 }, -/turf/open/floor/iron/white/corner, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/exit/departure_lounge) "cMA" = ( /obj/machinery/door/airlock/security/glass{ @@ -9753,12 +9855,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"cNh" = ( -/obj/structure/fence/corner{ - dir = 10 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "cNm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9786,26 +9882,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/xenobiology) -"cNL" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "cNS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -9830,6 +9906,7 @@ pixel_y = 4 }, /obj/item/storage/box/lights/tubes, +/obj/structure/sign/poster/official/help_others/directional/north, /turf/open/floor/iron/checker, /area/station/commons/storage/emergency/port) "cOi" = ( @@ -9843,6 +9920,18 @@ /obj/effect/turf_decal/tile/red/half, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"cOy" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/window/right/directional/south{ + name = "Produce Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cOC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -9857,17 +9946,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"cOQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering{ - name = "Utilities Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cPd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9904,17 +9982,13 @@ }, /turf/open/floor/iron, /area/station/security/prison/workout) -"cQa" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 +"cPY" = ( +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/secondary/entry) +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "cQc" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/rag, @@ -9955,13 +10029,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"cQp" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "cQs" = ( /obj/structure/table, /obj/item/computer_disk{ @@ -10005,17 +10072,6 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) -"cQE" = ( -/obj/structure/fence, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"cQH" = ( -/obj/structure/sign/warning/no_smoking/directional/south, -/turf/open/floor/circuit/telecomms/mainframe, -/area/station/tcommsat/server) "cQL" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -10023,20 +10079,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) -"cQV" = ( -/obj/structure/barricade/wooden/snowed, -/obj/machinery/light/small/red/directional/north, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "cRg" = ( /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"cRu" = ( +/obj/structure/disposalpipe/junction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "cRy" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -10044,6 +10096,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"cRC" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "cRE" = ( /obj/structure/rack, /obj/item/wirecutters, @@ -10072,20 +10128,14 @@ }, /area/station/command/heads_quarters/rd) "cRN" = ( -/obj/structure/chair/office/tactical{ - dir = 1 - }, -/obj/effect/landmark/start/coroner, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/machinery/hydroponics/soil, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "cRO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/closed/wall, /area/station/engineering/atmos) -"cRX" = ( -/obj/machinery/processor, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "cSe" = ( /obj/structure/table, /obj/item/flashlight{ @@ -10097,6 +10147,10 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"cSi" = ( +/obj/structure/fence/corner, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cSj" = ( /obj/effect/turf_decal/weather/snow/corner, /turf/open/misc/dirt{ @@ -10125,13 +10179,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"cSO" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cSP" = ( /obj/machinery/camera/directional/east{ c_tag = "Aft Primary Hallway South"; @@ -10139,8 +10186,18 @@ }, /obj/effect/turf_decal/tile/yellow, /obj/machinery/light/small/directional/east, +/obj/structure/sign/departments/engineering/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"cTd" = ( +/obj/structure/table/wood, +/obj/item/camera, +/obj/item/taperecorder, +/obj/item/radio/intercom/directional/east, +/obj/item/storage/photo_album/library, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/engine/cult, +/area/station/service/library) "cTh" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -10179,15 +10236,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/commons/vacant_room/office) +"cTF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light_switch/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/bar) "cTJ" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/south{ pixel_x = -10 }, /obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, +/obj/structure/closet/crate/freezer/blood, /turf/open/floor/iron/white, /area/station/medical/cryo) "cTV" = ( @@ -10216,11 +10280,13 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"cUH" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/dorms) +"cUS" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cVa" = ( /obj/machinery/camera/directional/north{ c_tag = "Fitness Room North" @@ -10230,6 +10296,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/flag/ssc/directional/north, /turf/open/floor/iron, /area/station/commons/fitness) "cVk" = ( @@ -10261,14 +10328,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"cVW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "cWq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -10276,15 +10335,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"cWz" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "cWG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10301,14 +10351,31 @@ /turf/open/floor/iron, /area/mine/laborcamp) "cWJ" = ( -/obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 }, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) +"cWU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin/construction, +/obj/item/storage/crayons{ + pixel_y = -2; + pixel_x = -3 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "cWX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10335,13 +10402,9 @@ /area/station/maintenance/port/fore) "cXu" = ( /obj/machinery/firealarm/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 5 }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -10351,6 +10414,18 @@ dir = 1 }, /area/station/security/prison/garden) +"cXI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/station/commons/lounge) +"cXU" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "cXV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/dark_red/filled/line{ @@ -10378,19 +10453,11 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"cYe" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "cYf" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/stripes/red/line{ dir = 6 }, -/obj/structure/sign/warning/no_smoking/directional/east, /turf/open/floor/iron/textured, /area/station/engineering/atmos) "cYi" = ( @@ -10446,6 +10513,7 @@ dir = 8 }, /obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "cYK" = ( @@ -10501,6 +10569,16 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"cZf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"cZk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "cZm" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -10551,6 +10629,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dad" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/official/the_owl/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "daf" = ( /obj/structure/table, /turf/open/floor/plating/snowed/icemoon, @@ -10558,9 +10656,13 @@ "daj" = ( /obj/machinery/door/morgue{ name = "Confession Booth (Chaplain)"; - req_access = list("chapel_office") + req_access = list("chapel_office"); + dir = 4 }, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, /area/station/service/chapel) "dak" = ( /obj/item/clothing/suit/apron/surgical, @@ -10589,17 +10691,17 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"day" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "daE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"daH" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "daM" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/machinery/airalarm/directional/north, @@ -10627,21 +10729,13 @@ /obj/item/cultivator, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"daX" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/service/chapel) -"daZ" = ( -/obj/structure/marker_beacon/jade, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "dbi" = ( /obj/structure/table, /obj/item/flashlight, /obj/item/flashlight{ pixel_y = 13 }, +/obj/structure/sign/departments/exodrone/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) "dbm" = ( @@ -10672,6 +10766,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dbB" = ( +/turf/closed/wall/ice, +/area/icemoon/underground/explored/graveyard) "dbH" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -10679,6 +10776,25 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/security/prison/safe) +"dbO" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/theater) "dcd" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -10702,8 +10818,8 @@ /area/station/commons/dorms) "dcr" = ( /obj/machinery/chem_master, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/south, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) "dcs" = ( @@ -10763,6 +10879,16 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"dcI" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"dcL" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark, +/area/mine/storage) "dcO" = ( /obj/machinery/camera/directional/east{ c_tag = "Engineering Emitter Room Starboard"; @@ -10776,7 +10902,6 @@ /obj/item/reagent_containers/condiment/enzyme, /obj/item/reagent_containers/condiment/sugar, /obj/structure/light_construct/directional/west, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/aft) "dcW" = ( @@ -10810,6 +10935,16 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"ddi" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "ddk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit, @@ -10837,13 +10972,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ddv" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 +"ddw" = ( +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/loading_area/white, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "ddz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10856,25 +10991,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"ddJ" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "service reservoir" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) -"ddR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ddZ" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green{ @@ -10883,6 +10999,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) +"def" = ( +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "deg" = ( /obj/structure/cable/layer3, /turf/open/floor/circuit, @@ -10980,18 +11100,20 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) +"dfR" = ( +/obj/item/toy/snowball{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/toy/snowball, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "dga" = ( /obj/effect/turf_decal/loading_area{ dir = 4 }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"dge" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dgl" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -10999,6 +11121,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dgp" = ( +/obj/machinery/modular_computer/preset/engineering, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) +"dgR" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/kitchen) "dgZ" = ( /obj/machinery/airalarm/directional/south, /obj/structure/cable, @@ -11024,11 +11158,6 @@ /area/station/command/meeting_room) "dhk" = ( /obj/structure/table/reinforced, -/obj/machinery/camera{ - c_tag = "Security Post - Medbay"; - dir = 9; - network = list("ss13","medbay") - }, /obj/item/book/manual/wiki/security_space_law{ pixel_x = 3; pixel_y = 4 @@ -11036,6 +11165,10 @@ /obj/machinery/newscaster/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/red/full, +/obj/machinery/camera/directional/north{ + c_tag = "Security Post - Medbay"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) "dhq" = ( @@ -11086,11 +11219,18 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"dig" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"dik" = ( +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 6 + }, +/obj/structure/table/glass, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/lab) "dip" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11136,16 +11276,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/textured, /area/mine/mechbay) -"diK" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "diL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -11165,12 +11295,6 @@ dir = 1 }, /area/mine/living_quarters) -"djl" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "djr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11179,12 +11303,11 @@ /area/station/hallway/primary/port) "djB" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/camera{ +/obj/machinery/light/directional/south, +/obj/machinery/camera/directional/south{ c_tag = "Medbay Chemistry Lab - South"; - dir = 5; network = list("ss13","medbay") }, -/obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) "djC" = ( @@ -11217,6 +11340,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"djK" = ( +/obj/structure/fence{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "djO" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Engineering Foyer" @@ -11236,6 +11365,17 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"dka" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 + }, +/obj/machinery/photocopier, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "dkb" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -11262,15 +11402,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/science/robotics/lab) -"dkB" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"dku" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/chair_flipped{ dir = 4 }, -/obj/effect/spawner/random/armory/shotgun, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dkK" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/stripes/line, @@ -11295,19 +11435,14 @@ dir = 8 }, /area/station/security/brig/entrance) -"dla" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +"dkZ" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "dlt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 8 @@ -11315,16 +11450,20 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dlu" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/icemoon/underground/explored) "dlB" = ( -/obj/structure/table/wood, /obj/item/storage/photo_album/chapel, /obj/structure/noticeboard/directional/west, /obj/machinery/light/small/directional/west, +/obj/structure/rack/skeletal, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"dlH" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/smartfridge/drying, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "dlK" = ( /obj/machinery/computer/security{ dir = 8 @@ -11342,16 +11481,6 @@ }, /turf/open/floor/plating, /area/station/construction) -"dmj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/machinery/button/door/directional/east{ - id = "xenobio11"; - name = "Xenobio Pen 11 Blast DOors"; - req_access = list("xenobiology") - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "dmk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ @@ -11368,6 +11497,12 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"dmm" = ( +/obj/structure/rack, +/obj/item/poster/random_contraband, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "dms" = ( /obj/structure/closet/crate, /turf/open/floor/plating, @@ -11401,8 +11536,15 @@ cycle_id = "Engineering-External" }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) +"dmT" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored/graveyard) "dmU" = ( /obj/structure/cable, /obj/structure/table, @@ -11424,9 +11566,50 @@ /obj/structure/dresser, /turf/open/floor/carpet, /area/station/commons/dorms) +"dnn" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "dnq" = ( /turf/open/floor/iron, /area/station/hallway/primary/central) +"dnz" = ( +/obj/effect/turf_decal/siding/wideplating_new/light{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/prisoner, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) +"dnB" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = 6 + }, +/obj/machinery/button/door/directional/north{ + id = "botany_chasm_and_wolf_shutters"; + name = "Exterior Shutters"; + pixel_x = -4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) +"dnE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "dnL" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -11447,6 +11630,9 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/lockers) +"dom" = ( +/turf/closed/wall/ice, +/area/station/service/kitchen/coldroom) "don" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/disposalpipe/segment, @@ -11455,6 +11641,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"dop" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "doq" = ( /obj/machinery/flasher/directional/north{ id = "transferflash" @@ -11472,6 +11666,15 @@ }, /turf/closed/wall, /area/station/maintenance/starboard/upper) +"dow" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "doG" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -11485,14 +11688,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"doK" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio8"; - name = "Xenobio Pen 8 Blast DOors"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "doM" = ( /obj/structure/table, /obj/item/paper{ @@ -11513,23 +11708,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"dpa" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "dpc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -11543,23 +11721,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/command/storage/eva) -"dpj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "dpq" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"dpw" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/snack, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "dpx" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment, @@ -11568,6 +11733,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dpA" = ( +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "dpB" = ( /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -11601,41 +11772,22 @@ /area/station/hallway/secondary/entry) "dpZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/docking/directional/south, /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dqg" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/secure_area/directional/south, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "dqs" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"dqt" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = -5; - pixel_y = -8 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_y = -6; - pixel_x = 9 +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "dqw" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -11644,12 +11796,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"dqA" = ( -/obj/structure/fence/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "dqL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -11682,7 +11828,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, -/obj/structure/sign/poster/official/work_for_a_future/directional/east, +/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "dqW" = ( @@ -11690,15 +11836,45 @@ /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "dqX" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/cable, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, /area/station/cargo/lobby) +"drd" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/structure/cable, +/obj/item/mod/module/plasma_stabilizer, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/mod/module/signlang_radio, +/obj/item/mod/module/thermal_regulator, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "drh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -11707,6 +11883,8 @@ /area/station/engineering/atmos/pumproom) "drm" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) "drr" = ( @@ -11724,9 +11902,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"drw" = ( -/turf/closed/wall/ice, -/area/station/service/kitchen/coldroom) "dry" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11757,6 +11932,7 @@ "drG" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/bin/tagger, +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron, /area/station/cargo/office) "drH" = ( @@ -11790,12 +11966,6 @@ /obj/structure/flora/grass/both, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dsa" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, -/area/station/science/cytology) "dsf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -11815,6 +11985,7 @@ /obj/effect/turf_decal/weather/snow/corner{ dir = 1 }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "dsj" = ( @@ -11855,11 +12026,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/camera{ - c_tag = "Medbay Chemistry Lab - East"; - dir = 6; - network = list("ss13","medbay") - }, /obj/structure/table/reinforced, /obj/machinery/reagentgrinder{ pixel_x = -1; @@ -11879,6 +12045,11 @@ /obj/item/reagent_containers/dropper{ pixel_y = -7 }, +/obj/structure/sign/warning/no_smoking/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Chemistry Lab - East"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/dark/textured_half{ dir = 1 }, @@ -11889,15 +12060,15 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/qm) +"dsX" = ( +/obj/structure/flora/grass/green/style_random, +/obj/structure/sign/warning/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "dtb" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood, /area/station/service/library) -"dtc" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/dice, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "dth" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -11908,16 +12079,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"dtq" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "dtr" = ( /obj/machinery/computer/records/medical, /obj/effect/turf_decal/tile/green/anticorner/contrasted, @@ -11940,6 +12101,16 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"dtD" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/aft) "dtU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11957,7 +12128,6 @@ /area/station/science/ordnance/office) "duI" = ( /obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/west, /obj/item/poster/random_official, /obj/item/poster/random_official, /obj/item/poster/random_official, @@ -11966,6 +12136,7 @@ /obj/item/poster/random_official, /obj/item/poster/random_official, /obj/item/poster/random_official, +/obj/structure/window/half/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/prison) "duS" = ( @@ -11977,6 +12148,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"duT" = ( +/obj/item/chair/stool/bar{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"duY" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "duZ" = ( /obj/machinery/door/airlock/engineering{ name = "Utilities Closet" @@ -12041,28 +12224,13 @@ /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) "dvS" = ( +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/recharge_floor, /area/station/maintenance/department/electrical) "dvY" = ( /obj/structure/flora/tree/dead/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dvZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/commons/lounge) "dwb" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -12070,6 +12238,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"dwc" = ( +/obj/structure/sign/warning/fire/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dwo" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -12078,12 +12250,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"dwq" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dww" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -12106,17 +12272,23 @@ /obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"dwS" = ( -/obj/machinery/status_display/door_timer{ - id = "Cell 3"; - name = "Cell 3"; - pixel_x = -32 +"dwQ" = ( +/obj/structure/tall_stairs/end/directional/west, +/obj/structure/railing{ + dir = 1 }, +/turf/open/floor/iron/smooth_half, +/area/station/science/cytology) +"dwS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/status_display/door_timer/directional/west{ + id = "Cell 3"; + name = "Cell 3" + }, /turf/open/floor/iron/textured, /area/station/security/brig) "dwY" = ( @@ -12127,6 +12299,10 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"dwZ" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) "dxg" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel{ @@ -12186,6 +12362,15 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"dxC" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dxE" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -12196,6 +12381,12 @@ "dxK" = ( /turf/closed/wall/r_wall, /area/station/command/meeting_room) +"dxL" = ( +/obj/machinery/icecream_vat, +/obj/structure/sign/clock/directional/north, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "dxU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12211,9 +12402,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"dym" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, +"dyA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/stool/directional/west, /turf/open/floor/plating, /area/station/maintenance/fore) "dyE" = ( @@ -12233,7 +12425,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "dyW" = ( -/obj/structure/sign/poster/official/random/directional/south, /obj/structure/table/optable{ name = "Robotics Operating Table" }, @@ -12246,10 +12437,13 @@ id = "Biohazard"; name = "Biohazard Containment Door" }, -/obj/effect/turf_decal/bot, -/obj/structure/noticeboard/directional/north, /obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, +/obj/structure/noticeboard/rd{ + pixel_y = 36 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/textured, /area/station/science/research) "dzi" = ( /obj/machinery/status_display/ai/directional/south, @@ -12262,14 +12456,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dzr" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "graveyard" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, -/turf/open/floor/plating, -/area/station/medical/morgue) "dzt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -12287,15 +12473,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"dzD" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "dzJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -12327,13 +12504,15 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"dAk" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 +"dAf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "rnd2"; + name = "Research Lab Shutters" }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/turf/open/floor/plating, +/area/station/science/breakroom) "dAm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12350,11 +12529,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/camera{ - c_tag = "Mining Ore Smeltery"; - dir = 6 - }, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/mine/production) "dAx" = ( @@ -12387,6 +12561,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"dAW" = ( +/obj/structure/fence/cut/medium, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dAZ" = ( /turf/closed/wall/r_wall, /area/station/security/prison/visit) @@ -12404,31 +12582,11 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/fore/lesser) "dBw" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ dir = 1 }, /turf/open/floor/plating/snowed/icemoon, /area/mine/laborcamp/security) -"dBA" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "dBB" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot_white, @@ -12452,6 +12610,15 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"dBN" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/duct, +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron, +/area/station/service/bar) "dBQ" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat AI Chamber South"; @@ -12472,14 +12639,20 @@ /turf/open/floor/iron, /area/station/cargo/sorting) "dCs" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/full, -/turf/open/floor/iron/large, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/medbay/lobby) +"dCu" = ( +/obj/structure/fence/cut/medium{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dCy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -12489,12 +12662,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"dCV" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) +"dDe" = ( +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/turf/open/openspace, +/area/station/medical/treatment_center) "dDm" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1 @@ -12506,6 +12677,12 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "dDp" = ( @@ -12515,14 +12692,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dDq" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "dDt" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/red{ @@ -12539,6 +12708,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"dDz" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/item/sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dDC" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -12549,22 +12724,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"dDN" = ( +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/obj/structure/sign/departments/security/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "dDV" = ( /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dEc" = ( -/obj/structure/table/wood, -/obj/item/soap/nanotrasen, -/obj/item/clothing/head/costume/sombrero/green, -/obj/machinery/camera{ - c_tag = "Service - Theater"; - dir = 9 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "dEf" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -12610,7 +12779,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/science/lab) "dEI" = ( /obj/structure/cable, @@ -12622,6 +12798,16 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"dEL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 8; + name = "Air Out" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "dEQ" = ( /obj/machinery/camera/directional/east{ c_tag = "Public Mining Ladder" @@ -12652,6 +12838,31 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"dEZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"dFi" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dFj" = ( /turf/open/floor/iron/white/side{ dir = 9 @@ -12694,7 +12905,6 @@ /obj/structure/chair{ dir = 1 }, -/obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "dFF" = ( @@ -12744,6 +12954,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/commons/fitness) +"dGS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/obj/structure/rack, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Lower" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/chapel) "dGU" = ( /obj/machinery/door/airlock/maintenance{ name = "Captain's Office Maintenance" @@ -12755,19 +12974,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/captain, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"dGZ" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "dHa" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -12796,6 +13002,32 @@ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, /area/station/security/prison/rec) +"dHf" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Botany Upper Entrance" + }, +/obj/structure/table/glass, +/obj/machinery/fax/auto_name, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"dHg" = ( +/obj/machinery/door/airlock{ + name = "Unit B" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) +"dHi" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "dHk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12816,16 +13048,17 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"dHF" = ( +/obj/structure/railing, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dHJ" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"dHM" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "dIl" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -12848,6 +13081,7 @@ /area/station/commons/storage/mining) "dIA" = ( /obj/machinery/firealarm/directional/east, +/obj/structure/railing, /turf/open/floor/iron/white/side{ dir = 9 }, @@ -12862,7 +13096,6 @@ }, /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) "dIZ" = ( @@ -12871,6 +13104,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/medical/virology) "dJx" = ( @@ -12889,18 +13123,6 @@ /obj/machinery/air_sensor/ordnance_freezer_chamber, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"dJF" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dJY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12927,16 +13149,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/cargo/sorting) -"dKf" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Primary Hallway Center West" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "dKh" = ( /obj/machinery/light_switch/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -12945,22 +13157,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/tcommsat/computer) -"dKr" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/isolation/directional/south, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/suit/jacket/straight_jacket{ - pixel_x = 6 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Permabrig Prep"; - network = list("ss13","prison"); - view_range = 5 - }, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth, -/area/station/security/execution/transfer) "dKy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -13005,7 +13201,6 @@ }, /area/station/security/processing) "dKS" = ( -/obj/structure/sign/warning/electric_shock/directional/south, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/red/line, /obj/effect/turf_decal/trimline/red/line{ @@ -13052,10 +13247,15 @@ /area/station/science/xenobiology) "dLH" = ( /obj/structure/fence{ - dir = 1 + dir = 8 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"dLM" = ( +/obj/structure/railing, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "dLN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -13066,6 +13266,19 @@ /obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/iron, /area/mine/laborcamp) +"dMi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "dMp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13079,18 +13292,6 @@ /obj/item/clothing/under/color/rainbow, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dMB" = ( -/obj/vehicle/ridden/wheelchair{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/end{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/item/radio/intercom/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/large, -/area/station/medical/medbay/aft) "dMH" = ( /obj/machinery/light/directional/north, /obj/machinery/status_display/evac/directional/north, @@ -13104,6 +13305,7 @@ "dMO" = ( /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) "dMX" = ( @@ -13113,17 +13315,14 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"dNk" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dNl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plastic, +/obj/structure/tall_stairs/start/directional/north, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, /area/station/commons/dorms/laundry) "dNt" = ( /obj/structure/disposalpipe/segment{ @@ -13149,9 +13348,6 @@ /turf/open/floor/iron/smooth, /area/mine/mechbay) "dNB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "dNC" = ( @@ -13219,6 +13415,10 @@ /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) +"dPv" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dPy" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Kill Chamber"; @@ -13230,7 +13430,7 @@ /turf/open/floor/iron/freezer, /area/station/science/xenobiology) "dPP" = ( -/obj/structure/closet/toolcloset, +/obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "dPT" = ( @@ -13242,7 +13442,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "dPX" = ( -/obj/structure/sign/warning/docking/directional/east, /obj/effect/turf_decal/weather/snow/corner{ dir = 10 }, @@ -13272,13 +13471,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"dQp" = ( -/obj/structure/table/wood, -/obj/item/food/pie/cream, -/obj/item/bikehorn, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "dQI" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -13311,11 +13503,6 @@ /turf/open/floor/iron/dark, /area/station/commons/storage/primary) "dRe" = ( -/obj/machinery/camera{ - c_tag = "Medbay Break Room"; - dir = 1; - network = list("ss13","medbay") - }, /obj/structure/table/glass, /obj/effect/spawner/random/entertainment/deck{ pixel_x = -6 @@ -13331,6 +13518,10 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Break Room"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/break_room) "dRk" = ( @@ -13348,6 +13539,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) +"dRB" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "dRD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/south, @@ -13355,6 +13562,13 @@ dir = 1 }, /area/station/command/gateway) +"dSh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/noticeboard/staff{ + pixel_y = 36 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "dSj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -13369,14 +13583,6 @@ }, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"dSs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "dSJ" = ( /obj/machinery/flasher/directional/north{ id = "visitorflash" @@ -13401,14 +13607,11 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"dSY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"dTj" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "dTm" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/effect/mob_spawn/corpse/human/skeleton, @@ -13429,13 +13632,6 @@ "dTs" = ( /turf/open/floor/iron/smooth, /area/mine/eva) -"dTx" = ( -/obj/machinery/status_display/ai/directional/south, -/obj/structure/chair/sofa/right/brown{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "dTD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -13454,6 +13650,14 @@ }, /turf/open/floor/iron, /area/mine/production) +"dTI" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dTW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -13471,6 +13675,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"dUm" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "dUn" = ( /obj/machinery/shieldgen, /turf/open/floor/plating, @@ -13485,6 +13701,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"dUt" = ( +/obj/structure/cable, +/turf/open/floor/iron/chapel{ + dir = 1 + }, +/area/station/service/chapel) "dUv" = ( /obj/structure/rack, /obj/item/clothing/suit/hazardvest, @@ -13544,34 +13766,24 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "dVj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/machinery/hydroponics/constructable, +/obj/effect/spawner/structure/window, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"dVq" = ( -/obj/machinery/space_heater, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/area/station/medical/morgue) "dVt" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/checker, /area/station/science/lab) "dVw" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /obj/machinery/door/firedoor, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) "dVF" = ( /obj/structure/sign/warning/secure_area/directional/north, @@ -13585,9 +13797,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) +"dVN" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "dVX" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, @@ -13616,6 +13830,15 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"dWI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "dWK" = ( /obj/machinery/hydroponics/soil, /obj/item/shovel/spade, @@ -13641,6 +13864,7 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 8 }, +/obj/machinery/incident_display/bridge/directional/north, /turf/open/floor/iron, /area/station/command/bridge) "dWZ" = ( @@ -13659,6 +13883,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dXk" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "dXn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -13667,12 +13897,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"dXp" = ( +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) +"dXr" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "dXv" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/command/gateway) +"dXx" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dXF" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -13689,13 +13935,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"dXR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "dXU" = ( /obj/effect/decal/cleanable/generic, /obj/machinery/light/small/directional/south, @@ -13708,6 +13947,7 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "dYq" = ( +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/commons/dorms/laundry) "dYr" = ( @@ -13731,6 +13971,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dYH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "dYI" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -13744,6 +13988,10 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"dYO" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/medical/morgue) "dYP" = ( /obj/item/toy/snowball{ pixel_x = -11; @@ -13751,13 +13999,21 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dYX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +"dYS" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"dYU" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "dZc" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, @@ -13774,36 +14030,11 @@ dir = 8 }, /area/mine/eva) -"dZC" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "dZJ" = ( /obj/machinery/seed_extractor, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) -"dZL" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dZN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -13878,6 +14109,23 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) +"eak" = ( +/obj/structure/rack, +/obj/item/clothing/suit/utility/beekeeper_suit, +/obj/item/clothing/head/utility/beekeeper_head, +/obj/item/melee/flyswatter, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Botany Lower Entrance" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eaq" = ( /obj/structure/table, /obj/item/paper_bin/carbon, @@ -13885,20 +14133,6 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"eav" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/hydroponics) "eaw" = ( /obj/effect/spawner/random/contraband/prison, /obj/structure/closet/crate, @@ -13907,11 +14141,21 @@ /obj/item/stack/license_plates/empty/fifty, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) -"eaM" = ( -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +"eay" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"eaQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ebb" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, @@ -13936,10 +14180,10 @@ }, /area/icemoon/underground/explored) "ebK" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/rack, /obj/item/crowbar/large/old, /obj/effect/turf_decal/tile/dark/fourcorners, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/iron, /area/mine/living_quarters) "ebL" = ( @@ -13990,6 +14234,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"edc" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "edd" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -14014,7 +14262,7 @@ desc = "Used to grind things up into raw materials and liquids."; pixel_y = 5 }, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) "edq" = ( @@ -14023,43 +14271,24 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"edt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/rack, -/obj/item/tank/internals/oxygen, -/obj/item/extinguisher, -/obj/item/clothing/suit/utility/fire/firefighter, -/obj/item/clothing/head/utility/hardhat/red, -/obj/item/clothing/mask/gas, -/obj/item/clothing/glasses/meson, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"edM" = ( -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = -4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "edN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"edO" = ( +"edR" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood/large, -/area/station/service/bar) +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "edT" = ( /obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "eei" = ( @@ -14071,8 +14300,8 @@ /area/station/medical/medbay/central) "eek" = ( /obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/east, /obj/item/clothing/head/costume/fancy, +/obj/structure/window/half/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/prison) "eeq" = ( @@ -14081,12 +14310,14 @@ pixel_x = 3; pixel_y = 13 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) -"eet" = ( -/obj/effect/spawner/random/trash/bin, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"ees" = ( +/obj/structure/kitchenspike, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "eeD" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured, @@ -14106,39 +14337,10 @@ /obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics, /turf/open/floor/iron, /area/station/engineering/lobby) -"eeY" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) -"efi" = ( -/obj/structure/bed/dogbed, -/obj/effect/decal/cleanable/blood/gibs/body, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "efk" = ( /obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/science/explab) -"efo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/iv_drip, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "efv" = ( /obj/item/toy/snowball{ pixel_x = -6; @@ -14160,6 +14362,9 @@ dir = 8 }, /obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "efE" = ( @@ -14184,6 +14389,25 @@ /obj/structure/lattice, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"efJ" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/minecart_rail/railbreak{ + dir = 4 + }, +/obj/structure/closet/crate/miningcar{ + name = "delivery cart"; + desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." + }, +/obj/item/storage/bag/plants, +/turf/open/floor/iron, +/area/station/service/hydroponics) "efK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -14197,41 +14421,14 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) -"efN" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/service/chapel) -"efS" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/light/warm/directional/east, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"efU" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +"efR" = ( +/obj/structure/ladder, +/obj/structure/railing{ dir = 8 }, -/obj/machinery/duct, -/obj/structure/sign/flag/nanotrasen/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "efV" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable, @@ -14244,13 +14441,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ege" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) "egj" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -14272,6 +14462,18 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"egu" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/calendar/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Botany Equipment" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "egz" = ( /obj/structure/table/wood, /obj/item/radio/intercom/prison, @@ -14290,6 +14492,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) +"egM" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "egR" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -14297,6 +14505,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/railing, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) @@ -14347,18 +14556,61 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ehh" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"eho" = ( +/obj/machinery/door/airlock{ + name = "Bar"; + dir = 4; + manual_align = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/door/firedoor{ + dir = 4; + manual_align = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "ehp" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"ehy" = ( -/obj/machinery/keycard_auth/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"ehB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_half{ dir = 1 }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/heads_quarters/hos) +/area/station/hallway/secondary/service) "ehD" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -14378,6 +14630,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/engine_smes) +"ehL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/deepfryer, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "ehO" = ( /obj/machinery/door/window/brigdoor/right/directional/west{ name = "Observation Deck"; @@ -14423,6 +14682,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) +"eie" = ( +/obj/structure/fence/corner, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eig" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, @@ -14445,6 +14708,21 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"eik" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"eiH" = ( +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "eiI" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -14462,8 +14740,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/sign/warning/chem_diamond/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"ejb" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/security/glass{ + name = "Permabrig Visitation" + }, +/obj/effect/mapping_helpers/airlock/access/any/security/brig, +/turf/open/floor/iron, +/area/station/security/prison/visit) "ejn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -14485,6 +14772,13 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"ejI" = ( +/obj/structure/flora/grass/both/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ejL" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -14493,6 +14787,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"ejN" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ + name = "Burn Chamber Exterior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) +"ejO" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ejQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -14501,25 +14809,16 @@ }, /turf/open/floor/plating, /area/station/engineering/lobby) +"ejR" = ( +/obj/structure/flora/rock/icy/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ejX" = ( /turf/open/floor/plating, /area/station/security/prison/safe) -"ejY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"ekc" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ekh" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Central" @@ -14529,6 +14828,13 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"ekj" = ( +/obj/structure/closet, +/obj/effect/spawner/random/clothing/costume, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/spawner/random/clothing/gloves, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ekm" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 8; @@ -14564,13 +14870,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) -"ekN" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) "ekW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14578,13 +14877,22 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/processing) +"ekY" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "elf" = ( /obj/machinery/rnd/production/circuit_imprinter/department/science, /obj/machinery/button/door/directional/north{ id = "rnd"; name = "Shutters Control Button"; pixel_x = 7; - req_access = list("research") + req_access = list("research"); + dir = 2 }, /turf/open/floor/iron/checker, /area/station/science/lab) @@ -14620,6 +14928,9 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "emp" = ( @@ -14627,30 +14938,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"emw" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/station/commons/lounge) -"emx" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"emF" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "service reservoir" - }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) "emK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ @@ -14674,6 +14961,13 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"eno" = ( +/obj/machinery/newscaster/directional/west, +/obj/structure/table/glass, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "enq" = ( /obj/machinery/doppler_array{ dir = 4 @@ -14685,6 +14979,27 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/engineering/lobby) +"enz" = ( +/obj/machinery/door/airlock/external{ + name = "Graveyard Access"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) +"enH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "enI" = ( /obj/machinery/door/airlock/maintenance{ name = "Tool Storage Maintenance" @@ -14706,13 +15021,11 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"eog" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/north, -/obj/item/flashlight/lantern, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"enY" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eos" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -14766,18 +15079,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"eoV" = ( -/obj/item/trash/popcorn, -/obj/structure/reagent_dispensers/plumbed{ - name = "dormitory reservoir" - }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" +"eoQ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/fore) +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark/textured_edge, +/area/station/security/prison) "eoY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -14787,18 +15095,11 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"eph" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"epw" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/landmark/event_spawn, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/hallway/primary/starboard) "epB" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -14824,36 +15125,26 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/engineering/storage) +"eqg" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "eqj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria{ dir = 8 }, /area/station/science/ordnance/office) -"eqk" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"eqn" = ( -/obj/structure/sign/warning/docking/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "eqp" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 }, /turf/open/floor/iron/white, @@ -14871,6 +15162,14 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/starboard) +"eqE" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "eqI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14884,6 +15183,7 @@ name = "Starboard Bow Solar Control" }, /obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) "eqN" = ( @@ -14920,6 +15220,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"erd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "eri" = ( /obj/structure/chair/office/light{ dir = 4 @@ -14954,13 +15262,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"erq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "erw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -14973,12 +15274,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/construction) -"erE" = ( -/obj/machinery/requests_console/auto_name/directional/east, -/obj/machinery/duct, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "erH" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -14987,6 +15282,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/flag/nanotrasen/directional/north, /turf/open/floor/iron, /area/station/commons/fitness) "erI" = ( @@ -15030,6 +15326,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/teleporter) +"esb" = ( +/obj/structure/sign/warning/fire/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "esc" = ( /obj/machinery/computer/order_console/mining, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -15037,10 +15337,20 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"ese" = ( -/obj/structure/fence/cut/medium, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored/graveyard) +"esi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance) "eso" = ( /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/iron/dark/telecomms, @@ -15092,13 +15402,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"etr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"ete" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, +/obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/area/station/commons/lounge) "etw" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -15116,6 +15427,12 @@ /obj/structure/closet/crate/coffin, /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) +"etJ" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "etO" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -15137,11 +15454,6 @@ /turf/open/floor/iron, /area/station/commons/locker) "eub" = ( -/obj/machinery/camera{ - c_tag = "Medbay Pharmacy"; - dir = 9; - network = list("ss13","medbay") - }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, @@ -15151,6 +15463,10 @@ }, /obj/structure/fluff/shower_drain, /obj/effect/turf_decal/stripes/white/end, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay Pharmacy"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "euc" = ( @@ -15159,6 +15475,12 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"eud" = ( +/obj/item/food/chococoin, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "euf" = ( /obj/structure/bed{ dir = 4 @@ -15174,6 +15496,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/end{ dir = 1 }, +/obj/structure/sign/warning/chem_diamond/directional/north, /turf/open/floor/iron/textured, /area/station/medical/chem_storage) "euq" = ( @@ -15211,9 +15534,6 @@ }, /obj/effect/turf_decal/stripes/end, /obj/structure/sign/departments/chemistry/directional/north, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, /obj/effect/turf_decal/tile/yellow/full, /obj/machinery/door/window/left/directional/south{ name = "Chemistry Lab Access Hatch"; @@ -15234,10 +15554,12 @@ "evb" = ( /turf/open/floor/iron, /area/station/service/janitor) -"evc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) +"evh" = ( +/obj/structure/flora/tree/pine/style_random{ + pixel_x = -15 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "evk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15291,6 +15613,15 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/security/brig/upper) +"ewO" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "exe" = ( /obj/effect/turf_decal/siding/yellow/end{ dir = 8 @@ -15320,8 +15651,19 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark/smooth_edge, /area/station/ai_monitored/command/storage/eva) +"exu" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "exv" = ( /obj/effect/gibspawner/human/bodypartless, /turf/open/misc/asteroid/snow/icemoon, @@ -15329,19 +15671,16 @@ "exw" = ( /turf/closed/wall, /area/station/service/hydroponics) -"exy" = ( -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "exL" = ( /obj/item/trash/cheesie, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) +"exM" = ( +/obj/structure/tall_stairs/start/directional/east, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "exN" = ( /obj/effect/spawner/random/trash, /obj/machinery/light/directional/south, @@ -15350,6 +15689,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/work) +"exQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eyb" = ( /turf/closed/wall, /area/station/security/processing) @@ -15398,21 +15744,14 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"eyU" = ( -/obj/structure/closet/crate/coffin, -/obj/machinery/light/small/red/directional/south, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/chapel) -"ezd" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/wallet{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/newspaper, +"eym" = ( +/obj/structure/girder, +/obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/fore) +"eyP" = ( +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) "ezf" = ( /obj/machinery/door/airlock{ name = "Private Restroom" @@ -15420,13 +15759,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/freezer, /area/station/medical/break_room) -"ezk" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/item/kirbyplants/organic/plant11, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ezl" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -15479,6 +15811,13 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"ezZ" = ( +/obj/effect/turf_decal/loading_area/white{ + dir = 8 + }, +/obj/structure/noticeboard/directional/south, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "eAb" = ( /obj/structure/chair{ dir = 1 @@ -15527,6 +15866,18 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"eAF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "eBd" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, @@ -15575,6 +15926,9 @@ /obj/structure/chair{ name = "Defense" }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /turf/open/floor/wood, /area/station/security/courtroom) "eBV" = ( @@ -15621,6 +15975,7 @@ "eCz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) "eCD" = ( @@ -15643,6 +15998,15 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"eCT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "eDc" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/structure/cable, @@ -15682,6 +16046,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/visit) +"eDs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "eDy" = ( /obj/structure/closet/boxinggloves, /obj/machinery/light/directional/north, @@ -15689,6 +16060,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/clock/directional/north, /turf/open/floor/iron, /area/station/commons/fitness) "eDC" = ( @@ -15698,12 +16070,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"eDD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "eDH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15728,41 +16094,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) -"eEh" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/analyzer, -/obj/item/pipe_dispenser, -/obj/item/flashlight, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"eEm" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) -"eEr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "eEC" = ( /obj/structure/table/wood, /obj/machinery/fax{ fax_name = "Captain's Office"; name = "Captain's Fax Machine" }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "eEO" = ( @@ -15774,22 +16114,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"eEZ" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Security Checkpoint" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "eFd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -15799,14 +16123,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"eFf" = ( -/obj/structure/fireplace{ - pixel_x = 0 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "eFh" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/cigarette_pack, @@ -15840,10 +16156,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"eFw" = ( -/obj/structure/sign/poster/official/report_crimes, -/turf/closed/wall/ice, +"eFH" = ( +/obj/structure/flora/rock/icy/style_random, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"eFM" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/light/warm/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eFO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15851,6 +16176,16 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"eFP" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "eFS" = ( /obj/machinery/door/airlock/maintenance{ name = "Mech Bay Maintenance" @@ -15866,13 +16201,19 @@ /turf/open/floor/wood, /area/station/commons/dorms) "eGg" = ( -/obj/machinery/icecream_vat, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/watermelon, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "eGl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/event_spawn, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) "eGr" = ( @@ -15907,12 +16248,24 @@ /obj/effect/spawner/random/entertainment/drugs, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"eGM" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "eGN" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) +"eGV" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "eGW" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -15921,8 +16274,23 @@ /area/station/hallway/primary/central/fore) "eGX" = ( /obj/machinery/vending/boozeomat/all_access, -/turf/closed/wall, +/turf/open/floor/plating, /area/station/maintenance/port/aft) +"eHb" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/mapping_helpers/mail_sorting/service/dormitories, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "eHe" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -15950,22 +16318,19 @@ /obj/item/clothing/under/costume/jabroni, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"eHx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/siding/dark_blue, +/obj/effect/turf_decal/trimline/dark_blue/filled/line, +/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/morgue) "eHT" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eHX" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "eHZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -16003,6 +16368,14 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/dark, /area/station/medical/virology) +"eIP" = ( +/obj/structure/noticeboard/directional/north, +/turf/open/openspace, +/area/station/service/bar/atrium) +"eIR" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eIU" = ( /obj/machinery/button/door/directional/south{ id = "Cargo_Store_In"; @@ -16070,6 +16443,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/mine/eva) +"eJX" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "eKl" = ( /obj/effect/turf_decal/stripes/box, /obj/machinery/destructive_scanner, @@ -16093,6 +16472,7 @@ /area/station/medical/chemistry) "eKX" = ( /obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -16115,19 +16495,32 @@ dir = 5 }, /area/station/science/research) -"eLv" = ( -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 8 +"eLs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"eLB" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Gambling Lounge" }, -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"eLJ" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/closed/mineral/random/snow, +/area/icemoon/underground/explored) +"eLN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/machinery/meter/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "eLS" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -16141,10 +16534,6 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/mechbay) -"eLU" = ( -/obj/structure/statue/snow/snowman, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "eMa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16159,6 +16548,15 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) +"eME" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "eMG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16175,6 +16573,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/storage/primary) +"eMJ" = ( +/obj/structure/sign/poster/contraband/the_big_gas_giant_truth/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eMK" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -16186,14 +16588,7 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) -"eML" = ( -/obj/machinery/vending/wardrobe/coroner_wardrobe, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "eMO" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /obj/effect/turf_decal/stripes/box, /obj/structure/ladder, /obj/structure/railing{ @@ -16215,6 +16610,7 @@ name = "Exfiltrate" }, /obj/effect/turf_decal/tile/red/diagonal_edge, +/obj/structure/sign/warning/fire/directional/north, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/mix) "eNh" = ( @@ -16271,16 +16667,11 @@ /turf/open/floor/iron/white, /area/station/science/research) "eNQ" = ( -/obj/structure/sign/warning/vacuum/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) -"eNS" = ( -/obj/structure/sign/warning/xeno_mining, -/turf/closed/wall, -/area/mine/storage) "eOl" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, @@ -16300,6 +16691,9 @@ /obj/structure/table, /obj/item/razor, /obj/item/storage/backpack/duffelbag/sec/surgery, +/obj/machinery/button/flasher/directional/north{ + name = "executionflash" + }, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) "eOK" = ( @@ -16317,15 +16711,11 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/structure/sign/poster/official/safety_internals/directional/north, /turf/open/floor/iron/dark/smooth_edge{ dir = 4 }, /area/station/ai_monitored/command/storage/eva) -"ePd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ePi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -16336,6 +16726,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"ePj" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/coin{ + pixel_x = -7 + }, +/obj/effect/spawner/random/clothing/bowler_or_that, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ePm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16362,6 +16760,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/cargo/miningdock) +"ePP" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center West" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ePR" = ( /obj/structure/railing{ dir = 6 @@ -16369,16 +16777,34 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ePZ" = ( -/obj/structure/chair/stool/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 9 +"eQs" = ( +/obj/structure/closet/crate{ + name = "Le Caisee D'abeille" + }, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/queen_bee/bought, +/obj/item/clothing/suit/hooded/bee_costume, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) +/obj/machinery/light/warm/directional/north, +/obj/item/seeds/sunflower, +/obj/effect/spawner/random/food_or_drink/seed, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Botany Apiary" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eQz" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -16393,10 +16819,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"eQQ" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall, -/area/station/command/heads_quarters/rd) "eQT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -16405,13 +16827,24 @@ "eQU" = ( /obj/item/radio/intercom/directional/south, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "eQX" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"eRf" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eRh" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, @@ -16461,15 +16894,6 @@ dir = 4 }, /area/station/cargo/bitrunning/den) -"eSm" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "eSn" = ( /obj/structure/chair/office, /obj/effect/landmark/start/assistant, @@ -16480,10 +16904,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/library) +"eSq" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/ordnance) "eSr" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/mine/laborcamp/security) +"eSC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eSE" = ( /obj/structure/closet/crate/trashcart/laundry, /obj/effect/spawner/random/contraband/prison, @@ -16495,6 +16934,9 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "eSJ" = ( @@ -16509,10 +16951,6 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) -"eSQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "eSY" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/smooth, @@ -16569,17 +17007,9 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) -"eTT" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/duct, -/obj/machinery/light/small/directional/north, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron, -/area/station/service/bar) "eUe" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/railing, /turf/open/floor/iron/white, /area/station/medical/chemistry) "eUf" = ( @@ -16600,6 +17030,26 @@ /obj/item/seeds/tower, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"eUm" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eUA" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green/corner{ @@ -16632,17 +17082,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"eUC" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = -4 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 - }, -/obj/machinery/photocopier, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "eUI" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -16660,38 +17099,18 @@ /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) "eUR" = ( -/obj/structure/table, -/obj/machinery/button/door/directional/west{ - id = "briggate"; - name = "Brig Shutters"; - pixel_x = -6; - pixel_y = -2 - }, -/obj/machinery/button/flasher{ - id = "brigentry"; - pixel_x = -7; - pixel_y = 9 - }, -/obj/machinery/button/door/directional/west{ - id = "innerbrig"; - name = "Brig Interior Doors Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = 9; - req_access = list("security") - }, -/obj/machinery/button/door/directional/west{ - id = "outerbrig"; - name = "Brig Exterior Doors Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = -2; - req_access = list("security") - }, /obj/item/radio/intercom/prison/directional/north, /obj/effect/turf_decal/tile/red/full, +/obj/machinery/light_switch/directional/north{ + pixel_x = 12 + }, /turf/open/floor/iron/dark/textured_large, /area/station/security/brig/entrance) +"eUU" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eUW" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/start/janitor, @@ -16708,11 +17127,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva/lower) -"eVi" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "eVl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -16733,6 +17147,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"eVu" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "eVC" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -16827,6 +17247,9 @@ "eWP" = ( /obj/machinery/computer/security/mining, /obj/effect/turf_decal/tile/brown/anticorner/contrasted, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/command/bridge) "eWQ" = ( @@ -16846,24 +17269,45 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"eXc" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"eXD" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "eXH" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"eXZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "eYe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"eYm" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "eYn" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -16881,6 +17325,14 @@ "eYC" = ( /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) +"eYF" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "eYH" = ( /obj/machinery/power/smes/super/full, /obj/structure/cable, @@ -16891,7 +17343,12 @@ /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "eYR" = ( /obj/effect/turf_decal/trimline/green/filled/line{ @@ -16907,6 +17364,11 @@ }, /turf/open/floor/iron/dark, /area/station/medical/virology) +"eYS" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "eYT" = ( /obj/item/paper_bin{ pixel_x = -3; @@ -16937,6 +17399,12 @@ /obj/machinery/drone_dispenser, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"eZn" = ( +/obj/structure/fence/corner{ + dir = 9 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eZp" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/dirt, @@ -16950,6 +17418,17 @@ /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"eZA" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) +"eZC" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "eZK" = ( /obj/machinery/recycler{ dir = 8 @@ -16985,6 +17464,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) +"eZW" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fab" = ( /obj/structure/cable, /turf/open/floor/engine, @@ -17022,26 +17511,6 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"far" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/turf/open/floor/iron/stairs/old{ - dir = 4 - }, -/area/station/hallway/primary/starboard) -"fat" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "faG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -17058,30 +17527,26 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"fbg" = ( -/obj/machinery/door/airlock/wood{ - name = "Backstage" +"faL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) +"faW" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured_half{ +/obj/structure/railing{ dir = 1 }, -/area/station/service/theater) -"fbh" = ( -/obj/machinery/power/tracker, -/obj/structure/cable, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/turf/open/floor/iron, +/area/station/service/hydroponics) "fbl" = ( /turf/open/floor/iron/dark, /area/station/science/breakroom) @@ -17092,14 +17557,18 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room) -"fbW" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/siding/wood{ +"fbC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/carpet/red, +/area/station/security/prison/work) +"fbM" = ( +/obj/structure/chair/stool/directional/north, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) +/turf/open/floor/iron, +/area/station/commons/fitness) "fbY" = ( /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, @@ -17110,14 +17579,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"fce" = ( -/obj/structure/table/glass, -/obj/structure/sign/poster/contraband/little_fruits/directional/east, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/plant_analyzer, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fcg" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17130,22 +17591,28 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"fcj" = ( -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) -"fco" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/bar) +"fch" = ( +/obj/structure/lattice, +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "fcu" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/chair, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"fcA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "fcI" = ( /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17221,12 +17688,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"fdP" = ( -/obj/structure/bonfire, -/obj/item/melee/roastingstick, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +"fdV" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/item/bikehorn/rubberducky, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "fdX" = ( /obj/item/toy/cards/deck{ pixel_x = -9; @@ -17240,6 +17709,10 @@ /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /turf/closed/wall, /area/station/medical/cryo) +"fep" = ( +/obj/structure/no_effect_signpost, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fez" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -17275,14 +17748,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"feV" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ffe" = ( /turf/closed/wall/r_wall, /area/station/maintenance/aft/lesser) +"ffj" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "ffp" = ( /obj/structure/bookcase{ name = "Holy Bookcase" @@ -17290,20 +17762,24 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"ffr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"ffq" = ( +/obj/structure/fence{ + dir = 2 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ffz" = ( /obj/machinery/processor/slime, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) +"ffM" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ffQ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -17319,7 +17795,6 @@ /area/station/commons/fitness) "fgm" = ( /obj/machinery/photocopier, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/wood, /area/station/service/library) "fgo" = ( @@ -17341,12 +17816,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"fgz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fgJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -17354,6 +17823,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/security/execution/transfer) +"fgN" = ( +/obj/structure/bonfire/prelit, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fgQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -17370,12 +17844,33 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"fgV" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "fhb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/white/smooth_large, /area/station/science/genetics) +"fhf" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/tall_stairs/start/directional/west, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"fhg" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Dormitory South" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/commons/dorms) "fhu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -17392,19 +17887,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"fhB" = ( -/obj/structure/chair/sofa/bench/left, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"fhS" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/sink/kitchen/directional/west, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "fhU" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -17422,6 +17904,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fhX" = ( +/obj/structure/sign/departments/vault/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "fij" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17528,6 +18014,12 @@ /obj/machinery/ntnet_relay, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"fja" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "fjg" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/trimline/blue, @@ -17546,16 +18038,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"fju" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "fjz" = ( /obj/effect/decal/cleanable/generic, /obj/effect/decal/cleanable/dirt, @@ -17582,32 +18064,32 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"fjO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"fjN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "fjQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/mine/living_quarters) +"fjT" = ( +/obj/structure/fence/end{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fkc" = ( /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/sign/poster/contraband/missing_gloves/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"fkd" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) "fkj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17623,19 +18105,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) -"fkq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fkt" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/icemoon, /area/station/maintenance/port/lesser) +"fkw" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"fkD" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "fkF" = ( /obj/item/weldingtool, /turf/open/floor/plating/snowed/icemoon, @@ -17686,6 +18170,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"flm" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "flx" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=HOP"; @@ -17710,12 +18202,25 @@ /obj/machinery/vending/wardrobe/jani_wardrobe, /turf/open/floor/iron, /area/station/service/janitor) +"flJ" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sign/poster/official/obey/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"flK" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "flV" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/siding/wood/corner, /obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/sepia, /area/station/service/library) "flW" = ( /obj/machinery/atmospherics/components/tank/air, @@ -17798,13 +18303,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"fna" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17839,6 +18337,13 @@ /obj/structure/chair/sofa/middle/brown, /turf/open/floor/carpet/blue, /area/station/security/prison/work) +"fnO" = ( +/obj/machinery/atmospherics/components/tank/air{ + initialize_directions = 3; + dir = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "fnS" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -17861,9 +18366,16 @@ /area/station/medical/storage) "foy" = ( /obj/item/radio/intercom/directional/south, -/obj/machinery/vending/wardrobe/science_wardrobe, +/obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"foI" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/storage/box/matches, +/obj/effect/spawner/random/entertainment/cigar, +/turf/open/floor/iron, +/area/station/service/bar) "foO" = ( /turf/open/floor/carpet, /area/station/security/prison/rec) @@ -17881,16 +18393,6 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/commons/dorms) -"fpm" = ( -/obj/structure/railing/corner/end{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "fpp" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -17898,7 +18400,6 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 }, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) "fps" = ( @@ -17913,11 +18414,6 @@ dir = 9 }, /area/station/security/prison/safe) -"fpt" = ( -/obj/structure/kitchenspike, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "fpA" = ( /obj/machinery/hydroponics/soil, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -17930,7 +18426,6 @@ /obj/item/pickaxe, /obj/item/tank/internals/emergency_oxygen, /obj/item/clothing/mask/breath, -/obj/structure/sign/warning/cold_temp/directional/east, /turf/open/floor/plating, /area/station/commons/dorms/laundry) "fpD" = ( @@ -17939,11 +18434,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"fpF" = ( -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fpJ" = ( /obj/structure/fireaxecabinet/directional/west, /obj/machinery/suit_storage_unit/atmos, @@ -17987,6 +18477,15 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"fqR" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Primary Hallway West" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fqW" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/carbon{ @@ -18005,11 +18504,6 @@ dir = 8 }, /area/station/medical/chem_storage) -"fqX" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "frd" = ( /obj/structure/railing/corner{ dir = 1 @@ -18027,6 +18521,9 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"frp" = ( +/turf/closed/wall/mineral/iron, +/area/icemoon/underground/explored) "frq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -18059,6 +18556,15 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"frF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "frN" = ( /obj/machinery/power/shieldwallgen, /obj/structure/window/reinforced/spawner/directional/west, @@ -18072,9 +18578,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 }, -/obj/structure/railing/corner{ - dir = 4 - }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "frS" = ( @@ -18082,6 +18585,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/evidence) +"frU" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"frV" = ( +/obj/structure/flora/grass/brown/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fsm" = ( /obj/structure/flora/rock/pile/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -18099,11 +18615,26 @@ "fsv" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"fsx" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) +"fsy" = ( +/obj/structure/sign/departments/xenobio/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) "fsF" = ( /obj/effect/spawner/structure/window, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"fsJ" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fsK" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle{ @@ -18111,14 +18642,6 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) -"fsO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "fsQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/effect/turf_decal/tile/blue{ @@ -18145,20 +18668,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"fte" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/closet/secure_closet/hydroponics, -/obj/structure/sign/clock/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"ftf" = ( +/obj/structure/table/wood, +/obj/item/food/pie/cream, +/obj/item/bikehorn, +/obj/machinery/status_display/evac/directional/west, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "ftt" = ( -/obj/structure/sign/warning/secure_area/directional/south{ - desc = "A warning sign which reads 'SERVER ROOM'."; - name = "SERVER ROOM" - }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/server) @@ -18194,6 +18712,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"fuc" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/hydro, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fue" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -18205,10 +18733,35 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"fuf" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fum" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"fup" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "fuD" = ( /obj/structure/tank_holder/extinguisher, /obj/structure/sign/poster/random/directional/north, @@ -18227,9 +18780,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"fuN" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/tall_stairs/small/directional/east, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fuS" = ( -/obj/structure/stairs/east, -/obj/structure/railing, +/obj/structure/tall_stairs/end/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) "fuX" = ( @@ -18252,16 +18817,6 @@ "fvk" = ( /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) -"fvm" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fvx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18282,6 +18837,36 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/lobby) +"fvF" = ( +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat/science{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/clothing/shoes/winterboots{ + pixel_x = -7; + pixel_y = -1 + }, +/obj/item/biopsy_tool{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/gps/mining{ + pixel_x = -7; + pixel_y = -3 + }, +/obj/item/knife/combat/survival{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/machinery/light/directional/east, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"fvI" = ( +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/grimy, +/area/station/hallway/secondary/entry) "fvK" = ( /obj/structure/rack, /obj/item/storage/box/petridish, @@ -18301,9 +18886,13 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "fvX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/greater) +/obj/machinery/door/airlock/atmos{ + name = "Turbine"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "fwh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18314,13 +18903,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"fwi" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "fwm" = ( /obj/effect/turf_decal/plaque{ icon_state = "L14" @@ -18337,9 +18919,25 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"fwx" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"fwy" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "fwB" = ( /turf/closed/mineral/snowmountain/coldroom, /area/station/service/kitchen/coldroom) +"fwC" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "fwD" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -18398,9 +18996,8 @@ "fwW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/stairs/right{ - dir = 4 - }, +/obj/structure/tall_stairs/small/directional/west, +/turf/open/floor/plating, /area/station/engineering/lobby) "fxd" = ( /obj/effect/decal/cleanable/dirt, @@ -18475,14 +19072,9 @@ /obj/machinery/telecomms/server/presets/service, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"fyL" = ( -/obj/structure/table, -/obj/item/storage/medkit/regular, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +"fyI" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/icemoon/underground/explored) "fyQ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -18496,18 +19088,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"fyT" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 3 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 3 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/textured, -/area/mine/mechbay) "fyZ" = ( /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, @@ -18623,6 +19203,10 @@ }, /turf/open/floor/plating, /area/station/cargo/drone_bay) +"fBh" = ( +/obj/structure/railing, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "fBs" = ( /obj/structure/table, /obj/item/paper, @@ -18651,15 +19235,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"fBJ" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "fBM" = ( /obj/structure/chair{ dir = 4 @@ -18668,11 +19243,6 @@ dir = 8 }, /area/station/service/chapel) -"fBN" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "fBQ" = ( /obj/structure/cable, /turf/open/floor/iron/white/corner{ @@ -18686,28 +19256,6 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "fCd" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "Prison Gate"; - name = "Prison Wing Lockdown"; - pixel_x = 5; - pixel_y = 8; - req_access = list("brig") - }, -/obj/machinery/button/door{ - id = "Trial Transfer"; - name = "Trial Transfer Lockdown"; - pixel_x = -7; - pixel_y = 8; - req_access = list("brig") - }, -/obj/machinery/button/door{ - id = "Secure Gate"; - name = "Cell Shutters"; - pixel_x = -7; - pixel_y = -3; - req_access = list("brig") - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -18719,22 +19267,46 @@ "fCw" = ( /obj/machinery/door/morgue{ name = "Relic Closet"; - req_access = list("chapel_office") + req_access = list("chapel_office"); + dir = 4 }, /turf/open/floor/cult, /area/station/service/chapel/office) +"fCA" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "fCM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/medbay/lobby) -"fCS" = ( -/obj/machinery/door/poddoor/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "fCW" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/processing) +"fCX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "fDc" = ( /obj/structure/chair/office, /obj/effect/landmark/start/warden, @@ -18750,6 +19322,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"fDf" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fDl" = ( /obj/machinery/light/small/built/directional/west, /turf/open/floor/iron, @@ -18758,10 +19337,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"fDp" = ( -/obj/machinery/light/small/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored/graveyard) "fDI" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ @@ -18779,15 +19354,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/janitor) -"fDM" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Security Post - Engineering" - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red, -/obj/machinery/computer/security/telescreen/engine/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) "fDP" = ( /obj/structure/cable, /obj/item/radio/intercom/prison/directional/north, @@ -18807,6 +19373,25 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"fEe" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) +"fEq" = ( +/obj/structure/fence/cut/medium{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fEA" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -18818,22 +19403,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/processing) -"fEC" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Security Checkpoint" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brigoutpost" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/station/security/brig/entrance) "fER" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -18862,11 +19431,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"fEY" = ( -/obj/item/stack/rods/two, -/obj/item/stack/sheet/iron, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fEZ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -18879,6 +19443,13 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fFe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fFi" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -18921,6 +19492,11 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"fFG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/medical/virology) "fFJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18931,6 +19507,10 @@ /obj/structure/disposalpipe/junction/flip{ dir = 4 }, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay South"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "fGn" = ( @@ -18951,13 +19531,10 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"fGr" = ( -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +"fGu" = ( +/obj/structure/fence/end, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fGI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -18967,6 +19544,7 @@ dir = 4 }, /obj/structure/lattice/catwalk, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) "fGM" = ( @@ -18977,11 +19555,6 @@ dir = 8 }, /area/station/security/brig/entrance) -"fHb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) "fHg" = ( /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/dark/side, @@ -18999,27 +19572,24 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera{ +/obj/machinery/newscaster/directional/south, +/obj/machinery/camera/directional/south{ c_tag = "Medbay North"; network = list("ss13","medbay") }, -/obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fHC" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "fHK" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/meeting_room) +"fHO" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "fHQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/violet/visible{ dir = 5 @@ -19048,17 +19618,9 @@ /area/station/service/chapel/office) "fHY" = ( /obj/item/kirbyplants/random, -/obj/machinery/button/door/directional/south{ - id = "stationawaygate"; - name = "Gateway Access Shutter Control"; - pixel_x = 6; - req_access = list("gateway") - }, /obj/machinery/vending/wallmed/directional/west, -/obj/machinery/light_switch/directional/south{ - pixel_x = -6 - }, /obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/newscaster/directional/south, /turf/open/floor/iron/dark, /area/station/command/gateway) "fHZ" = ( @@ -19071,14 +19633,15 @@ /area/mine/eva/lower) "fIb" = ( /obj/machinery/light/warm/directional/north, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) "fIn" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) "fIs" = ( @@ -19109,7 +19672,6 @@ /area/station/maintenance/department/medical/central) "fJd" = ( /obj/item/kirbyplants/random, -/obj/structure/sign/warning/pods/directional/west, /obj/effect/turf_decal/tile/blue{ dir = 8 }, @@ -19161,6 +19723,11 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"fJS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fKe" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering West" @@ -19187,11 +19754,6 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fKk" = ( -/obj/item/kirbyplants/fern, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fKr" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -19231,6 +19793,23 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"fKR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) +"fKV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "fKW" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Upper Permabrig Hallway North"; @@ -19242,10 +19821,22 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"fLa" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"fKZ" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/kitchen) "fLb" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -19277,31 +19868,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory/upper) +"fLu" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fLC" = ( /obj/structure/chair/stool/directional/west, /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/east, /turf/open/floor/wood/large, /area/mine/eva/lower) -"fLG" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"fLH" = ( -/obj/machinery/computer/station_alert{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/ce/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "fLK" = ( /obj/structure/railing/corner{ dir = 8 @@ -19340,11 +19923,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) -"fLU" = ( -/turf/open/floor/iron/stairs/medium{ - dir = 4 - }, -/area/station/science/research) "fLY" = ( /obj/structure/table, /obj/item/stock_parts/micro_laser{ @@ -19383,7 +19961,6 @@ /obj/item/reagent_containers/cup/bottle/formaldehyde{ pixel_x = 1 }, -/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -19395,14 +19972,38 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/effect/turf_decal/stripes/line, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"fMu" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/crushed_can, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"fMt" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/engine_smes) +"fMC" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"fME" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fNa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -19437,24 +20038,25 @@ /obj/item/clothing/suit/hooded/wintercoat, /obj/item/clothing/shoes/winterboots, /obj/item/clothing/shoes/winterboots, -/obj/structure/sign/warning/gas_mask/directional/west, /obj/machinery/light/small/directional/west, -/obj/machinery/mining_weather_monitor/directional/north, /obj/effect/turf_decal/delivery/red, /obj/machinery/camera/directional/north{ - c_tag = "Arrivals External Access"; - dir = 9 + c_tag = "Arrivals External Access" }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) -"fNz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fNA" = ( -/turf/open/openspace, +/obj/structure/ladder{ + name = "chemistry lab access" + }, +/obj/machinery/door/window/left/directional/south{ + name = "Morgue Access Hatch"; + req_access = list("medical") + }, +/obj/effect/turf_decal/stripes/end, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/central) "fNK" = ( /obj/structure/cable, @@ -19471,13 +20073,21 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter) -"fOg" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"fNZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"fOc" = ( +/obj/structure/fence/door, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fOl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19491,6 +20101,13 @@ dir = 9 }, /area/station/science/lab) +"fOS" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "fPb" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -19499,11 +20116,19 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "fPh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"fPr" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/flora/grass/both/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fPv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -19521,13 +20146,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"fPO" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/command/heads_quarters/rd) "fPP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19563,28 +20181,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fQa" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fQc" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 1 }, /turf/open/floor/iron, /area/station/engineering/atmos) +"fQe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Lower" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "fQk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"fQs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "fQu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19607,12 +20223,6 @@ dir = 1 }, /area/station/security/prison) -"fQU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) "fRb" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -19641,6 +20251,7 @@ dir = 4 }, /obj/structure/railing/corner, +/obj/structure/sign/warning/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "fSi" = ( @@ -19664,14 +20275,28 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"fSs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fSv" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"fSB" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "fSC" = ( /obj/effect/turf_decal/bot, /obj/effect/landmark/start/hangover, -/obj/structure/sign/warning/electric_shock/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) "fTb" = ( @@ -19683,11 +20308,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"fTn" = ( -/obj/effect/spawner/random/structure/grille, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fTo" = ( /obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -3 @@ -19787,16 +20407,13 @@ /turf/open/floor/iron, /area/station/hallway/primary/port) "fUx" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 5 }, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"fUI" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/engineering/storage/tech) "fUL" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -19816,11 +20433,6 @@ "fUR" = ( /turf/closed/wall, /area/station/hallway/secondary/entry) -"fVh" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fVm" = ( /obj/machinery/door/airlock/maintenance{ name = "Chemical Storage" @@ -19839,16 +20451,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"fVC" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/ecto_sniffer{ - pixel_x = 6; - pixel_y = 6 - }, +"fVy" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, /turf/open/floor/iron, -/area/station/science/robotics/lab) +/area/station/command/heads_quarters/ce) "fVD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/engineering{ @@ -19905,20 +20511,6 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) -"fWd" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Hydroponics Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/plating, -/area/station/service/hydroponics) "fWe" = ( /obj/machinery/hydroponics/soil, /obj/item/plant_analyzer, @@ -19931,16 +20523,14 @@ pixel_x = -4; pixel_y = 3 }, -/obj/machinery/camera{ - c_tag = "Surgery A"; - dir = 1; - network = list("ss13","medbay"); - pixel_x = 22 - }, /obj/item/surgery_tray/full, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/camera/directional/north{ + c_tag = "Surgery A"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "fWo" = ( @@ -19955,16 +20545,17 @@ /obj/structure/railing/corner, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"fWE" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"fWK" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat/service"; + name = "Service Bay Turret Control"; + req_access = list("minisat") }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "fWL" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -19991,13 +20582,6 @@ /obj/structure/barricade/wooden/crude/snow, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"fWW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fWX" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating/snowed/icemoon, @@ -20019,6 +20603,7 @@ dir = 4 }, /obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/help_others/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) "fXr" = ( @@ -20031,17 +20616,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"fXw" = ( +/obj/machinery/chem_master/condimaster{ + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + name = "HoochMaster Deluxe" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "fXy" = ( /obj/structure/cable, /obj/machinery/computer/prisoner/management, /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/mine/laborcamp/security) -"fXF" = ( -/obj/structure/table/wood, -/obj/item/pai_card, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fXO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -20056,6 +20644,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) "fYi" = ( @@ -20066,16 +20655,25 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"fYF" = ( -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/openspace, -/area/station/commons/storage/mining) +"fYz" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fYH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/mine/eva/lower) +"fYJ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "fYO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -20089,19 +20687,16 @@ "fYS" = ( /turf/closed/wall, /area/station/commons/storage/primary) +"fYT" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "fYW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"fYX" = ( -/obj/structure/chair/stool/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "fZb" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "miner-passthrough" @@ -20125,16 +20720,38 @@ /obj/structure/curtain/cloth, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"fZO" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"fZT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"fZA" = ( +/obj/machinery/button/door/directional/west{ + id = "xenobio5"; + name = "Xenobio Pen 5 Blast Door"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"fZH" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck{ + pixel_y = 13; + pixel_x = 6 + }, +/obj/effect/spawner/random/entertainment/cigarette, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"fZJ" = ( +/obj/effect/spawner/random/trash, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"fZN" = ( +/obj/structure/tall_stairs/end/directional/north, +/obj/structure/railing{ dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/mine/eva/lower) +"fZT" = ( +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "fZV" = ( @@ -20191,10 +20808,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/cargo/storage) -"gar" = ( -/obj/structure/lattice/catwalk, -/turf/open/misc/asteroid/snow/icemoon, -/area/station/maintenance/aft/greater) "gas" = ( /obj/structure/table, /obj/machinery/camera/directional/east{ @@ -20228,6 +20841,17 @@ /obj/effect/turf_decal/box/corners, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"gaA" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/graveyard) +"gaC" = ( +/obj/structure/closet/lasertag/red, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "gaS" = ( /obj/item/hot_potato/harmless/toy, /obj/structure/table/wood, @@ -20245,6 +20869,12 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"gaY" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "gbd" = ( /obj/item/radio/off{ pixel_y = 6 @@ -20268,6 +20898,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine, /area/station/engineering/supermatter) +"gbl" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/item/hand_labeler{ + pixel_y = -3 + }, +/obj/structure/noticeboard/directional/east, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "gbu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20283,16 +20925,6 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"gbz" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/sign/warning/secure_area/directional/west, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"gbC" = ( -/obj/machinery/vending/dinnerware, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "gbJ" = ( /obj/machinery/door/airlock/security/glass{ name = "Armory" @@ -20317,10 +20949,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"gbM" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/station/maintenance/fore) "gbP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -20328,17 +20956,11 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) -"gcf" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/knife/kitchen{ - pixel_y = 2 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"gbR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron, +/area/station/security/prison/workout) "gck" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20355,22 +20977,14 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"gcy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"gcB" = ( -/obj/item/pickaxe/improvised{ - pixel_x = 7 +"gcP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gcV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -20383,12 +20997,16 @@ /obj/item/food/piedough, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"gdc" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gdg" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 8 }, -/obj/structure/sign/warning/fire/directional/south, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) "gdv" = ( @@ -20423,13 +21041,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"gdK" = ( -/obj/structure/disposalpipe/segment{ +"gdD" = ( +/obj/structure/railing{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "gdN" = ( /obj/structure/railing/corner{ dir = 1 @@ -20439,22 +21056,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"gdO" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gdP" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) "gdS" = ( /obj/machinery/shower/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, /turf/open/floor/iron/smooth, /area/mine/eva/lower) "gdY" = ( @@ -20548,15 +21155,19 @@ /turf/open/floor/plating, /area/mine/eva/lower) "gfy" = ( -/obj/machinery/camera{ - c_tag = "Morgue North"; - dir = 9; - network = list("ss13","medbay") - }, /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + c_tag = "Morgue North" + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/trimline/neutral/filled/end{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) "gfC" = ( @@ -20574,7 +21185,6 @@ /area/station/commons/storage/art) "gfY" = ( /obj/effect/spawner/random/structure/tank_holder, -/obj/structure/sign/poster/official/wtf_is_co2/directional/east, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/maintenance/port/fore) @@ -20597,13 +21207,26 @@ /area/station/maintenance/port/greater) "ggv" = ( /obj/effect/turf_decal/bot, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 2; - pixel_y = -32 - }, /obj/machinery/shower/directional/north, /turf/open/floor/iron/smooth, /area/mine/eva) +"ggz" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ggG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -20614,10 +21237,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"ggS" = ( -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "ggV" = ( /obj/machinery/conveyor{ id = "gulag" @@ -20626,12 +21245,20 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/mine/laborcamp) +"ghb" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ghj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/binary/pump{ name = "Gas to Chamber" }, /obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/fire/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter) "ghl" = ( @@ -20648,12 +21275,6 @@ /obj/structure/closet/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"ghA" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "ghE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/west{ @@ -20675,27 +21296,6 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"ghQ" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) -"ghT" = ( -/obj/machinery/newscaster/directional/north, -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/toy/figure/mime{ - pixel_x = -6 - }, -/obj/item/toy/figure/clown{ - pixel_x = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "ghY" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) @@ -20707,20 +21307,28 @@ /obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"giH" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/barsign/all_access/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 4 +"giB" = ( +/obj/machinery/door/window/right/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" }, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "giN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron/dark/side, /area/station/security/prison/workout) +"giO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/fore) "giP" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -20747,6 +21355,7 @@ /obj/effect/spawner/random/maintenance, /obj/item/screwdriver, /obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/plaques/kiddie/perfect_drone/directional/north, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) "giV" = ( @@ -20796,7 +21405,9 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "gjN" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -20804,6 +21415,7 @@ /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, +/obj/structure/sign/warning/pods/directional/north, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "gjP" = ( @@ -20821,13 +21433,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/wood, /area/station/security/courtroom) -"gjT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "gjW" = ( /obj/structure/chair, /turf/open/floor/iron/cafeteria, @@ -20855,6 +21460,14 @@ /obj/machinery/bouldertech/refinery/smelter, /turf/open/floor/iron, /area/mine/production) +"gkp" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/plating/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gks" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -20864,12 +21477,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"gkH" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/cigarette, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "gkK" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ color = "#0000ff"; @@ -20932,10 +21539,6 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/cold_temp{ - pixel_x = -2; - pixel_y = -32 - }, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) @@ -20974,6 +21577,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/electrical) +"glM" = ( +/obj/structure/fence/door/opened, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "glP" = ( /obj/structure/railing/corner, /obj/item/storage/belt/utility, @@ -21022,11 +21629,11 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) -"gmt" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/food_cart, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"gmI" = ( +/obj/structure/flora/grass/both/style_random, +/obj/item/stack/rods, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gmJ" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Infiltrate/Filter" @@ -21072,6 +21679,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"gnc" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "gnh" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/cargo) @@ -21099,9 +21716,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"gnE" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/grass, +"gnJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "gnL" = ( /obj/structure/closet/bombcloset/security, @@ -21115,32 +21739,11 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) -"gnR" = ( -/obj/structure/toilet/greyscale{ - cistern_open = 1; - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) -"gnZ" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "gob" = ( /obj/structure/closet/wardrobe/black, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"goc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/smartfridge/organ, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"goq" = ( -/turf/open/openspace, -/area/station/science/research) "gov" = ( /obj/machinery/door/window/left/directional/west{ name = "Janitorial Delivery"; @@ -21183,8 +21786,17 @@ "goJ" = ( /obj/structure/flora/rock/pile/jungle/style_random, /mob/living/carbon/human/species/monkey, +/obj/machinery/camera/directional/north{ + c_tag = "Virology Pen"; + network = list("ss13","medbay") + }, /turf/open/floor/grass, /area/station/medical/virology) +"goY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "gpj" = ( /obj/structure/chair/sofa/corp/right{ dir = 8 @@ -21206,6 +21818,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"gpM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gpU" = ( /obj/structure/frame/computer, /obj/item/stack/cable_coil/five, @@ -21224,6 +21843,13 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) +"gqa" = ( +/obj/structure/tall_stairs/end/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) "gqh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink/kitchen/directional/north{ @@ -21256,10 +21882,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"gqG" = ( -/obj/structure/sign/warning, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) "gqK" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -21278,32 +21900,46 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"gqY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "gqZ" = ( -/obj/machinery/status_display/door_timer{ - id = "Cell 2"; - name = "Cell 2"; - pixel_x = -32 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/status_display/door_timer/directional/west{ + id = "Cell 2"; + name = "Cell 2" + }, /turf/open/floor/iron/textured, /area/station/security/brig) -"grg" = ( -/obj/item/toy/snowball{ - pixel_x = 6; - pixel_y = 5 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"gra" = ( +/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, +/obj/machinery/door/airlock/medical/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"grf" = ( +/obj/structure/closet/toolcloset, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron, +/area/station/construction) "grk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) +"grp" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "grr" = ( /obj/structure/table, /obj/item/storage/box/shipping, @@ -21318,10 +21954,6 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) -"grs" = ( -/obj/structure/sign/warning/fire/directional/south, -/turf/open/floor/glass/reinforced, -/area/station/science/ordnance/office) "grA" = ( /obj/structure/table/reinforced, /obj/item/assembly/flash/handheld, @@ -21352,22 +21984,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"grL" = ( +/obj/machinery/light/small/directional/east, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/graveyard) "grN" = ( /obj/structure/chair{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/lobby) -"grO" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "grT" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -21379,10 +22005,10 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "grU" = ( -/obj/structure/sign/poster/official/random/directional/north, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/here_for_your_safety/directional/north, /turf/open/floor/iron, /area/station/security/prison/visit) "gsk" = ( @@ -21401,8 +22027,23 @@ /obj/item/radio/intercom/directional/south, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Mining B-1 Hallway North"; + network = list("ss13", "mine") + }, /turf/open/floor/iron/dark/side, /area/mine/eva) +"gsI" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "gsK" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/weather/snow/corner{ @@ -21447,6 +22088,16 @@ /obj/effect/turf_decal/tile/neutral/diagonal_edge, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"gtB" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "gtF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -21459,17 +22110,19 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, /area/station/commons/locker) -"gua" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"guA" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"guO" = ( +/obj/item/stack/sheet/mineral/wood, +/obj/effect/decal/cleanable/generic, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "guS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21504,13 +22157,14 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"gvi" = ( -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 4 +"gvf" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio8"; + name = "Xenobio Pen 8 Blast DOors"; + req_access = list("xenobiology") }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gvj" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -21529,23 +22183,11 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "gvM" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/smartfridge/extract/preloaded, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/east, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) -"gwb" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"gwm" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/research) "gwp" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/full, @@ -21580,6 +22222,10 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"gwC" = ( +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gwJ" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 5 @@ -21606,6 +22252,17 @@ dir = 4 }, /area/station/maintenance/port/fore) +"gwW" = ( +/obj/structure/ladder, +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"gxg" = ( +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "gxh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21625,10 +22282,17 @@ /obj/item/radio/intercom/prison/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison/rec) -"gxz" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +"gxK" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/structure/sign/flag/terragov/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "gxO" = ( /obj/structure/table/reinforced, /obj/item/hand_labeler{ @@ -21661,22 +22325,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/eva) -"gxT" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "gxU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21689,15 +22337,39 @@ /obj/item/storage/medkit/regular, /turf/open/floor/iron, /area/station/commons/dorms) +"gyd" = ( +/obj/machinery/space_heater, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gyf" = ( /obj/structure/table/wood, /obj/machinery/newscaster/directional/south, -/obj/item/storage/fancy/candle_box, +/obj/item/book/bible{ + pixel_y = 8 + }, /obj/item/storage/fancy/candle_box{ pixel_x = 4 }, +/obj/item/storage/fancy/candle_box, /turf/open/floor/iron/dark, /area/station/service/chapel) +"gyg" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "gyH" = ( /obj/machinery/light/directional/north, /obj/machinery/vending/coffee, @@ -21705,14 +22377,25 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"gyP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) +"gyO" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/cytology{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/storage/box/swab{ + pixel_y = 7; + pixel_x = 7 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"gyQ" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "gyR" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -21730,6 +22413,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"gzI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) +"gzL" = ( +/obj/structure/closet/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "gzV" = ( /obj/structure/mineral_door/paperframe{ name = "Meditation Room" @@ -21749,6 +22448,7 @@ /obj/structure/cable, /obj/machinery/light/small/dim/directional/north, /obj/effect/mapping_helpers/broken_floor, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/lesser) "gAk" = ( @@ -21774,25 +22474,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) -"gAw" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gAB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -21805,44 +22486,14 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"gAG" = ( -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "gAR" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/security/prison) -"gAY" = ( -/obj/structure/sign/warning/cold_temp/directional/west, -/turf/open/floor/iron, -/area/station/cargo/miningdock) "gAZ" = ( -/obj/structure/rack, -/obj/item/clothing/suit/hooded/wintercoat/science{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/clothing/shoes/winterboots{ - pixel_x = -7; - pixel_y = -1 - }, -/obj/item/biopsy_tool{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/gps/mining{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/item/knife/combat/survival{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/structure/sign/warning/gas_mask/directional/north, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gBb" = ( /obj/machinery/door/window/right/directional/west{ name = "Containment Pen 3"; @@ -21866,14 +22517,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gBl" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/icemoon/underground/explored) -"gBs" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gBv" = ( /obj/machinery/door/window/left/directional/south{ name = "Engineering Delivery"; @@ -21893,6 +22536,7 @@ /area/station/engineering/atmos) "gBI" = ( /obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) "gBX" = ( @@ -21902,6 +22546,19 @@ }, /turf/open/floor/plating, /area/station/security/prison/work) +"gBY" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"gCb" = ( +/obj/structure/table/glass, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/plant_analyzer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gCd" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -21948,11 +22605,14 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"gCG" = ( -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/decal/cleanable/dirt, +"gCI" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green, +/obj/structure/sign/plaques/kiddie/directional/north, /turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/ai_monitored/turret_protected/ai_upload) "gCK" = ( /obj/structure/chair/office{ dir = 8 @@ -21983,19 +22643,18 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/courtroom) -"gDh" = ( -/obj/structure/flora/grass/brown/style_random, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "gDp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"gDq" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gDz" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/glass/bottle/amaretto{ @@ -22013,22 +22672,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"gDB" = ( -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"gDL" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/item/toy/plush/moth{ - name = "Theseus" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gDN" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -22047,31 +22690,20 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"gDY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "gDZ" = ( /turf/open/floor/wood, /area/station/maintenance/port/fore) "gEb" = ( -/obj/machinery/button/door/directional/west{ - id = "riot"; - name = "Anti-Riot Shutters"; - pixel_x = -7; - pixel_y = 32; - req_access = list("security") - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/machinery/button/door/directional/north{ + id = "riot"; + name = "Anti-Riot Shutters"; + req_access = list("security") + }, /turf/open/floor/iron, /area/station/hallway/primary/fore) "gEd" = ( @@ -22082,20 +22714,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"gEe" = ( -/obj/structure/table, -/obj/item/binoculars, -/obj/machinery/computer/security/telescreen/ordnance/directional/north, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) -"gEl" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gEn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22119,11 +22737,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"gEt" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gEE" = ( /turf/open/openspace, /area/station/service/chapel) @@ -22145,18 +22758,11 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"gEX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"gEZ" = ( +"gFi" = ( +/obj/structure/tall_stairs/end/directional/west, /obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/smooth_half, +/area/station/science/cytology) "gFj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -22164,15 +22770,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) -"gFt" = ( -/obj/effect/spawner/random/engineering/canister, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"gFx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating/icemoon, -/area/station/maintenance/solars/port/aft) "gFH" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, @@ -22194,15 +22791,13 @@ dir = 1 }, /obj/item/clothing/glasses/meson, +/obj/machinery/button/door/directional/north{ + id = "engsm"; + name = "Radiation Shutters Control"; + req_access = list("engineering") + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"gFW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/wood/large, -/area/station/service/bar) "gFX" = ( /turf/closed/wall, /area/icemoon/underground/explored) @@ -22230,8 +22825,8 @@ /area/station/engineering/atmos/storage) "gGo" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east, /obj/structure/cable, +/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "gGs" = ( @@ -22260,6 +22855,7 @@ /obj/structure/table, /obj/item/stack/sheet/glass/fifty, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/atmos/storage) "gGE" = ( @@ -22288,16 +22884,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, +/obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"gGS" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/white, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "gGZ" = ( /obj/machinery/computer/bank_machine, /obj/effect/turf_decal/bot_white, @@ -22315,6 +22904,7 @@ /area/mine/laborcamp) "gHj" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/commons/dorms) "gHl" = ( @@ -22357,9 +22947,6 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"gHL" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) "gHN" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -22384,26 +22971,23 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/checker, /area/station/science/lab) -"gIf" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "gIl" = ( /obj/structure/fence/corner{ - dir = 6 + dir = 4; + pixel_y = 0 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"gIs" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "gIt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, @@ -22438,34 +23022,6 @@ "gIY" = ( /turf/closed/wall, /area/station/medical/medbay/central) -"gJi" = ( -/obj/structure/table, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/crowbar, -/obj/item/radio/headset/headset_sci{ - pixel_x = -3 - }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "gJs" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/disposalpipe/segment, @@ -22481,6 +23037,14 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/commons/dorms) +"gJD" = ( +/obj/item/reagent_containers/cup/soda_cans/beer{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gJK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -22578,33 +23142,55 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"gLS" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) +"gLQ" = ( +/obj/structure/sign/warning/fire{ + pixel_y = 48 + }, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"gLX" = ( +/obj/structure/railing/wooden_fence{ + dir = 9 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "gLY" = ( -/obj/machinery/vatgrower, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/theater, /obj/structure/cable, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gLZ" = ( /obj/structure/table, /obj/item/flashlight/lamp, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"gMi" = ( +"gMl" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen{ - pixel_x = -5 +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 }, -/obj/item/hand_labeler{ - pixel_y = -3 +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) +"gMq" = ( +/obj/machinery/computer/cargo{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/machinery/keycard_auth/wall_mounted/directional/west, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "gMt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -22616,24 +23202,9 @@ /turf/open/floor/wood, /area/station/commons/vacant_room/office) "gMw" = ( -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = -29 - }, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth, /area/mine/eva) -"gMx" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "gMK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22651,7 +23222,6 @@ /area/station/hallway/primary/central) "gMN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /obj/structure/disposalpipe/segment{ @@ -22666,6 +23236,9 @@ "gMT" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/lamp{ + start_on = 0 + }, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "gMZ" = ( @@ -22677,13 +23250,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gNc" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) "gNg" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat External South"; @@ -22692,10 +23258,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"gNh" = ( -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "gNi" = ( /obj/structure/table, /obj/item/reagent_containers/cup/beaker/large{ @@ -22709,21 +23271,6 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/cafeteria, /area/station/science/lab) -"gNu" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"gNw" = ( -/obj/structure/flora/bush/grassy/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "gNH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -22734,6 +23281,7 @@ "gNJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) @@ -22752,6 +23300,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"gOa" = ( +/obj/structure/cable, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "gOb" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -22761,15 +23316,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"gOd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "gOg" = ( /obj/machinery/light/small/directional/west, /obj/machinery/camera/directional/west{ @@ -22801,6 +23347,7 @@ "gOq" = ( /obj/effect/spawner/random/trash, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "gOx" = ( @@ -22851,9 +23398,12 @@ dir = 4 }, /obj/machinery/door/airlock/hatch{ - name = "Morgue" + name = "Morgue"; + dir = 4 + }, +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/medical/morgue, /turf/open/floor/iron/dark, /area/station/medical/morgue) @@ -22866,13 +23416,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) -"gPo" = ( -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 8 - }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gPp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -22880,14 +23423,9 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"gPB" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "gPE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -23000,30 +23538,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"gRE" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" +"gRt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/turf/open/floor/iron, +/area/station/engineering/engine_smes) +"gRA" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/test_chamber/directional/east{ + name = "Xenobio Monitor" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gRI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"gRL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gRZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -23034,6 +23568,12 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/prison/visit) +"gSd" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gSr" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/utility/radiation, @@ -23046,6 +23586,12 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"gSs" = ( +/obj/structure/noticeboard/captain{ + pixel_y = 36 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "gSy" = ( /turf/open/floor/iron, /area/station/security/prison/workout) @@ -23059,14 +23605,14 @@ /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "gSK" = ( -/obj/structure/railing/corner{ - dir = 1 - }, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/open/floor/iron/dark/side{ dir = 1 }, @@ -23084,30 +23630,6 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) -"gSQ" = ( -/obj/structure/table, -/obj/item/crowbar/red, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) -"gSU" = ( -/obj/item/popsicle_stick{ - pixel_y = 1; - pixel_x = -9 - }, -/obj/item/popsicle_stick{ - pixel_y = 3; - pixel_x = -2 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "gSV" = ( /obj/machinery/light/directional/south, /obj/structure/bodycontainer/morgue{ @@ -23117,6 +23639,17 @@ dir = 1 }, /area/station/service/chapel/office) +"gTa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "gTb" = ( /obj/machinery/conveyor{ dir = 1; @@ -23125,31 +23658,31 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/sign/warning/cold_temp/directional/west, /obj/machinery/light/directional/west, /turf/open/floor/plating, /area/station/cargo/storage) -"gTi" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Chemistry Access" - }, +"gTq" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"gTr" = ( /obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/turf_decal/tile/yellow/full, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) -"gTq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "gTw" = ( /obj/structure/railing{ dir = 8 @@ -23167,6 +23700,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"gUa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gUg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -23196,13 +23734,18 @@ dir = 1 }, /area/station/security/processing) -"gUw" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"gUt" = ( +/obj/structure/fence/cut/large{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"gUv" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gUx" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -23219,17 +23762,9 @@ /area/icemoon/underground/explored) "gUT" = ( /obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"gUX" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/test_chamber/directional/east{ - name = "Xenobio Monitor" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "gUY" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -23241,10 +23776,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"gVh" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gVm" = ( /obj/item/coin/silver{ pixel_x = -5; @@ -23257,12 +23788,6 @@ }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"gVs" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/hobo_squat, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gVt" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/red{ @@ -23278,6 +23803,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"gVB" = ( +/obj/structure/chair/stool/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "gVC" = ( /obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -23286,7 +23821,7 @@ dir = 8 }, /obj/machinery/airlock_sensor/incinerator_atmos{ - pixel_y = 24 + pixel_y = 32 }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) @@ -23298,6 +23833,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"gVI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "gVO" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -23323,13 +23865,18 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"gVX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"gVV" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "gWf" = ( /obj/item/storage/box/lights/mixed, /obj/structure/table, @@ -23338,37 +23885,27 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/morgue) -"gWl" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/table/glass, -/obj/machinery/reagentgrinder{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/storage/box/syringes{ - pixel_y = 8; - pixel_x = -5 +"gWi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/storage/box/beakers{ - pixel_y = 5; - pixel_x = -9 +/obj/machinery/door/airlock/freezer{ + desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; + name = "The Ice Box" }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"gWr" = ( -/obj/structure/tank_dispenser, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) -"gWy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, /turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) +/area/station/service/kitchen/coldroom) +"gWx" = ( +/obj/structure/closet/firecloset, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) +"gWV" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) "gWX" = ( /obj/structure/chair{ dir = 4 @@ -23422,10 +23959,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"gXv" = ( -/obj/machinery/portable_atmospherics/pump/lil_pump, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "gXy" = ( /obj/machinery/door/airlock/public/glass{ id_tag = "gulag2"; @@ -23436,6 +23969,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"gXz" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/obj/machinery/door/airlock/external{ + name = "Lower Medical External Access"; + dir = 8 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "gXJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23461,20 +24009,27 @@ /obj/effect/spawner/structure/window/hollow/reinforced, /turf/open/floor/plating, /area/mine/living_quarters) -"gYk" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/chair/sofa/left/brown{ - dir = 8 +"gYm" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "riot"; + name = "Security Shutters" }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/glass/reinforced, +/area/station/hallway/primary/fore) "gYp" = ( /obj/effect/turf_decal/tile/red{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gYq" = ( +/obj/item/toy/snowball{ + pixel_y = -7; + pixel_x = 5 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "gYt" = ( /obj/machinery/door/window/left/directional/west{ name = "Research Division Delivery"; @@ -23490,6 +24045,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"gYv" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/item/toy/figure/mime{ + pixel_x = -6 + }, +/obj/item/toy/figure/clown{ + pixel_x = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "gYz" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -23509,22 +24076,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gYN" = ( -/obj/effect/turf_decal/loading_area/white{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) -"gYO" = ( -/obj/item/food/grown/carrot, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) -"gZa" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "gZb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, @@ -23542,9 +24093,20 @@ /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance/four, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/construction) +"gZq" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "gZt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -23553,8 +24115,7 @@ /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "gZx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "gZP" = ( @@ -23572,10 +24133,6 @@ dir = 1 }, /area/station/security/prison) -"gZR" = ( -/obj/machinery/power/smes/engineering, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "gZT" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -23587,11 +24144,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"gZV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/fore) "hac" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 9 @@ -23608,14 +24160,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hai" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "han" = ( /obj/structure/table, /obj/item/plate, @@ -23656,14 +24200,27 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron, /area/station/cargo/storage) +"haJ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "haQ" = ( /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, +/obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "hbp" = ( /obj/machinery/photocopier, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/meeting_room) "hbt" = ( @@ -23687,10 +24244,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"hbL" = ( -/obj/machinery/light/small/directional/east, -/turf/open/openspace, -/area/station/service/hydroponics) "hbR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23724,15 +24277,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hcj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hcw" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -23756,6 +24300,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"hcZ" = ( +/obj/structure/railing/wooden_fence, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "hdb" = ( /obj/machinery/shower/directional/south, /turf/open/floor/iron/smooth, @@ -23797,9 +24345,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/structure/railing{ - dir = 4 - }, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "hdw" = ( @@ -23808,10 +24353,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"hdz" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/hallway/secondary/exit/departure_lounge) "hdH" = ( /obj/structure/railing{ dir = 1 @@ -23833,30 +24374,6 @@ /obj/effect/spawner/random/engineering/canister, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hek" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/scanning_module, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/item/multitool, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker - }, -/turf/open/floor/iron/white/side{ - dir = 10 - }, -/area/station/science/lab) -"het" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "hex" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -23877,32 +24394,17 @@ /obj/machinery/computer/gateway_control, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/gateway) -"heH" = ( -/obj/structure/sign/poster/random/directional/west, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/lesser) "heQ" = ( /obj/structure/table, /obj/item/stack/cable_coil, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"heS" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - name = "AI Upload Turret Control"; - pixel_y = -25 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Bridge Center" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "heX" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -23911,6 +24413,14 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/science/xenobiology) +"hfd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "hff" = ( /obj/structure/chair/office{ dir = 8 @@ -23918,11 +24428,33 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) +"hfg" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "hfm" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) +"hfs" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/entertainment/musical_instrument, +/obj/item/instrument/harmonica, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "hfv" = ( /obj/machinery/processor{ pixel_y = 6 @@ -23939,14 +24471,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"hfG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hfI" = ( /obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23957,26 +24481,6 @@ /obj/structure/closet/l3closet/scientist, /turf/open/floor/iron, /area/station/science/xenobiology) -"hfY" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/the_owl/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hgc" = ( /obj/structure/table, /turf/open/floor/plating, @@ -23992,10 +24496,14 @@ dir = 5 }, /obj/effect/turf_decal/weather/snow/corner, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) "hgH" = ( /obj/item/radio/intercom/prison/directional/west, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) "hgK" = ( @@ -24006,6 +24514,10 @@ "hgM" = ( /turf/closed/wall, /area/station/security/execution/transfer) +"hgX" = ( +/obj/structure/fence/cut/large, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hgY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance, @@ -24053,12 +24565,23 @@ }, /area/station/service/chapel/office) "hhN" = ( -/obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark/smooth_edge{ dir = 4 }, /area/station/command/gateway) +"hhO" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/structure/displaycase/forsale/kitchen, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hhP" = ( /obj/machinery/newscaster/directional/south, /obj/item/kirbyplants/random, @@ -24081,6 +24604,19 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"hir" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) "hjh" = ( /obj/machinery/computer/records/security{ dir = 4 @@ -24107,16 +24643,20 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics/garden) -"hjw" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"hjz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"hjA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hjE" = ( /turf/closed/wall/r_wall, /area/station/science/explab) @@ -24136,14 +24676,6 @@ "hjM" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/morgue) -"hjO" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) "hjQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -24155,15 +24687,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/project) -"hjU" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "hjV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -24208,6 +24731,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"hkQ" = ( +/obj/structure/table/optable, +/obj/effect/decal/cleanable/xenoblood, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "hkU" = ( /obj/effect/landmark/start/cargo_technician, /obj/structure/chair/office{ @@ -24235,12 +24763,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hlt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "hlv" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/shower/directional/west, @@ -24254,30 +24776,22 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) -"hlQ" = ( -/obj/machinery/door/airlock/external, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "graveyard" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, -/turf/open/floor/plating, -/area/station/medical/morgue) "hlS" = ( -/obj/structure/table, /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/misc/burial, +/obj/structure/rack, /turf/open/floor/iron/dark, /area/station/service/chapel) "hlW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/vending/clothing, +/obj/structure/noticeboard/staff{ + pixel_y = 36 + }, /turf/open/floor/iron, /area/station/commons/locker) "hmb" = ( @@ -24306,6 +24820,19 @@ /obj/item/paper, /turf/open/floor/iron, /area/station/security/checkpoint/customs/auxiliary) +"hmC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"hmF" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "hmX" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ color = "#0000ff"; @@ -24325,11 +24852,17 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hno" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 +"hnm" = ( +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = 3 }, +/obj/machinery/light/small/directional/west, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) +"hno" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/wood, /area/station/service/library) "hnt" = ( @@ -24346,14 +24879,6 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) -"hnK" = ( -/obj/structure/table/wood, -/obj/item/wallframe/camera{ - pixel_y = -2; - pixel_x = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hnN" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens Observation - Port Aft"; @@ -24385,16 +24910,16 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"hog" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"hoa" = ( +/obj/structure/sink/directional/east, +/obj/machinery/button/door/directional/west{ + id = "xenobio2"; + name = "Xenobio Pen 2 Blast Door"; + req_access = list("xenobiology") }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/light/floor, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "hos" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 @@ -24460,6 +24985,19 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"hph" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1; + name = "hydroponics reservoir" + }, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/maintenance/starboard/lesser) "hpm" = ( /obj/machinery/camera/directional/north{ c_tag = "Starboard Primary Hallway East" @@ -24529,25 +25067,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"hpK" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hpM" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -24595,6 +25114,11 @@ }, /turf/open/floor/plating, /area/station/security/processing) +"hqk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "hqm" = ( /obj/structure/table, /obj/item/storage/crayons, @@ -24610,15 +25134,16 @@ }, /area/station/commons/storage/art) "hqv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 1; - name = "Can In" +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/cigarette{ + pixel_x = 6; + pixel_y = 12 }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/turf/open/floor/iron, +/area/mine/eva) "hqx" = ( /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24643,18 +25168,6 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hqV" = ( -/obj/structure/sign/warning/radiation/rad_area, -/turf/closed/wall/r_wall, -/area/station/engineering/main) -"hrd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/machinery/meter/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "hrh" = ( /obj/structure/chair/comfy/beige{ dir = 1 @@ -24670,30 +25183,27 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"hrA" = ( -/obj/machinery/space_heater, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hrJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/storage) -"hrK" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 +"hrO" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Security Checkpoint" }, -/turf/open/floor/iron/dark/side{ - dir = 4 +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brigoutpost" }, -/area/station/service/chapel) +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "hrS" = ( /obj/item/trash/raisins, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24750,11 +25260,6 @@ dir = 6 }, /obj/machinery/light_switch/directional/south, -/obj/machinery/camera{ - c_tag = "Chief Medical Office South"; - dir = 4; - network = list("ss13","medbay") - }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "hsN" = ( @@ -24778,14 +25283,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"htg" = ( +/obj/structure/fireplace, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hth" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hto" = ( -/obj/structure/girder, -/turf/closed/wall, -/area/station/maintenance/starboard/aft) "htp" = ( /obj/machinery/door/poddoor/preopen{ id = "xenobio2"; @@ -24806,6 +25312,14 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"hts" = ( +/obj/structure/table/wood, +/obj/item/wallframe/camera{ + pixel_y = -2; + pixel_x = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hty" = ( /obj/item/stack/rods, /turf/open/misc/asteroid/snow/icemoon, @@ -24848,13 +25362,6 @@ /obj/machinery/vending/autodrobe/all_access, /turf/open/floor/iron, /area/station/commons/locker) -"hut" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/rcl/pre_loaded, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "huB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24910,7 +25417,9 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/obj/machinery/status_display/evac/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark/smooth_edge, /area/station/ai_monitored/command/storage/eva) "huN" = ( @@ -24942,23 +25451,29 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hvi" = ( -/obj/structure/closet/crate/freezer/food{ - name = "cooler" +"hve" = ( +/obj/structure/flora/grass/both/style_random, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"hvj" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"hvQ" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "hvS" = ( /obj/effect/landmark/start/depsec/engineering, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25037,6 +25552,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/upper) +"hxa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hxs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25046,13 +25572,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"hxB" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet2"; - name = "Unit 2" - }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "hxE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25060,16 +25579,13 @@ /turf/open/floor/iron, /area/station/cargo/miningdock) "hxI" = ( +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/iron/dark/side{ dir = 5 }, /area/station/service/chapel) -"hxY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "hyd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -25079,6 +25595,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) +"hye" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "hyj" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -25092,20 +25618,10 @@ /area/station/engineering/lobby) "hyL" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/maintenance/aft/greater) -"hyQ" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/hydro, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hyV" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/testlab) @@ -25116,15 +25632,9 @@ /turf/open/floor/iron, /area/station/cargo/storage) "hzd" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron, /area/station/service/chapel) -"hzw" = ( -/obj/structure/fence/cut/large{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "hzz" = ( /obj/structure/table/glass, /obj/item/clothing/gloves/latex, @@ -25176,6 +25686,11 @@ }, /turf/open/openspace, /area/station/ai_monitored/security/armory/upper) +"hzU" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hzY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -25193,12 +25708,12 @@ "hAo" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/siding/wood/corner, -/obj/structure/sign/calendar/directional/west, +/obj/structure/sign/calendar/directional/north, /turf/open/floor/wood, /area/station/commons/vacant_room/office) "hAq" = ( -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron/white/corner, /area/station/command/heads_quarters/rd) "hAG" = ( @@ -25207,12 +25722,12 @@ }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"hAK" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) +"hAM" = ( +/obj/structure/fence/corner{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hAO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25232,10 +25747,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"hAS" = ( -/obj/machinery/light/cold/directional/east, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "hAT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -25247,10 +25758,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"hAW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hBd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -25312,6 +25819,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"hCk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "hCn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -25386,20 +25906,6 @@ "hDp" = ( /turf/open/floor/engine, /area/station/science/genetics) -"hDu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/book/manual/chef_recipes, -/obj/item/holosign_creator/robot_seat/restaurant, -/obj/structure/rack, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "hDA" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/icemoon, @@ -25408,9 +25914,6 @@ /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 }, -/obj/structure/railing/corner{ - dir = 1 - }, /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 1 }, @@ -25430,6 +25933,18 @@ "hDK" = ( /turf/open/floor/iron, /area/mine/laborcamp) +"hDL" = ( +/obj/item/kirbyplants/random/dead, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"hDO" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/structure/sign/departments/holy/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "hDU" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -25443,6 +25958,23 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron/dark, /area/mine/eva) +"hED" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"hEE" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "riot"; + name = "Security Shutters" + }, +/obj/structure/sign/departments/court/directional/west, +/turf/open/floor/glass/reinforced, +/area/station/hallway/primary/fore) "hEG" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -25458,12 +25990,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hEV" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/bureaucracy/briefcase, -/obj/item/taperecorder/empty, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "hEW" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -25491,18 +26017,22 @@ /obj/structure/frame/machine, /turf/open/floor/plating, /area/station/construction) -"hFj" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/status_display/evac/directional/east, -/obj/structure/chair/sofa/right/brown{ - dir = 1 +"hFm" = ( +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hFr" = ( /obj/structure/flora/grass/both/style_2, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"hFw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hFC" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -25519,22 +26049,37 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"hFJ" = ( +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/engine/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "hFL" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"hFN" = ( -/obj/machinery/light/small/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored/graveyard) +"hFR" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hFU" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + manual_align = 1; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, @@ -25543,22 +26088,6 @@ /obj/machinery/vending/wardrobe/det_wardrobe, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"hFX" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"hGg" = ( -/obj/structure/sign/warning/directional/west{ - desc = "A sign warning to watch for moving minecarts beyond this point." - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hGh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25632,6 +26161,7 @@ dir = 8 }, /obj/machinery/light/small/directional/west, +/obj/structure/sign/departments/telecomms/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) "hHG" = ( @@ -25651,12 +26181,27 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"hHW" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "hIe" = ( -/obj/structure/sign/warning/no_smoking/circle/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/structure/sink/directional/west, /turf/open/floor/iron/white, /area/station/medical/cryo) +"hIf" = ( +/obj/effect/decal/remains/human, +/obj/item/pickaxe/improvised, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "hIj" = ( /obj/machinery/camera/directional/south{ c_tag = "Port Hallway East" @@ -25670,15 +26215,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"hIE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Lower" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "hIH" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -25692,13 +26228,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) -"hIS" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "hIU" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, @@ -25721,6 +26250,17 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) +"hJo" = ( +/obj/structure/table, +/obj/item/plate, +/obj/item/food/piedough, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/item/kitchen/rollingpin, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hJp" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -25738,6 +26278,7 @@ }, /obj/item/pushbroom, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/medical/morgue) "hJD" = ( @@ -25752,11 +26293,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hJF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "hJG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -25765,33 +26301,20 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"hJS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 10 +"hJH" = ( +/turf/open/openspace, +/area/station/science/research) +"hJU" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "hJY" = ( /obj/structure/closet/l3closet/janitor, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/service/janitor) -"hKn" = ( -/obj/machinery/biogenerator, -/obj/machinery/door/window/left/directional/south{ - name = "Biogenerator Access"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hKr" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/infections{ @@ -25828,23 +26351,30 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/tcommsat/computer) -"hKL" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hKT" = ( /obj/machinery/light/floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/railing/corner/end/flip{ + dir = 1 + }, /turf/open/floor/iron, /area/station/cargo/storage) "hKV" = ( /obj/structure/chair, /turf/open/floor/iron, /area/station/cargo/storage) +"hKY" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "Medbay" + }, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/plasticflaps/opaque, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/medical/central) "hLf" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -25852,12 +26382,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"hLh" = ( -/obj/structure/closet/crate/grave/filled, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "hLk" = ( /obj/structure/table, /obj/item/paper, @@ -25872,17 +26396,10 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"hLy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +"hLN" = ( +/obj/structure/fence, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hLO" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25892,9 +26409,6 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "hLS" = ( @@ -25906,6 +26420,12 @@ }, /turf/open/floor/iron/white/corner, /area/station/engineering/atmos) +"hLW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "hLY" = ( /obj/structure/cable, /obj/structure/chair, @@ -25933,12 +26453,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) -"hMs" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hMw" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/plating, @@ -25982,24 +26496,6 @@ }, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"hMM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "hMS" = ( /obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -26008,6 +26504,18 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"hMU" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"hMZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/commons/lounge) "hNg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -26022,6 +26530,16 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/wood, /area/station/service/lawoffice) +"hNp" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hNx" = ( /obj/machinery/camera/directional/south{ c_tag = "Holodeck - South"; @@ -26036,13 +26554,12 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/large, /area/station/hallway/primary/port) -"hNF" = ( -/obj/structure/fence{ - dir = 4 +"hNA" = ( +/obj/structure/fence/corner{ + dir = 2 }, -/obj/structure/sign/warning, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hNI" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -26051,11 +26568,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"hNK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hNM" = ( /obj/structure/sign/warning/no_smoking/directional/north, /obj/structure/cable, @@ -26064,6 +26576,18 @@ }, /turf/open/floor/iron, /area/station/engineering/storage) +"hNU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "hOc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -26097,6 +26621,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"hOG" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/floor/grass, +/area/station/service/hydroponics) "hOU" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens - Port Fore"; @@ -26169,19 +26697,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"hPS" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/sign/calendar/directional/north, -/obj/machinery/camera{ - c_tag = "Service - Botany Equipment"; - dir = 9 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hPT" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26228,6 +26743,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"hQv" = ( +/obj/item/kirbyplants/random/dead, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hQO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26235,11 +26755,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/public/glass{ - name = "Escape" + name = "Escape"; + dir = 4 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/exit/departure_lounge) "hQP" = ( /obj/structure/cable, @@ -26254,23 +26784,16 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"hQW" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hRe" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "hRp" = ( -/obj/machinery/button/door/directional/north{ - id = "visitation"; - name = "Visitation Shutters"; - pixel_x = 6; - pixel_y = -24; - req_access = list("brig") - }, -/obj/machinery/button/flasher{ - id = "visitorflash"; - pixel_x = -6; - pixel_y = -24 - }, /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/prison/visit) @@ -26321,7 +26844,6 @@ /area/station/engineering/supermatter/room) "hRF" = ( /obj/structure/cable, -/obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron/dark, /area/station/science/breakroom) "hRG" = ( @@ -26411,6 +26933,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"hTt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/spawner/random/trash/cigbutt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hTw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half{ @@ -26430,6 +26964,12 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"hTE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/cryo) "hTJ" = ( /obj/machinery/camera/directional/north{ c_tag = "Solar Maintenance - North West Access" @@ -26443,27 +26983,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/wood, /area/station/service/library) -"hUf" = ( -/obj/structure/table/glass, -/obj/item/assembly/signaler{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/cable_coil, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) "hUi" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26482,6 +27001,7 @@ /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/all/command/hop, /obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "hUx" = ( @@ -26538,6 +27058,13 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) +"hVk" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "hVo" = ( /obj/effect/spawner/random/maintenance, /obj/structure/table, @@ -26563,6 +27090,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) +"hVz" = ( +/obj/effect/spawner/random/maintenance/two, +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hVB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -26572,6 +27104,15 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/mine/eva) +"hVR" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hVX" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 @@ -26594,13 +27135,22 @@ /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"hWv" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "botany_chasm_and_wolf_shutters" +"hWl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"hWz" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Ordnance Lower Mix Lab"; + network = list("ss13","rd") + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "hWI" = ( /obj/effect/turf_decal/box, /obj/effect/spawner/random/structure/closet_empty/crate/with_loot, @@ -26608,40 +27158,17 @@ /obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"hWR" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hWV" = ( /obj/machinery/light/small/directional/north, /obj/machinery/space_heater, /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plating, /area/station/medical/virology) -"hWW" = ( -/obj/structure/sign/warning/directional/south, -/obj/structure/sign/warning/directional/south, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"hWX" = ( -/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, -/obj/machinery/door/airlock/medical/glass, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"hXm" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) -"hXt" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center East" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hXC" = ( /obj/structure/chair{ dir = 8 @@ -26653,15 +27180,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"hXD" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "hXU" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26681,12 +27199,6 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"hYt" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hYy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -26695,6 +27207,21 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) +"hYD" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"hYL" = ( +/obj/structure/closet/lasertag/blue, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "hYP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26707,6 +27234,23 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"hZb" = ( +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"hZc" = ( +/obj/effect/landmark/start/clown, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "hZe" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 @@ -26718,6 +27262,25 @@ /obj/item/stack/sheet/iron/five, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"hZT" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"hZW" = ( +/obj/structure/sink/kitchen/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "iag" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26753,8 +27316,17 @@ /obj/structure/girder, /obj/structure/grille, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"iaB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/structure/sign/departments/botany/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "iaF" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -26865,6 +27437,13 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) +"ibJ" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ibM" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -26878,8 +27457,17 @@ /turf/open/floor/plating, /area/station/service/chapel) "ica" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "ici" = ( /obj/structure/cable, @@ -26906,17 +27494,6 @@ dir = 4 }, /area/mine/living_quarters) -"icv" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Coffin Storage"; - req_access = list("chapel_office") - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/turf/open/floor/iron/dark/side{ - dir = 6 - }, -/area/station/service/chapel) "icA" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/east{ @@ -27008,6 +27585,9 @@ dir = 1 }, /obj/structure/sign/departments/chemistry/directional/north, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) "idi" = ( @@ -27025,24 +27605,8 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"idp" = ( -/obj/machinery/button/door/directional/east{ - id = "cmoprivacy"; - name = "CMO Shutter Control"; - pixel_y = 23; - req_access = list("cmo") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/cmo/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "idr" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 8 - }, +/obj/structure/tall_stairs/start/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) "idt" = ( @@ -27060,12 +27624,9 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"idH" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +"idI" = ( +/turf/open/floor/stone, +/area/station/commons/lounge) "idN" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -27083,17 +27644,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ieb" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Research Break Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/dark, -/area/station/science/research) -"iew" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +"idP" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ieG" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -27108,25 +27662,22 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/mine/laborcamp/security) -"ifd" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ife" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) -"ifA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating/icemoon, -/area/station/maintenance/solars/port/aft) +"ifn" = ( +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) +"ifH" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "ifX" = ( /obj/machinery/vending/wardrobe/cargo_wardrobe, /turf/open/floor/iron, @@ -27145,6 +27696,11 @@ /obj/item/soap/nanotrasen, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"igc" = ( +/obj/structure/lattice, +/obj/structure/sign/poster/official/report_crimes/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "igm" = ( /turf/closed/wall/ice, /area/mine/living_quarters) @@ -27152,15 +27708,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"igq" = ( -/obj/machinery/recharge_station, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/mine/eva/lower) -"igu" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "igx" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 5 @@ -27171,15 +27718,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/glass, /area/station/security/lockers) -"igH" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "igL" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -27238,25 +27776,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"ihN" = ( -/obj/machinery/button/door/directional/west{ - id = "xenobio4"; - name = "Xenobio Pen 4 Blast Door"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"iif" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/biogenerator, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iih" = ( /obj/effect/spawner/xmastree, /obj/effect/turf_decal/tile/neutral{ @@ -27272,6 +27791,12 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"iis" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "iiy" = ( /obj/machinery/firealarm/directional/north, /obj/structure/chair{ @@ -27283,17 +27808,6 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) -"iiB" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iiH" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; @@ -27310,6 +27824,16 @@ dir = 4 }, /area/station/security/brig/entrance) +"iiK" = ( +/obj/structure/table/wood, +/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Theater" + }, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "iiR" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -27323,6 +27847,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"ijd" = ( +/obj/structure/table/wood/poker, +/obj/item/trash/candle{ + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ijj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27350,14 +27881,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"ijw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ijC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27372,6 +27895,10 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"ijQ" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/cargo/miningdock) "ijT" = ( /obj/structure/transit_tube/horizontal, /turf/open/floor/plating, @@ -27384,11 +27911,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/brig/upper) -"ijW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/structure/sign/warning/secure_area/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/explab) "ijY" = ( /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -27412,10 +27934,6 @@ /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/storage) -"ike" = ( -/obj/structure/fence/cut/medium, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ikk" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -27446,6 +27964,7 @@ /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/white, +/obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "ikz" = ( @@ -27479,6 +27998,13 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"ikL" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "ikO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -27498,8 +28024,18 @@ /area/station/service/chapel) "ile" = ( /obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, /turf/open/floor/wood, /area/station/security/courtroom) +"iln" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "ilv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -27544,16 +28080,9 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"imk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/item/rack_parts, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "imy" = ( /obj/machinery/airalarm/directional/east, +/obj/structure/table, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "imH" = ( @@ -27563,15 +28092,6 @@ /obj/item/clothing/mask/breath, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"imI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/kirbyplants/random, -/obj/machinery/light/warm/directional/south, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "imO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -27584,31 +28104,10 @@ dir = 1 }, /area/station/commons/storage/art) -"imV" = ( -/obj/structure/stairs/east, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) -"inh" = ( -/obj/structure/stairs/west, -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "ini" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"int" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/structure/sign/departments/botany/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "inE" = ( /turf/open/floor/iron/corner, /area/station/engineering/lobby) @@ -27620,37 +28119,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"inN" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/button/door/directional/south{ - id = "minecraft_shutter"; - req_one_access = list("hydroponics", "kitchen"); - name = "Cart Access"; - desc = "Opens the railway leading into the Kitchen Coldroom." - }, -/obj/structure/minecart_rail/railbreak{ - dir = 4 - }, -/obj/structure/closet/crate/miningcar{ - name = "delivery cart"; - desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." - }, -/obj/item/storage/bag/plants, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"inP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "inQ" = ( /obj/structure/table/wood, /obj/item/paper_bin/carbon{ @@ -27679,12 +28147,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"ioi" = ( -/obj/structure/cable, -/mob/living/basic/bear/snow/misha, -/obj/structure/bed/dogbed/misha, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/hos) "iol" = ( /obj/machinery/camera/directional/south{ c_tag = "MiniSat Teleporter"; @@ -27699,10 +28161,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"ion" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ior" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27725,7 +28183,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/aft) "iox" = ( /obj/effect/turf_decal/siding/wood{ @@ -27743,6 +28206,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"ioE" = ( +/obj/structure/cable, +/obj/structure/sign/warning/engine_safety/directional/north, +/turf/open/floor/iron, +/area/station/engineering/main) "ioK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, @@ -27773,18 +28241,6 @@ "ipf" = ( /turf/open/genturf, /area/icemoon/underground/unexplored/rivers/deep/shoreline) -"ipg" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "ipw" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, @@ -27797,6 +28253,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/commons/dorms) "ipA" = ( @@ -27808,30 +28265,6 @@ "ipE" = ( /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"ipF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/pen/red, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/folder/yellow, -/obj/machinery/keycard_auth/directional/west{ - pixel_x = -25; - pixel_y = -5 - }, -/obj/machinery/button/door/directional/west{ - id = "qmprivacy"; - name = "Privacy Shutters Control"; - pixel_y = 5; - req_access = list("qm") - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "ipM" = ( /obj/structure/transit_tube/curved{ dir = 4 @@ -27851,12 +28284,15 @@ /area/station/commons/dorms/laundry) "iqr" = ( /obj/effect/mapping_helpers/airlock/abandoned, -/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /obj/effect/mapping_helpers/airlock/unres{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "iqu" = ( @@ -27864,20 +28300,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"iqx" = ( -/obj/structure/railing, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/science/ordnance/office) -"iqA" = ( -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iqC" = ( /obj/structure/table, /obj/item/flashlight/lamp, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"irc" = ( +/obj/structure/tall_stairs/end/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/commons/lounge) +"irl" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/carpet/lone, +/area/station/service/chapel) +"irn" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "irp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27915,6 +28361,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"irK" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "irM" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 1 @@ -27922,7 +28372,8 @@ /obj/structure/table/reinforced/plastitaniumglass, /obj/machinery/microwave, /obj/machinery/camera/directional/north{ - c_tag = "Mining B-1 Crater Observatory" + c_tag = "Mining B-1 Crater Observatory"; + network = list("ss13", "mine") }, /obj/effect/turf_decal/tile/dark/half/contrasted{ dir = 1 @@ -27933,12 +28384,11 @@ /obj/structure/ladder{ name = "chemistry lab access" }, -/obj/machinery/camera{ +/obj/effect/turf_decal/stripes/end, +/obj/machinery/camera/directional/north{ c_tag = "Medbay Chemistry Lab - North"; - dir = 9; network = list("ss13","medbay") }, -/obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/dark/textured_large, /area/station/medical/chemistry) "irQ" = ( @@ -27950,18 +28400,6 @@ dir = 8 }, /area/station/service/chapel) -"irX" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/machinery/light/directional/north, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/hallway/secondary/entry) "isb" = ( /obj/machinery/atmospherics/components/binary/pump/off{ dir = 1; @@ -27991,16 +28429,16 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"isj" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "isl" = ( /obj/structure/fence/door{ name = "graveyard" }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"isq" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ist" = ( /obj/structure/chair/sofa/left/brown, /obj/effect/landmark/start/psychologist, @@ -28022,6 +28460,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"isC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "isP" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, @@ -28041,6 +28489,13 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"itg" = ( +/obj/structure/tall_stairs/start/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "itj" = ( /turf/open/floor/iron/white, /area/station/science/genetics) @@ -28115,19 +28570,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"iuE" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "SapMaster XP" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iuH" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -28137,10 +28579,25 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"iuL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "iuS" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) +"ivh" = ( +/obj/structure/flora/grass/green/style_random, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ivi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow, @@ -28154,11 +28611,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ivp" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/sparsegrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "ivq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -28170,21 +28622,41 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ivC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 - }, +"ivE" = ( +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/cargo/storage) "ivF" = ( /turf/closed/wall, /area/station/maintenance/disposal) +"ivG" = ( +/obj/structure/table, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/crowbar, +/obj/item/radio/headset/headset_sci{ + pixel_x = -3 + }, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "ivH" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -28196,11 +28668,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"ivJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "iwf" = ( /turf/closed/wall/r_wall, /area/mine/mechbay) @@ -28209,11 +28676,9 @@ /obj/structure/frame/machine, /obj/item/stack/cable_coil/five, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/free_drone/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iwq" = ( -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "iwx" = ( /obj/machinery/door/airlock/maintenance{ name = "Xenobiology Maintenance" @@ -28222,6 +28687,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "iwz" = ( @@ -28253,6 +28719,9 @@ /area/station/commons/dorms/laundry) "iwV" = ( /obj/structure/railing, +/obj/machinery/door_buttons/access_button/directional/north{ + idSelf = "virology_airlock_control" + }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "ixb" = ( @@ -28264,21 +28733,6 @@ }, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"ixp" = ( -/obj/machinery/door/airlock/wood{ - name = "Bar Backroom" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/backroom) "ixu" = ( /obj/machinery/camera/directional/north{ c_tag = "Teleporter" @@ -28324,6 +28778,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"iyc" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Garden Access" + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "iyd" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -28349,12 +28813,14 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) -"iyF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/blobstart, +"iyJ" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "iyK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -28370,6 +28836,16 @@ /area/station/medical/medbay/aft) "iyP" = ( /obj/structure/table, +/obj/structure/sign/plaques/kiddie/gameoflife/directional/north, +/obj/item/computer_disk/ordnance, +/obj/item/computer_disk/ordnance{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/computer_disk{ + pixel_x = 7; + pixel_y = 2 + }, /obj/item/aicard, /turf/open/floor/iron/white/side{ dir = 4 @@ -28441,13 +28917,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/medical/chemistry) -"izU" = ( -/obj/structure/table/wood, -/obj/item/instrument/saxophone, -/obj/item/instrument/piano_synth, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "izY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28467,10 +28936,6 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Mining B-1 Hallway South"; - dir = 10 - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, @@ -28479,14 +28944,6 @@ dir = 8 }, /area/mine/eva) -"iAt" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "iAA" = ( /obj/machinery/hydroponics/constructable, /obj/structure/window/reinforced/spawner/directional/west, @@ -28495,8 +28952,19 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 }, +/obj/effect/turf_decal/siding/green{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) +"iAK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "iAO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -28527,10 +28995,6 @@ pixel_x = -32 }, /obj/effect/turf_decal/siding/wood, -/obj/machinery/camera{ - c_tag = "Mining Break Room"; - dir = 9 - }, /obj/machinery/light_switch/directional/north{ pixel_x = 9 }, @@ -28550,6 +29014,18 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"iBi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/food/grown/carrot, +/obj/item/food/grown/carrot{ + pixel_y = 4; + pixel_x = -2 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "iBj" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -28557,9 +29033,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/railing/corner{ - dir = 1 - }, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -28571,19 +29044,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) -"iBz" = ( -/obj/structure/sign/warning/no_smoking/directional/south, -/turf/open/openspace, -/area/station/engineering/atmos/storage) "iBF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) -"iBM" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "iBO" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 4 @@ -28592,10 +29057,6 @@ dir = 4 }, /area/station/science/explab) -"iCe" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "iCg" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -28603,22 +29064,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"iCo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"iCp" = ( +/obj/machinery/vatgrower, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) "iCq" = ( /obj/structure/rack, /obj/item/stack/rods/ten, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"iCw" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/hallway/secondary/entry) "iCz" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -28637,7 +29103,8 @@ /area/station/science/robotics/lab) "iCD" = ( /obj/machinery/door/airlock/external{ - name = "External Access" + name = "External Access"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -28653,16 +29120,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iCS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "iCX" = ( /obj/machinery/power/solar_control{ dir = 4; @@ -28672,6 +29129,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"iDe" = ( +/obj/item/wrench, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Air In" + }, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/fore) "iDp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall, @@ -28691,25 +29158,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) -"iDv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"iDx" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"iDB" = ( -/obj/structure/table/wood, -/obj/item/circuitboard/machine/fax, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "iDG" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 3"; @@ -28721,25 +29169,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/xenobiology) -"iDK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "iDQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"iEd" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter) "iEA" = ( /obj/structure/table/glass, /obj/item/storage/box/gloves{ @@ -28785,15 +29219,11 @@ /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white/corner{ dir = 4 }, /area/station/hallway/secondary/entry) -"iEY" = ( -/obj/machinery/restaurant_portal/bar, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "iFe" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_half, @@ -28812,6 +29242,7 @@ /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) "iFj" = ( @@ -28826,29 +29257,11 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"iFz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "iFL" = ( /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"iFQ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "iFX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28883,6 +29296,15 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"iGQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "iHc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -28892,16 +29314,21 @@ "iHm" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/machinery/firealarm/directional/west, -/obj/machinery/camera{ - c_tag = "Atmospherics - South West"; - dir = 10 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - South West" + }, /turf/open/floor/iron, /area/station/engineering/atmos) "iHp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) +"iHP" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "iHV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -28933,23 +29360,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"iIk" = ( -/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/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "iIs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -28958,15 +29368,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"iIv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/cup/bucket{ - pixel_y = 10; - pixel_x = -4 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iIA" = ( /obj/effect/turf_decal/bot, /turf/open/floor/iron, @@ -28989,6 +29390,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"iJp" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "iJr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -29005,6 +29418,15 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"iJE" = ( +/obj/structure/rack, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/spawner/random/armory/rubbershot, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory) "iJI" = ( /obj/structure/chair{ dir = 1 @@ -29027,11 +29449,27 @@ /turf/open/floor/plastic, /area/station/commons/dorms/laundry) "iJM" = ( -/obj/structure/stairs/south{ - dir = 1 +/obj/structure/tall_stairs/end/directional/north, +/obj/structure/railing{ + dir = 8 }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"iJN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "iJO" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) @@ -29043,6 +29481,10 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) +"iKh" = ( +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "iKl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29053,12 +29495,17 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "iKp" = ( -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"iKt" = ( +/obj/structure/chair/wood, +/obj/effect/mapping_helpers/no_atoms_ontop, +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "iKw" = ( /obj/item/kitchen/fork/plastic, /obj/structure/table, @@ -29103,6 +29550,11 @@ dir = 4 }, /area/station/command/gateway) +"iLn" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iLt" = ( /obj/structure/table/wood, /obj/item/flashlight/lantern, @@ -29165,13 +29617,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"iLP" = ( -/obj/structure/ladder, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "iLY" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 @@ -29250,6 +29695,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) +"iNo" = ( +/turf/closed/mineral/random/snow, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "iNy" = ( /obj/structure/chair{ dir = 4 @@ -29292,19 +29740,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"iOu" = ( -/obj/structure/bed, -/obj/item/bedsheet/cmo, -/obj/machinery/light_switch/directional/south, -/obj/effect/landmark/start/chief_medical_officer, -/obj/machinery/keycard_auth/directional/east, -/obj/machinery/camera{ - c_tag = "Chief Medical Officer Bedroom"; - dir = 4; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "iOv" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -29356,32 +29791,19 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"iPu" = ( +/obj/structure/tall_stairs/start/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "iPx" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) -"iPK" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/flashlight{ - pixel_y = 2 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/science/cytology) -"iPP" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "iPR" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -29402,13 +29824,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/service/chapel) -"iQw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/maintenance/aft/greater) "iQx" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 1 @@ -29465,9 +29883,15 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"iRa" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/fore) +"iQY" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "iRc" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -29544,23 +29968,8 @@ /obj/item/book/manual/wiki/atmospherics, /obj/item/holosign_creator/atmos, /obj/item/holosign_creator/atmos, -/obj/structure/sign/warning/radiation/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"iRS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "iRV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29576,7 +29985,7 @@ "iSk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ - dir = 6 + dir = 4 }, /turf/open/openspace, /area/station/science/ordnance/office) @@ -29601,10 +30010,10 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/fore/lesser) "iSs" = ( +/obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 + dir = 10 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) "iSA" = ( @@ -29647,6 +30056,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) +"iTr" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "iTy" = ( /obj/machinery/space_heater, /obj/machinery/airalarm/directional/south, @@ -29660,21 +30079,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"iTE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 8 - }, -/obj/machinery/holopad, -/obj/effect/landmark/start/depsec/medical, -/obj/machinery/computer/security/telescreen/cmo/directional/east, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) "iTJ" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -29702,13 +30106,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"iUi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) "iUm" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -29723,17 +30120,34 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron, /area/station/security/warden) +"iUr" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) +"iUs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "iUw" = ( /obj/structure/closet/lasertag/blue, /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/station/security/prison/workout) "iUx" = ( -/obj/effect/turf_decal/siding/yellow/corner, /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow/corner, /turf/open/floor/iron, /area/station/engineering/lobby) "iUz" = ( @@ -29796,27 +30210,25 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/entry) "iVm" = ( -/obj/structure/stairs/north, /obj/structure/railing{ dir = 8 }, +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron, /area/mine/eva/lower) -"iVu" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/textured, -/area/station/security/brig) "iVA" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningdock) +"iVH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/item/chair, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "iVN" = ( /obj/machinery/vending/sustenance, /turf/open/floor/iron/dark/textured, @@ -29833,15 +30245,14 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "iVY" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iWb" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"iWj" = ( +/obj/structure/flora/bush/grassy/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "iWq" = ( /obj/structure/chair{ dir = 4 @@ -29849,30 +30260,17 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"iWs" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "iWI" = ( /obj/structure/lattice/catwalk, -/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/reagent_dispensers/watertank, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/window/reinforced/half/directional/east, /turf/open/openspace, /area/station/science/xenobiology) "iWM" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"iWN" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/newscaster/directional/north, -/obj/item/surgery_tray/full/morgue, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "iWP" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -29930,13 +30328,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"iXB" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) "iXC" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -29947,6 +30338,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"iXK" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) +"iXO" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/biogenerator, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iXP" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -29980,6 +30388,13 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/mechbay) +"iYB" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom" + }, +/obj/structure/tall_stairs/start/directional/east, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "iYG" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -29987,10 +30402,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"iYH" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/medical/virology) "iYU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29999,12 +30410,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"iYY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iZl" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -30014,11 +30419,6 @@ }, /turf/open/floor/plating, /area/station/science/research) -"iZm" = ( -/obj/structure/chair/wood, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "iZn" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/wood, @@ -30048,13 +30448,34 @@ "iZz" = ( /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/labor_camp) -"iZD" = ( +"iZC" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/structure/chair/sofa/right/brown{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"iZN" = ( /obj/effect/turf_decal/siding/white{ - dir = 1 + dir = 4 }, -/obj/machinery/griddle, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/structure/sink/kitchen/directional/south, +/obj/structure/mirror/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom Access" + }, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "iZO" = ( /obj/machinery/status_display/ai/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -30090,12 +30511,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"jae" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jag" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -30115,10 +30530,6 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"jas" = ( -/obj/structure/fence, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "jaw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30128,6 +30539,15 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"jaE" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jaO" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Turbine Access" @@ -30145,10 +30565,10 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "jaS" = ( -/obj/structure/extinguisher_cabinet/directional/north, /obj/effect/turf_decal/siding/green{ dir = 8 }, +/obj/structure/sign/poster/contraband/kudzu/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics/garden) "jaW" = ( @@ -30187,8 +30607,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) +"jbq" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "jbu" = ( /obj/structure/railing/corner, +/obj/structure/sign/departments/holy/directional/west, /turf/open/floor/iron/dark/side{ dir = 9 }, @@ -30208,23 +30634,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) -"jbB" = ( -/obj/structure/beebox, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera{ - c_tag = "Service - Botany Apiary"; - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jbC" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -30258,6 +30667,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"jbM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/mine/eva) "jbT" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -30280,24 +30699,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"jcy" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Central Hallway North-East" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jcC" = ( /obj/machinery/requests_console/directional/north{ department = "Ordnance"; name = "Ordnance Lab Requests Console" }, +/obj/structure/tall_stairs/start/directional/east, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/science/ordnance) +"jcF" = ( +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "jcP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -30305,11 +30722,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"jdd" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "jdf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30339,6 +30751,22 @@ dir = 9 }, /area/station/science/research) +"jdT" = ( +/obj/machinery/door/morgue{ + name = "Coffin Storage"; + req_access = list("chapel_office"); + dir = 2 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) +"jdV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "jdW" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30353,22 +30781,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"jed" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) -"jee" = ( -/obj/structure/girder, -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/fore) "jeh" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ dir = 1 @@ -30386,17 +30798,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"jem" = ( -/obj/machinery/chem_master{ - name = "CytoMaster 5000" - }, -/obj/item/swab{ - pixel_y = 10; - pixel_x = -2 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "jer" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -30411,6 +30812,7 @@ name = "Exfiltrate to Port" }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) "jez" = ( @@ -30418,6 +30820,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"jeB" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + req_access = list("minisat") + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/motion/directional/south{ + c_tag = "MiniSat Foyer"; + network = list("minisat") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "jeF" = ( /obj/effect/landmark/start/security_officer, /turf/open/floor/glass/reinforced, @@ -30445,15 +30860,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) -"jgd" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Starboard Primary Hallway West" - }, -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jgl" = ( /obj/effect/turf_decal/trimline/dark_blue/corner{ dir = 1 @@ -30493,16 +30899,24 @@ /obj/structure/closet/secure_closet/security/sec, /turf/open/floor/iron/smooth_edge, /area/station/security/lockers) +"jgI" = ( +/obj/structure/fence/corner{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"jgO" = ( +/obj/structure/tall_stairs/end/directional/east, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"jgV" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jhf" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"jhu" = ( -/obj/effect/spawner/random/maintenance/three, -/obj/structure/closet/crate/wooden, -/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jhy" = ( /obj/effect/turf_decal/tile/brown, /turf/open/floor/iron, @@ -30547,65 +30961,30 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jih" = ( -/mob/living/basic/pet/penguin/emperor{ - name = "Club" - }, -/obj/machinery/light/small/directional/east, -/obj/item/toy/snowball{ - pixel_x = -9; - pixel_y = 17 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) -"jik" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/table/glass, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/east, -/obj/item/food/grown/poppy{ - pixel_y = -1; - pixel_x = 3 - }, -/obj/item/food/grown/poppy/geranium{ - pixel_y = 5; - pixel_x = 2 - }, -/obj/item/food/grown/poppy/lily{ - pixel_x = -2 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"jiD" = ( +"jiw" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, /obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/table/glass, -/obj/item/book/manual/hydroponics_pod_people, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/sign/poster/contraband/kudzu/directional/north, -/obj/machinery/light/small/directional/west, -/obj/item/plant_analyzer, -/obj/item/watertank{ - pixel_y = -3; - pixel_x = -5 +/obj/machinery/camera/directional/south{ + c_tag = "Service - Botany Garden Access" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, /turf/open/floor/iron, /area/station/service/hydroponics) -"jiU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 +"jiz" = ( +/obj/machinery/light/small/dim/directional/west, +/obj/structure/tall_stairs/start/directional/south, +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/turf/open/floor/stone, +/area/station/commons/lounge) "jjk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -30652,7 +31031,7 @@ network = list("labor") }, /turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/area/icemoon/surface/outdoors/labor_camp) "jjO" = ( /obj/structure/sink/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30664,33 +31043,34 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"jko" = ( -/obj/structure/railing, -/obj/structure/rack, -/obj/structure/cable, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/red/half/contrasted{ +"jkp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory/upper) +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/ordnance) +"jkv" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "jkH" = ( /obj/structure/training_machine, /obj/effect/landmark/blobstart, /turf/open/floor/engine, /area/station/science/explab) -"jkK" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) -"jkN" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "jkS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, @@ -30730,17 +31110,16 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"jlk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jlu" = ( /obj/structure/railing/corner, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"jlv" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/obj/effect/spawner/random/entertainment/musical_instrument, -/obj/item/instrument/harmonica, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "jly" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -30772,17 +31151,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"jlT" = ( -/obj/structure/chair{ - desc = "Aw geez, I wonder what the chef's cooking up in there!"; - dir = 1; - name = "The Peanut's Gallery" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jlV" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -30804,13 +31172,6 @@ }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) -"jmo" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "jms" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -30833,18 +31194,6 @@ "jmI" = ( /turf/closed/wall/r_wall, /area/station/security/prison/workout) -"jmJ" = ( -/obj/machinery/door/airlock/external, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/medical/morgue) "jmR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30854,16 +31203,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"jnh" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "jnR" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -30883,28 +31222,30 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"jnU" = ( -/obj/structure/sign/departments/botany/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jnV" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jnW" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "jnX" = ( /obj/machinery/shower/directional/south, /obj/item/bikehorn/rubberducky/plasticducky, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) "jnY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 1 }, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "joa" = ( /obj/structure/table/reinforced, @@ -30946,17 +31287,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"joW" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jpd" = ( /obj/machinery/vending/coffee, /turf/open/floor/iron, @@ -30969,14 +31299,10 @@ /area/station/cargo/warehouse) "jpi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = -2; - pixel_y = 32 - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/dark/side{ dir = 1 }, @@ -31048,7 +31374,7 @@ "jqn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/directional/north, -/obj/structure/sign/poster/official/here_for_your_safety/directional/north, +/obj/structure/sign/poster/official/work_for_a_future/directional/north, /turf/open/floor/iron, /area/station/security/prison/visit) "jqr" = ( @@ -31077,51 +31403,42 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"jqQ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "jqT" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) -"jqZ" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"jrc" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio6"; - name = "Xenobio Pen 6 Blast DOors"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "jre" = ( /turf/closed/wall, /area/station/maintenance/starboard/lesser) "jrk" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/mapping_helpers/broken_floor, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"jrv" = ( -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/rag, -/obj/structure/table/wood, -/obj/item/holosign_creator/robot_seat/bar{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "jrI" = ( /obj/structure/transit_tube/curved/flipped, /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"jrP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "jrQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/firealarm/directional/north, @@ -31129,6 +31446,11 @@ /obj/structure/railing/corner/end/flip, /turf/open/floor/iron, /area/mine/production) +"jrV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/mine/eva/lower) "jrZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31145,12 +31467,15 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"jsb" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "jsh" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ pixel_y = 5 }, -/obj/machinery/mining_weather_monitor/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) "jsp" = ( @@ -31198,23 +31523,12 @@ dir = 1 }, /area/station/hallway/primary/port) -"jsR" = ( -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) +"jsO" = ( +/obj/effect/spawner/random/maintenance/three, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jtm" = ( /obj/machinery/porta_turret/ai{ dir = 4; @@ -31335,24 +31649,38 @@ /turf/open/floor/iron, /area/station/commons/storage/mining) "jtY" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "jub" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/public/glass{ - name = "Escape" + name = "Escape"; + dir = 4 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/turf/open/floor/iron/white/corner{ - dir = 1 +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/exit/departure_lounge) "jug" = ( /turf/open/floor/glass/reinforced, @@ -31418,8 +31746,26 @@ /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) "jvc" = ( -/obj/machinery/door/firedoor/border_only, -/turf/open/openspace, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/table, +/obj/item/assembly/signaler{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/cable_coil, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, /area/station/science/ordnance) "jvj" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -31466,12 +31812,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"jwf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"jvU" = ( +/obj/structure/railing/corner{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/security/prison) "jwj" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 @@ -31503,6 +31851,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) +"jww" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "jwx" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -31557,16 +31913,34 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"jxr" = ( -/obj/machinery/restaurant_portal/restaurant, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "jxv" = ( /obj/effect/landmark/start/paramedic, /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) +"jxB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/folder/white{ + pixel_x = 2 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance) "jyl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31586,6 +31960,13 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"jyy" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "jyz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -31597,14 +31978,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/virology) -"jyE" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "jyL" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -31615,11 +31988,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"jyN" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jyR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -31633,6 +32001,13 @@ /obj/structure/closet/secure_closet/captains, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"jzo" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/spawner/random/structure/crate_abandoned, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "jzy" = ( /obj/machinery/computer/exodrone_control_console{ dir = 1 @@ -31652,16 +32027,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) -"jzR" = ( -/obj/structure/table/glass, -/obj/item/shovel/spade, -/obj/item/cultivator{ - pixel_x = 1; - pixel_y = 6 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jzY" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -31756,6 +32121,20 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"jBr" = ( +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) +"jBA" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "jBB" = ( /obj/structure/kitchenspike, /turf/open/floor/plating/snowed/coldroom, @@ -31767,7 +32146,6 @@ dir = 1 }, /obj/effect/landmark/start/hangover/closet, -/obj/machinery/mining_weather_monitor/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "jBR" = ( @@ -31798,9 +32176,8 @@ dir = 4 }, /obj/machinery/duct, -/obj/machinery/camera{ +/obj/machinery/camera/directional/north{ c_tag = "Virology Module North"; - dir = 9; network = list("ss13","medbay") }, /turf/open/floor/iron/white, @@ -31820,6 +32197,13 @@ /obj/machinery/smartfridge/petri/preloaded, /turf/open/openspace, /area/station/science/xenobiology) +"jCK" = ( +/obj/machinery/modular_computer/preset/cargochat/service, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "jCL" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -31828,12 +32212,6 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/west, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"jCM" = ( -/obj/structure/rack, -/obj/item/bouquet, -/obj/item/binoculars, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jDc" = ( /obj/effect/spawner/random/vending/snackvend, /obj/structure/sign/departments/restroom/directional/south, @@ -31846,6 +32224,9 @@ name = "Exfiltrate to Waste" }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner/end{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) "jDm" = ( @@ -31868,6 +32249,39 @@ /obj/machinery/pdapainter/security, /turf/open/floor/wood/large, /area/station/command/heads_quarters/hos) +"jDw" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sign/departments/court/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"jDz" = ( +/obj/machinery/light/small/directional/east, +/obj/item/pickaxe, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/medical/morgue) +"jDA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner/end/flip, +/obj/structure/railing/corner/end{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"jDF" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Supply Door Airlock"; + manual_align = 1; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "jDG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31887,10 +32301,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"jDQ" = ( -/obj/structure/fence/door, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "jDS" = ( /obj/structure/chair/sofa/bench/left, /obj/effect/turf_decal/stripes/line{ @@ -31900,20 +32310,50 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/white/corner{ dir = 4 }, /area/station/hallway/secondary/entry) "jDT" = ( /obj/structure/table/reinforced, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/button/door/table{ + id = "Secure Storage"; + name = "Engineering Secure Storage"; + req_access = list("engine_equip"); + pixel_x = 6; + pixel_y = 3 + }, +/obj/machinery/button/door/table{ + id = "Engineering"; + name = "Engineering Lockdown"; + req_access = list("engineering"); + pixel_y = 3; + pixel_x = -6 + }, +/obj/machinery/button/door/table{ + id = "atmos"; + name = "Atmospherics Lockdown"; + req_access = list("engineering"); + pixel_x = -6; + pixel_y = 11 + }, +/obj/machinery/button/door/table{ + id = "ceprivacy"; + name = "Privacy Shutters Control"; + req_access = list("ce"); + pixel_y = 11; + pixel_x = 6 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"jDV" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jDW" = ( /obj/effect/turf_decal/bot_white/left, /obj/structure/closet/crate/silvercrate, @@ -31926,6 +32366,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"jDX" = ( +/obj/structure/training_machine, +/obj/item/target, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "jEf" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -31938,6 +32388,7 @@ }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark, /area/station/medical/virology) "jEs" = ( @@ -31947,20 +32398,18 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"jEA" = ( -/obj/machinery/light/small/directional/east, -/obj/item/pickaxe, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/medical/morgue) "jEB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/dim/directional/north{ - pixel_y = 1 - }, +/obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jEJ" = ( +/obj/structure/fence/corner{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jFf" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -31973,18 +32422,13 @@ /obj/structure/rack, /turf/open/floor/iron, /area/station/command/gateway) -"jFu" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 +"jFt" = ( +/obj/structure/sign/warning/secure_area{ + pixel_y = 48 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) -"jFA" = ( -/obj/effect/decal/cleanable/blood/bubblegum, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/structure/flora/grass/both/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -32014,11 +32458,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"jFY" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "jFZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32048,22 +32487,31 @@ }, /turf/open/floor/iron/large, /area/station/engineering/lobby) +"jGJ" = ( +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/turf_decal/tile/red/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "jGN" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 }, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; +/obj/structure/closet/secure_closet/medical1, +/obj/machinery/door_buttons/access_button/directional/north{ idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = 8; - pixel_y = 25; + name = "Virology Access Button"; req_access = list("virology") }, -/obj/structure/closet/secure_closet/medical1, /turf/open/floor/iron/white, /area/station/medical/virology) +"jGQ" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/obj/structure/flora/grass/both/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jGR" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -32071,13 +32519,21 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/iron, /area/station/science/ordnance) "jGY" = ( /obj/structure/rack, /obj/item/clothing/suit/hazardvest, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"jHe" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "jHF" = ( /obj/item/trash/boritos/red, /obj/structure/cable, @@ -32089,13 +32545,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"jHL" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jHQ" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ dir = 1 @@ -32113,6 +32562,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) "jHX" = ( @@ -32176,10 +32626,13 @@ }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"jIE" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/cargo/storage) +"jIB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jII" = ( /turf/closed/wall, /area/station/hallway/primary/central) @@ -32206,12 +32659,6 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"jIY" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jIZ" = ( /obj/machinery/power/terminal{ dir = 1 @@ -32241,46 +32688,45 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"jJr" = ( -/obj/machinery/door/firedoor, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ +"jJA" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/turf/open/floor/iron, +/area/station/service/bar) "jJF" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "jJG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "jJM" = ( /turf/open/floor/glass, /area/station/security/lockers) -"jJR" = ( -/obj/machinery/firealarm/directional/south, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 +"jJQ" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/item/pen, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "jJV" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -32294,6 +32740,17 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"jJZ" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/taperecorder{ + pixel_x = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "jKe" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -32320,6 +32777,18 @@ }, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) +"jKs" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/bar, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "jKy" = ( /obj/machinery/holopad, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -32359,23 +32828,6 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"jKL" = ( -/obj/structure/cable, -/obj/structure/holosign/barrier/atmos/sturdy, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 1; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/service/kitchen/coldroom) "jKN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32398,6 +32850,19 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/openspace, /area/station/commons/storage/mining) +"jLc" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "SapMaster XP" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "jLf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -32427,13 +32892,20 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"jLB" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red, +"jLI" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/service/bar) +"jLK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "jLM" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32505,6 +32977,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"jMr" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/trash/botanical_waste, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"jMu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jMw" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -32515,16 +33000,18 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"jMD" = ( -/obj/effect/turf_decal/siding/white/corner{ +"jMO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"jMJ" = ( -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"jMV" = ( +/obj/structure/fence/end{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "jMY" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -32534,10 +33021,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"jNe" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jNf" = ( /turf/closed/wall, /area/station/security/prison/garden) @@ -32553,6 +33036,9 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"jNo" = ( +/turf/open/floor/stone, +/area/station/service/bar/atrium) "jNp" = ( /turf/closed/wall/r_wall, /area/station/security/holding_cell) @@ -32562,22 +33048,40 @@ }, /turf/open/floor/carpet/blue, /area/station/hallway/secondary/entry) +"jNV" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jNZ" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"jOh" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jOi" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, /obj/machinery/door/airlock/command/glass{ - name = "Bridge" + name = "Bridge"; + manual_align = 1; + dir = 8 }, /obj/structure/cable, /obj/effect/landmark/navigate_destination, /obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/station/command/bridge) "jOj" = ( @@ -32608,6 +33112,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"jOC" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Bar" + }, +/turf/open/floor/iron, +/area/station/service/bar) "jOD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -32620,6 +33137,11 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"jOK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jOQ" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -32674,6 +33196,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"jPq" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jPs" = ( /obj/effect/spawner/random/engineering/canister, /obj/structure/railing{ @@ -32697,6 +33228,14 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) +"jPL" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/botanical_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jPV" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, @@ -32720,16 +33259,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"jQt" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "Medbay" - }, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/iron/dark, -/area/station/maintenance/department/medical/central) "jQz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32782,12 +33311,6 @@ /obj/item/gps/mining, /turf/open/floor/iron, /area/station/commons/storage/mining) -"jQM" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jQS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -32818,14 +33341,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"jRm" = ( -/obj/structure/mannequin/skeleton, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"jRt" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jRu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32877,6 +33392,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"jRX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) +"jSa" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/dice, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jSe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32894,16 +33424,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"jSp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jSt" = ( /obj/machinery/door/airlock/external{ name = "Security Yard"; @@ -32915,25 +33435,15 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"jSy" = ( -/obj/structure/fence/end{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jSC" = ( /obj/structure/bookcase/random/reference, /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) "jSL" = ( -/obj/structure/stairs/east, -/turf/open/floor/plating, +/obj/structure/tall_stairs/end/directional/east, +/turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"jSQ" = ( -/obj/structure/sign/poster/official/here_for_your_safety/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jST" = ( /obj/machinery/door/window/right/directional/north{ name = "Bridge Delivery"; @@ -32969,6 +33479,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/explab) +"jTw" = ( +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"jTA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "jTG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -32992,6 +33514,23 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron/dark, /area/station/science/server) +"jUb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/stack/sheet/mineral/coal{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"jUi" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jUn" = ( /obj/structure/table, /obj/item/folder/red{ @@ -33009,14 +33548,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"jUv" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jUB" = ( /turf/closed/wall, /area/station/medical/virology) @@ -33026,6 +33557,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/teleporter) +"jUH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "jUW" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -33037,7 +33581,7 @@ /area/station/ai_monitored/turret_protected/aisat/hallway) "jUX" = ( /obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/vending/assist, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -33065,20 +33609,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"jVi" = ( -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, -/area/station/science/cytology) -"jVm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, +"jVp" = ( +/obj/item/kirbyplants/fern, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "jVx" = ( /obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/cold_temp/directional/south, /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -33090,16 +33626,12 @@ /obj/effect/turf_decal/box/white, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"jVL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"jWb" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, -/obj/structure/sign/departments/rndserver/directional/south, -/turf/open/floor/iron/white, -/area/station/science/research) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jWl" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -33111,6 +33643,12 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"jWm" = ( +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "jWt" = ( /obj/structure/cable, /obj/structure/closet/radiation, @@ -33120,7 +33658,7 @@ "jWJ" = ( /obj/machinery/light/small/directional/west, /obj/structure/closet/emcloset/anchored, -/obj/structure/sign/warning/gas_mask/directional/west, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/engineering/main) "jWP" = ( @@ -33129,10 +33667,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"jXc" = ( -/obj/structure/sign/poster/official/help_others, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) "jXe" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -33162,9 +33696,9 @@ /obj/structure/rack, /obj/item/storage/box, /obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/structure/sign/poster/contraband/random/directional/north, /obj/effect/spawner/random/bureaucracy/birthday_wrap, /obj/machinery/light/small/directional/west, +/obj/structure/sign/departments/maint/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/greater) "jXH" = ( @@ -33178,6 +33712,19 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/mine/production) +"jXI" = ( +/obj/structure/beebox, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jXL" = ( /obj/machinery/newscaster/directional/south, /obj/structure/disposalpipe/trunk{ @@ -33190,6 +33737,12 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"jXM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "jXN" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -33210,11 +33763,17 @@ /area/station/maintenance/starboard/upper) "jYd" = ( /obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 +/obj/machinery/door/firedoor{ + dir = 4 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "jYj" = ( /obj/structure/sign/warning/secure_area/directional/north, @@ -33230,6 +33789,15 @@ /obj/structure/mirror/directional/south, /turf/open/floor/iron/freezer, /area/station/medical/break_room) +"jYG" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/filingcabinet/filingcabinet, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jYH" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -33237,15 +33805,8 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"jYI" = ( -/obj/effect/spawner/random/trash/mess, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jYL" = ( /obj/structure/light_construct/directional/south, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) @@ -33263,10 +33824,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"jZc" = ( -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) "jZe" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33283,20 +33840,36 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"jZj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Service - Atrium Entrance" + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "jZr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/extinguisher_cabinet/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva) -"jZB" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"jZy" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"jZA" = ( +/obj/structure/fence/post, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jZD" = ( /obj/structure/chair/office{ dir = 1 @@ -33311,25 +33884,10 @@ dir = 10 }, /area/station/security/prison) -"jZJ" = ( -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Backroom" - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "jZM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"jZN" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jZU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -33342,14 +33900,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kav" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"kab" = ( +/obj/machinery/chem_heater/withbuffer, +/obj/effect/turf_decal/tile/yellow/full, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/pharmacy) "kaw" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/directional/north, @@ -33359,18 +33914,11 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5 - }, /obj/structure/closet/secure_closet/medical1, /obj/machinery/light/small/directional/east, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"kaI" = ( -/obj/effect/spawner/random/maintenance/two, -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kaK" = ( /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, @@ -33398,12 +33946,6 @@ /obj/effect/decal/cleanable/food/pie_smudge, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"kbp" = ( -/obj/structure/marker_beacon/burgundy, -/obj/structure/fluff/fokoff_sign, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "kbq" = ( /obj/machinery/conveyor{ dir = 1; @@ -33420,12 +33962,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kbu" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kbx" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -33438,6 +33974,19 @@ /obj/machinery/field/generator, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"kbL" = ( +/obj/structure/table, +/obj/machinery/light/small/dim/directional/west, +/obj/item/camera{ + pixel_y = 9; + pixel_x = -2 + }, +/obj/item/reagent_containers/cup/glass/waterbottle/empty{ + pixel_y = 5; + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "kbN" = ( /obj/structure/table/wood, /obj/item/storage/box/matches, @@ -33459,6 +34008,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) +"kbS" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "kcc" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Infirmary" @@ -33487,6 +34045,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "kcm" = ( @@ -33495,16 +34056,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"kcs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"kcv" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) -"kcw" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "kcC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -33535,16 +34094,21 @@ }, /turf/open/floor/plating, /area/station/security/prison/visit) -"kcW" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/genturf/blue, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) -"kda" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/item/sign, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"kcT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) +"kcY" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "kdc" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -33555,15 +34119,9 @@ /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) "kdo" = ( -/obj/structure/sign/warning/test_chamber/directional/south, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"kdw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "kdy" = ( /obj/machinery/door/poddoor/shutters{ id = "secmechbay"; @@ -33578,14 +34136,12 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"kdJ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ +"kdS" = ( +/obj/structure/fence{ dir = 1 }, -/obj/structure/railing, -/turf/open/openspace, -/area/icemoon/underground/explored) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "kdT" = ( /obj/machinery/iv_drip, /obj/item/reagent_containers/blood, @@ -33608,26 +34164,10 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"kea" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/desk_bell{ - pixel_x = -3 - }, -/turf/open/floor/iron, -/area/station/service/bar) "kei" = ( /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"keu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) "kex" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -33649,15 +34189,9 @@ "keL" = ( /obj/machinery/light_switch/directional/south, /obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron, /area/station/commons/dorms) -"keM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/commons/lounge) "keP" = ( /turf/closed/wall, /area/station/engineering/atmos/storage/gas) @@ -33684,6 +34218,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 1 }, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/iron/dark/corner{ dir = 4 }, @@ -33716,13 +34251,6 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"kfk" = ( -/obj/structure/table/wood, -/obj/item/paper, -/obj/item/pen, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kfl" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/south, @@ -33737,6 +34265,12 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"kfr" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kfs" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) @@ -33772,13 +34306,6 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"kfZ" = ( -/obj/machinery/door/firedoor/heavy, -/obj/structure/sign/warning/test_chamber/directional/east, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/science/research) "kgc" = ( /obj/structure/disposalpipe/junction/flip{ dir = 8 @@ -33813,6 +34340,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"kgw" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "kgy" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, @@ -33883,13 +34415,25 @@ name = "Psychology Office Fax Machine" }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/machinery/camera/directional/east{ + c_tag = "Medbay Psychology"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/psychology) +"khs" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kht" = ( -/obj/structure/railing/corner{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) "khu" = ( @@ -33904,22 +34448,12 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"khz" = ( -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/genturf, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "khF" = ( /obj/machinery/light/small/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/sign/warning/gas_mask/directional/north{ desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." }, -/obj/machinery/button/door/directional/north{ - id = "drone_bay"; - name = "Shutter Control"; - pixel_x = -24 - }, -/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/station/cargo/drone_bay) "khR" = ( @@ -33941,6 +34475,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/fore) +"kid" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 + }, +/obj/machinery/barsign/directional/north, +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "kig" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -33983,11 +34525,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"kiI" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/fore) "kiL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, @@ -34006,6 +34543,24 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"kiX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kiY" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -34026,10 +34581,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"kjr" = ( -/obj/structure/sign/warning/test_chamber/directional/south, -/turf/open/floor/engine, -/area/station/science/genetics) "kjt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34071,14 +34622,18 @@ /turf/open/floor/iron, /area/station/hallway/primary/starboard) "kjY" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/machinery/door/firedoor, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; - name = "Bridge Blast Door" + name = "Bridge Blast Door"; + dir = 4 }, /obj/effect/turf_decal/delivery, -/turf/open/floor/iron, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/command/bridge) "kka" = ( /obj/machinery/requests_console/auto_name/directional/west, @@ -34090,18 +34645,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"kkb" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "kke" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -34122,23 +34665,9 @@ }, /obj/machinery/light/small/directional/north, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"kkr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "kkA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -34220,22 +34749,31 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/carpet/blue, /area/station/security/prison/work) -"klJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"klO" = ( +/obj/structure/cable, +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "klP" = ( /obj/structure/dresser, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"klS" = ( -/obj/effect/decal/cleanable/blood/tracks{ +"klU" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/coroner, +/obj/machinery/door/airlock/external{ + name = "Graveyard Access"; dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, /area/station/medical/morgue) "klX" = ( /obj/effect/decal/cleanable/dirt, @@ -34252,19 +34790,17 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/openspace, /area/station/medical/medbay/aft) -"kmg" = ( -/obj/structure/sign/poster/official/obey, -/turf/closed/wall/r_wall, -/area/station/security/prison/visit) "kmi" = ( /obj/effect/landmark/blobstart, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"kmn" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/station/service/chapel) +"kmo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "kmA" = ( /obj/structure/bed/medical/anchored{ dir = 4 @@ -34285,7 +34821,6 @@ "kmD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/electrolyzer, -/obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "kmG" = ( @@ -34332,6 +34867,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"knE" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "knU" = ( /obj/machinery/vending/coffee, /obj/machinery/light/directional/east, @@ -34353,11 +34901,10 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"koj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"koi" = ( +/obj/structure/sign/warning/fire/directional/north, +/turf/open/openspace, +/area/station/engineering/atmos/storage) "koH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -34373,7 +34920,9 @@ /area/station/engineering/atmos) "koQ" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, @@ -34382,11 +34931,19 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"koX" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/cable, +"kpg" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, /turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat/maint) +/area/station/service/chapel) "kpj" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -34434,6 +34991,11 @@ "kqc" = ( /turf/closed/wall, /area/station/security/medical) +"kqg" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/decoration/ornament, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kqh" = ( /obj/structure/chair/wood{ dir = 8 @@ -34471,16 +35033,6 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"kqo" = ( -/obj/structure/table/wood, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "kqq" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 1; @@ -34507,8 +35059,8 @@ /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) "kqx" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark/smooth_edge{ dir = 4 }, @@ -34537,16 +35089,21 @@ dir = 1 }, /obj/structure/disposalpipe/trunk/multiz/down, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "kqP" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 +/obj/machinery/door/airlock{ + name = "Unisex Showers" }, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "kqR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34619,22 +35176,6 @@ }, /turf/open/floor/plating, /area/mine/laborcamp/security) -"krE" = ( -/obj/structure/table, -/obj/item/flashlight/flare/candle{ - pixel_y = 1; - pixel_x = -16 - }, -/obj/item/paper/crumpled{ - pixel_y = 3; - pixel_x = 1; - name = "used napkin" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "krN" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/structure/window/reinforced/spawner/directional/west, @@ -34658,17 +35199,28 @@ /area/station/tcommsat/server) "krV" = ( /obj/machinery/vending/autodrobe/all_access, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/half/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/prison) "krW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/item/kirbyplants/random, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) "krY" = ( /turf/closed/wall/r_wall, /area/station/science/breakroom) +"krZ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kse" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -34677,7 +35229,10 @@ /turf/open/floor/iron, /area/station/security/prison/mess) "ksf" = ( -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4; + manual_align = 1 + }, /obj/machinery/conveyor{ dir = 8; id = "QMLoad" @@ -34689,6 +35244,22 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"ksl" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "ksn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -34698,12 +35269,6 @@ dir = 1 }, /area/mine/eva) -"kso" = ( -/obj/structure/fence/corner{ - dir = 6 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "ksu" = ( /mob/living/basic/mining/gutlunch/warrior, /turf/open/misc/asteroid/snow/icemoon, @@ -34715,23 +35280,36 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, -/obj/machinery/airalarm/directional/north, +/obj/machinery/door_buttons/access_button/directional/north{ + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology") + }, +/obj/machinery/camera/directional/north{ + c_tag = "Virology Hallway"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/virology) -"ksR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"ksM" = ( +/obj/structure/sign/plaques/kiddie/devils_tooth/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ksU" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/machinery/modular_computer/preset/civilian, /obj/effect/turf_decal/bot_white, -/obj/machinery/newscaster/directional/north, /obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light_switch/directional/north{ + pixel_x = -6 + }, +/obj/machinery/button/door/directional/north{ + id = "stationawaygate"; + name = "Gateway Access Shutter Control"; + req_access = list("gateway"); + pixel_x = 6 + }, /turf/open/floor/iron/dark, /area/station/command/gateway) "kta" = ( @@ -34759,27 +35337,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) -"ktq" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/warm/directional/south, -/obj/structure/sign/poster/contraband/lizard/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ktt" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -34804,6 +35361,7 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "ktz" = ( @@ -34822,27 +35380,22 @@ /obj/structure/chair/sofa/corp/left{ dir = 8 }, -/obj/machinery/camera{ +/obj/machinery/camera/directional/east{ c_tag = "Medbay East"; - dir = 6; network = list("ss13","medbay") }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ktJ" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) -"ktK" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 4 +"ktM" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "ktU" = ( /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -34855,20 +35408,26 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"ktY" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table, -/obj/machinery/fax/auto_name, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "kub" = ( /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/service/chapel) -"kuy" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ - pixel_x = 28 +"kuq" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"kux" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) +"kuy" = ( /obj/effect/turf_decal/stripes{ dir = 1 }, @@ -34878,12 +35437,21 @@ /obj/structure/closet/cardboard, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"kuJ" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kuR" = ( /obj/structure/barricade/wooden, /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kuT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "kuV" = ( /obj/effect/turf_decal/arrows/red, /obj/effect/turf_decal/tile/purple/half{ @@ -34893,6 +35461,24 @@ dir = 1 }, /area/station/hallway/primary/starboard) +"kuY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) +"kuZ" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "kva" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/beaker/large{ @@ -34904,7 +35490,7 @@ pixel_x = -4; pixel_y = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "kvf" = ( @@ -34914,15 +35500,15 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"kvh" = ( -/obj/structure/sign/warning, -/turf/closed/wall/r_wall, -/area/station/security/brig/upper) "kvj" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"kvq" = ( +/obj/structure/tall_stairs/start/directional/west, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "kvu" = ( /obj/machinery/door/airlock/security{ id_tag = "IsolationCell"; @@ -34936,7 +35522,6 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) "kvG" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/effect/turf_decal/tile/purple/anticorner/contrasted{ dir = 8 }, @@ -34944,10 +35529,6 @@ /area/station/hallway/primary/starboard) "kvH" = ( /obj/structure/ladder, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/lobby) @@ -34962,15 +35543,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"kvT" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kvX" = ( /turf/open/floor/iron/dark/smooth_edge{ dir = 4 @@ -34993,6 +35565,16 @@ /obj/item/wrench, /turf/open/floor/iron, /area/station/engineering/atmos) +"kwn" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"kww" = ( +/obj/machinery/gibber, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "kwz" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -35013,7 +35595,6 @@ /obj/machinery/mass_driver/trash{ dir = 1 }, -/obj/structure/sign/warning/cold_temp/directional/east, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/disposal) @@ -35068,14 +35649,24 @@ /obj/machinery/space_heater, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"kya" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kyc" = ( /obj/effect/turf_decal/tile/blue, /obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/electric_shock/directional/east, /obj/structure/cable, /obj/machinery/status_display/evac/directional/south, /obj/structure/disposalpipe/segment{ @@ -35135,7 +35726,8 @@ /obj/structure/cable, /obj/machinery/button/door/directional/north{ id = "medsecprivacy"; - name = "Privacy Shutters Control" + name = "Privacy Shutters Control"; + req_access = list("security") }, /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, @@ -35177,6 +35769,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 8 }, +/obj/structure/sign/departments/cargo/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) "kzD" = ( @@ -35204,18 +35797,6 @@ /obj/item/multitool, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"kzU" = ( -/obj/structure/dresser, -/obj/structure/mirror/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Service - Backstage"; - dir = 9 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "kzZ" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -35225,8 +35806,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kAk" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kAm" = ( /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) "kAn" = ( @@ -35254,6 +35842,21 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"kAQ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) +"kAT" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kAW" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -35261,10 +35864,22 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"kAZ" = ( -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +"kBc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "holodeck" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/commons/fitness) "kBi" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/atmos{ @@ -35300,14 +35915,6 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kBO" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "kBU" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -35332,10 +35939,10 @@ "kCb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) "kCg" = ( @@ -35351,6 +35958,7 @@ "kCh" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "kCn" = ( @@ -35379,6 +35987,7 @@ "kCv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/cigbutt, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/greater) "kCx" = ( @@ -35419,9 +36028,25 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) +"kCL" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "kCR" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/dark, +/obj/structure/ladder{ + name = "chemistry lab access" + }, +/obj/machinery/door/window/right/directional/east{ + req_access = list("medical"); + name = "Morgue Access Hatch" + }, +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron/dark/textured_large, /area/station/medical/morgue) "kCV" = ( /turf/open/floor/iron/dark, @@ -35436,11 +36061,13 @@ pixel_y = 5 }, /obj/machinery/light/small/directional/east, -/obj/machinery/mining_weather_monitor/directional/north, /obj/effect/turf_decal/delivery/red, /obj/machinery/camera/directional/north{ c_tag = "Arrivals Emergency EVA" }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "kDb" = ( @@ -35455,6 +36082,7 @@ dir = 5 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) "kDc" = ( @@ -35473,6 +36101,7 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/sign/clock/directional/north, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) "kDs" = ( @@ -35510,6 +36139,16 @@ dir = 4 }, /area/mine/eva) +"kDO" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kEj" = ( /obj/machinery/computer/libraryconsole/bookmanagement, /obj/structure/table, @@ -35530,24 +36169,14 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"kEr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kEs" = ( /obj/structure/tank_holder/extinguisher, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/greater) "kEB" = ( /obj/effect/decal/cleanable/generic, /obj/effect/decal/cleanable/robot_debris/down, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) "kEM" = ( @@ -35566,6 +36195,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kFc" = ( +/obj/structure/table/wood, +/obj/item/circuitboard/machine/fax, +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kFu" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -35584,15 +36220,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"kFF" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cart Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kFH" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 10 @@ -35626,6 +36253,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood/large, /area/station/command/heads_quarters/hos) +"kGm" = ( +/obj/machinery/button/door/directional/east{ + id = "cmoprivacy"; + name = "CMO Shutter Control"; + pixel_y = 23; + req_access = list("cmo") + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/cmo/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "kGx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35636,12 +36276,9 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "kGD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/structure/secure_safe/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kGF" = ( /obj/structure/table, /obj/item/camera_film, @@ -35670,6 +36307,14 @@ /obj/item/stamp/head/qm, /turf/open/floor/carpet, /area/station/command/heads_quarters/qm) +"kGU" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "kHb" = ( /obj/structure/closet/secure_closet/personal{ anchored = 1 @@ -35703,14 +36348,13 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/machinery/status_display/shuttle{ - pixel_x = -32; - shuttle_id = "arrival" - }, /obj/machinery/light/directional/west, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, +/obj/machinery/status_display/shuttle/directional/west{ + shuttle_id = "arrival" + }, /turf/open/floor/iron/white/corner{ dir = 8 }, @@ -35718,6 +36362,10 @@ "kHr" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/project) +"kHs" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kHI" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/blue, @@ -35816,11 +36464,6 @@ /obj/machinery/space_heater, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"kIK" = ( -/obj/effect/turf_decal/tile/blue, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "kIU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -35834,7 +36477,8 @@ /area/mine/eva) "kIX" = ( /obj/structure/fence/corner{ - dir = 6 + dir = 4; + pixel_y = 0 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) @@ -35862,6 +36506,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"kJr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "kJw" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 @@ -35870,24 +36524,14 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"kJx" = ( -/obj/structure/railing/wooden_fence, +"kJy" = ( +/obj/machinery/light/small/directional/west, +/obj/structure/sign/departments/cargo/directional/west, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"kJG" = ( -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "kJI" = ( /obj/structure/transit_tube/station/reverse, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) "kJK" = ( @@ -35908,6 +36552,13 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/button/door/table{ + id = "bridge blast"; + name = "Bridge Blast Door Control"; + req_access = list("command"); + pixel_y = 30; + pixel_x = -4 + }, /turf/open/floor/iron, /area/station/command/bridge) "kJU" = ( @@ -35925,21 +36576,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"kKa" = ( -/obj/item/clothing/under/costume/skeleton, -/obj/item/clothing/head/helmet/skull, -/turf/open/floor/plating, -/area/station/medical/morgue) -"kKk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"kKn" = ( -/obj/machinery/light/cold/directional/east, -/obj/machinery/status_display/ai/directional/east, -/turf/open/openspace, -/area/station/service/kitchen/coldroom) "kKv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail{ @@ -35965,12 +36601,24 @@ "kKL" = ( /turf/closed/wall, /area/station/maintenance/starboard/fore) +"kKT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "kKU" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 8 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"kKV" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/genturf/blue, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kKX" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue{ @@ -36013,11 +36661,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"kLs" = ( -/obj/structure/sign/warning/docking, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/hallway/secondary/exit/departure_lounge) "kLy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ @@ -36026,6 +36669,10 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"kLz" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/service/chapel/office) "kLZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -36054,7 +36701,6 @@ /obj/structure/rack, /obj/item/storage/backpack/satchel/leather/withwallet, /obj/item/toy/figure/assistant, -/obj/structure/sign/calendar/directional/west, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -36072,13 +36718,44 @@ }, /turf/open/floor/iron/large, /area/station/engineering/storage) +"kMZ" = ( +/obj/structure/tall_stairs/end/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kNa" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/cryo) +"kNf" = ( +/obj/structure/table, +/obj/item/flashlight/flare/candle{ + pixel_y = 1; + pixel_x = -16 + }, +/obj/item/paper/crumpled{ + pixel_y = 3; + pixel_x = 1; + name = "used napkin" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "kNi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36111,6 +36788,16 @@ /obj/structure/fence, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"kNK" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"kNL" = ( +/obj/structure/closet/bombcloset, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "kNQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36145,6 +36832,38 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"kOq" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=EVA2"; + location = "Dorm" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"kOx" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) +"kOM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "kON" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, @@ -36162,10 +36881,11 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"kOO" = ( -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +"kOR" = ( +/obj/structure/railing/wooden_fence, +/obj/item/flashlight/lantern/on, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kOS" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -36173,9 +36893,6 @@ opacity = 0 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, /turf/open/floor/iron/dark, /area/mine/storage) "kOV" = ( @@ -36205,11 +36922,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"kPh" = ( -/obj/structure/flora/bush/sunny/style_random, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "kPo" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36224,6 +36936,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"kPu" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/structure/sign/poster/random/directional/west, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "kPv" = ( /obj/machinery/vending/cigarette, /turf/open/floor/wood, @@ -36241,9 +36966,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"kPz" = ( -/turf/closed/mineral/random/snow, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kPL" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -36258,25 +36980,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"kPS" = ( -/obj/structure/railing, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"kPY" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "kQc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36307,14 +37010,10 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"kQx" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/item/radio/intercom/directional/north, -/obj/machinery/holopad, -/obj/machinery/light/warm/directional/north, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/service/bar) +"kQy" = ( +/obj/machinery/light/small/directional/north, +/turf/open/openspace, +/area/station/science/research) "kQz" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36333,14 +37032,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/fore) -"kQH" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kQJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -36366,7 +37057,6 @@ "kQV" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance/three, -/obj/structure/sign/departments/maint/directional/west, /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/greater) @@ -36391,12 +37081,6 @@ /obj/structure/bookcase, /turf/open/floor/iron, /area/mine/laborcamp) -"kRj" = ( -/obj/structure/table/wood, -/obj/item/c_tube, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kRy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36404,15 +37088,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kRD" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Garden" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "kRE" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 8 @@ -36420,13 +37095,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"kRF" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "kRH" = ( /obj/machinery/door/airlock/highsecurity{ name = "Chemistry Lab Exit" @@ -36439,7 +37107,6 @@ /area/station/medical/chemistry) "kRI" = ( /obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/east, /obj/item/paper_bin{ pixel_y = 4 }, @@ -36450,6 +37117,7 @@ /obj/item/pen{ pixel_x = -4 }, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "kRJ" = ( @@ -36475,13 +37143,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/office) -"kSj" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +"kRV" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"kSc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kSn" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, @@ -36513,6 +37183,16 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter) +"kSS" = ( +/obj/machinery/door/airlock/research/glass{ + name = "Research Break Room" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/research) "kSU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -36548,9 +37228,6 @@ /turf/open/floor/plating, /area/mine/eva/lower) "kTQ" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 6 - }, /obj/structure/cable, /obj/machinery/duct, /obj/structure/disposalpipe/segment{ @@ -36558,12 +37235,24 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, /turf/open/floor/iron, /area/station/engineering/lobby) "kTX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) "kUb" = ( @@ -36584,12 +37273,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/pink, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kUr" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/sign/departments/lawyer/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "kUu" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 }, /turf/closed/wall, /area/station/engineering/transit_tube) +"kUw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/engine, +/area/station/science/explab) "kUx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -36616,6 +37318,7 @@ dir = 8 }, /obj/structure/railing/corner, +/obj/structure/sign/warning/directional/north, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) "kUU" = ( @@ -36626,70 +37329,37 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) -"kUW" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"kVj" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, +"kVa" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/commons/fitness) +"kVe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kVl" = ( /obj/effect/landmark/event_spawn, /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) -"kVo" = ( -/obj/structure/table/wood, -/obj/machinery/reagentgrinder{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) -"kVq" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/light/warm/directional/north, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/station/service/bar) "kVx" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "kVE" = ( -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/door/window/left/directional/west{ name = "Secure Art Exhibition"; req_access = list("library") }, /obj/effect/spawner/random/structure/table_fancy, +/obj/structure/sign/painting/library_secure/directional/east, /turf/open/floor/wood, /area/station/service/library) "kVF" = ( @@ -36726,6 +37396,16 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kWk" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "kWr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -36742,21 +37422,16 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) -"kWG" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kWH" = ( /obj/structure/rack, /obj/item/hand_labeler, /obj/structure/cable, /obj/effect/turf_decal/tile/red, +/obj/machinery/button/door/directional/east{ + id = "Trial Transfer"; + name = "Trial Transfer Lockdown"; + req_access = list("brig") + }, /turf/open/floor/iron/textured, /area/station/security/brig) "kWL" = ( @@ -36784,6 +37459,15 @@ /obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kWV" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kWW" = ( /obj/machinery/door/airlock/atmos, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36808,6 +37492,19 @@ dir = 1 }, /area/station/engineering/atmos/hfr_room) +"kXi" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "kXq" = ( /obj/machinery/air_sensor/plasma_tank, /turf/open/floor/engine/plasma, @@ -36874,27 +37571,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"kXR" = ( -/turf/open/floor/iron/stairs/right{ - dir = 4 - }, -/area/station/science/cytology) -"kXS" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) +"kXW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "kXY" = ( /turf/open/floor/iron/dark, /area/station/security/prison/rec) @@ -36911,9 +37593,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"kYo" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kYq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -36943,11 +37622,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/engineering/engine_smes) -"kYN" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "kZa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36967,6 +37641,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"kZe" = ( +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Cytology External Airlock" + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "kZh" = ( /obj/structure/cable, /obj/structure/sign/poster/contraband/random/directional/west, @@ -36976,16 +37660,6 @@ /obj/machinery/space_heater, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"kZm" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "kZn" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -37012,14 +37686,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/vault, /area/station/security/prison/rec) -"laa" = ( -/obj/machinery/atmospherics/components/tank, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "lab" = ( /obj/machinery/door/window/brigdoor/left/directional/north{ name = "Secure Weapons Storage"; @@ -37043,6 +37709,7 @@ /obj/item/toy/plush/moth{ name = "Dr. Moff" }, +/obj/structure/noticeboard/directional/north, /turf/open/floor/carpet/blue, /area/station/medical/psychology) "law" = ( @@ -37121,11 +37788,18 @@ /obj/structure/sign/warning/fire/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"lby" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lca" = ( -/obj/structure/railing/corner{ +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/medical/morgue) "lch" = ( @@ -37140,27 +37814,27 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark/smooth_large, /area/station/command/gateway) -"lcm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/decal/cleanable/ash, -/obj/item/rack_parts, -/obj/effect/mapping_helpers/burnt_floor, +"lcs" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/starboard/fore) "lcu" = ( /turf/open/floor/iron/white, /area/station/science/explab) -"lcz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/fire/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"lcA" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) +"lcy" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/sign/departments/science/directional/north, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "lcB" = ( /obj/machinery/light/small/directional/west, /obj/structure/table/wood, @@ -37218,6 +37892,11 @@ "ldH" = ( /turf/closed/wall, /area/station/security/prison/mess) +"ldJ" = ( +/obj/structure/flora/grass/both/style_random, +/obj/item/stack/cable_coil/five, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ldQ" = ( /obj/structure/barricade/wooden, /obj/structure/girder, @@ -37232,10 +37911,13 @@ dir = 8 }, /obj/machinery/door/airlock/command/glass{ - name = "Bridge" + name = "Bridge"; + manual_align = 1; + dir = 8 }, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/station/command/bridge) "ldV" = ( @@ -37252,16 +37934,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) -"leg" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lei" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/bed/medical/emergency, @@ -37281,14 +37953,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"leE" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "leM" = ( /obj/structure/railing{ dir = 8 @@ -37298,12 +37962,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) -"leP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "leW" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -37325,8 +37983,6 @@ /turf/open/floor/engine, /area/station/science/xenobiology) "lfF" = ( -/obj/structure/sign/warning/cold_temp/directional/west, -/obj/structure/sign/warning/gas_mask/directional/east, /turf/open/floor/plating, /area/station/engineering/atmos) "lfG" = ( @@ -37353,11 +38009,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/medical/storage) -"lgb" = ( -/obj/effect/landmark/start/botanist, -/obj/structure/chair/office/light, -/turf/open/floor/glass, -/area/station/service/hydroponics) +"lfU" = ( +/obj/effect/spawner/random/structure/grille, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lgg" = ( /obj/machinery/air_sensor/engine_chamber, /turf/open/floor/engine, @@ -37368,6 +38024,20 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"lgw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"lgx" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "lgz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -37383,12 +38053,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"lgH" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "lgK" = ( /turf/closed/wall, /area/station/security/prison/visit) @@ -37399,15 +38063,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) -"lgP" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "lgW" = ( /obj/machinery/meter/monitored/distro_loop, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, @@ -37461,6 +38116,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"lia" = ( +/turf/open/openspace, +/area/station/service/kitchen/coldroom) +"lik" = ( +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "lil" = ( /obj/structure/cable, /obj/structure/sign/poster/random/directional/west, @@ -37479,19 +38144,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"liv" = ( -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "lix" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -37529,12 +38181,11 @@ /obj/item/toy/figure/chaplain, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ljj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/hallway/secondary/exit/departure_lounge) +"liV" = ( +/obj/structure/chair/sofa/bench/left, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ljl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37557,6 +38208,16 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ljq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ljx" = ( /obj/effect/turf_decal/plaque{ icon_state = "L1" @@ -37621,12 +38282,13 @@ /turf/open/floor/iron/textured, /area/station/commons/storage/primary) "lka" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ dir = 1 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/treatment_center) "lkb" = ( /obj/structure/table, @@ -37651,6 +38313,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) +"lko" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "lkr" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron, @@ -37691,13 +38362,6 @@ /obj/item/bedsheet/brown{ dir = 4 }, -/obj/machinery/button/door/directional/north{ - id = "miningdorm_A"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -24; - specialfunctions = 4 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, @@ -37707,19 +38371,6 @@ "lli" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"llm" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/structure/rack, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "llw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37812,13 +38463,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"lmQ" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "lmY" = ( /obj/machinery/newscaster/directional/west, -/obj/machinery/camera{ - c_tag = "Research Division Lobby"; - dir = 10; - network = list("ss13","rd") - }, /obj/machinery/light/directional/west, /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -37861,6 +38514,9 @@ /area/station/maintenance/department/chapel) "lnw" = ( /obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/iron/dark/side{ dir = 1 }, @@ -37875,9 +38531,8 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "lnE" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +/obj/machinery/door/firedoor{ + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37889,6 +38544,11 @@ /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access"; + dir = 4; + manual_align = 1 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "lnL" = ( @@ -37921,6 +38581,11 @@ }, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) +"lom" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "lop" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/extinguisher_cabinet/directional/east, @@ -37928,6 +38593,7 @@ dir = 10 }, /obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/storage) "loq" = ( @@ -37948,8 +38614,16 @@ "loG" = ( /obj/structure/closet/secure_closet/chief_medical, /obj/item/screwdriver, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Medical Officer Bedroom"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"loO" = ( +/obj/structure/statue/snow/snowman, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "loV" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -37963,6 +38637,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"lpi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "lpj" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -37982,6 +38664,10 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"lpy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "lpC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38036,6 +38722,13 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"lqi" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/rcl/pre_loaded, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "lqj" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -38071,6 +38764,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"lqL" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"lqM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lqU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -38090,17 +38792,13 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lry" = ( -/obj/structure/table, -/obj/item/storage/box/bodybags{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Chapel Coffin Storage" - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel) +"lrl" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "lrz" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/trash/janitor_supplies, @@ -38113,14 +38811,13 @@ /obj/structure/curtain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) -"lrE" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/item/bikehorn/rubberducky, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"lrM" = ( +/obj/effect/turf_decal/siding/wideplating_new/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) "lsa" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; @@ -38130,11 +38827,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) -"lsh" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "lsi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38147,23 +38839,22 @@ "lso" = ( /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lsH" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ +"lsA" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/effect/turf_decal/stripes/white/line{ +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"lsF" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "lsN" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -38209,6 +38900,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"ltY" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway North-East" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "lub" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, @@ -38229,29 +38931,52 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/airlock/research{ - name = "Ordnance Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /obj/effect/turf_decal/tile/dark/half/contrasted{ dir = 1 }, -/turf/open/floor/iron/white/side, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "rnd2"; + name = "Research Lab Shutters" + }, +/turf/open/floor/plating, /area/station/science/ordnance/office) -"luR" = ( -/obj/item/toy/snowball{ - pixel_x = 9; - pixel_y = 1 +"luP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "lva" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology) +"lvb" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/storage/box/syringes{ + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/storage/box/beakers{ + pixel_y = 5; + pixel_x = -9 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lvh" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) "lvk" = ( @@ -38263,9 +38988,9 @@ /obj/machinery/camera/motion/directional/north{ c_tag = "EVA Storage North" }, -/obj/structure/sign/warning/secure_area/directional/north, /obj/structure/tank_dispenser/oxygen, /obj/effect/turf_decal/bot_white, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark/smooth_half{ dir = 1 }, @@ -38273,15 +38998,6 @@ "lvt" = ( /turf/open/openspace/icemoon, /area/icemoon/underground/explored) -"lvv" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) -"lvy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lvB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38308,6 +39024,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/eva) +"lvR" = ( +/obj/machinery/vatgrower{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "lvS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -38345,6 +39067,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"lwf" = ( +/obj/machinery/mining_weather_monitor/directional/north, +/turf/open/floor/iron/grimy, +/area/station/hallway/secondary/entry) +"lwg" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lwi" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8; @@ -38360,6 +39090,15 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"lwI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lwO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38407,6 +39146,9 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 4 }, +/obj/effect/turf_decal/siding/green{ + dir = 5 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) "lxu" = ( @@ -38442,40 +39184,28 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"lyf" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "lyg" = ( /turf/closed/wall/r_wall, /area/station/security/brig) -"lyh" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EVA2"; - location = "Dorm" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "lyl" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/treatment_center) +"lym" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ + name = "Burn Chamber Interior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "lyq" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -38489,13 +39219,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) -"lyv" = ( -/obj/structure/table/wood/poker, -/obj/item/trash/candle{ - pixel_y = 3 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lyG" = ( /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) @@ -38504,26 +39227,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"lyP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera{ - c_tag = "Service - Botany Lower Entrance"; - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"lyU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "lyX" = ( /obj/structure/chair{ dir = 4 @@ -38531,10 +39234,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"lzc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "lzq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38609,6 +39308,9 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/medical/chemistry) +"lAh" = ( +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "lAu" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -38645,6 +39347,36 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"lAW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) +"lBk" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/button/door/directional/east{ + id = "minecraft_shutter"; + name = "Cart Access" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lBo" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, @@ -38656,6 +39388,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"lBB" = ( +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "lBD" = ( /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -38696,11 +39432,18 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lCv" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/closet/crate/wooden/toy, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +"lCn" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "lCz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/bot, @@ -38712,6 +39455,10 @@ /obj/machinery/light/small/directional/south, /obj/machinery/light_switch/directional/south, /obj/machinery/newscaster/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Mining Bunks"; + network = list("ss13", "mine") + }, /turf/open/floor/iron/dark/side{ dir = 4 }, @@ -38735,16 +39482,12 @@ dir = 1 }, /area/station/engineering/lobby) -"lCM" = ( -/obj/structure/closet/crate, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"lCO" = ( -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"lCF" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored/graveyard) "lCV" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38818,10 +39561,10 @@ /turf/open/floor/iron, /area/mine/laborcamp) "lDE" = ( -/obj/structure/sign/poster/official/safety_report/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/security/prison/visit) "lDF" = ( @@ -38857,29 +39600,6 @@ /obj/structure/cable, /turf/open/floor/carpet/blue, /area/station/security/prison/work) -"lEb" = ( -/obj/machinery/door/airlock/multi_tile/public/glass{ - dir = 4; - name = "Service Hall" - }, -/obj/effect/turf_decal/siding/dark/corner, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) -"lEc" = ( -/obj/structure/stairs/east, -/turf/open/misc/asteroid/snow, -/area/station/science/ordnance) "lEg" = ( /obj/machinery/door/window/left/directional/north{ name = "AI Core Door"; @@ -38891,17 +39611,6 @@ "lEj" = ( /turf/open/floor/iron/dark/textured, /area/station/security/processing) -"lEn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/stack/sheet/mineral/coal{ - pixel_x = 6; - pixel_y = 3 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "lEo" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment{ @@ -38910,10 +39619,13 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "lEt" = ( -/obj/structure/railing/corner{ +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/railing{ dir = 8 }, -/obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) "lEv" = ( @@ -38955,7 +39667,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /obj/effect/landmark/start/hangover, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/aft) "lEO" = ( /obj/effect/spawner/structure/window, @@ -38976,6 +39693,30 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/station/command/bridge) +"lEV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"lFb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "lFe" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/iron/dark/textured, @@ -39027,6 +39768,19 @@ dir = 8 }, /area/station/command/heads_quarters/rd) +"lGb" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/flashlight{ + pixel_y = 2 + }, +/obj/structure/lattice/catwalk, +/obj/machinery/camera/directional/south{ + c_tag = "Ordnance Lower Mix Lab"; + network = list("ss13","rd") + }, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "lGd" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -39047,7 +39801,7 @@ /area/station/medical/treatment_center) "lGo" = ( /obj/machinery/hydroponics/soil, -/obj/structure/sign/poster/contraband/kudzu/directional/east, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/grass, /area/station/service/hydroponics/garden) "lGp" = ( @@ -39072,6 +39826,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/psychology) +"lGw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/medical/morgue) "lGz" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -39099,29 +39868,15 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"lHi" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"lHm" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron, -/area/station/science/explab) -"lHr" = ( -/obj/structure/stairs/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"lGN" = ( +/obj/effect/landmark/start/botanist, +/obj/structure/chair/office/light, +/turf/open/floor/glass, +/area/station/service/hydroponics) +"lGY" = ( +/obj/structure/railing, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "lHu" = ( /obj/structure/closet/secure_closet/brig, /obj/structure/cable, @@ -39133,13 +39888,12 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/fore) "lHB" = ( -/obj/machinery/camera{ - c_tag = "Chapel North"; - dir = 6 - }, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, +/obj/machinery/camera/directional/south_east{ + c_tag = "Chapel North" + }, /turf/open/floor/iron/dark, /area/station/service/chapel) "lHC" = ( @@ -39161,17 +39915,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) -"lHI" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lHL" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/corner{ @@ -39185,6 +39928,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"lHV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/smartfridge/organ, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "lIk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -39200,11 +39948,17 @@ /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) "lIs" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ dir = 8 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "lIt" = ( /obj/machinery/modular_computer/preset/cargochat/security{ @@ -39223,6 +39977,10 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"lIB" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lIC" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -39240,16 +39998,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron, /area/station/tcommsat/computer) -"lIK" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/turretid{ - name = "AI Chamber turret control"; - pixel_x = 5; - pixel_y = -24 - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "lIQ" = ( /obj/item/restraints/legcuffs/beartrap, /obj/item/restraints/legcuffs/beartrap, @@ -39266,8 +40014,10 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/machinery/firealarm/directional/north, /obj/structure/cable, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -39276,7 +40026,6 @@ /obj/machinery/light/small/directional/west, /obj/structure/table, /obj/structure/bedsheetbin, -/obj/structure/sign/clock/directional/west, /obj/effect/turf_decal/siding/blue{ dir = 4 }, @@ -39288,12 +40037,25 @@ "lIW" = ( /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"lJc" = ( -/obj/item/food/chococoin, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"lIY" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/end{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/disposalpipe/segment, +/obj/structure/window/half/directional/north, +/turf/open/floor/iron/large, +/area/station/medical/medbay/aft) +"lJn" = ( +/obj/effect/decal/cleanable/confetti, +/obj/structure/closet/crate/cardboard, +/obj/item/storage/cans/sixbeer, +/obj/effect/spawner/random/food_or_drink/cups, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lJO" = ( /turf/closed/wall, /area/station/maintenance/port/fore) @@ -39302,20 +40064,11 @@ c_tag = "Security - Permabrig Lower Hallway Stairwell"; network = list("ss13","prison") }, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"lJW" = ( -/obj/machinery/smartfridge, -/obj/machinery/door/window/right/directional/south{ - name = "Produce Access"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lKc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -39358,11 +40111,27 @@ /obj/structure/closet/radiation, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"lKu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"lKN" = ( +/obj/machinery/door/window/left/directional/west{ + req_access = list("hydroponics"); + name = "Hydroponics Equipment" + }, +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "lKZ" = ( -/obj/structure/railing/corner{ +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/effect/turf_decal/tile/blue{ +/obj/structure/railing/corner/end/flip{ dir = 8 }, /turf/open/floor/iron/white, @@ -39398,16 +40167,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"lLR" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lLY" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/recharge_floor, @@ -39422,10 +40181,6 @@ /obj/item/food/cheesiehonkers, /turf/open/floor/iron, /area/station/cargo/office) -"lMe" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/kitchen) "lMg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39448,7 +40203,6 @@ id = "xenobio5"; name = "Xenobio Pen 5 Blast Door" }, -/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) "lMC" = ( @@ -39457,6 +40211,12 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"lMU" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lNa" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -39479,9 +40239,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "lNk" = ( -/obj/structure/sign/painting/library{ - pixel_y = -32 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, @@ -39506,10 +40263,17 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"lND" = ( +/obj/structure/fence/cut/large{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lNE" = ( /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 4 }, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "lNG" = ( @@ -39550,10 +40314,13 @@ /turf/open/floor/iron/dark, /area/station/commons/storage/primary) "lOq" = ( +/obj/machinery/light/small/dim/directional/east, +/obj/structure/railing{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "lOz" = ( @@ -39563,8 +40330,31 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, /turf/open/floor/wood, /area/station/commons/dorms) +"lOA" = ( +/obj/structure/minecart_rail{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"lOB" = ( +/obj/structure/minecart_rail{ + dir = 6 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "lOI" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 5 @@ -39572,6 +40362,13 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"lOJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lOP" = ( /obj/structure/table, /obj/item/paper, @@ -39613,6 +40410,13 @@ }, /turf/open/floor/iron/sepia, /area/station/service/library) +"lPl" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "lPr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39620,14 +40424,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lPz" = ( -/mob/living/basic/pet/penguin/baby/permanent, -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = -3 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) +"lPs" = ( +/obj/structure/girder, +/obj/structure/grille, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "lPC" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -39644,6 +40445,11 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"lPH" = ( +/obj/structure/closet/emcloset, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "lPJ" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -39670,12 +40476,17 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"lPQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"lPW" = ( +/obj/structure/dresser, +/obj/structure/mirror/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/machinery/camera/directional/north{ + c_tag = "Service - Backstage" + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lQc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -39824,6 +40635,14 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"lRO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lRR" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 6 @@ -39863,22 +40682,7 @@ "lSu" = ( /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"lSw" = ( -/obj/structure/tank_dispenser{ - pixel_x = -1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Monitoring" - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) "lSF" = ( -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -39888,6 +40692,9 @@ /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "lSP" = ( @@ -39896,6 +40703,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/mining) +"lSZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/ordnance/office) "lTa" = ( /obj/effect/turf_decal/trimline/red/warning{ dir = 10 @@ -39903,6 +40718,54 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"lTe" = ( +/obj/structure/rack, +/obj/item/lighter, +/obj/item/clothing/glasses/meson{ + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/computer_disk/engineering{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/item/computer_disk/engineering{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/item/computer_disk/engineering{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/item/reagent_containers/pill/patch/aiuri, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) +"lTi" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) +"lTl" = ( +/obj/structure/closet/crate/grave, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) +"lTp" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lTs" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -39920,6 +40783,9 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) "lUb" = ( @@ -39945,6 +40811,10 @@ dir = 10 }, /area/station/science/research) +"lUl" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "lUw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40031,15 +40901,11 @@ }, /turf/open/floor/wood, /area/station/service/library) -"lVN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 1 - }, +"lVU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "lVY" = ( /obj/effect/turf_decal/siding/thinplating_new/corner{ dir = 4 @@ -40082,6 +40948,7 @@ /obj/item/clothing/gloves/latex/nitrile, /obj/item/clothing/gloves/latex/nitrile, /obj/machinery/light/cold/directional/north, +/obj/structure/window/half/directional/west, /turf/open/floor/iron/dark, /area/station/medical/storage) "lWy" = ( @@ -40092,8 +40959,12 @@ }, /obj/item/pen, /obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/report_crimes/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) +"lWG" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) "lWI" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -40101,6 +40972,10 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"lXf" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "lXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40116,12 +40991,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) -"lXC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "lXJ" = ( /obj/structure/railing{ dir = 1 @@ -40140,18 +41009,25 @@ dir = 10 }, /area/station/science/research) +"lYw" = ( +/obj/structure/closet/secure_closet/bar, +/obj/machinery/light/small/directional/north, +/obj/item/vending_refill/cigarette, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) +"lYH" = ( +/obj/machinery/door_buttons/access_button/directional/north{ + idSelf = "virology_airlock_control" + }, +/turf/closed/mineral/random/snow, +/area/icemoon/underground/explored) "lYR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/grass, /area/station/medical/virology) -"lYS" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "lZe" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -40163,11 +41039,16 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lZP" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +"lZj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/aft/greater) +"lZy" = ( +/obj/structure/lattice, +/obj/structure/sign/departments/maint/alt/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "lZQ" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/computer/cargo{ @@ -40200,26 +41081,11 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"maw" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "maB" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) -"maM" = ( -/obj/item/paper/fluff/jobs/security/beepsky_mom, -/obj/machinery/light/small/dim/directional/east, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "maO" = ( /obj/machinery/disposal/bin, /obj/structure/window/reinforced/spawner/directional/south, @@ -40248,18 +41114,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/storage) -"maX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "maY" = ( /obj/item/wrench, /obj/item/weldingtool, @@ -40270,16 +41124,15 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"mbb" = ( -/obj/structure/cable, -/obj/machinery/button/door/directional/west{ - id = "xenobio1"; - name = "Xenobio Pen 1 Blast Door"; - req_access = list("xenobiology") +"mbe" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 }, -/obj/machinery/light/floor, -/turf/open/floor/iron, -/area/station/science/xenobiology) +/obj/effect/spawner/random/entertainment/cigar, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "mbk" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue{ @@ -40288,6 +41141,14 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"mbm" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/holopad, +/obj/machinery/light/warm/directional/north, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/service/bar) "mbn" = ( /obj/machinery/light/directional/north, /obj/structure/chair, @@ -40314,6 +41175,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/tcommsat/computer) +"mbw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/navigate_destination/kitchen, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "mbB" = ( /obj/machinery/newscaster/directional/west, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -40345,10 +41219,18 @@ dir = 5 }, /area/station/science/research) -"mbT" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/starboard/aft) +"mbM" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"mbW" = ( +/obj/structure/closet/crate/coffin, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Chapel Coffin Storage" + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/chapel) "mbZ" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/door/airlock/security{ @@ -40367,6 +41249,17 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) +"mch" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mco" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -40400,26 +41293,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) -"mcQ" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) -"mcT" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "mcW" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"mde" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/item/kirbyplants/random/dead/research_director, +/obj/machinery/computer/security/telescreen/rd/directional/west, +/turf/open/floor/iron/smooth_half, +/area/station/command/heads_quarters/rd) "mdl" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -40457,13 +41342,6 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/textured, /area/station/ai_monitored/command/storage/eva) -"mdQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "mdS" = ( /obj/item/paper_bin{ pixel_x = 1; @@ -40476,10 +41354,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"mdV" = ( -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "mdX" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -40531,12 +41405,20 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"meW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"meX" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"meZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "mfc" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -40545,12 +41427,26 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/mine/eva/lower) +"mfy" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/genturf/orange, +/area/icemoon/underground/unexplored/no_rivers) "mfD" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/atmos) "mfH" = ( /turf/closed/wall/r_wall, /area/station/security/brig/upper) +"mfP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mfV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -40585,15 +41481,31 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mgy" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) +"mgp" = ( +/obj/item/toy/plush/lizard_plushie{ + name = "Wines-And-Dines"; + pixel_x = 4 + }, +/obj/item/reagent_containers/cup/glass/bottle{ + pixel_x = -9 + }, +/obj/structure/sign/flag/tizira/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mgD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"mgS" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "mgU" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) @@ -40602,6 +41514,7 @@ c_tag = "Central Hallway West" }, /obj/effect/turf_decal/tile/blue, +/obj/machinery/bluespace_vendor/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) "mgZ" = ( @@ -40622,17 +41535,10 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"mhj" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) -"mhq" = ( -/obj/structure/closet, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/maintenance/starboard/upper) +"mhp" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/cargo/storage) "mhx" = ( /obj/effect/turf_decal/bot, /obj/effect/landmark/secequipment, @@ -40670,6 +41576,13 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mjf" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "mjg" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine/n2o, @@ -40679,13 +41592,11 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"mjt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/aft) "mjH" = ( /obj/structure/table/optable, /obj/machinery/newscaster/directional/east, @@ -40725,6 +41636,10 @@ /obj/item/flashlight, /turf/open/floor/iron, /area/station/service/chapel) +"mjX" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/security/prison/visit) "mka" = ( /obj/machinery/computer/turbine_computer{ dir = 1; @@ -40734,16 +41649,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) -"mkr" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/newscaster/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "mku" = ( /obj/effect/spawner/random/structure/grille, /obj/effect/decal/cleanable/glass, @@ -40762,22 +41667,12 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mkM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, +"mkZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/hobo_squat, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, -/area/station/maintenance/fore) -"mkN" = ( -/obj/machinery/computer/records/medical/laptop{ - pixel_y = 1 - }, -/obj/structure/table/reinforced, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/maintenance/starboard/lesser) "mld" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -40787,7 +41682,6 @@ "mle" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, @@ -40810,18 +41704,41 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"mlN" = ( -/obj/structure/railing{ - dir = 6 +"mlw" = ( +/obj/structure/table, +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 1; + name = "Brig Exterior Doors Control"; + req_access = list("security"); + normaldoorcontrol = 1; + id = "outerbrig" }, -/obj/effect/turf_decal/siding/white{ - dir = 6 +/obj/machinery/button/door/table{ + pixel_x = 6; + name = "Brig Interior Doors Control"; + req_access = list("security"); + normaldoorcontrol = 1; + id = "innerbrig"; + pixel_y = 9 }, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" +/obj/machinery/button/flasher/table{ + pixel_y = 9; + id = "brigentry"; + name = "Entry Flasher"; + pixel_x = -6 }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/machinery/button/door/table{ + pixel_x = -6; + id = "briggate"; + name = "Brig Shutters"; + req_access = list("security"); + pixel_y = 1 + }, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "mlO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/east, @@ -40850,15 +41767,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mmf" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mmh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -40891,6 +41799,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"mmw" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"mmy" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "mmA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -40919,8 +41842,17 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/maintenance/aft/greater) +"mmG" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio7"; + name = "Xenobio Pen 7 Blast DOors"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "mmR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40930,12 +41862,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"mnn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/fore) "mnu" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -40949,13 +41875,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mnB" = ( -/obj/structure/railing{ - dir = 5 +"mnA" = ( +/obj/item/clothing/accessory/pocketprotector, +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/camera{ + pixel_y = 4; + pixel_x = -3 }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/backpack, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mnC" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -40978,18 +41910,14 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, /turf/open/floor/iron/smooth, /area/mine/eva/lower) "mod" = ( /obj/structure/closet/crate/internals, -/obj/machinery/camera{ - c_tag = "Cargo Bay B-1"; - dir = 6 - }, /obj/machinery/firealarm/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Bay B-1" + }, /turf/open/floor/iron, /area/station/cargo/storage) "moB" = ( @@ -41000,14 +41928,17 @@ /turf/open/floor/plating, /area/station/maintenance/department/chapel) "moE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/door/firedoor{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/treatment_center) "moF" = ( /obj/effect/turf_decal/stripes/line{ @@ -41031,6 +41962,15 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) +"moX" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mpe" = ( /obj/structure/cable, /obj/machinery/computer/quantum_console, @@ -41077,7 +42017,12 @@ /area/station/science/ordnance/bomb) "mpy" = ( /obj/machinery/door/firedoor, -/turf/open/floor/iron, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "mpH" = ( /obj/effect/landmark/event_spawn, @@ -41085,17 +42030,20 @@ /turf/open/floor/iron/dark, /area/station/commons/fitness) "mpP" = ( -/obj/machinery/door/firedoor, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; - name = "Bridge Blast Door" + name = "Bridge Blast Door"; + dir = 4 }, /obj/effect/turf_decal/delivery, /obj/structure/cable, -/turf/open/floor/iron, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/command/bridge) "mpR" = ( -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/disposal/bin{ desc = "A pneumatic waste disposal unit. This one leads to the morgue."; name = "corpse disposal" @@ -41104,12 +42052,16 @@ dir = 4 }, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/window/half/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "mpU" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics) +"mqd" = ( +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "mqe" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -41128,13 +42080,11 @@ "mqs" = ( /obj/effect/turf_decal/bot, /obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, /turf/open/floor/iron/smooth, /area/mine/eva) "mqy" = ( /obj/machinery/shower/directional/west, +/obj/structure/fluff/shower_drain, /turf/open/floor/iron/freezer, /area/station/commons/toilet) "mqD" = ( @@ -41153,8 +42103,18 @@ dir = 4 }, /area/station/security/brig/entrance) +"mqL" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio9"; + name = "Xenobio Pen 9 Blast DOors"; + req_access = list("xenobiology") + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "mqO" = ( /obj/machinery/power/port_gen/pacman, +/obj/structure/sign/poster/contraband/missing_gloves/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/electrical) "mqR" = ( @@ -41170,13 +42130,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side, /area/station/science/research) -"mri" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 +"mrl" = ( +/obj/structure/fence{ + dir = 2 }, -/obj/structure/sign/warning/gas_mask/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore/lesser) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "mro" = ( /obj/structure/curtain/cloth, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -41187,6 +42146,7 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/structure/sign/departments/science/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "mry" = ( @@ -41246,7 +42206,9 @@ /turf/open/floor/plating, /area/station/maintenance/central/greater) "msd" = ( -/obj/machinery/door/poddoor/incinerator_atmos_main, +/obj/machinery/door/poddoor/incinerator_atmos_main{ + dir = 4 + }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "msf" = ( @@ -41262,6 +42224,7 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison) "msi" = ( @@ -41298,6 +42261,19 @@ /obj/item/stack/ducts/fifty, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"msE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"msG" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet2"; + name = "Unit 2" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "msN" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, @@ -41333,9 +42309,37 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"mtt" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored/graveyard) +"mty" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/seeds/tower, +/obj/item/seeds/chanter{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/seeds/watermelon{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/item/seeds/apple{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/seeds/banana, +/obj/item/seeds/rose{ + pixel_y = -3; + pixel_x = -4 + }, +/obj/structure/noticeboard/directional/west, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_y = 3; + pixel_x = -27 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "mtI" = ( /turf/closed/wall, /area/station/science/robotics/lab) @@ -41343,14 +42347,13 @@ /obj/effect/spawner/random/entertainment/arcade{ dir = 4 }, -/obj/structure/sign/poster/random/directional/west, /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) "mtT" = ( -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "mua" = ( @@ -41460,31 +42463,10 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"mwK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "mwQ" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mxc" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/ordnance) -"mxh" = ( -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/commons/lounge) "mxj" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port Mix to East Ports" @@ -41500,6 +42482,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"mxF" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "mxM" = ( /obj/machinery/camera/directional/north{ c_tag = "Central Hallway North" @@ -41524,13 +42515,13 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"mxY" = ( -/obj/structure/minecart_rail{ - dir = 9 +"mxR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +/turf/open/floor/wood, +/area/station/commons/lounge) "mye" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -41587,22 +42578,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"myS" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Botany Garden Access" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "myX" = ( /obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41625,14 +42600,28 @@ /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) "mza" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue, +/obj/structure/sign/departments/security/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "mzb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/science/ordnance) +"mzo" = ( +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "mzr" = ( /obj/structure/table, /obj/item/exodrone{ @@ -41649,7 +42638,6 @@ }, /area/mine/eva) "mzy" = ( -/obj/structure/sign/warning/electric_shock/directional/south, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 @@ -41687,6 +42675,14 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/textured_large, /area/station/security/brig/entrance) +"mzX" = ( +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mAc" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Maintenance" @@ -41700,6 +42696,15 @@ "mAe" = ( /turf/open/floor/glass/reinforced, /area/station/security/lockers) +"mAj" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/surgery_tray/full/morgue, +/obj/structure/table/reinforced, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/bot_white, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mAM" = ( /obj/structure/ladder, /obj/machinery/light/small/red/directional/west, @@ -41740,6 +42745,13 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mBm" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "mBB" = ( /obj/machinery/door/poddoor/preopen{ id = "ceprivacy"; @@ -41749,6 +42761,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/ce) +"mBL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/requests_console/auto_name/directional/east, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "mBO" = ( /obj/structure/sign/poster/contraband/random/directional/east, /obj/machinery/light/small/dim/directional/west, @@ -41794,6 +42818,11 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"mCo" = ( +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/science/research) "mCw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -41807,6 +42836,12 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"mCz" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "mCK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41817,14 +42852,18 @@ /obj/machinery/hydroponics/soil, /turf/open/floor/grass, /area/station/service/hydroponics/garden) +"mDa" = ( +/obj/structure/fence/post, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "mDf" = ( /obj/machinery/telecomms/server/presets/common, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"mDg" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/lesser) +"mDj" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "mDo" = ( /obj/structure/bed/double, /obj/item/bedsheet/black/double, @@ -41845,10 +42884,9 @@ /obj/machinery/camera/directional/north{ c_tag = "Bridge East Access" }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, -/obj/machinery/incident_display/bridge/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) "mDw" = ( @@ -41860,6 +42898,10 @@ /obj/item/stamp/head/ce, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"mDM" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "mDX" = ( /turf/open/floor/engine/n2, /area/station/engineering/atmos) @@ -41920,7 +42962,6 @@ /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) "mES" = ( -/obj/structure/sign/poster/random/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/smooth, @@ -41931,6 +42972,16 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"mEW" = ( +/obj/structure/cable, +/obj/machinery/button/door/directional/west{ + id = "xenobio1"; + name = "Xenobio Pen 1 Blast Door"; + req_access = list("xenobiology") + }, +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/station/science/xenobiology) "mFj" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -41972,9 +43023,7 @@ /turf/open/floor/iron/smooth, /area/station/security/brig/upper) "mFR" = ( -/obj/structure/sign/plaques/kiddie/badger{ - pixel_y = 32 - }, +/obj/structure/sign/plaques/kiddie/badger/directional/north, /turf/open/misc/dirt{ initial_gas_mix = "ICEMOON_ATMOS" }, @@ -42026,13 +43075,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) -"mGF" = ( -/obj/effect/decal/cleanable/confetti, -/obj/structure/closet/crate/cardboard, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/random/food_or_drink/cups, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mGJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42045,10 +43087,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"mGV" = ( -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "mHd" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -42097,6 +43135,24 @@ /obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, /turf/open/floor/plating, /area/station/engineering/atmos) +"mIq" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"mIs" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "mIt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -42124,22 +43180,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mIT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/cigarette{ - pixel_x = 6; - pixel_y = 12 - }, -/turf/open/floor/iron, -/area/mine/eva) "mJa" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"mJd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/construction) "mJj" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -42182,13 +43232,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/security/prison/rec) -"mJZ" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/sign/nanotrasen, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "mKa" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42201,6 +43244,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) +"mKQ" = ( +/obj/structure/tall_stairs/end/directional/west, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mLa" = ( /obj/item/kirbyplants/random, /turf/open/floor/plating, @@ -42216,6 +43263,7 @@ /obj/structure/rack, /obj/item/crowbar, /obj/item/picket_sign, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "mLt" = ( @@ -42250,6 +43298,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) +"mLU" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness) "mLV" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, @@ -42259,12 +43316,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"mMi" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "mMk" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -42284,10 +43335,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet, /area/station/service/library) -"mMI" = ( -/obj/structure/secure_safe/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "mMM" = ( /turf/closed/wall/r_wall, /area/station/security/prison) @@ -42316,19 +43363,22 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"mMZ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/box/red/corners{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "mNy" = ( /obj/effect/turf_decal/tile/green{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"mNB" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -42338,6 +43388,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"mNG" = ( +/obj/machinery/light/directional/north, +/obj/machinery/status_display/supply/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "mNJ" = ( /obj/structure/cable, /obj/machinery/holopad/secure, @@ -42347,6 +43402,10 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"mNP" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "mNY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/aft) @@ -42383,16 +43442,13 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"mOH" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +"mOF" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing{ dir = 1 }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/fitness) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "mOL" = ( /obj/machinery/airalarm/directional/south, /obj/structure/disposalpipe/segment{ @@ -42418,10 +43474,30 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"mPl" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/hydroponics) "mPq" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"mPr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "mPv" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay Storage" @@ -42432,11 +43508,11 @@ /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) "mPG" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/effect/mapping_helpers/trapdoor_placer, +/obj/structure/noticeboard/cmo{ + pixel_y = 36 }, -/turf/open/floor/iron/white, +/turf/open/floor/catwalk_floor/iron_white, /area/station/medical/medbay/central) "mPH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42456,22 +43532,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"mPO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/sign/warning/radiation/rad_area/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) -"mPQ" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/decoration/ornament, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "mQb" = ( /obj/structure/flora/grass/both/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -42504,12 +43564,12 @@ "mQr" = ( /obj/machinery/modular_computer/preset/id, /obj/item/radio/intercom/directional/east, -/obj/machinery/camera{ +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/obj/machinery/camera/directional/north{ c_tag = "Chief Medical Office North"; - dir = 9; network = list("ss13","medbay") }, -/obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) "mQG" = ( @@ -42524,27 +43584,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"mRp" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) "mRr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"mRv" = ( -/obj/structure/chair/stool/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) +"mRy" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "mRG" = ( /obj/structure/table, /obj/item/book/manual/wiki/atmospherics, @@ -42566,15 +43615,12 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"mRN" = ( -/obj/structure/railing, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/four, -/obj/structure/disposalpipe/segment{ - dir = 4 +"mRM" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Morgue Hallway" }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "mRU" = ( /obj/effect/decal/cleanable/insectguts, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -42582,6 +43628,10 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"mRY" = ( +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "mSv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42596,15 +43646,16 @@ dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/purple/full, +/turf/open/floor/iron/white/smooth_large, /area/station/maintenance/aft/greater) "mSH" = ( -/obj/structure/fence{ - dir = 1 - }, /obj/structure/railing/corner{ dir = 8 }, +/obj/structure/fence{ + dir = 8 + }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "mSL" = ( @@ -42642,15 +43693,6 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"mTA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "mTI" = ( /obj/structure/sink/kitchen/directional/south{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -42659,43 +43701,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"mTL" = ( -/obj/structure/closet/secure_closet/bar, -/obj/machinery/firealarm/directional/north{ - pixel_x = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5; - pixel_y = 28 - }, -/obj/item/vending_refill/cigarette, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "mTS" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"mTW" = ( -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) "mTX" = ( /obj/structure/barricade/wooden, /obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) "mUf" = ( @@ -42704,11 +43718,16 @@ }, /obj/machinery/button/door/directional/east{ id = "drone_bay"; - name = "Shutter Control"; - pixel_y = -8 + name = "Shutter Control" }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"mUi" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "mUs" = ( /obj/machinery/light/directional/south, /turf/open/floor/plating, @@ -42719,7 +43738,6 @@ /obj/structure/cable, /obj/effect/decal/cleanable/insectguts, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/cold_temp/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/lesser) "mUE" = ( @@ -42729,18 +43747,11 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mUW" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/trash/botanical_waste, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"mVe" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "mVm" = ( -/obj/structure/grille/broken, +/obj/structure/sign/warning/directional/north, +/obj/structure/fence{ + dir = 4 + }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) "mVp" = ( @@ -42773,6 +43784,9 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "mVN" = ( @@ -42782,20 +43796,20 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mVW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" +"mVS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mWf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42935,7 +43949,6 @@ "mXD" = ( /obj/structure/rack, /obj/item/mecha_parts/mecha_equipment/drill, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/smooth, /area/mine/mechbay) "mXH" = ( @@ -42943,6 +43956,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) "mXK" = ( @@ -42963,11 +43977,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"mXW" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "mYh" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) @@ -42982,10 +43991,6 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) -"mYn" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "mYq" = ( /obj/machinery/requests_console/directional/north{ department = "Research Director's Desk"; @@ -43089,11 +44094,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness) -"mZS" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"mZT" = ( +/obj/structure/table/wood, +/obj/item/cigarette/cigar{ + pixel_x = 7; + pixel_y = 10 + }, +/obj/item/storage/box/matches, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "mZV" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical{ @@ -43114,8 +44123,8 @@ /area/station/maintenance/starboard/fore) "nah" = ( /obj/machinery/chem_heater/withbuffer, -/obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/yellow/full, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) "naq" = ( @@ -43156,6 +44165,11 @@ "naX" = ( /turf/closed/wall/mineral/iron, /area/station/engineering/atmos/mix) +"nbd" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "nbi" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/yellow{ @@ -43173,13 +44187,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nbl" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "nbm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -43210,12 +44217,11 @@ /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/item/radio/intercom/directional/west, /obj/machinery/button/door/directional/north{ id = "hosspace"; - name = "Icemoon Shutters Control"; - pixel_x = -24 + name = "Icemoon Shutters Control" }, -/obj/item/radio/intercom/directional/west, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hos) "nbw" = ( @@ -43233,13 +44239,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/station/medical/treatment_center) -"nbI" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "nbJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43254,35 +44253,12 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/eva/lower) -"nbL" = ( -/obj/structure/table/wood, -/obj/item/camera, -/obj/item/taperecorder, -/obj/item/radio/intercom/directional/east, -/obj/structure/sign/painting/library_private{ - pixel_y = 32 - }, -/obj/item/storage/photo_album/library, -/turf/open/floor/engine/cult, -/area/station/service/library) "nbM" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 5 }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"nbO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"nbP" = ( -/obj/structure/bonfire/prelit, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nbT" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, @@ -43299,9 +44275,8 @@ pixel_y = -3 }, /obj/item/radio/intercom/directional/south, -/obj/machinery/camera{ - c_tag = "Cargo Bay Drone Bay"; - dir = 5 +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay Drone Bay" }, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) @@ -43327,33 +44302,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ncc" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/paper{ - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"ncd" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"nce" = ( -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) "nci" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43373,17 +44321,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/locker) -"ncx" = ( -/obj/structure/table/wood, -/obj/item/soap/deluxe{ - pixel_y = 11 - }, -/obj/item/soap/deluxe{ - pixel_y = 6 - }, -/obj/item/soap/deluxe, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "ncB" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Walkway" @@ -43399,10 +44336,6 @@ /area/station/security/brig/upper) "ncO" = ( /obj/machinery/shower/directional/east, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = -29 - }, /turf/open/floor/iron/smooth, /area/mine/living_quarters) "ncR" = ( @@ -43482,9 +44415,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, +/obj/machinery/status_display/supply/directional/south, /turf/open/floor/plating, /area/station/cargo/storage) "ndO" = ( @@ -43513,13 +44444,14 @@ }, /area/station/security/prison) "nek" = ( -/obj/machinery/flasher/directional/north{ - id = "Cell 1" - }, /obj/structure/bed{ dir = 1; pixel_x = -2 }, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/flasher/directional/north{ + id = "Cell 1" + }, /turf/open/floor/iron/smooth, /area/station/security/brig) "neq" = ( @@ -43545,8 +44477,16 @@ dir = 1; name = "Prosecution" }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /turf/open/floor/wood, /area/station/security/courtroom) +"neE" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "neF" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -43568,51 +44508,25 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"neM" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"neQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "neR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"neV" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, +"neX" = ( /obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/structure/cable, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = -1 +/obj/machinery/button/door/table{ + id = "visitation"; + name = "Visitation Shutters"; + req_access = list("brig") }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/mod/module/signlang_radio, -/obj/item/mod/module/thermal_regulator, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) +/obj/machinery/button/flasher/table{ + pixel_y = 8; + id = "visitorflash" + }, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron, +/area/station/security/prison/visit) "nfd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -43657,21 +44571,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"nfG" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"nfK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"nfE" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "nfU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43681,25 +44587,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"nfW" = ( -/obj/machinery/computer/mecha{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/keycard_auth/directional/south, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Research Director's Office"; - network = list("ss13","rd") - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) -"ngh" = ( -/obj/structure/fence{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ngj" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -43718,6 +44605,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/production) +"ngy" = ( +/obj/structure/sign/warning/directional/north, +/turf/closed/mineral/random/snow/high_chance, +/area/icemoon/underground/explored) "ngM" = ( /obj/structure/lattice/catwalk, /obj/structure/fence/door{ @@ -43728,10 +44619,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"ngY" = ( -/obj/structure/sign/warning/cold_temp, -/turf/closed/wall, -/area/station/service/chapel) "ngZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/burnt_floor, @@ -43743,6 +44630,7 @@ name = "Port Bow Solar Control" }, /obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) "nhf" = ( @@ -43755,16 +44643,6 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"nhv" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nhw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -43784,12 +44662,6 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/engine, /area/station/science/genetics) -"nhS" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "nhT" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -43843,13 +44715,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"niC" = ( -/obj/structure/cable, -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/research) +"niE" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "niG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -43859,6 +44729,17 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/mine/eva/lower) +"niO" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "niY" = ( /obj/effect/spawner/random/trash/bin, /turf/open/floor/plating, @@ -43876,21 +44757,22 @@ /area/station/engineering/atmos) "njf" = ( /obj/machinery/plate_press, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) "nji" = ( /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"njj" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/service/kitchen) "njm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/transit_tube) -"njz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "njA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -43899,14 +44781,6 @@ "njJ" = ( /turf/closed/wall, /area/mine/laborcamp) -"njM" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "njO" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -43946,12 +44820,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) +"nkE" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nkI" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /obj/structure/tank_holder/oxygen, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) "nkO" = ( @@ -43966,10 +44847,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/vault, /area/station/security/prison/rec) -"nla" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "nll" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -43980,6 +44857,7 @@ pixel_x = 3; pixel_y = -2 }, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/atmos/storage) "nlp" = ( @@ -43997,17 +44875,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction) -"nlA" = ( -/obj/item/clothing/head/beanie/orange{ - pixel_y = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/wheelys/skishoes{ - pixel_y = -8 - }, -/obj/effect/decal/remains/human, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nlJ" = ( /obj/structure/railing{ dir = 5 @@ -44026,6 +44893,7 @@ dir = 4 }, /obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/medical/chemistry) "nlO" = ( @@ -44065,16 +44933,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nmi" = ( -/obj/structure/closet/chefcloset, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/obj/structure/sign/poster/official/cleanliness/directional/west, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "nmj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44123,7 +44981,6 @@ /turf/open/floor/grass, /area/station/security/prison/garden) "nmu" = ( -/obj/structure/sign/warning/xeno_mining/directional/east, /obj/effect/turf_decal/stripes/corner, /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth_large, @@ -44135,18 +44992,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nmy" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/structure/railing/corner/end{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nmz" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -44155,7 +45000,6 @@ /turf/open/openspace, /area/station/science/ordnance/office) "nmA" = ( -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -44169,6 +45013,10 @@ dir = 4 }, /obj/structure/cable, +/obj/structure/sign/warning/pods/directional/north, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "nmC" = ( @@ -44178,6 +45026,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"nmH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "nmI" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured, @@ -44196,15 +45055,6 @@ /obj/effect/landmark/navigate_destination/library, /turf/open/floor/wood, /area/station/service/library) -"nmO" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nnl" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window/reinforced/plasma, @@ -44236,20 +45086,14 @@ /obj/machinery/vending/assist, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"nnM" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "nnR" = ( /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"nof" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/stone, +/area/station/commons/lounge) "noi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/airalarm/directional/east, @@ -44267,8 +45111,9 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "non" = ( -/obj/structure/stairs/south, /obj/structure/disposalpipe/segment, +/obj/structure/tall_stairs/end/directional/south, +/obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/white, /area/station/medical/virology) "nor" = ( @@ -44288,7 +45133,6 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, -/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "noM" = ( @@ -44305,7 +45149,6 @@ /area/station/engineering/storage_shared) "noQ" = ( /obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "noR" = ( @@ -44419,6 +45262,31 @@ "npD" = ( /turf/closed/wall/r_wall, /area/station/maintenance/aft/greater) +"npF" = ( +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Service Hall" + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/service) +"npG" = ( +/obj/structure/sign/departments/xenobio/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "npH" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/cup/bucket, @@ -44440,10 +45308,6 @@ }, /turf/open/floor/iron/white, /area/station/science/explab) -"npZ" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "nqb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating/snowed/icemoon, @@ -44461,13 +45325,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"nqv" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/sign/nanotrasen, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "nqw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44476,9 +45333,8 @@ /turf/open/floor/iron, /area/station/commons/storage/mining) "nqy" = ( -/obj/structure/stairs/east, +/obj/structure/tall_stairs/end/directional/east, /obj/structure/railing, -/obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/white, /area/station/science/ordnance) "nqD" = ( @@ -44489,13 +45345,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"nqI" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/requests_console/auto_name/directional/south, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "nqP" = ( /obj/machinery/camera/directional/north{ c_tag = "Research Division West"; @@ -44515,19 +45364,15 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) "nqX" = ( /obj/machinery/atmospherics/pipe/smart/manifold/pink/visible, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"nrh" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "nrm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44537,8 +45382,16 @@ "nrq" = ( /obj/effect/turf_decal/tile/red, /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/tall_stairs/start/directional/east, +/obj/structure/railing, /turf/open/floor/iron/textured, /area/station/security/brig) +"nrt" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "nrA" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -44588,19 +45441,18 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"nrJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "nsp" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"nsq" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/filingcabinet/filingcabinet, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nsr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44611,22 +45463,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"nsu" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "nsv" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nsK" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/button/door/directional/south{ - id = "engsm"; - name = "Radiation Shutters Control"; - req_access = list("engineering") - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nsL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44643,6 +45490,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) +"nsQ" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"nsR" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/mix) "nsZ" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/office) @@ -44660,6 +45521,7 @@ /area/station/service/lawoffice) "nto" = ( /obj/structure/cable, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) "ntq" = ( @@ -44675,15 +45537,20 @@ /turf/open/floor/iron, /area/station/security/processing) "ntx" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/effect/turf_decal/weather/snow/corner{ dir = 10 }, /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ntE" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/item/aquarium_kit, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "ntK" = ( /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -44692,6 +45559,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/security/courtroom) +"ntZ" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "nub" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, @@ -44722,8 +45593,24 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) +"nus" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"nuD" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "nuM" = ( -/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -44737,6 +45624,9 @@ dir = 4; name = "Arrivals Dock" }, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "nuN" = ( @@ -44759,20 +45649,6 @@ /obj/structure/flora/bush/snow/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"nvc" = ( -/obj/machinery/smartfridge, -/turf/open/floor/iron/dark, -/area/station/service/kitchen) -"nvh" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "nvr" = ( /obj/effect/turf_decal/weather/snow/corner, /obj/machinery/light/small/directional/north, @@ -44784,12 +45660,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"nvw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "nvx" = ( /obj/machinery/airalarm/directional/east, /obj/effect/landmark/event_spawn, @@ -44844,6 +45714,16 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"nwn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "nwr" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -44853,17 +45733,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"nwC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/hydroponics/constructable, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "nwF" = ( /obj/structure/chair/sofa/bench{ dir = 4 @@ -44881,37 +45750,24 @@ dir = 9 }, /area/station/science/research) -"nxc" = ( -/turf/open/floor/glass, -/area/station/service/hydroponics) +"nxd" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "nxe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"nxj" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/loading_area/white, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) "nxm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"nxw" = ( -/obj/machinery/door/morgue{ - req_access = list("bar") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "nxD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44930,6 +45786,11 @@ "nxM" = ( /turf/closed/wall, /area/station/maintenance/department/medical/morgue) +"nxN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "nxU" = ( /obj/machinery/status_display/evac/directional/east, /obj/structure/reagent_dispensers/fueltank, @@ -44947,25 +45808,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"nya" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "nyg" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/construction) -"nyj" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/hydroponics) "nyl" = ( /obj/machinery/door/morgue{ name = "Private Study"; @@ -44994,9 +45852,6 @@ /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) "nyE" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/structure/flora/bush/flowers_br/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) @@ -45068,6 +45923,11 @@ }, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) +"nzn" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "nzp" = ( /obj/effect/landmark/blobstart, /obj/effect/decal/cleanable/dirt, @@ -45090,12 +45950,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"nzt" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "nzy" = ( /obj/machinery/computer/atmos_control/mix_tank{ dir = 8 @@ -45105,6 +45959,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"nzA" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) "nzB" = ( /obj/effect/turf_decal/trimline/blue/warning{ dir = 4 @@ -45136,12 +45995,18 @@ }, /area/station/medical/chemistry) "nzT" = ( -/obj/effect/turf_decal/trimline/white/end{ +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/trimline/neutral/end{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"nzU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nzV" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -45150,10 +46015,6 @@ /area/station/hallway/primary/starboard) "nAa" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/cold_temp{ - pixel_x = 3; - pixel_y = 32 - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, @@ -45164,6 +46025,7 @@ "nAf" = ( /obj/structure/cable, /obj/item/wrench, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/white, /area/station/science/xenobiology) "nAg" = ( @@ -45256,9 +46118,24 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"nBt" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/book/manual/chef_recipes, +/obj/item/holosign_creator/robot_seat/restaurant, +/obj/structure/rack, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nBB" = ( /obj/machinery/power/smes, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) "nBE" = ( @@ -45280,25 +46157,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"nBO" = ( -/obj/structure/disposalpipe/sorting/mail, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"nBQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/tank/air{ - dir = 4 +"nBS" = ( +/obj/structure/table/wood, +/obj/item/storage/crayons, +/obj/item/storage/fancy/candle_box{ + pixel_y = 5 }, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"nBZ" = ( -/obj/structure/stairs/south, -/turf/open/floor/stone, -/area/station/commons/lounge) +/turf/open/floor/iron/dark, +/area/station/service/chapel/office) "nCa" = ( /obj/structure/rack, /obj/item/pickaxe, @@ -45306,12 +46172,11 @@ /obj/item/shovel, /obj/item/flashlight, /obj/item/flashlight, -/obj/machinery/camera{ - c_tag = "Departure Lounge Emergency EVA"; - dir = 9 - }, /obj/item/radio/off, /obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Departure Lounge Emergency EVA" + }, /turf/open/floor/iron/white, /area/station/hallway/secondary/exit/departure_lounge) "nCb" = ( @@ -45353,14 +46218,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) -"nCz" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "nCD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45393,12 +46250,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"nCW" = ( -/obj/structure/table, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "nDd" = ( /obj/machinery/status_display/evac/directional/west, /obj/effect/turf_decal/stripes/corner, @@ -45412,19 +46263,15 @@ /obj/effect/turf_decal/bot, /obj/structure/cable, /obj/structure/closet/radiation, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "nDl" = ( -/obj/structure/railing/corner, /obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/dark/half/contrasted, +/obj/structure/railing, +/obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"nDm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nDp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45450,20 +46297,6 @@ dir = 5 }, /area/station/maintenance/port/aft) -"nDz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable/layer3, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat/hallway"; - name = "Chamber Hallway Turret Control"; - pixel_x = 32; - pixel_y = -24; - req_access = list("minisat") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "nDA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45472,10 +46305,10 @@ /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "nDB" = ( -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron/white/side{ dir = 9 }, @@ -45548,10 +46381,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"nEI" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "nEV" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/structure/cable, @@ -45592,6 +46421,20 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"nFt" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Bar and Kitchen" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "nFF" = ( /obj/structure/table, /obj/item/assembly/signaler{ @@ -45613,6 +46456,13 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"nFJ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nFL" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -45627,14 +46477,6 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"nFQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "nFU" = ( /obj/structure/chair/stool/directional/west, /obj/item/trash/energybar, @@ -45642,12 +46484,6 @@ /obj/structure/sign/poster/official/work_for_a_future/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) -"nGk" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "nGA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -45686,6 +46522,7 @@ dir = 1; pixel_x = -2 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/smooth, /area/station/security/brig) "nGU" = ( @@ -45697,7 +46534,15 @@ /area/station/security/lockers) "nHc" = ( /obj/structure/bodycontainer/morgue, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "nHe" = ( /obj/structure/closet/radiation, @@ -45709,7 +46554,7 @@ "nHf" = ( /obj/machinery/vending/cigarette, /obj/machinery/light/small/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/science/breakroom) "nHj" = ( @@ -45741,11 +46586,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, -/obj/machinery/camera{ - c_tag = "Medbay South"; - dir = 5; - network = list("ss13","medbay") - }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "nId" = ( @@ -45755,13 +46595,6 @@ /obj/structure/barricade/wooden, /turf/open/floor/eighties/red, /area/station/security/prison/safe) -"nIe" = ( -/obj/item/stack/cable_coil, -/obj/structure/fence/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "nIl" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -45769,26 +46602,13 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nIt" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "nIx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/aft) -"nIY" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "nJd" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"nJm" = ( -/obj/structure/fluff/fokoff_sign, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nJo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -45814,15 +46634,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/storage) -"nJq" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) "nJy" = ( /obj/structure/chair/pew{ dir = 1 @@ -45839,6 +46650,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"nJK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nJT" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -45847,6 +46662,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) +"nJV" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/structure/tall_stairs/small/directional/west, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nJX" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -45857,13 +46685,12 @@ dir = 1 }, /obj/item/radio/intercom/chapel/directional/east, -/turf/open/floor/iron/dark, +/turf/open/floor/wood/large, /area/station/service/chapel) "nKa" = ( /turf/closed/wall, /area/station/security/checkpoint/medical) "nKj" = ( -/obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/rnd/production/circuit_imprinter, /obj/machinery/requests_console/directional/east{ department = "Engineering"; @@ -45871,6 +46698,7 @@ }, /obj/effect/mapping_helpers/requests_console/supplies, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/window/half/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/lobby) "nKk" = ( @@ -45892,6 +46720,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/cargo/lobby) +"nKs" = ( +/obj/structure/fence/post{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "nKK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -45949,41 +46783,18 @@ /obj/structure/mirror/broken/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"nLa" = ( -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/structure/flora/bush/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"nKY" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "nLb" = ( /obj/machinery/blackbox_recorder, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"nLd" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "nLe" = ( /obj/effect/turf_decal/tile/dark/half/contrasted, /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) -"nLs" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "nLH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -46043,28 +46854,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/research) -"nMC" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/toy/figure/chef, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Coldroom" - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) -"nMD" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "nME" = ( /obj/item/clothing/head/utility/hardhat, /turf/open/floor/plating/snowed/icemoon, @@ -46094,6 +46883,9 @@ /obj/effect/gibspawner/human/bodypartless, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nNd" = ( +/turf/open/misc/asteroid/snow/ice/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "nNe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -46103,6 +46895,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"nNg" = ( +/mob/living/basic/goat/pete{ + desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; + habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); + minimum_survivable_temperature = 150; + name = "Snowy Pete" + }, +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) +"nNi" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nNn" = ( /turf/closed/wall, /area/station/security/prison/rec) @@ -46129,14 +46936,12 @@ /turf/open/floor/iron/dark, /area/station/engineering/storage) "nNy" = ( -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, /obj/structure/rack, /obj/item/pickaxe, /obj/item/tank/internals/emergency_oxygen, /obj/item/clothing/mask/breath, /obj/effect/turf_decal/stripes/line, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/mine/mechbay) "nNB" = ( @@ -46146,15 +46951,6 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/dark, /area/station/medical/virology) -"nNI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nNM" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -46165,19 +46961,12 @@ /area/station/maintenance/starboard/aft) "nNU" = ( /obj/machinery/chem_dispenser, -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/yellow/full, /obj/item/radio/intercom/directional/north, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) -"nNV" = ( -/obj/structure/railing{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) "nOb" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -46189,7 +46978,6 @@ /area/station/security/processing) "nOk" = ( /obj/item/chair/wood, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/wood, /area/station/maintenance/port/aft) "nOl" = ( @@ -46206,11 +46994,6 @@ /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) -"nOo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "nOx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -46231,17 +47014,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) -"nOI" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness) "nOQ" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/camera/directional/north{ @@ -46256,6 +47028,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"nPc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "nPt" = ( /obj/structure/chair/stool/directional/east, /obj/effect/mapping_helpers/burnt_floor, @@ -46266,13 +47044,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"nPS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "nQd" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46292,30 +47063,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"nQm" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Hall" - }, -/obj/machinery/disposal/bin/tagger, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"nQq" = ( -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 6 - }, -/obj/structure/table/glass, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/lab) "nQu" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -46402,6 +47149,17 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/security/brig/upper) +"nRn" = ( +/obj/machinery/door/window/left/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "nRq" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/bureaucracy/birthday_wrap, @@ -46436,21 +47194,24 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/structure/sign/poster/official/nanotrasen_logo/directional/east, +/obj/structure/sign/poster/official/no_erp/directional/north, /turf/open/floor/iron, /area/station/commons/dorms/laundry) -"nRy" = ( -/mob/living/basic/goat/pete{ - desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; - habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); - minimum_survivable_temperature = 150; - name = "Snowy Pete" +"nRE" = ( +/obj/machinery/door/airlock/freezer{ + desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; + name = "The Ice Box" }, -/turf/open/misc/ice/coldroom, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/turf/open/floor/plating, /area/station/service/kitchen/coldroom) "nRO" = ( /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/poster/contraband/random/directional/north, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/security/prison/safe) "nRV" = ( @@ -46459,6 +47220,16 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nRW" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nRX" = ( /turf/open/floor/iron/white/side{ dir = 10 @@ -46541,14 +47312,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"nSX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/broken/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) "nTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46556,18 +47319,10 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/textured_large, /area/station/security/brig/entrance) -"nTA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"nTB" = ( +/obj/structure/sign/poster/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "nTK" = ( /obj/structure/table/glass, /obj/machinery/barsign{ @@ -46603,14 +47358,6 @@ "nTO" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp/security) -"nTP" = ( -/obj/item/food/grown/potato{ - pixel_y = 4 - }, -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nTV" = ( /obj/structure/table/reinforced, /obj/item/screwdriver{ @@ -46622,6 +47369,13 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) +"nTY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "nUg" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -46646,16 +47400,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_half, /area/station/ai_monitored/command/storage/eva) -"nUI" = ( -/obj/machinery/computer/records/security, -/obj/machinery/light_switch/directional/north{ - pixel_x = -16 - }, -/obj/machinery/computer/security/telescreen/normal/directional/north, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "nUJ" = ( /obj/machinery/flasher/directional/east{ id = "brigentry" @@ -46695,6 +47439,10 @@ }, /turf/open/floor/carpet, /area/station/service/library) +"nVx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "nVB" = ( /obj/effect/turf_decal/trimline/dark/warning{ dir = 4 @@ -46705,13 +47453,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nVO" = ( -/obj/structure/table, +"nVJ" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "nVR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria{ @@ -46727,6 +47475,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/captain, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "nWf" = ( @@ -46746,6 +47497,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"nWz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) +"nWG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nWH" = ( /turf/closed/wall, /area/station/maintenance/department/cargo) @@ -46754,6 +47520,15 @@ /obj/machinery/holopad, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"nWY" = ( +/obj/machinery/door/poddoor/preopen{ + id = "hosspace"; + name = "Space Shutters" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hos) "nXb" = ( /turf/closed/wall, /area/icemoon/surface/outdoors/nospawn) @@ -46777,19 +47552,11 @@ /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) "nXp" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table/glass, /obj/item/storage/box/monkeycubes, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) -"nXs" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) "nXH" = ( /obj/structure/bodycontainer/crematorium{ id = "crematoriumChapel" @@ -46827,25 +47594,14 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"nYN" = ( -/turf/open/floor/wood, -/area/station/commons/lounge) -"nYR" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"nYY" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"nYz" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) +"nYK" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/medical/morgue) "nYZ" = ( /obj/item/storage/bag/trash, /turf/open/floor/plating, @@ -46886,6 +47642,9 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "nZA" = ( @@ -46918,38 +47677,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"oac" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - id = "botany_apiary"; - name = "Bee Protection Shutters" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"oas" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "oaG" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -46968,18 +47695,6 @@ }, /turf/open/floor/iron/white/corner, /area/mine/living_quarters) -"oaJ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/requests_console/auto_name/directional/east, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "oaP" = ( /obj/machinery/door/airlock/research{ name = "Crater Observation Room" @@ -47005,6 +47720,19 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"obb" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "obj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -47012,15 +47740,35 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"obr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "surgery"; - name = "Surgery Shutter" +"obl" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Upper" }, -/obj/structure/sign/warning/no_smoking/circle/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) +"obo" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = -7 + }, +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) +"obt" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/medical/surgery/aft) +/area/station/maintenance/starboard/fore) "obu" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -47056,15 +47804,6 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) -"obT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "obZ" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Test Chamber Access"; @@ -47072,16 +47811,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ocd" = ( -/obj/machinery/igniter/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) -"ocp" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "ocu" = ( /obj/effect/turf_decal/bot_white, /obj/structure/cable, @@ -47094,6 +47823,18 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"ocS" = ( +/obj/structure/fluff/tram_rail{ + pixel_y = 17 + }, +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "ocY" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -47121,6 +47862,7 @@ chamber_id = "ordnanceburn" }, /obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/obj/machinery/airlock_controller/incinerator_ordmix, /turf/open/floor/iron/dark, /area/station/science/ordnance) "odi" = ( @@ -47128,13 +47870,10 @@ pixel_x = 5; pixel_y = -1 }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) "odm" = ( -/obj/structure/stairs/east, +/obj/structure/tall_stairs/end/directional/east, /turf/open/floor/iron/white, /area/station/science/ordnance) "odw" = ( @@ -47166,11 +47905,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"odZ" = ( -/obj/machinery/door/airlock/hatch, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oed" = ( /obj/machinery/door/window/right/directional/east{ name = "Robotics Surgery"; @@ -47196,6 +47930,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) "oeM" = ( @@ -47205,10 +47945,6 @@ "oeP" = ( /obj/structure/table, /obj/item/food/chococoin, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = 30 - }, /turf/open/floor/iron/smooth, /area/mine/eva) "oeT" = ( @@ -47228,14 +47964,32 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) +"ofl" = ( +/obj/structure/chair{ + desc = "Aw geez, I wonder what the chef's cooking up in there!"; + dir = 1; + name = "The Peanut's Gallery" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ofm" = ( /obj/structure/bodycontainer/morgue, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "ofr" = ( /obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/west, /obj/item/paper_bin{ pixel_y = 4 }, @@ -47246,6 +48000,8 @@ /obj/item/pen{ pixel_x = -4 }, +/obj/structure/window/reinforced/half/directional/west, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) "ofz" = ( @@ -47277,6 +48033,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"ofR" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ogd" = ( /obj/structure/chair/office{ dir = 8 @@ -47290,9 +48065,6 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/station/science/xenobiology) -"ogu" = ( -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "ogy" = ( /obj/machinery/door/airlock/maintenance{ name = "EVA Maintenance" @@ -47328,11 +48100,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"ohk" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ohp" = ( /turf/open/floor/glass, /area/station/maintenance/department/medical/central) @@ -47352,15 +48119,17 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"ohP" = ( -/obj/structure/table/wood, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 4 +"ohO" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/fluff/tram_rail{ + pixel_y = 17 }, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "ohS" = ( /obj/structure/railing{ dir = 8 @@ -47402,6 +48171,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"oil" = ( +/obj/machinery/light/directional/west, +/obj/structure/closet/firecloset, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "oio" = ( /obj/machinery/newscaster/directional/east, /obj/structure/bed/medical/anchored{ @@ -47420,7 +48194,6 @@ dir = 4 }, /obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) "oiy" = ( @@ -47430,16 +48203,10 @@ /obj/structure/urinal/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"oiB" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Chemistry Lab Utilities" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/medical/central) +"oiC" = ( +/obj/effect/spawner/random/engineering/canister, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "oiD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47455,12 +48222,20 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"oiJ" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oiK" = ( /obj/machinery/door/airlock{ id_tag = "commissarydoor"; name = "Commissary" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47484,16 +48259,31 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"oiU" = ( +/obj/structure/closet/crate, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 + }, +/mob/living/basic/mouse/white, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "oiW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/machinery/camera{ - c_tag = "Medbay Psychology"; - dir = 6; - network = list("ss13","medbay"); - pixel_y = -22 - }, /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -47509,6 +48299,9 @@ /obj/machinery/pdapainter/medbay, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"oje" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "ojf" = ( /obj/structure/lattice/catwalk, /turf/open/lava/plasma/ice_moon, @@ -47530,21 +48323,40 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"ojt" = ( +/obj/machinery/light/small/dim/directional/east, +/obj/structure/tall_stairs/start/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/commons/lounge) "ojv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"ojy" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ojF" = ( /obj/machinery/rnd/production/protolathe/department/science, /turf/open/floor/iron/checker, /area/station/science/lab) "ojP" = ( /obj/machinery/door/firedoor/heavy, -/obj/structure/sign/warning/firing_range/directional/west, -/turf/open/floor/iron/white/corner{ - dir = 4 +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, +/turf/open/floor/iron/dark/textured, /area/station/science/research) "ojW" = ( /obj/machinery/light/small/directional/east, @@ -47560,19 +48372,34 @@ /area/station/hallway/primary/central) "okf" = ( /obj/structure/bodycontainer/morgue, -/obj/machinery/camera{ +/obj/machinery/camera/directional/south{ c_tag = "Morgue South"; - dir = 5; network = list("ss13","medbay") }, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) +"okh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "okk" = ( /obj/structure/cable, -/obj/structure/sign/departments/aisat/directional/east, /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/departments/aisat/directional/east, /turf/open/floor/iron/dark/corner, /area/station/engineering/storage_shared) "okl" = ( @@ -47583,6 +48410,10 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/mine/laborcamp/security) +"okw" = ( +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "okx" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -47619,6 +48450,11 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"okM" = ( +/obj/structure/tall_stairs/start/directional/west, +/obj/structure/railing, +/turf/open/floor/iron/smooth_half, +/area/station/science/cytology) "okU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -47627,13 +48463,6 @@ "olf" = ( /turf/open/floor/carpet, /area/station/commons/dorms) -"olt" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "olH" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -47641,6 +48470,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/captain, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) "olI" = ( @@ -47656,10 +48488,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"olO" = ( -/obj/structure/fence, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored/graveyard) "olQ" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -47667,6 +48495,16 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) +"olR" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "olV" = ( /obj/machinery/light/small/directional/west, /obj/structure/cable, @@ -47729,21 +48567,22 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/vault, /area/station/security/prison/rec) +"omK" = ( +/obj/structure/tall_stairs/end/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "omP" = ( /obj/machinery/door/airlock{ name = "Cleaning Closet" }, /turf/open/floor/plating, /area/station/security/prison/safe) -"omS" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"omT" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high/empty, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "ond" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47790,21 +48629,38 @@ }, /turf/open/floor/plating, /area/station/security/courtroom) +"onP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "onQ" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"onV" = ( -/obj/machinery/door/airlock/research{ - name = "Cytology Lab" +"onT" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/science/ordnance) +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ooa" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, @@ -47830,7 +48686,6 @@ /turf/open/floor/iron, /area/station/science/xenobiology) "oor" = ( -/obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -47842,6 +48697,9 @@ dir = 4; name = "Arrivals Dock" }, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "oot" = ( @@ -47853,6 +48711,16 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ooG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "ooL" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 4 @@ -47903,6 +48771,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) +"opt" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "opu" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -47911,9 +48788,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "opw" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ - pixel_x = 24 - }, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, @@ -47933,23 +48807,16 @@ /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "opD" = ( -/obj/machinery/door/firedoor/border_only, +/obj/structure/railing/corner, /turf/open/floor/iron/white, /area/station/science/ordnance) -"opH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"opE" = ( +/obj/structure/railing{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "opI" = ( /obj/machinery/microwave{ pixel_y = 7 @@ -47963,6 +48830,9 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"opP" = ( +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "opS" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -47971,6 +48841,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"opU" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oqb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/power/apc/auto_name/directional/west, @@ -47998,6 +48874,7 @@ }, /obj/effect/turf_decal/stripes/line, /obj/machinery/light/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) "oqg" = ( @@ -48009,11 +48886,14 @@ /area/station/commons/dorms) "oqj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) "oqz" = ( @@ -48023,13 +48903,6 @@ /obj/effect/turf_decal/tile/dark_green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"oqB" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/box/red/corners{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "oqC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48040,6 +48913,16 @@ /obj/effect/landmark/start/station_engineer, /turf/open/floor/iron, /area/station/engineering/main) +"oqE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "oqJ" = ( /obj/structure/sign/warning/docking/directional/north, /obj/structure/flora/grass/green/style_random, @@ -48067,19 +48950,22 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/break_room) +"oqY" = ( +/obj/effect/spawner/random/structure/closet_private, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ork" = ( /obj/structure/fence/door{ dir = 4 }, +/obj/structure/fence{ + dir = 4 + }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "oro" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, /obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -48099,12 +48985,6 @@ /obj/machinery/recharge_station, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"oru" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "orv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48143,7 +49023,6 @@ /area/mine/living_quarters) "orU" = ( /obj/machinery/vending/coffee, -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) @@ -48153,16 +49032,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"orZ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Atrium" - }, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) "osd" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -48207,10 +49076,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"osN" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/fore) "osO" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -48265,6 +49130,25 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"otO" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"otW" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sink/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oua" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48277,6 +49161,15 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/smooth, /area/mine/eva) +"ouj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "ouk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48318,6 +49211,22 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"ovh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "ovm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48333,11 +49242,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"ovx" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/requests_console/directional/west{ + department = "Head of Personnel's Desk"; + name = "Head of Personnel's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "ovy" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ovz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "ovP" = ( /turf/open/genturf/orange, /area/icemoon/underground/unexplored/no_rivers) @@ -48352,11 +49280,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/lockers) -"ovZ" = ( -/obj/structure/table/wood, -/obj/item/paper/crumpled, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "owf" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -48372,6 +49295,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"owo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable/layer3, +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat/hallway"; + name = "Chamber Hallway Turret Control"; + req_access = list("minisat") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "owr" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -48393,12 +49328,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"oxe" = ( -/obj/machinery/computer/cargo/request, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/incident_display/bridge/directional/north, -/turf/open/floor/iron, -/area/station/command/bridge) +"owK" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "oxh" = ( /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, @@ -48425,13 +49364,11 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "oxN" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = -7 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) "oxO" = ( @@ -48467,6 +49404,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/meeting_room) +"oyf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "oyj" = ( /obj/structure/table, /obj/item/storage/box, @@ -48539,6 +49485,13 @@ }, /turf/open/floor/iron/dark, /area/station/security/mechbay) +"oyM" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "oyW" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) @@ -48555,6 +49508,14 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"ozk" = ( +/obj/machinery/door/airlock{ + name = "Unisex Showers" + }, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "ozo" = ( /obj/effect/landmark/carpspawn, /turf/open/misc/asteroid/snow/icemoon, @@ -48565,23 +49526,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ozx" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south{ - frequency = 1453; - name = "Kitchen Intercom" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ozA" = ( /obj/structure/closet/secure_closet/research_director, /obj/effect/turf_decal/stripes/line{ @@ -48613,11 +49557,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"ozM" = ( -/obj/structure/railing/corner, -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ozN" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 @@ -48625,6 +49564,23 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"ozU" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/desk_bell{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ozV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -48633,12 +49589,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ozW" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ozX" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -48653,6 +49603,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"oAc" = ( +/obj/structure/tall_stairs/start/directional/west, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/smooth_half, +/area/station/science/cytology) "oAe" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 1 @@ -48682,16 +49639,24 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"oAz" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32; - pixel_y = 32 +"oAm" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) +"oAs" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/item/analyzer, +/obj/item/pipe_dispenser, +/obj/item/flashlight, +/obj/machinery/incident_display/delam/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oAA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -48766,25 +49731,43 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"oBD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oBI" = ( /obj/machinery/light/floor, /turf/open/floor/carpet, /area/station/service/library) -"oBJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oBQ" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"oBV" = ( +/obj/item/paper/fluff/jobs/security/beepsky_mom, +/obj/machinery/light/small/dim/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"oCe" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/iron, +/area/station/service/chapel) "oCs" = ( /obj/structure/table, /obj/item/radio/headset/headset_med{ @@ -48813,10 +49796,6 @@ /obj/item/stack/cable_coil/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"oCw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "oCA" = ( /obj/structure/closet/secure_closet/cytology, /obj/machinery/button/door/directional/north{ @@ -48854,6 +49833,17 @@ dir = 1 }, /area/station/security/prison) +"oDb" = ( +/obj/item/popsicle_stick{ + pixel_y = 1; + pixel_x = -9 + }, +/obj/item/popsicle_stick{ + pixel_y = 3; + pixel_x = -2 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "oDd" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -48883,14 +49873,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"oDk" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "oDn" = ( /obj/machinery/door/airlock/atmos/glass, /obj/structure/cable, @@ -48917,10 +49899,36 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"oDw" = ( +/obj/structure/table, +/obj/item/petri_dish{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/item/petri_dish{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/petri_dish{ + pixel_y = -6; + pixel_x = -1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "oDB" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/mine/laborcamp) +"oDD" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "oDH" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/side{ @@ -48944,12 +49952,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"oEe" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oEj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -48974,20 +49976,24 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/engineering/main) -"oEC" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) +"oEB" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"oED" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Test Chamber"; + network = list("ss13","test","rd","xeno") + }, +/obj/machinery/light/directional/west, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "oEF" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) -"oEH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "oEX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49006,27 +50012,11 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"oFp" = ( -/obj/structure/sign/warning/docking/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/mine/laborcamp) "oFx" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"oFB" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "oFI" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -49072,6 +50062,14 @@ }, /turf/open/floor/plating, /area/station/cargo/drone_bay) +"oGj" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/smartfridge/petri/preloaded, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "oGm" = ( /obj/machinery/power/solar_control{ dir = 1; @@ -49081,6 +50079,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"oGr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Can In" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oGs" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -49123,6 +50131,18 @@ dir = 8 }, /area/station/security/prison) +"oGC" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oGF" = ( /obj/structure/closet/crate/bin, /obj/effect/decal/cleanable/dirt, @@ -49141,6 +50161,12 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"oHf" = ( +/obj/machinery/vending/autodrobe, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "oHh" = ( /obj/machinery/shower/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -49169,6 +50195,15 @@ "oHK" = ( /turf/closed/wall/r_wall, /area/station/science/lab) +"oHR" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "oHV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49179,18 +50214,32 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/status_display/shuttle{ - pixel_x = -32; - shuttle_id = "arrival" - }, /obj/machinery/light/directional/west, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, +/obj/machinery/status_display/shuttle/directional/west{ + shuttle_id = "arrival" + }, /turf/open/floor/iron/white/corner{ dir = 1 }, /area/station/hallway/secondary/entry) +"oIh" = ( +/obj/structure/table, +/obj/item/plant_analyzer, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) +"oIj" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/mob/living/carbon/human/species/monkey/punpun, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "oIB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49233,17 +50282,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"oIQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/machinery/newscaster/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "oIR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance/four, @@ -49259,16 +50297,28 @@ /obj/structure/flora/bush/snow/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"oJD" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) +"oJo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood, +/area/station/commons/lounge) +"oJv" = ( +/obj/item/clothing/under/costume/skeleton, +/obj/item/clothing/head/helmet/skull, +/turf/open/floor/plating, +/area/station/medical/morgue) "oJH" = ( /obj/structure/marker_beacon/burgundy, /obj/effect/turf_decal/weather/snow/corner{ dir = 5 }, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"oJI" = ( +/obj/structure/sign/warning/directional/north, +/turf/closed/wall, +/area/icemoon/underground/explored) "oJP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_green, @@ -49284,14 +50334,10 @@ dir = 1 }, /area/station/command/gateway) -"oKu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/docking/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"oJW" = ( +/obj/structure/sign/warning/test_chamber/directional/north, +/turf/open/floor/glass/reinforced, +/area/station/science/ordnance/office) "oKv" = ( /obj/item/trash/popcorn, /turf/open/floor/plating, @@ -49320,6 +50366,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) +"oKX" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "oKY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/plating, @@ -49335,6 +50388,15 @@ "oLg" = ( /turf/open/floor/iron/white/corner, /area/station/science/research) +"oLi" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oLj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49342,6 +50404,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) +"oLm" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Garden" + }, +/obj/machinery/status_display/ai/directional/east, +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "oLn" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -49415,11 +50485,6 @@ /obj/machinery/air_sensor/mix_tank, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"oLO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "oMa" = ( /obj/structure/marker_beacon/burgundy, /obj/effect/turf_decal/weather/snow/corner{ @@ -49432,11 +50497,19 @@ dir = 4 }, /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + manual_align = 1; + pixel_y = 0; + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/cargo/storage) +"oMj" = ( +/obj/structure/flora/bush/sunny/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "oMk" = ( /obj/machinery/camera/directional/south{ c_tag = "Cargo Bay South" @@ -49455,6 +50528,10 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/grimy, /area/station/maintenance/aft/greater) +"oMM" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "oMO" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -49487,14 +50564,10 @@ "oMT" = ( /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"oNy" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Chapel Electrical Maintenace Upper" - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +"oNl" = ( +/obj/item/stack/cable_coil/five, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "oNA" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -49514,19 +50587,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/science/explab) -"oNN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Atrium" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/navigate_destination/kitchen, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "oNO" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -49556,22 +50616,18 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"oOt" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 +"oOw" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oOx" = ( /obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = -24 - }, /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) @@ -49581,11 +50637,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"oOO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "oOP" = ( /obj/effect/turf_decal/siding/thinplating_new/corner, /obj/effect/turf_decal/stripes/line{ @@ -49603,22 +50654,19 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) -"oPa" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/security/prison/work) -"oPd" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +"oPj" = ( +/obj/structure/chair/office/tactical{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/landmark/start/coroner, +/obj/effect/turf_decal/siding/dark_blue/corner{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/effect/turf_decal/trimline/dark_blue/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "oPl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49631,35 +50679,29 @@ /obj/item/soap/nanotrasen, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"oPr" = ( -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) -"oPv" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat/service"; - name = "Service Bay Turret Control"; - pixel_x = 27; - req_access = list("minisat") - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +"oPu" = ( +/obj/machinery/igniter/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) +"oPC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) -"oPw" = ( -/obj/structure/disposalpipe/segment, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "oPI" = ( /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) +"oPO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oPP" = ( /obj/machinery/computer/scan_consolenew{ dir = 4 @@ -49670,6 +50712,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/lobby) +"oQc" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored/graveyard) "oQn" = ( /obj/structure/chair/sofa/corp/left{ dir = 8 @@ -49722,26 +50767,21 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/structure/sign/poster/official/get_your_legs/directional/north, /turf/open/floor/iron/dark/smooth_corner{ dir = 4 }, /area/station/ai_monitored/command/storage/eva) "oQN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/wood, /area/station/security/courtroom) -"oQV" = ( -/mob/living/basic/pet/penguin/baby/permanent, -/obj/structure/flora/grass/brown/style_random, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "oQY" = ( /turf/open/floor/iron/white, /area/station/medical/virology) -"oRf" = ( -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "oRk" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -49778,6 +50818,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"oRH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "oRM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49801,10 +50847,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/textured, /area/station/security/office) -"oSw" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "oSy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -49817,17 +50859,26 @@ /turf/open/floor/iron/smooth, /area/station/security/lockers) "oSD" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"oSQ" = ( -/obj/machinery/camera{ - c_tag = "Medbay Stasis Center North"; - network = list("ss13","medbay") +"oSM" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"oSQ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medbay Stasis Center North" + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "oSR" = ( @@ -49896,6 +50947,9 @@ /obj/item/gavelblock{ pixel_x = 5 }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /turf/open/floor/wood, /area/station/security/courtroom) "oTg" = ( @@ -49903,17 +50957,20 @@ /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, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) -"oTh" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm1"; - name = "Dorm 1" +"oTu" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/commons/dorms) +/turf/open/floor/iron, +/area/station/hallway/primary/central) "oTx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49943,6 +51000,37 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"oUb" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"oUh" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"oUn" = ( +/obj/structure/bed, +/obj/item/bedsheet/cmo, +/obj/machinery/light_switch/directional/south, +/obj/effect/landmark/start/chief_medical_officer, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) +"oUp" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "oUL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49971,20 +51059,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"oVn" = ( -/obj/effect/turf_decal/box/red/corners{ +"oVd" = ( +/obj/structure/minecart_rail{ dir = 4 }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) -"oVr" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/coin{ - pixel_x = -7 +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 }, -/obj/effect/spawner/random/clothing/bowler_or_that, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/machinery/light/small/red/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "oVt" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -50017,6 +51104,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured, /area/station/commons/storage/art) +"oVQ" = ( +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Research Division"; + name = "Research Division Fax Machine"; + pixel_x = 1 + }, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "oVR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -50064,7 +51162,6 @@ "oWu" = ( /obj/structure/closet/wardrobe/grey, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/calendar/directional/west, /turf/open/floor/iron, /area/station/commons/locker) "oWN" = ( @@ -50078,16 +51175,14 @@ /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"oWV" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "oXc" = ( /obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/aft) "oXd" = ( /obj/machinery/light/small/directional/east, @@ -50144,11 +51239,6 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 }, -/obj/machinery/camera{ - c_tag = "Virology Hallway"; - dir = 10; - network = list("ss13","medbay") - }, /obj/effect/landmark/start/hangover, /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, @@ -50162,6 +51252,10 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"oXE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "oXJ" = ( /obj/machinery/newscaster/directional/north, /obj/item/kirbyplants/random, @@ -50183,7 +51277,7 @@ pixel_x = -2; pixel_y = 5 }, -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "oXX" = ( @@ -50211,10 +51305,7 @@ /turf/open/floor/iron, /area/station/security/courtroom) "oYm" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 4 - }, +/obj/structure/tall_stairs/end/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) "oYu" = ( @@ -50225,44 +51316,35 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"oYw" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/service/hydroponics) "oYC" = ( +/obj/structure/tall_stairs/start/directional/east, +/obj/structure/railing, +/turf/open/floor/iron/white, +/area/station/science/ordnance) +"oYD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/machinery/button/door/directional/east{ + id = "xenobio11"; + name = "Xenobio Pen 11 Blast DOors"; + req_access = list("xenobiology") + }, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "oYI" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, /area/station/command/meeting_room) +"oYO" = ( +/obj/structure/railing, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "oZd" = ( /obj/structure/fence/corner{ dir = 9 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"oZk" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "oZn" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -50281,12 +51363,9 @@ dir = 4 }, /area/station/security/prison) -"oZD" = ( -/obj/machinery/door/window/left/directional/west{ - req_access = list("hydroponics"); - name = "Hydroponics Equipment" - }, -/turf/open/floor/iron/half, +"oZG" = ( +/obj/machinery/duct, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "oZL" = ( /obj/machinery/atmospherics/components/binary/pump{ @@ -50301,6 +51380,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"pab" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pac" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -50322,6 +51411,18 @@ dir = 1 }, /area/station/security/prison/safe) +"pau" = ( +/obj/structure/table/wood, +/obj/item/pai_card, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"paA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/mapping_helpers/burnt_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "paF" = ( /obj/structure/table, /obj/item/clothing/suit/hooded/wintercoat/science, @@ -50351,9 +51452,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"pba" = ( -/turf/open/floor/stone, -/area/station/service/bar/atrium) "pbk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50389,16 +51487,14 @@ /turf/open/floor/iron, /area/station/construction) "pbF" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ +/obj/structure/chair/sofa/right/brown, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/item/seeds/berry, -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "pbH" = ( -/obj/item/radio/intercom/directional/north, +/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver, /turf/open/floor/iron, /area/station/science/ordnance/testlab) "pbI" = ( @@ -50416,6 +51512,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/rd) +"pbS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pbW" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50450,20 +51552,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/effect/turf_decal/siding/brown/corner{ dir = 1 }, /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"pco" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/fence/cut/large{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "pcr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ dir = 8 @@ -50475,6 +51572,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage/gas) +"pcx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "pcB" = ( /obj/structure/chair/pew{ dir = 1 @@ -50502,6 +51613,24 @@ /obj/item/coin/silver, /turf/open/floor/iron, /area/station/commons/dorms) +"pcM" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) +"pcP" = ( +/obj/effect/turf_decal/siding/wideplating_new/light, +/obj/item/trash/bee, +/obj/machinery/light/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/work) "pdc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -50531,15 +51660,12 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"pdC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"pdB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pdK" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark/textured, @@ -50548,30 +51674,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, /area/station/science/explab) -"pdR" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Cargo Bay Receiving Dock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor"; - name = "Loading Doors"; - pixel_y = -8; - req_access = list("cargo") - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor2"; - name = "Loading Doors"; - pixel_y = 8; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pdT" = ( /obj/structure/chair/sofa/corp/right{ dir = 8 @@ -50634,6 +51736,10 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"peP" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "peV" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -50647,42 +51753,30 @@ /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) "pfn" = ( -/obj/structure/sign/poster/official/work_for_a_future/directional/north, -/obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/poster/official/safety_report/directional/north, /turf/open/floor/iron, /area/station/security/prison/visit) "pfw" = ( /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"pfy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 8; - name = "Air Out" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "pfD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"pfJ" = ( -/obj/structure/sink/directional/east, -/obj/machinery/button/door/directional/west{ - id = "xenobio2"; - name = "Xenobio Pen 2 Blast Door"; - req_access = list("xenobiology") +"pfE" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/light/floor, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pfO" = ( /obj/structure/chair/stool/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50694,6 +51788,12 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/maintenance/department/electrical) +"pgg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/iv_drip, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "pgo" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 10 @@ -50710,11 +51810,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/bitrunning/den) -"pgv" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "pgw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/requests_console/directional/south{ @@ -50776,27 +51871,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) -"phl" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "phr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, /obj/machinery/door/airlock/hydroponics/glass{ - name = "Apiary" + name = "Hydroponics" }, -/turf/open/floor/iron/dark/textured_half{ +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, /area/station/service/hydroponics) "phu" = ( /obj/structure/chair/sofa/bench/left{ @@ -50812,9 +51899,23 @@ dir = 5 }, /area/station/hallway/secondary/entry) +"phw" = ( +/obj/machinery/modular_computer/preset/civilian{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) +"phz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "phB" = ( /obj/machinery/vending/coffee, -/obj/structure/sign/poster/official/science/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) "phK" = ( @@ -50851,6 +51952,7 @@ c_tag = "Engineering Access" }, /obj/structure/closet/radiation, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/main) "pig" = ( @@ -50875,6 +51977,18 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/security/brig/upper) +"piy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "piB" = ( /obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/turf_decal/stripes/corner{ @@ -50910,13 +52024,13 @@ /area/mine/laborcamp/security) "piI" = ( /obj/machinery/airalarm/directional/south, -/obj/machinery/camera{ - c_tag = "Medbay Stasis Center South"; - network = list("ss13","medbay") - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay Stasis Center South"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "piL" = ( @@ -50942,9 +52056,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "piP" = ( @@ -50990,16 +52101,6 @@ /obj/structure/chair, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"pjk" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pjl" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/engineering_all, @@ -51029,7 +52130,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/warning/cold_temp/directional/south, /obj/structure/railing/corner{ dir = 8 }, @@ -51048,17 +52148,17 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"pjM" = ( -/obj/structure/closet, -/obj/effect/spawner/random/clothing/costume, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/effect/spawner/random/clothing/gloves, +"pkq" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"pks" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"pjZ" = ( -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/iron/white, -/area/station/medical/cryo) +/area/station/maintenance/aft/greater) "pkN" = ( /obj/structure/railing, /obj/effect/mapping_helpers/burnt_floor, @@ -51101,11 +52201,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/maintenance/port/greater) -"ply" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/caution_sign, +"plI" = ( +/obj/structure/chair/stool, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/starboard/fore) "plN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/neutral/opposingcorners, @@ -51133,9 +52232,19 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"pme" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pmn" = ( /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, @@ -51148,6 +52257,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"pmA" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "pna" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -51176,21 +52297,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/computer) -"pnq" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/science/alt/directional/north, -/turf/open/openspace, -/area/station/science/research) "pns" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/duct, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/item/flashlight{ - pixel_y = 3; - pixel_x = -4 - }, /turf/open/floor/iron, -/area/station/maintenance/starboard/fore) +/area/station/service/kitchen/coldroom) "pnz" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -51251,17 +52365,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/small/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = 6 - }, /obj/effect/turf_decal/siding/blue{ dir = 4 }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/structure/sign/calendar/directional/north, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"poj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/eva/lower) "pou" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, @@ -51276,6 +52393,15 @@ "poy" = ( /turf/open/floor/carpet/green, /area/station/service/library) +"poC" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "poK" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -51285,17 +52411,15 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/commons/locker) -"poV" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, +"poL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /turf/open/floor/iron, -/area/station/service/bar) -"poY" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/hallway/primary/central) "ppc" = ( /obj/item/trash/syndi_cakes, /obj/effect/turf_decal/stripes/red/line{ @@ -51341,7 +52465,15 @@ /turf/open/floor/iron, /area/station/cargo/drone_bay) "pps" = ( -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "ppD" = ( /obj/structure/chair/office{ @@ -51350,6 +52482,20 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"ppH" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/chair/sofa/right/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"ppI" = ( +/obj/structure/fence/corner{ + dir = 2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ppK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/yellow{ @@ -51376,6 +52522,13 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"ppY" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "pqc" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 @@ -51399,6 +52552,10 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"pqu" = ( +/obj/structure/sign/departments/holy/directional/east, +/turf/open/openspace, +/area/station/service/chapel) "pqv" = ( /obj/item/storage/medkit/toxin{ pixel_x = 3; @@ -51408,17 +52565,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"pqK" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"pqZ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/item/storage/box/matches, -/obj/effect/spawner/random/entertainment/cigar, -/turf/open/floor/iron, -/area/station/service/bar) "pra" = ( /turf/open/floor/iron/dark, /area/station/science/robotics/lab) @@ -51445,6 +52591,7 @@ /area/station/maintenance/port/fore) "prF" = ( /obj/machinery/telecomms/server/presets/security, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) "prH" = ( @@ -51456,6 +52603,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"prX" = ( +/obj/machinery/light/cold/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "psb" = ( /turf/closed/wall/ice, /area/icemoon/underground/explored) @@ -51539,26 +52690,15 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/departments/vault/directional/north{ - pixel_x = 32 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"ptv" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ptB" = ( /obj/machinery/modular_computer/preset/id{ dir = 8 }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"ptO" = ( -/obj/machinery/barsign, -/turf/closed/wall, -/area/station/service/bar/atrium) "ptQ" = ( /obj/structure/disposalpipe/trunk/multiz/down, /obj/effect/turf_decal/stripes/line, @@ -51610,6 +52750,12 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/plating, /area/station/engineering/atmos) +"puz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "puB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -51619,6 +52765,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/obj/effect/turf_decal/tile/purple/full, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "puN" = ( @@ -51651,6 +52798,12 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) +"puZ" = ( +/obj/structure/railing/wooden_fence{ + dir = 1 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "pve" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -51662,6 +52815,17 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"pvi" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51708,13 +52872,26 @@ }, /turf/open/floor/eighties/red, /area/station/security/prison/safe) -"pvU" = ( -/obj/machinery/light/small/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria{ - dir = 8 +"pvP" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/science/research) +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) +"pvR" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"pvT" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/chapel) "pvY" = ( /obj/machinery/computer/order_console/mining, /obj/machinery/light_switch/directional/north, @@ -51763,14 +52940,10 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"pwz" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pwC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron, /area/station/service/chapel) "pwF" = ( @@ -51803,11 +52976,11 @@ /turf/open/floor/plating, /area/station/maintenance/aft/greater) "pxg" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/closet, /obj/item/bodybag, /obj/item/clothing/under/misc/burial, /obj/item/clothing/under/misc/burial, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) "pxi" = ( @@ -51829,10 +53002,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pxu" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/engine, -/area/station/science/explab) +"pxp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "pxL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -51884,6 +53060,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"pyA" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pyD" = ( /obj/machinery/shower/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -52006,6 +53193,9 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) "pzV" = ( @@ -52035,16 +53225,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/science/ordnance) -"pAn" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/status_display/ai/directional/south, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/chem_master/condimaster, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "pAN" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -52059,15 +53239,12 @@ dir = 4 }, /area/mine/production) -"pAW" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner/end{ - dir = 4 +"pAX" = ( +/obj/structure/chair/plastic{ + dir = 8 }, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, /area/station/maintenance/starboard/fore) "pAZ" = ( /obj/effect/spawner/structure/window/reinforced, @@ -52082,12 +53259,28 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) +"pBs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) +"pBv" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pBA" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/treatment_center) "pBB" = ( -/obj/structure/sign/warning/cold_temp/directional/east, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -52111,14 +53304,16 @@ /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/security/warden) -"pBS" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 1 +"pBR" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 }, -/obj/item/kirbyplants/organic/applebush, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pBV" = ( /obj/structure/chair/office/light, /turf/open/floor/iron/dark, @@ -52182,14 +53377,6 @@ dir = 1 }, /area/station/science/lab) -"pDl" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/security/glass{ - name = "Permabrig Visitation" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/brig, -/turf/open/floor/iron, -/area/station/security/prison/visit) "pDt" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -52206,6 +53393,17 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"pDA" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "pDB" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -52242,6 +53440,14 @@ "pDW" = ( /turf/open/floor/plating, /area/mine/laborcamp/security) +"pEc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pEg" = ( /obj/machinery/light/small/directional/east, /obj/structure/table, @@ -52293,6 +53499,11 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"pEF" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/closet/crate, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "pER" = ( /obj/structure/table/wood, /obj/item/paper_bin/carbon{ @@ -52323,12 +53534,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"pEY" = ( -/obj/structure/table, -/obj/item/plant_analyzer, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "pFg" = ( /obj/structure/chair{ dir = 8 @@ -52346,9 +53551,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "pFV" = ( @@ -52380,12 +53582,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"pGg" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pGo" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -52399,13 +53595,15 @@ /obj/machinery/door/airlock/research/glass{ name = "Research Break Room" }, -/obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/firedoor{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/station/science/breakroom) "pGt" = ( @@ -52414,12 +53612,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"pGy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics/garden) "pGJ" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/effect/mapping_helpers/burnt_floor, @@ -52501,17 +53693,28 @@ /obj/item/reagent_containers/cup/bottle/iodine{ pixel_x = 1 }, -/obj/structure/sign/warning/chem_diamond/directional/west, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, /area/station/medical/chem_storage) +"pHW" = ( +/obj/machinery/atmospherics/components/tank, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "pHX" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"pIh" = ( +/obj/structure/bookcase, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pIj" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -52531,25 +53734,20 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "pIt" = ( -/obj/structure/sign/warning/no_smoking/directional/east, -/turf/open/floor/iron/white/side{ - dir = 10 +/turf/open/floor/iron/white/corner{ + dir = 1 }, /area/station/science/research) +"pIu" = ( +/obj/structure/table, +/obj/item/binoculars, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "pIw" = ( /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/engine/cult, /area/station/service/library) -"pJb" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 6 - }, -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "pJc" = ( /obj/machinery/component_printer, /obj/machinery/camera/directional/west{ @@ -52560,12 +53758,23 @@ dir = 4 }, /area/station/science/explab) -"pJq" = ( -/obj/structure/statue/snow/snowman{ - name = "Steve" +"pJi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) +/obj/item/flashlight{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) +"pJt" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/openspace, +/area/station/science/ordnance/office) "pJu" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -52634,16 +53843,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"pKo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "pKu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -52671,6 +53870,10 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"pKP" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/engine, +/area/station/science/xenobiology) "pKR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52684,19 +53887,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pKX" = ( +/obj/structure/railing, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/four, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pKY" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "pLa" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, +/obj/structure/window/half/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "pLe" = ( -/obj/structure/sign/warning/xeno_mining, /turf/closed/wall/ice, /area/icemoon/surface/outdoors/nospawn) "pLn" = ( @@ -52711,17 +53922,6 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"pLo" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "pLr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -52739,18 +53939,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"pLu" = ( -/obj/structure/sink/kitchen/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "pLv" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, @@ -52772,14 +53960,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"pLx" = ( -/obj/machinery/computer/security{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) "pLZ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -52800,11 +53980,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"pMh" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/wallet/random, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "pMq" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Storage Room - South" @@ -52849,12 +54024,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/xenobiology) -"pNi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "pNm" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) @@ -52873,15 +54042,14 @@ dir = 4 }, /obj/structure/table/glass, -/obj/machinery/camera{ - c_tag = "Virology Module South"; - dir = 4; - network = list("ss13","medbay") - }, /obj/item/clothing/mask/breath/medical, /obj/item/clothing/mask/breath/medical, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, +/obj/machinery/camera/directional/east{ + c_tag = "Virology Module South"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/virology) "pNz" = ( @@ -52915,7 +54083,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/glass, /obj/item/stack/sheet/mineral/plasma, /obj/item/stack/sheet/mineral/plasma{ @@ -52930,6 +54097,7 @@ pixel_x = -3; pixel_y = 9 }, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) "pNZ" = ( @@ -52947,12 +54115,6 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/prison/safe) -"pOl" = ( -/obj/structure/flora/tree/pine/style_random{ - pixel_x = -15 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "pOo" = ( /obj/machinery/airalarm/directional/north, /obj/structure/closet/secure_closet/personal/cabinet, @@ -52969,26 +54131,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"pOC" = ( -/obj/machinery/computer/order_console/cook{ - dir = 4 - }, +"pOA" = ( +/obj/effect/spawner/random/entertainment/arcade, /obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) -"pOK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) +/turf/open/floor/eighties, +/area/station/commons/lounge) "pOL" = ( /turf/open/floor/iron/white, /area/station/science/ordnance) @@ -52999,6 +54146,11 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"pPd" = ( +/obj/structure/cable, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "pPl" = ( /obj/item/stack/ore/silver, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53030,25 +54182,22 @@ }, /obj/machinery/firealarm/directional/east, /obj/structure/closet/l3closet/virology, -/obj/machinery/camera{ - c_tag = "Virology Airlock"; - dir = 9; - network = list("ss13","medbay") +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + c_tag = "Virology Airlock" }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"pPE" = ( -/obj/machinery/modular_computer/preset/id, -/obj/machinery/computer/security/telescreen/vault/directional/north, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "pPK" = ( /obj/structure/stairs/east, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) +"pPM" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "pPN" = ( /obj/machinery/porta_turret/ai{ dir = 8 @@ -53096,6 +54245,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"pQl" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cytology Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "pQo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -53135,9 +54291,17 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"pQD" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "pQG" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "pQK" = ( @@ -53171,6 +54335,11 @@ /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/machinery/button/door/directional/north{ + id = "Prison Gate"; + name = "Prison Wing Lockdown"; + req_access = list("brig") + }, /turf/open/floor/iron/textured, /area/station/security/brig) "pRG" = ( @@ -53181,6 +54350,7 @@ /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) "pRL" = ( @@ -53202,10 +54372,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) -"pSd" = ( -/obj/machinery/digital_clock/directional/east, -/turf/open/floor/iron/grimy, -/area/station/hallway/secondary/entry) "pSk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53226,8 +54392,17 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 }, +/obj/effect/turf_decal/siding/green{ + dir = 9 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) +"pSq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "pSu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -53246,48 +54421,15 @@ "pSz" = ( /turf/open/openspace, /area/station/maintenance/starboard/upper) -"pSP" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/iron, -/area/station/service/chapel) -"pSX" = ( -/obj/structure/closet/crate{ - name = "Le Caisee D'abeille" - }, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/queen_bee/bought, -/obj/item/clothing/suit/hooded/bee_costume, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 5 +"pSF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/warm/directional/north, -/obj/item/seeds/sunflower, -/obj/effect/spawner/random/food_or_drink/seed, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/stool/directional/east, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "pTd" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -53309,6 +54451,24 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) +"pTi" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + id = "botany_apiary"; + name = "Bee Protection Shutters" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pTB" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -53348,6 +54508,11 @@ "pTY" = ( /turf/open/floor/iron/white/side, /area/station/science/explab) +"pUa" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/genturf, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "pUn" = ( /obj/structure/sink/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -53365,6 +54530,10 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"pUX" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "pVl" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -53388,6 +54557,11 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"pVD" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/generic/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "pVH" = ( /turf/closed/wall/mineral/wood, /area/station/maintenance/aft/lesser) @@ -53435,9 +54609,6 @@ /turf/open/floor/plating, /area/station/maintenance/department/chapel) "pWi" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ desc = "An outlet for the pneumatic disposal system. This one seems designed for rapid corpse disposal."; @@ -53448,6 +54619,8 @@ dir = 8 }, /obj/structure/window/spawner/directional/west, +/obj/effect/turf_decal/trimline/neutral/filled/end, +/obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/medical/morgue) "pWu" = ( @@ -53456,14 +54629,26 @@ }, /turf/open/genturf, /area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"pWG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"pWE" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"pWJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/service/hydroponics) "pWY" = ( /obj/structure/table/glass, /obj/structure/extinguisher_cabinet/directional/east, @@ -53506,16 +54691,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"pXq" = ( +/obj/machinery/button/door/directional/east{ + id = "xenobio6"; + name = "Xenobio Pen 6 Blast DOors"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "pXv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"pXy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "pXB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -53563,6 +54750,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"pYn" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "pYz" = ( /obj/structure/railing/corner, /obj/machinery/door/firedoor/border_only, @@ -53580,13 +54777,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"pYD" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "pYF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53596,10 +54786,27 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) +"pYY" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "pZh" = ( /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/wood, /area/station/command/meeting_room) +"pZi" = ( +/obj/machinery/door/morgue{ + req_access = list("bar"); + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "pZm" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -53613,15 +54820,26 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"pZA" = ( +"pZp" = ( +/obj/structure/railing, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"pZB" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Chemistry Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 1 }, -/obj/machinery/light/directional/west, -/obj/item/kirbyplants/random/dead/research_director, -/obj/machinery/computer/security/telescreen/rd/directional/west, -/turf/open/floor/iron/smooth_half, -/area/station/command/heads_quarters/rd) +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/turf_decal/tile/yellow/full, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "pZD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53637,14 +54855,11 @@ /turf/open/floor/iron, /area/station/engineering/storage) "pZO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "pZY" = ( /mob/living/simple_animal/hostile/asteroid/polarbear{ move_force = 999; @@ -53658,26 +54873,10 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"qad" = ( -/obj/machinery/requests_console/auto_name/directional/south, -/obj/structure/bodycontainer/morgue/beeper_off{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "qai" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/port/aft) -"qal" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/stone, -/area/station/commons/lounge) "qam" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -53691,7 +54890,6 @@ /area/icemoon/underground/explored) "qaD" = ( /obj/machinery/light_switch/directional/north, -/obj/structure/sign/poster/official/help_others/directional/west, /turf/open/floor/iron/checker, /area/station/commons/storage/emergency/port) "qaE" = ( @@ -53731,6 +54929,26 @@ /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"qaS" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/commons/lounge) "qaU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/firealarm/directional/west, @@ -53759,7 +54977,8 @@ /obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/dark/half/contrasted, +/obj/structure/railing, +/obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "qbh" = ( @@ -53769,6 +54988,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"qbk" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Security Checkpoint" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brigoutpost" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/station/security/brig/entrance) "qbq" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -53781,14 +55017,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"qbz" = ( -/obj/structure/ladder, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/science/cytology) "qbA" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/east, @@ -53805,80 +55033,79 @@ /turf/open/floor/wood, /area/station/commons/dorms) "qbG" = ( -/obj/machinery/door/airlock/external, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/broken_floor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"qbI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/medical/morgue) -"qbM" = ( -/obj/structure/ore_container/food_trough/raptor_trough, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/tall_stairs/start/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) "qbO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"qbU" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qbW" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"qbY" = ( -/obj/item/clothing/accessory/pocketprotector, -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/camera{ - pixel_y = 4; - pixel_x = -3 - }, -/obj/effect/spawner/random/clothing/mafia_outfit, -/obj/effect/spawner/random/clothing/mafia_outfit, -/obj/effect/spawner/random/clothing/backpack, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "qca" = ( /obj/structure/chair/office{ dir = 8 }, /turf/open/floor/iron, /area/station/tcommsat/computer) -"qci" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, +"qch" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end/flip, /turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) +/area/station/maintenance/starboard/fore) "qck" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qcl" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/science/cytology) "qcu" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central) +"qcx" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "qcE" = ( /obj/structure/ladder, /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron, /area/station/cargo/miningdock) +"qcI" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/reinforced, +/obj/item/stack/wrapping_paper{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/stack/package_wrap{ + pixel_x = -1; + pixel_y = -1 + }, +/obj/item/dest_tagger, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qcL" = ( /obj/effect/turf_decal/siding/yellow/end{ dir = 8 @@ -53897,13 +55124,19 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"qdx" = ( -/obj/structure/stairs/north{ - dir = 4 - }, -/turf/open/floor/iron/stairs/old{ +"qdq" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ dir = 4 }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"qdv" = ( +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/ordnance) +"qdx" = ( +/obj/structure/tall_stairs/end/directional/east, +/turf/open/floor/plating, /area/station/engineering/atmos/mix) "qdC" = ( /obj/structure/table, @@ -53917,6 +55150,10 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron, /area/station/cargo/miningdock) +"qdD" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "qdE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -53974,6 +55211,11 @@ /obj/machinery/microwave, /turf/open/floor/stone, /area/mine/eva/lower) +"qes" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "qeF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54020,17 +55262,6 @@ dir = 8 }, /area/station/service/chapel) -"qeW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/obj/structure/cable, -/turf/open/floor/eighties, -/area/station/commons/lounge) "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) @@ -54049,14 +55280,11 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"qfr" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/cigarette_pack, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "qfs" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/structure/cable, @@ -54071,30 +55299,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"qfI" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ +"qfG" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"qfJ" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, /area/station/commons/fitness) "qgm" = ( /obj/machinery/meter/monitored/waste_loop, @@ -54109,13 +55319,12 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/machinery/camera{ - c_tag = "Departure Lounge Holding Area"; - dir = 9 - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/machinery/camera/directional/north{ + c_tag = "Departure Lounge Holding Area" + }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "qgu" = ( @@ -54123,22 +55332,22 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"qgH" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qgO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/processing) -"qgQ" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"qgT" = ( -/obj/effect/spawner/random/structure/closet_private, +"qhb" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/crushed_can, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "qhd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -54149,25 +55358,25 @@ /mob/living/basic/bot/cleanbot, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) +"qhi" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/trash/mopbucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"qhj" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light/cold/directional/west, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "qhp" = ( -/obj/structure/sign/warning/gas_mask/directional/south, /obj/effect/spawner/random/trash/grille_or_waste, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qhF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" - }, -/obj/effect/landmark/navigate_destination, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms) "qhL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -54190,11 +55399,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/side, /area/station/security/processing) -"qhQ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "qhS" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -54202,12 +55406,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/prison) -"qhV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "qig" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54216,39 +55414,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qit" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"qiA" = ( -/obj/machinery/chem_master/condimaster{ - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - name = "HoochMaster Deluxe" +"qiv" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "qiF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) -"qiG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"qiH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "qiJ" = ( /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /obj/effect/spawner/random/contraband/prison, @@ -54262,11 +55444,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"qiL" = ( -/obj/machinery/door/airlock/hatch, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/fore) "qiN" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, @@ -54278,13 +55455,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"qiT" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/tile/green/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics/garden) "qjb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 10 @@ -54296,9 +55466,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"qjd" = ( -/turf/open/misc/ice/coldroom, -/area/station/service/kitchen/coldroom) "qjg" = ( /obj/effect/landmark/observer_start, /obj/effect/turf_decal/plaque{ @@ -54326,13 +55493,9 @@ c_tag = "Bridge West Access" }, /obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qjn" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/fore) "qjp" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/thinplating_new, @@ -54351,12 +55514,6 @@ /obj/machinery/holopad/secure, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"qjC" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "qjF" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -54364,6 +55521,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"qjJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "qjO" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -54380,15 +55544,31 @@ }, /turf/open/floor/plating, /area/mine/eva) -"qkc" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"qjW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"qkc" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/trunk/multiz/down, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) +"qkg" = ( +/mob/living/basic/pet/penguin/baby/permanent, +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = -3 + }, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "qku" = ( /obj/structure/chair/comfy/beige{ dir = 4 @@ -54414,6 +55594,10 @@ }, /turf/open/floor/iron/dark, /area/station/medical/virology) +"qkD" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/aft/lesser) "qkH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side{ @@ -54468,6 +55652,16 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"qlE" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qlG" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty{ @@ -54496,18 +55690,17 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) -"qlS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "qlU" = ( /obj/structure/closet/crate, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"qmh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "qmi" = ( /turf/open/floor/iron, /area/station/cargo/lobby) @@ -54517,6 +55710,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig/entrance) +"qmq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qmt" = ( /turf/closed/wall, /area/mine/eva/lower) @@ -54540,7 +55741,6 @@ id = "miningdorm_B"; name = "Door Bolt Control"; normaldoorcontrol = 1; - pixel_y = 23; specialfunctions = 4 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -54555,10 +55755,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/plating, /area/station/medical/virology) -"qmV" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/exit/departure_lounge) "qna" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Permabrig Chapel"; @@ -54599,14 +55795,26 @@ /turf/open/floor/iron/dark, /area/station/medical/virology) "qnv" = ( -/obj/structure/closet/crate/grave, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 }, -/area/icemoon/underground/explored/graveyard) +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "qnC" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) +"qnJ" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "qnO" = ( /obj/machinery/atmospherics/components/trinary/mixer/airmix{ dir = 4 @@ -54639,20 +55847,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qod" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = -4; - pixel_y = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "qoi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54664,26 +55858,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/wood/parquet, /area/station/service/library) -"qon" = ( -/obj/machinery/door/airlock/wood{ - name = "Backstage" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/commons/lounge) "qoK" = ( /obj/structure/flora/rock/style_random, /obj/structure/window/reinforced/spawner/directional/south, @@ -54699,12 +55873,8 @@ /turf/open/floor/plating, /area/station/security/prison/safe) "qoZ" = ( -/obj/effect/turf_decal/trimline/white/arrow_ccw, -/obj/effect/turf_decal/trimline/white/arrow_cw{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, +/obj/structure/tall_stairs/start/directional/east, +/turf/open/floor/plating, /area/station/engineering/atmos/mix) "qpb" = ( /obj/machinery/disposal/bin{ @@ -54730,13 +55900,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) +"qpm" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/desk_bell{ + pixel_x = -3 + }, +/turf/open/floor/iron, +/area/station/service/bar) "qpp" = ( /obj/machinery/camera/directional/west{ c_tag = "Quartermaster's Office" }, -/obj/machinery/status_display/supply{ - pixel_x = -32 - }, /obj/structure/table, /obj/item/coin/silver, /obj/item/computer_disk/quartermaster, @@ -54746,6 +55921,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, +/obj/machinery/status_display/supply/directional/west, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "qpr" = ( @@ -54795,6 +55971,17 @@ dir = 4 }, /area/station/service/chapel) +"qpx" = ( +/obj/structure/table/glass, +/obj/item/seeds/glowshroom, +/obj/item/seeds/bamboo{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/machinery/newscaster/directional/east, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qpB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54815,15 +56002,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/station/service/library) -"qpQ" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Upper" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "qpR" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -54833,19 +56011,6 @@ /obj/machinery/recharge_station, /turf/open/floor/wood, /area/station/command/meeting_room) -"qpU" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/reagent_dispensers/plumbed{ - name = "dormitory reservoir" - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/fore) "qpZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -54872,10 +56037,14 @@ name = "Exfiltrate Port" }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) "qqn" = ( /obj/structure/tank_dispenser/oxygen, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/mine/eva/lower) "qqv" = ( @@ -54892,6 +56061,10 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"qqE" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "qqJ" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -54908,15 +56081,6 @@ dir = 1 }, /area/station/security/office) -"qre" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/vending/wardrobe/hydro_wardrobe, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qrg" = ( /obj/item/bodypart/head, /obj/effect/decal/cleanable/blood, @@ -54945,42 +56109,19 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"qrm" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall/r_wall, -/area/station/engineering/storage_shared) -"qrq" = ( -/obj/structure/toilet/greyscale{ - cistern_open = 1; - dir = 1 - }, -/obj/effect/spawner/random/entertainment/cigar, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) -"qrF" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ +"qrB" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "qrJ" = ( /obj/machinery/ticket_machine/directional/east, /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qrM" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "qrQ" = ( /obj/structure/railing{ dir = 8 @@ -55003,15 +56144,13 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "qsh" = ( -/obj/structure/plaque/static_plaque/golden/commission/icebox, +/obj/structure/plaque/static_plaque/golden/commission/icebox{ + pixel_y = -32 + }, /obj/effect/landmark/navigate_destination/dockarrival, /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"qsq" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) "qsy" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -55026,10 +56165,21 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/structure/sign/warning/secure_area/directional/west, /obj/structure/closet/emcloset, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Console"; + req_access = list("virology") + }, /turf/open/floor/iron/white, /area/station/medical/virology) +"qsN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "qsQ" = ( /obj/machinery/stasis, /obj/machinery/defibrillator_mount/directional/north, @@ -55037,17 +56187,11 @@ /turf/open/floor/iron/large, /area/station/medical/treatment_center) "qsR" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/rack, /obj/item/clothing/gloves/latex, +/obj/structure/window/reinforced/tinted/spawner/directional/north, /turf/open/floor/plating, /area/station/security/prison/safe) -"qsY" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "qtj" = ( /turf/closed/wall, /area/station/engineering/storage) @@ -55071,22 +56215,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"qtG" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Fitness Room South" - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -7 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/fitness) "qtH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -55105,6 +56233,7 @@ /area/station/maintenance/port/aft) "qtS" = ( /obj/machinery/light/directional/north, +/obj/structure/sign/warning/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "qud" = ( @@ -55127,33 +56256,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"quw" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/closet/crate/hydroponics, -/obj/item/wrench, -/obj/item/wrench, -/obj/item/grenade/chem_grenade/antiweed{ - pixel_x = 3; - pixel_y = 1 - }, -/obj/item/grenade/chem_grenade/antiweed, -/obj/item/shovel/spade, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_y = 3 - }, -/obj/item/cultivator, -/obj/item/shovel/spade, -/obj/item/reagent_containers/cup/watering_can, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) "quB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -55164,9 +56266,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"quJ" = ( -/turf/open/floor/stone, -/area/station/commons/lounge) "quK" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -55176,6 +56275,17 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"quS" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "quY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -55197,6 +56307,20 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qvl" = ( +/obj/item/toy/snowball{ + pixel_x = -11; + pixel_y = -2 + }, +/obj/structure/sign/warning{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"qvx" = ( +/obj/item/food/grown/carrot, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "qvE" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/light/small/directional/east, @@ -55215,13 +56339,27 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qvN" = ( -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "qvQ" = ( /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"qvS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "qvW" = ( /obj/structure/table, /obj/item/storage/belt/utility, @@ -55289,6 +56427,7 @@ "qwn" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/vending/cigarette, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron, /area/station/commons/locker) "qwB" = ( @@ -55303,32 +56442,6 @@ /obj/machinery/computer/rdconsole{ dir = 1 }, -/obj/machinery/button/door/directional/south{ - id = "Biohazard"; - name = "Biohazard Shutter Control"; - pixel_x = -6; - req_access = list("research") - }, -/obj/machinery/button/door/directional/south{ - id = "rnd2"; - name = "Research Lab Shutter Control"; - pixel_x = 6; - req_access = list("research") - }, -/obj/machinery/button/door/directional/south{ - id = "xenobiomain"; - name = "Xenobiology Containment Blast Door"; - pixel_x = -6; - pixel_y = -34; - req_access = list("xenobiology") - }, -/obj/machinery/button/door/directional/south{ - id = "misclab"; - name = "Test Chamber Blast Doors"; - pixel_x = 6; - pixel_y = -34; - req_access = list("xenobiology") - }, /turf/open/floor/iron/white/corner{ dir = 8 }, @@ -55344,6 +56457,7 @@ /area/station/science/research) "qwO" = ( /obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "qwX" = ( @@ -55417,19 +56531,37 @@ dir = 4 }, /obj/structure/sign/warning/deathsposal/directional/north, -/obj/structure/sign/warning/fire/directional/west, /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/virology) "qxy" = ( -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/duct, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, /turf/open/floor/iron, /area/station/engineering/lobby) +"qxF" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "qxI" = ( /turf/open/floor/plastic, /area/station/commons/dorms/laundry) @@ -55442,6 +56574,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qya" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/emproof, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 10 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "qyn" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -55449,6 +56601,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"qyH" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "qyI" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -55482,23 +56641,11 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"qyZ" = ( -/obj/structure/table, -/obj/machinery/light/small/dim/directional/west, -/obj/item/camera{ - pixel_y = 9; - pixel_x = -2 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/empty{ - pixel_y = 5; - pixel_x = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) -"qzq" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/r_wall, -/area/mine/mechbay) +"qzn" = ( +/obj/structure/chair/sofa/bench/right, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "qzs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55535,18 +56682,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qzU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "qzV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -55562,10 +56697,15 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"qAh" = ( +/obj/structure/railing/wooden_fence{ + dir = 5 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "qAq" = ( /obj/structure/closet/toolcloset, /obj/machinery/status_display/evac/directional/south, -/obj/structure/sign/poster/official/random/directional/west, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/storage) @@ -55596,7 +56736,7 @@ amount = 10 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/north, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/maintenance/department/electrical) "qAT" = ( @@ -55621,8 +56761,18 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, /turf/open/floor/wood, /area/station/commons/dorms) +"qBi" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qBj" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -55642,6 +56792,9 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine/air, /area/station/engineering/atmos) +"qCu" = ( +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "qCA" = ( /obj/structure/table/wood, /turf/open/floor/wood, @@ -55671,8 +56824,8 @@ /turf/open/floor/iron, /area/station/commons/dorms) "qCJ" = ( -/obj/structure/sign/warning/directional/north, /obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/service/chapel) "qCP" = ( @@ -55701,9 +56854,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/large, /area/mine/mechbay) @@ -55713,13 +56863,15 @@ dir = 1; name = "Gas to Filter" }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter) -"qDk" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +"qDx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/upper) "qDD" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, @@ -55745,11 +56897,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"qEh" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "qEj" = ( /obj/structure/table/glass, /obj/item/assembly/igniter, @@ -55780,6 +56927,11 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"qEn" = ( +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "qEu" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -55793,11 +56945,11 @@ /turf/open/floor/iron, /area/station/cargo/drone_bay) "qEv" = ( -/obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/computer/camera_advanced/xenobio{ dir = 1 }, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) "qEz" = ( @@ -55808,6 +56960,22 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"qEE" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm1"; + name = "Dorm 1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) +"qEG" = ( +/obj/structure/railing, +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "qEJ" = ( /turf/closed/wall, /area/station/service/chapel/office) @@ -55882,13 +57050,27 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"qFD" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"qFv" = ( +/obj/structure/fence/door{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"qFA" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/fore) +"qFE" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "qFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, @@ -55897,6 +57079,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/customs/auxiliary) +"qFO" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "qFW" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -55927,17 +57114,6 @@ /obj/item/gps/mining, /turf/open/floor/iron/smooth, /area/mine/eva) -"qGh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "qGJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56010,11 +57186,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"qHs" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "qHz" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/disposal/bin{ @@ -56033,6 +57204,9 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/command/bridge) "qHO" = ( @@ -56044,6 +57218,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"qHP" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "qIf" = ( /obj/machinery/power/smes, /obj/structure/cable, @@ -56098,6 +57278,7 @@ /obj/machinery/duct, /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "qIU" = ( @@ -56118,15 +57299,46 @@ /obj/item/cigbutt, /turf/open/floor/wood/large, /area/mine/eva/lower) -"qJy" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ +"qJx" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"qJB" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/crate/hydroponics, +/obj/item/wrench, +/obj/item/wrench, +/obj/item/grenade/chem_grenade/antiweed{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/item/grenade/chem_grenade/antiweed, +/obj/item/shovel/spade, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 3 + }, +/obj/item/cultivator, +/obj/item/shovel/spade, +/obj/item/reagent_containers/cup/watering_can, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron, -/area/station/service/bar) +/area/station/service/hydroponics) "qJT" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/icemoon, @@ -56164,13 +57376,13 @@ /turf/open/floor/plating, /area/station/security/prison/safe) "qKk" = ( -/obj/structure/railing/corner{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/iron/dark/side{ dir = 1 }, @@ -56192,21 +57404,6 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"qKw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree{ - pixel_y = 5; - pixel_x = 7 - }, -/obj/item/grown/log/tree{ - pixel_x = 7 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "qKx" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/bot, @@ -56223,16 +57420,19 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"qKH" = ( -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/spawner/structure/window/hollow/reinforced/end, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) +"qKC" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/station/cargo/storage) "qKJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/entry) "qKQ" = ( @@ -56254,12 +57454,10 @@ /turf/open/floor/iron/smooth, /area/station/security/brig) "qLf" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/wood, /area/station/service/library) "qLg" = ( @@ -56292,6 +57490,11 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"qLA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/hobo_squat, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "qLB" = ( /obj/structure/filingcabinet/employment, /turf/open/floor/wood, @@ -56337,13 +57540,6 @@ "qLY" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"qMf" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "qMm" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/wood, @@ -56358,26 +57554,16 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"qMD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"qMF" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "qMH" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"qMI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "qMN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -56390,26 +57576,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/supermatter) -"qMO" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"qMS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "qMT" = ( /turf/closed/wall, /area/station/commons/lounge) @@ -56454,6 +57620,10 @@ dir = 10 }, /area/station/science/lab) +"qNt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "qNu" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron/freezer, @@ -56469,6 +57639,19 @@ /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/mix) +"qNA" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "qNE" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -56496,8 +57679,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"qNZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) "qOl" = ( /turf/open/floor/wood, /area/station/maintenance/port/aft) @@ -56508,10 +57698,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"qOB" = ( -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "qOD" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/siding/dark_blue, @@ -56524,6 +57710,12 @@ }, /turf/open/floor/iron/textured_half, /area/station/ai_monitored/command/storage/eva) +"qOG" = ( +/obj/structure/table/wood, +/obj/item/plate, +/obj/effect/spawner/random/trash/bacteria, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "qOH" = ( /obj/effect/landmark/blobstart, /obj/structure/lattice/catwalk, @@ -56544,10 +57736,22 @@ dir = 1 }, /area/station/security/processing) -"qOW" = ( -/obj/structure/sign/warning/biohazard/directional/west, -/turf/open/openspace, -/area/station/medical/medbay/aft) +"qPc" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qPm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56590,7 +57794,7 @@ /area/station/medical/pharmacy) "qPu" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 + dir = 5 }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -56601,15 +57805,10 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"qPD" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +"qPE" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "qPI" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -56626,13 +57825,16 @@ "qPL" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/exit/departure_lounge) -"qPQ" = ( +"qPV" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 6 }, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qPX" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -56684,6 +57886,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"qQA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/bar) "qQC" = ( /turf/open/floor/iron, /area/station/commons/storage/mining) @@ -56699,16 +57911,16 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"qQV" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "qRk" = ( /obj/item/chair/wood, /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) +"qRo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qRq" = ( /obj/structure/rack, /obj/item/electronics/apc, @@ -56735,12 +57947,26 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"qRF" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer, +"qRE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "qRO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56751,7 +57977,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/poster/contraband/random/directional/south, /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/greater) @@ -56761,10 +57986,10 @@ /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) "qSe" = ( -/obj/structure/railing/corner{ +/obj/effect/landmark/start/hangover, +/obj/structure/railing{ dir = 1 }, -/obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/medical/morgue) "qSh" = ( @@ -56773,11 +57998,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"qSi" = ( -/obj/structure/railing/wooden_fence, -/obj/item/flashlight/lantern/on, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qSj" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -56833,6 +58053,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/airlock_controller/incinerator_atmos, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "qSE" = ( @@ -56858,11 +58081,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"qSP" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "qST" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -56870,31 +58088,23 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"qSU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/box/red/corners{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "qSY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"qTj" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/white/corner{ - dir = 1 +"qTa" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/area/station/hallway/secondary/entry) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/turf/open/floor/iron/showroomfloor, +/area/station/engineering/atmos) +"qTf" = ( +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "qTm" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -56907,17 +58117,13 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"qTp" = ( -/obj/structure/table/wood, -/obj/item/clothing/mask/fakemoustache, -/obj/item/cigarette/pipe, -/obj/item/clothing/glasses/monocle, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "qTs" = ( /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"qTC" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/genturf/blue, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "qTI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56952,14 +58158,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, +/obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"qUo" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "qUr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56976,6 +58177,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"qUI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "qUL" = ( /obj/structure/closet/emcloset, /obj/effect/spawner/random/maintenance/two, @@ -56985,6 +58197,11 @@ /obj/structure/chair{ dir = 1 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "qUS" = ( @@ -56996,6 +58213,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"qUU" = ( +/obj/structure/fence/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "qUY" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -57055,13 +58278,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) -"qVG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "qVJ" = ( /obj/machinery/disposal/bin, /obj/machinery/light_switch/directional/south, @@ -57076,14 +58292,6 @@ /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qWf" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/deepfryer, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "qWh" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57092,6 +58300,10 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, +/obj/machinery/camera/directional/west{ + c_tag = "Research Division Lobby"; + network = list("ss13","rd") + }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "qWn" = ( @@ -57160,6 +58372,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"qWW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "qWZ" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) @@ -57185,6 +58403,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/white, /area/station/science/research) "qXF" = ( @@ -57196,10 +58415,6 @@ /obj/structure/flora/bush/jungle/c/style_random, /turf/open/floor/grass, /area/station/medical/virology) -"qXY" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "qYb" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -57241,18 +58456,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"qYC" = ( -/obj/machinery/door/window/right/directional/south{ - req_access = list("kitchen"); - name = "The Ice Box" +"qYB" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/siding/blue{ + dir = 4 }, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/commons/dorms/laundry) "qYP" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -57287,6 +58501,13 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"qZg" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "qZh" = ( /obj/structure/table, /obj/item/folder/white, @@ -57305,11 +58526,10 @@ /turf/open/floor/iron/dark, /area/station/medical/treatment_center) "qZG" = ( -/obj/structure/fence/corner{ - dir = 5 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "qZN" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) @@ -57328,6 +58548,12 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/textured, /area/mine/mechbay) +"qZZ" = ( +/obj/structure/marker_beacon/yellow, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "rab" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -57362,10 +58588,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"raq" = ( -/obj/structure/fence/corner, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ras" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -57405,6 +58627,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) +"raQ" = ( +/mob/living/basic/pet/penguin/baby/permanent, +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "raT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -57431,13 +58658,6 @@ /obj/structure/closet, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"rbh" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "rbm" = ( /obj/machinery/camera/directional/east{ c_tag = "MiniSat External NorthWest"; @@ -57446,10 +58666,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"rbp" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rbs" = ( /obj/effect/turf_decal/tile/yellow, /obj/machinery/light/directional/east, @@ -57459,23 +58675,19 @@ /turf/closed/wall, /area/station/command/heads_quarters/qm) "rbE" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics/garden) "rbT" = ( /obj/structure/ore_box, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"rbU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "botany_apiary"; - name = "Apiary Shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "rbY" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -57514,12 +58726,15 @@ /area/station/science/explab) "rcx" = ( /obj/machinery/light/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/displaycase, /obj/effect/turf_decal/tile/dark/fourcorners, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/iron, /area/mine/living_quarters) "rcD" = ( +/obj/structure/railing/corner/end{ + dir = 8 + }, /turf/open/floor/carpet/lone, /area/station/service/chapel) "rcE" = ( @@ -57527,31 +58742,27 @@ /turf/open/floor/plating, /area/station/hallway/primary/central) "rcN" = ( +/obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/siding/yellow{ dir = 5 }, /turf/open/floor/iron, /area/station/engineering/lobby) -"rcO" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/ai) "rcP" = ( /obj/effect/turf_decal/bot_white/right, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"rcU" = ( -/obj/structure/table/optable, -/obj/effect/decal/cleanable/xenoblood, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "rcY" = ( /obj/structure/fence{ dir = 4 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"rdg" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "rdl" = ( /obj/machinery/button/door/directional/east{ id = "misclab"; @@ -57565,33 +58776,15 @@ pixel_y = -6; req_access = list("xenobiology") }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, /turf/open/floor/iron/white, /area/station/science/xenobiology) "rdn" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"rdq" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/trash/mopbucket, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"rdv" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "rdw" = ( /obj/structure/bookcase, /obj/machinery/light/small/directional/north, @@ -57632,12 +58825,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"reu" = ( -/obj/structure/fence/corner{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rex" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 8 @@ -57652,6 +58839,11 @@ dir = 5 }, /area/mine/living_quarters) +"reA" = ( +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/station/engineering/atmos) "reJ" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -57676,13 +58868,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"reX" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "rfh" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -57692,16 +58877,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"rfj" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "rfo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57710,7 +58885,7 @@ /turf/open/floor/iron/white, /area/station/medical/psychology) "rft" = ( -/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "rfu" = ( @@ -57721,6 +58896,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"rfL" = ( +/obj/structure/tall_stairs/start/directional/east, +/turf/open/floor/carpet, +/area/station/service/chapel) +"rfQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rfR" = ( /obj/machinery/telecomms/bus/preset_two, /turf/open/floor/circuit/telecomms/mainframe, @@ -57729,16 +58914,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"rfW" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/dorms) -"rgi" = ( -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/central) "rgl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/disposalpipe/segment, @@ -57775,6 +58950,13 @@ /obj/item/stack/package_wrap, /turf/open/floor/wood/large, /area/mine/eva/lower) +"rgq" = ( +/obj/structure/minecart_rail{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "rgs" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -57797,12 +58979,6 @@ "rgE" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/hfr_room) -"rgM" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "rhf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -57817,14 +58993,24 @@ /obj/machinery/door/airlock/research{ name = "Ordnance Lab" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria{ dir = 8 }, /area/station/science/ordnance/office) +"rhm" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/obj/structure/sign/departments/botany/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"rhv" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "rhF" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Permabrig Observation North"; @@ -57832,6 +59018,13 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"rhG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "rhP" = ( /obj/machinery/flasher/directional/north{ id = "Cell 2" @@ -57840,16 +59033,9 @@ dir = 1; pixel_x = -2 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/smooth, /area/station/security/brig) -"rhS" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "rhY" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box/red, @@ -57879,6 +59065,19 @@ dir = 5 }, /area/station/hallway/secondary/entry) +"rit" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "riv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57888,60 +59087,58 @@ /obj/effect/mapping_helpers/mail_sorting/security/general, /turf/open/floor/iron, /area/station/security/brig/upper) -"riB" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) "riL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/living_quarters) -"riM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/food/grown/carrot, -/obj/item/food/grown/carrot{ - pixel_y = 4; - pixel_x = -2 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "riT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/obj/machinery/atmospherics/components/unary/passive_vent, /turf/open/floor/plating/snowed/icemoon, -/area/station/maintenance/port/aft) +/area/icemoon/surface/outdoors/nospawn) +"riW" = ( +/obj/item/toy/snowball{ + pixel_x = 9; + pixel_y = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rja" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/paper/carbon, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"rjb" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"rjd" = ( +/obj/structure/table, +/obj/machinery/computer/security/telescreen/isolation/directional/south, +/obj/item/clothing/suit/jacket/straight_jacket, +/obj/item/clothing/suit/jacket/straight_jacket{ + pixel_x = 6 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security - Permabrig Prep"; + network = list("ss13","prison"); + view_range = 5 + }, +/obj/structure/cable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/security/execution/transfer) "rjh" = ( /obj/structure/closet/firecloset, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/main) -"rji" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "rjr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/plating, @@ -57959,10 +59156,10 @@ dir = 4 }, /obj/effect/turf_decal/trimline/blue/filled/end, -/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/sign/warning/no_smoking/circle/directional/west, /obj/structure/disposalpipe/segment, /obj/machinery/light/directional/west, +/obj/structure/window/half/directional/south, /turf/open/floor/iron/large, /area/station/medical/medbay/aft) "rjE" = ( @@ -57972,24 +59169,6 @@ /obj/structure/fluff/tram_rail, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"rjH" = ( -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Antechamber"; - network = list("minisat"); - start_active = 1 - }, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat/atmos"; - name = "Atmospherics Turret Control"; - pixel_x = -27; - req_access = list("minisat") - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "rjK" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -58001,14 +59180,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rjT" = ( -/obj/machinery/button/door/directional/west{ - id = "xenobio3"; - name = "Xenobio Pen 3 Blast Door"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "rkc" = ( /obj/effect/turf_decal/siding/yellow, /obj/effect/turf_decal/siding/yellow{ @@ -58021,11 +59192,17 @@ /obj/effect/spawner/random/trash/cigbutt, /obj/effect/spawner/random/trash/cigbutt, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/plaques/kiddie/perfect_drone{ - pixel_x = 32 - }, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) +"rkh" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rkl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -58035,10 +59212,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"rkm" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"rkp" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rkt" = ( /obj/structure/cable, /obj/machinery/light/directional/east, @@ -58048,6 +59230,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"rku" = ( +/obj/structure/sign/poster/official/random/directional/north, +/turf/closed/wall, +/area/station/maintenance/port/aft) "rkK" = ( /obj/machinery/suit_storage_unit/cmo, /turf/open/floor/iron/dark, @@ -58066,14 +59252,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"rlb" = ( -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "rlf" = ( /obj/effect/spawner/random/structure/steam_vent, /obj/structure/cable, @@ -58084,35 +59262,45 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rlA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"rlq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/medical/morgue) -"rlE" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/computer/slot_machine{ - name = "two-armed bandit" +/obj/structure/railing, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) +"rlz" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/light/directional/north, +/obj/machinery/button/door/directional/north{ + id = "kitchencounter"; + name = "Counter Shutters Control"; + req_access = list("kitchen") + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"rlB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"rlH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"rlL" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = -7 +/area/station/maintenance/starboard/lesser) +"rlE" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "rlS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58133,7 +59321,6 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/no_smoking/circle/directional/west, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) "rmn" = ( @@ -58145,19 +59332,11 @@ /area/station/commons/dorms) "rmp" = ( /obj/machinery/firealarm/directional/north, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/iron/white, /area/station/science/ordnance) -"rms" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin{ - pixel_y = 6 - }, -/obj/item/taperecorder{ - pixel_x = 9 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "rmv" = ( /obj/structure/rack, /obj/item/wrench, @@ -58182,29 +59361,31 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/dark/textured_half, /area/mine/mechbay) -"rmG" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ - name = "Burn Chamber Exterior Airlock" +"rmK" = ( +/obj/structure/fence/corner{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rmM" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/wood, /area/station/command/meeting_room) -"rmR" = ( -/obj/effect/spawner/random/trash/mess, +"rmP" = ( /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "rmU" = ( /obj/effect/spawner/random/trash/graffiti, -/obj/structure/sign/poster/contraband/free_drone/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) "rmZ" = ( @@ -58214,12 +59395,15 @@ /area/station/maintenance/port/fore) "rnb" = ( /obj/effect/turf_decal/tile/red, +/obj/structure/railing/corner, /turf/open/floor/iron/textured, /area/station/security/brig) "rng" = ( -/obj/machinery/light/cold/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/security/prison/safe) "rnh" = ( /obj/machinery/door/airlock{ name = "Observatory Access" @@ -58253,7 +59437,6 @@ /area/station/engineering/supermatter/room) "rnu" = ( /obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/secure_area/directional/east, /turf/open/floor/engine, /area/station/science/explab) "rnx" = ( @@ -58278,10 +59461,9 @@ }, /obj/machinery/button/door/directional/north{ id = "Lakeview_Bathroom"; - pixel_x = 22; - pixel_y = -10; req_access = list("robotics") }, +/obj/machinery/newscaster/directional/east, /turf/open/floor/iron/freezer, /area/mine/eva/lower) "roj" = ( @@ -58298,10 +59480,10 @@ /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) "roq" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/closet, /obj/effect/spawner/random/clothing/gloves, /obj/effect/spawner/random/trash/janitor_supplies, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) "rox" = ( @@ -58323,6 +59505,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/xenobiology) +"roC" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "roH" = ( /obj/structure/chair/pew/right, /turf/open/floor/wood, @@ -58342,10 +59535,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/science/explab) -"roW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "roX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -58355,14 +59544,14 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"rpi" = ( -/turf/closed/wall/ice, -/area/icemoon/underground/explored/graveyard) "rpu" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "rpC" = ( @@ -58389,21 +59578,21 @@ /turf/open/floor/iron/dark/textured, /area/station/engineering/engine_smes) "rpG" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"rpJ" = ( -/obj/structure/minecart_rail{ - dir = 10 +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 }, -/obj/structure/cable, -/obj/structure/sign/warning/directional/south, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "rpK" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -58472,15 +59661,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"rqn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/structure/rack, -/obj/machinery/camera/directional/south{ - c_tag = "Chapel Electrical Maintenace Lower" - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/chapel) "rqD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -58494,13 +59674,6 @@ }, /turf/open/floor/plating, /area/station/engineering/engine_smes) -"rqG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/lounge) "rqH" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/leather, @@ -58520,20 +59693,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) -"rqQ" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Kitchen" - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/table, -/obj/machinery/processor{ - pixel_y = 6 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "rqY" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -58541,26 +59700,10 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/station/medical/virology) -"rra" = ( -/obj/machinery/modular_computer/preset/cargochat/service, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) -"rrf" = ( -/obj/structure/table/wood, -/obj/item/storage/crayons, -/obj/item/storage/fancy/candle_box{ - pixel_y = 5 - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel/office) -"rrl" = ( -/obj/item/stack/sheet/mineral/wood, -/obj/effect/decal/cleanable/generic, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"rrg" = ( +/obj/structure/sign/departments/holy/directional/west, +/turf/open/openspace, +/area/station/service/chapel) "rrn" = ( /obj/structure/closet/emcloset, /obj/structure/sign/poster/contraband/random/directional/north, @@ -58575,19 +59718,19 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) -"rrL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) +"rrU" = ( +/obj/machinery/computer/cargo/request, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "rrV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva) +"rsf" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rsw" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -58599,6 +59742,30 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"rsy" = ( +/obj/item/training_toolbox{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/item/training_toolbox{ + pixel_y = -2 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Holodeck Control" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/east, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) +"rsC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "rsL" = ( /obj/structure/cable, /turf/open/floor/circuit, @@ -58632,6 +59799,29 @@ "rsY" = ( /turf/closed/wall/r_wall, /area/mine/eva) +"rtf" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"rtk" = ( +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access"; + dir = 4; + manual_align = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "rtn" = ( /obj/structure/chair/comfy/black, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58667,6 +59857,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"rtw" = ( +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "rty" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58712,6 +59906,23 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"ruE" = ( +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Antechamber"; + network = list("minisat"); + start_active = 1 + }, +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat/atmos"; + name = "Atmospherics Turret Control"; + req_access = list("minisat") + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "ruI" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Air to Port" @@ -58732,23 +59943,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"ruQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"ruX" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) "ruZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable/layer3, @@ -58773,13 +59967,13 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"rvO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"rvE" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/item/kirbyplants/organic/plant2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "rvS" = ( /obj/structure/rack, /obj/item/poster/random_contraband, @@ -58791,12 +59985,22 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/greater) "rvZ" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"rwb" = ( +/obj/machinery/food_cart, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/sign/poster/official/cleanliness/directional/north, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "rwe" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, @@ -58814,6 +60018,7 @@ dir = 4; name = "Scrubbers multi deck pipe adapter" }, +/obj/structure/sign/poster/official/safety_eye_protection/directional/north, /turf/open/floor/plating, /area/station/medical/chemistry) "rwt" = ( @@ -58826,7 +60031,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/structure/sign/poster/official/random/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_edge{ dir = 1 @@ -58856,11 +60060,14 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) -"rwW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) +"rwZ" = ( +/obj/structure/sign/departments/botany/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "rxa" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ dir = 1 @@ -58894,6 +60101,9 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"rxJ" = ( +/turf/open/floor/glass, +/area/station/service/hydroponics) "rxM" = ( /obj/machinery/door/poddoor/preopen{ id = "xenobio8"; @@ -58904,14 +60114,18 @@ dir = 4 }, /obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) -"rxV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +"rxU" = ( +/mob/living/basic/pet/penguin/emperor{ + name = "Club" + }, +/obj/item/toy/snowball{ + pixel_x = -9; + pixel_y = 17 + }, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "rxW" = ( /turf/closed/mineral/random/snow, /area/icemoon/underground/unexplored/rivers) @@ -58927,6 +60141,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/hop, /obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "ryf" = ( @@ -58936,6 +60151,13 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"ryn" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "ryu" = ( /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) @@ -58954,6 +60176,10 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"ryJ" = ( +/obj/machinery/light/small/directional/east, +/turf/open/openspace, +/area/station/service/hydroponics) "ryM" = ( /obj/structure/rack, /obj/item/pickaxe, @@ -58967,12 +60193,6 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) -"ryX" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "rzj" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -58982,25 +60202,6 @@ /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"rzm" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall, -/area/station/cargo/lobby) -"rzq" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "rzz" = ( /obj/machinery/door/airlock/command{ name = "Server Room" @@ -59047,17 +60248,21 @@ /obj/machinery/digital_clock/directional/south, /turf/open/openspace, /area/station/medical/medbay/lobby) -"rzY" = ( -/obj/structure/table/wood, -/obj/item/raptor_dex{ - pixel_y = 13 +"rAq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 10 }, -/obj/item/raptor_dex{ - pixel_y = 7 +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 10 }, -/obj/item/raptor_dex, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner, +/obj/effect/turf_decal/trimline/dark_blue/filled/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/morgue) "rAr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59071,23 +60276,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"rAx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "rAA" = ( /obj/machinery/pdapainter, /turf/open/floor/iron, @@ -59111,6 +60299,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) "rAO" = ( @@ -59132,10 +60321,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"rAY" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) "rAZ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) +"rBf" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Supply Door Airlock"; + manual_align = 1; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "rBo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ @@ -59147,12 +60356,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"rBp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/service/library) "rBv" = ( /obj/structure/chair/stool/directional/north, /obj/item/storage/toolbox/artistic{ @@ -59166,8 +60369,22 @@ /obj/item/stack/license_plates/empty/fifty, /obj/item/stack/license_plates/empty/fifty, /obj/item/stack/license_plates/empty/fifty, +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) +"rBz" = ( +/obj/machinery/computer/order_console/cook{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "rBL" = ( /obj/machinery/light/directional/west, /turf/open/openspace, @@ -59205,6 +60422,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"rCs" = ( +/obj/structure/table, +/obj/item/food/deadmouse{ + pixel_y = 18; + pixel_x = 13 + }, +/obj/structure/microscope, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "rCu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/landmark/start/hangover, @@ -59358,27 +60584,8 @@ }, /obj/item/clothing/head/utility/welding, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/poster/official/safety_internals/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"rDH" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) -"rDI" = ( -/obj/item/toy/plush/lizard_plushie{ - name = "Wines-And-Dines"; - pixel_x = 4 - }, -/obj/item/reagent_containers/cup/glass/bottle{ - pixel_x = -9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rDJ" = ( /obj/structure/ladder{ name = "upper dispenser access" @@ -59386,10 +60593,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/dark/textured_large, /area/station/medical/treatment_center) -"rDN" = ( -/obj/structure/no_effect_signpost, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "rDO" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, @@ -59412,9 +60615,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/structure/sign/plaques/kiddie/gameoflife{ - pixel_x = -32 - }, /turf/open/floor/iron/smooth_corner, /area/station/command/heads_quarters/rd) "rEe" = ( @@ -59437,18 +60637,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"rEj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/ordnance) -"rEn" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "rEp" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -59458,17 +60646,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"rEt" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rEx" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, @@ -59480,12 +60657,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rEH" = ( -/obj/item/chair/stool/bar{ - pixel_y = -2 +"rEM" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "rEP" = ( @@ -59499,23 +60678,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rEY" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/structure/displaycase/forsale/kitchen, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "rFb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"rFd" = ( +/obj/structure/tall_stairs/end/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "rFf" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -59540,6 +60715,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/fore) +"rFS" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) +"rFU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "rGd" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -59550,6 +60737,15 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/engine/cult, /area/station/service/library) +"rGf" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "rGh" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -59564,6 +60760,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"rGp" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/structure/sign/departments/engineering/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "rGq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59595,6 +60796,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"rHi" = ( +/turf/open/openspace/xenobio, +/area/station/science/xenobiology) "rHk" = ( /obj/machinery/exodrone_launcher, /obj/item/exodrone{ @@ -59613,6 +60817,7 @@ "rHo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/sign/poster/random/directional/south, +/obj/structure/closet/toolcloset, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "rHr" = ( @@ -59622,7 +60827,6 @@ /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, -/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "rHz" = ( @@ -59648,8 +60852,8 @@ /turf/open/floor/iron, /area/station/security/prison/mess) "rHI" = ( -/obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/disposalpipe/segment, +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) "rHQ" = ( @@ -59661,23 +60865,6 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"rHR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "rHZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -59694,7 +60881,6 @@ /area/station/medical/cryo) "rIr" = ( /obj/machinery/vending/cigarette, -/obj/structure/sign/departments/telecomms/directional/west, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, @@ -59712,12 +60898,9 @@ /obj/machinery/vending/wardrobe/atmos_wardrobe, /obj/effect/turf_decal/stripes/end, /obj/machinery/light/directional/north, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) -"rIS" = ( -/obj/structure/flora/rock/icy/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "rIU" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -59763,10 +60946,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"rJX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "rKs" = ( /obj/structure/chair/stool/directional/south, /obj/structure/sign/poster/official/work_for_a_future/directional/north, @@ -59787,22 +60966,23 @@ /area/station/engineering/atmos/pumproom) "rKQ" = ( /obj/structure/mineral_door/wood{ - name = "Maintenance Bar" + name = "Maintenance Bar"; + dir = 4; + manual_align = 1 }, /turf/open/floor/wood, /area/station/maintenance/port/aft) "rKX" = ( -/obj/machinery/camera{ - c_tag = "Surgery B"; - network = list("ss13","medbay"); - pixel_x = 22 - }, /obj/machinery/vending/wallmed/directional/south, /obj/structure/cable, /obj/structure/table/glass, /obj/item/stack/sticky_tape/surgical, /obj/item/stack/medical/bone_gel, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/camera/directional/south{ + c_tag = "Surgery B"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "rKZ" = ( @@ -59829,6 +61009,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/office) +"rLL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/effect/landmark/start/depsec/medical, +/obj/machinery/computer/security/telescreen/med_sec/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "rLX" = ( /obj/item/target, /obj/item/target/syndicate, @@ -59842,10 +61037,10 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"rMm" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/openspace, -/area/station/service/bar/atrium) +"rLY" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/surface/outdoors/nospawn) "rMr" = ( /obj/structure/chair{ dir = 8 @@ -59955,12 +61150,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rNV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rOb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59974,10 +61163,34 @@ /obj/structure/closet/toolcloset, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"rOv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"rOw" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"rOx" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "rOz" = ( -/obj/structure/flora/grass/brown/style_random, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun, +/turf/open/floor/iron/chapel{ + dir = 1 + }, +/area/station/service/chapel) "rOA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -60015,13 +61228,21 @@ dir = 9 }, /obj/structure/sink/directional/south, -/obj/machinery/camera{ +/obj/machinery/camera/directional/north{ c_tag = "Virology Break Room"; - dir = 1; network = list("ss13","medbay") }, /turf/open/floor/iron/dark, /area/station/medical/virology) +"rOL" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rOU" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, @@ -60033,23 +61254,14 @@ /area/station/maintenance/starboard/aft) "rPn" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/machinery/camera{ - c_tag = "Atmospherics - South East"; - dir = 6 - }, /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1{ dir = 1 }, +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics - South East" + }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rPp" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rPL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -60059,6 +61271,11 @@ /obj/machinery/computer/records/security, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hos) +"rPQ" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating/icemoon, +/area/icemoon/underground/explored) "rQf" = ( /turf/open/floor/plating, /area/station/engineering/supermatter/room) @@ -60074,12 +61291,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"rQs" = ( -/obj/structure/fence/corner{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "rQw" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -60160,29 +61371,12 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"rRs" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ +"rRt" = ( +/obj/effect/turf_decal/tile/bar{ dir = 4 }, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Botany Upper Entrance" - }, -/obj/structure/table/glass, -/obj/machinery/fax/auto_name, /turf/open/floor/iron, -/area/station/service/hydroponics) -"rRu" = ( -/obj/structure/table/wood, -/obj/item/toy/mecha/honk{ - pixel_y = 12 - }, -/obj/structure/sign/poster/contraband/random/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +/area/station/hallway/primary/starboard) "rRM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60190,6 +61384,13 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/security/brig/upper) +"rRT" = ( +/obj/structure/cable, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "rSe" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/costume, @@ -60209,6 +61410,7 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "rSu" = ( +/obj/structure/tall_stairs/start/directional/east, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -60249,34 +61451,28 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"rSQ" = ( -/obj/item/toy/snowball{ - pixel_x = -11; - pixel_y = -2 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"rST" = ( -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rSW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"rSZ" = ( -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external/glass{ - name = "Cytology External Airlock" +"rSY" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/obj/machinery/light/small/directional/east, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "rTs" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "rTt" = ( @@ -60292,6 +61488,12 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"rTR" = ( +/obj/machinery/status_display/ai/directional/east, +/obj/structure/chair/sofa/left/brown, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "rTV" = ( /obj/structure/gulag_beacon, /turf/open/floor/iron, @@ -60315,9 +61517,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /turf/open/floor/plating, /area/station/maintenance/port/greater) "rUb" = ( @@ -60337,15 +61536,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"rUv" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/hallway/secondary/entry) "rUy" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -60420,6 +61610,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"rVk" = ( +/obj/structure/sign/warning/fire{ + pixel_y = 48 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rVq" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -60437,6 +61633,7 @@ /obj/effect/spawner/random/engineering/toolbox, /obj/effect/turf_decal/siding/wood, /obj/effect/spawner/random/trash/janitor_supplies, +/obj/structure/sign/poster/contraband/the_griffin/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) "rVA" = ( @@ -60464,6 +61661,13 @@ /obj/item/storage/backpack, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) +"rVE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rVV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60478,14 +61682,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp) -"rWh" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) +"rWm" = ( +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "rWn" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, @@ -60496,15 +61695,39 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"rWA" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +"rWH" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Chemistry Lab Utilities" }, -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/medical/central) +"rWI" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/item/food/grown/poppy{ + pixel_y = -1; + pixel_x = 3 + }, +/obj/item/food/grown/poppy/geranium{ + pixel_y = 5; + pixel_x = 2 + }, +/obj/item/food/grown/poppy/lily{ + pixel_x = -2 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "rWO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -60599,22 +61822,22 @@ }, /turf/open/floor/iron/large, /area/station/commons/storage/primary) -"rXB" = ( +"rXw" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable, -/obj/structure/minecart_rail/railbreak, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) -"rXD" = ( -/obj/machinery/button/door/directional/east{ - id = "xenobio7"; - name = "Xenobio Pen 7 Blast DOors"; - req_access = list("xenobiology") +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/turf/open/floor/plating, +/area/station/commons/lounge) "rXN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -60625,8 +61848,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/teleporter, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, /turf/open/floor/iron, /area/station/command/teleporter) +"rXP" = ( +/obj/item/pickaxe/improvised{ + pixel_x = 7 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "rXX" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -60637,11 +61869,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"rXY" = ( -/obj/item/kirbyplants/random/dead, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "rYq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60692,10 +61919,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"rYZ" = ( -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "rZa" = ( /obj/structure/table, /turf/open/floor/plating, @@ -60715,16 +61938,16 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"rZP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "rZR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"rZY" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "rZZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -60737,6 +61960,25 @@ dir = 4 }, /area/station/service/chapel) +"sav" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/bar) +"saC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) +"saF" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "sbc" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -60765,12 +62007,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"sbf" = ( -/obj/structure/sign/plaques/kiddie/devils_tooth{ - pixel_y = 32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "sbi" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/photocopier, @@ -60781,8 +62017,6 @@ anchored = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/directional/south, -/obj/structure/sign/clock/directional/south, /turf/open/floor/iron, /area/station/commons/locker) "sby" = ( @@ -60823,15 +62057,23 @@ /obj/effect/decal/cleanable/dirt, /obj/item/seeds/onion, /obj/effect/turf_decal/tile/green/anticorner/contrasted, +/obj/effect/turf_decal/siding/green{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) +"sbP" = ( +/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "sbU" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, /area/mine/eva) "sbZ" = ( /obj/machinery/door/airlock/external{ - name = "External Access" + name = "External Access"; + dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -60846,6 +62088,14 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"scb" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "scl" = ( /obj/structure/bookcase/random, /turf/open/floor/carpet/red, @@ -60867,14 +62117,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"scr" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/sign/warning/gas_mask/directional/south, -/obj/machinery/light/warm/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "scu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -60895,17 +62137,10 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/tcommsat/computer) -"scG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "scQ" = ( /obj/structure/tank_holder/oxygen, /obj/effect/decal/cleanable/wrapping, +/obj/structure/sign/poster/official/safety_internals/directional/north, /turf/open/floor/vault, /area/station/security/prison/rec) "scV" = ( @@ -60916,13 +62151,15 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"sdc" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/r_wall, -/area/mine/eva) +"sdf" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "sdk" = ( -/obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/dark/side, /area/station/service/chapel) "sdl" = ( @@ -60942,6 +62179,27 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/security/prison/rec) +"sdF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/grown/log/tree, +/obj/item/grown/log/tree{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/grown/log/tree{ + pixel_x = 7 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"sdQ" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/commons/lounge) "sdW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -60972,10 +62230,10 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sed" = ( -/obj/structure/flora/rock/icy/style_random, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +"seh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "sen" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -60985,17 +62243,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/courtroom) -"seB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "seH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61008,6 +62255,9 @@ "seN" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/item/kirbyplants/random, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/iron/dark/side{ dir = 1 }, @@ -61035,17 +62285,18 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"sfg" = ( +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/obj/machinery/button/curtain/directional/west{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "sfr" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"sft" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "sfv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -61080,14 +62331,9 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sfD" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "sfY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61099,12 +62345,6 @@ dir = 5 }, /area/station/science/research) -"sgz" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "sgA" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61123,6 +62363,19 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"sgL" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/command/heads_quarters/rd) +"sgR" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sgT" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue{ @@ -61192,6 +62445,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"shF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "shG" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -61209,6 +62467,7 @@ dir = 1 }, /obj/item/kirbyplants/random, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -61220,13 +62479,21 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/sepia, /area/station/service/library) +"sit" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plastic, +/area/station/commons/dorms/laundry) "siu" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, /turf/open/floor/iron, /area/station/hallway/primary/starboard) "siv" = ( -/obj/structure/sign/warning/electric_shock/directional/east, /obj/machinery/camera/directional/east{ c_tag = "Security - Lower Hallway North"; network = list("ss13","prison") @@ -61258,6 +62525,9 @@ /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/iron/large, /area/station/engineering/lobby) "siI" = ( @@ -61268,6 +62538,19 @@ "sjb" = ( /turf/closed/wall/r_wall, /area/station/cargo/drone_bay) +"sjd" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sjk" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 6 @@ -61289,31 +62572,27 @@ /obj/effect/turf_decal/trimline/yellow/mid_joiner{ dir = 1 }, -/obj/machinery/airalarm/directional/north, +/obj/machinery/button/door/directional/north{ + id = "drone_bay"; + name = "Shutter Control" + }, /turf/open/floor/iron/smooth_large, /area/station/cargo/drone_bay) -"sjD" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/right{ - dir = 4 - }, -/area/station/science/cytology) -"sjU" = ( -/obj/structure/sign/warning/docking/directional/east, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "sjX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/door/firedoor{ dir = 4 }, -/obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/treatment_center) "skc" = ( /obj/machinery/door/airlock/external{ @@ -61358,6 +62637,7 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/work_for_a_future/directional/north, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "skx" = ( @@ -61367,32 +62647,11 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"skH" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured_half, -/area/station/service/kitchen) "skJ" = ( /obj/structure/grille/broken, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"skQ" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "skU" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -61401,6 +62660,7 @@ /obj/effect/turf_decal/box/white{ color = "#52B4E9" }, +/obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron/white, /area/station/medical/virology) "skW" = ( @@ -61465,10 +62725,10 @@ /turf/open/floor/plating, /area/station/science/xenobiology) "slx" = ( -/obj/structure/sign/warning/fire/directional/west, /obj/machinery/atmospherics/components/unary/passive_vent/layer2{ dir = 8 }, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/station/medical/virology) "slD" = ( @@ -61538,19 +62798,17 @@ dir = 1; name = "Command Station" }, -/obj/machinery/button/door{ - id = "bridge blast"; - name = "Bridge Blast Door Control"; - pixel_x = 28; - pixel_y = -2; - req_access = list("command") - }, /obj/machinery/keycard_auth{ pixel_x = 29; pixel_y = 8 }, /turf/open/floor/iron, /area/station/command/bridge) +"sna" = ( +/obj/item/kirbyplants/fern, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "snd" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 1 @@ -61558,6 +62816,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) +"sne" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "sng" = ( /obj/structure/table, /obj/item/wrench, @@ -61589,14 +62853,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"snv" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "riot"; - name = "Security Shutters" - }, -/turf/open/floor/glass/reinforced, -/area/station/hallway/primary/fore) "snw" = ( /obj/structure/table, /obj/machinery/microwave, @@ -61632,15 +62888,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"snR" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "snW" = ( /obj/machinery/computer/atmos_control/oxygen_tank{ dir = 1 @@ -61681,6 +62928,17 @@ /obj/effect/turf_decal/trimline/green/filled/corner, /turf/open/floor/iron/white, /area/station/medical/virology) +"soE" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "soF" = ( /obj/effect/turf_decal/trimline/dark_red/corner{ dir = 8 @@ -61697,6 +62955,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"soI" = ( +/obj/machinery/door/window/left/directional/east{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "soK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 @@ -61714,6 +62984,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"spf" = ( +/obj/structure/fence/door/opened, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "spg" = ( /obj/structure/table, /obj/item/storage/box/monkeycubes{ @@ -61740,14 +63014,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"spj" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "spv" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/structure/cable, @@ -61755,9 +63021,18 @@ /obj/machinery/power/energy_accumulator/tesla_coil/anchored, /turf/open/floor/engine, /area/station/engineering/supermatter) +"spy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) +"spz" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "spV" = ( /obj/machinery/recharger, -/obj/structure/sign/warning/biohazard/directional/east, /obj/structure/table/reinforced, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -61765,14 +63040,13 @@ /turf/open/floor/iron, /area/station/command/gateway) "spW" = ( -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, /obj/machinery/door/window/left/directional/west{ name = "Secure Art Exhibition"; req_access = list("library") }, /obj/effect/spawner/random/structure/table_fancy, +/obj/structure/sign/painting/library_secure/directional/east, +/obj/structure/sign/painting/large/library/directional/east, /turf/open/floor/wood, /area/station/service/library) "sqb" = ( @@ -61808,6 +63082,7 @@ /obj/structure/table, /obj/item/electronics/apc, /obj/item/electronics/airlock, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/engineering/storage/tech) "sqt" = ( @@ -61825,21 +63100,6 @@ dir = 8 }, /area/station/service/chapel) -"sqB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"sqH" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ - name = "Burn Chamber Interior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_ordmix{ - pixel_x = 24 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "sqN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61847,11 +63107,6 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"sqU" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "sqW" = ( /obj/structure/marker_beacon/burgundy{ name = "landing marker" @@ -61909,6 +63164,15 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/port/aft) +"srw" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "srB" = ( /obj/machinery/airalarm/directional/west, /obj/effect/landmark/start/bitrunner, @@ -61916,35 +63180,24 @@ /obj/effect/decal/cleanable/robot_debris, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"srG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +"srJ" = ( +/obj/structure/tall_stairs/start/directional/south, +/obj/structure/railing{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "srM" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 }, /obj/machinery/light/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "srP" = ( /turf/closed/wall, /area/station/science/breakroom) -"srU" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "srW" = ( /obj/structure/table, /obj/item/assembly/prox_sensor{ @@ -61982,6 +63235,9 @@ c_tag = "Cargo Bay North" }, /obj/machinery/light/directional/north, +/obj/structure/noticeboard/qm{ + pixel_y = 36 + }, /turf/open/floor/iron, /area/station/cargo/storage) "ssh" = ( @@ -61994,27 +63250,27 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"ssm" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/closet/firecloset, -/obj/structure/sign/warning/gas_mask/directional/west, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"ssj" = ( +/obj/structure/lattice/catwalk, +/turf/open/openspace/icemoon, +/area/icemoon/underground/explored) "ssq" = ( /obj/structure/table/wood, /obj/item/camera_film, /obj/item/camera_film, /turf/open/floor/wood, /area/station/service/library) -"ssr" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/storage/tech) +"sst" = ( +/obj/effect/turf_decal/tile/green/anticorner/contrasted{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics/garden) "ssu" = ( /obj/structure/gulag_vent/ice, /turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/area/icemoon/surface/outdoors/labor_camp) "ssv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/thinplating_new/corner, @@ -62042,12 +63298,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"stb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "sth" = ( /obj/item/radio/intercom/directional/east, /obj/structure/disposalpipe/trunk{ @@ -62090,16 +63340,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"stB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) "stD" = ( /obj/machinery/door/poddoor/preopen{ id = "atmos"; @@ -62118,7 +63358,7 @@ dir = 4 }, /obj/structure/sign/warning/electric_shock/directional/north, -/turf/open/misc/asteroid/snow/icemoon, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) "stJ" = ( /obj/structure/flora/grass/brown/style_random, @@ -62168,17 +63408,26 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"sup" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/gas_mask, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"sus" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +"sul" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) +"suo" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/west, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/storage/photo_album/bar, +/obj/item/toy/figure/bartender, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "suA" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -62203,6 +63452,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"suU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "sve" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/bot, @@ -62242,13 +63507,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"svz" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "svF" = ( /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) @@ -62282,6 +63540,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "swf" = ( @@ -62300,6 +63559,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/security/prison/rec) +"swp" = ( +/obj/structure/railing/corner, +/turf/open/floor/iron/dark/textured, +/area/station/security/prison) "swq" = ( /obj/machinery/button/elevator/directional/north{ id = "publicElevator" @@ -62357,6 +63620,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/departments/medbay/alt/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "swK" = ( @@ -62385,11 +63649,15 @@ /turf/open/floor/plating, /area/station/cargo/warehouse) "sxe" = ( -/obj/structure/fence{ - dir = 4 - }, +/obj/structure/fence, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"sxt" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "sxu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62408,6 +63676,10 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"sxK" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "sxO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/closet/secure_closet/personal{ @@ -62415,13 +63687,10 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"sxQ" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "sxT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/security/prison/rec) "sxY" = ( @@ -62437,14 +63706,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"syd" = ( -/obj/machinery/duct, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "syh" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -62452,7 +63713,10 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "sym" = ( -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4; + manual_align = 1 + }, /obj/machinery/conveyor{ dir = 4; id = "QMLoad2" @@ -62467,6 +63731,13 @@ /obj/effect/turf_decal/tile/dark_green/diagonal_edge, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/mix) +"sys" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "syw" = ( /obj/structure/fence/corner{ dir = 4 @@ -62481,11 +63752,42 @@ dir = 8 }, /area/station/security/prison) +"syC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "syE" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/effect/turf_decal/trimline/blue/corner, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"syI" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/food/grown/mushroom/chanterelle{ + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "syL" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -62495,6 +63797,14 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"syN" = ( +/obj/structure/table/wood, +/obj/item/soap/nanotrasen, +/obj/item/clothing/head/costume/sombrero/green, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "syT" = ( /obj/machinery/light/small/dim/directional/south, /turf/open/floor/plating, @@ -62511,14 +63821,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/station/medical/morgue) -"szj" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/turf/open/floor/iron/stairs/old{ - dir = 8 - }, -/area/station/hallway/primary/starboard) "szo" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -62528,13 +63830,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"szt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/structure/sign/clock/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "szu" = ( /obj/structure/sign/poster/official/obey/directional/north, /obj/effect/decal/cleanable/dirt, @@ -62545,6 +63840,10 @@ /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/structure/tall_stairs/start/directional/east, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/iron/textured, /area/station/security/brig) "szD" = ( @@ -62559,14 +63858,6 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"szK" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "szR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62585,7 +63876,7 @@ /turf/open/floor/plating, /area/station/commons/dorms/laundry) "sAa" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/start/directional/north, /obj/structure/railing{ dir = 4 }, @@ -62599,6 +63890,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"sAl" = ( +/obj/structure/tank_dispenser, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"sAt" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "sAu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62612,11 +63913,10 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "sAI" = ( -/obj/machinery/camera{ - c_tag = "Morgue Hallway" - }, /obj/effect/landmark/start/hangover, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/dark_blue{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "sAR" = ( @@ -62659,11 +63959,6 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/iron, /area/station/security/prison/workout) -"sBx" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/station/science/xenobiology) "sBy" = ( /turf/closed/wall, /area/station/service/theater) @@ -62685,14 +63980,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"sBY" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/spawner/random/trash/crushed_can{ - pixel_y = 10 - }, -/turf/open/floor/iron, -/area/station/service/bar) "sCa" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 5 @@ -62751,14 +64038,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"sCX" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +"sCY" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "sCZ" = ( /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"sDd" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "sDg" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 1 @@ -62780,14 +64078,10 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"sDM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, +"sDB" = ( +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/science/cytology) "sDQ" = ( /obj/item/radio/intercom/prison/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -62810,7 +64104,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/structure/sign/poster/random/directional/west, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) "sEi" = ( @@ -62833,10 +64126,6 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) -"sEv" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "sEz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -62878,11 +64167,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"sEI" = ( -/obj/machinery/light/small/dim/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/medical/morgue) "sEK" = ( /obj/structure/table/glass, /obj/item/stack/medical/gauze{ @@ -62957,14 +64241,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sFN" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "sFS" = ( /obj/structure/railing/corner{ dir = 8 @@ -62981,15 +64257,12 @@ }, /area/station/ai_monitored/command/storage/eva) "sGf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/door/window/brigdoor/right/directional/west{ - name = "Medbay Access"; - req_access = list("medical") - }, -/obj/structure/railing/corner{ +/obj/structure/railing/corner/end/flip{ dir = 4 }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "sGk" = ( @@ -62997,20 +64270,6 @@ /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"sGn" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "sGp" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -63045,6 +64304,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) +"sGG" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cart Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/barricade/wooden/snowed, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sGH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63075,14 +64343,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/directional/east, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) +"sGT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "sGZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"sHa" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/bureaucracy/briefcase, +/obj/item/taperecorder/empty, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "sHc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/medical/glass{ @@ -63096,38 +64373,32 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/large, /area/station/medical/pharmacy) +"sHe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/airlock/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sHh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) -"sHi" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 6 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "sHl" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) -"sHs" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) -"sHy" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) +"sHt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/caution_sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sHC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63163,7 +64434,7 @@ /turf/open/floor/iron, /area/station/maintenance/port/fore) "sHV" = ( -/obj/machinery/atmospherics/components/tank/air{ +/obj/machinery/atmospherics/components/tank/air/layer4{ initialize_directions = 2 }, /turf/open/floor/plating, @@ -63173,19 +64444,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"sIg" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, +"sIb" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/light/warm/directional/north, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/service/bar) +"sIl" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "sIp" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, /obj/machinery/light/directional/north, +/obj/structure/noticeboard/ce{ + pixel_y = 36 + }, /turf/open/floor/iron, /area/station/engineering/main) "sIt" = ( @@ -63229,34 +64507,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/storage) -"sIX" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Garden" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "sJe" = ( /obj/machinery/deepfryer, /obj/machinery/light/warm/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"sJg" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "sJi" = ( /obj/machinery/vending/donksofttoyvendor, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) "sJn" = ( /obj/structure/closet/emcloset, -/obj/structure/sign/warning/gas_mask/directional/west, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, @@ -63287,21 +64548,6 @@ }, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) -"sJu" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = 32 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "sJA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63310,11 +64556,18 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"sJC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "sJH" = ( /turf/closed/wall, /area/mine/living_quarters) "sJP" = ( -/obj/machinery/airalarm/directional/north, /obj/structure/rack, /obj/item/controller{ pixel_x = -7 @@ -63331,6 +64584,8 @@ /obj/item/integrated_circuit/loaded/hello_world{ pixel_x = 7 }, +/obj/machinery/airalarm/directional/west, +/obj/structure/sign/warning/firing_range/directional/north, /turf/open/floor/iron/white/corner, /area/station/science/explab) "sJR" = ( @@ -63371,6 +64626,13 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/command/meeting_room) +"sKL" = ( +/obj/structure/tall_stairs/end/directional/north, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/mine/eva/lower) "sKW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -63397,25 +64659,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/security/processing) -"sLm" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"sLy" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "sLD" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, @@ -63479,6 +64722,12 @@ dir = 1 }, /area/station/security/office) +"sNj" = ( +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "sNr" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "permainner"; @@ -63531,6 +64780,13 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"sNF" = ( +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = -4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "sNI" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63538,12 +64794,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"sNL" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "sNQ" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, /obj/machinery/door/airlock/command/glass{ - name = "Bridge" + name = "Bridge"; + dir = 4; + manual_align = 1 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -63552,6 +64819,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/station/command/bridge) "sOm" = ( @@ -63594,11 +64862,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"sON" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "sOO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -63609,12 +64872,6 @@ /obj/item/kitchen/fork/plastic, /turf/open/floor/iron, /area/station/security/prison/mess) -"sOX" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) "sOY" = ( /obj/structure/table/glass, /obj/item/hemostat, @@ -63645,21 +64902,14 @@ /obj/machinery/recharger{ pixel_x = -6 }, -/obj/machinery/button/door{ +/obj/machinery/button/door/table{ id = "BrigLock"; - name = "Cell Shutters"; - pixel_x = 7; - pixel_y = 9 + name = "Brig Lockdown"; + req_access = list("brig"); + pixel_x = 6 }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"sPS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "sPV" = ( /obj/machinery/door/airlock/atmos/glass, /obj/machinery/door/firedoor/heavy, @@ -63699,6 +64949,10 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"sQl" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/office) "sQB" = ( /turf/closed/wall, /area/station/security/brig/upper) @@ -63708,32 +64962,48 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"sRc" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"sQI" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 }, -/obj/effect/turf_decal/siding/white{ - dir = 10 +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 }, /turf/open/floor/iron/dark, -/area/station/commons/fitness) -"sRf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/area/station/service/hydroponics) +"sQS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sRp" = ( -/obj/structure/fence, +/obj/structure/fence{ + dir = 4 + }, /obj/effect/turf_decal/weather/snow/corner{ dir = 4 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"sRt" = ( +/obj/structure/tall_stairs/start/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"sRu" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "sRI" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -63773,20 +65043,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) -"sSz" = ( -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white, -/area/station/science/research) -"sSA" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/surface/outdoors/nospawn) -"sSE" = ( -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/science/research) "sSF" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -63815,10 +65071,24 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"sSS" = ( -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) +"sSX" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/paper{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"sTb" = ( +/obj/structure/railing/wooden_fence, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "sTe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ @@ -63847,6 +65117,19 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) +"sTl" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "sTn" = ( /obj/structure/table, /obj/machinery/newscaster/directional/north, @@ -63870,6 +65153,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"sTH" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"sTL" = ( +/obj/structure/fireplace{ + pixel_x = 0 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "sTO" = ( /obj/machinery/door/airlock{ name = "Unisex Restroom" @@ -63887,7 +65187,6 @@ /obj/machinery/door/airlock/maintenance{ name = "Teleporter Maintenance" }, -/obj/structure/sign/warning/secure_area/directional/west, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, @@ -63913,6 +65212,9 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "sUv" = ( @@ -63969,6 +65271,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/white, /area/station/science/genetics) "sVm" = ( @@ -63990,6 +65293,18 @@ /obj/item/screwdriver, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"sVW" = ( +/obj/effect/decal/cleanable/garbage, +/obj/item/reagent_containers/spray/chemsprayer/party{ + pixel_x = 1 + }, +/obj/item/clothing/head/costume/festive{ + pixel_y = -3; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sWl" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer" @@ -64029,19 +65344,24 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/textured_half, /area/mine/production) -"sWS" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "sWU" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, /area/mine/production) +"sXa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sXb" = ( /obj/machinery/status_display/ai/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -64063,25 +65383,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"sXf" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced, -/obj/item/stack/wrapping_paper{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/stack/package_wrap{ - pixel_x = -1; - pixel_y = -1 - }, -/obj/item/dest_tagger, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sXk" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -64090,19 +65391,20 @@ /area/station/maintenance/fore/lesser) "sXC" = ( /obj/structure/table, -/obj/machinery/button/ignition{ - id = "testigniter"; +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/ignition/table{ + pixel_y = 8; pixel_x = -6; - pixel_y = 2 + id = "testigniter"; + name = "Test Chamber Igniter" }, -/obj/machinery/button/door{ +/obj/machinery/button/door/table{ + pixel_y = 8; + pixel_x = 5; id = "testlab"; name = "Test Chamber Blast Doors"; - pixel_x = 4; - pixel_y = 2; req_access = list("xenobiology") }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/explab) "sXK" = ( @@ -64115,6 +65417,16 @@ /obj/effect/mapping_helpers/mail_sorting/science/xenobiology, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"sXL" = ( +/obj/machinery/computer/records/medical/laptop{ + pixel_y = 1 + }, +/obj/structure/table/reinforced, +/obj/machinery/camera/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "sXQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/violet/visible{ dir = 9 @@ -64128,15 +65440,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"sXU" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck{ - pixel_y = 13; - pixel_x = 6 - }, -/obj/effect/spawner/random/entertainment/cigarette, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "sYe" = ( /obj/structure/table/wood, /obj/item/clothing/under/suit/red, @@ -64152,7 +65455,9 @@ /turf/open/floor/engine/cult, /area/station/service/library) "sYu" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64160,8 +65465,24 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) +"sYy" = ( +/obj/machinery/firealarm/directional/east, +/obj/item/storage/box/bodybags{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/structure/rack, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "sYA" = ( /obj/structure/fluff/tram_rail{ pixel_y = 17 @@ -64258,6 +65579,23 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/station/security/prison/garden) +"tay" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) +"taB" = ( +/obj/structure/sign/departments/science/directional/east, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/research) +"taC" = ( +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "taN" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -64285,35 +65623,27 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"tbd" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "tbh" = ( /turf/open/floor/iron/half{ dir = 1 }, /area/station/engineering/atmos) -"tbE" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ +"tbx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/bar{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, /turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"tbL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood/large, /area/station/service/bar) -"tbK" = ( -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tbN" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/door/airlock/engineering{ @@ -64338,6 +65668,7 @@ dir = 1 }, /obj/item/kirbyplants/random, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -64389,6 +65720,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, +/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "tdb" = ( @@ -64399,12 +65731,23 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"tdc" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "tdp" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"tdz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark, +/area/mine/storage) "tdE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -64414,10 +65757,8 @@ /turf/open/floor/plating, /area/station/medical/pharmacy) "tdL" = ( -/obj/structure/stairs/south, -/obj/structure/railing{ - dir = 8 - }, +/obj/structure/tall_stairs/end/directional/south, +/obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/white, /area/station/medical/virology) "tdR" = ( @@ -64428,15 +65769,25 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) -"tec" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_apiary"; - name = "Apiary Shutters" +"tdS" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"tdY" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) "ted" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64444,6 +65795,9 @@ /obj/effect/turf_decal/box/white{ color = "#52B4E9" }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "tei" = ( @@ -64451,16 +65805,28 @@ /turf/open/floor/carpet/red, /area/station/security/prison/work) "tej" = ( -/obj/structure/fence, +/obj/structure/fence/post{ + dir = 8 + }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"tes" = ( -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = -30 - }, -/obj/effect/decal/cleanable/dirt/dust, +"teo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/docking/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/aft/lesser) +"teq" = ( +/obj/structure/railing, +/obj/structure/rack, +/obj/structure/cable, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory/upper) "teE" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters{ @@ -64481,6 +65847,17 @@ dir = 4 }, /area/station/security/brig/entrance) +"teQ" = ( +/obj/machinery/chem_master{ + name = "CytoMaster 5000" + }, +/obj/item/swab{ + pixel_y = 10; + pixel_x = -2 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "teZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64489,21 +65866,27 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"tfb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/tall_stairs/start/directional/north, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "tfm" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"tfu" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall, -/area/station/maintenance/starboard/fore) "tfx" = ( /obj/machinery/portable_atmospherics/canister/water_vapor, /turf/open/floor/iron, /area/station/service/janitor) "tfG" = ( /obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "tfM" = ( @@ -64546,6 +65929,11 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"tgj" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tgn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -64577,9 +65965,28 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) +"thx" = ( +/obj/structure/fence/cut/medium{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "thA" = ( /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) +"thC" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "thD" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, @@ -64616,6 +66023,21 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"thP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/ash, +/obj/item/rack_parts, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"thU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "thW" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/wood, @@ -64651,46 +66073,27 @@ dir = 10 }, /area/station/science/lab) -"tie" = ( -/obj/structure/rack, -/obj/item/clothing/suit/utility/beekeeper_suit, -/obj/item/clothing/head/utility/beekeeper_head, -/obj/item/melee/flyswatter, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 4 +"tii" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "til" = ( /obj/item/radio/intercom/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 }, +/obj/machinery/camera/directional/west{ + c_tag = "Mining B-1 Hallway South"; + network = list("ss13", "mine") + }, /turf/open/floor/iron/dark/side{ dir = 8 }, /area/mine/eva) -"tip" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "tis" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/transit_tube/horizontal, @@ -64700,6 +66103,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"tiI" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) +"tiT" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "tiV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -64724,6 +66142,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/engineering/atmos/storage) +"tjf" = ( +/obj/structure/fence/door, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "tjk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -64745,10 +66167,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"tjA" = ( -/obj/machinery/smartfridge, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tjC" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -64756,6 +66174,19 @@ dir = 1 }, /area/station/security/prison) +"tjG" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/structure/rack, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "tjH" = ( /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/siding/yellow, @@ -64763,6 +66194,17 @@ dir = 1 }, /area/station/engineering/storage) +"tjM" = ( +/obj/structure/table/wood, +/obj/item/soap/deluxe{ + pixel_y = 11 + }, +/obj/item/soap/deluxe{ + pixel_y = 6 + }, +/obj/item/soap/deluxe, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "tjN" = ( /obj/structure/closet/secure_closet/personal{ anchored = 1 @@ -64793,7 +66235,6 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "tku" = ( -/obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -64805,6 +66246,9 @@ dir = 4; name = "Auxiliary Dock" }, +/obj/machinery/door/firedoor{ + dir = 4 + }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) "tkP" = ( @@ -64813,26 +66257,18 @@ }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"tkS" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/research) "tkU" = ( /turf/open/lava/plasma/ice_moon, /area/icemoon/surface/outdoors/nospawn) -"tkY" = ( -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"tkX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) +"tla" = ( +/obj/structure/marker_beacon/jade, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "tlh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64855,6 +66291,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) +"tlp" = ( +/obj/structure/sign/departments/rndserver/directional/north, +/turf/open/floor/iron/white/side{ + dir = 10 + }, +/area/station/science/research) "tlA" = ( /obj/machinery/light/small/directional/south, /obj/item/radio/intercom/directional/south, @@ -64907,10 +66349,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"tmb" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tml" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -64982,6 +66420,14 @@ /obj/item/folder/yellow, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"tnu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/item/rack_parts, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tny" = ( /obj/structure/disposalpipe/segment, /obj/item/radio/intercom/directional/east, @@ -64991,17 +66437,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"tnz" = ( -/obj/structure/table, -/obj/item/plate, -/obj/item/food/piedough, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/item/kitchen/rollingpin, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "tnI" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 10 @@ -65009,14 +66444,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"tnJ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tnO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -65027,6 +66454,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) +"toi" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/chair/sofa/left/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "too" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, @@ -65052,25 +66487,35 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) -"toP" = ( -/obj/item/toy/snowball{ - pixel_x = 11; - pixel_y = -7 +"toK" = ( +/obj/structure/bodycontainer/morgue/beeper_off{ + dir = 1 }, -/obj/structure/flora/grass/brown/style_random, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) -"toT" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half{ dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/area/station/medical/morgue) +"toN" = ( +/obj/machinery/computer/mecha{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Research Director's Office"; + network = list("ss13","rd") + }, +/obj/machinery/light/directional/south, +/obj/structure/window/reinforced/half/directional/west, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "toV" = ( /obj/structure/table, /obj/item/stock_parts/subspace/ansible, @@ -65090,6 +66535,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/large, /area/station/command/gateway) +"tpc" = ( +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tpd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -65123,8 +66575,15 @@ "tpK" = ( /obj/structure/table/wood, /obj/item/folder/blue, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/security/courtroom) +"tpO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tpX" = ( /obj/item/storage/box/bodybags, /obj/structure/extinguisher_cabinet/directional/west, @@ -65137,14 +66596,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"tpZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tqk" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -65155,13 +66606,6 @@ /obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) -"tqr" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/hydroponics/constructable, -/obj/machinery/status_display/ai/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -65185,16 +66629,6 @@ "trm" = ( /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"trn" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/science/explab) "tru" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -65246,15 +66680,17 @@ /turf/open/openspace/icemoon, /area/station/science/server) "tsu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/stone, +/obj/structure/table/wood, +/obj/effect/spawner/random/entertainment/cigarette, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/parquet, /area/station/service/bar/atrium) +"tsz" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/kirbyplants/random, +/obj/structure/sign/calendar/directional/north, +/turf/open/floor/iron, +/area/station/commons/locker) "tsH" = ( /obj/machinery/door/airlock/security/glass{ name = "Interrogation" @@ -65266,6 +66702,15 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) +"tsI" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/railing/corner, +/turf/open/floor/iron/dark, +/area/station/commons/lounge) "tsK" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -65277,6 +66722,7 @@ dir = 1 }, /obj/effect/spawner/random/contraband/permabrig_gear, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron/white, /area/station/security/prison/safe) "tsQ" = ( @@ -65306,18 +66752,8 @@ /obj/machinery/door/airlock/freezer, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) -"tts" = ( -/obj/item/chair/wood, -/obj/item/toy/plush/moth{ - name = "Ariadne" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ttv" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/wood, /area/station/service/library) "ttw" = ( @@ -65336,10 +66772,6 @@ /obj/structure/closet/secure_closet/medical2, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/button/door/directional/south{ - id = "surgery"; - name = "Surgery Shutter Control" - }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) @@ -65441,6 +66873,13 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"tvt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tvv" = ( /obj/machinery/door/airlock/command/glass{ name = "Research Director" @@ -65455,10 +66894,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"tvx" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/greater) "tvF" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable, @@ -65502,8 +66937,21 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) +"twn" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "twt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -65515,17 +66963,6 @@ /obj/machinery/holopad, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"twx" = ( -/obj/effect/turf_decal/siding/wideplating_new/light, -/obj/item/trash/bee, -/obj/machinery/light/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/sign/poster/official/moth_piping/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) "twK" = ( /obj/machinery/porta_turret/ai{ dir = 8 @@ -65540,32 +66977,22 @@ /obj/machinery/recharger{ pixel_x = -6 }, -/obj/machinery/button/door{ - id = "Secure Gate"; - name = "Cell Shutters"; - pixel_x = 7; - pixel_y = 9 - }, -/obj/machinery/button/door{ +/obj/structure/cable, +/obj/machinery/button/door/table{ id = "Prison Gate"; name = "Prison Wing Lockdown"; - pixel_x = 7; - req_access = list("brig") + req_access = list("brig"); + pixel_x = 6 + }, +/obj/machinery/button/door/table{ + pixel_y = 9; + id = "Secure Gate"; + name = "Cell Shutters"; + req_access = list("brig"); + pixel_x = 6 }, -/obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"twS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/freezer{ - desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; - name = "The Ice Box" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "twU" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, @@ -65598,7 +67025,6 @@ /area/station/maintenance/port/aft) "txd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/cold_temp/directional/west, /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -65624,17 +67050,12 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, /area/station/medical/treatment_center) -"txv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"txt" = ( +/obj/structure/fence{ + dir = 2 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/vending/hydronutrients, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "txE" = ( /obj/item/cigbutt, /obj/effect/decal/cleanable/dirt, @@ -65654,6 +67075,10 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"txX" = ( +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/security/prison/garden) "tyb" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -65681,6 +67106,10 @@ /obj/structure/chair/office, /turf/open/floor/wood, /area/station/service/library) +"tyx" = ( +/obj/structure/sign/departments/holy/directional/north, +/turf/open/openspace, +/area/station/service/chapel) "tyK" = ( /obj/item/mop, /obj/item/reagent_containers/cup/bucket, @@ -65727,6 +67156,10 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"tzV" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat/maint) "tAg" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -65743,11 +67176,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/commons/storage/mining) -"tAt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "tAx" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/structure/disposalpipe/segment, @@ -65760,15 +67188,6 @@ dir = 4 }, /area/station/service/chapel) -"tAK" = ( -/obj/machinery/computer/security/telescreen/interrogation/directional/north, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/security/processing) "tAL" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -65777,6 +67196,10 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) +"tAN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tAO" = ( /obj/machinery/space_heater, /obj/effect/mapping_helpers/burnt_floor, @@ -65795,6 +67218,14 @@ "tBs" = ( /turf/closed/wall, /area/station/maintenance/department/chapel) +"tBw" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "tBL" = ( /obj/machinery/computer/atmos_control/nitrogen_tank{ dir = 1 @@ -65804,7 +67235,6 @@ /area/station/engineering/atmos) "tBP" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/secure_area/directional/west, /turf/open/floor/engine, /area/station/science/explab) "tBR" = ( @@ -65823,12 +67253,13 @@ /obj/structure/railing{ dir = 5 }, -/obj/structure/sign/warning/biohazard/directional/west, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "tBY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) "tCe" = ( @@ -65843,9 +67274,17 @@ /obj/structure/sign/warning, /turf/closed/wall/r_wall, /area/icemoon/surface/outdoors/nospawn) +"tCk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tCr" = ( -/obj/structure/grille, -/turf/open/misc/asteroid/snow/icemoon, +/obj/structure/fence/end{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) "tCu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65860,6 +67299,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"tCA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tCB" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/air, @@ -65875,13 +67319,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"tCG" = ( -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tCL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65891,6 +67328,7 @@ "tCO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark, /area/mine/eva) "tCR" = ( @@ -65907,7 +67345,6 @@ c_tag = "Security - Permabrig Observation Prep"; network = list("ss13","prison") }, -/obj/structure/sign/poster/official/safety_internals/directional/west, /turf/open/floor/vault, /area/station/security/prison/rec) "tCW" = ( @@ -65966,6 +67403,7 @@ dir = 10 }, /obj/structure/tank_holder/extinguisher, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "tDL" = ( @@ -65982,6 +67420,10 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood, /area/station/security/courtroom) +"tDS" = ( +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tDU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -66003,7 +67445,9 @@ "tEd" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "tEi" = ( @@ -66020,37 +67464,10 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) -"tEn" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/north, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) -"tEs" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "holodeck" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/commons/fitness) "tEu" = ( /obj/structure/table, /obj/item/hand_labeler, /obj/item/storage/box/shipping, -/obj/structure/sign/poster/official/fruit_bowl/directional/south, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 }, @@ -66063,15 +67480,6 @@ /obj/structure/ore_box, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"tEE" = ( -/obj/structure/table, -/obj/item/food/deadmouse{ - pixel_y = 18; - pixel_x = 13 - }, -/obj/structure/microscope, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "tEK" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen{ @@ -66094,6 +67502,7 @@ pixel_x = -1; pixel_y = 1 }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron, /area/station/commons/storage/mining) "tEL" = ( @@ -66116,6 +67525,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"tFe" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "tFs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -66125,6 +67543,9 @@ /obj/effect/spawner/random/trash/mess, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "tFw" = ( @@ -66143,6 +67564,21 @@ dir = 8 }, /area/station/science/lab) +"tFI" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "tFV" = ( /obj/structure/cable, /obj/machinery/light/directional/south, @@ -66150,6 +67586,15 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/psychology) +"tGc" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering Lobby" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/window/half/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "tGi" = ( /obj/effect/turf_decal/stripes/end, /obj/machinery/door/airlock/external, @@ -66159,6 +67604,12 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/eva/lower) +"tGl" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tGr" = ( /turf/closed/mineral/random/snow, /area/icemoon/surface/outdoors/nospawn) @@ -66178,6 +67629,28 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"tGy" = ( +/obj/structure/fence/cut/large{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"tGz" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "tGB" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -66211,12 +67684,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/laborcamp) -"tHe" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "tHi" = ( /obj/structure/filingcabinet, /obj/machinery/requests_console/directional/west{ @@ -66239,23 +67706,10 @@ /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tHB" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/sign/warning/pods/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/white/corner{ - dir = 8 - }, -/area/station/hallway/secondary/entry) -"tHF" = ( -/obj/structure/sign/nanotrasen, -/obj/structure/fence/post{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"tHJ" = ( +/obj/structure/mannequin/skeleton, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tHK" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/railing{ @@ -66300,13 +67754,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"tIc" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "tIf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66318,10 +67765,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"tIq" = ( -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/office) "tIu" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -66347,12 +67790,12 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "tIL" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +/obj/effect/landmark/start/hangover, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tIS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -66378,6 +67821,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) "tJu" = ( @@ -66390,6 +67834,7 @@ dir = 5 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) "tJD" = ( @@ -66451,27 +67896,27 @@ /obj/item/assembly/igniter{ pixel_y = -3 }, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark/textured_edge{ dir = 4 }, /area/station/medical/chem_storage) -"tJZ" = ( +"tJY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "tKf" = ( /obj/structure/closet, /obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/east, +/obj/machinery/button/door/directional/north{ + id = "miningdorm_A"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, /turf/open/floor/carpet/donk, /area/mine/production) "tKi" = ( @@ -66479,6 +67924,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/lobby) +"tKm" = ( +/obj/structure/ore_container/food_trough/raptor_trough, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "tKq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66488,6 +67937,16 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) +"tKt" = ( +/obj/structure/tall_stairs/end/directional/east, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/security/brig) "tKz" = ( /obj/structure/closet/wardrobe/mixed, /turf/open/floor/plating, @@ -66499,6 +67958,21 @@ "tKI" = ( /turf/closed/wall, /area/station/maintenance/port/greater) +"tKJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = 32 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tKN" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/plating, @@ -66517,6 +67991,19 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"tKY" = ( +/obj/structure/rack, +/obj/item/soap{ + pixel_y = -2 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Ordnance Lower Mix Lab"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "tKZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66535,10 +68022,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/dark, /area/mine/storage) "tLe" = ( @@ -66563,12 +68046,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) -"tLy" = ( -/obj/machinery/vatgrower{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "tLB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, /obj/effect/turf_decal/tile/yellow{ @@ -66579,6 +68056,22 @@ "tLF" = ( /turf/closed/wall, /area/station/hallway/primary/starboard) +"tLI" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"tLL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "tLM" = ( /obj/machinery/camera/directional/south{ c_tag = "Robotics Lab - South"; @@ -66655,15 +68148,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tNb" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tNd" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/turf_decal/siding/green{ @@ -66691,6 +68175,14 @@ /obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) +"tNw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tNx" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -66707,32 +68199,24 @@ dir = 10 }, /area/mine/living_quarters) -"tNH" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 6 - }, -/turf/open/floor/wood/large, -/area/station/hallway/primary/starboard) "tNJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tNN" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "tNY" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, /area/station/cargo/lobby) -"tOe" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tOf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -66743,7 +68227,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) "tOi" = ( @@ -66771,11 +68254,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"tOC" = ( -/obj/effect/spawner/random/trash/hobo_squat, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "tOF" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -66783,13 +68261,7 @@ /turf/open/floor/carpet, /area/station/command/meeting_room) "tOO" = ( -/obj/structure/sign/warning/no_smoking/circle/directional/west, /obj/machinery/light/directional/west, -/obj/machinery/camera{ - c_tag = "Medbay Mid-South"; - dir = 5; - network = list("ss13","medbay") - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, @@ -66799,6 +68271,10 @@ fax_name = "Medical"; name = "Medical Fax Machine" }, +/obj/machinery/camera/directional/west{ + c_tag = "Medbay Mid-South"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "tOX" = ( @@ -66806,28 +68282,6 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tPx" = ( -/obj/structure/table, -/obj/item/multitool/circuit{ - pixel_x = -8 - }, -/obj/item/multitool/circuit{ - pixel_x = -4 - }, -/obj/item/multitool/circuit, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/explab) "tPz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side{ @@ -66887,6 +68341,7 @@ dir = 8 }, /obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/cargo/drone_bay) "tQM" = ( @@ -66916,6 +68371,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"tRP" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Hydroponics Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/plating, +/area/station/service/hydroponics) "tRX" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -66929,15 +68398,6 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"tSd" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) "tSi" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/smooth, @@ -66948,10 +68408,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"tSt" = ( -/obj/structure/sign/painting/library, -/turf/closed/wall, -/area/station/service/library) "tSx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -66960,23 +68416,34 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/obj/structure/railing, /turf/open/floor/iron/dark, /area/station/service/chapel) +"tSF" = ( +/obj/machinery/door/window/left/directional/west{ + req_one_access = list("bar", "kitchen"); + name = "Deliveries" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "tSK" = ( /obj/machinery/chem_mass_spec, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, -/obj/structure/sign/warning/no_smoking/directional/west, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"tSO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "tTc" = ( /obj/item/storage/bag/plants/portaseeder, /obj/structure/table/glass, @@ -66988,17 +68455,18 @@ /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) "tTw" = ( -/obj/structure/stairs/east, -/obj/structure/railing, +/obj/structure/tall_stairs/end/directional/east, /turf/open/floor/iron/dark, /area/station/service/chapel) "tTK" = ( -/obj/structure/railing/corner{ - dir = 4 +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/lattice/catwalk, -/turf/open/openspace, -/area/icemoon/underground/explored) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tTL" = ( /obj/structure/chair, /turf/open/floor/plating, @@ -67025,24 +68493,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"tUm" = ( -/obj/machinery/door/window/left/directional/west{ - req_one_access = list("bar", "kitchen"); - name = "Deliveries" - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/service/kitchen/coldroom) "tUn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -67092,6 +68542,13 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) +"tUL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "tUN" = ( /obj/machinery/atmospherics/components/binary/pump, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67102,7 +68559,9 @@ dir = 4 }, /obj/machinery/door/airlock/command/glass{ - name = "Bridge" + name = "Bridge"; + dir = 4; + manual_align = 1 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -67111,6 +68570,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/station/command/bridge) "tUV" = ( @@ -67143,7 +68603,6 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "tVB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/light/dim/directional/south, /obj/machinery/requests_console/directional/south{ @@ -67151,6 +68610,7 @@ name = "Medbay Requests Console" }, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/cryo) "tWc" = ( @@ -67167,6 +68627,17 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"tWj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "tWp" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -67214,22 +68685,20 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) -"tWY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "tWZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/item/trapdoor_remote/preloaded{ + pixel_y = 17; + name = "corpse trapdoor remote" }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white, +/obj/structure/rack{ + pixel_y = 12; + pixel_x = -1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/caution/red{ + pixel_y = -14 + }, +/turf/open/floor/iron/white/textured, /area/station/medical/medbay/central) "tXb" = ( /obj/structure/table, @@ -67245,13 +68714,9 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/security/prison/garden) -"tXg" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tXh" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -67300,6 +68765,24 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"tYf" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"tYt" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"tYu" = ( +/obj/effect/spawner/random/trash/hobo_squat, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tYz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67322,6 +68805,30 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/prison/garden) +"tYF" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"tYM" = ( +/obj/machinery/computer/operating{ + dir = 2 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) +"tYS" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tYZ" = ( /obj/machinery/door/airlock/external{ name = "External Airlock" @@ -67346,31 +68853,22 @@ /area/station/maintenance/starboard/aft) "tZe" = ( /obj/machinery/vending/wardrobe/gene_wardrobe, -/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/sign/departments/genetics/directional/north, /turf/open/floor/iron/dark, /area/station/science/genetics) -"tZf" = ( -/obj/structure/cable, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "tZm" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"tZo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "tZp" = ( /obj/structure/ladder, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"tZv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "tZG" = ( /obj/machinery/meter, /obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ @@ -67380,21 +68878,18 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/no_smoking/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"tZO" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 8 - }, -/obj/structure/sign/poster/official/build/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) "tZR" = ( /obj/machinery/conveyor{ dir = 4; id = "packageSort2" }, -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4; + manual_align = 1 + }, /turf/open/floor/plating, /area/station/cargo/sorting) "tZZ" = ( @@ -67438,6 +68933,12 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"uap" = ( +/obj/structure/fence/cut/large{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "uar" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67463,6 +68964,17 @@ /obj/machinery/rnd/experimentor, /turf/open/floor/engine, /area/station/science/explab) +"uaZ" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/preopen{ + id = "Biohazard"; + name = "Biohazard Containment Door" + }, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark/textured, +/area/station/science/research) "ubc" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -67476,22 +68988,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"ubh" = ( -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) -"ubi" = ( -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "ubk" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "ubo" = ( -/obj/machinery/status_display/door_timer{ - id = "Cell 1"; - name = "Cell 1"; - pixel_x = -32 - }, /obj/machinery/door/poddoor/preopen{ id = "Prison Gate"; name = "Prison Blast Door" @@ -67502,12 +69003,12 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/status_display/door_timer/directional/west{ + id = "Cell 1"; + name = "Cell 1" + }, /turf/open/floor/iron/textured, /area/station/security/brig) -"ubp" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ubq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, @@ -67544,19 +69045,9 @@ /obj/structure/ladder{ name = "upper dispenser access" }, -/obj/structure/sign/warning/no_smoking/directional/east, /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/dark/textured_large, /area/station/medical/chemistry) -"ubK" = ( -/obj/machinery/computer/holodeck{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "ubY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67589,9 +69080,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"ucu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ucD" = ( /obj/machinery/plate_press, /obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) "ucN" = ( @@ -67601,20 +69105,6 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"udf" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "udj" = ( /obj/effect/turf_decal/stripes/asteroid/line, /obj/structure/cable, @@ -67631,16 +69121,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"udA" = ( -/obj/structure/training_machine, -/obj/item/target, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "udK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -67663,20 +69143,36 @@ /area/station/maintenance/department/medical/central) "udQ" = ( /obj/structure/table, -/obj/item/computer_disk/ordnance, -/obj/item/computer_disk/ordnance, -/obj/item/computer_disk/ordnance, +/obj/machinery/button/door/table{ + pixel_x = -8; + id = "Biohazard"; + name = "Biohazard Shutter Control"; + req_access = list("research"); + pixel_y = 11 + }, +/obj/machinery/button/door/table{ + pixel_x = 5; + id = "rnd2"; + name = "Research Lab Shutter Control"; + req_access = list("research"); + pixel_y = 11 + }, +/obj/machinery/button/door/table{ + pixel_x = 5; + id = "misclab"; + name = "Test Chamber Blast Doors"; + req_access = list("xenobiology") + }, +/obj/machinery/button/door/table{ + pixel_x = -8; + id = "xenobiomain"; + name = "Xenobiology Containment Blast Door"; + req_access = list("xenobiology") + }, /turf/open/floor/iron/white/corner{ dir = 1 }, /area/station/command/heads_quarters/rd) -"udR" = ( -/obj/structure/cable, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "uee" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -67689,14 +69185,6 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"uek" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/potato{ - name = "\improper Beepsky's emergency battery" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "uep" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67707,6 +69195,18 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"uet" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/heads_quarters/hos) +"uex" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/structure/sign/warning/no_smoking/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "uey" = ( /obj/machinery/power/supermatter_crystal/engine, /turf/open/floor/engine, @@ -67761,9 +69261,18 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/processing) "ufw" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /obj/effect/landmark/start/hangover, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "ufF" = ( /obj/structure/table, @@ -67792,6 +69301,7 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, +/obj/structure/sign/warning/radiation/rad_area/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "ugi" = ( @@ -67818,6 +69328,10 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"ugA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ugG" = ( /obj/structure/table, /obj/item/clothing/gloves/color/fyellow, @@ -67831,17 +69345,23 @@ /turf/open/floor/iron, /area/station/maintenance/department/electrical) "ugI" = ( -/obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ dir = 8 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "ugP" = ( /obj/effect/turf_decal/siding/red{ @@ -67857,6 +69377,12 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"ugZ" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "uhb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/brown{ @@ -67866,11 +69392,13 @@ /turf/open/floor/iron/dark, /area/station/maintenance/disposal) "uhs" = ( -/obj/structure/railing/corner, -/obj/machinery/camera/directional/south{ - c_tag = "Mining B-1 Hallway North" - }, /obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/iron/dark/side, /area/mine/eva) "uht" = ( @@ -67904,6 +69432,16 @@ }, /turf/open/floor/iron/white/side, /area/mine/living_quarters) +"uhF" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "uhH" = ( /obj/machinery/door/airlock/engineering{ name = "Chemistry Lab Utilities" @@ -67921,7 +69459,6 @@ dir = 8 }, /obj/structure/sign/warning/deathsposal/directional/north, -/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) "uif" = ( @@ -67943,22 +69480,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"uil" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "uin" = ( -/obj/structure/sign/warning/fire/directional/south, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, @@ -67968,17 +69490,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"uiq" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) "uiv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "uiF" = ( @@ -67993,24 +69510,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"uiH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "uiI" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uiM" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/command/nuke_storage) -"uiV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "uja" = ( /turf/closed/wall, /area/station/commons/toilet) @@ -68020,10 +69534,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"ujp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "ujs" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -68069,23 +69579,16 @@ /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/wood, /area/station/command/meeting_room) -"ukt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ukv" = ( /obj/machinery/computer/exoscanner_control{ dir = 1 }, -/obj/machinery/light_switch/directional/east{ - pixel_x = 22; - pixel_y = 8 - }, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) "ukz" = ( @@ -68166,12 +69669,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/security/prison/safe) -"ulE" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 1 +"ulR" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/science/ordnance) +/turf/open/floor/stone, +/area/station/service/bar/atrium) "uma" = ( /obj/item/chisel, /obj/item/storage/toolbox/artistic, @@ -68179,17 +69682,6 @@ /obj/item/storage/crayons, /turf/open/floor/sepia, /area/station/security/prison/rec) -"umb" = ( -/obj/structure/sign/warning/docking/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"umc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "uml" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68223,13 +69715,10 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"umF" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/chapel) +"umM" = ( +/obj/effect/landmark/start/clown, +/turf/open/floor/wood, +/area/station/commons/lounge) "umR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -68277,14 +69766,19 @@ /obj/machinery/gulag_teleporter, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"unM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ +"unG" = ( +/obj/machinery/computer/station_alert{ dir = 4 }, -/obj/structure/sign/departments/exodrone/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) +"unI" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "unO" = ( /obj/item/paper_bin{ pixel_x = -3; @@ -68295,16 +69789,6 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/cargo/office) -"unT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/random/directional/west, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/mine/eva) "uog" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -68363,29 +69847,12 @@ /area/station/engineering/atmos) "uoF" = ( /obj/machinery/pdapainter/engineering, -/obj/machinery/button/door/directional/west{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_y = 10; - req_access = list("engineering") - }, -/obj/machinery/button/door/directional/west{ - id = "Secure Storage"; - name = "Engineering Secure Storage"; - req_access = list("engine_equip") - }, -/obj/machinery/button/door/directional/west{ - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_y = -10; - req_access = list("engineering") - }, /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/ce) "uoS" = ( /obj/machinery/vending/games, -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/half/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/prison) "uoT" = ( @@ -68401,6 +69868,22 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uoY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "upa" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -68414,6 +69897,11 @@ }, /turf/open/floor/iron/dark, /area/station/medical/storage) +"upm" = ( +/obj/machinery/space_heater, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/central) "upv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68428,12 +69916,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison) -"upx" = ( -/obj/machinery/light_switch/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "upH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -68453,6 +69935,17 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"upU" = ( +/obj/structure/table/wood, +/obj/item/raptor_dex{ + pixel_y = 13 + }, +/obj/item/raptor_dex{ + pixel_y = 7 + }, +/obj/item/raptor_dex, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "upV" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, @@ -68496,13 +69989,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"uqV" = ( -/obj/structure/sign/warning/directional/east{ - desc = "A sign warning of a sudden drop below."; - name = "SUDDEN DROP sign" - }, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/surface/outdoors/nospawn) "urd" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, @@ -68554,6 +70040,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) +"urQ" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/west, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/hand_labeler, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"usm" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uso" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/contraband/prison, @@ -68567,21 +70071,11 @@ /turf/open/floor/iron, /area/mine/laborcamp) "usz" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32; - pixel_y = 32 - }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"usP" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) "usS" = ( /obj/structure/bed{ dir = 1 @@ -68596,37 +70090,6 @@ dir = 10 }, /area/station/security/prison/safe) -"utn" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/seeds/tower, -/obj/item/seeds/chanter{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/seeds/watermelon{ - pixel_y = -6; - pixel_x = 3 - }, -/obj/item/seeds/apple{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/seeds/banana, -/obj/item/seeds/rose{ - pixel_y = -3; - pixel_x = -4 - }, -/obj/structure/noticeboard/directional/west, -/obj/item/paper/guides/jobs/hydroponics{ - pixel_y = 3; - pixel_x = -27 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "utr" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -68650,27 +70113,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"utG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "utR" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"utW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "uub" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Fuel Pipe" @@ -68682,10 +70130,6 @@ /obj/effect/spawner/random/techstorage/tcomms_all, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"uuh" = ( -/obj/structure/noticeboard/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "uum" = ( /obj/machinery/door/airlock/public/glass{ name = "Chapel" @@ -68729,16 +70173,38 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"uuO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "uuP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/office) +"uvh" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/item/toy/plush/moth{ + name = "Theseus" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/flag/mothic/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uvi" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "uvk" = ( /obj/structure/window/reinforced/plasma/spawner/directional/west, @@ -68747,6 +70213,19 @@ /obj/machinery/power/energy_accumulator/grounding_rod/anchored, /turf/open/floor/engine, /area/station/engineering/supermatter) +"uvp" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/obj/structure/window/reinforced/half/directional/west, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "uvt" = ( /turf/closed/wall, /area/station/science/robotics/mechbay) @@ -68757,6 +70236,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"uvA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "uvM" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, @@ -68772,14 +70261,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) -"uwd" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "uwj" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment, @@ -68803,6 +70284,17 @@ dir = 8 }, /area/station/security/brig/entrance) +"uwE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uwH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -68833,6 +70325,9 @@ /obj/effect/mapping_helpers/airlock/access/all/service/janitor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"uwT" = ( +/turf/closed/wall/r_wall, +/area/station/science/cytology) "uxd" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -68859,9 +70354,8 @@ /turf/open/floor/iron, /area/station/cargo/office) "uxp" = ( -/turf/open/floor/iron/stairs/medium{ - dir = 4 - }, +/obj/structure/tall_stairs/small/directional/west, +/turf/open/floor/plating, /area/station/engineering/lobby) "uxx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output{ @@ -68880,22 +70374,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"uxU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uxZ" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"uye" = ( -/obj/item/kirbyplants/random/dead, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uyq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68908,6 +70395,14 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"uyF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/station/service/bar) "uyH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/broken_floor, @@ -68927,6 +70422,7 @@ dir = 4 }, /obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/atmos/storage) "uyV" = ( @@ -68969,6 +70465,21 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"uzu" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/backroom) "uzB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -69013,9 +70524,6 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "uAE" = ( @@ -69058,25 +70566,21 @@ "uBA" = ( /turf/closed/wall, /area/station/engineering/atmos/project) -"uBD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"uBG" = ( +/obj/machinery/modular_computer/preset/civilian, +/obj/structure/sign/poster/official/science/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/trash/food_packaging, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/science/ordnance/office) "uBL" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/random/directional/east, /obj/structure/cable, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/cafeteria{ dir = 5 }, @@ -69168,11 +70672,6 @@ /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "uCU" = ( -/obj/machinery/button/flasher{ - id = "executionflash"; - pixel_x = -24; - pixel_y = 5 - }, /obj/machinery/button/door/directional/west{ id = "executionfireblast"; name = "Transfer Area Lockdown"; @@ -69239,8 +70738,17 @@ pixel_y = -2 }, /obj/structure/table, +/obj/machinery/status_display/supply/directional/north, /turf/open/floor/iron, /area/station/cargo/office) +"uDv" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/sink/kitchen/directional/west, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "uDy" = ( /obj/item/book/bible, /obj/structure/cable, @@ -69251,9 +70759,9 @@ /area/station/security/prison/rec) "uDC" = ( /obj/structure/table/wood, -/obj/machinery/airalarm/directional/north, -/obj/item/book/bible, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/flashlight/lantern, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) "uDE" = ( @@ -69280,6 +70788,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"uEf" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "uEk" = ( /obj/structure/closet/wardrobe/miner, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -69300,8 +70815,8 @@ /area/station/medical/treatment_center) "uEA" = ( /obj/structure/closet/crate, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "uEI" = ( /obj/structure/railing/corner{ dir = 4 @@ -69329,12 +70844,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/processing) -"uFg" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "uFh" = ( /turf/open/floor/plating, /area/station/construction) +"uFl" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/closed/wall, +/area/station/service/hydroponics) "uFz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -69343,6 +70861,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/psychology) +"uFE" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/iron, +/area/station/service/bar) "uFH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69356,17 +70878,30 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"uGe" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_x = 32 +"uFV" = ( +/obj/structure/tank_dispenser{ + pixel_x = -1 }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Monitoring" }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, -/area/station/service/bar) +/area/station/engineering/atmos/storage/gas) +"uGe" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "uGl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69411,10 +70946,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) -"uGY" = ( -/obj/structure/bookcase, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uHc" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -69433,16 +70964,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore) -"uHS" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 +"uHN" = ( +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uHV" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 1 @@ -69468,9 +70996,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "uIz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/engineering/lobby) @@ -69509,10 +71034,25 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uIS" = ( -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"uIQ" = ( +/obj/structure/table, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/scanning_module, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/multitool, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/turf/open/floor/iron/white/side{ + dir = 10 + }, +/area/station/science/lab) "uIV" = ( /obj/machinery/meter, /obj/effect/turf_decal/delivery, @@ -69544,18 +71084,32 @@ /turf/open/floor/iron, /area/station/hallway/primary/aft) "uJI" = ( -/obj/structure/table/wood, -/obj/structure/noticeboard/directional/north, -/obj/item/flashlight/lantern, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) +"uJN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "uJX" = ( /obj/structure/closet/firecloset, /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/red/half, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"uKc" = ( +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "uKj" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -69565,16 +71119,8 @@ /turf/open/floor/iron/white, /area/station/medical/cryo) "uKx" = ( -/obj/structure/closet, -/obj/item/clothing/suit/hooded/wintercoat{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/shoes/wheelys/skishoes{ - pixel_y = -8 - }, -/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/cobweb, +/obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "uKJ" = ( @@ -69587,6 +71133,7 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) "uKM" = ( @@ -69620,23 +71167,31 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/execution/education) +"uKY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uLe" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter) "uLp" = ( -/obj/machinery/door/firedoor, /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; - name = "Bridge Blast Door" + name = "Bridge Blast Door"; + dir = 4 }, /obj/effect/turf_decal/delivery, -/turf/open/floor/iron, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/command/bridge) -"uLr" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/engineering/storage_shared) "uLC" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -69652,24 +71207,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"uLJ" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"uLR" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "uLX" = ( /obj/machinery/door/airlock{ name = "Port Emergency Storage" @@ -69680,36 +71217,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/emergency/port) -"uLZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"uMj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random/dead, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "uMm" = ( /turf/open/floor/iron/white/corner{ dir = 4 }, /area/station/hallway/secondary/entry) -"uMq" = ( -/obj/structure/sign/warning/cold_temp{ - pixel_x = -29 +"uMp" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = 30 +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/mine/storage) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydronutrients, +/turf/open/floor/iron, +/area/station/service/hydroponics) "uMx" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -69755,19 +71278,6 @@ "uMN" = ( /turf/open/openspace, /area/station/commons/storage/mining) -"uMU" = ( -/obj/structure/fence/corner, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"uNp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "uNq" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -69784,11 +71294,13 @@ /obj/effect/turf_decal/siding/yellow/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/large, /area/station/engineering/storage) "uNw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/item/trash/raisins, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "uNE" = ( @@ -69796,18 +71308,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) -"uNG" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) -"uNH" = ( -/obj/structure/railing, -/obj/structure/closet/secure_closet/cytology, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +"uNN" = ( +/obj/effect/spawner/random/trash/bin, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uNV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -69829,16 +71334,6 @@ "uOb" = ( /turf/closed/wall/r_wall, /area/station/security/prison/toilet) -"uOe" = ( -/obj/machinery/door/window/left/directional/west{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "uOf" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm_A"; @@ -69866,20 +71361,12 @@ "uOj" = ( /turf/open/floor/iron, /area/station/command/gateway) -"uOk" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "Antechamber Turret Control"; - pixel_y = -24; - req_access = list("minisat") - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/motion/directional/south{ - c_tag = "MiniSat Foyer"; - network = list("minisat") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) +"uOm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/south, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "uOn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -69887,27 +71374,20 @@ /turf/open/floor/plating, /area/station/engineering/storage/tech) "uOq" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/structure/railing/corner, /obj/effect/landmark/start/hangover, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/end, +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) -"uOy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) -"uOz" = ( -/obj/structure/marker_beacon/yellow, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) +"uOs" = ( +/obj/structure/bed/dogbed, +/obj/effect/decal/cleanable/blood/gibs/body, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "uOE" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 5 @@ -69929,12 +71409,13 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/landmark/start/paramedic, /obj/structure/cable, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "uPa" = ( /obj/machinery/disposal/bin, -/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/disposalpipe/trunk, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) "uPh" = ( @@ -69969,6 +71450,7 @@ "uPx" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/mapping_helpers/burnt_floor, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) "uPB" = ( @@ -69995,24 +71477,25 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) -"uPQ" = ( -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/external/glass{ - name = "Cytology External Airlock" - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "uPS" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"uPT" = ( +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uPY" = ( /obj/structure/noticeboard/directional/east, /turf/open/floor/wood, /area/station/command/meeting_room) +"uQc" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table, +/obj/machinery/fax/auto_name, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "uQl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -70022,6 +71505,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/locker) +"uQv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/chair, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uQx" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -70084,6 +71578,18 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"uRC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/warm/directional/south, +/obj/machinery/digital_clock/directional/south, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "uRL" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/light/directional/north, @@ -70133,43 +71639,13 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"uSE" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/right/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/desk_bell{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "uSS" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/stripes/box, /obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"uTc" = ( -/obj/machinery/chem_heater/withbuffer, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/yellow/full, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/pharmacy) -"uTf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "uTk" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70192,11 +71668,34 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"uTq" = ( +/obj/machinery/restaurant_portal/restaurant, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "uTr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"uTu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"uTx" = ( +/obj/machinery/air_sensor/ordnance_burn_chamber, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "uTI" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -70217,12 +71716,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"uTL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/white, -/area/station/science/robotics/lab) "uTX" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/item/kirbyplants/random, @@ -70230,18 +71723,11 @@ dir = 4 }, /area/station/service/chapel) -"uUn" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) -"uUq" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, +"uUp" = ( +/obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "uUu" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, @@ -70249,12 +71735,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"uUw" = ( -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/west, -/obj/machinery/fax/auto_name, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "uUH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 10 @@ -70279,6 +71759,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) +"uVr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uVu" = ( /obj/machinery/space_heater, /obj/structure/window/reinforced/spawner/directional/east, @@ -70299,20 +71788,11 @@ dir = 1 }, /area/station/security/lockers) -"uWf" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"uWp" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall, -/area/station/maintenance/aft/greater) +"uWo" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "uWw" = ( /obj/structure/railing/corner{ dir = 1 @@ -70322,18 +71802,40 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"uWy" = ( +/obj/structure/table/wood, +/obj/machinery/reagentgrinder{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "uWE" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"uWS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/wood/large, +/area/station/service/bar) "uWW" = ( /obj/structure/closet/cardboard, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) "uXh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria{ dir = 8 }, @@ -70359,6 +71861,7 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, +/obj/structure/sign/poster/official/fruit_bowl/directional/north, /turf/open/floor/iron/white/corner{ dir = 1 }, @@ -70395,7 +71898,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 1 + dir = 9 }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -70408,6 +71911,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"uYs" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/tall_stairs/end/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "uYB" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/structure/cable, @@ -70415,6 +71925,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"uYE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "uYF" = ( /obj/structure/railing{ dir = 6 @@ -70460,6 +71980,13 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) +"uZO" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "uZT" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -70514,13 +72041,6 @@ /obj/structure/rack, /obj/item/storage/box/evidence, /obj/item/storage/box/evidence, -/obj/machinery/button/door{ - id = "Trial Transfer"; - name = "Trial Transfer Lockdown"; - pixel_x = -7; - pixel_y = -23; - req_access = list("brig") - }, /obj/structure/cable, /obj/effect/turf_decal/tile/red, /obj/machinery/light/directional/south, @@ -70546,11 +72066,27 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) +"vaL" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/knife/kitchen{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vaM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) +"vaW" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vaZ" = ( /obj/item/book/manual/wiki/plumbing{ pixel_x = 4; @@ -70623,13 +72159,6 @@ /obj/structure/railing, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"vbI" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vbO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /obj/item/kirbyplants/random, @@ -70659,21 +72188,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"vcf" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "vcj" = ( /turf/closed/wall/r_wall, /area/mine/storage) +"vco" = ( +/obj/structure/fence/post{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vcH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 9 }, /obj/machinery/meter, -/obj/machinery/button/ignition/incinerator/ordmix{ - pixel_x = 8; - pixel_y = 32 - }, -/obj/machinery/button/door/incinerator_vent_ordmix{ - pixel_x = -8; - pixel_y = 32 +/obj/machinery/button/door/incinerator_vent_ordmix/directional/north, +/obj/machinery/button/ignition/incinerator/ordmix/directional/north{ + pixel_x = -13; + pixel_y = 34 }, /turf/open/floor/iron/dark, /area/station/science/ordnance) @@ -70741,7 +72286,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/firedoor/heavy{ + dir = 4 + }, /obj/machinery/door/airlock/research{ name = "Ordnance Launch Room" }, @@ -70751,13 +72298,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"vdO" = ( -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "vdW" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/decal/cleanable/dirt, @@ -70769,7 +72309,7 @@ "vek" = ( /obj/effect/turf_decal/weather/snow/corner, /obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/maint/directional/north, +/obj/structure/sign/warning/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "ven" = ( @@ -70782,11 +72322,6 @@ "vep" = ( /turf/closed/wall, /area/station/maintenance/disposal/incinerator) -"veq" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ver" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy{ @@ -70797,7 +72332,8 @@ "ves" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/grimy, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, /area/station/maintenance/aft/greater) "vey" = ( /turf/closed/wall, @@ -70821,16 +72357,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"veX" = ( -/obj/machinery/camera{ - c_tag = "Research Division Server Room"; - dir = 5; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/lattice/catwalk, -/turf/open/openspace/icemoon, -/area/station/science/server) "vfe" = ( /obj/machinery/atmospherics/components/unary/passive_vent, /obj/effect/turf_decal/stripes/line{ @@ -70840,7 +72366,10 @@ /turf/open/floor/iron/freezer, /area/station/science/xenobiology) "vfg" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/end/directional/north, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/iron, /area/station/cargo/storage) "vfm" = ( @@ -70867,27 +72396,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"vfw" = ( -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/sink/kitchen/directional/south, -/obj/structure/mirror/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Coldroom Access" - }, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "vfI" = ( /obj/machinery/door/window/right/directional/south{ name = "Ordnance Freezer Chamber Access"; @@ -70918,7 +72426,6 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) "vgu" = ( @@ -70946,6 +72453,10 @@ /obj/item/stack/cable_coil, /turf/open/floor/iron/smooth, /area/mine/eva) +"vgK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "vgM" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -70964,31 +72475,19 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"vgU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "vhm" = ( -/obj/structure/sign/poster/random/directional/west, /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) -"vhA" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "vhB" = ( /obj/structure/chair/plastic, /obj/effect/turf_decal/bot_red, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"vhF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vhL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71017,11 +72516,14 @@ /area/station/science/research) "viE" = ( /obj/structure/cable, -/obj/structure/sign/warning/gas_mask/directional/south, /obj/machinery/light/small/dim/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"viF" = ( +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "viH" = ( /obj/machinery/power/emitter/welded{ dir = 4 @@ -71035,10 +72537,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"viR" = ( -/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "viV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/window/reinforced/spawner/directional/south, @@ -71051,24 +72549,51 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/construction) +"vjg" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vjh" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp) "vjj" = ( -/turf/open/floor/iron/stairs/right{ - dir = 4 +/obj/structure/railing{ + dir = 1 }, -/area/station/science/research) +/turf/open/floor/iron/dark, +/area/station/service/chapel) "vjk" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"vjq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vjx" = ( /obj/machinery/telecomms/server/presets/engineering, +/obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"vjA" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Kitchen" + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/machinery/processor{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vjJ" = ( /obj/structure/table, /obj/machinery/light/directional/north, @@ -71078,6 +72603,9 @@ /area/station/medical/virology) "vjM" = ( /obj/machinery/light/floor, +/obj/structure/railing/corner/end{ + dir = 1 + }, /turf/open/floor/iron, /area/station/cargo/storage) "vjS" = ( @@ -71131,15 +72659,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/construction) -"vkO" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vkW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -71153,17 +72672,15 @@ /obj/effect/turf_decal/siding/yellow/corner{ dir = 4 }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 12 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/engineering/storage_shared) "vle" = ( /obj/item/radio/intercom/chapel/directional/east, /obj/structure/chair, /obj/machinery/light/small/red/directional/north, -/turf/open/floor/iron/dark, +/turf/open/floor/wood/large, /area/station/service/chapel) "vlf" = ( /obj/structure/disposalpipe/junction/yjunction{ @@ -71171,9 +72688,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vlz" = ( -/turf/open/openspace, -/area/station/service/kitchen/coldroom) "vlL" = ( /obj/machinery/computer/cargo/request, /turf/open/floor/iron, @@ -71198,17 +72712,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"vlU" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 9; - pixel_x = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "vlZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -71217,11 +72720,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/mine/storage) -"vme" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "vmj" = ( /obj/structure/chair{ dir = 1; @@ -71245,6 +72743,7 @@ /area/station/cargo/storage) "vmp" = ( /obj/machinery/shower/directional/east, +/obj/structure/fluff/shower_drain, /turf/open/floor/iron/freezer, /area/station/commons/toilet) "vmr" = ( @@ -71293,6 +72792,23 @@ /obj/structure/cable, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) +"vmK" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/explab) +"vmO" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "vmP" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, @@ -71316,6 +72832,21 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"vmW" = ( +/obj/structure/table/wood, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"vne" = ( +/obj/item/clothing/head/beanie/orange{ + pixel_y = 8 + }, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/wheelys/skishoes{ + pixel_y = -8 + }, +/obj/effect/decal/remains/human, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "vng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71333,14 +72864,13 @@ /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera{ - c_tag = "Departure Lounge West"; - dir = 10 - }, /obj/structure/cable, /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/camera/directional/west{ + c_tag = "Departure Lounge West" + }, /turf/open/floor/iron/white/corner{ dir = 1 }, @@ -71357,20 +72887,37 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) -"vnK" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"vnw" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Fitness Room South" }, -/obj/structure/table/glass, -/obj/machinery/light/small/directional/west, -/obj/item/stack/package_wrap{ - pixel_y = 3 +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 }, -/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -7 + }, +/obj/item/kirbyplants/random, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/commons/fitness) +"vnA" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured_half, +/area/station/service/kitchen) "vnN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -71381,12 +72928,6 @@ }, /turf/open/floor/iron/textured, /area/station/medical/chem_storage) -"vnS" = ( -/obj/structure/fence/cut/large{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "vnY" = ( /obj/structure/closet/crate/critter, /turf/open/floor/plating, @@ -71419,11 +72960,10 @@ /turf/open/floor/iron, /area/station/commons/storage/tools) "voA" = ( -/obj/machinery/button/flasher{ - id = "cell4"; - pixel_y = -22 - }, /obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/button/flasher/table{ + id = "cell4" + }, /turf/open/floor/iron, /area/station/security/brig/upper) "voH" = ( @@ -71482,7 +73022,6 @@ /obj/effect/decal/cleanable/dirt{ pixel_x = -9 }, -/obj/structure/sign/warning/gas_mask/directional/west, /turf/open/floor/iron, /area/station/cargo/drone_bay) "vpn" = ( @@ -71490,18 +73029,6 @@ /obj/structure/cable, /turf/open/floor/iron/recharge_floor, /area/station/security/mechbay) -"vpJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering{ - name = "Utilities Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vpR" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -71584,21 +73111,18 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/courtroom) -"vrr" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, +"vrs" = ( +/obj/structure/railing/corner, /turf/open/floor/iron/dark, -/area/station/medical/morgue) +/area/station/service/chapel) "vrw" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters3"; - name = "Pharmacy Shutters" +/obj/machinery/button/door/directional/west{ + id = "xenobio3"; + name = "Xenobio Pen 3 Blast Door"; + req_access = list("xenobiology") }, -/turf/open/floor/plating, -/area/station/service/kitchen) +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "vrC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71620,6 +73144,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vrW" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 48 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vrX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71640,6 +73170,21 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"vst" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) +"vsx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vsz" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -71685,23 +73230,20 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"vtf" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/structure/fence{ + dir = 8 + }, +/obj/structure/sign/warning/xeno_mining/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vtj" = ( /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"vto" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Bar" - }, -/turf/open/floor/iron, -/area/station/service/bar) "vtr" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/kirbyplants/random, @@ -71728,11 +73270,6 @@ dir = 10 }, /area/station/science/research) -"vtW" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/medical/morgue) "vtZ" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ @@ -71750,10 +73287,8 @@ /obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ pixel_x = 6 }, -/obj/structure/secure_safe/hos{ - pixel_x = 35 - }, /obj/machinery/firealarm/directional/south, +/obj/structure/secure_safe/hos/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/hos) "vuh" = ( @@ -71815,7 +73350,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/food_packaging, -/obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, @@ -71832,17 +73366,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"vvn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Service - Atrium Entrance" +"vvo" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/structure/railing/corner{ + dir = 8 }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/structure/closet/secure_closet/cytology, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "vvu" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -71923,11 +73454,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/lawoffice) -"vwr" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) +"vws" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "vwt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -71935,16 +73468,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"vww" = ( -/obj/structure/sign/warning/directional/west, -/turf/open/openspace/icemoon, -/area/icemoon/surface/outdoors/nospawn) "vwC" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"vwD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vwE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72029,6 +73568,12 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"vxI" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vxO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood, @@ -72045,14 +73590,17 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/large, /area/station/engineering/atmos) -"vxY" = ( -/obj/effect/turf_decal/siding/wood{ +"vxW" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/office{ dir = 8 }, -/obj/structure/cable, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness) "vyb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -72064,6 +73612,11 @@ /obj/machinery/modular_computer/preset/id, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/hos) +"vyf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "vyg" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72079,6 +73632,12 @@ "vym" = ( /turf/closed/wall, /area/station/construction) +"vyp" = ( +/obj/structure/bonfire, +/obj/item/melee/roastingstick, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "vyt" = ( /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) @@ -72093,10 +73652,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/engine, /area/station/science/explab) -"vyy" = ( -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "vyI" = ( /obj/structure/railing{ dir = 1 @@ -72105,12 +73660,6 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"vyN" = ( -/obj/structure/closet/crate/miningcar, -/obj/effect/spawner/random/exotic/snow_gear, -/obj/effect/spawner/random/exotic/snow_gear, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vyO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72128,6 +73677,19 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vzf" = ( +/obj/machinery/door/poddoor/preopen{ + id = "bridge blast"; + name = "Bridge Blast Door"; + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_blue/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/command/bridge) "vzn" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -72159,21 +73721,18 @@ "vzD" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) -"vzI" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_x = 32 - }, -/turf/closed/wall/r_wall, -/area/mine/production) "vzN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/cryo) +"vzP" = ( +/obj/machinery/computer/records/security, +/obj/machinery/computer/security/telescreen/normal/directional/north, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "vzS" = ( /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /obj/structure/disposalpipe/sorting/mail{ @@ -72199,13 +73758,6 @@ "vAj" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate, -/obj/structure/sign/warning/cold_temp{ - pixel_x = -29 - }, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 2; - pixel_y = -32 - }, /turf/open/floor/iron/smooth, /area/mine/living_quarters) "vAm" = ( @@ -72228,6 +73780,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/commons/dorms) "vAq" = ( @@ -72248,6 +73801,13 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"vAy" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "vAF" = ( /obj/machinery/door/airlock/hatch{ name = "MiniSat Teleporter" @@ -72258,12 +73818,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"vAO" = ( -/obj/structure/bodycontainer/morgue/beeper_off{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "vAP" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/blue/half/contrasted, @@ -72288,15 +73842,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) -"vAW" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "vAY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -72311,19 +73856,10 @@ /area/station/hallway/primary/port) "vBa" = ( /obj/structure/table, -/obj/item/storage/crayons, -/obj/item/trash/candle{ - pixel_y = 12 - }, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "vBg" = ( /obj/machinery/light/small/directional/west, -/obj/structure/sign/warning/gas_mask{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals."; - pixel_x = 3; - pixel_y = -32 - }, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) @@ -72344,18 +73880,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"vBt" = ( -/obj/machinery/door/airlock/freezer{ - desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; - name = "The Ice Box" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"vBn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/turf/open/floor/wood, +/area/station/maintenance/aft/greater) "vBu" = ( /obj/machinery/space_heater, /obj/machinery/camera/directional/south{ @@ -72388,12 +73917,11 @@ }, /obj/machinery/airalarm/directional/south, /obj/machinery/light/directional/south, -/obj/machinery/camera{ +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/camera/directional/south{ c_tag = "Medbay Lobby"; - dir = 5; network = list("ss13","medbay") }, -/obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "vBG" = ( @@ -72484,16 +74012,10 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"vDQ" = ( -/obj/effect/spawner/random/decoration/flower, -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"vEh" = ( -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"vEc" = ( +/obj/machinery/door/poddoor/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "vEw" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics Access" @@ -72510,17 +74032,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"vEC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "vEJ" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -72538,15 +74049,11 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, -/obj/structure/sign/warning/chem_diamond/directional/west, /obj/structure/bed/medical/emergency, /obj/machinery/iv_drip, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vES" = ( -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "vEU" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -72562,15 +74069,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"vFb" = ( -/obj/structure/table/wood, -/obj/item/cigarette/cigar{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/storage/box/matches, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "vFg" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -72601,6 +74099,16 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/security/brig) +"vFT" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vFW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -72615,11 +74123,6 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/virology, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"vGi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "vGy" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Pens Observation - Starboard Aft"; @@ -72656,14 +74159,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/tcommsat/computer) -"vHe" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/trash/botanical_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vHf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -72684,6 +74179,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"vHx" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "vHA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -72698,34 +74203,25 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"vHJ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vHK" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/sorting) -"vHM" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/spawner/random/armory/rubbershot, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory) "vHR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"vHT" = ( -/obj/structure/fence/post{ - dir = 8 - }, -/obj/structure/sign/nanotrasen, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "vHU" = ( /obj/item/radio/intercom/prison/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -72761,6 +74257,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"vIu" = ( +/obj/structure/fence/corner{ + dir = 6 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vIH" = ( /obj/structure/closet{ name = "evidence closet 1" @@ -72768,13 +74270,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) -"vIL" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vIZ" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72828,6 +74323,23 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"vKa" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) +"vKj" = ( +/obj/machinery/light/small/directional/east, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/ordnance) "vKk" = ( /obj/machinery/vending/security, /turf/open/floor/iron/smooth_edge, @@ -72838,13 +74350,41 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/locker) -"vKT" = ( +"vKO" = ( +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/port/greater) +"vKR" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"vKZ" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "vLj" = ( /obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/stripes/line{ @@ -72856,8 +74396,16 @@ "vLo" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"vLW" = ( +/obj/structure/fence/corner{ + dir = 2 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "vMa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/south, @@ -72868,7 +74416,6 @@ c_tag = "Gateway" }, /obj/structure/table, -/obj/structure/sign/warning/biohazard/directional/west, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, @@ -72887,14 +74434,15 @@ /turf/open/floor/iron, /area/station/command/gateway) "vMf" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/structure/railing/corner{ - dir = 8 - }, +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) +"vMg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/mine/eva/lower) "vMl" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -72916,9 +74464,6 @@ "vMN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/flashlight/lamp{ - start_on = 0 - }, /turf/open/floor/wood, /area/station/maintenance/aft/greater) "vMY" = ( @@ -72963,25 +74508,14 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/contraband/cc64k_ad/directional/north, /turf/open/floor/catwalk_floor/iron_dark, /area/station/maintenance/port/fore) -"vNM" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"vOd" = ( -/obj/item/wrench, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 1; - name = "Air In" - }, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"vNU" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "vOw" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ @@ -72989,6 +74523,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"vOy" = ( +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"vOA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table/wood, +/obj/item/flashlight/lantern, +/turf/open/floor/iron/dark, +/area/station/service/chapel) "vOD" = ( /obj/machinery/status_display/ai/directional/north, /obj/effect/turf_decal/tile/dark_green{ @@ -73006,6 +74551,20 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vOZ" = ( +/obj/structure/chair, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"vPc" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Security Post - Engineering" + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "vPh" = ( /obj/machinery/light/directional/north, /obj/machinery/digital_clock/directional/north, @@ -73073,13 +74632,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/mine/production) -"vQz" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "vQG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -73179,32 +74731,18 @@ "vSi" = ( /turf/closed/wall, /area/mine/eva) -"vSu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -4 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5; - pixel_y = 28 - }, -/turf/open/floor/wood/large, -/area/station/service/bar) "vSw" = ( /obj/structure/table, -/obj/machinery/firealarm/directional/north, /obj/item/stack/sheet/iron/five, /obj/item/stack/cable_coil/five, /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 }, +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) "vSx" = ( -/obj/structure/sign/warning/chem_diamond/directional/south, /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white, @@ -73276,6 +74814,26 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"vTh" = ( +/obj/structure/fence/post{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"vTm" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "vTo" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1 @@ -73317,24 +74875,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"vUn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/cable/multilayer/multiz, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vUr" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -73351,6 +74891,7 @@ /obj/structure/table, /obj/item/clothing/suit/apron/chef, /obj/effect/decal/cleanable/dirt, +/obj/machinery/processor, /turf/open/floor/plating, /area/station/maintenance/port/aft) "vUW" = ( @@ -73378,12 +74919,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"vVA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "vVH" = ( /turf/closed/wall, /area/station/security/prison/safe) @@ -73441,8 +74976,8 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "vWo" = ( -/obj/machinery/light_switch/directional/north, /obj/structure/cable, +/obj/structure/sign/warning/test_chamber/directional/north, /turf/open/floor/iron, /area/station/science/explab) "vWr" = ( @@ -73493,21 +75028,12 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vXe" = ( -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "vXh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vXm" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vXn" = ( /obj/structure/table, /obj/item/food/pie/cream, @@ -73538,51 +75064,21 @@ /turf/open/floor/iron/white, /area/mine/living_quarters) "vXD" = ( -/obj/structure/stairs/south, /obj/structure/railing{ - dir = 4 + dir = 8 }, +/obj/structure/closet/l3closet/virology, +/obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/white, /area/station/medical/virology) "vXH" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) -"vXM" = ( -/obj/structure/chair/sofa/right/brown{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"vXO" = ( -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/lava/plasma/ice_moon, -/area/icemoon/underground/explored) "vXU" = ( /obj/item/toy/snowball, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"vXV" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/requests_console/directional/west{ - department = "Head of Personnel's Desk"; - name = "Head of Personnel's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "vYa" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -73590,8 +75086,8 @@ /turf/open/floor/iron/dark/textured, /area/station/commons/storage/primary) "vYc" = ( -/obj/machinery/light_switch/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/security/prison/visit) "vYd" = ( @@ -73599,6 +75095,7 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, +/obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) "vYg" = ( @@ -73622,10 +75119,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"vYp" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "vYq" = ( /obj/structure/barricade/wooden/snowed, /turf/open/misc/asteroid/snow/icemoon, @@ -73669,22 +75162,6 @@ }, /turf/open/floor/iron/large, /area/station/engineering/lobby) -"vYN" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"vYY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vZa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -73696,12 +75173,16 @@ /obj/effect/spawner/random/entertainment/dice, /turf/open/floor/iron, /area/station/commons/locker) +"vZl" = ( +/obj/effect/turf_decal/tile/purple, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center East" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "vZp" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sink/kitchen/directional/east{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "old sink" - }, +/obj/structure/sink/kitchen/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) "vZt" = ( @@ -73735,8 +75216,13 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) +"vZK" = ( +/obj/structure/fence, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vZS" = ( /obj/structure/rack, +/obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/mine/living_quarters) "vZW" = ( @@ -73748,25 +75234,18 @@ name = "Mix to Space" }, /turf/open/floor/plating/snowed/icemoon, -/area/station/maintenance/port/aft) +/area/icemoon/surface/outdoors/nospawn) "wab" = ( /obj/structure/cable, /obj/machinery/holopad, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"wal" = ( -/obj/structure/sign/warning, -/turf/closed/wall, -/area/station/commons/storage/mining) "wam" = ( /turf/open/openspace, /area/station/cargo/storage) "wav" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 4 - }, /obj/effect/turf_decal/caution/stand_clear{ dir = 8 }, @@ -73777,6 +75256,10 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/trimline/neutral/filled/end{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "waH" = ( @@ -73801,10 +75284,12 @@ /obj/item/reagent_containers/blood/random, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"waT" = ( -/obj/structure/sign/warning/docking/directional/south, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"waU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "waZ" = ( /obj/structure/table, /obj/item/assembly/igniter{ @@ -73859,14 +75344,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/eva/lower) +"wbJ" = ( +/obj/structure/ore_box, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "wbN" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) "wbR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -73894,28 +75384,20 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 }, -/obj/machinery/bluespace_vendor/directional/east, +/obj/structure/sign/departments/evac/starboard/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"wco" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"wcn" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "wcx" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/command/heads_quarters/ce) -"wcz" = ( -/obj/structure/sink/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/prison/garden) "wcD" = ( /obj/structure/chair/plastic{ dir = 4 @@ -73989,12 +75471,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"weg" = ( -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/turf/open/floor/iron/smooth, -/area/mine/mechbay) "weF" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -74010,6 +75486,10 @@ "weR" = ( /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) +"weT" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "weW" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -74050,10 +75530,15 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"wfu" = ( -/obj/structure/sign/poster/official/wtf_is_co2, -/turf/closed/wall/r_wall, -/area/station/maintenance/aft/greater) +"wfE" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wfF" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74068,12 +75553,27 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/command/meeting_room) +"wfP" = ( +/obj/structure/table/wood, +/obj/item/paper, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wfR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron/smooth_edge, /area/station/command/heads_quarters/rd) +"wgo" = ( +/obj/item/food/grown/potato{ + pixel_y = 4 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wgr" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -74086,11 +75586,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"wgu" = ( -/obj/machinery/newscaster/directional/west, -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "wgG" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /obj/effect/turf_decal/trimline/dark_red/arrow_ccw{ @@ -74110,6 +75605,10 @@ pixel_x = 3; pixel_y = -2 }, +/obj/machinery/keycard_auth{ + pixel_y = 5; + pixel_x = 10 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) "wgI" = ( @@ -74123,6 +75622,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) +"wgK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "wgL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -74143,14 +75648,15 @@ id = "Biohazard"; name = "Biohazard Containment Door" }, -/obj/effect/turf_decal/bot, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/science/research) "wgU" = ( /obj/machinery/modular_computer/preset/cargochat/science{ @@ -74170,6 +75676,7 @@ /area/station/maintenance/department/cargo) "whc" = ( /obj/machinery/light_switch/directional/east, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white/side{ dir = 4 }, @@ -74185,16 +75692,15 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white/textured, /area/station/security/medical) +"whe" = ( +/obj/item/stack/rods/two, +/obj/item/stack/sheet/iron, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "whf" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) -"whg" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "whh" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/filled/warning{ @@ -74223,6 +75729,9 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, +/obj/effect/turf_decal/siding/green{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) "whC" = ( @@ -74231,6 +75740,14 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/engine/cult, /area/station/service/library) +"whE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood/large, +/area/station/service/bar) "whP" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/donkpockets, @@ -74265,6 +75782,7 @@ /obj/structure/cable, /obj/effect/turf_decal/tile/yellow, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, /turf/open/floor/iron, /area/station/engineering/storage_shared) "wiv" = ( @@ -74283,35 +75801,20 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"wiM" = ( -/obj/machinery/computer/station_alert, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"wiO" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"wjv" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/machinery/keycard_auth/directional/west, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) -"wjy" = ( +"wjj" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/radiation/directional/west, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +/area/station/maintenance/fore) +"wjl" = ( +/obj/machinery/restaurant_portal/bar, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/barsign/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "wjz" = ( /obj/machinery/airalarm/directional/north, /obj/structure/disposalpipe/segment{ @@ -74331,17 +75834,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"wjR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/chair, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "wjS" = ( /obj/effect/landmark/start/assistant, /obj/structure/chair/pew{ @@ -74356,6 +75848,15 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"wkd" = ( +/obj/structure/rack, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/spawner/random/armory/shotgun, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory) "wkl" = ( /obj/machinery/camera/directional/west{ c_tag = "Telecomms Server Room"; @@ -74377,9 +75878,13 @@ /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) "wkC" = ( -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 4 + }, /obj/machinery/door/airlock/public/glass{ - name = "Central Access" + name = "Central Access"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/white/line{ @@ -74390,6 +75895,10 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) +"wkG" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/openspace/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wkH" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table, @@ -74410,7 +75919,7 @@ /area/station/maintenance/department/chapel) "wkV" = ( /obj/structure/fence/corner{ - dir = 1 + dir = 8 }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) @@ -74430,18 +75939,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"wla" = ( -/obj/effect/decal/cleanable/garbage, -/obj/item/reagent_containers/spray/chemsprayer/party{ - pixel_x = 1 - }, -/obj/item/clothing/head/costume/festive{ - pixel_y = -3; - pixel_x = -5 - }, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wlr" = ( /obj/structure/table, /obj/item/stack/spacecash/c10, @@ -74472,6 +75969,7 @@ /area/station/tcommsat/computer) "wlF" = ( /mob/living/carbon/human/species/monkey, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/grass, /area/station/medical/virology) "wlR" = ( @@ -74487,6 +75985,13 @@ dir = 6 }, /area/station/command/heads_quarters/rd) +"wlX" = ( +/obj/structure/window/reinforced/spawner/directional/north{ + pixel_y = 2 + }, +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/engine, +/area/station/science/xenobiology) "wlY" = ( /obj/machinery/door/airlock/freezer, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74503,6 +76008,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/iron, /area/mine/eva) "wml" = ( @@ -74551,11 +76059,11 @@ /turf/open/floor/iron/dark, /area/mine/eva) "wmX" = ( -/obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/iron/white, /area/station/science/xenobiology) "wna" = ( @@ -74569,9 +76077,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"wnp" = ( -/turf/closed/wall/r_wall, -/area/station/science/cytology) "wnv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -74634,12 +76139,8 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/light/directional/east, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Research Division"; - name = "Research Division Fax Machine"; - pixel_x = 1 - }, +/obj/machinery/newscaster/directional/north, +/obj/structure/closet/firecloset, /turf/open/floor/iron/white/side{ dir = 10 }, @@ -74656,7 +76157,9 @@ /area/station/hallway/primary/aft) "woC" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/sign/poster/official/safety_eye_protection/directional/south, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) "woH" = ( @@ -74686,31 +76189,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"woV" = ( -/obj/structure/table, -/obj/item/petri_dish{ - pixel_y = 15; - pixel_x = -5 - }, -/obj/item/petri_dish{ - pixel_y = 10; - pixel_x = 6 - }, -/obj/item/petri_dish{ - pixel_y = -6; - pixel_x = -1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) -"woX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wpc" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -74720,12 +76198,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"wph" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/fore) "wpi" = ( /obj/structure/table, /obj/item/holosign_creator/atmos{ @@ -74735,19 +76207,9 @@ pixel_x = 4; pixel_y = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"wpm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wpp" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/pipedispenser/disposal, @@ -74767,12 +76229,6 @@ /obj/item/stock_parts/micro_laser/high, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"wpv" = ( -/obj/structure/sign/warning/cold_temp, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/science/xenobiology) "wpx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -74783,6 +76239,14 @@ dir = 8 }, /area/mine/eva) +"wpz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wpC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -74798,6 +76262,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"wpR" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/bar) "wpY" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74828,7 +76300,7 @@ /area/station/science/research) "wqc" = ( /obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) "wqi" = ( @@ -74839,6 +76311,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "wqj" = ( @@ -74848,20 +76323,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/storage/mining) -"wqt" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wqx" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) +"wqG" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"wqH" = ( +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/obj/structure/sign/poster/contraband/little_fruits/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wqI" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -74904,12 +76381,10 @@ "wrc" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -11 - }, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/engineering/storage) "wrl" = ( @@ -74918,6 +76393,8 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/closet/crate/trashcart, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) "wrA" = ( @@ -74942,13 +76419,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wrN" = ( -/obj/structure/sign/departments/court/directional/north, -/turf/open/openspace, -/area/station/hallway/primary/fore) "wrU" = ( /obj/structure/rack, /obj/item/screwdriver, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/greater) "wrV" = ( @@ -74963,12 +76437,23 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"wsk" = ( +/obj/effect/spawner/random/trash/mess, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wsp" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 1 }, /turf/open/floor/iron, /area/station/science/ordnance) +"wsr" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wsu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -74993,6 +76478,18 @@ /obj/structure/reagent_dispensers/wall/virusfood/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) +"wsJ" = ( +/obj/machinery/vending/wardrobe/coroner_wardrobe, +/obj/effect/turf_decal/siding/dark_blue{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 8 + }, +/obj/structure/window/reinforced/half/directional/west, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "wsN" = ( /obj/structure/girder, /obj/structure/grille, @@ -75012,6 +76509,15 @@ /obj/effect/turf_decal/siding/thinplating_new, /turf/open/floor/iron, /area/station/commons/locker) +"wsY" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division Server Room"; + network = list("ss13","rd") + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/openspace/icemoon, +/area/station/science/server) "wta" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -75063,33 +76569,18 @@ dir = 5 }, /area/station/science/research) -"wtX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) -"wuc" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "wug" = ( /obj/machinery/gulag_item_reclaimer{ pixel_y = 24 }, /turf/open/floor/carpet, /area/station/security/processing) +"wuh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/science/ordnance) "wuo" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -75130,19 +76621,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"wuV" = ( -/obj/effect/turf_decal/siding/yellow/corner, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/table, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 +"wuS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/engineering/lobby) +/turf/open/openspace, +/area/station/science/ordnance) "wve" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, @@ -75151,9 +76636,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/chapel) -"wvu" = ( -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "wvv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75196,10 +76678,6 @@ "wvI" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"wvJ" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wvK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75209,12 +76687,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"wvL" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/misc/dirt{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/icemoon/underground/explored/graveyard) "wvV" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/pumproom) @@ -75225,22 +76697,6 @@ /mob/living/basic/pet/cat/runtime, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"wwg" = ( -/obj/machinery/camera{ - c_tag = "Service - Botany"; - dir = 9 - }, -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "wwn" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/west{ @@ -75302,6 +76758,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/service/lawyer, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, /turf/open/floor/wood, /area/station/service/lawoffice) "wxg" = ( @@ -75320,9 +76779,23 @@ id = "Cargo_Store_In"; name = "Cargo Warehouse Shutters" }, -/obj/machinery/door/firedoor, +/obj/machinery/door/firedoor{ + dir = 8 + }, /turf/open/floor/iron, /area/station/cargo/warehouse) +"wxt" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/closet/chefcloset, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "wxw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -75378,6 +76851,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"wyy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external/glass{ + name = "Garden Access" + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "wyB" = ( /obj/machinery/conveyor{ dir = 1; @@ -75420,6 +76902,11 @@ /obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"wzi" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wzk" = ( /turf/open/floor/wood, /area/station/command/meeting_room) @@ -75441,6 +76928,35 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"wzB" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"wzH" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"wzU" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/science/ordnance) "wAf" = ( /obj/machinery/requests_console/directional/north{ department = "Cargo Bay"; @@ -75452,13 +76968,16 @@ /obj/item/folder/yellow, /turf/open/floor/iron, /area/station/cargo/storage) -"wAk" = ( -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = 3 +"wAh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 }, -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "wAq" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -75469,6 +76988,9 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/structure/noticeboard/hos{ + pixel_y = 36 + }, /turf/open/floor/iron, /area/station/security/brig/upper) "wAv" = ( @@ -75480,14 +77002,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"wAx" = ( -/obj/structure/sign/warning/secure_area/directional/north{ - desc = "A warning sign which reads 'SERVER ROOM'."; - name = "SERVER ROOM" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/science/server) "wAB" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -75495,6 +77009,18 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"wAG" = ( +/obj/structure/lattice, +/obj/structure/sign/poster/official/help_others/directional/north, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) +"wAJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/griddle, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "wAQ" = ( /obj/machinery/computer/shuttle/labor/one_way{ dir = 4 @@ -75528,13 +77054,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) -"wBa" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 10 - }, -/turf/open/floor/wood/large, -/area/station/hallway/primary/starboard) "wBb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75572,15 +77091,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) -"wBr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"wBv" = ( +/obj/structure/fence{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/kirbyplants/organic/plant2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wBy" = ( /obj/machinery/netpod, /obj/item/radio/intercom/directional/south, @@ -75592,12 +77108,15 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"wBF" = ( -/obj/machinery/status_display/supply{ - pixel_y = 2 - }, -/turf/closed/wall, -/area/station/cargo/sorting) +"wBI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing/corner, +/turf/open/floor/iron, +/area/mine/eva) "wBT" = ( /obj/machinery/camera/directional/south{ c_tag = "Port Hallway Center" @@ -75605,6 +77124,20 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wBU" = ( +/obj/structure/closet/emcloset, +/obj/item/pickaxe, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wBV" = ( /obj/structure/closet/crate, /turf/open/floor/iron, @@ -75647,6 +77180,12 @@ dir = 8 }, /area/station/science/explab) +"wDb" = ( +/obj/machinery/requests_console/auto_name/directional/east, +/obj/machinery/duct, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wDc" = ( /obj/structure/cable, /obj/machinery/door/airlock/engineering{ @@ -75663,6 +77202,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"wDd" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/vending/wardrobe/science_wardrobe, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "wDe" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75709,6 +77255,7 @@ pixel_x = 2; pixel_y = -1 }, +/obj/structure/sign/warning/directional/north, /turf/open/floor/iron, /area/station/commons/storage/mining) "wDk" = ( @@ -75733,6 +77280,9 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 8 }, +/obj/effect/turf_decal/siding/green{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/mine/laborcamp) "wDG" = ( @@ -75755,6 +77305,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"wDS" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wDU" = ( /turf/closed/wall/r_wall, /area/mine/eva/lower) @@ -75765,20 +77323,15 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"wEb" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "wEh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/sorting) -"wEq" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/remains/human, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "wEG" = ( /obj/structure/extinguisher_cabinet/directional/south{ pixel_x = 4 @@ -75827,6 +77380,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"wEZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/firedoor{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "wFe" = ( /obj/structure/railing{ dir = 1 @@ -75843,6 +77415,27 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wFt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"wFJ" = ( +/turf/open/floor/wood, +/area/station/commons/lounge) "wFN" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -75876,13 +77469,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/explab) -"wGm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "wGv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -75917,7 +77503,6 @@ }, /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) "wGO" = ( @@ -75933,10 +77518,6 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) -"wGQ" = ( -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/stone, -/area/station/commons/lounge) "wGW" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law, @@ -75987,12 +77568,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"wHr" = ( -/obj/structure/fence/post{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "wHH" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -76000,17 +77575,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"wHK" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "wIg" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -76023,22 +77587,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/central) -"wIx" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "wIz" = ( /obj/machinery/light/small/directional/west, /obj/structure/table/wood, @@ -76074,15 +77622,22 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"wJD" = ( -/obj/structure/sign/departments/maint/alt, -/turf/closed/wall, -/area/station/maintenance/aft/lesser) +"wJy" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wJG" = ( /obj/machinery/holopad, /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) +"wJH" = ( +/obj/structure/fence/post, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "wJM" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, @@ -76110,10 +77665,6 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) -"wKh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "wKv" = ( /obj/structure/table, /obj/item/radio/off, @@ -76143,7 +77694,8 @@ "wKY" = ( /obj/machinery/vending/games, /obj/machinery/newscaster/directional/north, -/turf/open/floor/wood, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/sepia, /area/station/service/library) "wLk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers, @@ -76162,6 +77714,7 @@ /area/station/command/bridge) "wLK" = ( /obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) "wLO" = ( @@ -76186,10 +77739,12 @@ "wLU" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown{ - dir = 8 +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/central) "wLW" = ( /obj/effect/landmark/atmospheric_sanity/mark_all_station_areas_as_goal, @@ -76274,19 +77829,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/storage/mining) -"wME" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = 6; - pixel_y = 28 - }, -/obj/machinery/button/door/directional/north{ - id = "botany_chasm_and_wolf_shutters"; - name = "Exterior Shutters"; - pixel_y = 28; - pixel_x = -4 - }, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "wMT" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron, @@ -76304,6 +77846,29 @@ dir = 1 }, /area/station/security/office) +"wMY" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) +"wNj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wNp" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -76352,6 +77917,19 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/storage) +"wOt" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wOy" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -76362,12 +77940,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wOC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "wOF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, @@ -76404,26 +77976,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"wPe" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) "wPf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -76454,6 +78006,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"wPx" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wPD" = ( /obj/machinery/door/airlock/security/glass{ name = "Evidence Storage" @@ -76478,16 +78042,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"wPR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "wPX" = ( /obj/structure/table, /obj/item/storage/belt/medical{ @@ -76534,13 +78088,9 @@ /turf/open/floor/plating/icemoon, /area/station/security/execution/education) "wQx" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/structure/flora/grass/brown/style_random, +/turf/open/misc/asteroid/snow/standard_air, +/area/station/science/cytology) "wQC" = ( /obj/item/flashlight/lantern, /obj/structure/table/wood, @@ -76554,12 +78104,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"wQN" = ( -/obj/structure/fence/cut/large{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "wQR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -76578,15 +78122,16 @@ "wRa" = ( /turf/open/openspace, /area/station/security/prison) -"wRc" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "wRd" = ( /turf/open/floor/iron, /area/station/engineering/main) +"wRk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "wRr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76646,6 +78191,7 @@ /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/door/firedoor/heavy, /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "wRR" = ( @@ -76658,10 +78204,18 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/medical/chemistry) +"wSb" = ( +/obj/effect/turf_decal/tile/red, +/obj/structure/tall_stairs/start/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "wSc" = ( -/obj/machinery/power/port_gen/pacman, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/port/aft) "wSd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76708,15 +78262,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/work) -"wSL" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/tile/green/opposingcorners{ +"wSC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/security/prison/garden) "wSM" = ( /obj/machinery/conveyor{ dir = 4; @@ -76724,7 +78276,9 @@ }, /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /turf/open/floor/plating, /area/station/cargo/storage) @@ -76734,12 +78288,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wSX" = ( -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron/dark/side, -/area/mine/eva) "wSZ" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Permabrig Upper Hallway East"; @@ -76747,14 +78295,13 @@ }, /turf/open/openspace, /area/station/security/prison) +"wTf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wTg" = ( /turf/closed/wall, /area/station/engineering/main) -"wTl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood, -/area/station/commons/lounge) "wTw" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 10 @@ -76795,11 +78342,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wUb" = ( -/obj/structure/rack, -/obj/item/poster/random_contraband, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "wUi" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Stbd"; @@ -76813,6 +78355,13 @@ "wUj" = ( /turf/closed/wall, /area/station/service/lawoffice) +"wUm" = ( +/obj/machinery/vatgrower{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "wUt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76844,11 +78393,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"wUD" = ( -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"wUB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "wUJ" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -76907,6 +78462,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/central/greater) +"wVd" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wVe" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -76922,7 +78493,6 @@ /obj/structure/cable, /obj/effect/spawner/random/trash/caution_sign, /obj/effect/decal/cleanable/glass, -/obj/structure/sign/warning/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/lesser) "wVu" = ( @@ -76958,23 +78528,22 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"wVI" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"wVJ" = ( /obj/structure/cable, -/turf/open/floor/eighties, -/area/station/commons/lounge) -"wVR" = ( -/obj/structure/disposalpipe/junction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center" + }, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/hallway/primary/starboard) +"wVY" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/security/courtroom) "wWa" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -76988,12 +78557,12 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wWB" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, +"wWo" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, /area/station/maintenance/starboard/fore) "wWM" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ @@ -77024,6 +78593,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"wXb" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/openspace, +/area/station/service/bar/atrium) "wXh" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ dir = 8 @@ -77033,6 +78606,7 @@ /area/station/medical/cryo) "wXn" = ( /obj/structure/flora/grass/both/style_3, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) "wXR" = ( @@ -77047,6 +78621,16 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/station/cargo/office) +"wXS" = ( +/obj/structure/rack, +/obj/item/shovel, +/obj/item/clothing/mask/gas/plaguedoctor, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/decal/cleanable/dirt, +/obj/structure/window/reinforced/half/directional/east, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "wXW" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -77072,10 +78656,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"wYp" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/ice, -/area/icemoon/underground/explored) +"wYi" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) "wYq" = ( /obj/machinery/door/airlock{ name = "Perma Overlook Closet" @@ -77106,6 +78691,16 @@ /obj/machinery/requests_console/auto_name/directional/north, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"wYH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "wYJ" = ( /turf/closed/wall, /area/station/engineering/storage_shared) @@ -77115,6 +78710,12 @@ }, /turf/open/floor/plating, /area/station/security/courtroom) +"wYS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "wYZ" = ( /obj/structure/disposalpipe/junction/flip{ dir = 1 @@ -77133,8 +78734,6 @@ }, /obj/machinery/button/door/directional/east{ id = "eva_shutters"; - pixel_x = 26; - pixel_y = 6; req_access = list("command") }, /obj/effect/turf_decal/stripes/corner{ @@ -77167,12 +78766,11 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/machinery/camera{ +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/machinery/camera/directional/north{ c_tag = "Xenobiology Pens Hall - Fore"; - dir = 9; network = list("ss13","rd","xeno") }, -/obj/structure/sign/xenobio_guide/directional/north, /turf/open/floor/iron/white, /area/station/science/xenobiology) "wZD" = ( @@ -77183,11 +78781,43 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"wZR" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload Turret Control" + }, +/obj/machinery/camera/directional/south{ + c_tag = "Bridge Center" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "wZV" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"wZW" = ( +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/rack, +/obj/item/clothing/accessory/armband/hydro{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/clothing/accessory/armband/hydro, +/obj/item/toy/figure/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xad" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable, @@ -77235,6 +78865,14 @@ /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"xay" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "xaA" = ( /obj/structure/closet/secure_closet/hop, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -77281,6 +78919,11 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/mine/living_quarters) +"xbe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/toolcloset, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "xbn" = ( /obj/effect/turf_decal/tile/neutral/diagonal_edge, /obj/effect/landmark/event_spawn, @@ -77315,10 +78958,6 @@ }, /turf/open/floor/iron/freezer, /area/mine/eva/lower) -"xbB" = ( -/obj/machinery/gibber, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "xbC" = ( /obj/effect/turf_decal/trimline/dark_green/arrow_ccw, /obj/machinery/meter, @@ -77338,6 +78977,12 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"xcf" = ( +/obj/structure/closet/crate/grave/filled, +/turf/open/misc/dirt{ + initial_gas_mix = "ICEMOON_ATMOS" + }, +/area/icemoon/underground/explored/graveyard) "xcp" = ( /obj/item/trash/pistachios, /turf/open/floor/plating, @@ -77368,16 +79013,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xcO" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/sink/kitchen/directional/west, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/service/bar) "xcW" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ dir = 1 @@ -77401,16 +79036,19 @@ /obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"xdk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "xdl" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) +"xds" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xdH" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/chair{ @@ -77421,10 +79059,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"xdM" = ( -/obj/structure/sign/warning/cold_temp, -/turf/closed/wall, -/area/station/hallway/secondary/exit/departure_lounge) "xdU" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -77438,21 +79072,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) -"xdY" = ( -/obj/structure/sign/warning/directional/west, -/turf/open/genturf/blue, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "xdZ" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 6 }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"xea" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xeg" = ( /obj/effect/turf_decal/weather/snow/corner, /turf/open/misc/asteroid/snow/icemoon, @@ -77479,6 +79104,13 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/service/library) +"xeI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "xeJ" = ( /obj/machinery/light/directional/east, /obj/machinery/camera/directional/east{ @@ -77540,6 +79172,28 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"xfp" = ( +/obj/structure/table, +/obj/item/multitool/circuit{ + pixel_x = -8 + }, +/obj/item/multitool/circuit{ + pixel_x = -4 + }, +/obj/item/multitool/circuit, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/explab) "xft" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -77578,6 +79232,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) +"xgf" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, +/obj/item/clothing/shoes/wheelys/skishoes{ + pixel_y = -8 + }, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/upper) "xgg" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/eva{ @@ -77622,13 +79288,18 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = -8; - pixel_y = -24 +/obj/structure/table/reinforced, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 5; + pixel_x = -6 }, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_x = -8; - pixel_y = -36 +/obj/machinery/button/door/incinerator_vent_atmos_main/table{ + pixel_y = 13; + pixel_x = -6 + }, +/obj/machinery/button/ignition/incinerator/atmos/table{ + pixel_y = 5; + pixel_x = 6 }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) @@ -77695,17 +79366,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/blue, /area/station/hallway/secondary/entry) -"xhg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Garden" - }, -/obj/item/kirbyplants/random, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics/garden) "xhk" = ( /turf/open/floor/iron/dark, /area/station/commons/storage/primary) @@ -77757,6 +79417,10 @@ "xhK" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"xhV" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "xie" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering MiniSat Access" @@ -77768,14 +79432,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"xij" = ( -/obj/structure/railing{ - dir = 1 +"xiq" = ( +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 }, -/obj/machinery/smartfridge/petri/preloaded, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/security/processing) "xit" = ( /obj/item/book/manual/wiki/security_space_law, /obj/structure/table/wood, @@ -77797,6 +79462,14 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"xiL" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "xiO" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -77822,10 +79495,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/large, /area/station/medical/medbay/lobby) -"xjg" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall, -/area/station/medical/medbay/lobby) +"xjk" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "xjm" = ( /obj/machinery/light_switch/directional/north, /obj/machinery/camera/directional/north{ @@ -77834,12 +79508,6 @@ /obj/vehicle/ridden/janicart, /turf/open/floor/iron, /area/station/service/janitor) -"xjs" = ( -/obj/structure/railing/corner/end{ - dir = 8 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) "xjC" = ( /turf/open/floor/plating, /area/station/maintenance/department/cargo) @@ -77869,14 +79537,14 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"xjU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/iron/white, -/area/station/science/research) +"xjT" = ( +/obj/structure/table, +/obj/item/storage/medkit/regular, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "xjZ" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/iron/dark, @@ -77894,25 +79562,44 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, /turf/open/floor/wood, /area/station/commons/dorms) +"xkA" = ( +/obj/structure/sign/departments/medbay/alt/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "xkH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, /obj/machinery/power/apc/auto_name/directional/north, /obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light_switch/directional/north, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"xkT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +"xkW" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) +"xkY" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/west, +/obj/machinery/fax/auto_name, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "xkZ" = ( /obj/machinery/teleport/station, /obj/machinery/light/small/directional/east, @@ -77927,13 +79614,16 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/large, /area/station/medical/storage) -"xlp" = ( -/obj/structure/sign/nanotrasen, -/obj/structure/fence/post{ +"xlm" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/iron, +/area/station/service/hydroponics) "xlq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -77991,10 +79681,6 @@ "xlQ" = ( /obj/machinery/computer/order_console/mining, /obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Mining Bunks"; - dir = 6 - }, /turf/open/floor/iron/dark/side{ dir = 4 }, @@ -78021,6 +79707,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"xmD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "xmK" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -78031,17 +79727,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/storage) -"xmL" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "xmN" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom/directional/south, @@ -78075,20 +79760,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xnc" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, +"xne" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 6 +/obj/item/trash/candle{ + pixel_y = 12 }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"xnf" = ( -/obj/item/kirbyplants/fern, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/aft/greater) "xni" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -78100,15 +79781,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"xnC" = ( -/obj/structure/sign/warning/fire/directional/east, -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +"xnB" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "xnE" = ( /obj/machinery/duct, /obj/effect/turf_decal/tile/yellow{ @@ -78143,18 +79821,25 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xog" = ( -/obj/structure/fence{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "xow" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) +"xpc" = ( +/obj/effect/turf_decal/siding/yellow/corner, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/table, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "xpw" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -78191,16 +79876,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"xpO" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "xpP" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -78209,26 +79884,21 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"xqa" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "xqj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/greater) +"xqt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/commons/lounge) "xqu" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 10"; @@ -78247,13 +79917,29 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/office) -"xqP" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 1 +"xqT" = ( +/obj/item/chair/wood, +/obj/item/toy/plush/moth{ + name = "Ariadne" }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/flag/nanotrasen/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"xqU" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "xqX" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/structure/cable, @@ -78271,25 +79957,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xre" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/left/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "xrf" = ( /obj/structure/railing, /obj/structure/cable, @@ -78333,33 +80000,20 @@ }, /turf/open/floor/iron/dark, /area/mine/storage) -"xrL" = ( -/obj/machinery/washing_machine, -/obj/structure/sign/poster/official/no_erp/directional/west, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/dorms/laundry) "xrS" = ( /obj/structure/ladder, /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"xrT" = ( +/obj/structure/sign/departments/maint/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "xse" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/light/blacklight/directional/east, /turf/open/floor/wood, /area/station/service/library) -"xsm" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "xss" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -78376,28 +80030,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"xsy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "xsA" = ( /obj/structure/rack, /obj/machinery/light/small/dim/directional/north, +/obj/structure/sign/departments/maint/alt/directional/north, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"xsP" = ( -/obj/structure/table, -/obj/item/folder/white, -/obj/item/folder/white, -/obj/item/pen, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/explab) "xtc" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -78405,15 +80044,20 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xte" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/structure/railing/corner/end{ +"xth" = ( +/obj/structure/closet/crate/miningcar, +/obj/effect/spawner/random/exotic/snow_gear, +/obj/effect/spawner/random/exotic/snow_gear, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"xtk" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "xtn" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -78439,12 +80083,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/workout) -"xtH" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "xtQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78460,12 +80098,11 @@ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/closet/l3closet/virology, /obj/machinery/light/directional/north, +/obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "xtX" = ( -/obj/structure/sign/warning/secure_area/directional/east, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78474,8 +80111,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xul" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/left/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xun" = ( -/obj/machinery/door/poddoor/massdriver_chapel, +/obj/machinery/door/poddoor/massdriver_chapel{ + dir = 4 + }, /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/service/chapel) @@ -78511,15 +80169,22 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"xuL" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/fore) "xuM" = ( /obj/effect/turf_decal/stripes/line, -/obj/machinery/camera{ +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/machinery/camera/directional/north{ c_tag = "Medbay Cryogenics"; - dir = 9; network = list("ss13","medbay") }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "xuQ" = ( @@ -78527,6 +80192,7 @@ dir = 4 }, /mob/living/carbon/human/species/monkey, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/grass, /area/station/medical/virology) "xuR" = ( @@ -78579,9 +80245,6 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"xvx" = ( -/turf/open/misc/asteroid/snow/standard_air, -/area/station/science/cytology) "xvy" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/stripes/line{ @@ -78589,8 +80252,17 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"xvE" = ( +/obj/item/toy/snowball{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "xvO" = ( /obj/structure/girder, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/plating, /area/mine/eva/lower) "xvZ" = ( @@ -78603,7 +80275,7 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "xwd" = ( -/obj/structure/stairs/east, +/obj/structure/tall_stairs/end/directional/east, /turf/open/floor/iron/white, /area/station/science/xenobiology) "xwf" = ( @@ -78613,6 +80285,18 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"xwi" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xwm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/green{ @@ -78626,6 +80310,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) +"xwq" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xwr" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/eva{ @@ -78691,12 +80381,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"xwL" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "xwM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78707,10 +80391,20 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"xxo" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +"xxm" = ( +/obj/structure/bodycontainer/morgue/beeper_off{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/medical/morgue) "xxs" = ( /obj/effect/turf_decal/bot_white, /obj/structure/reagent_dispensers/plumbed, @@ -78746,12 +80440,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"xxH" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "xxI" = ( /obj/machinery/airalarm/directional/north, /obj/item/kirbyplants/random, @@ -78770,19 +80458,10 @@ /obj/structure/flora/grass/brown/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"xxZ" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/cytology{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/storage/box/swab{ - pixel_y = 7; - pixel_x = 7 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +"xxX" = ( +/obj/structure/sign/xenobio_guide/directional/north, +/turf/open/openspace, +/area/station/science/xenobiology) "xyc" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -78823,6 +80502,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/xenobiology) +"xyp" = ( +/obj/structure/disposaloutlet{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) +"xyr" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "xyx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78865,9 +80559,18 @@ /turf/open/floor/engine, /area/station/science/genetics) "xyG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "xyN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78902,6 +80605,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"xyY" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xzd" = ( /obj/machinery/camera/directional/east{ c_tag = "Library South" @@ -78916,6 +80623,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xzk" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/wallet{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/item/newspaper, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xzo" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -78960,6 +80677,7 @@ dir = 8 }, /obj/structure/extinguisher_cabinet/directional/east, +/obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) "xAn" = ( @@ -79004,15 +80722,42 @@ dir = 1 }, /area/station/science/explab) +"xBf" = ( +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/rag, +/obj/structure/table/wood, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "xBh" = ( /obj/machinery/light/directional/north, -/obj/machinery/button/door/directional/north{ - id = "ceprivacy"; - name = "Privacy Shutters Control" - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"xBj" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "xBn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -79025,13 +80770,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"xBs" = ( -/obj/machinery/status_display/ai/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "xBt" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -79059,24 +80797,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage/gas) -"xBS" = ( -/obj/item/training_toolbox{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/item/training_toolbox{ - pixel_y = -2 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Holodeck Control" - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/machinery/status_display/evac/directional/east, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "xBU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -79086,41 +80806,21 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "xBX" = ( -/obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Mix to Port" }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"xCa" = ( -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/work) "xCb" = ( /obj/structure/table/wood, /obj/item/folder/red, /obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, /turf/open/floor/wood, /area/station/security/courtroom) -"xCh" = ( -/obj/machinery/button/door/directional/west{ - id = "xenobio5"; - name = "Xenobio Pen 5 Blast Door"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"xCj" = ( -/obj/structure/sign/departments/holy, -/turf/closed/wall, -/area/station/service/chapel) "xCl" = ( /turf/open/floor/iron, /area/station/science/robotics/lab) @@ -79176,6 +80876,21 @@ /obj/item/storage/pill_bottle/mannitol, /turf/open/floor/iron/white, /area/station/medical/cryo) +"xCS" = ( +/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/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/aft) +"xDa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/explab) "xDb" = ( /turf/closed/wall/r_wall, /area/station/medical/virology) @@ -79195,6 +80910,30 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"xDu" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Cargo Bay Receiving Dock" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor"; + name = "Loading Doors"; + pixel_y = -8; + req_access = list("cargo") + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor2"; + name = "Loading Doors"; + pixel_y = 8; + req_access = list("cargo") + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xDw" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, @@ -79213,14 +80952,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/workout) -"xDQ" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "xDU" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs, @@ -79257,10 +80988,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) -"xEt" = ( -/obj/structure/closet/bombcloset, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "xEE" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -79288,10 +81015,10 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/bluespace_vendor/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, +/obj/structure/sign/calendar/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) "xEL" = ( @@ -79301,34 +81028,33 @@ /obj/machinery/disposal/bin, /obj/structure/cable, /obj/structure/disposalpipe/trunk, +/obj/structure/sign/warning/fire/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) -"xEP" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 1; - name = "hydroponics reservoir" - }, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" +"xEV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron/dark/textured, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"xEQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science/ordnance) "xEW" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/mine/living_quarters) +"xEX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "xFm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79350,14 +81076,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"xFz" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/service/bar) "xFB" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen/engi, @@ -79373,67 +81091,24 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage) -"xFG" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) -"xFM" = ( -/obj/machinery/incident_display/delam, -/turf/closed/wall/r_wall, -/area/station/engineering/supermatter/room) -"xFT" = ( -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/rack, -/obj/item/clothing/accessory/armband/hydro{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/clothing/accessory/armband/hydro, -/obj/item/toy/figure/botanist, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "xFU" = ( /obj/structure/barricade/wooden, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "xGh" = ( -/obj/structure/railing{ - dir = 8 - }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/item/radio/intercom/directional/south{ pixel_x = -28 }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ +/obj/effect/turf_decal/tile/dark/half/contrasted{ dir = 8 }, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"xGi" = ( -/obj/structure/table/glass, -/obj/item/seeds/glowshroom, -/obj/item/seeds/bamboo{ - pixel_y = 3; - pixel_x = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xGp" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/east{ @@ -79480,6 +81155,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) +"xGL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xGM" = ( /obj/machinery/computer/atmos_control/carbon_tank{ dir = 8 @@ -79524,26 +81204,31 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) -"xHv" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"xHr" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "xHE" = ( -/obj/structure/stairs/east, -/turf/open/floor/plating, +/obj/structure/tall_stairs/end/directional/east, +/obj/structure/railing, +/turf/open/floor/iron/textured, /area/station/security/brig) +"xHV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/cold_temp/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/aft/greater) "xHY" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/structure/sign/warning/secure_area/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"xIh" = ( -/obj/effect/spawner/random/structure/tank_holder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xIk" = ( /obj/structure/chair/comfy{ dir = 4 @@ -79599,14 +81284,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xJi" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, -/turf/open/floor/iron/showroomfloor, -/area/station/engineering/atmos) "xJj" = ( /turf/open/floor/iron, /area/station/science/xenobiology) @@ -79652,9 +81329,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"xJW" = ( -/turf/open/floor/iron/half, -/area/station/service/hydroponics) "xKb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/south, @@ -79690,25 +81364,32 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/upper) "xKq" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/turf/open/floor/iron, +/area/station/service/hydroponics) +"xKD" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/cargo/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "xKJ" = ( /turf/closed/wall, /area/station/command/meeting_room) -"xKT" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Dormitory South" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +"xKO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/commons/dorms) +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/plating, +/area/station/medical/morgue) "xKX" = ( /obj/effect/turf_decal/trimline/dark_green/arrow_ccw{ dir = 6 @@ -79755,6 +81436,7 @@ /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/machinery/light/directional/east, +/obj/structure/sign/departments/security/directional/east, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -79765,6 +81447,15 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"xLT" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "xLV" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, @@ -79790,8 +81481,16 @@ /turf/closed/mineral/random/snow, /area/icemoon/underground/explored) "xMv" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/filled/end{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "xMx" = ( @@ -79799,8 +81498,8 @@ c_tag = "Labor Camp External North"; network = list("labor") }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/labor_camp) "xMM" = ( /obj/machinery/computer/operating{ dir = 8 @@ -79809,6 +81508,10 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, +/obj/machinery/button/door/directional/north{ + id = "surgery"; + name = "Surgery Shutter Control" + }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "xMQ" = ( @@ -79842,16 +81545,28 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_half, /area/station/ai_monitored/command/storage/eva) -"xNa" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +"xNm" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "xNn" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"xNs" = ( +/obj/structure/table/wood, +/obj/item/clothing/mask/fakemoustache, +/obj/item/cigarette/pipe, +/obj/item/clothing/glasses/monocle, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "xNC" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -79860,8 +81575,7 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "xNE" = ( -/obj/structure/stairs/west, -/obj/structure/railing, +/obj/structure/tall_stairs/end/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) "xNF" = ( @@ -79874,6 +81588,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xNR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "xOb" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -79883,65 +81603,30 @@ }, /turf/open/floor/iron/dark, /area/mine/mechbay) -"xOd" = ( -/obj/structure/minecart_rail{ - dir = 6 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/structure/sign/warning/directional/west, +"xOc" = ( +/obj/machinery/light/cold/directional/west, /turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) -"xOi" = ( -/obj/machinery/door/window/left/directional/south{ - req_access = list("kitchen"); - name = "The Ice Box" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) +"xOk" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xOl" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"xOE" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Bar and Kitchen" - }, -/obj/structure/plasticflaps/opaque, -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) -"xOV" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"xPf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"xPs" = ( +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external/glass{ + name = "Cytology External Airlock" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "xPu" = ( /obj/machinery/light/directional/east, /turf/open/misc/asteroid/snow/icemoon, @@ -80017,6 +81702,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"xQj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "xQm" = ( /obj/machinery/airalarm/directional/west, /obj/structure/closet/secure_closet/freezer/fridge/all_access, @@ -80032,6 +81727,7 @@ /area/station/security/checkpoint/customs/auxiliary) "xQu" = ( /obj/machinery/light/directional/north, +/obj/structure/sign/warning/directional/north, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) "xQB" = ( @@ -80060,27 +81756,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/mine/production) -"xQS" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 8; - pixel_x = 3 - }, -/obj/item/food/grown/eggplant{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/food/grown/mushroom/chanterelle{ - pixel_y = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "xQT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, @@ -80102,8 +81777,15 @@ /obj/structure/bodycontainer/morgue{ dir = 8 }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/mid_joiner, +/obj/effect/turf_decal/trimline/neutral/mid_joiner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half, /area/station/medical/morgue) "xRI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80117,6 +81799,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties/red, /area/station/security/prison/safe) +"xRQ" = ( +/obj/structure/bookcase/random, +/turf/open/floor/iron/grimy, +/area/station/maintenance/aft/greater) "xRZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, @@ -80142,7 +81828,6 @@ "xSu" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder, -/obj/structure/extinguisher_cabinet/directional/south, /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -80151,14 +81836,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"xSw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/sign/warning/secure_area/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/upper) "xSA" = ( /turf/open/floor/wood, /area/station/service/lawoffice) @@ -80168,11 +81845,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/port) -"xTi" = ( -/obj/effect/landmark/start/clown, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "xTp" = ( /obj/machinery/camera/directional/south{ c_tag = "Solar Maintenance - North East" @@ -80194,16 +81866,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"xTI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ +"xTN" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 4 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/south, +/obj/structure/sign/poster/contraband/lizard/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xTQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80237,6 +81920,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"xUd" = ( +/obj/structure/marker_beacon/burgundy, +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xUe" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -80254,14 +81943,6 @@ }, /turf/open/openspace, /area/station/science/ordnance/office) -"xUt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"xUw" = ( -/obj/structure/sign/departments/maint/directional/west, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "xUF" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -80294,6 +81975,7 @@ /area/station/engineering/engine_smes) "xUR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/security/courtroom) "xUS" = ( @@ -80308,6 +81990,7 @@ /area/station/cargo/miningdock) "xUT" = ( /obj/structure/chair/stool/directional/east, +/obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "xUU" = ( @@ -80324,21 +82007,30 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"xVc" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet1"; - name = "Unit 1" - }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "xVf" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"xVo" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "xVq" = ( /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room) +"xVB" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "xVG" = ( /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) @@ -80370,10 +82062,6 @@ "xVX" = ( /obj/structure/closet/crate, /obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 29 - }, /turf/open/floor/iron/smooth, /area/mine/eva/lower) "xVZ" = ( @@ -80387,11 +82075,32 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"xWk" = ( +/obj/machinery/biogenerator, +/obj/machinery/door/window/left/directional/south{ + name = "Biogenerator Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xWo" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"xWr" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Upper" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "xWA" = ( /obj/structure/table, /obj/item/plate, @@ -80401,16 +82110,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"xWI" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "xWM" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -80484,13 +82183,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"xXE" = ( -/obj/structure/chair/pew{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/chapel, -/area/station/service/chapel) "xXQ" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -80507,9 +82199,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/spawner/random/structure/table_fancy, /obj/machinery/light/blacklight/directional/north, -/obj/structure/sign/painting/large/library{ - dir = 4 - }, /turf/open/floor/wood, /area/station/service/library) "xXV" = ( @@ -80520,6 +82209,7 @@ dir = 5 }, /obj/structure/cable, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "xYj" = ( @@ -80543,6 +82233,7 @@ /obj/machinery/camera/directional/west{ c_tag = "Disposals" }, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) "xYw" = ( @@ -80563,6 +82254,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xYQ" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "xYT" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -80572,19 +82270,29 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/iron/smooth, /area/mine/eva) -"xZg" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/security/prison/safe) "xZl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) +"xZq" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"xZv" = ( +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "xZA" = ( /turf/open/floor/iron/checker, /area/station/science/lab) +"xZS" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/item/reagent_containers/cup/bucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xZW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80632,10 +82340,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/mine/storage) -"yap" = ( -/obj/structure/stairs/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/aft) "yar" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -80678,6 +82382,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) +"yaF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "yaG" = ( /obj/effect/landmark/navigate_destination/chapel, /turf/open/floor/iron/dark/side{ @@ -80691,6 +82407,12 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/railing/corner/end{ + dir = 2 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "yaL" = ( @@ -80707,15 +82429,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) -"ybe" = ( -/obj/structure/rack, -/obj/item/soap{ - pixel_y = -2 +"ybb" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/smooth_large, -/area/station/science/cytology) +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ybf" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/iron/dark, @@ -80734,9 +82457,8 @@ /obj/structure/bookcase{ name = "Forbidden Knowledge" }, -/obj/structure/sign/painting/large/library_private{ - dir = 1 - }, +/obj/structure/sign/painting/large/library_private/directional/north, +/obj/structure/sign/painting/library_private/directional/west, /turf/open/floor/engine/cult, /area/station/service/library) "ybu" = ( @@ -80766,8 +82488,8 @@ /turf/open/floor/iron, /area/station/commons/dorms) "ybF" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) "ybI" = ( @@ -80823,6 +82545,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"ycx" = ( +/obj/structure/railing, +/obj/machinery/vending/cytopro, +/turf/open/floor/iron/smooth_large, +/area/station/science/cytology) "ycA" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/tile/blue{ @@ -80834,18 +82561,14 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/storage) -"ycE" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 +"ycO" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sink/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ycQ" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance, @@ -80905,12 +82628,6 @@ dir = 1 }, /area/mine/eva/lower) -"ydv" = ( -/obj/structure/chair/stool/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "ydA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -80920,15 +82637,9 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ydG" = ( -/obj/machinery/status_display/ai/directional/east, -/obj/structure/chair/sofa/left/brown, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "ydH" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/glass, -/obj/structure/sign/warning/no_smoking/circle/directional/west, /turf/open/floor/plating/icemoon, /area/station/maintenance/port/lesser) "ydI" = ( @@ -80941,9 +82652,21 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"ydQ" = ( +/obj/machinery/atmospherics/components/binary/pump/off, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/obj/machinery/airlock_sensor/incinerator_ordmix{ + pixel_y = 32 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "ydT" = ( -/obj/machinery/bluespace_vendor/directional/north, /obj/effect/turf_decal/bot, +/obj/structure/noticeboard/hop{ + pixel_y = 36 + }, /turf/open/floor/iron, /area/station/hallway/primary/central) "yef" = ( @@ -81002,6 +82725,26 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) +"yfa" = ( +/obj/structure/sink/directional/west, +/obj/structure/cable, +/obj/machinery/button/door/directional/east{ + id = "xenobio10"; + name = "Xenobio Pen 10 Blast DOors"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) +"yfs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "yfz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -81013,19 +82756,17 @@ /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"yfS" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"yfT" = ( -/obj/structure/sign/warning/secure_area/directional/east, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat/maint) +"yfW" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "yfY" = ( /obj/machinery/skill_station, /obj/machinery/light/small/directional/north, -/turf/open/floor/wood, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/sepia, /area/station/service/library) "ygd" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -81047,10 +82788,10 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/command/gateway) -"ygy" = ( -/obj/effect/landmark/start/clown, -/turf/open/floor/wood, -/area/station/commons/lounge) +"ygA" = ( +/obj/machinery/light/small/directional/south, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/graveyard) "ygB" = ( /turf/closed/wall, /area/station/commons/dorms) @@ -81062,6 +82803,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ygL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ygM" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81070,16 +82817,21 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"ygP" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 +"ygS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/extinguisher, +/obj/item/clothing/suit/utility/fire/firefighter, +/obj/item/clothing/head/utility/hardhat/red, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/meson, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/fore) "yhe" = ( /obj/structure/cable, /obj/machinery/light/directional/south, @@ -81091,29 +82843,23 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat_interior) +"yhA" = ( +/obj/structure/sign/warning/directional/north, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "yhC" = ( -/obj/structure/sign/warning/cold_temp/directional/east, /turf/open/floor/plating, /area/station/engineering/main) -"yhL" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"yhF" = ( +/obj/structure/fence/cut/medium{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "yhU" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/security/prison/work) -"yhV" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/service/bar/backroom) "yia" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81121,6 +82867,10 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"yib" = ( +/obj/structure/flora/rock/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "yiv" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -81130,6 +82880,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"yiF" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/kirbyplants/organic/plant10, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "yiK" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/potassium{ @@ -81162,19 +82924,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"yjo" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"yjr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "yju" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -81189,11 +82938,6 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) -"yjF" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "yjV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -81209,6 +82953,30 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"ykd" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"ykv" = ( +/obj/machinery/door/airlock/external{ + name = "Lower Medical External Access"; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/medical/morgue) "ykw" = ( /turf/closed/wall/r_wall, /area/station/security/processing) @@ -81218,7 +82986,9 @@ /turf/open/floor/plating, /area/station/maintenance/fore) "ykE" = ( -/obj/item/kirbyplants/random, +/obj/machinery/modular_computer/preset/civilian{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) "ykG" = ( @@ -81241,8 +83011,6 @@ /area/station/hallway/primary/central/fore) "ylt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, -/obj/structure/sign/poster/official/safety_internals/directional/east, -/obj/structure/sign/poster/official/safety_internals/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/fore) "ylz" = ( @@ -81264,10 +83032,12 @@ /obj/machinery/door/airlock/public/glass{ name = "Central Access" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/dark/textured, /area/station/hallway/primary/aft) "ylM" = ( /obj/machinery/light/directional/south, @@ -81283,13 +83053,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"ylQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cytology Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/science/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "ylU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81306,23 +83069,33 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"ylZ" = ( +/turf/closed/wall/r_wall, +/area/icemoon/surface/outdoors/labor_camp) "ymb" = ( /obj/structure/railing/corner{ dir = 4 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/north, -/obj/machinery/camera{ - c_tag = "Mining B-2 Hallway"; - dir = 9 - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, +/obj/machinery/camera/directional/north{ + c_tag = "Mining B-2 Hallway"; + network = list("ss13", "mine") + }, /turf/open/floor/iron/dark/side{ dir = 1 }, /area/mine/eva/lower) +"ymf" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) (1,1,1) = {" oSU @@ -97669,14 +99442,14 @@ sYA ghx ghx ghx -vXO +ohO hMz ghx -hMz +ghx psb +jMV scw -scw -jSy +iDt xMq xMq xMq @@ -97929,13 +99702,13 @@ ghx isU ghx ghx -hMz +ghx hUy dZS xuo scw iDt -qau +mrl thA thA thA @@ -98192,8 +99965,8 @@ stA xuo xuo xuo -nqv -thA +jTf +egM thA thA thA @@ -99459,7 +101232,7 @@ ghx ghx iDt aNc -xuo +oSM xuo xuo xuo @@ -100231,7 +102004,7 @@ thA iDt sxe xuo -qJT +pEF wDU qmt qmt @@ -100247,7 +102020,7 @@ tbX tbX wDU wDU -ghx +bOY ghx ghx ghx @@ -100488,7 +102261,7 @@ thA iDt psb rxz -qlU +gFX wDU aNw qmt @@ -100746,7 +102519,7 @@ iDt xuo wDU wDU -qmt +poj nfr kLa giV @@ -101004,7 +102777,7 @@ xuo wDU krn xvO -nfr +qmt qmt qmt ymb @@ -101261,8 +103034,8 @@ xuo wDU uqz kTF -nfr qmt +sKL iVm xlA eVa @@ -101519,7 +103292,7 @@ qmt qmt kLa qmt -qmt +fZN sAa qKk wbH @@ -101532,7 +103305,7 @@ uUT uUT uUT wDU -scw +yhA ghx ghx thA @@ -101775,7 +103548,7 @@ wDU btB gfw nfr -igq +qmt qmt qmt gSK @@ -101999,8 +103772,8 @@ ghx psb fSd hUK -gqG -thA +psb +kKV thA thA thA @@ -102031,7 +103804,7 @@ iDt wDU uqz bRC -nfr +vMg jAu qmt ofz @@ -102287,7 +104060,7 @@ thA iDt wDU ljP -uqz +jrV bQN tnb qmt @@ -102988,7 +104761,7 @@ thA thA thA rfu -ghx +bOY ghx ghx ghx @@ -103057,7 +104830,7 @@ thA iDt iDt iDt -rcY +ffq scw dga scw @@ -103314,8 +105087,8 @@ thA ipf cCb iDt -mJZ -iDt +mDa +gaY scw scw scw @@ -103326,12 +105099,12 @@ wDU iwf cEh dNA -weg +dNA iwf lQw fWX -nqv -iDt +wJH +gaY iDt ghx thA @@ -103537,11 +105310,11 @@ thA thA thA xuo -wYp -odW +psb +cPY uWw psb -ghx +bOY ghx ghx ghx @@ -103571,7 +105344,7 @@ thA thA thA iDt -rcY +ffq iDt scw scw @@ -103587,7 +105360,7 @@ gvc iwf unv wrV -qau +mrl iDt cCb ghx @@ -103828,7 +105601,7 @@ thA thA thA iDt -rcY +ffq iDt iDt iDt @@ -103844,7 +105617,7 @@ hYP aro agI scw -qau +mrl iDt iDt thA @@ -104085,7 +105858,7 @@ thA thA thA iDt -rcY +ffq iDt iDt iDt @@ -104094,14 +105867,14 @@ scw scw scw scw -mJZ -iDt +mDa +gaY scw scw -rcY +mDa iDt scw -qau +mrl iDt iDt thA @@ -104342,23 +106115,23 @@ thA thA thA iDt -syw -kNC -kNC -kNC -kNC -kNC -kNC +ebX +rcY +rcY +rcY +rcY +rcY +rcY ork -tej +qau gIl scw iDt iDt +ebX +qau +qau syw -tej -tej -gIl iDt thA thA @@ -104790,7 +106563,7 @@ uOb rfu omJ rfu -pjj +vOZ daf kmH oBz @@ -105039,10 +106812,10 @@ amx fXO lBR nhg -gnR +scb lBR nhg -qrq +mbe lBR kIo hap @@ -105564,7 +107337,7 @@ rfu ooW ooW rfu -xuo +ffj xuo xlq ghx @@ -106827,11 +108600,11 @@ ghx ghx ghx ghx -gBl +fIt uSb uSb uSb -gBl +fIt uOb uOb lBR @@ -106853,7 +108626,7 @@ kIi rfu rfu rfu -ghx +irK ghx ghx ghx @@ -107122,8 +108895,8 @@ ghx ghx ghx ghx -lcA -ghx +psb +bOY thA thA thA @@ -108140,17 +109913,17 @@ puc kGP sEC dbH +irK ghx ghx ghx ghx ghx ghx -ghx -lcA psb psb -lcA +psb +psb thA thA thA @@ -108374,9 +110147,9 @@ ghx ghx ghx eZz -efi +uOs xhK -nCQ +bYf swf vVH jli @@ -108404,7 +110177,7 @@ ghx ghx ghx ghx -rcY +ffq iDt thA thA @@ -108631,7 +110404,7 @@ ghx ghx ghx iDt -nbP +fgN xhK ikb swf @@ -108661,7 +110434,7 @@ ghx ghx ghx ghx -rcY +ffq iDt thA thA @@ -108897,7 +110670,7 @@ vVH dZW fHg lJS -bol +srJ oSD ldH xQm @@ -108918,8 +110691,8 @@ ghx ghx ghx ghx -lcA -iDt +psb +acs thA thA thA @@ -109153,9 +110926,9 @@ nId myQ sby fHg -bol -bol -oSD +swp +iPu +rFd ldH qiJ qTs @@ -110175,7 +111948,7 @@ ghx ghx axF dcw -fGI +gbR sSl etw lXJ @@ -110196,7 +111969,7 @@ iJr vSK kse dbH -ghx +irK ghx ghx ghx @@ -110461,7 +112234,7 @@ ghx ghx ghx psb -iDt +acs thA thA thA @@ -110935,247 +112708,222 @@ dhq dhq dhq dhq -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -ghx -axF -dcw -fGI -gTW -nks -cfh -nLW -hhr -giN -ajG -gSy -rLX -kLo -wnm -ldH -gNP -pBb -gbu -kHL -dbH -psb -psb -psb -psb -fIt -ghx -ghx -ghx -ghx -ghx -thA -thA -thA -thA -thA -thA -thA -thA -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -oSU -"} -(117,1,1) = {" -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq -dhq +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +ghx +axF +dcw +fGI +gTW +nks +cfh +nLW +hhr +giN +ajG +gSy +rLX +kLo +wnm +ldH +gNP +pBb +gbu +kHL +dbH +psb +psb +psb +psb +fIt +bOY +ghx +ghx +ghx +ghx +thA +thA +thA +thA +thA +thA +thA +thA +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +oSU +"} +(117,1,1) = {" +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq dhq dhq dhq @@ -111191,6 +112939,31 @@ dhq dhq dhq dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +iZz +iZz +iZz +iZz +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq +dhq ghx ghx ghx @@ -111431,8 +113204,8 @@ dhq dhq dhq dhq -iDt -iDt +iZz +iZz iDt iDt scw @@ -111447,8 +113220,8 @@ iDt scw scw iDt -iDt -ghx +fIt +sxK ghx ghx ghx @@ -111687,9 +113460,9 @@ dhq dhq dhq dhq -iDt -iDt -iDt +iZz +iZz +iZz scw scw scw @@ -111704,7 +113477,7 @@ scw scw scw scw -iDt +lGY ghx ghx ghx @@ -111944,9 +113717,9 @@ dhq dhq dhq dhq -iDt -iDt -iDt +iZz +iZz +iZz scw scw scw @@ -111961,7 +113734,7 @@ iDt iDt iDt iDt -scw +gem ghx ghx ghx @@ -111997,7 +113770,7 @@ psb psb psb fIt -ghx +bOY ghx ghx ghx @@ -112199,11 +113972,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz scw iDt scw @@ -112218,7 +113991,7 @@ scw scw scw scw -iDt +lGY ghx ghx ghx @@ -112455,12 +114228,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz iDt iDt scw @@ -112475,7 +114248,7 @@ scw scw scw iDt -iDt +lGY ghx ghx ghx @@ -112712,12 +114485,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz scw iDt scw @@ -112732,7 +114505,7 @@ scw scw scw scw -iDt +lGY ghx ghx ghx @@ -112969,12 +114742,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB +iZz iDt iDt scw @@ -112989,7 +114762,7 @@ scw scw iDt scw -iDt +lGY ghx ghx ghx @@ -113226,12 +114999,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz scw iDt scw @@ -113246,7 +115019,7 @@ scw iDt scw iDt -iDt +lGY ghx ghx ghx @@ -113483,12 +115256,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB +iZz scw scw iDt @@ -113503,7 +115276,7 @@ scw scw iDt scw -scw +gem ghx ghx ghx @@ -113529,7 +115302,7 @@ oXd bJp qdl uPk -scw +kNK ghx ghx ghx @@ -113740,12 +115513,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB +iZz iDt scw iDt @@ -113760,7 +115533,7 @@ scw scw iDt iDt -iDt +lGY ghx ghx ghx @@ -113786,7 +115559,7 @@ uPk uPk uPk uPk -ghx +bOY ghx ghx ghx @@ -113997,12 +115770,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz vjh dLN dLN @@ -114015,10 +115788,10 @@ vjh vjh uPl vjh -ghx -ghx -ghx -ghx +gdD +ejO +fIt +sxK ghx ghx ghx @@ -114254,12 +116027,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +xnB +xnB +iZz vjh dqx oDg @@ -114272,7 +116045,7 @@ wAQ njJ kcf vjh -ghx +scw ghx ghx ghx @@ -114285,7 +116058,7 @@ iDt iDt iDt iDt -xMq +iDt xMq thA thA @@ -114511,12 +116284,12 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz vjh szu hdV @@ -114542,7 +116315,7 @@ iDt iDt iDt iDt -xMq +iDt xMq xMq thA @@ -114768,9 +116541,9 @@ dhq dhq dhq dhq -iDt -iDt -iDt +iZz +iZz +iZz dLN dLN dLN @@ -114783,7 +116556,7 @@ njJ cVD njJ eCz -oFp +dqx dqx vjh nTO @@ -114795,12 +116568,12 @@ eQT eQT eQT nTO +mDj +iDt iDt iDt iDt iDt -xMq -xMq xMq xMq thA @@ -115024,10 +116797,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +iZz +xnB dLN wxg ipd @@ -115056,10 +116829,10 @@ dBw iDt iDt iDt -xMq -xMq -xMq -xMq +iDt +iDt +iDt +iDt xMq thA thA @@ -115280,10 +117053,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +iZz +xnB xMx vjh pRZ @@ -115311,11 +117084,11 @@ jvM nTO nTO nTO -nJm +dDN +iDt +iDt +iDt iDt -xMq -xMq -xMq xMq xMq xMq @@ -115535,13 +117308,13 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -lCM +iZz +iZz +iZz +iZz +iZz +xnB +gzL vjh aYQ bLL @@ -115570,8 +117343,8 @@ tmB kCH iDt iDt -xMq -xMq +iDt +iDt xMq xMq thA @@ -115791,11 +117564,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz dLN dLN dLN @@ -115825,10 +117598,10 @@ aWV nTO nTO nTO +mDj iDt iDt xMq -xMq thA thA thA @@ -116048,11 +117821,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB dLN bml msi @@ -116084,7 +117857,7 @@ cRE eQT iDt iDt -xMq +iDt xMq thA thA @@ -116305,11 +118078,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB dLN uCk tAL @@ -116341,7 +118114,7 @@ rmv eQT iDt iDt -xMq +iDt xMq thA thA @@ -116562,11 +118335,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB dLN sWo kmA @@ -116597,7 +118370,7 @@ iGj nTO nTO nTO -iDt +acs xMq xMq thA @@ -116819,11 +118592,11 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +xnB +iZz vjh sWo njJ @@ -117075,12 +118848,12 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt -iDt -aVq +iZz +iZz +iZz +iZz +xnB +wbJ vjh sWo njJ @@ -117104,7 +118877,7 @@ eQT eQT eQT nTO -ghx +irK iDt nTO kJw @@ -117332,12 +119105,12 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt -iDt -aVq +iZz +iZz +iZz +iZz +iZz +wbJ vjh mYi njJ @@ -117589,10 +119362,10 @@ dhq dhq dhq dhq -dhq -iDt -iDt -qXg +iZz +iZz +iZz +bcf vjh vjh vjh @@ -117625,7 +119398,7 @@ cpe cpe nTO nTO -iDt +acs xMq xMq thA @@ -117846,10 +119619,10 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt +iZz +iZz +xnB +xnB aqa oDB nhT @@ -118103,10 +119876,10 @@ dhq dhq dhq dhq -dhq -iDt -iDt -qXg +iZz +iZz +iZz +bcf vjh vjh vjh @@ -118138,7 +119911,7 @@ nTO nTO nTO nTO -iDt +acs iDt xMq xMq @@ -118360,10 +120133,10 @@ dhq dhq dhq dhq -dhq -iDt -iDt -iDt +iZz +iZz +iZz +iZz uEA dLN hlE @@ -118618,10 +120391,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +nNd +iZz +xnB dLN dqx dqx @@ -118654,7 +120427,7 @@ iDt iDt iDt iDt -xMq +iDt xMq thA thA @@ -118875,10 +120648,10 @@ dhq dhq dhq dhq -iDt -iDt +iZz +iZz ssu -iDt +iZz dLN rbT mts @@ -118895,7 +120668,7 @@ vjh vjh vjh vjh -ghx +bOY ghx ghx ghx @@ -118911,7 +120684,7 @@ iDt iDt iDt iDt -xMq +iDt xMq thA thA @@ -119132,10 +120905,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +nNd +iZz dLN rbT lLN @@ -119149,9 +120922,9 @@ vjh jmc qDD dLN -iDt -iDt -ghx +hIf +ylZ +bOY ghx ghx ghx @@ -119168,7 +120941,7 @@ iDt iDt iDt iDt -xMq +iDt xMq xMq thA @@ -119389,10 +121162,10 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz dLN dLN dLN @@ -119406,8 +121179,8 @@ vjh dLN dLN dLN -iDt -iDt +xnB +oYO ghx ghx ghx @@ -119646,25 +121419,25 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +xnB +iZz +iZz +iZz +iZz jjJ -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +xnB +xnB +iZz +oYO ghx ghx ghx @@ -119676,9 +121449,9 @@ ghx ghx ghx iDt -xMq -xMq -xMq +iDt +iDt +iDt xMq xMq xMq @@ -119903,25 +121676,25 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +oYO ghx ghx ghx @@ -119933,7 +121706,7 @@ ghx ghx ghx iDt -xMq +iDt xMq xMq xMq @@ -120160,25 +121933,25 @@ dhq dhq dhq dhq -iDt -iDt +iZz +iZz dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +oYO ghx ghx ghx @@ -120421,21 +122194,21 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +oYO ghx ghx ghx @@ -120678,21 +122451,21 @@ dhq dhq dhq dhq -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt -iDt +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +iZz +oYO ghx ghx ghx @@ -120812,7 +122585,7 @@ oSU szG szG iDt -daZ +tla iDt szG oSU @@ -120941,16 +122714,16 @@ dhq dhq dhq dhq +iZz +iZz +iZz +iZz +iZz dhq dhq dhq -dhq -dhq -dhq -dhq -dhq -dhq -ghx +ylZ +bOY ghx ghx ghx @@ -128240,7 +130013,7 @@ iDt iDt iDt iDt -fIt +frp oSU oSU oSU @@ -128491,13 +130264,13 @@ oSU oSU oSU xMq -cbu +wUm iDt iDt iDt iDt -iLP -fIt +gwW +frp oSU oSU oSU @@ -128748,13 +130521,13 @@ oSU iDt iDt xMq -cbu +wUm iDt iDt iDt iDt mrI -fIt +frp oSU oSU oSU @@ -129003,15 +130776,15 @@ oSU oSU iDt iDt -jZN -rcY +xYQ +djK iDt iDt iDt iDt iDt scw -fIt +frp oSU oSU oSU @@ -129266,9 +131039,9 @@ iDt iDt iDt iDt -iDt -fIt -fIt +hWz +frp +frp oSU oSU oSU @@ -129517,16 +131290,16 @@ oSU iDt iDt iDt -jZN -rcY +xYQ +ffq iDt iDt iDt iDt iDt iDt -fIt -fIt +frp +frp oSU oSU oSU @@ -129672,10 +131445,10 @@ dhq dhq dhq dhq -iZz -iZz -iZz -iZz +iDt +iDt +iDt +iDt ghx ghx ghx @@ -129783,8 +131556,8 @@ iDt iDt iDt iDt -fIt -fIt +frp +frp oSU oSU oSU @@ -129930,8 +131703,8 @@ dhq dhq dhq dhq -iZz -iZz +iDt +iDt ghx ghx ghx @@ -130041,7 +131814,7 @@ iDt iDt iDt iDt -fIt +frp oSU oSU oSU @@ -130187,7 +131960,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -130297,6 +132070,8 @@ xMq xMq xMq xMq +iDt +iDt xMq xMq oSU @@ -130408,8 +132183,6 @@ oSU oSU oSU oSU -oSU -oSU "} (192,1,1) = {" dhq @@ -130555,11 +132328,11 @@ oSU oSU oSU oSU -oSU -oSU -oSU -oSU -oSU +iDt +scw +scw +scw +xMq oSU oSU oSU @@ -130813,11 +132586,11 @@ oSU oSU oSU oSU -oSU -oSU -oSU -oSU -oSU +iDt +scw +rPQ +scw +xMq oSU oSU oSU @@ -131070,11 +132843,11 @@ oSU oSU oSU oSU -oSU -oSU -oSU -oSU -oSU +xMq +iDt +scw +scw +xMq oSU oSU oSU @@ -131328,8 +133101,8 @@ oSU oSU oSU oSU -oSU -oSU +xMq +xMq oSU oSU oSU @@ -132748,8 +134521,8 @@ dhq dhq dhq dhq -iZz -iZz +iDt +iDt ghx ghx ghx @@ -133005,7 +134778,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -133262,7 +135035,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -133519,7 +135292,7 @@ dhq dhq dhq dhq -iZz +iDt ghx ghx ghx @@ -159597,11 +161370,11 @@ thA thA thA thA -oif -eJf +gFX +fch eJf eJf -keu +faL eJf eJf eJf @@ -161641,7 +163414,7 @@ thA thA thA thA -thA +kKV thA thA gjq @@ -162154,8 +163927,8 @@ thA thA szG szG -oif -thA +gFX +kKV gjq gjq gjq @@ -163182,13 +164955,13 @@ szG szG myZ eJf -keu +faL eJf eJf eJf eJf -oif -szG +oJI +ngy gjq gjq gjq @@ -163444,14 +165217,14 @@ gjq gjq gjq gFX -szG +ngy szG gjq gjq gjq -mTW +ocS gjq -mTW +ocS gjq gjq gjq @@ -163720,24 +165493,24 @@ gjq gjq gjq gjq -keu +faL eJf cMk yep cMk eJf -keu +faL eJf eJf eJf eJf -keu +faL eJf eJf eJf eJf -oif -iDt +gFX +acs pfw thA thA @@ -163951,7 +165724,7 @@ iLh iLh iwS iwS -sbf +acs scw iDt scw @@ -164208,7 +165981,7 @@ kMP wMw hoZ iwS -iDt +ksM iDt iDt iDt @@ -164483,7 +166256,7 @@ nia sjb hpM sjb -eJf +fch eJf eJf uBy @@ -164702,7 +166475,7 @@ thA thA thA iDt -kcW +thA ivF ivF xUF @@ -164727,10 +166500,10 @@ cCb iDt iDt scw -oif -eJf +gFX +fch eJf -keu +faL eJf pfg sjb @@ -164975,7 +166748,7 @@ gVm iwS iJM dNl -qxI +sit qxI rVC qMo @@ -165230,9 +167003,9 @@ ivF pcc fdX iwS -iJM -dNl -qxI +gqa +qbI +bSD qxI coT qMo @@ -165260,7 +167033,7 @@ qLm vSi bie bie -vzI +cMk bie bie cMk @@ -165271,11 +167044,11 @@ cMk eJf eJf eJf -keu +faL eJf eJf -oif -pfw +gFX +dsX ebd iDt iDt @@ -165741,9 +167514,9 @@ tHX nit eZK ivF -ktp +qYB lIU -xrL +ktp iwS sFd iuH @@ -165755,7 +167528,7 @@ gJK iwS wkB iDt -jZN +xYQ gjq gjq gjq @@ -165769,7 +167542,7 @@ jzy pve xjZ bGP -mIT +hqv gsF vSi kZu @@ -165986,8 +167759,8 @@ gjq gjq gjq gjq -nfG -qbU +ppY +iDt ivF jwH jwH @@ -166501,7 +168274,7 @@ gjq gjq gjq gjq -qsq +gjq ivF ivF ivF @@ -166533,14 +168306,14 @@ gjq gjq iYt dbi -unM +aLe lNH bit iQK kXr hVI gDN -pZD +crd uhs pve vSi @@ -166558,7 +168331,7 @@ hFL hFL nWH gnh -iDt +acs iDt iDt iDt @@ -166763,11 +168536,11 @@ gjq iDt iDt iDt -mdV +iDt scw scw iDt -xdY +thA iwS iwS iwS @@ -166790,15 +168563,15 @@ gjq gjq dLf vfg -bQA +tfb hKT cHZ gaq kXr oGF ksn -pZD -ghQ +jbM +kUD kUD kUD nWH @@ -166970,21 +168743,21 @@ thA thA thA thA -kSw +fIt xMq xMq xMq xMq xMq -kSw +fIt cek cek uCN cek cek cek -kSw -thA +fIt +qTC thA thA thA @@ -167038,7 +168811,7 @@ thA iwS rBM iwS -iDt +xrT scw gjq gjq @@ -167046,16 +168819,16 @@ gjq gjq gjq dLf -vfg -ajw +omK +ivE rty lNH eMa hrJ wmT gDN -lvT -wSX +wBI +kUD kUD kUD nWH @@ -167294,7 +169067,7 @@ thA thA scw scw -xUw +scw iDt gjq gjq @@ -167303,8 +169076,8 @@ gjq gjq gjq dLf -vfg -ajw +kMZ +itg vjM bff lNH @@ -167490,15 +169263,15 @@ hPs gBX gBX gBX -ktt +hPs hPs nDE nDE nDE nDE nDE -bUp -gjq +nDE +ntZ gjq gjq gjq @@ -167545,15 +169318,15 @@ gjq gjq thA thA -gqG -thA +psb +kKV thA -gqG -myZ +psb +unI myZ myZ -gqG -gjq +psb +cqT gjq gjq gjq @@ -167586,7 +169359,7 @@ whb xjC nWH gnh -iDt +acs iDt ulj iDt @@ -167752,7 +169525,7 @@ jlF jNf dpC cGQ -whr +txX nmr hVY gjq @@ -168086,13 +169859,13 @@ pZD cQw gLF wpx -unT +gLF iAp til naq mzu gLF -unT +gLF dZq cvB tzE @@ -168267,7 +170040,7 @@ jNf qIo tau dWK -ozX +whr hVY gjq gjq @@ -168512,8 +170285,8 @@ thA thA thA thA -kSw -iDt +fIt +viF ktt njf rBy @@ -168573,8 +170346,8 @@ gjq gjq gjq gjq -jXc -eJf +psb +wAG eJf psb myZ @@ -169035,7 +170808,7 @@ bCp fYi tCL jNf -wcz +wSC hKI fWe ozX @@ -169087,8 +170860,8 @@ gjq gjq gjq gjq -eFw -eJf +psb +igc eJf psb myZ @@ -169123,13 +170896,13 @@ bJc auz seY wrV -qau +mrl pGt aIB aIB dNN psb -iDt +cod sVN iDt psb @@ -169304,7 +171077,7 @@ gjq wUj qLB jpy -vXe +cgB ssY wUj gjq @@ -169377,10 +171150,10 @@ uUT vgD lvQ sUE -sdc -mPq +rsY +xKD scw -qau +wJH iDt iDt iDt @@ -169627,7 +171400,7 @@ hdb avh qGg uUT -fyT +ccv lQh diI uUT @@ -169637,7 +171410,7 @@ rsY rsY scw scw -qau +mrl iDt iDt cCb @@ -169798,8 +171571,8 @@ iDt iDt iDt oqL -gLY -twx +iCp +pcP ldz fvK cIc @@ -169811,8 +171584,8 @@ jNf jNf jNf jNf -xZg -iDt +xhK +mDj iDt iDt wUj @@ -169839,7 +171612,7 @@ pjz qQf qQf qQf -pfw +dsX scw iDt iDt @@ -169851,7 +171624,7 @@ iDt iDt iDt iDt -nfG +ppY iDt iDt iDt @@ -169876,7 +171649,7 @@ iDt iDt iDt iDt -rcY +ffq iDt iDt rsY @@ -169894,16 +171667,16 @@ qQt scw scw iDt -nqv +mrl +iDt iDt iDt iDt iDt -jSQ cmZ xuo iDt -jZN +xYQ thA thA thA @@ -170055,8 +171828,8 @@ iDt iDt iDt oqL -gvi -xCa +lrM +dnz axX auJ oVy @@ -170115,15 +171888,15 @@ iDt iDt iDt iDt -gqG -scw +psb +yhA iDt -gqG -aIB +psb +mIq aIB aIB -gqG -iDt +psb +acs iDt iDt iDt @@ -170133,10 +171906,10 @@ iDt iDt iDt cCb -qau -scw +wJH +hJU qXg -sdc +rsY rsY czq rsY @@ -170151,8 +171924,8 @@ scw scw iDt scw -qau -ijY +wJH +ejR iDt iDt iDt @@ -170311,7 +172084,7 @@ iDt ijY hPs gBX -oPa +hPs cjz vdW sTP @@ -170330,7 +172103,7 @@ iDt ijY pfw wUj -dtq +pYn jeJ aFg vwl @@ -170351,11 +172124,11 @@ qQf ofE awn qQf -mri +rVB qQf ebd iDt -nfG +ppY pfw thA thA @@ -170371,7 +172144,7 @@ thA thA thA thA -nfG +ppY iDt iDt iDt @@ -170390,10 +172163,10 @@ iDt iDt iDt iDt -mJZ +ffq iDt scw -qQt +kJy scw scw scw @@ -170402,13 +172175,13 @@ uUT afs qCY iwf +clj tej +clj +clj +clj tej -tej -tej -tej -tej -kso +gyQ iDt iDt iDt @@ -170572,7 +172345,7 @@ dck tei fTF fTF -fTF +fbC cIc uTp oVY @@ -170627,19 +172400,19 @@ thA thA thA thA -dlu -dlu -dlu -dlu -dlu -dlu -dlu -dlu -qgQ -qgQ -rrl -nmO -ozW +fyI +fyI +fyI +fyI +fyI +fyI +fyI +fyI +pkq +pkq +guO +poC +dXk iDt iDt iDt @@ -170647,7 +172420,7 @@ iDt iDt scw iDt -rcY +ffq scw iDt snL @@ -170662,7 +172435,7 @@ nUi iDt iDt iDt -jZN +xYQ iDt iDt iDt @@ -170843,12 +172616,12 @@ ukN nCs bZk gRZ -kmg -vOw +dAZ +flJ eGW eGW uRk -dDt +kUr dDt stG ykM @@ -170884,38 +172657,39 @@ thA thA thA thA -dlu -qbM -wvu -wvu -bPR -qbM -wvu -bil +fyI +tKm +eiH +eiH +puZ +tKm +eiH +sTb ijY iDt iDt iDt -kJx +hcZ iDt iDt -jZN +xYQ iDt iDt iDt iDt -rcY +ffq iDt scw rxG iDt scw uWE -qzq +iwf iwf qlk qlk iwf +acs iDt iDt iDt @@ -170924,8 +172698,7 @@ iDt iDt iDt iDt -iDt -jZN +xYQ iDt thA thA @@ -171141,19 +172914,19 @@ thA thA thA thA -dlu -nEI -wvu -wvu -bPR -nEI -wvu -bil +fyI +aGb +eiH +eiH +puZ +aGb +eiH +sTb iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -171161,7 +172934,7 @@ iDt scw cCb iDt -rcY +ffq iDt iDt iDt @@ -171169,7 +172942,7 @@ iDt iDt iDt eqN -tiY +nus aIB aIB dhH @@ -171360,7 +173133,7 @@ izY eND qpB qpB -jLB +qpB qpB qpB siv @@ -171398,19 +173171,19 @@ thA thA thA thA -dlu -wvu -wvu -wvu -bPR -wvu -wvu -bil +fyI +eiH +eiH +eiH +puZ +eiH +eiH +sTb iDt iDt -ayJ +eGV iDt -kJx +hcZ iDt iDt iDt @@ -171418,15 +173191,15 @@ iDt iDt iDt iDt -rcY -iDt +mDa iDt iDt iDt iDt iDt -mJZ iDt +mDa +gaY iDt iDt iDt @@ -171633,7 +173406,7 @@ cBT dyf iOs gKQ -eGW +jDw qQN wMt thA @@ -171655,19 +173428,19 @@ tjo thA thA thA -dlu -rEn -rEn -wvu -ghA -rEn -wvu -idH +fyI +bEk +bEk +eiH +qAh +bEk +eiH +fwC iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -171675,14 +173448,14 @@ iDt ijY iDt iDt -syw -kNC -kNC -kNC -tej +ebX +eVu +rcY +rcY +qau fSm -kNC -gIl +eVu +syw iDt iDt cCb @@ -171890,8 +173663,8 @@ bqF dyf iNy gKQ -eGW -qQN +aWZ +wSb wMt thA thA @@ -171912,19 +173685,19 @@ tjo thA thA thA -dlu -wvu -wvu -wvu -wvu -wvu -wvu -wvu +fyI +eiH +eiH +eiH +eiH +eiH +eiH +eiH iDt iDt iDt iDt -qSi +kOR scw iDt scw @@ -171934,8 +173707,8 @@ iDt scw scw iDt -rDN -sEv +fep +edc scw scw iDt @@ -171943,7 +173716,7 @@ iDt iDt iDt iDt -jZN +xYQ xMq thA thA @@ -172123,10 +173896,10 @@ tVf izn lgK pfn -lWb +mjX eDq iXh -lWb +neX hRp dAZ wqI @@ -172147,7 +173920,7 @@ seA ybN seA gKQ -jSL +uYs jSL wMt thA @@ -172169,15 +173942,15 @@ tjo thA thA thA -dlu -ncx -kYN -wvu -wvu -rzY -kYN -wvu -ayJ +fyI +tjM +fsx +eiH +eiH +upU +fsx +eiH +eGV iDt iDt iDt @@ -172189,11 +173962,11 @@ scw scw scw scw -oJD -oJD +nKY +nKY scw -sed -nfG +eFH +ppY scw iDt iDt @@ -172384,7 +174157,7 @@ yiL yiL yiL eDq -pDl +ejb dAZ emM wob @@ -172426,19 +174199,19 @@ tjo thA thA thA -dlu -wvu -wvu -wvu -wvu -wvu -wvu -wvu +fyI +eiH +eiH +eiH +eiH +eiH +eiH +eiH iDt iDt iDt iDt -qSi +kOR scw scw scw @@ -172446,9 +174219,9 @@ iDt scw scw scw -kYo -oJD -oJD +dVN +nKY +nKY scw scw aRt @@ -172624,7 +174397,7 @@ xMq iDt iDt ebd -ktt +hPs gBX hPs cIc @@ -172683,19 +174456,19 @@ tjo thA thA thA -dlu -xxH -xxH -wvu -jkK -xxH -wvu -mhj +fyI +fgV +fgV +eiH +gLX +fgV +eiH +oAm iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -172703,11 +174476,11 @@ iDt iDt iDt iDt -kYo -rIS -kYo -kYo -kYo +dVN +yib +dVN +dVN +dVN iDt scw thA @@ -172914,7 +174687,7 @@ gjq gjq ncR eBU -ile +wVY dyf ile neC @@ -172940,30 +174713,30 @@ tjo thA thA thA -dlu -wvu -wvu -wvu -bPR -wvu -wvu -bil +fyI +eiH +eiH +eiH +puZ +eiH +eiH +sTb iDt iDt -ayJ +eGV iDt -kJx +hcZ iDt iDt iDt -daZ +tla iDt iDt -kPz -kYo -kYo -kYo -kYo +iNo +dVN +dVN +dVN +dVN iDt iDt iDt @@ -173166,7 +174939,7 @@ frS fiL hQt lyg -gjq +cqT gjq gjq wYP @@ -173197,25 +174970,25 @@ tjo thA thA thA -dlu -nEI -wvu -wvu -bPR -nEI -wvu -bil +fyI +aGb +eiH +eiH +puZ +aGb +eiH +sTb iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt iDt iDt -kPz +iNo thA thA thA @@ -173395,8 +175168,8 @@ xMq xMq xMq xMq -kSw -iDt +fIt +viF xhK vVH vVH @@ -173408,7 +175181,7 @@ yiL vDx cxO xuA -dkB +wkd bYg yiL qLD @@ -173454,19 +175227,19 @@ tjo thA thA thA -dlu -qbM -wvu -wvu -bPR -qbM -wvu -bil +fyI +tKm +eiH +eiH +puZ +tKm +eiH +sTb iDt iDt iDt iDt -kJx +hcZ iDt iDt iDt @@ -173668,7 +175441,7 @@ pgL lab cbz yiL -iVu +eFP rnb hgM kyu @@ -173685,7 +175458,7 @@ gjq gjq onJ mvv -ile +uZO oTe cAz dEv @@ -173711,21 +175484,21 @@ tjo thA thA thA -dlu -dlu -dlu -dlu -dlu -dlu -dlu -dlu -iDx -rrl -iDx -iDx -fQa +fyI +fyI +fyI +fyI +fyI +fyI +fyI +fyI +jnW +guO +jnW +jnW +kAk iDt -daZ +tla iDt iDt thA @@ -173922,7 +175695,7 @@ yiL agF tgP rGh -vHM +iJE wyF yiL szz @@ -173991,7 +175764,7 @@ thA thA thA xMq -nfG +ppY iDt iDt iDt @@ -174166,8 +175939,8 @@ gjq gjq gjq gjq -kSw -iDt +fIt +viF xhK oAP oua @@ -174182,7 +175955,7 @@ yiL yiL yiL yiL -xHE +tKt xHE hgM fvO @@ -174235,10 +176008,10 @@ iDt iDt iDt iDt -aaD +vcj wqT -aaD -iDt +vcj +acs iDt iDt iDt @@ -174449,7 +176222,7 @@ xhK xhK xhK xhK -gjq +ntZ gjq gjq gjq @@ -174493,7 +176266,7 @@ iDt iDt iDt alW -wVz +dcL alW iDt iDt @@ -174686,13 +176459,13 @@ xhK vVH fkV vVH -kqn +eoQ oVY sMs tVf wJi rME -bol +ifH mMy uME uME @@ -174754,7 +176527,7 @@ tLc vcj vcj aVq -daZ +tla iDt xMq thA @@ -174949,7 +176722,7 @@ bWh pac hUz hUz -bjp +jvU bjp poe ryu @@ -175014,7 +176787,7 @@ aVq iDt iDt iDt -nfG +ppY iDt iDt ebd @@ -175215,7 +176988,7 @@ ihB ddp hBg nzj -dKr +rjd pOk par rsM @@ -175522,9 +177295,9 @@ ijn vWz vWz swq -eNS +vWz +vcj vcj -aaD qtS iDt iDt @@ -175780,7 +177553,7 @@ wDG vyg dOq kOS -uMq +wVz nul scw scw @@ -176035,10 +177808,10 @@ vcj igL vWz vWz -dOq +tdz vWz vcj -aaD +vcj xQu iDt xMq @@ -176048,7 +177821,7 @@ xMq xMq thA xMq -nfG +ppY iDt iDt iDt @@ -176295,7 +178068,7 @@ iyd vlZ gCh alW -nfG +ppY iDt xMq xMq @@ -176313,11 +178086,11 @@ iDt iDt iDt iDt -nfG +ppY iDt iDt iDt -nfG +ppY xMq thA thA @@ -177007,7 +178780,7 @@ wRa wRa wRa vVH -nCQ +rng pKR ejX fjG @@ -177321,7 +179094,7 @@ scw scw scw scw -nfG +ppY iDt iDt thA @@ -177339,8 +179112,8 @@ nxM vmP maQ oAe -aUD -xMq +nxM +eLJ thA thA thA @@ -177593,7 +179366,7 @@ thA thA thA mep -upa +gWx qck lkz mep @@ -177832,14 +179605,14 @@ scw scw iDt thA -gqG -thA +psb +kKV thA thA -gqG -scw -gqG -iDt +psb +yhA +psb +acs thA gjq gjq @@ -177850,9 +179623,9 @@ thA thA nxM nxM -qKH +vmP eVO -aUR +oAe nxM nxM nxM @@ -178071,7 +179844,7 @@ thA thA thA thA -rcY +djK iDt iDt xMq @@ -178084,7 +179857,7 @@ gjq gjq gjq gjq -nfG +ppY scw thA thA @@ -178328,8 +180101,8 @@ thA thA thA thA -mJZ -iDt +mDa +gaY iDt scw scw @@ -178375,7 +180148,7 @@ thA thA thA thA -nfG +ppY iDt iDt scw @@ -178550,7 +180323,7 @@ ovP ovP ovP gFX -ovP +mfy ovP ovP ovP @@ -178589,12 +180362,12 @@ chg iDt scw scw -xpO -gNu -gNu -gNu -gNu -oZk +bqq +mgS +mgS +mgS +mgS +jRX gjq gjq gjq @@ -178806,7 +180579,7 @@ ovP ovP iDt scw -gbz +scw ovP ovP ovP @@ -178842,17 +180615,17 @@ thA thA thA iDt -rcY -scw +mDa +bjs scw -xpO -gRE -nYR -hog -hog -joW -aqq -oZk +bqq +uvA +pvi +uhF +uhF +gyg +kOM +jRX gjq gjq gjq @@ -179099,17 +180872,17 @@ thA thA thA iDt -rcY +djK scw xMq -anI -lLR +kuZ +pBR eYX sCZ sCZ -qMO -dVj -anI +oDD +oUh +kuZ gjq gjq gjq @@ -179121,10 +180894,10 @@ bDO xMq xMq iDt -gqG -scw -gqG -thA +psb +yhA +psb +kKV thA thA thA @@ -179147,10 +180920,10 @@ xMq iDt iDt iDt -nfG +ppY iDt iDt -nfG +ppY bID bID dmR @@ -179360,22 +181133,22 @@ xMq xMq xMq exw -nwC +fcA syE -hcj -hcj -fat -tqr +jaE +jaE +wPx +cUS exw -vDQ +bBO gjq gjq -wkV -kNC -jTf -jTf -gqG -szG +vLW +qHP +kCL +clj +psb +ngy xMq xMq iDt @@ -179617,21 +181390,21 @@ exw exw exw exw -wwg +abJ bdr -jUv -jUv -xOV -scr +pme +pme +aon +tYf exw exw -gNu -gNu +mgS +mgS exw mPq iDt -neM -qau +cRN +jTf xMq xMq xMq @@ -179664,7 +181437,7 @@ iDt cCb iDt iDt -nfG +ppY bID anZ anZ @@ -179871,24 +181644,24 @@ iDt iDt xMq exw -jiD -utn -vnK -cCT +caA +mty +urQ +sQI bdr -jUv -jUv -xOV -vhA -oYw -kRD -rJX -mgy -sIX -nrh -iDt -neM -qau +pme +pme +aon +ojy +oGC +wyy +nVx +qes +iyc +xyr +iDt +cRN +wJH xMq xMq iDt @@ -180128,27 +181901,27 @@ xMq xMq xMq exw -cmg -qrF -ncd -dNk -grO -iFQ -iFQ -bon -hFX -ave +xiL +xlm +xLT +jgV +qlE +mNB +mNB +pyA +nrJ +onT exw -aBb -myS +wBU +jiw exw -dNN +rhm iDt iDt -qau +jTf iDt iDt -nfG +ppY iDt scw iDt @@ -180384,16 +182157,16 @@ xMq xMq xMq xMq -exw -quw -xJW -ncd -erE -mYn -mYn -byy -mYn -wPR +uFl +qJB +mqd +xLT +wDb +oZG +oZG +rZY +oZG +eSC exw exw exw @@ -180402,9 +182175,9 @@ exw mPq iDt iDt -xlp +jTf scw -fna +wJy iDt iDt iDt @@ -180642,26 +182415,26 @@ sBy sBy sBy exw -qre -oZD -lHI +qnJ +lKN +fLu exw -rEt -iif +xKq +iXO exw -ogu -pOK -kPY -hWv +dXp +aqr +wOt +fHO urG -neM +cRN iDt scw iDt -neM -qau -iZm -fdP +cRN +wJH +iKt +vyp iDt iDt scw @@ -180894,31 +182667,31 @@ thA xMq sBy sBy -dQp -rRu -xBs -lCv +ftf +bCl +ikL +cLR exw -hPS -cYe -wSL +egu +daH +oLi exw mpU mpU -tjA -hAK -pOK -txv -hWv +bHJ +iHP +aqr +uMp +fHO urG -neM +cRN iDt iDt scw -neM -qau +cRN +jTf iDt -kRF +tiT iDt scw iDt @@ -181150,21 +182923,21 @@ thA xMq xMq sBy -qTp -xTi -bpc -cag -cVW +xNs +hZc +tZv +kKT +iAK exw -fBJ -fte -mkr +rSY +aKW +hvj exw -tmb -tmb +mKQ +mKQ exw -wME -tbd +dnB +pvP exw exw gFX @@ -181173,7 +182946,7 @@ iDt scw scw oZd -kso +gyQ scw iDt iDt @@ -181407,29 +183180,29 @@ thA xMq xMq sBy -ghT -pXy -nqI +gYv +rFU +qyH sBy -fbg +dbO sBy sBy exw exw -bwh -lyP -iDv -jMD +exw +fhf +kvq +jOh sCZ -obT -ozx +eSC +ggz exw xMq psb -jTf -jTf -ork -gIl +qau +qau +qFv +syw iDt iDt cCb @@ -181664,22 +183437,22 @@ thA xMq xMq sBy -kzU -vxY -sRf +lPW +qrB +lRO sBy -rZP -fkd -fbW +lom +ete +tsI exw exw exw -jQM -etr -ekc -leg -oIQ -inN +eFM +pab +crs +iTr +lBk +efJ exw xMq psb @@ -181714,7 +183487,7 @@ xmx wEU rwD nxM -dXF +nya pNZ rQG jJV @@ -181921,22 +183694,22 @@ xMq xMq xMq sBy -azI -kSj -lyf +oHf +lOJ +eqE sBy -eFf -quJ -quJ -wGQ -nBZ +sTL +idI +sdQ +jiz +bDN exw -tie -rxV -hjw -xFT +eak +shF +qPV +wZW exw -bor +eXD exw psb psb @@ -181948,7 +183721,7 @@ scw btU xUf syW -jmJ +gXz hVX xUf eXH @@ -181960,10 +183733,10 @@ mLt eKW wsu wsu -wsu -wsu -wsu -wsu +okh +nWz +nWz +wAh pHD sGk hjM @@ -182179,23 +183952,23 @@ xMq qMT qMT qMT -qon +qaS qMT qMT -rZP -quJ -quJ -jZc -nBZ +lom +idI +aEP +ojt +irc exw -tec -phr -aTk -tec +aOb +xEX +tGz +aOb exw -mxY -xOd -ubi +rgq +lOB +grp psb xMq iDt @@ -182203,7 +183976,7 @@ iDt iDt iDt ioK -vtW +btu bja jvw jvw @@ -182434,24 +184207,24 @@ thA xMq xMq qMT -jlv -emw -rqG -bOZ -gGS -rZP -quJ -imI +hfs +bMk +mxR +sfg +kuq +lom +idI +uRC qMT exw exw -pLu -tnJ -dJF -rzq +hZW +aIn +xwi +cft exw exw -bpa +oVd psb psb iDt @@ -182460,11 +184233,11 @@ iDt scw iDt ioK -jEA +jDz bja -rlA +czj jvw -bja +nYK kRH xqY nzK @@ -182474,10 +184247,10 @@ fmr plS pHD pHD -qMz -imV +eUe fuS -plS +fuS +fPh pHD qMz hjM @@ -182488,7 +184261,7 @@ nxM nxM nxM nxM -mPO +aRn hjM rgE rgE @@ -182691,25 +184464,25 @@ xMq xMq xMq qMT -dEc -ygy -nfK -wTl -sWS -ydv -aBj -sLm -dTx +syN +umM +cXI +oJo +iQY +dHi +pSq +oHR +iZC exw -jbB -qfI -kcw -mXW -gAw -ktq +jXI +dFi +cRC +jbq +wNj +xTN exw -phl -ubi +wzH +grp psb iDt iDt @@ -182719,7 +184492,7 @@ scw btU btU btU -qbG +ykv ako hjM hjM @@ -182935,7 +184708,7 @@ tjo tjo tjo tjo -luR +riW iDt tjo thA @@ -182948,35 +184721,35 @@ xMq xMq xMq qMT -izU -nYN -iDK -nYN -gGS -ydv -oru -dtc -sXU -rbU -nLd -nLa -gnE -gnE -qHs -wIx +iiK +wFJ +xQj +wFJ +kuq +dHi +wgK +jSa +fZH +iGQ +gnJ +amz +hOG +hOG +sIl +qPc exw -phl -cem +wzH +nYz psb iDt iDt -nfG +ppY iDt -scw +gFX btU kCR btU -ocp +tIL dYr nxM dTm @@ -183192,7 +184965,7 @@ tjo tjo tjo tjo -nlA +vne iDt tjo thA @@ -183206,23 +184979,23 @@ qMT qMT qMT qMT -kJG -eeY -ipg -mlN -rZP -lyU -pMh -aAy -rbU -nLd -ivp -gnE -gnE -kPh -dZL +hZb +vKR +gVV +dnn +lom +phz +cps +fMC +iGQ +gnJ +qFO +hOG +hOG +oMj +wVd exw -phl +wzH fuH psb iDt @@ -183230,11 +185003,11 @@ iDt iDt iDt btU -btU +tGl sGf lca -uTf -dYr +tNw +mRM nxM nxM nxM @@ -183460,32 +185233,32 @@ thA thA xMq qMT -jFY -wVI -aVJ -keM -ePZ -mRv -rZP -qal -oru -vXM -gYk +hmF +mIs +aZU +hMZ +gVB +axw +lom +xqt +wgK +fkD +toi exw -pSX -rdv -gNw -aUq -aIA -hfY +eQs +sRu +iWj +pVD +bsW +dad exw -phl +wzH fuH psb iDt iDt iDt -jCM +aDl btU idr qSe @@ -183717,32 +185490,32 @@ thA thA xMq qMT -jkN -qeW -quJ -mxh -aBj -klJ -ruQ -klJ -sgz -rlE +flK +gTa +idI +gxg +pSq +kmo +hWl +kmo +jUi +ibJ jre jre jre -oac -sGn -hpK -cNL +pTi +pWJ +ofR +eUm exw exw -bpa +pmA psb psb -olO -olO -olO -rpi +lCF +lCF +lCF +dbB btU oYm kht @@ -183772,7 +185545,7 @@ scw ilN vIZ nxM -bPk +iXK kmM sYU iio @@ -183963,7 +185736,7 @@ iDt iDt iDt iDt -pOl +evh tjo tjo tjo @@ -183974,32 +185747,32 @@ thA thA xMq qMT -bcf -vEC -lvv -efS -aXu -gPB -hEV -djl -bOn +pOA +wUB +nof +gIs +pbF +tdc +sHa +ccL +eLB jre jre -igu +jDV jre jre jre -fWd +tRP jre jre fuH -phl -ubi +wzH +grp psb -csV -mtt -mtt -mtt +oQc +gaA +gaA +gaA btU btU btU @@ -184218,9 +185991,9 @@ iDt tjo iDt iDt -pOl +evh iDt -edM +sNF tjo tjo tjo @@ -184232,36 +186005,36 @@ thA xMq jre jre -dvZ +rXw jre jre -ydG -qfr -oVr -hFj +rTR +eJX +ePj +ppH jre jre -nla -qhV -rhS -rhS -int -kWG -xEP +oXE +jWb +fCA +fCA +iaB +owK +hph jre -pJq -phl -bdX +adS +wzH +dfR psb -uwd -rWh -mtt -hFN +iUr +exu +gaA +ygA btU -nTA +dEZ nyQ meL -efo +pgg hJC ako hWV @@ -184469,7 +186242,7 @@ tjo tjo tjo tjo -pOl +evh iDt tjo tjo @@ -184489,35 +186262,35 @@ thA xMq xMq jre -uBD -lcm +hTt +thP jre jre -jNe -jNe +weT +weT jre jre -nla -vkO -pjk -eqk -nla -ukt -acG +oXE +pfE +pBv +moX +oXE +xEV +xZS jre jre -gSU -phl -hvi +oDb +wzH +awE psb -hLh -amq -rWh -mtt +xcf +uKc +exu +gaA ioK waH cWJ -dYX +lGw pps aRQ ako @@ -184746,36 +186519,36 @@ thA xMq xMq jre -sJu -fWE +tKJ +kya tjs -qFD -qFD -rhS -rhS -wQx -vHe -dZC +jIB +jIB +fCA +fCA +ehh +jPL +oPC jre -vBt +nRE jre jre jre jre -drw -drw -bpa +dom +dom +oVd psb psb -uOz -amq -hai -mtt +qZZ +uKc +jww +gaA ioK -srG +wYH aCl -tHe -tHe +xRF +xRF xRF ako hSF @@ -184816,7 +186589,7 @@ foW ljL ljL agY -bnG +lub lub wbk ccg @@ -184991,7 +186764,7 @@ iDt iDt iDt iDt -pOl +evh tjo tjo tjo @@ -185003,33 +186776,33 @@ xMq xMq xMq jre -nIY -jwf -cdO -ply -gEt -gwb -tOC -ubp -mUW +eXc +rfQ +gLY +sHt +hzU +usm +tYu +isq +jMr jre jre -vKT -rng -qjd -vyy -oRf +nVJ +xOc +eyP +rtw +rOx fwB -drw -nbl +dom +dXr psb -qnv -amq -wvL -mtt -mtt +lTl +uKc +wcn +gaA +gaA ioK -waH +lKu nHc nHc ofm @@ -185262,7 +187035,7 @@ jre jre jre jre -iRS +uTu jre jre jre @@ -185270,24 +187043,24 @@ jre jre jre jre -bvc -rXB -udR -tkY -liv -liv -tkY -jKL -rpJ +lOA +ceQ +rRT +yfs +sTl +sTl +yfs +gTr +aAg psb -uOz -amq -wvL -fDp -csV +qZZ +uKc +wcn +grL +oQc ioK waH -iyF +hCk xyG jnY eQU @@ -185306,7 +187079,7 @@ ffQ xDb clI iDt -pco +wqG iDt xMq xMq @@ -185516,35 +187289,35 @@ xMq xMq jre jre -uye -ohk -aAk +hDL +qZG +vmW nNe -xHv -qbY +tgj +mnA jre -nmi -aoi -ssm -fpt +eZC +qhj +wxt +ees mQk -qKw +sdF mQk fwB fwB fwB fwB -drw -qEh +dom +lPs psb -qnv -amq -wvL +lTl +uKc +wcn btU -hlQ +klU btU gfy -inP +coS xMv wav pWi @@ -185563,8 +187336,8 @@ hoM xDb xMq iDt -mJZ -frt +djK +bTX iDt iDt xMq @@ -185772,37 +187545,37 @@ thA xMq xMq jre -iDB -mPQ +kFc +kqg wSs -kfk -wjR -fMu -nla +wfP +uQv +qhb +oXE jre -nMC -fpm -kBO +iYB +klO +ewO jBB mQk -lEn +jUb mQk mQk fwB -nRy +nNg fwB -drw -cQV +dom +aWu psb psb -uOz -wvL -btU -sEI +qZZ +wcn +ioK +xKO btU -poY -hWX -goc +dVj +gra +lHV btU btU ako @@ -185833,8 +187606,8 @@ sqW gjq nxM ueD -aUD -eJf +nxM +lZy upH fTG hkp @@ -185852,7 +187625,7 @@ bWK bWK neu hjR -vNM +uEf iDt iDt iDt @@ -186029,39 +187802,39 @@ thA xMq xMq jre -wEq -ezd -nla -uxU -bRx -ayY -nla +aMU +xzk +oXE +dYH +rlB +jMO +oXE jre -lHr -fQs -xOi +jgO +dop +nRn mQk mQk -riM +iBi mQk -fLa -eaM -cqs +mbM +oje +gYq fwB -drw -xxo -gcB +dom +fSB +rXP psb -hLh -hai -btU -dzr +xcf +jww btU -xkT -kKk -pWG +enz btU -kKa +uiH +qnv +jTA +dYO +oJv ako wlF lYR @@ -186082,8 +187855,8 @@ iDt iDt scw iDt -gqG -eJf +psb +fch eJf eJf eJf @@ -186277,7 +188050,7 @@ tjo tjo tjo iDt -pOl +evh iDt iDt thA @@ -186286,36 +188059,36 @@ thA xMq xMq jre -mMI -cBJ -nla -kRj +kGD +eIR +oXE +cqw nNe -ovZ -pGg +hWR +iis jre -lHr -njz -qYC -qOB +aiO +oyf +giB +xZv mQk -bLf -hAS -lJc -xbB -gxz +fja +prX +eud +kww +qPE fwB -drw -xxo -cem +dom +aqh +nYz psb -hai -csV +jww +oQc btU -gCG -cge -dDq -cLf +boW +seh +cup +wXS jUB jUB jUB @@ -186544,35 +188317,35 @@ xMq xMq jre jre -xnf -rdq -aAk +jVp +qhi +vmW nNe -hnK -rXY +hts +hQv jre jre -tWY +oqE jre jre jre -twS +gWi jre jre jre jre -drw -drw -xxo +dom +dom +fSB fuH psb -olO -ese +dmT +dmT btU -cJa -oEH -klS -vAO +uvp +rAq +qxF +xxm jUB oXs iSs @@ -186584,7 +188357,7 @@ osr wiD dRz pwn -pwn +fFG pwn jUB cuJ @@ -186804,32 +188577,32 @@ jre jre jre jre -udf +sXa jre jre jre -wOC -oYC +nzU +aWj wSs -nla -cSO -hYt -nla +oXE +fOS +pWE +oXE wSs -tes +tpc jre jre jre -kFF +sGG jre jre fuH fuH btU -mkN -meW -xFG -qad +sXL +eHx +fup +toK jUB srM skU @@ -186853,8 +188626,8 @@ thA thA thA thA -gqG -eJf +psb +fch eJf eJf eJf @@ -186862,12 +188635,12 @@ eJf myZ eJf eJf -buW +eJf kpC kDb nqX qoZ -sIA +mOF lVw jPu ffe @@ -186879,8 +188652,8 @@ ffe ffe ffe ffe -heH -gNh +ffe +oxO alM noQ alM @@ -187060,33 +188833,33 @@ xMq xMq xMq jre -igu -kvT -pZO -jHL -jHL -jSp +jDV +rOL +edR +nsQ +nsQ +ljq jre -jNe +weT jre -tSO +exQ jre dQN jre -cpO +meX jre -gVs -hGg +mkZ +tCA wSs vTp jre fuH fuH btU -iWN -cRN -jFA -jRm +mAj +oPj +vHx +wsJ jUB ksH yaJ @@ -187112,19 +188885,19 @@ thA thA thA thA -nfG +ppY gjq gjq alM gbL -wJD -eJf +alM +lZy eJf kpC awL jes qdx -sIA +mOF rtt dgZ ffe @@ -187318,20 +189091,20 @@ xMq xMq jre jre -kUW +rit jre -eet +tDS dQN -kEr +vwD jre rYT -sOX -aGk +biE +olR jre -jhu +jsO jre -mza -awF +xGL +lVU wSs wSs wSs @@ -187340,10 +189113,10 @@ jre fuH fuH btU -vrr -rcU -gEX -eML +tYM +hkQ +cZk +tHJ xDb jUB aVU @@ -187376,12 +189149,12 @@ wCo oxO wCo eJf -nfG +ppY upH cYi qqh naX -sIA +nsR rtt rgB ffe @@ -187579,29 +189352,29 @@ uiv jre jre jre -bzX -vpJ -gOd +uVr +sHe +frF oTx -hIE +fQe jre vFg jre jre jre -vyN +xth jre -kUW +rit jre jre fuH fuH btU btU +xUf +xUf btU -btU -btU -iYH +xDb qsG aqp wbe @@ -187832,19 +189605,19 @@ thA xMq xMq jre -dla +sjd jre xMq jre -gFt +oiC jre lvF -vUn +wFt lvF jre -aLh +htg djH -uGY +pIh jre jre jre @@ -188086,9 +189859,9 @@ iDt thA thA iDt -rcY +ffq scw -uNG +ayL aIB tiY xMq @@ -188105,7 +189878,7 @@ hMw jre xMq jre -dla +sjd jre iDt thA @@ -188343,8 +190116,8 @@ iDt iDt iDt iDt -rcY -luR +ffq +riW scw scw iDt @@ -188364,7 +190137,7 @@ xMq tiY aIB dhH -grg +xvE iDt thA thA @@ -188600,14 +190373,14 @@ iDt iDt iDt iDt -tHF -scw +nKs +hJU iDt scw iDt iDt iDt -rcY +djK lvt lvt xMq @@ -188633,8 +190406,8 @@ thA xMq xMq xMq -xMq -ozM +lYH +fWw nKl cgR tBW @@ -188653,7 +190426,7 @@ oxO oxO iry jQi -oxO +qkD oxO oxO oxO @@ -188663,7 +190436,7 @@ rUS tRd tRd nPI -wjy +nPI nPI nPI nPI @@ -188857,17 +190630,17 @@ iDt iDt iDt iDt -rcY +ffq tSs iDt scw scw iDt cCb +ebX +rcY +rcY syw -kNC -kNC -gIl iDt thA thA @@ -188911,7 +190684,7 @@ nsp oxO oxO oxO -kOO +oxO oxO oxO oxO @@ -189371,7 +191144,7 @@ thA iDt iDt iDt -rcY +djK iDt iDt scw @@ -189380,7 +191153,7 @@ iDt iDt iDt iDt -pOl +evh iDt iDt iDt @@ -189415,12 +191188,12 @@ xMq alM oxO ffe -qvN -qvN -qvN -biI -qvN -qvN +qCu +qCu +qCu +oED +qCu +qCu qLY eGN lZX @@ -189672,34 +191445,34 @@ xMq alM oxO ffe -qvN -qvN -qvN -uUn -qvN -qvN +qCu +qCu +qCu +pUX +qCu +qCu qLY vfe tsa wHb qLY -abe +pKP wFN abe -cKA +wlX wFN abe -cKA +wlX abe abe -cKA +wlX abe abe -cKA +wlX abe abe rnQ -nPI +teo alM alM thA @@ -189885,13 +191658,13 @@ xMq xMq iDt iDt -rcY +ffq iDt scw iDt -jmo +xkW keA -vQz +lPl iDt iDt scw @@ -189924,17 +191697,17 @@ xMq xMq xMq psb -iDt +clI xMq alM oxO ffe -viR -qvN -qvN -bOT -qvN -qvN +sbP +qCu +qCu +eZA +qCu +qCu qLY tkP fPv @@ -190147,7 +191920,7 @@ iDt iDt iDt tBs -dGZ +vcf tBs iDt iDt @@ -190188,14 +191961,14 @@ nsp ffe qLY qLY -uHS -ujp -qvN -ctF +xyp +kuT +qCu +qLY qLY qLY oXr -wpv +fma qLY lMu bUK @@ -190212,8 +191985,8 @@ yjA tOf vPD lqU -mDg -nPI +ffe +jXM alM alM thA @@ -190404,18 +192177,18 @@ tBs iDt iDt vRz -wMj +lUl vRz iDt -wkV -tej -kNC -tej -tej -tej -kNC -tej -cNh +vLW +clj +eVu +clj +clj +clj +eVu +clj +ctC iDt iDt iDt @@ -190661,7 +192434,7 @@ tBs tBs tBs tBs -rHR +qNA tBs tBs tBs @@ -190672,7 +192445,7 @@ rbZ rbZ pgo iDt -hNF +jTf iDt iDt iDt @@ -190708,24 +192481,24 @@ euM pMF sfv xyn -dmj +oYD wPd lVt -asb +yfa pMF -xCh -cbP +fZA +mqL pMF -ihN -doK +bWU +gvf mBP -rjT -rXD +vrw +mmG pMF -pfJ -jrc +hoa +pXq pMF -mbb +mEW rkl nPI oxO @@ -190913,7 +192686,7 @@ xMq tBs pwv sAu -rqn +dGS tBs nHQ oik @@ -190929,8 +192702,8 @@ tuk ebB efM pgo -rcY -rSQ +mDa +qvl scw iDt iDt @@ -190964,7 +192737,7 @@ dtU niy gtF ouP -gLS +qLY cyh cXX bKI @@ -191240,7 +193013,7 @@ cNI tWd hJi wGN -mDg +ffe pQG tRd alM @@ -191443,12 +193216,12 @@ efM uXk efM awy -rcY +mDa +gaY iDt -iDt -svz +hDO keA -ddv +sys iDt iDt iDt @@ -191474,7 +193247,7 @@ ffe oqd vHq aZk -xNa +hVk pMF rdl iQM @@ -191700,19 +193473,19 @@ yav ebB awy iDt -qau +jTf iDt xMq wrX -efN -xCj +kpg +wrX xMq thA thA iDt scw iDt -vYN +wzi xMq iDt iDt @@ -191736,26 +193509,26 @@ rSu qLY qLY qLY -abe +pKP abe gLj -abe +pKP wFN gLj -abe +pKP abe gLj -abe +pKP abe gLj -abe +pKP abe gLj -abe +pKP abe abe pjr -tRd +gqY iWM alM thA @@ -192218,7 +193991,7 @@ wrX wrX wrX wrX -pSP +oCe wrX wrX xMq @@ -192242,7 +194015,7 @@ alM wOH oxO oxO -ggS +oxO nyJ nSK ffe @@ -192455,7 +194228,7 @@ thA tBs tix tBs -wgu +aCJ dlB jCL qEJ @@ -192470,7 +194243,7 @@ oTA rpK oTA epB -oTA +vrs wrX wrX seN @@ -192719,16 +194492,16 @@ jmR vrC hbR gNJ -qEJ -eog +gQO +mPJ lUa -dtC -bAF +rvE +dUt qeR bAF nJy -oTA -cMj +fBh +xNE xNE lnw pwC @@ -192746,12 +194519,12 @@ thA thA xMq xMq -kNC -kNC -ebX +qHP +qHP +ctC iDt iDt -nfG +ppY alM alM alM @@ -192976,17 +194749,17 @@ cBP wAv fjH dNB -gQO -mPJ +kLz +vOA mle -bWZ -amt -xXE +oTA +sab +qYh sab pcB tSy -uJt -uJt +bmo +bmo hxI iAQ bkq @@ -193005,8 +194778,8 @@ xMq iDt iDt iDt -qZG ebX +ctC scw iDt lRI @@ -193229,7 +195002,7 @@ tBs dit bDH rYt -rrf +nBS wAv jvs qEJ @@ -193241,7 +195014,7 @@ oTA syh oTA lqj -oTA +jBA uJt uJt rcD @@ -193260,19 +195033,19 @@ xMq xMq iDt iDt -xte +rkp iDt iDt chg iDt -nfG +ppY alM -bXf +lPH ffe ffe ffe ffe -ylQ +pQl ffe iry oxO @@ -193514,22 +195287,22 @@ thA thA xMq xMq -aoC -aoC -aoC -kdJ -iDt -iDt -wnp -wnp -wnp -wnp -wnp -wnp -eLU -wAk -lPz -rOz +lvt +lvt +lvt +rlq +iDt +iDt +uwT +uwT +uwT +uwT +uwT +uwT +loO +hnm +qkg +wQx ffe ffe ffe @@ -193771,22 +195544,22 @@ thA thA xMq xMq -aoC -aoC -aoC -kdJ -aoC -wnp -wnp -sjD -dsa -wnp -aLo -jDQ -oQV -xvx -rOz -xvx +lvt +lvt +lvt +rlq +lvt +uwT +uwT +dwQ +gFi +uwT +kgw +tjf +raQ +qTf +wQx +qTf kAH mHu kwM @@ -194001,8 +195774,8 @@ tWc tBs kCx wrX -umF -kmn +hzd +sdk aIe lHB dzy @@ -194027,28 +195800,28 @@ thA thA thA xMq -aoC -aoC -aoC -aoC -mRp -qbz -wnp -uNH -kXR -jVi -xij -vES -xnC -tLy -jih -gYO -toP +lvt +lvt +lvt +lvt +rjb +efR +uwT +ycx +oAc +okM +oGj +rWm +gBY +lvR +rxU +qvx +aZJ kAH mHu jlj tUo -aQn +cvj hFb vqv wQi @@ -194258,8 +196031,8 @@ pmn tBs tBs tBs -hrK -icv +wrX +wrX wrX wrX fIn @@ -194269,10 +196042,10 @@ oTA epB oTA uko -oTA +aEX uJt uJt -rcD +irl oTA wQC wrX @@ -194283,29 +196056,29 @@ thA thA thA thA -rcY -aoC -aoC -aoC -nNV -ege -iPK -wnp -afy -sqB -eSQ -xjs -vES -uIf -uIf -uIf -uIf +kNC +lvt +lvt +lvt +jyy +oyM +lGb +uwT +vvo +xeI +nTY +kcY +rWm uIf +qdv +vKj +qdv +qdv uIf -laa +pHW qKt tUo -aQn +cvj hFb vqv qiN @@ -194515,8 +196288,8 @@ wMj lpL wMj tBs -lry -oTA +etH +etH hlS wrX uDC @@ -194527,9 +196300,9 @@ irQ bAF bYm bMe -uJt -uJt -oTA +rfL +rfL +vjj oTA tIw wrX @@ -194540,29 +196313,29 @@ thA thA tjo tjo -rcY -aoC -aoC -aoC -ekN -nce -qcl -qcl -qcl -vES -mwK -vES -ybe +kNC +lvt +lvt +lvt +opE +ssj +sDB +sDB +sDB +rWm +cZf +rWm +tKY +uIf +uIf +uIf +uIf +uIf uIf -nIt -nIt -nIt -nIt -inh mWj aNu tPG -xEQ +baN qaL vqv brt @@ -194772,10 +196545,10 @@ tBs aVi vGJ tBs +mbW etH -etH -eyU -wrX +oTA +jdT uJI xBt iih @@ -194783,8 +196556,8 @@ sab nMP sab qYh -oTA -avo +fBh +tTw tTw qfj vnj @@ -194797,28 +196570,28 @@ thA thA tjo tjo -rcY -aoC -aoC -aoC -mnB -tTK -rSZ -vES -uPQ -vES -eSQ -nOo -xdk -onV -stb -stb -stb -stb -iWs -mxc +kNC +lvt +lvt +lvt +ctm +iln +xPs +rWm +kZe +rWm +tkX +eLs +xNR +anD +oRH +oRH +oRH +oRH +oRH +wzU qRO -rEj +wuh qRO mEL vqv @@ -195031,7 +196804,7 @@ aOz tBs cPq etH -etH +sYy wrX wrX ffp @@ -195040,7 +196813,7 @@ oTA syh oTA syh -oTA +mUi wrX wrX hfm @@ -195054,19 +196827,19 @@ thA thA tjo tjo -rcY -aoC -aoC -aoC -aoC -asG -qcl -qcl -wnp -gAZ -tEE -lYS -jem +kNC +lvt +lvt +lvt +lvt +kWk +sDB +sDB +uwT +fvF +rCs +kwn +teQ uIf rmp pOL @@ -195076,7 +196849,7 @@ opD jGR hFb mzb -rEj +wuh rRl vqv wZV @@ -195287,7 +197060,7 @@ goB goB tBs wrX -wrX +pvT wrX wrX wrX @@ -195311,26 +197084,26 @@ thA thA tjo tjo -qZG ebX -aoC -aoC -aoC -kdJ -aoC -aoC -wnp -wnp -dqt -woV -xxZ +ctC +lvt +lvt +lvt +rlq +lvt +lvt +uwT +uwT +bvw +oDw +gyO uIf jcC -pOL -pOL -pOL -opD -jGR +exM +exM +exM +oYC +jkp hFb hFb qRO @@ -195544,7 +197317,7 @@ lvt lvt lvt lvt -lvt +scw lvt wrX wrX @@ -195569,32 +197342,32 @@ thA tjo tjo tjo -qZG -kNC ebX -aoC -kdJ -aoC -aoC -aoC -wnp -qcl -qcl -wnp +rcY +ctC +lvt +rlq +lvt +lvt +lvt +uwT +sDB +sDB +uwT uIf +aXi odm odm -lEc odm nqy -jGR +jkp qRO qRO qRO rRl ndb bnZ -ulE +eSq uIf thA thA @@ -195828,24 +197601,24 @@ tjo tjo tjo tjo -qZG -kNC -nmy -kNC -kNC -kNC -uMU +ebX +rcY +dUm +rcY +rcY +rcY +syw iDt -rQs -kNC -fcj -fcj -fcj -fcj -roW -roW -bId -gcy +ppI +qHP +opP +opP +opP +opP +lpy +lpy +qvS +eAF jJG jJG plX @@ -196093,14 +197866,14 @@ thA thA thA thA -rcY -iDt -fCS -iwq -cuB -iCe -lgP -iCe +ffq +lvt +vEc +taC +duY +vgK +rGf +vgK vcH gnq xEF @@ -196350,14 +198123,14 @@ thA thA thA thA -rcY -iDt -fCS -ocd -bqX -rmG -ryX -sqH +mDa +gLQ +vEc +oPu +uTx +ejN +xVB +lym qSk sbd rEh @@ -196607,14 +198380,14 @@ thA thA thA thA -rcY -iDt -fCS -iwq -evc -wKh -aEK -wKh +ffq +lvt +vEc +taC +sGT +qNt +ydQ +qNt odf sbd jaY @@ -196864,8 +198637,8 @@ thA thA thA thA -syw -kNC +ebX +rcY bgx bgx bgx @@ -197121,16 +198894,16 @@ thA thA thA thA +iDt +iDt vzD +uAJ vzD -vzD -jdd -sHV rTs -rEU +bWj oHo gOq -bBb +rEU vzD thA thA @@ -197379,15 +199152,15 @@ thA thA thA vzD -yap -qXY -jCl -jCl -jCl -jCl -jCl +vzD +vzD jCl -iVY +fZJ +paA +uZc +vzD +vzD +vzD vzD thA thA @@ -197636,14 +199409,14 @@ thA thA thA vzD -yap -jCl -bFq +iVY +bJd +uZc +vzD +rEU +uZc axu -dVq -xEt -jCl -jCl +pZp iVY vzD thA @@ -197893,15 +199666,15 @@ thA thA thA vzD +sRt +qcx vzD vzD +gVI vzD vzD -vzD -vzD -vzD -vzD -vzD +pZp +sRt vzD thA thA @@ -198149,17 +199922,17 @@ thA thA thA thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA +vzD +sne +dpA +vzD +sHV +nxN +ibj +vzD +otO +kHs +vzD thA thA thA @@ -198406,17 +200179,17 @@ thA thA thA thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA +vzD +wYi +qLA +vzD +sHV +thU +kNL +vzD +rdg +uZc +vzD thA thA thA @@ -198663,17 +200436,17 @@ thA thA thA thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA -thA +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD +vzD thA thA thA @@ -218581,7 +220354,7 @@ wNO wNO wNO wNO -aaX +qzn vbG hHG hHG @@ -218838,7 +220611,7 @@ wNO wNO wNO wNO -fhB +liV vbG hHG hHG @@ -219097,8 +220870,8 @@ wNO bln bln bln -xDQ -xDQ +wDS +wDS bln wNO wNO @@ -219183,11 +220956,11 @@ wNO wNO wNO bln -gnZ +oEB bln hcw lSu -gnZ +oEB bln wNO wNO @@ -219199,11 +220972,11 @@ wNO wNO wNO bln -gnZ +oEB lSu weW bln -gnZ +oEB bln bln bln @@ -219354,8 +221127,8 @@ wNO bln bln bln -rPp -rPp +dTI +dTI bln wNO wNO @@ -219697,11 +221470,11 @@ wNO bln bln lSu -eqn +bln sEB sEB sEB -sjU +lSu bln lSu bln @@ -219713,11 +221486,11 @@ lSu bln lSu bln -eqn +bln sEB sEB sEB -sjU +lSu bln mQb bln @@ -220217,7 +221990,7 @@ tqR sEB fUR lSu -gnZ +oEB jNZ sEB sEB @@ -220225,7 +221998,7 @@ sEB sEB sEB rzO -gnZ +oEB lSu fUR sEB @@ -220724,7 +222497,7 @@ bln uer bln bln -umb +bln fUR mXT cJt @@ -220740,14 +222513,14 @@ sEB sEB qVo lSu -umb +bln fUR mXT cJt iMu fUR oqJ -iWb +bln lSu lSu bln @@ -220755,7 +222528,7 @@ bln bln bln bln -gnZ +oEB bln bln bln @@ -220767,7 +222540,7 @@ aBR aBR aBR aBR -gnZ +oEB aBR aBR aBR @@ -221018,7 +222791,7 @@ bln bln bln lSu -gnZ +oEB aBR aBR aBR @@ -221236,13 +223009,13 @@ bln bln bln bln -gnZ +oEB lSu -fBN +xOk fUR -irX +kod kyg -rwW +uhx uhx uhx uhx @@ -221256,7 +223029,7 @@ sEB uhx uhx uhx -rwW +uhx jHX fJd fUR @@ -221264,7 +223037,7 @@ lSu fUR kod gFL -rwW +uhx uhx uhx uhx @@ -221492,7 +223265,7 @@ bln lBD bln lSu -hjU +jNZ kKU kKU rzO @@ -221756,7 +223529,7 @@ fUR fUR ykb wOy -fHb +uhx uhx uhx uhx @@ -221770,7 +223543,7 @@ sEB uhx uhx uhx -fHb +uhx bzg otG uhx @@ -221778,7 +223551,7 @@ lSu uhx ykb wOy -fHb +uhx uhx uhx uhx @@ -222519,7 +224292,7 @@ bln bln fsm bln -tIc +miY fUR fUR mXH @@ -222566,7 +224339,7 @@ bln bln bln bln -gnZ +oEB aBR aBR aBR @@ -223033,7 +224806,7 @@ bln bln bln bln -hWW +miY ydI ydI qKJ @@ -223041,7 +224814,7 @@ kHl mVE nDJ wOy -rwW +uhx uhx uhx uhx @@ -223055,7 +224828,7 @@ sEB uhx uhx uhx -fHb +uhx bzg dvO uhx @@ -223063,7 +224836,7 @@ lSu uhx ovm wOy -fHb +uhx uhx uhx uhx @@ -223285,9 +225058,9 @@ bln bln lBD bln +lSu bln -bln -hjU +jNZ kKU kKU sEB @@ -223555,7 +225328,7 @@ xRI ydI ior wOy -fHb +uhx uhx uhx uhx @@ -223569,7 +225342,7 @@ sEB uhx uhx uhx -rwW +uhx bzg oVX fUR @@ -223577,7 +225350,7 @@ lSu fUR tvm wOy -rwW +uhx uhx uhx uhx @@ -223798,7 +225571,7 @@ bln bln bln bln -bln +lSu stJ bln lJO @@ -223823,8 +225596,8 @@ prs sEB sEB sEB -pJb -waT +fiv +lSu fUR fUR bAo @@ -224096,19 +225869,19 @@ fUR bln uer bln -gnZ +oEB lSu bln bln bln lSu -gnZ +oEB bln bln bln bln bln -gnZ +oEB aBR aBR aBR @@ -224351,7 +226124,7 @@ wOy eyk fUR bln -iWb +bln bln bln bln @@ -224609,7 +226382,7 @@ fUR fUR fUR fUR -stJ +frV bln bln bln @@ -224825,7 +226598,7 @@ bln bln bln bln -bln +lSu bln bln lJO @@ -224840,7 +226613,7 @@ lJO lIT qpt fBQ -tHB +syL vmC syL dwb @@ -224854,7 +226627,7 @@ fsv cmV bXx aui -qTj +bXx btW jJd eyj @@ -225098,7 +226871,7 @@ uBL nvI nvI oTc -cQa +nvI nvI fwM fsv @@ -225110,13 +226883,13 @@ xFs fsv dpU swK -iCw +swK ubx swK swK swK wfF -rUv +swK nqD thX peM @@ -225383,7 +227156,7 @@ nwT tKI pgE tKI -iWb +bln lBD bln mQb @@ -225427,11 +227200,11 @@ bln bln bln bln -bln -bln -bln -bln -bln +wNO +wNO +wNO +wNO +wNO wNO wNO wNO @@ -225596,7 +227369,7 @@ bln bln stJ bln -bln +lSu bln cyH hjI @@ -225641,7 +227414,7 @@ tKI bCQ tKI tKI -bln +tMa mQb bln bln @@ -225688,7 +227461,7 @@ bln bln bln bln -bln +wNO wNO wNO wNO @@ -225853,7 +227626,7 @@ lBD bln bln uer -bln +lSu bln lJO lJO @@ -225882,7 +227655,7 @@ xFs jLM dvf fUR -juu +lwf jNB qku ukD @@ -225931,12 +227704,12 @@ aBR bln bln bln +mQb bln bln bln -bln -bln -bln +lSu +lSu bln bln bln @@ -226131,7 +227904,7 @@ rMu kHP cuc mVE -nAH +aSE nAH nAH mVE @@ -226139,13 +227912,13 @@ xFs jLM qHO fUR -juu +fvI kBU xgX juu gNL fUR -qAB +aHn cTh iJl ooa @@ -226186,17 +227959,17 @@ aBR bln bln bln +mQb bln +mQb bln +hNA +baI +yfW +uap +rmK bln -bln -tCr -tCr -tCr -tCr -tCr -bln -bln +mQb bln bln bln @@ -226351,6 +228124,9 @@ bln bln bln bln +lSu +mQb +mQb bln bln bln @@ -226358,15 +228134,12 @@ bln bln bln bln +mQb +mQb bln bln bln -bln -bln -bln -bln -bln -bln +lSu bln lJO cKB @@ -226444,18 +228217,18 @@ bln bln bln bln +mQb +uer bln +vTh +jNV bln bln -tCr -bln -bln -bln -tCr -bln -bln -bln -bln +vTh +jNV +uer +mQb +mQb bln bln bln @@ -226604,27 +228377,27 @@ ozo bln bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -mVm -tCr -tCr -bln -bln -uer -bln -bln -bln +cSi +sgR +sgR +yfW +fEq +sgR +sgR +yfW +sgR +sgR +sgR +yfW +uap +sgR +sgR +sgR +sgR +sgR +baI +fOc +sgR lJO gwM xdU @@ -226653,10 +228426,10 @@ xFs jLM iYy tma -agG +juu mxQ pXU -pSd +juu jsh fUR tkc @@ -226699,21 +228472,21 @@ bln bln bln bln +mQb +mQb bln bln bln -bln -bln -tCr +dAW bln cnx bln -tCr -bln -bln +kdS bln bln +lSu bln +mQb bln bln bln @@ -226860,8 +228633,8 @@ bln bln bln bln -bln -tCr +mQb +vZK bln bln bln @@ -226870,14 +228643,14 @@ bln bln bln muK -bln +mQb bln bln hty bln -tCr -bln +mQb bln +uer mQb bln bln @@ -226902,7 +228675,7 @@ lvW uTI cuc mVE -nAH +aSE nAH nAH mVE @@ -226926,7 +228699,7 @@ tKI bCQ tKI tKI -bln +tMa stJ fsm bln @@ -226954,24 +228727,24 @@ aBR aBR bln bln -bln -tCr -tCr -tCr -tCr -tCr -bln -bln +mQb +hNA +sgR +sgR +lTp +sgR +sgR +frU bln tmR -bln -bln -bln -tCr -tCr -mVm -tCr -tCr +mQb +jgI +sgR +baI +yfW +uap +sgR +wzB bln bln wNO @@ -227117,8 +228890,8 @@ bln bln bln bln -bln -tCr +mQb +vZK bln uei tmR @@ -227127,16 +228900,16 @@ bln uei tmR uei -bln +mQb uei tmR uei bln -tCr -bln +mQb bln bln bln +lSu mQb bln lJO @@ -227167,7 +228940,7 @@ xFs pLn aDy tKI -ljK +vKO tXs ljK rUa @@ -227182,7 +228955,7 @@ tKI tKI kPq tKI -qjC +bln bln bln bln @@ -227212,23 +228985,23 @@ aBR bln bln bln -tCr -bln +kdS bln +ntK bln bln bln bln bln tmR +mQb bln bln bln bln bln bln -bln -tCr +kdS bln bln wNO @@ -227373,14 +229146,14 @@ wNO bln bln bln +uer bln -bln -tCr -bln +cgX +jNV uei tmR uei -bln +mQb uei tmR uei @@ -227390,7 +229163,7 @@ tmR uei bln bln -bln +lSu bln bln bln @@ -227469,8 +229242,8 @@ aBR bln bln bln -tCr -bln +kdS +mQb xxB xxB xxB @@ -227485,8 +229258,8 @@ xxB xxB xxB bln -tCr -bln +kdS +mQb bln wNO wNO @@ -227629,11 +229402,11 @@ wNO wNO bln bln +mQb bln bln -bln -tCr -bln +dAW +mQb uei tmR uei @@ -227646,10 +229419,10 @@ uei tmR uei bln -bln -bln +lSu +lSu mQb -bln +ntK bln uer bln @@ -227726,8 +229499,8 @@ aBR bln bln bln -tCr -bln +vTh +uer tmR tmR tmR @@ -227742,7 +229515,7 @@ tmR tmR tmR bln -tCr +vTh bln bln wNO @@ -227889,7 +229662,7 @@ bln bln bln bln -bln +vZK bln uei tmR @@ -227903,11 +229676,11 @@ uei tmR uei bln +lSu bln bln bln bln -sxQ bln bln miY @@ -227925,7 +229698,7 @@ esv lCb ddZ eUA -nhS +aoc oCO oCO oCO @@ -227953,15 +229726,15 @@ tKI lSu bln bln -gnZ +oEB bln bln bln -gnZ +oEB bln bln bln -gnZ +oEB bln bln bln @@ -227981,9 +229754,9 @@ aBR aBR aBR bln +mQb bln -bln -tCr +kdS bln xxB xxB @@ -227999,7 +229772,7 @@ xxB xxB xxB bln -tCr +kdS bln bln wNO @@ -228143,10 +229916,10 @@ wNO wNO bln bln -tCr -tCr -tCr -bln +eie +sgR +sgR +frU bln uei tmR @@ -228183,7 +229956,7 @@ eUi eBB tNd nor -qiT +sst cgw mZu hjv @@ -228240,13 +230013,13 @@ aBR bln bln bln -tCr -bln -bln +hgX bln bln bln bln +mQb +mQb bln sEB bln @@ -228256,8 +230029,8 @@ bln bln bln bln -mVm -bln +kdS +mQb bln wNO wNO @@ -228400,14 +230173,14 @@ wNO wNO bln bln -tCr +vZK bln bln bln bln bln tmR -bln +mQb bln bln tmR @@ -228419,7 +230192,7 @@ bln vsI eGr eGr -oLO +eGr nhb sxF kjw @@ -228496,8 +230269,8 @@ bln bln bln bln -bln -tCr +lSu +dAW bln xxB xxB @@ -228513,7 +230286,7 @@ xxB xxB xxB bln -tCr +kdS bln bln wNO @@ -228656,11 +230429,11 @@ wNO wNO wNO bln -bln -tCr -bln -fbh -tZf +mQb +cgX +jNV +cnx +tmR tmR sEB sEB @@ -228695,7 +230468,7 @@ lJO wDf sAR sAR -cBD +lCn kPy dQI pPT @@ -228754,8 +230527,8 @@ bln ozo bln bln -tCr -bln +vTh +jNV tmR tmR tmR @@ -228770,8 +230543,8 @@ tmR tmR tmR bln -tCr -bln +vTh +jNV bln wNO wNO @@ -228913,10 +230686,10 @@ wNO wNO wNO bln +mQb +hLN bln -tCr -bln -bln +mQb bln bln bln @@ -228927,18 +230700,18 @@ bln tmR bln bln -bln +mQb tmR -bln +mQb sEB eGr eGr -gWy +eGr pVN bvd eAh -aiT -hjI +biY +awX hjI hjI eUf @@ -228952,8 +230725,8 @@ lJO mCT mut lGo -xhg -pGy +oLm +rbE wCL tTc wtr @@ -228989,7 +230762,7 @@ lSu lSu lSu bln -gnZ +oEB bln bln bln @@ -229010,9 +230783,9 @@ bln bln bln bln +mQb +kdS bln -tCr -muK xxB xxB xxB @@ -229027,7 +230800,7 @@ xxB xxB xxB bln -tCr +kdS bln bln wNO @@ -229171,10 +230944,10 @@ wNO wNO bln bln -tCr -mVm -tCr -bln +qUU +chb +chb +wzB bln uei tmR @@ -229266,9 +231039,9 @@ bln bln bln bln -bln -bln -mVm +mQb +mQb +kdS bln bln bln @@ -229277,15 +231050,15 @@ bln bln bln sEB +mQb bln bln bln +mQb bln bln -bln -bln -tCr -bln +dAW +mQb bln wNO wNO @@ -229431,12 +231204,12 @@ bln bln bln bln -bln -bln +vZK +mQb uei tmR uei -bln +mQb uei tmR uei @@ -229445,7 +231218,7 @@ uei tmR uei bln -bln +lSu bln bln miY @@ -229476,7 +231249,7 @@ gpp lsi xhx qnj -nct +tsz gAB ykG ykG @@ -229490,7 +231263,7 @@ kEM vkW gak tKI -oKu +dBJ tKI nMj bln @@ -229523,9 +231296,9 @@ bln bln bln bln +mQb bln -bln -tCr +kdS bln xxB xxB @@ -229541,8 +231314,8 @@ xxB xxB xxB bln -tCr -bln +wBv +mQb bln wNO wNO @@ -229685,11 +231458,11 @@ wNO wNO bln bln +mQb +uer bln -bln -bln -tCr -bln +hgX +mQb uei tmR uei @@ -229702,7 +231475,7 @@ uei tmR uei bln -bln +lSu bln bln miY @@ -229769,7 +231542,7 @@ bln bln bln bln -bln +dPv bln bln bln @@ -229779,10 +231552,10 @@ bln bln uGo bln +mQb +mQb bln -bln -bln -tCr +vTh bln tmR tmR @@ -229798,7 +231571,7 @@ tmR tmR tmR bln -tCr +vTh bln bln wNO @@ -229942,11 +231715,11 @@ wNO wNO bln bln +mQb +mQb bln -bln -bln -tCr -bln +cgX +jNV uei tmR uei @@ -229959,7 +231732,7 @@ uei tmR uei bln -bln +lSu lJO hEI lJO @@ -230010,14 +231783,14 @@ mZf ooL maT wSM -oMd +jDF maT oMd bNo maT sEB bln -gnZ +oEB bln bln bln @@ -230036,10 +231809,10 @@ bln bln cWX bln +mQb +lSu bln -bln -bln -tCr +kdS bln xxB xxB @@ -230055,7 +231828,7 @@ xxB xxB xxB bln -tCr +kdS bln bln wNO @@ -230199,10 +231972,10 @@ wNO wNO bln bln -bln -bln -bln -tCr +uer +mQb +lSu +spf bln uei tmR @@ -230216,7 +231989,7 @@ uei tmR uei bln -tCr +bln lJO khW iSn @@ -230268,8 +232041,8 @@ maT maT sym bde -jIE -bde +kXr +mhp ksf maT miY @@ -230295,12 +232068,12 @@ cWX bln bln bln -bln -tCr -bln -bln +lSu +fOc bln bln +mQb +mQb bln bln bln @@ -230312,7 +232085,7 @@ bln bln bln bln -tCr +kdS bln bln wNO @@ -230456,10 +232229,11 @@ wNO wNO bln bln +lSu bln bln +hLN bln -tCr bln bln bln @@ -230473,7 +232247,6 @@ bln bln bln bln -tCr lJO gDZ gDZ @@ -230524,7 +232297,7 @@ cYo tEL maT wSM -hFU +rBf kXr hFU bNo @@ -230550,26 +232323,26 @@ bln bln cWX bln +lSu bln -bln -bln -tCr -tCr -tCr -bln -bln -bln +mQb +kdS +mQb +lSu +lSu +uer +ldJ bln sEB tmR sEB -bln -bln -bln -bln -tCr -tCr -tCr +mQb +eZn +fOc +bzo +chb +chb +frU bln bln wNO @@ -230716,21 +232489,21 @@ bln bln bln bln -tCr -tCr -tCr -tCr -tCj +jgI +chb +chb +bzo +xAs mVm -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr +chb +lMU +dCu +chb +lND +lMU +chb +fOc +chb lJO gLZ cXp @@ -230782,7 +232555,7 @@ kLZ jPc xKj hyY -pdR +xDu huI gbv maT @@ -230790,7 +232563,7 @@ kXr maT maT kXr -bln +htd bln bln bln @@ -230807,21 +232580,21 @@ bln bln cWX bln +lSu bln +mQb +kdS bln +mQb bln -bln -bln -bln -bln -bln +lSu bln bln jlJ jWl jlJ -bln -bln +gmI +wBv bln bln bln @@ -230971,18 +232744,18 @@ wNO bln bln bln +lSu bln bln bln bln -bln -bln -vbG -bln +mQb +vZK bln bln bln bln +lSu bln bln bln @@ -231007,7 +232780,7 @@ lJO qzs jnV lJO -sHy +tdY gHS iMT hqx @@ -231066,22 +232839,22 @@ uqG bln bln bln -bln -pRj +mQb pRj pRj pRj pRj pRj +mNY bln jlJ -smj +bqV jlJ bln +wBv bln -bln -bln -bln +uer +mQb bln bln bln @@ -231230,20 +233003,20 @@ bln bln bln bln +lSu +lSu bln bln -bln -bln -vbG +vZK bln bln uer bln mQb bln -bln +ntK stJ -bln +lSu bln bln bln @@ -231329,15 +233102,15 @@ dMO vZp dcQ wAW -pRj +mNY nxm -ifA +jlJ rbb -gFx jlJ +jlJ +frU bln -bln -bln +mQb bln bln bln @@ -231483,15 +233256,15 @@ wNO wNO wNO bln -bln +mQb bln ozo bln bln +lSu +mQb bln -bln -bln -vbG +hgX bln fsm lBD @@ -231501,7 +233274,7 @@ bln bln bln bln -bln +lSu bln bln lJO @@ -231548,7 +233321,7 @@ hbY tKI tKI tKI -ghl +mNG ajw ajw otd @@ -231586,15 +233359,15 @@ rej iaT daS swS -cRX +mNY mNY smj smj iCX glh bln -bln -bln +mQb +mQb bln bln bln @@ -231740,16 +233513,16 @@ wNO wNO wNO bln +mQb bln +ntK bln +lSu +lSu +mQb bln -bln -bln -bln -bln -bln -vbG -bln +dAW +lSu bln bln bln @@ -231823,7 +233596,7 @@ qjQ qjQ qjQ qjQ -rLo +ijQ qjQ bln bln @@ -231835,7 +233608,7 @@ hRw pRj vZW ptf -daS +qdD ptf bln pRj @@ -231849,8 +233622,8 @@ kkp ooU ipE glh -bln -bln +mQb +uer bln bln bln @@ -231997,20 +233770,20 @@ wNO wNO wNO bln +uer bln bln +lSu +lSu bln +uer bln +vZK bln +lSu bln bln -bln -vbG -bln -bln -bln -bln -bln +mQb stJ bln bln @@ -232031,7 +233804,7 @@ hEI lJO lJO dDV -sFN +oaR lJO lJO lJO @@ -232091,9 +233864,9 @@ ybu jYL pRj ycS -vGi +ptf lDr -sup +ptf ptf pRj kqK @@ -232106,8 +233879,8 @@ qIf fFx czR glh -bln -bln +mQb +mQb bln bln bln @@ -232256,18 +234029,18 @@ wNO bln bln bln +mQb bln bln bln bln bln -bln -vbG +vZK bln bln stJ bln -bln +uer bln bln bln @@ -232324,7 +234097,7 @@ ajw mmi wiz mmi -vmn +mmy wam wam wam @@ -232336,7 +234109,7 @@ ajw tAS hoD hoD -gAY +hoD wjZ sJn qjQ @@ -232359,12 +234132,12 @@ bGf lDh pRj mNY -bCc +mNY pyI mNY glh -bln -bln +mQb +uer bln bln bln @@ -232512,15 +234285,15 @@ aBR tGr tGr tGr -mSQ -atc -atc -atc +pLe +vtf +dxC +dxC atc pLe tGr -tCj -sDl +xAs +abh bln bln bln @@ -232547,14 +234320,14 @@ hEI hjI wPr oSy -sDl +rLY ybQ ybQ ybQ ybQ ybQ ybQ -sDl +qqE jOt ozw eRw @@ -232804,14 +234577,14 @@ hEI hjI wPr oSy -sSA +sDl ybQ gGZ lye ebL edn ybQ -sDl +fwy jOt ozw aJA @@ -232838,7 +234611,7 @@ vlN ajw wiz ajw -vmn +qKC wam wam wam @@ -233067,7 +234840,7 @@ oPI khR khR eRh -uiM +ybQ jOt jOt ozw @@ -233081,7 +234854,7 @@ tKI wBb tKI skw -ipF +biB qpp dsf xjF @@ -233130,7 +234903,7 @@ tKV cjL gfC pRj -daS +jsb viE pRj pRj @@ -233375,11 +235148,11 @@ kYF jOJ qzM pRj -dOH +uex uIx osI osI -hjH +vyf pRj nDy hUI @@ -233542,7 +235315,7 @@ tGr bln bln bln -gnZ +oEB bln tGr tGr @@ -233594,7 +235367,7 @@ pdf pdf wBb tKI -pPE +aiQ alT dcs kin @@ -233636,7 +235409,7 @@ xOl hjH daS pXv -kNZ +pPM pRj bxV uKP @@ -233645,11 +235418,11 @@ hUI lLm mLa qSY +daS pRj +dTj pRj -pRj -pRj -vsI +sEB bln bln bln @@ -233832,14 +235605,14 @@ hEI hjI xJJ oSy -sSA +sDl ybQ egF jYV jDW hPf ybQ -sDl +fhX jOt ozw ons @@ -233903,10 +235676,10 @@ pRj pRj wFg pRj -bln -bln -bln -bln +pRj +pRj +pRj +vsI bln bln bln @@ -234089,14 +235862,14 @@ hEI hjI wPr oSy -sDl +rLY ybQ ybQ ybQ ybQ ybQ ybQ -sDl +qqE jOt ozw ons @@ -234106,7 +235879,7 @@ pMv qaD dBB tKI -wBb +jrP tKI tKI tKI @@ -234146,7 +235919,7 @@ tut qai qoK pXv -exy +pXv pXv pXv pXv @@ -234161,9 +235934,9 @@ ptf xHe ptf bln -bln -bln -bln +uer +uer +mQb bln bln bln @@ -234419,8 +236192,8 @@ xHe ptf bln bln -bln -bln +mQb +mQb bln bln bln @@ -234567,7 +236340,7 @@ tGr miY bln bln -gnZ +oEB mZf bln lSu @@ -234862,7 +236635,7 @@ sTj hos biY sDl -uqV +sDl sDl hDU ksU @@ -234889,7 +236662,7 @@ rCC gLN rCC eVl -wBF +rCC uDr cHb cHb @@ -235191,7 +236964,7 @@ ptf bln bln bln -bln +mQb bln bln bln @@ -235446,11 +237219,11 @@ ptf xHe ptf bln +ntK bln -bln -bln -bln -bln +mQb +uer +mQb bln bln bln @@ -235705,7 +237478,7 @@ ptf bln bln bln -sEB +mQb bln bln bln @@ -235727,8 +237500,8 @@ bln bln bln bln -tCr -tCr +bln +bln bln bln bln @@ -235973,20 +237746,20 @@ eoL ptf bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr +mQb +bln +bln +bln +bln +bln +mQb +bln +bln +bln +bln bln bln bln -tCr -tCr bln bln bln @@ -236170,7 +237943,7 @@ ozH bZg gst tZR -nsq +jYG dOw dOw yhe @@ -236230,20 +238003,20 @@ nkO ptf bln bln -tCr -bln -bln +uer +mQb +mQb bln bln bln bln +uer bln -tCr bln +mQb bln bln bln -tCr bln bln bln @@ -236365,7 +238138,7 @@ tGr tGr bln jNZ -gnZ +oEB jNZ bln ntK @@ -236427,7 +238200,7 @@ gst oiK bLW xjP -sXf +qcI gxO dKK xmN @@ -236444,7 +238217,7 @@ iOS mYs fxn pRj -kCn +wSc daS pRj iaT @@ -236487,18 +238260,18 @@ tXb ptf bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr bln bln +mQb +bln +lSu +bln +mQb +mQb +bln bln +mQb +mQb bln bln bln @@ -236668,7 +238441,7 @@ biY biY biY biY -wkC +rtk lnE wkC bXm @@ -236695,7 +238468,7 @@ tNY dqX aBh sOn -rzm +sOn tue tue tue @@ -236732,7 +238505,7 @@ suR pRj pRj ick -pRj +rku pRj pRj mNY @@ -236742,21 +238515,21 @@ mNY mNY mNY mNY +cSi +baI +fOc +yfW +sgR +sgR +baI +sgR +sgR +baI +lTp +wzB bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +uer +mQb bln bln bln @@ -236902,11 +238675,11 @@ xAs xAs xAs xAs -tCj -wPN +xAs +eZW wPN wPN -aeV +lJO lJO lJO vNK @@ -236940,8 +238713,8 @@ bep dnq gOy dnq -sIg -pTB +srw +ffM pTB pTB pTB @@ -236963,7 +238736,7 @@ ptd obj obj obj -iAt +obj obj obj obj @@ -237000,21 +238773,21 @@ gGs qAq aUj aUj +dwc +mQb +mQb bln +lSu bln +mQb +mQb bln bln -bln -bln -bln -bln -bln -bln -bln -tCr -tCr -tCr -bln +cgX +fjT +sgR +sgR +wzB bln bln bln @@ -237267,11 +239040,11 @@ pXY vyU uOE bln +vZK bln -tCr -bln -tCr +ntK bln +kdS bln bln bln @@ -237454,7 +239227,7 @@ xIS mgj mgj mgj -mZS +srw mgV ljp gHe @@ -237514,7 +239287,7 @@ xFB rkc gxR uaG -kAK +iLY iLY iLY bxa @@ -237524,12 +239297,12 @@ pXY pXY fcP bln +vZK bln -tCr -bln -tCr -bln +mQb bln +vTh +atQ ozo bln bln @@ -237664,7 +239437,7 @@ ooL tDg tDg oFI -gnZ +oEB sgW akQ lSu @@ -237683,7 +239456,7 @@ lJO lJO lJO lJO -wrN +bZx bZx bWn huM @@ -237725,7 +239498,7 @@ rcE hVc jII jII -dnq +nrt ylU dnq jII @@ -237736,7 +239509,7 @@ jqT hcL hcL bln -bln +mQb bln bln bln @@ -237777,15 +239550,15 @@ iLY lqE pXY pXY -vyU -vyU +pXY +pXY uOE bln +vZK bln -tCr -bln -tCr +uer bln +kdS bln bln bln @@ -237924,10 +239697,10 @@ kyy cJi abb oFI -gnZ +oEB abb oFI -gnZ +oEB abb oFI rzG @@ -237939,7 +239712,7 @@ bZx bZx bZx bZx -snv +hEE kQi oWk bWn @@ -237960,8 +239733,8 @@ pAZ ucn tLi pAZ -xyl -dnq +vxI +uLC qjm dxK hbp @@ -237986,15 +239759,15 @@ okb ylU jwl jII -bln +xyY hcL bXF kcm mGm hcL bln -bln -bln +uer +mQb bln ptf ptf @@ -238010,12 +239783,12 @@ fxR aQR csT csT -cQH +csT mNY kCn mNY dUn -eEm +thC cpH kbJ kbJ @@ -238026,23 +239799,23 @@ epY vWe kIt kMY -wRc +omT lha -kAK +iLY iLY iLY bxa pXY pXY -vyU -vyU +pXY +pXY xLS bln +vZK bln -tCr -bln -tCr +lSu bln +kdS bln bln bln @@ -238196,7 +239969,7 @@ bZx bZx bZx bZx -snv +gYm krQ skZ bWn @@ -238218,7 +239991,7 @@ wtj lBD bcN bQV -hIS +bfl bfl dxK wvw @@ -238295,13 +240068,13 @@ pXY vyU uOE bln +vZK bln -tCr -bln -tCr -bln +mQb bln +kdS bln +mQb bln bln wNO @@ -238430,7 +240203,7 @@ aWk diC bJj lyG -jko +teq bXy feJ xWb @@ -238453,7 +240226,7 @@ bZx bZx bZx bZx -snv +gYm krQ gYp bWn @@ -238489,8 +240262,8 @@ dkb kmi iYb xaA -vXV -wjv +ovx +gMq pec fJl xMR @@ -238502,9 +240275,9 @@ dnq paM paM hcL -fUI +jqT hdj -ssr +jqT hcL paM paM @@ -238542,7 +240315,7 @@ ycB qtj qtj aUj -kAK +iLY iLY iLY bxa @@ -238551,14 +240324,14 @@ pXY pXY pXY fcP +lSu +vZK bln -bln -tCr -bln -tCr -bln -bln -bln +uer +mQb +vTh +jNV +mQb bln bln wNO @@ -238699,10 +240472,10 @@ fDc eGA iDq jSt -kvh +mfH wPN -tCj -sDl +xAs +abh sDl sDl bHI @@ -238710,7 +240483,7 @@ bZx bZx bZx bZx -snv +gYm krQ thI bWn @@ -238792,7 +240565,7 @@ yaL yaL yaL yaL -sSJ +ioE bTF nHe jDP @@ -238809,11 +240582,11 @@ pXY pXY uOE bln +cgX +rVk bln -tCr -bln -tCr -bln +mQb +dAW bln bln bln @@ -238967,7 +240740,7 @@ bZx bZx bZx bZx -snv +gYm krQ gYp bWn @@ -238992,7 +240765,7 @@ qWZ ldT qWZ dxK -wzk +gSs hue xit wfK @@ -239010,7 +240783,7 @@ eRZ qpZ rAA cpm -mpy +qJx sYu ckc paM @@ -239045,7 +240818,7 @@ mNY akL tvF tvF -aYS +qya gTK ruO fKe @@ -239056,8 +240829,8 @@ wRd gGt yhC rIX -kAK -nRV +iLY +lqE fcP cSx vyU @@ -239066,14 +240839,14 @@ vyU vyU fcP bln +fOc +mQb +lSu bln -tCr -tCr -tCr -bln -bln -bln -bln +qUU +rmK +mQb +mQb bln wNO wNO @@ -239224,7 +240997,7 @@ bZx bZx bZx bZx -snv +gYm gMK huT bWn @@ -239242,7 +241015,7 @@ piB eJe utR pAZ -lBD +ivh qWZ qHD bMZ @@ -239272,7 +241045,7 @@ ylU bep paM xxQ -nnM +gMl kzO gdP ykL @@ -239320,17 +241093,17 @@ aZH fDn fDn gka +esb +mQb bln +vZK +mQb bln bln bln +kdS bln -bln -bln -bln -bln -bln -bln +mQb bln wNO wNO @@ -239471,7 +241244,7 @@ iDq iDq ciG mfH -sDl +abh sDl sDl sDl @@ -239481,7 +241254,7 @@ bZx bZx bZx bZx -snv +gYm lwO vTg bWn @@ -239536,7 +241309,7 @@ nBk nBk iiT paM -jZU +mJd hFi bts nlr @@ -239584,10 +241357,10 @@ gka gka gka gka +gwC +vTh +jNV bln -tCr -tCr -tCr bln wNO wNO @@ -239721,7 +241494,7 @@ feJ uGr uGr iDq -pLx +jBr lAL gPp iDq @@ -239742,7 +241515,7 @@ wqx gEb gYp bWn -tEn +bTJ cGt wRI qdE @@ -239752,9 +241525,9 @@ ntK mQb bln jII -gMx -lsH -jJr +qJx +wEZ +knE qWZ qWZ qWZ @@ -239842,9 +241615,9 @@ lhC maY gka bln -tCr +kdS +bln bln -tCr bln wNO wNO @@ -240018,7 +241791,7 @@ grA fwQ nOH gxU -jJR +gZq ybv ybv ybv @@ -240098,10 +241871,10 @@ brY lhC lhC gka -bln -tCr -bln -tCr +lSu +kdS +uer +mQb bln wNO wNO @@ -240266,7 +242039,7 @@ nSo jII pAZ pAZ -dnq +nrt eJe utR tmQ @@ -240299,7 +242072,7 @@ dnq vrX pua paM -pEY +oIh vJI uud gdP @@ -240307,7 +242080,7 @@ pjl uOn msU paM -khu +grf bbo pbE vja @@ -240330,7 +242103,7 @@ mNY ixG aPf dzJ -neV +drd twt mEw sSJ @@ -240356,9 +242129,9 @@ rQf mUs gka bln -tCr +kdS bln -tCr +mQb bln wNO wNO @@ -240505,9 +242278,9 @@ sDl sDl sDl psN -nUI +vzP dkY -nCW +mlw hzY bRn fng @@ -240531,7 +242304,7 @@ qXF dMX gER nOH -bQd +hwC ybv xzT cHO @@ -240544,7 +242317,7 @@ bln kta jLa rBL -fYF +uMN clE jQI qnr @@ -240574,7 +242347,7 @@ dPT pRj pMu gVD -gSQ +kPu ajF qwe uJH @@ -240591,8 +242364,8 @@ gTK gTK myX sSJ -xFM -eEh +gka +oAs fab eDC uIV @@ -240612,10 +242385,10 @@ viH viH rQf gka +mQb +vTh +atQ bln -tCr -bln -tCr bln wNO wNO @@ -240770,11 +242543,11 @@ pfe aeQ mdX pfe -ktK -fGr -olt -qSP -eSm +tdS +vws +mjf +wEb +xtk pfe pfe jII @@ -240790,7 +242563,7 @@ paK nOH mOL ybv -oqz +gCI lRx oJP bdK @@ -240841,10 +242614,10 @@ xtQ hIH kCn mNY -wiM +hFJ tMD ehJ -rpF +fMt twt tXB sSJ @@ -240852,7 +242625,7 @@ gka uXC fab fNv -iEd +wuo wuo nnw spv @@ -240869,10 +242642,10 @@ lhC lhC lhC gka +mQb +kdS bln -tCr bln -tCr bln wNO wNO @@ -240998,7 +242771,7 @@ lQc nbp mgU nbt -ioi +ccF fad azx tDw @@ -241022,11 +242795,11 @@ iiH teP teP teP -fEC +qbk gMK fng rHc -oOt +mxF uog vVY uog @@ -241034,7 +242807,7 @@ uog nfU bzI uog -qzU +yaF mny dnq wmK @@ -241059,7 +242832,7 @@ kta kta dHa kta -wal +kta wDi qQC jtN @@ -241098,7 +242871,7 @@ kKH pRj eAj sro -apL +dgp qkT kzA whW @@ -241127,9 +242900,9 @@ phL lhC gka bln -tCr +kdS +bln bln -tCr bln wNO wNO @@ -241253,7 +243026,7 @@ bln npb bln lSu -rhf +nWY rPP eNl vbF @@ -241283,7 +243056,7 @@ vDb vvh vPC pvm -tJZ +dMi cvC kQc iYG @@ -241291,7 +243064,7 @@ kQc kOV kQc kQc -kkr +iJN gOy gOy fKF @@ -241357,7 +243130,7 @@ fFy mNY bTq xUP -fQU +gRt rpF twt fcg @@ -241383,10 +243156,10 @@ efE kJU lhC gka +lIB +kdS bln -tCr bln -tCr bln wNO wNO @@ -241536,19 +243309,19 @@ uwB lvS xLO fGM -eEZ +hrO nUJ qbA csB -stB +gtB tny dLo fBF xUU wYZ aKI -xUU -avd +mza +obb qJV vBh fiE @@ -241559,7 +243332,7 @@ axf kzD kJP lhv -heS +wZR ybv xwm vzT @@ -241573,7 +243346,7 @@ kta kta eoJ kta -wal +kta tEK qQC hNg @@ -241583,8 +243356,8 @@ kta vtz fuM vXh -jZB -rWn +ylF +rGp mJa gDV fxl @@ -241603,7 +243376,7 @@ rWn rWn gDV cSP -dAk +oXc jRV uOL gQq @@ -241622,7 +243395,7 @@ wfn ras fkj fab -nsK +iag dfq ghj xBp @@ -241640,10 +243413,10 @@ lhC gsk lhC gka +lSu +kdS bln -tCr bln -tCr bln wNO wNO @@ -241771,7 +243544,7 @@ rhf jDt wtg diq -ehy +uet vtZ mgU fUj @@ -241871,7 +243644,7 @@ vkz uoF pcg deD -fLH +unG qnC isX eBI @@ -241881,7 +243654,7 @@ gFR fab fyQ wuo -vuK +wuo nnw cDK uvk @@ -241898,9 +243671,9 @@ lhC lhC gka bln -tCr +kdS +bln bln -tCr bln wNO wNO @@ -242054,7 +243827,7 @@ jOQ jOQ jOQ jOQ -cyZ +deY deY fhz deY @@ -242063,7 +243836,7 @@ deY deY deY wAZ -oAz +vxI uLC xQg fwm @@ -242116,7 +243889,7 @@ vvv tTV jtA bID -rlL +obo miw gCK cMd @@ -242128,7 +243901,7 @@ xBh qGQ sOE wcx -mGV +fVy qnC sIp uif @@ -242155,9 +243928,9 @@ vBm lfp gka bln -tCr +vTh +jFt bln -tCr bln wNO wNO @@ -242322,7 +244095,7 @@ skl skl pAZ pAZ -dnq +nrt gOy utR tmQ @@ -242381,7 +244154,7 @@ dcC jGB akz sCA -aSw +lTe ojv bAT eri @@ -242411,10 +244184,10 @@ rQf rQf mUs gka -bln -tCr -bln -tCr +mQb +kdS +mQb +mQb bln wNO wNO @@ -242626,7 +244399,7 @@ oyj gwK nEV bry -fDM +vPc fLq hro tKi @@ -242640,7 +244413,7 @@ wHj mBB juH ojv -hut +lqi mDw jDT qKQ @@ -242668,10 +244441,10 @@ fyR lhC lhC gka -bln -tCr -bln -tCr +mQb +kdS +uer +mQb bln wNO wNO @@ -242812,7 +244585,7 @@ kpj fGq eig jNp -sDl +abh sDl sDl sDl @@ -242836,9 +244609,9 @@ vXU drZ yfF jII -gMx -oas -jJr +knE +ovh +knE qWZ qWZ qWZ @@ -242926,9 +244699,9 @@ pMC qWJ gka bln -tCr +kdS +bln bln -tCr bln wNO wNO @@ -243075,7 +244848,7 @@ sDl sDl sDl skl -jOQ +pPd skl nOl oCF @@ -243086,20 +244859,20 @@ ygB mJO oCF ygB -bLa +bSW oCF ygB lBD jII jII jII -ifd +aVr xwC utR pAZ bln qWZ -oxe +rrU vmj aqB pVq @@ -243111,7 +244884,7 @@ rAW kwz ghJ uEm -sqU +aEz lpM klP euf @@ -243150,7 +244923,7 @@ bDz rSC inE oPU -wuV +xpc qnC qnC sCA @@ -243182,10 +244955,10 @@ gka gka gka gka +gwC +vTh +jNV bln -tCr -tCr -tCr bln wNO wNO @@ -243344,13 +245117,13 @@ ygB lOz ygB ygB -oTh +qEE ygB fEZ ygB -hXm -fZO -uLR +pZO +aab +dcI sNI bUH pAZ @@ -243390,7 +245163,7 @@ uwO rSx kRP kRP -lSw +uFV cAR kNk tmA @@ -243409,12 +245182,12 @@ vzU pZn bBd xSv -aIg +gyR rjh xZl qaF pna -aIg +gyR ktx uif jKe @@ -243438,9 +245211,9 @@ haC haC haC haC -qCB -bln -bln +gkp +lSu +kdS bln bln bln @@ -243602,12 +245375,12 @@ rMN alO alO qCI -xKT +fhg alO -qhF -kVj -kVj -qsY +fEe +hYD +hYD +waU xwC kKX pAZ @@ -243629,7 +245402,7 @@ xLF lpM oGQ wKw -vFb +mZT mhQ hUV aks @@ -243657,7 +245430,7 @@ guU ayq hpI bID -sSS +iKh rOU rcN qxy @@ -243689,16 +245462,16 @@ bEa dCy dMK gka +dwc bln bln bln bln bln -bln -bln -bln -bln -bln +lSu +hAM +frU +ntK bln bln wNO @@ -243861,7 +245634,7 @@ iPm iPm iPm iPm -mVW +pcx hay cfr dct @@ -243873,7 +245646,7 @@ eJK qWZ kjY bCW -uLp +vzf lpM byx aJN @@ -243909,26 +245682,26 @@ kQf hDh vnt keP -xJi +qTa ctr avk gxP bID -tZO +phw uCK nKj fwW uxp afK -bOy +tGc vfU pdV -hqV +gyR pie uGT qWy pna -hqV +gyR uge xrg dxn @@ -243947,13 +245720,13 @@ uYO rOe gka bln +mQb +mQb +lSu +lSu +mQb bln -bln -bln -bln -bln -tCr -bln +kdS bln bln bln @@ -244098,7 +245871,7 @@ nmq kqG pVL pVL -sDl +abh sDl sDl skl @@ -244116,12 +245889,12 @@ wVD uja uja uja -bsn +iyJ uja uja uja uja -vdO +uHN vrX utR pAZ @@ -244156,7 +245929,7 @@ vXh cvS ewi cvS -eUI +upm kwX gDp egp @@ -244203,15 +245976,15 @@ fDn fDn fDn gka -bln -bln -bln -bln -bln -bln +chb +fOc +mCz +chb +chb +chb tCr -bln -bln +jZA +jGQ bln bln bln @@ -244372,13 +246145,13 @@ qIU keL uja jHG -yjF +jcF vVw -yjF +jcF qSh hsB uja -jcy +ltY iuv utR pAZ @@ -244412,7 +246185,7 @@ iuv pDi cvS cGA -rgi +cGA pNq lBS aTp @@ -244455,19 +246228,19 @@ vvf pcI ehP uDi -uLr -bDl +aPD +hMU sEB sEB +kdS bln +lSu bln bln bln bln bln -bln -tCr -bln +kdS bln bln bln @@ -244628,11 +246401,11 @@ asa kCu gHj uja -sfD -gjT -szK -upx -uOy +lsF +pBs +eYF +sNj +fKR hsB uja ise @@ -244716,16 +246489,16 @@ lzy sEB sEB sEB +spf bln bln +uer bln bln -tCr -tCr -tCr -tCr bln bln +kdS +uer bln bln bln @@ -244886,7 +246659,7 @@ urd xTU uja aty -gjT +pBs uja uja uja @@ -244921,7 +246694,7 @@ rXN mhQ mhQ mhQ -dnq +nrt jtE vXh cvS @@ -244930,7 +246703,7 @@ bRH caZ hgK caZ -gDp +tUL btg pGo uoE @@ -244967,24 +246740,24 @@ kxY ccz okk lVm -qrm +aPD mzz aPD bDl sEB sEB +kdS bln +lSu bln +mQb bln bln bln +kdS bln bln -tCr -bln -bln -bln -bln +mQb bln wNO wNO @@ -245125,13 +246898,13 @@ lbk sDl sDl skl -yhL +vaW deY skl gDz xlH kbN -dym +nzn skl ygB ygB @@ -245143,25 +246916,25 @@ maB fpa uja oiz -gjT +pBs uja kDz -xVc +mBm twU uja -bvu -eXZ +uPT +poL vBh -qMf -qMf -qMf -qMf -qMf -wVR +wRk +wRk +wRk +wRk +wRk +cRu mfW -toT +vKZ mfW -aeF +ekY eta brp mfW @@ -245175,7 +246948,7 @@ vBh dqs aVw gxq -rlb +aVw vBh vBh vBh @@ -245187,7 +246960,7 @@ iGa caZ vpR caZ -oDk +sqN kRP fwO fwO @@ -245227,21 +247000,21 @@ iaY duh duh duh -bln +mQb bln sEB +jZA +atQ bln bln +mQb bln bln bln +kdS +mQb bln -bln -tCr -bln -bln -bln -bln +mQb bln wNO wNO @@ -245372,7 +247145,7 @@ ihb bnM iRM kkl -tAK +xiq gUs ykw lbk @@ -245396,18 +247169,18 @@ ygB ybE eKJ ulk -rgM +ugZ uja uja uja -jnh +kqP uja uja uja hsB uja -uuh -lyh +dnq +kOq iuv vrX iuv @@ -245416,7 +247189,7 @@ iuv iuv iuv vrX -maX +uJN iuv xNF ylU @@ -245429,7 +247202,7 @@ iuv iuv iuv iuv -rpG +uJN iuv iuv iuv @@ -245458,7 +247231,7 @@ dUv cEw rLs xUV -xmL +rLs cEw cmJ rwC @@ -245484,21 +247257,21 @@ dFo kKy duh bln -bln +ntK bln sEB +kdS bln +lSu bln +mQb bln bln bln +kdS bln bln -mVm -bln -bln -bln -bln +mQb bln wNO wNO @@ -245653,40 +247426,40 @@ ipx seH lvY mmA -apC +nbd uja vmp vmp -uNp +eCT uja oUO -hxB +msG xWG uja kyL -eph +hNU kyL kyL -jnU -rbh -kZm -njM -rbh -rbh -qPD -jIY +rwZ +oTu +ucu +adv +oTu +oTu +srw +kfr dKW ylU lDo dnq iuu dnq -dnq +xkA dnq apb dnq bep -mpy +srw dnq dnq ivo @@ -245741,19 +247514,19 @@ lhO fFi duh bln -bln +mQb bln sEB +kdS bln +lSu bln bln +uer bln bln -bln -bln -tCr -bln -bln +cgX +jNV bln bln bln @@ -245896,12 +247669,12 @@ bln bln fsm bUx -uek -wph +buR +kVe fnS skl -qpU -xsm +hir +kAT jOQ skl pOo @@ -245909,20 +247682,20 @@ piC ygB fXo aos -cUH -rfW -beF -vme -lrE -gUw +uWo +iUs +ozk +nsu +fdV +kux uja uja uja hsB uja mdZ -hMM -lEb +ehB +npF mdZ exw hmb @@ -245932,9 +247705,9 @@ hmb hmb exw tLF -gIf -dBA -gIf +lFb +qRE +lFb azw azw mao @@ -245999,19 +247772,19 @@ nTL cHf qHg tmR -bln +mQb sEB +kdS +mQb bln bln bln bln +mQb bln +wBv bln -bln -mVm -bln -bln -bln +uer bln bln wNO @@ -246153,20 +247926,20 @@ bUx bUx bUx bUx -maM -aXx +oBV +aXq fnS skl -eoV -npZ -qQV +bVx +idP +irn skl gmW gmW gmW ltV -tip -gxT +lAW +ksl ltV uja mqy @@ -246174,21 +247947,21 @@ mqy tUn uja jlP -azt +dHg twU uja -eUC -yjr -nvw -nPS -eav -bBa -iiB -ycE -iuE -gWl -hKn -lHi +dka +fKV +jLK +tJY +phr +eik +cby +otW +jLc +lvb +xWk +sTH lso dEV bai @@ -246258,16 +248031,16 @@ sEB ipM bln sEB +kdS +mQb bln bln +lSu bln +mQb bln -bln -bln -bln -bln -bln -bln +kdS +mQb ozo bln bln @@ -246332,7 +248105,7 @@ wNO wNO wNO bln -aaX +qzn vbG tkU tkU @@ -246404,7 +248177,7 @@ fhu bLI ykw skl -blX +ugA deY skl kQE @@ -246415,15 +248188,15 @@ skl hDV skl byP -blX -eHX -ceU -bZU -efU -qfJ -seB -mcT -xwL +ugA +hNp +tFI +eHb +roC +bdp +nmH +tiI +hLW bVI uja uja @@ -246434,18 +248207,18 @@ uja uja uja uja -scG -cKJ -hJS -jMJ -nyj -fju -lvy -fLG -nxc -lgb -xre -lHi +sJC +aSM +fjN +xhV +mPl +ybb +fJS +hFR +rxJ +lGN +xul +sTH lso dEV bai @@ -246515,18 +248288,18 @@ bln oxR bln sEB +kdS +mQb bln +lSu bln bln bln bln +kdS bln -bln -mVm -bln -bln -bln -bln +uer +mQb bln wNO wNO @@ -246589,7 +248362,7 @@ wNO wNO wNO bln -fhB +liV vbG tkU tkU @@ -246661,18 +248434,18 @@ ekW vRN fEA uHF -jyE -jyE +wjj +wjj qdK eqq -ejY +krZ eqq eqq eqq eqq -mkM +xuL eqq -fjO +lrl qvh skl erH @@ -246681,28 +248454,28 @@ vfW vfW mZK lvk -qiG -czo +gzI +mLU kKL -rDI +mgp kKL -uUw -cmK -css +xkY +suo +qZg rxY -cQp -dpj -uil -sHi +ryn +eDs +vTm +sxt shh -tjA +bHJ xgy xgy -ffr -nxc -lgb -uSE -hyQ +uYE +rxJ +lGN +ozU +fuc lso dEV kHI @@ -246760,27 +248533,27 @@ sMg sMg qwF aPD -bln +htd bln bln nyA +htd +uer bln -bln -bln -bln +mQb bln nFO -bln +mQb sEB +kdS bln bln +lSu bln bln bln bln -bln -tCr -bln +kdS bln bln bln @@ -246917,49 +248690,49 @@ aML iLv hSJ ykw -fNz -wSc -blX -jee -blX -oCw +ygL +jTw +ugA +eym +ugA +aBK fhz -blX +ugA fhz -acg +vjg byP mOf -aYO +vHJ mOf skl -nJq +opt eOl -uOe -day -day -sRc -lPQ -szt +qFE +cGB +cGB +gsI +tLL +spy kKL kKL kKL -csZ -oPr -qGh +qUI +lik +tWj rxY -rra -iFz -nQm -ktY -gMi +jCK +jdV +bZm +uQc +gbl mpU -hbL +ryJ xgy -ivC -rRs -jik -lJW -lHi +faW +dHf +rWI +cOy +sTH lso dEV bai @@ -247023,23 +248796,23 @@ bln czY bln bln -bln +mQb bln bln nFO bln sEB +kdS bln +mQb bln bln bln bln bln -bln -tCr -bln -bln -bln +cgX +atQ +mQb bln bln wNO @@ -247179,52 +248952,52 @@ rFP rFP skl skl -utW -kiI +wYS +tYF skl -blX -tAt +ugA +goY skl -qMD +cFr cQx -qMD +cFr skl eDy vfW -qrM +tBw nUj mpH -skQ -fyL -kcs +aAe +xjT +spy kKL -igH -yhV -dCV -gyP -utG +jZy +aqV +lgx +xay +lko rxY -bzF -dXR +ntE +rhG mdZ mdZ mdZ exw exw exw -kXS +dRB exw exw exw tLF cwh dEV -whg +dYU azw eub eyc qPt -uTc +kab biR dmI tdE @@ -247232,7 +249005,7 @@ veU vEQ kRP kRP -oiB +rWH kRP pao cGA @@ -247278,24 +249051,24 @@ bln hDG bln czY +mQb bln -bln -bln +mQb bln bln oxR bln sEB +kdS bln +mQb +uer bln +lSu bln bln -bln -bln -bln -tCr -bln -bln +dAW +mQb bln bln bln @@ -247436,44 +249209,44 @@ bln lBD bln skl -rWA +dow skl skl -gZV -ePd +giO +hFw skl -nSX -fgz -cnS +hED +jlk +pSF skl cVa vfW -xqP +qfG iay dCF -skQ -fYX -pYD +aAe +fbM +kVa kKL -ddR +nWG kKL kKL -jZJ -pKo +bYC +isC rxY fzK -wPe +civ fzK jRA -rMm -sCX -sPS -vvn -xsy -wBr +wXb +bOZ +gpM +jZj +luP +dWI lEO -wqt -jae +bKO +msE lso kjK bai @@ -247543,17 +249316,17 @@ bln nFO bln sEB +jZA +atQ bln bln bln +lSu +lSu bln +hgX bln -bln -bln -tCr -bln -bln -bln +mQb bln bln wNO @@ -247693,43 +249466,43 @@ ntK mQb bln skl -bkM -oWV +pYY +deY skl -lzc +vhF jPv -osN -pfy -lzc -lZP +rhv +dEL +vhF +vsx skl -aEx +hYL vfW -cWz -cCe -cCe -kkb -lPQ -fsO +sul +eGM +eGM +soI +tLL +erd kKL -uLZ -jyN +mfP +qgH kKL -mTL -uiV -ixp -edO -hjO +lYw +awu +uzu +tbL +whE fzK +eIP jRA -jRA -ptv -iBM -vYp -fWW -mMZ -bid -nzt +xNm +spz +jHe +mPr +gOa +jKs +gDq lso lCi dEV @@ -247755,7 +249528,7 @@ esC eUI kRP qyR -bve +qyR kRP gDp cvS @@ -247793,23 +249566,23 @@ swu swu bmT bln +mQb bln -bln -bln +mQb bln nFO -bln +mQb sEB +kdS bln bln +mQb bln bln bln bln -bln -mVm -bln -bln +wBv +uer bln bln bln @@ -247948,46 +249721,46 @@ bln bln bln bln -gDh +stJ skl -tSd +sNL skl skl -koj +jOK deY -osN -hrd -vOd -mnn +rhv +eLN +iDe +dyA skl -ruX +gaC vfW eOl vfW vfW lvk -jiU -qVG -wpm -nBO -qPQ +crv +acN +mch +mzX +qBi kKL kKL -llm +tjG rxY -gFW -rrL -riB -nxj -gDY -crO -iBM -fVh -qlS -qSU +uWS +qQA +xBj +ddw +hjz +vAy +spz +eYS +arZ +eME hSq -pdC -pdC +tbx +aXa vwO hHg jyp @@ -248001,7 +249774,7 @@ sEz jFZ uoV gnb -gTi +pZB whh pQL nCV @@ -248011,7 +249784,7 @@ kRP kRP kRP kRP -qyR +dDe qyR kRP gDp @@ -248038,34 +249811,34 @@ gtg cEw bCT kfs +kfs +kfs sEB bln bln +mQb bln +mQb bln bln +cgX +atQ +mQb bln -bln -bln -bln -bln -bln -bln -bln -bln +uer bln cwn bln sEB +kdS bln +uer +mQb bln +mQb bln bln -bln -bln -bln -tCr -bln +kdS bln bln bln @@ -248206,46 +249979,46 @@ bln bln bln bln -aHh +oUb ooL skl -lsh +cwT deY deY skl -edt -hqv -wHK +ygS +oGr +pDA skl -mOH +gxK uRo uRo uRo nCu cZt cZt -qtG +vnw kKL lli uar gAt kKL -nxw +pZi fzK -kQx -poV -ahh -ezk -dzD -fwi -tsu -bpv -hLy -tsu +mbm +wpR +sav +ymf +nuD +pQD +lsA +xmD +awe +lsA lEO -far -cql -gVh +fuN +lmQ +lBB dEV bai azw @@ -248295,17 +250068,17 @@ gtg hpI qAT kfs -kfs +reA kfs sEB +mQb bln bln bln bln +mQb bln -bln -bln -bln +kdS bln bln bln @@ -248314,6 +250087,7 @@ bln shH vsI sEB +fGu bln bln bln @@ -248321,10 +250095,9 @@ bln bln bln bln -mVm -bln -bln -bln +kdS +mQb +mQb bln bln wNO @@ -248466,9 +250239,9 @@ bln bln bln skl -fpF +oiJ deY -hJF +ugA skl skl skl @@ -248476,35 +250249,35 @@ gmW gmW dGO dGO -tEs +kBc dGO dGO -tEs +kBc dGO dGO gmW gmW -tpZ -mGF +lgw +lJn kKL -mcQ -gNc -gNc -oPd -qhQ -qhQ -wGm -ptv -iBM -cxT -nFQ -iEY -ptO -wBa -cql -fqX +kAQ +jJA +jJA +vKa +vNU +vNU +tvt +peP +spz +qOG +dnE +wjl +izC +kid +lmQ +epw dEV -kIK +hjA azw pxV oQD @@ -248562,7 +250335,7 @@ sEB sEB sEB sEB -sEB +glM sEB sEB sEB @@ -248578,11 +250351,11 @@ qHg tmR tmR tmR -mVm -bln -bln -bln -bln +sEB +cgX +jNV +fPr +mQb bln wNO wNO @@ -248721,11 +250494,11 @@ bln fsm bln uer -yjo +bln skl skl -qiL -qiL +qFA +qFA skl fsm tlH @@ -248741,27 +250514,27 @@ knl knl knl gmW -ijw -bRO +aJa +gJD kKL -vto -kVo -jrv -qJy -iew -pqZ -wGm -ptv -iBM -fXF -nFQ -jxr +jOC +uWy +xBf +gnc +mNP +foI +tvt +peP +spz +pau +dnE +uTq izC -tNH -vbI -gVh +qiv +saF +lBB kjK -arZ +gdc azw mwF sbc @@ -248814,20 +250587,20 @@ kfs sEB bln bln +mQb +mQb bln bln bln +kdS bln +mQb bln bln bln bln -bln -bln -bln -bln -bln -bln +mQb +mQb bln bln bln @@ -248835,8 +250608,8 @@ vsI mHR sEB tmR -tCr -bln +sEB +wBv bln bln bln @@ -248981,10 +250754,10 @@ stJ bln bln skl -qjn -iRa +wMY +lWG skl -tlH +wkG tlH dGO knl @@ -248998,25 +250771,25 @@ knl knl knl dGO -ksR -rEH +jMu +duT kKL -giH -qiA -uiq -iPP -iew -qhQ -wGm -fwi -tsu -tZo -cxD -tsu +bDr +fXw +abZ +iJp +mNP +vNU +tvt +pQD +lsA +nwn +fSs +lsA lEO -szj -vbI -gVh +nJV +saF +lBB dEV bai hgh @@ -249044,7 +250817,7 @@ jbC kRP gDp cvS -sEB +eMJ qwF qwF qwF @@ -249066,34 +250839,34 @@ sEB hpI loV kfs -bln sEB sEB sEB -sEB -bln -bln -bln -bln -bln -bln -bln bln +mQb +mQb bln bln +mQb bln +cgX +atQ bln +mQb bln +mQb +mQb bln bln bln +mQb bln bln sdr sEB tmR sEB -sEB +glM sEB sEB sEB @@ -249162,7 +250935,7 @@ bln bln lBD bln -rST +xZq bln bln qRv @@ -249172,7 +250945,7 @@ hHG wNO wNO wNO -khz +pUa wNO wNO wNO @@ -249237,10 +251010,10 @@ bln bln bln bln -gbM -iRa -iRa -gbM +bxS +lWG +lWG +bxS tlH tlH dGO @@ -249256,28 +251029,28 @@ knl knl dGO uar -bXb +lby kKL -xFz -jFu -qRF -tbE -iew -kea -wGm -ptv -iBM -gkH -rji -oqB -oNN -kGD -kGD -rbE -woX +rAY +fYJ +qMF +jkv +mNP +qpm +tvt +peP +spz +tsu +uGe +fDf +mbw +nFJ +qbG +qbG +onP jyp hgh -qit +kbS xxg nDl uau @@ -249333,7 +251106,7 @@ wvI wvI pwF wvI -sEB +etJ sEB sEB sEB @@ -249343,16 +251116,16 @@ sEB sEB bln bln -bln -bln +mQb +mQb bln jqx vsI tmR vsI -bln -bln -bln +wBv +mQb +uer bln sEB mfD @@ -249423,10 +251196,10 @@ lBD bln bln bln -xDQ -xDQ +wDS +wDS bln -khz +pUa wNO wNO wNO @@ -249494,10 +251267,10 @@ bln bln tlH tlH -gbM -iRa -iRa -gbM +bxS +lWG +lWG +bxS tlH tlH dGO @@ -249513,28 +251286,28 @@ knl knl dGO uar -wla +sVW kKL -eTT -ohP -kqo -qJy -iew -sBY -wGm -ptv -iBM -dpw -qMS -oVn -cKp -hKL +dBN +kOx +hye +gnc +mNP +aoO +tvt +peP +spz +sAt +bSp +jWm +tay +rRt lso -jqZ +mRy dEV bai -xjg -wiO +hgh +ajm mnF lKZ xGh @@ -249566,7 +251339,7 @@ lvG cvS cvS lvG -bVZ +cvS tYZ kRP wOn @@ -249582,11 +251355,11 @@ pzn wvI bBM mIE -mdQ +ldr hBE kJK kmD -nDq +oMM jXr aLJ puf @@ -249600,17 +251373,17 @@ bln bln bln bln -bln -bln +uer +mQb bln sdr dZX xcZ dZX swF -bln -bln -bln +aZC +mQb +mQb bln mfD khy @@ -249627,7 +251400,7 @@ ptY ptY ptY ptY -vyt +tzV vyt vyt vyt @@ -249680,8 +251453,8 @@ lBD bln lBD bln -wUD -wUD +vOy +vOy bln wNO wNO @@ -249751,10 +251524,10 @@ bln tlH tlH tlH -uUq -gHL -iRa -gbM +aDM +aEj +lWG +bxS tlH tlH gmW @@ -249769,24 +251542,24 @@ knl knl hNx gmW -sDM +uKY gAt kKL -xcO -fco -fco -gua -qhQ -qhQ -wGm -xtH -xKq -umc -aGf -rvO +asN +bUy +bUy +jqQ +vNU +vNU +tvt +ulR +qjW +qmh +iuL +tii lEO -uLJ -reX +yiF +ghb mqq vSa fuY @@ -249824,7 +251597,7 @@ gDp gDp gDp cvS -cGA +mDM kRP uyU gGC @@ -249836,7 +251609,7 @@ iJK ebr bzE dYI -vep +wvI nDi xke ldr @@ -249858,7 +251631,7 @@ bln bln bln bln -bln +lSu bln sdr dZX @@ -249879,7 +251652,7 @@ uVp sTx vyt vyt -yfT +vyt vyt vyt vyt @@ -249937,8 +251710,8 @@ bln bln lBD lBD -wUD -wUD +vOy +vOy bln wNO wNO @@ -250008,10 +251781,10 @@ bln tlH tlH tlH -uUq -gHL -gHL -uUq +aDM +aEj +aEj +aDM tlH tlH dGO @@ -250026,25 +251799,25 @@ aBf knl knl dGO -gdK -qgT +rVE +oqY kKL kKL kKL -kVq -pgv -uGe -byO -qMI -pba -ion -sft -pNi -eVi +sIb +rFS +jLI +oIj +quS +jNo +hvQ +gUv +tCk +fYz izC izC tLF -jgd +fqR qEM lso dCs @@ -250093,7 +251866,7 @@ vXv hGs gOY ylM -vep +wvI jWt cXV nDq @@ -250103,24 +251876,24 @@ ldr ldr rSW xgr -mVe +wvI fVE wvI +mQb bln +uer bln bln +mQb bln bln bln -bln -bln -bln -bln +lSu dZX tis -qci +dZX tWy -dqg +dZX swF swF qFu @@ -250194,8 +251967,8 @@ lBD lBD bln bln -wUD -wUD +vOy +vOy bln wNO wNO @@ -250265,10 +252038,10 @@ bln bln tlH bln -uUq -gHL -gHL -uUq +aDM +aEj +aEj +aDM tlH tlH dGO @@ -250285,22 +252058,22 @@ knl dGO uar lli -dwq -any +nkE +xwq kKL -vSu -iUi +cTF +uyF fzK -orZ -gVX -dSs -dSs -dSs -iCS -vVA -gYN +cys +fFe +gcP +gcP +gcP +kJr +tpO +ezZ izC -gdO +xHr lso vwO lso @@ -250350,7 +252123,7 @@ iJK ebr bzE pMq -vep +wvI bHu cAu xwc @@ -250363,12 +252136,12 @@ fvR kiE fTB pwF +mQb +mQb bln bln bln -bln -bln -bln +uer bln bln bln @@ -250451,8 +252224,8 @@ bln lBD bln bln -rPp -rPp +dTI +dTI bln wNO wNO @@ -250523,10 +252296,10 @@ bln bln bln kKL -oEC -gHL +cMr +aEj kKL -tlH +wkG tlH dGO knl @@ -250540,35 +252313,35 @@ knl knl knl dGO -xPf +bZW lRs tml kKL kKL -aft -jsR +uFE +eho cpY cpY -rEY -xWI -wuc -qod -xWI -pLo -cGI +hhO +tLI +uoY +xqU +tLI +fNZ +fKZ cpY tLF -ivJ +dSh vwO pxn -xjg +hgh swI mTS obu mjI fCM qPu -niu +hmC uOW lwQ ade @@ -250598,7 +252371,7 @@ hlp cGA kRP npD -wfu +npD npD npD gGj @@ -250627,9 +252400,9 @@ bln bln bln bln -bln -bln -bln +ntK +mQb +mQb dZX kJI fgU @@ -250643,7 +252416,7 @@ fQu aiY pnR xfg -rjH +ruE iAk aRD hHb @@ -250662,7 +252435,7 @@ euc ujs mYh ogF -lIK +ctt uBi uBi lqz @@ -250707,14 +252480,14 @@ lBD bln bln bln -kPS +dHF hHG hHG hHG -khz +pUa wNO wNO -khz +pUa wNO wNO wNO @@ -250777,11 +252550,11 @@ wNO bln bln fsm -yjo +bln kKL kKL -odZ -odZ +wsr +wsr kKL tlH tlH @@ -250798,26 +252571,26 @@ knl knl gmW uar -hNK -bfy +gUa +uNN kKL -pOC -ncc -syd +rBz +sSX +pns cpY -gDB -sJg -sJg -sJg -sJg -sJg -sJg -kqP +rlz +uuO +uuO +uuO +uuO +uuO +uuO +guA cpY lkr lso vwO -nCz +fME nKa dqO icA @@ -250825,7 +252598,7 @@ joa dqO nKa tWZ -niu +wpz agK lwQ lwQ @@ -250849,7 +252622,7 @@ vQP rdG jzY xlh -jQt +hKY uep uep uep @@ -250864,7 +252637,7 @@ wDg rqD wDg uin -vep +wvI xEL xyT jvR @@ -250885,8 +252658,8 @@ bln bln bln bln -bln -bln +uer +mQb dZX lIW fgU @@ -250902,7 +252675,7 @@ frq rlS cfe mXi -nDz +owo mRI bLz bLz @@ -251036,9 +252809,9 @@ bln efv bln kKL -xIh +bGS lli -eEr +sQS kKL kKL kKL @@ -251046,35 +252819,35 @@ gmW gmW gmW gmW -tEs +kBc dGO dGO -tEs +kBc gmW gmW gmW gmW -kav -lCO -oEe -omS -mTA -nbO -hxY +oOw +aOW +dXx +rOw +ctS +qjJ +nPc cpY -aMI -arW +mmw +oKX fkk fkk fkk fkk -spj -pBS -vrw -jlT +dkZ +dlH +aBP +ofl lso vwO -dKf +ePP nKa kyW wKe @@ -251090,7 +252863,7 @@ rDa mrB jQD slc -dMB +lIY rjC qjF pPO @@ -251121,7 +252894,7 @@ lmA oqc oAD xKX -vep +wvI pBI sCm gGo @@ -251143,21 +252916,21 @@ bln bln bln bln -bln +lSu +dZX dZX dZX dZX dZX -oOO iDp swF osm iqu fcu -uOk +jeB pnR oTS -oPv +fWK iAk mWw hHb @@ -251170,7 +252943,7 @@ pza pza pza pza -rcO +iHp wLK mEx ujs @@ -251294,48 +253067,48 @@ gsK kKU kKL cvF -xUt +sQS lli kKL -gDL +uvh iyY tlH -vww +tlH tlH dGO iyg hHq -aNj -xTI +hfd +syC gmW -abm -qyZ +cvH +kbL kKL -emF -pwz +soE +neE kKL kKL -vfw -xqa -rAx -skH -cdX -sHs -xQS +iZN +btK +aUt +vnA +ooG +oUp +syI xbn -tnz -gcf +hJo +vaL gtw -iZD -vrw -sLy +wAJ +aBP +xVo lso qEM pJC nKa dhk cDT -iTE +rLL cAI cMN uYm @@ -251383,10 +253156,10 @@ npD npD npD fvX -fvX -cnh -cnh -oSw +npD +npD +npD +wvI ybF wvI wvI @@ -251394,18 +253167,18 @@ wvI wvI vep wvI +mQb bln bln bln bln bln +lSu bln bln bln -bln -bln -bln -bln +mQb +mQb mwo swF eDh @@ -251532,73 +253305,73 @@ wNO wNO wNO wNO -reu -jas -jas -bYx -hzw -ike -jas -bYx -jas -jas -jas -bYx -jas -jas -cQE +hAM +sgR +sgR +yfW +uap +yhF +sgR +lMU +sgR +sgR +sgR +spf +sgR +sgR +sgR kKL -aPP +enY kKL kKL -xea -isj -gBs -lyv +eaQ +lqL +aiu +ijd iyY -tlH +wkG tlH tlH dGO -ubK +brm uRo -aNj -udA +hfd +jDX gmW -gAG -wWB +bkR +pAX kKL -ddJ -rbp +hfg +hQW kKL -eGg -dSY -vlz -vlz -nvc -hXD -mMi -xnc +dxL +ouj +qEG +lia +dgR +haJ +tYt +nRW gtw -dpa -vlU +aoM +niO gtw -iZD -vrw -krE +wAJ +aBP +kNf lso cbs nGA nKa nTV jPl -bGD +jGJ kXM nKa xXV eYn wjL -wbN +dtD iWP xIW lrc @@ -251626,7 +253399,7 @@ rkL cga api sZF -sKf +pvR wRr npD cmw @@ -251634,29 +253407,27 @@ nZH msT npD npD -hRe +vBn hRe alq dFA sZF -nBQ -sZF -bln -bln -bln -bln -bln -bln -bln -bln +hqk +lZj +fnO +xjk +wTf +wTf +lSu bln bln bln bln +mQb +mQb bln bln bln -uer bln bln bln @@ -251664,6 +253435,8 @@ bln bln bln bln +mQb +mQb swF jsq ben @@ -251789,8 +253562,7 @@ wNO wNO wNO wNO -ngh -bln +vZK bln bln bln @@ -251799,50 +253571,51 @@ bln bln bln bln +mQb bln bln bln bln bln kKL -aXv -bSi +lwg +lli kKL -acm +tAN tDy kKL -tts +xqT iyY tlH tlH tlH dGO -nOI +vxW uRo -aNj -xBS +hfd +rsy gmW -akb +oiU xQU kKL kKL -qDk +kuJ kKL -gmt -cgd -kKn -vlz -lMe -gbC -vAW -cki -cki +rwb +aYu +cpK +lia +njj +qEn +tFe +eay +eay gtw gtw aHZ -qWf -vrw -jlT +ehL +aBP +ofl lso qEM xwz @@ -251884,32 +253657,26 @@ uFz tFV sZF edT -wRr +lEV npD bPY rwe wGO npD vMN -hRe +lAh ves -dFA +aku iye sZF lNE -sZF -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +hqk +bgj +xjk +lSu +mQb +mQb +lSu bln bln bln @@ -251917,7 +253684,13 @@ bln bln bln bln +uer +mQb +mQb bln +mQb +uer +mQb bln bln bln @@ -251935,7 +253708,7 @@ wSw fPZ itl tQM -koX +itl itl qCU vyt @@ -252046,8 +253819,8 @@ wNO wNO wNO wNO -ngh -bln +vZK +mQb uei tmR uei @@ -252062,11 +253835,11 @@ uei bln bln kKL -aPP +enY kKL kKL -jRt -fTn +eRf +lfU kKL kKL kKL @@ -252076,30 +253849,30 @@ mMb kKL kKL iyY -fvm +vFT kKL kKL kKL rCf -hlt +uOm kKL -iqA +rsf kKL kKL -tUm +tSF kKL kKL cpY -nvh -hDu -eLv -nbI -oaJ -rqQ -fhS -pAn +twn +nBt +jJQ +rlE +mBL +vjA +uDv +aFh cpY -bao +pxp lso brj mbk @@ -252113,14 +253886,14 @@ oxU pxX bCf kmf -qOW +wor hDC sZD vgx lDM -pjZ -vzN oXq +vzN +hTE xWT klc uiF @@ -252140,44 +253913,44 @@ lGs rfo vzs sZF -wUb -mlo +sKf +vst npD ebr iJK -iBz +ebr npD gMT tFt -hRe +sKf tbQ -iye +sKf sZF ddA -vjZ -bln -bln -bln +sZF +sZF +sZF bln +hve uer bln +mQb +mQb bln bln bln bln bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +cSi +chb +chb +fOc +yfW +chb +chb +chb +lND +chb swF swF swF @@ -252197,7 +253970,7 @@ ptY ptY ptY ptY -vyt +tzV vyt vyt vyt @@ -252303,8 +254076,8 @@ wNO wNO wNO wNO -vHT -bln +cgX +jNV uei tmR uei @@ -252319,47 +254092,47 @@ uei bln bln mMb -hAW -jVm -sON -sON +nJK +puz +kSc +kSc lRZ lRZ -ygP +tYS lRZ -wco +vjq lRZ lRZ -wco -leP +vjq +pbS lRZ lRZ -rmR -vXm +iLn +niE bMF -pns -uMj +pJi +ovz kKL -xUt -fKk +sQS +sna kKL -xOE +nFt kKL kKL kKL kKL kKL kKL -nXs +pcM kKL kKL kKL kKL kKL kKL -oFB -opH -oFB +kXi +suU +mzo vBG rMS pKw @@ -252397,10 +254170,10 @@ woa oiW kho sZF -sKf +dmm mlo npD -ebr +koi iJK cpl npD @@ -252412,32 +254185,32 @@ axC sZF uNw vjZ +mQb bln bln bln bln bln bln +mQb +mQb +mQb bln bln bln +cgX +ejI bln +lSu bln bln bln +uer +mQb bln bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +mQb +mQb bln oiy oiy @@ -252560,7 +254333,7 @@ wNO wNO wNO wNO -ngh +vZK bln uei tmR @@ -252569,7 +254342,7 @@ bln uei tmR uei -bln +mQb uei tmR uei @@ -252577,49 +254350,49 @@ bln bln kKL kKL -tOe -rkm -fEY -nDm -kda +aeS +plI +whe +chc +dDz kKL -xUt -xUt +sQS +sQS lli -xUt +sQS lli kKL -tbK +kRV ssM lli -jRt +eRf kKL kKL kKL kKL lli -xUt +sQS lli -vYY -imk -feV -sus -tIL -nVO +uwE +tnu +eUU +sdf +vmO +eYm kKL tvZ kKL -vEh -nTP -kbu -bcu +wqH +wgo +lcs +eGg kKL lso vwO pxn vBG mQr -idp +kGm rZZ opc qPI @@ -252632,7 +254405,7 @@ apt amE vgx lDM -kAZ +oXq gUg amv cTJ @@ -252654,7 +254427,7 @@ tMO tMO tMO sZF -hil +pks mlo npD wPE @@ -252664,14 +254437,14 @@ npD vBa vLo hyL -tbQ +xRQ iye sZF -cBn +eZu vjZ +mQb bln -bln -bln +mQb bln bln bln @@ -252682,7 +254455,7 @@ iAf iAf iAf bln -bln +kdS bln bln bln @@ -252817,7 +254590,7 @@ wNO wNO wNO wNO -ngh +vZK bln uei tmR @@ -252826,7 +254599,7 @@ bln uei tmR uei -bln +mQb uei tmR uei @@ -252840,8 +254613,8 @@ mMb kKL kKL kKL -qUo -pjM +fsJ +ekj nLY lli gAt @@ -252849,27 +254622,27 @@ kKL lIC lRZ pQa -eDD -nhv +rOv +fuf lli -pAW -jYI -mmf +kDO +wsk +hVR lli -uWf +obt xWM -brC +dku kKL nqn lHA -rfj +ddi kKL tvZ kKL -iYY -iIv -dig -pbF +pdB +oBD +lqM +aYk kKL rjP qEM @@ -252916,11 +254689,11 @@ wRr npD ebr hcG -bEH +nZH npD vtr mmC -iQw +hRe dFA oMs sZF @@ -252928,8 +254701,8 @@ eZu vjZ bln bln -bln -bln +mQb +mQb bln bln bln @@ -253071,10 +254844,10 @@ wNO wNO wNO wNO -reu -xog -xog -raq +hAM +sgR +sgR +jEJ bln uei tmR @@ -253100,33 +254873,33 @@ bxe bxe mHB kKL -gEl +ycO kKL kKL aIE lRZ -cCR +rmP lli -mRN -xUt -gEZ -xUt -gEZ +pKX +sQS +qdq +sQS +qdq lli -gEZ -xUt +qdq +sQS unu -cOQ -vgU -kdw -qpQ +hxa +kXW +saC +xWr kKL tvZ cDw lli lli lli -iXB +nfE kKL cwO vwO @@ -253168,8 +254941,8 @@ kCo ezf cnb sZF -sKf -wRr +xbe +lEV npD npD czO @@ -253182,7 +254955,7 @@ sZF sZF sZF eZu -sZF +vjZ bln bln bln @@ -253197,7 +254970,7 @@ weR lQO hJD iAf -bln +mQb bln wNO wNO @@ -253328,7 +255101,7 @@ wNO wNO wNO wNO -ngh +kdS bln bln bln @@ -253336,7 +255109,7 @@ bln bln tmR bln -bln +mQb bln tmR bln @@ -253351,41 +255124,41 @@ bln vsI acE acE -wtX +acE eqJ -ktJ +gWV oBQ mHB gUY -rmR +iLn lli kKL kKL lRZ -hfG -xUt -tNb -dge -oBJ -xUt -tNb -rNV -hrA -fkq -vIL -feV -lVN -bBn -bIq +pEc +sQS +wfE +opU +ykd +sQS +wfE +qch +gyd +tTK +aXc +eUU +iCo +kiX +enH kKL tvZ kKL -xGi -fce -jzR +qpx +gCb +atI fpA kKL -tXg +rtf qEM lso bGT @@ -253425,15 +255198,15 @@ sSj tMO jYy sZF -vwr -wRr -eZu -lcz +jPi +lEV +cWU +xne eZu rHo sZF bFS -eZu +qsN xpT hEZ sZF @@ -253443,9 +255216,9 @@ sZF sZF vjZ sZF -gar +lSu bln -fBN +xOk vYq iAf tUh @@ -253585,8 +255358,8 @@ wNO wNO wNO wNO -wHr -bln +vTh +jGQ cnx tmR tmR @@ -253611,24 +255384,24 @@ kxv fIs kxv jju -lXC +qNZ lFG -rlH +qRo gxh gxh gxh kKL gAt -hfG +pEc gAt -xUt -gPo +sQS +hFm kKL kKL mMb mMb kKL -cjh +xds kKL kKL kKL @@ -253642,13 +255415,13 @@ kKL kKL kKL kKL -lso +aCO vwO mqq ivB vBG loG -iOu +oUn sZF sZF puB @@ -253669,7 +255442,7 @@ sZF fLQ mjH qLy -obr +mFE xMM nqd ttO @@ -253685,31 +255458,31 @@ sZF xsA wRr dDo -sKf +iVH tfG -eZu +qsN iaz -eZu -sZF -nGk +qsN +qsN +sKf eGK sZF -eZu -eZu +xHV +qiH xpT bdx sKf cmq -gar -bln +lSu bln +lSu vYq fWS weR jdJ xVO jAQ -bln +mQb bln bln bln @@ -253842,8 +255615,8 @@ wNO wNO wNO wNO -ngh -bln +txt +mQb bln bln bln @@ -253865,7 +255638,7 @@ bln sEB acE acE -het +acE lQf swt xTp @@ -253873,41 +255646,41 @@ pDQ xBL wJM wJM -rlH +qRo kKL dnL -hfG +pEc kKL pVl kKL kKL -kbp +xUd tlH tlH kKL -diK +rEM kKL tlH tlH bln kKL -emx -vIL -fOg -kQH -snR +dYS +aXc +amW +qmq +kWV asg kKL kdF qGV hUx -bSC +wVJ sZF sZF sZF sZF sZF -sKf +nTB wEV sKf sZF @@ -253915,7 +255688,7 @@ sZF sZF sZF lpC -uWp +sZF sZF pwV pwV @@ -253942,31 +255715,31 @@ sZF hEZ mlo fUx -sKf -sZF +jzo +jDA +lpi sZF sZF sZF sZF sZF sZF -sZF -eZu +bsX sZF sZF sZF vjZ sZF -gar +lSu bln -fBN +xOk vYq iAf qPY tUh xVO jAQ -bln +mQb bln bln bln @@ -254099,15 +255872,15 @@ wNO wNO wNO wNO -dqA -jas -jas -nIe +qUU +chb +chb +cIM bln uei tmR uei -bln +mQb uei tmR uei @@ -254133,7 +255906,7 @@ bqe gxh kKL hOu -hfG +pEc hJx lli fAF @@ -254142,7 +255915,7 @@ kKL mMb mMb kKL -cjh +xds kKL mMb mMb @@ -254158,7 +255931,7 @@ kKL xcy rvZ hUx -veq +cie aLX vng gNT @@ -254193,28 +255966,28 @@ sWs sXK xTQ sWs +kGU sWs sWs -sWs -sWs +kGU xTQ vwN +kGU +kGU +kGU +nxd sWs sWs sWs sWs -leE -sWs -sWs -sWs -osn +kcv osn cmv ktf sZF bln -bln -bln +mQb +mQb bln bln bln @@ -254224,7 +255997,7 @@ jAQ iAf iAf bln -bln +mQb bln bln wNO @@ -254359,7 +256132,7 @@ wNO wNO wNO wNO -ngh +txt bln uei tmR @@ -254387,42 +256160,42 @@ cvF lli kKL mwu -rlH +qRo kKL kKL -gRL +lwI kKL jhS tOX kKL -kaI -xIh -wvJ +hVz +uUp +khs kKL -cjh -emx -fOg -fOg -fOg -fOg -maw +xds +dYS +amW +amW +amW +amW +rkh igX igX kKL -neQ +mVS kKL kKL kKL fyZ hUx -veq +cie sZF eFS sZF sZF sZF sZF -npD +sZF eZi sKf mFj @@ -254446,29 +256219,30 @@ ktf dPP sKf sKf -sKf +npG oLn -pqK +lXf gCu jGY wrU +rsC sKf +lXf sKf -sKf -yfS -mFj +lXf xpT -jPi -hil -ktf -sKf sKf +ktf +mFj sKf +lXf sKf sKf +lXf wRr wEV sZF +mQb bln bln bln @@ -254477,11 +256251,10 @@ bln bln bln bln +kdS +mQb bln -bln -bln -bln -bln +mQb bln bln wNO @@ -254616,12 +256389,12 @@ wNO wNO wNO wNO -ngh -bln +kdS +mQb uei tmR uei -bln +mQb uei tmR uei @@ -254647,16 +256420,16 @@ qqB gxh kKL weF -hfG +pEc kKL moF cjI kKL pQa -erq -erq -oPw -srU +wWo +wWo +oPO +jPq xWM kKL kKL @@ -254666,13 +256439,13 @@ kKL kKL kKL kKL -nLs +meZ aJG sQE hwE hwE cMe -veq +cie uvt tlP wIg @@ -254703,7 +256476,7 @@ npD npD npD npD -tvx +npD qNX npD npD @@ -254730,14 +256503,14 @@ bln bln uer bln +mQb bln bln bln bln -bln -bln -bln -bln +dAW +mQb +uer bln bln bln @@ -254873,8 +256646,8 @@ wNO wNO wNO bln -vHT -bln +vco +jNV uei tmR uei @@ -254904,7 +256677,7 @@ hJx qFW kKL hOu -hfG +pEc hJx mzM hUi @@ -254923,13 +256696,13 @@ jSC bdS dtb hUD -bOh +nNi rvZ lso lso rCu cYE -tCG +hZT idi cZU kBl @@ -254951,12 +256724,12 @@ wHc aEA dng dAB -ubh -ubh -ubh -ubh -ubh -ubh +rHi +rHi +rHi +rHi +rHi +rHi qLY pnA qFp @@ -254984,15 +256757,15 @@ pHR wEV vjZ bln +mQb bln bln +mQb +mQb bln -bln -bln -bln -bln -bln +mQb uer +kdS bln bln bln @@ -255130,7 +256903,7 @@ wNO wNO wNO bln -vnS +gUt bln uei tmR @@ -255161,13 +256934,13 @@ lli gxh kKL kKL -hfG +pEc kKL kKL kKL kKL kIl -nNI +cqN kKL eIk xry @@ -255186,7 +256959,7 @@ rek rek hUx rNQ -tCG +hZT idi aID gky @@ -255201,19 +256974,19 @@ mtI lUf keZ owC -jIP +wsY qOH -veX +jIP wHc -fPO +sgL pTU itt -ubh -ubh -ubh -ubh -ubh -ubh +rHi +rHi +rHi +rHi +rHi +rHi qLY baF fvk @@ -255242,16 +257015,16 @@ wEV vjZ bln bln +mQb bln bln +mQb bln +mQb bln -bln -bln -bln -bln -bln -bln +kdS +mQb +mQb bln bln bln @@ -255387,7 +257160,7 @@ wNO wNO wNO bln -ngh +kdS bln bln bln @@ -255439,11 +257212,11 @@ qMm hUD pyJ lPh -rBp +aJj hUD ebb cYE -tCG +hZT idi aID ddk @@ -255458,19 +257231,19 @@ mtI uxj eNK owC -wAx +ftt jTZ ftt wHc oMT emK uvU -ubh -ubh -ubh -ubh -ubh -ubh +rHi +rHi +rHi +rHi +rHi +rHi qLY oCA fvk @@ -255491,22 +257264,22 @@ tgx tgx tgx tgx -ctF -tmR +qLY +aYv sZF rzL gea sZF +mQb bln +mQb bln bln bln bln +mQb bln -bln -bln -bln -bln +fOc bln bln bln @@ -255644,28 +257417,28 @@ wNO wNO wNO wNO -dqA -jas -jas -bYx -jas -jas -jas -bYx -jas -jas -wQN -bYx -jas -jas -jas -bYx -jas -nMD -bYr -bYx -jas -ike +qUU +chb +chb +lMU +chb +chb +chb +lMU +chb +chb +tGy +lMU +chb +chb +chb +lMU +chb +gSd +mCz +lMU +chb +thx kKL hTB sRI @@ -255698,9 +257471,9 @@ nVr wFO bzA hUD -lso +def byK -hMs +sDd bRd fqQ wIg @@ -255745,7 +257518,7 @@ dcr aRl bCL ofr -sBx +hfc hfc jCE adY @@ -255754,19 +257527,19 @@ sZF pHR wEV sZF +mQb +uer +mQb +mQb +ntK bln bln +mQb bln +cgX +vrW bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +mQb bln bln wNO @@ -255957,7 +257730,7 @@ vfo hUD lso cYE -nYY +fkw ult bsG wGF @@ -255982,7 +257755,7 @@ mfV xpA uHc cpg -gUX +gRA cpg cdl pMF @@ -256011,20 +257784,20 @@ vjZ laf wEV vjZ +mQb bln bln +mQb +uer bln bln +mQb +mQb +kdS bln bln -bln -bln -bln -bln -bln -bln -bln -bln +mQb +uer bln wNO wNO @@ -256214,7 +257987,7 @@ cLJ iQQ lso cYE -uIS +gAZ ult wjz tXh @@ -256226,7 +257999,7 @@ pKJ rIU tLM mtI -vtA +tlp sfY owC bYS @@ -256270,18 +258043,18 @@ wEV vjZ bln bln +uer +mQb bln +mQb bln bln +mQb +kdS bln bln -bln -bln -bln -bln -bln -bln -bln +mQb +mQb bln wNO wNO @@ -256449,7 +258222,7 @@ tml kKL kLb qpd -oNy +obl kKL gkP kKL @@ -256471,7 +258244,7 @@ bwl hUD uff cYE -hXt +gAZ ult hpC rIU @@ -256481,10 +258254,10 @@ irA uzi pdy fiS -uTL +agJ mtI -nRX -jVL +vtA +eNK owC owC owC @@ -256494,7 +258267,7 @@ mYq nyH lFW rEd -pZA +mde gSN jbU wnX @@ -256526,15 +258299,15 @@ pHR wEV vjZ bln +uer bln +mQb +mQb +mQb bln bln bln -bln -bln -bln -bln -bln +kdS bln bln bln @@ -256728,7 +258501,7 @@ wND iQQ rvZ cYE -uIS +vZl ult vuq tfM @@ -256783,6 +258556,7 @@ pHR wEV sZF bln +mQb bln bln bln @@ -256790,9 +258564,8 @@ bln bln bln bln -bln -bln -bln +kdS +mQb bln bln bln @@ -256971,7 +258744,7 @@ kCg gjc bLQ vaE -tSt +hUD hUD hUD hUD @@ -256983,9 +258756,9 @@ sEi sEi naP hUD -jed -iIk -jed +lTi +fCX +lTi ult ult wBk @@ -257011,7 +258784,7 @@ gaT bZc qlO jbU -ily +xxX hdH qhL dkK @@ -257033,16 +258806,16 @@ vVP vVP vVP vVP -ctF -tmR +qLY +aYv sZF pHR wEV sZF +mQb +mQb bln -bln -bln -bln +uer bln vzD vzD @@ -257051,7 +258824,7 @@ gQw gQw vsI bln -bln +uer bln bln wNO @@ -257266,7 +259039,7 @@ cAG nbq hAq nDB -nfW +toN jbU lhu hdH @@ -257297,8 +259070,8 @@ wRr wEV vjZ bln -bln -bln +uer +mQb bln bln vzD @@ -257307,7 +259080,7 @@ vzD jCl kir sEB -bln +lSu bln bln bln @@ -257554,9 +259327,9 @@ wRr sKf vjZ bln -bln -bln -bln +mQb +mQb +mQb bln vzD vzD @@ -257564,7 +259337,7 @@ vzD kir vzD sEB -bln +mQb bln bln bln @@ -257743,7 +259516,7 @@ poy poy lNk hUD -nbL +cTd rGd whC hUD @@ -257754,7 +259527,7 @@ uum uum hUD hUD -lso +aCO cYE lso hDb @@ -257763,8 +259536,8 @@ gqK nxU gjg dxg -gJi -fVC +ivG +aYi dkr cHQ jDm @@ -257820,9 +259593,9 @@ ydh dFG uZc gQw +mQb bln -bln -bln +lSu bln bln wNO @@ -258038,14 +259811,14 @@ pbQ pbQ pbQ pbQ -eQQ +jbU lKq pMY kLy bGA lKq bNu -hUf +eno bKm xMT hjE @@ -258053,8 +259826,8 @@ sJP bkS pJc iBO -tPx -trn +xfp +agd bgx buv jhC @@ -258077,9 +259850,9 @@ uZc cDk sGZ gQw -bln -bln -bln +mQb +mQb +lSu bln bln wNO @@ -258244,9 +260017,9 @@ iwO uYR kKL kKL -tfu +kKL aMa -tfu +kKL kKL kKL xUT @@ -258263,7 +260036,7 @@ gEE gEE gEE oNC -gEE +rrg gEE gEE tva @@ -258277,7 +260050,7 @@ sxZ oOo xvy wLl -axc +uaZ oLg eLr wtT @@ -258285,10 +260058,10 @@ mbK jQS eNK aYJ -sSz +eqg aYJ aYJ -bXL +dwZ eLr eaa via @@ -258296,14 +260069,14 @@ aYJ lAw aYJ aYJ -aYJ +fsy eLr hAm via via tPz iRN -via +aoQ ojP qFt pTY @@ -258335,7 +260108,7 @@ gTq fNa gQw bln -bln +mQb bln bln bln @@ -258534,7 +260307,7 @@ pJV mZG mZG qEZ -axc +ktM dFW aYJ aYJ @@ -258542,7 +260315,7 @@ aYJ aYJ wUt urK -xjU +jUH nJT urK urK @@ -258560,8 +260333,8 @@ pJV pJV pJV aYJ -aYJ -sSE +mCo +ojP wOX efk jTr @@ -258592,6 +260365,7 @@ gQw gQw vzD bln +lSu bln bln bln @@ -258654,7 +260428,6 @@ wNO wNO wNO wNO -wNO "} (181,1,3) = {" wNO @@ -258761,7 +260534,7 @@ qAS fUc jaX glI -gZR +mRY kKL kKL mbG @@ -258771,7 +260544,7 @@ hUD hUD hUD hUD -gEE +tyx gEE gEE gEE @@ -258794,23 +260567,23 @@ wLl dzg fXr dFj -dFj +taB uZB oni nxa qwN -tkS +sCY dFj dFj -gwm dFj -niC +dFj +xnM xnM xnM fLl wMm +xnM wqb -niC xnM xnM xnM @@ -258818,7 +260591,7 @@ xnM lYg xYj pIt -kfZ +ojP qFt bYu qkH @@ -258849,6 +260622,9 @@ bln bln bln bln +lSu +bln +lSu bln bln bln @@ -258909,9 +260685,6 @@ wNO wNO wNO wNO -wNO -wNO -wNO "} (182,1,3) = {" wNO @@ -259057,16 +260830,16 @@ cbF dEC oHK oHK -vjj -fLU -rDH -usP +lcy +atG +flm +hnP wLl wol -hnP +bpD gPE bpD -wLl +byL wLl wLl wLl @@ -259103,8 +260876,12 @@ bRz vzD bln bln +mQb bln bln +mQb +uer +lSu bln bln bln @@ -259112,12 +260889,8 @@ bln bln bln bln -bln -bln -bln -bln -bln -bln +wNO +wNO wNO wNO wNO @@ -259314,22 +261087,22 @@ bxP vvE tJG oHK -goq -goq -rDH -usP +hJH +hJH +hHW +oVQ wLl nsZ uoC rhi uoC nsZ -iqx -awa -awa -awa -awa -xUk +nsZ +sAl +cXU +oil +okw +ifn cQs bdQ nsZ @@ -259358,11 +261131,10 @@ lEz kPw dAx gQw -bln -bln -bln -bln -bln +mQb +mQb +uer +mQb bln bln bln @@ -259426,6 +261198,7 @@ wNO wNO wNO wNO +wNO "} (184,1,3) = {" wNO @@ -259529,7 +261302,7 @@ fLb oHh kKL bpQ -bsc +kcT oih dmL lUC @@ -259571,22 +261344,22 @@ vaA gXJ wgU oHK -pnq -goq -rDH -pvU +kQy +hJH +hHW +wDd wLl jUX wbR uXh -tur +eqj aJz -iqx -awa -awa -awa -awa -xUk +sqt +qSk +qSk +qSk +qSk +sqt aWg xgK nsZ @@ -259605,7 +261378,7 @@ lXi vzD vzD vzD -hto +vzD jOj vzD daT @@ -259615,14 +261388,13 @@ lbf esF bRz gQw +mQb bln bln bln bln -bln -bln -bln -bln +lSu +mQb bln bln bln @@ -259683,6 +261455,7 @@ wNO wNO wNO wNO +wNO "} (185,1,3) = {" wNO @@ -259789,7 +261562,7 @@ dvS pwd glI tsR -gZR +mRY lUC tXV kvX @@ -259799,7 +261572,7 @@ qrQ wrX wrX wrX -gEE +tyx gEE gEE gEE @@ -259830,20 +261603,20 @@ hhP oHK iZl iZl -ieb +kSS iZl wLl +uBG +kuY tur -tur -eqj -eqj +lSZ oro iSk -awa -awa -awa -awa -xUk +wuS +wuS +wuS +wuS +pJt wvz srW nsZ @@ -259873,10 +261646,13 @@ bRz bVL vzD bln +fsm bln bln +uer bln bln +lSu bln bln bln @@ -259885,10 +261661,7 @@ bln bln bln bln -bln -bln -bln -bln +wNO wNO wNO wNO @@ -260090,10 +261863,10 @@ qWu fbl foy krY -awa -awa -awa -awa +jxB +esi +esi +esi jvc awa awa @@ -260129,17 +261902,17 @@ gQw gQw vzD vzD +lSu bln bln bln +lSu bln bln bln bln -bln -bln -bln -bln +lSu +lSu bln bln bln @@ -260305,10 +262078,10 @@ lUC lUC lUC lUC -daX +wrX pxi wrX -tLQ +rOz fBM tLQ fBM @@ -260319,7 +262092,7 @@ gEE gEE iKQ cpq -gEE +pqu gEE gEE tva @@ -260351,7 +262124,7 @@ awa awa awa awa -jvc +awa awa awa awa @@ -260361,7 +262134,7 @@ xUk aSB tHT nsZ -lHm +vmK oZn sFj rck @@ -260382,22 +262155,22 @@ vzD vzD bln bln +mQb bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -mVm -tCr -tCr -tCr -tCr -tCr +qUU +yfW +sgR +sgR +baI +spf +uap +sgR +sgR +yfW +baI +baI +rmK bln bln bln @@ -260562,7 +262335,7 @@ tlH tlH tlH nXb -ngY +wrX iQt oHH tAA @@ -260591,12 +262364,12 @@ mrw kuV cAi qWn -nQq +dik fOR tFF tia qNn -hek +uIQ gNi krY clo @@ -260608,7 +262381,7 @@ awa awa awa awa -jvc +awa awa awa awa @@ -260618,9 +262391,9 @@ xUk sqt duE nsZ -ijW -xsP -rms +xDa +abT +jJZ sXC rDZ rDZ @@ -260638,8 +262411,8 @@ vzD bln bln bln -bln -bln +mQb +uer bln bln bln @@ -260654,8 +262427,8 @@ bln bln bln bln -tCr -bln +wBv +lSu bln bln bln @@ -260865,7 +262638,7 @@ awa awa awa awa -jvc +awa awa awa awa @@ -260893,10 +262666,10 @@ vzD vrO vzD bln +mQb bln -bln -bln -bln +mQb +mQb bln bln sUN @@ -260911,8 +262684,8 @@ sUN tmR sUN bln -tCr -bln +jZA +vrW bln bln bln @@ -261122,7 +262895,7 @@ awa awa awa awa -jvc +awa wQY nmz nmz @@ -261150,11 +262923,11 @@ jCl vpg gQw bln +uer bln bln -bln -bln -bln +mQb +ntK bln sUN tmR @@ -261167,8 +262940,8 @@ bln sUN tmR sUN -bln -tCr +hty +hgX bln bln bln @@ -261375,7 +263148,7 @@ bUa jPx jxb luJ -bEJ +piy bEJ mXe bEJ @@ -261406,17 +263179,17 @@ vrO vrO vrO gQw +mQb +ntK +mQb bln bln -bln -bln -bln -bln +mQb bln sUN tmR sUN -bln +mQb sUN tmR sUN @@ -261425,7 +263198,7 @@ sUN tmR sUN bln -tCr +dAW bln bln bln @@ -261590,7 +263363,7 @@ tlH tlH tlH nXb -tlH +wkG tlH tlH tlH @@ -261631,7 +263404,7 @@ oQn iBl pLr hRF -krY +dAf xLq xLq aoo @@ -261640,8 +263413,8 @@ ykE qEV wpi gZx -tIq -tIq +ybf +ybf vaa xLq xLq @@ -261665,15 +263438,15 @@ pxQ vzD bln bln +mQb bln bln -bln -bln +uer bln sUN tmR sUN -bln +mQb sUN tmR sUN @@ -261682,7 +263455,7 @@ sUN tmR sUN bln -bln +kdS bln bln bln @@ -261756,7 +263529,7 @@ wNO wNO wNO wNO -khz +pUa wNO vbG hHG @@ -261889,21 +263662,21 @@ eIC trK qEz krY -xLq +oJW xLq kvR -rYZ +gZx kgo sCx -gWr iHc -ybf -gXv +gZx +sQl +auK vaa xLq -grs +xLq nsZ -pdO +kUw dDm rDZ rDZ @@ -261939,10 +263712,10 @@ sUN tmR sUN bln -bln -tCr -tCr -tCr +jgI +sgR +baI +wzB bln bln wNO @@ -262015,14 +263788,14 @@ wNO wNO wNO wNO -kPS +dHF hHG hHG hHG -khz +pUa wNO wNO -khz +pUa wNO wNO wNO @@ -262154,30 +263927,30 @@ rjK nlP xTV imy -dHM +nzA auK vaa xLq xLq nsZ rDZ -pxu +rDZ rDZ swa -pxu +rDZ rDZ bgx vzD vzD vzD vzD -geJ +xCS sMo bgx tfm qbh oGm -axy +mJq mJq mJq sEB @@ -262191,15 +263964,15 @@ bln bln tmR bln -bln +mQb bln tmR bln bln +fsm +mQb bln -bln -bln -tCr +wBv bln bln wNO @@ -262273,8 +264046,8 @@ wNO wNO bln bln -xDQ -xDQ +wDS +wDS bln bln bln @@ -262391,11 +264164,11 @@ fTW dxm sHM elw -aFt +cfR hAT xyE hDp -kjr +hDp elw omh omh @@ -262456,8 +264229,8 @@ tmR tmR cnx bln -tCr -bln +cgX +jNV bln wNO wNO @@ -262530,8 +264303,8 @@ wNO wNO bln bln -wUD -wUD +vOy +vOy bln bln bln @@ -262666,12 +264439,12 @@ jLW nkh tLT wvv -fHC +lEP lEP oEj xmR oEj -oEj +aYA oEj myO oEj @@ -262687,11 +264460,11 @@ xmR oEj dww dFZ -mbT +bgx nBB xQh xCz -mjt +mJq mJq mJq vsI @@ -262710,10 +264483,10 @@ bln tmR bln bln +mQb bln bln -bln -tCr +wBv bln bln wNO @@ -262787,8 +264560,8 @@ wNO wNO bln bln -rPp -rPp +dTI +dTI bln bln bln @@ -262915,7 +264688,7 @@ rft icE idt fMq -pSz +qDx elw pbH opN @@ -262923,11 +264696,11 @@ faG kdo hyV bgx -gti +qWW bhk cYI jCl -jCl +uZc jCl jCl vzD @@ -262953,7 +264726,7 @@ bln bln bln bln -bln +mQb bln sUN tmR @@ -262967,10 +264740,10 @@ sUN tmR sUN bln -bln -tCr -tCr -tCr +vIu +chb +chb +jEJ bln bln wNO @@ -263161,7 +264934,7 @@ omh amK omh sED -xSw +gjM upv gjM gjM @@ -263174,7 +264947,7 @@ xnt egR pSz elw -gEe +pIu mEU enq kuy @@ -263187,7 +264960,7 @@ xWo axu bFq jCl -jCl +uZc jCl jtn jCl @@ -263205,13 +264978,13 @@ bln bln bln bln +kdS +mQb +uer +mQb bln -bln -bln -bln -bln -bln -bln +oNl +mQb sUN tmR sUN @@ -263224,7 +264997,7 @@ sUN tmR sUN bln -bln +kdS bln bln bln @@ -263297,17 +265070,17 @@ wNO wNO wNO wNO -khz +pUa wNO -aaX +qzn vbG hHG hHG hHG -khz +pUa wNO wNO -khz +pUa wNO wNO wNO @@ -263398,19 +265171,19 @@ bln sEB tpd tpd -ljj +tpd qKq -qmV +qPL fPX -xdM +dFt jZM dFt jZM -xdM +dFt nJo -hdz +dFt quK -xdM +dFt jZM jZM sEB @@ -263421,15 +265194,15 @@ omh omh omh omh -omh -fTW +fYT +dbw rpV jYc fTW cJs fTW -fTW -omh +dLM +pSz elw mWf mWf @@ -263437,7 +265210,7 @@ mWf hyV trm bgx -vzD +gti vzD vzD vzD @@ -263455,24 +265228,24 @@ twZ bMb rEU vXd -jCl +uZc mwQ vzD bln bln bln bln +fOc bln +mQb bln bln -bln -bln -bln -bln +uer +mQb sUN tmR sUN -bln +mQb sUN tmR sUN @@ -263481,7 +265254,7 @@ sUN tmR sUN bln -tCr +dAW bln bln bln @@ -263556,7 +265329,7 @@ wNO wNO wNO wNO -fhB +liV vbG hHG hHG @@ -263661,7 +265434,7 @@ jZM xVG jZM sEB -gZa +sEB sEB jZM xVG @@ -263677,25 +265450,25 @@ sEB sEB sEB sEB -sEB +nXb +xgf omh skW omh omh omh -omh skW omh +pSz omh bln bln bln -bln hyV trm bgx -bln -bln +gti +vzD bln bln bln @@ -263708,8 +265481,8 @@ jCl nuj jCl gUT -jCl -jCl +uZc +uZc syT vzD jCl @@ -263719,12 +265492,12 @@ bln bln bln bln +kdS bln bln bln bln -bln -bln +mQb bln sUN tmR @@ -263733,12 +265506,12 @@ bln sUN tmR sUN -bln +mQb sUN tmR sUN bln -tCr +kdS bln bln bln @@ -263934,25 +265707,25 @@ bln bln lSu lSu -bln +nXb +omh omh -fTW xTy qNV rCT xTy qNV -mhq omh -bln -bln +omh +omh +aZC bln bln hyV fiU bgx -bln -bln +vzD +vzD bln bln bln @@ -263976,12 +265749,12 @@ bln bln bln bln -bln -bln -bln -bln -bln -mVm +jgI +chb +lMU +chb +chb +wzB bln sUN tmR @@ -263995,8 +265768,8 @@ sUN tmR sUN bln -tCr -bln +jZA +jNV bln bln bln @@ -264174,7 +265947,7 @@ kAm jZM gBI dFt -bln +tMa bln bln dFt @@ -264182,7 +265955,7 @@ kAm jZM gBI dFt -bln +tMa bln bln bln @@ -264238,8 +266011,7 @@ bln bln bln bln -tCr -bln +kdS bln bln bln @@ -264252,9 +266024,10 @@ bln bln bln bln -mVm -bln bln +wBv +lSu +lSu bln bln bln @@ -264495,23 +266268,22 @@ bln bln bln bln -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -bln -bln +jgI +mCz +lND +bzo +chb +chb +mCz +lMU +mCz +chb +chb +lMU +dCu +chb +jEJ +lSu bln bln bln @@ -264566,6 +266338,7 @@ wNO wNO wNO wNO +wNO "} (204,1,3) = {" wNO @@ -264685,18 +266458,18 @@ bln bln jZM oeh -kLs +jZM vmR jZM -bln +htd bln bln jZM vmR -kLs +jZM woU jZM -bln +htd bln bln bln @@ -264771,7 +266544,7 @@ bln bln ozo bln -bln +wNO wNO wNO wNO @@ -264930,7 +266703,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -264961,7 +266734,7 @@ bln bln bln bln -fBN +xOk bln bln cSx @@ -265028,7 +266801,7 @@ bln bln bln bln -bln +wNO wNO wNO wNO @@ -265284,8 +267057,8 @@ bln bln bln bln -bln -bln +wNO +wNO wNO wNO wNO @@ -265538,11 +267311,11 @@ bln bln bln bln -bln -bln -bln -bln -bln +wNO +wNO +wNO +wNO +wNO wNO wNO wNO @@ -266215,7 +267988,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -266246,7 +268019,7 @@ bln bln bln bln -fBN +xOk bln bln bln @@ -267398,8 +269171,8 @@ wNO wNO wNO wNO -wNO -tNN +bln +fwx kDs kDs kDs @@ -267500,7 +269273,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -267531,7 +269304,7 @@ bln bln bln bln -fBN +xOk bln bln bln @@ -267655,8 +269428,8 @@ wNO wNO wNO wNO -wNO -wNO +bln +bln kDs kDs kDs @@ -267912,8 +269685,8 @@ wNO wNO wNO wNO -wNO -wNO +bln +bln bln hHG hHG @@ -268171,7 +269944,7 @@ wNO wNO tkU tkU -lgH +fwx hHG hHG hHG @@ -268785,7 +270558,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -268816,7 +270589,7 @@ bln bln bln bln -fBN +xOk bln bln bln @@ -268942,7 +270715,7 @@ wNO tkU tkU tkU -uFg +bln hHG hHG hHG @@ -269199,7 +270972,7 @@ wNO tkU tkU tkU -lgH +fwx hHG hHG hHG @@ -270070,7 +271843,7 @@ wNO wNO wNO bln -fBN +xOk bln bln bln @@ -270101,7 +271874,7 @@ bln bln bln bln -fBN +xOk bln bln bln @@ -270116,9 +271889,9 @@ bln bln bln bln -fBN +xOk bln -fBN +xOk bln wNO wNO @@ -270741,7 +272514,7 @@ wNO wNO tkU tkU -lgH +fwx hHG hHG hHG @@ -271355,7 +273128,7 @@ wNO wNO bln bln -fBN +xOk bln bln bln @@ -271386,7 +273159,7 @@ bln bln bln bln -fBN +xOk bln bln wNO @@ -272283,7 +274056,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -272537,7 +274310,7 @@ wNO (235,1,3) = {" wNO wNO -lgH +fwx wNO wNO bln @@ -272794,7 +274567,7 @@ wNO (236,1,3) = {" wNO wNO -aaX +qzn wNO wNO bln @@ -273051,7 +274824,7 @@ wNO (237,1,3) = {" wNO wNO -fhB +liV wNO wNO bln @@ -273311,7 +275084,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -274596,7 +276369,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -274612,7 +276385,7 @@ vbG hHG hHG hHG -aaX +qzn wNO wNO wNO @@ -274869,7 +276642,7 @@ vbG hHG hHG hHG -fhB +liV wNO wNO wNO @@ -275367,7 +277140,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -275380,8 +277153,8 @@ wNO wNO bln bln -xDQ -xDQ +wDS +wDS bln bln wNO @@ -275637,8 +277410,8 @@ wNO wNO bln bln -wUD -wUD +vOy +vOy bln bln bln @@ -275894,8 +277667,8 @@ wNO wNO bln bln -rPp -rPp +dTI +dTI bln bln bln @@ -276395,7 +278168,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG @@ -277166,7 +278939,7 @@ wNO wNO wNO wNO -lgH +fwx hHG hHG hHG diff --git a/_maps/map_files/Mafia/mafia_spiderclan.dmm b/_maps/map_files/Mafia/mafia_spiderclan.dmm index aae3f9914f381..535b2b2e78b42 100644 --- a/_maps/map_files/Mafia/mafia_spiderclan.dmm +++ b/_maps/map_files/Mafia/mafia_spiderclan.dmm @@ -67,7 +67,7 @@ name = "Station Night Shutters" }, /turf/closed/indestructible/fakeglass{ - icon = 'icons/obj/smooth_structures/structure_variations.dmi'; + icon = 'icons/obj/structures/smooth/structure_variations.dmi'; icon_state = "paper-whole" }, /area/centcom/mafia) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index f37d9a419f73e..783743565cd90 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -223,6 +223,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) +"afe" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "afj" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -261,13 +269,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet, /area/station/commons/dorms) -"afM" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/engineering/main) "afZ" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment, @@ -278,15 +279,22 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"agi" = ( -/obj/effect/spawner/random/maintenance, +"agk" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "ago" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron, @@ -298,6 +306,14 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"agB" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "agN" = ( /obj/structure/table/glass, /obj/item/radio/intercom/directional/west, @@ -340,6 +356,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ahb" = ( +/obj/structure/lattice/catwalk, +/obj/item/banner/cargo, +/turf/open/space/basic, +/area/space/nearstation) "ahe" = ( /obj/machinery/airalarm/directional/east, /obj/structure/cable, @@ -437,6 +458,14 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"aie" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "aij" = ( /obj/structure/chair, /obj/structure/cable, @@ -454,16 +483,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/office) -"ajq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown, -/turf/open/floor/iron, -/area/station/cargo/lobby) "ajI" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -546,7 +565,9 @@ id = "AI" }, /obj/structure/table/wood/fancy/blue, -/obj/effect/spawner/random/aimodule/neutral, +/obj/effect/spawner/random/aimodule/neutral{ + pixel_y = 8 + }, /obj/machinery/door/window/right/directional/east{ name = "Core Modules"; req_access = list("captain") @@ -567,35 +588,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"alu" = ( -/obj/effect/turf_decal/bot, -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) -"alw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"alA" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4; - name = "Quartermaster Junction" - }, -/obj/effect/mapping_helpers/mail_sorting/supply/qm_office, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "alE" = ( /turf/open/floor/iron, /area/station/security/courtroom) @@ -740,20 +732,14 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"anX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/status_display/evac/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +"aoh" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "aok" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -785,10 +771,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"apC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "apJ" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -798,14 +780,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"apO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "apS" = ( /obj/structure/sink/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -814,6 +788,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/door_buttons/access_button/directional/north{ + idDoor = "xeno_airlock_exterior"; + idSelf = "xeno_airlock_control"; + name = "Xenobiology Access Button"; + req_access = list("xenobiology") + }, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) "apT" = ( @@ -849,16 +829,20 @@ /area/space/nearstation) "aqt" = ( /obj/structure/table, -/obj/item/folder/yellow, +/obj/item/folder/yellow{ + pixel_y = 8 + }, /obj/item/storage/medkit/regular{ pixel_x = 3; - pixel_y = -3 + pixel_y = 5 }, /obj/effect/turf_decal/bot{ dir = 1 }, /obj/structure/cable, -/obj/item/paper/pamphlet/gateway, +/obj/item/paper/pamphlet/gateway{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/command/gateway) "aqu" = ( @@ -880,6 +864,13 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"aqW" = ( +/obj/structure/cable, +/obj/machinery/power/terminal, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "ara" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/plating, @@ -920,7 +911,6 @@ pixel_y = 5 }, /obj/item/stack/cable_coil, -/obj/structure/sign/poster/random/directional/east, /turf/open/floor/iron, /area/station/commons/storage/primary) "asm" = ( @@ -964,13 +954,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) -"asT" = ( -/obj/effect/spawner/structure/window, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/cargo/lobby) "atf" = ( /obj/structure/table/glass, /obj/machinery/power/apc/auto_name/directional/north, @@ -978,6 +961,15 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"ati" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ordnance/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "atk" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -1008,13 +1000,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/engine, /area/station/engineering/supermatter) -"auh" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "aum" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1045,6 +1030,11 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"auQ" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/construction/storage_wing) "ava" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/storage/box/lights/mixed, @@ -1216,14 +1206,6 @@ "ayr" = ( /turf/open/floor/iron, /area/station/engineering/break_room) -"ayz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ayH" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -1263,19 +1245,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"azz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "azE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -1289,6 +1258,37 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/research) +"azY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/folder/yellow{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/ammo_casing/rocket{ + pixel_x = -2; + pixel_y = 27; + name = "Dud Rocket"; + desc = "An 84mm High Explosive rocket. This one's a dud. Pretty sure." + }, +/obj/item/computer_disk/quartermaster{ + pixel_x = 9; + pixel_y = 20 + }, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/machinery/button/door/directional/east{ + id = "qmroom" + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "azZ" = ( /obj/structure/closet/crate, /obj/item/reagent_containers/cup/bowl, @@ -1319,15 +1319,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/security/prison/mess) -"aAb" = ( -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/dark/smooth_half{ - dir = 8 - }, -/area/station/medical/morgue) "aAg" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral, @@ -1419,17 +1410,15 @@ /area/station/maintenance/starboard/greater) "aBQ" = ( /obj/structure/cable, -/obj/structure/sign/warning/secure_area/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/junction/flip{ dir = 8 }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"aBW" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) "aBX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -1459,6 +1448,13 @@ /obj/item/wallframe/digital_clock, /turf/open/floor/iron, /area/station/commons/storage/tools) +"aCz" = ( +/obj/effect/mapping_helpers/broken_floor, +/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/fore) "aCE" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=10.1-Central-from-Aft"; @@ -1570,6 +1566,10 @@ /obj/item/poster/random_official, /turf/open/floor/iron/dark, /area/station/security/office) +"aEp" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall, +/area/station/cargo/lobby) "aEr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1582,10 +1582,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"aEy" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "aEA" = ( /obj/structure/table/wood, -/obj/item/staff/broom, -/obj/item/wrench, +/obj/item/staff/broom{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -1607,6 +1621,10 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"aFb" = ( +/obj/structure/sign/warning/electric_shock/directional/south, +/turf/open/space/basic, +/area/space/nearstation) "aFd" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, @@ -1621,11 +1639,25 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/commons/dorms) -"aFW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/mirror/directional/west, -/turf/open/floor/wood, -/area/station/service/theater) +"aFG" = ( +/obj/item/storage/box/matches{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/cigarette/cigar{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/cigarette/cigar{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_y = 7 + }, +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/station/command/corporate_showroom) "aFZ" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -1643,6 +1675,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"aGk" = ( +/obj/machinery/button/door/directional/south{ + id = "bridge blast"; + name = "Bridge Access Blast Door Control"; + req_access = list("command") + }, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/captain/private) "aGm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -1652,6 +1692,18 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark, /area/station/security/office) +"aGA" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 17; + pixel_x = 8 + }, +/obj/item/storage/box/lights/mixed{ + pixel_y = 13; + pixel_x = -6 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "aGD" = ( /obj/structure/closet/crate/coffin, /obj/machinery/door/window/left/directional/east{ @@ -1671,12 +1723,16 @@ "aGQ" = ( /obj/item/storage/medkit/regular{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, /obj/structure/table/glass, /obj/effect/turf_decal/tile/green{ dir = 1 }, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = 7 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "aGS" = ( @@ -1731,20 +1787,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"aHH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "aHM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -1760,13 +1802,19 @@ /obj/effect/turf_decal/bot, /obj/effect/landmark/event_spawn, /obj/effect/landmark/start/hangover, -/obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"aHR" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/science/research) +"aHW" = ( +/obj/machinery/door/airlock/mining{ + name = "Drone Bay" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/effect/landmark/navigate_destination, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "aIl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -1843,6 +1891,10 @@ }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"aJh" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "aJj" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -1865,10 +1917,53 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"aJt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "aJv" = ( /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) +"aJw" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio4"; + name = "Xenobio Pen 4 Blast Doors"; + pixel_y = 4; + req_access = list("xenobiology"); + sync_doors = 4 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) +"aJF" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch/directional/west{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "aJI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -1961,17 +2056,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) -"aKN" = ( -/obj/structure/chair/office, -/obj/machinery/requests_console/directional/north{ - department = "Quartermaster's Desk"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/landmark/start/depsec/supply, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "aKO" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2031,44 +2115,6 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/white, /area/station/science/lobby) -"aLW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/stamp/head/qm{ - pixel_x = 1; - pixel_y = 12 - }, -/obj/item/stamp/granted{ - pixel_x = -7; - pixel_y = 12 - }, -/obj/item/stamp/denied{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/stamp/void{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/effect/spawner/random/entertainment/money_medium{ - pixel_y = -6; - pixel_x = -3 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/clipboard{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/item/coin/gold{ - pixel_y = -5; - pixel_x = 10 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "aMb" = ( /obj/structure/table, /obj/item/cultivator, @@ -2173,9 +2219,15 @@ /area/station/service/kitchen) "aNQ" = ( /obj/structure/table, -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/suture, +/obj/item/stack/medical/gauze{ + pixel_y = 8 + }, +/obj/item/stack/medical/mesh{ + pixel_y = 8 + }, +/obj/item/stack/medical/suture{ + pixel_y = 8 + }, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -2210,14 +2262,12 @@ /obj/effect/turf_decal/trimline/brown/warning, /turf/open/floor/iron/white, /area/station/science/lobby) -"aOA" = ( -/obj/effect/landmark/blobstart, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"aOt" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/turf/open/water, +/area/station/service/hydroponics/garden) "aOC" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2241,6 +2291,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) +"aOV" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Test Chamber"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "aPk" = ( /obj/structure/closet/crate/preopen, /turf/open/floor/plating, @@ -2316,6 +2374,14 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"aQr" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/atmos) "aQR" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -2351,6 +2417,17 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"aRx" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/normal/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "aRz" = ( /obj/structure/table, /obj/item/paper_bin, @@ -2390,20 +2467,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"aSv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/reagent_dispensers/beerkeg, -/obj/item/toy/figure/qm{ - pixel_x = 3; - pixel_y = 12 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "aSQ" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ @@ -2429,7 +2492,9 @@ "aSZ" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /obj/machinery/conveyor{ dir = 4; @@ -2482,12 +2547,15 @@ }, /obj/structure/table/wood, /obj/structure/desk_bell{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/rag{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/rag, /obj/item/reagent_containers/cup/glass/coffee{ pixel_x = -3; - pixel_y = 9 + pixel_y = 17 }, /turf/open/floor/iron/dark, /area/station/service/cafeteria) @@ -2627,6 +2695,23 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"aWS" = ( +/obj/machinery/button/door/directional/south{ + id = "warehouse"; + name = "Warehouse Shutters Control" + }, +/obj/effect/turf_decal/trimline/red/filled/warning/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay - Aft"; + pixel_x = 14 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "aXa" = ( /turf/closed/wall, /area/station/security/prison/mess) @@ -2713,14 +2798,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"aYl" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Test Chamber"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "aYw" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Three"; @@ -2738,6 +2815,19 @@ }, /turf/open/space, /area/space/nearstation) +"aYy" = ( +/obj/machinery/light/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "aYz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -2786,32 +2876,29 @@ /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/button/door{ - desc = "A door remote control switch for the exterior brig doors."; +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 12; id = "outerbrig"; name = "Brig Exterior Door Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = 7; - req_access = list("security") - }, -/obj/machinery/button/flasher{ - id = "secentranceflasher"; - name = "Brig Entrance Flasher"; - pixel_y = -3; - req_access = list("security") + req_access = list("security"); + normaldoorcontrol = 1 }, -/obj/machinery/button/door{ - desc = "A door remote control switch for the interior brig doors."; +/obj/machinery/button/door/table{ + pixel_x = -6; + pixel_y = 12; id = "innerbrig"; name = "Brig Interior Door Control"; - normaldoorcontrol = 1; - pixel_x = -6; - pixel_y = 7; - req_access = list("security") + req_access = list("security"); + normaldoorcontrol = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/button/flasher/table{ + pixel_y = 3; + id = "secentranceflasher"; + req_access = list("security") }, /turf/open/floor/iron, /area/station/security/warden) @@ -2857,6 +2944,42 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"bac" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + name = "AI Upload Turret Control"; + pixel_y = -7 + }, +/obj/item/radio/intercom/directional/north{ + broadcasting = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = -26 + }, +/obj/effect/landmark/start/cyborg, +/obj/machinery/light/small/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) +"bah" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "bar" = ( /obj/structure/table, /obj/item/reagent_containers/cup/beaker{ @@ -2903,12 +3026,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"baG" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "baM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2968,12 +3085,11 @@ /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"bcb" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/science/research) "bcf" = ( /obj/machinery/portable_atmospherics/canister, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -2990,7 +3106,6 @@ /area/station/hallway/primary/central) "bcw" = ( /obj/structure/cable, -/obj/structure/sign/poster/official/random/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, @@ -2998,16 +3113,40 @@ /area/station/commons/fitness/recreation) "bcx" = ( /obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/stack/package_wrap{ + pixel_y = 10 + }, +/obj/item/stack/package_wrap{ + pixel_y = 6 + }, +/obj/item/stack/package_wrap{ + pixel_y = 14 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/window/spawner/directional/south, /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark, /area/station/command/teleporter) +"bcH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/floor, +/obj/machinery/door_buttons/access_button/directional/north{ + idDoor = "xeno_airlock_exterior"; + idSelf = "xeno_airlock_control"; + name = "Xenobiology Access Button"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology/hallway) "bcT" = ( /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; @@ -3027,17 +3166,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) -"bdb" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/random/directional/east, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bdv" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/trunk, @@ -3203,6 +3331,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"bgM" = ( +/obj/machinery/light_switch/directional/west{ + pixel_x = -20 + }, +/obj/machinery/computer/records/medical{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/machinery/computer/security/telescreen/med_sec/directional/west, +/obj/machinery/button/door/directional/west{ + id = "MedbayFoyer"; + name = "Medbay Doors Control"; + normaldoorcontrol = 1; + pixel_y = -8 + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "bgS" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/camera/directional/west{ @@ -3422,6 +3568,7 @@ }, /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/light_switch/directional/north, +/obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/cryo) "bjP" = ( @@ -3445,12 +3592,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"bkJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "bkM" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -3479,6 +3620,24 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/wood, /area/station/service/library) +"blg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"blt" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay - Mailroom" + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/white/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "blu" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/west, @@ -3522,6 +3681,17 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"bmn" = ( +/obj/structure/cable, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Vault"; + network = list("vault") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "bmB" = ( /obj/machinery/light_switch/directional/south, /obj/effect/turf_decal/tile/red/opposingcorners, @@ -3587,23 +3757,11 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"bny" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "Antechamber Turret Control"; - pixel_x = 30; - req_access = list("minisat") - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/foyer) "bnA" = ( -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4; + manual_align = 1 + }, /obj/machinery/conveyor{ dir = 4; id = "QMLoad2" @@ -3716,10 +3874,12 @@ /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 }, /obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 8 }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -3759,24 +3919,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/station/hallway/primary/central) -"bpY" = ( -/obj/machinery/light/small/directional/west, -/obj/item/clothing/mask/animal/horsehead, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/south, -/obj/item/cigarette/pipe, -/obj/item/clothing/mask/fakemoustache, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/wood, -/area/station/service/theater) -"bqg" = ( -/obj/structure/cable, -/obj/structure/sign/poster/official/random/directional/east, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/secondary/entry) "bqk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/atmos/glass{ @@ -3785,11 +3927,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"bqC" = ( -/obj/structure/table/wood, -/obj/item/cigarette/pipe, -/turf/open/floor/wood, -/area/station/commons/lounge) "bqJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3802,6 +3939,12 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) +"bqP" = ( +/obj/effect/landmark/start/depsec/supply, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "bqX" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) @@ -3900,6 +4043,13 @@ }, /turf/open/floor/wood, /area/station/service/library) +"bsv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "bsz" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -3959,17 +4109,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"btC" = ( +"btD" = ( /obj/effect/turf_decal/stripes/line{ - dir = 9 + dir = 4 }, -/turf/open/floor/iron/dark/textured_large, -/area/station/science/cytology) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "btG" = ( /obj/structure/window/spawner/directional/west, /obj/structure/table, -/obj/item/storage/belt/utility/full, -/obj/item/borg/upgrade/rename, +/obj/item/storage/belt/utility/full{ + pixel_y = 8 + }, +/obj/item/borg/upgrade/rename{ + pixel_y = 8 + }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) "btL" = ( @@ -4020,7 +4177,6 @@ /turf/open/floor/iron, /area/station/science/xenobiology) "buv" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, @@ -4068,6 +4224,9 @@ /obj/effect/turf_decal/bot{ dir = 1 }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/command/gateway) "buN" = ( @@ -4097,28 +4256,6 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"bvl" = ( -/obj/machinery/newscaster/directional/east, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -7; - pixel_y = 10 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_y = 16 - }, -/obj/machinery/digital_clock/directional/north, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bvJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -4127,6 +4264,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/lab) +"bvU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "bvY" = ( /obj/machinery/power/tracker, /obj/structure/cable, @@ -4175,6 +4322,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"bxc" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 14 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "bxf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4209,10 +4365,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"bxr" = ( -/obj/structure/sign/warning/electric_shock/directional/east, -/turf/open/space/basic, -/area/space/nearstation) "bxE" = ( /obj/machinery/camera/directional/south{ c_tag = "Chemistry South"; @@ -4276,31 +4428,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"byE" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/button/door/directional/north{ - id = "rdrnd"; - name = "Research and Development Containment Control"; - pixel_x = -6; - req_access = list("rd") - }, -/obj/machinery/button/door/directional/north{ - id = "rdordnance"; - name = "Ordnance Containment Control"; - pixel_x = 6; - req_access = list("rd") - }, -/obj/machinery/button/door/directional/north{ - id = "rdoffice"; - name = "Privacy Control"; - pixel_y = 34; - req_access = list("rd") - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/rd) "byQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4351,7 +4478,9 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; - name = "Brig" + name = "Brig"; + id = "innerbrig"; + normalspeed = 0 }, /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -4399,18 +4528,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"bBy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "bBA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4499,15 +4616,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"bDn" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "bDp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4551,14 +4659,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/office) -"bEv" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ - name = "Burn Chamber Exterior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "bEA" = ( /obj/structure/cable, /obj/machinery/camera/directional/south{ @@ -4586,16 +4686,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) -"bEK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "bER" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -4643,17 +4733,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/science/robotics/lab) -"bFN" = ( -/obj/machinery/chem_dispenser, -/obj/machinery/button/door/directional/north{ - id = "pharmacy_shutters"; - name = "pharmacy shutters control"; - pixel_x = 24; - req_access = list("medical") - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "bGo" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -4661,11 +4740,6 @@ /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"bGu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "bGC" = ( /turf/closed/wall, /area/station/hallway/primary/central) @@ -4704,12 +4778,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"bHv" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/closed/wall, -/area/station/cargo/warehouse) "bHD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -4721,6 +4789,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"bHI" = ( +/obj/machinery/hydroponics/soil, +/obj/item/cultivator, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/grass, +/area/station/security/prison/garden) "bHN" = ( /obj/item/radio/intercom/directional/south, /obj/structure/cable, @@ -4739,10 +4813,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"bIa" = ( -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) +"bHT" = ( +/obj/machinery/requests_console/directional/north{ + department = "Law Office"; + name = "Lawyer Requests Console" + }, +/obj/machinery/newscaster/directional/west, +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "bIi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4754,9 +4833,6 @@ /area/station/commons/lounge) "bIq" = ( /obj/structure/table/wood, -/obj/machinery/button/ticket_machine{ - pixel_x = 38 - }, /obj/machinery/light_switch/directional/south{ pixel_x = 6; pixel_y = -34 @@ -4768,26 +4844,34 @@ req_access = list("hop") }, /obj/item/paper_bin/carbon{ - pixel_x = -2; - pixel_y = 4 + pixel_x = 5; + pixel_y = 11 }, /obj/item/stamp/head/hop{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/machinery/button/door/directional/south{ - id = "hopqueue"; - name = "Queue Shutters Control"; - pixel_x = -6; - pixel_y = -34; - req_access = list("hop") + pixel_x = 5; + pixel_y = 18 }, /obj/item/pen{ - pixel_x = -4; + pixel_x = 5; + pixel_y = 8 + }, +/obj/machinery/button/ticket_machine/table{ + pixel_x = -7; pixel_y = 3 }, -/obj/machinery/button/photobooth{ - pixel_x = 26 +/obj/machinery/button/photobooth/table{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/machinery/button/door/table{ + pixel_y = 17; + pixel_x = -7; + name = "Privacy Shutters Control"; + req_access = "hop" + }, +/obj/machinery/button/flasher{ + id = "hopflash"; + dir = 8 }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) @@ -4803,6 +4887,17 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/customs) +"bIE" = ( +/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{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "bIH" = ( /obj/structure/chair/comfy/beige, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4860,7 +4955,6 @@ /obj/machinery/vending/coffee, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/corner, -/obj/structure/sign/poster/official/random/directional/east, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, @@ -4874,29 +4968,24 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"bJX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "bKv" = ( /obj/item/pen, /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 8 + }, /obj/item/book/manual/wiki/security_space_law{ pixel_x = 3; - pixel_y = 4 + pixel_y = 12 }, /obj/machinery/newscaster/directional/north, /obj/item/screwdriver{ - pixel_y = 10 + pixel_y = 18 + }, +/obj/item/radio/off{ + pixel_y = 8 }, -/obj/item/radio/off, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) @@ -4907,7 +4996,7 @@ /obj/structure/table, /obj/item/storage/box/bodybags{ pixel_x = 3; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -4934,19 +5023,19 @@ /obj/structure/table/wood, /obj/item/reagent_containers/cup/bottle/syrup_bottle/korta_nectar{ pixel_x = 5; - pixel_y = 16 + pixel_y = 24 }, /obj/item/reagent_containers/cup/bottle/syrup_bottle/liqueur{ pixel_x = -5; - pixel_y = 16 + pixel_y = 24 }, /obj/item/reagent_containers/cup/bottle/syrup_bottle/caramel{ pixel_x = 15; - pixel_y = 16 + pixel_y = 24 }, /obj/item/storage/fancy/coffee_condi_display{ pixel_x = 4; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/dark, @@ -4967,19 +5056,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/airless, /area/space/nearstation) -"bLY" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "bMa" = ( /obj/structure/disposaloutlet{ dir = 4; @@ -5025,6 +5101,11 @@ }, /turf/open/floor/iron/checker, /area/station/engineering/atmos/pumproom) +"bME" = ( +/obj/structure/table, +/obj/item/cigarette/pipe, +/turf/open/floor/plating, +/area/station/maintenance/port) "bMM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -5088,18 +5169,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"bNv" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "bNE" = ( /obj/machinery/light/directional/east, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"bNN" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/railing, -/turf/open/floor/iron, -/area/station/cargo/lobby) "bNP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -5138,10 +5217,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"bPc" = ( -/obj/effect/turf_decal/trimline/brown/filled/shrink_ccw{ - dir = 8 - }, +"bOP" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/light/directional/south, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) "bPi" = ( @@ -5182,18 +5261,6 @@ /obj/item/bodypart/arm/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"bQl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Cargo Office"; - name = "Cargo Office Fax Machine" - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bQN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/computer/security/telescreen/entertainment/directional/north, @@ -5225,7 +5292,7 @@ "bRp" = ( /obj/effect/spawner/random/decoration/microwave{ dir = 1; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/table/wood, /obj/machinery/light/small/directional/south, @@ -5309,6 +5376,19 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"bSp" = ( +/obj/machinery/door/airlock/mining{ + name = "Quartermaster's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/qm, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/diagonal, +/area/station/command/heads_quarters/qm) "bSr" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/machinery/airalarm/directional/west, @@ -5321,15 +5401,27 @@ dir = 5 }, /obj/structure/table/glass, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, +/obj/item/grenade/chem_grenade{ + pixel_y = 8 + }, +/obj/item/grenade/chem_grenade{ + pixel_y = 8 + }, +/obj/item/grenade/chem_grenade{ + pixel_y = 8 + }, +/obj/item/grenade/chem_grenade{ + pixel_y = 8 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, /obj/item/screwdriver{ pixel_x = -2; - pixel_y = 6 + pixel_y = 14 }, /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/requests_console/directional/west{ @@ -5365,11 +5457,13 @@ "bTm" = ( /obj/structure/table/reinforced, /obj/item/wheelchair{ - pixel_y = -3 + pixel_y = 5 }, -/obj/item/wheelchair, /obj/item/wheelchair{ - pixel_y = 3 + pixel_y = 8 + }, +/obj/item/wheelchair{ + pixel_y = 13 }, /obj/structure/window/spawner/directional/north, /obj/structure/window/spawner/directional/west, @@ -5386,19 +5480,37 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"bUb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "bUc" = ( /obj/machinery/shower/directional/west, /obj/effect/landmark/start/assistant, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"bUg" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "bUk" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 }, /obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 8 }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -5411,11 +5523,12 @@ "bUo" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/plasteel{ - amount = 15 + amount = 15; + pixel_y = 8 }, /obj/item/assembly/prox_sensor{ pixel_x = 5; - pixel_y = 7 + pixel_y = 15 }, /obj/structure/fireaxecabinet/mechremoval/directional/east, /obj/machinery/light/small/directional/north, @@ -5425,8 +5538,12 @@ /obj/structure/table/wood, /obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/item/radio/intercom/directional/west, -/obj/item/pinpointer/nuke, -/obj/item/disk/nuclear, +/obj/item/pinpointer/nuke{ + pixel_y = 8 + }, +/obj/item/disk/nuclear{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) "bUC" = ( @@ -5511,14 +5628,6 @@ id_tag = "virology_airlock_interior"; name = "Virology Interior Airlock" }, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_x = 8; - pixel_y = -24; - req_access = list("virology") - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, @@ -5553,6 +5662,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"bWs" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "bWw" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/computer/pod/old/mass_driver_controller/trash{ @@ -5560,6 +5680,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"bWA" = ( +/obj/machinery/light/directional/west, +/obj/machinery/piratepad/civilian, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "bWM" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/blue, @@ -5601,7 +5734,9 @@ /area/station/commons/fitness/recreation) "bXc" = ( /obj/structure/table, -/obj/machinery/cell_charger, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, /obj/machinery/requests_console/directional/east{ department = "Research Lab"; name = "Research Requests Console" @@ -5615,18 +5750,6 @@ }, /turf/open/floor/iron, /area/station/science/lab) -"bXg" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/explab) "bXk" = ( /obj/machinery/telecomms/server/presets/command, /turf/open/floor/circuit/telecomms/mainframe, @@ -5648,6 +5771,14 @@ /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, +/obj/machinery/door_buttons/airlock_controller/directional/west{ + name = "Xenobiology Access Console"; + req_access = list("xenobiology"); + idExterior = "xeno_airlock_exterior"; + idInterior = "xeno_airlock_interior"; + idSelf = "xeno_airlock_control"; + pixel_y = 3 + }, /turf/open/floor/iron/white, /area/station/science/cytology) "bXO" = ( @@ -5704,27 +5835,6 @@ "bYz" = ( /turf/open/floor/circuit, /area/station/maintenance/port/aft) -"bYN" = ( -/obj/effect/turf_decal/siding/wideplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) -"bZb" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio6"; - name = "Xenobio Pen 6 Blast Doors"; - pixel_y = 1; - req_access = list("xenobiology") - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "bZq" = ( /obj/machinery/seed_extractor, /obj/effect/turf_decal/stripes/line{ @@ -5777,6 +5887,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"car" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/sorting) "caO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -5785,11 +5900,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"caV" = ( -/obj/vehicle/sealed/mecha/ripley/cargo, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/iron/recharge_floor, -/area/station/cargo/warehouse) "cbg" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -5806,17 +5916,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"cbp" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/normal/directional/north, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "cbz" = ( /turf/closed/wall, /area/station/cargo/storage) @@ -5828,6 +5927,40 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"cci" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/obj/machinery/requests_console/directional/east{ + department = "Research Director's Desk"; + name = "Research Director's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/computer/security/telescreen/rd/directional/north, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) +"ccy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/bed{ + pixel_z = 0 + }, +/obj/item/bedsheet/qm{ + dir = 8 + }, +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "ccD" = ( /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, @@ -5868,15 +6001,10 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ pixel_x = 1; - pixel_y = 5 + pixel_y = 8 }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"cdS" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "cdX" = ( /turf/closed/wall, /area/station/engineering/storage/tech) @@ -5934,6 +6062,16 @@ }, /turf/open/space, /area/space/nearstation) +"ceY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/crate, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ceZ" = ( /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 @@ -5977,13 +6115,22 @@ /obj/machinery/oven/range, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"cfH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) +"cfX" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/delivery_chute{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/north, +/obj/structure/window/spawner/directional/west, +/obj/machinery/door/window/right/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "cgi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/side{ @@ -6016,15 +6163,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cgP" = ( -/obj/machinery/air_sensor/ordnance_burn_chamber, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) -"cgZ" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "cha" = ( /obj/machinery/door/airlock/research/glass{ name = "Ordnance Lab" @@ -6036,7 +6174,6 @@ /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) "chn" = ( -/obj/structure/sign/warning/secure_area/directional/south, /obj/structure/table/reinforced, /obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/turf_decal/tile/neutral/opposingcorners{ @@ -6058,20 +6195,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"chZ" = ( -/obj/structure/sign/directions/engineering{ - dir = 4 - }, -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/command{ - dir = 8; - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/maintenance/central) "cii" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -6079,15 +6202,6 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/space/nearstation) -"ciE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "ciG" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6152,14 +6266,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"ckB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "ckE" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -6175,6 +6281,16 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"clf" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "clj" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -6192,6 +6308,14 @@ "clq" = ( /turf/open/floor/carpet, /area/station/security/detectives_office) +"clD" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ + name = "Burn Chamber Exterior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "clE" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -6242,31 +6366,6 @@ /obj/item/bodypart/leg/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"cmX" = ( -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "QMLoad"; - name = "Loading Conveyor"; - pixel_x = -13; - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"cna" = ( -/obj/structure/table, -/obj/item/storage/box/lights/mixed{ - pixel_y = 9; - pixel_x = 8 - }, -/obj/item/storage/box/lights/mixed{ - pixel_y = 5; - pixel_x = -6 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "cnc" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -6349,16 +6448,12 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"com" = ( -/obj/structure/cable, -/obj/machinery/netpod, -/obj/machinery/light/directional/west, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) -"coz" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 +"coE" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 }, /turf/open/floor/iron, /area/station/cargo/storage) @@ -6389,9 +6484,11 @@ /obj/machinery/newscaster/directional/north, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 4 + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 }, -/obj/item/pen, /obj/effect/turf_decal/tile/brown{ dir = 4 }, @@ -6404,6 +6501,12 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"cpw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/science/cytology) "cpH" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/yellow, @@ -6461,20 +6564,20 @@ "cqm" = ( /obj/item/disk/data{ pixel_x = 9; - pixel_y = -1 + pixel_y = 6 }, /obj/item/disk/tech_disk{ pixel_x = -2; - pixel_y = -3 + pixel_y = 4 }, /obj/item/disk/design_disk{ name = "component design disk"; - pixel_y = 6 + pixel_y = 14 }, /obj/structure/table/wood, /obj/item/toy/talking/ai{ name = "\improper Nanotrasen-brand toy AI"; - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/carpet, /area/station/command/corporate_showroom) @@ -6488,14 +6591,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"cqy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "cqD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -6600,13 +6695,15 @@ /obj/structure/table, /obj/item/raw_anomaly_core/random{ pixel_x = -5; - pixel_y = 7 + pixel_y = 15 }, /obj/item/raw_anomaly_core/random{ pixel_x = 7; - pixel_y = 9 + pixel_y = 17 + }, +/obj/item/raw_anomaly_core/random{ + pixel_y = 8 }, -/obj/item/raw_anomaly_core/random, /obj/effect/turf_decal/stripes/white/line, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -6633,6 +6730,15 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"ctu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "ctL" = ( /obj/machinery/computer/records/security{ dir = 4 @@ -6653,6 +6759,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"cua" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "cuc" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -6663,10 +6778,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"cuh" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/maintenance/port/fore) "cuk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -6688,6 +6799,13 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"cuJ" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "cuM" = ( /obj/machinery/newscaster/directional/south, /obj/effect/turf_decal/tile/bar, @@ -6696,13 +6814,16 @@ }, /obj/machinery/light/directional/south, /obj/structure/table, -/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 + }, /obj/item/reagent_containers/cup/beaker{ pixel_x = 8; - pixel_y = 2 + pixel_y = 15 }, /obj/item/reagent_containers/cup/rag{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 12 }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) @@ -6711,7 +6832,6 @@ dir = 1 }, /obj/structure/closet/firecloset, -/obj/structure/sign/warning/secure_area/directional/west, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "cuZ" = ( @@ -6746,17 +6866,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cvv" = ( -/obj/machinery/conveyor/inverted{ - dir = 10; - id = "QMLoad2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/railing, -/turf/open/floor/plating, -/area/station/cargo/storage) "cvw" = ( /obj/machinery/recharge_station, /turf/open/floor/iron/dark, @@ -6779,6 +6888,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"cvG" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister, +/obj/item/radio/intercom/directional/north, +/obj/structure/sign/warning/gas_mask/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) "cvL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -6796,6 +6913,15 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) +"cvX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "cvY" = ( /turf/open/floor/plating/airless, /area/station/solars/port/aft) @@ -6881,6 +7007,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/lab) +"cwE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/cargo{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "cwF" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -6904,13 +7040,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/visit) -"cwP" = ( -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "cwX" = ( /obj/machinery/door/window/brigdoor/left/directional/south{ name = "Command Desk"; @@ -6921,18 +7050,13 @@ /turf/open/floor/iron/dark, /area/station/command/bridge) "cwY" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/window/spawner/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/hangover, -/turf/open/floor/plating, -/area/station/cargo/sorting) +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "cxi" = ( /obj/item/solar_assembly, /obj/item/solar_assembly, @@ -7008,6 +7132,10 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood, /area/station/service/library) +"cxT" = ( +/obj/machinery/door/poddoor/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "cxU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -7027,14 +7155,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"cyE" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos) "cyG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -7056,7 +7176,8 @@ /obj/structure/table/wood, /obj/item/toy/plush/carpplushie{ greyscale_colors = "#ff5050#000000"; - name = "\improper Nanotrasen wildlife department space carp plushie" + name = "\improper Nanotrasen wildlife department space carp plushie"; + pixel_y = 8 }, /turf/open/floor/carpet, /area/station/command/corporate_showroom) @@ -7085,13 +7206,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/lockers) -"czD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "czG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7119,16 +7233,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cAf" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/crate, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cAm" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, @@ -7194,40 +7298,48 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"cCM" = ( -/obj/structure/lattice/catwalk, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - pixel_x = -7; - pixel_y = 2 +"cCe" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/item/reagent_containers/cup/glass/colocup{ - pixel_x = 3; - pixel_y = 3 +/obj/machinery/rnd/production/techfab/department/cargo, +/turf/open/floor/iron, +/area/station/cargo/storage) +"cCi" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 }, -/obj/item/reagent_containers/cup/glass/colocup{ - pixel_x = 6; - pixel_y = -4 +/turf/open/floor/iron, +/area/station/cargo/storage) +"cCN" = ( +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 8 }, -/obj/item/cigarette/rollie/cannabis{ - pixel_y = -3 +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 8 }, -/turf/open/space/basic, -/area/space/nearstation) -"cCN" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, /obj/structure/table, /obj/item/stack/sheet/plasteel{ - amount = 10 + amount = 10; + pixel_y = 8 }, /obj/machinery/airalarm/directional/west, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/crowbar, -/obj/item/wrench, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 8 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 8 + }, +/obj/item/crowbar{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, /obj/item/storage/toolbox/electrical{ pixel_x = 1; - pixel_y = -1 + pixel_y = 7 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -7258,27 +7370,16 @@ /obj/structure/table, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 4 + pixel_y = 12 }, /obj/item/pen{ pixel_x = -2; - pixel_y = 5 + pixel_y = 13 }, /obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) -"cDO" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "cDP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7296,11 +7397,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"cDV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cDX" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -7310,10 +7406,18 @@ /turf/open/floor/iron, /area/station/commons/lounge) "cEv" = ( -/obj/item/food/grown/wheat, -/obj/item/food/grown/watermelon, -/obj/item/food/grown/citrus/orange, -/obj/item/food/grown/grapes, +/obj/item/food/grown/wheat{ + pixel_y = 8 + }, +/obj/item/food/grown/watermelon{ + pixel_y = 8 + }, +/obj/item/food/grown/citrus/orange{ + pixel_y = 8 + }, +/obj/item/food/grown/grapes{ + pixel_y = 8 + }, /obj/structure/extinguisher_cabinet/directional/west, /obj/structure/table/glass, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -7323,13 +7427,12 @@ /area/station/hallway/primary/central) "cEx" = ( /obj/structure/dresser, +/obj/structure/mirror/directional/west{ + pixel_x = 0; + pixel_y = 8 + }, /turf/open/floor/wood, /area/station/service/theater) -"cEY" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "cFa" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -7343,7 +7446,9 @@ "cFl" = ( /obj/structure/table, /obj/structure/cable, -/obj/item/kitchen/rollingpin, +/obj/item/kitchen/rollingpin{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "cFp" = ( @@ -7356,7 +7461,9 @@ /obj/machinery/flasher/directional/south{ id = "AI" }, -/obj/effect/spawner/round_default_module, +/obj/effect/spawner/round_default_module{ + pixel_y = 8 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) "cFu" = ( @@ -7369,14 +7476,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"cGq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "cGu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -7413,24 +7512,22 @@ }, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"cHE" = ( -/obj/effect/landmark/event_spawn, +"cHr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"cHG" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"cHE" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/hallway/primary/fore) "cHQ" = ( /obj/machinery/computer/security/mining{ dir = 1 @@ -7440,11 +7537,12 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"cHR" = ( -/obj/effect/mapping_helpers/broken_floor, +"cIa" = ( /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "cId" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -7501,16 +7599,20 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"cJt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 +"cJp" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/station/cargo/storage) +"cJs" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/computer/cargo{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) +/turf/open/floor/iron, +/area/station/cargo/storage) "cJv" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/machinery/chem_heater/withbuffer, @@ -7523,32 +7625,6 @@ /obj/structure/table/wood, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"cJL" = ( -/obj/structure/sign/directions/evac, -/turf/closed/wall/r_wall, -/area/station/medical/chemistry) -"cJS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"cJT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "cKd" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -7586,10 +7662,14 @@ /obj/structure/cable, /obj/item/storage/backpack/satchel/leather/withwallet{ pixel_x = -1; - pixel_y = 4 + pixel_y = 14 + }, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 8 }, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "cKW" = ( @@ -7642,10 +7722,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) -"cLN" = ( -/obj/structure/sign/departments/exodrone/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cMb" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -7694,23 +7770,6 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/white, /area/station/medical/psychology) -"cNb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/computer/security/qm{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) -"cNg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "cNk" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -7730,14 +7789,14 @@ "cNS" = ( /turf/open/floor/iron, /area/station/maintenance/port/aft) +"cNX" = ( +/obj/item/stack/rods, +/turf/open/space/basic, +/area/space/nearstation) "cOa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/hydroponics) -"cOj" = ( -/obj/structure/sign/chalkboard_menu, -/turf/closed/wall, -/area/station/commons/storage/primary) "cOl" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -7757,6 +7816,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"cOt" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "cON" = ( /obj/structure/table, /obj/item/pai_card, @@ -7774,12 +7838,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"cOT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "cOX" = ( /obj/structure/sign/warning/radiation/rad_area/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -7789,6 +7847,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"cPb" = ( +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "cPQ" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/fyellow, @@ -7833,11 +7896,11 @@ /obj/machinery/light_switch/directional/north, /obj/item/storage/briefcase/secure{ pixel_x = 3; - pixel_y = 5 + pixel_y = 13 }, /obj/item/storage/medkit/regular{ pixel_x = -3; - pixel_y = -3 + pixel_y = 5 }, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 @@ -7917,9 +7980,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"cSu" = ( -/turf/open/floor/iron, -/area/station/hallway/primary/central) "cSv" = ( /obj/effect/turf_decal/delivery, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -7959,14 +8019,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"cTk" = ( -/obj/machinery/camera/motion/directional/south{ - active_power_usage = 0; - c_tag = "Armory - External"; - use_power = 0 - }, -/turf/open/space/basic, -/area/space/nearstation) "cTl" = ( /obj/structure/table/glass, /obj/item/reagent_containers/syringe, @@ -8029,6 +8081,13 @@ }, /turf/open/floor/wood, /area/station/security/office) +"cUm" = ( +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "cUw" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -8064,11 +8123,19 @@ /area/station/commons/dorms) "cUX" = ( /obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/west, -/obj/item/paper/fluff/gateway, -/obj/item/coin/plasma, -/obj/item/melee/chainofcommand, +/obj/item/paper/fluff/gateway{ + pixel_y = 8 + }, +/obj/item/coin/plasma{ + pixel_y = 8 + }, +/obj/item/melee/chainofcommand{ + pixel_y = 8 + }, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/wood, @@ -8089,17 +8156,19 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"cVC" = ( -/obj/structure/cable, -/obj/machinery/mineral/stacking_unit_console{ - pixel_x = 32 +"cVG" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door/directional/north{ + id = "rdoffice"; + name = "Privacy Control"; + pixel_y = -6; + req_access = list("rd") }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) "cVJ" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -8110,6 +8179,19 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cWa" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/gateway) "cWr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8171,7 +8253,9 @@ /area/station/hallway/primary/central) "cXc" = ( /obj/structure/table, -/obj/item/food/grown/poppy/lily, +/obj/item/food/grown/poppy/lily{ + pixel_y = 16 + }, /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -8195,22 +8279,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/office) -"cXE" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"cXD" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"cXH" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/poster/official/safety_eye_protection/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "cXP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, @@ -8250,12 +8329,12 @@ /obj/structure/table/reinforced, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 8 }, /obj/machinery/door/firedoor, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 5 }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; @@ -8263,7 +8342,8 @@ name = "Pharmacy Shutters" }, /obj/structure/desk_bell{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 8 }, /obj/machinery/door/window/left/directional/north{ name = "Pharmacy Desk"; @@ -8289,7 +8369,6 @@ /area/station/hallway/primary/central) "cYY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port) @@ -8341,6 +8420,7 @@ "daa" = ( /obj/structure/table/reinforced, /obj/machinery/computer/records/medical/laptop, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) "dac" = ( @@ -8457,6 +8537,19 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"dcO" = ( +/obj/effect/turf_decal/trimline/brown/filled/shrink_ccw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"dcS" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ddc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -8513,6 +8606,22 @@ /obj/item/wrench, /turf/open/floor/iron, /area/station/commons/storage/primary) +"ddR" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + name = "Bitrunning Den" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/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/dark/textured_half, +/area/station/cargo/bitrunning/den) "deb" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/smart/simple/supply/hidden, @@ -8571,7 +8680,9 @@ "deU" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /obj/machinery/conveyor{ dir = 8; @@ -8627,15 +8738,6 @@ "dfC" = ( /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"dfK" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/cargo_technician, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dfO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8735,6 +8837,30 @@ }, /turf/open/space, /area/space/nearstation) +"dgy" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 4; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "dgz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -8773,6 +8899,7 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) "dhs" = ( @@ -8803,14 +8930,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"dhz" = ( -/obj/effect/turf_decal/bot_white/left, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "dhN" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -8877,18 +8996,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"dit" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "diC" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -8921,19 +9028,6 @@ /obj/structure/sign/warning/electric_shock/directional/south, /turf/open/space/basic, /area/space/nearstation) -"djn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "dkx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -8963,12 +9057,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"dkX" = ( -/obj/structure/cable, -/obj/machinery/light/cold/directional/north, -/obj/machinery/computer/security/telescreen/isolation/directional/north, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "dla" = ( /obj/structure/chair/stool/directional/west, /obj/effect/turf_decal/trimline/red/warning{ @@ -9011,19 +9099,6 @@ /obj/structure/closet/emcloset/anchored, /turf/open/floor/plating, /area/station/maintenance/port) -"dme" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/storage) "dmJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -9106,6 +9181,13 @@ /obj/item/storage/toolbox/electrical, /turf/open/floor/iron/white, /area/station/science/explab) +"doN" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dpg" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -9113,8 +9195,12 @@ id = "roboticsprivacy2"; name = "Robotics Shutters" }, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/structure/disposalpipe/segment, /obj/machinery/door/window/left/directional/north{ name = "Robotics Desk"; @@ -9127,10 +9213,10 @@ /obj/structure/table, /obj/machinery/reagentgrinder{ pixel_x = 2; - pixel_y = 9 + pixel_y = 17 }, /obj/item/stack/sheet/mineral/plasma{ - pixel_y = 3 + pixel_y = 11 }, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white, @@ -9212,13 +9298,18 @@ "dqu" = ( /obj/item/book/manual/wiki/security_space_law{ name = "space law"; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/toy/gun{ + pixel_y = 8 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 8 }, -/obj/item/toy/gun, -/obj/item/restraints/handcuffs, /obj/structure/table/wood, /obj/item/clothing/head/collectable/hos{ - name = "novelty HoS hat" + name = "novelty HoS hat"; + pixel_y = 8 }, /obj/machinery/firealarm/directional/east, /obj/structure/cable, @@ -9228,27 +9319,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dqy" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen/minisat/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) -"dqE" = ( -/obj/structure/closet/toolcloset, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/item/lightreplacer{ - pixel_y = 7 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/storage_shared) "dqI" = ( /obj/effect/turf_decal/bot, /obj/machinery/vending/cigarette, @@ -9263,14 +9333,32 @@ "dqN" = ( /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dqR" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "dqX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/wood, /area/station/service/theater) "drm" = ( /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"dro" = ( +/obj/structure/filingcabinet, +/obj/item/folder/documents, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/poster/traitor, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "drq" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -9302,6 +9390,15 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dsa" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "dsb" = ( /obj/effect/turf_decal/plaque{ icon_state = "L13" @@ -9386,35 +9483,19 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"dtt" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dtB" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 }, /turf/open/floor/iron, /area/station/engineering/atmos) -"dtE" = ( -/obj/structure/table/reinforced, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/pen/red{ - pixel_y = 10 - }, -/obj/item/dest_tagger{ - pixel_x = 9; - pixel_y = 10 - }, -/obj/item/pen/screwdriver{ - pixel_x = -7; - pixel_y = 7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dtY" = ( /obj/machinery/meter/monitored/waste_loop, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ @@ -9429,27 +9510,17 @@ dir = 1 }, /area/station/engineering/atmos/pumproom) -"duc" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/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/dark/textured_half, -/area/station/cargo/bitrunning/den) "duk" = ( /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"duo" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "duu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -9468,35 +9539,9 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/brig) -"duG" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "duI" = ( /turf/closed/wall, /area/station/command/bridge) -"duW" = ( -/obj/machinery/computer/security, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - department = "Quartermaster's Desk"; - name = "Security Requests Console" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/customs) -"dve" = ( -/obj/structure/cable, -/obj/effect/spawner/random/maintenance, -/obj/machinery/recharge_station, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "dvn" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -9578,28 +9623,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) -"dwH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"dwI" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/delivery_chute{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/west, -/obj/machinery/door/window/right/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "dwJ" = ( /obj/structure/lattice, /obj/effect/spawner/random/structure/grille, @@ -9634,16 +9657,6 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/structure/table, -/obj/item/storage/box/bandages{ - pixel_y = 6; - pixel_x = 4 - }, -/obj/effect/spawner/random/entertainment/deck, -/obj/effect/spawner/random/entertainment/cigarette_pack{ - pixel_x = -6; - pixel_y = 8 - }, /turf/open/floor/iron, /area/station/cargo/miningoffice) "dxq" = ( @@ -9710,14 +9723,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"dzX" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/light_switch/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "dzY" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/n2o, @@ -9749,13 +9754,18 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/research) -"dBE" = ( +"dBS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance{ - name = "Cargo Bay Maintenance" + name = "Storage Room" }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/plating, -/area/station/cargo/storage) +/area/station/maintenance/port/fore) "dBV" = ( /obj/docking_port/stationary/escape_pod{ dir = 4 @@ -9897,14 +9907,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"dEF" = ( -/obj/machinery/atmospherics/components/binary/pump/on, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "dEH" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -9929,10 +9931,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) -"dFg" = ( -/obj/structure/cable, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/qm) "dFi" = ( /obj/structure/closet/l3closet/virology, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -10008,14 +10006,21 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"dGC" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/trimline/brown/filled/end{ +"dGx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/cargo/sorting) +"dGC" = ( +/obj/structure/cable, +/obj/structure/railing/corner/end, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "dGD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10032,6 +10037,16 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron, /area/station/security/brig) +"dHa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/caution{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dHc" = ( /turf/closed/wall, /area/station/hallway/primary/port) @@ -10040,28 +10055,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/main) -"dHi" = ( -/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{ - name = "Cargo Bay" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/effect/landmark/navigate_destination, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/lobby) -"dHz" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "dHG" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 @@ -10103,6 +10096,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"dIr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = -4; + pixel_y = 12 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = 5; + pixel_y = 15 + }, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dIy" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -10201,14 +10208,19 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/command/bridge) -"dKl" = ( -/obj/structure/sign/warning/pods, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/engine) "dKm" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/storage) +"dKt" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "dKC" = ( /turf/closed/wall, /area/station/maintenance/aft/lesser) @@ -10250,16 +10262,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"dLh" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/dresser, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "dLl" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10270,12 +10272,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"dLm" = ( -/obj/machinery/sparker/directional/north{ - id = "Xenobio" - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "dLn" = ( /obj/structure/rack, /obj/item/wrench/medical, @@ -10316,6 +10312,11 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"dLM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dLN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10404,6 +10405,15 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/command/bridge) +"dNl" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/turf/open/floor/iron, +/area/station/cargo/sorting) "dNw" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -10556,7 +10566,6 @@ /area/station/maintenance/department/science/central) "dQy" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/random/directional/east, /obj/machinery/light/cold/directional/east, /obj/machinery/modular_computer/preset/cargochat/service{ dir = 8 @@ -10598,20 +10607,6 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) -"dQL" = ( -/obj/machinery/light_switch/directional/west{ - pixel_x = -20 - }, -/obj/machinery/computer/records/medical{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/small/directional/west, -/obj/machinery/computer/security/telescreen/cmo/directional/west{ - name = "Medbay Monitor" - }, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "dQO" = ( /obj/effect/landmark/start/atmospheric_technician, /obj/effect/decal/cleanable/dirt, @@ -10700,6 +10695,11 @@ /obj/structure/rack, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /obj/effect/spawner/random/armory/riot_shield, +/obj/machinery/button/door/directional/north{ + id = "armory"; + name = "Armory Shutters"; + req_access = list("armory") + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "dRY" = ( @@ -10738,32 +10738,6 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"dSH" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/shipping{ - pixel_x = -6; - pixel_y = 15 - }, -/obj/item/multitool{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/flashlight/lamp{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/storage/box/shipping{ - pixel_x = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dSJ" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/sign/poster/random/directional/north, @@ -10820,10 +10794,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) -"dTN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "dTQ" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 @@ -10840,11 +10810,11 @@ /area/station/security/checkpoint/science) "dTV" = ( /obj/item/folder/red{ - pixel_y = 3 + pixel_y = 11 }, /obj/structure/table/glass, /obj/item/folder/red{ - pixel_y = 3 + pixel_y = 6 }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -10855,11 +10825,6 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"dUd" = ( -/obj/structure/noticeboard/qm, -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "dUj" = ( /obj/structure/chair/office{ dir = 1 @@ -10921,6 +10886,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"dVQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "dVT" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -10964,13 +10936,17 @@ network = list("aiupload") }, /obj/structure/table/wood/fancy/green, -/obj/effect/spawner/random/aimodule/harmless, +/obj/effect/spawner/random/aimodule/harmless{ + pixel_y = 8 + }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) "dWg" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, -/obj/item/food/pie/cream, +/obj/item/food/pie/cream{ + pixel_y = 8 + }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; id = "kitchen_counter"; @@ -11083,9 +11059,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"dXU" = ( -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "dYa" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, @@ -11136,11 +11109,11 @@ /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) "dYG" = ( -/obj/structure/sign/poster/official/anniversary_vintage_reprint/directional/north, /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/periodic_table, /turf/open/floor/iron/white, /area/station/medical/chemistry) "dYK" = ( @@ -11199,7 +11172,9 @@ "dZB" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /obj/machinery/conveyor{ dir = 8; @@ -11225,16 +11200,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"eaA" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "eaF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11246,6 +11211,20 @@ /obj/effect/turf_decal/tile/bar, /turf/open/floor/iron, /area/station/hallway/primary/central) +"eaK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "eaN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11265,24 +11244,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"eaQ" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) -"ebd" = ( -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"ebg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "ebr" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=0-SecurityDesk"; @@ -11356,24 +11317,6 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"ecm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "Disposals" - }, -/obj/structure/plasticflaps, -/obj/machinery/door/window/right/directional/south{ - name = "Delivery Door"; - req_access = list("cargo") - }, -/obj/machinery/conveyor{ - dir = 1; - id = "garbage" - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "ecp" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -11575,6 +11518,14 @@ /obj/machinery/light/no_nightlight/directional/east, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) +"efX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "efY" = ( /obj/structure/chair/office{ dir = 1 @@ -11640,8 +11591,12 @@ /obj/item/storage/briefcase/secure, /obj/structure/table/wood, /obj/item/folder/blue, -/obj/item/storage/briefcase/secure, -/obj/item/assembly/flash/handheld, +/obj/item/storage/briefcase/secure{ + pixel_y = 8 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 8 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "egs" = ( @@ -11699,6 +11654,14 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"ehy" = ( +/obj/structure/window/spawner/directional/south, +/mob/living/basic/cow{ + name = "Betsy"; + real_name = "Betsy" + }, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "ehB" = ( /obj/machinery/door/poddoor{ id = "SecJusticeChamber"; @@ -11795,6 +11758,12 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"ejz" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ejF" = ( /obj/effect/turf_decal/trimline/brown/warning{ dir = 5 @@ -11865,13 +11834,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"ekb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ekh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -11946,6 +11908,19 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron, /area/station/commons/lounge) +"ekU" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/blood/gibs/down, +/mob/living/simple_animal/bot/mulebot{ + name = "Leaping Rabbit" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ekV" = ( /obj/machinery/mass_driver/ordnance, /turf/open/floor/plating, @@ -11961,6 +11936,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"elg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/shutters{ + name = "Warehouse Shutters"; + id = "warehouse" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/warehouse) "eli" = ( /obj/item/radio/intercom/directional/south, /obj/structure/disposaloutlet{ @@ -12016,19 +12001,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"elz" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = 3 - }, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = -3 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "elJ" = ( /turf/closed/wall/r_wall, /area/station/science/server) @@ -12067,15 +12039,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"eml" = ( -/obj/machinery/light/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/cargo/lobby) "emN" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -12085,11 +12048,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port) -"emU" = ( -/obj/structure/cable, -/obj/machinery/netpod, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "emY" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -12107,9 +12065,25 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"enm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/reagent_dispensers/beerkeg, +/obj/item/toy/figure/qm{ + pixel_x = 3; + pixel_y = 12 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "enF" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/structure/cable, /obj/machinery/camera/directional/east{ c_tag = "Security Post - Research Division"; @@ -12118,12 +12092,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"enG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/science/cytology) +"enJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "enK" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -12142,9 +12117,15 @@ "enS" = ( /obj/structure/table, /obj/structure/cable, -/obj/item/controller, -/obj/item/compact_remote, -/obj/item/compact_remote, +/obj/item/controller{ + pixel_y = 8 + }, +/obj/item/compact_remote{ + pixel_y = 8 + }, +/obj/item/compact_remote{ + pixel_y = 8 + }, /turf/open/floor/iron/white, /area/station/science/explab) "eoj" = ( @@ -12254,18 +12235,34 @@ /obj/structure/cable, /turf/open/space/basic, /area/station/solars/port/fore) +"eqi" = ( +/obj/structure/cable, +/obj/machinery/mineral/stacking_unit_console{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "eqn" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"eqt" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"eqo" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio3"; + name = "Xenobio Pen 3 Blast Doors"; + pixel_y = 4; + req_access = list("xenobiology") + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron, +/area/station/science/xenobiology) "eqS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12459,6 +12456,18 @@ /obj/structure/light_construct/small/directional/east, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"etx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "etA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -12524,25 +12533,6 @@ "eut" = ( /turf/closed/wall, /area/station/science/robotics/lab) -"euw" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/directional/north{ - c_tag = "Science Mechbay"; - network = list("ss13","rd") - }, -/obj/machinery/button/door/directional/north{ - id = "mechbay"; - name = "Mech Bay Shutters Control"; - req_access = list("robotics") - }, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "euQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12593,6 +12583,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"evV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_y = 56; + pixel_x = 9 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "evY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -12603,30 +12607,18 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) -"ewc" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin{ - name = "Jim Norton's Quebecois Coffee disposal unit" - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "ewf" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "ewh" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/wrench, +/obj/item/clipboard{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, /obj/machinery/light_switch/directional/south, /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -12659,36 +12651,32 @@ dir = 10 }, /obj/structure/table, -/obj/machinery/button/door{ - desc = "Controls the shutters over the cell windows."; +/obj/item/key/security, +/obj/effect/turf_decal/trimline/dark_red/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/button/door/table{ + pixel_x = -6; + pixel_y = 12; id = "Secure Gate"; name = "Cell Window Control"; - pixel_x = -6; - pixel_y = 7; - req_access = list("security"); - specialfunctions = 4 - }, -/obj/machinery/button/door{ - desc = "Controls the shutters over the brig windows."; - id = "briglockdown"; - name = "Brig Lockdown Control"; - pixel_x = 6; - pixel_y = 7; req_access = list("security") }, -/obj/machinery/button/door{ - desc = "Controls the blast doors in front of the prison wing."; +/obj/machinery/button/door/table{ + pixel_y = 3; id = "Prison Gate"; name = "Prison Wing Lockdown"; - pixel_y = -3; req_access = list("brig") }, -/obj/item/key/security, -/obj/effect/turf_decal/trimline/dark_red/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 12; + id = "briglockdown"; + name = "Brig Lockdown Control"; + req_access = list("security") }, /turf/open/floor/iron, /area/station/security/warden) @@ -12729,16 +12717,6 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) -"exQ" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "eyd" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -12775,23 +12753,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"ezw" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/kirbyplants/random{ - pixel_x = -7 - }, -/obj/machinery/camera/directional/north, -/obj/machinery/digital_clock/directional/east, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/item/poster/traitor, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "ezT" = ( /obj/machinery/door/airlock/research{ name = "Research Division Access" @@ -12938,13 +12899,6 @@ /obj/effect/spawner/random/entertainment/deck, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"eDL" = ( -/obj/structure/sign/directions/command{ - dir = 1; - pixel_y = -8 - }, -/turf/closed/wall/r_wall, -/area/station/command/heads_quarters/captain/private) "eDX" = ( /obj/structure/sign/departments/science/directional/east, /obj/effect/turf_decal/tile/purple{ @@ -12957,11 +12911,14 @@ c_tag = "Bar - Backroom" }, /obj/effect/decal/cleanable/dirt, -/obj/structure/mirror/directional/north, /obj/structure/sink/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/mirror/directional/west{ + pixel_x = 0; + pixel_y = 8 + }, /turf/open/floor/wood, /area/station/service/bar/backroom) "eEn" = ( @@ -12975,12 +12932,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"eED" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "eEG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13112,6 +13063,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"eGO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "eGV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -13140,14 +13100,10 @@ }, /turf/open/floor/iron, /area/station/commons/lounge) -"eIc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/directional/south, -/obj/machinery/computer/mech_bay_power_console{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +"eIv" = ( +/obj/machinery/air_sensor/ordnance_burn_chamber, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "eIy" = ( /obj/structure/cable, /obj/machinery/photocopier, @@ -13156,6 +13112,13 @@ "eIO" = ( /turf/closed/wall, /area/station/maintenance/department/medical/central) +"eIT" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "eIV" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 4 @@ -13167,16 +13130,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"eJd" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/wood, -/area/station/service/lawoffice) "eJh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13237,6 +13190,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"eKl" = ( +/obj/machinery/computer/upload/ai, +/obj/machinery/door/window/right/directional/south{ + name = "Upload Console Window"; + req_access = list("ai_upload") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "eKv" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/cable, @@ -13247,7 +13211,6 @@ /obj/machinery/modular_computer/preset/civilian{ dir = 8 }, -/obj/structure/sign/poster/official/random/directional/east, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, @@ -13268,16 +13231,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) -"eKG" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "eKP" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) @@ -13286,7 +13239,7 @@ /obj/item/storage/briefcase/secure{ desc = "A large briefcase with a digital locking system, and the Nanotrasen logo emblazoned on the sides."; name = "\improper Nanotrasen-brand secure briefcase exhibit"; - pixel_y = 2 + pixel_y = 10 }, /turf/open/floor/carpet, /area/station/command/corporate_showroom) @@ -13342,6 +13295,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"eLU" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "eLX" = ( /obj/structure/chair, /obj/structure/sign/warning/vacuum/external/directional/north, @@ -13379,24 +13339,10 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"eMb" = ( -/obj/structure/sign/directions/command{ - dir = 1; - pixel_y = -8 - }, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/command) -"eMf" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/west, -/obj/machinery/light/small/directional/south, -/obj/structure/window/spawner/directional/east, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/sorting) +"eMC" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "eMG" = ( /obj/structure/closet/lasertag/blue, /obj/effect/landmark/start/hangover/closet, @@ -13419,13 +13365,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"eMK" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "eMW" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -13435,11 +13374,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/grass, /area/station/science/research) -"eMY" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "eNb" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -13474,24 +13408,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"eOb" = ( -/obj/machinery/vending/wardrobe/cargo_wardrobe, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) -"eOl" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/airlock/maintenance{ - name = "Quartermaster Maintenance" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "eOm" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -13532,6 +13448,17 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron, /area/station/security/brig) +"eOu" = ( +/obj/machinery/computer/upload/borg, +/obj/machinery/door/window/left/directional/south{ + name = "Cyborg Upload Console Window"; + req_access = list("ai_upload") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "eOJ" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -13550,6 +13477,16 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"ePd" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "ePg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13557,11 +13494,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"ePj" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/suit_storage_unit/industrial/loader, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "ePu" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -13578,6 +13510,27 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/fitness/recreation) +"ePE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) +"ePK" = ( +/obj/machinery/turretid/directional/south{ + icon_state = "control_stun"; + name = "AI Chamber turret control" + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/window/brigdoor/left/directional/west{ + name = "Primary AI Core Access"; + req_access = list("ai_upload") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "ePN" = ( /obj/structure/chair{ dir = 8 @@ -13588,16 +13541,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"ePT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/window/left/directional/south{ - name = "Cytology Pen"; - req_access = list("research") - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/science/cytology) "ePX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass{ @@ -13689,24 +13632,10 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/cryo) -"eRd" = ( -/obj/machinery/light/directional/north, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/delivery_chute{ - dir = 4; - name = "Crate Returns" - }, -/obj/effect/turf_decal/delivery, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) -"eRn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) +"eRC" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/hop) "eRR" = ( /obj/structure/table, /obj/item/screwdriver{ @@ -13760,7 +13689,9 @@ }, /obj/machinery/computer/security/telescreen/entertainment/directional/south, /obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/musical_instrument, +/obj/effect/spawner/random/entertainment/musical_instrument{ + pixel_y = 8 + }, /obj/item/clothing/glasses/regular/hipster{ name = "Hipster Glasses" }, @@ -13784,32 +13715,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"eTt" = ( -/obj/structure/cable, -/obj/structure/table/wood/fancy/black, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_x = 3; - pixel_y = 14 - }, -/obj/item/reagent_containers/cup/glass/bottle/champagne{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/cigarette/cigar{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/cigarette/cigar{ - pixel_x = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/keycard_auth/directional/north{ - pixel_x = -5 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "eTI" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -13835,6 +13740,20 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) +"eUz" = ( +/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/locked, +/obj/machinery/door/airlock/vault{ + name = "Vault" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "eUA" = ( /obj/structure/table/glass, /obj/machinery/light/small/directional/north, @@ -13892,7 +13811,9 @@ /area/station/construction/mining/aux_base) "eVy" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/spawner/random/food_or_drink/cake_ingredients{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "eVz" = ( @@ -14077,6 +13998,20 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"eYC" = ( +/obj/structure/closet/crate, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "eYE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -14109,14 +14044,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/wood, /area/station/service/library) -"eZo" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "eZz" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14177,6 +14104,22 @@ dir = 1 }, /area/station/science/lobby) +"faA" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "faD" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -14238,16 +14181,18 @@ }, /obj/item/reagent_containers/cup/glass/coffee{ pixel_x = -3; - pixel_y = 9 + pixel_y = 17 }, /obj/item/reagent_containers/cup/glass/coffee{ pixel_x = 5; - pixel_y = 12 + pixel_y = 20 }, /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/item/modular_computer/laptop/preset/civilian, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 8 + }, /turf/open/floor/wood, /area/station/service/cafeteria) "fbI" = ( @@ -14289,9 +14234,6 @@ dir = 4 }, /obj/effect/turf_decal/bot, -/obj/structure/sign/warning/secure_area/directional/west{ - pixel_y = -32 - }, /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 }, @@ -14309,6 +14251,10 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"fcS" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/port/fore) "fdl" = ( /obj/effect/decal/cleanable/food/flour, /obj/effect/turf_decal/tile/red/opposingcorners, @@ -14349,13 +14295,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"fea" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "fec" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/closed/wall/r_wall, @@ -14411,18 +14350,29 @@ "ffH" = ( /turf/closed/wall, /area/station/hallway/primary/fore) +"ffJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "ffL" = ( /obj/structure/table, -/obj/item/kitchen/rollingpin, +/obj/item/kitchen/rollingpin{ + pixel_y = 5 + }, /obj/effect/turf_decal/trimline/brown/warning, -/obj/item/reagent_containers/cup/rag, +/obj/item/reagent_containers/cup/rag{ + pixel_y = 5 + }, /obj/effect/turf_decal/tile/bar{ dir = 1 }, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/item/aquarium_kit, +/obj/item/aquarium_kit{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/hallway/secondary/service) "ffP" = ( @@ -14525,17 +14475,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"fhn" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/slippery, -/obj/effect/decal/cleanable/blood/gibs/down, -/mob/living/simple_animal/bot/mulebot{ - name = "Leaping Rabbit" - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fhp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -14598,15 +14537,6 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) -"fhU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/ordnance/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "fia" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -14628,6 +14558,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/office) +"fik" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/west, +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "fip" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -14638,6 +14574,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"fiq" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fix" = ( /obj/structure/chair{ dir = 1 @@ -14674,14 +14618,6 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"fiX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fjb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14720,22 +14656,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"fjw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/poster/official/random/directional/west, -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/machinery/door/window/left/directional/north{ - req_access = list("shipping") - }, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/plating, -/area/station/cargo/sorting) "fjD" = ( /turf/closed/wall, /area/station/commons/toilet/auxiliary) @@ -14799,6 +14719,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"fkM" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "fkP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/airalarm/directional/west, @@ -14886,18 +14818,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"flG" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/east, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/sorting) "flN" = ( /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, @@ -14930,6 +14850,11 @@ dir = 4 }, /area/station/medical/morgue) +"flY" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "fma" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/lab) @@ -14973,17 +14898,6 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/service/chapel/funeral) -"fmG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Dock Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fmJ" = ( /obj/structure/rack, /obj/item/circuitboard/machine/telecomms/bus, @@ -15000,20 +14914,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"fmS" = ( -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/engineering{ - dir = 4 - }, -/obj/structure/sign/directions/command{ - dir = 1; - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/medical/medbay/lobby) "fmX" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -15134,14 +15034,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"fpn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fpy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -15157,10 +15049,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"fpD" = ( -/obj/machinery/vatgrower, -/turf/open/floor/iron/dark/textured_large, -/area/station/science/cytology) "fpE" = ( /obj/structure/rack, /obj/item/tank/internals/emergency_oxygen, @@ -15169,25 +15057,20 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) -"fpV" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"fpG" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 }, -/obj/effect/turf_decal/siding/wood{ +/obj/structure/railing{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) -"fqe" = ( -/obj/machinery/door/poddoor/shutters{ - name = "Warehouse Shutters"; - id = "warehouse" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/warehouse) +/obj/structure/sign/clock/directional/south, +/turf/open/water, +/area/station/service/hydroponics/garden) +"fpR" = ( +/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "fqB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, @@ -15199,6 +15082,13 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/wood, /area/station/commons/lounge) +"fqF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "fqR" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -15262,25 +15152,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"frH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/flasher/directional/east{ - id = "secentranceflasher" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-entrance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) "frZ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/binary/pump{ @@ -15317,6 +15188,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fsS" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/structure/crate_loot, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "ftb" = ( /obj/structure/lattice, /obj/structure/window/reinforced/spawner/directional/west, @@ -15348,15 +15224,6 @@ /obj/structure/sign/warning/pods, /turf/closed/wall, /area/station/commons/locker) -"ftQ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "fuc" = ( /obj/structure/frame/machine{ anchored = 1 @@ -15364,9 +15231,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/circuit/green/off, /area/station/science/research) -"fur" = ( -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "fuu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -15386,32 +15250,27 @@ "fvK" = ( /obj/structure/table, /obj/item/transfer_valve{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 8 }, -/obj/item/transfer_valve, /obj/item/transfer_valve{ - pixel_x = -5 + pixel_y = 8 }, /obj/item/transfer_valve{ - pixel_x = 5 + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/transfer_valve{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/transfer_valve{ + pixel_y = 8 }, -/obj/item/transfer_valve, /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"fwb" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) -"fwd" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fwz" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/iron/dark, @@ -15487,6 +15346,23 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"fyi" = ( +/obj/structure/closet/crate, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/light_switch/directional/north, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "fym" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -15497,7 +15373,10 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "fyz" = ( -/obj/structure/plasticflaps, +/obj/structure/plasticflaps{ + dir = 4; + manual_align = 1 + }, /obj/machinery/conveyor{ dir = 8; id = "QMLoad" @@ -15552,15 +15431,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, /area/station/solars/port/fore) -"fzr" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line, -/obj/effect/spawner/random/food_or_drink/seed{ - spawn_all_loot = 1; - spawn_random_offset = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "fzE" = ( /obj/structure/sign/warning/vacuum/external/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -15595,13 +15465,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"fAA" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/airalarm/directional/east, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "fAE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15684,6 +15547,10 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central) +"fCw" = ( +/obj/structure/sign/chalkboard_menu, +/turf/closed/wall, +/area/station/commons/storage/primary) "fDc" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -15737,12 +15604,12 @@ /obj/structure/table/wood, /obj/item/cigbutt/cigarbutt{ pixel_x = 5; - pixel_y = -1 + pixel_y = 7 }, /obj/item/radio/intercom/directional/north, /obj/item/reagent_containers/cup/glass/mug{ pixel_x = -4; - pixel_y = 4 + pixel_y = 12 }, /obj/machinery/light/small/directional/north, /turf/open/floor/wood, @@ -15762,6 +15629,10 @@ /obj/structure/cable, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"fET" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fEW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15870,7 +15741,6 @@ /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "fGv" = ( @@ -15888,6 +15758,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"fGB" = ( +/obj/machinery/camera/directional/west{ + active_power_usage = 0; + c_tag = "Turbine Vent"; + network = list("turbine"); + use_power = 0 + }, +/turf/open/space/basic, +/area/space/nearstation) "fGC" = ( /obj/machinery/door/airlock/maintenance{ name = "Detective Maintenance" @@ -15995,6 +15874,15 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"fIe" = ( +/obj/machinery/holopad, +/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, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "fIo" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -16004,10 +15892,6 @@ /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"fIR" = ( -/obj/structure/sign/warning/secure_area/directional/north, -/turf/open/space/basic, -/area/space/nearstation) "fIS" = ( /obj/machinery/airalarm/directional/south, /obj/structure/disposalpipe/segment{ @@ -16044,6 +15928,11 @@ "fJy" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine) +"fJA" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/storage) "fJC" = ( /obj/machinery/door/airlock/engineering/glass/critical{ heat_proof = 1; @@ -16175,20 +16064,13 @@ /obj/machinery/power/tracker, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) -"fLS" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-entrance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) +"fMa" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "fMf" = ( /obj/structure/chair/office{ dir = 1 @@ -16225,6 +16107,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"fMA" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "fMN" = ( /obj/machinery/firealarm/directional/west, /obj/structure/disposalpipe/segment{ @@ -16262,20 +16154,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"fNz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/obj/item/reagent_containers/cup/soda_cans/pwr_game, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"fNI" = ( -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/wood, -/area/station/maintenance/port/aft) "fNR" = ( /obj/structure/chair, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -16291,6 +16169,24 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"fOc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Port Primary Hallway" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "fOf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -16319,21 +16215,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/range) -"fOB" = ( -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Brig Maintenance" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fOS" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/flowers_yw/style_random, @@ -16401,6 +16282,15 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"fRd" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/cargo/request{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/cargo/sorting) "fRe" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, @@ -16470,6 +16360,15 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron, /area/station/service/hydroponics) +"fSM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "fSY" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -16634,14 +16533,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"fWn" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/closet/crate, -/turf/open/floor/iron, -/area/station/cargo/sorting) "fWw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16718,12 +16609,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/security/prison) -"fXZ" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/trimline/brown/filled/arrow_cw, -/turf/open/floor/iron, -/area/station/cargo/storage) "fYb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -16805,13 +16690,21 @@ /area/station/service/library) "fZw" = ( /obj/structure/table, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/surgical, +/obj/item/clothing/gloves/latex{ + pixel_y = 8 + }, +/obj/item/clothing/gloves/latex{ + pixel_y = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 8 + }, /obj/item/reagent_containers/spray/cleaner{ pixel_x = -10; - pixel_y = -1 + pixel_y = 7 }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -16881,16 +16774,6 @@ /obj/effect/mapping_helpers/ianbirthday, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"gaV" = ( -/obj/structure/sign/directions/evac, -/obj/structure/sign/directions/medical{ - pixel_y = 8 - }, -/obj/structure/sign/directions/science{ - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/security/courtroom) "gbf" = ( /obj/machinery/duct, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -16898,25 +16781,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"gbn" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = 6 - }, -/obj/machinery/button/door/directional/south{ - id = "cmoprivacy"; - name = "CMO Privacy Shutters"; - pixel_x = -8; - req_access = list("cmo") - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/cmo/directional/west, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) "gbG" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/storage/box/lights/mixed, @@ -16986,12 +16850,6 @@ }, /turf/open/floor/grass, /area/station/science/research) -"gda" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, -/turf/open/space/basic, -/area/space/nearstation) "gdb" = ( /turf/closed/wall/r_wall, /area/station/security/range) @@ -17067,22 +16925,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/grass, /area/station/medical/virology) -"geR" = ( -/obj/structure/table, -/obj/item/papercutter{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stamp/granted{ - pixel_x = -7 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "geV" = ( /obj/structure/sink/directional/east, /obj/machinery/light_switch/directional/west, @@ -17091,15 +16933,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"gfa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "gfe" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/table, @@ -17183,13 +17016,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ggZ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "ghc" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -17228,18 +17054,20 @@ "ghL" = ( /turf/closed/wall/r_wall, /area/space/nearstation) -"gil" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/obj/machinery/airlock_sensor/incinerator_ordmix{ - pixel_x = -24 +"ghS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) +"gif" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ +/obj/structure/railing{ dir = 4 }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) +/turf/open/water, +/area/station/service/hydroponics/garden) "giA" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/computer) @@ -17312,24 +17140,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/hydroponics) -"gkC" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio7"; - name = "Xenobio Pen 7 Blast Doors"; - pixel_y = 4; - req_access = list("xenobiology") - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/science/xenobiology) "gkD" = ( /obj/machinery/recharger{ - pixel_y = 3 + pixel_y = 11 }, /obj/item/restraints/handcuffs{ - pixel_y = 3 + pixel_y = 8 }, /obj/structure/table/glass, /obj/effect/turf_decal/tile/red{ @@ -17381,12 +17197,23 @@ /area/station/engineering/break_room) "glP" = ( /obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/wood, /area/station/service/theater) +"glW" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio2"; + name = "Xenobio Pen 2 Blast Doors"; + pixel_y = 1; + req_access = list("xenobiology") + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "gma" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -17423,10 +17250,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"gmH" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/command/bridge) "gmI" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -17501,6 +17324,19 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"gnJ" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/crowbar, +/obj/item/reagent_containers/cup/watering_can, +/obj/item/cultivator, +/obj/item/hatchet, +/obj/item/plant_analyzer, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "gnL" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -17562,19 +17398,20 @@ /obj/structure/chair/wood/wings, /turf/open/floor/carpet, /area/station/service/theater) -"gpk" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ +"gpq" = ( +/obj/machinery/light/directional/north, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/delivery_chute{ + dir = 4; + name = "Crate Returns" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/window/spawner/directional/south, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 }, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/crowbar, -/obj/item/reagent_containers/cup/watering_can, -/obj/item/cultivator, -/obj/item/hatchet, -/obj/item/plant_analyzer, /turf/open/floor/iron, -/area/station/service/hydroponics/garden) +/area/station/cargo/lobby) "gpv" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -17732,6 +17569,21 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"gsl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "gsn" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17872,9 +17724,11 @@ /obj/machinery/light_switch/directional/west, /obj/item/storage/briefcase/secure{ pixel_x = -2; - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/storage/lockbox/medal{ + pixel_y = 10 }, -/obj/item/storage/lockbox/medal, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) @@ -17938,18 +17792,22 @@ /obj/machinery/status_display/evac/directional/north, /obj/structure/bed/dogbed/ian, /mob/living/basic/pet/dog/corgi/ian, +/obj/machinery/light/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "gvm" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/commons/lounge) -"gvA" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 +"gvy" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Conveyor Access" }, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "gvC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18005,6 +17863,14 @@ "gwf" = ( /turf/open/floor/glass/reinforced, /area/station/science/research) +"gwA" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/delivery, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ordnance/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "gwK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18030,23 +17896,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) -"gxu" = ( -/obj/machinery/button/door/directional/south{ - id = "warehouse"; - name = "Warehouse Shutters Control" - }, -/obj/effect/turf_decal/trimline/red/filled/warning/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Aft"; - pixel_x = 14 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"gxk" = ( +/obj/machinery/vending/cigarette, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/hallway/primary/port) "gxx" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Atmospherics Monitoring" @@ -18059,32 +17912,14 @@ }, /turf/open/floor/iron/checker, /area/station/engineering/atmos/storage/gas) -"gxM" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = 1; - pixel_y = 6 - }, -/obj/item/stack/package_wrap{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/dest_tagger{ - pixel_x = -9; - pixel_y = 12 - }, -/obj/item/hand_labeler_refill{ - pixel_x = -11; - pixel_y = -3 +"gxU" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/item/stack/wrapping_paper, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gya" = ( /obj/structure/table, /obj/item/storage/box/hug{ @@ -18144,10 +17979,6 @@ /obj/machinery/light/no_nightlight/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"gyK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "gyO" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -18175,12 +18006,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gzO" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet/restrooms) "gzW" = ( /obj/structure/chair/office{ dir = 8 @@ -18213,7 +18038,7 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ pixel_x = -12; - pixel_y = 5 + pixel_y = 13 }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) @@ -18236,6 +18061,7 @@ "gAx" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/turf_decal/stripes/line, +/obj/structure/sign/poster/official/cleanliness/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics) "gAB" = ( @@ -18417,11 +18243,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) -"gEx" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "gEF" = ( /obj/structure/rack, /obj/item/clothing/gloves/color/fyellow, @@ -18471,6 +18292,17 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/service/chapel/funeral) +"gEZ" = ( +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "gFd" = ( /obj/machinery/power/terminal, /obj/machinery/light/small/directional/east, @@ -18526,7 +18358,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "gGf" = ( -/obj/structure/sign/poster/official/random/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) @@ -18554,6 +18385,12 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"gHa" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "gHo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -18624,6 +18461,12 @@ dir = 8 }, /area/station/science/lab) +"gIj" = ( +/obj/structure/cable, +/obj/machinery/light/cold/directional/north, +/obj/machinery/computer/security/telescreen/isolation/directional/north, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "gIm" = ( /obj/structure/table, /obj/structure/extinguisher_cabinet/directional/east, @@ -18675,6 +18518,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"gJb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "gJi" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; @@ -18726,11 +18578,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"gJM" = ( -/obj/structure/cable, -/obj/machinery/power/smes, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "gJV" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/tile/purple, @@ -18752,6 +18599,17 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/fore) +"gKi" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin{ + name = "Jim Norton's Quebecois Coffee disposal unit" + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "gKw" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18864,23 +18722,29 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"gLU" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding{ - dir = 9 +"gLN" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, -/obj/item/stock_parts/matter_bin{ - pixel_x = 3; - pixel_y = 3 +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 8 }, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/micro_laser, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/directional/north{ + c_tag = "Science Mechbay"; + network = list("ss13","rd") + }, +/obj/machinery/button/door/directional/north{ + id = "mechbay"; + name = "Mech Bay Shutters Control"; + req_access = list("robotics") }, -/obj/item/multitool, /turf/open/floor/iron, -/area/station/science/lab) +/area/station/science/robotics/mechbay) "gLY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -18954,6 +18818,31 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/storage) +"gNn" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Cargo Bay Bridge Access" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"gNv" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "gNy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -18998,11 +18887,12 @@ /area/station/maintenance/starboard/lesser) "gOa" = ( /obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people, +/obj/item/book/manual/hydroponics_pod_people{ + pixel_y = 8 + }, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/structure/sign/poster/random/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics) "gOp" = ( @@ -19038,6 +18928,17 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/engine, /area/station/science/xenobiology) +"gOC" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gOS" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -19065,7 +18966,9 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "gPh" = ( -/obj/item/clothing/head/fedora, +/obj/item/clothing/head/fedora{ + pixel_y = 13 + }, /obj/structure/table/wood, /turf/open/floor/wood, /area/station/commons/lounge) @@ -19086,18 +18989,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"gPN" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "gPY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19109,17 +19000,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gQa" = ( -/obj/effect/turf_decal/siding/thinplating_new/corner, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "gQf" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -19130,6 +19010,17 @@ /obj/effect/spawner/random/trash/janitor_supplies, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gQl" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/storage/toolbox/emergency, +/obj/effect/spawner/random/maintenance, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gQw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -19161,6 +19052,17 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"gRS" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 13 + }, +/obj/item/reagent_containers/condiment/flour{ + pixel_x = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "gSn" = ( /obj/item/wrench, /turf/open/floor/iron, @@ -19169,6 +19071,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"gSz" = ( +/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/trimline/red/filled/warning, +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gSH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/rnd/server/master, @@ -19272,16 +19185,22 @@ /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"gUH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 +"gUM" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig"; + id = "outerbrig" }, -/obj/structure/fake_stairs/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-entrance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/security/brig) "gUP" = ( /obj/structure/chair{ dir = 1 @@ -19331,19 +19250,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gVE" = ( -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/assembly/igniter, -/obj/item/stock_parts/power_store/cell, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/lobby) "gVO" = ( /obj/effect/turf_decal/trimline/purple/corner{ dir = 1 @@ -19385,15 +19291,6 @@ /obj/machinery/atmospherics/components/trinary/filter/flipped/critical, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"gWz" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/structure/cable, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "QM #2" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/storage) "gWH" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment, @@ -19528,6 +19425,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"gYG" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "gYO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19557,6 +19460,18 @@ /obj/effect/mapping_helpers/mail_sorting/service/kitchen, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"gYY" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gZu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19592,6 +19507,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/main) +"ham" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "hav" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -19614,6 +19544,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) +"haJ" = ( +/obj/effect/spawner/random/bureaucracy/birthday_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/stack/package_wrap, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/structure/table, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) +"haK" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants/random{ + pixel_x = -7 + }, +/obj/machinery/camera/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/item/poster/traitor, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "haP" = ( /obj/structure/chair{ dir = 1 @@ -19672,6 +19635,14 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"hbW" = ( +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/cargo/storage) "hcc" = ( /obj/structure/sign/warning/secure_area/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -19688,27 +19659,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"hcm" = ( -/obj/structure/plasticflaps/opaque{ - name = "Service Deliveries" - }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - location = "Service" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "hcv" = ( /obj/effect/landmark/observer_start, /obj/effect/turf_decal/plaque{ @@ -19767,6 +19717,11 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/closed/wall, /area/station/engineering/atmos/pumproom) +"hdx" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "hdy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -19834,10 +19789,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/break_room) -"heR" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "heS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mop_bucket/janitorialcart, @@ -19885,6 +19836,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"hfB" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hfH" = ( /obj/structure/table/reinforced, /obj/machinery/microwave/engineering/cell_included, @@ -19933,6 +19894,33 @@ dir = 8 }, /area/station/engineering/atmos) +"hhb" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/shipping{ + pixel_x = -6; + pixel_y = 23 + }, +/obj/item/multitool{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = 8; + pixel_y = 19 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 13 + }, +/obj/item/storage/box/shipping{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "hhl" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/table, @@ -19961,14 +19949,9 @@ "hhN" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/barsign/directional/north, /turf/open/floor/iron, /area/station/commons/lounge) -"hhR" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "hif" = ( /obj/structure/mannequin/skeleton, /obj/machinery/status_display/evac/directional/north, @@ -20020,10 +20003,12 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ pixel_x = 1; - pixel_y = 5 + pixel_y = 13 }, /obj/structure/disposalpipe/segment, -/obj/item/bikehorn/rubberducky, +/obj/item/bikehorn/rubberducky{ + pixel_y = 8 + }, /obj/machinery/light_switch/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20036,10 +20021,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"hjt" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "hjw" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/cytology{ @@ -20060,6 +20041,14 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"hjA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "hjG" = ( /obj/machinery/door/airlock/maintenance{ name = "Morgue Maintenance" @@ -20113,6 +20102,14 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"hkF" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "hkG" = ( /turf/open/floor/wood, /area/station/commons/lounge) @@ -20203,7 +20200,9 @@ /obj/machinery/flasher/directional/north{ id = "AI" }, -/obj/effect/spawner/random/aimodule/harmful, +/obj/effect/spawner/random/aimodule/harmful{ + pixel_y = 8 + }, /obj/structure/table/wood/fancy/red, /obj/machinery/door/window/brigdoor/left/directional/west{ name = "High-Risk Modules"; @@ -20240,6 +20239,23 @@ }, /turf/open/floor/engine/vacuum, /area/space/nearstation) +"hlW" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/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/dark/textured_half, +/area/station/cargo/bitrunning/den) "hmf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -20319,22 +20335,11 @@ }, /turf/open/floor/plating, /area/station/engineering/main) -"hnV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"hod" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, -/area/station/cargo/miningoffice) -"hor" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Warehouse Maintenance" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/cargo/warehouse) +/area/station/cargo/storage) "hoE" = ( /obj/structure/sign/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -20385,15 +20390,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hpj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/generic, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "hpv" = ( /obj/item/storage/bag/plants/portaseeder, /obj/item/plant_analyzer, @@ -20420,19 +20416,6 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos/pumproom) -"hqD" = ( -/obj/machinery/door/airlock/mining{ - name = "Quartermaster's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/diagonal, -/area/station/command/heads_quarters/qm) "hqE" = ( /obj/machinery/telecomms/bus/preset_four, /turf/open/floor/circuit/telecomms/mainframe, @@ -20470,11 +20453,27 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"hrC" = ( +"hrw" = ( +/obj/structure/table/glass, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, +/obj/item/assembly/igniter{ + pixel_y = 16 + }, +/obj/item/stock_parts/power_store/cell{ + pixel_y = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/security/checkpoint/supply) +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/lobby) "hrG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20483,9 +20482,6 @@ /area/station/service/chapel/office) "hrM" = ( /obj/machinery/vending/boozeomat, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_y = -28 - }, /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -20506,17 +20502,6 @@ dir = 8 }, /area/station/service/chapel/office) -"hsx" = ( -/obj/machinery/door/airlock/mining{ - name = "Drone Bay" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/effect/landmark/navigate_destination, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "hsF" = ( /obj/machinery/door/airlock{ id_tag = "AuxToilet3"; @@ -20524,6 +20509,17 @@ }, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) +"hsL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hsN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20583,6 +20579,22 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"hts" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron/checker, +/area/station/engineering/storage_shared) "htD" = ( /obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ dir = 1 @@ -20653,10 +20665,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"hux" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/command/teleporter) "huy" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -20681,6 +20689,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"hva" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "hve" = ( /obj/structure/cable, /obj/machinery/computer/shuttle/mining/common, @@ -20688,23 +20705,11 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating, /area/station/security/checkpoint/customs) -"hvk" = ( -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 5 - }, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/stack/package_wrap, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/structure/table, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) +"hvf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/ai_monitored/command/nuke_storage) "hvo" = ( /obj/structure/filingcabinet, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -20806,6 +20811,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"hwD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hwF" = ( /obj/item/radio/intercom/directional/west, /obj/structure/disposalpipe/segment, @@ -20821,18 +20835,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) -"hxd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/end{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "hxe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -20845,6 +20847,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"hxg" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/suit_storage_unit/industrial/loader, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "hxo" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -20890,18 +20897,22 @@ /area/station/service/hydroponics) "hxz" = ( /obj/item/reagent_containers/spray/plantbgone{ - pixel_y = 3 + pixel_y = 11 }, /obj/item/reagent_containers/spray/plantbgone{ pixel_x = 8; - pixel_y = 8 + pixel_y = 16 }, /obj/item/reagent_containers/spray/plantbgone{ pixel_x = 13; - pixel_y = 5 + pixel_y = 13 + }, +/obj/item/watertank{ + pixel_y = 8 + }, +/obj/item/grenade/chem_grenade/antiweed{ + pixel_y = 8 }, -/obj/item/watertank, -/obj/item/grenade/chem_grenade/antiweed, /obj/structure/table/glass, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -20909,7 +20920,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/service/hydroponics) "hxB" = ( @@ -21028,6 +21038,21 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"hzn" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageSort2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/door/window/right/directional/east{ + name = "Crate Security Door"; + req_access = list("shipping") + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "hzt" = ( /obj/structure/transit_tube/curved/flipped, /obj/effect/turf_decal/tile/blue{ @@ -21071,6 +21096,18 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) +"hAv" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 + }, +/obj/machinery/airlock_sensor/incinerator_ordmix{ + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "hAF" = ( /obj/machinery/camera/directional/south{ c_tag = "MiniSat Exterior Access"; @@ -21107,20 +21144,16 @@ }, /turf/open/floor/engine, /area/station/command/heads_quarters/rd) +"hBb" = ( +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "hBm" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"hBo" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/structure/cable, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - location = "QM #1" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/storage) "hBr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21161,19 +21194,19 @@ c_tag = "Science Ordnance Test Lab" }, /obj/item/assembly/prox_sensor{ - pixel_y = 2 + pixel_y = 10 }, /obj/item/assembly/prox_sensor{ pixel_x = 9; - pixel_y = -2 + pixel_y = 6 }, /obj/item/assembly/prox_sensor{ pixel_x = -4; - pixel_y = 1 + pixel_y = 9 }, /obj/item/assembly/prox_sensor{ pixel_x = 8; - pixel_y = 9 + pixel_y = 17 }, /obj/machinery/requests_console/directional/west{ department = "Ordnance Test Range"; @@ -21316,6 +21349,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/cryo) +"hEQ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/trimline/brown/filled/arrow_cw, +/turf/open/floor/iron, +/area/station/cargo/storage) "hET" = ( /obj/structure/sign/map/right{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -21433,6 +21472,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) +"hIh" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/machinery/door/window/right/directional/south{ + name = "Cargo Desk"; + req_access = list("shipping") + }, +/obj/item/newspaper{ + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "hIm" = ( /obj/machinery/door/airlock/research{ name = "Ordnance Lab" @@ -21445,20 +21500,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"hIp" = ( -/obj/structure/fake_stairs/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) -"hIu" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "hIx" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -21539,14 +21580,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/server) -"hJO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hKg" = ( /turf/closed/wall, /area/station/cargo/miningoffice) @@ -21585,15 +21618,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hKQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "hKV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21648,6 +21672,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"hLV" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "hLZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/junction{ @@ -21726,6 +21756,10 @@ /obj/machinery/light/floor, /turf/open/floor/wood, /area/station/commons/lounge) +"hNu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "hNz" = ( /obj/structure/chair, /obj/effect/landmark/start/depsec/science, @@ -21751,6 +21785,12 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"hNT" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "hOh" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/brown/filled/warning, @@ -21786,6 +21826,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"hPm" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/pen/red, +/turf/open/floor/wood, +/area/station/service/lawoffice) "hPu" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 5 @@ -21813,29 +21863,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hQc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Quartermaster"; - name = "Quartermaster's Fax Machine" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/requests_console/directional/north{ - department = "Quartermaster's Desk"; - name = "Quartermaster's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/ore_update, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "hQu" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -21854,15 +21881,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"hQy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering{ - name = "Port Bow Solar Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "hQB" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -21877,6 +21895,27 @@ dir = 1 }, /area/station/service/chapel) +"hQO" = ( +/obj/machinery/newscaster/directional/east, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = 12 + }, +/obj/item/pen{ + pixel_x = -7; + pixel_y = 18 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "hQY" = ( /obj/machinery/door/window/right/directional/north{ name = "Petting Zoo" @@ -21978,20 +22017,6 @@ }, /turf/open/floor/wood, /area/station/service/cafeteria) -"hSi" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/obj/item/gps, -/obj/structure/closet/crate/engineering, -/turf/open/floor/plating, -/area/station/engineering/main) "hSl" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -22000,7 +22025,6 @@ dir = 1 }, /obj/machinery/light/directional/north, -/obj/structure/sign/poster/official/moth_piping/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) "hSr" = ( @@ -22008,11 +22032,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"hSt" = ( -/obj/machinery/keycard_auth/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "hSG" = ( /obj/structure/closet/lasertag/red, /obj/effect/landmark/start/hangover/closet, @@ -22064,20 +22083,6 @@ /obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"hTG" = ( -/obj/structure/cable, -/obj/machinery/power/terminal, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) -"hTM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "hTV" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/highsecurity{ @@ -22136,6 +22141,19 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"hUV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "hVn" = ( /obj/machinery/door/window/right/directional/east{ name = "Containment Pen #8"; @@ -22226,16 +22244,7 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/teleporter) -"hWC" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/fake_stairs/directional/north, -/turf/open/floor/iron, -/area/station/cargo/storage) "hWD" = ( -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) @@ -22244,13 +22253,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) -"hWK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "hWW" = ( /obj/structure/bookcase/random, /turf/open/floor/iron, @@ -22315,15 +22317,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/office) -"hYl" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 14 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "hYr" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -22353,40 +22346,40 @@ "hYA" = ( /obj/item/assembly/timer{ pixel_x = -3; - pixel_y = 3 + pixel_y = 11 }, /obj/item/assembly/timer{ pixel_x = -3; - pixel_y = 3 + pixel_y = 11 }, /obj/item/assembly/igniter{ pixel_x = 3; - pixel_y = -7 + pixel_y = 1 }, /obj/item/assembly/igniter{ pixel_x = 3; - pixel_y = -7 + pixel_y = 1 }, /obj/item/assembly/igniter{ pixel_x = 3; - pixel_y = -7 + pixel_y = 1 }, /obj/item/assembly/igniter{ pixel_x = 3; - pixel_y = -7 + pixel_y = 1 }, /obj/item/assembly/timer{ pixel_x = -3; - pixel_y = 3 + pixel_y = 11 }, /obj/item/assembly/timer{ pixel_x = -3; - pixel_y = 3 + pixel_y = 11 }, /obj/structure/table/glass, /obj/item/storage/pill_bottle/epinephrine{ pixel_x = 8; - pixel_y = 5 + pixel_y = 13 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white, @@ -22403,34 +22396,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"hYG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"hZg" = ( -/obj/structure/closet/crate, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/light_switch/directional/north, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "hZn" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -22464,6 +22429,18 @@ "hZQ" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) +"hZT" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "hZV" = ( /turf/closed/wall/r_wall, /area/station/medical/morgue) @@ -22494,6 +22471,15 @@ /obj/machinery/seed_extractor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"iaF" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/effect/turf_decal/siding/purple{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "iaK" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/machinery/light/directional/south, @@ -22646,6 +22632,37 @@ /obj/structure/sign/warning/electric_shock, /turf/open/floor/engine, /area/station/science/xenobiology) +"idJ" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/item/storage/medkit/regular{ + pixel_x = -3; + pixel_y = 15 + }, +/obj/item/pen/blue{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/pen/fountain{ + pixel_x = 10; + pixel_y = 16 + }, +/obj/item/pen/red{ + pixel_x = 8; + pixel_y = 16 + }, +/obj/item/stamp/denied{ + pixel_y = 7 + }, +/obj/item/stamp{ + pixel_x = -9; + pixel_y = 7 + }, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "idL" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -22654,9 +22671,19 @@ /area/station/medical/morgue) "idR" = ( /obj/structure/table, -/obj/item/food/dough, +/obj/item/food/dough{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"idT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ied" = ( /obj/structure/table, /obj/item/paper/fluff/holodeck/disclaimer, @@ -22685,6 +22712,15 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/cargo/sorting) +"iez" = ( +/obj/machinery/door/airlock/maintenance, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "ieH" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -22701,6 +22737,12 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/pumproom) +"ieS" = ( +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, +/turf/open/space/basic, +/area/space/nearstation) "ieV" = ( /turf/closed/wall/r_wall, /area/station/security/holding_cell) @@ -22859,15 +22901,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"ihN" = ( -/obj/machinery/computer/security/telescreen/prison/directional/south, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red{ - dir = 8 +"ihJ" = ( +/obj/machinery/biogenerator, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 }, -/obj/effect/landmark/event_spawn, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/security/office) +/area/station/security/prison/garden) "ihW" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/trunk{ @@ -22897,21 +22939,6 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"iit" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Central Primary Hallway - Fore - Port Corner" - }, -/obj/machinery/computer/piratepad_control/civilian{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "iix" = ( /obj/item/flashlight/lamp, /obj/machinery/newscaster/directional/west, @@ -22924,7 +22951,8 @@ /obj/structure/table/wood, /obj/machinery/fax{ fax_name = "Head of Personnel's Office"; - name = "Head of Personnel's Fax Machine" + name = "Head of Personnel's Fax Machine"; + pixel_y = 11 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) @@ -22965,6 +22993,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/service/hydroponics) +"ijL" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "ijZ" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -23076,10 +23109,6 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) -"ikY" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/aft/greater) "ikZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -23182,6 +23211,27 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"imF" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Space Bridge Access" + }, +/obj/machinery/button/door/directional/north{ + id = "supplybridge"; + name = "Shuttle Bay Space Bridge Control" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "imU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23199,6 +23249,15 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"inp" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "inw" = ( /obj/machinery/disposal/bin{ desc = "A pneumatic waste disposal unit. This one leads into space!"; @@ -23348,10 +23407,6 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"iqo" = ( -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/qm) "iqq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -23426,6 +23481,34 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/maintenance/starboard/greater) +"iro" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_x = 1; + pixel_y = 14 + }, +/obj/item/stack/package_wrap{ + pixel_x = -4; + pixel_y = 16 + }, +/obj/item/dest_tagger{ + pixel_x = -9; + pixel_y = 16 + }, +/obj/item/hand_labeler_refill{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/item/stack/wrapping_paper{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "irz" = ( /obj/machinery/door/window/left/directional/north{ name = "Inner Pipe Access"; @@ -23507,12 +23590,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"isA" = ( -/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/construction/storage_wing) "isI" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -23588,6 +23665,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) +"itV" = ( +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/hangover, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "itW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -23636,6 +23719,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"iuX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "iva" = ( /obj/machinery/door/airlock/maintenance{ name = "Security Maintenance" @@ -23644,22 +23735,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"ivb" = ( -/obj/machinery/disposal/bin, -/obj/machinery/camera/directional/east{ - c_tag = "Garden" - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wideplating_new, -/obj/structure/railing, -/obj/effect/turf_decal/tile/green/half/contrasted, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "ivc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -23744,6 +23819,14 @@ /obj/item/clothing/glasses/welding, /turf/open/floor/iron, /area/station/science/robotics/lab) +"iwD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "iwL" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -23784,6 +23867,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) +"ixt" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "ixv" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -23863,24 +23954,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"iyC" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = 24; - pixel_y = -24; - req_access = list("virology") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/virology) "iyV" = ( /obj/structure/disposalpipe/segment, /obj/machinery/navbeacon{ @@ -23964,16 +24037,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"izI" = ( -/obj/machinery/newscaster/directional/south, -/obj/structure/closet/secure_closet/quartermaster, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/camera/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "izZ" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 @@ -23995,7 +24058,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark, /area/station/command/bridge) "iAk" = ( @@ -24038,7 +24100,7 @@ /area/station/medical/surgery/aft) "iAA" = ( /obj/item/toy/beach_ball/branded{ - pixel_y = 7 + pixel_y = 15 }, /obj/structure/table/wood, /turf/open/floor/carpet, @@ -24060,6 +24122,25 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"iAV" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "iBf" = ( /obj/structure/closet, /obj/item/stack/sheet/iron{ @@ -24099,10 +24180,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = 40; - pixel_y = 8 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, /turf/open/floor/engine, @@ -24122,6 +24199,18 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"iCM" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/east, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "iCN" = ( /obj/effect/turf_decal/arrows/white, /obj/effect/turf_decal/stripes/line{ @@ -24129,6 +24218,12 @@ }, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) +"iCP" = ( +/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/miningoffice) "iCV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit, @@ -24140,14 +24235,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"iDh" = ( -/obj/machinery/computer/communications{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/keycard_auth/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain/private) "iDq" = ( /obj/effect/turf_decal/box, /obj/structure/cable, @@ -24289,6 +24376,21 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"iGu" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/pdapainter/supply, +/obj/structure/noticeboard/qm, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "iGA" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/effect/turf_decal/siding/purple, @@ -24318,6 +24420,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"iHs" = ( +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/plating, +/area/station/cargo/storage) "iHu" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -24347,16 +24462,20 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) -"iHS" = ( +"iHZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Cargo" +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron, -/area/station/security/checkpoint/supply) +/area/station/hallway/primary/port) "iId" = ( /obj/machinery/conveyor{ id = "mining" @@ -24384,14 +24503,6 @@ dir = 8 }, /area/station/service/chapel) -"iIE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "iIP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24441,6 +24552,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"iKe" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "QM #2" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "iKj" = ( /obj/machinery/photocopier{ pixel_y = 3 @@ -24537,21 +24657,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"iLT" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/start/bitrunner, -/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/dark/textured_half, -/area/station/cargo/bitrunning/den) "iMd" = ( /obj/structure/bed/medical/emergency{ dir = 4 @@ -24560,7 +24665,9 @@ /area/station/maintenance/starboard/lesser) "iMi" = ( /obj/structure/table/wood, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/station/command/bridge) "iMk" = ( @@ -24636,6 +24743,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"iMK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "iMQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -24683,7 +24801,9 @@ "iNB" = ( /obj/machinery/firealarm/directional/east, /obj/structure/table/glass, -/obj/item/papercutter, +/obj/item/papercutter{ + pixel_y = 8 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "iNC" = ( @@ -24692,23 +24812,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"iNH" = ( -/obj/structure/lattice/catwalk, -/obj/item/banner/cargo, -/turf/open/space/basic, -/area/space/nearstation) -"iNK" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio2"; - name = "Xenobio Pen 2 Blast Doors"; - pixel_y = 1; - req_access = list("xenobiology") - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/science/xenobiology) "iNQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -24777,6 +24880,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/security/detectives_office) +"iOY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Cargo Office"; + name = "Cargo Office Fax Machine"; + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "iPb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -24979,6 +25095,13 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/medical/storage) +"iRR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/cargo/lobby) "iRW" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -25049,16 +25172,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"iSU" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/rcl/pre_loaded, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "iTc" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -25092,18 +25205,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"iTQ" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio1"; - name = "Xenobio Pen 1 Blast Doors"; - pixel_y = 1; - req_access = list("xenobiology") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "iTX" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ @@ -25119,8 +25220,9 @@ /obj/item/lipstick{ pixel_y = 5 }, -/obj/effect/spawner/random/entertainment/musical_instrument, -/obj/structure/sign/poster/random/directional/east, +/obj/effect/spawner/random/entertainment/musical_instrument{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/wood{ dir = 8 }, @@ -25153,6 +25255,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"iUI" = ( +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "iUJ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -25214,6 +25320,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) +"iVQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "iWc" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, @@ -25275,19 +25392,21 @@ dir = 6 }, /obj/structure/table, -/obj/item/clipboard, -/obj/item/holosign_creator/atmos, -/obj/item/holosign_creator/atmos, +/obj/item/clipboard{ + pixel_y = 8 + }, +/obj/item/holosign_creator/atmos{ + pixel_y = 8 + }, +/obj/item/holosign_creator/atmos{ + pixel_y = 8 + }, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white, /area/station/science/ordnance/office) "iWU" = ( /turf/closed/wall/r_wall, /area/station/engineering/break_room) -"iWZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "iXb" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -25299,7 +25418,9 @@ /area/station/hallway/primary/central) "iXp" = ( /obj/structure/table, -/obj/item/analyzer, +/obj/item/analyzer{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/purple{ dir = 10 }, @@ -25375,6 +25496,13 @@ chamber_id = "ordnanceburn" }, /obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/obj/structure/table, +/obj/machinery/button/ignition/incinerator/ordmix/table{ + pixel_y = 3 + }, +/obj/machinery/button/door/incinerator_vent_ordmix/table{ + pixel_y = 16 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "iYG" = ( @@ -25386,9 +25514,11 @@ /area/station/commons/fitness/recreation) "iYO" = ( /obj/structure/table, -/obj/item/circular_saw, +/obj/item/circular_saw{ + pixel_y = 8 + }, /obj/item/scalpel{ - pixel_y = 16 + pixel_y = 24 }, /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/white, @@ -25508,6 +25638,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jaD" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "jaO" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 @@ -25562,6 +25703,17 @@ /obj/item/shard, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"jbU" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/cargo/storage) "jcc" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -25631,6 +25783,11 @@ /obj/effect/turf_decal/tile/dark_blue/half/contrasted, /turf/open/floor/iron/kitchen_coldroom, /area/station/medical/coldroom) +"jdQ" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jdR" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -25691,9 +25848,15 @@ /area/station/science/ordnance/storage) "jeL" = ( /obj/structure/table/glass, -/obj/item/book/manual/wiki/medicine, -/obj/item/clothing/neck/stethoscope, -/obj/item/wrench/medical, +/obj/item/book/manual/wiki/medicine{ + pixel_y = 8 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 8 + }, +/obj/item/wrench/medical{ + pixel_y = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 5 }, @@ -25712,14 +25875,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/brig) -"jfg" = ( -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "jfn" = ( /obj/machinery/door/airlock/medical/glass{ name = "Primary Treatment Centre" @@ -25799,6 +25954,9 @@ /obj/effect/turf_decal/trimline/green/line, /turf/open/floor/iron/dark, /area/station/service/cafeteria) +"jgi" = ( +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "jgk" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -25837,14 +25995,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"jgK" = ( -/obj/structure/sign/poster/random/directional/south, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "jgT" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -25893,6 +26043,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/abandoned) +"jhx" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Cargo Bay - Fore" + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jhD" = ( /obj/structure/closet/radiation, /obj/structure/sign/warning/radiation/rad_area/directional/north, @@ -25901,6 +26066,10 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"jhN" = ( +/obj/structure/sign/warning/electric_shock/directional/east, +/turf/open/space/basic, +/area/space/nearstation) "jhS" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -25961,11 +26130,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"jjn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "jjs" = ( /obj/effect/spawner/random/engineering/tank, /obj/effect/mapping_helpers/broken_floor, @@ -25987,9 +26151,15 @@ /obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/medical/virology) +"jjD" = ( +/obj/machinery/vatgrower, +/turf/open/floor/iron/dark/textured_large, +/area/station/science/cytology) "jjF" = ( /obj/structure/table/reinforced, -/obj/item/holosign_creator/robot_seat/bar, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) @@ -26030,6 +26200,12 @@ }, /turf/open/floor/iron, /area/station/security/office) +"jkr" = ( +/obj/machinery/pdapainter/engineering, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ce/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "jku" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -26038,6 +26214,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"jkA" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "jkG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26054,51 +26236,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) +"jkV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "jkX" = ( -/obj/machinery/door_buttons/access_button{ - idDoor = "xeno_airlock_interior"; - idSelf = "xeno_airlock_control"; - name = "Access Button"; - pixel_x = 29; - pixel_y = -8; - req_access = list("xenobiology") - }, -/obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/stripes/line{ dir = 5 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/item/soap, +/obj/machinery/firealarm/directional/east, +/obj/machinery/door_buttons/access_button/directional/north{ + req_access = list("xenobiology"); + name = "Xenobiology Access Button"; + idSelf = "xeno_airlock_control"; + idDoor = "xeno_airlock_interior" + }, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) -"jle" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/folder/yellow{ - pixel_x = 8; - pixel_y = -1 - }, -/obj/item/ammo_casing/rocket{ - pixel_x = -2; - pixel_y = 19; - name = "Dud Rocket"; - desc = "An 84mm High Explosive rocket. This one's a dud. Pretty sure." - }, -/obj/item/computer_disk/quartermaster{ - pixel_x = 9; - pixel_y = 13 - }, -/obj/effect/spawner/random/entertainment/lighter{ - pixel_x = -7; - pixel_y = -4 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "jln" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/red, @@ -26204,15 +26361,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) -"jmU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "jmY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -26275,6 +26423,20 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) +"jnZ" = ( +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag{ + pixel_x = 8 + }, +/obj/item/emptysandbag{ + pixel_x = -9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "joj" = ( /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -26299,17 +26461,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"jox" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "joP" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -26449,18 +26600,26 @@ "jsh" = ( /obj/structure/table/glass, /obj/item/folder/white{ - pixel_y = 2 + pixel_y = 10 }, /obj/item/screwdriver{ pixel_x = -2; - pixel_y = 6 + pixel_y = 14 + }, +/obj/item/radio/headset/headset_med{ + pixel_y = 8 }, -/obj/item/radio/headset/headset_med, /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/firealarm/directional/south, -/obj/item/hand_labeler, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, +/obj/item/hand_labeler{ + pixel_y = 6 + }, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -26563,6 +26722,17 @@ dir = 8 }, /area/station/medical/treatment_center) +"jtB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/autolathe, +/turf/open/floor/iron, +/area/station/cargo/storage) "jtI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -26572,12 +26742,24 @@ /obj/structure/table/reinforced, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/circuitboard/mecha/ripley/main, -/obj/item/circuitboard/mecha/ripley/peripherals, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 8 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 12 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 12 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 13 + }, +/obj/item/circuitboard/mecha/ripley/main{ + pixel_y = 8 + }, +/obj/item/circuitboard/mecha/ripley/peripherals{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/science/robotics/lab) "juf" = ( @@ -26588,6 +26770,10 @@ /obj/structure/closet/secure_closet/brig, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"juq" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/cargo/warehouse) "juC" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 1; @@ -26596,13 +26782,13 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos) "juH" = ( -/obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/west{ pixel_y = -9 }, /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, +/obj/machinery/vending/cytopro, /turf/open/floor/iron/white, /area/station/science/cytology) "juJ" = ( @@ -26614,6 +26800,16 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"juL" = ( +/obj/machinery/newscaster/directional/south, +/obj/structure/closet/secure_closet/quartermaster, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/camera/directional/south, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "juV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26639,21 +26835,17 @@ }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"jvo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "jvr" = ( /obj/structure/table/glass, -/obj/item/folder/blue, -/obj/item/clothing/neck/stethoscope, -/obj/item/clothing/glasses/hud/health, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, @@ -26683,6 +26875,32 @@ dir = 1 }, /area/station/service/chapel) +"jvE" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "jvL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -26724,6 +26942,9 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/power/apc/auto_name/directional/east{ + areastring = "/area/station/science/ordnance/burnchamber" + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "jwp" = ( @@ -26732,36 +26953,39 @@ /obj/structure/cable, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = -6; - pixel_y = 10 + pixel_y = 18 }, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = 6; - pixel_y = 10 + pixel_y = 18 }, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = -6; - pixel_y = 6 + pixel_y = 14 }, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = 6; - pixel_y = 6 + pixel_y = 14 + }, +/obj/item/storage/pill_bottle/mannitol{ + pixel_y = 8 }, -/obj/item/storage/pill_bottle/mannitol, /obj/item/reagent_containers/dropper{ - pixel_y = 6 + pixel_y = 14 }, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/cryo) "jws" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ pixel_x = 3; - pixel_y = -2 + pixel_y = 5 }, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; - pixel_y = 8 + pixel_y = 16 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/directional/south, @@ -26803,8 +27027,12 @@ /area/station/service/library) "jwP" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/purple{ @@ -26835,20 +27063,35 @@ /area/station/science/ordnance/freezerchamber) "jxm" = ( /obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/construction/plumbing, -/obj/item/construction/plumbing, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 6 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 8 + }, +/obj/item/construction/plumbing{ + pixel_y = 6 + }, +/obj/item/construction/plumbing{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"jxo" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jxv" = ( /obj/structure/table/wood, /obj/machinery/fax{ fax_name = "Captain's Office"; - name = "Captain's Fax Machine" + name = "Captain's Fax Machine"; + pixel_y = 10 }, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, @@ -26985,12 +27228,6 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/security/office) -"jzE" = ( -/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/construction/storage_wing) "jzN" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_showroom) @@ -27031,6 +27268,17 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/science/robotics/lab) +"jAJ" = ( +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/structure/rack, +/obj/item/storage/briefcase/secure, +/obj/item/cigarette/cigar, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "jAN" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -27073,42 +27321,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"jBp" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/conveyor_switch/oneway{ - id = "mining"; - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"jBu" = ( -/obj/effect/landmark/start/cargo_technician, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) -"jBy" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/conveyor_switch/oneway{ - id = "packageSort2"; - name = "Sort and Deliver"; - pixel_x = -2; - pixel_y = 12 - }, -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "packageExternal"; - name = "Crate Returns"; - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/effect/turf_decal/trimline/white/corner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jBC" = ( /obj/structure/table, /obj/item/clothing/head/soft/grey{ @@ -27135,7 +27347,6 @@ dir = 9 }, /obj/structure/light_construct/small/directional/south, -/obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) "jBU" = ( @@ -27198,6 +27409,13 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"jDa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/tank_holder/extinguisher, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "jDf" = ( /obj/structure/table, /obj/structure/extinguisher_cabinet/directional/west, @@ -27219,15 +27437,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/work) -"jEa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"jDN" = ( +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "jEc" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -27319,15 +27531,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"jGb" = ( -/obj/machinery/holopad, -/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, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "jGl" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, @@ -27361,10 +27564,35 @@ /area/station/maintenance/starboard/lesser) "jGw" = ( /obj/structure/table/glass, -/obj/machinery/computer/records/medical/laptop, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, +/obj/machinery/button/door/table{ + pixel_x = -8; + pixel_y = 10; + id = "cmoprivacy"; + name = "CMO Privacy Shutters" + }, +/obj/item/pen{ + pixel_x = -7; + pixel_y = 16 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 14 + }, +/obj/item/folder/white{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/computer_disk/medical{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/computer_disk/medical{ + pixel_y = 8; + pixel_x = 6 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "jGA" = ( @@ -27378,16 +27606,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/treatment_center) -"jGN" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/satellite) "jGO" = ( /obj/machinery/hydroponics/soil, /obj/item/cultivator, @@ -27395,6 +27613,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/grass, /area/station/security/prison/garden) +"jGS" = ( +/obj/structure/closet/toolcloset, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/item/lightreplacer{ + pixel_y = 7 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/engineering/storage_shared) "jHg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27410,6 +27642,15 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) +"jHp" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "jHw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, @@ -27452,13 +27693,27 @@ /area/station/science/cytology) "jIg" = ( /obj/structure/table, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/item/radio/off, -/obj/item/radio/off, -/obj/item/radio/off, -/obj/item/radio/off, -/obj/item/multitool, +/obj/item/storage/belt/utility{ + pixel_y = 8 + }, +/obj/item/storage/belt/utility{ + pixel_y = 8 + }, +/obj/item/radio/off{ + pixel_y = 8 + }, +/obj/item/radio/off{ + pixel_y = 8 + }, +/obj/item/radio/off{ + pixel_y = 8 + }, +/obj/item/radio/off{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) "jIk" = ( @@ -27467,17 +27722,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/lounge) -"jIl" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "jIz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -27591,12 +27835,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/lab) -"jKc" = ( -/obj/effect/turf_decal/trimline/brown/filled/shrink_cw{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "jKi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -27660,6 +27898,14 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/engineering/main) +"jLp" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jLw" = ( /obj/structure/marker_beacon/burgundy, /obj/structure/lattice/catwalk, @@ -27704,22 +27950,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"jMb" = ( -/obj/structure/railing{ - dir = 10 - }, -/obj/machinery/light/directional/north, -/obj/structure/statue/gold/qm, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/effect/turf_decal/siding/yellow{ - dir = 10 - }, -/turf/open/floor/iron/diagonal, -/area/station/cargo/storage) "jMo" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, @@ -27776,6 +28006,13 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"jMX" = ( +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "jMY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -27804,9 +28041,11 @@ /obj/structure/table, /obj/item/storage/medkit/regular{ pixel_x = 4; - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/storage/medkit/regular{ + pixel_y = 8 }, -/obj/item/storage/medkit/regular, /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/machinery/light/cold/directional/south, @@ -27839,14 +28078,10 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"jNR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cargo_technician, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) +"jNX" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "jNZ" = ( /obj/machinery/camera/directional/west{ c_tag = "Telecomms - Server Room - Aft-Port"; @@ -27901,6 +28136,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"jOS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jPe" = ( /obj/structure/table, /obj/item/airlock_painter, @@ -27928,19 +28172,20 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"jPE" = ( -/obj/structure/sign/map/left{ - desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; - icon_state = "map-left-MS"; - pixel_y = 32 +"jPA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/siding/wideplating_new/corner, +/obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 4 }, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/service/hydroponics/garden) "jPH" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics" @@ -27976,21 +28221,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jQr" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"jQz" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8 - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "jQM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -28017,29 +28247,60 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"jRd" = ( +/obj/machinery/light/directional/east, +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -11; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = -11; + pixel_y = 7 + }, +/obj/item/hand_labeler{ + pixel_x = -10; + pixel_y = -6 + }, +/obj/effect/turf_decal/trimline/dark_red/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/turf/open/floor/iron, +/area/station/security/warden) "jRg" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"jRo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, +"jRj" = ( /obj/structure/table, -/obj/item/hand_labeler_refill{ - pixel_x = 12; - pixel_y = -3 +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 9 }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap{ - pixel_x = -2; - pixel_y = 8 +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 14 }, -/obj/item/stack/package_wrap{ +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 19 + }, +/obj/item/folder/yellow{ pixel_x = -6; - pixel_y = 18 + pixel_y = 16 + }, +/obj/item/folder/yellow{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/paper{ + pixel_x = -5; + pixel_y = 8 }, -/obj/item/hand_labeler, -/obj/item/stack/package_wrap, /turf/open/floor/iron, /area/station/cargo/sorting) "jRz" = ( @@ -28056,13 +28317,18 @@ /area/station/hallway/primary/central) "jRO" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/machinery/camera/directional/north{ c_tag = "Science Research Office"; network = list("ss13","rd") }, /obj/effect/turf_decal/trimline/purple/filled/warning, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/science/lab) "jRZ" = ( @@ -28121,6 +28387,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"jTg" = ( +/obj/machinery/digital_clock/directional/north{ + pixel_y = 0 + }, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/hop) "jTi" = ( /obj/machinery/hydroponics/soil, /obj/machinery/camera/directional/west{ @@ -28131,19 +28403,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/grass, /area/station/security/prison/garden) -"jTl" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "jTs" = ( /obj/item/kirbyplants/potty, /turf/open/floor/wood/large, @@ -28169,6 +28428,12 @@ /obj/machinery/pdapainter/security, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) +"jTL" = ( +/obj/structure/cable, +/obj/effect/spawner/random/maintenance, +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jTM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28251,22 +28516,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"jUs" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "jUu" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -28343,6 +28592,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/teleporter) +"jVu" = ( +/obj/structure/bed/dogbed/renault, +/mob/living/basic/pet/fox/renault, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain/private) "jVv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28493,12 +28748,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/command/gateway) -"jYu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "jYv" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -28527,8 +28776,12 @@ /turf/open/floor/iron, /area/station/engineering/gravity_generator) "jYL" = ( -/obj/machinery/recharger, -/obj/item/restraints/handcuffs, +/obj/machinery/recharger{ + pixel_y = 8 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 8 + }, /obj/structure/table/glass, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, @@ -28581,6 +28834,13 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"kas" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "kat" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -28611,17 +28871,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) -"kaU" = ( -/obj/structure/closet{ - name = "evidence closet 3" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/item/poster/traitor, -/turf/open/floor/iron/dark, -/area/station/security/evidence) "kbo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28645,26 +28894,25 @@ /obj/effect/decal/cleanable/dirt, /obj/item/storage/box/mousetraps{ pixel_x = -5; - pixel_y = 14 + pixel_y = 18 }, /obj/structure/table, /obj/item/storage/box/mousetraps{ pixel_x = 12; - pixel_y = 15 + pixel_y = 12 }, /obj/item/radio/intercom/directional/north, /obj/item/grenade/chem_grenade/cleaner{ pixel_x = -7; - pixel_y = 6 + pixel_y = 10 }, /obj/item/grenade/chem_grenade/cleaner{ pixel_x = -1; - pixel_y = 3 + pixel_y = 8 }, /turf/open/floor/iron, /area/station/service/janitor) "kbR" = ( -/obj/structure/sign/poster/official/cleanliness/directional/east, /obj/machinery/door/window/right/directional/north{ name = "Hydroponics Delivery"; req_access = list("hydroponics") @@ -28682,6 +28930,16 @@ /obj/structure/closet/crate/solarpanel_small, /turf/open/floor/iron, /area/station/engineering/main) +"kbW" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/wood, +/area/station/service/lawoffice) "kcg" = ( /obj/structure/chair/wood{ dir = 8 @@ -28710,9 +28968,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/bridge) -"kcu" = ( -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) +"kcD" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "kcF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28793,17 +29055,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"ken" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 +"ked" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/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/fore) +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "keK" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -28835,6 +29094,10 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"kfh" = ( +/obj/structure/fake_stairs/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "kfp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28861,6 +29124,11 @@ "kfL" = ( /turf/closed/wall/mineral/plastitanium, /area/station/commons/fitness/recreation) +"kfR" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "kfT" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -28901,10 +29169,6 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) -"kgC" = ( -/obj/machinery/door/poddoor/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "kgV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -28966,21 +29230,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/hallway/primary/central) -"kif" = ( -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag{ - pixel_x = 8 - }, -/obj/item/emptysandbag{ - pixel_x = -9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "kir" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -29027,6 +29276,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/lockers) +"kjF" = ( +/obj/structure/chair/office, +/obj/machinery/requests_console/directional/north{ + department = "Quartermaster's Desk"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/landmark/start/depsec/supply, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "kjG" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -29056,25 +29316,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, /area/station/service/theater) -"kkk" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor"; - name = "Loading Doors"; - pixel_y = -8; - req_access = list("cargo") - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor2"; - name = "Loading Doors"; - pixel_y = 8; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "kkr" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/door/poddoor/preopen{ @@ -29088,24 +29329,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/supply/hidden, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) -"kkB" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 8; - output_dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Ore Redemption Window" - }, -/obj/machinery/door/window/left/directional/west{ - req_access = list("cargo"); - name = "Cargo Security Window" - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/lobby) "kkU" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/west{ @@ -29136,6 +29359,17 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/commons/storage/primary) +"kld" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/wideplating_new, +/obj/structure/railing, +/obj/effect/turf_decal/tile/green/half/contrasted, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "klf" = ( /obj/item/folder, /obj/item/folder, @@ -29150,20 +29384,22 @@ /obj/structure/table, /obj/item/reagent_containers/cup/bottle/epinephrine{ pixel_x = 7; - pixel_y = -3 + pixel_y = 5 }, /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = -4; - pixel_y = -3 + pixel_y = 5 }, /obj/item/reagent_containers/syringe/epinephrine{ pixel_x = 3; - pixel_y = -2 + pixel_y = 6 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 }, -/obj/item/reagent_containers/dropper, /obj/item/reagent_containers/cup/beaker{ pixel_x = 8; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/sign/warning/no_smoking{ pixel_y = 28 @@ -29215,7 +29451,7 @@ /obj/structure/table/wood, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 7 }, /turf/open/floor/carpet, /area/station/command/bridge) @@ -29254,6 +29490,17 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/station/commons/lounge) +"kmd" = ( +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "kmN" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -29354,6 +29601,10 @@ }, /turf/open/floor/iron, /area/station/security/prison/work) +"kod" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "kop" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29376,6 +29627,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"koU" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/cafeteria) "koW" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=10.2-Aft-Port-Corner"; @@ -29394,6 +29650,14 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"kpu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "kpB" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -29428,25 +29692,20 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"kqh" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"kpX" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/effect/turf_decal/siding/purple{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 + dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) +/obj/machinery/airlock_controller/incinerator_ordmix{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "kqm" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -29472,7 +29731,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/poster/random/directional/south, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, @@ -29488,24 +29746,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/security/prison) -"krt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wideplating_new{ - dir = 4 - }, -/obj/item/storage/toolbox/fishing, -/obj/item/storage/toolbox/fishing, -/obj/item/fishing_rod, -/obj/item/fishing_rod, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "krL" = ( /turf/open/floor/wood, /area/station/command/corporate_showroom) @@ -29514,7 +29754,7 @@ /obj/effect/turf_decal/bot, /obj/item/assembly/timer{ pixel_x = -4; - pixel_y = 2 + pixel_y = 10 }, /obj/item/assembly/timer{ pixel_x = 5; @@ -29522,9 +29762,11 @@ }, /obj/item/assembly/timer{ pixel_x = 6; - pixel_y = -4 + pixel_y = 4 + }, +/obj/item/assembly/timer{ + pixel_y = 8 }, -/obj/item/assembly/timer, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) @@ -29544,15 +29786,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"ksM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ksT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -29563,6 +29796,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"ksZ" = ( +/obj/machinery/recharger{ + pixel_y = 12 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Security Post - Medbay"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/structure/table/reinforced, +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "ktl" = ( /obj/structure/sink/directional/east, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -29570,10 +29822,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"ktw" = ( -/obj/structure/sign/warning/electric_shock/directional/north, -/turf/open/space/basic, -/area/space/nearstation) "ktz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -29636,13 +29884,6 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/station/solars/port/fore) -"kuS" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/brown/anticorner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "kuW" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -29660,6 +29901,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, +/obj/structure/fireaxecabinet/directional/west, /turf/open/floor/iron/dark, /area/station/command/bridge) "kvv" = ( @@ -29705,14 +29947,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"kwh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "kwp" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -29765,7 +29999,6 @@ /area/station/engineering/atmos) "kxa" = ( /obj/machinery/chem_master, -/obj/structure/noticeboard/directional/south, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -29792,32 +30025,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/office) -"kxC" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/pen, -/obj/machinery/button/door/directional/east{ - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_y = 16; - req_access = list("engineering") - }, -/obj/machinery/button/door/directional/east{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_y = 24; - req_access = list("atmospherics") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/computer/security/telescreen/engine/directional/east, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "kxH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29833,7 +30040,6 @@ /obj/effect/spawner/random/trash/garbage{ spawn_scatter_radius = 1 }, -/obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -29864,11 +30070,16 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"kyu" = ( -/obj/structure/lattice/catwalk, -/obj/item/toy/figure/cargotech, -/turf/open/space/basic, -/area/space/nearstation) +"kyG" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/rcl/pre_loaded, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "kyQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29942,7 +30153,6 @@ "kzZ" = ( /obj/structure/bed/dogbed, /obj/effect/decal/cleanable/blood/old, -/obj/structure/sign/poster/contraband/random/directional/west, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) @@ -30040,11 +30250,11 @@ }, /obj/item/storage/box/bodybags{ pixel_x = -4; - pixel_y = 9 + pixel_y = 17 }, /obj/item/storage/box/disks{ pixel_x = 6; - pixel_y = 3 + pixel_y = 11 }, /obj/item/clothing/gloves/latex{ pixel_x = 4; @@ -30106,6 +30316,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"kCU" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/restraints/handcuffs, +/turf/open/floor/carpet, +/area/station/security/detectives_office) "kCZ" = ( /turf/closed/wall, /area/station/service/hydroponics) @@ -30142,6 +30362,21 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/engineering/break_room) +"kDv" = ( +/obj/structure/table/glass, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -8 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "kDG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30210,15 +30445,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"kFa" = ( +"kEB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cargo_technician, -/obj/structure/chair/office{ - dir = 4 +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kFg" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -30230,6 +30465,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"kFy" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/arrow_ccw, +/turf/open/floor/iron, +/area/station/cargo/lobby) "kFC" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 8; @@ -30239,6 +30482,15 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/lab) +"kFI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/item/reagent_containers/cup/soda_cans/pwr_game, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "kFK" = ( /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, @@ -30280,6 +30532,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kGr" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/siding/thinplating_new, +/turf/open/floor/iron, +/area/station/cargo/storage) "kGs" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room" @@ -30306,24 +30563,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/science/lab) -"kGR" = ( -/obj/machinery/button/ignition{ - id = "Xenobio"; - pixel_x = -4; - pixel_y = -3 - }, -/obj/machinery/button/door/directional/north{ - id = "Xenolab"; - name = "Test Chamber Blast Doors"; - pixel_x = 6; - pixel_y = -2; - req_access = list("xenobiology") - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "kHg" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -30361,31 +30600,12 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/engine, /area/station/science/explab) -"kHO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"kHV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/station/maintenance/port/fore) "kIG" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port) -"kIJ" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "kIR" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -30410,6 +30630,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) +"kJG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "kJO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30419,15 +30646,6 @@ /obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) -"kKd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "kKh" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -30502,21 +30720,18 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/white, /area/station/security/prison) -"kKO" = ( -/obj/structure/fake_stairs/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "kKT" = ( /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = 7; - pixel_y = 12 + pixel_y = 20 }, /obj/item/reagent_containers/cup/bottle/epinephrine{ pixel_x = -4; - pixel_y = 12 + pixel_y = 20 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/beaker/large, /obj/item/reagent_containers/cup/beaker{ pixel_x = 8; pixel_y = 2 @@ -30562,13 +30777,6 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos) "kLC" = ( -/obj/machinery/door_buttons/access_button{ - idDoor = "xeno_airlock_exterior"; - idSelf = "xeno_airlock_control"; - name = "Access Button"; - pixel_y = -24; - req_access = list("xenobiology") - }, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/research{ @@ -30585,6 +30793,17 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) +"kLT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kMd" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -30602,23 +30821,28 @@ "kMk" = ( /obj/item/book/manual/wiki/chemistry{ pixel_x = -4; - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/book/manual/wiki/grenades{ + pixel_y = 8 + }, +/obj/item/stack/cable_coil{ + pixel_y = 6 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 }, -/obj/item/book/manual/wiki/grenades, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/clothing/glasses/science, -/obj/item/clothing/glasses/science, /obj/item/book/manual/wiki/plumbing{ pixel_x = 4; - pixel_y = -4 + pixel_y = 4 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 }, -/obj/item/reagent_containers/dropper, /obj/structure/table, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, -/obj/structure/sign/poster/official/periodic_table/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) "kMl" = ( @@ -30643,6 +30867,28 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics) +"kMR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 14 + }, +/obj/item/pen{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Security Post - Cargo" + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "kMX" = ( /obj/machinery/washing_machine, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -30650,6 +30896,16 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms) +"kNa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/iron, +/area/station/cargo/lobby) "kNx" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -30759,8 +31015,12 @@ /area/station/security/checkpoint/engineering) "kPy" = ( /obj/structure/table, -/obj/item/surgical_drapes, -/obj/item/cautery, +/obj/item/surgical_drapes{ + pixel_y = 8 + }, +/obj/item/cautery{ + pixel_y = 8 + }, /obj/structure/disposalpipe/segment{ dir = 9 }, @@ -30806,16 +31066,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"kQv" = ( -/obj/machinery/light/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) -"kQO" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/mob/living/basic/sloth/citrus, -/turf/open/floor/iron, -/area/station/cargo/storage) "kQP" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) @@ -30891,6 +31141,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"kRW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/maintenance/port/fore) "kSo" = ( /obj/structure/chair{ dir = 1 @@ -30975,6 +31229,21 @@ /obj/machinery/shieldgen, /turf/open/floor/plating, /area/station/engineering/main) +"kTa" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Central Primary Hallway - Fore - Port Corner" + }, +/obj/machinery/computer/piratepad_control/civilian{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kTn" = ( /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/tile/neutral, @@ -30990,6 +31259,16 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"kTQ" = ( +/obj/effect/decal/cleanable/oil, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kTZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -31014,16 +31293,6 @@ /obj/structure/cable/layer3, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"kUG" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "kUJ" = ( /obj/effect/turf_decal/box/white{ color = "#52B4E9" @@ -31054,7 +31323,6 @@ /turf/open/floor/iron/white, /area/station/medical/virology) "kVq" = ( -/obj/structure/sign/warning/secure_area/directional/east, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) @@ -31118,26 +31386,6 @@ /obj/effect/turf_decal/tile/dark_blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/morgue) -"kWL" = ( -/obj/structure/sign/directions/command{ - dir = 4; - pixel_y = -8 - }, -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/engineering{ - dir = 4 - }, -/turf/closed/wall, -/area/station/hallway/secondary/command) -"kWO" = ( -/obj/structure/sign/directions/medical{ - pixel_y = -7 - }, -/turf/closed/wall, -/area/station/medical/pharmacy) "kWP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31362,15 +31610,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"kZI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/bot_white, -/obj/structure/closet/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "laa" = ( /obj/machinery/light/directional/east, /turf/open/floor/iron/chapel{ @@ -31395,14 +31634,6 @@ /obj/effect/spawner/random/trash/janitor_supplies, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"lak" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lav" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -31413,17 +31644,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lay" = ( -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "laE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, /turf/closed/wall/r_wall, @@ -31461,6 +31681,13 @@ /obj/effect/mapping_helpers/airlock/access/all/service/kitchen, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen/coldroom) +"lbb" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lbh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -31470,14 +31697,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/security/prison/visit) -"lbH" = ( -/mob/living/basic/chicken{ - name = "Featherbottom"; - real_name = "Featherbottom" - }, -/obj/structure/flora/bush/fullgrass, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "lbL" = ( /obj/effect/decal/cleanable/insectguts, /obj/effect/turf_decal/siding/purple{ @@ -31517,20 +31736,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"ldg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/siding/wideplating_new/corner, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "lds" = ( /obj/structure/table, /obj/item/storage/fancy/egg_box, @@ -31571,6 +31776,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) +"lei" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/cargo/storage) "lek" = ( /obj/machinery/power/smes, /obj/structure/cable, @@ -31757,6 +31970,19 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) +"liA" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Outer Vault"; + name = "storage wing camera"; + network = list("ss13","vault") + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/structure/window/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "liC" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -31787,30 +32013,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"liU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/railing{ - dir = 9 - }, -/obj/machinery/disposal/bin/tagger, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"liX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/lobby) "lje" = ( /obj/machinery/camera/directional/south{ c_tag = "Starboard Primary Hallway - Auxiliary Tool Storage" @@ -31860,32 +32062,24 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) -"ljH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/caution{ - dir = 8 - }, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "ljL" = ( /obj/structure/chair/comfy/black, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/bridge) -"lkc" = ( -/obj/machinery/barsign, -/turf/closed/wall, -/area/station/commons/lounge) -"lku" = ( -/obj/structure/cable, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"lkv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8 + }, +/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "lkW" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -31934,6 +32128,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/break_room) +"lme" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark/textured_large, +/area/station/science/cytology) "lmk" = ( /obj/item/radio/intercom/directional/south, /obj/structure/bodycontainer/morgue{ @@ -31949,10 +32147,40 @@ dir = 8 }, /area/station/medical/morgue) +"lml" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lmn" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"lmt" = ( +/obj/structure/table/reinforced, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 11 + }, +/obj/item/pen/red{ + pixel_y = 18 + }, +/obj/item/dest_tagger{ + pixel_x = 9; + pixel_y = 18 + }, +/obj/item/pen/screwdriver{ + pixel_x = -7; + pixel_y = 15 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lmx" = ( /obj/machinery/light_switch/directional/west, /obj/effect/decal/cleanable/cobweb, @@ -32000,10 +32228,17 @@ "lnc" = ( /turf/closed/wall, /area/station/commons/dorms) +"lnf" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central) "lnu" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/toy/figure/scientist, +/obj/item/clipboard{ + pixel_y = 8 + }, +/obj/item/toy/figure/scientist{ + pixel_y = 8 + }, /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 8 @@ -32059,12 +32294,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"loR" = ( -/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/construction/storage_wing) "loW" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room" @@ -32077,15 +32306,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) -"loY" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "lpo" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -32128,9 +32348,17 @@ /obj/effect/turf_decal/siding{ dir = 4 }, -/obj/item/computer_disk/ordnance, -/obj/item/computer_disk/ordnance, -/obj/item/computer_disk/ordnance, +/obj/item/computer_disk/ordnance{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/computer_disk/ordnance{ + pixel_y = 9; + pixel_x = -2 + }, +/obj/item/computer_disk/ordnance{ + pixel_y = 12 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -32253,6 +32481,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"lsG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Port Bow Solar Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "lsJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32268,27 +32505,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"lsU" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = 1 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/dest_tagger{ - pixel_x = 7; - pixel_y = 1 - }, -/obj/item/stack/wrapping_paper{ - pixel_x = -4; - pixel_y = -7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lsV" = ( /obj/effect/turf_decal/siding/purple{ dir = 10 @@ -32350,13 +32566,17 @@ "ltW" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, -/obj/item/paper, +/obj/item/paper{ + pixel_y = 8 + }, /obj/machinery/door/window/left/directional/south{ name = "Hydroponics Window"; req_access = list("hydroponics") }, /obj/effect/turf_decal/delivery, -/obj/item/pen, +/obj/item/pen{ + pixel_y = 8 + }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 1; id = "hydro_service"; @@ -32373,15 +32593,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) -"lug" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "lup" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -32425,17 +32636,6 @@ }, /turf/open/floor/iron, /area/station/security/range) -"lvh" = ( -/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/trimline/red/filled/warning, -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "lvs" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -32494,10 +32694,13 @@ "lwt" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law{ - pixel_y = 3 + pixel_y = 8 }, /obj/item/radio/intercom/command/directional/north, -/obj/item/paper/fluff/jobs/engineering/frequencies, +/obj/item/paper/fluff/jobs/engineering/frequencies{ + pixel_y = 5; + pixel_x = 3 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "lwx" = ( @@ -32554,6 +32757,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) +"lxV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Warehouse Maintenance" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "lyu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -32619,11 +32830,6 @@ /obj/item/pen/red, /turf/open/floor/iron/white, /area/station/medical/virology) -"lAa" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/caution, -/turf/open/floor/plating, -/area/station/cargo/storage) "lAe" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -32673,20 +32879,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/evidence) -"lBg" = ( +"lBj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, /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/locked, -/obj/machinery/door/airlock/vault{ - name = "Vault" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/landmark/navigate_destination, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "lBm" = ( /obj/machinery/conveyor{ dir = 4; @@ -32700,14 +32900,6 @@ "lBA" = ( /turf/open/floor/wood/large, /area/station/commons/lounge) -"lBN" = ( -/obj/machinery/computer/security/telescreen/tcomms/directional/east, -/obj/machinery/computer/telecomms/monitor{ - dir = 8; - network = "tcommsat" - }, -/turf/open/floor/iron/grimy, -/area/station/tcommsat/computer) "lCb" = ( /obj/structure/cable, /obj/structure/sign/poster/ripped/directional/south, @@ -32763,6 +32955,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"lEl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "lEr" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -32812,14 +33011,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"lFF" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, +"lFD" = ( +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/station/ai_monitored/command/nuke_storage) "lFZ" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel{ @@ -32835,6 +33033,21 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"lGQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Vault Storage" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/construction/storage_wing) "lGR" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -32859,7 +33072,7 @@ /area/station/hallway/primary/aft) "lHe" = ( /obj/machinery/reagentgrinder{ - pixel_y = 4 + pixel_y = 12 }, /obj/structure/table/glass, /obj/effect/turf_decal/stripes/line{ @@ -32883,6 +33096,12 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"lHy" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/decal/cleanable/dirt, +/obj/item/plant_analyzer, +/turf/open/floor/grass, +/area/station/security/prison/garden) "lHK" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -32899,11 +33118,26 @@ /obj/machinery/atmospherics/components/unary/thermomachine/freezer, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"lIk" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/conveyor_switch/oneway{ + id = "mining"; + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "lIB" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/entertainment/lighter, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -32963,6 +33197,15 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"lJQ" = ( +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Dock Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/cargo/miningoffice) "lKu" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -33054,6 +33297,12 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"lLV" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 8 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "lMh" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/trimline/neutral/end, @@ -33081,6 +33330,27 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"lMD" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/landmark/start/quartermaster, +/obj/item/binoculars, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) +"lMH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "lMI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -33143,6 +33413,16 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/station/security/execution/transfer) +"lND" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "lNF" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/event_spawn, @@ -33260,15 +33540,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/office) -"lPn" = ( -/obj/machinery/light/small/dim/directional/north, -/obj/structure/rack, -/obj/item/pushbroom, -/obj/effect/decal/cleanable/dirt, -/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "lPt" = ( /obj/machinery/door/window/left/directional/west{ name = "Jetpack Storage"; @@ -33289,6 +33560,12 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"lPw" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "lPy" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33312,15 +33589,6 @@ /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"lPB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "lPC" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -33338,22 +33606,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/security/prison) -"lPS" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio8"; - name = "Xenobio Pen 8 Blast Doors"; - pixel_y = 4; - req_access = list("xenobiology") - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 10; - pixel_y = -1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "lPZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -33363,15 +33615,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/bridge) -"lQf" = ( -/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/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "lQm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -33387,6 +33630,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/security/prison/visit) +"lQw" = ( +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "lQC" = ( /obj/structure/closet/l3closet/security, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -33399,6 +33645,21 @@ /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"lQQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/machinery/door/window/left/directional/north{ + req_access = list("shipping") + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/plating, +/area/station/cargo/sorting) "lQW" = ( /obj/structure/sign/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -33414,23 +33675,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"lRA" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "lRS" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"lRT" = ( -/obj/structure/sign/directions/evac, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/medical/central) "lSw" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -33472,6 +33721,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) +"lTn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lTq" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -33544,13 +33802,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) -"lUx" = ( -/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/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "lUz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/yellow{ @@ -33605,9 +33856,27 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"lVp" = ( -/turf/closed/wall, -/area/station/cargo/lobby) +"lVn" = ( +/obj/structure/plasticflaps/opaque{ + name = "Service Deliveries" + }, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + location = "Service" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/structure/window/spawner/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "lVB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33638,6 +33907,18 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"lVT" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio1"; + name = "Xenobio Pen 1 Blast Doors"; + pixel_y = 1; + req_access = list("xenobiology") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) "lWa" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -33672,6 +33953,15 @@ }, /turf/open/floor/wood, /area/station/commons/lounge) +"lWp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lWq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -33683,14 +33973,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"lWL" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "lWM" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Pen #6"; @@ -33704,6 +33986,19 @@ /obj/structure/sign/warning/vacuum/directional/east, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"lXd" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = 3 + }, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = -3 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "lXl" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, @@ -33722,6 +34017,14 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/service/hydroponics) +"lXs" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "lXu" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ @@ -33739,7 +34042,9 @@ /area/station/medical/pharmacy) "lXG" = ( /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4; + manual_align = 1 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -33781,6 +34086,23 @@ /obj/effect/mapping_helpers/mail_sorting/science/ordnance, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"lYm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/structure/closet/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"lYw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/supply, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "lYx" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -33832,7 +34154,9 @@ /area/station/maintenance/disposal/incinerator) "lZM" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/shaker, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) @@ -33990,20 +34314,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"mcF" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio4"; - name = "Xenobio Pen 4 Blast Doors"; - pixel_y = 4; - req_access = list("xenobiology"); - sync_doors = 4 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "mcP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -34049,6 +34359,14 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"mdv" = ( +/obj/effect/landmark/blobstart, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "mdy" = ( /obj/effect/landmark/blobstart, /obj/structure/cable, @@ -34064,6 +34382,11 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"mdW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "mei" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/iron, @@ -34141,9 +34464,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/gambling, -/obj/effect/spawner/random/entertainment/gambling, -/obj/effect/spawner/random/entertainment/gambling, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_y = 12 + }, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_y = 12 + }, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_y = 12 + }, /turf/open/floor/wood, /area/station/commons/lounge) "mgv" = ( @@ -34187,6 +34516,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"mhu" = ( +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "mhA" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -34204,22 +34541,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"mhM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/machinery/door/window/right/directional/south{ - name = "Cargo Desk"; - req_access = list("shipping") - }, -/obj/item/newspaper{ - pixel_x = -5 - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "mhR" = ( /obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -34238,10 +34559,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"mie" = ( -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "mig" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -34277,6 +34594,15 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"miq" = ( +/obj/effect/turf_decal/siding/wideplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "mix" = ( /obj/structure/frame/machine, /obj/item/circuitboard/machine/chem_master, @@ -34348,6 +34674,24 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"mkf" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 12 + }, +/obj/item/radio/off{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/item/binoculars{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "mkr" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -34361,6 +34705,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mkB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mkO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34371,6 +34723,14 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/textured, /area/station/medical/chem_storage) +"mkU" = ( +/obj/machinery/atmospherics/components/binary/pump/on, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "mlu" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -34397,10 +34757,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mlH" = ( -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "mlK" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/red{ @@ -34408,17 +34764,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"mlY" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mma" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/janitor) -"mml" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "mmm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34427,6 +34784,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"mmt" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/structure/cable, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "mmA" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/camera/directional/south{ @@ -34539,16 +34905,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"mnx" = ( -/obj/structure/sign/directions/evac, -/obj/structure/sign/directions/medical{ - pixel_y = 8 - }, -/obj/structure/sign/directions/science{ - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/maintenance/central) "mny" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -34570,27 +34926,25 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"mnP" = ( +"mnU" = ( +/obj/machinery/firealarm/directional/north, /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/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/security/brig) +"mor" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction{ + dir = 1 }, +/obj/structure/sign/poster/official/random/directional/north, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"mnU" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/security/brig) "mos" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -34671,18 +35025,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/chapel, /area/station/service/chapel) -"mqn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/west{ - id = "Disposal Exit"; - name = "Disposal Vent Control"; - req_access = list("maint_tunnels") - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "mqu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/hangover, @@ -34714,6 +35056,10 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"mrj" = ( +/obj/item/toy/beach_ball/branded, +/turf/open/space/basic, +/area/space/nearstation) "mru" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -34731,8 +35077,12 @@ /area/station/maintenance/starboard/lesser) "mrG" = ( /obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/lighter, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/lighter{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/station/command/bridge) "mrJ" = ( @@ -34755,6 +35105,26 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) +"mrU" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"mrZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/supply/disposals, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "msd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -34764,6 +35134,11 @@ /obj/structure/altar_of_gods, /turf/open/floor/iron/dark, /area/station/service/chapel) +"msn" = ( +/obj/structure/lattice/catwalk, +/obj/item/toy/figure/cargotech, +/turf/open/space/basic, +/area/space/nearstation) "msu" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -34785,7 +35160,9 @@ /area/station/medical/surgery/aft) "msJ" = ( /obj/structure/table/reinforced, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 8 + }, /obj/structure/cable, /obj/machinery/requests_console/directional/south{ department = "Security"; @@ -34800,6 +35177,13 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"msQ" = ( +/obj/effect/spawner/random/maintenance, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "msR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/effect/turf_decal/delivery, @@ -34808,7 +35192,9 @@ "msT" = ( /obj/structure/table, /obj/item/food/mint, -/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "mta" = ( @@ -34829,9 +35215,12 @@ "mtb" = ( /obj/structure/table/wood, /obj/structure/extinguisher_cabinet/directional/west, -/obj/item/folder/blue, +/obj/item/folder/blue{ + pixel_y = 8 + }, /obj/item/clothing/head/collectable/hop{ - name = "novelty HoP hat" + name = "novelty HoP hat"; + pixel_y = 8 }, /obj/structure/cable, /turf/open/floor/carpet, @@ -34870,6 +35259,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/commons/dorms) +"mtV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mtZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34901,7 +35298,7 @@ /obj/structure/showcase/machinery/tv{ dir = 1; pixel_x = 2; - pixel_y = 3 + pixel_y = 11 }, /obj/structure/table/wood, /obj/machinery/light/small/directional/south, @@ -34918,12 +35315,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"muq" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "mur" = ( /obj/machinery/light/directional/north, /obj/machinery/status_display/evac/directional/north, @@ -34965,7 +35356,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "mvg" = ( @@ -35000,56 +35390,33 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/office) -"mvZ" = ( -/obj/machinery/light/directional/south, -/obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/storage/toolbox/emergency{ - pixel_x = -2; - pixel_y = -3 - }, -/obj/item/wrench, -/obj/item/multitool, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/incident_display/bridge/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"mwj" = ( -/obj/machinery/computer/records/security{ - dir = 4 +"mwi" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Access" }, -/obj/machinery/keycard_auth/directional/west, -/obj/machinery/requests_console/directional/north{ - department = "Head of Security's Desk"; - name = "Head of Security Requests Console" +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/button/door/directional/north{ - id = "hosspace"; - name = "Space Shutters Control"; - pixel_x = -24 +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) -"mwm" = ( +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/aft/greater) -"mwo" = ( +/area/station/maintenance/disposal) +"mwm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/maintenance/aft/greater) "mww" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -35058,14 +35425,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"mwP" = ( -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "mwY" = ( /obj/effect/spawner/random/trash/garbage, /obj/effect/landmark/generic_maintenance_landmark, @@ -35100,13 +35459,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) -"mxx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/cargo/sorting) "mxI" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable, @@ -35149,16 +35501,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"myG" = ( -/obj/structure/sign/directions/evac, -/obj/structure/sign/directions/medical{ - pixel_y = 8 - }, -/obj/structure/sign/directions/science{ - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/commons/lounge) "myH" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -35166,6 +35508,11 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/prison) +"myS" = ( +/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "myY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -35185,36 +35532,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"mzj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"mzm" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = 9; - pixel_y = 3 - }, -/obj/item/book/manual/chef_recipes, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/iron/white, -/area/station/security/prison/mess) "mzu" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -35244,6 +35561,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/visit) +"mzY" = ( +/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/warehouse) "mAb" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, @@ -35359,6 +35682,33 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"mCg" = ( +/obj/structure/cable, +/obj/structure/table/wood/fancy/black, +/obj/item/storage/fancy/cigarettes/cigars/cohiba{ + pixel_x = 3; + pixel_y = 22 + }, +/obj/item/reagent_containers/cup/glass/bottle/champagne{ + pixel_x = -7; + pixel_y = 16 + }, +/obj/item/cigarette/cigar{ + pixel_x = 4; + pixel_y = 11 + }, +/obj/item/cigarette/cigar{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/north{ + pixel_y = 0 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "mCj" = ( /obj/machinery/camera{ c_tag = "Xenobiology Lab - Pen #7"; @@ -35435,6 +35785,25 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"mDi" = ( +/obj/structure/lattice/catwalk, +/obj/item/reagent_containers/cup/glass/bottle/rum{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/reagent_containers/cup/glass/colocup{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/glass/colocup{ + pixel_x = 6; + pixel_y = -4 + }, +/obj/item/cigarette/rollie/cannabis{ + pixel_y = -3 + }, +/turf/open/space/basic, +/area/space/nearstation) "mDu" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -35453,19 +35822,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"mDC" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio5"; - name = "Xenobio Pen 5 Blast Doors"; - pixel_y = 4; - req_access = list("xenobiology") - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron, -/area/station/science/xenobiology) "mDL" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/delivery, @@ -35517,6 +35873,13 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) +"mEJ" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "mEL" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -35700,6 +36063,30 @@ /obj/machinery/vending/modularpc, /turf/open/floor/iron/white, /area/station/science/lobby) +"mHH" = ( +/obj/structure/table, +/obj/item/multitool{ + pixel_x = 4; + pixel_y = 12 + }, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = -4 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -4; + pixel_y = -6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/obj/item/multitool{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos) "mHK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35763,6 +36150,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) +"mJf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "mJk" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -35841,6 +36236,25 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"mKh" = ( +/obj/structure/sign/poster/contraband/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"mKj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Cargo" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "mKu" = ( /obj/machinery/light_switch/directional/west, /obj/structure/cable, @@ -35869,18 +36283,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"mLp" = ( -/obj/effect/landmark/start/quartermaster, -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/turf/open/floor/iron/diagonal, -/area/station/cargo/storage) "mLu" = ( /obj/machinery/camera/directional/south{ c_tag = "Science Hallway - RD Office"; @@ -35996,6 +36398,18 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"mMI" = ( +/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/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "mMK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36023,6 +36437,27 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"mMT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig"; + id = "outerbrig" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/flasher/directional/east{ + id = "secentranceflasher" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-entrance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron, +/area/station/security/brig) "mMX" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/office) @@ -36122,32 +36557,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/range) -"mPZ" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/deepfryer, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 9 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"mQa" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Port Primary Hallway - Middle" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "mQe" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -36297,30 +36706,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"mSI" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload Turret Control"; - pixel_y = 28 - }, -/obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - name = "Private Channel"; - pixel_x = -26 - }, -/obj/effect/landmark/start/cyborg, -/obj/machinery/light/small/directional/west, -/obj/machinery/computer/security/telescreen/aiupload/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "mSM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -36334,18 +36719,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"mST" = ( -/obj/structure/sign/directions/medical{ - dir = 8; - pixel_y = 8 - }, -/obj/structure/sign/directions/evac, -/obj/structure/sign/directions/science{ - dir = 4; - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/science/lobby) "mTg" = ( /obj/structure/cable, /obj/machinery/door/airlock/hatch{ @@ -36434,19 +36807,23 @@ /area/station/engineering/atmospherics_engine) "mVf" = ( /obj/structure/table/glass, -/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 + }, /obj/item/reagent_containers/cup/beaker{ pixel_x = 8; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/beaker/large, /obj/item/reagent_containers/cup/bottle/epinephrine{ pixel_x = -4; - pixel_y = 12 + pixel_y = 20 }, /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = 7; - pixel_y = 12 + pixel_y = 20 }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -36495,12 +36872,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/bar/backroom) -"mWd" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) +"mWe" = ( +/obj/structure/cable, +/obj/machinery/netpod, +/obj/machinery/light/directional/west, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "mWA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36536,6 +36914,16 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/medical/storage) +"mWD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "mWU" = ( /turf/open/floor/iron, /area/station/maintenance/space_hut) @@ -36550,11 +36938,11 @@ "mWY" = ( /obj/item/bodypart/chest/robot{ pixel_x = -2; - pixel_y = 2 + pixel_y = 10 }, /obj/item/bodypart/head/robot{ pixel_x = 3; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/table/wood, /obj/structure/cable, @@ -36622,19 +37010,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"mXO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "qmroom" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) -"mYb" = ( -/obj/structure/chair, -/obj/machinery/computer/security/telescreen/interrogation/directional/west, -/turf/open/floor/iron/grimy, -/area/station/security/interrogation) +"mYa" = ( +/turf/open/floor/iron/dark/textured_large, +/area/station/science/cytology) "mYq" = ( /obj/effect/turf_decal/plaque{ icon_state = "L8" @@ -36698,8 +37076,9 @@ /area/station/security/office) "mZc" = ( /obj/structure/table/wood, -/obj/item/clothing/head/costume/sombrero/green, -/obj/structure/sign/poster/random/directional/east, +/obj/item/clothing/head/costume/sombrero/green{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/wood{ dir = 8 }, @@ -36712,17 +37091,18 @@ /obj/structure/table, /obj/item/grenade/chem_grenade/smart_metal_foam{ pixel_x = -4; - pixel_y = 6 + pixel_y = 14 }, /obj/item/grenade/chem_grenade/smart_metal_foam{ pixel_x = 4; - pixel_y = 2 + pixel_y = 10 }, /obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 8 + pixel_x = 8; + pixel_y = 8 }, /obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_y = 4 + pixel_y = 12 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/status_display/evac/directional/west, @@ -36818,12 +37198,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"nbd" = ( -/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/warehouse) "nbJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36831,6 +37205,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/hydroponics) +"nbM" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "QMLoad2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/plating, +/area/station/cargo/storage) "nbS" = ( /obj/structure/table, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -36900,6 +37285,15 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"nco" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ncq" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36980,6 +37374,18 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"ndv" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/west{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels") + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "ndI" = ( /obj/item/kirbyplants/organic/plant20, /obj/effect/turf_decal/stripes/line{ @@ -37065,6 +37471,19 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) +"nfC" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio5"; + name = "Xenobio Pen 5 Blast Doors"; + pixel_y = 4; + req_access = list("xenobiology") + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron, +/area/station/science/xenobiology) "nfK" = ( /obj/structure/toilet{ pixel_y = 8 @@ -37120,6 +37539,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/prison) +"nhe" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nhh" = ( /obj/structure/table/wood, /obj/item/gavelblock, @@ -37131,10 +37556,14 @@ /area/station/security/courtroom) "nhr" = ( /obj/structure/table, -/obj/item/folder/white, -/obj/item/stamp/head/rd, -/obj/item/toy/figure/rd{ - pixel_y = 10 +/obj/item/aicard{ + pixel_y = 8 + }, +/obj/item/circuitboard/aicore{ + pixel_y = 8 + }, +/obj/item/pai_card{ + pixel_y = 8 }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) @@ -37143,16 +37572,8 @@ /area/station/ai_monitored/turret_protected/ai_upload) "nhS" = ( /obj/machinery/vending/cigarette, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) -"nhU" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen/research/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "nib" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -37220,6 +37641,21 @@ }, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) +"njh" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/bitrunner, +/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/dark/textured_half, +/area/station/cargo/bitrunning/den) "njr" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/effect/spawner/random/engineering/tank, @@ -37317,6 +37753,19 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/office) +"nlK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "nlP" = ( /obj/structure/table, /obj/item/stock_parts/subspace/treatment, @@ -37335,6 +37784,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) +"nlY" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/crate, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nmf" = ( /obj/machinery/smartfridge, /obj/machinery/door/poddoor/shutters/preopen{ @@ -37361,6 +37818,13 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"nms" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/photocopier, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nmF" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plating, @@ -37371,7 +37835,6 @@ /obj/item/clothing/under/color/blue, /obj/item/clothing/ears/earmuffs, /obj/item/clothing/neck/tie/blue, -/obj/structure/sign/poster/official/random/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, /turf/open/floor/iron/dark, @@ -37422,17 +37885,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"nnh" = ( -/obj/machinery/light_switch/directional/south, -/obj/structure/table/wood, -/obj/item/razor{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/cigarette/cigar, -/obj/item/reagent_containers/cup/glass/flask/gold, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain/private) "nnl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/disposalpipe/segment{ @@ -37454,11 +37906,15 @@ /obj/machinery/light_switch/directional/east, /obj/structure/table, /obj/machinery/firealarm/directional/north, -/obj/item/stack/sheet/iron/five, +/obj/item/stack/sheet/iron/five{ + pixel_y = 8 + }, /obj/item/radio/intercom/directional/east{ pixel_y = 8 }, -/obj/item/stack/cable_coil/five, +/obj/item/stack/cable_coil/five{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/brown{ dir = 4 }, @@ -37476,6 +37932,29 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"nnL" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2"; + name = "Sort and Deliver"; + pixel_x = -2; + pixel_y = 12 + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "packageExternal"; + name = "Crate Returns"; + pixel_x = -5; + pixel_y = -3 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/effect/turf_decal/trimline/white/corner, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nnR" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -37578,6 +38057,17 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"npy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Dock Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "npY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -37615,6 +38105,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"nqC" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/iron, +/area/station/cargo/lobby) "nqD" = ( /obj/structure/closet{ name = "evidence closet 2" @@ -37687,23 +38184,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nrB" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/railing{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"nrM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/cafeteria) "nrV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/iron/dark, @@ -37738,11 +38218,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"nsh" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "nsk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37813,16 +38288,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"nsT" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "nsZ" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -37866,26 +38331,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/storage) -"ntm" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposal Access" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "ntA" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -37963,11 +38408,27 @@ /turf/open/floor/iron/white, /area/station/medical/office) "nut" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"nuw" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/cargo/lobby) "nuB" = ( /obj/structure/secure_safe/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -37996,6 +38457,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/side, /area/station/science/lobby) +"nuZ" = ( +/obj/machinery/digital_clock/directional/north{ + pixel_y = 2; + pixel_z = 8 + }, +/turf/closed/wall, +/area/station/cargo/sorting) "nvc" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -38030,13 +38498,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nwa" = ( -/obj/structure/closet/wardrobe/pjs, -/obj/effect/landmark/start/hangover/closet, -/obj/structure/sign/poster/official/random/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/commons/dorms) "nwl" = ( /obj/machinery/door/window/right/directional/north{ name = "Medical Deliveries"; @@ -38048,17 +38509,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/medical/storage) -"nwm" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/effect/landmark/start/quartermaster, -/obj/item/binoculars, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "nwq" = ( /obj/structure/table, /obj/machinery/firealarm/directional/south, @@ -38067,6 +38517,13 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"nwA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "nwC" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -38077,17 +38534,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, /turf/closed/wall, /area/station/engineering/atmos/pumproom) -"nwL" = ( -/obj/machinery/computer/upload/ai, -/obj/machinery/door/window/right/directional/south{ - name = "Upload Console Window"; - req_access = list("ai_upload") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) "nwT" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8 @@ -38115,6 +38561,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"nwZ" = ( +/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/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nxi" = ( /obj/machinery/conveyor_switch/oneway{ dir = 8; @@ -38138,7 +38593,9 @@ /obj/effect/landmark/navigate_destination/bar, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/reagent_containers/cup/rag, +/obj/item/reagent_containers/cup/rag{ + pixel_y = 8 + }, /obj/structure/table, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -38152,12 +38609,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nxG" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "nxH" = ( /obj/machinery/door/airlock{ name = "Bar" @@ -38185,18 +38636,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/prison/safe) -"nyb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "nyf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38210,6 +38649,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"nyB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "nyF" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/camera/directional/east{ @@ -38292,6 +38745,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos) +"nAc" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nAC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38507,10 +38968,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"nDG" = ( -/obj/item/radio/intercom/directional/south, -/turf/closed/wall, -/area/station/cargo/lobby) "nDO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38557,8 +39014,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"nEt" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nEB" = ( -/obj/structure/sign/poster/random/directional/east, /obj/machinery/requests_console/directional/south{ department = "Kitchen"; name = "Kitchen Requests Console" @@ -38587,6 +39051,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"nEH" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nET" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -38695,16 +39164,53 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/poster/random/directional/south, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"nGJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 16 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 13 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/soda_cans/random{ + pixel_x = -9; + pixel_y = 8 + }, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "nGK" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/wood, /area/station/commons/lounge) +"nGZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/maintenance/starboard/greater) +"nHl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/window/left/directional/south{ + name = "Cytology Pen"; + req_access = list("research") + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/science/cytology) "nHB" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38712,6 +39218,19 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron, /area/station/security/prison/garden) +"nHE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nHG" = ( /obj/structure/chair/office/light{ dir = 8 @@ -38727,9 +39246,11 @@ /obj/structure/table/glass, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 6 + pixel_y = 14 + }, +/obj/item/pai_card{ + pixel_y = 8 }, -/obj/item/pai_card, /obj/effect/turf_decal/tile/purple/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/science/lobby) @@ -38743,13 +39264,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"nJn" = ( -/obj/machinery/chem_dispenser, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 +"nJb" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2"; + name = "Unloading Conveyor"; + pixel_x = -13; + pixel_y = -4 }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nJo" = ( /obj/machinery/smartfridge/organ, /obj/machinery/door/poddoor/shutters/preopen{ @@ -38760,10 +39286,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"nJr" = ( -/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "nJu" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -38771,23 +39293,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) -"nJA" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/airlock_controller/incinerator_ordmix{ - pixel_x = -24 - }, -/obj/machinery/button/ignition/incinerator/ordmix{ - pixel_x = 24; - pixel_y = -6 - }, -/obj/machinery/button/door/incinerator_vent_ordmix{ - pixel_x = 24; - pixel_y = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "nJG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -38799,19 +39304,6 @@ /obj/effect/turf_decal/loading_area/white, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nJJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "nJL" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/machinery/atmospherics/components/tank/air, @@ -38841,6 +39333,10 @@ /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron, /area/station/security/brig) +"nKn" = ( +/obj/item/radio/intercom/directional/south, +/turf/closed/wall, +/area/station/cargo/lobby) "nKr" = ( /obj/docking_port/stationary{ dir = 8; @@ -38853,20 +39349,6 @@ }, /turf/open/space/basic, /area/space) -"nKu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_y = 48; - pixel_x = 9 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nKE" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, @@ -38920,17 +39402,16 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/wood, /area/station/service/library) -"nLx" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nLz" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"nLA" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/closed/wall, +/area/station/cargo/warehouse) "nLG" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral{ @@ -38938,10 +39419,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"nLZ" = ( -/obj/item/toy/beach_ball/branded, -/turf/open/space/basic, -/area/space/nearstation) +"nLV" = ( +/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) "nMf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38957,8 +39439,12 @@ "nMz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, /obj/machinery/button/door/directional/west{ id = "commissaryshutter"; name = "Commissary Shutter Control" @@ -38990,12 +39476,17 @@ /turf/open/floor/iron, /area/station/security/range) "nMY" = ( -/obj/structure/sign/poster/official/random/directional/south, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"nNb" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nNe" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -39003,14 +39494,6 @@ /obj/structure/flora/bush/stalky/style_random, /turf/open/floor/grass, /area/station/science/research) -"nNo" = ( -/obj/machinery/biogenerator, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/security/prison/garden) "nNw" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -39020,13 +39503,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"nNB" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "nNH" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -39167,13 +39643,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/garden) -"nPN" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "nQz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/trash/janitor_supplies, @@ -39211,21 +39680,6 @@ /obj/machinery/light/no_nightlight/directional/east, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/pumproom) -"nQR" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageSort2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/door/window/right/directional/east{ - name = "Crate Security Door"; - req_access = list("shipping") - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "nQX" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -39273,14 +39727,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"nRQ" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/delivery, -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/ordnance/directional/south, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "nRU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39298,11 +39744,6 @@ "nSe" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"nSn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "nSs" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 @@ -39359,6 +39800,11 @@ /obj/effect/turf_decal/trimline/dark_red/filled/line, /turf/open/floor/iron, /area/station/security/warden) +"nUl" = ( +/obj/vehicle/sealed/mecha/ripley/cargo, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/iron/recharge_floor, +/area/station/cargo/warehouse) "nUp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -39428,6 +39874,12 @@ /obj/item/bouquet/poppy, /turf/open/floor/plating/airless, /area/space/nearstation) +"nWe" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine, +/area/station/science/ordnance/burnchamber) "nWk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -39464,6 +39916,11 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space, /area/space/nearstation) +"nXf" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/cargo/storage) "nXm" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -39471,6 +39928,12 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"nXB" = ( +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/machinery/light/directional/east, +/obj/machinery/computer/security/telescreen/interrogation/directional/east, +/turf/open/floor/iron, +/area/station/security/brig) "nXG" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/computer/slot_machine{ @@ -39533,22 +39996,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"nYO" = ( -/obj/item/reagent_containers/spray/plantbgone, -/obj/item/reagent_containers/spray/pestspray{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/bottle/nutrient/ez, -/obj/item/reagent_containers/cup/bottle/nutrient/rh{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "nYU" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -39585,6 +40032,14 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/service/library) +"nZs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "nZt" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/item/clothing/suit/hooded/wintercoat/engineering, @@ -39613,16 +40068,6 @@ /obj/machinery/bookbinder, /turf/open/floor/wood, /area/station/service/library) -"nZL" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) -"oac" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/lobby) "oae" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -39756,7 +40201,6 @@ c_tag = "Cargo Bay - Drone Launch Room"; pixel_x = 14 }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/cargo/drone_bay) "obG" = ( @@ -39777,11 +40221,15 @@ /obj/effect/turf_decal/siding{ dir = 4 }, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/item/taperecorder{ pixel_x = 6; - pixel_y = 10 + pixel_y = 18 }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 @@ -39811,9 +40259,8 @@ /obj/structure/table/wood, /obj/machinery/microwave{ pixel_x = 1; - pixel_y = 6 + pixel_y = 14 }, -/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/cafeteria) "ocC" = ( @@ -39872,17 +40319,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"ocS" = ( -/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{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "odh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -39920,12 +40356,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, /turf/open/floor/iron, /area/station/service/hydroponics) -"oet" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "oew" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) @@ -39984,7 +40414,9 @@ /turf/open/floor/iron/white, /area/station/medical/chemistry) "ogL" = ( -/obj/structure/mirror/directional/north, +/obj/structure/mirror/directional/north{ + pixel_y = 8 + }, /obj/structure/sink/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/trash/soap{ @@ -40056,6 +40488,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark/telecomms, /area/station/science/server) +"ohO" = ( +/turf/closed/wall, +/area/station/cargo/lobby) "ohW" = ( /obj/structure/rack, /obj/item/tank/internals/anesthetic, @@ -40085,6 +40520,11 @@ /obj/item/toy/cattoy, /turf/open/floor/plating, /area/station/medical/abandoned) +"oii" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/turf/open/floor/iron, +/area/station/cargo/storage) "oip" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -40110,6 +40550,19 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"ojd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "ojo" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -40128,47 +40581,14 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"ojz" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Space Bridge Access" - }, -/obj/machinery/button/door/directional/north{ - id = "supplybridge"; - name = "Shuttle Bay Space Bridge Control" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"ojW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"okj" = ( -/obj/structure/cable, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Vault"; - network = list("vault") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"okp" = ( +/obj/machinery/computer/security/telescreen/tcomms/directional/east, +/obj/machinery/computer/telecomms/monitor{ + dir = 8; + network = "tcommsat" }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/turf/open/floor/iron/grimy, +/area/station/tcommsat/computer) "okP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40256,17 +40676,8 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/service) -"omd" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) "ome" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40282,6 +40693,13 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"omp" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/engineering/main) "omA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -40294,11 +40712,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"omV" = ( -/obj/effect/spawner/random/structure/grille, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "onf" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -40353,7 +40766,6 @@ /area/station/hallway/secondary/exit/departure_lounge) "onN" = ( /obj/structure/table/wood, -/obj/structure/sign/poster/official/random/directional/south, /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/commons/vacant_room/office) @@ -40421,13 +40833,14 @@ /obj/effect/landmark/start/mime, /turf/open/floor/carpet, /area/station/service/theater) -"opF" = ( -/obj/machinery/hydroponics/soil, -/obj/item/cultivator, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/grass, -/area/station/security/prison/garden) +"ops" = ( +/obj/structure/filingcabinet, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "opG" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/north, @@ -40493,6 +40906,12 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/plating, /area/station/engineering/atmos) +"orl" = ( +/obj/machinery/sparker/directional/north{ + id = "Xenobio" + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "orp" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/light/small/directional/east, @@ -40555,10 +40974,6 @@ /turf/open/space, /area/space/nearstation) "osH" = ( -/obj/structure/secure_safe/hos{ - pixel_x = 36; - pixel_y = 28 - }, /obj/machinery/status_display/evac/directional/north, /obj/structure/cable, /turf/open/floor/carpet, @@ -40593,18 +41008,19 @@ /obj/structure/table, /obj/item/computer_disk{ pixel_x = -8; - pixel_y = -3 + pixel_y = 5 }, /obj/item/computer_disk{ pixel_x = -5; - pixel_y = 8 + pixel_y = 16 }, /obj/effect/turf_decal/siding/purple{ dir = 9 }, /obj/machinery/airalarm/directional/west, /obj/item/computer_disk/ordnance{ - pixel_x = 1 + pixel_x = 1; + pixel_y = 8 }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) @@ -40648,16 +41064,12 @@ }, /turf/open/floor/iron, /area/station/science/lab) -"otG" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) +"otF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "otI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40675,17 +41087,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/security/prison/work) -"otQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "ouj" = ( /obj/structure/bed/medical/emergency, /obj/structure/bed/medical/emergency, @@ -40719,21 +41120,6 @@ /obj/item/reagent_containers/cup/glass/bottle/goldschlager, /turf/open/space/basic, /area/space/nearstation) -"ouu" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Cargo Bay - Fore" - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ouM" = ( /obj/structure/sign/painting/library{ pixel_y = -32 @@ -40790,6 +41176,13 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos/storage/gas) +"ovq" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/prison/garden) "ovK" = ( /obj/structure/closet/secure_closet/hop, /turf/open/floor/wood, @@ -40887,9 +41280,11 @@ /obj/structure/table, /obj/item/pipe_dispenser{ pixel_x = 3; - pixel_y = 7 + pixel_y = 15 + }, +/obj/item/pipe_dispenser{ + pixel_y = 8 }, -/obj/item/pipe_dispenser, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) @@ -40915,20 +41310,23 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"oxX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "oyj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"oyu" = ( +/obj/structure/sign/map/left{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; + icon_state = "map-left-MS"; + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "oyx" = ( /obj/structure/toilet{ pixel_y = 8 @@ -40945,6 +41343,13 @@ }, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) +"oyC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "oyO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40963,6 +41368,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/service/bar) +"ozg" = ( +/mob/living/basic/chicken{ + name = "Featherbottom"; + real_name = "Featherbottom" + }, +/obj/structure/flora/bush/fullgrass, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "ozm" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -40979,6 +41392,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"ozF" = ( +/obj/machinery/light/small/directional/west, +/obj/item/clothing/mask/animal/horsehead, +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/south, +/obj/item/cigarette/pipe, +/obj/item/clothing/mask/fakemoustache, +/turf/open/floor/wood, +/area/station/service/theater) "ozX" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40993,6 +41415,12 @@ /obj/item/kirbyplants/organic/plant14, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) +"oAt" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "oAu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41061,11 +41489,11 @@ }, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 7 }, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 10 }, /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, @@ -41080,12 +41508,28 @@ /obj/item/radio/intercom/chapel/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"oCj" = ( +/obj/effect/turf_decal/bot, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "oCn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/bar/opposingcorners, /mob/living/carbon/human/species/monkey/punpun, /turf/open/floor/iron, /area/station/service/bar) +"oCq" = ( +/obj/structure/table/wood, +/obj/item/cigarette/pipe, +/turf/open/floor/wood, +/area/station/commons/lounge) "oCE" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, @@ -41098,26 +41542,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"oCO" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, -/mob/living/basic/chicken{ - name = "Kentucky"; - real_name = "Kentucky" - }, -/obj/structure/flora/grass/jungle/b/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "oCR" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/suit_storage_unit/security, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/brig) -"oCX" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology/hallway) "oDc" = ( /obj/structure/showcase/cyborg/old{ dir = 8; @@ -41127,6 +41557,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"oDd" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light_switch/directional/south, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "oDl" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -41136,34 +41573,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"oDH" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/crowbar, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 4; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"oDJ" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall, -/area/station/cargo/storage) "oDW" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/machinery/firealarm/directional/south, @@ -41195,6 +41604,13 @@ }, /turf/open/floor/iron, /area/station/security/office) +"oEn" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "oEq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/cable, @@ -41290,10 +41706,14 @@ }, /obj/item/folder/red{ pixel_x = 4; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 }, -/obj/item/paper, -/obj/item/pen, /turf/open/floor/plating, /area/station/security/checkpoint/medical) "oFH" = ( @@ -41341,9 +41761,11 @@ /area/station/maintenance/starboard/aft) "oFT" = ( /obj/structure/table, -/obj/item/integrated_circuit/loaded/speech_relay, +/obj/item/integrated_circuit/loaded/speech_relay{ + pixel_y = 8 + }, /obj/item/integrated_circuit/loaded/hello_world{ - pixel_y = 2; + pixel_y = 10; pixel_x = 3 }, /turf/open/floor/iron, @@ -41370,14 +41792,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/medical/medbay/central) -"oGj" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/box, -/obj/machinery/portable_atmospherics/canister, -/obj/item/radio/intercom/directional/north, -/obj/structure/sign/warning/gas_mask/directional/east, -/turf/open/floor/iron, -/area/station/science/xenobiology) "oGn" = ( /obj/machinery/door/airlock/maintenance{ name = "Fuel Closet" @@ -41393,31 +41807,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/space/basic, /area/space/nearstation) -"oGH" = ( -/obj/machinery/light/directional/east, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paper_bin{ - pixel_x = -11; - pixel_y = 7 - }, -/obj/item/pen{ - pixel_x = -11; - pixel_y = 7 - }, -/obj/item/hand_labeler{ - pixel_x = -10; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/dark_red/filled/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/prison/directional/east, -/turf/open/floor/iron, -/area/station/security/warden) "oGK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41465,6 +41854,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) +"oHn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "oHw" = ( /obj/structure/cable, /turf/open/floor/iron/white/corner, @@ -41545,6 +41943,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"oJi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "oJj" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -41704,23 +42110,15 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"oMh" = ( -/obj/structure/filingcabinet, -/obj/machinery/computer/security/telescreen/minisat/directional/east, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +"oMa" = ( +/obj/machinery/computer/security/telescreen/prison/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, +/obj/effect/landmark/event_spawn, /turf/open/floor/iron, -/area/station/security/checkpoint/engineering) -"oMx" = ( -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Dock Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/cargo/miningoffice) +/area/station/security/office) "oMA" = ( /turf/closed/wall/r_wall, /area/station/science/cytology) @@ -41741,6 +42139,19 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"oMX" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/turf/open/floor/plating, +/area/station/cargo/sorting) "oMY" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -41750,6 +42161,14 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/commons/locker) +"oNm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "oNs" = ( /turf/open/floor/engine, /area/station/engineering/supermatter) @@ -41764,6 +42183,12 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) +"oNG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "oNP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -41918,6 +42343,10 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) +"oQV" = ( +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "oQZ" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=1.5-Fore-Central"; @@ -41928,7 +42357,7 @@ "oRn" = ( /obj/structure/table/wood, /obj/machinery/recharger{ - pixel_y = 4 + pixel_y = 7 }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) @@ -41954,26 +42383,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"oRO" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) -"oRR" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Outer Vault"; - name = "storage wing camera"; - network = list("ss13","vault") - }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/structure/window/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "oRV" = ( /obj/structure/table, /obj/machinery/newscaster/directional/east, @@ -42037,16 +42446,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"oTw" = ( -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "oTD" = ( /obj/structure/frame/computer, /turf/open/floor/plating/airless, @@ -42069,6 +42468,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"oTW" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4; + name = "Quartermaster Junction" + }, +/obj/effect/mapping_helpers/mail_sorting/supply/qm_office, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "oUh" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/stripes/corner{ @@ -42102,12 +42510,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"oUB" = ( -/obj/effect/turf_decal/bot, -/obj/effect/landmark/start/hangover, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "oUE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42178,14 +42580,6 @@ "oWk" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) -"oWm" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/computer/security/telescreen/engine/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "oWF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -42206,7 +42600,6 @@ pixel_y = 3 }, /obj/item/stack/sheet/iron/twenty, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/aft) "oWT" = ( @@ -42337,6 +42730,12 @@ "oYZ" = ( /turf/closed/wall, /area/station/command/heads_quarters/rd) +"oZa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "oZj" = ( /obj/structure/table/wood, /obj/item/storage/photo_album/library, @@ -42413,31 +42812,11 @@ "paD" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) -"paQ" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/cargo/request{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"paU" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "pbb" = ( /obj/structure/table, -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -42804,7 +43183,9 @@ /area/station/service/kitchen/coldroom) "pic" = ( /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/effect/turf_decal/bot{ dir = 1 }, @@ -42918,13 +43299,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) -"pkF" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pkH" = ( /obj/structure/rack, /obj/item/restraints/handcuffs, @@ -42949,14 +43323,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"pkM" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pkQ" = ( /obj/machinery/door/airlock/external{ name = "Security External Airlock" @@ -42967,13 +43333,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/execution/transfer) -"pkT" = ( -/obj/effect/mapping_helpers/broken_floor, -/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/fore) "plp" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Lab - Pen #1"; @@ -43075,6 +43434,16 @@ /obj/item/holosign_creator/robot_seat/restaurant, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"pna" = ( +/obj/structure/cable, +/obj/structure/closet/crate, +/obj/effect/turf_decal/bot/left, +/obj/structure/window/spawner/directional/east, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "pnk" = ( /obj/structure/chair{ dir = 4 @@ -43133,7 +43502,9 @@ /area/station/engineering/main) "pof" = ( /obj/structure/table/reinforced, -/obj/effect/spawner/random/entertainment/lighter, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) @@ -43229,11 +43600,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"pqc" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "pqi" = ( /obj/structure/chair, /obj/machinery/light/directional/north, @@ -43306,12 +43672,16 @@ /turf/open/floor/iron, /area/station/security/brig) "prx" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Virology Airlock"; - network = list("ss13","medbay") - }, /obj/structure/closet/l3closet, /obj/effect/turf_decal/tile/green/anticorner/contrasted, +/obj/machinery/door_buttons/access_button{ + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology"); + dir = 8; + pixel_y = 6 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "pry" = ( @@ -43387,21 +43757,27 @@ /area/station/science/xenobiology) "psv" = ( /obj/item/stack/sheet/rglass{ - amount = 50 + amount = 50; + pixel_y = 8 }, /obj/item/stack/sheet/rglass{ - amount = 50 + amount = 50; + pixel_y = 8 + }, +/obj/item/stack/rods/fifty{ + pixel_y = 8 + }, +/obj/item/stack/rods/fifty{ + pixel_y = 8 }, -/obj/item/stack/rods/fifty, -/obj/item/stack/rods/fifty, /obj/structure/table, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; - pixel_y = -1 + pixel_y = 7 }, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; - pixel_y = -1 + pixel_y = 7 }, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -43415,10 +43791,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) -"psy" = ( -/obj/machinery/keycard_auth/directional/east, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hop) "psz" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -43427,6 +43799,16 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"psM" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/security/qm{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "psT" = ( /turf/open/floor/iron/dark, /area/station/science/lab) @@ -43496,7 +43878,9 @@ /area/station/engineering/atmos) "pur" = ( /obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/gambling, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_y = 8 + }, /turf/open/floor/wood, /area/station/commons/lounge) "puG" = ( @@ -43542,10 +43926,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/security/brig) -"puW" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "puZ" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -43553,6 +43933,35 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"pvj" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/south{ + pixel_x = 6 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/cmo/directional/west, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) +"pvl" = ( +/obj/machinery/light/directional/south, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/wrench, +/obj/item/multitool, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/incident_display/bridge/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pvm" = ( /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, @@ -43576,6 +43985,13 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"pvZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "pwm" = ( /obj/machinery/telecomms/processor/preset_four, /turf/open/floor/circuit/telecomms/mainframe, @@ -43592,6 +44008,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"pwL" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/cargo/storage) "pwM" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -43697,13 +44118,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"pyR" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch/directional/south, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "pyU" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -43822,10 +44236,10 @@ /area/station/commons/lounge) "pBs" = ( /obj/structure/sign/warning/cold_temp/directional/north{ - name = "\improper CRYOGENICS" + name = "\improper CRYOGENICS"; + pixel_y = -4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "pBG" = ( @@ -43888,19 +44302,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/medical/break_room) -"pCs" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Mailroom" - }, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/white/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pCt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43926,7 +44327,6 @@ "pCL" = ( /obj/effect/turf_decal/delivery, /obj/structure/sink/directional/east, -/obj/structure/sign/poster/official/cleanliness/directional/south, /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -43964,6 +44364,12 @@ }, /turf/open/floor/iron/white/side, /area/station/science/lobby) +"pDw" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "pDx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -44072,6 +44478,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"pFF" = ( +/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, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pFG" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -44214,11 +44628,6 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) -"pHK" = ( -/obj/structure/sign/warning/vacuum/external/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "pHS" = ( /obj/structure/light_construct/directional/east, /turf/open/floor/wood, @@ -44364,17 +44773,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/machinery/button/door/directional/south{ - id = "bridge blast"; - name = "Bridge Access Blast Door Control"; - req_access = list("command") - }, -/obj/machinery/button/door/directional/south{ - id = "council blast"; - name = "Council Chamber Blast Door Control"; - pixel_y = -34; - req_access = list("command") - }, /turf/open/floor/carpet, /area/station/command/bridge) "pKa" = ( @@ -44492,6 +44890,11 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"pNa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "pNb" = ( /obj/effect/spawner/random/maintenance, /obj/structure/cable, @@ -44511,18 +44914,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"pNk" = ( -/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/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "pNp" = ( /obj/machinery/light/small/broken/directional/west, /obj/structure/table, @@ -44530,11 +44921,6 @@ /obj/item/clothing/mask/gas/cyborg, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"pNC" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/construction/storage_wing) "pNR" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, @@ -44570,18 +44956,18 @@ }, /obj/item/assembly/signaler{ pixel_x = 6; - pixel_y = 5 + pixel_y = 13 }, /obj/item/assembly/signaler{ pixel_x = -2; - pixel_y = -2 + pixel_y = 5 }, /obj/item/assembly/signaler{ pixel_x = -8; - pixel_y = 5 + pixel_y = 13 }, /obj/item/assembly/signaler{ - pixel_y = 8 + pixel_y = 16 }, /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -44615,7 +45001,9 @@ pixel_x = -3; pixel_y = 7 }, -/obj/item/pen, +/obj/item/pen{ + pixel_y = 8 + }, /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/command/bridge) @@ -44675,15 +45063,10 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/station/security/prison/safe) -"pQh" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/external{ - name = "Solar Maintenance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/solars/port/fore) +"pPU" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "pQj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -44714,6 +45097,19 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"pQw" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "pQy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -44724,7 +45120,9 @@ "pQC" = ( /obj/structure/table/wood, /obj/machinery/firealarm/directional/south, -/obj/item/storage/photo_album/bar, +/obj/item/storage/photo_album/bar{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -44748,7 +45146,6 @@ /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) "pQO" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -44758,6 +45155,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"pQX" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "pRb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44785,6 +45189,10 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"pRr" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "pRu" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, @@ -44800,14 +45208,22 @@ /obj/item/reagent_containers/spray/pepper, /turf/open/floor/iron, /area/station/security/execution/transfer) -"pRM" = ( -/obj/structure/window/spawner/directional/south, -/mob/living/basic/cow{ - name = "Betsy"; - real_name = "Betsy" +"pRQ" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/structure/table, +/obj/item/storage/box/bandages{ + pixel_y = 14; + pixel_x = 4 }, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) +/obj/effect/spawner/random/entertainment/cigarette_pack{ + pixel_x = -6; + pixel_y = 16 + }, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "pSa" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -44822,6 +45238,24 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"pSq" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "Disposals" + }, +/obj/structure/plasticflaps, +/obj/machinery/door/window/right/directional/south{ + name = "Delivery Door"; + req_access = list("cargo") + }, +/obj/machinery/conveyor{ + dir = 1; + id = "garbage" + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "pSw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44841,17 +45275,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space, /area/space/nearstation) -"pSY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/tank_holder/extinguisher, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"pTf" = ( -/obj/structure/cable, -/turf/open/floor/iron/goonplaque, -/area/station/hallway/primary/port) "pTm" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -44909,15 +45332,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/central) -"pUk" = ( -/obj/machinery/camera/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "pUl" = ( /obj/machinery/shower/directional/east, /obj/effect/decal/cleanable/dirt, @@ -44952,10 +45366,16 @@ /obj/structure/table, /obj/effect/turf_decal/siding/white/corner, /obj/machinery/firealarm/directional/north, -/obj/item/clipboard, -/obj/item/paper, -/obj/item/pen, -/obj/machinery/light/small/directional/north, +/obj/item/clipboard{ + pixel_y = 8 + }, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/medical/office) "pUS" = ( @@ -44980,36 +45400,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/brig) -"pVV" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/disposal/bin{ - name = "Jim Norton's Quebecois Coffee disposal unit" - }, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "pVZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"pWb" = ( -/obj/machinery/light/directional/west, -/obj/machinery/piratepad/civilian, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "pWA" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=2.1-Leaving-Storage"; @@ -45069,6 +45465,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"pWW" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "pWX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -45115,6 +45519,31 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/brig) +"pXF" = ( +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/button/door/table{ + pixel_x = -6; + pixel_y = 12; + id = "bridge blast"; + name = "Bridge Access Blast Door Control"; + req_access = list("command") + }, +/obj/machinery/button/door/table{ + pixel_x = 6; + pixel_y = 12; + id = "gateshutter"; + name = "Gateway Shutter Control"; + req_access = list("command") + }, +/obj/machinery/button/door/table{ + pixel_y = 3; + id = "evashutter"; + name = "E.V.A. Storage Shutter Control"; + req_access = list("command") + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pXM" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue, @@ -45158,10 +45587,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pYM" = ( -/obj/machinery/status_display/supply, -/turf/closed/wall, -/area/station/cargo/storage) "pZc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45194,6 +45619,22 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"pZU" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) +"pZV" = ( +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pZW" = ( /obj/structure/lattice, /obj/structure/sign/nanotrasen{ @@ -45216,6 +45657,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"qat" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qaw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -45315,16 +45764,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"qcD" = ( -/obj/structure/rack, -/obj/item/aicard, -/obj/item/radio/off, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "qcP" = ( /obj/effect/landmark/blobstart, /obj/effect/mapping_helpers/burnt_floor, @@ -45414,22 +45853,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qeQ" = ( -/obj/machinery/turretid{ - icon_state = "control_stun"; - name = "AI Chamber turret control"; - pixel_x = 3; - pixel_y = -23 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/west{ - name = "Primary AI Core Access"; - req_access = list("ai_upload") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) +"qeS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "qeZ" = ( /obj/effect/decal/cleanable/oil, /obj/structure/cable, @@ -45533,15 +45963,6 @@ /obj/machinery/power/supermatter_crystal/engine, /turf/open/floor/engine, /area/station/engineering/supermatter) -"qgl" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qgn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -45722,9 +46143,10 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/sign/poster/random/directional/east, /obj/structure/table/wood, -/obj/item/food/pie/cream, +/obj/item/food/pie/cream{ + pixel_y = 8 + }, /turf/open/floor/wood/large, /area/station/service/theater) "qjf" = ( @@ -45764,18 +46186,21 @@ /obj/effect/mapping_helpers/airlock/access/any/command/minisat, /turf/open/floor/plating, /area/station/ai_monitored/aisat/exterior) -"qjH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"qjM" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/sorting) +"qjN" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/filingcabinet/filingcabinet, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/cargo/sorting) "qkl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -45798,6 +46223,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) +"qks" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qkA" = ( /obj/machinery/computer/security, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -45825,11 +46259,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"qlz" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qlG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -45849,12 +46278,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"qlW" = ( -/obj/structure/cable, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "qmf" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/table/wood, @@ -45865,9 +46288,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) -"qmi" = ( -/turf/open/floor/iron/dark/textured_large, -/area/station/science/cytology) "qmu" = ( /obj/machinery/modular_computer/preset/id{ dir = 8 @@ -45890,14 +46310,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"qmE" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "qmO" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/iron/dark, @@ -45910,13 +46322,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"qnj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "qno" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -45935,7 +46340,6 @@ /obj/structure/cable, /obj/effect/spawner/random/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) "qnt" = ( @@ -46002,14 +46406,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qoY" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "qph" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/spawner/random/medical/patient_stretcher, @@ -46027,6 +46423,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"qps" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "qpD" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, @@ -46041,36 +46444,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/library) -"qqr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"qqs" = ( -/obj/structure/table, -/obj/item/multitool{ - pixel_x = 4; - pixel_y = 12 - }, -/obj/item/multitool{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = -4 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -4; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/obj/item/multitool{ - pixel_y = 10 - }, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos) "qrg" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/circuit/green{ @@ -46101,12 +46474,44 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"qrw" = ( -/obj/structure/bed/dogbed/renault, -/mob/living/basic/pet/fox/renault, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain/private) +"qrB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/stamp/head/qm{ + pixel_x = 1; + pixel_y = 20 + }, +/obj/item/stamp/granted{ + pixel_x = -7; + pixel_y = 20 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 13 + }, +/obj/item/stamp/void{ + pixel_x = 1; + pixel_y = 13 + }, +/obj/effect/spawner/random/entertainment/money_medium{ + pixel_y = 2; + pixel_x = -3 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/clipboard{ + pixel_x = 10; + pixel_y = 16 + }, +/obj/item/coin/gold{ + pixel_y = 3; + pixel_x = 10 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "qrF" = ( /obj/machinery/computer/exodrone_control_console{ dir = 1 @@ -46122,7 +46527,8 @@ /area/station/cargo/bitrunning/den) "qrO" = ( /obj/machinery/chem_dispenser/drinks{ - dir = 1 + dir = 1; + pixel_y = 8 }, /obj/machinery/newscaster/directional/south, /obj/structure/table, @@ -46243,12 +46649,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"qtq" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/crap, -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/station/command/corporate_showroom) +"qtu" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "qua" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 1 @@ -46260,6 +46675,15 @@ /obj/structure/marker_beacon/burgundy, /turf/open/space/basic, /area/space/nearstation) +"quh" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "qul" = ( /obj/machinery/power/terminal, /obj/effect/turf_decal/stripes/line, @@ -46282,12 +46706,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/holding_cell) -"quT" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/light/directional/south, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/storage) +"qvi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "qvJ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -46308,11 +46732,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"qvV" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/turf_decal/siding/thinplating_new, -/turf/open/floor/iron, -/area/station/cargo/storage) "qvY" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -46341,10 +46760,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"qwI" = ( -/obj/structure/sign/departments/chemistry/pharmacy, -/turf/closed/wall, -/area/station/medical/pharmacy) "qwK" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, @@ -46487,11 +46902,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"qzC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qzE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -46538,6 +46948,20 @@ dir = 8 }, /area/station/medical/medbay/lobby) +"qAi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/status_display/evac/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "qAA" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/computer/security/mining{ @@ -46633,21 +47057,10 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) -"qCm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qCv" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"qCx" = ( -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qCC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -46671,17 +47084,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/cryo) -"qCM" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/external{ - name = "Solar Maintenance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "qCP" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -46690,19 +47092,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) -"qCS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"qCY" = ( -/obj/structure/sign/directions/evac, -/turf/closed/wall, -/area/station/maintenance/department/science/central) "qDa" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, @@ -46761,15 +47150,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"qDW" = ( -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "qEb" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel, @@ -46837,6 +47217,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"qFR" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "qFU" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, @@ -46908,50 +47302,16 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/port) -"qHa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "qHh" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 9 }, /turf/open/floor/iron, /area/station/engineering/atmos) -"qHm" = ( -/obj/machinery/pdapainter/engineering, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/ce/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "qHs" = ( /obj/structure/sign/warning/docking, /turf/closed/wall, /area/station/hallway/secondary/entry) -"qHt" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/table, -/obj/item/flashlight/lamp{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/folder/yellow{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/item/pen/blue{ - pixel_x = 4; - pixel_y = -3 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "qHK" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -46967,7 +47327,6 @@ /turf/closed/wall, /area/station/hallway/secondary/command) "qIp" = ( -/obj/structure/sign/poster/official/cleanliness/directional/east, /obj/effect/turf_decal/bot, /obj/machinery/camera/directional/north{ c_tag = "Jim Norton's Quebecois Coffee" @@ -46985,6 +47344,7 @@ /obj/item/reagent_containers/condiment/soymilk, /obj/item/reagent_containers/condiment/milk, /obj/structure/closet/secure_closet/freezer/empty/open, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/service/cafeteria) "qIq" = ( @@ -47010,6 +47370,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"qIF" = ( +/obj/machinery/light/small/dim/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "qIL" = ( /obj/machinery/light/small/directional/east, /obj/machinery/camera/directional/east{ @@ -47065,11 +47430,21 @@ /area/station/security/prison/visit) "qJn" = ( /obj/machinery/chem_master, -/obj/structure/noticeboard/directional/east, /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/machinery/light/small/directional/east, +/obj/machinery/button/door/directional/east{ + name = "pharmacy shutters control"; + id = "pharmacy_shutters" + }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"qJt" = ( +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "qJH" = ( /obj/machinery/vending/autodrobe/all_access, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -47106,7 +47481,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "qKD" = ( -/obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -47137,11 +47511,16 @@ "qLk" = ( /obj/structure/table/glass, /obj/item/paper_bin, -/obj/item/clipboard, -/obj/item/toy/figure/cmo, +/obj/item/clipboard{ + pixel_y = 8 + }, +/obj/item/toy/figure/cmo{ + pixel_y = 8 + }, /obj/structure/cable, /obj/item/stamp/head/cmo{ - pixel_x = -9 + pixel_x = -9; + pixel_y = 8 }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) @@ -47160,7 +47539,6 @@ pixel_y = 2 }, /obj/item/lipstick/black, -/obj/structure/sign/poster/contraband/random/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/theater) @@ -47180,6 +47558,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"qLI" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qLJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -47251,17 +47634,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/machinery/button/door/directional/south{ - id = "gateshutter"; - name = "Gateway Shutter Control"; - pixel_y = -34; - req_access = list("command") - }, -/obj/machinery/button/door/directional/south{ - id = "evashutter"; - name = "E.V.A. Storage Shutter Control"; - req_access = list("command") - }, /turf/open/floor/carpet, /area/station/command/bridge) "qMm" = ( @@ -47271,6 +47643,19 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/atmos) +"qMB" = ( +/obj/machinery/disposal/delivery_chute, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/east, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "qMP" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -47325,6 +47710,14 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"qNn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qNw" = ( /obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/iron/white, @@ -47362,17 +47755,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"qNO" = ( -/obj/structure/table/glass, -/obj/item/folder/blue{ - pixel_y = 3 - }, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/obj/effect/turf_decal/tile/blue, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "qNV" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47471,13 +47853,23 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"qOZ" = ( -/obj/machinery/requests_console/directional/south{ - department = "Mining"; - name = "Mining Requests Console" +"qOY" = ( +/obj/structure/table, +/obj/item/papercutter{ + pixel_x = 9; + pixel_y = 12 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 15 }, +/obj/item/stamp/granted{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, -/area/station/cargo/miningoffice) +/area/station/cargo/sorting) "qPs" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/indigo, @@ -47609,21 +48001,6 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"qRq" = ( -/obj/structure/table/glass, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "qRz" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/spawner/random/trash/janitor_supplies, @@ -47726,6 +48103,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/storage/primary) +"qSs" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/disposal/delivery_chute, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "qSP" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 1 @@ -47776,15 +48164,15 @@ }, /obj/structure/table/wood, /obj/item/food/cherrycupcake{ - pixel_y = 10 + pixel_y = 18 }, /obj/item/food/muffin/berry{ pixel_x = 18; - pixel_y = 9 + pixel_y = 17 }, /obj/item/food/cakeslice/pound_cake_slice{ pixel_x = 4; - pixel_y = -5 + pixel_y = 3 }, /obj/structure/window/spawner/directional/south, /obj/structure/window/spawner/directional/west, @@ -47811,21 +48199,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"qTL" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Cargo Bay Bridge Access" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qTR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -47840,9 +48213,12 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) "qTU" = ( -/obj/item/retractor, +/obj/item/retractor{ + pixel_y = 8 + }, /obj/item/hemostat{ - pixel_x = -10 + pixel_x = -10; + pixel_y = 8 }, /obj/structure/table, /obj/effect/turf_decal/tile/purple/anticorner/contrasted, @@ -47858,6 +48234,10 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/white, /area/station/science/lobby) +"qUN" = ( +/obj/structure/cable, +/turf/open/floor/iron/goonplaque, +/area/station/hallway/primary/port) "qUQ" = ( /obj/structure/chair{ dir = 8 @@ -47898,9 +48278,10 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"qWg" = ( -/obj/structure/lattice, -/obj/structure/sign/warning/secure_area/directional/east, +"qVB" = ( +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, /turf/open/space/basic, /area/space/nearstation) "qWm" = ( @@ -48055,6 +48436,17 @@ /obj/structure/closet, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"qYb" = ( +/obj/structure/closet{ + name = "evidence closet 3" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/item/poster/traitor, +/turf/open/floor/iron/dark, +/area/station/security/evidence) "qYd" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -48074,7 +48466,7 @@ /obj/structure/table/reinforced, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 6 + pixel_y = 14 }, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, @@ -48085,11 +48477,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) -"qYC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/ai_monitored/command/nuke_storage) "qZa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48103,6 +48490,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"qZi" = ( +/obj/machinery/computer/records/security{ + dir = 4 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/west, +/obj/machinery/requests_console/directional/north{ + department = "Head of Security's Desk"; + name = "Head of Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/button/door/directional/north{ + id = "hosspace"; + name = "Space Shutters Control"; + pixel_y = -5 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "qZn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48135,11 +48541,6 @@ "qZI" = ( /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"qZO" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "qZV" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance" @@ -48205,7 +48606,9 @@ /turf/open/floor/plating/airless, /area/station/solars/port/fore) "raJ" = ( -/obj/structure/secure_safe/caps_spare, +/obj/structure/secure_safe/caps_spare{ + pixel_y = 7 + }, /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/station/command/bridge) @@ -48213,21 +48616,16 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"raN" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "raT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/chair/stool/directional/west, /turf/open/floor/wood, /area/station/commons/lounge) -"rbd" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/effect/turf_decal/siding/purple{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "rbi" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -48236,9 +48634,15 @@ "rbs" = ( /obj/structure/cable, /obj/structure/table, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/suture, +/obj/item/stack/medical/mesh{ + pixel_y = 8 + }, +/obj/item/stack/medical/gauze{ + pixel_y = 8 + }, +/obj/item/stack/medical/suture{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -48264,12 +48668,11 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/structure/sign/poster/official/wtf_is_co2/directional/north, +/obj/structure/sign/poster/official/moth_piping/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) "rbF" = ( /obj/machinery/mass_driver/chapelgun, -/obj/structure/sign/warning/vacuum/external/directional/north, /obj/machinery/light/small/directional/north, /obj/item/gps, /obj/effect/turf_decal/stripes/line{ @@ -48312,10 +48715,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"rcR" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall, -/area/station/cargo/lobby) "rcW" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -48389,7 +48788,8 @@ /obj/structure/table, /obj/machinery/fax{ fax_name = "Service Hallway"; - name = "Service Fax Machine" + name = "Service Fax Machine"; + pixel_y = 8 }, /obj/effect/turf_decal/tile/bar{ dir = 1 @@ -48495,6 +48895,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/lab) +"rgV" = ( +/obj/structure/rack, +/obj/item/aicard, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "rgZ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -48516,6 +48926,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"rhs" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "rhx" = ( /obj/machinery/door/window/left/directional/north{ name = "Inner Pipe Access"; @@ -48532,17 +48948,6 @@ /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/command/teleporter) -"rhL" = ( -/obj/machinery/computer/security/mining, -/obj/machinery/keycard_auth/directional/north, -/obj/item/radio/intercom/directional/north{ - pixel_y = 34 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "rhU" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/structure/crate, @@ -48575,11 +48980,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, /area/station/solars/port/fore) -"riU" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/caution, -/turf/open/floor/plating, -/area/station/cargo/storage) "riW" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/door/window/left/directional/north{ @@ -48644,6 +49044,12 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"rka" = ( +/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/construction/storage_wing) "rke" = ( /obj/machinery/recharge_station, /turf/open/floor/plating, @@ -48656,32 +49062,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"rkx" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stack/cable_coil, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "rkA" = ( /obj/structure/table, /obj/item/cultivator, @@ -48720,8 +49100,12 @@ /obj/machinery/airalarm/directional/south, /obj/structure/cable, /obj/structure/table/glass, -/obj/item/clothing/glasses/science, -/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science{ + pixel_y = 6 + }, +/obj/item/clothing/glasses/science{ + pixel_y = 8 + }, /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -48746,14 +49130,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rlr" = ( -/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/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) "rlu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48786,13 +49162,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/lawyer, /turf/open/floor/plating, /area/station/maintenance/fore) -"rmL" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rmO" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -48804,17 +49173,6 @@ dir = 4 }, /area/station/service/chapel) -"rmS" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) "rnb" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/effect/spawner/random/trash/garbage{ @@ -48850,17 +49208,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/office) -"rnf" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "rng" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -48894,20 +49241,26 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron, /area/station/science/research) +"rnD" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/gps, +/obj/structure/closet/crate/engineering, +/turf/open/floor/plating, +/area/station/engineering/main) "rnX" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"rod" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/arrow_cw{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/arrow_ccw, -/turf/open/floor/iron, -/area/station/cargo/lobby) "roe" = ( /obj/machinery/atmospherics/pipe/smart/simple/supply/hidden{ dir = 10 @@ -48934,16 +49287,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"roG" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/obj/structure/sign/poster/official/random/directional/south, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rps" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -49033,14 +49376,23 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) +"rrw" = ( +/obj/machinery/computer/records/security{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "rrz" = ( /obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 + dir = 1; + pixel_y = 8 }, /obj/structure/table, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/light/small/directional/south, -/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, /area/station/service/bar) "rrL" = ( @@ -49076,6 +49428,11 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) +"rsa" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "rsc" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -49133,6 +49490,20 @@ /obj/structure/railing, /turf/open/floor/plating/airless, /area/space/nearstation) +"rsV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/directional/north{ + id = "warehouse"; + name = "Warehouse Shutters Control" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rtd" = ( /obj/machinery/camera/motion/directional/east{ c_tag = "E.V.A. Storage" @@ -49147,24 +49518,6 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"rtj" = ( -/obj/machinery/igniter/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) -"rtz" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/pdapainter/supply, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "rtD" = ( /obj/effect/turf_decal/tile/purple, /obj/machinery/light/directional/east, @@ -49211,22 +49564,6 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"rud" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/holopad, -/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/dark/textured_half, -/area/station/cargo/bitrunning/den) "rul" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49354,8 +49691,12 @@ /area/station/security/courtroom) "rwa" = ( /obj/structure/table, -/obj/item/storage/bag/plants, -/obj/item/reagent_containers/cup/watering_can, +/obj/item/storage/bag/plants{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/watering_can{ + pixel_y = 8 + }, /obj/effect/turf_decal/trimline/brown/warning{ dir = 10 }, @@ -49443,7 +49784,7 @@ }, /obj/structure/desk_bell{ pixel_x = -3; - pixel_y = 2 + pixel_y = 10 }, /turf/open/floor/plating, /area/station/security/checkpoint/medical) @@ -49509,6 +49850,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ryn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/water_source/puddle, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/grass, +/area/station/security/prison/garden) "ryo" = ( /obj/effect/turf_decal/siding/white, /obj/effect/turf_decal/trimline/brown/warning, @@ -49547,15 +49894,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/prison/visit) -"ryV" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "rza" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49574,12 +49912,6 @@ /mob/living/basic/goat/pete, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"rzo" = ( -/obj/structure/cable, -/obj/effect/landmark/start/cargo_technician, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/storage) "rzq" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/corner, @@ -49611,13 +49943,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/xenobiology) -"rzB" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "rzJ" = ( /obj/effect/landmark/start/lawyer, /turf/open/floor/iron, @@ -49661,6 +49986,37 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) +"rAi" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 6; + pixel_y = 14 + }, +/obj/item/stamp/denied{ + pixel_x = 7; + pixel_y = 11 + }, +/obj/machinery/button/door/table{ + pixel_x = -7; + pixel_y = 14; + id = "QMLoaddoor2"; + name = "Loading Doors (Right)"; + req_access = list("cargo") + }, +/obj/machinery/button/door/table{ + pixel_x = -7; + pixel_y = 5; + id = "QMLoaddoor"; + name = "Loading Doors (Left)"; + req_access = list("cargo") + }, +/obj/item/stamp/granted{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "rAo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -49675,6 +50031,22 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"rAt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"rAB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "rAG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49696,6 +50068,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"rBP" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "rBU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49704,9 +50083,15 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"rBY" = ( -/obj/effect/mapping_helpers/burnt_floor, +"rCa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, /area/station/maintenance/port/fore) "rCn" = ( @@ -49948,28 +50333,18 @@ /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ pixel_x = 9; - pixel_y = 4 + pixel_y = 12 }, /obj/structure/cable, /obj/item/radio{ pixel_x = -6; - pixel_y = -3 + pixel_y = 5 }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) "rHk" = ( /obj/structure/table/glass, -/obj/item/folder/blue{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/folder/white, -/obj/item/pen{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/computer_disk/medical, -/obj/item/computer_disk/medical, +/obj/machinery/computer/records/medical/laptop, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "rHn" = ( @@ -49981,9 +50356,6 @@ /obj/effect/turf_decal/trimline/brown/warning{ dir = 6 }, -/obj/structure/sign/warning/secure_area/directional/east{ - pixel_y = 32 - }, /obj/effect/turf_decal/trimline/brown/warning{ dir = 6 }, @@ -50055,6 +50427,15 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/engineering/break_room) +"rIR" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/solars/port/fore) "rIZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 1 @@ -50083,9 +50464,12 @@ /obj/structure/table/wood, /obj/machinery/light/directional/south, /obj/item/papercutter{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/paper/fluff/ids_for_dummies{ + pixel_y = 8 }, -/obj/item/paper/fluff/ids_for_dummies, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "rJA" = ( @@ -50245,32 +50629,35 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"rLL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "rLZ" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"rMe" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "xenobio3"; - name = "Xenobio Pen 3 Blast Doors"; - pixel_y = 4; - req_access = list("xenobiology") - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron, -/area/station/science/xenobiology) +"rMp" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rMr" = ( /obj/structure/table/glass, /obj/item/experi_scanner{ - pixel_y = -3 + pixel_y = 5 }, /obj/item/experi_scanner{ - pixel_y = 1 + pixel_y = 9 }, /obj/item/experi_scanner{ - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/iron/white, /area/station/science/research) @@ -50394,6 +50781,18 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"rOZ" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio6"; + name = "Xenobio Pen 6 Blast Doors"; + pixel_y = 1; + req_access = list("xenobiology") + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) "rPe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50415,16 +50814,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"rPp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/caution{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "rPA" = ( /obj/structure/flora/bush/flowers_pp/style_random, /obj/structure/flora/bush/flowers_yw/style_random, @@ -50466,25 +50855,12 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"rQk" = ( -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Security Post - Medbay"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/small/directional/north, -/obj/structure/table/reinforced, -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) +"rQe" = ( +/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/construction/storage_wing) "rQl" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -50497,20 +50873,18 @@ name = "Genetics Desk"; req_access = list("genetics") }, -/obj/item/folder, -/obj/item/pen, +/obj/item/folder{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/genetics) "rQw" = ( /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) -"rQD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/thinplating_new, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/cargo/storage) "rQS" = ( /obj/structure/table, /obj/item/storage/box/evidence{ @@ -50548,7 +50922,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/cigarette, +/obj/effect/spawner/random/entertainment/cigarette{ + pixel_y = 13 + }, /turf/open/floor/wood, /area/station/commons/lounge) "rRB" = ( @@ -50572,7 +50948,6 @@ /turf/open/floor/iron/dark, /area/station/science/genetics) "rRR" = ( -/obj/structure/sign/warning/vacuum/external/directional/south, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -50677,11 +51052,6 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"rUd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rUo" = ( /obj/structure/bed, /obj/effect/spawner/random/bedsheet, @@ -50760,17 +51130,9 @@ dir = 1 }, /obj/machinery/light/cold/directional/north, +/obj/structure/sign/poster/official/cleanliness/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"rVb" = ( -/obj/structure/sink/directional/west, -/obj/item/reagent_containers/cup/watering_can, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron, -/area/station/security/prison/garden) "rVn" = ( /turf/open/floor/iron, /area/station/cargo/lobby) @@ -50795,21 +51157,21 @@ /obj/structure/table, /obj/item/folder/white{ pixel_x = 3; - pixel_y = 4 + pixel_y = 12 }, /obj/item/reagent_containers/cup/beaker/large{ pixel_x = -4; - pixel_y = 7 + pixel_y = 15 }, /obj/item/reagent_containers/cup/beaker{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, /obj/item/reagent_containers/dropper{ pixel_x = -3; - pixel_y = -6 + pixel_y = 2 }, /obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, /obj/effect/turf_decal/trimline/purple/filled/warning, /turf/open/floor/iron, /area/station/science/lab) @@ -50833,6 +51195,36 @@ /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"rWp" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio8"; + name = "Xenobio Pen 8 Blast Doors"; + pixel_y = 4; + req_access = list("xenobiology") + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 10; + pixel_y = -1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) +"rWF" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/smartfridge/drying, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 9 + }, +/turf/open/floor/iron/cafeteria, +/area/station/service/kitchen) "rWH" = ( /obj/machinery/door/window/left/directional/south{ name = "HoP's Desk"; @@ -50882,9 +51274,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/visit) -"rXT" = ( -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "rXW" = ( /obj/item/radio/intercom/directional/west, /obj/structure/table/glass, @@ -50894,9 +51283,11 @@ }, /obj/item/book/manual/wiki/chemistry{ pixel_x = -4; - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/book/manual/wiki/grenades{ + pixel_y = 8 }, -/obj/item/book/manual/wiki/grenades, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, @@ -51090,25 +51481,26 @@ /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/mug{ pixel_x = 13; - pixel_y = 7 + pixel_y = 15 }, /obj/item/reagent_containers/cup/glass/mug{ pixel_x = 6; - pixel_y = 3 + pixel_y = 11 }, /obj/item/reagent_containers/cup/glass/mug{ pixel_x = 13; - pixel_y = -1 + pixel_y = 7 }, /obj/item/reagent_containers/cup/glass/shaker{ pixel_x = -2; - pixel_y = 12 + pixel_y = 18 }, /obj/item/reagent_containers/cup/glass/ice{ pixel_x = -4; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/window/spawner/directional/west, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/cafeteria) "saN" = ( @@ -51125,6 +51517,16 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"sbo" = ( +/obj/machinery/requests_console/directional/south{ + department = "Mining"; + name = "Mining Requests Console" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "sbp" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -51150,19 +51552,6 @@ /mob/living/basic/parrot/poly, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"sbF" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/warning/directional/west, -/turf/open/floor/plating, -/area/station/cargo/sorting) "sbG" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, @@ -51186,21 +51575,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"sbP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) -"sbX" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/item/plant_analyzer, -/turf/open/floor/grass, -/area/station/security/prison/garden) "sch" = ( /turf/closed/wall, /area/station/security/medical) @@ -51277,6 +51651,26 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/white, /area/station/science/research) +"sdt" = ( +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/pestspray{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/bottle/nutrient/ez, +/obj/item/reagent_containers/cup/bottle/nutrient/rh{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/structure/table, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/stripes/line, +/obj/effect/spawner/random/food_or_drink/seed{ + spawn_all_loot = 1; + spawn_random_offset = 1 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "sdu" = ( /obj/structure/cable, /turf/open/floor/carpet, @@ -51320,10 +51714,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"seJ" = ( +/obj/machinery/light/directional/south, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/cargo/lobby) "seN" = ( -/obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) +"seO" = ( +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "sfg" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -51372,11 +51781,33 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/evidence) +"sfW" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) +"sga" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "sgc" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 6 + pixel_y = 14 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, @@ -51430,6 +51861,21 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port) +"shp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "shq" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/shower/directional/south, @@ -51466,15 +51912,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"sik" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/end{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "sip" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51588,6 +52025,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/lab) +"skD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "skW" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -51610,14 +52055,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) -"sly" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "slC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -51637,12 +52074,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"slZ" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "smg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/effect/mapping_helpers/airlock/locked, @@ -51653,16 +52084,6 @@ /obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"sml" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "smt" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ dir = 4 @@ -51670,17 +52091,15 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"smB" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 +"smy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/autolathe, -/turf/open/floor/iron, -/area/station/cargo/storage) +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "smG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51699,6 +52118,10 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"snj" = ( +/obj/machinery/igniter/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "snu" = ( /obj/structure/table/wood, /obj/machinery/door/window/right/directional/south{ @@ -51712,7 +52135,9 @@ pixel_x = 1; pixel_y = 9 }, -/obj/item/pen, +/obj/item/pen{ + pixel_y = 10 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) "snB" = ( @@ -51731,21 +52156,8 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) -"snZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "soa" = ( /obj/machinery/light/small/directional/south, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) "soi" = ( @@ -51802,18 +52214,25 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"spf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/circuit/green{ - luminosity = 2 +"spe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/area/station/ai_monitored/command/nuke_storage) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "sph" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/color_adapter, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"spy" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "spH" = ( /obj/item/radio/intercom/directional/south, /obj/structure/disposalpipe/segment{ @@ -51824,6 +52243,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"spP" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "sqt" = ( /obj/machinery/disposal/delivery_chute{ dir = 1; @@ -51864,6 +52292,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"sqN" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/brown/anticorner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "src" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/mapping_helpers/broken_floor, @@ -51879,6 +52314,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/central) +"srr" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "srP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51961,7 +52404,9 @@ "stI" = ( /obj/effect/turf_decal/delivery, /obj/structure/table, -/obj/item/binoculars, +/obj/item/binoculars{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) @@ -51991,45 +52436,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"sul" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/folder/yellow{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/folder/yellow{ - pixel_x = -9; - pixel_y = 1 - }, -/obj/item/paper{ - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"sus" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "suD" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -52103,7 +52509,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 6 }, -/obj/structure/sign/warning/fire/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "svQ" = ( @@ -52194,10 +52599,47 @@ /turf/open/floor/iron/white/side, /area/station/science/lobby) "sxk" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/cargo/sorting) +/obj/structure/table, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/north{ + pixel_x = -5 + }, +/obj/machinery/button/door/directional/north{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Control"; + pixel_x = 8; + req_access = list("rd") + }, +/obj/machinery/button/door/table{ + id = "rdrnd"; + name = "Research and Development Containment Control"; + pixel_y = 4; + pixel_x = 6; + req_access = list("rd") + }, +/obj/machinery/button/door/table{ + pixel_y = 12; + name = "Ordnance Containment Control"; + id = "rdordnance"; + pixel_x = 6; + req_access = list("rd") + }, +/obj/item/toy/figure/rd{ + pixel_y = 16; + pixel_x = -6 + }, +/obj/item/folder/white{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/stamp/head/rd{ + pixel_y = 8; + pixel_x = -6 + }, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) "sxn" = ( /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, @@ -52206,6 +52648,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"sxt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/science/cytology) "sxA" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/cable, @@ -52219,6 +52667,22 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/lab) +"sxN" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/light/directional/north, +/obj/structure/statue/gold/qm, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "sxR" = ( /obj/structure/table/wood, /obj/machinery/computer/security/wooden_tv, @@ -52230,9 +52694,15 @@ }, /obj/machinery/firealarm/directional/south, /obj/structure/table/wood, -/obj/item/stack/sheet/cloth/ten, -/obj/item/toy/crayon/spraycan, -/obj/item/stack/rods/ten, +/obj/item/stack/sheet/cloth/ten{ + pixel_y = 8 + }, +/obj/item/toy/crayon/spraycan{ + pixel_y = 8 + }, +/obj/item/stack/rods/ten{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/south, /turf/open/floor/wood/large, /area/station/service/theater) @@ -52342,6 +52812,17 @@ "szp" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) +"szD" = ( +/obj/machinery/computer/security/mining, +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/obj/item/radio/intercom/directional/north{ + pixel_y = 34 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "szJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/janitor, @@ -52401,6 +52882,23 @@ /obj/item/stack/cable_coil, /turf/open/space/basic, /area/space/nearstation) +"sBq" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/railing{ + dir = 9 + }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sBL" = ( /obj/structure/chair/stool/directional/west, /obj/effect/mapping_helpers/broken_floor, @@ -52430,36 +52928,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"sCc" = ( -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = 10 - }, -/obj/item/pen/blue{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/item/pen/fountain{ - pixel_x = 10 - }, -/obj/item/pen/red{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/stamp/denied{ - pixel_y = -1 - }, -/obj/item/stamp{ - pixel_x = -9; - pixel_y = -1 - }, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "sCh" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52488,18 +52956,6 @@ /obj/structure/sign/warning/radiation, /turf/closed/wall/r_wall, /area/station/engineering/atmospherics_engine) -"sCs" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad2"; - name = "Unloading Conveyor"; - pixel_x = -13; - pixel_y = -4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "sCv" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/preopen{ @@ -52708,11 +53164,11 @@ /obj/machinery/airalarm/directional/east, /obj/item/food/poppypretzel{ pixel_x = -5; - pixel_y = -2 + pixel_y = 5 }, /obj/item/food/hotcrossbun{ pixel_x = 5; - pixel_y = 7 + pixel_y = 15 }, /obj/effect/turf_decal/trimline/green/line{ dir = 1 @@ -52727,16 +53183,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"sFi" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/fake_stairs/directional/south, -/obj/structure/railing{ - dir = 8 +"sFe" = ( +/obj/structure/cable, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) +"sFk" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/security/prison/garden) "sFo" = ( /obj/machinery/button/crematorium{ id = "crematoriumChapel"; @@ -52787,6 +53244,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"sGs" = ( +/obj/machinery/light/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "sGw" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ dir = 9 @@ -52857,11 +53319,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/main) -"sHX" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/iron, -/area/station/cargo/sorting) "sIe" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) @@ -52954,18 +53411,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/command/bridge) -"sLf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - name = "Storage Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "sLp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -52993,13 +53438,19 @@ network = list("ss13","rd") }, /obj/machinery/light/small/directional/south, -/obj/structure/noticeboard/rd{ - pixel_y = -32 - }, /turf/open/floor/iron/dark/side{ dir = 4 }, /area/station/science/lab) +"sLJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "sLN" = ( /obj/effect/landmark/start/ai/secondary, /obj/item/radio/intercom/directional/north{ @@ -53058,12 +53509,18 @@ /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "sMo" = ( -/obj/structure/sign/poster/official/cleanliness/directional/west, /obj/structure/sink/directional/south, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 }, /obj/structure/mirror/directional/north, +/obj/machinery/door_buttons/access_button{ + idDoor = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology"); + dir = 4 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "sMB" = ( @@ -53160,6 +53617,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) +"sOe" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "sOi" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -53240,6 +53704,13 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/machinery/door_buttons/access_button{ + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology"); + dir = 4 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "sPy" = ( @@ -53262,15 +53733,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/white, /area/station/science/explab) -"sPO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "sPV" = ( /obj/structure/closet/secure_closet/captains, /obj/structure/window/reinforced/spawner/directional/north, @@ -53538,13 +54000,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"sTU" = ( -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "sTW" = ( /obj/effect/turf_decal/tile/yellow, /obj/structure/disposalpipe/segment{ @@ -53561,19 +54016,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"sUc" = ( -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "sUo" = ( /turf/open/floor/engine/air, /area/station/engineering/atmos) @@ -53598,7 +54040,7 @@ /obj/item/phone{ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; pixel_x = -3; - pixel_y = 3 + pixel_y = 8 }, /turf/open/floor/wood, /area/station/command/corporate_showroom) @@ -53616,12 +54058,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"sUD" = ( -/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/miningoffice) "sUJ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/two, @@ -53774,11 +54210,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"sWU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "sWV" = ( /turf/closed/wall/r_wall, /area/station/security/detectives_office) @@ -53856,7 +54287,9 @@ pixel_y = 32 }, /obj/structure/table/wood, -/obj/item/storage/backpack/duffelbag/drone, +/obj/item/storage/backpack/duffelbag/drone{ + pixel_y = 8 + }, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/carpet, /area/station/command/corporate_showroom) @@ -53865,6 +54298,10 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"sYw" = ( +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "sZa" = ( /obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/siding/wood, @@ -54043,7 +54480,7 @@ /obj/structure/table/wood, /obj/item/storage/box/coffeepack{ pixel_x = 15; - pixel_y = 10 + pixel_y = 18 }, /obj/item/reagent_containers/cup/glass/bottle/juice/cream{ pixel_x = 15; @@ -54056,25 +54493,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) -"tcx" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/item/aicard, -/obj/item/pai_card, -/obj/item/circuitboard/aicore, -/obj/machinery/keycard_auth/directional/north{ - pixel_x = -5 - }, -/obj/machinery/button/door/directional/north{ - id = "xeno_blastdoor"; - name = "Xenobiology Containment Control"; - pixel_x = 8; - req_access = list("rd") - }, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/rd) "tcC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -54102,6 +54520,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/security/prison) +"tcY" = ( +/obj/effect/landmark/start/quartermaster, +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "tdf" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -54138,10 +54568,18 @@ /turf/open/floor/iron, /area/station/hallway/primary/port) "teq" = ( -/obj/item/cultivator, -/obj/item/crowbar, -/obj/item/plant_analyzer, -/obj/item/reagent_containers/cup/watering_can, +/obj/item/cultivator{ + pixel_y = 8 + }, +/obj/item/crowbar{ + pixel_y = 8 + }, +/obj/item/plant_analyzer{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/watering_can{ + pixel_y = 8 + }, /obj/structure/table/glass, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -54258,12 +54696,39 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"tgE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"tgH" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/red/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "tgI" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"tgU" = ( +/obj/machinery/button/door/directional/north{ + id = "council blast"; + name = "Council Chamber Blast Door Control"; + req_access = list("command") + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "thc" = ( /obj/machinery/camera/directional/east{ c_tag = "Gravity Generator Room" @@ -54328,17 +54793,14 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"tik" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/rnd/production/techfab/department/cargo, -/turf/open/floor/iron, -/area/station/cargo/storage) +"tim" = ( +/obj/structure/cable, +/obj/machinery/light/directional/west, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/virology) "tit" = ( /obj/structure/sink/directional/east, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) "tiA" = ( @@ -54354,20 +54816,16 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/port) -"tjc" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 4; - pixel_y = 5 +"tiV" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -8; - pixel_y = 9 +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, /turf/open/floor/iron, -/area/station/science/robotics/lab) +/area/station/cargo/storage) "tjf" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -54430,6 +54888,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tjV" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/airalarm/directional/east, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "tkf" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/conveyor{ @@ -54531,6 +54996,7 @@ /obj/machinery/atmospherics/components/binary/pump{ dir = 4 }, +/obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/science/cytology) "tmq" = ( @@ -54539,6 +55005,26 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"tmy" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/reagent_containers/condiment/peppermill{ + desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/book/manual/chef_recipes, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/structure/window/spawner/directional/south, +/turf/open/floor/iron/white, +/area/station/security/prison/mess) "tmz" = ( /obj/machinery/door/poddoor/shutters{ dir = 1; @@ -54612,12 +55098,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"tnk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "tnm" = ( /obj/structure/chair{ dir = 1 @@ -54633,12 +55113,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"tnF" = ( -/obj/machinery/light/small/dim/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "tnG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/showcase/machinery/oldpod{ @@ -54714,15 +55188,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"tpA" = ( -/obj/machinery/cell_charger{ - pixel_y = 4 - }, -/obj/structure/table/glass, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "tpD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -54767,12 +55232,6 @@ /obj/effect/spawner/random/clothing/costume, /turf/open/floor/plating, /area/station/maintenance/port) -"tqo" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) "tqx" = ( /obj/machinery/door/window/left/directional/north{ name = "Mass Driver Control Door"; @@ -54812,6 +55271,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"tro" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "trx" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/light/directional/north, @@ -54842,12 +55308,6 @@ "tsd" = ( /turf/closed/wall, /area/station/maintenance/space_hut) -"tsi" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "tst" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55011,12 +55471,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tvv" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "tvE" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -55044,6 +55498,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space, /area/space/nearstation) +"twg" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "QMLoad"; + name = "Loading Conveyor"; + pixel_x = -13; + pixel_y = -5 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "twj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/structure/crate, @@ -55051,9 +55518,13 @@ /area/station/maintenance/port) "twl" = ( /obj/structure/table, -/obj/item/hand_tele, +/obj/item/hand_tele{ + pixel_y = 8 + }, /obj/machinery/airalarm/directional/west, -/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/spawner/random/engineering/tracking_beacon{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/teleporter) @@ -55227,12 +55698,14 @@ /area/station/medical/medbay/central) "tzI" = ( /obj/structure/table/reinforced, -/obj/item/emergency_bed, /obj/item/emergency_bed{ - pixel_y = 3 + pixel_y = 8 }, /obj/item/emergency_bed{ - pixel_y = 6 + pixel_y = 11 + }, +/obj/item/emergency_bed{ + pixel_y = 14 }, /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/dark, @@ -55265,6 +55738,32 @@ "tAg" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/rd) +"tAw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/hand_labeler_refill{ + pixel_x = 12; + pixel_y = 5 + }, +/obj/effect/spawner/random/bureaucracy/birthday_wrap{ + pixel_x = -2; + pixel_y = 16 + }, +/obj/item/stack/package_wrap{ + pixel_x = -6; + pixel_y = 26 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "tAx" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -55374,20 +55873,6 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) -"tCC" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/prison/garden) -"tCF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tCG" = ( /obj/effect/landmark/navigate_destination, /turf/open/floor/iron, @@ -55407,6 +55892,10 @@ }, /turf/open/floor/iron, /area/station/security/office) +"tCN" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "tCS" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/fore) @@ -55423,6 +55912,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/medical/abandoned) +"tDp" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/cargo/sorting) "tDN" = ( /obj/structure/chair{ dir = 8 @@ -55509,6 +56010,12 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"tFm" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet/restrooms) "tFr" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -55538,21 +56045,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"tGU" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "tGX" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -55569,6 +56061,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/central) +"tHH" = ( +/obj/machinery/light/small/dim/directional/north, +/obj/structure/rack, +/obj/item/pushbroom, +/obj/effect/decal/cleanable/dirt, +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "tHR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55616,6 +56117,7 @@ c_tag = "Science Maintenance Corridor"; network = list("ss13","rd") }, +/obj/structure/sign/warning/secure_area, /turf/open/floor/iron/white, /area/station/science/research) "tIe" = ( @@ -55674,10 +56176,10 @@ "tIR" = ( /obj/structure/table/wood, /obj/item/storage/photo_album{ - pixel_y = -4 + pixel_y = 4 }, /obj/item/camera{ - pixel_y = 4 + pixel_y = 11 }, /obj/item/radio/intercom/directional/west, /turf/open/floor/carpet, @@ -55704,17 +56206,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"tJB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tJE" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron/dark, @@ -55750,6 +56241,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) +"tJQ" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/structure/window/spawner/directional/west, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "tKa" = ( /obj/machinery/newscaster/directional/west, /obj/structure/cable, @@ -55797,14 +56296,11 @@ /obj/machinery/fax{ fax_name = "Research Division"; name = "Research Division Fax Machine"; - pixel_x = 1 + pixel_x = 1; + pixel_y = 8 }, /turf/open/floor/iron/white, /area/station/science/research) -"tLb" = ( -/obj/structure/sign/warning/electric_shock/directional/south, -/turf/open/space/basic, -/area/space/nearstation) "tLc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -55812,15 +56308,6 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "xeno_airlock_exterior"; - idInterior = "xeno_airlock_interior"; - idSelf = "xeno_airlock_control"; - name = "Access Console"; - pixel_x = -25; - pixel_y = -25; - req_access = list("xenobiology") - }, /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, @@ -55838,14 +56325,6 @@ "tLg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/effect/decal/cleanable/dirt, -/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 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) @@ -55878,13 +56357,15 @@ /obj/structure/table, /obj/structure/cable, /obj/item/disk/tech_disk{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/item/disk/tech_disk{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/disk/tech_disk{ - pixel_y = 6 + pixel_y = 14 }, /obj/machinery/power/apc/auto_name/directional/east, /obj/effect/turf_decal/trimline/purple/filled/warning{ @@ -55912,11 +56393,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/fore) -"tMn" = ( -/obj/structure/cable, -/obj/structure/railing/corner/end, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "tMA" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=10-Aft-To-Central"; @@ -55961,29 +56437,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tMS" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) -"tMY" = ( -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/item/radio/off{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +"tMX" = ( +/obj/effect/turf_decal/trimline/brown/filled/shrink_cw{ + dir = 8 }, -/obj/item/binoculars, /turf/open/floor/iron, -/area/station/security/checkpoint/supply) +/area/station/cargo/storage) "tNg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56020,10 +56479,17 @@ }, /obj/item/pai_card{ desc = "A real Nanotrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape."; - name = "\improper Nanotrasen-brand personal AI device exhibit" + name = "\improper Nanotrasen-brand personal AI device exhibit"; + pixel_y = 8 }, /turf/open/floor/wood, /area/station/command/corporate_showroom) +"tND" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/station/ai_monitored/command/nuke_storage) "tNH" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -56167,19 +56633,6 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/wood, /area/station/service/library) -"tPt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "tPw" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -56215,40 +56668,11 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) -"tPW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, +"tQo" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/filingcabinet/filingcabinet, +/mob/living/basic/sloth/citrus, /turf/open/floor/iron, -/area/station/cargo/sorting) -"tQp" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/machinery/button/door/directional/west{ - id = "qmroom"; - name = "Privacy Blast Doors Control"; - pixel_y = -7 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = 5 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) +/area/station/cargo/storage) "tQC" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, /obj/effect/turf_decal/delivery, @@ -56305,6 +56729,12 @@ "tSw" = ( /turf/closed/wall, /area/station/maintenance/aft/greater) +"tSD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/thinplating_new, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/storage) "tSP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56322,6 +56752,13 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"tTd" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "tTB" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2, /obj/structure/window/reinforced/spawner/directional/south, @@ -56375,11 +56812,11 @@ /obj/effect/turf_decal/bot, /obj/item/computer_disk{ pixel_x = 7; - pixel_y = 2 + pixel_y = 10 }, /obj/item/computer_disk{ pixel_x = -5; - pixel_y = 8 + pixel_y = 16 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -56404,9 +56841,15 @@ /area/station/maintenance/starboard/lesser) "tUt" = ( /obj/structure/table/glass, -/obj/item/clothing/accessory/armband/hydro, -/obj/item/clothing/suit/apron, -/obj/item/wrench, +/obj/item/clothing/accessory/armband/hydro{ + pixel_y = 8 + }, +/obj/item/clothing/suit/apron{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -56472,17 +56915,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"tVk" = ( -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/structure/rack, -/obj/item/storage/briefcase/secure, -/obj/item/cigarette/cigar, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "tVm" = ( /obj/structure/closet/secure_closet/brig, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -56587,16 +57019,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tWU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/vault/directional/north{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "tWV" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -56637,15 +57059,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"tXO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"tXT" = ( +/obj/machinery/light_switch/directional/south, +/obj/structure/table/wood, +/obj/item/razor{ + pixel_x = -4; + pixel_y = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/item/cigarette/cigar{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/flask/gold{ + pixel_y = 8 + }, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain/private) "tXU" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -56721,13 +57149,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/execution/transfer) -"tYU" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "tYW" = ( /obj/machinery/light/directional/south, /obj/structure/cable, @@ -56785,6 +57206,16 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron, /area/station/commons/storage/tools) +"tZV" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/south, +/mob/living/basic/chicken{ + name = "Kentucky"; + real_name = "Kentucky" + }, +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "tZX" = ( /obj/structure/window/spawner/directional/west, /obj/machinery/light/floor, @@ -56862,6 +57293,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) "uaR" = ( @@ -56893,26 +57327,6 @@ /obj/structure/sink/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"ube" = ( -/obj/structure/sign/directions/science{ - pixel_y = -8 - }, -/obj/structure/sign/directions/medical{ - pixel_y = 8 - }, -/obj/structure/sign/directions/evac, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/command/storage/eva) -"ubj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/shutters{ - name = "Warehouse Shutters"; - id = "warehouse" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/warehouse) "ubl" = ( /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/circuit/telecomms/mainframe, @@ -56964,17 +57378,21 @@ /obj/structure/table, /obj/item/reagent_containers/cup/beaker{ pixel_x = 8; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/beaker/large, -/obj/item/reagent_containers/dropper, /obj/item/reagent_containers/cup/bottle/epinephrine{ pixel_x = -4; - pixel_y = 12 + pixel_y = 20 }, /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = 7; - pixel_y = 12 + pixel_y = 20 }, /obj/effect/turf_decal/tile/yellow/half/contrasted, /obj/machinery/light/small/directional/south, @@ -57079,13 +57497,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/station/hallway/primary/central) -"udU" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "ued" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57151,6 +57562,21 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) +"ueS" = ( +/obj/structure/cable, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) +"ufm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/airlock/maintenance{ + name = "Quartermaster Maintenance" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "uga" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -57191,14 +57617,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uha" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"ugZ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/closet/crate, +/obj/item/toy/plush/lizard_plushie/green{ + name = "Loads-The-Crates" }, -/obj/effect/landmark/start/depsec/supply, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) +/turf/open/space/basic, +/area/space/nearstation) "uhq" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57336,6 +57762,20 @@ /obj/structure/mirror/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"ujN" = ( +/obj/structure/cable, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) +"ujS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "ujT" = ( /obj/machinery/airalarm/directional/west, /obj/effect/spawner/random/structure/tank_holder, @@ -57354,20 +57794,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"ukm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light/small/directional/east, -/obj/structure/bed, -/obj/item/bedsheet/qm, -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "ukq" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -57429,30 +57855,33 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"umw" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "umS" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/computer/records/security{ dir = 4 }, -/obj/machinery/button/door/directional/west{ - id = "MedbayFoyer"; - name = "Medbay Doors Control"; - normaldoorcontrol = 1; - pixel_y = -9 - }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) -"unc" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ - dir = 1 +"unb" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "unk" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57481,16 +57910,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"unK" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen/prison/directional/north, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/restraints/handcuffs, -/turf/open/floor/carpet, -/area/station/security/detectives_office) "unL" = ( /turf/closed/wall, /area/station/maintenance/starboard/greater) @@ -57532,7 +57951,9 @@ "uor" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4; + manual_align = 1 }, /obj/machinery/conveyor{ dir = 4; @@ -57583,23 +58004,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"upM" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"upN" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "upR" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -57666,11 +58070,15 @@ /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /obj/item/multitool/circuit{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, -/obj/item/multitool/circuit, /obj/item/multitool/circuit{ - pixel_x = -8 + pixel_y = 8 + }, +/obj/item/multitool/circuit{ + pixel_x = -8; + pixel_y = 8 }, /turf/open/floor/iron/white, /area/station/science/explab) @@ -57748,9 +58156,15 @@ "usg" = ( /obj/item/radio/intercom/directional/south, /obj/structure/table/reinforced, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/item/clothing/head/utility/welding, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, +/obj/item/clothing/head/utility/welding{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) "ush" = ( @@ -57819,15 +58233,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"usJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "usK" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -57844,14 +58249,16 @@ /turf/open/floor/iron, /area/station/commons/locker) "usQ" = ( -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, /obj/structure/table/glass, /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 }, +/obj/machinery/cell_charger{ + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, /turf/open/floor/iron/dark, /area/station/command/bridge) "uta" = ( @@ -57879,14 +58286,6 @@ }, /turf/open/floor/wood, /area/station/security/office) -"uth" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "utk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57902,6 +58301,12 @@ }, /turf/open/floor/wood, /area/station/service/library) +"utz" = ( +/obj/structure/cable, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/storage) "utD" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -57915,10 +58320,21 @@ }, /obj/item/radio/intercom/directional/east, /obj/structure/table/wood, -/obj/item/clothing/glasses/monocle, -/obj/structure/sign/poster/random/directional/south, +/obj/item/clothing/glasses/monocle{ + pixel_y = 8 + }, /turf/open/floor/wood/large, /area/station/service/theater) +"utG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/departments/vault/directional/north{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "utM" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=13.3-Engineering-Central"; @@ -57943,17 +58359,6 @@ dir = 8 }, /area/station/service/chapel) -"uud" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uuv" = ( /obj/machinery/holopad, /obj/effect/turf_decal/stripes/line{ @@ -58028,26 +58433,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) -"uwf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/camera/directional/south{ - c_tag = "Security Post - Cargo" - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "uwh" = ( /obj/structure/chair/comfy{ dir = 1 @@ -58056,6 +58441,12 @@ /obj/item/clothing/head/fedora, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uwx" = ( +/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/construction/storage_wing) "uwy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58075,12 +58466,6 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"uwM" = ( -/obj/effect/landmark/start/depsec/supply, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "uwQ" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) @@ -58123,35 +58508,12 @@ "uxS" = ( /turf/open/floor/wood, /area/station/maintenance/port/aft) -"uya" = ( -/obj/machinery/disposal/delivery_chute, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/east, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/sorting) "uyd" = ( /obj/structure/sign/warning/pods/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"uyf" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/cargo/storage) -"uyh" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uyi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58220,15 +58582,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"uzl" = ( -/obj/machinery/camera/directional/west{ - active_power_usage = 0; - c_tag = "Turbine Vent"; - network = list("turbine"); - use_power = 0 - }, -/turf/open/space/basic, -/area/space/nearstation) "uzJ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -58280,15 +58633,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port) -"uBj" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uBp" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ dir = 8 @@ -58331,15 +58675,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"uBG" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "uBI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -58429,13 +58764,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"uEs" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "uEw" = ( /obj/structure/cable, /obj/effect/mapping_helpers/burnt_floor, @@ -58456,17 +58784,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"uEA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "uEC" = ( /obj/machinery/conveyor{ dir = 4; @@ -58481,13 +58798,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/port) -"uEP" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uET" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -58626,6 +58936,15 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, +/obj/machinery/door_buttons/airlock_controller{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Console"; + req_access = list("virology"); + dir = 8; + pixel_x = 11 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "uGr" = ( @@ -58660,24 +58979,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"uGU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Port Primary Hallway" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "uGX" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -58715,6 +59016,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uHw" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "uHA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -58803,22 +59110,6 @@ /obj/machinery/computer/accounting, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"uJz" = ( -/obj/effect/turf_decal/bot, -/obj/structure/rack, -/obj/machinery/status_display/evac/directional/east, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/turf/open/floor/iron/checker, -/area/station/engineering/storage_shared) "uJB" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, @@ -58936,17 +59227,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"uLE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "uLK" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -58956,6 +59236,10 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/grass, /area/station/science/research) +"uLP" = ( +/obj/structure/sign/departments/exodrone/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "uMb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58981,13 +59265,6 @@ dir = 4 }, /area/station/medical/chem_storage) -"uMj" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "uMR" = ( /obj/machinery/holopad, /turf/open/floor/iron/white/side{ @@ -59073,14 +59350,6 @@ /obj/effect/spawner/random/trash/box, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"uNZ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/closet/crate, -/obj/item/toy/plush/lizard_plushie/green{ - name = "Loads-The-Crates" - }, -/turf/open/space/basic, -/area/space/nearstation) "uOd" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -59226,17 +59495,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) -"uQL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "uRa" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance" @@ -59294,6 +59552,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) +"uSb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "uSz" = ( /obj/structure/table, /obj/item/phone{ @@ -59303,6 +59568,22 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uSF" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin{ + name = "Jim Norton's Quebecois Coffee disposal unit" + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "uSM" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ dir = 1 @@ -59310,15 +59591,6 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"uSO" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/bot_white, -/obj/structure/cable, -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "uTj" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, @@ -59380,7 +59652,9 @@ /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) "uUb" = ( -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, @@ -59453,21 +59727,24 @@ /obj/structure/sign/poster/official/nanotrasen_logo/directional/east, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) -"uVm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar{ - dir = 1 +"uVj" = ( +/obj/machinery/button/ignition{ + id = "Xenobio"; + pixel_x = -4; + pixel_y = -3 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/machinery/button/door/directional/north{ + id = "Xenolab"; + name = "Test Chamber Blast Doors"; + pixel_x = 6; + pixel_y = -2; + req_access = list("xenobiology") }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/science/xenobiology) "uVv" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -59503,10 +59780,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"uWk" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology/hallway) "uWn" = ( /obj/machinery/nuclearbomb/selfdestruct, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -59636,15 +59909,6 @@ "uYp" = ( /turf/closed/wall, /area/station/medical/break_room) -"uYB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uYD" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line, @@ -59702,16 +59966,6 @@ /turf/open/floor/iron, /area/station/security/prison/work) "uZj" = ( -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/engineering{ - dir = 4 - }, -/obj/structure/sign/directions/command{ - pixel_y = -8 - }, /turf/closed/wall/r_wall, /area/station/commons/storage/tools) "uZo" = ( @@ -59733,7 +59987,8 @@ name = "Kitchen Counter Shutters" }, /obj/structure/desk_bell{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -59749,15 +60004,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uZL" = ( -/obj/machinery/requests_console/directional/north{ - department = "Law Office"; - name = "Lawyer Requests Console" - }, -/obj/machinery/newscaster/directional/west, -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "uZP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59777,13 +60023,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"vag" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/maintenance/starboard/greater) "vaB" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -59852,13 +60091,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"vbF" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/station/ai_monitored/command/nuke_storage) "vbL" = ( /obj/machinery/door/airlock/research{ name = "Ordnance Lab" @@ -59906,25 +60138,6 @@ }, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"vde" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/north{ - id = "warehouse"; - name = "Warehouse Shutters Control" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"vdg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/netpod, -/obj/effect/decal/cleanable/robot_debris, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "vdi" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Office - Port" @@ -59946,16 +60159,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"vdW" = ( -/obj/structure/cable, -/obj/structure/closet/crate, -/obj/effect/turf_decal/bot/left, -/obj/structure/window/spawner/directional/east, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "veo" = ( /obj/structure/weightmachine/weightlifter{ color = "#f5a183"; @@ -59986,6 +60189,12 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"veT" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "vfa" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -60078,20 +60287,14 @@ /obj/structure/cable, /obj/machinery/fax{ fax_name = "Chief Medical Officer's Office"; - name = "Chief Medical Officer's Fax Machine" + name = "Chief Medical Officer's Fax Machine"; + pixel_y = 8 }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"vhb" = ( -/obj/machinery/chem_dispenser, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "vhj" = ( /obj/structure/chair{ name = "Judge" @@ -60156,25 +60359,6 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/medical/virology) -"vis" = ( -/obj/structure/filingcabinet, -/obj/item/folder/documents, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/poster/traitor, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"viF" = ( -/obj/machinery/computer/upload/borg, -/obj/machinery/door/window/left/directional/south{ - name = "Cyborg Upload Console Window"; - req_access = list("ai_upload") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) "viH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/structure/window/reinforced, @@ -60201,21 +60385,6 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"vjg" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 8 - }, -/turf/open/floor/iron/diagonal, -/area/station/cargo/storage) "vjk" = ( /obj/effect/turf_decal/siding/purple{ dir = 10 @@ -60296,9 +60465,11 @@ /obj/machinery/door/firedoor, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 5 + }, +/obj/item/pen{ + pixel_y = 8 }, -/obj/item/pen, /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; id = "pharmacy_shutters_2"; @@ -60359,6 +60530,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"vkt" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + req_access = list("minisat") + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "vkz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -60386,13 +60571,6 @@ /obj/effect/spawner/random/techstorage/rnd_secure_all, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"vlk" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "vlq" = ( /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron, @@ -60411,15 +60589,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vlP" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "vlY" = ( /obj/structure/table/reinforced, /obj/machinery/camera/directional/north{ @@ -60429,19 +60598,19 @@ /obj/item/radio/intercom/directional/north, /obj/item/storage/medkit{ pixel_x = 7; - pixel_y = -3 + pixel_y = 6 }, /obj/item/storage/medkit{ pixel_x = -5; - pixel_y = -1 + pixel_y = 7 }, /obj/item/healthanalyzer{ pixel_x = 4; - pixel_y = 6 + pixel_y = 14 }, /obj/item/healthanalyzer{ pixel_x = -3; - pixel_y = -4 + pixel_y = 10 }, /turf/open/floor/iron, /area/station/science/robotics/lab) @@ -60465,6 +60634,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) +"vms" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vmx" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 6 @@ -60481,12 +60659,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"vmU" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 +"vmS" = ( +/obj/machinery/camera/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 4 }, -/turf/open/water, -/area/station/service/hydroponics/garden) +/turf/open/floor/iron, +/area/station/cargo/lobby) "vmX" = ( /obj/machinery/light/directional/west, /obj/structure/disposalpipe/segment, @@ -60772,6 +60953,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/toilet/auxiliary) +"vsz" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/fake_stairs/directional/south, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"vsD" = ( +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/burnchamber) "vsG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -60788,9 +60982,15 @@ dir = 8 }, /obj/item/radio/intercom/directional/south, -/obj/item/stack/sheet/glass, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/signaler, +/obj/item/stack/sheet/glass{ + pixel_y = 8 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 8 + }, +/obj/item/assembly/signaler{ + pixel_y = 8 + }, /obj/item/assembly/timer{ pixel_x = 3; pixel_y = 3 @@ -60814,9 +61014,11 @@ /obj/structure/window/reinforced/spawner/directional/south, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 4 + pixel_y = 10 + }, +/obj/item/pen{ + pixel_y = 6 }, -/obj/item/pen, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "vth" = ( @@ -60895,11 +61097,11 @@ }, /obj/item/storage/box/lights/mixed{ pixel_x = 6; - pixel_y = 12 + pixel_y = 20 }, /obj/item/reagent_containers/spray/cleaner{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, /obj/item/grenade/chem_grenade/cleaner{ pixel_x = -7; @@ -60911,10 +61113,11 @@ "vtK" = ( /obj/machinery/reagentgrinder{ pixel_x = 6; - pixel_y = 6 + pixel_y = 14 }, /obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 13 }, /obj/machinery/camera/directional/south{ c_tag = "Bar - Counter" @@ -60928,6 +61131,10 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) +"vtT" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "vtX" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60951,20 +61158,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"vuz" = ( -/obj/structure/closet/crate, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/spawner/random/engineering/flashlight, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "vuJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -61046,11 +61239,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"vwi" = ( -/obj/structure/table, -/obj/item/cigarette/pipe, -/turf/open/floor/plating, -/area/station/maintenance/port) "vwn" = ( /obj/item/kirbyplants/organic/plant10, /turf/open/floor/wood/large, @@ -61119,7 +61307,6 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) "vxJ" = ( @@ -61129,17 +61316,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"vxO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vxT" = ( /obj/structure/chair/comfy{ dir = 4 @@ -61157,10 +61333,6 @@ /obj/item/storage/fancy/candle_box, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"vyi" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/r_wall, -/area/station/command/corporate_showroom) "vyv" = ( /obj/structure/table, /obj/machinery/status_display/ai/directional/west, @@ -61169,9 +61341,11 @@ }, /obj/item/ai_module/reset{ pixel_x = 2; + pixel_y = 16 + }, +/obj/item/ai_module/supplied/freeform{ pixel_y = 8 }, -/obj/item/ai_module/supplied/freeform, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) "vyy" = ( @@ -61209,7 +61383,6 @@ /obj/effect/turf_decal/tile/neutral/half{ dir = 8 }, -/obj/machinery/light/small/directional/north, /obj/item/surgery_tray/full/morgue, /turf/open/floor/iron/dark/smooth_edge{ dir = 8 @@ -61224,7 +61397,6 @@ /area/station/science/ordnance/storage) "vzG" = ( /obj/item/radio/intercom/directional/north, -/obj/structure/sign/poster/official/random/directional/east, /obj/effect/turf_decal/tile/blue{ dir = 4 }, @@ -61305,19 +61477,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"vAT" = ( -/obj/machinery/light/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "vAX" = ( /obj/structure/chair/sofa/left/brown, /obj/structure/sign/poster/official/get_your_legs/directional/north, @@ -61388,23 +61547,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"vCu" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron, -/area/station/commons/toilet/auxiliary) -"vCC" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "vCN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -61514,23 +61656,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) -"vEv" = ( -/obj/machinery/computer/mecha{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/requests_console/directional/east{ - department = "Research Director's Desk"; - name = "Research Director's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/computer/security/telescreen/rd/directional/north, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/rd) "vEw" = ( /obj/structure/chair/stool/directional/south, /obj/item/radio/intercom/prison/directional/north, @@ -61544,18 +61669,19 @@ }, /obj/item/radio/headset/headset_medsci{ pixel_x = -7; - pixel_y = 4 + pixel_y = 12 }, /obj/item/storage/box/monkeycubes{ pixel_x = 6; - pixel_y = 9 + pixel_y = 17 }, /obj/item/storage/box/gloves{ pixel_x = 5; - pixel_y = 1 + pixel_y = 9 }, /obj/item/storage/box/monkeycubes{ - pixel_x = 4 + pixel_x = 4; + pixel_y = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/east, @@ -61714,10 +61840,30 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"vHa" = ( -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +"vHj" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Quartermaster"; + name = "Quartermaster's Fax Machine"; + pixel_y = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/requests_console/directional/north{ + department = "Quartermaster's Desk"; + name = "Quartermaster's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/ore_update, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "vHs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -61886,11 +62032,6 @@ /obj/item/clothing/suit/hazardvest, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vKn" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/structure/crate_loot, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "vKt" = ( /obj/structure/table/wood/fancy/royalblue, /obj/structure/sign/painting/library_secure{ @@ -61901,12 +62042,6 @@ }, /turf/open/floor/carpet/royalblue, /area/station/service/library) -"vKC" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "vKL" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -61967,7 +62102,9 @@ /area/station/commons/locker) "vLM" = ( /obj/structure/table/wood/poker, -/obj/item/storage/dice, +/obj/item/storage/dice{ + pixel_y = 8 + }, /turf/open/floor/wood, /area/station/commons/lounge) "vLX" = ( @@ -61987,6 +62124,15 @@ /obj/machinery/portable_atmospherics/canister/water_vapor, /turf/open/floor/iron, /area/station/service/janitor) +"vMt" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "QM #1" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "vMw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62001,6 +62147,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/locker) +"vMI" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/research/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "vML" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62037,12 +62190,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"vNp" = ( -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "vNv" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62088,10 +62235,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) -"vOz" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark/textured_large, -/area/station/science/cytology) "vOK" = ( /obj/structure/plasticflaps/opaque, /obj/effect/turf_decal/bot, @@ -62140,8 +62283,22 @@ /obj/effect/turf_decal/delivery, /obj/machinery/airalarm/directional/west, /obj/effect/mapping_helpers/airalarm/all_access, -/obj/machinery/electrolyzer, /obj/machinery/atmospherics/components/binary/pump/on/supply/hidden/layer4, +/obj/machinery/airlock_controller/incinerator_atmos{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/button/ignition/incinerator/atmos/table{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 16 + }, +/obj/machinery/button/door/incinerator_vent_atmos_main/table, +/obj/item/pipe_dispenser{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "vPy" = ( @@ -62240,14 +62397,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vQT" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "vQV" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -62309,22 +62458,18 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"vRr" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 8 - }, -/obj/machinery/door/airlock/mining{ - name = "Bitrunning Den" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"vRu" = ( /obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) +/turf/open/floor/iron, +/area/station/cargo/lobby) +"vRJ" = ( +/obj/machinery/camera/motion/directional/south{ + active_power_usage = 0; + c_tag = "Armory - External"; + use_power = 0 + }, +/turf/open/space/basic, +/area/space/nearstation) "vRN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -62368,13 +62513,13 @@ /obj/machinery/status_display/ai/directional/north, /obj/item/storage/toolbox/mechanical{ pixel_x = -1; - pixel_y = 4 + pixel_y = 9 }, /obj/structure/table/glass, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, -/obj/machinery/light/small/directional/north, +/obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) "vSo" = ( @@ -62525,6 +62670,21 @@ /obj/effect/turf_decal/tile/dark_blue/half/contrasted, /turf/open/floor/iron/kitchen_coldroom, /area/station/medical/coldroom) +"vVm" = ( +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Brig Maintenance" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vVp" = ( /obj/structure/reagent_dispensers/fueltank, /obj/structure/sign/poster/contraband/random/directional/north, @@ -62637,6 +62797,11 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"vWA" = ( +/obj/structure/fake_stairs/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "vWB" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/atmospherics/components/binary/pump/on{ @@ -62650,26 +62815,6 @@ dir = 1 }, /area/station/engineering/atmos) -"vWD" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 8 - }, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 5 - }, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 2 - }, -/obj/item/reagent_containers/cup/soda_cans/random{ - pixel_x = -9 - }, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "vWF" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -62734,10 +62879,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) -"vYl" = ( -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/aft/lesser) "vYD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -62755,7 +62896,9 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; - name = "Brig" + name = "Brig"; + id = "innerbrig"; + normalspeed = 0 }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62843,11 +62986,15 @@ /obj/machinery/airalarm/directional/south, /obj/item/stack/package_wrap{ pixel_x = -4; - pixel_y = 6 + pixel_y = 11 + }, +/obj/item/stack/package_wrap{ + pixel_y = 8 }, -/obj/item/stack/package_wrap, /obj/structure/table/wood, -/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/item/gun/ballistic/shotgun/doublebarrel{ + pixel_y = 8 + }, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/wood, @@ -62857,6 +63004,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/command) +"vZR" = ( +/obj/machinery/disposal/bin, +/obj/machinery/camera/directional/east{ + c_tag = "Garden" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/wideplating_new, +/obj/structure/railing, +/obj/effect/turf_decal/tile/green/half/contrasted, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "vZX" = ( /obj/machinery/door/airlock{ name = "Theater Stage" @@ -62869,6 +63032,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"vZY" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cargo Bay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "wac" = ( /obj/item/stack/sheet/glass/fifty{ pixel_x = 3; @@ -62876,16 +63046,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"waf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/structure/cable, -/obj/machinery/computer/security/telescreen/turbine/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "wag" = ( /obj/machinery/computer/records/medical, /obj/structure/cable, @@ -62919,7 +63079,9 @@ /area/station/service/hydroponics) "waB" = ( /obj/machinery/door/airlock/external/glass{ - name = "Supply Door Airlock" + name = "Supply Door Airlock"; + dir = 4; + manual_align = 1 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -62969,14 +63131,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/storage) -"wbp" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/trimline/red/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "wbv" = ( /obj/structure/sign/warning/vacuum/external/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -62996,19 +63150,37 @@ /obj/effect/spawner/random/trash/bin, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"wbW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"wbT" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 }, -/obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, -/area/station/cargo/sorting) +/area/station/cargo/storage) "wcf" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/east, /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/service/chapel/funeral) +"wcn" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/explab) "wcr" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -63031,13 +63203,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wcy" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/trimline/brown/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "wcL" = ( /obj/machinery/door/window/left/directional/west{ name = "Library Desk Door"; @@ -63063,6 +63228,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) +"wdp" = ( +/obj/structure/chair, +/obj/machinery/computer/security/telescreen/interrogation/directional/west, +/turf/open/floor/iron/grimy, +/area/station/security/interrogation) "wdr" = ( /turf/closed/wall, /area/station/hallway/secondary/entry) @@ -63106,6 +63276,15 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/lobby) +"wdP" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "wem" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -63134,13 +63313,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"weq" = ( -/obj/structure/sign/warning/secure_area{ - desc = "A warning sign which reads 'BOMB RANGE"; - name = "BOMB RANGE" - }, -/turf/closed/wall, -/area/station/science/ordnance/bomb) "wev" = ( /obj/structure/rack, /obj/item/storage/box, @@ -63155,6 +63327,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/locker) +"weI" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Warehouse Shutters"; + id = "warehouse" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/warehouse) "weJ" = ( /obj/machinery/door/airlock{ name = "Central Emergency Storage" @@ -63215,18 +63394,23 @@ }, /area/station/engineering/atmos/storage/gas) "wfD" = ( -/obj/structure/fireaxecabinet/directional/south, /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 7 + pixel_y = 10 }, /obj/item/pen{ - pixel_y = 3 + pixel_y = 11 }, /obj/machinery/light_switch/directional/east, /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/station/command/bridge) +"wfY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "wfZ" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63265,18 +63449,8 @@ spawn_random_offset = 1 }, /obj/effect/spawner/random/entertainment/musical_instrument, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wgm" = ( -/obj/structure/sign/poster/contraband/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wgs" = ( /obj/machinery/door/airlock{ id_tag = "Cabin4"; @@ -63296,20 +63470,19 @@ /obj/structure/sign/map/right, /turf/closed/wall, /area/station/commons/storage/tools) -"wgQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/supply/disposals, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wha" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/stock_parts/matter_bin, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"whc" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "whr" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63320,17 +63493,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"whs" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/storage/toolbox/emergency, -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "whx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63430,7 +63592,9 @@ /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "wjK" = ( -/obj/item/clothing/head/hats/tophat, +/obj/item/clothing/head/hats/tophat{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/table, @@ -63468,6 +63632,21 @@ /obj/item/laser_pointer/red, /turf/open/space/basic, /area/space/nearstation) +"wkA" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/satellite) +"wkG" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "wkL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -63506,9 +63685,15 @@ "wll" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/east, -/obj/item/folder/blue, -/obj/item/hand_tele, -/obj/item/stamp/head/captain, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/hand_tele{ + pixel_y = 7 + }, +/obj/item/stamp/head/captain{ + pixel_y = 8 + }, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) @@ -63527,6 +63712,15 @@ "wlz" = ( /turf/closed/wall/r_wall, /area/station/security/mechbay) +"wlG" = ( +/obj/structure/cable, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "wlL" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -63561,6 +63755,13 @@ /obj/vehicle/ridden/secway, /turf/open/floor/iron, /area/station/security/office) +"wmv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/netpod, +/obj/effect/decal/cleanable/robot_debris, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "wmz" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron, @@ -63692,23 +63893,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"wpo" = ( -/obj/item/storage/box/matches{ - pixel_x = -2; - pixel_y = 3 - }, -/obj/item/cigarette/cigar{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/cigarette/cigar{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/item/cigarette/cigar/cohiba, -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/station/command/corporate_showroom) "wpr" = ( /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -63737,14 +63921,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"wpO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wqh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63779,6 +63955,10 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, +/obj/machinery/camera/directional/east{ + c_tag = "Virology Airlock"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/white, /area/station/medical/virology) "wrc" = ( @@ -63797,6 +63977,13 @@ "wrn" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wrI" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/lobby) "wrJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -63811,12 +63998,6 @@ }, /turf/open/floor/carpet, /area/station/service/theater) -"wsk" = ( -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "wsq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -63834,7 +64015,7 @@ "wss" = ( /obj/machinery/status_display/evac/directional/north, /obj/item/folder/yellow{ - pixel_y = 4 + pixel_y = 9 }, /obj/machinery/camera/directional/north{ c_tag = "Bridge - Central" @@ -63843,7 +64024,7 @@ /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, -/obj/machinery/light/small/directional/north, +/obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) "wst" = ( @@ -63995,7 +64176,9 @@ /area/station/command/heads_quarters/rd) "wtX" = ( /obj/structure/table/wood, -/obj/item/folder/yellow, +/obj/item/folder/yellow{ + pixel_y = 8 + }, /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) @@ -64006,6 +64189,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"wub" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "wuj" = ( /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, @@ -64015,14 +64204,6 @@ }, /turf/open/floor/iron, /area/station/security/holding_cell) -"wuo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wuM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -64097,6 +64278,11 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) +"wwf" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wwj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64121,6 +64307,15 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"wwv" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wwW" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -64179,6 +64374,14 @@ /obj/machinery/light/floor, /turf/open/floor/wood/large, /area/station/commons/lounge) +"wxK" = ( +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "wxM" = ( /obj/machinery/status_display/door_timer{ id = "Cell 1"; @@ -64203,9 +64406,15 @@ /obj/machinery/light_switch/directional/north, /obj/machinery/light/small/directional/north, /obj/structure/table/wood, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/suit/black_really, -/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/shoes/laceup{ + pixel_y = 8 + }, +/obj/item/clothing/under/suit/black_really{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/sunglasses{ + pixel_y = 8 + }, /obj/machinery/camera/directional/north{ c_tag = "Corporate Showroom" }, @@ -64235,6 +64444,18 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wyO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "wyP" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -64246,17 +64467,6 @@ /obj/machinery/bouldertech/refinery/smelter, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"wyS" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/structure/window/spawner/directional/west, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"wyV" = ( -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/qm) "wzd" = ( /obj/item/radio/intercom/directional/west, /obj/structure/table, @@ -64298,6 +64508,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wzY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "wAk" = ( /obj/machinery/status_display/evac/directional/south, /obj/structure/disposalpipe/segment{ @@ -64309,13 +64523,26 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wAm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wAt" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, /obj/structure/table/wood, -/obj/effect/spawner/random/trash/soap, -/obj/structure/sign/poster/random/directional/east, +/obj/effect/spawner/random/trash/soap{ + pixel_y = 8 + }, /obj/machinery/light/small/directional/east, /turf/open/floor/wood/large, /area/station/service/theater) @@ -64351,10 +64578,13 @@ /obj/effect/turf_decal/siding/purple{ dir = 9 }, -/obj/item/toy/figure/geneticist, +/obj/item/toy/figure/geneticist{ + pixel_y = 8 + }, /obj/item/radio/intercom/directional/west, /obj/item/storage/pill_bottle/mutadone{ - pixel_x = -9 + pixel_x = -9; + pixel_y = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -64366,18 +64596,18 @@ "wBu" = ( /obj/structure/chair/office, /obj/effect/landmark/start/head_of_personnel, -/obj/machinery/light_switch{ - pixel_x = 38; - pixel_y = -35 - }, -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = 38; - pixel_y = -25 - }, /obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"wBx" = ( +/obj/machinery/computer/security/telescreen/auxbase/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "wBE" = ( /obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "engsm"; @@ -64418,7 +64648,9 @@ /area/station/hallway/secondary/exit/departure_lounge) "wCb" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/light/small/directional/south, /turf/open/floor/iron, @@ -64450,6 +64682,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/science/server) +"wCK" = ( +/obj/structure/cable, +/obj/machinery/light/directional/east, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/virology) "wCL" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/siding/wood{ @@ -64515,7 +64753,9 @@ }, /area/station/engineering/atmos/pumproom) "wDH" = ( -/obj/machinery/digital_clock/directional/north, +/obj/machinery/digital_clock/directional/north{ + pixel_y = 0 + }, /turf/open/floor/wood, /area/station/service/library) "wEf" = ( @@ -64524,12 +64764,32 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"wEm" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Port Primary Hallway - Middle" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "wEn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"wEr" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "wEz" = ( /obj/item/stack/sheet/cardboard, /obj/effect/spawner/random/trash/janitor_supplies, @@ -64598,6 +64858,11 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"wFI" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wFM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/delivery, @@ -64656,13 +64921,35 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/structure/sign/departments/rndserver/directional/north, /turf/open/floor/iron/white, /area/station/science/research) +"wGP" = ( +/obj/machinery/computer/security, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/machinery/requests_console/directional/north{ + department = "Quartermaster's Desk"; + name = "Security Requests Console" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/customs) "wGR" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) +"wGU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/turbine/directional/east, +/obj/machinery/electrolyzer, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "wHd" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -64673,6 +64960,24 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"wHq" = ( +/obj/machinery/mineral/ore_redemption{ + dir = 4; + input_dir = 8; + output_dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/east{ + name = "Ore Redemption Window" + }, +/obj/machinery/door/window/left/directional/west{ + req_access = list("cargo"); + name = "Cargo Security Window" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "wHu" = ( /turf/closed/wall, /area/station/science/lobby) @@ -64707,6 +65012,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"wIE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "wIF" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -64993,6 +65302,18 @@ }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) +"wPw" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wPB" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/air, @@ -65019,13 +65340,19 @@ /turf/open/floor/iron/dark, /area/station/security/lockers) "wPH" = ( -/obj/structure/sign/warning/electric_shock/directional/east, /obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/head/utility/welding, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, +/obj/item/clothing/glasses/science{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/science{ + pixel_y = 8 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) "wPM" = ( @@ -65103,11 +65430,32 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"wQS" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "xenobio7"; + name = "Xenobio Pen 7 Blast Doors"; + pixel_y = 4; + req_access = list("xenobiology") + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/science/xenobiology) "wQU" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy, /turf/open/space, /area/space/nearstation) +"wRb" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "wRg" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine, @@ -65133,19 +65481,31 @@ /obj/item/clothing/under/misc/burial, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"wRC" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/dresser, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "wRD" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/mmi, -/obj/item/mmi, -/obj/item/mmi, +/obj/item/mmi{ + pixel_y = 8 + }, +/obj/item/mmi{ + pixel_y = 8 + }, +/obj/item/mmi{ + pixel_y = 8 + }, /obj/structure/table, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"wRF" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/rock/pile, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "wRL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -65168,6 +65528,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"wSb" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "wSe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65188,7 +65553,9 @@ /area/station/command/heads_quarters/hos) "wSs" = ( /obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/deck, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 7 + }, /turf/open/floor/wood, /area/station/commons/lounge) "wSv" = ( @@ -65207,7 +65574,7 @@ }, /obj/structure/desk_bell{ pixel_x = 6; - pixel_y = 10 + pixel_y = 18 }, /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, @@ -65235,17 +65602,6 @@ /obj/structure/reagent_dispensers/fueltank/large, /turf/open/floor/iron, /area/station/engineering/atmos) -"wTv" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/modular_computer/preset/cargochat/cargo{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wTF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65386,21 +65742,11 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"wWe" = ( +"wWg" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Vault Storage" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/construction/storage_wing) +/obj/machinery/netpod, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "wWk" = ( /obj/machinery/light/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65459,15 +65805,14 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"wXv" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposal Conveyor Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +"wXs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/disposal) +/area/station/maintenance/port/fore) "wXF" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) @@ -65531,6 +65876,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wYw" = ( +/obj/machinery/computer/communications{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain/private) "wYx" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -65629,6 +65982,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"xau" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/spawner/directional/west, +/obj/machinery/light/small/directional/south, +/obj/structure/window/spawner/directional/east, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "xaL" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/item/kirbyplants/random, @@ -65670,15 +66034,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xbg" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/gateway) "xbT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65697,13 +66052,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/smooth_large, /area/station/command/heads_quarters/cmo) -"xbZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "xcv" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65893,48 +66241,42 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"xgb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) "xgi" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/bot, /obj/item/bodypart/arm/right/robot{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 }, /obj/item/bodypart/arm/left/robot{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 8 }, /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/firealarm/directional/west, /obj/item/assembly/flash/handheld{ pixel_x = 6; - pixel_y = 13 + pixel_y = 21 }, /obj/item/assembly/flash/handheld{ pixel_x = 6; - pixel_y = 13 + pixel_y = 21 }, /obj/item/assembly/flash/handheld{ pixel_x = 6; - pixel_y = 13 + pixel_y = 21 }, /obj/item/assembly/flash/handheld{ pixel_x = 6; - pixel_y = 13 + pixel_y = 21 }, /obj/item/assembly/flash/handheld{ pixel_x = 6; - pixel_y = 13 + pixel_y = 21 }, /obj/machinery/ecto_sniffer{ pixel_x = -6; - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/iron, /area/station/science/robotics/lab) @@ -65958,11 +66300,6 @@ dir = 4 }, /area/station/medical/treatment_center) -"xgx" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/storage) "xgB" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -65986,6 +66323,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) +"xgF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "xgG" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/rack, @@ -66063,6 +66407,15 @@ "xiL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/science/xenobiology) +"xiS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "xiW" = ( /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -66108,6 +66461,27 @@ }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) +"xjr" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/effect/spawner/random/bureaucracy/birthday_wrap{ + pixel_x = -2; + pixel_y = 16 + }, +/obj/item/dest_tagger{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/stack/wrapping_paper{ + pixel_x = -4; + pixel_y = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "xjA" = ( /obj/machinery/camera/directional/north{ c_tag = "Central Primary Hallway - Fore" @@ -66139,15 +66513,6 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"xkj" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "xko" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -66207,6 +66572,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"xlc" = ( +/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{ + name = "Cargo Bay" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "xld" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, @@ -66222,16 +66600,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"xlf" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/pen/red, -/turf/open/floor/wood, -/area/station/service/lawoffice) "xlv" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/computer/mech_bay_power_console{ @@ -66246,6 +66614,12 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"xlA" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "xlF" = ( /turf/open/floor/iron, /area/station/service/hydroponics) @@ -66281,6 +66655,15 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"xmh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "xml" = ( /obj/machinery/computer/message_monitor{ dir = 4 @@ -66362,23 +66745,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) -"xoj" = ( -/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, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"xop" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xor" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -66411,6 +66777,17 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"xpj" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/modular_computer/preset/cargochat/cargo{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "xpo" = ( /turf/open/floor/carpet, /area/station/commons/dorms) @@ -66482,7 +66859,9 @@ "xqv" = ( /obj/structure/cable, /obj/structure/table, -/obj/item/storage/bag/tray, +/obj/item/storage/bag/tray{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "xqI" = ( @@ -66524,14 +66903,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"xrv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron, -/area/station/cargo/storage) "xrG" = ( /obj/structure/fireaxecabinet/directional/west, /obj/machinery/camera/directional/west{ @@ -66611,7 +66982,7 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/structure/table/reinforced, /obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 + pixel_y = 15 }, /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -66655,10 +67026,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"xtw" = ( -/obj/item/stack/rods, -/turf/open/space/basic, -/area/space/nearstation) "xtz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66667,20 +67034,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"xtH" = ( -/obj/effect/turf_decal/siding/thinplating_new/corner, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/turf/open/floor/iron, -/area/station/cargo/storage) -"xtY" = ( -/obj/machinery/computer/security/telescreen/auxbase/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "xtZ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -66691,6 +67044,17 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port) +"xuu" = ( +/obj/structure/table/glass, +/obj/item/folder/blue{ + pixel_y = 3 + }, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/obj/effect/turf_decal/tile/blue, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "xuA" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -66786,17 +67150,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"xwa" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/disposal/delivery_chute, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/sorting) "xwf" = ( /obj/structure/weightmachine/weightlifter, /turf/open/floor/iron/dark/side{ @@ -66815,14 +67168,16 @@ /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) "xwB" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/railing{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/water, -/area/station/service/hydroponics/garden) +/obj/effect/turf_decal/caution{ + dir = 8 + }, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "xwD" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron/white, @@ -66872,6 +67227,12 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"xxE" = ( +/obj/structure/sign/warning/vacuum/external/directional/east, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "xxF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -66895,7 +67256,7 @@ /obj/structure/table, /obj/structure/extinguisher_cabinet/directional/south, /obj/item/reagent_containers/cup/glass/mug/britcup{ - pixel_y = 2 + pixel_y = 10 }, /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/light/small/directional/south, @@ -66915,6 +67276,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/evidence) +"xya" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/toilet/auxiliary) +"xyd" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xyp" = ( /obj/machinery/status_display/evac/directional/north, /obj/structure/cable, @@ -66945,13 +67325,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) -"xyz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "xyA" = ( /obj/structure/table, /obj/item/stack/ducts/fifty, @@ -66962,23 +67335,20 @@ /obj/item/stack/ducts/fifty, /obj/item/stack/ducts/fifty, /obj/item/stack/ducts/fifty, -/obj/item/plunger, -/obj/item/plunger, +/obj/item/plunger{ + pixel_y = 6 + }, +/obj/item/plunger{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, +/obj/item/clothing/head/utility/welding{ + pixel_y = 16 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"xyI" = ( -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/sign/clock/directional/south, -/turf/open/water, -/area/station/service/hydroponics/garden) "xyM" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -67035,10 +67405,23 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"xzx" = ( -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) +"xzB" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding{ + dir = 9 + }, +/obj/item/stock_parts/matter_bin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, +/turf/open/floor/iron, +/area/station/science/lab) "xAb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67066,7 +67449,6 @@ /area/station/service/hydroponics) "xAi" = ( /obj/machinery/vending/autodrobe, -/obj/structure/sign/poster/contraband/clown/directional/east, /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/wood, /area/station/service/theater) @@ -67115,11 +67497,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"xBq" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +"xBl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "xBw" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Quarter Solar Access" @@ -67244,7 +67630,7 @@ "xCR" = ( /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 5 }, /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -67303,11 +67689,25 @@ }, /turf/open/floor/engine, /area/station/science/cytology) +"xDL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "xEe" = ( -/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ + pixel_y = 8 + }, /obj/item/storage/box/beakers{ pixel_x = 2; - pixel_y = 2 + pixel_y = 10 }, /obj/structure/table/glass, /obj/effect/turf_decal/stripes/line{ @@ -67456,10 +67856,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"xGT" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/cargo/warehouse) "xGX" = ( /obj/effect/spawner/random/maintenance, /obj/structure/cable, @@ -67472,12 +67868,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"xHC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +"xIc" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/cargo/storage) "xIp" = ( @@ -67518,21 +67918,9 @@ dir = 6 }, /obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/east, /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics) -"xIK" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -7; - pixel_y = 13 - }, -/obj/item/reagent_containers/condiment/flour{ - pixel_x = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "xIM" = ( /obj/machinery/computer/operating{ dir = 8 @@ -67561,21 +67949,26 @@ "xJI" = ( /obj/machinery/light_switch/directional/west, /obj/structure/table/glass, -/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 + }, /obj/item/reagent_containers/cup/beaker{ pixel_x = 8; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 }, -/obj/item/reagent_containers/dropper, /obj/item/stack/sheet/mineral/plasma{ - pixel_y = 10 + pixel_y = 18 }, /obj/item/stack/sheet/mineral/plasma{ - pixel_y = 10 + pixel_y = 18 }, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "xJK" = ( @@ -67600,6 +67993,16 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) +"xJT" = ( +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/crap{ + pixel_y = 8 + }, +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/station/command/corporate_showroom) "xKk" = ( /obj/machinery/photocopier, /turf/open/floor/iron/white, @@ -67628,15 +68031,6 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"xLA" = ( -/obj/machinery/computer/records/security{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "xLR" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -67648,6 +68042,17 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"xLV" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/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/fore) "xMl" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=15-Court"; @@ -67706,6 +68111,11 @@ /obj/structure/cable, /turf/open/floor/grass, /area/station/medical/virology) +"xNl" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "xNo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67824,13 +68234,18 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"xPe" = ( +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "xPm" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/structure/table, /obj/machinery/fax{ fax_name = "Research Director's Office"; - name = "Research Director's Fax Machine" + name = "Research Director's Fax Machine"; + pixel_y = 8 }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 @@ -67954,6 +68369,14 @@ "xRZ" = ( /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"xSo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xSO" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -67974,14 +68397,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"xTe" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "qmroom" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) "xTg" = ( /obj/structure/chair/comfy{ dir = 4 @@ -68033,7 +68448,6 @@ dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/clock/directional/west, /obj/item/radio/intercom/directional/north, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron/dark, @@ -68050,30 +68464,6 @@ /obj/structure/secure_safe/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"xUB" = ( -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/engineering{ - dir = 4 - }, -/obj/structure/sign/directions/command{ - pixel_y = -8 - }, -/turf/closed/wall/r_wall, -/area/station/hallway/primary/fore) -"xUE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wideplating_new, -/obj/structure/railing, -/obj/effect/turf_decal/tile/green/half/contrasted, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "xUH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -68137,6 +68527,40 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) +"xVE" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/pen, +/obj/machinery/button/door/directional/east{ + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_y = 16; + req_access = list("engineering") + }, +/obj/machinery/button/door/directional/east{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_y = 24; + req_access = list("atmospherics") + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) +"xVP" = ( +/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/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "xWm" = ( /obj/structure/rack, /obj/item/restraints/handcuffs{ @@ -68160,12 +68584,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"xWr" = ( -/obj/effect/turf_decal/trimline/red/filled/corner, -/obj/machinery/light/directional/east, -/obj/machinery/computer/security/telescreen/interrogation/directional/east, -/turf/open/floor/iron, -/area/station/security/brig) "xWE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -68182,6 +68600,18 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"xWI" = ( +/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/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "xWJ" = ( /obj/machinery/drone_dispenser, /turf/open/floor/plating, @@ -68195,11 +68625,11 @@ /obj/structure/table, /obj/machinery/reagentgrinder{ pixel_x = 6; - pixel_y = 6 + pixel_y = 14 }, /obj/item/reagent_containers/condiment/enzyme{ pixel_x = -6; - pixel_y = 5 + pixel_y = 15 }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) @@ -68285,16 +68715,6 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/captain/private) -"xXR" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/railing/corner/end{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xXW" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -68348,21 +68768,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"xYT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "xYV" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -68379,10 +68784,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"xYZ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "xZb" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -68438,6 +68839,24 @@ /obj/machinery/monkey_recycler, /turf/open/floor/iron, /area/station/science/xenobiology) +"yaC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wideplating_new{ + dir = 4 + }, +/obj/item/storage/toolbox/fishing, +/obj/item/storage/toolbox/fishing, +/obj/item/fishing_rod, +/obj/item/fishing_rod, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "yaD" = ( /obj/structure/table, /obj/item/stack/rods/fifty, @@ -68482,6 +68901,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/theater) +"yaU" = ( +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "ybl" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/turf_decal/delivery, @@ -68523,16 +68945,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"ycf" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "ych" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Pen #5"; @@ -68582,10 +68994,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"ycv" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "ycw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -68630,13 +69038,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"ydp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "ydq" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -68669,6 +69070,24 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"ydV" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 4; + pixel_y = 13 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -8; + pixel_y = 17 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "yec" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -68722,6 +69141,12 @@ c_tag = "Head of Security's Office" }, /obj/structure/cable, +/obj/machinery/button/door/directional/north{ + id = "hosspace"; + name = "Space Shutters Control"; + pixel_y = 0 + }, +/obj/structure/secure_safe/hos, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) "yfg" = ( @@ -68745,6 +69170,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"yft" = ( +/obj/structure/railing/corner/end/flip, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "yfw" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68799,11 +69230,21 @@ /area/station/engineering/transit_tube) "ygt" = ( /obj/structure/table/wood, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, -/obj/item/poster/random_official, +/obj/item/poster/random_official{ + pixel_y = 2 + }, +/obj/item/poster/random_official{ + pixel_y = 6 + }, +/obj/item/poster/random_official{ + pixel_y = 18 + }, +/obj/item/poster/random_official{ + pixel_y = 14 + }, +/obj/item/poster/random_official{ + pixel_y = 10 + }, /obj/structure/cable, /obj/machinery/button/door/directional/east{ id = "corporate_privacy"; @@ -68813,6 +69254,25 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, /area/station/command/corporate_showroom) +"ygB" = ( +/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/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) +"ygG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/warning/secure_area/directional/north{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ygR" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -68913,10 +69373,10 @@ }, /obj/machinery/fax{ fax_name = "Medical"; - name = "Medical Fax Machine" + name = "Medical Fax Machine"; + pixel_y = 8 }, /obj/structure/noticeboard/directional/north, -/obj/structure/sign/clock/directional/west, /turf/open/floor/iron/dark, /area/station/medical/office) "yiJ" = ( @@ -68951,18 +69411,6 @@ /obj/effect/spawner/random/bureaucracy/stamp, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"ykb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ykn" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -68999,6 +69447,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"ykO" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/trimline/brown/filled/arrow_cw{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ykR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/window/right/directional/west{ @@ -69029,15 +69484,21 @@ req_access = list("medical") }, /obj/item/clothing/glasses/blindfold{ - pixel_y = 3 + pixel_y = 11 }, /obj/item/clothing/glasses/blindfold, /obj/item/clothing/ears/earmuffs{ - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/eyepatch{ + pixel_y = 8 + }, +/obj/item/clothing/suit/jacket/straight_jacket{ + pixel_y = 8 }, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/glasses/eyepatch, -/obj/item/clothing/suit/jacket/straight_jacket, /turf/open/floor/iron/dark, /area/station/medical/office) "ylt" = ( @@ -69063,14 +69524,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) -"ylO" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ylQ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -79474,10 +79927,10 @@ lMJ aaa aaa aaa -mWd +jkA aaa aaa -mWd +jkA aaa aaa aaa @@ -81284,7 +81737,7 @@ aDa aDa iYU oSc -xtY +wBx aDb rew lGL @@ -81351,7 +81804,7 @@ aaa aaa aaa aaa -nLZ +mrj aaa aaa aaa @@ -81839,7 +82292,7 @@ aaa aaa aaa aaa -mWd +jkA aaa aaa aaa @@ -82335,7 +82788,7 @@ cUd sCz oHw xOO -bqg +slD ahe slD nyF @@ -82547,7 +83000,7 @@ lMJ lMJ lMJ jXu -pHK +myS mXz oFR ycr @@ -82627,19 +83080,19 @@ aox lMJ aaa aaa -qWg +lMJ aaa aaa aaa aaa aaa -bxr +jhN aaa aaa lZV aaa aaa -qWg +lMJ aaa aaa aaa @@ -82804,8 +83257,8 @@ aaa lMJ aaa nmg -cHR -jEa +wFI +btD jXu jXu jXu @@ -82817,7 +83270,7 @@ nmg jXu kBS rOz -mlH +sHu sHu cVL jZW @@ -83318,7 +83771,7 @@ aaa aaa lMJ qGV -kHO +nZs tvR aaa aaa @@ -83669,7 +84122,7 @@ qPC rKQ xjH xjH -fIR +qVB aaa aaa lMJ @@ -83861,7 +84314,7 @@ aaa fcq uEw fcq -duW +wGP uhI vrP hve @@ -84151,7 +84604,7 @@ jUb hWj coJ uxS -fNI +uxS uxS bCE wGz @@ -84697,7 +85150,7 @@ rKQ rKQ xjH xjH -ktw +sYw aaa aaa lMJ @@ -84839,7 +85292,7 @@ aaa aaa aaa aaa -xtw +cNX aaa fcJ aaa @@ -84860,7 +85313,7 @@ aaa aaa lMJ rqa -fiX +oJi iQd aaa aaa @@ -84923,7 +85376,7 @@ aZL jgk qnr pAe -rzB +jgk pAe jUb cBc @@ -84941,9 +85394,9 @@ uCG jUb aaa aaa -rKQ -eSR -rKQ +tim +sOM +gqI aaa aaa xjH @@ -85117,13 +85570,13 @@ aox aox jXu jXu -ojz +imF jXu lMJ lMJ lMJ pnI -vuz +eYC xDu pcS pnI @@ -85145,12 +85598,12 @@ aaa fcq fcq pck -lku +fxQ uEw nJG -jjn -jQr -kKd +wSb +iez +ctu mjg dHc dHc @@ -85198,9 +85651,9 @@ shK jUb aaa aaa -rKQ +gqI eSR -rKQ +gqI aaa aaa xjH @@ -85367,14 +85820,14 @@ aaa aaa aaa aaa -mWd +jkA aaa aaa lMJ lMJ nmg vEV -rnf +mrU jXu paD paD @@ -85388,7 +85841,7 @@ lMJ lMJ lMJ aox -uNZ +ugZ hxo aSZ lXG @@ -85396,19 +85849,19 @@ hxo lXG deU hxo -iNH -kyu +ahb +msn lMJ fcq -fur -fur +lQw +lQw wEz aaq -aOA +mdv wUt fcq -jPE -auh +oyu +pQX crr crr crr @@ -85429,7 +85882,7 @@ pOa pOa uOH jUb -xIK +gRS bar nBp dqN @@ -85455,9 +85908,9 @@ shK jUb aaa aaa -rKQ -iyC -rKQ +gqI +ark +wCK aaa aaa xjH @@ -85631,11 +86084,11 @@ jfG jfG jXu kXA -mwo +spe jXu qRU -kqh -com +iAV +mWe hKg hKg fQW @@ -85648,20 +86101,20 @@ aaa aaa hxo bnA -riU -oDJ -lAa +pwL +cbz +nXf fyz hxo aaa aaa cbz cbz -dBE +vZY vQs vQs vQs -hor +lxV vQs vQs iSk @@ -85681,7 +86134,7 @@ lMY pOa mrN gXe -vwi +bME tql pOa aDl @@ -85725,7 +86178,7 @@ rKQ rKQ xjH xjH -fIR +qVB aaa aaa aaa @@ -85885,14 +86338,14 @@ dqo eXy wCf wVa -jTl +pQw jXu jXu -qTL +gNn jXu pJp -rud -emU +agk +wWg bZz qvY kRe @@ -85912,14 +86365,14 @@ dZB hxo hxo hxo -pYM -eOb -gvA +cJp +hbW +nhe vQs -ePj -tnF +hxg +qIF dKY -kif +jnZ vQs dHc dHc @@ -86143,13 +86596,13 @@ jfG jfG gYE lBm -ecm +pSq ybN -tJB +hsL jXu qrL -iLT -vdg +njh +wmv bZz pPh aFd @@ -86161,32 +86614,32 @@ uvw yeq yeq yeq -cvv -wcy -kkk -fXZ -sUc +nbM +ykO +rAi +hEQ +sfW vsO vsO uAu -rmS -dme -exQ +jbU +iHs +cJs vQs -cna -hjt -gEx -bGu -slZ +aGA +pRr +nEH +blg +xlA vQs -puW +gxk hyW -pTf +qUN iOc qwG fjD rEj -vCu +xya cwc kXa fjD @@ -86234,7 +86687,7 @@ aaa aaa lMJ lMJ -cCM +mDi cDD lMJ lMJ @@ -86396,47 +86849,47 @@ aaa qvJ nxi bWw -mqn -dwI +ndv +cfX iPE vfv -wXv -qCm -tXO +gvy +rAt +smy jXu iGB -duc +hlW paD paD jpG kRe nVG -qOZ +sbo hKg hKg -ouu -jKc -sCs -nxG -xop -hhR +jhx +tMX +nJb +nNb +quh +ejz +veT +jxo +kTQ +twg +nNb +nNb +dcO aok -coz -xXR -cmX -nxG -nxG -bPc -aok -wbp +tgH vQs -lPn -tnk -eED -sTU -cJT +tHH +wub +oNG +doN +oyC vQs -qlz +spy hyW rEO iOc @@ -86653,45 +87106,45 @@ aaa qvJ nIj gYC -ggZ +tro isO gYE uEC wgw twr -fpn +idT jXu bZz -vRr +ddR paD -hZg +fyi dSG -apC -sUD -sWU +wzY +iCP +jkV mUz -jIl -hWC -cEY -tqo -cEY -cEY +jaD +pWW +bUg +pZU +bUg +bUg aok -xrv +lei aok -xHC +kpu aok -xgb +hjA aok -xHC +kpu aok -vlk -fqe -iWZ -ojW -hpj -uSO -pSY +dcS +weI +kod +eGO +cua +mmt +jDa vQs tiD hyW @@ -86754,7 +87207,7 @@ gAf tSw tSw aaa -gda +ieS aaa aaa sGL @@ -86910,45 +87363,45 @@ aaa qvJ kVR jCM -lWL +unb wvR pQu vEH jXu vVp -wgQ -fmG -jmU +mrZ +npy +oHn jBl -ycf -unc -xyz -jGb -uMj +lMH +gNv +kJG +fIe +tTd poj -hnV -tPt -gUH +aJt +ojd +mWD dAk dAk rhn -qnj +ePE iqt -lUx +ygB iqt -jNR +oNm iqt -rlr +xVP iqt -ckB +skD iqt -lvh -ubj -xbZ -kZI -nbd -vKn -fNz +gSz +elg +qps +lYm +mzY +fsS +kFI vQs vQs hyW @@ -86987,7 +87440,7 @@ xUu mue xUu kIR -tMS +xUu xUu gjk kIR @@ -87167,13 +87620,13 @@ aaa qvJ adD eks -jox -cVC -eZo -qmE +cXD +eqi +whc +ujS jXu -whs -xkj +gQl +vms jXu beo sLU @@ -87186,29 +87639,29 @@ qTf oor oor hDX -hrC -kuS -muq -oRO +xNl +sqN +hNT +kcD bgx -uYB +wlG aok -mml +cOt aok -uEP +rBP aok -cfH +qeS mmR -vlk -fqe -vHa -nNB -qoY -rPp -rPp -ljH +dcS +weI +fET +jMX +fiq +dHa +dHa +xwB vQs -mQa +wEm rEO mux pOa @@ -87407,7 +87860,7 @@ aaa lMJ aaa aaa -aaa +cmB cmB cmB cmB @@ -87424,13 +87877,13 @@ pma pma pma hZQ -ntm -kHV +mwi +kRW jXu jXu jXu jXu -tCF +wXs jXu jXu jXu @@ -87442,31 +87895,31 @@ cBZ wyP oor jqr -xLA -hrC -hrC +rrw +xNl +xNl mmR -kwh +cwY iqt -nut +ujN aok -pkM +wEr aok -jBu +cPb aok -hKQ +lWp mmR -gxu +aWS vQs -vde -tGU -hYl -caV -eMK -eIc +rsV +dIr +bxc +nUl +dtt +lEl vQs hyW -qzC +ffJ kOQ lxM kDS @@ -87532,7 +87985,7 @@ gnL ckz dWA ecz -fIR +qVB aaa lMJ aaa @@ -87665,9 +88118,9 @@ lMJ aaa aaa cmB -cmB -opF -sbX +ryn +bHI +lHy jTi wyn iOr @@ -87679,51 +88132,51 @@ tOm tOm ntM pgJ -pyR +oDd hZQ -uQL +iMK twr gQg pCk twr xgB -hJO -duG -omV -fhn -jXu -jBp -wsk -qHt +mkB +lml +jLp +ekU +fcS +gKi +yft +lIk dxo hlE oor -aKN -uha -tMY +kjF +lYw +mkf hDX aok -sbP +ked bgx aok aok -xtH -qDW -qDW -qDW -ocS -eaA -vAT -xGT -xGT -bHv +oii +dKt +dKt +dKt +bIE +tiV +aYy +juq +juq +nLA vQs vQs vQs vQs vQs -upM -pqc +umw +rsa rkM pOa hKp @@ -87922,8 +88375,8 @@ lMJ aaa aaa cmB -nNo -tCC +ihJ +ovq qDS tVo ese @@ -87931,53 +88384,53 @@ iOr aaa raz raz -pQh -uEs -qCM -uEs +rIR +mEJ +bWs +mEJ aFZ ktG -hQy -hYG -dwH +lsG +kLT +oZa fUr fUr fUr fUr -bkJ -iIE -cAf -dve -cuh -pVV -qqr +mlY +mtV +ceY +jTL +jXu +pRQ +otF iId tkf wZo oor hvo -uwM -uwf +bqP +kMR oor -ylO -tYU +agB +duo hLL dfk dfk -rQD -nsh -vWD -sCc -liU -nrB -smB -tik -sxk -xwa -fjw -cwY -sbF -flG +tSD +mdW +nGJ +idJ +sBq +xIc +jtB +cCe +car +qSs +lQQ +oMX +tDp +iCM bzH hyW rEO @@ -88006,7 +88459,7 @@ kRA jUb xYq dqN -baG +rhs jUb rvI jUb @@ -88019,7 +88472,7 @@ oZO bMS jUb dqN -vCC +kym jUb jdH oBv @@ -88191,53 +88644,53 @@ aaa tOm tOm tOm -tsi -hTG -gJM +xxE +aqW +ueS srk qGP -cLN -pkT +uLP +aCz sHu -eMY +rMp cVL jXu -kIJ -sPO +msQ +kEB twr jXu hKg -oMx +lJQ hKg hKg hKg oor jmR -hWK -fea -iHS -cqy -ebg -ebg -fwb -kQO -qvV -tMn -sFi -cHG -snZ -xgx +nwA +pvZ +mKj +xSo +wfY +wfY +vtT +tQo +kGr +dGC +vsz +nHE +etx +hod dfk -uyf +fJA edN -uya +qMB yhL -nQR +hzn hYx -eMf +xau iev -sus -sly +mor +mJf nxF sVY cyk @@ -88437,7 +88890,7 @@ aaa aaa iOr sQq -rVb +sFk viQ dTQ rOP @@ -88454,47 +88907,47 @@ pma hZQ jXu jXu -hsx +aHW jXu jXu jXu jXu -alA +oTW lpS lpS lpS ykL lpS lpS -xoj +pFF lls jXu jXu jXu jXu cbz -bLY -gQa -dit -uBj -uBj -bDn -xzx -hIp -qCS -bJX -xgx -rzo -quT +xyd +gOC +gYY +coE +coE +wbT +raN +kfh +lTn +jOS +hod +utz +bOP iev -gPN -ebd -ebd -jBy +wPw +seO +seO +nnL iev iev -bBy -qZO +lkv +flY pYn sVY psr @@ -88557,7 +89010,7 @@ tSw gOp bCM vKd -ikY +drm tSw lMJ aaa @@ -88711,12 +89164,12 @@ tdg hkj sQp kuW -qHa +pDw ujT dYi iDG jXu -fpn +idT knQ bPM sHu @@ -88725,32 +89178,32 @@ jXu bPM rNP mgv -qgl +xmh lpS lpS bkF cbz -jMb -kKO -vQT -hBo -gWz -kQv -cgZ -hIp -ksM -lQf -vKC -fwd -mwP -oTw -nLx -sHX -uyh +sxN +vWA +srr +vMt +iKe +sGs +kfR +kfh +hva +nwZ +cCi +nAc +mhu +pZV +eLU +wwf +qLI hvB sqt iev -djn +hUV iVs fLd fpy @@ -88968,12 +89421,12 @@ tdg hkj hkj kuW -uth -xBq +lBj +wkG mUF obF jXu -fpn +idT jXu jXu jXu @@ -88985,29 +89438,29 @@ jXu jXu jXu kAI -gfa -eOl -vjg -mLp -tvv -xTe -xTe -tvv +hwD +ufm +qtu +tcY +oAt +dVQ +ixt +oAt kQP wdM -asT -dHi -kkB -lVp +wrI +xlc +wHq +ohO bzH bzH -mzj -sml -rmL +dGx +aEy +lbb hOh lAi bzH -azz +nlK uxa mmm vjv @@ -89230,7 +89683,7 @@ qST xMx qrF jXu -vxO +tgE jXu aaa aaa @@ -89242,25 +89695,25 @@ aaa aaa jXu twr -nsT -heR +hfB +tCN kQP -hqD +bSp kQP -eTt -nwm -izI +mCg +lMD +juL kQP -eRd -vlP +gpq +nuw qxJ -vNp -hvk +lPw +haJ bzH -dGC -uud -wbW -fWn +nEt +bUb +kas +nlY jHW vjU bzH @@ -89460,7 +89913,7 @@ tGX aXa aKl lds -mzm +tmy hXQ bVF fGP @@ -89482,12 +89935,12 @@ tdg tdg tdg fru -elz +lXd uzb phP rgL jXu -paU +nut jXu aaf rlU @@ -89499,25 +89952,25 @@ rlU aaf jXu sxn -ciE -dUd -rtz -fpV -tQp -bEK -ydp -cNb -mXO -kUG +qks +pPU +iGu +fkM +aJF +rLL +xgF +psM +aoh +fMA rVn qxJ -sik -ryV -paQ -wyS -ekb -wpO -wbW +wdP +spP +fRd +tJQ +bsv +qat +kas ubn hld iev @@ -89744,7 +90197,7 @@ jXu jXu jXu jXu -otQ +cHr jXu aaa rlU @@ -89756,29 +90209,29 @@ rlU aaa jXu jXu -ken +xLV kQP -hQc -dFg -wyV -iqo -wyV -cJt -mXO -alu +vHj +sFe +jgi +iUI +jgi +cwE +aoh +oCj aUm jvv -bNN -rod -mhM -dfK -wuo -tPW -ayz +nqC +kFy +hIh +fSM +aie +qjN +afe bLj rnh iev -nJJ +bah nqo qsX sVY @@ -90001,41 +90454,41 @@ sOP twr fnJ jXu -wgm +mKh fsQ aaa rlU qrg cpi cpi -nSn +pNa qpD -qYC -pNC +hvf +auQ uqX -loR +rQe kQP -ewc -dFg -wyV -wyV -wyV -oxX -mXO -vdW -oac +uSF +sFe +jgi +jgi +jgi +lND +aoh +pna +vRu fhB -hxd -dHz +wyO +wRb aqG -geR -ekb -lsU -bQl -pCs +qOY +bsv +xjr +iOY +blt bzH bzH -pNk +mMI ivB qaw sVY @@ -90258,41 +90711,41 @@ dEH pOi bMu jXu -agi +sga fsQ aaa rlU trx uWn -spf -czD -lBg -tWU -wWe +tND +fqF +eUz +utG +lGQ aTU -jzE +rka kQP -ezw -aSv -aLW -jle -ukm -dLh +haK +enm +qrB +azY +ccy +wRC kQP -pUk -upN +vmS +gHa qxJ -ajq -eml +kNa +seJ bzH -bvl -nKu -gxM -jRo -qCx -roG +hQO +evV +iro +tAw +oQV +dNl bzH -mnP +iHZ tEr iOc sVY @@ -90511,45 +90964,45 @@ sjP aaa nmg hwo -rBY +jdQ knQ -cDV -sLf -uEA +dLM +dBS +rCa fsQ aaa rlU -vbF +lFD wHW wHW -okj +bmn rlU -qYC -pNC +hvf +auQ lpt -cNg +enJ kQP kQP -mXO -mXO +aoh +aoh kQP kQP kQP kQP -rcR -hIu -liX -jUs -nDG +aEp +clf +iRR +faA +nKn bzH -bzH -usJ -kFa -lak -rUd -cXE -ykb -cJS +nuZ +nco +cvX +qNn +nLV +wwv +wAm +gsl ybn fLp sVY @@ -90617,7 +91070,7 @@ gwS oxT sEE hrG -lPB +xBl vQg gYU pIs @@ -90772,41 +91225,41 @@ wQj jXu jXu jXu -fOB +vVm jXu aaa rlU -vis -dhz +dro +lXs ixT oXK rlU aaa aEH aHt -loR -hTM +rQe +uSb aHt aHt aHt -eaQ +ijL aHt -qlW -jfg -lay -udU -isA -eKG -iit -pWb +cIa +wxK +gEZ +sOe +uwx +ePd +kTa +bWA bzH -wTv -sul -pkF -dtE -dSH +xpj +jRj +nms +lmt +hhb aqG -mnP +iHZ xOw iOc sVY @@ -91028,8 +91481,8 @@ jXu jXu jXu sHu -lRA -lFF +iuX +gxU jXu aaf rlU @@ -91041,9 +91494,9 @@ rlU lMJ aEH rhW -oRR -lug -cGq +liA +gJb +iwD wcs hMn ygR @@ -91053,17 +91506,17 @@ mPK lgg kWP lgg -uLE -cSu -nPN +iVQ +lnf +oEn bzH aqG aqG -mxx +qjM aqG aqG aqG -uGU +fOc mFo npY qwR @@ -91310,17 +91763,17 @@ bLh pPH hSg uTN -uVm +shp sSV -alw -anX -nyb -nyb -xYT -nyb -nyb -nyb -qjH +xiS +qAi +xDL +xDL +ham +xDL +xDL +xDL +xWI vhB guR lsf @@ -91538,7 +91991,7 @@ eWA sjP aaa aaa -bxr +jhN jXu rOz sHu @@ -91560,13 +92013,13 @@ nZh hSf pID qSp -cOj +fCw tcr jfX aUC iFC iBt -nrM +koU yaE tmK htd @@ -92098,10 +92551,10 @@ sDG pJR pJR qIl -kWL +qIl sSL pWN -ube +tOh tOh tOh tOh @@ -92644,7 +93097,7 @@ rQd cJm jGw bJG -gbn +pvj bqX ulR qXL @@ -92657,7 +93110,7 @@ qXL oqk xZB hIJ -vhb +qJt lrZ kiz nmQ @@ -92872,13 +93325,13 @@ lxp qRI urA nIR -hyN +tOh uaN jIg dTr rIL bwN -omd +qFR ukk rGm gqX @@ -92888,7 +93341,7 @@ qPJ luN wde jJd -dQL +bgM umS qPJ bgS @@ -93124,8 +93577,8 @@ pJR iiE rGj rJr -pJR -oUB +jTg +itV qRI urA nIR @@ -93142,7 +93595,7 @@ gqX htd oGK qPJ -rQk +ksZ waH vbV ixr @@ -93834,7 +94287,7 @@ sjP sjP sjP sjP -dkX +gIj yey jTZ aBL @@ -94130,12 +94583,12 @@ aaa aJS oOl rxx -viF +eOu aPv oWF eQg aJS -mSI +bac aUx qhF htd @@ -94149,7 +94602,7 @@ aKb pUd pJR lJn -psy +eRC htG bIq pJR @@ -94158,7 +94611,7 @@ ndS urA pFG gBD -dzX +hZT fRu hVE xXw @@ -94411,7 +94864,7 @@ oWT qBy pJR ndS -eMb +ndS ebx pRb igZ @@ -94432,7 +94885,7 @@ asm kqm vLf kXD -kWO +rvE rvE whx cIK @@ -94644,7 +95097,7 @@ aaa aJS bpu wzH -nwL +eKl aPv iIQ aRV @@ -94671,7 +95124,7 @@ tNg vpg ebx aks -hux +gBD bbT ilq kAp @@ -94689,7 +95142,7 @@ xEX hYr qAf lrR -qwI +rvE xJI tIx wmT @@ -94876,7 +95329,7 @@ lAM aaa aaa rJB -kaU +qYb nqD sfK rTw @@ -95233,7 +95686,7 @@ jLy kgx hKB vLo -aAb +wnW tSw dbX iUm @@ -95433,7 +95886,7 @@ nxO qXF qXF aMB -tVk +jAJ duI jnt cdC @@ -95450,8 +95903,8 @@ sYh qeZ nBs eLa -vyi -nNY +jzN +ygG htd tHR sTz @@ -95466,7 +95919,7 @@ keK lXA mVE hxq -nJn +cUm nqB kxa eIO @@ -95480,7 +95933,7 @@ iqz iqz sTW cYx -cXH +pbz joj dWI hZV @@ -95690,14 +96143,14 @@ dUj gGy hmq fUj -qcD +rgV duI duI lwt ddm vKL -gmH -lSz +dho +eaK aks qzz qRV @@ -95718,7 +96171,7 @@ nxy nxy aYJ hEc -bFN +hBb qJn hYA jsh @@ -95905,7 +96358,7 @@ aaa aaa aeq xCo -loY +jHp tTP fdQ uou @@ -95934,7 +96387,7 @@ qWF qWF qWF uDP -xUB +qWF xjA exC dRZ @@ -95947,7 +96400,7 @@ gGy qVc dMY jYL -tpA +pXF aAt duI pCO @@ -95969,7 +96422,7 @@ qyI qaP bAR lgl -fmS +pBa xIG uBI uBI @@ -95985,7 +96438,7 @@ lLq lLq eIO qbZ -lRT +fvE bqX bqX bqX @@ -95993,7 +96446,7 @@ pJV bqX bqX bqX -cJL +bqX fjq wvh iEv @@ -96159,7 +96612,7 @@ aaa jLw aaa aaa -cTk +vRJ aeq dXs tJE @@ -96207,7 +96660,7 @@ gGy nEC pJY duI -gGy +tgU oLD klI lPZ @@ -96219,7 +96672,7 @@ haP jzN fEC eQe -qtq +xJT iAA oSo cgF @@ -96688,7 +97141,7 @@ ewj bkl wZU pMy -oGH +jRd orx eeq sDS @@ -96734,7 +97187,7 @@ jzN wyp gzi cyU -wpo +aFG oSo iXb kdx @@ -96926,7 +97379,7 @@ aaa aaa aaa aaa -tLb +aFb iTZ ahj ahj @@ -96962,7 +97415,7 @@ olw olw izr moV -gaV +olw wtZ vpQ iLk @@ -96997,7 +97450,7 @@ bcq sRf qsl gJV -mST +wHu qCj cyG oEP @@ -97021,7 +97474,7 @@ fma fma kor aQS -qCY +kor kQe qYt qDa @@ -97205,7 +97658,7 @@ uok bzV ezg uVv -fLS +gUM pjh gpc gGo @@ -97238,8 +97691,8 @@ duI wtX ppB nEC -gmH -ebx +dho +nyB vQe kHn gUP @@ -97260,7 +97713,7 @@ rgZ suW hJF cZK -euw +gLN cXg nyy gVl @@ -97296,7 +97749,7 @@ jjs dKC xLu dKC -cbp +aRx ctL oPD iUm @@ -97489,7 +97942,7 @@ lNH qXF qXF aMB -mvZ +pvl duI jnt pOK @@ -97506,8 +97959,8 @@ aAI gzi krL cqm -vyi -wpx +jzN +rAB htd tHR udN @@ -97719,7 +98172,7 @@ lsP vYF eaP lTj -frH +mMT afj qGs gCD @@ -98000,7 +98453,7 @@ aaf dsQ dsQ dho -rhL +szD sLd qXF aMB @@ -98269,7 +98722,7 @@ eoD bcT xPN vQe -kmZ +tvE buL pha sdp @@ -98295,7 +98748,7 @@ cBV xlv eut bUo -tjc +ydV jtS bFH mMl @@ -98519,11 +98972,11 @@ dho iNB wfD dho -syo +aGk syo sSx syo -eDL +syo lSz tst dGu @@ -98790,7 +99243,7 @@ nse bmb lwg aAK -xbg +cWa tvE qJU hPM @@ -98832,7 +99285,7 @@ aHi hrh txG eKP -uBG +inp kXG svS ove @@ -99283,7 +99736,7 @@ kGq syo oOz tLi -nnh +tXT tyY vFx tyY @@ -99311,7 +99764,7 @@ kON ylQ bGC wHu -gVE +hrw ibw ibw nIP @@ -99509,7 +99962,7 @@ wVt jzD wxj kZG -ihN +oMa kYg kYg ylZ @@ -99550,7 +100003,7 @@ jxv sqJ gPA lZM -qrw +jVu syo lSz vQe @@ -99780,7 +100233,7 @@ xNo woV bkZ xNU -uZL +bHT nVy tGI daC @@ -100037,8 +100490,8 @@ jAP fEn xXC xNU -eJd -xlf +kbW +hPm lWg byw glv @@ -100058,7 +100511,7 @@ alg rEg uGj tyY -iDh +wYw nCB wll gpS @@ -100262,7 +100715,7 @@ aaa aaa aaa aaa -tLb +aFb gdb ikZ gdb @@ -100346,7 +100799,7 @@ otB bdv jXK sQB -gLU +xzB buT oOB kZx @@ -100376,12 +100829,12 @@ fhi fhi uEo fiS -rXT -eRn -rXT -rXT -rXT -rXT +yaU +hNu +yaU +yaU +yaU +yaU lMJ uGg nFa @@ -100540,11 +100993,11 @@ pyY sNB xWm mLL -xWr +nXB vkb cLl sWV -unK +kCU mOt clq aKa @@ -100633,12 +101086,12 @@ huj fhi xEU iqx -xYZ -gil -xYZ -oet -dXU -kgC +aJh +hAv +aJh +qvi +vsD +cxT lMJ uGg nFa @@ -100836,10 +101289,10 @@ aKb aKb aKb aKb -chZ +aKb xqL dDx -mnx +aKb aKb aKb aKb @@ -100890,12 +101343,12 @@ fhi fhi fhi twy -nJA -nZL -bEv -cgP -rtj -kgC +nWe +gYG +clD +eIv +snj +cxT lMJ uGg nFa @@ -101040,7 +101493,7 @@ aaa rrt lMJ mxn -mwj +qZi psw asM mxn @@ -101092,7 +101545,7 @@ vLb jmT jZR mJN -cwP +sqM sqM hBr jef @@ -101139,20 +101592,20 @@ jVy jTN vAH kIY -rbd +iaF gyQ rbD jwj ujk -jvo -aHH +bvU +kpX iYE -dTN -dEF -dTN -cOT -dXU -kgC +ghS +mkU +ghS +hLV +vsD +cxT lMJ uGg wpn @@ -101309,7 +101762,7 @@ gMZ cju gMZ mFf -mYb +wdp sHt qrn qRg @@ -101613,7 +102066,7 @@ hio vtu cWT xBx -bdb +smG smG smG gtU @@ -101856,7 +102309,7 @@ uZj ghl xZW uOX -myG +rac rac bvJ bvJ @@ -101888,7 +102341,7 @@ ftj wXF doM tZo -bXg +wcn oFT gvS oYZ @@ -101921,8 +102374,8 @@ dpN dpN egk mwY -bIa -vYl +nFa +nFa nFa nFa rDB @@ -102113,7 +102566,7 @@ dZm vFB fRS twN -lkc +rac hhN pBi hkG @@ -102130,7 +102583,7 @@ eQE bNf vZM eQE -hcm +lVn fEg wYB kMG @@ -102347,7 +102800,7 @@ fRW qnS uxb hAk -gzO +tFm eqn jSb kAF @@ -103177,7 +103630,7 @@ jvL vfh kHN tAg -tcx +sxk nhr vYE wnY @@ -103196,13 +103649,13 @@ oFS aqh uGX oWk -jNp +kmd lPC guG iAs coe tfV -nRQ +gwA oLS lMJ aaa @@ -103434,7 +103887,7 @@ sIW bRb cKm tAg -byE +cVG poq vYE lAH @@ -103681,7 +104134,7 @@ oxd xlF xlF aWg -jgK +eur tUn dQT wXF @@ -103691,7 +104144,7 @@ sIW jSk rkT tAg -vEv +cci pkx hBB wnY @@ -103763,13 +104216,13 @@ lMJ dxK aaf aaf -weq +cxz kJi pgU qRS pnk kJi -weq +cxz aaa aaa aaa @@ -103915,7 +104368,7 @@ aeb bvJ lWm kdN -wSs +eIT jGA mgo fGH @@ -104744,8 +105197,8 @@ qBF nCG tqx bOm -fhU -cdS +ati +bNv kYD aaa aaa @@ -104791,13 +105244,13 @@ lMJ dxK aaf aaf -weq +cxz kJi vpl cDb xOI kJi -weq +cxz aaa aaa aaa @@ -104966,7 +105419,7 @@ soU gkx gkx nbJ -jgK +eur tUn eLh lQI @@ -105176,9 +105629,9 @@ hJv iEE ejl pFd -nwa +xUh lqQ -nYO +sdt geV hvO ued @@ -105441,7 +105894,7 @@ jBY aKk lXl nzS -gpk +gnJ qXB kbo tbd @@ -105467,7 +105920,7 @@ mal bDK oRs pem -mPZ +rWF huG huG huG @@ -105712,9 +106165,9 @@ aSk tlZ lje klZ -bqC +oCq fqD -wSs +cuJ pur oEu gZV @@ -105754,9 +106207,9 @@ wXF wXF wXF wXF -bcb +gFQ gMQ -bcb +gFQ oWk clj fwP @@ -106206,13 +106659,13 @@ lnc obw rUo lqQ -fzr +fik iCJ qgy -ldg -bYN -bYN -krt +jPA +miq +miq +yaC qXB psZ qXB @@ -106463,13 +106916,13 @@ lnc fDC qdy lqQ -wRF +jNX jzC -oCO -xUE -jYu -vmU -xyI +tZV +kld +aOt +uHw +fpG qXB kbo qXB @@ -106720,13 +107173,13 @@ lnc cUP mil lqQ -lbH -mie -pRM -ivb -otG -ftQ -xwB +ozg +xPe +ehy +vZR +gif +dsa +sLJ qXB psZ qXB @@ -106750,10 +107203,10 @@ iEZ uWK gFO rHz -aFW +dqX dqX qLp -bpY +ozF obG izZ tNQ @@ -107490,7 +107943,7 @@ psZ bSY kbo kbo -eqt +tjo psZ psZ psZ @@ -107502,10 +107955,10 @@ psZ psZ qXB gAU -cDO +dqR oUK eRR -fAA +tjV cdX sDE hjS @@ -107516,7 +107969,7 @@ ggM ggM dLq lzL -vag +nGZ lzL lzL scG @@ -107553,9 +108006,9 @@ tUn gFQ gFQ gFQ -aHR +gFQ ejH -aHR +gFQ gFQ aaa aaa @@ -107806,7 +108259,7 @@ lMJ lMJ lMJ lMJ -uzl +fGB aaa aaa aaa @@ -108015,7 +108468,7 @@ gLo ofk uXd fDL -hSt +hdx qhw naN fMN @@ -108259,7 +108712,7 @@ rpx dPy loA poc -oDH +dgy uXd tfg tfg @@ -108516,12 +108969,12 @@ oKx gLK joo sHT -rkx +jvE uXd dVc bYp gXu -hSi +rnD uXd gMG dWG @@ -108533,7 +108986,7 @@ nLz fEL rSi pCt -qHm +jkr sqE mEO gnS @@ -108826,7 +109279,7 @@ nmR dQO fIZ ydj -aBW +pnH vQh pnH lZk @@ -109044,7 +109497,7 @@ woL jLo nwC nLz -iSU +kyG hYE rEd sby @@ -109292,7 +109745,7 @@ cnK jPe dPy poc -afM +omp cnK giH aJj @@ -109302,7 +109755,7 @@ fbf nie qtm fyJ -oWm +hkF cuc adz tUw @@ -109339,7 +109792,7 @@ svK yec xhb uQk -waf +wGU vzc gUY pnH @@ -109359,7 +109812,7 @@ tOg tOg tOg gUS -gLr +bcH tOg aaa aaa @@ -109871,7 +110324,7 @@ aaa aaa aaa aaa -oCX +wmL wmL kLC wmL @@ -110354,7 +110807,7 @@ dkC dwz dwz frE -cyE +aQr uwQ siy lgL @@ -110389,7 +110842,7 @@ wmL cvO uNO hUd -uWk +wmL aaa aaa aaa @@ -111098,7 +111551,7 @@ qLw tdf mdk kYG -dqE +jGS oFH oFH sSz @@ -111408,7 +111861,7 @@ lMJ aaa aaa uaR -btC +sxt wRL tyj myr @@ -111612,7 +112065,7 @@ hko uLp qTX kYG -uJz +hts iHy vSC eKw @@ -111665,10 +112118,10 @@ dxK aaa aaa oMA -enG -fpD -qmi -vOz +cpw +jjD +mYa +lme tsy sRa ppC @@ -111881,8 +112334,8 @@ dRA wCe khu hUu -kxC -oMh +xVE +ops mEG nRp dtY @@ -111925,7 +112378,7 @@ uaR jHX oQk toR -ePT +nHl syV jsi eoZ @@ -112395,9 +112848,9 @@ wsI fia sRW hKi -apO +efX lLB -qRq +kDv rzT cWy xRZ @@ -112905,7 +113358,7 @@ fJy fJy fJy pnJ -dKl +fJy fJy byR iFh @@ -113166,7 +113619,7 @@ rLZ fJy ygp tyE -qNO +xuu bDq rRR laE @@ -113210,7 +113663,7 @@ kWc xiL bus hMv -iTQ +lVT vGq avx vBf @@ -113220,7 +113673,7 @@ qQJ vGq bjs gyI -lPS +rWp xiL kvO bPB @@ -113435,7 +113888,7 @@ efd nwK fFC uVf -qqs +mHH gDq ich jnQ @@ -114751,7 +115204,7 @@ oyj xiL mtu lHh -iNK +glW faD iWc cXP @@ -114761,7 +115214,7 @@ vvD cXP lVB iWc -gkC +wQS xlH mtu xiL @@ -115521,19 +115974,19 @@ hbK hbK oyj xiL -rMe +eqo rwx vFh dac evD pJf -ycv +eMC tIe min min wFy ohD -bZb +rOZ xiL lmn hbK @@ -115781,13 +116234,13 @@ xiL hWa imw iHH -mcF +aJw rrL rSW min ckI sCv -mDC +nfC toM eOP hWa @@ -116810,7 +117263,7 @@ goW msN xiL jlU -kGR +uVj lyL mao mCu @@ -117067,7 +117520,7 @@ rDf uhs fjd jlU -oGj +cvG sZN msR xkv @@ -117581,11 +118034,11 @@ hbK mgS hbK jlU -kcu -kcu -gyK -kcu -kcu +jDN +jDN +wIE +jDN +jDN jlU hbK mTg @@ -117838,11 +118291,11 @@ tmU fGy wyo jlU -dLm -kcu -gyK -kcu -kcu +orl +jDN +wIE +jDN +jDN jlU qgn mCV @@ -118095,11 +118548,11 @@ pWT rDf uLa jlU -kcu -kcu -jQz -nJr -kcu +jDN +jDN +lLV +fpR +jDN jlU lUS pHt @@ -118352,11 +118805,11 @@ hbK wrc wrc jlU -kcu -kcu -kcu -kcu -kcu +jDN +jDN +jDN +jDN +jDN jlU wrc wrc @@ -118610,9 +119063,9 @@ aaa lMJ jlU jlU -kcu -aYl -kcu +jDN +aOV +jDN jlU jlU lMJ @@ -122929,7 +123382,7 @@ aTV aTV bjP tri -bny +vkt pfe brY giA @@ -123442,7 +123895,7 @@ uUX azv dKG bjQ -nhU +vMI pQv tSP qiH @@ -123692,7 +124145,7 @@ aVn tIa aWN aTV -qeQ +ePK aTV aTV aWN @@ -124470,7 +124923,7 @@ iCV mCL pIE bjQ -dqy +fMa rNs tSP mZW @@ -124733,7 +125186,7 @@ txh bjQ giA hSe -lBN +okp pDe ueE jGr @@ -125244,7 +125697,7 @@ ldP xgE uFw tXz -jGN +wkA gfU gfU gfU diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 5bc3a711a1b03..1600fc09a7087 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -56,10 +56,6 @@ "ak" = ( /turf/closed/mineral/random/volcanic, /area/lavaland/surface/outdoors/unexplored/danger) -"am" = ( -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ao" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -82,6 +78,12 @@ /obj/item/clothing/glasses/meson, /turf/open/floor/iron/dark, /area/mine/storage/public) +"as" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "av" = ( /obj/machinery/computer/arcade/orion_trail{ dir = 4 @@ -93,6 +95,16 @@ /obj/structure/cable, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"aF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) +"aH" = ( +/obj/structure/railing{ + dir = 10 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "aM" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "lavaland_living_east_maint" @@ -137,6 +149,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/mine/maintenance/service) +"aX" = ( +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/plating/lavaland_atmos, +/area/lavaland/surface/outdoors) +"ba" = ( +/obj/structure/chair/sofa/middle{ + dir = 1; + color = "#AA4A44" + }, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "bb" = ( /obj/structure/closet/crate/internals, /obj/item/tank/internals/emergency_oxygen, @@ -154,6 +180,13 @@ dir = 4 }, /area/mine/laborcamp/production) +"be" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Raptor Ranch External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/mine/lobby/raptor) "bf" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, @@ -161,8 +194,12 @@ "bh" = ( /obj/structure/table/wood/fancy/blue, /obj/machinery/light/small/directional/south, -/obj/item/paper, -/obj/item/pen, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/yellow, /turf/open/floor/carpet/royalblue, /area/mine/living_quarters) @@ -197,31 +234,20 @@ }, /turf/open/floor/plating, /area/mine/maintenance/production) +"bE" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "bH" = ( /obj/structure/table, /obj/item/book/manual/chef_recipes{ pixel_x = -3; - pixel_y = -5 + pixel_y = 11 }, /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp) -"bK" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/structure/sign/poster/official/corporate_perks_vacation/directional/west, -/turf/open/floor/iron/edge{ - dir = 4 - }, -/area/mine/lounge) "bL" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -314,11 +340,12 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 13 }, /obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -3; - pixel_y = 5 + pixel_y = 18 }, /turf/open/floor/iron/checker, /area/mine/laborcamp) @@ -344,11 +371,10 @@ /turf/open/floor/plating, /area/mine/maintenance/service) "ct" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/marker_beacon/purple, +/turf/open/floor/plating/lavaland_atmos, +/area/lavaland/surface/outdoors) "cw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -386,7 +412,9 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/item/camera, +/obj/item/camera{ + pixel_y = 8 + }, /turf/open/floor/iron/edge, /area/mine/lounge) "cJ" = ( @@ -498,14 +526,23 @@ /obj/structure/table, /obj/item/storage/box/donkpockets{ pixel_x = -5; - pixel_y = 7 + pixel_y = 18 + }, +/obj/item/storage/box/donkpockets/donkpocketspicy{ + pixel_y = 6 }, -/obj/item/storage/box/donkpockets/donkpocketspicy, /obj/effect/turf_decal/siding/wood{ dir = 5 }, /turf/open/floor/iron/white, /area/mine/cafeteria) +"de" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/lattice/catwalk/mining, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "dh" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -581,6 +618,21 @@ /obj/structure/lattice/catwalk/mining, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"dF" = ( +/obj/structure/table/wood, +/obj/item/food/meat/slab{ + pixel_y = 8 + }, +/obj/item/food/meat/slab{ + pixel_x = 6; + pixel_y = 14 + }, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) +"dI" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/mine/lobby/raptor) "dJ" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -623,11 +675,17 @@ /area/lavaland/surface/outdoors) "ee" = ( /obj/machinery/shower/directional/south, -/obj/machinery/door/window/right/directional/south, +/obj/machinery/door/window/half/right/directional/south, /obj/effect/decal/cleanable/dirt, /obj/item/soap/homemade, /turf/open/floor/iron/freezer, /area/mine/laborcamp) +"ej" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "eo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -669,7 +727,6 @@ /obj/effect/turf_decal/siding/yellow{ dir = 4 }, -/obj/machinery/light/directional/west, /turf/open/floor/iron/edge{ dir = 4 }, @@ -679,13 +736,13 @@ /area/mine/maintenance/public/south) "eC" = ( /obj/machinery/shower/directional/west, -/obj/machinery/door/window/right/directional/west, +/obj/machinery/door/window/half/left/directional/west, /turf/open/floor/iron/freezer, /area/mine/living_quarters) "eD" = ( /obj/structure/table, /obj/machinery/microwave{ - pixel_y = 6 + pixel_y = 10 }, /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -713,6 +770,18 @@ dir = 8 }, /area/mine/cafeteria) +"eL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) +"eN" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "eP" = ( /obj/structure/chair/sofa/left/brown, /obj/effect/turf_decal/tile/bar/opposingcorners{ @@ -730,7 +799,6 @@ }, /obj/effect/spawner/random/trash/graffiti, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/work_for_a_future/directional/west, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) "eW" = ( @@ -754,6 +822,9 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/mine/laborcamp/security/maintenance) +"fa" = ( +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "fb" = ( /obj/structure/railing/corner{ dir = 4 @@ -787,7 +858,8 @@ "fk" = ( /obj/machinery/door/airlock/public/glass{ id_tag = "cellblock1"; - name = "Labor Camp Operations" + name = "Labor Camp Operations"; + dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -796,8 +868,8 @@ /area/mine/laborcamp) "fo" = ( /obj/structure/closet/crate, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/west, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 }, @@ -855,6 +927,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/maintenance/service) +"fK" = ( +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/railing, +/turf/open/floor/plating/lavaland_atmos, +/area/lavaland/surface/outdoors) "fL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -869,12 +946,12 @@ /turf/open/floor/iron/edge, /area/mine/lounge) "fM" = ( -/obj/structure/sink/kitchen/directional/west{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "old sink" - }, /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/structure/toilet{ + dir = 8; + pixel_y = 6 + }, /turf/open/floor/iron/freezer, /area/mine/laborcamp/quarters) "fO" = ( @@ -935,12 +1012,11 @@ /area/mine/maintenance/living/south) "gh" = ( /obj/effect/decal/cleanable/glass, -/obj/structure/grille/broken, /obj/item/shard{ pixel_x = -6; pixel_y = -5 }, -/obj/effect/spawner/random/trash/graffiti, +/obj/structure/window_frame, /turf/open/floor/plating, /area/mine/laborcamp) "gj" = ( @@ -994,9 +1070,12 @@ /obj/structure/table, /obj/item/tank/internals/emergency_oxygen{ pixel_x = 5; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_y = 4; + pixel_x = 5 }, -/obj/item/tank/internals/emergency_oxygen, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, @@ -1021,7 +1100,9 @@ /area/mine/maintenance/service) "gs" = ( /obj/structure/table, -/obj/item/storage/crayons, +/obj/item/storage/crayons{ + pixel_y = 8 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) @@ -1191,12 +1272,15 @@ /turf/open/floor/iron/dark/smooth_edge, /area/mine/storage/public) "hj" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/sign/poster/official/cleanliness/directional/north, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, /turf/open/floor/iron/freezer, /area/mine/living_quarters) +"hl" = ( +/obj/structure/tank_holder/extinguisher, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "hn" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 @@ -1315,8 +1399,12 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "hM" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/lavaland/surface) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "hR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1338,8 +1426,12 @@ /area/mine/storage/public) "hW" = ( /obj/structure/table, -/obj/item/reagent_containers/cup/bowl, -/obj/item/kitchen/spoon, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 8 + }, +/obj/item/kitchen/spoon{ + pixel_y = 8 + }, /turf/open/floor/iron/checker, /area/mine/laborcamp) "hY" = ( @@ -1418,7 +1510,7 @@ "il" = ( /obj/item/flashlight/lantern/on, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "io" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1473,9 +1565,11 @@ /obj/structure/table, /obj/item/tank/internals/emergency_oxygen{ pixel_x = 5; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_y = 8 }, -/obj/item/tank/internals/emergency_oxygen, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, @@ -1484,7 +1578,7 @@ /obj/structure/table, /obj/item/kitchen/fork{ pixel_x = -7; - pixel_y = 4 + pixel_y = 13 }, /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 @@ -1523,6 +1617,13 @@ dir = 1 }, /area/mine/living_quarters) +"jb" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/lattice/catwalk/mining, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "jc" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1570,8 +1671,12 @@ /area/mine/laborcamp) "jq" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/structure/cable, /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -1598,6 +1703,10 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"jt" = ( +/obj/structure/fireplace, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "jw" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -1642,6 +1751,11 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"jJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "jL" = ( /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/surrounding_tile{ @@ -1692,24 +1806,39 @@ }, /area/mine/production) "jX" = ( -/obj/structure/railing/wooden_fence{ +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "ka" = ( /obj/structure/table, /obj/machinery/newscaster/directional/north, -/obj/item/plate/large, -/obj/item/kitchen/fork, +/obj/item/plate/large{ + pixel_y = 8 + }, +/obj/item/kitchen/fork{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 }, /turf/open/floor/iron/checker, /area/mine/cafeteria) +"kf" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "kg" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp) +"ki" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/mine/lobby/raptor) "kk" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -1840,9 +1969,12 @@ }, /obj/item/camera_film{ pixel_x = 5; - pixel_y = 5 + pixel_y = 14 + }, +/obj/item/camera_film{ + pixel_y = 5; + pixel_x = -6 }, -/obj/item/camera_film, /turf/open/floor/iron/edge, /area/mine/lounge) "kL" = ( @@ -1865,7 +1997,7 @@ /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 }, -/obj/machinery/mining_weather_monitor/directional/west, +/obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/checker, /area/mine/cafeteria) "kV" = ( @@ -1911,19 +2043,19 @@ /obj/structure/table, /obj/item/gps/mining{ pixel_x = 5; - pixel_y = 5 + pixel_y = 15 }, /obj/item/gps/mining{ pixel_x = -4; - pixel_y = 8 + pixel_y = 15 }, /obj/item/gps/mining{ pixel_x = -4; - pixel_y = -2 + pixel_y = 6 }, /obj/item/gps/mining{ pixel_x = 8; - pixel_y = -2 + pixel_y = 6 }, /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron/dark/smooth_edge{ @@ -1959,10 +2091,7 @@ /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) "lt" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, +/turf/open/misc/hay/lavaland, /area/lavaland/surface/outdoors) "lv" = ( /obj/structure/stone_tile/block/cracked{ @@ -2057,8 +2186,8 @@ /turf/open/floor/iron/dark, /area/mine/laborcamp/security) "lM" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "lavaland_miningshuttle_airlock" }, /obj/effect/mapping_helpers/airlock/unres, /obj/machinery/door/airlock/external/glass{ @@ -2083,13 +2212,7 @@ /obj/structure/disposalpipe/trunk{ dir = 2 }, -/obj/structure/sign/directions/dorms/directional/north, -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 24 - }, -/obj/structure/sign/directions/supply/directional/north{ - pixel_y = 40 - }, +/obj/structure/sign/directions/supply/north_arrow/directional/north, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, @@ -2100,6 +2223,10 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/mine/lounge) +"lP" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "lQ" = ( /obj/structure/stone_tile/surrounding/cracked{ dir = 6 @@ -2133,8 +2260,6 @@ /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) "lX" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, /area/mine/living_quarters) @@ -2200,7 +2325,7 @@ }, /obj/item/raptor_dex, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "ml" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -2287,9 +2412,7 @@ /turf/open/floor/plating, /area/mine/maintenance/living/north) "mA" = ( -/obj/structure/fence{ - dir = 4 - }, +/obj/structure/fence, /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/mine/maintenance/service/disposals) @@ -2345,7 +2468,7 @@ /area/mine/medical) "mP" = ( /obj/machinery/hydroponics/constructable, -/obj/structure/window/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -2389,10 +2512,12 @@ /obj/structure/table, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, -/obj/item/pickaxe, +/obj/item/pickaxe{ + pixel_y = 8 + }, /obj/item/pickaxe{ pixel_x = -3; - pixel_y = 4 + pixel_y = 12 }, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -2530,12 +2655,20 @@ /turf/open/floor/iron/dark, /area/mine/production) "nl" = ( -/obj/structure/fence{ +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/obj/effect/turf_decal/sand/plating/volcanic, -/turf/open/floor/plating/lavaland_atmos, -/area/mine/maintenance/service/disposals) +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/edge{ + dir = 4 + }, +/area/mine/lounge) "nm" = ( /turf/closed/wall, /area/mine/maintenance/production) @@ -2566,7 +2699,7 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 }, -/obj/machinery/mining_weather_monitor/directional/south, +/obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) "nA" = ( @@ -2613,6 +2746,12 @@ /obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/iron/checker, /area/mine/laborcamp) +"nO" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "nP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/scrubber, @@ -2646,6 +2785,7 @@ /obj/machinery/camera/autoname/directional/north{ network = list("labor") }, +/obj/structure/sign/departments/medbay/alt/directional/north, /turf/open/floor/iron/smooth_edge, /area/mine/laborcamp/production) "nY" = ( @@ -2769,7 +2909,9 @@ /obj/machinery/camera/autoname/directional/east{ network = list("labor") }, -/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_y = 8 + }, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) "oJ" = ( @@ -2789,6 +2931,15 @@ /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron/dark, /area/mine/laborcamp) +"oO" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Mining External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/mine/lobby/raptor) "oS" = ( /obj/machinery/door/airlock/external/glass{ name = "Mining External Airlock" @@ -2804,8 +2955,6 @@ }, /obj/effect/spawner/random/trash/mess, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/mine/laborcamp) "pa" = ( @@ -2823,8 +2972,13 @@ /area/lavaland/surface/outdoors) "pc" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/spawner/random/food_or_drink/condiment, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 15; + pixel_x = 4 + }, +/obj/effect/spawner/random/food_or_drink/condiment{ + pixel_x = -6 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_edge{ dir = 8 @@ -2935,6 +3089,12 @@ }, /turf/open/floor/plating, /area/mine/laborcamp) +"pF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "pH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2943,7 +3103,6 @@ /area/mine/laborcamp) "pI" = ( /obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, @@ -2952,17 +3111,21 @@ /turf/closed/wall, /area/mine/eva) "pL" = ( -/obj/structure/toilet{ - dir = 8; - pixel_y = 6 - }, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/cleanliness/directional/north, +/obj/structure/sink/kitchen/directional/west{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink" + }, /turf/open/floor/iron/freezer, /area/mine/laborcamp/quarters) +"pM" = ( +/obj/structure/bookcase/random/reference, +/turf/open/floor/wood, +/area/mine/lobby/raptor) "pO" = ( /obj/machinery/shower/directional/south, -/obj/machinery/door/window/left/directional/south, +/obj/machinery/door/window/half/left/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/mine/laborcamp) @@ -3042,8 +3205,12 @@ "qh" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/machinery/camera/autoname/directional/west{ network = list("labor") }, @@ -3051,12 +3218,6 @@ dir = 4 }, /area/mine/laborcamp/quarters) -"qi" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "qo" = ( /obj/machinery/door/airlock/glass{ name = "Equipment Storage" @@ -3097,7 +3258,6 @@ "qw" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/work_for_a_future/directional/east, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) "qx" = ( @@ -3125,6 +3285,11 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) +"qB" = ( +/obj/machinery/smartfridge/drying/rack, +/obj/item/food/cheese/firm_cheese, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "qH" = ( /obj/machinery/door/airlock{ id_tag = "miningbathroomprivate"; @@ -3142,7 +3307,7 @@ /area/mine/cafeteria) "qO" = ( /obj/machinery/shower/directional/west, -/obj/machinery/door/window/left/directional/west, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/iron/freezer, /area/mine/living_quarters) "qQ" = ( @@ -3155,9 +3320,15 @@ "qV" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/paper, -/obj/item/pen, -/obj/item/cigbutt, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/item/cigbutt{ + pixel_y = 8 + }, /turf/open/floor/iron/smooth_edge{ dir = 1 }, @@ -3184,8 +3355,36 @@ }, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) +"rf" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) +"rj" = ( +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = -1; + pixel_x = 5 + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = 9; + pixel_x = 2 + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?" + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "rm" = ( -/obj/structure/sign/warning/gas_mask/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) @@ -3216,7 +3415,7 @@ /area/mine/cafeteria) "rz" = ( /obj/machinery/shower/directional/west, -/obj/machinery/door/window/left/directional/west, +/obj/machinery/door/window/half/right/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/mine/laborcamp) @@ -3225,6 +3424,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/maintenance/service) +"rB" = ( +/obj/structure/chair/sofa/corner{ + dir = 1; + color = "#AA4A44" + }, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "rF" = ( /turf/closed/wall/r_wall, /area/mine/maintenance/labor) @@ -3233,6 +3439,7 @@ dir = 4 }, /obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/sign/directions/arrival/east_arrow/directional/north, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) "rH" = ( @@ -3297,9 +3504,11 @@ /area/mine/maintenance/service) "sa" = ( /obj/structure/table/wood, -/obj/item/flashlight/lantern/on, +/obj/item/flashlight/lantern/on{ + pixel_y = 8 + }, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "se" = ( /turf/open/floor/iron/dark/textured_large, /area/mine/eva) @@ -3339,12 +3548,12 @@ dir = 10 }, /obj/item/storage/box/bandages{ - pixel_y = 6; + pixel_y = 16; pixel_x = 4 }, /obj/item/storage/pill_bottle/epinephrine{ - pixel_x = -6; - pixel_y = 4 + pixel_x = -7; + pixel_y = 7 }, /turf/open/floor/iron/white/smooth_corner{ dir = 8 @@ -3384,7 +3593,6 @@ /area/lavaland/surface/outdoors) "sz" = ( /obj/effect/turf_decal/bot, -/obj/structure/sign/departments/medbay/alt/directional/north, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/smooth_edge, @@ -3399,7 +3607,7 @@ "sQ" = ( /obj/structure/ore_container/food_trough/raptor_trough, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "sR" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, @@ -3432,14 +3640,15 @@ /obj/structure/table, /obj/item/reagent_containers/cup/glass/bottle/beer{ pixel_x = 7; - pixel_y = 5 + pixel_y = 15 }, /obj/item/reagent_containers/cup/glass/bottle/beer{ pixel_x = -1; - pixel_y = 9 + pixel_y = 19 }, /obj/item/reagent_containers/cup/glass/bottle/beer{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 10 }, /turf/open/floor/iron/white/smooth_edge{ dir = 1 @@ -3473,6 +3682,13 @@ dir = 4 }, /area/mine/cafeteria) +"tf" = ( +/obj/structure/chair/sofa/corner{ + dir = 8; + color = "#AA4A44" + }, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "tg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance{ @@ -3628,6 +3844,12 @@ /obj/item/crowbar/large/emergency, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"up" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "uq" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -3654,7 +3876,7 @@ "uw" = ( /obj/effect/spawner/random/lavaland_mob/raptor, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "ux" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm1"; @@ -3701,11 +3923,11 @@ /area/mine/lounge) "uT" = ( /obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ +/obj/machinery/atmospherics/components/unary/outlet_injector/layer2{ dir = 1 }, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) +/area/mine/maintenance/service) "uU" = ( /turf/closed/mineral/random/labormineral/volcanic, /area/lavaland/surface/outdoors) @@ -3777,17 +3999,13 @@ /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) "vi" = ( -/obj/structure/chair/sofa/corp/right{ - dir = 8 - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, /obj/effect/turf_decal/siding/yellow{ dir = 8 }, -/obj/structure/sign/poster/official/high_class_martini/directional/east, -/obj/machinery/light/small/directional/east, +/obj/structure/sign/directions/evac/north_arrow/directional/east, /turf/open/floor/iron/edge{ dir = 8 }, @@ -3817,6 +4035,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/mine/hydroponics) +"vr" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "vu" = ( /obj/structure/bed/medical/emergency, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3872,7 +4096,8 @@ dir = 10 }, /obj/item/toy/plush/abductor/agent{ - name = "Mothership Agent Psi" + name = "Mothership Agent Psi"; + pixel_y = 8 }, /turf/open/floor/carpet/royalblue, /area/mine/living_quarters) @@ -3885,6 +4110,14 @@ /obj/item/cigbutt, /turf/open/floor/iron/smooth, /area/mine/laborcamp) +"vM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "vN" = ( /obj/machinery/computer/records/security, /obj/structure/cable, @@ -3936,6 +4169,12 @@ /obj/effect/turf_decal/siding/wideplating_new, /turf/open/floor/iron/checker, /area/mine/laborcamp) +"wa" = ( +/obj/machinery/camera/autoname/directional/north{ + network = list("mine") + }, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "wb" = ( /obj/structure/chair{ dir = 8 @@ -4049,15 +4288,15 @@ /obj/structure/table/wood/poker, /obj/item/toy/cards/deck{ pixel_x = -6; - pixel_y = -1 + pixel_y = 9 }, /obj/item/toy/cards/deck/cas/black{ pixel_x = -6; - pixel_y = 10 + pixel_y = 19 }, /obj/item/toy/cards/deck/cas{ pixel_x = 6; - pixel_y = 8 + pixel_y = 17 }, /obj/machinery/airalarm/directional/east, /turf/open/floor/carpet/neon/simple/red/nodots, @@ -4093,8 +4332,12 @@ /area/lavaland/surface/outdoors) "xi" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/mine/living_quarters) "xn" = ( @@ -4118,10 +4361,7 @@ /obj/structure/railing{ dir = 4 }, -/obj/structure/sign/directions/dorms/directional/north, -/obj/structure/sign/directions/supply/directional/north{ - pixel_y = 24 - }, +/obj/structure/sign/directions/dorms/north_arrow/directional/north, /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) @@ -4216,15 +4456,23 @@ "xU" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/table, -/obj/item/gps/mining, +/obj/item/gps/mining{ + pixel_y = 8 + }, /obj/item/gps/mining{ pixel_x = -4; - pixel_y = -2 + pixel_y = 6 }, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, /area/mine/storage/public) +"xW" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "yc" = ( /obj/docking_port/stationary{ dir = 2; @@ -4335,6 +4583,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, +/obj/structure/sign/poster/official/cleanliness/directional/north, /turf/open/floor/iron, /area/mine/living_quarters) "yN" = ( @@ -4365,6 +4614,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) "yV" = ( @@ -4399,8 +4649,7 @@ /turf/open/floor/plating, /area/mine/maintenance/service) "ze" = ( -/obj/effect/spawner/random/lavaland_mob/raptor, -/turf/open/misc/asteroid/basalt/lava_land_surface, +/turf/open/misc/ashplanet/rocky, /area/lavaland/surface/outdoors) "zf" = ( /obj/machinery/door/airlock{ @@ -4459,19 +4708,12 @@ /turf/open/floor/iron/smooth, /area/mine/laborcamp) "zs" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) -"zw" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/ripped/directional/south, -/turf/open/floor/iron/smooth_edge{ - dir = 1 +/obj/structure/railing{ + dir = 5 }, -/area/mine/laborcamp) +/obj/structure/lattice/catwalk/mining, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "zA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4484,7 +4726,6 @@ /obj/effect/turf_decal/loading_area{ dir = 1 }, -/obj/structure/barricade/wooden/crude, /obj/structure/barricade/wooden, /turf/open/floor/iron/dark, /area/mine/production) @@ -4493,18 +4734,18 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 }, +/obj/machinery/light/directional/south, /turf/open/floor/iron, /area/mine/lounge) "zH" = ( -/obj/structure/sign/directions/arrival/directional/south{ - pixel_y = -40 - }, /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/cafeteria) "zJ" = ( -/obj/machinery/mineral/processing_unit_console, +/obj/machinery/mineral/processing_unit_console{ + pixel_y = -12 + }, /turf/closed/wall, /area/mine/production) "zK" = ( @@ -4552,6 +4793,13 @@ /obj/structure/cable, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"zX" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "Ae" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4567,6 +4815,13 @@ }, /turf/open/floor/plating, /area/mine/laborcamp/production) +"Ah" = ( +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/structure/table/wood, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "Ai" = ( /obj/structure/stone_tile/cracked{ dir = 1 @@ -4602,11 +4857,21 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/mining_station, /turf/open/floor/iron/dark/textured_large, /area/mine/production) +"Av" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "Ax" = ( /obj/item/pickaxe, /obj/effect/mob_spawn/corpse/human/miner, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Az" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "AA" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment, @@ -4620,6 +4885,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp) +"AF" = ( +/obj/structure/lattice/catwalk/mining, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "AI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4711,7 +4983,7 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "BH" = ( -/obj/structure/window/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 }, @@ -4758,14 +5030,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/mine/maintenance/living/north) -"BV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/report_crimes/directional/west, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp) "Ce" = ( /turf/open/floor/plating, /area/mine/maintenance/public/south) @@ -4797,12 +5061,31 @@ }, /turf/open/floor/iron/checker, /area/mine/cafeteria) -"Cv" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 +"Cn" = ( +/obj/structure/table/wood, +/obj/item/plate{ + pixel_x = 6; + pixel_y = 7 }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/obj/item/plate{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/reagent_containers/cup/glass/mug/tea{ + pixel_x = 8; + pixel_y = -3 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) +"Cv" = ( +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/marker_beacon/purple, +/obj/effect/turf_decal/sand/plating/volcanic, +/turf/open/floor/plating/lavaland_atmos, +/area/lavaland/surface/outdoors) "Cz" = ( /obj/machinery/door/airlock/medical/glass{ name = "Infirmary" @@ -4843,10 +5126,10 @@ "CE" = ( /obj/structure/table, /obj/item/mecha_parts/mecha_equipment/drill{ - pixel_y = -2 + pixel_y = 6 }, /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp{ - pixel_y = 8 + pixel_y = 16 }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -4855,18 +5138,13 @@ /turf/open/floor/iron/dark, /area/mine/mechbay) "CI" = ( -/obj/structure/sign/directions/supply/directional/east{ - pixel_x = null; - pixel_y = -24 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/edge{ +/obj/structure/railing/corner{ dir = 1 }, -/area/mine/living_quarters) +/obj/structure/lattice/catwalk/mining, +/obj/structure/sign/directions/lavaland/west_arrow/directional/north, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "CM" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark/textured_large, @@ -4894,13 +5172,14 @@ /area/mine/maintenance/public/north) "CU" = ( /obj/structure/toilet{ - dir = 8; - pixel_y = 6 + dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/curtain, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/iron/freezer, /area/mine/living_quarters) +"CV" = ( +/turf/closed/wall/mineral/iron, +/area/mine/lobby/raptor) "CX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4978,10 +5257,9 @@ /turf/closed/wall, /area/mine/medical) "DB" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, +/obj/structure/marker_beacon/purple, +/obj/effect/turf_decal/sand/plating/volcanic, +/turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) "DF" = ( /obj/structure/cable, @@ -5149,6 +5427,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/mine/maintenance/service) +"EL" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating/lavaland_atmos, +/area/mine/lounge) "EM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -5162,6 +5444,12 @@ dir = 1 }, /area/mine/production) +"EP" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "EQ" = ( /turf/open/floor/iron/smooth_edge{ dir = 8 @@ -5216,14 +5504,32 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Fo" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "Fp" = ( /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) +"Fr" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Mining Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "lavaland_miningshuttle_airlock" + }, +/turf/open/floor/iron/dark/textured_large, +/area/mine/production) "Fs" = ( /obj/effect/turf_decal/sand/plating/volcanic, /obj/effect/spawner/random/maintenance/two, @@ -5267,6 +5573,10 @@ "FH" = ( /turf/closed/wall, /area/lavaland/surface/outdoors) +"FI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "FL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/west, @@ -5352,12 +5662,12 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, -/obj/item/radio/intercom/prison/directional/south, +/obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/mine/lounge) "Gz" = ( /obj/machinery/shower/directional/west, -/obj/machinery/door/window/right/directional/west, +/obj/machinery/door/window/half/left/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/mine/laborcamp) @@ -5388,11 +5698,8 @@ }, /area/mine/production) "GG" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "GH" = ( /obj/machinery/door/airlock/glass{ name = "Arrival Lounge" @@ -5402,6 +5709,12 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/lounge) +"GI" = ( +/obj/structure/rack, +/obj/item/stack/sheet/mineral/wood/fifty, +/obj/item/lighter, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "GL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5464,6 +5777,18 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/mine/maintenance/public/north) +"Hj" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Mining External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating/lavaland_atmos, +/area/mine/lounge) +"Hl" = ( +/turf/open/floor/plating/lavaland_atmos, +/area/mine/lounge) "Hp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -5665,7 +5990,8 @@ "Iy" = ( /obj/structure/table, /obj/item/storage/medkit/emergency{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 5 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, @@ -5689,7 +6015,10 @@ /turf/open/floor/plating, /area/mine/maintenance/service) "IK" = ( -/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/machinery/computer/libraryconsole/bookmanagement{ + dir = 4; + pixel_y = 8 + }, /obj/structure/table, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) @@ -5731,6 +6060,8 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "IS" = ( +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, /turf/open/floor/iron/freezer, /area/mine/living_quarters) "IU" = ( @@ -5781,6 +6112,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp) +"Jg" = ( +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/lavaland_atmos, +/area/lavaland/surface/outdoors) "Jh" = ( /obj/structure/cable, /obj/machinery/light/small/directional/east, @@ -5854,17 +6192,12 @@ /area/lavaland/surface/outdoors) "JA" = ( /obj/machinery/computer/shuttle/mining/common, -/obj/structure/sign/directions/evac/directional/east{ - pixel_x = 0; - pixel_y = 24 - }, /obj/machinery/camera/autoname/directional/north{ network = list("mine") }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/mine/lounge) "JB" = ( @@ -5950,6 +6283,13 @@ dir = 1 }, /area/mine/living_quarters) +"JQ" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Raptor Ranch External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating/lavaland_atmos, +/area/mine/lounge) "JR" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -6031,6 +6371,41 @@ /obj/structure/girder, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Km" = ( +/obj/structure/rack, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?" + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = 9 + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = 9; + pixel_x = 2 + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = 6 + }, +/obj/item/food/grown/grass/fairy{ + name = "weird hay"; + desc = "Somehow, somewhere, this tells you it should increase your friendship level with your animals. Too bad that doesn't work, right?"; + pixel_y = 6; + pixel_x = 9 + }, +/obj/item/crowbar/large, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "Kn" = ( /obj/machinery/telecomms/relay/preset/mining, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6123,11 +6498,21 @@ }, /turf/open/floor/iron/checker, /area/mine/cafeteria) +"KO" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "KV" = ( /obj/structure/table, /obj/machinery/light/directional/east, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 8 + }, /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -6243,6 +6628,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/storage) +"Lv" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "Lw" = ( /obj/effect/turf_decal/sand/plating/volcanic, /obj/effect/turf_decal/stripes/line{ @@ -6278,10 +6672,11 @@ /obj/structure/table, /obj/item/storage/medkit/emergency{ pixel_x = 3; - pixel_y = 6 + pixel_y = 16 }, /obj/item/storage/medkit/emergency{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 5 }, /obj/machinery/camera/autoname/directional/west{ network = list("mine") @@ -6348,6 +6743,13 @@ }, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) +"LV" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/lattice/catwalk/mining, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "LY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -6392,6 +6794,10 @@ dir = 8 }, /area/mine/lounge) +"Mf" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "Mr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -6470,19 +6876,8 @@ /turf/open/floor/iron/checker, /area/mine/cafeteria) "MQ" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/sign/directions/security/directional/west{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/directions/lavaland/directional/north{ - pixel_x = 32; - pixel_y = 8 - }, -/obj/effect/turf_decal/sand/plating/volcanic, -/turf/open/floor/plating/lavaland_atmos, +/obj/structure/sign/directions/security/left/east_arrow/directional/west, +/turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "MS" = ( /turf/open/floor/carpet/executive, @@ -6521,10 +6916,11 @@ /turf/open/floor/plating, /area/mine/maintenance/service) "Nf" = ( -/obj/structure/railing{ +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/railing/corner{ dir = 4 }, -/obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/sign/directions/lavaland/north_arrow/directional/east, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) "Nh" = ( @@ -6574,6 +6970,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/mine/laborcamp/production) +"Ns" = ( +/obj/structure/flora/ash/fireblossom, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "Nt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/west, @@ -6627,11 +7027,8 @@ /turf/open/floor/iron/dark, /area/mine/production) "NK" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/turf/open/misc/ashplanet/ash, +/area/lavaland/surface/outdoors) "NL" = ( /obj/structure/railing, /obj/structure/lattice/catwalk/mining, @@ -6641,6 +7038,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/laborcamp/security/maintenance) +"NP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/lobby/raptor) "NR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -6652,7 +7056,7 @@ /area/mine/laborcamp/production) "NS" = ( /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "NT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6726,9 +7130,11 @@ "Ok" = ( /obj/structure/table, /obj/machinery/cell_charger{ - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 }, -/obj/item/stock_parts/power_store/cell/high, /obj/item/stock_parts/power_store/cell/high{ pixel_y = 3 }, @@ -6745,8 +7151,16 @@ /obj/effect/turf_decal/siding/yellow/corner{ dir = 1 }, +/obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/mine/lounge) +"Oo" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/item/reagent_containers/cup/bucket/wooden, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "Op" = ( /obj/structure/stone_tile/slab, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -6768,6 +7182,16 @@ dir = 4 }, /area/mine/laborcamp/security) +"OE" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "OH" = ( /obj/item/storage/fancy/cigarettes/cigpack_robust{ pixel_x = -8; @@ -6824,7 +7248,7 @@ }, /obj/item/soap/deluxe, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "OZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6834,6 +7258,10 @@ dir = 1 }, /area/mine/mechbay) +"Pb" = ( +/obj/structure/water_source/puddle, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "Pc" = ( /obj/structure/closet/crate/grave, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -6844,6 +7272,13 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) +"Pe" = ( +/obj/structure/lattice/catwalk/mining, +/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/lavaland_atmos, +/area/lavaland/surface/outdoors) "Pi" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/trimline/red/filled/line, @@ -6881,9 +7316,17 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/mine/cafeteria) +"Pn" = ( +/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/lavaland_atmos, +/area/lavaland/surface/outdoors) "Po" = ( /obj/structure/table, -/obj/item/paper/guides/jobs/security/labor_camp, +/obj/item/paper/guides/jobs/security/labor_camp{ + pixel_y = 8 + }, /obj/structure/cable, /obj/machinery/camera/autoname/directional/south{ network = list("labor") @@ -7000,7 +7443,9 @@ /area/mine/laborcamp/security) "PY" = ( /obj/structure/table, -/obj/effect/spawner/random/entertainment/toy, +/obj/effect/spawner/random/entertainment/toy{ + pixel_y = 7 + }, /turf/open/floor/iron/checker, /area/mine/laborcamp) "Qa" = ( @@ -7187,6 +7632,28 @@ }, /turf/open/floor/iron/dark, /area/mine/production) +"Ri" = ( +/obj/item/canvas/twentythree_nineteen, +/obj/structure/easel, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) +"Rj" = ( +/obj/machinery/suit_storage_unit/mining, +/obj/effect/turf_decal/trimline/brown/filled/line{ + 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/dark/smooth_edge{ + dir = 8 + }, +/area/mine/eva) +"Rm" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "Ro" = ( /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -7207,6 +7674,7 @@ dir = 9 }, /obj/effect/turf_decal/siding/yellow/corner, +/obj/structure/sign/poster/official/corporate_perks_vacation/directional/north, /turf/open/floor/iron, /area/mine/lounge) "Ru" = ( @@ -7243,18 +7711,8 @@ /turf/closed/wall, /area/mine/maintenance/labor) "RF" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/sign/directions/security/directional/west{ - pixel_x = 0; - pixel_y = 24 - }, -/obj/structure/sign/directions/lavaland/directional/west{ - pixel_x = 0; - pixel_y = 32 - }, /obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/sign/directions/supply/north_arrow/directional/north, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) "RG" = ( @@ -7271,6 +7729,13 @@ /obj/structure/lattice/catwalk, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"RO" = ( +/obj/effect/spawner/structure/window/reinforced, +/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/mine/eva) "RV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -7280,7 +7745,9 @@ /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) "RW" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "lavaland_miningshuttle_airlock" + }, /obj/effect/mapping_helpers/airlock/unres, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -7315,9 +7782,7 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "Sd" = ( -/obj/structure/fence/end{ - dir = 8 - }, +/obj/structure/fence/end, /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/mine/maintenance/service/disposals) @@ -7332,6 +7797,11 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Sj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "Sm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/siding/yellow, @@ -7345,6 +7815,14 @@ }, /turf/open/floor/iron/dark, /area/mine/hydroponics) +"Sp" = ( +/obj/structure/easel, +/obj/item/canvas/fortyfive_twentyseven, +/obj/item/canvas/thirtysix_twentyfour, +/obj/item/canvas/twentythree_nineteen, +/obj/item/paint_palette, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "Sq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/cable, @@ -7475,14 +7953,18 @@ "Ti" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/table, -/obj/item/paper/fluff/stations/lavaland/orm_notice, +/obj/item/paper/fluff/stations/lavaland/orm_notice{ + pixel_y = 8 + }, /turf/open/floor/iron/dark/smooth_edge{ dir = 1 }, /area/mine/production) "To" = ( /obj/structure/table, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/wood{ dir = 4 }, @@ -7517,17 +7999,22 @@ }, /area/mine/production) "Tt" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "Tu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp) +"Tw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "Tx" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -7566,7 +8053,7 @@ /obj/structure/table, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; - pixel_y = 4 + pixel_y = 13 }, /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron/dark/smooth_edge{ @@ -7574,19 +8061,17 @@ }, /area/mine/eva) "TR" = ( -/obj/structure/fence/cut/large{ - dir = 4 - }, +/obj/structure/fence/cut/large, /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/mine/maintenance/service/disposals) "TT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, +/obj/machinery/mining_weather_monitor/directional/north, /turf/open/floor/iron/dark/smooth_edge, /area/mine/laborcamp/security) "TV" = ( @@ -7706,6 +8191,10 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Uz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "UD" = ( /obj/structure/toilet{ dir = 8 @@ -7713,9 +8202,7 @@ /turf/open/floor/iron/freezer, /area/mine/living_quarters) "UI" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, +/obj/structure/flora/ash/stem_shroom, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "UK" = ( @@ -7725,13 +8212,6 @@ }, /turf/open/floor/iron/checker, /area/mine/laborcamp) -"UN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/no_erp/directional/south, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/quarters) "UQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -7755,7 +8235,9 @@ /area/lavaland/surface/outdoors) "US" = ( /obj/structure/table/wood, -/obj/item/toy/cards/deck, +/obj/item/toy/cards/deck{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners{ dir = 1 }, @@ -7796,11 +8278,9 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "Vd" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, +/obj/structure/railing, /turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/area/mine/lobby/raptor) "Ve" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, @@ -7839,7 +8319,7 @@ /area/mine/laborcamp) "Vm" = ( /obj/machinery/hydroponics/constructable, -/obj/structure/window/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/west, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -7911,8 +8391,12 @@ "VF" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/plate, -/obj/item/kitchen/fork, +/obj/item/plate{ + pixel_y = 8 + }, +/obj/item/kitchen/fork{ + pixel_y = 8 + }, /turf/open/floor/iron/checker, /area/mine/laborcamp) "VG" = ( @@ -7922,6 +8406,18 @@ }, /turf/open/floor/iron/checker, /area/mine/laborcamp) +"VI" = ( +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 1; + pixel_x = -5 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = 6; + pixel_y = 19 + }, +/obj/structure/table/wood, +/turf/open/floor/carpet/red, +/area/mine/lobby/raptor) "VJ" = ( /obj/structure/closet/crate, /obj/item/food/mint, @@ -7945,11 +8441,11 @@ /turf/open/floor/plating, /area/mine/maintenance/labor) "VP" = ( -/obj/structure/railing/wooden_fence{ +/obj/effect/turf_decal/siding/wood/end{ dir = 8 }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "VS" = ( /obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, @@ -7959,6 +8455,12 @@ /obj/item/seeds/potato, /turf/open/floor/iron/dark, /area/mine/laborcamp) +"VU" = ( +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "VX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -7989,6 +8491,18 @@ /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/mine/lounge) +"Wh" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"Wk" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "Wl" = ( /obj/machinery/door/airlock/external/glass{ name = "Mining External Airlock" @@ -8008,6 +8522,12 @@ dir = 1 }, /area/mine/laborcamp/security) +"Wq" = ( +/obj/structure/railing{ + dir = 5 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) "Wt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/disposalpipe/segment, @@ -8064,7 +8584,7 @@ /turf/open/floor/iron/dark, /area/mine/mechbay) "WK" = ( -/obj/structure/chair/sofa/corp{ +/obj/structure/chair/sofa/corp/right{ dir = 8 }, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -8140,7 +8660,9 @@ "Xg" = ( /obj/structure/table, /obj/machinery/light/directional/west, -/obj/effect/spawner/random/food_or_drink/booze, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/wood{ dir = 1 }, @@ -8174,6 +8696,10 @@ dir = 4 }, /area/mine/production) +"Xk" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface/outdoors) "Xp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8255,7 +8781,7 @@ /area/lavaland/surface/outdoors) "XJ" = ( /obj/machinery/hydroponics/constructable, -/obj/structure/window/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -8263,13 +8789,6 @@ /obj/item/seeds/apple, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"XM" = ( -/obj/structure/sign/directions/evac/directional/south{ - pixel_x = 32; - pixel_y = 0 - }, -/turf/open/floor/iron/dark/textured_large, -/area/mine/production) "XP" = ( /obj/structure/stone_tile/cracked, /obj/structure/stone_tile/block{ @@ -8308,7 +8827,9 @@ /area/mine/mechbay) "XZ" = ( /obj/structure/table, -/obj/item/storage/fancy/donut_box, +/obj/item/storage/fancy/donut_box{ + pixel_y = 8 + }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, @@ -8360,6 +8881,8 @@ /area/mine/lounge) "Yg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/dark/textured_large, /area/mine/eva) "Yk" = ( @@ -8387,7 +8910,7 @@ /turf/open/floor/plating, /area/mine/laborcamp/production) "Yp" = ( -/obj/structure/sign/warning/docking/directional/north, +/obj/structure/sign/poster/official/no_erp/directional/north, /obj/effect/spawner/random/trash/graffiti, /obj/machinery/camera/autoname/directional/north{ network = list("labor") @@ -8405,7 +8928,9 @@ "Yr" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/toy/cards/deck, +/obj/item/toy/cards/deck{ + pixel_y = 8 + }, /turf/open/floor/iron/checker, /area/mine/laborcamp) "Ys" = ( @@ -8417,8 +8942,12 @@ /area/mine/laborcamp/security) "Yv" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /turf/open/floor/iron/smooth_edge{ dir = 1 }, @@ -8438,6 +8967,14 @@ /obj/structure/barricade/wooden, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"YP" = ( +/obj/structure/bookcase/random/reference, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) "YR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8518,8 +9055,13 @@ /obj/effect/turf_decal/loading_area{ dir = 1 }, +/obj/effect/spawner/random/trash/graffiti, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) +"Zs" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "Zt" = ( /turf/closed/wall, /area/mine/laborcamp) @@ -8532,17 +9074,14 @@ /area/mine/living_quarters) "Zw" = ( /obj/structure/curtain, -/obj/structure/window/spawner/directional/south, -/obj/machinery/shower/directional/south, +/obj/structure/window/reinforced/half/directional/south, +/obj/machinery/shower/directional/north, /obj/item/soap, /turf/open/floor/iron/freezer, /area/mine/living_quarters) "Zx" = ( -/obj/structure/sign/directions/dorms/directional/west{ - pixel_x = 0; - pixel_y = 24 - }, /obj/effect/turf_decal/sand/plating/volcanic, +/obj/structure/sign/directions/dorms/west_arrow/directional/north, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) "Zz" = ( @@ -8559,6 +9098,18 @@ dir = 8 }, /area/mine/lounge) +"ZB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/large, +/area/mine/lobby/raptor) +"ZF" = ( +/obj/effect/turf_decal/sand/plating/volcanic, +/obj/effect/turf_decal/sand/plating/volcanic, +/turf/open/floor/plating/lavaland_atmos, +/area/lavaland/surface/outdoors) "ZH" = ( /obj/structure/closet/secure_closet/labor_camp_security, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -8567,6 +9118,13 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) +"ZL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "ZM" = ( /obj/structure/railing{ dir = 8 @@ -8578,9 +9136,7 @@ /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) "ZP" = ( -/obj/structure/sign/directions/engineering/directional/north{ - pixel_y = 24 - }, +/obj/structure/sign/directions/engineering/north_arrow/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/maintenance/living/north) @@ -8597,6 +9153,20 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/mine/maintenance/public/north) +"ZU" = ( +/obj/structure/railing{ + dir = 6 + }, +/turf/open/misc/hay/lavaland, +/area/mine/lobby/raptor) +"ZX" = ( +/obj/structure/table/wood, +/obj/item/knife{ + pixel_y = 8; + pixel_x = 6 + }, +/turf/open/floor/wood/parquet, +/area/mine/lobby/raptor) "ZY" = ( /turf/closed/mineral/random/volcanic, /area/lavaland/surface/outdoors/unexplored) @@ -25025,7 +25595,7 @@ ff jU uq sf -UN +mN Ge zR Yv @@ -25793,7 +26363,7 @@ MW HS Dn kp -BV +AC vh gn EB @@ -26050,7 +26620,7 @@ uC aO sh by -zw +Vi Ge Ge Ex @@ -34273,10 +34843,10 @@ aj aj aj pU -am +pU nT ol -am +MQ pU pU pU @@ -34788,7 +35358,7 @@ VK VK VK Nf -MQ +BP BP ol pU @@ -35044,7 +35614,7 @@ aj aj aj aj -aj +FH FH rG ol @@ -36307,7 +36877,7 @@ TR Fs JM pR -nl +mA pU pU pU @@ -36587,8 +37157,8 @@ Tc kY pU aj -aj -yV +FH +CI NL aj aj @@ -41735,10 +42305,10 @@ aj Zq Zq Rt -bK +EE Xi ez -EE +nl XB Zb Zq @@ -41748,8 +42318,8 @@ eA eA pU pU -aj -aj +pU +pU aj aj aj @@ -41980,7 +42550,7 @@ Nt pI zf Up -CI +ix iu iu iu @@ -41998,16 +42568,16 @@ MS QP LE os -SP +JQ +Hl +Hj +pU +BP +pU +NK +ze pU -ai -ai -ai pU -aj -aj -aj -aj aj aj "} @@ -42255,16 +42825,16 @@ JZ PR ib os -SP +EL +EL +EL pU pU -ai -ai +ze +BP +ze +pU pU -aj -aj -aj -aj aj aj "} @@ -42515,12 +43085,12 @@ Jt Zq pU pU -ai pU -aj -aj -aj -aj +pU +ze +ze +pU +pU aj aj aj @@ -42773,11 +43343,11 @@ Zq pU pU aj -aj -aj pU -aj -aj +pU +DB +BP +DB aj aj aj @@ -43030,11 +43600,11 @@ pU pU aj aj -pU -pU -aj aj aj +LV +tF +jb aj aj aj @@ -43289,9 +43859,9 @@ aj aj aj aj -aj -aj -pU +zs +tF +de aj aj aj @@ -43546,9 +44116,9 @@ aj aj aj pU -aj -pU -pU +DB +BP +DB aj aj aj @@ -43803,9 +44373,9 @@ aj aj aj pU -ad -ad -ai +pU +pU +pU aj aj aj @@ -44059,11 +44629,11 @@ aj aj aj pU -ai -ad -ad -ai -aj +pU +pU +BP +pU +pU aj aj "} @@ -44315,12 +44885,12 @@ aj aj aj aj +aj +aj +NK +NK pU -ad -ad -ad -ad -pU +aj aj aj "} @@ -44573,13 +45143,13 @@ aj aj aj aj -ad -ad -ad -ad +pU +pU +ze pU aj aj +aj "} (141,1,1) = {" aa @@ -44831,10 +45401,10 @@ aj aj aj pU -ad -ad -ad -ai +BP +ze +pU +pU aj aj "} @@ -45088,11 +45658,11 @@ aj aj aj pU -ai -ad -ad -ad -aj +NK +pU +pU +pU +pU aj "} (143,1,1) = {" @@ -45344,10 +45914,10 @@ aj aj aj aj +aj +pU pU pU -ai -ai pU aj aj @@ -45603,9 +46173,9 @@ aj aj aj aj -pU -pU -aj +DB +BP +DB aj aj "} @@ -45860,9 +46430,9 @@ aj aj aj aj -aj -aj -aj +LV +tF +jb aj aj "} @@ -46116,10 +46686,10 @@ aj aj aj aj -pU -aj -aj aj +zs +tF +de aj aj "} @@ -46372,11 +46942,11 @@ pU aj aj aj -aj pU -ai -aj -aj +pU +DB +BP +DB aj aj "} @@ -46628,12 +47198,12 @@ pU pU aj aj -aj pU -ad -ad pU -aj +pU +pU +pU +pU aj aj "} @@ -46882,16 +47452,16 @@ BP BP Lw pU -pU -aj -aj -aj -aj -ai -ad aj aj aj +pU +pU +NK +BP +ze +pU +pU aj "} (150,1,1) = {" @@ -47124,7 +47694,7 @@ rv TJ RW cc -XM +cc CM lM Ec @@ -47139,14 +47709,14 @@ BP BP Lw pU -pU -aj -aj aj aj aj pU -aj +ze +ze +ze +ze aj aj aj @@ -47381,7 +47951,7 @@ lb Yl Le Le -NU +Fr Le Le BP @@ -47396,14 +47966,14 @@ BP BP Lw pU -pU -aj -aj aj aj aj pU -aj +BP +ze +NK +pU aj aj aj @@ -47637,9 +48207,9 @@ Ra oh pK NU -pU -aj -aj +BP +BP +BP JD BP BP @@ -47656,11 +48226,11 @@ pU pU aj aj -aj -aj -aj -aj -aj +pU +NK +NK +pU +pU aj aj aj @@ -47894,9 +48464,9 @@ Kc mT pK pU -aj -aj -pU +BP +ZF +BP JD BP BP @@ -47913,12 +48483,12 @@ pU pU aj aj -aj -aj pU pU -aj -aj +pU +pU +pU +pU aj aj "} @@ -48151,9 +48721,9 @@ Yg li dK pU -aj -aj -pU +Cv +BP +Cv zk mc mc @@ -48170,14 +48740,14 @@ pU pU aj aj -aj pU +DB +BP +DB pU aj aj aj -aj -aj "} (155,1,1) = {" aa @@ -48408,9 +48978,9 @@ Yg TQ dK pU -aj -aj -pU +aX +BP +Jg pU pU pU @@ -48428,9 +48998,9 @@ pU aj aj aj -pU -aj -aj +LV +tF +jb aj aj aj @@ -48661,13 +49231,13 @@ lb pK Ob IL -IL +Rj KV pK aj -aj -aj -aj +yV +BP +fK pU pU pU @@ -48685,9 +49255,9 @@ aj aj aj aj -aj -aj -aj +yV +tF +NL aj aj aj @@ -48918,13 +49488,13 @@ NU pK pK dK -dK +RO pK pK aj -aj -aj -aj +yV +tF +NL aj aj pU @@ -48942,9 +49512,9 @@ aj aj aj aj -aj -aj -aj +zs +tF +de aj aj aj @@ -49175,13 +49745,13 @@ NU ai pU pU +Pn pU aj aj -aj -pU -pU -aj +yV +tF +NL aj aj aj @@ -49197,11 +49767,11 @@ aj aj pU pU -pU -pU -pU -pU -pU +aj +aj +DB +BP +DB pU pU aj @@ -49432,37 +50002,37 @@ pU pU pU pU -aj +AF aj aj pU -ad -ad +yV +tF +NL +aj +aj pU aj aj aj aj +pU +aj +aj aj aj pU pU +pU +pU aj +pU +pU +pU +pU aj aj aj -GG -DB -DB -hM -hM -hM -hM -hM -hM -hM -hM -hM "} (160,1,1) = {" aa @@ -49689,16 +50259,16 @@ pU aj aj aj +AF aj -aj -pU -pU -pU pU aj +yV +tF +NL aj pU -aj +pU aj aj aj @@ -49708,18 +50278,18 @@ aj aj aj pU -jX pU pU -NK -sQ -NS -zs -NS -NS -sQ -NS -hM +pU +ze +ze +ze +pU +pU +pU +aj +aj +aj "} (161,1,1) = {" aa @@ -49946,37 +50516,37 @@ aj aj aj aj +AF aj aj aj -pU -aj -aj -aj -aj +zs +tF +de aj aj aj aj aj +pU aj aj aj aj aj pU -jX pU pU +ze NK -il -NS -zs -NS -NS -il -NS -hM +ze +BP +pU +pU +pU +aj +aj +pU "} (162,1,1) = {" aa @@ -50203,13 +50773,13 @@ aj aj aj aj +AF aj aj aj -aj -aj -aj -aj +ct +BP +ct pU aj aj @@ -50220,20 +50790,20 @@ aj aj aj aj -aj pU -jX pU pU +ze +BP NK -NS -NS -zs -NS -NS -NS -NS -hM +ze +pU +pU +pU +aj +aj +pU +pU "} (163,1,1) = {" aa @@ -50460,37 +51030,37 @@ ai ai pU pU -pU -pU -aj +AF aj aj aj +BP +BP +BP pU pU aj aj -aj -aj -aj -aj +pU +pU +pU pU aj pU pU pU -jX +ze +ze +NK +ze +lP +pU +pU +pU +aj +aj pU pU -Cv -qi -NS -ct -NS -NS -qi -qi -hM "} (164,1,1) = {" aa @@ -50717,37 +51287,37 @@ ai ai ai ai +Pn +AF +AF +AF +Pe +BP +BP +BP +BP pU pU pU pU -aj -aj -pU -aj -aj -aj pU -aj -aj -aj pU pU +lt +Ri +eN pU +ze +ze +ze +ze pU pU +aj +aj +aj pU -ze pU -NS -NS -NS -NS -NS -uw -NS -NS -hM "} (165,1,1) = {" aa @@ -50978,33 +51548,33 @@ ai pU pU pU +AF +BP +BP +BP +BP +ct pU -aj -aj -aj -aj pU pU -aj -aj pU pU +lt +Ns +lt pU pU pU pU +ze +pU pU +aj +aj +aj +aj pU pU -NS -mk -sa -NS -NS -NS -OW -sa -hM "} (166,1,1) = {" aa @@ -51232,36 +51802,36 @@ aj aj ai ai -pU -pU -pU -pU -aj -aj -aj -aj -pU +CV +CV +ki +NP +ki +CV +CV +CV +lt pU pU pU pU pU pU +lt pU +lP pU +BP pU pU pU +aj +aj +aj +aj +aj +aj pU -NS -NS -uw -NS -NS -NS -NS -NS -hM "} (167,1,1) = {" aa @@ -51488,14 +52058,19 @@ aj aj aj aj -aj -pU -pU -pU -pU +CV +CV +Km +qB +eL +Ah +VI +ZX +ki +Ns +lt pU -aj -aj +BP pU pU pU @@ -51506,19 +52081,14 @@ pU pU pU pU +aj +aj +aj pU -jX pU +aj +aj pU -Vd -VP -NS -Tt -NS -NS -VP -VP -hM "} (168,1,1) = {" aa @@ -51745,37 +52315,37 @@ aj aj aj aj -aj -aj -pU -pU -pU -pU -pU -aj -pU -pU -pU -pU +CV +GG +jX +Tw +eL +aF +pF +dF +ki +lt +lt +lt pU pU pU +BP +NK +NK +ze pU pU pU +aj +aj +aj pU -jX pU pU -NK -NS -NS -zs -NS -NS -NS -NS -hM +aj +aj +aj "} (169,1,1) = {" aa @@ -52002,37 +52572,37 @@ ai pU aj aj -aj -aj -pU -pU -pU -pU -pU -pU -pU -pU -pU +CV +Sp +OE +as +ZL +Cn +zX +CV +CV pU +lt pU pU pU pU +ze +NK +ze +BP pU pU pU -jX +aj +aj +aj pU pU -NK -il -NS -zs -NS -NS -il -NS -hM +aj +aj +aj +aj "} (170,1,1) = {" aa @@ -52259,37 +52829,37 @@ ai ai ai pU -aj -aj -pU -pU -pU -pU -pU -pU -pU -pU -pU +CV +GG +Tt +fa +eL +ZB +GG +CV pU pU pU +lP pU +BP pU +ze +NK pU +UI pU pU -jX pU pU -NK -sQ -NS -zs -NS -NS -sQ -NS -hM +aj +aj +aj +aj +aj +aj +aj +aj "} (171,1,1) = {" aa @@ -52516,37 +53086,37 @@ aj ai ai ai -ai -pU -pU -pU -pU -pU -pU +CV +wa +rB +fa +eL +Lv +CV +CV +CV +ct pU pU pU pU pU +ze pU pU +lt +lt +lt +UI pU +aj pU pU +aj pU pU -lt -UI -UI -hM -hM -hM -hM -hM -hM -hM -hM -hM +aj +aj "} (172,1,1) = {" aa @@ -52773,22 +53343,28 @@ aj aj pU ai -ai -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU +CV +jt +ba +fa +jJ +ZB +be +dI +oO +BP pU +BP pU pU pU +ct +BP +lt +lt +Ns +lt +lt pU pU pU @@ -52798,12 +53374,6 @@ pU pU aj aj -aj -aj -aj -aj -aj -aj "} (173,1,1) = {" aa @@ -53030,36 +53600,36 @@ aj aj aj aj +CV +GG +tf +fa +Sj +ZB +CV +CV +CV +ct pU pU pU pU pU +BP +Av +Wh +Wh +CV +ki +ki +CV +CV +ki +ki +CV +CV pU pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -pU -aj -pU -aj aj "} (174,1,1) = {" @@ -53287,37 +53857,37 @@ aj aj aj aj -aj -aj -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU +CV +rf +VP +fa +Sj +ZB +Mf +CV +hl pU +lt +lt pU pU +lt +lt +up +lt pU +vr +sQ +NS +Vd +NS +NS +sQ +NS +CV pU pU aj -aj -aj -aj -aj -aj -aj "} (175,1,1) = {" aa @@ -53544,553 +54114,39 @@ aj aj aj aj -aj -aj -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -pU -pU -aj -aj -aj -"} -(176,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ok -pU -ai -ai -ai -ai -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -aj -pU -pU -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -ZY -ZY -ZY -ZY -ZY -ZY -ZY -ZY -ZY -ZY -pU -pU -pU -aj -aj -aj -aj -aj -aj -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -pU -aj -aj -aj -aj -aj -aj -"} -(177,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -pU -pU -pU -ad -ad -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -aj -pU -pU -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -ZY -ZY -ZY -ZY -ZY -ZY -ZY -ZY -ZY -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -aj +CV +GI +vM +FI +jJ +Fo +hM +CV +CV +Ns +lt +pU +pU +lt +lt +lt +up +pU +pU +vr +il +NS +Vd +NS +NS +il +NS +ki +pU aj aj "} -(178,1,1) = {" +(176,1,1) = {" aa aa aa @@ -54105,12 +54161,12 @@ aa aa aa aa +ok pU -pU -pU -pU -pU -pU +ai +ai +ai +ai pU pU pU @@ -54297,9 +54353,7 @@ fQ fQ fQ fQ -fQ -fQ -fQ +ZY ZY ZY ZY @@ -54312,42 +54366,44 @@ ZY pU pU pU +aj +aj +aj +aj +aj +CV +pM +YP +GG +Uz +Uz +Uz +Zs +ki +lt +lt pU pU pU +lt pU +Wk +UI +ct +vr +NS +NS +Vd +NS +NS +NS +NS +ki pU pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -aj aj "} -(179,1,1) = {" +(177,1,1) = {" aa aa aa @@ -54362,12 +54418,11 @@ aa aa aa aa -ad -pU -pU pU pU pU +ad +ad pU pU pU @@ -54379,10 +54434,9 @@ aj aj aj aj +aj +pU pU -fQ -fQ -fQ fQ fQ fQ @@ -54567,44 +54621,49 @@ ZY ZY ZY ZY -ZY -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU pU pU pU pU pU +aj +aj +CV +CV +YP +GG +fa +fa +Rm +bE +ki +lt pU pU pU pU pU pU +Wk pU -aj -aj -aj -aj -aj +lt +Wq +EP +NS +ZU +NS +NS +EP +EP +CV +CV pU aj -aj -aj "} -(180,1,1) = {" +(178,1,1) = {" +aa +aa +aa aa aa aa @@ -54616,13 +54675,6 @@ aa aa aa aa -HX -pU -ad -pU -pU -pU -pU pU pU pU @@ -54636,7 +54688,127 @@ aj aj aj aj +aj +aj +aj +aj pU +pU +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ fQ fQ fQ @@ -54698,6 +54870,145 @@ fQ fQ fQ fQ +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +pU +pU +pU +pU +pU +aj +aj +CV +CV +ki +ki +ki +CV +CV +CV +lt +pU +pU +lt +pU +pU +pU +VU +Xk +lt +NS +NS +NS +NS +NS +uw +NS +NS +NS +ki +pU +aj +"} +(179,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +pU +pU +pU +pU +pU +pU +pU +pU +pU +aj +aj +aj +aj +aj +aj +aj +pU +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ fQ fQ fQ @@ -54826,10 +55137,14 @@ ZY ZY ZY ZY +ZY pU pU pU pU +aj +aj +aj pU pU pU @@ -54839,29 +55154,27 @@ pU pU pU pU +Ns +Az pU pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj +lt +lt +lt +NS +mk +sa +NS +NS +NS +OW +sa +NS +ki aj -pU aj "} -(181,1,1) = {" +(180,1,1) = {" aa aa aa @@ -54873,7 +55186,9 @@ aa aa aa aa +HX pU +ad pU pU pU @@ -54887,10 +55202,8 @@ pU pU pU pU -pU -pU -pU -pU +aj +aj aj aj pU @@ -55098,27 +55411,27 @@ pU pU pU pU +lt +lt pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -pU -pU -pU -aj -aj +xW +lt +lt +lt +NS +NS +uw +NS +NS +NS +NS +NS +NS +ki pU aj "} -(182,1,1) = {" +(181,1,1) = {" aa aa aa @@ -55143,11 +55456,11 @@ pU pU pU pU -aj -aj -aj -aj -aj +pU +pU +pU +pU +pU aj aj pU @@ -55340,14 +55653,6 @@ ZY ZY ZY ZY -ZY -pU -pU -pU -pU -pU -pU -pU pU pU pU @@ -55364,18 +55669,26 @@ pU pU pU pU -aj -aj -pU -pU +lt pU pU +Wk +lt +lt +kf +KO +NS +aH +NS +NS +KO +KO +CV +CV pU aj -aj -aj "} -(183,1,1) = {" +(182,1,1) = {" aa aa aa @@ -55399,7 +55712,7 @@ pU pU pU pU -aj +pU aj aj aj @@ -55616,23 +55929,23 @@ pU pU pU pU +Wk pU +ct +vr +NS +rj +Vd +NS +NS +NS +NS +ki pU -pU -pU -pU -pU -pU -pU -pU -aj -aj aj aj -aj -pU "} -(184,1,1) = {" +(183,1,1) = {" aa aa aa @@ -55645,8 +55958,8 @@ aa aa aa pU -ad -ai +pU +pU pU pU pU @@ -55871,25 +56184,25 @@ pU pU pU pU +lt +lt +Wk pU pU +vr +il +NS +Vd +NS +NS +il +NS +ki pU pU pU -pU -pU -pU -pU -pU -pU -aj -aj -pU -pU -aj -aj "} -(185,1,1) = {" +(184,1,1) = {" aa aa aa @@ -55901,10 +56214,10 @@ aa aa aa aa -ad +pU ad ai -wv +pU pU pU pU @@ -55922,7 +56235,6 @@ aj aj aj pU -pU fQ fQ fQ @@ -56112,6 +56424,7 @@ ZY ZY ZY ZY +ZY pU pU pU @@ -56127,26 +56440,26 @@ pU pU pU pU +lt +Ns +lt +up +Pb pU +vr +sQ +NS +Vd +NS +NS +sQ +NS +CV pU pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -pU -aj -aj -aj aj "} -(186,1,1) = {" +(185,1,1) = {" aa aa aa @@ -56161,7 +56474,7 @@ aa ad ad ai -ad +wv pU pU pU @@ -56360,213 +56673,149 @@ fQ fQ fQ fQ -ZY -ZY -ZY -ZY -ZY -ZY -ZY -ZY -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -"} -(187,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ad -ad -ai -ad -pU -pU -pU -pU -pU -pU -pU -pU -aj -aj -aj -aj -aj -aj -aj -aj -pU -pU -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ -fQ +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +ZY +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +lt +lt +BP +Oo +ej +nO +CV +ki +ki +CV +CV +ki +ki +CV +CV +pU +aj +aj +"} +(186,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ai +ad +pU +pU +pU +pU +pU +pU +pU +pU +aj +aj +aj +aj +aj +aj +aj +aj +pU +pU +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ fQ fQ fQ @@ -56618,6 +56867,71 @@ fQ fQ fQ fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +ZY +ZY ZY ZY ZY @@ -56642,9 +56956,14 @@ pU pU pU pU +ct +BP pU pU pU +lt +pU +pU pU pU pU @@ -56652,15 +56971,9 @@ pU pU pU pU -aj -aj -aj -aj -aj -aj aj "} -(188,1,1) = {" +(187,1,1) = {" aa aa aa @@ -56675,6 +56988,7 @@ aa ad ad ai +ad pU pU pU @@ -56691,7 +57005,6 @@ aj aj aj aj -aj pU pU fQ @@ -56884,7 +57197,6 @@ ZY pU pU pU -yc pU pU pU @@ -56902,22 +57214,23 @@ pU pU pU pU +lt pU pU +lt +Ns +lt +lt +pU pU pU pU pU pU -aj -aj -aj -aj -aj aj aj "} -(189,1,1) = {" +(188,1,1) = {" aa aa aa @@ -56930,8 +57243,8 @@ aa aa aa ad -HX -pU +ad +ai pU pU pU @@ -57157,24 +57470,24 @@ pU pU pU pU +lt +lt +lt pU +lt +lt +lt +lt +lt pU pU -pU -pU -pU -pU -pU -pU -aj -aj aj aj aj aj aj "} -(190,1,1) = {" +(189,1,1) = {" aa aa aa @@ -57186,6 +57499,7 @@ aa aa aa aa +ad HX pU pU @@ -57196,19 +57510,17 @@ pU pU pU pU -pU -pU -pU aj -pU +aj +aj +aj +aj +aj +aj aj aj pU pU -pU -pU -pU -fQ fQ fQ fQ @@ -57395,10 +57707,266 @@ ZY ZY ZY ZY +ZY +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +Ns +pU +pU +UI +lt +lt +Ns +lt +pU +aj +aj +aj +aj +aj +aj +"} +(190,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +HX +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +pU +aj +pU +aj +aj +pU pU pU pU pU +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +fQ +ZY +ZY +ZY +ZY +ZY +pU +pU pU pU pU @@ -57422,6 +57990,8 @@ pU pU pU pU +lt +lt pU aj aj @@ -58430,7 +59000,7 @@ pU pU pU pU -pU +yc pU pU pU diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 081edcaf67701..6cfe841574724 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -72,13 +72,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/commons/toilet) -"aaN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "aaO" = ( /obj/machinery/computer/atmos_alert{ dir = 4 @@ -97,9 +90,6 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) -"aaU" = ( -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "aaV" = ( /obj/structure/curtain, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -209,12 +199,6 @@ /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron/textured_large, /area/station/hallway/secondary/entry) -"acl" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/space/openspace, -/area/space/nearstation) "acp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -227,6 +211,28 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/floor2/aft) +"acr" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/structure/table/reinforced/plasmarglass, +/obj/item/stock_parts/power_store/cell/lead{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/usb_cable{ + name = "jumper cable"; + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/lead_pipe{ + pixel_x = -5 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/item/reagent_containers/syringe, +/turf/open/floor/pod/dark, +/area/station/service/kitchen/abandoned) "act" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/white/textured_large, @@ -289,15 +295,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard/fore) -"acL" = ( -/obj/structure/table/wood, -/obj/item/cigarette/cigar/cohiba, -/obj/effect/turf_decal/trimline/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/line, -/turf/open/floor/carpet/blue, -/area/station/command/meeting_room) "adq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -589,6 +586,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"ahA" = ( +/turf/open/space/openspace, +/area/space/nearstation) "ahG" = ( /obj/machinery/modular_computer/preset/research{ dir = 4 @@ -833,17 +833,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/space/basic, /area/space/nearstation) -"akr" = ( -/obj/machinery/button/door/directional/south{ - id = "captain_privacy"; - name = "Privacy Shutters" - }, -/obj/machinery/keycard_auth/directional/east, -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/hand_tele, -/turf/open/floor/wood/tile, -/area/station/command/heads_quarters/captain/private) "akt" = ( /obj/effect/turf_decal/tile/red/diagonal_edge, /obj/structure/closet/secure_closet/brig{ @@ -981,15 +970,6 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"amM" = ( -/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/blue, -/obj/machinery/medical_kiosk, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "anb" = ( /obj/machinery/vending/wardrobe/hydro_wardrobe, /obj/effect/turf_decal/tile/green/full, @@ -1210,6 +1190,12 @@ name = "boxing ring" }, /area/station/commons/fitness) +"app" = ( +/obj/structure/sign/departments/evac/port/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/floor1/fore) "apq" = ( /obj/machinery/camera/directional/west{ c_tag = "Detective's Office" @@ -1338,6 +1324,13 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/port/aft) +"aqS" = ( +/obj/structure/sign/directions/dorms/north_arrow{ + dir = 2 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/iron/smooth, +/area/station/hallway/floor4/aft) "aqW" = ( /obj/effect/turf_decal/trimline/green/filled/arrow_cw{ dir = 1 @@ -1350,6 +1343,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/medical/virology/isolation) +"arp" = ( +/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/blue/fourcorners, +/obj/machinery/door/airlock/public/glass{ + name = "Medbay" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/lobby) "arq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink/kitchen/directional/east, @@ -1422,19 +1426,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) -"ask" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Treatment Center"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "asl" = ( /obj/machinery/door/window/left/directional/west{ name = "Cargo Conveyor Access"; @@ -2103,6 +2094,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/floor2/port/fore) +"aBp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "aBK" = ( /turf/closed/wall/r_wall, /area/station/medical/virology) @@ -2351,6 +2348,16 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit) +"aEI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/sign/directions/evac/south_arrow, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/floor3/port/aft) "aEJ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -2403,6 +2410,13 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/large, /area/station/science/robotics/lab) +"aFu" = ( +/obj/structure/bed/medical/anchored{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "aFB" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -2450,19 +2464,6 @@ }, /turf/open/floor/carpet/blue, /area/station/command/meeting_room) -"aGr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health{ - pixel_y = 3 - }, -/obj/item/clothing/glasses/hud/health{ - pixel_y = 6 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "aGw" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2580,11 +2581,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/work) -"aHK" = ( -/obj/machinery/light/directional/east, -/obj/structure/closet/secure_closet/medical2, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "aHM" = ( /obj/effect/turf_decal/bot, /obj/effect/spawner/random/structure/closet_empty/crate, @@ -3226,15 +3222,6 @@ }, /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) -"aRz" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "aRF" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -3316,6 +3303,14 @@ planetary_atmos = 0 }, /area/station/maintenance/floor1/port/aft) +"aSl" = ( +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "aSq" = ( /obj/machinery/rnd/production/protolathe/department/science, /obj/effect/turf_decal/bot, @@ -3370,16 +3365,16 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor4/starboard/fore) +"aSV" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/space/openspace, +/area/space/nearstation) "aSX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"aTc" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured, -/area/station/medical/paramedic) "aTh" = ( /obj/structure/chair/office{ dir = 8 @@ -3423,12 +3418,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"aTO" = ( -/obj/machinery/power/shuttle_engine/propulsion/burst{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) "aTU" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/effect/turf_decal/trimline/purple/line{ @@ -3563,11 +3552,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"aWa" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/directions/evac/directional/east, -/turf/open/floor/iron, -/area/station/hallway/floor3/aft) "aWc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3889,12 +3873,6 @@ dir = 6 }, /area/station/hallway/floor2/fore) -"aYB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) "aYJ" = ( /obj/structure/cable, /obj/machinery/duct, @@ -4014,9 +3992,6 @@ }, /turf/open/space/openspace, /area/space/nearstation) -"aZW" = ( -/turf/closed/wall, -/area/station/medical/treatment_center) "aZX" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/side{ @@ -4806,6 +4781,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/station/maintenance/floor4/starboard/aft) +"bjj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "bjw" = ( /obj/structure/table, /obj/machinery/computer/libraryconsole/bookmanagement, @@ -4885,6 +4869,11 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"bkn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "bks" = ( /turf/open/floor/iron/dark/side{ dir = 8 @@ -5048,11 +5037,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/station/service/library) -"blH" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/blue, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "blI" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer2{ dir = 4 @@ -5104,6 +5088,16 @@ /obj/structure/railing, /turf/open/floor/iron/white/side, /area/station/science/robotics/lab) +"bma" = ( +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Exterior Access"; + network = list("minisat") + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat) "bmf" = ( /obj/structure/window/spawner/directional/south, /obj/structure/closet/secure_closet/research_director, @@ -5222,13 +5216,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/floor1/aft) -"bnC" = ( -/obj/structure/bed/medical/anchored{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "bnL" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -5793,6 +5780,13 @@ name = "lab floor" }, /area/station/science/robotics/lab) +"buA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "buB" = ( /obj/structure/closet/emcloset, /turf/open/floor/pod/dark, @@ -5839,13 +5833,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) -"buR" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "bvc" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -6021,13 +6008,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/pod/dark, /area/station/maintenance/floor4/starboard) -"bwE" = ( -/obj/structure/sign/poster/official/random/directional/east, -/obj/machinery/cryo_cell{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) "bwF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6333,15 +6313,6 @@ /obj/machinery/ecto_sniffer, /turf/open/floor/pod/light, /area/station/maintenance/floor3/port/aft) -"bAf" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/structure/sign/directions/evac/directional/east{ - dir = 2 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/floor3/aft) "bAj" = ( /obj/machinery/conveyor{ dir = 9; @@ -6429,34 +6400,6 @@ /obj/machinery/computer/order_console/mining, /turf/open/floor/iron, /area/station/cargo/miningdock) -"bCd" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/reagent_containers/chem_pack{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/reagent_containers/chem_pack{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/reagent_containers/chem_pack{ - pixel_y = 3 - }, -/obj/item/clothing/neck/stethoscope{ - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/bottle{ - pixel_x = -2 - }, -/obj/item/reagent_containers/cup/bottle{ - pixel_x = 2 - }, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "bCk" = ( /obj/structure/rack, /obj/effect/spawner/random/engineering/tool, @@ -6565,6 +6508,13 @@ "bDr" = ( /turf/open/floor/plating, /area/station/maintenance/floor2/starboard/fore) +"bDB" = ( +/obj/item/fishing_rod, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/three, +/obj/item/cigarette/pipe, +/turf/open/floor/pod/light, +/area/station/maintenance/floor2/starboard/fore) "bDC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -6738,6 +6688,11 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) +"bGF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "bGV" = ( /obj/machinery/door/window/brigdoor/left/directional/north, /mob/living/basic/pet/fox, @@ -6836,6 +6791,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) +"bJe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "bJg" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, @@ -6881,14 +6844,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/medical/abandoned) -"bJA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "bJQ" = ( /obj/structure/railing/corner{ dir = 1 @@ -7063,6 +7018,11 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor1/port/aft) +"bMg" = ( +/obj/machinery/light/directional/east, +/obj/machinery/deepfryer, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "bMo" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/heavy, @@ -7199,6 +7159,10 @@ /obj/effect/turf_decal/trimline/green/warning, /turf/open/floor/iron/dark/side, /area/station/hallway/floor3/aft) +"bNV" = ( +/obj/machinery/camera/autoname/directional/east, +/turf/open/space/openspace, +/area/space/nearstation) "bOg" = ( /obj/structure/marker_beacon/burgundy, /obj/effect/turf_decal/trimline/brown/warning, @@ -7207,12 +7171,6 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) -"bOk" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "bOq" = ( /obj/machinery/door/airlock/maintenance/external, /obj/effect/turf_decal/stripes/line{ @@ -7254,6 +7212,18 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard) +"bOS" = ( +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "bPh" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -7262,6 +7232,9 @@ /obj/machinery/disposal/bin/tagger, /turf/open/floor/iron, /area/station/hallway/floor3/aft) +"bPn" = ( +/turf/open/space/basic, +/area/space/nearstation) "bPq" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/disposalpipe/segment{ @@ -7843,6 +7816,16 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/half, /area/station/engineering/atmos/hfr_room) +"bWw" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8; + pixel_x = 15 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "bWz" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/machinery/vending/cigarette, @@ -7929,12 +7912,18 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"bYb" = ( -/obj/structure/table/glass, -/obj/item/stack/medical/gauze, -/obj/machinery/defibrillator_mount/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +"bXH" = ( +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/sign/directions/dorms/north_arrow, +/obj/structure/sign/directions/security/north_arrow{ + pixel_y = 40 + }, +/obj/structure/sign/directions/command/north_arrow{ + pixel_y = 24 + }, +/obj/structure/rack, +/turf/open/floor/iron/smooth, +/area/station/hallway/floor2/fore) "bYg" = ( /obj/effect/turf_decal/trimline/blue, /obj/machinery/airalarm/directional/north, @@ -8416,6 +8405,20 @@ /obj/structure/cable, /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard/fore) +"ceg" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/item/folder/white{ + pixel_y = 13 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/lab) "ceh" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/structure/disposalpipe/segment{ @@ -8431,12 +8434,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/port/aft) -"cep" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/computer/security/telescreen/minisat/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "cev" = ( /obj/structure/cable, /obj/machinery/door/airlock/hatch{ @@ -8787,17 +8784,25 @@ dir = 9 }, /area/station/command/teleporter) -"cix" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/service/kitchen/diner) "ciz" = ( /obj/structure/table/wood, /obj/item/folder/blue, /obj/item/stamp/head/captain, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"ciA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "ciC" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -9199,6 +9204,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured, /area/station/command/heads_quarters/qm) +"cnf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "cng" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/textured, @@ -9278,10 +9291,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/ce) -"coZ" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "cpa" = ( /obj/structure/table/wood, /obj/item/stack/pipe_cleaner_coil/random, @@ -9566,6 +9575,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard/aft) +"csJ" = ( +/obj/structure/sign/departments/evac/port/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/floor1/fore) "csM" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -9579,22 +9592,6 @@ }, /turf/open/floor/wood, /area/station/service/bar) -"csR" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4; - pixel_x = -15 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Treatment Center"; - name = "medbay camera"; - network = list("ss13","medbay"); - dir = 2 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "csT" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -9925,16 +9922,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/starboard/fore) -"cwz" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "cwD" = ( /obj/machinery/newscaster/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10201,17 +10188,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/side, /area/station/hallway/floor1/fore) -"cBl" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Brig Fore Entrance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint) "cBq" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck, @@ -10670,20 +10646,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"cIc" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "AI Upload" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/sign/departments/aiupload/directional/south, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "cId" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -11056,6 +11018,14 @@ }, /turf/open/floor/iron/smooth_large, /area/station/hallway/secondary/entry) +"cMk" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "cMz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11214,6 +11184,13 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) +"cPe" = ( +/obj/machinery/computer/security/qm{ + dir = 8 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "cPg" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/atmospherics/components/binary/pump/on{ @@ -11430,24 +11407,6 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"cSb" = ( -/obj/structure/table, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/servo{ - pixel_x = 15; - pixel_y = 4 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = -2; - pixel_y = 9 - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker - }, -/obj/item/multitool, -/turf/open/floor/iron/white, -/area/station/science/lab) "cSc" = ( /obj/item/food/cornchips/green{ pixel_x = -8; @@ -11546,6 +11505,15 @@ }, /turf/open/floor/iron/textured_large, /area/station/engineering/atmos) +"cTI" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "cTJ" = ( /obj/structure/railing/corner{ dir = 4 @@ -11948,6 +11916,14 @@ /obj/machinery/telecomms/bus/preset_three, /turf/open/floor/circuit/telecomms, /area/station/tcommsat/server) +"cXZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "cYh" = ( /obj/structure/railing{ dir = 1 @@ -12289,6 +12265,14 @@ /obj/machinery/light/small/red/directional/south, /turf/open/floor/pod/light, /area/station/maintenance/floor3/port/aft) +"ddt" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 5 + }, +/obj/item/reagent_containers/condiment/enzyme, +/turf/open/floor/iron/kitchen, +/area/station/service/kitchen) "ddv" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/bronze, @@ -12490,18 +12474,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/starboard) -"dfB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/window/preopen{ - dir = 1; - name = "Medbay Lockdown Shutters"; - id = "med_lockdown" - }, -/turf/open/floor/plating, -/area/station/medical/medbay/lobby) "dfP" = ( /obj/structure/chair{ dir = 8 @@ -12609,6 +12581,10 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/carpet/neon/simple/white, /area/station/commons/dorms/room3) +"dhu" = ( +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "dhE" = ( /obj/machinery/power/turbine/inlet_compressor{ dir = 1 @@ -12686,12 +12662,6 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/port/aft) -"djc" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/space/openspace, -/area/space/nearstation) "djd" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -12771,6 +12741,11 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/starboard/fore) +"djY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "dke" = ( /obj/machinery/door/window/left/directional/south, /obj/machinery/door/window/left/directional/north, @@ -12793,12 +12768,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/supply/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"dkn" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/space/openspace, -/area/space/nearstation) "dks" = ( /obj/structure/girder, /obj/item/stack/sheet/iron, @@ -12845,17 +12814,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) -"dlR" = ( -/obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - listening = 0; - name = "Private Channel" - }, -/obj/machinery/recharge_station, -/obj/machinery/computer/security/telescreen/minisat/directional/east, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat/service) "dlW" = ( /turf/closed/wall, /area/station/maintenance/floor4/starboard/aft) @@ -13033,6 +12991,18 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron/checker, /area/station/service/bar/atrium) +"dpg" = ( +/obj/structure/table/reinforced/rglass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/airalarm/directional/north, +/obj/item/food/pizzaslice/mothic_five_cheese, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_y = 7; + pixel_x = 6 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "dps" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -13188,6 +13158,14 @@ }, /turf/open/floor/iron, /area/station/hallway/floor2/aft) +"drd" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/textured, +/area/station/medical/cryo) "drk" = ( /turf/open/floor/iron/dark/side{ dir = 4 @@ -13212,6 +13190,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/engine, /area/station/maintenance/floor1/starboard/fore) +"dru" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/space/openspace, +/area/space/nearstation) "drw" = ( /obj/structure/closet/secure_closet/captains, /obj/item/camera, @@ -13560,6 +13544,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"dvZ" = ( +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "dwi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13712,14 +13702,6 @@ /obj/structure/cable, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) -"dyG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/sign/departments/medbay/alt/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/floor2/aft) "dyQ" = ( /obj/structure/railing/corner{ dir = 8 @@ -13814,10 +13796,6 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"dzM" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "dzQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -14449,11 +14427,6 @@ /obj/structure/cable, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard/fore) -"dIJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "dIO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14506,14 +14479,6 @@ /obj/structure/cable, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) -"dJs" = ( -/obj/machinery/vatgrower{ - dir = 4 - }, -/obj/machinery/light/cold/no_nightlight/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/misc/sandy_dirt, -/area/station/science/cytology) "dJu" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -14744,16 +14709,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/exit/departure_lounge) -"dMt" = ( -/obj/machinery/computer/security/telescreen/minisat/directional/east, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Exterior Access"; - network = list("minisat") - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat) "dMA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -14879,6 +14834,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/hydroponics) +"dOj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "dOl" = ( /obj/structure/chair/plastic{ dir = 4 @@ -14903,6 +14869,15 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/security/medical) +"dOF" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "dOI" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) @@ -14958,6 +14933,13 @@ /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, /area/station/medical/virology) +"dPt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/light/small/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "dPv" = ( /obj/machinery/chem_master/condimaster{ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; @@ -15320,20 +15302,6 @@ /obj/structure/sign/warning/biohazard/directional/west, /turf/open/floor/iron, /area/station/hallway/floor2/aft) -"dUj" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/machinery/button/door/directional/south{ - name = "Medbay Lockdown Shutters"; - id = "med_lockdown" - }, -/turf/open/floor/iron/dark/textured, -/area/station/medical/paramedic) "dUr" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -15577,6 +15545,13 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) +"dWE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "dWF" = ( /obj/effect/turf_decal/siding/wideplating_new/dark, /obj/effect/turf_decal/siding/wideplating_new/dark{ @@ -15642,15 +15617,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/fore) -"dXy" = ( -/obj/structure/table/glass, -/obj/machinery/defibrillator_mount/directional/east, -/obj/item/storage/box/syringes{ - pixel_y = 6 - }, -/obj/item/stack/medical/mesh, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "dXz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/graffiti{ @@ -15728,18 +15694,6 @@ dir = 6 }, /area/station/hallway/secondary/exit/escape_pod) -"dYM" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/belt/medical, -/obj/item/storage/belt/medical{ - pixel_y = 6 - }, -/obj/item/storage/belt/medical{ - pixel_y = 12 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "dYX" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/pod/light, @@ -16360,13 +16314,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"ehO" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "ehQ" = ( /obj/effect/turf_decal/tile/green/full, /obj/structure/table/reinforced, @@ -16469,6 +16416,22 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) +"ejD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4; + pixel_x = -15 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ejE" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, @@ -16510,6 +16473,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"ejM" = ( +/obj/machinery/button/door/directional/south{ + id = "captain_privacy"; + name = "Privacy Shutters" + }, +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/hand_tele, +/turf/open/floor/wood/tile, +/area/station/command/heads_quarters/captain/private) "ejN" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 @@ -16939,6 +16913,13 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) +"epi" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "epk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/box, @@ -17150,21 +17131,6 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter) -"etb" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/structure/rack, -/obj/item/stock_parts/power_store/cell/lead, -/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) "etj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -17184,6 +17150,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) +"etB" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "Antechamber Turret Control"; + pixel_y = -32 + }, +/turf/open/openspace, +/area/station/ai_monitored/turret_protected/aisat/service) "etV" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -17256,6 +17231,22 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor1/port) +"evh" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 4; + pixel_x = -15 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay"); + dir = 2 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "evi" = ( /obj/machinery/door/airlock/science{ name = "Monkey Atrium" @@ -17365,6 +17356,24 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/locker) +"ewu" = ( +/obj/structure/table, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/servo{ + pixel_x = 15; + pixel_y = 4 + }, +/obj/item/reagent_containers/dropper{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, +/turf/open/floor/iron/white, +/area/station/science/lab) "ewz" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -17561,6 +17570,11 @@ dir = 8 }, /area/station/command/teleporter) +"ezv" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/bed/medical/anchored, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "ezw" = ( /obj/machinery/shower/directional/west, /turf/open/floor/catwalk_floor/iron, @@ -17992,18 +18006,6 @@ /obj/structure/filingcabinet/medical, /turf/open/floor/iron/dark/corner, /area/station/service/lawoffice) -"eEZ" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - id = "med_lockdown"; - name = "Medbay Lockdown Shutters"; - req_access = list("medical") - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "eFc" = ( /obj/effect/turf_decal/stripes{ dir = 1 @@ -18011,6 +18013,11 @@ /obj/structure/emergency_shield/regenerating, /turf/open/floor/plating, /area/station/cargo/miningdock) +"eFd" = ( +/obj/machinery/holopad, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "eFe" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -18223,21 +18230,6 @@ dir = 4 }, /area/station/command/bridge) -"eIg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload turret control"; - pixel_y = 28 - }, -/obj/machinery/computer/security/telescreen/aiupload/directional/west, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "eIq" = ( /obj/structure/chair/stool/directional/west, /obj/effect/turf_decal/trimline/red/warning{ @@ -18770,6 +18762,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"eQj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "eQm" = ( /obj/structure/chair/sofa/left{ dir = 8 @@ -18856,14 +18854,6 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"eSq" = ( -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "eSw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/south, @@ -18915,6 +18905,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/floor1/aft) +"eTc" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Hall" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "med_lockdown"; + name = "Medbay Lockdown Shutters" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "eTd" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/floor/catwalk_floor, @@ -19023,6 +19028,12 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"eUA" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "eUJ" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 1 @@ -19360,6 +19371,16 @@ dir = 1 }, /area/station/hallway/floor2/aft) +"eZU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "fae" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/camera/autoname/directional/south, @@ -19373,6 +19394,26 @@ icon_state = "textured_dark" }, /area/station/science/robotics/lab) +"fas" = ( +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/item/fuel_pellet{ + pixel_x = -4; + pixel_y = -2 + }, +/obj/item/fuel_pellet, +/obj/item/fuel_pellet{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/structure/rack, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/corner{ + dir = 1 + }, +/area/station/cargo/drone_bay) "faw" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/green/half{ @@ -19470,6 +19511,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"fbA" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4; + pixel_x = -15 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "fbC" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -19539,6 +19592,15 @@ }, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"fdf" = ( +/obj/machinery/computer/security/telescreen/auxbase/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "fdp" = ( /obj/effect/turf_decal/stripes, /obj/structure/window/reinforced/spawner/directional/south, @@ -19636,13 +19698,6 @@ "ffe" = ( /turf/closed/wall/r_wall, /area/station/security/holding_cell) -"ffh" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "ffi" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 4 @@ -19701,6 +19756,17 @@ /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"ffW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "ffZ" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -19839,6 +19905,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark/side, /area/station/hallway/floor1/fore) +"fii" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay"); + dir = 2 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "fij" = ( /obj/effect/spawner/structure/window/hollow/middle, /obj/structure/cable, @@ -19939,6 +20014,12 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor4/port/fore) +"fjt" = ( +/obj/machinery/pdapainter/engineering, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/computer/security/telescreen/engine/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/ce) "fjv" = ( /obj/machinery/light/red/dim/directional/south, /turf/open/floor/plating, @@ -19987,6 +20068,17 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark/side, /area/station/command/teleporter) +"fjM" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/obj/machinery/button/door/directional/north{ + name = "CMO Privacy Shutters"; + id = "cmoshutter"; + req_access = list("cmo"); + pixel_y = 25; + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "fjN" = ( /obj/effect/turf_decal/delivery, /obj/structure/sign/departments/cargo/directional/north, @@ -20056,6 +20148,13 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor4/starboard) +"fkx" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "fkA" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) @@ -20517,18 +20616,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) -"fqn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "fqo" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/heavy, @@ -21006,6 +21093,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) +"fyo" = ( +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "fyQ" = ( /obj/effect/turf_decal/trimline/red/warning{ dir = 1 @@ -21030,6 +21125,13 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"fzu" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/pai_card, +/obj/item/reagent_containers/spray/cleaner, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "fzw" = ( /turf/open/floor/wood/tile, /area/station/service/library) @@ -21440,12 +21542,6 @@ }, /turf/open/floor/iron/white/textured, /area/station/medical/break_room) -"fEj" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/closed/wall, -/area/station/medical/treatment_center) "fEn" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/catwalk_floor, @@ -21965,6 +22061,14 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness) +"fLg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor2/aft) "fLn" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/hidden/layer1{ dir = 4 @@ -22049,6 +22153,11 @@ }, /turf/open/floor/plating, /area/station/science/cytology) +"fMA" = ( +/obj/item/kirbyplants/random, +/obj/structure/sign/directions/evac/east_arrow, +/turf/open/floor/iron, +/area/station/hallway/floor3/aft) "fMB" = ( /obj/effect/turf_decal/trimline/red/line{ dir = 8 @@ -22136,6 +22245,14 @@ dir = 1 }, /area/station/hallway/floor4/aft) +"fNN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "fNT" = ( /turf/closed/wall, /area/station/hallway/floor2/fore) @@ -22414,6 +22531,17 @@ }, /turf/open/floor/iron, /area/station/hallway/floor2/fore) +"fRf" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig Fore Entrance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint) "fRm" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23087,6 +23215,12 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/floor2/fore) +"fZQ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "fZV" = ( /obj/structure/grille, /turf/open/floor/engine/hull/reinforced, @@ -23290,13 +23424,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/warehouse) -"gcm" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/pai_card, -/obj/item/reagent_containers/spray/cleaner, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "gcs" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/turf_decal/tile/green/half, @@ -23562,17 +23689,6 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/checker, /area/station/service/bar/atrium) -"ggp" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8; - pixel_x = 15 - }, -/obj/structure/chair, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "ggD" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 8 @@ -23652,24 +23768,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/disposal) -"ghy" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/machinery/cell_charger{ - pixel_y = 10 - }, -/obj/machinery/cell_charger{ - pixel_y = 1 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 9; - pixel_x = -1 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -1 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "ghH" = ( /obj/effect/turf_decal/tile/blue/half{ dir = 4 @@ -23682,6 +23780,15 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/hallway/floor3/aft) +"ghQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "ghX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -24544,6 +24651,15 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port) +"gtI" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/airlock/public/glass{ + name = "Medbay" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, +/area/station/medical/medbay/lobby) "gtO" = ( /obj/structure/closet/athletic_mixed, /turf/open/floor/iron/dark, @@ -24635,15 +24751,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_white, /area/station/medical/abandoned) -"gvp" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/airlock/public/glass{ - name = "Medbay" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/lobby) "gvx" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, @@ -24699,13 +24806,6 @@ /obj/structure/window/reinforced/tinted/spawner/directional/west, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) -"gwe" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "gwl" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -24798,12 +24898,6 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) -"gxi" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/textured, -/area/station/medical/paramedic) "gxn" = ( /turf/open/floor/iron/dark/side{ dir = 1 @@ -24862,14 +24956,6 @@ /obj/item/storage/box/mousetraps, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/fore) -"gxX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/chair, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "gyd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -24944,23 +25030,6 @@ }, /turf/open/floor/carpet/green, /area/station/service/bar/atrium) -"gzc" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/structure/sign/directions/security/directional/west{ - dir = 2 - }, -/obj/structure/sign/directions/command/directional/west{ - dir = 2; - pixel_y = -8 - }, -/obj/structure/sign/directions/vault/directional/west{ - dir = 2; - pixel_y = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/floor3/fore) "gzt" = ( /obj/effect/turf_decal/siding/wideplating_new/dark, /obj/machinery/light/small/directional/north, @@ -25151,19 +25220,6 @@ dir = 9 }, /area/station/hallway/floor4/fore) -"gBV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Treatment Center"; - name = "medbay camera"; - network = list("ss13","medbay"); - dir = 2 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "gBX" = ( /obj/effect/turf_decal/trimline/blue/corner, /obj/structure/window/spawner/directional/east, @@ -25251,6 +25307,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/side, /area/station/hallway/floor3/aft) +"gDh" = ( +/obj/structure/rack, +/obj/item/stock_parts/micro_laser{ + pixel_y = 7 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -4; + pixel_y = -6 + }, +/obj/item/vending_refill/wardrobe/science_wardrobe{ + pixel_y = 18 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, +/area/station/science/lower) "gDx" = ( /turf/closed/wall, /area/station/security/interrogation) @@ -25578,14 +25652,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/floor4/aft) -"gHO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "gHU" = ( /obj/structure/rack, /obj/item/storage/box/syringes, @@ -25706,10 +25772,6 @@ /obj/effect/landmark/start/captain, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/captain/private) -"gJl" = ( -/obj/machinery/computer/security/telescreen/engine_waste/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "gJm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -26262,6 +26324,23 @@ initial_gas_mix = "TEMP=2.7" }, /area/station/science/ordnance/bomb) +"gQY" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-entrance-aft" + }, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig Aft Entrance" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id = "briglockdown"; + name = "Brig Lockdown" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/turf/open/floor/iron/dark, +/area/station/security/brig) "gRf" = ( /obj/machinery/door/airlock/public/glass{ name = "Public Airlock" @@ -26453,14 +26532,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"gTZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/computer/security/telescreen/engine_waste/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/pumproom) "gUc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light_switch/directional/south, @@ -26696,18 +26767,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/lockers) -"gYa" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ +"gXZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/table/reinforced, +/obj/structure/window/spawner/directional/south, +/obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 }, -/obj/effect/turf_decal/siding/blue{ - dir = 4; - pixel_x = -15 +/obj/item/storage/toolbox/mechanical{ + pixel_x = 8; + pixel_y = -4 }, -/obj/effect/landmark/start/assistant, -/obj/structure/chair, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/multitool{ + pixel_x = 7; + pixel_y = 10 + }, +/turf/open/floor/iron/corner{ + dir = 4 + }, +/area/station/engineering/lobby) "gYb" = ( /obj/structure/cable, /turf/open/floor/plating/airless, @@ -26859,18 +26942,6 @@ dir = 4 }, /area/station/cargo/miningdock) -"hai" = ( -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/stack/sheet/iron/ten, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/corner, -/area/station/cargo/drone_bay) "haj" = ( /obj/effect/landmark/start/psychologist, /turf/open/floor/iron/white/small{ @@ -27005,6 +27076,13 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard/fore) +"hbq" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "hbs" = ( /obj/effect/turf_decal/trimline/green/corner{ dir = 1 @@ -27041,15 +27119,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"hbW" = ( -/obj/structure/railing, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/structure/closet/firecloset, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/floor4/fore) "hbX" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -27359,6 +27428,13 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark/smooth_large, /area/station/service/library/printer) +"hgc" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/robotics/lab) "hge" = ( /turf/open/floor/engine, /area/station/command/heads_quarters/rd) @@ -27432,6 +27508,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/aft) +"hha" = ( +/obj/machinery/computer/security/telescreen/engine_waste/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hhb" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 4 @@ -28119,6 +28199,16 @@ }, /turf/open/floor/carpet/red, /area/station/service/library/lounge) +"hqA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "hqD" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ name = "killroom vent" @@ -28250,10 +28340,6 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) -"hsA" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/commons/toilet) "hsG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, @@ -28541,6 +28627,13 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) +"hwu" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hww" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -28575,15 +28668,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"hwN" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "Antechamber Turret Control"; - pixel_y = -32 - }, -/turf/open/openspace, -/area/station/ai_monitored/turret_protected/aisat/service) "hwP" = ( /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /obj/structure/cable, @@ -28604,11 +28688,6 @@ /obj/effect/turf_decal/tile/green/opposingcorners, /turf/open/floor/iron/white, /area/station/medical/virology) -"hwV" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "hxl" = ( /obj/structure/toilet{ dir = 4 @@ -28858,13 +28937,6 @@ /obj/structure/flora/bush/style_random, /turf/open/floor/grass, /area/station/security/courtroom) -"hAH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "hAI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -28935,11 +29007,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) -"hBe" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "hBw" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron/textured_large, @@ -29321,24 +29388,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) -"hGG" = ( -/obj/structure/rack, -/obj/item/stock_parts/micro_laser{ - pixel_y = 7 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -4; - pixel_y = -6 - }, -/obj/item/vending_refill/wardrobe/science_wardrobe{ - pixel_y = 18 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white, -/area/station/science/lower) "hGL" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -29378,25 +29427,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"hHe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/table/reinforced/rglass, -/obj/machinery/door/window/right/directional/east{ - name = "First Aid Supplies"; - req_access = list("medical") - }, -/obj/structure/desk_bell{ - pixel_y = 1; - pixel_x = -5 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/medical/medbay/lobby) "hHi" = ( /obj/machinery/camera/autoname/directional/west, /obj/structure/closet/crate/science{ @@ -29578,17 +29608,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) -"hJJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/keycard_auth/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/hop) "hJK" = ( /obj/structure/chair{ dir = 8 @@ -29778,23 +29797,6 @@ dir = 1 }, /area/station/hallway/floor4/fore) -"hLN" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-entrance-aft" - }, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig Aft Entrance" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id = "briglockdown"; - name = "Brig Lockdown" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron/dark, -/area/station/security/brig) "hLP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29980,16 +29982,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) -"hOX" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8; - pixel_x = 15 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "hPf" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -30209,18 +30201,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"hSD" = ( -/obj/structure/closet/secure_closet/hos, -/obj/machinery/button/door/directional/west{ - id = "hosprivacy"; - name = "Privacy Shutters Control"; - pixel_y = 6 - }, -/obj/machinery/keycard_auth/directional/west{ - pixel_y = -8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hos) "hSH" = ( /obj/machinery/door/airlock{ id_tag = "CabinS"; @@ -30475,12 +30455,6 @@ dir = 1 }, /area/station/hallway/floor1/fore) -"hVG" = ( -/obj/structure/sign/directions/engineering/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/floor1/fore) "hVI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/pod/dark, @@ -30675,14 +30649,6 @@ }, /turf/open/floor/carpet/red, /area/station/service/theater) -"hYk" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "hYm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/brown/filled/line, @@ -30998,12 +30964,6 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/floor3/starboard/fore) -"idn" = ( -/obj/structure/sign/directions/science/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/floor2/fore) "ido" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/effect/decal/cleanable/dirt, @@ -31132,13 +31092,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/floor3/aft) -"ifk" = ( -/obj/structure/sign/directions/dorms/directional/north{ - dir = 2 - }, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/iron/smooth, -/area/station/hallway/floor4/aft) "ifo" = ( /obj/structure/tank_holder/emergency_oxygen, /obj/effect/turf_decal/stripes/line{ @@ -31206,6 +31159,14 @@ dir = 6 }, /area/station/hallway/floor2/aft) +"ifM" = ( +/obj/machinery/plumbing/receiver, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "ifS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31331,21 +31292,23 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"ihL" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Hall" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; +"ihK" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/button/door/directional/west{ id = "med_lockdown"; - name = "Medbay Lockdown Shutters" + name = "Surgery Privacy Shutters"; + req_access = list("medical") + }, +/obj/machinery/light_switch/directional/west{ + pixel_x = -24; + pixel_y = -10 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/surgery/fore) "ihQ" = ( /obj/structure/closet/emcloset/anchored, /turf/open/floor/iron/smooth, @@ -31440,15 +31403,6 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor4/port/fore) -"ijd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "ijs" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/dirt, @@ -31493,12 +31447,6 @@ dir = 1 }, /area/station/security/office) -"ijV" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/machinery/computer/security/telescreen/rd/directional/west, -/obj/machinery/pdapainter/research, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/rd) "ijX" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/directional, @@ -31645,15 +31593,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/black, /area/station/hallway/secondary/service) -"ilI" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Treatment Center"; - name = "medbay camera"; - network = list("ss13","medbay"); - dir = 2 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "ilK" = ( /obj/structure/railing/corner{ dir = 4 @@ -31676,6 +31615,12 @@ /obj/effect/mapping_helpers/airlock/access/any/service/general, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/port/fore) +"imd" = ( +/obj/machinery/power/shuttle_engine/large{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "img" = ( /obj/structure/cable, /obj/structure/girder, @@ -31756,6 +31701,12 @@ /obj/machinery/light/directional/north, /turf/open/floor/grass, /area/station/service/library/garden) +"inc" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/space/openspace, +/area/space/nearstation) "inj" = ( /obj/machinery/computer/records/security{ dir = 1 @@ -31763,18 +31714,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/warden) -"inl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/turretid{ - icon_state = "control_stun"; - name = "AI Chamber turret control"; - pixel_x = 3; - pixel_y = -23 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "inq" = ( /turf/closed/wall, /area/station/security/checkpoint/escape) @@ -31817,15 +31756,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) -"iog" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "iom" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32677,6 +32607,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) +"izA" = ( +/obj/item/storage/toolbox/maint_kit, +/obj/effect/spawner/random/junk_shell, +/turf/open/floor/pod/light, +/area/station/maintenance/floor4/port) "izF" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/holopad, @@ -32765,16 +32700,6 @@ }, /turf/closed/wall, /area/station/maintenance/floor1/starboard/aft) -"iAQ" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "iAS" = ( /obj/structure/cable, /obj/machinery/power/smes/engineering, @@ -33027,15 +32952,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/solars/port/aft) -"iDr" = ( -/obj/structure/table/glass, -/obj/machinery/defibrillator_mount/directional/east, -/obj/item/storage/medkit/emergency{ - pixel_y = 4 - }, -/obj/item/stack/medical/suture, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "iDw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33257,13 +33173,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) -"iGR" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/white, -/area/station/science/circuits) "iGY" = ( /obj/machinery/door/airlock/medical{ name = "Medical Break Room" @@ -33318,12 +33227,6 @@ name = "lab floor" }, /area/station/science/robotics/lab) -"iHL" = ( -/obj/machinery/pdapainter/engineering, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/computer/security/telescreen/engine/directional/south, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/ce) "iHM" = ( /obj/machinery/vending/wallmed/directional/west, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -33657,15 +33560,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"iNz" = ( -/obj/structure/sign/directions/upload/directional/east, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/floor2/fore) "iNB" = ( /obj/machinery/light/directional/north, /obj/machinery/camera/autoname/directional/east, @@ -33787,24 +33681,6 @@ "iOA" = ( /turf/closed/wall/r_wall, /area/station/maintenance/floor2/starboard) -"iOD" = ( -/obj/machinery/computer/upload/ai, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "AI Upload Chamber - Fore"; - network = list("aiupload") - }, -/obj/machinery/door/window/right/directional/south{ - name = "Upload Console Window"; - req_access = list("ai_upload") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) "iOL" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -33891,6 +33767,13 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"iPJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "iPN" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, @@ -34001,11 +33884,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/side, /area/station/commons/locker) -"iQR" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pipe_scrubber, -/turf/open/floor/iron, -/area/station/engineering/atmos) "iQU" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -34162,6 +34040,16 @@ "iSU" = ( /turf/closed/wall/r_wall, /area/space/nearstation) +"iSW" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil, +/obj/item/multitool, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/pod, +/area/station/maintenance/floor4/port/fore) "iTd" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35046,25 +34934,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"jfr" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig-entrance-aft" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig Aft Entrance" - }, -/obj/machinery/door/poddoor/preopen{ - id = "briglockdown"; - name = "Brig Lockdown" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron/dark, -/area/station/security/brig) "jfs" = ( /obj/docking_port/stationary/laborcamp_home/kilo{ dir = 2 @@ -35103,6 +34972,12 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/hallway/floor4/aft) +"jgt" = ( +/obj/structure/rack, +/obj/item/mod/core/standard, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/pod/light, +/area/station/maintenance/floor3/port/aft) "jgx" = ( /obj/effect/turf_decal/trimline/green/filled/arrow_cw, /obj/structure/railing{ @@ -35291,14 +35166,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) -"jjj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "jjo" = ( /obj/machinery/holopad, /turf/open/floor/iron/white/textured_large, @@ -35340,6 +35207,13 @@ /obj/machinery/light/red/dim/directional/south, /turf/open/openspace, /area/station/maintenance/floor4/port/aft) +"jjM" = ( +/obj/machinery/computer/security/telescreen/vault/directional/east, +/obj/machinery/computer/security{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "jjT" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/machinery/portable_atmospherics/pump, @@ -35380,17 +35254,6 @@ }, /turf/open/floor/mineral/silver, /area/station/service/chapel) -"jkD" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east{ - cell_type = /obj/item/stock_parts/power_store/battery/hyper - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/tcommsat/server) "jkH" = ( /obj/machinery/holopad, /turf/open/floor/iron/white, @@ -35910,6 +35773,18 @@ /obj/machinery/shower/directional/north, /turf/open/floor/iron/white/small, /area/station/commons/fitness/recreation) +"jrF" = ( +/obj/structure/sign/directions/evac/west_arrow, +/obj/structure/sign/directions/supply/west_arrow{ + pixel_y = 8 + }, +/obj/structure/sign/directions/arrival/west_arrow{ + pixel_y = -8 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/floor1/fore) "jrM" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/pod/light, @@ -36453,18 +36328,6 @@ dir = 1 }, /area/station/hallway/floor2/aft) -"jyL" = ( -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/sign/directions/dorms/directional/north, -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 40 - }, -/obj/structure/sign/directions/command/directional/north{ - pixel_y = 24 - }, -/obj/structure/rack, -/turf/open/floor/iron/smooth, -/area/station/hallway/floor2/fore) "jyP" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/floor/catwalk_floor, @@ -36712,6 +36575,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/supermatter/room) +"jBL" = ( +/obj/structure/sign/directions/science/west_arrow, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/floor2/fore) "jBR" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/effect/turf_decal/siding/white/corner{ @@ -36791,6 +36660,15 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/kitchen/diner) +"jDo" = ( +/obj/machinery/door/airlock/medical{ + name = "Chemical Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/medical/chemistry) "jDq" = ( /obj/machinery/light/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36919,6 +36797,14 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness) +"jFb" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "jFh" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/pod/dark, @@ -37202,33 +37088,14 @@ /obj/structure/sign/departments/engineering/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) -"jIi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +"jIx" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/blue{ - dir = 4; - pixel_x = -15 - }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"jIs" = ( -/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/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/item/storage/box/rxglasses{ - pixel_y = 5 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "jIy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/cable, @@ -37348,11 +37215,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard) -"jJM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "jJP" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/engine, @@ -37595,6 +37457,13 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor4/port/fore) +"jNG" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "jNH" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -37655,6 +37524,13 @@ initial_gas_mix = "TEMP=2.7" }, /area/station/science/ordnance/bomb) +"jOz" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "jOA" = ( /obj/structure/closet/l3closet/security, /obj/effect/turf_decal/tile/red/fourcorners, @@ -37786,15 +37662,6 @@ /obj/effect/spawner/random/clothing/lizardboots, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) -"jQb" = ( -/obj/machinery/door/airlock/medical{ - name = "Chemical Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/medical/chemistry) "jQu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38026,14 +37893,14 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor2/port) "jTK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/structure/sign/directions/dorms/east_arrow, +/obj/structure/sign/directions/evac/east_arrow{ + pixel_y = -8 }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +/turf/open/floor/iron/dark/side{ + dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/area/station/hallway/floor3/fore) "jTM" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/purple{ @@ -38642,6 +38509,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/station/service/library) +"kcj" = ( +/obj/structure/table/glass, +/obj/item/stack/medical/gauze, +/obj/machinery/defibrillator_mount/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "kcl" = ( /obj/structure/railing{ dir = 1 @@ -38747,20 +38620,6 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/hallway/floor2/fore) -"kcT" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/stripes{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/sign/departments/exodrone/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) "kcZ" = ( /obj/effect/turf_decal/delivery, /obj/structure/table/reinforced, @@ -39008,13 +38867,6 @@ dir = 1 }, /area/station/hallway/floor1/aft) -"kfg" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater/layer2{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "kfm" = ( /obj/effect/turf_decal/trimline/purple, /obj/machinery/airalarm/directional/south, @@ -39836,6 +39688,12 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/smooth, /area/station/construction) +"kqQ" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/machinery/computer/security/telescreen/rd/directional/west, +/obj/machinery/pdapainter/research, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) "kqW" = ( /obj/structure/filingcabinet/employment, /turf/open/floor/wood, @@ -39869,6 +39727,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/cargo/storage) +"krn" = ( +/obj/structure/sign/poster/official/random/directional/east, +/obj/machinery/cryo_cell{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "kro" = ( /obj/structure/disposalpipe/junction/flip{ dir = 8 @@ -40187,6 +40052,20 @@ }, /turf/open/floor/wood/parquet, /area/station/service/lawoffice) +"kvu" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/gps, +/obj/structure/closet/crate/engineering, +/turf/open/floor/plating, +/area/station/engineering/lobby) "kvw" = ( /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, @@ -40472,6 +40351,14 @@ "kzE" = ( /turf/closed/wall/r_wall, /area/station/maintenance/floor1/port) +"kzH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/security/telescreen/engine_waste/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/pumproom) "kzK" = ( /turf/open/floor/iron, /area/station/hallway/floor2/aft) @@ -40520,6 +40407,14 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"kAi" = ( +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "kAm" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -40942,6 +40837,24 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/wood/tile, /area/station/service/library) +"kFK" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/reagent_containers/condiment/peppermill{ + desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/book/manual/chef_recipes, +/turf/open/floor/iron, +/area/station/security/prison) "kFO" = ( /obj/effect/turf_decal/trimline/brown/warning{ dir = 1 @@ -41488,14 +41401,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard) -"kMv" = ( -/obj/machinery/plumbing/receiver, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "kMC" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 @@ -41711,6 +41616,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/side, /area/station/security/prison) +"kPS" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron, +/area/station/engineering/atmos) "kPW" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -41763,6 +41673,13 @@ dir = 4 }, /area/station/security/office) +"kQC" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "kQF" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -41778,6 +41695,10 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/aft) +"kQJ" = ( +/obj/machinery/stasis, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "kQN" = ( /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41879,13 +41800,6 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/white, /area/station/hallway/floor2/fore) -"kRM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "kRN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42031,6 +41945,12 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"kTB" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/space/openspace, +/area/space/nearstation) "kTI" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -42045,6 +41965,21 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/iron, /area/station/hallway/floor3/aft) +"kTQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload turret control"; + pixel_y = 28 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "kTV" = ( /obj/structure/bookcase/random/religion, /obj/machinery/light/small/directional/north, @@ -42087,11 +42022,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/lab) -"kUl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "kUo" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/iron/dark, @@ -42268,14 +42198,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"kWD" = ( -/obj/machinery/keycard_auth/directional/north{ - pixel_x = -22 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/incident_display/bridge/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "kWJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42374,6 +42296,16 @@ /obj/machinery/vending/wardrobe/chef_wardrobe, /turf/open/floor/wood/large, /area/station/service/kitchen/kitchen_backroom) +"kXQ" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/machinery/shower/directional/south, +/obj/structure/fluff/shower_drain, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/medical/treatment_center) "kXW" = ( /obj/effect/turf_decal/bot, /obj/effect/spawner/random/contraband/landmine, @@ -42479,20 +42411,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/eighties, /area/station/commons/dorms/room2) -"kZr" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/obj/item/gps, -/obj/structure/closet/crate/engineering, -/turf/open/floor/plating, -/area/station/engineering/lobby) "kZv" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -42634,16 +42552,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard) -"lbi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "lbm" = ( /obj/machinery/camera/preset/ordnance{ dir = 1 @@ -42912,6 +42820,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/floor2/aft) +"ldK" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/commons/toilet) "ldO" = ( /obj/structure/chair/stool/bar/directional/east, /obj/structure/disposalpipe/segment{ @@ -43082,13 +42994,6 @@ "lfU" = ( /turf/open/floor/plating/airless, /area/station/solars/starboard/aft) -"lfW" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "lfZ" = ( /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, @@ -43222,6 +43127,19 @@ }, /turf/open/floor/iron/checker, /area/station/commons/vacant_room/commissary) +"lhG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 3 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "lhO" = ( /obj/structure/chair{ dir = 1 @@ -44097,18 +44015,6 @@ dir = 9 }, /area/station/security/prison) -"luo" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/structure/railing, -/obj/effect/decal/cleanable/robot_debris, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "luv" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44143,6 +44049,10 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/pod/dark, /area/station/maintenance/floor4/port/aft) +"luF" = ( +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/turf/open/floor/iron/white/textured_large, +/area/station/service/chapel/office) "luG" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -44163,6 +44073,11 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/dark, /area/station/security/checkpoint/first) +"luR" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/sign/warning/biohazard/directional/east, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "luS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45065,26 +44980,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/starboard/fore) -"lIh" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/east{ - pixel_x = 25; - pixel_y = 16 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Command - Research Director's Office" - }, -/obj/machinery/requests_console/directional/east{ - department = "Research Director's Desk"; - name = "Research Director's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "lIm" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/white/corner, @@ -45230,6 +45125,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/aft) +"lJF" = ( +/obj/machinery/power/shuttle_engine/huge{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "lJN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -45663,6 +45564,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/ce) +"lOL" = ( +/obj/structure/table, +/obj/item/cigarette/candy{ + pixel_x = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/hallway/floor1/aft) "lPb" = ( /obj/structure/railing{ dir = 1 @@ -45671,6 +45579,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) +"lPc" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/kitchen/diner) "lPf" = ( /obj/structure/closet/bombcloset/security, /obj/effect/turf_decal/tile/red/fourcorners, @@ -45909,6 +45824,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/floor3/aft) +"lRJ" = ( +/obj/machinery/computer/upload/ai, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "AI Upload Chamber - Fore"; + network = list("aiupload") + }, +/obj/machinery/door/window/right/directional/south{ + name = "Upload Console Window"; + req_access = list("ai_upload") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "lRP" = ( /obj/machinery/door/airlock/highsecurity{ name = "Electrical Maintenance" @@ -45974,20 +45907,17 @@ /obj/effect/decal/cleanable/plastic, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat) -"lSI" = ( -/obj/machinery/computer/upload/borg, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/door/window/left/directional/south{ - name = "Cyborg Upload Console Window"; - req_access = list("ai_upload") +"lSH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 +/obj/structure/railing{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload) +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/hop) "lSJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -46710,6 +46640,10 @@ /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, /area/station/maintenance/floor1/starboard) +"mcd" = ( +/obj/structure/railing/corner, +/turf/open/space/openspace, +/area/space/nearstation) "mcf" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -47121,18 +47055,6 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) -"mgl" = ( -/obj/structure/sign/directions/evac/directional/west, -/obj/structure/sign/directions/supply/directional/west{ - pixel_y = 8 - }, -/obj/structure/sign/directions/arrival/directional/west{ - pixel_y = -8 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/floor1/fore) "mgo" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -47342,14 +47264,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/security/eva) -"mjg" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) "mjr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47412,22 +47326,6 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness) -"mko" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/ordnance/directional/north, -/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver, -/obj/structure/table, -/obj/item/binoculars{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "mkE" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/item/wrench, @@ -47649,6 +47547,16 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) +"mnC" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/auxlab) "mnE" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -48102,6 +48010,16 @@ }, /turf/open/floor/mineral/silver, /area/station/service/chapel) +"mtj" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "mtx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48125,10 +48043,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/dark, /area/station/maintenance/floor1/port) -"mtI" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/medical/medbay/lobby) "mtL" = ( /obj/effect/turf_decal/trimline/purple/warning{ dir = 4 @@ -48180,6 +48094,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor1/starboard/aft) +"muj" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/hallway/floor1/fore) "mus" = ( /obj/structure/closet/firecloset/full, /turf/open/floor/pod/dark, @@ -48225,15 +48143,6 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/dark, /area/station/security/checkpoint/third) -"mve" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "mvg" = ( /obj/machinery/atmospherics/components/unary/portables_connector{ dir = 1 @@ -48539,23 +48448,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/service/bar/atrium) -"mzh" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/button/door/directional/west{ - id = "med_lockdown"; - name = "Surgery Privacy Shutters"; - req_access = list("medical") - }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -24; - pixel_y = -10 - }, -/turf/open/floor/iron/white, -/area/station/medical/surgery/fore) "mzk" = ( /obj/structure/sign/warning/no_smoking/directional/east, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -48681,6 +48573,22 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/fore) +"mBa" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/effect/landmark/start/chief_engineer, +/obj/machinery/button/door/directional/south{ + id = "ceprivacy"; + name = "Privacy Shutters Control"; + pixel_x = -6 + }, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/ce) "mBg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48872,6 +48780,12 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"mDH" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/space/openspace, +/area/space/nearstation) "mDI" = ( /obj/effect/turf_decal/trimline/blue/line{ dir = 9 @@ -48965,6 +48879,10 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"mES" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "mEY" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/command/glass{ @@ -49002,17 +48920,6 @@ /obj/effect/spawner/random/trash/botanical_waste, /turf/open/floor/plating, /area/station/maintenance/floor2/port/aft) -"mFz" = ( -/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/blue/fourcorners, -/obj/machinery/door/airlock/public/glass{ - name = "Medbay" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/lobby) "mFB" = ( /obj/structure/window/reinforced/spawner/directional/north, /mob/living/basic/chicken, @@ -49065,12 +48972,6 @@ dir = 1 }, /area/station/hallway/secondary/exit) -"mFQ" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/ai_monitored/command/storage/eva) "mFV" = ( /obj/structure/bodycontainer/morgue, /obj/machinery/light/small/directional/west, @@ -49084,6 +48985,11 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/white, /area/station/science/lower) +"mGl" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "mGp" = ( /obj/effect/spawner/random/trash/garbage{ spawn_scatter_radius = 1 @@ -50005,6 +49911,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/bronze/filled, /area/station/maintenance/floor1/starboard) +"mTb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/paramedic, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/medical/paramedic) "mTg" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/item/radio/intercom/directional/west, @@ -50040,6 +49962,15 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard/fore) +"mTA" = ( +/obj/structure/railing, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/structure/closet/firecloset, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/floor4/fore) "mTF" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50505,6 +50436,10 @@ }, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"mYT" = ( +/obj/machinery/light/cold/no_nightlight/directional/east, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "mYV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50561,14 +50496,6 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"mZS" = ( -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "mZT" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 10 @@ -50765,6 +50692,12 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) +"ncO" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "ncX" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -51123,6 +51056,12 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/port/fore) +"ngR" = ( +/obj/effect/turf_decal/tile/neutral/full, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "ngT" = ( /obj/structure/dresser, /turf/open/floor/wood/tile, @@ -51959,28 +51898,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) -"nqP" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/structure/table/reinforced/plasmarglass, -/obj/item/stock_parts/power_store/cell/lead{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/usb_cable{ - name = "jumper cable"; - pixel_x = -10; - pixel_y = 12 - }, -/obj/item/lead_pipe{ - pixel_x = -5 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/reagent_containers/syringe, -/turf/open/floor/pod/dark, -/area/station/service/kitchen/abandoned) "nqU" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -52319,6 +52236,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/floor2/port/aft) +"nvy" = ( +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "nvE" = ( /obj/machinery/autolathe, /obj/effect/turf_decal/siding/thinplating_new{ @@ -52427,6 +52347,7 @@ }, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/vending/cytopro, /turf/open/floor/iron, /area/station/science/cytology) "nxm" = ( @@ -52723,6 +52644,14 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/floor2/starboard/fore) +"nAQ" = ( +/obj/structure/bed/medical/anchored{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "nAT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/textured_half, @@ -52811,10 +52740,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/exit/departure_lounge) +"nCb" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east{ + cell_type = /obj/item/stock_parts/power_store/battery/hyper + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/tcommsat/server) "nCi" = ( /obj/structure/sign/departments/security, /turf/closed/wall/r_wall, /area/station/security/checkpoint/first) +"nCv" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + id = "med_lockdown"; + name = "Medbay Lockdown Shutters"; + req_access = list("medical") + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "nCA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/pod/dark, @@ -52920,30 +52872,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard/fore) -"nDQ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/table/reinforced, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/multitool{ - pixel_x = 7; - pixel_y = 10 - }, -/turf/open/floor/iron/corner{ - dir = 4 - }, -/area/station/engineering/lobby) "nEa" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, @@ -53000,13 +52928,6 @@ "nEI" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat_interior) -"nEM" = ( -/obj/item/fishing_rod, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/three, -/obj/item/cigarette/pipe, -/turf/open/floor/pod/light, -/area/station/maintenance/floor2/starboard/fore) "nEO" = ( /obj/structure/table, /obj/item/screwdriver, @@ -53374,12 +53295,6 @@ dir = 4 }, /area/station/hallway/floor3/aft) -"nJb" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "nJk" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -53471,15 +53386,6 @@ }, /turf/open/floor/iron/checker, /area/station/cargo/miningdock) -"nKn" = ( -/obj/structure/sign/directions/dorms/directional/east, -/obj/structure/sign/directions/evac/directional/east{ - pixel_y = -8 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/floor3/fore) "nKq" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -53525,14 +53431,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/garden) -"nKY" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/textured, -/area/station/medical/cryo) "nLc" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53721,6 +53619,14 @@ /obj/effect/turf_decal/bot_red, /turf/open/floor/iron/textured_large, /area/station/cargo/warehouse) +"nOq" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/robotics/mechbay) "nOw" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -54061,6 +53967,13 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured, /area/station/medical/storage) +"nRR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "nRU" = ( /obj/structure/chair{ dir = 1 @@ -54082,13 +53995,6 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard) -"nSz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/security/prison/garden) "nSC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -54181,6 +54087,11 @@ "nUa" = ( /turf/closed/wall, /area/station/medical/storage) +"nUf" = ( +/obj/structure/fake_stairs/directional/south, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "nUj" = ( /obj/structure/chair/e_chair, /obj/effect/decal/cleanable/blood/old, @@ -54862,6 +54773,12 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor2/starboard) +"ode" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "odk" = ( /obj/machinery/light/directional/east, /obj/machinery/status_display/ai/directional/east, @@ -54882,6 +54799,18 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) +"odG" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical{ + pixel_y = 6 + }, +/obj/item/storage/belt/medical{ + pixel_y = 12 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "odH" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -55310,20 +55239,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/library/lounge) -"ojB" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Brig Fore Entrance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint) "ojM" = ( /obj/structure/chair/comfy{ dir = 4 @@ -55526,13 +55441,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/port/aft) -"omq" = ( -/obj/machinery/computer/security/telescreen/vault/directional/east, -/obj/machinery/computer/security{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) "omr" = ( /turf/open/floor/iron/stairs{ dir = 8 @@ -55680,6 +55588,18 @@ dir = 8 }, /area/station/hallway/floor3/fore) +"oor" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "ooy" = ( /turf/open/floor/iron/chapel, /area/station/service/chapel) @@ -55722,20 +55642,6 @@ /obj/machinery/light/warm/directional/north, /turf/open/floor/carpet/orange, /area/station/service/chapel/funeral) -"ooT" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/item/folder/white{ - pixel_y = 13 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/lab) "ooV" = ( /obj/effect/decal/cleanable/dirt, /obj/item/ammo_casing/c38{ @@ -55784,14 +55690,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/eighties, /area/station/commons/dorms/room2) -"opE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "opN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -55840,21 +55738,6 @@ }, /turf/open/floor/wood/tile, /area/station/service/library) -"oqk" = ( -/obj/structure/sign/directions/medical/directional/north{ - dir = 2 - }, -/obj/structure/sign/directions/science/directional/north{ - dir = 2; - pixel_y = 24 - }, -/obj/structure/sign/directions/upload/directional/north{ - dir = 2; - pixel_y = 40 - }, -/obj/structure/ladder, -/turf/open/floor/iron/smooth, -/area/station/hallway/floor3/fore) "oqq" = ( /obj/structure/table, /obj/item/stamp, @@ -56017,6 +55900,30 @@ /obj/structure/window/reinforced/tinted/frosted/spawner/directional/west, /turf/open/floor/plating, /area/station/maintenance/floor1/starboard/fore) +"osF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/window/preopen{ + dir = 1; + name = "Medbay Lockdown Shutters"; + id = "med_lockdown" + }, +/turf/open/floor/plating, +/area/station/medical/medbay/lobby) +"osH" = ( +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/stack/sheet/iron/ten, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/corner, +/area/station/cargo/drone_bay) "osI" = ( /obj/machinery/light/red/dim/directional/east, /turf/open/floor/pod/dark, @@ -56029,11 +55936,6 @@ /obj/effect/spawner/structure/window/hollow/middle, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard) -"osX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/restaurant_portal/bar, -/turf/open/floor/wood, -/area/station/service/kitchen/diner) "ote" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -56122,32 +56024,6 @@ /obj/structure/chair, /turf/open/floor/iron/kitchen/herringbone, /area/station/service/kitchen/diner) -"ouy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/computer/security/telescreen/engine_waste/directional/south, -/turf/open/floor/catwalk_floor/iron, -/area/station/engineering/atmos/pumproom) -"ouD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/paramedic, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/dark/textured, -/area/station/medical/paramedic) "ouF" = ( /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/side{ @@ -56595,6 +56471,14 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/psychology) +"oAL" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "oAO" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -57240,6 +57124,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"oKc" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "oKq" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) @@ -57309,6 +57200,15 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron, /area/station/cargo/storage) +"oKV" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "oKY" = ( /turf/open/floor/grass, /area/station/hallway/floor4/fore) @@ -57341,6 +57241,12 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/bar) +"oLu" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/closed/wall, +/area/station/medical/treatment_center) "oLv" = ( /obj/effect/turf_decal/stripes{ dir = 1 @@ -57355,16 +57261,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"oLE" = ( -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/command/gateway) "oLG" = ( /obj/structure/beebox, /turf/open/floor/grass, @@ -57601,11 +57497,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/white, /area/station/science/lower) -"oOW" = ( -/obj/structure/rack, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "oOY" = ( /obj/structure/table/wood/fancy/red, /obj/item/flashlight/flare/candle, @@ -58119,6 +58010,13 @@ }, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) +"oVk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/station/security/prison/garden) "oVy" = ( /obj/structure/bed/medical/emergency, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58243,6 +58141,13 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/space/nearstation) +"oXk" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer4{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) "oXp" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -58373,15 +58278,6 @@ /obj/item/tank/internals/emergency_oxygen, /turf/open/floor/iron/smooth, /area/station/tcommsat/computer) -"oZd" = ( -/obj/machinery/computer/security/telescreen/auxbase/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "oZj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58519,11 +58415,6 @@ dir = 4 }, /area/station/science/robotics/lab) -"pbr" = ( -/obj/machinery/light/directional/east, -/obj/machinery/deepfryer, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "pbt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -58629,6 +58520,13 @@ "pcR" = ( /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/floor1/aft) +"pcY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "pdd" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, @@ -59340,6 +59238,14 @@ "poE" = ( /turf/open/floor/catwalk_floor, /area/station/hallway/floor3/fore) +"poI" = ( +/obj/machinery/vatgrower{ + dir = 4 + }, +/obj/machinery/light/cold/no_nightlight/directional/south, +/obj/machinery/status_display/evac/directional/south, +/turf/open/misc/sandy_dirt, +/area/station/science/cytology) "poL" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -59421,6 +59327,11 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/floor2/aft) +"ppK" = ( +/obj/structure/rack, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "ppN" = ( /obj/machinery/door/airlock/engineering{ name = "Tech Storage" @@ -59546,17 +59457,6 @@ dir = 8 }, /area/station/hallway/floor3/fore) -"pqH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "pqO" = ( /obj/effect/decal/cleanable/glass, /obj/item/shard, @@ -59779,6 +59679,15 @@ dir = 4 }, /area/station/hallway/floor2/fore) +"ptx" = ( +/obj/structure/sign/directions/upload/east_arrow, +/obj/structure/sign/directions/medical/east_arrow{ + pixel_y = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/floor2/fore) "ptD" = ( /obj/machinery/vending/dinnerware, /turf/open/floor/wood/large, @@ -59834,13 +59743,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/lower) -"puH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "puI" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron, @@ -60452,6 +60354,12 @@ "pCc" = ( /turf/open/floor/iron/showroomfloor, /area/station/service/theater) +"pCd" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/north, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/incident_display/bridge/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pCf" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/purple/corner{ @@ -60667,14 +60575,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/starboard/aft) -"pEY" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "pEZ" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/box, @@ -60782,9 +60682,12 @@ }, /area/station/security/office) "pGz" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/window/reinforced/spawner/directional/west, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) +/mob/living/basic/parrot/poly, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/command/heads_quarters/ce) "pGG" = ( /obj/structure/ladder, /obj/structure/lattice/catwalk, @@ -61215,6 +61118,10 @@ dir = 1 }, /area/station/security/prison) +"pMz" = ( +/obj/structure/railing, +/turf/open/space/openspace, +/area/space/nearstation) "pME" = ( /obj/structure/railing/corner{ dir = 4 @@ -61339,12 +61246,15 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/security/evidence) -"pNV" = ( -/obj/machinery/power/shuttle_engine/large{ - dir = 4 +"pNS" = ( +/obj/machinery/door/airlock/hatch{ + name = "Maintenance Access" }, -/turf/open/floor/plating/airless, -/area/space/nearstation) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/floor1/port) "pNW" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -61424,6 +61334,11 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lobby) +"pOX" = ( +/obj/machinery/light/directional/east, +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "pOY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61456,6 +61371,13 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"pPn" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/white, +/area/station/science/circuits) "pPr" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/effect/spawner/random/vending/snackvend, @@ -61602,6 +61524,15 @@ /obj/structure/lattice/catwalk, /turf/open/space/openspace, /area/space/nearstation) +"pRC" = ( +/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/blue, +/obj/machinery/medical_kiosk, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "pRD" = ( /obj/machinery/shower/directional/north, /obj/effect/turf_decal/trimline/green/end{ @@ -61706,6 +61637,11 @@ /obj/effect/mapping_helpers/airalarm/tlv_no_checks, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"pSP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/service/kitchen/diner) "pSV" = ( /obj/machinery/griddle, /turf/open/floor/iron/kitchen, @@ -61939,6 +61875,13 @@ /obj/structure/cable, /turf/open/floor/eighties, /area/station/commons/dorms/room2) +"pWm" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "pWr" = ( /obj/structure/chair/wood{ dir = 1 @@ -62318,11 +62261,6 @@ dir = 1 }, /area/station/science/auxlab) -"qaY" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/kitchen/diner) "qbh" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/aicard, @@ -62388,6 +62326,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/robotics/lab) +"qcl" = ( +/obj/structure/sign/directions/engineering/east_arrow, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/floor1/fore) "qcp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62395,11 +62339,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/port/aft) -"qcr" = ( -/obj/structure/fake_stairs/directional/south, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) "qct" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/effect/turf_decal/stripes/line{ @@ -63026,6 +62965,14 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/command/heads_quarters/qm) +"qld" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/structure/sign/poster/contraband/random/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "qle" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_blue{ @@ -63241,17 +63188,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/service/kitchen/diner) -"qob" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/yellow{ - dir = 8; - pixel_x = 15 - }, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "qoq" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark/side, @@ -63310,13 +63246,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_large, /area/station/engineering/lobby) -"qoI" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/machinery/keycard_auth/directional/north, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "qoJ" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/circuit/telecomms, @@ -63334,6 +63263,22 @@ /obj/machinery/light/directional/west, /turf/open/floor/wood, /area/station/service/kitchen/diner) +"qoY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver, +/obj/structure/table, +/obj/item/binoculars{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "qpa" = ( /obj/structure/table/reinforced, /obj/item/paper_bin/carbon{ @@ -63428,6 +63373,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"qqJ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/tile/dark_blue/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/security/prison/garden) "qqY" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 4 @@ -63535,14 +63488,6 @@ }, /turf/open/floor/pod, /area/station/hallway/secondary/entry) -"qsj" = ( -/obj/structure/bed/medical/anchored{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "qsy" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/stripes/white/line{ @@ -63687,12 +63632,6 @@ /obj/item/storage/pill_bottle/mining, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) -"qtM" = ( -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "qtO" = ( /obj/machinery/camera/autoname/directional/west, /obj/item/radio/intercom/directional/west, @@ -64258,17 +64197,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"qzQ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/item/reagent_containers/cup/watering_can, -/obj/effect/turf_decal/tile/dark_blue, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/security/prison/garden) "qzX" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/effect/turf_decal/stripes/line{ @@ -64614,6 +64542,12 @@ }, /turf/open/floor/engine/airless, /area/station/solars/port/aft) +"qDL" = ( +/obj/machinery/camera/motion/directional/west{ + c_tag = "Minisat - Aft" + }, +/turf/open/space/openspace, +/area/space/nearstation) "qDM" = ( /obj/machinery/shuttle_manipulator{ desc = "It's displaying various schematics and maps of the ship."; @@ -64966,24 +64900,10 @@ "qHW" = ( /turf/closed/wall/r_wall, /area/station/medical/pharmacy) -"qIf" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = 6 - }, -/obj/effect/landmark/start/chief_engineer, -/obj/machinery/button/door/directional/south{ - id = "ceprivacy"; - name = "Privacy Shutters Control"; - pixel_x = -6 - }, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/ce) +"qHX" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "qIv" = ( /obj/effect/turf_decal/trimline/purple/warning, /turf/open/floor/pod/dark, @@ -65054,6 +64974,15 @@ /obj/structure/railing/corner/end/flip, /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) +"qJP" = ( +/obj/structure/table/wood, +/obj/item/cigarette/cigar/cohiba, +/obj/effect/turf_decal/trimline/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/line, +/turf/open/floor/carpet/blue, +/area/station/command/meeting_room) "qJT" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -65210,6 +65139,16 @@ dir = 4 }, /area/station/hallway/floor1/aft) +"qNl" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/security/telescreen/engine_waste/directional/south, +/turf/open/floor/catwalk_floor/iron, +/area/station/engineering/atmos/pumproom) "qNu" = ( /obj/structure/displaycase/trophy, /turf/open/floor/carpet/royalblack, @@ -65289,6 +65228,10 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"qOf" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "qOh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -65412,10 +65355,6 @@ /obj/item/radio/intercom/chapel/directional/south, /turf/open/floor/iron/dark/small, /area/station/service/chapel/office) -"qPu" = ( -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "qPv" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, @@ -65612,12 +65551,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) -"qRS" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/space/openspace, -/area/space/nearstation) "qRW" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -65656,10 +65589,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) -"qSD" = ( -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood/parquet, -/area/station/service/lawoffice) "qSJ" = ( /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/checker, @@ -66064,13 +65993,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/brig) -"qXX" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "qYb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66505,12 +66427,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/service/library) -"rdv" = ( -/obj/structure/rack, -/obj/item/mod/core/standard, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/pod/light, -/area/station/maintenance/floor3/port/aft) "rdx" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ dir = 4 @@ -66575,6 +66491,12 @@ }, /turf/open/floor/glass/reinforced, /area/station/service/library) +"reb" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/ai_monitored/command/storage/eva) "rec" = ( /obj/structure/cable, /turf/open/floor/iron/dark/side{ @@ -66686,6 +66608,12 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/dark, /area/station/hallway/floor3/fore) +"reZ" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/medical/paramedic) "rfn" = ( /turf/open/floor/iron/showroomfloor{ name = "lab floor" @@ -66755,6 +66683,43 @@ "rfU" = ( /turf/closed/wall, /area/station/commons/dorms/room3) +"rfZ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/reagent_containers/chem_pack{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/reagent_containers/chem_pack{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/reagent_containers/chem_pack{ + pixel_y = 3 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/bottle{ + pixel_x = -2 + }, +/obj/item/reagent_containers/cup/bottle{ + pixel_x = 2 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) +"rgb" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_y = 27; + pixel_x = 12 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "rgc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66780,16 +66745,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron, /area/station/engineering/atmos) -"rgx" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/auxlab) "rgy" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -66909,18 +66864,6 @@ /obj/machinery/light/small/blacklight/directional/east, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard) -"rhO" = ( -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/interrogation/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) "rhR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67028,10 +66971,6 @@ /obj/structure/railing/corner/end, /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) -"rjB" = ( -/obj/machinery/light/cold/no_nightlight/directional/east, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "rjD" = ( /turf/closed/wall, /area/station/hallway/floor1/aft) @@ -67187,14 +67126,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/textured_large, /area/station/cargo/storage) -"rmD" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/closet/secure_closet/chemical, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "rmF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/side{ @@ -67639,6 +67570,11 @@ "rsW" = ( /turf/open/floor/carpet/blue, /area/station/maintenance/floor3/port/aft) +"rsX" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "rsY" = ( /obj/machinery/button/door/directional/north{ id = "aband_armour"; @@ -67762,6 +67698,13 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"rvw" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/pumproom) "rvD" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, @@ -67821,12 +67764,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/service/library) -"rwv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "rwG" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/machinery/airalarm/directional/north, @@ -67925,11 +67862,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor1/starboard/fore) -"rxZ" = ( -/obj/item/storage/toolbox/maint_kit, -/obj/effect/spawner/random/junk_shell, -/turf/open/floor/pod/light, -/area/station/maintenance/floor4/port) "ryh" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating/airless, @@ -68014,6 +67946,12 @@ }, /turf/open/floor/engine/hull, /area/space/nearstation) +"rzc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "rze" = ( /turf/closed/wall, /area/station/cargo/lobby) @@ -68197,6 +68135,20 @@ /obj/item/toy/cattoy, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/fore) +"rBX" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig Fore Entrance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint) "rBY" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/side, @@ -68256,14 +68208,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/maintenance/floor2/port) -"rCF" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/turf_decal/tile/dark_blue/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/station/security/prison/garden) "rCK" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -68691,6 +68635,15 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/floor1/starboard/fore) +"rJT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "rJU" = ( /obj/structure/chair/stool/bar/directional/east, /obj/machinery/airalarm/directional/west, @@ -68706,6 +68659,12 @@ dir = 1 }, /area/station/hallway/secondary/exit) +"rKd" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/space/openspace, +/area/space/nearstation) "rKg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68814,10 +68773,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/third) -"rLs" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/floor1/fore) "rLx" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, @@ -69031,6 +68986,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/service/hydroponics) +"rON" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "AI Upload" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/sign/departments/aiupload/directional/south, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "rOW" = ( /obj/effect/turf_decal/tile/blue/half, /obj/machinery/ai_slipper{ @@ -69227,6 +69196,14 @@ /obj/structure/closet/firecloset/full, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard) +"rRE" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/closet/secure_closet/chemical, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "rRP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69607,6 +69584,14 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/aft) +"rWy" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "rWz" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -69841,12 +69826,6 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"sar" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "sat" = ( /obj/structure/railing/corner{ dir = 1 @@ -69856,11 +69835,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) -"sav" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/sign/warning/biohazard/directional/east, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "saA" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 1 @@ -69882,6 +69856,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"sba" = ( +/obj/machinery/vatgrower{ + dir = 4 + }, +/obj/machinery/light/cold/no_nightlight/directional/north, +/obj/machinery/status_display/ai/directional/north, +/turf/open/misc/dirt/jungle, +/area/station/science/cytology) "sbm" = ( /obj/effect/spawner/structure/window/hollow/end{ dir = 8 @@ -69905,26 +69887,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics) -"sbB" = ( -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/item/fuel_pellet{ - pixel_x = -4; - pixel_y = -2 - }, -/obj/item/fuel_pellet, -/obj/item/fuel_pellet{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/structure/rack, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/corner{ - dir = 1 - }, -/area/station/cargo/drone_bay) "sbI" = ( /obj/structure/flora/bush/snow/style_random, /turf/open/misc/snow/actually_safe{ @@ -69982,11 +69944,6 @@ "scv" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal) -"scx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "scD" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/suit_storage_unit/medical, @@ -70162,6 +70119,19 @@ }, /turf/open/floor/carpet/orange, /area/station/service/chapel/funeral) +"sec" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay"); + dir = 2 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "see" = ( /obj/effect/turf_decal/tile/green/full, /obj/effect/decal/cleanable/dirt, @@ -70435,6 +70405,20 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard/aft) +"siR" = ( +/obj/structure/table/reinforced/rglass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/item/stack/medical/suture/emergency{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/item/stack/medical/ointment{ + pixel_y = -5; + pixel_x = 5 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "siT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -70469,6 +70453,24 @@ }, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/ce) +"sjy" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/machinery/cell_charger{ + pixel_y = 1 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 9; + pixel_x = -1 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "sjD" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/thinplating_new{ @@ -70603,13 +70605,6 @@ /obj/structure/bookcase/random/fiction, /turf/open/floor/wood/tile, /area/station/service/library) -"slC" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/cable, -/mob/living/basic/parrot/poly, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/command/heads_quarters/ce) "slI" = ( /obj/item/radio/intercom/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -70619,16 +70614,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"slP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "slQ" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=2-13"; @@ -70710,20 +70695,6 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"sno" = ( -/obj/structure/table/reinforced/rglass, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/item/stack/medical/suture/emergency{ - pixel_y = 5; - pixel_x = -5 - }, -/obj/item/stack/medical/ointment{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/medical/medbay/lobby) "snp" = ( /turf/open/floor/iron/dark/side{ dir = 8 @@ -71203,12 +71174,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/science/xenobiology) -"suB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +"suw" = ( +/obj/structure/closet/secure_closet/hos, +/obj/machinery/button/door/directional/west{ + id = "hosprivacy"; + name = "Privacy Shutters Control"; + pixel_y = 6 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hos) "suD" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/dark, @@ -71261,6 +71236,25 @@ dir = 8 }, /area/station/engineering/lobby) +"svi" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig-entrance-aft" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig Aft Entrance" + }, +/obj/machinery/door/poddoor/preopen{ + id = "briglockdown"; + name = "Brig Lockdown" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/turf/open/floor/iron/dark, +/area/station/security/brig) "svs" = ( /obj/machinery/vending/wallmed/directional/west, /turf/open/floor/iron/dark/side{ @@ -71916,15 +71910,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"sEl" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "sEt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72178,17 +72163,6 @@ /obj/item/pipe_dispenser, /turf/open/floor/iron/dark, /area/station/engineering/supermatter) -"sHN" = ( -/obj/structure/sign/directions/medical/directional/north, -/obj/structure/sign/directions/science/directional/north{ - pixel_y = 24 - }, -/obj/structure/sign/directions/upload/directional/north{ - pixel_y = 40 - }, -/obj/structure/ladder, -/turf/open/floor/iron/smooth, -/area/station/hallway/floor1/fore) "sHP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72494,12 +72468,6 @@ /obj/structure/cable, /turf/open/floor/pod/light, /area/station/maintenance/solars/port/aft) -"sKZ" = ( -/obj/machinery/camera/motion/directional/west{ - c_tag = "Minisat - Aft" - }, -/turf/open/space/openspace, -/area/space/nearstation) "sLe" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -72525,6 +72493,12 @@ /obj/structure/sign/warning/xeno_mining/directional/north, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) +"sLC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "sLE" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Entrance" @@ -72761,27 +72735,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/office) -"sOO" = ( -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 40 - }, -/obj/structure/sign/directions/command/directional/north{ - pixel_y = 24 - }, -/obj/structure/sign/directions/vault/directional/north, -/obj/structure/chair/comfy/beige, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/floor3/fore) -"sOT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "sOU" = ( /turf/open/openspace, /area/station/maintenance/floor4/port/aft) @@ -72913,13 +72866,6 @@ "sQD" = ( /turf/closed/wall/r_wall, /area/station/engineering/engine_smes) -"sQG" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/sign/directions/evac/directional/west, -/turf/open/floor/iron, -/area/station/hallway/floor3/aft) "sQH" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/effect/decal/cleanable/dirt, @@ -73079,6 +73025,22 @@ /obj/effect/turf_decal/tile/red/half, /turf/open/floor/iron/dark, /area/station/security/holding_cell) +"sTo" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency{ + pixel_y = 12 + }, +/obj/item/stack/cable_coil/cut{ + pixel_y = 7 + }, +/obj/item/stock_parts/power_store/cell/lead{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/wirecutters, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/station/maintenance/floor1/starboard/fore) "sTq" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -73142,6 +73104,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/service/library/lounge) +"sTV" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8; + pixel_x = 15 + }, +/obj/structure/chair, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "sUj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74278,10 +74251,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"thd" = ( -/obj/machinery/stasis, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "thi" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/closet/firecloset/full, @@ -74335,15 +74304,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) -"tia" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "tic" = ( /turf/open/floor/wood, /area/station/commons/dorms/apartment2) @@ -74355,6 +74315,10 @@ /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/circuit/green/telecomms, /area/station/tcommsat/server) +"tiB" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "tiX" = ( /obj/effect/turf_decal/trimline/green/warning{ dir = 10 @@ -74553,10 +74517,6 @@ "tlt" = ( /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/port/fore) -"tlJ" = ( -/obj/machinery/camera/autoname/directional/east, -/turf/open/space/openspace, -/area/space/nearstation) "tlK" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -74718,16 +74678,6 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) -"tnM" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stack/cable_coil, -/obj/item/multitool, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/pod, -/area/station/maintenance/floor4/port/fore) "tnN" = ( /obj/structure/railing{ dir = 8 @@ -74818,6 +74768,20 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/cafeteria, /area/station/service/theater) +"tou" = ( +/obj/machinery/computer/upload/borg, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/window/left/directional/south{ + name = "Cyborg Upload Console Window"; + req_access = list("ai_upload") + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload) "toy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -74873,6 +74837,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/garden) +"toY" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/item/reagent_containers/cup/watering_can, +/obj/effect/turf_decal/tile/dark_blue, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/security/prison/garden) "tpi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75130,14 +75105,6 @@ dir = 8 }, /area/station/hallway/floor2/aft) -"tsB" = ( -/obj/effect/turf_decal/siding/white, -/obj/structure/railing, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/iron/large, -/area/station/science/robotics/lab) "tsN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75258,13 +75225,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/gateway) -"tud" = ( -/obj/machinery/computer/security/qm{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/north, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "tun" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -75447,6 +75407,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"twG" = ( +/obj/structure/table/glass, +/obj/machinery/defibrillator_mount/directional/east, +/obj/item/storage/medkit/emergency{ + pixel_y = 4 + }, +/obj/item/stack/medical/suture, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "twL" = ( /obj/structure/grille, /turf/open/floor/pod/light, @@ -75489,12 +75458,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/port) -"twY" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "twZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75509,13 +75472,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/aft) -"txp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "txu" = ( /turf/open/floor/iron/dark, /area/station/science/cytology) @@ -75992,17 +75948,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/science/lab) -"tDX" = ( -/obj/structure/noticeboard/directional/north, -/obj/item/paper{ - name = "IMPORTANT NOTICE"; - default_raw_text = "Nanotrasen Mark II IV Drip Stands are to be used in the correct Nanotrasen Mark II IV Drip Stand Installation Location. Failure to do so can result in a 100 credit fine. Glory to Nanotrasen." - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "tEc" = ( /obj/machinery/door/airlock/external{ name = "External Airlock" @@ -76029,6 +75974,10 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/hallway/floor2/fore) +"tEn" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood/parquet, +/area/station/service/lawoffice) "tEo" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 1; @@ -76270,21 +76219,11 @@ }, /turf/open/floor/carpet/blue, /area/station/command/meeting_room) -"tIe" = ( -/obj/structure/sign/directions/evac/directional/north{ - dir = 2; - pixel_y = 40 - }, -/obj/structure/sign/directions/engineering/directional/north{ - dir = 2 - }, -/obj/structure/sign/directions/supply/directional/north{ - dir = 2; - pixel_y = 24 - }, -/obj/structure/ladder, -/turf/open/floor/iron/smooth, -/area/station/hallway/floor2/fore) +"tIi" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/kitchen/diner) "tIj" = ( /obj/structure/railing, /obj/structure/chair, @@ -76329,6 +76268,20 @@ /obj/machinery/shower/directional/west, /turf/open/floor/noslip, /area/station/science/lobby) +"tIF" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/machinery/button/door/directional/south{ + name = "Medbay Lockdown Shutters"; + id = "med_lockdown" + }, +/turf/open/floor/iron/dark/textured, +/area/station/medical/paramedic) "tIG" = ( /obj/machinery/door/airlock/hatch{ name = "Maintenance Bulkhead" @@ -76823,15 +76776,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/service) -"tOW" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_y = 27; - pixel_x = 12 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "tPj" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/structure/table/glass, @@ -77406,6 +77350,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor2/starboard/fore) +"tXq" = ( +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/command/gateway) "tXB" = ( /obj/effect/turf_decal/siding/white, /obj/effect/turf_decal/trimline/purple/line{ @@ -77585,6 +77539,17 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured, /area/station/medical/storage) +"tZV" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/yellow{ + dir = 8; + pixel_x = 15 + }, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "tZX" = ( /obj/machinery/door/airlock/security{ name = "Permabrig Visitation" @@ -77595,16 +77560,6 @@ /obj/structure/table, /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard) -"tZZ" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/bed/medical/anchored, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "uae" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -77683,6 +77638,10 @@ /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/service/kitchen/diner) +"ube" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/medbay/lobby) "ubi" = ( /obj/structure/railing/corner{ dir = 1 @@ -78113,13 +78072,6 @@ }, /turf/open/floor/iron/checker, /area/station/commons/vacant_room/commissary) -"uhC" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) "uhF" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -78256,13 +78208,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/medical/surgery/fore) -"ujl" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer4{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/pumproom) "ujr" = ( /obj/effect/turf_decal/trimline/green/warning{ dir = 8 @@ -78292,10 +78237,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"ujI" = ( -/obj/structure/railing, -/turf/open/space/openspace, -/area/space/nearstation) "ujQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -78582,12 +78523,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"unQ" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "unV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/siding/wideplating, @@ -78603,6 +78538,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/aft) +"uoE" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/structure/railing, +/obj/effect/decal/cleanable/robot_debris, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "uoS" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -78778,14 +78725,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"usf" = ( -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "usj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/hatch{ @@ -78824,6 +78763,13 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/floor3/fore) +"usu" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/sign/directions/evac/west_arrow, +/turf/open/floor/iron, +/area/station/hallway/floor3/aft) "usB" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -79178,6 +79124,21 @@ /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, /area/station/security/courtroom) +"uxH" = ( +/obj/structure/table, +/obj/item/ai_module/reset/purge, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/spawner/random/aimodule/neutral{ + pixel_x = 15 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "uxI" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/pod/light, @@ -79853,6 +79814,21 @@ /obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/floor1/fore) +"uGV" = ( +/obj/structure/sign/directions/evac/north_arrow{ + dir = 2; + pixel_y = 40 + }, +/obj/structure/sign/directions/engineering/north_arrow{ + dir = 2 + }, +/obj/structure/sign/directions/supply/north_arrow{ + dir = 2; + pixel_y = 24 + }, +/obj/structure/ladder, +/turf/open/floor/iron/smooth, +/area/station/hallway/floor2/fore) "uHa" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/dark/side, @@ -80110,14 +80086,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) -"uJq" = ( -/obj/machinery/vatgrower{ - dir = 4 - }, -/obj/machinery/light/cold/no_nightlight/directional/north, -/obj/machinery/status_display/ai/directional/north, -/turf/open/misc/dirt/jungle, -/area/station/science/cytology) "uJr" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/grass/fairy, @@ -80393,6 +80361,12 @@ }, /turf/open/floor/carpet/red, /area/station/service/library/lounge) +"uMF" = ( +/obj/machinery/power/shuttle_engine/propulsion/burst{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "uMK" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -80540,12 +80514,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/floor2/starboard/aft) -"uOc" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/portable_atmospherics/pipe_scrubber, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "uOd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -80895,14 +80863,22 @@ }, /turf/open/floor/iron/checker, /area/station/cargo/miningdock) -"uSL" = ( -/obj/effect/turf_decal/bot, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/robotics/mechbay) +"uSG" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) +"uSJ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "uSN" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81769,12 +81745,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/pod/light, /area/station/maintenance/floor4/port/fore) -"ved" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/kitchen/diner) "veA" = ( /obj/structure/railing{ dir = 8 @@ -81838,6 +81808,23 @@ dir = 4 }, /area/station/service/chapel) +"vfb" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 8 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Command - Research Director's Office" + }, +/obj/machinery/requests_console/directional/east{ + department = "Research Director's Desk"; + name = "Research Director's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "vfc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -81864,6 +81851,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/white, /area/station/science/lab) +"vfO" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/sign/warning/gas_mask/directional/east, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "vfV" = ( /obj/item/radio/intercom/directional/east, /obj/item/stack/sheet/iron/fifty, @@ -82076,6 +82070,11 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"viT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/restaurant_portal/bar, +/turf/open/floor/wood, +/area/station/service/kitchen/diner) "viX" = ( /obj/effect/turf_decal/trimline/red/line{ dir = 4 @@ -82267,6 +82266,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/cafeteria, /area/station/service/theater) +"vlC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/kitchen/diner) "vlD" = ( /obj/machinery/light/directional/east, /obj/effect/landmark/start/hangover, @@ -82477,11 +82482,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) -"voj" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/departments/evac/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/floor1/fore) "vok" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/garbage{ @@ -82549,14 +82549,6 @@ "voT" = ( /turf/closed/wall, /area/station/maintenance/floor4/port/fore) -"voX" = ( -/obj/machinery/door/firedoor/border_only, -/obj/structure/railing, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "vpa" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, @@ -82719,6 +82711,12 @@ }, /turf/open/floor/iron/white, /area/station/engineering/atmos) +"vqK" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "vqN" = ( /obj/effect/spawner/random/trash/grime, /turf/open/floor/plating, @@ -83428,11 +83426,6 @@ /obj/effect/turf_decal/trimline/brown/arrow_ccw, /turf/open/floor/iron/dark/side, /area/station/cargo/lobby) -"vzo" = ( -/obj/machinery/netpod, -/obj/structure/railing, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "vzu" = ( /obj/effect/landmark/start/psychologist, /obj/structure/sign/poster/official/random/directional/south, @@ -84426,13 +84419,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/prison/garden) -"vNV" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "vNY" = ( /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /obj/machinery/door/airlock/hatch{ @@ -84473,12 +84459,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/central) -"vOo" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "vOs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -84638,21 +84618,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) -"vQf" = ( -/obj/structure/table, -/obj/item/ai_module/reset/purge, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/spawner/random/aimodule/neutral{ - pixel_x = 15 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "vQg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -84798,10 +84763,6 @@ /obj/effect/landmark/navigate_destination/cargo, /turf/open/floor/iron, /area/station/cargo/lobby) -"vSA" = ( -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "vSB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -84908,18 +84869,19 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"vTQ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/obj/machinery/holopad, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "vTS" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/port) -"vTV" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/sign/warning/gas_mask/directional/east, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "vTY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -85042,18 +85004,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor2/port/fore) -"vVR" = ( -/obj/structure/table/reinforced/rglass, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/airalarm/directional/north, -/obj/item/food/pizzaslice/mothic_five_cheese, -/obj/item/reagent_containers/cup/glass/coffee{ - pixel_y = 7; - pixel_x = 6 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured, -/area/station/medical/medbay/lobby) "vVT" = ( /obj/effect/spawner/structure/window/hollow/reinforced/directional{ dir = 1 @@ -85155,13 +85105,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/hallway/secondary/entry) -"vWP" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/robotics/lab) "vWQ" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -85238,13 +85181,6 @@ /obj/structure/railing/corner, /turf/open/floor/pod/light, /area/station/maintenance/floor3/port/aft) -"vXx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) "vXH" = ( /obj/machinery/airalarm/directional/south, /obj/effect/decal/cleanable/blood/drip, @@ -85443,16 +85379,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"vZJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/sign/directions/evac/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/floor3/port/aft) "vZK" = ( /obj/effect/spawner/structure/window/hollow/end{ dir = 4 @@ -85471,6 +85397,23 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/floor4/port/fore) +"wak" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/sign/directions/security/west_arrow{ + dir = 2 + }, +/obj/structure/sign/directions/command/west_arrow{ + dir = 2; + pixel_y = -8 + }, +/obj/structure/sign/directions/vault/west_arrow{ + dir = 2; + pixel_y = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/floor3/fore) "wat" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 8 @@ -85588,12 +85531,17 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) -"wbT" = ( -/obj/structure/railing{ - dir = 1 +"wcb" = ( +/obj/item/radio/intercom/directional/north{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "Private Channel" }, -/turf/open/space/openspace, -/area/space/nearstation) +/obj/machinery/recharge_station, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat/service) "wci" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -85753,9 +85701,7 @@ /turf/open/floor/iron, /area/station/hallway/floor3/fore) "wdd" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/bed/medical/anchored, -/turf/open/floor/iron/white, +/turf/closed/wall, /area/station/medical/treatment_center) "wdj" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ @@ -86113,13 +86059,6 @@ }, /turf/open/floor/engine, /area/station/maintenance/floor4/starboard/aft) -"wis" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "wit" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -86320,24 +86259,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/escape_pod) -"wkP" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = 9; - pixel_y = 3 - }, -/obj/item/book/manual/chef_recipes, -/turf/open/floor/iron, -/area/station/security/prison) "wkX" = ( /turf/open/floor/catwalk_floor, /area/station/hallway/floor2/fore) @@ -86873,6 +86794,12 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/engineering/atmos) +"wrW" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/computer/security/telescreen/minisat/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "wsb" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -86904,6 +86831,16 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/wood, /area/station/service/bar/atrium) +"wsn" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "wss" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/pod/light, @@ -87539,10 +87476,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/holding_cell) -"wzt" = ( -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/iron/white/textured_large, -/area/station/service/chapel/office) "wzB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/red/dim/directional/south, @@ -87556,6 +87489,14 @@ /obj/structure/cable, /turf/open/floor/wood/parquet, /area/station/medical/break_room) +"wzK" = ( +/obj/effect/turf_decal/siding/white, +/obj/structure/railing, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/large, +/area/station/science/robotics/lab) "wzO" = ( /obj/structure/statue/silver/sec{ desc = "Dedicated to those who died in the First Contact."; @@ -87772,6 +87713,14 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/maintenance/solars/starboard/fore) +"wCW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "wDa" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -87897,6 +87846,17 @@ /obj/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard/aft) +"wFj" = ( +/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/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/rxglasses{ + pixel_y = 5 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "wFq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -88031,6 +87991,14 @@ /obj/effect/turf_decal/siding/thinplating_new/dark, /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"wGQ" = ( +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "wGR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -88271,22 +88239,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) -"wIX" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency{ - pixel_y = 12 - }, -/obj/item/stack/cable_coil/cut{ - pixel_y = 7 - }, -/obj/item/stock_parts/power_store/cell/lead{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/wirecutters, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/light, -/area/station/maintenance/floor1/starboard/fore) "wJf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -88548,14 +88500,6 @@ }, /turf/open/floor/iron, /area/station/science/auxlab) -"wLC" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/obj/machinery/holopad, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "wLD" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/kitchen, @@ -88612,6 +88556,12 @@ "wMF" = ( /turf/closed/wall/r_wall, /area/station/security/prison/garden) +"wMG" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/textured, +/area/station/medical/paramedic) "wMH" = ( /obj/effect/turf_decal/tile/red/half, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2, @@ -88700,6 +88650,10 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/catwalk_floor/iron, /area/station/cargo/storage) +"wNF" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "wNH" = ( /obj/structure/railing{ dir = 8 @@ -88793,6 +88747,13 @@ /obj/structure/grille, /turf/open/floor/plating/airless, /area/station/service/chapel/funeral) +"wOV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "wPn" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -89351,6 +89312,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/lobby) +"wWA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/table/reinforced/rglass, +/obj/machinery/door/window/right/directional/east{ + name = "First Aid Supplies"; + req_access = list("medical") + }, +/obj/structure/desk_bell{ + pixel_y = 1; + pixel_x = -5 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "wWE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/grille_or_waste, @@ -89530,6 +89510,15 @@ }, /turf/open/openspace, /area/station/maintenance/floor2/port) +"wYP" = ( +/obj/structure/table/glass, +/obj/machinery/defibrillator_mount/directional/east, +/obj/item/storage/box/syringes{ + pixel_y = 6 + }, +/obj/item/stack/medical/mesh, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "wYR" = ( /obj/machinery/holopad/secure, /obj/effect/landmark/event_spawn, @@ -89883,6 +89872,21 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/command/bridge) +"xec" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/airalarm/directional/north, +/obj/structure/rack, +/obj/item/stock_parts/power_store/cell/lead, +/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) "xel" = ( /obj/item/folder/blue, /obj/item/paper/monitorkey, @@ -90432,20 +90436,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"xln" = ( -/obj/machinery/power/shuttle_engine/huge{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"xlu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "xlD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -90491,6 +90481,17 @@ }, /turf/open/floor/wood/tile, /area/station/service/library) +"xmu" = ( +/obj/structure/sign/directions/medical/north_arrow, +/obj/structure/sign/directions/science/north_arrow{ + pixel_y = 24 + }, +/obj/structure/sign/directions/upload/north_arrow{ + pixel_y = 40 + }, +/obj/structure/ladder, +/turf/open/floor/iron/smooth, +/area/station/hallway/floor1/fore) "xmM" = ( /obj/effect/turf_decal/trimline/green/filled/end{ dir = 4 @@ -90644,9 +90645,6 @@ }, /turf/open/floor/grass, /area/station/service/hydroponics/garden/abandoned) -"xpw" = ( -/turf/open/space/basic, -/area/space/nearstation) "xpA" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -90780,16 +90778,6 @@ /obj/machinery/duct, /turf/open/floor/iron/dark, /area/station/security/lockers) -"xqZ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Treatment Center"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/machinery/shower/directional/south, -/obj/structure/fluff/shower_drain, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/medical/treatment_center) "xrh" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -90938,6 +90926,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) +"xsZ" = ( +/obj/structure/noticeboard/directional/north, +/obj/item/paper{ + name = "IMPORTANT NOTICE"; + default_raw_text = "Nanotrasen Mark II IV Drip Stands are to be used in the correct Nanotrasen Mark II IV Drip Stand Installation Location. Failure to do so can result in a 100 credit fine. Glory to Nanotrasen." + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "xtd" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -91072,6 +91071,20 @@ dir = 8 }, /area/station/cargo/lobby) +"xvb" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/stripes{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/sign/departments/exodrone/directional/west, +/turf/open/floor/iron, +/area/station/cargo/storage) "xvk" = ( /obj/structure/dresser, /turf/open/floor/wood, @@ -91116,14 +91129,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"xvN" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 5 - }, -/obj/item/reagent_containers/condiment/enzyme, -/turf/open/floor/iron/kitchen, -/area/station/service/kitchen) "xvO" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -91177,6 +91182,11 @@ }, /turf/open/floor/carpet/blue, /area/station/command/meeting_room) +"xwC" = ( +/obj/machinery/netpod, +/obj/structure/railing, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "xwI" = ( /obj/structure/railing{ dir = 8 @@ -91219,15 +91229,6 @@ /obj/structure/easel, /turf/open/floor/bamboo/tatami/black, /area/station/commons/storage/art) -"xwZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/bot_white{ - color = "#74b2d3" - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "xxh" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -91262,11 +91263,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/vacant_room/office) -"xxA" = ( -/obj/machinery/holopad, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "xxC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -91419,6 +91415,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/side, /area/station/hallway/floor1/aft) +"xzI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/turretid{ + icon_state = "control_stun"; + name = "AI Chamber turret control"; + pixel_x = 3; + pixel_y = -23 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "xzP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/ash, @@ -91618,13 +91626,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) -"xCM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/kitchen/diner) "xCR" = ( /obj/structure/table/reinforced, /obj/structure/sign/poster/official/random/directional/south, @@ -91843,19 +91844,6 @@ /obj/effect/turf_decal/siding/thinplating_new/corner, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) -"xEv" = ( -/obj/machinery/keycard_auth/directional/north{ - pixel_x = 9 - }, -/obj/machinery/button/door/directional/north{ - name = "CMO Privacy Shutters"; - id = "cmoshutter"; - req_access = list("cmo"); - pixel_y = 25; - pixel_x = -5 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "xEw" = ( /obj/machinery/computer/camera_advanced/base_construction/aux{ dir = 4 @@ -91936,6 +91924,15 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"xFb" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "xFf" = ( /obj/effect/turf_decal/tile/green/half{ dir = 8 @@ -91954,6 +91951,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/commons/dorms/apartment2) +"xFi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "xFl" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -92215,9 +92217,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor4/starboard) -"xIV" = ( -/turf/open/space/openspace, -/area/space/nearstation) "xJk" = ( /obj/machinery/seed_extractor, /obj/effect/turf_decal/tile/green/full, @@ -92301,13 +92300,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/port) -"xJX" = ( -/obj/structure/table, -/obj/item/cigarette/candy{ - pixel_x = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/floor1/aft) "xKa" = ( /obj/effect/turf_decal/stripes/white/corner, /turf/open/floor/iron/dark/corner, @@ -92338,10 +92330,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/evidence) -"xKt" = ( -/obj/structure/railing/corner, -/turf/open/space/openspace, -/area/space/nearstation) "xKy" = ( /obj/machinery/modular_computer/preset/id{ dir = 8 @@ -92477,15 +92465,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"xMH" = ( -/obj/machinery/door/airlock/hatch{ - name = "Maintenance Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/floor1/port) "xMJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -92494,14 +92473,6 @@ dir = 8 }, /area/station/hallway/floor3/aft) -"xMV" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "xMW" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -92522,14 +92493,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/aft) -"xNd" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/blue, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "xNf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/hangover, @@ -92570,17 +92533,6 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) -"xNH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "xNK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -92685,6 +92637,16 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) +"xPt" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/bed/medical/anchored, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "xPu" = ( /turf/open/floor/grass, /area/station/service/library/garden) @@ -92735,6 +92697,21 @@ /obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) +"xPP" = ( +/obj/structure/sign/directions/medical/north_arrow{ + dir = 2 + }, +/obj/structure/sign/directions/science/north_arrow{ + dir = 2; + pixel_y = 24 + }, +/obj/structure/sign/directions/upload/north_arrow{ + dir = 2; + pixel_y = 40 + }, +/obj/structure/ladder, +/turf/open/floor/iron/smooth, +/area/station/hallway/floor3/fore) "xPW" = ( /obj/structure/railing, /turf/open/floor/pod/dark, @@ -92832,6 +92809,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor3/port/aft) +"xRx" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "xRB" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -93021,12 +93003,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"xUk" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/space/openspace, -/area/space/nearstation) "xUB" = ( /obj/machinery/light/floor, /turf/open/floor/iron/dark/side{ @@ -93306,6 +93282,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/floor2/port/fore) +"xXw" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/structure/sign/directions/evac/east_arrow{ + dir = 2 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/floor3/aft) "xXB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wood{ @@ -93375,6 +93360,20 @@ name = "padded floor" }, /area/station/medical/psychology) +"xYG" = ( +/obj/structure/sign/directions/security/north_arrow{ + pixel_y = 40 + }, +/obj/structure/sign/directions/command/north_arrow{ + pixel_y = 24 + }, +/obj/structure/sign/directions/vault/north_arrow, +/obj/structure/chair/comfy/beige, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/floor3/fore) "xYK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -93536,10 +93535,6 @@ }, /turf/open/misc/beach/sand, /area/station/hallway/floor2/fore) -"yba" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "ybe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -110613,7 +110608,7 @@ wUH hyN wBR pTR -oZd +fdf wBR wBR wBR @@ -111626,7 +111621,7 @@ snI hDy lEy hpI -voj +muj axe qxz fvr @@ -111634,7 +111629,7 @@ sZI nVw vZC tKe -voj +muj sPJ xtY oWA @@ -112397,7 +112392,7 @@ kyR mFD kyR kyR -gVw +csJ rpj nWO fXD @@ -113164,7 +113159,7 @@ tNS wRT jxa oic -rLs +muj aUJ vWF pxu @@ -113180,7 +113175,7 @@ tTy hyD vWF crO -rLs +muj hJy aLP hJy @@ -115477,7 +115472,7 @@ fHM dIz nJY oic -rLs +muj gVw rpj vLP @@ -116230,7 +116225,7 @@ owI owI oic oic -wIX +sTo laR oic jdc @@ -117025,7 +117020,7 @@ oOc bCz prw rze -rLs +muj rpj gqU vsv @@ -117517,7 +117512,7 @@ tXe tXe cOT sxb -luo +uoE hTP lNW qZU @@ -117540,7 +117535,7 @@ dny txP nqX rPi -rpj +app gqU lXX hJy @@ -117774,7 +117769,7 @@ tXe tXe pjw scn -vzo +xwC dqM bED qZU @@ -118547,7 +118542,7 @@ lyB yef wZu vTt -hai +osH aQK uhw rhs @@ -118555,7 +118550,7 @@ eaW lSJ mxC jUP -etb +xec myW kga uTH @@ -118804,7 +118799,7 @@ gHw hDa fyg xxQ -sbB +fas aQK jUP prt @@ -119318,7 +119313,7 @@ oKT xsL vDw dty -kcT +xvb eOz eOz onX @@ -123959,12 +123954,12 @@ llR pEv iKb dpH -sHN +xmu fhX nIO kyR vOK -mgl +jrF grg jnp vLP @@ -124200,7 +124195,7 @@ lWH aaI fFI lWH -tud +cPe kHP skM jdT @@ -124478,7 +124473,7 @@ fhX rMq kyR bSE -hVG +qcl bBx jnp vLP @@ -128097,7 +128092,7 @@ kbE kbE hjd lHw -jQb +jDo hzV vLM lBB @@ -128868,7 +128863,7 @@ kbk xgH ljE jCU -xMH +pNS trP dpC qHH @@ -131940,7 +131935,7 @@ nor rcc sHG uxT -jkD +nCb qkL snO jRp @@ -135001,7 +134996,7 @@ oIJ hRR qXk hHB -iQR +kPS gmw hOy lHR @@ -135274,7 +135269,7 @@ eIr oyH xnr fvO -xJX +lOL oaa uYB tLa @@ -136571,7 +136566,7 @@ sQD lOI sjs oFr -iHL +fjt kzE fmb xgH @@ -136826,7 +136821,7 @@ nPb rCO cjc aRI -slC +pGz bgs hZt kzE @@ -137084,7 +137079,7 @@ wSm kSF cpE lTo -qIf +mBa xGI kzE kzE @@ -137850,7 +137845,7 @@ wmU pVZ uKL rGe -nDQ +gXZ wWw xFR gPc @@ -138087,7 +138082,7 @@ kIe fxo uvD ocv -kfg +hwu rBP iTu iko @@ -138344,7 +138339,7 @@ blI gkx xeO vsL -nJb +ncO rBP fxd haK @@ -138603,7 +138598,7 @@ kDg vsL kDg rBP -kZr +kvu ykU mMO tCC @@ -140403,7 +140398,7 @@ oIy irk nDr kBz -gTZ +kzH bwl wlA kGK @@ -141429,13 +141424,13 @@ hQy vmr vmr skj -ouy +qNl sAH hhb gGt qEw sAH -gJl +hha jSD ppd uyD @@ -142719,7 +142714,7 @@ vxz csf buQ nPZ -uhC +rvw oIy tyQ iPN @@ -142976,7 +142971,7 @@ eNk qNf jaK aLh -ujl +oXk oIy yli jCD @@ -143236,7 +143231,7 @@ mjv tZD oIy owI -bOk +eUA owI cHX owI @@ -143246,7 +143241,7 @@ biH owI cHX owI -bOk +eUA owI dEc xMY @@ -143751,7 +143746,7 @@ gxT fmg owI jkM -bOk +eUA jkM owI caC @@ -143759,7 +143754,7 @@ wqD mdr owI jkM -bOk +eUA jkM owI oyh @@ -144008,7 +144003,7 @@ teq teq owI jkM -bOk +eUA jkM owI caC @@ -144016,7 +144011,7 @@ wqD mdr owI jkM -bOk +eUA jkM owI oyh @@ -144779,7 +144774,7 @@ sKt teq owI jkM -bOk +eUA jkM owI caC @@ -144787,7 +144782,7 @@ wqD mdr owI jkM -bOk +eUA jkM owI oyh @@ -145036,7 +145031,7 @@ xqr gIz owI jkM -bOk +eUA jkM owI caC @@ -145044,7 +145039,7 @@ wqD mdr owI jkM -bOk +eUA jkM owI oyh @@ -147066,17 +147061,17 @@ owI owI owI owI -aTO +uMF rcO -pNV -aTO +imd +uMF rcO rcO -xln -aTO +lJF +uMF rcO rcO -xln +lJF teq teq teq @@ -147118,15 +147113,15 @@ iSU iSU rcO rcO -xln -aTO +lJF +uMF rcO rcO -xln -aTO +lJF +uMF rcO -pNV -aTO +imd +uMF owI owI owI @@ -147584,13 +147579,13 @@ owI owI owI owI -xpw -xpw -xpw +bPn +bPn +bPn owI -xpw -xpw -xpw +bPn +bPn +bPn owI owI owI @@ -147630,13 +147625,13 @@ owI owI owI owI -xpw -xpw -xpw +bPn +bPn +bPn owI -xpw -xpw -xpw +bPn +bPn +bPn owI owI owI @@ -174620,7 +174615,7 @@ oyh oyh oyh oyh -xIV +ahA ucA ucA ucA @@ -174877,7 +174872,7 @@ oyh oyh oyh oyh -xIV +ahA ucA ucA ucA @@ -175134,7 +175129,7 @@ oyh oyh oyh oyh -xIV +ahA ucA ucA ucA @@ -175391,7 +175386,7 @@ oyh oyh oyh oyh -xIV +ahA ucA ucA ucA @@ -175648,7 +175643,7 @@ oyh oyh oyh oyh -xIV +ahA ucA ucA ucA @@ -175905,7 +175900,7 @@ oyh oyh oyh oyh -xIV +ahA ucA ucA ucA @@ -180746,7 +180741,7 @@ wwu wwu wwu wwu -nEM +bDB qdW sbw wwu @@ -181556,7 +181551,7 @@ lQI lQI ozr jJu -nqP +acr qiR rkZ kms @@ -182035,7 +182030,7 @@ mKZ sxl naI lNN -iGR +pPn xuv jBm xuv @@ -182814,7 +182809,7 @@ oFY mBZ ijS obj -rgx +mnC sEL biW xWe @@ -184614,7 +184609,7 @@ kJg kmR lcB kGf -ooT +ceg wXC ePa rNg @@ -185127,7 +185122,7 @@ mhT jFr sif lvS -cSb +ewu mUJ jnV sif @@ -187942,7 +187937,7 @@ hge hge hge oiO -ijV +kqQ pKO aiN jDc @@ -188714,7 +188709,7 @@ rhC hge oiO afz -lIh +vfb mis txR dDk @@ -188982,7 +188977,7 @@ kXZ wbS eGF dpL -hGG +gDh bvx btp dpL @@ -189495,12 +189490,12 @@ mGd shk wbS dpL -tIe +uGV psn aLO fNT lZS -idn +jBL shi miF nWz @@ -189768,7 +189763,7 @@ feX feX feX qGm -mZS +aSl vKz oHs vXP @@ -190009,12 +190004,12 @@ ueO puG eep dpL -jyL +bXH psn nzO fNT fqo -iNz +ptx shi siq nWz @@ -191571,7 +191566,7 @@ tam oKR xKq nCG -xEv +fjM rBt aDp xug @@ -191797,13 +191792,13 @@ iuW eHf dGa rkM -uJq +sba nuv cLA npF lcT aAE -dJs +poI qun nVT iCi @@ -192336,7 +192331,7 @@ aHY ihp iFi noh -kMv +ifM kKr iuu wyE @@ -193107,7 +193102,7 @@ gOZ xVR tfA htD -rmD +rRE kKr tam wyE @@ -194901,17 +194896,17 @@ vsx xYM jLQ yka -mtI -ggp -hOX -qob +ube +sTV +bWw +tZV aHk -eEZ -twY -tia -cwz -twY -twY +nCv +aBp +uSG +wsn +aBp +aBp oxn oUE eIw @@ -195158,17 +195153,17 @@ vsx xYM jLQ tDb -gvp +gtI gVI -qtM -xNd -ihL -hwV -hYk -qXX -usf -iog -sar +dvZ +jIx +eTc +rsX +jFb +jOz +kAi +xFb +fZQ gvN uIw mrS @@ -195415,17 +195410,17 @@ bSX ybm jLQ mJJ -mFz -suB -mve -amM -dfB -ask -jIs -buR -gxX -aGr -hBe +arp +sLC +rJT +pRC +osF +ciA +wFj +uSJ +cnf +lhG +xRx dxY mdZ iVs @@ -195672,17 +195667,17 @@ sKm cdm jLQ aYU -gvp -ffh -lbi -blH -ihL -hwV -opE -opE -xNH -opE -opE +gtI +nRR +hqA +mGl +eTc +rsX +cXZ +cXZ +dOj +cXZ +cXZ dAF wPS aKA @@ -195692,7 +195687,7 @@ mMi mMi fYa jpB -mzh +ihK jZe ksH pMf @@ -195928,18 +195923,18 @@ eUq ttb wQu jLQ -dyG -mtI -gYa -jIi -csR +fLg +ube +fbA +ejD +evh aHk -vOo -xlu -dzM -puH -dzM -gBV +ode +fNN +mES +wOV +mES +sec oxn fES sKa @@ -196187,19 +196182,19 @@ xYM jLQ usK ilR -vVR -hHe -sno +dpg +wWA +siR aHk +ezv +oor +hbq +eZU +mtj +xPt +wdd +wdd wdd -fqn -wis -slP -iAQ -tZZ -aZW -aZW -aZW iSP iSP iSP @@ -196445,18 +196440,18 @@ jLQ jay grN cqy -ouD -dUj +mTb +tIF sRR -vSA -rwv -dzM -vNV -hwV -gHO -yba -lfW -aZW +dhu +eQj +mES +jNG +rsX +rWy +tiB +oKc +wdd pOK nqM qQM @@ -196705,16 +196700,16 @@ wMN tsN dhZ sRR -tOW -rwv -bCd -dzM -gcm -txp -aaU -coZ -aZW -aYB +rgb +eQj +rfZ +mES +fzu +iPJ +nvy +qHX +wdd +rzc xcY gEZ kUW @@ -196962,15 +196957,15 @@ rmd sFG loQ sRR -tDX -kRM -dzM -wLC -dzM -sOT -twY -twY -qcr +xsZ +dWE +mES +vTQ +mES +pcY +aBp +aBp +nUf xcY otX gEZ @@ -197215,23 +197210,23 @@ jEk jLQ aje grN -aTc -gxi +reZ +wMG woE biz -dzM -kUl -ghy -dzM -dYM -scx -dzM -dzM -qcr +mES +xFi +sjy +mES +odG +bkn +mES +mES +nUf xcY -nKY -mjg -ehO +drd +cMk +pWm iux quC wDa @@ -197476,15 +197471,15 @@ voB pZZ gBz sRR -xqZ -jTK -dzM -dzM -dzM -ijd -vOo -vOo -qcr +kXQ +ghQ +mES +mES +mES +bjj +ode +ode +nUf xcY rEp gEZ @@ -197733,16 +197728,16 @@ tEe fYt loQ sRR -qPu -sEl -vOo -xwZ -vOo -aRz -aaU -ilI -aZW -vXx +qOf +cTI +ode +oKV +ode +dOF +nvy +fii +wdd +dPt xcY gEZ wcH @@ -197990,16 +197985,16 @@ eTJ rep tVi sRR -qsj -iDr -thd -bYb -bnC -dXy -thd -aHK -aZW -bwE +nAQ +twG +kQJ +kcj +aFu +wYP +kQJ +pOX +wdd +krn wat ydn tfX @@ -198251,11 +198246,11 @@ qvN qvN qvN qvN -aZW -fEj -aZW -aZW -aZW +wdd +oLu +wdd +wdd +wdd ylR ylR ylR @@ -200823,7 +200818,7 @@ bet iAb bif fSi -vWP +hgc aal aAK ybG @@ -203121,7 +203116,7 @@ lkA pZW nyE nyE -cIc +rON nyE nyE kuB @@ -203132,7 +203127,7 @@ igE hcr jbR cqR -uSL +nOq aFs jeF blv @@ -203377,9 +203372,9 @@ sBb ybB rkY nyE -eIg +kTQ eiD -vQf +uxH nyE sgJ kzK @@ -204164,7 +204159,7 @@ bgz bid grk bmL -tsB +wzK mOH jhU btW @@ -204660,7 +204655,7 @@ mPw uZF svu uZF -lSI +tou biR vLx vpA @@ -204917,7 +204912,7 @@ mPw uZF svu uZF -iOD +lRJ biR nqb xAu @@ -248111,7 +248106,7 @@ gjf vXY vRj ldV -osX +viT jHJ hVt hVt @@ -248616,11 +248611,11 @@ fjo qcd ceh dMj -cix +pSP ulB ulB ulB -xCM +lPc dId jAl jHT @@ -248873,11 +248868,11 @@ fjo qcd fOu awt -cix -cix +pSP +pSP xDS xDS -ved +vlC xDS xDS xDS @@ -249134,7 +249129,7 @@ gjf gjf vXY xDS -qaY +tIi gjf gjf wtg @@ -251200,7 +251195,7 @@ sFt oEU oSA sFt -xvN +ddt fWl bQG vZF @@ -251970,7 +251965,7 @@ vhd fAz gyr gyr -pbr +bMg sFt sxt sal @@ -255031,12 +255026,12 @@ sSB sSB sSB qrd -sOO +xYG ibF oBP eDe ybQ -gzc +wak wdb qcd riD @@ -255545,12 +255540,12 @@ iKT sSB dIv qrd -oqk +xPP jpq xNC eDe rYq -nKn +jTK wdb qcd riD @@ -256816,9 +256811,9 @@ umb nqi fXR yhT -vTV -rjB -sav +vfO +mYT +luR iHm sSB ccV @@ -261707,7 +261702,7 @@ isU cdj eAi spT -hsA +ldK fmK plX bex @@ -261990,7 +261985,7 @@ oNV eLw cmh kSU -pEY +qld piR piR roj @@ -264305,7 +264300,7 @@ nHW nlf rKM piR -vZJ +aEI myO vMm yaK @@ -264807,7 +264802,7 @@ nAD nAD nAD nqr -aWa +fMA odk nIT aAj @@ -265848,7 +265843,7 @@ nhG pVd mwD bvc -sQG +usu knO piR aMJ @@ -266865,7 +266860,7 @@ oaS ajX nXA ddg -bAf +xXw grv kYM sdX @@ -267652,7 +267647,7 @@ hLo piR xRs bKR -rdv +jgt piR mom hcT @@ -276112,11 +276107,11 @@ ucA ucA ucA ucA -xKt -djc -djc -djc -dkn +mcd +kTB +kTB +kTB +aSV ucA ucA ucA @@ -276369,11 +276364,11 @@ ucA ucA ucA ucA -ujI +pMz edA pRs pRs -wbT +rKd ucA ucA ucA @@ -276626,11 +276621,11 @@ ucA ucA ucA ucA -ujI +pMz pRs pRs pRs -wbT +rKd ucA ucA ucA @@ -276883,11 +276878,11 @@ ucA ucA ucA ucA -qRS -acl +inc +dru pRs -acl -xUk +dru +mDH ucA ucA ucA @@ -307205,7 +307200,7 @@ ucA ucA ucA ucA -tlJ +bNV ucA gMe gMe @@ -307215,7 +307210,7 @@ gMe gMe gMe ucA -tlJ +bNV ucA ucA ucA @@ -309261,7 +309256,7 @@ xJp uxw xjX aNs -kWD +pCd sZO rlJ nKL @@ -309518,7 +309513,7 @@ bfx eGK onE aNs -xMV +oAL wFT gaJ qOq @@ -309530,7 +309525,7 @@ qNY iTN qGF uIx -tnM +iSW lvm vSG mpK @@ -311569,7 +311564,7 @@ aNs aNs rNN vLW -qoI +kQC rbK wnO keg @@ -311840,7 +311835,7 @@ lgD ykw hIb fKZ -hbW +mTA dbZ hKg raq @@ -313132,7 +313127,7 @@ fUm oTx uqc nYe -cep +wrW fwj lOe uIx @@ -313382,7 +313377,7 @@ rti vuU wgO rZb -acL +qJP jKF fXa sFa @@ -313630,7 +313625,7 @@ dOa qLW nEa gaB -akr +ejM oKq cWf vlD @@ -314169,7 +314164,7 @@ cis cub wTg vEa -rxZ +izA tCG pme iho @@ -315412,14 +315407,14 @@ mSG mSG aSX aSX -pqH -bJA +ffW +wCW mKu hHi fMc gOF ddH -uOc +ngR nPE pDq vfi @@ -315668,12 +315663,12 @@ crp crp dWz lYx -unQ +vqK wMU -aaN -pGz -jjj -dIJ +fkx +wNF +bJe +djY oTq jjT hmM @@ -315925,12 +315920,12 @@ vPP rrs mCU hGC -jJM -hAH -eSq +bGF +epi +wGQ tHk bDn -gwe +buA eoI nPE nPE @@ -316187,7 +316182,7 @@ wMU aqm kFy xTG -xxA +eFd xdE nPE uZr @@ -316198,7 +316193,7 @@ fkN fQx nTJ iXS -mFQ +reb hNh hNh hNh @@ -316441,7 +316436,7 @@ oOA tyR tyR xqB -voX +fyo kFy eTV auO @@ -316993,7 +316988,7 @@ xqY mau mau mau -hSD +suw raE pke fmG @@ -317741,7 +317736,7 @@ xvr hIB nTo hns -oLE +tXq jbr iXS eHr @@ -318006,7 +318001,7 @@ gYS gir tnj tEv -cBl +fRf xFp dGF kHR @@ -318263,7 +318258,7 @@ aBV kyj dfm xnY -ojB +rBX xyw xyw tnR @@ -318749,7 +318744,7 @@ ucA xuh lln lln -mko +qoY eNX bNP nQj @@ -319799,7 +319794,7 @@ ipn oJR gjq gYO -hJJ +lSH liQ liQ xUQ @@ -320052,7 +320047,7 @@ nPE qPv iQe wqP -omq +jjM obK kpI dJC @@ -320567,7 +320562,7 @@ moL moL hMp gDy -ifk +aqS vMg cPT nWW @@ -322375,7 +322370,7 @@ txa mlH vOE nYZ -jfr +svi hxz vES uyX @@ -322647,7 +322642,7 @@ cbw lOp ira dtX -oOW +ppK qjr qjr qjr @@ -322889,7 +322884,7 @@ cmM bVy tnV daD -hLN +gQY kkK fDA emk @@ -326502,7 +326497,7 @@ bJm oZo gXi gDx -rhO +bOS ftZ tBk sCO @@ -326996,7 +326991,7 @@ vJS pNH dOK pgL -qSD +tEn dJF bVy vOE @@ -327749,7 +327744,7 @@ kTV wlX sxo vyW -wzt +luF mcD rNo tKY @@ -330614,7 +330609,7 @@ yeU jVK vWn mRa -wkP +kFK uTc nOa vVW @@ -331376,7 +331371,7 @@ rCR oyh wMF wMF -qzQ +toY pfL pfL pfL @@ -331633,8 +331628,8 @@ kgW oyh wMF wMF -nSz -rCF +oVk +qqJ qXw fNV vNS @@ -333425,7 +333420,7 @@ oyh nbP tIl fEv -dMt +bma nbP oyh oyh @@ -336516,7 +336511,7 @@ xEZ vyR vyR urf -inl +xzI vyR vyR vyR @@ -336761,7 +336756,7 @@ daa kZZ tOV knH -hwN +etB aFj aOw iqz @@ -337553,7 +337548,7 @@ oyh oyh fMl sWs -wbT +rKd ucA ucA ucA @@ -337786,7 +337781,7 @@ oyh aFj aFj aFj -dlR +wcb cRs uEb uEb @@ -337808,9 +337803,9 @@ oyh oyh oyh oyh -acl -acl -xUk +dru +dru +mDH ucA ucA ucA @@ -338559,7 +338554,7 @@ ucA ucA ucA ucA -sKZ +qDL ucA ucA ucA @@ -338570,7 +338565,7 @@ ucA ucA ucA ucA -sKZ +qDL ucA ucA ucA @@ -341648,11 +341643,11 @@ ucA ucA ucA ucA -xKt -djc -djc -djc -dkn +mcd +kTB +kTB +kTB +aSV ucA ucA ucA @@ -341905,11 +341900,11 @@ ucA ucA ucA ucA -ujI +pMz edA pRs pRs -wbT +rKd ucA ucA ucA @@ -342162,7 +342157,7 @@ ucA ucA ucA ucA -ujI +pMz pRs pRs ucA diff --git a/_maps/map_files/debug/gateway_test.dmm b/_maps/map_files/debug/gateway_test.dmm index d3cc2563d47e5..d136530a07bdf 100644 --- a/_maps/map_files/debug/gateway_test.dmm +++ b/_maps/map_files/debug/gateway_test.dmm @@ -215,10 +215,10 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/keycard_auth/directional/west{ +/obj/machinery/keycard_auth/wall_mounted/directional/west{ pixel_y = 7 }, -/obj/machinery/keycard_auth/directional/west{ +/obj/machinery/keycard_auth/wall_mounted/directional/west{ pixel_y = -7 }, /turf/open/indestructible, diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 1b1fdf387396f..20647148a182e 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -9,17 +9,11 @@ "ac" = ( /turf/open/space, /area/space/nearstation) -"ad" = ( -/turf/closed/wall/r_wall, -/area/station/maintenance/department/bridge) "ae" = ( /obj/structure/lattice, /obj/structure/grille, /turf/open/space, /area/space/nearstation) -"af" = ( -/turf/open/floor/plating, -/area/station/maintenance/department/bridge) "ag" = ( /turf/closed/wall/r_wall, /area/station/security/brig) @@ -61,63 +55,32 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"at" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "av" = ( /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) "aw" = ( /turf/open/floor/plating, /area/station/engineering/atmos) -"aA" = ( -/turf/open/floor/iron, -/area/station/engineering/main) -"aB" = ( +"ax" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"aC" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external/glass/ruin, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/main) -"aD" = ( -/turf/open/floor/iron, -/area/station/security/brig) -"aE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 +"ay" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7" }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/engineering/main) -"aF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/area/station/commons/storage/primary) +"aA" = ( /turf/open/floor/iron, /area/station/engineering/main) -"aG" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/closet/radiation, -/obj/structure/cable, +"aD" = ( /turf/open/floor/iron, -/area/station/engineering/gravity_generator) +/area/station/security/brig) "aH" = ( /obj/machinery/light/directional/east, /obj/machinery/recharge_station, @@ -130,10 +93,18 @@ "aK" = ( /obj/structure/table, /obj/item/rcd_ammo/large, -/obj/item/rcd_ammo/large, -/obj/item/rcd_ammo/large, -/obj/item/construction/rcd/combat, -/obj/item/construction/plumbing, +/obj/item/rcd_ammo/large{ + pixel_x = -5 + }, +/obj/item/rcd_ammo/large{ + pixel_x = -9 + }, +/obj/item/construction/rcd/combat{ + pixel_y = 6 + }, +/obj/item/construction/plumbing{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/command/bridge) "aN" = ( @@ -150,68 +121,23 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"aP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos) "aS" = ( /obj/structure/table, /obj/item/flashlight{ - pixel_y = 5 - }, -/obj/item/storage/toolbox/syndicate, -/obj/item/stock_parts/power_store/cell/infinite, -/turf/open/floor/iron, -/area/station/engineering/main) -"aT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) -"aU" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Gravity Generator" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 + pixel_y = -4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"aV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/storage/toolbox/syndicate{ + pixel_y = 17 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 +/obj/item/stock_parts/power_store/cell/infinite{ + pixel_y = 3 }, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/engineering/gravity_generator) -"aX" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Gravity Generator" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/gravity_generator) +/area/station/engineering/main) "aY" = ( /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"ba" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plating, -/area/station/engineering/atmos) "bb" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -229,17 +155,16 @@ "bd" = ( /obj/structure/table, /obj/item/weldingtool/experimental, -/obj/item/inducer, -/obj/item/storage/belt/utility/chief/full, +/obj/item/inducer{ + pixel_y = -14 + }, +/obj/item/storage/belt/utility/chief/full{ + pixel_y = 11 + }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"be" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) "bf" = ( /obj/machinery/suit_storage_unit/captain, /turf/open/floor/iron, @@ -258,19 +183,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"bk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/door/airlock, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"bl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/station/engineering/atmos) "bm" = ( /obj/machinery/atmospherics/components/binary/valve/on{ dir = 4 @@ -279,8 +191,12 @@ /area/station/engineering/atmos) "bo" = ( /obj/structure/table, -/obj/item/screwdriver/power, -/obj/item/crowbar/power, +/obj/item/screwdriver/power{ + pixel_y = 7 + }, +/obj/item/crowbar/power{ + pixel_y = 3 + }, /turf/open/floor/iron, /area/station/engineering/main) "bp" = ( @@ -305,11 +221,6 @@ /obj/machinery/announcement_system, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"bt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/science) "bu" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) @@ -321,12 +232,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/brig) -"bx" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/main) "by" = ( /turf/closed/wall/r_wall, /area/station/medical/medbay) @@ -349,37 +254,36 @@ "bE" = ( /turf/open/floor/iron, /area/station/hallway/primary/central) -"bF" = ( -/obj/machinery/computer/rdconsole, -/turf/open/floor/iron, -/area/station/science) -"bH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/iron, -/area/station/security/brig) "bI" = ( /obj/structure/table, /obj/item/card/emag, -/obj/item/flashlight/emp/debug, +/obj/item/flashlight/emp/debug{ + pixel_y = 10 + }, /turf/open/floor/iron, /area/station/command/bridge) "bJ" = ( /obj/structure/table, /obj/item/card/id/advanced/centcom/ert{ - pixel_x = 6; - pixel_y = -6 + pixel_x = 6 + }, +/obj/item/card/id/advanced/chameleon{ + pixel_y = 6 }, -/obj/item/card/id/advanced/chameleon, /obj/item/card/id/advanced/gold/captains_spare{ pixel_x = -6; - pixel_y = 6 + pixel_y = 12 }, /turf/open/floor/iron, /area/station/command/bridge) "bK" = ( /obj/structure/table, -/obj/item/storage/backpack/holding, -/obj/item/storage/part_replacer/bluespace/tier4, +/obj/item/storage/backpack/holding{ + pixel_y = 8 + }, +/obj/item/storage/part_replacer/bluespace/tier4{ + pixel_y = 6 + }, /turf/open/floor/iron, /area/station/command/bridge) "bL" = ( @@ -388,17 +292,17 @@ "bM" = ( /obj/machinery/camera/directional/north, /obj/structure/table, -/obj/item/construction/rld, -/obj/item/construction/rcd/arcd, +/obj/item/construction/rld{ + pixel_y = 8 + }, +/obj/item/construction/rcd/arcd{ + pixel_y = 16 + }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, /turf/open/floor/iron, /area/station/command/bridge) -"bN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bO" = ( /obj/machinery/door/poddoor, /turf/open/floor/engine, @@ -418,46 +322,6 @@ /obj/machinery/chem_dispenser/fullupgrade, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"bT" = ( -/obj/machinery/gulag_item_reclaimer{ - dir = 8; - pixel_x = 32 - }, -/turf/open/floor/iron, -/area/station/security/brig) -"bV" = ( -/obj/machinery/light/directional/north, -/mob/living/carbon/human, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"bW" = ( -/obj/machinery/camera/directional/north, -/mob/living/carbon/human, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"bX" = ( -/obj/machinery/sleeper/syndie/fullupgrade, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"bY" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/maintenance/department/bridge) "bZ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -489,18 +353,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"ch" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/medical/chemistry) -"ci" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/brig) "cj" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -536,11 +388,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"cq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "cr" = ( /obj/machinery/light/directional/south, /obj/structure/closet/secure_closet/hos{ @@ -553,203 +400,53 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/medical/chemistry) -"cu" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) "cw" = ( +/obj/structure/sign/departments/evac/aft/directional/north, +/turf/open/space/basic, +/area/space/nearstation) +"cy" = ( /obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, -/area/station/command/bridge) -"cx" = ( -/obj/machinery/door/airlock/public/glass, +/area/station/construction) +"cI" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/medical/medbay) -"cy" = ( -/obj/effect/turf_decal/loading_area{ +/area/station/security/brig) +"cJ" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/iron, -/area/station/medical/medbay) -"cz" = ( -/obj/structure/fans/tiny, -/turf/open/floor/plating, +/turf/open/floor/iron/cafeteria, /area/station/medical/medbay) -"cA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, +"cN" = ( +/turf/closed/wall/r_wall, +/area/station/construction) +"cS" = ( +/turf/closed/wall/r_wall, +/area/station/commons/storage/primary) +"cV" = ( +/obj/machinery/door/airlock/public/glass, /turf/open/floor/iron, -/area/station/hallway/primary/central) -"cB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, +/area/station/commons/storage/primary) +"cY" = ( +/obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, -/area/station/hallway/primary/central) -"cC" = ( -/obj/machinery/camera/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/area/station/construction) +"cZ" = ( +/obj/effect/turf_decal/stripes/corner{ dir = 1 }, /turf/open/floor/iron, -/area/station/hallway/primary/central) -"cD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"cE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/medical/chemistry) -"cF" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/medical/chemistry) -"cG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/medical/medbay) -"cH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/table, -/obj/item/gun/magic/wand/resurrection/debug, -/obj/item/gun/magic/wand/death/debug{ - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/debug/human_spawner{ - pixel_x = 6; - pixel_y = -4 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) -"cI" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/brig) -"cJ" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/cafeteria, -/area/station/medical/medbay) -"cK" = ( -/obj/machinery/light/directional/south, -/obj/structure/table/glass, -/obj/item/disk/surgery/debug, -/obj/item/storage/box/monkeycubes{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/storage/box/monkeycubes{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/disk/data/debug{ - pixel_y = 9; - pixel_x = 7 - }, -/turf/open/floor/iron/white/corner, -/area/station/medical/medbay) -"cL" = ( -/obj/item/surgery_tray/full/advanced, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner, -/area/station/medical/medbay) -"cN" = ( -/turf/closed/wall/r_wall, -/area/station/construction) -"cP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/construction) -"cS" = ( -/turf/closed/wall/r_wall, -/area/station/commons/storage/primary) -"cT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/medical/chemistry) -"cV" = ( -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"cX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/construction) -"cY" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/construction) -"cZ" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/construction) -"da" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/commons/storage/primary) -"db" = ( -/turf/closed/wall/mineral/plastitanium, -/area/station/hallway/secondary/entry) -"dc" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"de" = ( -/obj/machinery/gulag_teleporter, +/area/station/construction) +"db" = ( +/turf/closed/wall/mineral/plastitanium, +/area/station/hallway/secondary/entry) +"de" = ( +/obj/machinery/gulag_teleporter, /turf/open/floor/iron, /area/station/security/brig) "dh" = ( @@ -766,14 +463,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dl" = ( /turf/open/floor/plating, /area/station/commons/storage/primary) @@ -798,12 +487,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/plating, /area/station/commons/storage/primary) -"dq" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L2" - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dr" = ( /obj/effect/turf_decal/plaque{ icon_state = "L4" @@ -856,13 +539,6 @@ }, /turf/open/floor/iron, /area/station/construction) -"dA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dB" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -884,20 +560,10 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"dF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dG" = ( /obj/machinery/door/airlock, /turf/open/floor/iron, /area/station/commons/storage/primary) -"dH" = ( -/obj/machinery/door/airlock, -/turf/open/floor/plating, -/area/station/maintenance/department/bridge) "dI" = ( /obj/effect/landmark/start, /turf/open/floor/iron, @@ -923,18 +589,6 @@ }, /turf/open/floor/iron, /area/station/construction) -"dN" = ( -/obj/machinery/vending/subtype_vendor, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"dO" = ( -/obj/structure/table, -/obj/machinery/light/directional/south, -/obj/item/storage/medkit/regular, -/obj/item/healthanalyzer/advanced, -/obj/item/debug/omnitool/item_spawner, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -944,7 +598,9 @@ "dQ" = ( /obj/structure/table, /obj/machinery/light/directional/south, -/obj/item/debug/human_spawner, +/obj/item/debug/human_spawner{ + pixel_y = 12 + }, /turf/open/floor/iron, /area/station/commons/storage/primary) "dR" = ( @@ -960,24 +616,9 @@ /obj/machinery/camera/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"dU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "dV" = ( /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"dW" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron, -/area/station/construction) "dX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -999,7 +640,9 @@ "ea" = ( /obj/structure/table, /obj/machinery/camera/autoname/directional/south, -/obj/item/gun/magic/wand/resurrection/debug, +/obj/item/gun/magic/wand/resurrection/debug{ + pixel_y = 12 + }, /turf/open/floor/iron, /area/station/commons/storage/primary) "ec" = ( @@ -1014,38 +657,13 @@ }, /turf/open/floor/engine, /area/station/hallway/secondary/entry) -"ed" = ( -/obj/structure/sign/warning/pods, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/entry) -"ef" = ( -/obj/machinery/door/airlock, -/turf/open/floor/iron, -/area/station/construction) -"eg" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/brig) "eh" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ei" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ej" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ek" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "el" = ( /obj/structure/fans/tiny/invisible, /turf/open/floor/engine, @@ -1057,13 +675,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ep" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 +"er" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/obj/structure/closet/secure_closet/medical3{ + locked = 0 + }, +/obj/item/healthanalyzer/advanced, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) "es" = ( /obj/machinery/dna_scannernew, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -1081,11 +704,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/cargo/storage) -"ew" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/vacuum, -/turf/open/floor/plating, -/area/station/cargo/storage) "ex" = ( /obj/machinery/door/airlock/external/ruin{ name = "Escape Pod One" @@ -1093,17 +711,6 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ez" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "eA" = ( /obj/machinery/conveyor{ dir = 1; @@ -1111,14 +718,14 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"eC" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "cargounload" - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/storage) +"eB" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/full, +/turf/open/floor/iron, +/area/station/engineering/main) "eE" = ( /obj/docking_port/stationary{ dir = 8; @@ -1130,19 +737,6 @@ }, /turf/open/space/basic, /area/space) -"eF" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"eH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "eJ" = ( /obj/docking_port/stationary{ dir = 4; @@ -1154,10 +748,6 @@ }, /turf/open/space/basic, /area/space) -"eL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "eN" = ( /obj/machinery/conveyor{ dir = 9; @@ -1177,36 +767,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"eR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external/ruin{ - name = "Supply Dock Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"eS" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external/ruin{ - name = "Supply Dock Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "eT" = ( /obj/machinery/conveyor{ dir = 5; @@ -1224,30 +784,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"eY" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "cargounload" - }, -/obj/machinery/door/poddoor{ - id = "cargounload"; - name = "Supply Dock Unloading Door" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) -"eZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/storage) -"fa" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fb" = ( /obj/machinery/door/airlock/external/ruin{ name = "Departure Lounge Airlock" @@ -1256,34 +792,6 @@ /obj/structure/fans/tiny, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fc" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "cargoload" - }, -/obj/machinery/door/poddoor{ - id = "cargoload"; - name = "Supply Dock Loading Door" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) -"fe" = ( -/obj/machinery/computer/cargo{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/east{ - id = "cargounload"; - name = "Loading Doors"; - pixel_y = 8 - }, -/obj/machinery/button/door/directional/east{ - id = "cargoload"; - name = "Loading Doors"; - pixel_y = -8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ff" = ( /obj/docking_port/stationary{ dir = 2; @@ -1306,18 +814,6 @@ /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"fj" = ( -/obj/structure/sign/warning/docking, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/entry) -"fl" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "cargoload" - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/storage) "fm" = ( /obj/machinery/conveyor{ dir = 1; @@ -1325,11 +821,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"fn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/vacuum/external, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) "fo" = ( /obj/machinery/conveyor_switch/oneway{ id = "cargoload" @@ -1365,125 +856,17 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ft" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/hallway/primary/central) -"fw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fx" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fy" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/plaque{ - icon_state = "L3" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fz" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L5" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fA" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L7" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fB" = ( -/obj/machinery/status_display/supply, -/turf/closed/wall/r_wall, -/area/station/cargo/storage) -"fC" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L9" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fD" = ( -/obj/machinery/light/directional/north, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/plaque{ - icon_state = "L11" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fE" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L13" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"fF" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/fans/tiny, -/turf/open/floor/iron, -/area/station/cargo/storage) -"fH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "fI" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, /area/station/maintenance/aft) -"fK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 5 +"fL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 }, -/obj/structure/cable, +/obj/item/storage/part_replacer/bluespace/tier4, /turf/open/floor/iron, -/area/station/commons/storage/primary) +/area/station/cargo/bitrunning/den) "fM" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -1500,47 +883,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"fN" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/commons/storage/primary) "fO" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "fP" = ( /obj/machinery/light/directional/north, -/obj/machinery/keycard_auth/directional/north, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "fQ" = ( /obj/machinery/computer/communications, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fR" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/commons/storage/primary) "fS" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "fX" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -1562,21 +922,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"fZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ga" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/exit/departure_lounge) -"gb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "gc" = ( /obj/machinery/door/airlock/external/ruin{ name = "Auxiliary Airlock" @@ -1608,75 +956,37 @@ }, /turf/open/floor/plating, /area/station/commons/storage/primary) -"gk" = ( -/obj/structure/sign/departments/evac, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/exit/departure_lounge) -"gl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +"gi" = ( +/obj/structure/table, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 12 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/debug/omnitool{ + pixel_y = 12; + pixel_x = 4 }, /turf/open/floor/iron, -/area/station/cargo/miningoffice) -"gm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 10 +/area/station/commons/storage/primary) +"gj" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "cargounload" }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) +/obj/machinery/door/poddoor{ + id = "cargounload"; + name = "Supply Dock Unloading Door"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "gn" = ( /obj/machinery/camera/directional/north, /turf/open/floor/iron, /area/station/security/brig) -"go" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) -"gp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/cargo/miningoffice) -"gq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "gv" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"gw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "gy" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1686,31 +996,12 @@ /area/station/construction) "gz" = ( /obj/structure/table, -/obj/item/card/id/advanced/gold/captains_spare, -/obj/machinery/keycard_auth/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) -"gB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"gD" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +/obj/item/card/id/advanced/gold/captains_spare{ + pixel_y = 10 }, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /turf/open/floor/iron, -/area/station/cargo/miningoffice) +/area/station/hallway/secondary/exit/departure_lounge) "gE" = ( /obj/machinery/camera/directional/north, /turf/open/floor/iron, @@ -1726,6 +1017,10 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/construction) +"gH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "gI" = ( /obj/machinery/light/directional/north, /obj/machinery/camera/directional/north, @@ -1733,37 +1028,48 @@ /area/station/hallway/secondary/entry) "gJ" = ( /obj/structure/table, -/obj/item/storage/box/prisoner, -/obj/item/paper/guides/jobs/security/labor_camp, +/obj/item/storage/box/prisoner{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/paper/guides/jobs/security/labor_camp{ + pixel_y = 2; + pixel_x = 8 + }, /turf/open/floor/iron, /area/station/security/brig) -"gW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/radiation/rad_area/directional/north, -/turf/open/floor/plating, -/area/station/engineering/gravity_generator) -"gY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +"hl" = ( /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock, /turf/open/floor/iron, -/area/station/science) +/area/station/construction) "hm" = ( /obj/machinery/airalarm/directional/west, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/plating, /area/station/engineering/atmos) -"hv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +"hp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/item/storage/part_replacer/bluespace/tier4, /turf/open/floor/iron, -/area/station/cargo/bitrunning/den) -"hD" = ( -/obj/structure/closet/secure_closet/chemical/heisenberg{ - locked = 0 +/area/station/hallway/primary/central) +"hr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"ht" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/unlocked, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"hD" = ( +/obj/structure/closet/secure_closet/chemical/heisenberg{ + locked = 0 }, /turf/open/floor/iron, /area/station/medical/chemistry) @@ -1774,32 +1080,78 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/station/construction) -"is" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/machinery/vending/subtype_vendor, -/turf/open/floor/iron, -/area/station/medical/medbay) -"jb" = ( +"io" = ( /obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/command/bridge) +"iT" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/closed/wall/r_wall, +/area/station/engineering/gravity_generator) +"jg" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1" + }, /obj/structure/cable, /turf/open/floor/iron, -/area/station/science) -"jE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +/area/station/commons/storage/primary) +"jk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"jz" = ( +/obj/structure/table/glass, +/obj/item/disk/surgery/debug{ + pixel_y = 3; + pixel_x = -8 + }, +/obj/item/storage/box/monkeycubes{ + pixel_x = 6; + pixel_y = 15 + }, +/obj/item/storage/box/monkeycubes{ + pixel_x = -6; + pixel_y = 15 + }, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/plating, -/area/station/engineering/atmos) +/obj/item/disk/data/debug{ + pixel_y = 3; + pixel_x = 8 + }, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) +"jL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "jU" = ( /obj/structure/table, -/obj/item/melee/energy/axe, +/obj/item/melee/energy/axe{ + pixel_y = 12 + }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"kj" = ( -/obj/machinery/door/airlock, -/obj/structure/cable, +"jZ" = ( +/obj/machinery/sleeper/syndie/fullupgrade, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) +"kf" = ( +/obj/machinery/vending/subtype_vendor, /turf/open/floor/iron, -/area/station/cargo/miningoffice) +/area/station/commons/storage/primary) "kn" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, @@ -1808,129 +1160,242 @@ /obj/structure/server, /turf/open/floor/iron/dark, /area/station/science/explab) -"kQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 +"kK" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=4-Southeast"; + location = "3-Northeast" }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/commons/storage/primary) +"kS" = ( +/turf/closed/wall/r_wall, +/area/station/medical/chemistry) "lc" = ( /turf/open/floor/engine, /area/station/hallway/secondary/entry) -"lg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"le" = ( +/obj/machinery/door/airlock/external/glass/ruin{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/main) -"lH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) -"lX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/effect/turf_decal/stripes/full, +/obj/structure/sign/warning/vacuum/directional/north, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"lu" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/light/directional/north, +"mb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"mE" = ( +/area/station/medical/chemistry) +"mk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/chem_mass_spec, /turf/open/floor/iron, -/area/station/medical/chemistry) -"nn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/area/station/engineering/main) +"mC" = ( +/turf/open/floor/iron/dark, +/area/station/medical/medbay) +"nb" = ( +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/science/explab) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"nd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/vacuum/external/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"ng" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "nq" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"ny" = ( +"nT" = ( /obj/structure/table, -/obj/item/storage/toolbox/syndicate, -/obj/item/debug/omnitool, +/obj/machinery/light/directional/south, +/obj/item/storage/medkit/regular{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/item/healthanalyzer/advanced{ + pixel_y = 15; + pixel_x = -9 + }, +/obj/item/debug/omnitool/item_spawner{ + pixel_y = 12 + }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"nI" = ( -/obj/machinery/door/airlock, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/cargo/bitrunning/den) "od" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"oV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"oj" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/space/basic, +/area/space/nearstation) +"os" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/research, +/turf/open/floor/iron/dark, +/area/station/science/explab) +"ou" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/medical/chemistry) +/area/station/construction) +"oK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/main) +"pe" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"pr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "pv" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"pA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/closed/wall/r_wall, -/area/station/science) -"pI" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"pw" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"pL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/caution/stand_clear{ dir = 8 }, -/obj/machinery/door/airlock/external/glass/ruin, -/turf/open/floor/plating, -/area/station/medical/medbay) +/turf/open/floor/iron, +/area/station/cargo/storage) +"pZ" = ( +/obj/machinery/light/directional/north, +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/plaque{ + icon_state = "L11" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "qb" = ( /obj/machinery/door/airlock, /turf/open/floor/plating, /area/station/engineering/atmos) +"qv" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"qw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "qx" = ( /obj/machinery/airalarm/directional/west, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/cargo/storage) +"qH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/iron, +/area/station/medical/chemistry) "qQ" = ( /turf/open/floor/engine, /area/station/cargo/miningoffice) -"rn" = ( +"rh" = ( +/obj/machinery/door/airlock, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/science) +"ru" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, +/obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"rK" = ( +"rz" = ( /obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 1 + }, +/obj/structure/transit_tube_pod{ dir = 4 }, /turf/open/floor/iron, -/area/station/cargo/miningoffice) -"rL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/area/station/engineering/gravity_generator) +"rC" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/plaque{ + icon_state = "L3" + }, /obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/commons/storage/primary) +"rE" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" + }, +/obj/machinery/door/poddoor{ + id = "cargoload"; + name = "Supply Dock Loading Door"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) +"rK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "rT" = ( /turf/open/floor/circuit/green, /area/station/cargo/bitrunning/den) @@ -1938,6 +1403,41 @@ /obj/machinery/door/airlock/shell, /turf/open/floor/iron/dark, /area/station/construction) +"sI" = ( +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"sN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"sO" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L2" + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"sT" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/main) +"tn" = ( +/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/medical/chemistry) +"tw" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + location = "Center" + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "tE" = ( /obj/machinery/door/airlock/research, /turf/open/floor/iron/dark, @@ -1949,6 +1449,13 @@ }, /turf/open/space/basic, /area/space) +"tQ" = ( +/obj/machinery/door/airlock/public/glass, +/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/medical/chemistry) "tV" = ( /obj/structure/bot, /turf/open/floor/iron/dark, @@ -1974,6 +1481,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/station/engineering/atmos) +"uL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/bitrunning/den) "uO" = ( /obj/machinery/door/airlock/public/glass, /obj/structure/cable, @@ -1995,11 +1507,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/explab) -"vb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron, -/area/station/cargo/bitrunning/den) "vm" = ( /mob/living/circuit_drone, /turf/open/floor/iron/dark, @@ -2014,43 +1521,136 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"vP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"vB" = ( +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/door/airlock/public/glass, -/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) +"vQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/medical/chemistry) -"wb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +/area/station/cargo/storage) +"vS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/airlock_pump{ dir = 4 }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/turf/open/floor/iron, +/area/station/engineering/main) +"wa" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner{ dir = 1 }, +/area/station/medical/medbay) +"wc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/science) +"wk" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/cafeteria, +/area/station/medical/medbay) +"wl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"wp" = ( +/obj/machinery/door/airlock, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/bitrunning/den) +"wz" = ( +/obj/machinery/status_display/supply/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "wB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wM" = ( +"wD" = ( +/obj/machinery/door/airlock, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/area/station/cargo/miningoffice) "wU" = ( /turf/closed/wall/r_wall, /area/station/science/explab) +"xD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) +"xK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"xY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"ya" = ( +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 8 + }, +/obj/machinery/light/small/red/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"yd" = ( +/obj/machinery/computer/rdconsole, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/station/science) +"yi" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) +"yl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "yA" = ( /obj/docking_port/stationary/laborcamp_home{ dir = 8 }, /turf/open/space/basic, /area/space) +"yH" = ( +/obj/effect/turf_decal/stripes/full, +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Medbay Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/medbay) "yK" = ( /obj/structure/fans/tiny/invisible, /obj/effect/turf_decal/stripes/line{ @@ -2063,26 +1663,85 @@ /obj/machinery/power/rtg/debug, /turf/open/floor/plating/airless, /area/space/nearstation) -"zo" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, +"zg" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/commons/storage/primary) "zS" = ( /obj/machinery/rnd/destructive_analyzer, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/science) +"zY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "Aj" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) -"AP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"Al" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "cargounload" + }, +/obj/structure/plasticflaps{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) +"An" = ( +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"Ao" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/caution/stand_clear{ dir = 8 }, /turf/open/floor/iron, -/area/station/science) +/area/station/cargo/storage) +"AD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) +"AE" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=2-Northwest"; + location = "1-Southwest" + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"Bp" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"Bz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"BB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/medical/medbay) "BD" = ( /obj/structure/closet/secure_closet/chief_medical{ locked = 0 @@ -2092,17 +1751,57 @@ /area/station/command/bridge) "BG" = ( /obj/structure/table, -/obj/item/ammo_box/c10mm, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/ammo_box/c10mm{ + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/pistol{ + pixel_y = 4 + }, /turf/open/floor/iron, /area/station/command/bridge) +"BJ" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"BM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "Ce" = ( /turf/open/floor/iron, /area/station/medical/chemistry) +"Cg" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "Ct" = ( /obj/structure/closet/syndicate/resources/everything, /turf/open/floor/iron, /area/station/science) +"CF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) +"CG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/cargo/storage) +"CJ" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Medbay Airlock" + }, +/obj/effect/turf_decal/stripes/full, +/turf/open/floor/iron/dark, +/area/station/medical/medbay) "CQ" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/stripes/line{ @@ -2114,11 +1813,6 @@ /obj/machinery/component_printer, /turf/open/floor/iron/dark, /area/station/science/explab) -"CV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/medical/chemistry) "Df" = ( /obj/machinery/light/directional/east, /obj/item/integrated_circuit/loaded/hello_world, @@ -2126,6 +1820,40 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/science/explab) +"Dv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/transit_tube/station/reverse, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"DC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"DD" = ( +/mob/living/carbon/human, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) +"DO" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"DS" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "DW" = ( /obj/machinery/computer/scan_consolenew{ dir = 1 @@ -2135,15 +1863,19 @@ }, /turf/open/floor/iron/white/corner, /area/station/medical/medbay) -"EA" = ( +"Ef" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"Es" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/construction) -"EB" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/medical/medbay) "EG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -2166,13 +1898,21 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"ES" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"EN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/meter/layer4, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"ER" = ( +/mob/living/carbon/human, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) "EX" = ( /obj/structure/table, /obj/item/screwdriver{ @@ -2187,7 +1927,10 @@ pixel_x = -4; pixel_y = 4 }, -/obj/item/uplink/nuclear/debug, +/obj/item/uplink/nuclear/debug{ + pixel_y = 12; + pixel_x = 3 + }, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -2196,6 +1939,80 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/command/bridge) +"Fy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) +"FA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"FC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"FE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"GC" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"GE" = ( +/obj/machinery/gulag_item_reclaimer/directional/north, +/turf/open/floor/iron, +/area/station/security/brig) +"GN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"GQ" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/brig) +"GS" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/full, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) +"GV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) +"GZ" = ( +/obj/machinery/chem_mass_spec, +/turf/open/floor/iron, +/area/station/medical/chemistry) +"Hc" = ( +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"Hg" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"Ht" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/transit_tube/horizontal, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "HW" = ( /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/unlocked, @@ -2213,6 +2030,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/explab) +"Is" = ( +/obj/machinery/door/airlock, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/commons/storage/primary) "Iy" = ( /obj/structure/closet/secure_closet/research_director{ locked = 0 @@ -2220,24 +2042,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) -"IB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/table, -/obj/item/debug/omnitool{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/debug/omnitool/item_spawner{ - pixel_x = 4; - pixel_y = -6 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/station/medical/medbay) "IF" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -2258,70 +2062,185 @@ dir = 8 }, /turf/open/floor/iron, -/area/station/cargo/miningoffice) -"Jp" = ( -/obj/machinery/gravity_generator/main, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/gravity_generator) -"JF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/area/station/cargo/miningoffice) +"IK" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/vacuum/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) +"IV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/chemistry) +"Jd" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/commons/storage/primary) +"Jg" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Gravity Generator" + }, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"Jh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/transit_tube/station/dispenser/reverse/flipped, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"Jp" = ( +/obj/machinery/gravity_generator/main, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/gravity_generator) +"Jw" = ( +/obj/machinery/light/directional/north, +/obj/machinery/rnd/production/circuit_imprinter/department, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/science) +"JV" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"Kg" = ( +/obj/machinery/door/airlock/external/glass/ruin, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/full, /turf/open/floor/iron, -/area/station/medical/chemistry) -"JS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +/area/station/engineering/main) +"Ks" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"Kw" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=1-Southwest"; + location = "4-Southeast" }, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/commons/storage/primary) "Kx" = ( /obj/structure/table, -/obj/item/analyzer, -/obj/item/wrench, +/obj/item/analyzer{ + pixel_y = 15; + pixel_x = 3 + }, +/obj/item/wrench{ + pixel_y = 14 + }, /obj/machinery/light/directional/south, /turf/open/floor/plating, /area/station/engineering/atmos) +"Lq" = ( +/obj/effect/turf_decal/stripes/full, +/obj/machinery/door/airlock/external/glass/ruin{ + name = "Medbay Airlock" + }, +/turf/open/floor/iron, +/area/station/medical/medbay) "Ly" = ( /obj/machinery/chem_dispenser/chem_synthesizer, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"LH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +"LD" = ( +/obj/item/surgery_tray/full/advanced{ + pixel_y = 5 }, -/obj/machinery/door/airlock/research, -/turf/open/floor/iron/dark, -/area/station/science/explab) +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) "LS" = ( /obj/machinery/quantum_server, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) +"LU" = ( +/obj/machinery/vending/subtype_vendor, +/turf/open/floor/iron, +/area/station/medical/chemistry) "LW" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"Ma" = ( +/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/engineering/main) +"Me" = ( +/obj/structure/sign/warning/pods/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"Mg" = ( +/obj/machinery/door/airlock/public/glass, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/medbay) "Mh" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"Ml" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"My" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/science) "ME" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"MH" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/transit_tube/station/dispenser/reverse{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"MM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "MN" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"MY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +"MV" = ( /obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) "Nb" = ( @@ -2332,11 +2251,26 @@ /obj/machinery/chem_recipe_debug, /turf/open/floor/iron, /area/station/medical/chemistry) +"Ni" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/science/explab) "Ns" = ( /obj/machinery/door/airlock/public/glass, /obj/structure/cable, /turf/open/floor/iron, /area/station/medical/medbay) +"Nu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"NG" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "NZ" = ( /obj/machinery/rnd/production/protolathe/department, /turf/open/floor/iron, @@ -2356,24 +2290,85 @@ /area/station/medical/medbay) "Ov" = ( /obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/bluespace, -/obj/item/stock_parts/power_store/cell/bluespace, -/obj/item/stock_parts/power_store/cell/bluespace, +/obj/machinery/cell_charger{ + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/bluespace{ + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/bluespace{ + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/bluespace{ + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) +"OF" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"OI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"OO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, /turf/open/floor/iron/dark, /area/station/science/explab) +"OS" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/unlocked, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "OU" = ( /obj/item/disk/tech_disk/debug, /turf/open/floor/iron, /area/station/science) +"Pc" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) +"Pg" = ( +/obj/machinery/door/airlock/external/glass/ruin{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/storage) "Pk" = ( /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron/dark, /area/station/science/explab) +"Pr" = ( +/obj/machinery/atmospherics/components/unary/airlock_pump{ + dir = 8 + }, +/obj/machinery/light/small/red/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/medbay) +"Pv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/meter/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) "Px" = ( /obj/structure/table, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 12 + }, /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron/dark, @@ -2383,26 +2378,52 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/security/brig) -"Qi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) -"Qt" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"PK" = ( +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/door/airlock/external/glass/ruin, -/turf/open/floor/plating, +/turf/open/floor/iron/white/corner, /area/station/medical/medbay) +"PZ" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/vacuum/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "Qu" = ( /obj/docking_port/stationary/mining_home{ dir = 8 }, /turf/open/floor/engine, /area/station/cargo/miningoffice) +"QM" = ( +/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/science) +"QP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ + id = "cargoload"; + name = "Loading Doors"; + pixel_y = -9 + }, +/obj/machinery/button/door/directional/east{ + id = "cargounload"; + name = "Unloading Doors"; + pixel_y = 8 + }, +/obj/machinery/computer/cargo{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"QV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "QY" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2421,6 +2442,36 @@ /obj/machinery/byteforge, /turf/open/floor/circuit/green, /area/station/cargo/bitrunning/den) +"Ru" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"Rx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/closet/radiation, +/obj/structure/sign/warning/radiation/rad_area/directional/north, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) +"RD" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/table, +/obj/item/debug/omnitool{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/debug/omnitool/item_spawner{ + pixel_x = 4; + pixel_y = -6 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) "RM" = ( /obj/structure/closet/secure_closet/hop{ locked = 0 @@ -2428,6 +2479,14 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"Sc" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "Sg" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/stripes/corner, @@ -2446,9 +2505,24 @@ "SC" = ( /obj/structure/table/reinforced, /obj/machinery/light/directional/south, -/obj/item/bitrunning_debug, +/obj/item/bitrunning_debug{ + pixel_y = 11 + }, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) +"SF" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/construction) +"SU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/security/brig) +"SX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "Td" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -2463,25 +2537,47 @@ "Tt" = ( /turf/open/floor/plating, /area/station/maintenance/aft) +"Tz" = ( +/obj/machinery/digital_clock/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) +"TJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmos) "TR" = ( /obj/machinery/netpod, /turf/open/floor/iron, /area/station/cargo/bitrunning/den) -"TV" = ( -/obj/machinery/door/airlock, -/obj/structure/cable, +"TT" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ + dir = 8 + }, +/turf/open/space, +/area/space/nearstation) +"TX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/transit_tube/station, /turf/open/floor/iron, -/area/station/construction) +/area/station/engineering/gravity_generator) "Ue" = ( /turf/closed/wall/r_wall, /area/station/cargo/bitrunning/den) -"Ut" = ( -/obj/structure/closet/secure_closet/medical3{ - locked = 0 - }, -/obj/item/healthanalyzer/advanced, +"Un" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/medical/medbay) +"Uy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "Va" = ( /obj/machinery/power/smes/full, /obj/effect/turf_decal/stripes/line{ @@ -2497,23 +2593,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"Vr" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "Vy" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"VA" = ( -/obj/structure/fans/tiny, -/obj/structure/cable, +"VB" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=3-Northeast"; + location = "2-Northwest" + }, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/commons/storage/primary) +"VJ" = ( +/obj/structure/sign/warning/docking/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "We" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/iron, @@ -2522,32 +2616,27 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"Wq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"Wx" = ( +"WD" = ( /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, -/obj/structure/cable, +/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, -/area/station/engineering/gravity_generator) +/area/station/construction) "WK" = ( /obj/structure/money_bot, /turf/open/floor/iron/dark, /area/station/science/explab) -"WT" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external/glass/ruin, +"WL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/medical/medbay) +"WR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/main) +/turf/open/floor/iron, +/area/station/security/brig) "Xg" = ( /obj/machinery/light/directional/east, /obj/machinery/vending/syndichem{ @@ -2556,6 +2645,13 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) +"Xm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/transit_tube/crossing/horizontal, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "Xp" = ( /obj/machinery/light/directional/south, /obj/structure/tank_dispenser{ @@ -2563,29 +2659,59 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"Xx" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" + }, +/obj/structure/plasticflaps{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) +"Xy" = ( +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/hallway/primary/central) +"XA" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/vacuum/external/directional/east, +/turf/open/floor/iron/white/corner, +/area/station/medical/medbay) "XC" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/science) +"XG" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"XK" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "XN" = ( /obj/structure/table, /obj/item/organ/internal/cyberimp/bci{ pixel_y = 5 }, /obj/item/organ/internal/cyberimp/bci{ - pixel_y = 5 + pixel_y = 7 }, /obj/item/organ/internal/cyberimp/bci{ - pixel_y = 5 + pixel_y = 9 }, /turf/open/floor/iron/dark, /area/station/science/explab) -"XR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos) "XU" = ( /obj/machinery/atmospherics/components/tank/air, /obj/machinery/light/directional/north, @@ -2600,22 +2726,37 @@ /area/station/cargo/bitrunning/den) "Ym" = ( /obj/structure/table, -/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical{ + pixel_y = 4 + }, /obj/item/multitool/circuit{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 12 }, /obj/item/multitool{ - pixel_x = 4 + pixel_x = 8; + pixel_y = 12 }, /turf/open/floor/iron/dark, /area/station/science/explab) -"Yy" = ( -/obj/machinery/light/directional/north, -/obj/machinery/rnd/production/circuit_imprinter/department, -/obj/machinery/power/apc/auto_name/directional/north, +"Yt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/machinery/meter, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"Yw" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Gravity Generator" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron, -/area/station/science) +/area/station/engineering/gravity_generator) +"Yz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/medical/medbay) "YL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -2628,22 +2769,50 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"Zz" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/stripes/line, +"Zl" = ( /obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/unlocked, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, -/area/station/commons/storage/primary) +/area/station/engineering/main) +"Zo" = ( +/obj/structure/table, +/obj/item/gun/magic/wand/resurrection/debug{ + pixel_y = 8 + }, +/obj/item/gun/magic/wand/death/debug{ + pixel_y = 18 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/debug/human_spawner{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/medical/medbay) +"ZB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ZD" = ( /obj/machinery/suit_storage_unit/ce, /turf/open/floor/iron, /area/station/engineering/atmos) "ZK" = ( /obj/structure/table, -/obj/item/storage/box/shipping, -/obj/item/boulder_beacon, +/obj/item/storage/box/shipping{ + pixel_y = 12; + pixel_x = 8 + }, +/obj/item/boulder_beacon{ + pixel_y = 12; + pixel_x = -8 + }, /turf/open/floor/iron, /area/station/commons/storage/primary) "ZP" = ( @@ -3410,7 +3579,7 @@ aa Ue LS Yd -hv +fL TR Ue aa @@ -3502,7 +3671,7 @@ aa Ue IF Aj -vb +uL SC Ue aa @@ -3594,7 +3763,7 @@ em Ue Ue Ue -nI +wp QY Ue Tj @@ -3686,7 +3855,7 @@ rK rK vy em -aB +jL eh LW lc @@ -3778,7 +3947,7 @@ qQ qQ ME em -aB +jL eh LW lc @@ -3870,7 +4039,7 @@ qQ qQ ME em -aB +jL eh LW lc @@ -3962,7 +4131,7 @@ qQ qQ CQ em -mi +OF eh LW lc @@ -4054,7 +4223,7 @@ qQ qQ ME em -aB +jL eh LW lc @@ -4146,7 +4315,7 @@ qQ qQ YL em -aB +jL eh LW lc @@ -4235,11 +4404,11 @@ II Td II II -gl -gD -kj -aB -wM +Uy +Cg +wD +jL +jL LW lc lc @@ -4327,11 +4496,11 @@ em em em EM -gm -go -gp -eL -gr +yi +yi +em +eh +ax LW lc lc @@ -4423,7 +4592,7 @@ dY dY dY eh -gu +ax LW lc lc @@ -4513,9 +4682,9 @@ od od od dj -ed -eh -gu +dY +Me +ax LW lc lc @@ -4607,7 +4776,7 @@ fi dP ex eh -gu +ax LW lc lc @@ -4699,7 +4868,7 @@ Re dV dY ej -gu +ax LW lc lc @@ -4791,7 +4960,7 @@ dY dY dY eh -gu +ax LW lc lc @@ -4803,14 +4972,14 @@ lc wB eh gF -fj -aa +dY +oj aa aa aa aa -fj -eh +dY +VJ eh en aa @@ -4883,7 +5052,7 @@ aa aa dY gE -gu +ax LW lc lc @@ -4974,8 +5143,8 @@ aa aa aa dY -gq -ei +SX +ax LW lc lc @@ -4986,7 +5155,7 @@ lc lc wB eh -gw +GN dY aa aa @@ -4994,7 +5163,7 @@ aa aa aa dY -gB +ru eh en aa @@ -5067,7 +5236,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5078,7 +5247,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5086,7 +5255,7 @@ aa aa aa en -ek +BM eh dY aa @@ -5159,7 +5328,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5170,7 +5339,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5178,7 +5347,7 @@ aa aa aa en -ek +BM eh en aa @@ -5251,7 +5420,7 @@ aa aa dY ej -gu +ax LW lc lc @@ -5262,7 +5431,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5270,7 +5439,7 @@ aa aa aa en -ek +BM eh dY aa @@ -5343,7 +5512,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5354,7 +5523,7 @@ lc lc wB eh -gx +Ml dY aa aa @@ -5362,7 +5531,7 @@ aa aa aa dY -gC +OI eh dY aa @@ -5435,7 +5604,7 @@ aa aa dY eh -gu +ax LW lc lc @@ -5446,7 +5615,7 @@ lc lc wB eh -ek +BM en aa aa @@ -5454,7 +5623,7 @@ eE aa aa en -ek +BM eh dY aa @@ -5527,7 +5696,7 @@ bw ag ag eh -gu +ax LW dh en @@ -5538,15 +5707,15 @@ en dY wB eh -ek +BM dY dY -fn +en fs en dY dY -ek +nd eh dY aa @@ -5619,7 +5788,7 @@ aD dR ag eh -gu +ax eh eV eh @@ -5630,15 +5799,15 @@ eh eV eh eh -ek +BM eh eV eh eh eh eV -eh -ek +Tz +BM eh dY aa @@ -5703,34 +5872,34 @@ ag gn aD aD -bH -ci -ci -ci -ci -ci -eg -ei -gu -ei -ep -ei -ei -ei -ei -ei -ei -ei -ei -gu -ei -ei -ei -ei -ei -ei -Qi -fZ +SU +WR +WR +WR +WR +WR +GQ +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +ax +jL +BM eh dY aa @@ -5792,10 +5961,10 @@ aa aa aa ag +GE aD aD aD -bT cI PJ aD @@ -5805,12 +5974,12 @@ ag eh eh eh -gu +ax eh eh eh eh -eF +BJ HW fM eh @@ -5821,7 +5990,7 @@ eh eh eh eh -rn +jL eh eh dY @@ -5897,7 +6066,7 @@ bA gd bA bZ -ft +Xy bZ cN cN @@ -5905,15 +6074,15 @@ cN cN cN cN -ef -ef +cy +cy cN cN cN cN cN cN -LH +os en dY dY @@ -5980,7 +6149,7 @@ ut aw hm aw -aw +hr Kx ah zS @@ -5989,7 +6158,7 @@ ca If bA kn -ES +xK bE cN Sg @@ -6005,7 +6174,7 @@ dy dm dM cN -Vr +Ni vm uQ Ov @@ -6069,22 +6238,22 @@ aa aa ah am -aw -aw -ba -jE -MY -bk -bt -bt -bt -AP -pA -kQ -ES -rL -cP -cX +EN +FC +FC +Nu +xY +Ks +My +My +My +bD +bA +XK +xK +Mh +cN +ou dn dn dn @@ -6097,7 +6266,7 @@ dn dn dL sr -nn +OO ZP ZP WK @@ -6161,22 +6330,22 @@ aa aa ah dS -aw +GC aN bb -bl -zo +Ru +MV ah -Yy +Jw bD -XC -gY -jb -ES -bE -Mh -TV -EA +QM +QM +rh +ZB +QV +FA +hl +Es dn dn dn @@ -6253,22 +6422,22 @@ aa aa ah am -aw +bm aO bc -bm +Ru ZD ah -bF +yd OU -XC +wc Ct gd -cA bE +QV bE -ef -cY +cN +SF dn dn dn @@ -6345,10 +6514,10 @@ aa aa ah XU -bl -aP -aP -XR +Yt +FE +FE +Pv Xp ah NZ @@ -6356,11 +6525,11 @@ bD XC co bA -JS -bE +OS +QV bE cN -dW +cY dn dn dn @@ -6371,7 +6540,7 @@ dn dn dn dn -dL +WD cN ZP Df @@ -6436,11 +6605,11 @@ aa aa aa ah -Wh -ah ah Wh -ah +Wh +Wh +TJ ah ah bu @@ -6448,8 +6617,8 @@ bu cd bu bu -cB -bE +Ef +QV bE cN cY @@ -6532,7 +6701,7 @@ ab ab ab ab -ab +TT ab ab bu @@ -6540,9 +6709,9 @@ Fd ce cp bu -cC -lX -bE +Hc +QV +hp cN cY dn @@ -6632,8 +6801,8 @@ bI cf EI bv -dU -bE +Hc +QV bE cN cY @@ -6724,11 +6893,11 @@ BG cf BD bu -dU -bE +Hc +QV bE cN -cY +SF dn dn dn @@ -6814,12 +6983,12 @@ ab bv bJ cf -cq -cw -Wq -bE +xD +io +lu +QV bE -ef +cy cY dn dn @@ -6908,10 +7077,10 @@ bK cf Iy bu -cD -bE +XG +QV bE -ef +cN cY dn dn @@ -6991,7 +7160,7 @@ ae ac ac aj -aC +Kg aj ac ac @@ -7000,8 +7169,8 @@ aK cf RM bv -cD -bE +XG +QV bE cN dK @@ -7083,7 +7252,7 @@ aj aj aj aj -VA +vS aj ac ac @@ -7092,8 +7261,8 @@ bM cg cr bu -wb -bE +DO +QV bE cS cS @@ -7175,7 +7344,7 @@ aj al aA aj -WT +eB aj aj aj @@ -7184,11 +7353,11 @@ bu cd bu bu -cE -bE +kS +QV bE cS -Zz +ht dp dl dl @@ -7267,7 +7436,7 @@ aj ap aA We -Vy +Ma aS bd bo @@ -7276,11 +7445,11 @@ hD cj ct Nc -cF -bE +qH +QV bE cS -dc +Sc dC dC dC @@ -7358,30 +7527,30 @@ aa aj aq Vy -Vy -aE -aT -be -be -bx -CV -CV -ch -CV -cT -bN -bN -da -fK -dJ -dJ -dJ +Zl +Ma +oK +oK +oK +sT +IV +IV +Ce +Ce +qH +QV +bE +cS +qv dJ +VB dJ dJ +tw dJ dJ dJ +AE dJ dJ cS @@ -7451,21 +7620,21 @@ aj IH aA aH -aF -lg +aA +mk bf bp aj Px +tn Ce -JF -mE -oV -bE +GZ +qH +QV bE cS -fx -dq +jg +sO dJ dJ dJ @@ -7475,7 +7644,7 @@ dJ dJ dJ dJ -ny +gi cS fI ga @@ -7539,24 +7708,24 @@ aa aa aa aa -ad -ad ak ak ak -aU +ak +ak +Yw ak ak ak bQ -Ce -Ce -cj -vP -Mh +tn +tn +tn +tQ +sN Vg cS -fy +rC dr dJ dJ @@ -7567,7 +7736,7 @@ dJ dJ dJ dJ -dO +nT cS fO fO @@ -7631,24 +7800,24 @@ aa aa aa aa -ad -af +aa +aa ak Va -aG -aV +Bp +nb bg bq ak bR cj +mb cj -cj -oV -bE +qH +QV Mh uO -fz +Hg ds dJ dJ @@ -7723,24 +7892,24 @@ aa aa aa aa -bY -af +aa +aa ak -at -Wx -bh -bh +Rx +sI +sI +sI br ak bS Ce -Ce +LU cj -oV -bE -bE -cV -fA +qH +QV +QV +zg +ay dt dJ dD @@ -7815,24 +7984,24 @@ aa aa aa aa -ad -af +aa +aa +ak +iT +rz +sI +MH ak -gW -aI -aX -aI -aI ak Ly EX Xg cj -oV -bE +qH +QV bE cV -fC +pw du dJ dJ @@ -7907,24 +8076,24 @@ aa aa aa aa -ad -af -ak -av -av -av -av -av +aa +aa +aa +aI +Xm +sI +Ht +aI by by ck by Ns -cG -cx by +Mg by -fD +by +pZ dv dJ dJ @@ -7999,42 +8168,42 @@ aa aa aa aa -ad -af -ak -av -MN -MN -MN -av +aa +aa +aa +aI +Xm +sI +Ht +aI by Ot cl -IB +RD cl -cH -cu +Zo +wa cJ by -fE +Pc dw -dJ +kK dJ dJ dI dJ dJ dJ +Kw dJ -dJ -dN +kf cS fQ fO fO fO ga -aa +cw aa aa aa @@ -8091,29 +8260,29 @@ aa aa aa aa -ad -af -ak -dT -MN -av -Jp -av +aa +aa +aa +aI +Xm +sI +Ht +aI by -bV -cm +DD cm cm cm cm +WL Sj by -dA +jk dJ dJ dJ dJ -dF +yl dJ dJ dJ @@ -8122,10 +8291,10 @@ dJ dJ cS fS -lH -gb fO -gk +AD +fO +ga aa aa aa @@ -8183,42 +8352,42 @@ aa aa aa aa -ad -af -ak -av -MN -MN -MN -av +aa +aa +aa +aI +Xm +sI +Ht +aI by -bW -cm +ER cm cm cm -cm -cL +Un +WL +LD by -dk -eH -eH -eH -eH -fH -fw -eH -eH -eH -eH -fH -fR -fW -lH -fO +DC +Bz +Bz +Bz +Bz +wl +DC +MM +MM +MM +MM +qw +pe +pr +Fy +Fy fO ga -aa +cw aa aa aa @@ -8275,30 +8444,30 @@ aa aa aa aa -ad -af -ak -av -av -aY -av -av +aa +aa +aa +aI +Xm +DS +Ht +aI by -bX +jZ +cm +cm cm -is -cy -Ut cm -cK +WL +jz by dB dx dl dl gg -ez -dB +JV +zY dl dl dl @@ -8367,21 +8536,21 @@ aa aa aa aa -ad -af -ak -ak -ak -ak -ak -ak -by -by -dH -by -Qt +aa +aa +aa +aI +Xm +sI +Ht +aI by -EB +er +cm +cm +cm +cm +WL DW by cS @@ -8389,8 +8558,8 @@ cS cS cS cS -fN -vv +Is +Jd cS cS cS @@ -8459,21 +8628,21 @@ aa aa aa aa -ad -af -af -af -af -af -af -af -af -af -af -by -cz +aa +aa +aa +aI +Xm +sI +Ht +aI by -cm +wk +PK +PK +CF +XA +vB es by eu @@ -8481,8 +8650,8 @@ eu qx eP fY -eZ -eu +NG +vQ fq fr eu @@ -8551,30 +8720,30 @@ aa aa aa aa -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad +aa +aa +aa +aI +Xm +sI +Ht +aI +by by -pI by +Lq +yH by +ck by by -eu +wz eu eu eQ eu -fa -eu +CG +vQ eu eu fo @@ -8646,28 +8815,28 @@ aa fg fg fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -ev +aI +Xm +sI +Ht +aI +aa +aa +ck +mC +BB +Yz +mC +mC +by +PZ eA eA eA eN -ev -fe -ev +Ao +QP +pL eT fm fm @@ -8738,30 +8907,30 @@ aa aa aa aa +aI +TX +DS +Ht +aI aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ck +mC +mC +Pr +mC +mC +by et -fB -fh fh fh -eY -eR -fh -eR -fc -fh +et +gj +Pg +et +IK +rE +et fh fh et @@ -8830,30 +8999,30 @@ aa aa aa aa +aI +Xm +sI +Ht +aI aa aa +by +ck +ck +by +CJ +CJ +by aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ew -eC -fF -fB -fF -fl -ew +et +Al +gH +ng +GV +Xx +fh aa aa aa @@ -8922,6 +9091,11 @@ aa aa aa aa +aI +Xm +sI +Ht +aI aa aa aa @@ -8934,17 +9108,12 @@ aa aa aa aa -aa -aa -aa -aa -aa -fh -eY -eS fh -eS -fc +Al +An +ya +An +Xx fh aa aa @@ -9014,6 +9183,11 @@ aa aa aa aa +aI +Xm +sI +Ht +aI aa aa aa @@ -9026,18 +9200,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -eJ -aa -aa -aa -aa +et +gj +GS +et +le +rE +et aa aa aa @@ -9106,6 +9275,11 @@ aa aa aa aa +aI +Xm +sI +Ht +aI aa aa aa @@ -9120,12 +9294,7 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa +eJ aa aa aa @@ -9198,11 +9367,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +aI +Xm +DS +Ht +aI aa aa aa @@ -9290,11 +9459,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +aI +Xm +sI +Ht +aI aa aa aa @@ -9382,11 +9551,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +aI +Xm +sI +Ht +aI aa aa aa @@ -9474,11 +9643,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +aI +Xm +sI +Ht +aI aa aa aa @@ -9566,11 +9735,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +aI +Xm +sI +Ht +aI aa aa aa @@ -9658,11 +9827,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +ak +Dv +bh +Jh +ak aa aa aa @@ -9749,13 +9918,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +ak +aI +Jg +aI +ak +ak aa aa aa @@ -9841,13 +10010,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +av +av +av +av +av +ak aa aa aa @@ -9933,13 +10102,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +av +MN +MN +MN +av +ak aa aa aa @@ -10025,13 +10194,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +dT +MN +av +Jp +av +ak aa aa aa @@ -10117,13 +10286,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +av +MN +MN +MN +av +ak aa aa aa @@ -10209,13 +10378,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +av +av +aY +av +av +ak aa aa aa @@ -10301,13 +10470,13 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa +ak +ak +ak +ak +ak +ak +ak aa aa aa diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 2346e028c49e9..d8777de981563 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -196,13 +196,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/centcom/central_command_areas/courtroom) -"aV" = ( -/obj/structure/table/wood, -/obj/item/clipboard, -/obj/item/radio/headset/headset_cent, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/briefing) "aW" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -714,8 +707,23 @@ /area/centcom/central_command_areas/admin) "de" = ( /obj/effect/landmark/start/new_player, -/turf/closed/indestructible/start_area, +/turf/cordon, /area/misc/start) +"df" = ( +/obj/structure/table/wood, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/stamp/denied{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stamp/centcom, +/turf/open/floor/iron/grimy, +/area/centcom/central_command_areas/admin) "dh" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 4 @@ -1177,7 +1185,7 @@ /area/centcom/central_command_areas/ferry) "fy" = ( /obj/structure/signpost/salvation{ - icon = 'icons/obj/structures.dmi'; + icon = 'icons/obj/fluff/general.dmi'; icon_state = "ladder10"; invisibility = 100 }, @@ -1284,7 +1292,7 @@ /turf/open/floor/catwalk_floor, /area/centcom/central_command_areas/evacuation/ship) "fX" = ( -/turf/closed/indestructible/start_area, +/turf/cordon, /area/misc/start) "fZ" = ( /obj/effect/landmark/ctf, @@ -1324,7 +1332,9 @@ /area/centcom/central_command_areas/prison) "gh" = ( /turf/closed/indestructible/fakedoor{ - name = "Thunderdome Admin" + name = "Thunderdome Admin"; + dir = 4; + manual_align = 1 }, /area/centcom/tdome/administration) "gi" = ( @@ -1534,6 +1544,21 @@ /obj/machinery/light/directional/north, /turf/open/misc/asteroid, /area/centcom/central_command_areas/evacuation) +"hn" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/centcom{ + name = "CentCom"; + manual_align = 1; + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/iron, +/area/centcom/central_command_areas/control) "ho" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -1663,6 +1688,13 @@ /obj/item/soap/nanotrasen, /turf/open/floor/iron/white, /area/centcom/tdome/observation) +"ig" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/taperecorder, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/ferry) "ih" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -1780,7 +1812,9 @@ /area/centcom/central_command_areas/prison) "iB" = ( /turf/closed/indestructible/fakedoor{ - name = "CentCom Cell" + name = "CentCom Cell"; + dir = 4; + manual_align = 1 }, /area/centcom/central_command_areas/prison/cells) "iC" = ( @@ -2412,10 +2446,7 @@ "lb" = ( /obj/structure/table/wood, /obj/machinery/door/window/left/directional/south, -/obj/item/radio/intercom{ - desc = "Talk smack through this."; - syndie = 1 - }, +/obj/item/radio/intercom/syndicate, /turf/open/floor/iron/grimy, /area/centcom/central_command_areas/courtroom) "lc" = ( @@ -2428,10 +2459,7 @@ /area/centcom/central_command_areas/courtroom) "ld" = ( /obj/structure/table/wood, -/obj/item/radio/intercom{ - desc = "Talk smack through this."; - syndie = 1 - }, +/obj/item/radio/intercom/syndicate, /obj/machinery/door/window/brigdoor/right/directional/south{ name = "CentCom Stand"; req_access = list("cent_captain") @@ -2600,10 +2628,8 @@ /obj/structure/chair{ dir = 8 }, -/obj/item/radio/intercom{ - desc = "Talk smack through this."; +/obj/item/radio/intercom/syndicate{ pixel_x = -32; - syndie = 1 }, /turf/open/floor/iron/grimy, /area/centcom/central_command_areas/courtroom) @@ -2669,10 +2695,7 @@ /area/centcom/central_command_areas/courtroom) "mn" = ( /obj/structure/table/wood, -/obj/item/radio/intercom{ - desc = "Talk smack through this."; - syndie = 1 - }, +/obj/item/radio/intercom/syndicate, /turf/open/floor/iron/grimy, /area/centcom/central_command_areas/courtroom) "mo" = ( @@ -2905,6 +2928,11 @@ }, /turf/open/floor/iron, /area/centcom/central_command_areas/fore) +"nz" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/admin, +/turf/open/floor/iron/grimy, +/area/centcom/central_command_areas/briefing) "nA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -3766,6 +3794,13 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/centcom/central_command_areas/evacuation) +"rr" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/clipboard, +/obj/item/radio/headset/headset_cent, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/briefing) "rs" = ( /obj/effect/landmark/prisonwarp, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -4373,7 +4408,9 @@ "ub" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ - name = "CentCom" + name = "CentCom"; + manual_align = 1; + dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -4951,7 +4988,9 @@ "wu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ - name = "CentCom Security" + name = "CentCom Security"; + manual_align = 1; + dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -5041,7 +5080,9 @@ "wJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ - name = "CentCom" + name = "CentCom"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -5473,6 +5514,21 @@ }, /turf/open/floor/iron, /area/centcom/central_command_areas/supply) +"yR" = ( +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/stamp/denied{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/obj/item/stamp/centcom, +/turf/open/floor/iron/grimy, +/area/centcom/central_command_areas/briefing) "yS" = ( /obj/structure/table/reinforced, /obj/item/storage/box/emps, @@ -5486,7 +5542,9 @@ "yU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ - name = "CentCom" + name = "CentCom"; + manual_align = 1; + dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -6642,12 +6700,9 @@ /turf/open/floor/iron, /area/centcom/tdome/arena) "DT" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Green Team"; - network = list("thunder"); - pixel_x = 12; - pixel_y = -10; - resistance_flags = 64 +/obj/machinery/camera/motion/thunderdome/green_team{ + pixel_x = 11; + pixel_y = -9 }, /obj/effect/landmark/thunderdome/one, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -6976,13 +7031,6 @@ }, /turf/open/floor/iron, /area/centcom/tdome/observation) -"Ga" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/taperecorder, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/ferry) "Gb" = ( /obj/effect/light_emitter/thunderdome, /turf/closed/indestructible/fakeglass, @@ -7048,6 +7096,13 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/centcom/central_command_areas/admin/storage) +"Gz" = ( +/turf/closed/indestructible/fakedoor{ + name = "CentCom Cell"; + manual_align = 1; + dir = 4 + }, +/area/centcom/central_command_areas/prison/cells) "GB" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/stripes/line, @@ -7442,10 +7497,7 @@ /turf/open/floor/circuit/green, /area/centcom/tdome/arena) "Jj" = ( -/obj/machinery/flasher{ - id = "tdomeflash"; - name = "Thunderdome Flash" - }, +/obj/machinery/flasher/thunderdome, /turf/open/floor/circuit/green, /area/centcom/tdome/arena) "Jl" = ( @@ -7524,17 +7576,6 @@ }, /turf/open/floor/iron, /area/centcom/tdome/observation) -"Ke" = ( -/obj/item/clipboard, -/obj/item/folder/red, -/obj/item/stamp/denied{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stamp, -/obj/structure/table/reinforced, -/turf/open/floor/iron/grimy, -/area/centcom/central_command_areas/briefing) "Kf" = ( /obj/machinery/door/airlock/centcom{ name = "Administrative Storage" @@ -7655,6 +7696,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/centcom/central_command_areas/evacuation/ship) +"KW" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/button/door/indestructible{ + id = "XCCFerry"; + name = "Hanger Bay Shutters"; + pixel_y = -38 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/ferry) "KZ" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ @@ -8229,11 +8282,48 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/centcom/central_command_areas/control) +"NL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/centcom{ + name = "CentCom Security"; + dir = 4; + manual_align = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/admin/general, +/turf/open/floor/iron, +/area/centcom/central_command_areas/ferry) "NM" = ( /obj/structure/closet/crate/bin, /obj/machinery/light/directional/south, /turf/open/floor/wood, /area/centcom/central_command_areas/admin) +"NN" = ( +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/structure/table/reinforced, +/obj/item/stack/package_wrap{ + pixel_y = 11; + pixel_x = -16 + }, +/obj/item/stack/cable_coil{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/hand_labeler{ + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/hand_labeler_refill{ + pixel_x = 8; + pixel_y = 12 + }, +/turf/open/floor/iron/dark, +/area/centcom/central_command_areas/supply) "NO" = ( /turf/open/floor/iron/dark, /area/centcom/central_command_areas/supplypod) @@ -8323,7 +8413,9 @@ "Oj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ - name = "CentCom" + name = "CentCom"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8789,19 +8881,6 @@ "PW" = ( /turf/open/floor/iron, /area/centcom/central_command_areas/supplypod/loading/three) -"PX" = ( -/obj/structure/table/reinforced, -/obj/item/folder/red{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/folder/blue{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/lighter, -/turf/open/floor/iron/grimy, -/area/centcom/central_command_areas/briefing) "PY" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -9593,27 +9672,6 @@ /obj/effect/light_emitter/thunderdome, /turf/open/floor/iron, /area/centcom/tdome/arena) -"TO" = ( -/obj/machinery/keycard_auth/directional/south, -/obj/structure/table/reinforced, -/obj/item/stack/package_wrap{ - pixel_y = 11; - pixel_x = -16 - }, -/obj/item/stack/cable_coil{ - pixel_y = 4; - pixel_x = -10 - }, -/obj/item/hand_labeler{ - pixel_y = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/hand_labeler_refill{ - pixel_x = 8; - pixel_y = 12 - }, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/supply) "TS" = ( /obj/structure/table/wood, /obj/item/dice/d20{ @@ -9786,12 +9844,9 @@ /turf/open/floor/iron/dark, /area/centcom/tdome/observation) "UE" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Red Team"; - network = list("thunder"); +/obj/machinery/camera/motion/thunderdome/red_team{ pixel_x = 11; - pixel_y = -9; - resistance_flags = 64 + pixel_y = -9 }, /obj/effect/landmark/thunderdome/two, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -10247,17 +10302,17 @@ /obj/machinery/computer/station_alert{ dir = 8 }, -/obj/item/radio/intercom{ - desc = "Talk smack through this."; - pixel_x = 28; - syndie = 1 +/obj/item/radio/intercom/syndicate{ + pixel_x = 28 }, /turf/open/floor/iron/dark, /area/centcom/central_command_areas/control) "WQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ - name = "CentCom Security" + name = "CentCom Security"; + dir = 4; + manual_align = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -10389,18 +10444,6 @@ "Xq" = ( /turf/open/floor/wood, /area/centcom/central_command_areas/admin) -"Xr" = ( -/obj/machinery/keycard_auth/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/machinery/button/door/indestructible{ - id = "XCCFerry"; - name = "Hanger Bay Shutters"; - pixel_y = -38 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/centcom/central_command_areas/ferry) "Xs" = ( /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, @@ -10504,17 +10547,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/centcom/central_command_areas/supplypod) -"XV" = ( -/obj/structure/table/wood, -/obj/item/clipboard, -/obj/item/folder/red, -/obj/item/stamp/denied{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stamp, -/turf/open/floor/iron/grimy, -/area/centcom/central_command_areas/admin) "Ya" = ( /turf/closed/indestructible/riveted, /area/centcom/central_command_areas/armory) @@ -10894,6 +10926,21 @@ }, /turf/open/floor/iron, /area/centcom/central_command_areas/supplypod/loading/four) +"ZR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/centcom{ + name = "CentCom"; + dir = 4; + manual_align = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/iron, +/area/centcom/central_command_areas/control) "ZS" = ( /obj/structure/table/reinforced, /obj/item/wrench, @@ -45273,7 +45320,7 @@ aa aa aa oe -Ga +ig sq to ZN @@ -45533,7 +45580,7 @@ mD FX sr tp -Xr +KW mD aa oe @@ -47078,9 +47125,9 @@ tu mD mD mD -wu +NL xh -wu +NL mD gO cn @@ -47344,7 +47391,7 @@ WN cb Bu tb -aV +rr ho gO aa @@ -48112,8 +48159,8 @@ fa mD PU eF -PX -Ke +nz +yR eV eF xU @@ -49123,7 +49170,7 @@ vo fP On Zw -XV +df hd To BT @@ -50662,7 +50709,7 @@ iF Pg mH nm -TO +NN On Ui JC @@ -56589,7 +56636,7 @@ io io Oj mk -Oj +hn io io iu @@ -58365,7 +58412,7 @@ ir iB Jb ir -iB +Gz YX ir iB @@ -58643,9 +58690,9 @@ cg cg cg cg -yU +ZR GJ -yU +ZR cg cg cg diff --git a/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_1.dmm b/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_1.dmm index ff6ec0d0474c5..5a2f03b305534 100644 --- a/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_1.dmm @@ -12,7 +12,9 @@ /area/station/maintenance/port/aft) "d" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/port/aft) "f" = ( @@ -33,7 +35,9 @@ /area/station/maintenance/port/aft) "m" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/aft) @@ -45,7 +49,9 @@ "o" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/camera, +/obj/item/camera{ + pixel_y = 7 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) "p" = ( @@ -117,7 +123,8 @@ "A" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/button/door{ +/obj/machinery/button/door/table{ + pixel_y = 6; id = "maintmememan" }, /turf/open/floor/iron/smooth, @@ -168,7 +175,9 @@ /area/station/maintenance/port/aft) "N" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) "O" = ( @@ -218,7 +227,9 @@ /obj/structure/rack, /obj/effect/spawner/random/engineering/tool, /obj/effect/spawner/random/engineering/flashlight, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) "Z" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_2.dmm b/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_2.dmm index 39cc80389ac53..57f407b5ea0d0 100644 --- a/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_2.dmm @@ -22,14 +22,20 @@ "r" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/clothing/gloves, +/obj/effect/spawner/random/clothing/gloves{ + pixel_y = 9 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) "s" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/bureaucracy/folder, -/obj/effect/spawner/random/bureaucracy/pen, +/obj/effect/spawner/random/bureaucracy/folder{ + pixel_y = 10 + }, +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_y = 9 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) "y" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_3.dmm index cc3605027ed42..2548c2ae4b8e1 100644 --- a/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/arrivallibraryupper_3.dmm @@ -7,11 +7,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"f" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/external/directional/south, -/turf/open/floor/iron/smooth, -/area/station/maintenance/port/aft) "h" = ( /turf/open/misc/asteroid/airless, /area/station/asteroid) @@ -32,6 +27,7 @@ "n" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/plating, /area/station/maintenance/port/aft) "p" = ( @@ -398,7 +394,7 @@ a a a Z -f +Z y w G diff --git a/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_1.dmm b/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_1.dmm index 67bdf4f43e910..ca0daa5b2a915 100644 --- a/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_1.dmm @@ -37,7 +37,9 @@ "m" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) "o" = ( @@ -82,7 +84,9 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance/six, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) "G" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_2.dmm b/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_2.dmm index ed00e590e9d2e..cb928df04daa0 100644 --- a/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_2.dmm @@ -22,7 +22,9 @@ "j" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) "l" = ( @@ -39,7 +41,9 @@ "q" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/gambling, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) "s" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_3.dmm index 085542568ac84..0ec2bf213109a 100644 --- a/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/arrivalsecupper_3.dmm @@ -9,7 +9,9 @@ /obj/effect/spawner/random/engineering/material_cheap, /obj/effect/spawner/random/engineering/flashlight, /obj/effect/spawner/random/engineering/tool, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) "d" = ( @@ -126,12 +128,16 @@ pixel_x = 5; pixel_y = 8 }, -/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/restraints/handcuffs/cable/zipties{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) "Z" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/eva) diff --git a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_1.dmm index 0cafad1c28f9d..a4fa43c88dbe6 100644 --- a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_1.dmm @@ -12,7 +12,6 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/structure/sign/warning/electric_shock/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -300,7 +299,9 @@ /area/station/maintenance/starboard/lesser) "Q" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/structure/closet/cardboard, /obj/effect/spawner/random/maintenance/three, /obj/effect/spawner/random/engineering/material_cheap, diff --git a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_2.dmm index 63b01e5ed5ad0..0fa69273d6745 100644 --- a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_2.dmm @@ -1,7 +1,9 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "bG" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "ce" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_3.dmm index 1d810ed7e6bb1..18306a4a04403 100644 --- a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_3.dmm @@ -18,19 +18,20 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/structure/sign/warning/electric_shock/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "d" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, /obj/item/reagent_containers/cup/bucket{ pixel_x = -12; pixel_y = 14 }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, +/obj/structure/sink/directional/north, +/obj/structure/mirror/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "f" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_1.dmm index b3959ec8463b1..38a000df886b8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_1.dmm @@ -8,48 +8,36 @@ /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "g" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 37; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 22; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 27; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 32; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/x{ - pixel_x = 32 - }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "h" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/folder/blue{ - pixel_y = 6; + pixel_y = 14; pixel_x = 6 }, /obj/item/folder/red{ - pixel_x = 8 + pixel_x = 8; + pixel_y = 6 }, /obj/item/paper_bin{ pixel_x = -5; - pixel_y = 4 + pixel_y = 10 }, /obj/item/pen/fourcolor, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) +"j" = ( +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "k" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -61,32 +49,33 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "t" = ( +/obj/item/wrench, /obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) +"u" = ( /obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 37; - pixel_y = 1 + pixel_x = 1; + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 22; - pixel_y = 1 + pixel_x = 5; + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 27; - pixel_y = 1 + pixel_x = 9; + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 32; - pixel_y = 1 + pixel_x = 13; + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/x{ - pixel_x = 32 + pixel_x = 8; + pixel_y = 32 }, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) -"u" = ( -/obj/item/weldingtool/empty, /obj/effect/decal/cleanable/dirt, +/obj/item/weldingtool/empty, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "w" = ( @@ -101,25 +90,6 @@ /area/station/maintenance/starboard/lesser) "x" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 37; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 22; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 27; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 32; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/crayon/x{ - pixel_x = 32 - }, /obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -155,28 +125,73 @@ }, /obj/item/paper{ name = "my last will and testament"; - default_raw_text = "if you are reading this, that means i have died during the construction of this abomination against mankind. i leave behind all my material wealth to my dog brian and i part this plane of existence with these words of wisdom: do no take contract work from nanotrasen they don't give you health benefits" + default_raw_text = "if you are reading this, that means i have died during the construction of this abomination against mankind. i leave behind all my material wealth to my dog brian and i part this plane of existence with these words of wisdom: do no take contract work from nanotrasen they don't give you health benefits"; + pixel_y = 10 }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "M" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/radio/off, +/obj/item/radio/off{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "N" = ( +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 1; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 5; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 9; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 13; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/x{ + pixel_x = 8; + pixel_y = 32 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/wrench, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "O" = ( +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 1; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 5; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 9; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 13; + pixel_y = 32 + }, +/obj/effect/decal/cleanable/crayon/x{ + pixel_x = 8; + pixel_y = 32 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/cup/glass/waterbottle/empty, /obj/item/reagent_containers/cup/glass/waterbottle/empty{ pixel_x = -7; pixel_y = -4 }, +/obj/item/reagent_containers/cup/glass/waterbottle/empty{ + pixel_x = 4; + pixel_y = 4 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "Q" = ( @@ -242,7 +257,7 @@ W "} (3,1,1) = {" w -F +g F C R @@ -261,7 +276,7 @@ W (4,1,1) = {" W N -E +t E s h @@ -279,7 +294,7 @@ W (5,1,1) = {" W u -A +j d I M @@ -298,8 +313,8 @@ W W O x -g -t +F +A a a W diff --git a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_3.dmm index 670386ca82910..3932ff672056c 100644 --- a/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/atmoscilower_attachment_a_3.dmm @@ -47,8 +47,12 @@ "p" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/clothing/gloves/cargo_gauntlet, -/obj/item/clothing/gloves/cargo_gauntlet, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 9 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 13 + }, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) @@ -71,15 +75,6 @@ "u" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/structure/noticeboard/directional/south, -/obj/item/paper{ - default_raw_text = "Please make sure all heavy equipment and tools are stored properly between sessions to prevent on-site accidents! All current workers comp filings will have a minimal delay of 3 months to be reviewed from date of entry. If you are unable to work during those months, we will NOT be paying compensation until legally required. This isn't a threat."; - name = "Storage Units" - }, -/obj/item/paper{ - default_raw_text = "Mark this room off as long-term storage, isn't worth trying to retrieve the containers before closing off the halls."; - name = "Equipment Notice" - }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "v" = ( @@ -98,9 +93,20 @@ /area/station/maintenance/starboard/lesser) "x" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/light/small/directional/east, -/turf/open/floor/catwalk_floor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/atmospherics_portable, +/obj/structure/noticeboard/directional/north, +/obj/item/paper{ + default_raw_text = "Mark this room off as long-term storage, isn't worth trying to retrieve the containers before closing off the halls."; + name = "Equipment Notice" + }, +/obj/item/paper{ + default_raw_text = "Please make sure all heavy equipment and tools are stored properly between sessions to prevent on-site accidents! All current workers comp filings will have a minimal delay of 3 months to be reviewed from date of entry. If you are unable to work during those months, we will NOT be paying compensation until legally required. This isn't a threat."; + name = "Storage Units" + }, +/turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "y" = ( /obj/effect/decal/cleanable/dirt, @@ -110,7 +116,9 @@ /area/station/maintenance/starboard/lesser) "A" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/lesser) "C" = ( @@ -265,7 +273,7 @@ c "} (5,1,1) = {" J -t +x t q w @@ -361,7 +369,7 @@ Y U Y Y -x +U Y Y J diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_1.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_1.dmm index eab9280b8fa79..3c36b052e2797 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_1.dmm @@ -121,7 +121,7 @@ "pP" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, -/obj/structure/sign/warning/electric_shock/directional/north, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/department/cargo) "qy" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_2.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_2.dmm index 0901318e30143..e549405509648 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_2.dmm @@ -188,13 +188,13 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/department/cargo) "tf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'MULE CROSSING - LOOK BOTH WAYS"; - name = "MULE CROSSING - LOOK BOTH WAYS"; - pixel_x = -32 + name = "MULE CROSSING - LOOK BOTH WAYS" }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/cargo) @@ -1124,7 +1124,7 @@ Fz Fz Fz Fz -wo +tf Fz Fz Fz @@ -1160,7 +1160,7 @@ se se se Fz -tf +nK wo Fz se diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_3.dmm index 775e31e6b9d8a..e9aea6e06da8a 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_3.dmm @@ -21,15 +21,23 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/effect/landmark/generic_maintenance_landmark, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = -3 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) "da" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/structure/railing{ dir = 4 }, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/department/cargo) "dB" = ( @@ -202,18 +210,10 @@ "tV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 4 - }, /obj/item/flashlight/lamp{ - pixel_x = 8; + pixel_x = -1; pixel_y = 9 }, -/obj/item/pen{ - pixel_x = 8; - pixel_y = -3 - }, /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_1.dmm index 033eea79f616d..905f6e88d2bb2 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_1.dmm @@ -130,7 +130,11 @@ "Z" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, -/obj/structure/mirror/directional/east, +/obj/item/shard, +/obj/structure/mirror/broken{ + pixel_y = 6; + pixel_x = 4 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_2.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_2.dmm index 78db466ab5b3e..d1992ce6a2d93 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_2.dmm @@ -43,10 +43,18 @@ /area/station/maintenance/department/cargo) "l" = ( /obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, +/obj/item/stack/package_wrap{ + pixel_y = 11 + }, +/obj/item/hand_labeler{ + pixel_y = 1; + pixel_x = 5 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/knife/kitchen, +/obj/item/knife/kitchen{ + pixel_y = 11; + pixel_x = -7 + }, /turf/open/floor/iron/cafeteria, /area/station/maintenance/department/cargo) "m" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_3.dmm index 933e982d3a8df..549b797892c66 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_a_3.dmm @@ -5,9 +5,13 @@ "c" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/shaker, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 9; + pixel_x = -6 + }, /obj/structure/desk_bell{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 16 }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) @@ -47,7 +51,9 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, /obj/machinery/light/small/directional/north, -/obj/item/storage/box/beanbag, +/obj/item/storage/box/beanbag{ + pixel_y = 11 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) "K" = ( @@ -58,13 +64,19 @@ pixel_x = -7 }, /obj/effect/spawner/random/food_or_drink/booze{ - spawn_random_offset = 1 + spawn_random_offset = 1; + pixel_y = 9; + pixel_x = -3 }, /obj/effect/spawner/random/food_or_drink/booze{ - spawn_random_offset = 1 + spawn_random_offset = 1; + pixel_y = 19; + pixel_x = 4 }, /obj/effect/spawner/random/food_or_drink/booze{ - spawn_random_offset = 1 + spawn_random_offset = 1; + pixel_y = 9; + pixel_x = 9 }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) diff --git a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_b_3.dmm index ed88b7cffa3ee..7d3442923de5e 100644 --- a/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/barcargoupper_attachment_b_3.dmm @@ -12,7 +12,7 @@ default_raw_text = "what the hell is this thing....???? tell me ur secrets you devil machine!!! i will not be denied!!!!!"; name = "scribbled notes" }, -/obj/structure/sign/clock/directional/west, +/obj/structure/sign/clock, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) "l" = ( @@ -25,7 +25,9 @@ "r" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/relic, +/obj/item/relic{ + pixel_y = 11 + }, /obj/item/pen{ pixel_x = -4 }, @@ -34,6 +36,11 @@ "u" = ( /turf/template_noop, /area/template_noop) +"y" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/calendar, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/cargo) "F" = ( /turf/closed/wall, /area/station/maintenance/department/cargo) @@ -51,7 +58,6 @@ pixel_x = 2; pixel_y = 4 }, -/obj/structure/sign/calendar/directional/west, /turf/open/floor/iron/smooth, /area/station/maintenance/department/cargo) "N" = ( @@ -80,7 +86,7 @@ F "} (3,1,1) = {" u -a +y a l F diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_1.dmm index 4e78a2717afed..5723da6a142a8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_1.dmm @@ -184,7 +184,9 @@ "kD" = ( /obj/structure/chair/comfy/shuttle, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) "ll" = ( @@ -260,7 +262,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) "rI" = ( @@ -485,7 +489,9 @@ "QA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "QI" = ( @@ -548,7 +554,9 @@ "WM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "Xj" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_2.dmm index b87596b583e7c..7ca1ff790d21b 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_2.dmm @@ -164,7 +164,9 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) "wH" = ( @@ -181,12 +183,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) "xG" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "xJ" = ( @@ -294,14 +300,15 @@ "Fe" = ( /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - c_tag = "Maintenance - Escape Pod"; - dir = 9 - }, /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Maintenance - Escape Pod Dock" + }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) "HT" = ( @@ -392,7 +399,9 @@ pixel_x = 10; pixel_y = -6 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "RF" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_3.dmm index 53d727123ce66..205858eef224e 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_3.dmm @@ -158,7 +158,9 @@ "py" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "qa" = ( @@ -178,8 +180,12 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high/empty{ + pixel_y = 9 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/central) @@ -206,8 +212,13 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/item/storage/belt/utility, -/obj/item/clothing/glasses/welding, +/obj/item/storage/belt/utility{ + pixel_y = 15; + pixel_x = 3 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 9 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/central) @@ -255,7 +266,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) "xJ" = ( @@ -333,7 +346,7 @@ /obj/structure/table, /obj/item/stack/sheet/plasteel{ amount = 5; - pixel_y = 9 + pixel_y = 13 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/purple/fourcorners, @@ -507,7 +520,9 @@ "RH" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/maintenance/starboard/central) diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_1.dmm index 0ae62c7a1f6ea..71231c49de0fe 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_1.dmm @@ -2,13 +2,13 @@ "a" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, -/obj/structure/sign/poster/contraband/kudzu/directional/west, +/obj/structure/sign/poster/contraband/ambrosia_vulgaris, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "b" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, -/obj/structure/sign/poster/contraband/ambrosia_vulgaris/directional/east, +/obj/structure/sign/poster/contraband/kudzu, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "e" = ( @@ -160,7 +160,7 @@ o "} (9,1,1) = {" s -h +b s s s @@ -171,15 +171,15 @@ o s h h -a +h s V o "} (11,1,1) = {" s +a h -b h s V diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_3.dmm index b11609c9d357c..e9cbebe80cdc7 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_a_3.dmm @@ -20,8 +20,12 @@ "h" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high/empty{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "n" = ( @@ -45,7 +49,9 @@ /area/station/maintenance/starboard/central) "G" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "J" = ( @@ -70,7 +76,9 @@ "R" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/radio/off, +/obj/item/radio/off{ + pixel_y = 9 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "S" = ( @@ -87,14 +95,16 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/stock_parts/power_store/cell/empty{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 9 }, /obj/item/stock_parts/power_store/cell/empty{ - pixel_x = 2; - pixel_y = 8 + pixel_x = 7; + pixel_y = 9 }, /obj/item/stock_parts/power_store/cell/empty{ - pixel_x = 7 + pixel_x = 2; + pixel_y = 16 }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_2.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_2.dmm index 15b6ef7b0954c..0496e37c17411 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_2.dmm @@ -56,7 +56,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron, /area/station/maintenance/starboard/central) "X" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_3.dmm index 14ae1647b60cf..a02e6fc8e61c3 100644 --- a/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/cargoscilower_attachment_b_3.dmm @@ -30,8 +30,8 @@ /area/station/maintenance/starboard/central) "E" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, +/obj/structure/sink/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/central) "H" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm index 7e99bf96803cd..ec3d97922a89e 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm @@ -29,7 +29,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "ci" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "cN" = ( @@ -82,8 +84,8 @@ "fe" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/central/lesser) "fE" = ( @@ -108,14 +110,14 @@ /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/asteroid) "gt" = ( -/obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/vacuum/external/directional/south, +/obj/structure/cable, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/lesser) "gD" = ( @@ -363,7 +365,9 @@ /area/station/maintenance/central/lesser) "uc" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) @@ -577,7 +581,9 @@ /area/station/maintenance/central/lesser) "Iw" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/rack, /obj/item/shovel{ pixel_x = -5 @@ -791,12 +797,12 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "TC" = ( -/obj/structure/sink/directional/south, /obj/item/reagent_containers/cup/bucket{ pixel_x = 8; pixel_y = 12 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/north, /turf/open/floor/plating, /area/template_noop) "UQ" = ( @@ -815,7 +821,9 @@ /obj/structure/mop_bucket/janitorialcart, /obj/item/mop, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/template_noop) "VT" = ( @@ -2868,7 +2876,7 @@ cV cV cV cV -oU +gt cV cV cV @@ -2904,7 +2912,7 @@ CB CB oP zF -gt +gZ cV Xm Gs diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm index e7c0c22ad0575..2bc553ad6c4c9 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm @@ -96,8 +96,8 @@ "fe" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/central/lesser) "fE" = ( @@ -120,14 +120,14 @@ /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/asteroid) "gt" = ( -/obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/vacuum/external/directional/south, +/obj/structure/cable, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/lesser) "gx" = ( @@ -187,11 +187,24 @@ /area/station/maintenance/central/lesser) "id" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, /obj/item/soap/nanotrasen, +/obj/structure/sink/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) +"iU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/central/lesser) "jG" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/mapping_helpers/broken_floor, @@ -249,12 +262,12 @@ /turf/open/floor/plating/airless, /area/station/maintenance/department/crew_quarters/dorms) "lU" = ( -/obj/structure/sink/directional/south, /obj/item/reagent_containers/cup/bucket{ pixel_x = 8; pixel_y = 12 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/north, /turf/open/floor/plating, /area/template_noop) "mg" = ( @@ -302,7 +315,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "np" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/rack, /obj/effect/spawner/random/engineering/material, /obj/effect/spawner/random/engineering/material_cheap, @@ -738,7 +753,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "Lp" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/crew_quarters/dorms) "Lq" = ( @@ -763,7 +780,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "Mq" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "MA" = ( @@ -816,7 +835,9 @@ /obj/structure/mop_bucket/janitorialcart, /obj/item/mop, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/template_noop) "PL" = ( @@ -950,7 +971,9 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/mop_bucket/janitorialcart, /obj/item/mop, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "Xm" = ( @@ -3040,7 +3063,7 @@ cV cV cV cV -oU +gt cV cV cV @@ -3076,7 +3099,7 @@ BO CB oP zF -gt +gZ cV Xm Gs @@ -3489,7 +3512,7 @@ AN AN AN cV -pM +iU gQ AN AN diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm index 334f49ad8b602..e4e3017e742f4 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm @@ -43,8 +43,8 @@ "fe" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/central/lesser) "fE" = ( @@ -58,14 +58,14 @@ /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/asteroid) "gt" = ( -/obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/vacuum/external/directional/south, +/obj/structure/cable, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/lesser) "gQ" = ( @@ -303,7 +303,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "wo" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "wM" = ( @@ -479,7 +481,9 @@ /area/station/maintenance/central/lesser) "Hw" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, /obj/effect/spawner/random/engineering/material_cheap, @@ -639,13 +643,16 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/clothing/gloves/color/purple{ - pixel_y = 4 + pixel_y = 12 }, /obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 7; - pixel_y = 9 + pixel_x = 8; + pixel_y = 15 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_y = 8; + pixel_x = 8 }, -/obj/item/grenade/chem_grenade/cleaner, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "TZ" = ( @@ -655,7 +662,10 @@ pixel_x = 6; pixel_y = 6 }, -/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_y = 16; + pixel_x = -7 + }, /obj/item/grenade/chem_grenade/cleaner{ pixel_y = 6; pixel_x = -7 @@ -695,7 +705,9 @@ /area/station/maintenance/central/lesser) "US" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "Vf" = ( @@ -708,10 +720,12 @@ /area/station/maintenance/central/lesser) "Vr" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/sink/directional/south, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/mirror/directional/north, /obj/item/lipstick/random, +/obj/structure/sink/directional/north, /turf/open/floor/plating, /area/station/maintenance/central/lesser) "Vt" = ( @@ -2771,7 +2785,7 @@ cV cV cV cV -oU +gt cV cV cV @@ -2807,7 +2821,7 @@ US CB oP zF -gt +gZ cV Xm Gs diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_1.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_1.dmm index bfe095561311a..b8099d5c207ee 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_1.dmm @@ -74,7 +74,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/obj/item/wrench, +/obj/item/wrench{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "t" = ( @@ -90,8 +92,12 @@ "v" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high/empty{ + pixel_y = 10 + }, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_2.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_2.dmm index 84044cbcf32a6..fb72e22298bd8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_2.dmm @@ -41,7 +41,9 @@ "F" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "I" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_3.dmm index ea63b6b8e86d7..fc6df1ff5e14d 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_attachment_b_3.dmm @@ -24,7 +24,9 @@ "n" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_y = 13 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/lesser) "p" = ( @@ -43,7 +45,9 @@ /area/station/maintenance/central/lesser) "B" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/structure/rack, /obj/effect/spawner/random/maintenance/four, /turf/open/floor/plating, @@ -63,7 +67,9 @@ /area/station/maintenance/central/lesser) "L" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, /obj/effect/spawner/random/engineering/material, diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_1.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_1.dmm index 5837cc106b4fa..0160891103854 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_1.dmm @@ -25,8 +25,8 @@ "ee" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "ge" = ( @@ -56,7 +56,6 @@ /area/station/maintenance/department/crew_quarters/dorms) "ii" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/catwalk_floor, @@ -64,7 +63,9 @@ "jQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/dice, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 7 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "kt" = ( @@ -136,7 +137,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /obj/structure/table, -/obj/effect/spawner/random/entertainment/deck, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 12 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "uH" = ( @@ -176,7 +179,9 @@ "yF" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/spawner/random/structure/steam_vent, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "zp" = ( @@ -272,6 +277,9 @@ /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /obj/effect/spawner/random/engineering/material_cheap, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "LS" = ( @@ -351,7 +359,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "Sp" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "SD" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_2.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_2.dmm index 71f54735eafbf..d6c5c41ad8a27 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_2.dmm @@ -110,7 +110,9 @@ /obj/effect/spawner/random/engineering/material_cheap, /obj/effect/spawner/random/medical/minor_healing, /obj/effect/spawner/random/medical/supplies, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "nW" = ( @@ -205,7 +207,9 @@ /obj/effect/turf_decal/trimline/yellow/warning{ dir = 5 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "zX" = ( @@ -315,8 +319,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'MULE CROSSING - LOOK BOTH WAYS"; - name = "MULE CROSSING - LOOK BOTH WAYS"; - pixel_y = -32 + name = "MULE CROSSING - LOOK BOTH WAYS" }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/crew_quarters/dorms) @@ -354,8 +357,8 @@ "Oe" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "Oi" = ( @@ -416,7 +419,9 @@ }, /obj/effect/turf_decal/trimline/yellow/corner, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "Wu" = ( @@ -1425,7 +1430,7 @@ BZ BZ BZ qB -Jn +Uk CH CH CH diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm index 69b84841086c3..535bae1a13b28 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm @@ -68,11 +68,15 @@ /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "jc" = ( -/turf/closed/wall, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/machinery/light/small/directional/south, +/turf/open/floor/grass, /area/station/asteroid) "ku" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "kx" = ( @@ -109,13 +113,13 @@ "pi" = ( /obj/effect/turf_decal/stripes/end, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "pB" = ( /turf/closed/wall, -/area/station/hallway/primary/tram/center) +/area/station/commons/fitness/recreation) "qf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tank, @@ -256,6 +260,13 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/crew_quarters/dorms) +"FY" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/grass, +/area/station/asteroid) "GE" = ( /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, @@ -286,7 +297,9 @@ /area/station/commons/fitness/recreation) "Kx" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "KO" = ( @@ -384,7 +397,9 @@ /area/station/maintenance/department/crew_quarters/dorms) "VM" = ( /obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) @@ -1300,7 +1315,7 @@ oy AG AG rO -ca +jc GW GW GW @@ -1327,7 +1342,7 @@ AG rO cs cs -jc +pB ym ym cs @@ -1357,7 +1372,7 @@ ym "} (27,1,1) = {" Cp -Ms +FY cs rO cs @@ -1392,7 +1407,7 @@ ym "} (28,1,1) = {" rO -jc +pB cs cs cs diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_1.dmm index 9d8fb07fb22b7..3528b3d44d89a 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_1.dmm @@ -18,7 +18,9 @@ /area/template_noop) "v" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, /obj/effect/spawner/random/engineering/material_cheap, diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_2.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_2.dmm index 02c78e1bca10d..4e0bf27bcc083 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_2.dmm @@ -17,7 +17,9 @@ /area/template_noop) "x" = ( /obj/structure/table, -/obj/item/camera, +/obj/item/camera{ + pixel_y = 10 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) @@ -64,13 +66,16 @@ /area/station/maintenance/department/crew_quarters/dorms) "R" = ( /obj/structure/table, -/obj/item/camera_film, +/obj/item/camera_film{ + pixel_y = 7 + }, /obj/item/camera_film{ pixel_x = -4; - pixel_y = 4 + pixel_y = 13 }, /obj/item/camera_film{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 13 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_3.dmm index f9e1616e678e8..c680b92f86b54 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_a_3.dmm @@ -75,14 +75,17 @@ /area/station/maintenance/department/crew_quarters/dorms) "O" = ( /obj/structure/table/wood, -/obj/item/taperecorder, +/obj/item/taperecorder{ + pixel_y = 12; + pixel_x = -7 + }, /obj/item/tape{ pixel_x = 6; - pixel_y = -2 + pixel_y = 13 }, /obj/item/tape{ - pixel_x = -3; - pixel_y = -5 + pixel_x = 6; + pixel_y = 3 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_2.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_2.dmm index 127907fc5a203..c04c3e873ba63 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_2.dmm @@ -38,14 +38,16 @@ /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "u" = ( -/obj/structure/sink/directional/east, /obj/item/reagent_containers/cup/bucket{ pixel_x = -9; pixel_y = -17 }, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/mirror/directional/west, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/effect/decal/cleanable/dirt, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/dorms) "v" = ( @@ -72,7 +74,9 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "J" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) @@ -94,8 +98,8 @@ "T" = ( /obj/structure/table, /obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 + pixel_x = 1; + pixel_y = 9 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_3.dmm index 8dcce8fec6823..4d41137852625 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_attachment_b_3.dmm @@ -76,7 +76,9 @@ "y" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/crew_quarters/dorms) "z" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_1.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_1.dmm index bed44b8895c9a..c0f1a4ffc61c8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_1.dmm @@ -114,7 +114,9 @@ "pf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical) "qs" = ( @@ -140,7 +142,6 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical) "uQ" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_2.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_2.dmm index 9e76b86ee6400..efc6b914ffd48 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_2.dmm @@ -76,7 +76,6 @@ /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance/three, /obj/effect/spawner/random/engineering/flashlight, -/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical) "hR" = ( @@ -246,8 +245,14 @@ "FQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/booze, -/obj/effect/spawner/random/food_or_drink/booze, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 9; + pixel_x = 6 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/science) "Gb" = ( @@ -342,7 +347,6 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical) "Pn" = ( @@ -356,8 +360,12 @@ "Qx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/trash/candle, -/obj/effect/spawner/random/food_or_drink/dinner, +/obj/item/trash/candle{ + pixel_y = 12 + }, +/obj/effect/spawner/random/food_or_drink/dinner{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical) "QR" = ( @@ -413,6 +421,13 @@ "Xc" = ( /turf/open/openspace, /area/station/maintenance/department/medical) +"Xz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/medical) "Yf" = ( /turf/closed/wall, /area/station/maintenance/department/science) @@ -1082,7 +1097,7 @@ nm nm nm Sz -Kw +Xz hi KS cJ diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_3.dmm index 5e40d0ac4f60a..141ed3fa409fe 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_3.dmm @@ -170,7 +170,9 @@ /area/station/maintenance/department/medical) "om" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/window/spawner/directional/east, /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/plating, @@ -200,7 +202,6 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical) "vz" = ( @@ -383,8 +384,13 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/booze, -/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 17; + pixel_x = 9 + }, +/obj/effect/spawner/random/food_or_drink/snack{ + pixel_y = 10 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical) "GQ" = ( @@ -527,7 +533,9 @@ /area/station/maintenance/department/medical) "SR" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/science) "To" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_1.dmm index f58d6cd2a20e0..73788d80387ad 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_1.dmm @@ -64,8 +64,15 @@ /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tool, -/obj/effect/spawner/random/engineering/tool, +/obj/effect/spawner/random/engineering/tool{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/effect/spawner/random/engineering/tool{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) "x" = ( @@ -121,31 +128,34 @@ dir = 8 }, /obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high/empty{ + pixel_y = 10 + }, /turf/open/floor/iron, /area/station/maintenance/department/science) "V" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, /obj/item/bodypart/head/robot{ pixel_x = 6; - pixel_y = 9 + pixel_y = 17 }, /obj/item/bodypart/arm/right/robot{ pixel_x = 7; - pixel_y = -1 + pixel_y = 7 }, /obj/item/bodypart/arm/left/robot{ - pixel_x = -10; + pixel_x = -1; pixel_y = 7 }, /obj/item/assembly/flash/cyborg{ pixel_x = -6; - pixel_y = 2 + pixel_y = 15 }, -/obj/structure/sign/poster/official/build/directional/north, +/obj/structure/sign/poster/official/build, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) "X" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_3.dmm index 60b24f529f039..c54290d4b0ac8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_a_3.dmm @@ -57,11 +57,6 @@ }, /obj/effect/decal/cleanable/dirt, /obj/item/storage/box/syringes, -/obj/structure/sign/warning/secure_area{ - pixel_x = 32; - name = "TESTING RANGE sign"; - desc = "A warning sign which reads 'TESTING RANGE'." - }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 }, @@ -185,7 +180,6 @@ /obj/effect/decal/cleanable/dirt, /obj/item/target/clown, /obj/structure/sign/warning/secure_area{ - pixel_x = 32; name = "TESTING RANGE sign"; desc = "A warning sign which reads 'TESTING RANGE'." }, diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_1.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_1.dmm index ec76b1e334cc6..38bba14b7caab 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_1.dmm @@ -2,8 +2,12 @@ "a" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/reinforced, -/obj/item/storage/box/bodybags, -/obj/item/clothing/gloves/latex, +/obj/item/storage/box/bodybags{ + pixel_y = 10 + }, +/obj/item/clothing/gloves/latex{ + pixel_y = 10 + }, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical) "b" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_3.dmm index 5b4929e322214..e9f5aca3fede8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/medsciupper_attachment_b_3.dmm @@ -32,6 +32,12 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/department/medical) +"v" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white, +/area/station/maintenance/department/medical) "H" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ @@ -62,7 +68,6 @@ "U" = ( /obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/maintenance/department/medical) @@ -85,7 +90,7 @@ a b "} (3,1,1) = {" -a +v U "} (4,1,1) = {" diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_1.dmm index 05be96b910a62..0a80dafec3406 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_1.dmm @@ -60,7 +60,9 @@ /turf/open/floor/plating, /area/station/maintenance/department/security) "he" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/misc/asteroid, /area/station/maintenance/department/security) "hC" = ( @@ -114,7 +116,9 @@ /obj/machinery/plumbing/synthesizer{ reagent_id = /datum/reagent/water }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) "oW" = ( @@ -327,7 +331,9 @@ /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/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) "Tx" = ( @@ -348,8 +354,7 @@ /obj/machinery/duct, /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'MULE CROSSING - LOOK BOTH WAYS"; - name = "MULE CROSSING - LOOK BOTH WAYS"; - pixel_y = 32 + name = "MULE CROSSING - LOOK BOTH WAYS" }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) @@ -411,6 +416,7 @@ "YF" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/nanotrasen_logo, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "YY" = ( @@ -428,7 +434,6 @@ /obj/machinery/light/small/directional/north, /obj/structure/table, /obj/item/reagent_containers/cup/bucket, -/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "ZA" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_2.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_2.dmm index f8d68d028dcbe..f5a0831e8dda3 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_2.dmm @@ -4,6 +4,9 @@ /obj/machinery/plumbing/synthesizer{ reagent_id = /datum/reagent/water }, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) "dz" = ( @@ -32,10 +35,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'MULE CROSSING - LOOK BOTH WAYS"; - name = "MULE CROSSING - LOOK BOTH WAYS"; - pixel_y = 32 + name = "MULE CROSSING - LOOK BOTH WAYS" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) "dX" = ( @@ -104,7 +108,7 @@ "lW" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/poster/official/nanotrasen_logo, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "mz" = ( @@ -133,7 +137,6 @@ /obj/machinery/light/small/directional/north, /obj/structure/table, /obj/item/reagent_containers/cup/bucket, -/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "rN" = ( @@ -412,8 +415,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'MULE CROSSING - LOOK BOTH WAYS"; - name = "MULE CROSSING - LOOK BOTH WAYS"; - pixel_y = 32 + name = "MULE CROSSING - LOOK BOTH WAYS" }, /obj/machinery/duct, /turf/open/floor/catwalk_floor, diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm index e9c4eba94c998..5c47f9dc2f4b4 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm @@ -65,7 +65,9 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) "eW" = ( -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/openspace, /area/station/maintenance/department/security) "fV" = ( @@ -83,7 +85,9 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "ip" = ( @@ -313,12 +317,15 @@ /obj/machinery/plumbing/synthesizer{ reagent_id = /datum/reagent/water }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/security) "DS" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/nanotrasen_logo, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "EH" = ( @@ -500,7 +507,6 @@ /obj/machinery/light/small/directional/north, /obj/structure/table, /obj/item/reagent_containers/cup/bucket, -/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "Yg" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_1.dmm index c709ff932851f..6dee874b4fcdb 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_1.dmm @@ -36,7 +36,9 @@ /area/station/maintenance/department/security) "o" = ( /obj/structure/table, -/obj/item/paper_bin/carbon, +/obj/item/paper_bin/carbon{ + pixel_y = 11 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) @@ -44,14 +46,16 @@ /obj/structure/table, /obj/item/paper_bin{ pixel_x = -5; - pixel_y = 4 + pixel_y = 11 }, /obj/item/pen{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 12 }, /obj/effect/decal/cleanable/dirt, /obj/item/folder/red{ - pixel_x = 3 + pixel_x = 6; + pixel_y = 5 }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) @@ -65,7 +69,9 @@ }, /obj/item/paper/secretrecipe, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "H" = ( @@ -78,7 +84,8 @@ /obj/structure/table, /obj/machinery/fax{ fax_name = "Head of Personnel's Office"; - name = "Head of Personnel's Fax Machine" + name = "Head of Personnel's Fax Machine"; + pixel_y = 10 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -90,8 +97,13 @@ /area/station/maintenance/department/security) "T" = ( /obj/structure/table, -/obj/item/papercutter, -/obj/item/paper/paperslip, +/obj/item/papercutter{ + pixel_y = 8; + pixel_x = 4 + }, +/obj/item/paper/paperslip{ + pixel_y = 10 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_3.dmm index 8eb56170b7125..18fbba3575658 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_a_3.dmm @@ -5,13 +5,19 @@ "e" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed/maint, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/security) +"h" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random, /turf/open/floor/plating, /area/station/maintenance/department/security) "k" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/cigbutt, -/obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/security) "n" = ( @@ -24,7 +30,9 @@ "r" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/contraband/cannabis, +/obj/effect/spawner/random/contraband/cannabis{ + pixel_y = 9 + }, /obj/effect/spawner/random/contraband/narcotics, /turf/open/floor/plating, /area/station/maintenance/department/security) @@ -43,7 +51,9 @@ "v" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/medical/minor_healing, +/obj/effect/spawner/random/medical/minor_healing{ + pixel_y = 13 + }, /obj/effect/spawner/random/medical/injector, /turf/open/floor/plating, /area/station/maintenance/department/security) @@ -180,7 +190,7 @@ a "} (9,1,1) = {" p -n +h E r a diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_1.dmm index 2303cc6f01861..113935f9069be 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_1.dmm @@ -53,14 +53,20 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/random/maintenance/eight, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/department/security) "I" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, +/obj/effect/spawner/random/engineering/toolbox{ + pixel_y = 12 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "J" = ( @@ -84,7 +90,9 @@ "Z" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tank, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/department/security) diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_2.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_2.dmm index 0f272ce3a03e0..628e757ce3593 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_2.dmm @@ -37,10 +37,18 @@ /area/station/maintenance/department/security) "r" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/booze, -/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 7; + pixel_x = 9 + }, +/obj/effect/spawner/random/entertainment/cigarette_pack{ + pixel_y = 8; + pixel_x = -5 + }, /obj/effect/turf_decal/sand/plating, -/obj/effect/spawner/random/entertainment/deck, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 9 + }, /turf/open/floor/plating, /area/station/asteroid) "v" = ( @@ -54,8 +62,12 @@ "z" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/spawner/random/engineering/flashlight{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "E" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm index 2effc83522fc2..688e5ea3b7bf5 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_attachment_b_3.dmm @@ -27,7 +27,9 @@ /obj/effect/spawner/random/maintenance/three, /obj/effect/spawner/random/engineering/flashlight, /obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "n" = ( @@ -76,7 +78,9 @@ "M" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/tank, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "U" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_cave_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_cave_3.dmm index 41463a8f2df89..df833fc7811f5 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_cave_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_cave_3.dmm @@ -107,7 +107,9 @@ "U" = ( /obj/structure/lattice, /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets_single, +/obj/effect/spawner/random/food_or_drink/donkpockets_single{ + pixel_y = 12 + }, /turf/open/misc/asteroid, /area/station/maintenance/department/security) "V" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_1.dmm index ccd28eb4b312e..a2cd47df389d3 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_1.dmm @@ -39,6 +39,14 @@ /obj/structure/table, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) +"dI" = ( +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = -9; + idDoor = "servicemaintleft_external"; + idSelf = "servicemaintleft_airlock_control" + }, +/turf/open/misc/asteroid/airless, +/area/station/asteroid) "ek" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49,12 +57,6 @@ id_tag = "servicemaintleft_internal"; name = "External Access" }, -/obj/machinery/door_buttons/access_button{ - idDoor = "servicemaintleft_internal"; - idSelf = "servicemaintleft_airlock_control"; - name = "External Access Button"; - pixel_x = -24 - }, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/central) "gi" = ( @@ -99,7 +101,9 @@ }, /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 15 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "is" = ( @@ -110,7 +114,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/central) "iV" = ( @@ -178,13 +182,30 @@ /obj/modular_map_connector, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/central) +"lV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door_buttons/access_button/directional/north{ + idDoor = "servicemaintleft_internal"; + idSelf = "servicemaintleft_airlock_control"; + pixel_x = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/port/central) "mj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/central) "mM" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "nk" = ( @@ -233,18 +254,15 @@ id_tag = "servicemaintleft_external"; name = "External Access" }, -/obj/machinery/door_buttons/access_button{ - idDoor = "servicemaintleft_external"; - idSelf = "servicemaintleft_airlock_control"; - name = "External Access Button"; - pixel_y = 24 - }, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/central) "os" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "pc" = ( @@ -413,9 +431,23 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) +"Aj" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/central/greater) "Bz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "servicemaintleft_external"; + idInterior = "servicemaintleft_internal"; + idSelf = "servicemaintleft_airlock_control"; + pixel_x = 8 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "BC" = ( @@ -444,7 +476,6 @@ dir = 4 }, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) @@ -600,7 +631,6 @@ /area/station/maintenance/central/greater) "No" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/external/directional/east, /obj/effect/landmark/blobstart, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) @@ -638,7 +668,9 @@ "PB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "PM" = ( @@ -759,14 +791,9 @@ /area/station/maintenance/central/greater) "Xt" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "servicemaintleft_external"; - idInterior = "servicemaintleft_internal"; - idSelf = "servicemaintleft_airlock_control"; - name = "External Access Console"; +/obj/effect/decal/cleanable/cobweb/cobweb2{ pixel_y = 24 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "YH" = ( @@ -1951,7 +1978,7 @@ Ve Ve Ve Ve -rz +lV nk nk nk @@ -2198,7 +2225,7 @@ EK EK EK EK -aN +dI qr Ve YH @@ -2624,7 +2651,7 @@ TQ TQ TQ TQ -vR +Aj Ip VO kD diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_2.dmm index 9ba614bb78214..eee15bedd9299 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_2.dmm @@ -9,7 +9,10 @@ "ad" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/wrench, +/obj/item/wrench{ + pixel_y = 8 + }, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "ar" = ( @@ -415,7 +418,6 @@ dir = 4 }, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) @@ -532,7 +534,9 @@ }, /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical{ + pixel_y = 9 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "Io" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_3.dmm index 3695915478abe..2a6db1478c6f8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_3.dmm @@ -77,7 +77,6 @@ dir = 4 }, /obj/structure/cable/multilayer/multiz, -/obj/structure/sign/warning/electric_shock/directional/west, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) @@ -97,6 +96,7 @@ "hz" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "im" = ( @@ -255,8 +255,8 @@ /obj/machinery/light/small/directional/north, /obj/structure/table, /obj/item/reagent_containers/cup/bucket{ - pixel_x = -9; - pixel_y = 12 + pixel_x = -6; + pixel_y = 19 }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) @@ -419,7 +419,9 @@ "Hl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/entertainment/cigarette_pack{ + pixel_y = 7 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "HW" = ( @@ -485,8 +487,12 @@ }, /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/cable_coil, -/obj/item/multitool, +/obj/item/stack/cable_coil{ + pixel_y = 11 + }, +/obj/item/multitool{ + pixel_y = 11 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "NE" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_1.dmm index bd9b0cfb1085e..3a8aa6abc6e38 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_1.dmm @@ -2,7 +2,9 @@ "a" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/deck, +/obj/effect/spawner/random/entertainment/deck{ + pixel_y = 7 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "b" = ( @@ -26,7 +28,9 @@ "s" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/dice, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 8 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "t" = ( @@ -35,7 +39,9 @@ /area/station/maintenance/central/greater) "u" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/structure/rack, /obj/effect/spawner/random/maintenance/four, /turf/open/floor/iron/smooth, @@ -43,9 +49,10 @@ "A" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/contraband/narcotics, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/contraband/random/directional/north, +/obj/effect/spawner/random/contraband/narcotics{ + pixel_y = 10 + }, +/obj/structure/sign/poster/contraband/random, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "B" = ( @@ -56,9 +63,17 @@ "G" = ( /turf/closed/wall, /area/station/maintenance/central/greater) +"J" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/central/greater) "X" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) @@ -107,7 +122,7 @@ q q G u -b +J s b t diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_2.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_2.dmm index fe6839140ff5a..26b53bee3876a 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_2.dmm @@ -6,7 +6,8 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/pen{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 11 }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) @@ -70,7 +71,7 @@ pixel_x = -3; pixel_y = 10 }, -/obj/structure/sign/poster/official/do_not_question/directional/north, +/obj/structure/sign/poster/official/do_not_question, /turf/open/floor/plating, /area/station/maintenance/central/greater) "D" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_3.dmm index ebf1ce617ab07..ccd2390ce8be1 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_a_3.dmm @@ -23,15 +23,20 @@ /area/template_noop) "s" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/mop_bucket/janitorialcart{ - dir = 8 +/obj/structure/sink/directional/north, +/obj/structure/mirror/directional/north, +/obj/item/reagent_containers/cup/bucket{ + pixel_x = 9; + pixel_y = 15 }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "t" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/toy, +/obj/effect/spawner/random/entertainment/toy{ + pixel_y = 9 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "w" = ( @@ -51,23 +56,18 @@ /area/station/maintenance/central/greater) "E" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, +/obj/structure/mop_bucket/janitorialcart{ + dir = 8 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) "R" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) -"S" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, -/obj/item/reagent_containers/cup/bucket{ - pixel_x = 9; - pixel_y = -5 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/central/greater) "X" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -120,7 +120,7 @@ q a x s -S +R x R R diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm index e389075702300..a1a5e54807bdd 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_b_1.dmm @@ -20,7 +20,9 @@ "w" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "C" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_1.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_1.dmm index 482c006532adb..a7f9e13a676bd 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_1.dmm @@ -87,8 +87,14 @@ "O" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/booze, -/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/effect/spawner/random/entertainment/cigarette_pack{ + pixel_y = 10; + pixel_x = -2 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "Q" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_2.dmm b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_2.dmm index cb12e658a1ab6..30c5605254829 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secservicelower_attachment_c_2.dmm @@ -18,9 +18,15 @@ "g" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/entertainment/cigarette_pack, -/obj/effect/spawner/random/entertainment/dice, -/obj/effect/spawner/random/entertainment/money_small, +/obj/effect/spawner/random/entertainment/cigarette_pack{ + pixel_y = 7 + }, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 10 + }, +/obj/effect/spawner/random/entertainment/money_small{ + pixel_y = 9 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/central) "l" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm index 5eae1f6e7ec96..3c339095d5b02 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm @@ -122,7 +122,7 @@ /area/station/maintenance/starboard/greater) "r" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "s" = ( @@ -150,7 +150,9 @@ /area/station/maintenance/starboard/greater) "v" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/spawner/random/engineering/canister, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) @@ -220,14 +222,12 @@ /area/station/maintenance/starboard/greater) "G" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sink{ - pixel_y = 15 - }, /obj/structure/mirror/directional/north, /obj/item/reagent_containers/cup/bucket{ pixel_x = -10; pixel_y = 18 }, +/obj/structure/sink/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "H" = ( @@ -264,18 +264,22 @@ "O" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "P" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "Q" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm index 02960cfadc516..52893939fb11d 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm @@ -151,7 +151,9 @@ "pJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/decoration/ornament, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 12 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "rw" = ( @@ -197,7 +199,9 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/effect/spawner/random/maintenance/four, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "xv" = ( @@ -271,14 +275,14 @@ /area/station/maintenance/starboard/greater) "Hy" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "HQ" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "Ip" = ( @@ -347,7 +351,9 @@ /area/station/asteroid) "RQ" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "ST" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm index 02618e94a681c..b85939b8c2458 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm @@ -97,7 +97,7 @@ /area/station/maintenance/starboard/greater) "r" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "s" = ( @@ -143,7 +143,9 @@ /area/template_noop) "z" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "A" = ( @@ -197,8 +199,8 @@ "O" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, -/obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "P" = ( @@ -206,7 +208,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/greater) "R" = ( @@ -225,7 +229,9 @@ /area/station/maintenance/starboard/greater) "V" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "W" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_1.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_1.dmm index 68616ac887f5e..81a894d1b5978 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_1.dmm @@ -41,20 +41,24 @@ /obj/structure/table, /obj/machinery/light/small/directional/north, /obj/item/reagent_containers/cup/glass/bottle/moonshine{ - pixel_x = 8; - pixel_y = 5 + pixel_x = 3; + pixel_y = 15 }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "m" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/money_small, -/obj/effect/spawner/random/entertainment/money_medium, +/obj/effect/spawner/random/entertainment/money_medium{ + pixel_y = 12 + }, /obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{ pixel_y = 15; pixel_x = -9 }, +/obj/effect/spawner/random/entertainment/money_medium{ + pixel_y = 12 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "n" = ( @@ -91,7 +95,9 @@ "t" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/canister, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) "v" = ( @@ -108,7 +114,9 @@ "A" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/dice, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 12 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "B" = ( @@ -131,8 +139,13 @@ "H" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/booze, -/obj/effect/spawner/random/food_or_drink/booze, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 12 + }, +/obj/effect/spawner/random/food_or_drink/booze{ + pixel_y = 12; + pixel_x = 8 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "J" = ( @@ -165,7 +178,9 @@ /area/station/maintenance/starboard/greater) "Q" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/modular_map_connector, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_3.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_3.dmm index ed81e0577577e..68c7767ff5ac1 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_a_3.dmm @@ -5,8 +5,12 @@ "c" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/effect/spawner/random/bureaucracy/folder, -/obj/effect/spawner/random/bureaucracy/pen, +/obj/effect/spawner/random/bureaucracy/folder{ + pixel_y = 13 + }, +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_y = 15 + }, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "e" = ( @@ -58,7 +62,9 @@ /area/station/maintenance/starboard/greater) "t" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/effect/spawner/random/engineering/tank, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) @@ -87,7 +93,9 @@ /area/station/maintenance/starboard/greater) "C" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance/three, /obj/effect/spawner/random/engineering/tool, diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_b_2.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_b_2.dmm index 1efe3b5c6d167..4d89e8700955e 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_b_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_attachment_b_2.dmm @@ -91,7 +91,9 @@ /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/spawner/random/engineering/tool, +/obj/effect/spawner/random/engineering/tool{ + pixel_y = 10 + }, /obj/machinery/door/poddoor/shutters/preopen{ name = "Privacy Shutter"; id = "supportourtroops" diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index f7d2f203ba1fa..df6b47695f98d 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -30,7 +30,9 @@ "aaf" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/greater) @@ -40,11 +42,9 @@ /area/station/maintenance/central/greater) "aah" = ( /obj/machinery/power/smes/engineering, -/obj/structure/sign/warning/electric_shock{ - pixel_y = 32 - }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/greater) "aai" = ( @@ -458,9 +458,11 @@ "abP" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/table/glass, -/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper{ + pixel_y = 10 + }, /obj/item/reagent_containers/syringe{ - pixel_y = 5 + pixel_y = 15 }, /obj/structure/cable, /turf/open/floor/iron/white, @@ -489,7 +491,7 @@ }, /obj/structure/table, /obj/machinery/recharger{ - pixel_y = 4 + pixel_y = 9 }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -593,16 +595,19 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "ach" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/left{ dir = 1 }, /area/station/escapepodbay) "acj" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/medium{ dir = 1 }, /area/station/escapepodbay) "ack" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/right{ dir = 1 }, @@ -645,7 +650,7 @@ /turf/open/floor/iron, /area/station/escapepodbay) "acq" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/left{ dir = 1 }, @@ -657,21 +662,15 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 }, +/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/command) "acs" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/medium, /area/station/escapepodbay) -"act" = ( -/obj/structure/railing, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "acu" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/right{ dir = 1 }, @@ -740,18 +739,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"acF" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Primary Tool Storage" - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"acG" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "acH" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -831,9 +818,12 @@ /area/station/security/prison/garden) "acX" = ( /obj/structure/table/wood, -/obj/item/gavelblock, -/obj/item/gavelhammer, -/obj/item/radio/intercom/directional/south, +/obj/item/gavelblock{ + pixel_y = 10 + }, +/obj/item/gavelhammer{ + pixel_y = 11 + }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, @@ -1155,20 +1145,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/right) -"adE" = ( -/obj/structure/table, -/obj/item/assembly/igniter{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/assembly/igniter{ - pixel_y = 4 - }, -/obj/item/clothing/gloves/color/fyellow{ - pixel_x = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "adF" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 @@ -1208,6 +1184,7 @@ "adN" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, +/obj/machinery/airalarm/directional/west, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) "adO" = ( @@ -1217,10 +1194,11 @@ "adP" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, +/obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/prison/work) "adQ" = ( -/obj/machinery/airalarm/directional/north, +/obj/structure/sign/poster/official/here_for_your_safety/directional/north, /turf/open/floor/iron, /area/station/security/prison/work) "adR" = ( @@ -1249,16 +1227,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/escapepodbay) -"adU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "adV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1433,7 +1401,7 @@ "aeD" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ - pixel_y = 5 + pixel_y = 9 }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) @@ -1882,9 +1850,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/station/commons/vacant_room) "agw" = ( @@ -1964,11 +1932,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) -"agG" = ( -/obj/structure/dresser, -/obj/item/cigarette/cigar/havana, -/turf/open/floor/iron/grimy, -/area/station/commons/vacant_room) "agH" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/reagent_dispensers/beerkeg, @@ -2180,8 +2143,8 @@ "ahq" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder{ - pixel_x = 6; - pixel_y = 6 + pixel_x = -1; + pixel_y = 19 }, /obj/item/reagent_containers/cup/rag{ pixel_x = -5; @@ -2237,12 +2200,8 @@ /turf/open/floor/plating/icemoon, /area/station/engineering/atmos) "ahG" = ( -/obj/effect/spawner/random/decoration/showcase, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/sign/plaques/kiddie/perfect_man{ - pixel_y = -32 - }, -/turf/open/floor/carpet/royalblack, +/obj/structure/sign/plaques/kiddie/perfect_man, +/turf/open/floor/carpet, /area/station/command/meeting_room) "ahR" = ( /obj/effect/decal/cleanable/dirt, @@ -2336,27 +2295,21 @@ /area/station/hallway/secondary/command) "aiH" = ( /obj/machinery/light/directional/east, +/obj/structure/sign/directions/evac/left/east_arrow/directional/west, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) "aiK" = ( /obj/structure/toilet{ - pixel_y = 18 + dir = 4 }, -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/commons/vacant_room) -"aiX" = ( -/obj/machinery/door/poddoor/massdriver_trash{ - id = "fortnitedoor" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "ajc" = ( /obj/machinery/button/door/directional/west{ name = "Privacy Bolts"; - pixel_y = -9; + pixel_y = 0; id = "private_i"; specialfunctions = 4; normaldoorcontrol = 1 @@ -2366,13 +2319,10 @@ /area/station/commons/dorms) "aje" = ( /obj/structure/chair/stool/directional/north, -/obj/machinery/button/door/directional/west{ +/obj/machinery/button/door/directional/east{ + pixel_y = 0; name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_j"; - specialfunctions = 4; - normaldoorcontrol = 1 + id = "private_j" }, /turf/open/floor/wood, /area/station/commons/dorms) @@ -2441,7 +2391,7 @@ "ajy" = ( /obj/machinery/button/door/directional/west{ name = "Privacy Bolts"; - pixel_y = -9; + pixel_y = 0; id = "private_h"; specialfunctions = 4; normaldoorcontrol = 1 @@ -2451,13 +2401,10 @@ /area/station/commons/dorms) "ajz" = ( /obj/structure/chair/stool/directional/north, -/obj/machinery/button/door/directional/west{ +/obj/machinery/button/door/directional/east{ + pixel_y = 0; name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_k"; - specialfunctions = 4; - normaldoorcontrol = 1 + id = "private_k" }, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -2535,6 +2482,10 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"aky" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "akI" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -2551,13 +2502,10 @@ /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) "akK" = ( -/obj/structure/sign/warning/radiation/rad_area{ - dir = 1; - pixel_y = 32 - }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, +/obj/structure/sign/warning/radiation, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) "akM" = ( @@ -2584,7 +2532,7 @@ "ala" = ( /obj/machinery/button/door/directional/west{ name = "Privacy Bolts"; - pixel_y = -9; + pixel_y = 0; id = "private_g"; specialfunctions = 4; normaldoorcontrol = 1 @@ -2594,13 +2542,10 @@ /area/station/commons/dorms) "alb" = ( /obj/structure/chair/stool/directional/north, -/obj/machinery/button/door/directional/west{ +/obj/machinery/button/door/directional/east{ + pixel_y = 0; name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_l"; - specialfunctions = 4; - normaldoorcontrol = 1 + id = "private_l" }, /turf/open/floor/wood, /area/station/commons/dorms) @@ -2624,11 +2569,10 @@ /area/station/service/hydroponics) "alf" = ( /obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/sign/plaques/kiddie/perfect_drone{ - pixel_y = -32 - }, /obj/structure/table/wood, -/obj/item/storage/backpack/duffelbag/drone, +/obj/item/storage/backpack/duffelbag/drone{ + pixel_y = 11 + }, /turf/open/floor/carpet/royalblack, /area/station/command/meeting_room) "alg" = ( @@ -2714,6 +2658,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 }, +/obj/structure/sign/warning/secure_area, /turf/open/floor/iron, /area/station/engineering/atmos) "amC" = ( @@ -2721,7 +2666,10 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/item/book/manual/wiki/atmospherics, +/obj/item/book/manual/wiki/atmospherics{ + pixel_y = 5; + pixel_x = 6 + }, /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 6 @@ -2773,7 +2721,8 @@ }, /obj/machinery/fax{ name = "Engineering Lobby Fax Machine"; - fax_name = "Engineering Lobby" + fax_name = "Engineering Lobby"; + pixel_y = 10 }, /turf/open/floor/iron, /area/station/engineering/break_room) @@ -2793,13 +2742,16 @@ pixel_y = 7 }, /obj/item/pen, -/obj/item/airlock_painter, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 }, /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 6 }, +/obj/item/airlock_painter{ + pixel_y = 9; + pixel_x = 3 + }, /turf/open/floor/iron, /area/station/engineering/break_room) "anj" = ( @@ -2876,9 +2828,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/obj/structure/sign/warning/secure_area{ - pixel_x = 32 - }, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, /turf/open/floor/iron, /area/station/engineering/atmos) @@ -2922,6 +2871,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"aoj" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "aor" = ( /obj/effect/landmark/start/station_engineer, /obj/effect/turf_decal/trimline/yellow/arrow_cw, @@ -2959,14 +2913,24 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) -"aoN" = ( -/obj/machinery/elevator_control_panel{ - pixel_y = 2; - linked_elevator_id = "tram_xeno_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") +"aoS" = ( +/obj/structure/table/reinforced, +/obj/machinery/keycard_auth/wall_mounted/directional/south, +/obj/item/rcl/pre_loaded{ + pixel_y = 11 }, -/turf/closed/wall, -/area/station/science/xenobiology) +/obj/machinery/computer/security/telescreen/ce/directional/west, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/item/clipboard{ + pixel_y = 11 + }, +/obj/item/paper/monitorkey{ + pixel_y = 11 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "aoV" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron/dark, @@ -2979,6 +2943,14 @@ /obj/structure/kitchenspike, /turf/open/floor/iron/kitchen_coldroom, /area/station/service/kitchen/coldroom) +"apm" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "apr" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 6 @@ -3051,10 +3023,6 @@ pixel_y = -1 }, /obj/item/multitool, -/obj/machinery/camera/emp_proof{ - dir = 9; - c_tag = "Secure - Telecomms Control Room" - }, /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/tcommsat/computer) @@ -3109,6 +3077,7 @@ /area/station/engineering/supermatter/room) "aqr" = ( /obj/machinery/computer/security/hos, +/obj/structure/secure_safe/hos/directional/north, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) "aqz" = ( @@ -3137,7 +3106,6 @@ /obj/machinery/camera/directional/south{ c_tag = "Civilian - Fitness Center South-East" }, -/obj/structure/sign/clock/directional/south, /turf/open/floor/iron, /area/station/commons/fitness) "ary" = ( @@ -3214,11 +3182,12 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/table, /obj/item/storage/fancy/coffee_cart_rack{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 8 }, /obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = 5; - pixel_y = 7 + pixel_x = 7; + pixel_y = 21 }, /turf/open/floor/iron, /area/station/cargo/warehouse) @@ -3239,10 +3208,15 @@ "asA" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 15 + }, +/obj/item/clothing/gloves/color/black{ + pixel_y = 11 + }, +/obj/item/clothing/glasses/meson/engine{ + pixel_y = 5 }, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/meson/engine, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -3266,21 +3240,13 @@ }, /turf/open/floor/iron, /area/station/security/office) -"asI" = ( -/obj/structure/table, -/obj/machinery/requests_console/directional/east{ - name = "EVA Requests Console"; - department = "EVA" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) "asQ" = ( -/obj/structure/sign/warning/no_smoking, -/turf/closed/wall, -/area/station/engineering/atmos) +/obj/machinery/door_buttons/access_button/directional/west{ + idDoor = "middleright_lower_upper_eva_external"; + idSelf = "middleright_lower_upper_eva_airlock_control" + }, +/turf/open/misc/asteroid, +/area/station/maintenance/tram/mid) "asT" = ( /obj/machinery/air_sensor/engine_chamber, /turf/open/floor/engine, @@ -3420,23 +3386,18 @@ /obj/effect/turf_decal/trimline/white/warning{ dir = 1 }, -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = -32; - spawn_loot_chance = 50 - }, /turf/open/floor/iron, /area/station/maintenance/tram/right) "auG" = ( -/obj/structure/sign/poster/official/safety_report/directional/north, -/obj/machinery/camera{ - dir = 9; +/obj/machinery/camera/directional/north{ network = list("ss13","Security"); c_tag = "Security - Equipment Room" }, +/obj/structure/sign/poster/official/safety_report/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) "auH" = ( -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) "auP" = ( @@ -3465,14 +3426,13 @@ /turf/open/floor/iron, /area/station/security/office) "auZ" = ( -/obj/structure/noticeboard/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Main Office North" +/obj/structure/noticeboard/hos, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Main Office North"; + network = list("ss13","Security") }, /turf/open/floor/iron, /area/station/security/office) @@ -3484,12 +3444,16 @@ /area/station/ai_monitored/security/armory) "avj" = ( /obj/structure/table, -/obj/machinery/syndicatebomb/training, +/obj/machinery/syndicatebomb/training{ + pixel_y = 9 + }, /turf/open/floor/iron, /area/station/security/office) "avk" = ( /obj/structure/table, -/obj/item/radio/off, +/obj/item/radio/off{ + pixel_y = 11 + }, /obj/item/screwdriver{ pixel_y = 10 }, @@ -3498,10 +3462,12 @@ "avl" = ( /obj/structure/table, /obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 + pixel_x = 5; + pixel_y = 11 + }, +/obj/item/inspector{ + pixel_y = 5 }, -/obj/item/inspector, /obj/item/inspector{ pixel_x = -5; pixel_y = 12 @@ -3511,27 +3477,32 @@ "avm" = ( /obj/structure/table, /obj/item/folder/red{ - pixel_x = 6; - pixel_y = 9 + pixel_x = 2; + pixel_y = 14 }, /obj/item/pen{ pixel_x = 3; - pixel_y = 8 + pixel_y = 16 }, /obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 5 }, /obj/item/food/donut/caramel{ - pixel_x = 4 + pixel_x = 6; + pixel_y = 3 }, /turf/open/floor/iron, /area/station/security/office) "avn" = ( /obj/structure/table, -/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld{ + pixel_y = -7 + }, /obj/machinery/fax{ name = "Security Office Fax Machine"; - fax_name = "Security Office" + fax_name = "Security Office"; + pixel_y = 9 }, /turf/open/floor/iron, /area/station/security/office) @@ -3547,7 +3518,9 @@ dir = 8 }, /obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/security/processing) "avz" = ( @@ -3587,6 +3560,14 @@ }, /turf/open/floor/iron, /area/station/security/processing) +"avE" = ( +/obj/structure/lattice, +/turf/open/space/openspace, +/area/space/nearstation) +"avF" = ( +/obj/structure/sign/directions/upload/right/south_arrow/directional/west, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/right) "avG" = ( /obj/structure/chair{ dir = 1 @@ -3602,7 +3583,7 @@ dir = 4 }, /obj/machinery/newscaster/directional/west, -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) "avR" = ( @@ -3751,20 +3732,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/commons/vacant_room/commissary) -"axz" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ +"axB" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) +/turf/open/floor/wood/large, +/area/station/service/library) "axC" = ( /obj/structure/table, /obj/item/airlock_painter, -/obj/item/rcl/pre_loaded, -/obj/item/chisel{ +/obj/item/rcl/pre_loaded{ pixel_y = 7 }, +/obj/item/chisel{ + pixel_y = 11 + }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, @@ -3773,7 +3755,10 @@ /area/station/commons/storage/art) "axE" = ( /obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/trimline/neutral/warning, +/obj/structure/table/reinforced, +/obj/machinery/computer/records/medical/laptop{ + pixel_y = 8 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "axG" = ( @@ -3793,9 +3778,13 @@ /turf/open/floor/iron, /area/station/cargo/storage) "axS" = ( -/turf/open/floor/iron/stairs/medium{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/dark, /area/station/maintenance/central/greater) "axU" = ( /obj/structure/disposalpipe/segment, @@ -3857,7 +3846,7 @@ /obj/machinery/camera/directional/north{ c_tag = "Service - Bar Lounge North East" }, -/obj/machinery/airalarm/directional/east, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/checker, /area/station/commons/lounge) "ayG" = ( @@ -3936,15 +3925,11 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/machinery/status_display/evac/directional/west, /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/structure/sink/directional/east, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "azX" = ( @@ -4000,7 +3985,8 @@ "aBc" = ( /obj/effect/landmark/start/cargo_technician, /obj/structure/chair/office{ - dir = 1 + dir = 1; + pixel_y = 19 }, /turf/open/floor/iron, /area/station/cargo/office) @@ -4014,9 +4000,6 @@ /turf/open/floor/glass, /area/station/cargo/sorting) "aBq" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, /obj/effect/turf_decal/stripes/white/full, /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -4039,6 +4022,24 @@ /obj/structure/chair/comfy/brown, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"aBu" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/light_switch/directional/south{ + pixel_x = 10; + pixel_y = -24 + }, +/obj/machinery/button/door/directional/south{ + id = "crgdoor"; + req_access = list("brig_entrance"); + name = "Cargo Cell Control"; + normaldoorcontrol = 1 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "aBI" = ( /obj/machinery/computer/security{ dir = 4 @@ -4096,10 +4097,14 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "aCa" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/machinery/grill, +/obj/machinery/camera/directional/west{ + c_tag = "Service - Kitchen West" + }, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/service/kitchen) "aCb" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/trimline/brown/filled/corner{ @@ -4155,10 +4160,6 @@ /turf/open/floor/plating, /area/station/cargo/sorting) "aCy" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Civilian - Radstorm Shelter" - }, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) "aCC" = ( @@ -4245,11 +4246,6 @@ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room North-East" - }, /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) @@ -4314,7 +4310,6 @@ }, /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/full, -/obj/structure/sign/departments/evac/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "aDX" = ( @@ -4322,7 +4317,8 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "aDZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood, +/obj/structure/table/wood, /turf/open/floor/wood/large, /area/station/service/library) "aEa" = ( @@ -4349,12 +4345,6 @@ id_tag = "mostleft_upper_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "mostleft_upper_eva_airlock_control"; - idDoor = "mostleft_upper_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -4400,12 +4390,11 @@ /area/station/hallway/primary/tram/center) "aEu" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/west, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron, -/area/station/commons/fitness) +/area/station/commons/dorms) "aEv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, @@ -4423,12 +4412,10 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 }, -/obj/structure/sign/departments/cargo{ - pixel_y = 32 - }, /obj/effect/turf_decal/trimline/neutral/filled/warning{ dir = 1 }, +/obj/structure/sign/departments/cargo/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "aEE" = ( @@ -4551,26 +4538,12 @@ /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "aGi" = ( -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleright_lower_upper_eva_airlock_control"; - idInterior = "middleright_lower_upper_eva_internal"; - idExterior = "middleright_lower_upper_eva_external" - }, -/obj/structure/ladder, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/maintenance/tram/mid) -"aGk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 +/obj/machinery/camera/emp_proof/directional/east{ + c_tag = "Engineering - Atmospherics Plasma Chamber"; + network = list("ss13","engineering") }, -/obj/structure/table/wood, -/obj/item/folder/yellow, -/obj/item/stamp/law, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "aGq" = ( /obj/machinery/vending/snack/blue, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -4630,12 +4603,6 @@ id_tag = "mostleft_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "mostleft_lower_eva_airlock_control"; - idDoor = "mostleft_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) @@ -4653,49 +4620,40 @@ /turf/open/floor/iron/freezer, /area/station/medical/coldroom) "aHe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "mostleft_lower_eva_airlock_control"; - idInterior = "mostleft_lower_eva_internal"; - idExterior = "mostleft_lower_eva_external" +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = -5; + idDoor = "mostleft_upper_eva_external"; + idSelf = "mostleft_upper_eva_airlock_control" }, -/turf/open/floor/catwalk_floor, +/turf/open/openspace, /area/station/hallway/primary/tram/left) "aHf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleleft_lower_eva_airlock_control"; - idInterior = "middleleft_lower_eva_internal"; - idExterior = "middleleft_lower_eva_external" +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = -7; + idDoor = "middleleft_upper_eva_external"; + idSelf = "middleleft_upper_eva_airlock_control" }, -/turf/open/floor/catwalk_floor, +/turf/open/openspace, /area/station/hallway/primary/tram/center) "aHl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleright_lower_eva_airlock_control"; - idInterior = "middleright_lower_eva_internal"; - idExterior = "middleright_lower_eva_external" +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = -13; + idDoor = "rightmost_upper_eva_external"; + idSelf = "rightmost_upper_eva_airlock_control" }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) +/turf/open/openspace, +/area/station/hallway/primary/tram/right) "aHn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "rightmost_lower_eva_airlock_control"; - idInterior = "rightmost_lower_eva_internal"; - idExterior = "rightmost_lower_eva_external" +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Robotics Lab Shutters"; + id = "robotics2" }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/right) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/science/robotics/lab) "aHo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ @@ -4704,12 +4662,6 @@ id_tag = "rightmost_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "rightmost_lower_eva_airlock_control"; - idDoor = "rightmost_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) @@ -4745,10 +4697,6 @@ /obj/effect/turf_decal/trimline/neutral/corner{ dir = 8 }, -/obj/structure/sign/departments/science{ - pixel_x = -32; - pixel_y = -32 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -4773,16 +4721,36 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"aHy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Tunnel Access Hatch" + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/central) "aHA" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, +/obj/structure/sign/departments/engineering/directional/east, +/obj/machinery/button/elevator/directional/east{ + id = "tram_lower_center_lift" + }, +/obj/machinery/lift_indicator/directional/east{ + linked_elevator_id = "tram_lower_center_lift" + }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "aHD" = ( /obj/structure/table/wood, -/obj/item/radio/intercom/directional/north, -/obj/item/modular_computer/laptop/preset/civilian, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 13 + }, +/obj/machinery/digital_clock, /turf/open/floor/wood/large, /area/station/service/library) "aHE" = ( @@ -4853,18 +4821,12 @@ /turf/open/floor/iron, /area/station/security/checkpoint/medical) "aIq" = ( -/obj/machinery/status_display/door_timer{ - name = "Medical Cell"; - pixel_y = 32; - id = "medcell" - }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, /obj/effect/landmark/start/depsec/medical, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay","Security"); - c_tag = "Medical - Security Checkpoint" +/obj/machinery/status_display/door_timer/directional/north{ + id = "medcell" }, /turf/open/floor/iron, /area/station/security/checkpoint/medical) @@ -4956,10 +4918,8 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) "aJC" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/commons/dorms) "aJG" = ( @@ -5053,12 +5013,6 @@ }, /turf/open/openspace, /area/station/hallway/primary/tram/center) -"aKG" = ( -/obj/structure/railing, -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/commons/storage/primary) "aKL" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/machinery/door/firedoor/border_only, @@ -5157,6 +5111,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"aLm" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine, +/area/station/science/xenobiology) "aLr" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -5165,11 +5123,12 @@ /turf/open/floor/iron, /area/station/security/prison/safe) "aLw" = ( +/obj/structure/table/glass, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, +/obj/item/radio/intercom/directional/north, +/obj/item/surgery_tray/full, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "aLx" = ( @@ -5273,7 +5232,6 @@ /turf/open/floor/iron, /area/station/commons/storage/art) "aMt" = ( -/obj/structure/sign/warning/electric_shock, /obj/effect/turf_decal/stripes/end{ dir = 4 }, @@ -5309,16 +5267,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"aML" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Monkey Pit" - }, -/obj/machinery/light/warm/directional/north, -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt - }, -/area/station/science/explab) "aMM" = ( /obj/effect/turf_decal/delivery, /obj/machinery/portable_atmospherics/scrubber, @@ -5331,6 +5279,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 }, +/obj/structure/sign/departments/holy/directional/east, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "aMO" = ( @@ -5339,6 +5288,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 }, +/obj/structure/sign/departments/holy/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "aMP" = ( @@ -5357,12 +5307,16 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/door_buttons/access_button/directional/west, +/obj/machinery/light_switch/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "aNb" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, +/obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "aNd" = ( @@ -5372,6 +5326,13 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"aNk" = ( +/obj/structure/table, +/obj/item/flashlight/lamp{ + pixel_y = 9 + }, +/turf/open/floor/carpet, +/area/station/cargo/miningdock) "aNp" = ( /obj/structure/chair/office/light, /obj/effect/turf_decal/tile/green, @@ -5386,20 +5347,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"aNs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/sign/poster/official/cleanliness/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "aNv" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 }, -/obj/structure/sign/poster/official/cleanliness/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/structure/mirror/directional/north, +/turf/open/floor/iron, +/area/station/service/theater) "aNQ" = ( /turf/open/floor/wood/tile, /area/station/service/chapel) @@ -5428,6 +5384,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) +"aNX" = ( +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = -1; + idDoor = "mostleft_lower_lower_eva_external"; + idSelf = "mostleft_lower_lower_eva_airlock_control" + }, +/turf/open/misc/asteroid, +/area/station/maintenance/tram/left) "aOd" = ( /obj/item/radio/intercom/chapel/directional/east, /obj/structure/chair/wood, @@ -5444,7 +5408,9 @@ /area/station/engineering/storage/tech) "aOt" = ( /obj/structure/table/wood, -/obj/item/storage/dice, +/obj/item/storage/dice{ + pixel_y = 9 + }, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "aOv" = ( @@ -5573,7 +5539,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, -/obj/structure/sign/poster/official/enlist/directional/east, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -5609,6 +5574,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white, /area/station/medical/virology) +"aPw" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "aPI" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/acidic_buffer{ @@ -5623,11 +5597,11 @@ pixel_x = -5; pixel_y = -2 }, -/obj/structure/sign/warning/chem_diamond/directional/north, /obj/item/reagent_containers/cup/bottle/mercury{ pixel_x = 7; pixel_y = -2 }, +/obj/structure/sign/warning/chem_diamond, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -5659,7 +5633,7 @@ }, /area/station/medical/medbay/central) "aPM" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/right{ dir = 1 }, @@ -5668,7 +5642,6 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 }, -/obj/structure/disposalpipe/segment, /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark, /area/station/medical/virology) @@ -5690,11 +5663,11 @@ /area/station/command/heads_quarters/cmo) "aQi" = ( /obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/chem_heater/withbuffer, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 }, /obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/chem_master, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "aQk" = ( @@ -5724,7 +5697,9 @@ /area/station/service/chapel) "aQB" = ( /obj/structure/table/reinforced, -/obj/machinery/coffeemaker, +/obj/machinery/coffeemaker{ + pixel_y = 7 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -5733,38 +5708,45 @@ "aQH" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/closet/l3closet/virology, -/obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) "aQI" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/closet/secure_closet/medical1, /obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /turf/open/floor/iron/white, /area/station/medical/virology) -"aQL" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/spawner/random/structure/twelve_percent_spirit_board, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "aQM" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty{ + pixel_y = 11 + }, /obj/item/book/manual/wiki/plumbing{ - pixel_x = 4; - pixel_y = -4 + pixel_y = 8 }, -/obj/item/plunger, -/obj/item/plunger, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, +/obj/item/stack/ducts/fifty{ + pixel_y = 11 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = 11 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = 11 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = 11 + }, +/obj/item/stack/ducts/fifty{ + pixel_y = 11 + }, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) "aQO" = ( @@ -5803,9 +5785,6 @@ "aRy" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/stripes/line, -/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ - pixel_x = 24 - }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) "aRA" = ( @@ -5814,6 +5793,29 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"aRB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigright" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_right" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/navigate_destination/sec, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron, +/area/station/security/brig) "aRE" = ( /obj/machinery/mass_driver/chapelgun, /obj/machinery/door/window/left/directional/north{ @@ -5881,6 +5883,16 @@ "aSt" = ( /turf/open/openspace, /area/station/science/xenobiology) +"aSx" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/fax{ + name = "Law Office Fax Machine"; + fax_name = "Law Office"; + pixel_y = 11 + }, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/service/lawoffice) "aSB" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -5923,8 +5935,7 @@ }, /obj/structure/sign/warning/secure_area{ name = "BOMB RANGE"; - desc = "A warning sign which reads 'BOMB RANGE"; - pixel_y = 32 + desc = "A warning sign which reads 'BOMB RANGE" }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -5958,13 +5969,16 @@ "aUa" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law{ - pixel_x = -5 + pixel_x = -7; + pixel_y = 12 }, /obj/item/taperecorder{ - pixel_x = -5 + pixel_x = -6; + pixel_y = 6 }, /obj/machinery/recharger{ - pixel_y = 4 + pixel_y = 10; + pixel_x = 6 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) @@ -6020,6 +6034,10 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/science/lower) +"aVi" = ( +/obj/machinery/transport/tram_controller/tcomms, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "aVj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6069,19 +6087,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/science/lower) -"aWJ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Primary Tool Storage" - }, -/obj/structure/cable, -/obj/effect/landmark/navigate_destination/tools, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "aWL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -6092,7 +6097,7 @@ /turf/open/floor/iron, /area/station/cargo/warehouse) "aWY" = ( -/obj/structure/stairs/west, +/obj/structure/tall_stairs/end/directional/west, /turf/open/floor/iron/stairs/right{ dir = 4 }, @@ -6228,10 +6233,8 @@ /obj/effect/turf_decal/trimline/tram/filled/warning{ dir = 8 }, -/obj/machinery/vending/cigarette{ - pixel_x = -5 - }, /obj/machinery/light/directional/west, +/obj/machinery/vending/cigarette, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "bbD" = ( @@ -6250,8 +6253,8 @@ /obj/machinery/photocopier{ pixel_y = 3 }, -/obj/structure/sign/clock/directional/west, /obj/machinery/airalarm/directional/north, +/obj/item/radio/intercom/directional/west, /turf/open/floor/wood/large, /area/station/service/library) "bck" = ( @@ -6309,14 +6312,16 @@ /obj/structure/table/reinforced, /obj/effect/turf_decal/trimline/red/filled/line, /obj/item/book/manual/wiki/security_space_law{ - pixel_x = 9; - pixel_y = 4 + pixel_x = 11; + pixel_y = 12 }, /obj/item/radio{ pixel_x = -6; - pixel_y = -3 + pixel_y = 10 + }, +/obj/item/key/security{ + pixel_y = 12 }, -/obj/item/key/security, /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/science) @@ -6342,6 +6347,7 @@ /obj/machinery/computer/records/security{ dir = 4 }, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/science) "beG" = ( @@ -6351,7 +6357,6 @@ "beT" = ( /obj/effect/turf_decal/stripes/white/full, /obj/machinery/door/firedoor, -/obj/structure/sign/warning/pods/directional/west, /obj/effect/turf_decal/tile/bar{ dir = 8 }, @@ -6429,7 +6434,6 @@ /obj/structure/closet/crate/bin, /obj/effect/spawner/random/contraband/prison, /obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/poster/official/get_your_legs/directional/south, /turf/open/floor/iron, /area/station/security/prison) "bgH" = ( @@ -6437,8 +6441,8 @@ /turf/open/floor/iron/white, /area/station/science/xenobiology) "bgL" = ( -/obj/structure/sink/kitchen/directional/south, /obj/item/radio/intercom/directional/west, +/obj/structure/sink/kitchen/directional/north, /turf/open/floor/iron/white/side{ dir = 4 }, @@ -6495,17 +6499,18 @@ /obj/structure/table, /obj/item/grenade/chem_grenade/smart_metal_foam{ pixel_x = 4; - pixel_y = 2 + pixel_y = 11 }, /obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 8 + pixel_x = 8; + pixel_y = 8 }, /obj/item/grenade/chem_grenade/smart_metal_foam{ pixel_x = -4; - pixel_y = 6 + pixel_y = 13 }, /obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_y = 4 + pixel_y = 8 }, /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -6585,9 +6590,21 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 }, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/head/utility/welding, /obj/machinery/light/directional/north, +/obj/item/plunger{ + pixel_y = 26; + pixel_x = -8 + }, +/obj/item/plunger{ + pixel_y = 26; + pixel_x = 4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 12 + }, +/obj/item/clothing/head/utility/welding{ + pixel_y = 15 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) "bjX" = ( @@ -6598,6 +6615,19 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"bkc" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/corner, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "blg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/tram/filled/line{ @@ -6615,14 +6645,14 @@ /obj/structure/filingcabinet/security, /obj/machinery/button/door/directional/east{ name = "Outer Brig Door Toggle"; - pixel_y = -8; + pixel_y = 4; id = "outerbrigright"; req_access = list("security"); normaldoorcontrol = 1 }, /obj/machinery/button/door/directional/east{ name = "Inner Brig Door Toggle"; - pixel_y = 8; + pixel_y = 20; id = "innerbrigright"; req_access = list("security"); normaldoorcontrol = 1 @@ -6642,14 +6672,12 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 }, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, /obj/machinery/conveyor{ dir = 5; id = "QMLoad" }, /obj/machinery/light/directional/west, +/obj/machinery/status_display/supply, /turf/open/floor/iron, /area/station/cargo/storage) "bly" = ( @@ -6658,16 +6686,11 @@ /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) "blN" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = 9; - id = "private_r"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, /area/station/commons/dorms) "bmp" = ( /obj/effect/turf_decal/trimline/green/corner{ @@ -6695,6 +6718,7 @@ dir = 4 }, /obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/science/server) "bmG" = ( @@ -6715,27 +6739,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"bnh" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/fax{ - name = "Law Office Fax Machine"; - fax_name = "Law Office" - }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/service/lawoffice) -"bnY" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/obj/item/toy/plush/lizard_plushie/green{ - name = "Runs-The-Rails"; - desc = "An adorable, hard working lizard that runs in circles to keep the tram operating safely." - }, -/turf/open/floor/iron, -/area/station/tcommsat/computer) "boc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6759,18 +6762,16 @@ /turf/open/space/openspace, /area/station/solars/port) "bop" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ pixel_y = 9; - id = "private_c"; - specialfunctions = 4; - normaldoorcontrol = 1 + name = "Privacy Bolts"; + id = "private_c" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/commons/dorms) "bor" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/left{ dir = 1 }, @@ -6787,10 +6788,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/dark, /area/station/command/bridge) -"bpn" = ( -/mob/living/carbon/human/species/monkey, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "bpu" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -6804,6 +6801,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"bpy" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Primary Tool Storage" + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "bpP" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -6820,14 +6823,24 @@ /area/station/hallway/secondary/service) "bpZ" = ( /obj/structure/table/reinforced, -/obj/item/clothing/head/utility/radiation, -/obj/item/clothing/glasses/meson, -/obj/item/geiger_counter, -/obj/item/geiger_counter, +/obj/item/geiger_counter{ + pixel_y = 8; + pixel_x = 8 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/structure/cable, +/obj/item/geiger_counter{ + pixel_y = 8; + pixel_x = -7 + }, +/obj/item/clothing/head/utility/radiation{ + pixel_y = 15 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 15 + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "bqg" = ( @@ -6869,10 +6882,6 @@ /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/box, -/obj/structure/sign/warning/directional/west{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, /obj/item/stack/sheet/cardboard, /turf/open/floor/plating, /area/station/engineering/main) @@ -6885,7 +6894,9 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, -/obj/item/pai_card, +/obj/item/pai_card{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "brm" = ( @@ -6906,6 +6917,8 @@ /area/station/medical/treatment_center) "brG" = ( /obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "bsh" = ( @@ -6917,15 +6930,11 @@ /turf/closed/wall/r_wall, /area/station/tcommsat/computer) "bsM" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/sign/gym{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/dorms) +/obj/structure/sink/directional/north, +/obj/structure/mirror/directional/north, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "bsP" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -6965,12 +6974,6 @@ id_tag = "rightmost_lower_upper_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "rightmost_lower_upper_eva_airlock_control"; - idDoor = "rightmost_lower_upper_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/right) @@ -7096,14 +7099,13 @@ "bvH" = ( /obj/structure/table, /obj/machinery/microwave{ - pixel_y = 6 + pixel_y = 14 }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) "bvI" = ( /obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/structure/sign/poster/official/safety_eye_protection/directional/east, /turf/open/floor/iron, /area/station/engineering/main) "bvK" = ( @@ -7174,11 +7176,6 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) -"bwU" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "bxd" = ( /obj/structure/table, /obj/item/radio/intercom/directional/east{ @@ -7200,7 +7197,7 @@ /obj/effect/turf_decal/trimline/neutral/corner{ dir = 4 }, -/obj/machinery/firealarm/directional/north, +/obj/machinery/status_display/shuttle, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "bxG" = ( @@ -7228,7 +7225,9 @@ "bxX" = ( /obj/structure/bed, /obj/effect/landmark/start/janitor, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/janitor) @@ -7302,21 +7301,12 @@ /area/station/command/heads_quarters/qm) "byM" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = -32; - spawn_loot_chance = 50 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 1 +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 }, /turf/open/floor/iron, -/area/station/maintenance/tram/mid) +/area/station/engineering/atmospherics_engine) "byW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/decal/cleanable/dirt, @@ -7330,16 +7320,10 @@ /turf/open/floor/iron, /area/station/tcommsat/computer) "bzs" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/effect/spawner/random/bedsheet{ - dir = 4 - }, -/obj/structure/sign/clock/directional/west, -/obj/item/pillow/random, -/turf/open/floor/carpet, -/area/station/commons/dorms) +/obj/item/toy/balloon, +/obj/structure/sign/poster/official/random, +/turf/open/floor/eighties/red, +/area/station/commons/fitness/recreation/entertainment) "bzt" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -7383,6 +7367,7 @@ dir = 8 }, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/right) "bAK" = ( @@ -7398,7 +7383,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, -/obj/structure/sign/poster/contraband/random/directional/north, +/obj/structure/sign/poster/contraband/random, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "bAT" = ( @@ -7428,7 +7413,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 }, -/obj/structure/sign/departments/telecomms/directional/south, /turf/open/floor/iron, /area/station/engineering/main) "bBB" = ( @@ -7475,11 +7459,35 @@ /area/station/science/research) "bDf" = ( /obj/structure/table/reinforced, -/obj/item/folder/yellow, -/obj/item/stamp/head/ce, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, +/obj/machinery/button/door/table{ + pixel_y = 17; + pixel_x = -6; + id = "Secure Storage"; + name = "Engineering Secure Storage" + }, +/obj/machinery/button/door/table{ + pixel_y = 10; + pixel_x = -6; + id = "atmos"; + name = "Atmospherics Lockdown" + }, +/obj/machinery/button/door/table{ + pixel_y = 3; + pixel_x = -6; + id = "Engineering"; + name = "Engineering Lockdown" + }, +/obj/item/folder/yellow{ + pixel_y = 13; + pixel_x = 5 + }, +/obj/item/stamp/head/ce{ + pixel_y = 15; + pixel_x = 5 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) "bDq" = ( @@ -7496,14 +7504,15 @@ /obj/structure/table/glass, /obj/item/storage/box/bodybags{ pixel_x = -1; - pixel_y = 6 + pixel_y = 15 }, /obj/item/storage/box/disks{ pixel_x = 1; - pixel_y = 5 + pixel_y = 11 }, /obj/item/storage/box/monkeycubes{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 9 }, /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/white, @@ -7544,15 +7553,26 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/left) -"bFc" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Civilian - Lawyer's Office" +"bFa" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 5 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/item/multitool{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5; + pixel_y = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "bFl" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -7579,6 +7599,24 @@ "bFw" = ( /turf/open/openspace/airless, /area/station/asteroid) +"bFz" = ( +/obj/structure/rack, +/obj/item/clothing/glasses/meson{ + pixel_y = 4 + }, +/obj/item/lighter, +/obj/item/reagent_containers/pill/patch/aiuri, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/computer_disk/engineering, +/obj/item/computer_disk/engineering, +/obj/item/computer_disk/engineering, +/obj/structure/sign/calendar, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "bFM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -7660,23 +7698,11 @@ "bGJ" = ( /turf/open/floor/wood, /area/station/service/theater) -"bGP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/ordnance/directional/south, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "bGV" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, -/obj/structure/table, -/obj/item/stack/sheet/cardboard, -/obj/item/food/donkpocket/pizza, +/obj/machinery/vending/wardrobe/viro_wardrobe, /obj/machinery/camera/directional/east{ network = list("ss13","medbay"); c_tag = "Medical - Virology Break Room" @@ -7712,6 +7738,7 @@ /turf/open/openspace, /area/station/hallway/primary/tram/center) "bHn" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/medium{ dir = 1 }, @@ -7760,7 +7787,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/sign/poster/official/build/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) "bIf" = ( @@ -7769,9 +7795,10 @@ /turf/open/floor/iron/white, /area/station/science/xenobiology) "bIg" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /turf/open/floor/carpet, /area/station/service/library) "bIm" = ( @@ -7830,6 +7857,15 @@ /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/iron/white, /area/station/science/research) +"bJq" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "bJP" = ( /obj/structure/railing{ dir = 10 @@ -7861,7 +7897,10 @@ /area/station/ai_monitored/security/armory) "bKs" = ( /obj/structure/table, -/obj/item/fuel_pellet, +/obj/item/fuel_pellet{ + pixel_x = 3; + pixel_y = 14 + }, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) "bKt" = ( @@ -7889,7 +7928,8 @@ /obj/structure/table/wood, /obj/machinery/chem_master/condimaster{ name = "HoochMaster Deluxe"; - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments." + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + pixel_y = 13 }, /turf/open/floor/iron/dark, /area/station/service/bar) @@ -7953,13 +7993,25 @@ "bLe" = ( /turf/open/floor/carpet, /area/station/service/library) +"bLi" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/sign/calendar, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "bLj" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/surgery{ pixel_x = 3; - pixel_y = 3 + pixel_y = 10 + }, +/obj/item/book/manual/wiki/medicine{ + pixel_y = 6 }, -/obj/item/book/manual/wiki/medicine, /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -7996,9 +8048,6 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, -/obj/structure/plaque/static_plaque/golden{ - pixel_x = 32 - }, /obj/structure/disposalpipe/trunk{ dir = 8 }, @@ -8009,7 +8058,7 @@ "bLA" = ( /obj/structure/table/wood, /obj/item/folder{ - pixel_y = 2 + pixel_y = 11 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, @@ -8147,14 +8196,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"bNm" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "bNp" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -8214,14 +8255,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/wood, /area/station/command/meeting_room) -"bNG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/vending/modularpc, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "bNI" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -8277,10 +8310,14 @@ /obj/structure/table/glass, /obj/item/storage/box/gloves{ pixel_x = 3; - pixel_y = 4 + pixel_y = 16 + }, +/obj/item/storage/box/masks{ + pixel_y = 12 + }, +/obj/item/clothing/gloves/latex/nitrile{ + pixel_y = 14 }, -/obj/item/storage/box/masks, -/obj/item/clothing/gloves/latex/nitrile, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "bNY" = ( @@ -8300,6 +8337,16 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"bOB" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/button/door/directional/north{ + id = "secmechbay"; + name = "Security Mech Garage Door Controls" + }, +/turf/open/floor/iron, +/area/station/security/brig) "bOV" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/engine, @@ -8321,6 +8368,11 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, /turf/open/floor/iron, /area/station/commons/fitness) "bPp" = ( @@ -8369,6 +8421,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"bPS" = ( +/obj/machinery/door/window/right/directional/north{ + name = "The Monkey Pit"; + req_access = list("science") + }, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "bPV" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -8384,6 +8443,7 @@ dir = 1 }, /obj/effect/landmark/event_spawn, +/obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) "bRE" = ( @@ -8445,16 +8505,6 @@ /obj/effect/turf_decal/siding/thinplating, /turf/open/floor/iron, /area/station/cargo/storage) -"bTI" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/computer/security/telescreen/prison/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/security/office) "bTN" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/structure/disposalpipe/segment{ @@ -8487,15 +8537,21 @@ "bUj" = ( /obj/structure/table, /obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 + pixel_x = -3; + pixel_y = 15 }, /obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 + pixel_x = 4; + pixel_y = 20 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 5; + pixel_x = 9 }, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, /obj/effect/landmark/navigate_destination/techstorage, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) @@ -8510,11 +8566,13 @@ /area/station/service/chapel) "bUG" = ( /obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/bureaucracy/folder{ + pixel_y = 9 + }, /obj/structure/window/reinforced/spawner/directional/south{ pixel_y = 2 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/bureaucracy/folder, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) "bUI" = ( @@ -8537,29 +8595,33 @@ /area/station/command/meeting_room) "bUU" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/siding/white, -/obj/machinery/door/window/right/directional/east{ - name = "Secure Medical Storage"; - req_access = list("medical") - }, /obj/item/storage/medkit/regular{ pixel_x = -3; - pixel_y = -3 + pixel_y = 1 + }, +/obj/item/storage/medkit/regular{ + pixel_y = 6 }, -/obj/item/storage/medkit/regular, /obj/item/storage/medkit/regular{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, /obj/effect/turf_decal/siding/white{ dir = 4 }, +/obj/machinery/door/window/half/right/directional/east{ + name = "Secure Medical Storage"; + req_access = list("medical") + }, +/obj/structure/window/reinforced/half, /turf/open/floor/iron/dark, /area/station/medical/storage) "bVs" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp/green, +/obj/item/flashlight/lamp/green{ + pixel_y = 13 + }, /obj/structure/disposalpipe/segment{ dir = 10 }, @@ -8607,11 +8669,6 @@ "bVW" = ( /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"bWb" = ( -/obj/machinery/suit_storage_unit/hos, -/obj/machinery/keycard_auth/directional/east, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hos) "bWi" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -8672,9 +8729,11 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "bWU" = ( +/obj/machinery/computer/operating, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "bXb" = ( @@ -8704,26 +8763,26 @@ /turf/open/floor/iron/checker, /area/station/commons/lounge) "bXp" = ( -/obj/item/toy/crayon/orange, /obj/effect/decal/cleanable/crayon/i/orange{ pixel_x = 8; - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ pixel_x = 4; - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ pixel_x = -4; - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/x{ pixel_x = 4; - pixel_y = -32 + pixel_y = 32 }, +/obj/item/toy/crayon/orange, /turf/open/floor/plating, /area/station/engineering/main) "bXr" = ( @@ -8733,31 +8792,12 @@ /turf/open/floor/iron, /area/station/security/execution/transfer) "bXs" = ( -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleright_lower_lower_eva_airlock_control"; - idInterior = "middleright_lower_lower_eva_internal"; - idExterior = "middleright_lower_lower_eva_external" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) -"bXv" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/keycard_auth/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/button/door/directional/east{ - name = "Privacy Shutters Toggle"; - pixel_y = -11; - id = "greedygrinnersden" +/obj/machinery/camera/emp_proof/directional/east{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics CO2 Chamber" }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "bXG" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/door/airlock/external{ @@ -8766,12 +8806,6 @@ id_tag = "rightmost_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "rightmost_lower_eva_airlock_control"; - idDoor = "rightmost_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/hallway/primary/tram/right) @@ -8808,7 +8842,9 @@ /area/station/commons/toilet) "bYA" = ( /obj/structure/table, -/obj/item/storage/fancy/donut_box, +/obj/item/storage/fancy/donut_box{ + pixel_y = 11 + }, /turf/open/floor/iron, /area/station/security/office) "bYD" = ( @@ -8850,9 +8886,16 @@ /area/station/cargo/storage) "bYW" = ( /obj/structure/table, -/obj/structure/closet/mini_fridge, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/cup/soda_cans/cola, +/obj/structure/closet/mini_fridge{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/milk{ + pixel_y = 14 + }, +/obj/item/reagent_containers/cup/soda_cans/cola{ + pixel_y = 7 + }, /turf/open/floor/iron/white, /area/station/service/kitchen) "bYY" = ( @@ -8865,7 +8908,7 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 }, -/obj/structure/sign/warning/test_chamber/directional/north, +/obj/structure/sign/warning/test_chamber, /turf/open/floor/iron/white, /area/station/science/lower) "bZh" = ( @@ -8893,19 +8936,24 @@ "bZp" = ( /obj/structure/table, /obj/item/transfer_valve{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 5 }, -/obj/item/transfer_valve, /obj/item/transfer_valve{ - pixel_x = 5 + pixel_y = 5 }, /obj/item/transfer_valve{ - pixel_x = -5 + pixel_x = 5; + pixel_y = 5 }, /obj/item/transfer_valve{ - pixel_x = 5 + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/transfer_valve{ + pixel_x = 5; + pixel_y = 5 }, -/obj/structure/sign/clock/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "bZA" = ( @@ -8999,9 +9047,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/structure/sign/departments/psychology{ - pixel_x = 32 - }, +/obj/structure/sign/departments/psychology/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "cbc" = ( @@ -9068,27 +9114,30 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"ccC" = ( +/obj/structure/sign/directions/engineering/right/south_arrow/directional/west, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/center) "ccF" = ( /obj/structure/table, /obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = -5 - }, -/obj/machinery/status_display/supply{ - pixel_y = 32 + pixel_y = 9 }, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","cargo"); - c_tag = "Cargo - Main Office" +/obj/item/multitool{ + pixel_x = 3; + pixel_y = 8 }, -/obj/item/multitool, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/machinery/light/directional/north, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo - Main Office"; + network = list("ss13","cargo") + }, +/obj/machinery/status_display/supply, /turf/open/floor/iron, /area/station/cargo/office) "ccH" = ( @@ -9113,10 +9162,18 @@ "ccU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/dim/directional/north, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "middleleft_lower_eva_external"; + idInterior = "middleleft_lower_eva_internal"; + idSelf = "middleleft_lower_eva_airlock_control"; + pixel_y = 32; + pixel_x = -8 + }, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/center) "ccX" = ( /obj/machinery/vending/engivend, +/obj/structure/sign/poster/official/safety_eye_protection, /turf/open/floor/iron, /area/station/engineering/main) "cda" = ( @@ -9176,20 +9233,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"cdM" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "Xenolab" - }, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/science/xenobiology) "cdN" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 1 + }, +/obj/machinery/door_buttons/access_button/directional/west{ + idDoor = "middleleft_lower_lower_eva_internal"; + idSelf = "middleleft_lower_lower_eva_airlock_control" + }, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "cdV" = ( /obj/machinery/door/firedoor/border_only, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -9382,6 +9441,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) +"cge" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/aiupload, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "cgl" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -9393,9 +9462,7 @@ }, /area/station/ai_monitored/command/storage/eva) "cgw" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, +/obj/machinery/vending/wardrobe/coroner_wardrobe, /turf/open/floor/iron/dark, /area/station/medical/morgue) "cgD" = ( @@ -9428,7 +9495,6 @@ /obj/machinery/atmospherics/components/binary/pump{ dir = 8 }, -/obj/structure/sign/warning/cold_temp/directional/south, /turf/open/floor/iron/white, /area/station/science/ordnance) "chf" = ( @@ -9532,7 +9598,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/button/door/directional/north{ name = "Tunnel Access Shutters Toggle"; - id = "lefttunnel" + id = "lefttunnel"; + pixel_x = -9 + }, +/obj/machinery/door_buttons/access_button/directional/north{ + pixel_x = 10; + idDoor = "mostleft_upper_lower_eva_internal"; + idSelf = "mostleft_upper_lower_eva_airlock_control" }, /turf/open/floor/plating, /area/station/maintenance/tram/left) @@ -9618,12 +9690,16 @@ dir = 4 }, /obj/structure/table/reinforced, -/obj/machinery/cell_charger, +/obj/machinery/cell_charger{ + pixel_y = -8 + }, /obj/item/experi_scanner{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 12 }, /obj/item/experi_scanner{ - pixel_x = 4 + pixel_x = 4; + pixel_y = 12 }, /turf/open/floor/iron/white, /area/station/science/lab) @@ -9637,6 +9713,12 @@ "clT" = ( /turf/closed/wall, /area/station/security/checkpoint/medical) +"cmf" = ( +/obj/effect/turf_decal/trimline/yellow/filled/shrink_cw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "cmo" = ( /obj/effect/turf_decal/siding/thinplating/end, /obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4{ @@ -9695,14 +9777,6 @@ /obj/machinery/vending/modularpc, /turf/open/floor/iron/white, /area/station/science/lobby) -"coB" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/pipe_scrubber, -/turf/open/floor/iron, -/area/station/engineering/atmos) "coI" = ( /obj/machinery/door/airlock{ name = "Room 1"; @@ -9732,28 +9806,24 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ pixel_x = 1; - pixel_y = 5 + pixel_y = 15 }, /obj/effect/turf_decal/siding/wood{ dir = 6 }, /turf/open/floor/wood, /area/station/service/library) -"coV" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/screwdriver{ - pixel_x = 2; - pixel_y = 11 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "cpl" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"cpr" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "cpx" = ( /obj/machinery/atmospherics/components/unary/passive_vent/layer2{ dir = 1 @@ -9763,7 +9833,9 @@ /area/space/nearstation) "cpy" = ( /obj/structure/table, -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) "cpG" = ( @@ -9887,7 +9959,7 @@ "crE" = ( /obj/structure/table/wood, /obj/machinery/recharger{ - pixel_y = 4 + pixel_y = 10 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, @@ -10004,6 +10076,9 @@ pixel_y = -5 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light_switch/directional/west{ + pixel_y = 9 + }, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) "csl" = ( @@ -10046,6 +10121,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"ctb" = ( +/obj/effect/turf_decal/bot, +/obj/effect/spawner/random/structure/closet_empty/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/item/stock_parts/power_store/cell/high/empty, +/turf/open/floor/iron, +/area/station/cargo/storage) "ctW" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -10135,7 +10217,6 @@ /obj/structure/bed/double, /obj/effect/spawner/random/bedsheet/double, /obj/effect/landmark/start/assistant, -/obj/structure/sign/clock/directional/north, /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) @@ -10149,7 +10230,7 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "cwg" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/science/lower) "cwj" = ( @@ -10180,20 +10261,24 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/item/folder/red, -/obj/item/pen, +/obj/item/folder/red{ + pixel_y = 9 + }, +/obj/item/pen{ + pixel_y = 9 + }, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) "cwG" = ( /turf/open/floor/iron, /area/station/cargo/office) -"cwU" = ( -/obj/machinery/door/window/right/directional/north{ - name = "The Monkey Pit"; - req_access = list("science") +"cwO" = ( +/obj/machinery/computer/apc_control{ + dir = 1 }, -/turf/open/misc/grass/jungle, -/area/station/science/explab) +/obj/machinery/computer/security/telescreen/engine/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "cxc" = ( /obj/structure/chair, /turf/open/floor/iron/checker, @@ -10249,6 +10334,16 @@ "cxA" = ( /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"cxI" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Monkey Pit" + }, +/obj/machinery/light/warm/directional/north, +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt/station + }, +/area/station/science/explab) "cya" = ( /obj/structure/railing{ dir = 4 @@ -10322,12 +10417,15 @@ /turf/open/floor/iron, /area/station/engineering/main) "cyL" = ( -/obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/camera/directional/east{ + c_tag = "Medical - Breakroom"; + network = list("ss13","medbay") + }, /turf/open/floor/iron/dark, /area/station/medical/break_room) "cyN" = ( @@ -10452,13 +10550,16 @@ /obj/structure/table, /obj/item/storage/box/beakers{ pixel_x = 3; - pixel_y = 3 + pixel_y = 12 }, /obj/machinery/camera/directional/north{ c_tag = "Service - Hydroponics" }, /obj/effect/turf_decal/tile/green/fourcorners, -/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ + pixel_y = 7 + }, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/service/hydroponics) "cAd" = ( @@ -10502,19 +10603,13 @@ /obj/item/reagent_containers/cup/bottle{ name = "Barber's Aid bottle"; desc = "A small bottle of Barber's Aid."; - pixel_x = 10; - pixel_y = 3; + pixel_x = 8; + pixel_y = 1; list_reagents = list(/datum/reagent/barbers_aid=30) }, /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/wood/large, /area/station/service/barber) -"cAK" = ( -/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/light/directional/north, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "cBo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -10525,6 +10620,7 @@ /obj/effect/landmark/navigate_destination{ location = "Escape" }, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) "cBw" = ( @@ -10678,9 +10774,15 @@ /turf/open/floor/plating/elevatorshaft, /area/station/security/execution/transfer) "cFb" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/exit) +/obj/structure/ladder, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = -5; + idDoor = "middleleft_lower_eva_internal"; + idSelf = "middleleft_lower_eva_airlock_control" + }, +/turf/open/floor/iron/smooth, +/area/station/hallway/primary/tram/center) "cFh" = ( /obj/machinery/modular_computer/preset/engineering{ dir = 8 @@ -10699,7 +10801,7 @@ /obj/item/camera{ pixel_y = 4 }, -/obj/machinery/airalarm/directional/north, +/obj/structure/sign/calendar, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) "cFs" = ( @@ -10719,31 +10821,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"cFH" = ( -/obj/structure/table/wood, -/obj/structure/sign/picture_frame/showroom/two{ - pixel_x = 8; - pixel_y = 32 - }, -/obj/structure/sign/picture_frame/showroom/one{ - pixel_x = -8; - pixel_y = 32 - }, -/obj/item/storage/box/matches{ - pixel_x = -2; - pixel_y = 3 - }, -/obj/item/cigarette/cigar{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/item/cigarette/cigar{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/cigarette/cigar/cohiba, -/turf/open/floor/wood, -/area/station/command/meeting_room) "cFP" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 @@ -10769,6 +10846,7 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/structure/sign/directions/security/left/west_arrow/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "cFV" = ( @@ -10801,16 +10879,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"cGm" = ( -/obj/effect/turf_decal/bot, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "cGy" = ( /obj/structure/chair/stool/directional/north, /obj/structure/disposalpipe/segment{ @@ -10822,21 +10890,31 @@ /obj/structure/table/wood, /obj/item/pai_card{ name = "\improper Nanotrasen-brand personal AI device exhibit"; - desc = "A real Nanotrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape." + desc = "A real Nanotrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape."; + pixel_y = 7 }, /obj/machinery/light/warm/directional/west, /turf/open/floor/carpet, /area/station/command/meeting_room) "cGU" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/sign/departments/medbay/alt{ - pixel_y = -32 - }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 }, /turf/open/floor/iron/white, /area/station/security/medical) +"cHa" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "cHj" = ( /obj/structure/disposalpipe/junction/flip{ dir = 4 @@ -11130,6 +11208,10 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, +/obj/machinery/camera/directional/east{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Block South" + }, /turf/open/floor/iron, /area/station/security/prison/safe) "cNq" = ( @@ -11262,20 +11344,8 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"cON" = ( -/obj/machinery/deepfryer, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/station/service/kitchen) "cPg" = ( /obj/machinery/power/smes/engineering, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - SMES" - }, /obj/structure/cable, /obj/machinery/light/directional/west, /turf/open/floor/iron, @@ -11343,6 +11413,7 @@ c_tag = "Hallway - Port Tram Platform South" }, /obj/machinery/light/directional/east, +/obj/structure/sign/directions/science/left/east_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/left) "cPK" = ( @@ -11353,7 +11424,6 @@ dir = 4 }, /obj/effect/landmark/start/assistant, -/obj/structure/sign/clock/directional/west, /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -11379,6 +11449,9 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/lower) +"cQr" = ( +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "cQs" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, @@ -11391,7 +11464,9 @@ /area/station/engineering/supermatter/room) "cQD" = ( /obj/structure/table/reinforced, -/obj/structure/reagent_dispensers/servingdish, +/obj/structure/reagent_dispensers/servingdish{ + pixel_y = 6 + }, /obj/machinery/door/firedoor, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) @@ -11538,7 +11613,6 @@ dir = 1 }, /obj/machinery/light/directional/south, -/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) "cSR" = ( @@ -11562,16 +11636,12 @@ /turf/open/floor/iron, /area/station/security/prison/garden) "cTc" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall, -/area/station/hallway/primary/tram/center) -"cTl" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/vending/assist, -/turf/open/floor/iron, -/area/station/commons/storage/primary) +/obj/machinery/duct, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/surgery/fore) "cTw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -11633,7 +11703,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/machinery/light/cold/directional/north, +/obj/structure/sign/poster/official/cleanliness/directional/north, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) "cVk" = ( @@ -11685,12 +11755,12 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark, /area/station/medical/break_room) "cVz" = ( /obj/effect/landmark/start/hangover, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/clock, /turf/open/floor/wood, /area/station/commons/dorms) "cVF" = ( @@ -11930,11 +12000,11 @@ /area/station/science/xenobiology) "cZN" = ( /obj/effect/turf_decal/sand/plating, -/obj/structure/sign/warning/directional/north{ +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning{ name = "FALLING HAZARD sign"; desc = "A sign warning you to be cautious of falling packages." }, -/obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/engineering/atmos) "cZQ" = ( @@ -11980,24 +12050,24 @@ /area/station/command/teleporter) "dau" = ( /obj/structure/table, -/obj/item/clothing/head/wig, /obj/item/clothing/head/wig{ - pixel_x = -4; - pixel_y = -5 + pixel_y = 5 }, /obj/item/clothing/head/wig{ - pixel_x = 4; - pixel_y = -5 + pixel_x = -4 + }, +/obj/item/clothing/head/wig{ + pixel_x = 4 }, /obj/item/clothing/mask/fakemoustache, /obj/item/clothing/mask/fakemoustache{ - pixel_x = -4; - pixel_y = -5 + pixel_x = -4 }, -/obj/item/clothing/mask/fakemoustache, /obj/item/clothing/mask/fakemoustache{ - pixel_x = 8; - pixel_y = -5 + pixel_y = 5 + }, +/obj/item/clothing/mask/fakemoustache{ + pixel_x = 8 }, /turf/open/floor/plating, /area/station/service/barber) @@ -12020,6 +12090,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"dbi" = ( +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/sign/warning/no_smoking, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dbo" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -12074,6 +12152,9 @@ dir = 8 }, /obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Mid Right Command" + }, /turf/open/floor/iron, /area/station/hallway/secondary/command) "dcf" = ( @@ -12146,12 +12227,14 @@ /turf/open/floor/glass, /area/station/commons/fitness/recreation) "ddk" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Civilian - Library South" - }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/carpet, /area/station/service/library) "ddn" = ( +/obj/effect/landmark/start/coroner, /turf/open/floor/iron/dark, /area/station/medical/morgue) "dds" = ( @@ -12183,11 +12266,11 @@ /turf/open/floor/iron, /area/station/security/prison/safe) "ddY" = ( -/obj/structure/sign/poster/official/jim_nortons/directional/north, /obj/machinery/conveyor{ dir = 8; id = "mining" }, +/obj/structure/sign/poster/official/jim_nortons, /turf/open/floor/iron, /area/station/cargo/miningfoundry) "dec" = ( @@ -12247,6 +12330,7 @@ /obj/machinery/duct, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "dfd" = ( @@ -12346,10 +12430,9 @@ /obj/effect/turf_decal/trimline/red/corner{ dir = 8 }, -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Lobby South" +/obj/machinery/camera/emp_proof/directional/south{ + c_tag = "Engineering - Lobby South"; + network = list("ss13","engineering") }, /turf/open/floor/iron, /area/station/engineering/break_room) @@ -12390,6 +12473,7 @@ c_tag = "Hallway - Central Tram Platform South" }, /obj/machinery/light/directional/east, +/obj/structure/sign/directions/upload/left/east_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) "dhL" = ( @@ -12429,6 +12513,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"diI" = ( +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt/station + }, +/area/station/science/explab) "diN" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -12511,8 +12600,12 @@ "dkl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/storage/toolbox/emergency, -/obj/item/crowbar, +/obj/item/storage/toolbox/emergency{ + pixel_y = 8 + }, +/obj/item/crowbar{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/port/central) @@ -12520,6 +12613,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall, /area/station/maintenance/disposal/incinerator) +"dkr" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "dkD" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -12601,7 +12706,6 @@ "dml" = ( /obj/structure/closet/lasertag/red, /obj/effect/landmark/start/hangover/closet, -/obj/structure/sign/poster/official/random/directional/east, /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/fitness/recreation/entertainment) @@ -12613,12 +12717,6 @@ id_tag = "middleright_lower_upper_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleright_lower_upper_eva_airlock_control"; - idDoor = "middleright_lower_upper_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) @@ -12640,6 +12738,10 @@ /obj/effect/turf_decal/trimline/white/warning{ dir = 1 }, +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "mostleft_lower_lower_eva_internal"; + idSelf = "mostleft_lower_lower_eva_airlock_control" + }, /turf/open/floor/iron, /area/station/maintenance/tram/left) "dmT" = ( @@ -12654,11 +12756,9 @@ /turf/open/floor/iron, /area/station/security/execution/transfer) "dmX" = ( -/obj/structure/sign/warning/radiation/rad_area{ - pixel_y = 32 - }, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/warning/radiation, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) "dne" = ( @@ -12679,12 +12779,6 @@ id_tag = "middleleft_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleleft_lower_eva_airlock_control"; - idDoor = "middleleft_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/hallway/primary/tram/center) @@ -12730,13 +12824,14 @@ /turf/open/floor/iron/white, /area/station/science/lab) "doF" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = 28; + idSelf = "middleright_lower_eva_airlock_control"; + idDoor = "middleright_lower_eva_external" }, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron, -/area/station/security/office) +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "doH" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 1 @@ -12821,6 +12916,14 @@ /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) +"dql" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "dqm" = ( /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) @@ -12850,17 +12953,33 @@ /obj/structure/sink/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"drc" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/item/toy/plush/lizard_plushie/green{ + name = "Runs-The-Rails"; + desc = "An adorable, hard working lizard that runs in circles to keep the tram operating safely."; + pixel_y = 10 + }, +/turf/open/floor/iron, +/area/station/tcommsat/computer) "drh" = ( /obj/structure/table, /obj/machinery/fax{ name = "Pre-Trial Fax Machine"; - fax_name = "Pre-Trial" + fax_name = "Pre-Trial"; + pixel_y = 8 }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "drq" = ( /obj/structure/table, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 10 + }, /turf/open/floor/iron/dark, /area/station/security/interrogation) "drr" = ( @@ -12939,20 +13058,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"dsw" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/north, -/obj/machinery/button/door/directional/north{ - name = "CMO Privacy Shutters"; - pixel_y = 38; - id = "cmoshutter"; - req_access = list("cmo") - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "dsF" = ( /turf/open/floor/iron/smooth, /area/station/command/gateway) @@ -13098,10 +13203,10 @@ /obj/structure/table, /obj/item/stack/package_wrap{ pixel_x = -1; - pixel_y = -1 + pixel_y = 10 }, /obj/item/stack/wrapping_paper{ - pixel_x = 3; + pixel_x = 2; pixel_y = 4 }, /obj/effect/turf_decal/siding/thinplating, @@ -13196,20 +13301,6 @@ /obj/structure/flora/bush/leavy/style_random, /turf/open/floor/grass, /area/station/medical/virology) -"dyp" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "dys" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -13224,11 +13315,14 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "dyB" = ( -/obj/structure/closet/secure_closet/medical2, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, -/obj/machinery/airalarm/directional/west, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/sink/directional/east, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "dyC" = ( @@ -13269,6 +13363,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"dyQ" = ( +/obj/structure/flora/bush/sunny/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "dyV" = ( /obj/machinery/quantum_server, /obj/effect/turf_decal/bot/left, @@ -13290,6 +13388,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/maintenance/tram/mid) +"dzb" = ( +/obj/machinery/elevator_control_panel{ + pixel_y = 2; + linked_elevator_id = "tram_xeno_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/closed/wall, +/area/station/science/xenobiology) "dzu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13308,15 +13414,12 @@ /area/station/science/research) "dzz" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/sign/departments/holy{ - pixel_y = -32 - }, /obj/structure/cable, /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/sign/departments/holy/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "dzF" = ( @@ -13403,9 +13506,6 @@ /area/station/maintenance/tram/right) "dCk" = ( /obj/structure/table/wood, -/obj/machinery/recharger{ - pixel_x = 5 - }, /obj/item/paper_bin{ pixel_x = -5; pixel_y = 4 @@ -13414,6 +13514,10 @@ pixel_x = -4 }, /obj/machinery/light/warm/directional/west, +/obj/item/storage/briefcase/secure{ + pixel_x = 3; + pixel_y = 17 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "dCq" = ( @@ -13533,12 +13637,6 @@ id_tag = "middleleft_upper_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleleft_upper_eva_airlock_control"; - idDoor = "middleleft_upper_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -13572,35 +13670,30 @@ "dEU" = ( /obj/structure/table/wood, /obj/item/disk/data{ - pixel_x = 9; - pixel_y = -1 + pixel_x = 6; + pixel_y = 8 }, /obj/item/disk/design_disk{ name = "component design disk"; - pixel_y = 6 + pixel_y = 12 }, /obj/item/disk/tech_disk{ pixel_x = -2; - pixel_y = -3 + pixel_y = 7 }, /obj/machinery/light/warm/directional/east, /turf/open/floor/carpet, /area/station/command/meeting_room) "dFc" = ( -/obj/structure/table/wood/fancy/royalblue, -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/spawner/random/decoration/statue{ - spawn_loot_chance = 50 +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/paper/stack{ + dir = 4 }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 }, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/wood/large, -/area/station/service/library) +/turf/open/floor/plating, +/area/station/maintenance/tram/left) "dFt" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/landmark/start/hangover, @@ -13610,9 +13703,11 @@ /obj/structure/table/wood, /obj/item/storage/box/seccarts{ pixel_x = 3; - pixel_y = 2 + pixel_y = 9 + }, +/obj/item/storage/box/deputy{ + pixel_y = 7 }, -/obj/item/storage/box/deputy, /obj/item/radio/intercom/directional/west, /obj/machinery/button/door/directional/west{ name = "Emergency Blast Doors"; @@ -13721,11 +13816,11 @@ /obj/structure/table/glass, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = -6; - pixel_y = 2 + pixel_y = 8 }, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = 6; - pixel_y = 6 + pixel_y = 12 }, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) @@ -13749,6 +13844,15 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"dHV" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Civilian - Lawyer's Office" + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/wood, +/area/station/service/lawoffice) "dIn" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -13796,22 +13900,33 @@ /area/station/command/teleporter) "dIZ" = ( /obj/structure/table/wood, -/obj/structure/sign/flag/nanotrasen/directional/north, /obj/item/book/manual/wiki/security_space_law{ name = "space law"; - pixel_y = 2 + pixel_y = 8 + }, +/obj/item/toy/gun{ + pixel_y = 10 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 9 }, -/obj/item/toy/gun, -/obj/item/restraints/handcuffs, /obj/item/clothing/head/collectable/hos{ - name = "novelty HoS hat" + name = "novelty HoS hat"; + pixel_y = 8 }, +/obj/structure/sign/flag/nanotrasen, /turf/open/floor/wood, /area/station/command/meeting_room) "dJk" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall, -/area/station/hallway/primary/tram/right) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "mostleft_lower_eva_external"; + idInterior = "mostleft_lower_eva_internal"; + idSelf = "mostleft_lower_eva_airlock_control"; + pixel_x = 8 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) "dJm" = ( /obj/structure/chair{ dir = 4 @@ -13875,12 +13990,13 @@ /turf/open/floor/iron, /area/station/security/processing) "dKv" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Mixing Chamber" +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 }, -/turf/open/floor/engine/vacuum, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/no_smoking, +/turf/open/floor/iron, /area/station/engineering/atmos) "dKy" = ( /obj/structure/disposalpipe/segment{ @@ -13973,17 +14089,6 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"dLS" = ( -/obj/machinery/turretid{ - name = "AI Chamber turret control"; - icon_state = "control_stun"; - pixel_x = 3; - pixel_y = -23 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "dMv" = ( /obj/machinery/power/smes, /obj/structure/cable, @@ -14058,15 +14163,16 @@ "dNH" = ( /obj/structure/table, /obj/item/computer_disk{ - pixel_x = -8; - pixel_y = -3 + pixel_x = -3; + pixel_y = 4 }, /obj/item/computer_disk{ pixel_x = -5; - pixel_y = 8 + pixel_y = 15 }, /obj/item/computer_disk/ordnance{ - pixel_x = 1 + pixel_x = 1; + pixel_y = 13 }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -14120,6 +14226,10 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"dOu" = ( +/obj/structure/flora/bush/jungle/b/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "dOC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -14144,6 +14254,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"dOX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/large, +/area/station/service/library) +"dPa" = ( +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics N2 Chamber" + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "dPe" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -14205,26 +14328,42 @@ "dPT" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/north, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, +/obj/item/food/grown/harebell{ + pixel_x = 7; + pixel_y = 16 + }, /obj/machinery/camera/directional/north{ c_tag = "Civilian - Chapel Monastary" }, +/obj/item/food/grown/harebell{ + pixel_y = 12 + }, +/obj/item/food/grown/harebell{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/food/grown/harebell{ + pixel_y = 8; + pixel_x = -2 + }, +/obj/item/food/grown/harebell{ + pixel_y = 17; + pixel_x = -5 + }, /turf/open/floor/carpet, /area/station/service/chapel/monastery) "dQd" = ( /obj/structure/table, /obj/item/storage/box/teargas{ pixel_x = -3; - pixel_y = 3 + pixel_y = 10 + }, +/obj/item/storage/box/handcuffs{ + pixel_y = 8 }, -/obj/item/storage/box/handcuffs, /obj/item/storage/box/flashbangs{ pixel_x = 3; - pixel_y = -3 + pixel_y = 6 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -14313,7 +14452,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/machinery/light/cold/directional/south, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) "dRu" = ( @@ -14332,7 +14470,6 @@ /obj/effect/spawner/random/bedsheet{ dir = 4 }, -/obj/structure/sign/clock/directional/south, /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -14352,8 +14489,12 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/firealarm/directional/south, /obj/structure/table/glass, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, +/obj/item/stack/medical/mesh{ + pixel_y = 12 + }, +/obj/item/stack/medical/gauze{ + pixel_y = 13 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "dRY" = ( @@ -14437,6 +14578,7 @@ dir = 8 }, /obj/machinery/light/directional/west, +/obj/structure/sign/directions/science/right/east_arrow/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "dTE" = ( @@ -14503,25 +14645,6 @@ /obj/structure/closet/secure_closet/psychology, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"dUH" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/warning{ - dir = 8 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "dUK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -14534,7 +14657,6 @@ "dVj" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder, -/obj/structure/sign/clock/directional/west, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -14595,13 +14717,13 @@ /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "dWj" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics CO2 Chamber" +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = -2; + idDoor = "rightmost_lower_lower_eva_external"; + idSelf = "rightmost_lower_lower_eva_airlock_control" }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) +/turf/open/misc/asteroid, +/area/station/maintenance/tram/right) "dWn" = ( /obj/machinery/duct, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -14617,18 +14739,17 @@ /obj/structure/table, /obj/item/radio{ pixel_x = -7; - pixel_y = 6 + pixel_y = 9 }, /obj/item/binoculars{ - pixel_x = -3; - pixel_y = -2 + pixel_x = 3; + pixel_y = 7 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ - pixel_x = 7; - pixel_y = 5 + pixel_y = 15 }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) @@ -14647,21 +14768,22 @@ /obj/machinery/camera/directional/west{ c_tag = "Civilian - Dormitories East Stairwell" }, -/obj/structure/sign/flag/terragov/directional/north, +/obj/structure/sign/flag/terragov, /turf/open/floor/iron, /area/station/commons/dorms) "dXo" = ( /obj/structure/table/glass, /obj/item/reagent_containers/chem_pack{ pixel_x = 10; - pixel_y = 10 + pixel_y = 18 }, /obj/item/storage/box/rxglasses{ pixel_x = -4; - pixel_y = 8 + pixel_y = 18 }, /obj/item/stack/medical/gauze{ - pixel_x = 8 + pixel_x = 1; + pixel_y = 9 }, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, @@ -14705,6 +14827,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) +"dYK" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "dYU" = ( /obj/effect/turf_decal/caution/stand_clear/white{ dir = 1 @@ -14728,6 +14855,9 @@ /area/station/hallway/secondary/entry) "dZM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/carpet, /area/station/service/library) "dZX" = ( @@ -14818,21 +14948,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"eaZ" = ( -/obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/wrench{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 10; - pixel_y = 11 - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "ebq" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -14902,7 +15017,10 @@ /area/station/commons/dorms) "ecJ" = ( /obj/structure/table/wood, -/obj/item/holosign_creator/robot_seat/bar, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = 15; + pixel_x = 3 + }, /turf/open/floor/wood, /area/station/service/bar/backroom) "ecV" = ( @@ -14912,10 +15030,6 @@ /obj/machinery/firealarm/directional/east{ pixel_y = 4 }, -/obj/machinery/light_switch/directional/east{ - pixel_x = 24; - pixel_y = -8 - }, /turf/open/floor/iron, /area/station/science/robotics/lab) "ecW" = ( @@ -15039,21 +15153,13 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/maintenance/tram/left) -"egx" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 7; - pixel_y = 8 +"ego" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix Bypass" }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "egD" = ( /obj/machinery/door/airlock/highsecurity{ name = "Prison Maintenance Access"; @@ -15129,11 +15235,6 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"eiy" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "eiR" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -15143,8 +15244,12 @@ /area/station/asteroid) "eiT" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/pen/red, +/obj/item/clipboard{ + pixel_y = 9 + }, +/obj/item/pen/red{ + pixel_y = 9 + }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "eja" = ( @@ -15203,10 +15308,12 @@ id = "playerscantreadthis" }, /obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 9 }, /obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 9 }, /turf/open/floor/iron/checker, /area/station/service/kitchen) @@ -15218,12 +15325,6 @@ id_tag = "rightmost_lower_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "rightmost_lower_lower_eva_airlock_control"; - idDoor = "rightmost_lower_lower_eva_external" - }, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/right) "ejU" = ( @@ -15303,6 +15404,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/cargo/warehouse) +"elq" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = -5 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "elr" = ( /turf/closed/wall, /area/station/commons/dorms) @@ -15424,6 +15534,13 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"enP" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/effect/landmark/event_spawn, +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt/station + }, +/area/station/science/explab) "eor" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -15504,6 +15621,12 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"eqb" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/airless, +/area/space/nearstation) "eqi" = ( /obj/effect/landmark/navigate_destination/tcomms, /turf/open/floor/iron, @@ -15523,12 +15646,6 @@ id_tag = "middleright_upper_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleright_upper_eva_airlock_control"; - idDoor = "middleright_upper_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -15576,11 +15693,10 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, -/obj/machinery/camera{ - dir = 10; +/obj/machinery/newscaster/directional/west, +/obj/machinery/camera/directional/west{ c_tag = "Hallway - Upper Right Command" }, -/obj/machinery/newscaster/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/command) "esc" = ( @@ -15598,7 +15714,9 @@ /area/station/hallway/primary/tram/left) "esf" = ( /obj/structure/table/reinforced, -/obj/item/storage/briefcase/secure, +/obj/item/storage/briefcase/secure{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, @@ -15668,9 +15786,6 @@ /area/station/solars/starboard/fore) "etf" = ( /obj/machinery/ntnet_relay, -/obj/structure/sign/warning/no_smoking{ - pixel_y = -32 - }, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) "ett" = ( @@ -15691,21 +15806,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"etG" = ( -/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/trimline/purple/filled/line{ - dir = 4 - }, -/obj/machinery/turretid{ - name = "AI Upload Turret Control"; - pixel_x = 25; - req_access = list("minisat"); - control_area = "/area/station/ai_monitored/turret_protected/ai_upload" - }, -/turf/open/floor/iron/dark, -/area/station/science/lower) "etH" = ( /obj/effect/turf_decal/siding/thinplating/end{ dir = 1 @@ -15713,6 +15813,7 @@ /turf/open/floor/glass/reinforced, /area/station/security/warden) "euC" = ( +/obj/structure/cable, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "euI" = ( @@ -15813,9 +15914,9 @@ /turf/open/floor/iron, /area/station/security/prison) "ewt" = ( -/obj/machinery/chem_heater/withbuffer, /obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/directional/north, +/obj/machinery/chem_master, +/obj/structure/sign/warning/chem_diamond, /turf/open/floor/iron/white, /area/station/medical/chemistry) "ewK" = ( @@ -15887,27 +15988,15 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"exQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Gas"; - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "exT" = ( /obj/structure/table, /obj/item/radio{ pixel_x = -6; - pixel_y = -3 + pixel_y = 12 }, /obj/item/book/manual/wiki/security_space_law{ pixel_x = 9; - pixel_y = 4 + pixel_y = 15 }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -15964,17 +16053,13 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) -"eyh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/minisat/directional/south, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "eyy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, /turf/open/floor/wood/large, /area/station/service/library) "eyA" = ( @@ -16066,6 +16151,7 @@ /turf/open/floor/iron, /area/station/hallway/secondary/service) "eAe" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/right{ dir = 1 }, @@ -16135,7 +16221,6 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 }, -/obj/structure/sign/poster/official/safety_internals/directional/west, /obj/machinery/camera/directional/west{ network = list("ss13","cargo"); c_tag = "Cargo - Public Mining Dock" @@ -16145,6 +16230,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"eBh" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/screwdriver{ + pixel_x = 2; + pixel_y = 11 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "eBo" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -16183,13 +16280,16 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Main South-East" +/obj/machinery/camera/directional/south{ + c_tag = "Security - Prison Main South-East"; + network = list("ss13","Security","prison") }, /turf/open/floor/iron, /area/station/security/prison) +"eBN" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/lawoffice) "eCk" = ( /obj/machinery/door/airlock/public/glass{ name = "Library" @@ -16215,8 +16315,8 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit) "eCp" = ( -/obj/structure/sign/clock/directional/north, /obj/machinery/computer/records/security, +/obj/structure/sign/clock, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "eCu" = ( @@ -16271,11 +16371,16 @@ /turf/open/floor/iron, /area/station/commons/dorms) "eDV" = ( -/obj/structure/closet/secure_closet/freezer/cream_pie, +/obj/structure/table/wood, +/obj/item/lipstick/random{ + pixel_x = -2; + pixel_y = 12 + }, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/mirror/directional/north, /turf/open/floor/iron, /area/station/service/theater) "eEl" = ( @@ -16284,15 +16389,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"eEp" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "eEx" = ( /obj/structure/cable, /obj/structure/extinguisher_cabinet/directional/north, @@ -16303,6 +16399,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"eEz" = ( +/obj/machinery/computer/security/telescreen/turbine/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "eEH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -16393,10 +16495,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) +"eGj" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/obj/item/kirbyplants/photosynthetic, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - AI Access Hallway" + }, +/turf/open/floor/iron/dark, +/area/station/science/lower) "eGl" = ( /obj/structure/table/wood, /obj/item/flashlight/lantern{ - pixel_y = 7 + pixel_y = 16 }, /turf/open/floor/iron/dark, /area/station/service/chapel) @@ -16419,14 +16533,6 @@ }, /turf/open/openspace, /area/station/asteroid) -"eHj" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 4 - }, -/obj/structure/sign/clock/directional/east, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "eHr" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -16435,11 +16541,11 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "eHE" = ( +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/right, /area/station/science/lower) "eHG" = ( /obj/machinery/firealarm/directional/north, -/obj/structure/sign/poster/official/cleanliness/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) "eHR" = ( @@ -16469,7 +16575,8 @@ /obj/machinery/newscaster/directional/south, /obj/machinery/fax{ name = "Psychology Office Fax Machine"; - fax_name = "Psychology Office" + fax_name = "Psychology Office"; + pixel_y = 9 }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) @@ -16490,8 +16597,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/light_switch/directional/east{ - pixel_x = 22; - pixel_y = -8 + pixel_y = 2 }, /turf/open/floor/iron, /area/station/security/checkpoint/escape) @@ -16502,7 +16608,14 @@ /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) "eJz" = ( -/obj/structure/sign/calendar/directional/south, +/obj/structure/table/wood/fancy/royalblue, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 50; + pixel_y = 12 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/sign/painting/library_secure, +/obj/machinery/light/small/directional/east, /turf/open/floor/wood/large, /area/station/service/library) "eJG" = ( @@ -16542,6 +16655,9 @@ /turf/open/floor/iron/dark, /area/station/service/bar) "eKt" = ( +/obj/machinery/status_display/door_timer/directional/north{ + id = "crgcell" + }, /turf/open/openspace, /area/station/security/checkpoint/supply) "eKy" = ( @@ -16566,9 +16682,25 @@ /turf/open/floor/carpet, /area/station/commons/dorms) "eLr" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/grimy, -/area/station/service/library/lounge) +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Access Desk"; + req_access = list("hop") + }, +/obj/structure/desk_bell{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutters"; + id = "hop" + }, +/obj/structure/cable, +/obj/machinery/door/window/right/directional/south{ + name = "Access Queue" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hop) "eLB" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/trimline/red/filled/corner, @@ -16758,8 +16890,8 @@ dir = 5 }, /obj/machinery/light_switch/directional/east{ - pixel_x = 23; - pixel_y = -8 + pixel_x = 10; + pixel_y = -5 }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) @@ -16778,8 +16910,8 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 }, -/obj/machinery/newscaster/directional/north, -/obj/structure/sign/clock/directional/west, +/obj/machinery/newscaster/directional/west, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "ePG" = ( @@ -16792,6 +16924,17 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/research) +"eQf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "eQm" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -16807,29 +16950,29 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"eQL" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = 28 - }, -/obj/structure/sign/directions/medical{ - pixel_y = 34 +"eQI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/obj/structure/sign/directions/engineering{ - pixel_y = 40 +/obj/structure/table/wood, +/obj/item/folder/yellow{ + pixel_y = 8 }, -/obj/structure/sign/directions/upload{ - dir = 4; - pixel_y = 22 +/obj/item/stamp/law{ + pixel_y = 10 }, -/obj/effect/turf_decal/trimline/tram/filled/line{ - dir = 1 +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) +"eQL" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/trimline/tram/filled/warning{ - dir = 1 +/obj/machinery/firealarm/directional/east{ + pixel_y = 7 }, +/obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron, -/area/station/hallway/primary/tram/center) +/area/station/hallway/secondary/command) "eQN" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/airalarm/directional/west, @@ -16848,11 +16991,9 @@ /obj/structure/table/reinforced, /obj/structure/window/spawner/directional/north, /obj/structure/window/spawner/directional/west, -/obj/item/circular_saw, -/obj/item/scalpel{ - pixel_y = 11 +/obj/item/clothing/mask/breath/medical{ + pixel_y = 8 }, -/obj/item/clothing/mask/breath/medical, /turf/open/floor/iron/white, /area/station/science/robotics/lab) "eRb" = ( @@ -16912,9 +17053,15 @@ /area/station/hallway/primary/tram/right) "eSj" = ( /obj/structure/table, -/obj/item/storage/box/firingpins, -/obj/item/storage/box/firingpins, -/obj/item/key/security, +/obj/item/storage/box/firingpins{ + pixel_y = 11 + }, +/obj/item/storage/box/firingpins{ + pixel_y = 11 + }, +/obj/item/key/security{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) @@ -17299,7 +17446,9 @@ /obj/item/stack/cable_coil{ amount = 15 }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/port/central) @@ -17365,6 +17514,15 @@ dir = 8 }, /area/station/command/bridge) +"faI" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "faN" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -17432,13 +17590,22 @@ /turf/open/floor/iron, /area/station/security/prison) "fdz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, -/obj/structure/sign/warning/vacuum/external/directional/west, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 1 + }, +/obj/machinery/door_buttons/access_button/directional/west{ + idDoor = "rightmost_lower_lower_eva_internal"; + idSelf = "rightmost_lower_lower_eva_airlock_control" + }, +/turf/open/floor/iron, +/area/station/maintenance/tram/right) "fdM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ @@ -17469,7 +17636,7 @@ }, /area/station/service/theater) "fea" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/medium{ dir = 1 }, @@ -17477,7 +17644,9 @@ "fef" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/port/central) @@ -17604,6 +17773,7 @@ c_tag = "Hallway - Central Tram Platform North" }, /obj/machinery/light/directional/west, +/obj/structure/sign/directions/command/right/west_arrow/directional/west, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) "fhg" = ( @@ -17627,9 +17797,16 @@ }, /obj/machinery/firealarm/directional/east, /obj/structure/table, -/obj/item/clothing/gloves/cargo_gauntlet, -/obj/item/clothing/gloves/cargo_gauntlet, -/obj/item/clothing/gloves/cargo_gauntlet, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 7 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 11 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_x = 3; + pixel_y = 11 + }, /turf/open/floor/iron, /area/station/cargo/storage) "fhx" = ( @@ -17642,18 +17819,19 @@ "fhy" = ( /obj/structure/table/reinforced, /obj/structure/desk_bell{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 18 }, /obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/south{ - name = "Robotics Lab Desk"; - req_access = list("robotics") - }, /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/door/poddoor/shutters/preopen{ name = "Robotics Lab Shutters"; id = "robotics2" }, +/obj/machinery/door/window/left/directional/south{ + name = "Robotics Lab Desk"; + req_access = list("robotics") + }, /turf/open/floor/iron/white/side{ dir = 1 }, @@ -17662,16 +17840,15 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Engineering Entry West" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 5 }, +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Engineering Entry West" + }, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) "fhG" = ( @@ -17691,13 +17868,17 @@ /turf/open/floor/iron/freezer, /area/station/security/prison/shower) "fhK" = ( -/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/wood, /obj/item/storage/briefcase/secure{ - pixel_x = -2; - pixel_y = 4 + pixel_y = 3 + }, +/obj/item/storage/lockbox/medal{ + pixel_y = 19 + }, +/obj/item/melee/chainofcommand{ + pixel_y = 11 }, -/obj/item/storage/lockbox/medal, +/obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "fhL" = ( @@ -17762,11 +17943,11 @@ /obj/structure/table, /obj/item/storage/toolbox/electrical{ pixel_x = -2; - pixel_y = 10 + pixel_y = 16 }, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; - pixel_y = -1 + pixel_y = 4 }, /obj/machinery/light/directional/west, /turf/open/floor/iron, @@ -17872,13 +18053,14 @@ /turf/open/floor/wood, /area/station/service/library) "fkR" = ( -/obj/machinery/chem_master, /obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/white, /area/station/medical/chemistry) "fkU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/warm/directional/west, /turf/open/floor/iron/dark, /area/station/service/bar) "fkZ" = ( @@ -18020,6 +18202,14 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"fnn" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron, +/area/station/engineering/atmos) "fnu" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/north, @@ -18118,9 +18308,14 @@ /area/station/security/brig) "foD" = ( /obj/structure/table/glass, -/obj/item/computer_disk/medical, -/obj/item/computer_disk/medical, +/obj/item/computer_disk/medical{ + pixel_y = 11; + pixel_x = 6 + }, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/item/computer_disk/medical{ + pixel_y = 14 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "foF" = ( @@ -18128,10 +18323,21 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/construction/plumbing, -/obj/item/construction/plumbing, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = 2; + pixel_y = 12 + }, +/obj/item/construction/plumbing{ + pixel_y = 12 + }, +/obj/item/construction/plumbing{ + pixel_x = 2; + pixel_y = 17 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) "foS" = ( @@ -18211,14 +18417,14 @@ /turf/open/floor/engine, /area/station/science/xenobiology) "fqU" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Service - Kitchen West" +/obj/structure/table, +/obj/item/storage/bag/tray{ + pixel_y = 8 }, -/obj/machinery/grill, -/obj/structure/sign/poster/official/work_for_a_future/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 +/obj/item/knife/kitchen{ + pixel_y = 13 }, +/turf/open/floor/iron/white, /area/station/service/kitchen) "fqZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18287,14 +18493,12 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "fst" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Lounge" +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/grimy, -/area/station/service/library/lounge) +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood/large, +/area/station/service/library) "fsv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18319,13 +18523,6 @@ autoclose = 0 }, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "Virology Access Button"; - pixel_y = 24; - req_access = list("virology"); - idSelf = "virology_airlock_control"; - idDoor = "virology_airlock_interior" - }, /obj/effect/mapping_helpers/airlock/access/all/medical/virology, /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18393,9 +18590,11 @@ /obj/structure/table, /obj/item/pipe_dispenser{ pixel_x = 3; - pixel_y = 7 + pixel_y = 12 + }, +/obj/item/pipe_dispenser{ + pixel_y = 4 }, -/obj/item/pipe_dispenser, /obj/effect/turf_decal/trimline/purple/filled/line, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white, @@ -18430,6 +18629,7 @@ "fuB" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment, +/obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "fvb" = ( @@ -18442,6 +18642,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, +/obj/item/pipe_dispenser{ + pixel_y = 7 + }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) "fvn" = ( @@ -18455,10 +18658,16 @@ c_tag = "Engineering - Atmospherics Entry Airlock" }, /obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 10 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_y = 8 + }, +/obj/item/clothing/mask/breath{ + pixel_y = 3; + pixel_x = 5 }, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 9 }, @@ -18486,12 +18695,14 @@ /turf/open/floor/catwalk_floor, /area/station/solars/starboard/fore) "fvM" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/cargo/miningdock) "fvR" = ( /obj/structure/table, -/obj/item/training_toolbox, +/obj/item/training_toolbox{ + pixel_y = 8 + }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, @@ -18500,8 +18711,7 @@ "fwk" = ( /obj/structure/table, /obj/machinery/microwave{ - pixel_x = -2; - pixel_y = 5 + pixel_y = 8 }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -18541,6 +18751,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "fwJ" = ( @@ -18600,7 +18811,7 @@ /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "fxP" = ( -/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/sign/poster/official/random, /turf/open/floor/wood/large, /area/station/service/library) "fxS" = ( @@ -18634,13 +18845,23 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit) "fyF" = ( -/obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/effect/landmark/start/mime, /turf/open/floor/iron, /area/station/service/theater) +"fyH" = ( +/obj/structure/ladder, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "mostleft_upper_lower_eva_external"; + idInterior = "mostleft_upper_lower_eva_internal"; + idSelf = "mostleft_upper_lower_eva_airlock_control" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/tram/left) "fyR" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/machinery/light/floor, @@ -18677,12 +18898,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"fzK" = ( +/mob/living/carbon/human/species/monkey, +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt/station + }, +/area/station/science/explab) "fAg" = ( /obj/structure/table, -/obj/item/restraints/handcuffs, -/obj/item/assembly/timer, +/obj/item/restraints/handcuffs{ + pixel_y = 11 + }, +/obj/item/assembly/timer{ + pixel_x = 7 + }, /obj/effect/landmark/event_spawn, -/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld{ + pixel_x = 9; + pixel_y = 25 + }, /turf/open/floor/iron, /area/station/security/office) "fAm" = ( @@ -18693,6 +18927,7 @@ /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "fAQ" = ( @@ -18733,10 +18968,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/cargo/warehouse) -"fCy" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine, -/area/station/science/xenobiology) "fCO" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -18751,17 +18982,22 @@ /area/station/service/janitor) "fCS" = ( /obj/structure/table, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 18 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/light/warm/directional/west, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) "fDg" = ( /obj/structure/table, -/obj/item/clothing/gloves/boxing, +/obj/item/clothing/gloves/boxing{ + pixel_y = 6; + pixel_x = -3 + }, /obj/item/clothing/gloves/boxing/blue{ pixel_x = 4; - pixel_y = 5 + pixel_y = 13 }, /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/airalarm/directional/south, @@ -18813,9 +19049,13 @@ "fEf" = ( /obj/structure/table/wood, /obj/item/papercutter{ - pixel_x = -4 + pixel_x = 3; + pixel_y = 10 }, -/obj/item/paper/fluff/ids_for_dummies, +/obj/item/paper/fluff/ids_for_dummies{ + pixel_y = 10 + }, +/obj/machinery/digital_clock, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "fEp" = ( @@ -18823,19 +19063,15 @@ dir = 4 }, /obj/machinery/disposal/bin, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, /obj/structure/disposalpipe/trunk{ dir = 2 }, +/obj/structure/sign/clock, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "fEG" = ( /obj/machinery/deepfryer, /obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Kitchen East" - }, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -18851,23 +19087,12 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"fEM" = ( -/obj/machinery/light/warm/directional/south, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "fEQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) -"fEZ" = ( -/obj/structure/noticeboard/directional/north, -/obj/structure/aquarium/lawyer, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/station/service/lawoffice) "fFa" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -18961,8 +19186,12 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, /obj/item/stock_parts/scanning_module{ pixel_x = 3; pixel_y = 3 @@ -18982,17 +19211,13 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/commons/dorms) -"fGK" = ( -/mob/living/carbon/human/species/monkey, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "fHg" = ( /obj/structure/chair{ name = "Prosecution"; dir = 1 }, /obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) "fHl" = ( @@ -19005,22 +19230,24 @@ /turf/open/floor/iron, /area/station/security/execution/transfer) "fHo" = ( -/obj/structure/chair/wood, -/obj/effect/landmark/start/clown, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/chair/wood{ + dir = 1 + }, +/obj/effect/landmark/start/clown, /turf/open/floor/iron, /area/station/service/theater) "fHz" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Air Chamber" +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = 0; + idDoor = "middleright_lower_lower_eva_external"; + idSelf = "middleright_lower_lower_eva_airlock_control" }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) +/turf/open/misc/asteroid, +/area/station/maintenance/tram/mid) "fHR" = ( /obj/effect/landmark/start/ai/secondary, /obj/item/radio/intercom/directional/north{ @@ -19081,13 +19308,30 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"fIU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "fIV" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 9 + }, /turf/open/floor/iron/dark, /area/station/escapepodbay) "fJe" = ( @@ -19116,16 +19360,19 @@ /area/station/service/library) "fJH" = ( /obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/structure/desk_bell{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 4 }, /obj/machinery/light/warm/directional/north, /turf/open/floor/iron/dark, /area/station/service/bar) "fJN" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "fJQ" = ( @@ -19162,9 +19409,17 @@ /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/spawner/random/decoration/ornament, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 13 + }, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) +"fKw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/contraband/lusty_xenomorph, +/turf/open/floor/wood/parquet, +/area/station/service/library) "fKz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -19185,8 +19440,13 @@ /area/station/command/heads_quarters/hop) "fKW" = ( /obj/structure/table/glass, -/obj/item/radio/intercom/command, -/obj/item/paper/fluff/jobs/engineering/frequencies, +/obj/item/radio/intercom/command{ + pixel_y = 11 + }, +/obj/item/paper/fluff/jobs/engineering/frequencies{ + pixel_y = 5; + pixel_x = -5 + }, /turf/open/floor/glass, /area/station/command/meeting_room) "fKX" = ( @@ -19203,6 +19463,10 @@ /obj/machinery/computer/records/security{ dir = 4 }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay","Security"); + c_tag = "Medical - Security Checkpoint" + }, /turf/open/floor/iron, /area/station/security/checkpoint/medical) "fLg" = ( @@ -19223,35 +19487,30 @@ anchored = 1 }, /obj/effect/turf_decal/bot, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 - }, +/obj/structure/sign/warning/vacuum, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) "fLE" = ( /obj/structure/table, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Bar Lounge North West" - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, /obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 9 }, /obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 9 }, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron/checker, /area/station/commons/lounge) "fLJ" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "rightmost_lower_lower_eva_airlock_control"; +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "rightmost_lower_lower_eva_external"; idInterior = "rightmost_lower_lower_eva_internal"; - idExterior = "rightmost_lower_lower_eva_external" + idSelf = "rightmost_lower_lower_eva_airlock_control" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/right) "fLN" = ( @@ -19366,7 +19625,6 @@ "fNR" = ( /obj/structure/closet/lasertag/blue, /obj/effect/landmark/start/hangover/closet, -/obj/structure/sign/poster/official/random/directional/east, /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/fitness/recreation/entertainment) @@ -19385,19 +19643,15 @@ autoclose = 0 }, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "middleright_lower_lower_eva_airlock_control"; - idDoor = "middleright_lower_lower_eva_internal" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) "fOs" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 10 + }, /turf/open/floor/wood, /area/station/commons/dorms) "fOG" = ( @@ -19419,13 +19673,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"fPp" = ( -/obj/effect/turf_decal/box/red, -/obj/machinery/vatgrower{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "fPv" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/window/left/directional/north{ @@ -19553,6 +19800,13 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/science/explab) +"fQZ" = ( +/obj/structure/railing, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "fRs" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -19591,6 +19845,7 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/structure/sign/directions/security/left/west_arrow/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "fSp" = ( @@ -19601,9 +19856,12 @@ /turf/open/floor/iron, /area/station/security/checkpoint/engineering) "fSq" = ( -/obj/structure/sign/warning/fire/directional/south, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, -/area/station/science/ordnance/storage) +/area/station/hallway/secondary/exit/departure_lounge) "fSr" = ( /turf/closed/wall, /area/station/security/checkpoint/arrivals) @@ -19651,8 +19909,11 @@ /area/station/commons/vacant_room) "fUh" = ( /obj/structure/chair, -/obj/structure/sign/poster/official/random/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/official/random, +/obj/machinery/camera/directional/north{ + c_tag = "Civilian - Radstorm Shelter" + }, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) "fUm" = ( @@ -19675,15 +19936,6 @@ }, /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"fUP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "fUQ" = ( /obj/machinery/door/airlock/hatch{ name = "Ladder Access Hatch" @@ -19721,11 +19973,6 @@ /turf/open/floor/plating, /area/station/engineering/engine_smes) "fVH" = ( -/obj/structure/table, -/obj/item/razor{ - pixel_x = 9; - pixel_y = 4 - }, /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/freezer, /area/station/science/lower) @@ -19768,11 +20015,6 @@ /obj/item/clothing/mask/breath, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"fWn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "fWA" = ( /turf/open/floor/plating, /area/station/hallway/secondary/exit) @@ -19793,6 +20035,27 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) +"fWI" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor/iron/smooth, +/area/station/security/mechbay) "fWM" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/item/kirbyplants/random, @@ -19807,12 +20070,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/station/science/lower) -"fWX" = ( -/obj/structure/sign/departments/engineering{ - pixel_x = 32 - }, -/turf/open/openspace, -/area/station/hallway/primary/tram/center) "fXb" = ( /obj/machinery/door/airlock{ name = "Barber Maintenance" @@ -19830,17 +20087,20 @@ }, /obj/machinery/light_switch/directional/north{ pixel_x = -8; - pixel_y = 23 + pixel_y = 30 }, /turf/open/floor/wood/large, /area/station/service/barber) "fXf" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/grunge{ + name = "Lounge" }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/library/lounge) "fXl" = ( /obj/effect/turf_decal/tile/neutral/tram, /turf/open/indestructible/tram/plate, @@ -19879,16 +20139,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/checkpoint/engineering) -"fXX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/engineering/main) "fXY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -19932,13 +20182,36 @@ "fZm" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 11 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 11 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 11 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 11 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 11 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"fZv" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Primary Tool Storage" + }, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination/tools, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "fZD" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/west, @@ -19975,7 +20248,8 @@ "fZR" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks/beer{ - dir = 8 + dir = 8; + pixel_y = 10 }, /turf/open/floor/iron/dark, /area/station/service/bar) @@ -20005,7 +20279,14 @@ /turf/open/floor/iron, /area/station/science/robotics/lab) "gaq" = ( -/obj/structure/bookcase/random/fiction, +/obj/structure/table/wood/fancy/royalblue, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 50; + pixel_y = 12 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/sign/painting/library_secure, +/obj/machinery/light/small/directional/west, /turf/open/floor/wood/large, /area/station/service/library) "gas" = ( @@ -20020,6 +20301,12 @@ /turf/open/openspace, /area/station/hallway/primary/tram/right) "gaH" = ( +/obj/machinery/door_buttons/airlock_controller/directional/north{ + pixel_x = -8; + idExterior = "rightmost_lower_eva_external"; + idInterior = "rightmost_lower_eva_internal"; + idSelf = "rightmost_lower_eva_airlock_control" + }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) "gaO" = ( @@ -20168,19 +20455,18 @@ /area/station/science/lower) "gdF" = ( /obj/machinery/vending/wardrobe/det_wardrobe, -/obj/structure/sign/poster/official/dick_gum/directional/south, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "gdJ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, -/obj/structure/sign/poster/contraband/atmosia_independence/directional/north, /obj/machinery/conveyor_switch/oneway{ name = "Shipment Delivery Chute Activator"; pixel_x = 10; id = "hydrodropoff" }, +/obj/structure/sign/poster/contraband/atmosia_independence, /turf/open/floor/iron, /area/station/engineering/atmos) "ged" = ( @@ -20215,15 +20501,6 @@ "geG" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"geJ" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "geX" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -20259,12 +20536,6 @@ "gfK" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) -"gfV" = ( -/obj/structure/table/wood/fancy/green, -/obj/effect/spawner/round_default_module, -/obj/machinery/camera/motion/directional/east, -/turf/open/floor/circuit/green, -/area/station/ai_monitored/turret_protected/ai_upload) "gfX" = ( /obj/structure/fluff/iced_abductor, /turf/open/misc/asteroid/airless, @@ -20299,7 +20570,10 @@ "ggE" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/spawner/random/armory/barrier_grenades, +/obj/effect/spawner/random/armory/barrier_grenades{ + pixel_y = 14; + pixel_x = 2 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "ggH" = ( @@ -20336,7 +20610,12 @@ "ggV" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ - pixel_y = 2 + pixel_y = 12; + pixel_x = 4 + }, +/obj/item/food/grown/poppy{ + pixel_y = 4; + pixel_x = -4 }, /turf/open/floor/iron/dark, /area/station/service/chapel) @@ -20348,16 +20627,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"ghp" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/stripes/white/full, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "ghs" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -20365,6 +20634,21 @@ /obj/machinery/transport/crossing_signal/southeast, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"ghK" = ( +/obj/structure/table, +/obj/item/wirecutters{ + pixel_y = 7; + pixel_x = -4 + }, +/obj/item/stack/cable_coil{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/item/stack/cable_coil{ + pixel_y = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "ghV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -20412,6 +20696,7 @@ /obj/effect/turf_decal/trimline/neutral/corner{ dir = 1 }, +/obj/structure/sign/departments/cargo/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "giZ" = ( @@ -20436,21 +20721,28 @@ /area/station/service/janitor) "gjj" = ( /obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, -/obj/item/hfr_box/core, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/hfr_box/corner{ + pixel_y = 7; + pixel_x = 5 + }, +/obj/item/hfr_box/corner{ + pixel_y = 7; + pixel_x = -6 + }, +/obj/item/hfr_box/corner{ + pixel_y = 18; + pixel_x = -6 + }, +/obj/item/hfr_box/corner{ + pixel_y = 18; + pixel_x = 6 + }, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) "gjn" = ( @@ -20491,10 +20783,12 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "gjL" = ( -/obj/structure/bookcase/random/reference, -/obj/machinery/light/warm/directional/east, -/turf/open/floor/wood/large, -/area/station/service/library) +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/grunge{ + name = "Lounge" + }, +/turf/open/floor/iron/grimy, +/area/station/service/library/lounge) "gjP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/window/left/directional/east{ @@ -20529,7 +20823,9 @@ /area/station/maintenance/disposal) "gkz" = ( /obj/structure/table, -/obj/item/radio/intercom/prison, +/obj/item/radio/intercom/prison{ + pixel_y = 10 + }, /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20539,13 +20835,6 @@ "gkD" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) -"gkF" = ( -/obj/machinery/door/window/left/directional/north{ - name = "The Monkey Pit"; - req_access = list("science") - }, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "gkQ" = ( /obj/machinery/computer/atmos_control/mix_tank{ dir = 8 @@ -20604,30 +20893,9 @@ /turf/open/floor/plating, /area/station/science/xenobiology) "glv" = ( -/obj/structure/sign/directions/supply{ - dir = 1; - pixel_y = -28 - }, -/obj/structure/sign/directions/security{ - dir = 8; - pixel_y = -34 - }, -/obj/structure/sign/directions/command{ - dir = 8; - pixel_y = -40 - }, -/obj/structure/sign/directions/vault{ - dir = 8; - pixel_y = -22 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/tram/filled/line, -/obj/effect/turf_decal/trimline/tram/filled/warning, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/right) +/obj/structure/sign/directions/command/left/north_arrow/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/left) "glP" = ( /obj/structure/chair/plastic, /turf/open/floor/eighties/red, @@ -20677,21 +20945,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"gms" = ( -/obj/structure/table, -/obj/item/wirecutters{ - pixel_y = 7; - pixel_x = -4 - }, -/obj/item/stack/cable_coil{ - pixel_x = -2; - pixel_y = 1 - }, -/obj/item/stack/cable_coil{ - pixel_y = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "gmu" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -20750,31 +21003,11 @@ /obj/structure/chair/sofa/right{ dir = 8 }, -/obj/structure/sign/calendar/directional/east, /turf/open/floor/carpet, /area/station/medical/psychology) "gnK" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = -28 - }, -/obj/structure/sign/directions/medical{ - pixel_y = -34 - }, -/obj/structure/sign/directions/engineering{ - pixel_y = -40 - }, -/obj/structure/sign/directions/upload{ - dir = 4; - pixel_y = -22 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/tram/filled/line, -/obj/effect/turf_decal/trimline/tram/filled/warning, -/turf/open/floor/iron, +/obj/structure/sign/directions/vault/left/east_arrow/directional/west, +/turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) "gnL" = ( /obj/effect/turf_decal/trimline/red/filled/line, @@ -20788,10 +21021,19 @@ dir = 6 }, /obj/structure/table/reinforced, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/blood_filter, -/obj/item/clothing/gloves/latex/nitrile, -/obj/machinery/newscaster/directional/south, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 12 + }, +/obj/item/blood_filter{ + pixel_y = 11 + }, +/obj/item/clothing/gloves/latex/nitrile{ + pixel_y = 9 + }, +/obj/machinery/camera/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medical - Surgery B" + }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "gnQ" = ( @@ -20852,10 +21094,10 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, -/obj/structure/sign/clock/directional/north, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/digital_clock, /turf/open/floor/iron/white, /area/station/science/ordnance) "gpi" = ( @@ -20892,6 +21134,15 @@ }, /turf/open/openspace/airless, /area/station/asteroid) +"gpw" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/vending/modularpc, +/obj/structure/table, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "gpH" = ( /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable, @@ -21025,7 +21276,6 @@ /area/station/science/ordnance/storage) "gtz" = ( /obj/structure/table/wood, -/obj/item/radio/intercom, /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron, /area/station/security/courtroom) @@ -21034,14 +21284,24 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/item/reagent_containers/cup/bottle/multiver, -/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_y = 12; + pixel_x = -5 + }, /turf/open/floor/iron/white, /area/station/security/medical) "gtN" = ( /obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/kitchen/rollingpin, +/obj/item/storage/bag/tray{ + pixel_y = 8 + }, +/obj/item/kitchen/rollingpin{ + pixel_y = 8 + }, /turf/open/floor/iron/white, /area/station/service/kitchen) "gtQ" = ( @@ -21168,9 +21428,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "gwy" = ( -/obj/structure/sign/warning/no_smoking{ - pixel_x = -28 - }, /obj/effect/decal/cleanable/dirt, /obj/machinery/computer/atmos_control/nocontrol/incinerator{ dir = 4 @@ -21238,6 +21495,14 @@ /obj/machinery/disposal/bin/tagger, /turf/open/floor/iron, /area/station/engineering/main) +"gxR" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/item/food/grown/banana/bunch{ + pixel_x = 5; + pixel_y = 16 + }, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "gxV" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -21257,7 +21522,6 @@ /obj/machinery/camera/directional/south{ c_tag = "Civilian - Fitness Center South-West" }, -/obj/structure/sign/calendar/directional/south, /turf/open/floor/iron, /area/station/commons/fitness) "gyn" = ( @@ -21340,9 +21604,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/structure/sign/warning/engine_safety{ - pixel_x = -32 - }, /turf/open/floor/iron, /area/station/engineering/break_room) "gAm" = ( @@ -21409,14 +21670,13 @@ "gAY" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + pixel_x = 8; + name = "Privacy Bolts"; + id = "private_a" + }, /turf/open/floor/carpet, /area/station/commons/dorms) -"gBr" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "gBt" = ( /obj/machinery/cryo_cell{ dir = 4 @@ -21441,9 +21701,11 @@ /obj/structure/table/glass, /obj/item/storage/box/beakers{ pixel_x = 4; - pixel_y = 4 + pixel_y = 16 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 12 }, -/obj/item/storage/box/bodybags, /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -21526,15 +21788,6 @@ /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 8 }, -/obj/machinery/door_buttons/airlock_controller{ - name = "Virology Access Console"; - pixel_x = -24; - pixel_y = 24; - req_access = list("virology"); - idSelf = "virology_airlock_control"; - idInterior = "virology_airlock_interior"; - idExterior = "virology_airlock_exterior" - }, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 @@ -21612,19 +21865,15 @@ /turf/open/floor/iron/dark, /area/station/service/janitor) "gEC" = ( +/obj/structure/ladder, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "middleright_upper_eva_airlock_control"; - idInterior = "middleright_upper_eva_internal"; - idExterior = "middleright_upper_eva_external" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "mostleft_upper_eva_internal"; + idSelf = "mostleft_upper_eva_airlock_control"; + pixel_y = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) +/turf/open/floor/iron/smooth, +/area/station/hallway/primary/tram/left) "gEK" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -21793,7 +22042,6 @@ /turf/open/floor/iron, /area/station/commons/dorms) "gHC" = ( -/obj/structure/sign/poster/official/random/directional/west, /obj/machinery/vending/clothing, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -21831,7 +22079,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/item/airlock_painter/decal, +/obj/item/airlock_painter/decal{ + pixel_y = 8 + }, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, /turf/open/floor/iron, /area/station/engineering/atmos) @@ -21872,6 +22122,22 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/tram/mid) +"gJE" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/computer/security/telescreen/cargo_sec/directional/west, +/obj/item/folder/red{ + pixel_y = 9 + }, +/obj/item/folder/red{ + pixel_x = 4; + pixel_y = 13 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "gJI" = ( /obj/structure/chair/comfy/black, /turf/open/floor/carpet, @@ -21918,7 +22184,7 @@ "gKy" = ( /obj/structure/table, /obj/item/phone{ - pixel_x = 6; + pixel_x = -2; pixel_y = 4 }, /turf/open/floor/iron/dark, @@ -21929,14 +22195,13 @@ }, /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light_switch/directional/east{ - pixel_x = 23; - pixel_y = 8 + pixel_x = 10; + pixel_y = 10 }, /turf/open/floor/iron/dark, /area/station/command/teleporter) "gKJ" = ( /obj/machinery/suit_storage_unit/ce, -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/stripes/line, /obj/machinery/light/directional/north, /turf/open/floor/iron/white, @@ -22101,8 +22366,10 @@ /turf/open/floor/plating, /area/station/security/warden) "gNN" = ( -/obj/machinery/vending/wardrobe/coroner_wardrobe, /obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "gNX" = ( @@ -22131,9 +22398,12 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/sign/poster/official/here_for_your_safety/directional/south, +/obj/item/paper_bin{ + pixel_y = 11 + }, +/obj/item/pen{ + pixel_y = 12 + }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) "gOh" = ( @@ -22197,6 +22467,7 @@ }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/command/bridge) "gPB" = ( @@ -22255,12 +22526,23 @@ /turf/open/floor/iron, /area/station/commons/fitness/recreation) "gQz" = ( +/obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"gQG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/structure/closet/radiation, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/engine/directional/south, +/turf/open/floor/iron, +/area/station/engineering/main) "gQO" = ( /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/security/prison) @@ -22281,19 +22563,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"gRG" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/corner, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "gRQ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -22340,7 +22609,9 @@ /area/station/engineering/storage/tech) "gSi" = ( /obj/structure/table, -/obj/item/folder/yellow, +/obj/item/folder/yellow{ + pixel_y = 8 + }, /obj/item/pen{ pixel_x = 4; pixel_y = 4 @@ -22362,7 +22633,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/machinery/firealarm/directional/west, /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/white, /area/station/science/research) @@ -22388,10 +22658,11 @@ /turf/open/floor/iron, /area/station/maintenance/tram/left) "gTx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction/flip, -/turf/open/floor/carpet, +/obj/structure/bookcase/random/fiction, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, /area/station/service/library) "gTA" = ( /obj/structure/fluff/tram_rail/electric, @@ -22422,17 +22693,12 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "gTY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleleft_lower_lower_eva_airlock_control"; - idInterior = "middleleft_lower_lower_eva_internal"; - idExterior = "middleleft_lower_lower_eva_external" +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Air Chamber" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) +/turf/open/floor/engine/air, +/area/station/engineering/atmos) "gUn" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 9 @@ -22501,6 +22767,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/structure/fireaxecabinet/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = 10; + pixel_y = 26 + }, /turf/open/floor/iron, /area/station/command/bridge) "gWe" = ( @@ -22570,10 +22840,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"gXo" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "gXA" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -22725,6 +22991,21 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) +"haI" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "haS" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/effect/turf_decal/stripes/corner{ @@ -22734,30 +23015,31 @@ /area/station/cargo/storage) "hbg" = ( /obj/structure/table, -/obj/item/stack/pipe_cleaner_coil/random, -/obj/item/stack/pipe_cleaner_coil/random, -/obj/item/stack/pipe_cleaner_coil/random, -/obj/item/storage/crayons, -/obj/item/storage/crayons, -/obj/item/storage/crayons, +/obj/item/stack/pipe_cleaner_coil/random{ + pixel_x = 5; + pixel_y = 10 + }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 }, -/turf/open/floor/iron, -/area/station/commons/storage/art) -"hbk" = ( -/obj/structure/railing/corner{ - dir = 4 +/obj/item/stack/pipe_cleaner_coil/random{ + pixel_x = 4; + pixel_y = 8 }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 +/obj/item/stack/pipe_cleaner_coil/random{ + pixel_x = 2; + pixel_y = 5 }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/item/storage/crayons{ + pixel_y = 12; + pixel_x = -2 + }, +/obj/item/storage/crayons{ + pixel_y = 9; + pixel_x = -4 }, /turf/open/floor/iron, -/area/station/commons/storage/primary) +/area/station/commons/storage/art) "hbQ" = ( /obj/machinery/camera/directional/north{ c_tag = "Civilian - Holodeck Controls" @@ -22782,6 +23064,9 @@ /obj/effect/landmark/transport/transport_id/tramstation/line_1, /turf/closed/wall, /area/station/hallway/primary/tram/center) +"hcj" = ( +/turf/open/floor/wood, +/area/station/service/lawoffice) "hcv" = ( /obj/effect/spawner/random/entertainment/arcade{ dir = 1 @@ -22818,8 +23103,7 @@ "hdG" = ( /obj/structure/table, /obj/machinery/status_display/ai/directional/south, -/obj/machinery/camera{ - dir = 10; +/obj/machinery/camera/directional/west{ network = list("ss13","minisat"); c_tag = "Secure - AI Minisat Entry" }, @@ -22830,12 +23114,14 @@ /turf/open/floor/plating, /area/station/service/library) "hdL" = ( -/obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, /obj/structure/table, -/obj/item/storage/box/prisoner, +/obj/item/storage/box/prisoner{ + pixel_y = 10 + }, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/iron, /area/station/security/processing) "hdM" = ( @@ -22843,11 +23129,14 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 18 + }, /obj/item/stack/sheet/mineral/plasma{ pixel_y = 10 }, /obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) "hdT" = ( @@ -22864,6 +23153,11 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"hel" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/spawner/random/structure/twelve_percent_spirit_board, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "heD" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -22944,7 +23238,6 @@ dir = 8 }, /obj/effect/spawner/random/bedsheet, -/obj/structure/sign/clock/directional/east, /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) @@ -22986,18 +23279,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"hgr" = ( +/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/dark/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/central/greater) "hgG" = ( -/obj/structure/sign/warning/secure_area/directional/north, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - Mid Right Command" +/obj/structure/sign/nanotrasen{ + pixel_y = 32 }, -/obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/command) "hgN" = ( @@ -23093,21 +23393,19 @@ "hiq" = ( /obj/structure/table/wood, /obj/structure/sign/picture_frame/showroom/three{ - pixel_x = -8; - pixel_y = 32 + pixel_x = -8 }, /obj/structure/sign/picture_frame/showroom/four{ - pixel_x = 8; - pixel_y = 32 + pixel_x = 8 }, /obj/item/phone{ desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; pixel_x = -3; - pixel_y = 3 + pixel_y = 9 }, /obj/item/cigbutt/cigarbutt{ pixel_x = 5; - pixel_y = -1 + pixel_y = 7 }, /obj/machinery/camera/directional/north{ c_tag = "Command - Meeting Room North" @@ -23129,10 +23427,9 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Rec Room East" +/obj/machinery/camera/directional/east{ + c_tag = "Security - Rec Room East"; + network = list("ss13","Security","prison") }, /turf/open/floor/iron, /area/station/security/prison/workout) @@ -23144,21 +23441,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/station/science/lower) -"hiT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/circuitboard/machine/crystallizer, -/turf/open/floor/iron/dark, -/area/station/engineering/atmospherics_engine) "hiZ" = ( /obj/structure/bodycontainer/morgue/beeper_off, /turf/open/floor/iron/dark, @@ -23185,17 +23467,16 @@ /turf/open/floor/iron, /area/station/cargo/sorting) "hjv" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Distribution Loop" - }, /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/components/binary/pump/on{ name = "Air to Distro"; dir = 8 }, /obj/structure/cable, +/obj/machinery/camera/emp_proof/directional/north{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Distribution Loop" + }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) "hjx" = ( @@ -23228,18 +23509,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hks" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/potato{ - pixel_x = 6; - pixel_y = 10 - }, -/turf/open/floor/iron/white, -/area/station/science/lobby) "hkt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/corner{ @@ -23249,6 +23518,17 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/central) +"hku" = ( +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","cargo"); + c_tag = "Cargo - Security Outpost" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "hkB" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/machinery/duct, @@ -23262,8 +23542,12 @@ /area/station/commons/lounge) "hkF" = ( /obj/structure/table, -/obj/item/aicard, -/obj/item/ai_module/reset, +/obj/item/aicard{ + pixel_y = 9 + }, +/obj/item/ai_module/reset{ + pixel_y = 11 + }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) "hkN" = ( @@ -23297,13 +23581,14 @@ "hlb" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/modular_computer/preset/id, -/obj/structure/sign/calendar/directional/west, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) "hlk" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/toy/balloon, +/obj/item/toy/balloon{ + pixel_y = 10 + }, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) "hlo" = ( @@ -23331,7 +23616,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/table, -/obj/machinery/coffeemaker, +/obj/machinery/coffeemaker{ + pixel_y = 7 + }, /turf/open/floor/iron, /area/station/cargo/warehouse) "hlD" = ( @@ -23411,8 +23698,8 @@ /turf/open/floor/iron, /area/station/cargo/drone_bay) "hmZ" = ( -/obj/structure/sign/poster/official/space_cops/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/poster/official/space_cops/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) "hne" = ( @@ -23481,8 +23768,6 @@ dir = 8 }, /obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) @@ -23547,11 +23832,11 @@ /obj/structure/table, /obj/item/razor{ pixel_x = 9; - pixel_y = 5 + pixel_y = 15 }, /obj/item/reagent_containers/cup/rag{ pixel_x = -6; - pixel_y = 2 + pixel_y = 22 }, /obj/item/reagent_containers/cup/bottle{ name = "Barber's Aid bottle"; @@ -23589,7 +23874,9 @@ /area/station/service/theater) "hrr" = ( /obj/structure/table/reinforced, -/obj/machinery/microwave/engineering/cell_included, +/obj/machinery/microwave/engineering/cell_included{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -23670,6 +23957,19 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"htm" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "htq" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -23725,10 +24025,6 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/machinery/camera{ - dir = 10; - c_tag = "Arrivals - Central Hall" - }, /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -23821,7 +24117,7 @@ /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "hwO" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/left{ dir = 1 }, @@ -23831,10 +24127,26 @@ /obj/effect/turf_decal/caution/stand_clear/red, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) +"hyw" = ( +/obj/structure/table, +/obj/machinery/requests_console/directional/east{ + name = "EVA Requests Console"; + department = "EVA" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/cell_charger{ + pixel_y = 21 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 21 + }, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "hyE" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/security_space_law{ - pixel_y = 3 + pixel_y = 10; + pixel_x = -6 }, /turf/open/floor/glass, /area/station/command/meeting_room) @@ -23845,18 +24157,6 @@ }, /turf/open/floor/iron/dark/smooth_corner, /area/station/commons/fitness) -"hze" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = -8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "hzk" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -23874,16 +24174,24 @@ }, /turf/open/floor/iron/dark, /area/station/command/teleporter) +"hzH" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "hzN" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) -"hzQ" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "hzR" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 4 @@ -23900,6 +24208,18 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/command/gateway) +"hAC" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/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 = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "hAD" = ( /turf/open/floor/iron/freezer, /area/station/commons/toilet) @@ -23946,10 +24266,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/machinery/status_display/door_timer{ - name = "Isolation Cell D"; - pixel_y = -32; - id = "Isolation_D" +/obj/machinery/status_display/door_timer/directional/south{ + id = "Isolation_D"; + name = "Isolation Cell D" }, /turf/open/floor/iron, /area/station/security/execution/transfer) @@ -24014,11 +24333,11 @@ desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; pixel_x = -4 }, -/obj/structure/sign/clock/directional/north, /obj/machinery/light_switch/directional/north{ - pixel_x = -8; - pixel_y = 23 + pixel_x = -11; + pixel_y = 27 }, +/obj/machinery/digital_clock, /turf/open/floor/wood, /area/station/service/bar/backroom) "hCN" = ( @@ -24056,19 +24375,6 @@ /obj/structure/cable/layer1, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) -"hDF" = ( -/obj/machinery/computer/apc_control{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - name = "Chief Engineer's Request Console"; - department = "Chief Engineer's Desk" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/computer/security/telescreen/engine/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "hDI" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -24205,10 +24511,10 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "hFL" = ( -/obj/structure/sign/warning/secure_area/directional/west, /obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 + dir = 4 }, +/obj/structure/sign/departments/security/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/command) "hFV" = ( @@ -24217,18 +24523,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"hGd" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/aiupload/directional/west, -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - AI Access Hallway" - }, -/turf/open/floor/iron/dark, -/area/station/science/lower) "hGt" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, @@ -24247,6 +24541,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"hGz" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/corner{ + dir = 1 + }, +/obj/machinery/duct, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "hGD" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24280,8 +24588,7 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) "hHm" = ( -/obj/structure/table/optable, -/obj/machinery/newscaster/directional/south, +/obj/machinery/smartfridge/organ, /turf/open/floor/iron/dark, /area/station/medical/morgue) "hHB" = ( @@ -24289,7 +24596,6 @@ dir = 1 }, /obj/machinery/computer/prisoner/management, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/escape) @@ -24357,14 +24663,29 @@ /area/station/science/explab) "hJa" = ( /obj/structure/table, -/obj/item/electronics/apc, -/obj/item/electronics/airlock, +/obj/item/electronics/apc{ + pixel_y = 7 + }, +/obj/item/electronics/airlock{ + pixel_y = 15 + }, /obj/effect/turf_decal/trimline/white/filled/corner, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) "hJd" = ( /turf/open/floor/iron, /area/station/engineering/main) +"hJk" = ( +/obj/machinery/computer/communications{ + dir = 8 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/north{ + pixel_x = 26 + }, +/obj/machinery/status_display/ai/directional/north, +/obj/item/radio/intercom/command/directional/east, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "hJl" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) @@ -24383,6 +24704,20 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"hJP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 10 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/main) "hKj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -24401,6 +24736,7 @@ "hKV" = ( /obj/machinery/vending/snack, /obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) "hKX" = ( @@ -24458,7 +24794,9 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = 9 + }, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) "hMh" = ( @@ -24495,6 +24833,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/wood, /area/station/service/theater) "hMG" = ( @@ -24508,7 +24847,7 @@ }, /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/ore_update, -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron/white, /area/station/science/lab) "hMI" = ( @@ -24516,13 +24855,12 @@ /turf/open/floor/iron, /area/station/engineering/engine_smes) "hMQ" = ( -/obj/structure/sign/warning/secure_area{ - name = "HIGH SECURITY STORAGE"; - pixel_y = 32 - }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, +/obj/structure/sign/warning/secure_area{ + name = "HIGH SECURITY STORAGE" + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) "hNe" = ( @@ -24535,6 +24873,10 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"hNf" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "hNg" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 10 @@ -24604,10 +24946,24 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"hOg" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 10 + }, +/obj/effect/turf_decal/trimline/white/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "hOh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/obj/machinery/light/warm/directional/east, /turf/open/floor/iron/dark, /area/station/service/bar) "hOu" = ( @@ -24671,14 +25027,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"hPA" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/lawyer, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/station/service/lawoffice) "hPB" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -24718,6 +25066,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) +"hPS" = ( +/obj/structure/flora/tree/palm/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "hPW" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -24769,7 +25121,6 @@ network = list("ss13","rd"); c_tag = "Science - Genetics" }, -/obj/structure/sign/clock/directional/west, /obj/effect/turf_decal/tile/dark_green/fourcorners, /obj/machinery/light/directional/west, /turf/open/floor/iron/white, @@ -24812,7 +25163,6 @@ /obj/structure/bed, /obj/effect/spawner/random/bedsheet, /obj/effect/landmark/start/hangover, -/obj/structure/sign/clock/directional/south, /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -24909,11 +25259,6 @@ /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) "hUf" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Incinerator" - }, /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 }, @@ -24921,6 +25266,10 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/emp_proof/directional/north{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Incinerator" + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "hUr" = ( @@ -24979,12 +25328,6 @@ autoclose = 0 }, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "mostleft_lower_lower_eva_airlock_control"; - idDoor = "mostleft_lower_lower_eva_external" - }, /obj/effect/turf_decal/sand, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/left) @@ -25059,7 +25402,7 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/machinery/digital_clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/security/prison) "hXS" = ( @@ -25080,6 +25423,12 @@ /obj/machinery/transport/power_rectifier, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"hXZ" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/service/theater) "hYd" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -25167,9 +25516,18 @@ /area/station/hallway/primary/tram/right) "hZe" = ( /obj/structure/table/reinforced, -/obj/item/clothing/head/utility/radiation, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, +/obj/item/clothing/head/utility/radiation{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 10; + pixel_x = 5 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -25289,7 +25647,7 @@ id = "playerscantreadthis" }, /obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 + pixel_y = 18 }, /turf/open/floor/iron/checker, /area/station/service/kitchen) @@ -25375,6 +25733,10 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"icA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "icO" = ( /obj/effect/turf_decal/siding/thinplating/corner, /obj/item/banner/cargo/mundane, @@ -25419,6 +25781,7 @@ c_tag = "Hallway - Starboard Tram Platform South" }, /obj/machinery/light/directional/east, +/obj/structure/sign/directions/arrival/left/west_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) "idW" = ( @@ -25510,13 +25873,27 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 }, -/obj/structure/table, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, -/obj/item/clothing/under/misc/burial, +/obj/item/clothing/under/misc/burial{ + pixel_y = -3; + pixel_x = -6 + }, /obj/effect/turf_decal/stripes/corner, +/obj/structure/rack, +/obj/item/clothing/under/misc/burial{ + pixel_y = 1; + pixel_x = -2 + }, +/obj/item/clothing/under/misc/burial{ + pixel_y = 5; + pixel_x = 2 + }, +/obj/item/clothing/under/misc/burial{ + pixel_x = 5 + }, +/obj/item/clothing/under/misc/burial{ + pixel_x = 9; + pixel_y = -3 + }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) "ifI" = ( @@ -25572,9 +25949,10 @@ /turf/closed/wall, /area/station/engineering/supermatter/room) "igA" = ( -/obj/structure/chair/wood, -/obj/effect/landmark/start/mime, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, /turf/open/floor/iron/white/side{ dir = 4 }, @@ -25623,16 +26001,14 @@ /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "ihB" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/structure/reagent_dispensers/wall/virusfood/directional/east, -/obj/machinery/reagentgrinder{ - pixel_y = 8 +/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/item/stack/sheet/mineral/plasma{ - amount = 3 +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/virology) @@ -25705,11 +26081,12 @@ }, /turf/open/floor/iron, /area/station/security/processing) +"iiP" = ( +/obj/structure/sign/directions/supply/right/east_arrow/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/center) "ijj" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/sign/departments/holy{ - pixel_y = -32 - }, /obj/structure/disposalpipe/junction/flip{ dir = 4 }, @@ -25751,10 +26128,13 @@ /area/station/cargo/miningdock) "ikL" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/candle_box, /obj/item/storage/fancy/candle_box{ - pixel_x = -2; - pixel_y = 2 + pixel_x = 4; + pixel_y = 10 + }, +/obj/item/storage/fancy/candle_box{ + pixel_x = 1; + pixel_y = 7 }, /turf/open/floor/carpet, /area/station/service/chapel/monastery) @@ -25877,6 +26257,11 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"inz" = ( +/obj/machinery/suit_storage_unit/hos, +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/hos) "inK" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Recreation Area Maintenance Access" @@ -26070,8 +26455,8 @@ /obj/structure/table, /obj/item/phone{ desc = "He bought?"; - pixel_x = -3; - pixel_y = 3 + pixel_x = 7; + pixel_y = 11 }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock/oresilo) @@ -26082,11 +26467,11 @@ /obj/structure/table/glass, /obj/item/storage/fancy/coffee_cart_rack{ pixel_x = 8; - pixel_y = 6 + pixel_y = 21 }, /obj/item/reagent_containers/cup/glass/coffee{ pixel_x = -4; - pixel_y = 4 + pixel_y = 13 }, /turf/open/floor/iron, /area/station/engineering/break_room) @@ -26156,20 +26541,12 @@ /turf/open/floor/iron, /area/station/security/courtroom/holding) "itn" = ( -/obj/structure/stairs/north, /obj/structure/railing{ dir = 8 }, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) -"itq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "itE" = ( /obj/modular_map_root/tramstation{ name = "atmoscilower"; @@ -26200,7 +26577,9 @@ /area/station/ai_monitored/security/armory) "iue" = ( /obj/structure/table/glass, -/obj/item/radio/intercom, +/obj/item/radio/intercom{ + pixel_y = 11 + }, /turf/open/floor/glass, /area/station/command/meeting_room) "iug" = ( @@ -26231,28 +26610,13 @@ "iuJ" = ( /obj/structure/bed/double, /obj/effect/spawner/random/bedsheet/double, -/obj/structure/sign/clock/directional/north, /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) "iuM" = ( -/obj/structure/table/wood/fancy/royalblue, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Art Exhibition"; - req_access = list("library") - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/painting/large/library{ - dir = 4 - }, +/obj/machinery/light/small/dim/directional/east, /turf/open/floor/wood/large, /area/station/service/library) -"iuV" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/engine, -/area/station/science/xenobiology) "iva" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 9 @@ -26286,13 +26650,12 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "ivn" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Bar" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/window/elevator/left/directional/west{ + req_access = list("bar") + }, /turf/open/floor/iron/dark, /area/station/service/bar) "ivt" = ( @@ -26425,17 +26788,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) -"ixH" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/space/openspace, -/area/space/nearstation) "ixO" = ( /obj/structure/chair/comfy/brown{ dir = 8; @@ -26501,21 +26853,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) -"izL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "izO" = ( /turf/open/floor/plating, /area/station/security/processing) @@ -26555,13 +26892,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit) -"iAr" = ( -/obj/effect/turf_decal/bot, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/item/stock_parts/power_store/cell/high/empty, -/turf/open/floor/iron, -/area/station/cargo/storage) "iAt" = ( /obj/structure/lattice/catwalk, /turf/open/openspace/airless, @@ -26605,7 +26935,8 @@ /obj/structure/table, /obj/machinery/fax{ fax_name = "Service Hallway"; - name = "Service Fax Machine" + name = "Service Fax Machine"; + pixel_y = 10 }, /turf/open/floor/iron, /area/station/hallway/secondary/service) @@ -26614,11 +26945,15 @@ dir = 1 }, /obj/structure/table, -/obj/item/stack/cable_coil/five, -/obj/item/assembly/igniter, +/obj/item/stack/cable_coil/five{ + pixel_y = 6 + }, +/obj/item/assembly/igniter{ + pixel_y = 5 + }, /obj/item/assembly/timer{ - pixel_x = 3; - pixel_y = 3 + pixel_x = 8; + pixel_y = -1 }, /obj/item/assembly/health{ pixel_x = -5; @@ -26696,18 +27031,26 @@ /obj/item/crowbar/large, /obj/structure/rack, /obj/item/flashlight, +/obj/machinery/camera/emp_proof/directional/south{ + c_tag = "Engineering - Emitter Room East"; + network = list("ss13","engine","engineering") + }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"iDB" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +"iDy" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/keycard_auth/wall_mounted/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/door/directional/east{ + name = "Privacy Shutters Toggle"; + pixel_y = -11; + id = "greedygrinnersden" }, -/obj/item/folder/blue, -/obj/item/pen/blue, -/obj/item/paper/fluff/jobs/engineering/frequencies, /turf/open/floor/iron, -/area/station/tcommsat/computer) +/area/station/command/heads_quarters/qm) "iDQ" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/effect/turf_decal/stripes/white/line, @@ -26734,6 +27077,10 @@ /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/supplies, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/recharger{ + pixel_x = 5; + pixel_y = 14 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "iEl" = ( @@ -26857,22 +27204,23 @@ "iGJ" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/red/filled/line, +/obj/item/storage/box/prisoner{ + pixel_y = 13 + }, /obj/item/storage/box/prisoner{ pixel_y = 8 }, -/obj/item/storage/box/prisoner, /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/security/brig) "iGM" = ( /obj/structure/table/wood, /obj/item/bodypart/chest/robot{ - pixel_x = -2; - pixel_y = 2 + pixel_y = 11 }, /obj/item/bodypart/head/robot{ - pixel_x = 3; - pixel_y = 2 + pixel_x = 5; + pixel_y = 7 }, /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -26881,28 +27229,28 @@ /obj/machinery/light/floor, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"iHr" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 +"iHp" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt/station }, +/area/station/science/explab) +"iHr" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, +/obj/structure/sink/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics/garden) "iHG" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sink/directional/east, /turf/open/floor/iron, /area/station/security/prison/garden) "iHH" = ( @@ -26974,30 +27322,9 @@ /turf/open/floor/iron, /area/station/engineering/engine_smes) "iIS" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = -28 - }, -/obj/structure/sign/directions/medical{ - dir = 8; - pixel_y = -34 - }, -/obj/structure/sign/directions/engineering{ - dir = 8; - pixel_y = -40 - }, -/obj/structure/sign/directions/upload{ - pixel_y = -22 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/tram/filled/line, -/obj/effect/turf_decal/trimline/tram/filled/warning, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/right) +/obj/structure/sign/directions/dorms/left/south_arrow/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/left) "iJd" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -27046,11 +27373,15 @@ /area/space) "iKY" = ( /obj/item/experi_scanner{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 10 }, -/obj/item/experi_scanner, /obj/item/experi_scanner{ - pixel_x = -5 + pixel_y = 10 + }, +/obj/item/experi_scanner{ + pixel_x = -5; + pixel_y = 10 }, /obj/structure/table/glass, /obj/effect/turf_decal/tile/purple/fourcorners, @@ -27145,7 +27476,9 @@ /turf/open/floor/engine/o2, /area/station/science/ordnance/storage) "iMy" = ( -/obj/machinery/airalarm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "iMA" = ( @@ -27172,10 +27505,6 @@ "iMC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box, -/obj/structure/sign/warning/directional/west{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, /turf/open/floor/plating, /area/station/service/lawoffice) "iMH" = ( @@ -27206,6 +27535,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) +"iNK" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/stripes/white/full, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "iNR" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -27215,15 +27554,23 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/clock/directional/west, /turf/open/floor/iron, /area/station/service/janitor) "iNV" = ( /obj/structure/table, -/obj/item/plate, -/obj/item/kitchen/fork/plastic, +/obj/item/plate{ + pixel_y = 11 + }, +/obj/item/kitchen/fork/plastic{ + pixel_y = 11; + pixel_x = -11 + }, /obj/item/knife/plastic{ - pixel_x = 9 + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/food/cakeslice/birthday{ + pixel_y = 12 }, /turf/open/floor/eighties/red, /area/station/commons/fitness/recreation/entertainment) @@ -27240,10 +27587,10 @@ /obj/machinery/stasis{ dir = 8 }, -/obj/machinery/defibrillator_mount/directional/north, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, +/obj/machinery/defibrillator_mount/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "iOh" = ( @@ -27257,10 +27604,12 @@ /turf/open/floor/wood/large, /area/station/service/library) "iOm" = ( -/obj/machinery/button/flasher{ - pixel_x = 23; - pixel_y = -10; - id = "hopflash" +/obj/machinery/keycard_auth/wall_mounted/directional/east{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/machinery/button/ticket_machine/directional/east{ + pixel_y = -2 }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) @@ -27272,16 +27621,6 @@ }, /turf/open/misc/asteroid/airless, /area/station/asteroid) -"iOy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/neutral/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/incident_display/tram/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "iOC" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, @@ -27294,16 +27633,16 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - c_tag = "Arrivals - South Docking Hall" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/machinery/camera/directional/east{ + c_tag = "Arrivals - South Docking Hall" + }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "iON" = ( +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/left, /area/station/science/lower) "iOO" = ( @@ -27320,9 +27659,11 @@ /obj/structure/table/glass, /obj/item/storage/medkit/regular{ pixel_x = 4; - pixel_y = 4 + pixel_y = 16 + }, +/obj/item/storage/medkit/regular{ + pixel_y = 13 }, -/obj/item/storage/medkit/regular, /obj/machinery/camera/directional/south{ network = list("ss13","medbay"); c_tag = "Medical - Main North" @@ -27378,6 +27719,13 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"iPW" = ( +/obj/machinery/door/poddoor/massdriver_trash{ + id = "fortnitedoor" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "iQC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -27423,6 +27771,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) +"iRd" = ( +/obj/structure/table/wood, +/obj/machinery/cell_charger{ + pixel_y = 13 + }, +/obj/item/stock_parts/power_store/cell/crap{ + pixel_y = 14 + }, +/obj/structure/sign/flag/nanotrasen, +/turf/open/floor/wood, +/area/station/command/meeting_room) "iRe" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/reagent_dispensers/foamtank, @@ -27449,8 +27808,13 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/radio, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 7; + pixel_x = 3 + }, +/obj/item/radio{ + pixel_y = 6 + }, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) "iRZ" = ( @@ -27488,8 +27852,6 @@ /obj/structure/table/wood, /obj/item/staff/broom, /obj/item/clothing/head/costume/sombrero/green, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, /turf/open/floor/wood, /area/station/service/theater) "iSw" = ( @@ -27526,9 +27888,11 @@ /area/station/medical/medbay/lobby) "iTm" = ( /obj/structure/table/glass, -/obj/item/storage/pill_bottle/mannitol, +/obj/item/storage/pill_bottle/mannitol{ + pixel_y = 10 + }, /obj/item/reagent_containers/dropper{ - pixel_y = 6 + pixel_y = 10 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark, @@ -27808,12 +28172,14 @@ /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "iXX" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/structure/sign/departments/science{ - pixel_y = -32 +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Upper Left Command" }, /turf/open/floor/iron, -/area/station/hallway/primary/tram/right) +/area/station/hallway/secondary/command) "iYd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -27861,9 +28227,12 @@ "iZf" = ( /obj/machinery/airalarm/directional/north, /obj/structure/table/glass, -/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 11 + }, /obj/item/assembly/flash/handheld{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 10 }, /turf/open/floor/iron/white, /area/station/security/execution/education) @@ -27881,7 +28250,7 @@ "iZn" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/bananalamp{ - pixel_y = 3 + pixel_y = 17 }, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -27969,6 +28338,11 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"jan" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "jap" = ( /obj/structure/chair/office, /turf/open/floor/iron/dark/small, @@ -27977,6 +28351,16 @@ /obj/structure/alien/weeds/node, /turf/open/misc/asteroid/airless, /area/station/asteroid) +"jaC" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/item/folder/blue, +/obj/item/pen/blue, +/obj/item/paper/fluff/jobs/engineering/frequencies, +/turf/open/floor/iron, +/area/station/tcommsat/computer) "jaD" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -28101,14 +28485,13 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","cargo"); - c_tag = "Cargo - Bank Vault" - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo - Bank Vault"; + network = list("ss13","cargo") + }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock/oresilo) "jcT" = ( @@ -28146,14 +28529,13 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Block North" - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/machinery/camera/directional/east{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Block North" + }, /turf/open/floor/iron, /area/station/security/prison/safe) "jdF" = ( @@ -28209,12 +28591,11 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/department/security) "jer" = ( -/obj/item/clothing/under/color/jumpskirt/white, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/clock, +/turf/open/floor/wood, +/area/station/commons/dorms) "jev" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -28225,15 +28606,12 @@ }, /turf/open/floor/wood, /area/station/service/bar/backroom) -"jeC" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/light_switch/directional/east{ - pixel_x = 23; - pixel_y = -8 +"jeN" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt/station }, -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/area/station/science/explab) "jeO" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/freezer, @@ -28285,10 +28663,6 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/hallway) -"jfD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "jfH" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -28326,7 +28700,7 @@ "jgn" = ( /obj/structure/table/reinforced, /obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 + pixel_y = 20 }, /obj/machinery/light/warm/directional/east, /turf/open/floor/iron/dark, @@ -28424,10 +28798,10 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 }, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Lobby North" +/obj/structure/sign/warning/engine_safety, +/obj/machinery/camera/emp_proof/directional/north{ + c_tag = "Engineering - Lobby North"; + network = list("ss13","engineering") }, /turf/open/floor/iron, /area/station/engineering/break_room) @@ -28478,13 +28852,16 @@ /area/station/security/prison/safe) "jiz" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/item/flashlight/lamp{ + pixel_y = 10 + }, /turf/open/floor/carpet, /area/station/commons/dorms) "jiF" = ( +/obj/structure/tall_stairs/start/directional/south, /turf/open/floor/iron/stairs/medium{ dir = 1 }, @@ -28510,10 +28887,12 @@ /obj/structure/table, /obj/machinery/computer/security/telescreen/entertainment/directional/east, /obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 9 }, /obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 9 }, /turf/open/floor/iron/checker, /area/station/commons/lounge) @@ -28525,6 +28904,7 @@ dir = 8 }, /obj/machinery/camera/autoname/directional/north, +/obj/structure/sign/poster/official/love_ian/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "jjG" = ( @@ -28536,15 +28916,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"jjM" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 9 - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "jjP" = ( /obj/effect/spawner/random/structure/billboard/nanotrasen, /obj/effect/turf_decal/sand/plating, @@ -28596,7 +28967,9 @@ "jkv" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/toy/balloon, +/obj/item/toy/balloon{ + pixel_y = 10 + }, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) "jkM" = ( @@ -28658,13 +29031,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"jlQ" = ( -/obj/structure/rack, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "jlX" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -28717,12 +29083,9 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/dark_blue/arrow_cw{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/dark_blue/arrow_ccw, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/landmark/navigate_destination/hop, +/obj/effect/turf_decal/delivery/white, +/obj/effect/mapping_helpers/trapdoor_placer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "jmY" = ( @@ -28787,13 +29150,15 @@ }, /obj/effect/spawner/random/bedsheet, /obj/effect/landmark/start/assistant, -/obj/structure/sign/clock/directional/east, /obj/item/pillow/random, +/obj/structure/sign/clock, /turf/open/floor/carpet, /area/station/commons/dorms) "jnY" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/spawner/random/food_or_drink/cake_ingredients{ + pixel_y = 6 + }, /turf/open/floor/iron/white, /area/station/service/kitchen) "joi" = ( @@ -28827,6 +29192,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 }, +/obj/structure/sign/poster/official/here_for_your_safety/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/command) "joB" = ( @@ -28842,8 +29208,9 @@ /area/station/command/meeting_room) "joG" = ( /obj/structure/table, -/obj/item/book/manual/chef_recipes, -/obj/structure/sign/clock/directional/south, +/obj/item/book/manual/chef_recipes{ + pixel_y = 7 + }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) "joS" = ( @@ -28881,6 +29248,13 @@ }, /turf/open/floor/iron, /area/station/security/prison/work) +"jpg" = ( +/obj/machinery/camera/motion/directional/south{ + network = list("ss13","minisat"); + c_tag = "Secure - AI Lower External North" + }, +/turf/open/space/basic, +/area/space/nearstation) "jps" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/bodycontainer/morgue{ @@ -28890,8 +29264,8 @@ /turf/open/floor/iron/dark, /area/station/medical/morgue) "jpB" = ( -/obj/structure/sign/clock/directional/north, /obj/structure/cable, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/service/chapel) "jpC" = ( @@ -28970,7 +29344,9 @@ "jqR" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/aquarium_kit, +/obj/item/aquarium_kit{ + pixel_y = 7 + }, /turf/open/floor/iron, /area/station/hallway/secondary/service) "jqS" = ( @@ -29005,6 +29381,12 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + pixel_x = 8; + idSelf = "middleright_upper_eva_airlock_control"; + idInterior = "middleright_upper_eva_internal"; + idExterior = "middleright_upper_eva_external" + }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) "jrI" = ( @@ -29019,6 +29401,21 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"jse" = ( +/obj/structure/table, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/wrench{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 10; + pixel_y = 11 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "jst" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -29031,7 +29428,7 @@ dir = 8; id = "mining" }, -/obj/machinery/digital_clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/cargo/miningfoundry) "jsy" = ( @@ -29048,11 +29445,14 @@ /turf/open/floor/iron/dark, /area/station/service/hydroponics) "jsA" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 + dir = 4 + }, +/obj/structure/sign/gym/mirrored/right{ + pixel_y = 32 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 }, /turf/open/floor/iron, /area/station/commons/fitness) @@ -29060,16 +29460,6 @@ /obj/structure/fluff/tram_rail/electric/anchor, /turf/open/openspace, /area/station/hallway/primary/tram/right) -"jsT" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Command - Bridge North" - }, -/obj/machinery/incident_display/bridge/directional/north, -/turf/open/floor/iron, -/area/station/command/bridge) "jsW" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron, @@ -29167,17 +29557,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"jux" = ( -/obj/structure/cable/layer1, -/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "juT" = ( /obj/structure/rack, /obj/effect/turf_decal/stripes/line{ @@ -29254,7 +29633,6 @@ id_tag = "virology_airlock_exterior"; autoclose = 0 }, -/obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door_buttons/access_button{ name = "Virology Access Button"; dir = 1; @@ -29269,23 +29647,9 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/iron/white, /area/station/medical/virology) -"jvW" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "jwa" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -29295,6 +29659,12 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"jwc" = ( +/obj/effect/turf_decal/trimline/yellow/filled/shrink_ccw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "jwe" = ( /obj/structure/railing{ dir = 1 @@ -29318,7 +29688,7 @@ "jwq" = ( /obj/machinery/button/door/directional/west{ name = "Privacy Bolts"; - pixel_y = -9; + pixel_y = 0; id = "private_o"; specialfunctions = 4; normaldoorcontrol = 1 @@ -29338,7 +29708,6 @@ "jwz" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, -/obj/structure/sign/clock/directional/north, /obj/machinery/light/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) @@ -29385,10 +29754,9 @@ /obj/effect/turf_decal/trimline/tram/filled/warning{ dir = 4 }, -/obj/effect/spawner/random/vending/colavend{ - pixel_x = 5 - }, /obj/machinery/light/directional/east, +/obj/effect/spawner/random/vending/colavend, +/obj/structure/sign/directions/engineering/right/east_arrow/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "jwZ" = ( @@ -29408,6 +29776,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/iron/smooth, /area/station/maintenance/department/science) +"jxl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "jxz" = ( /obj/machinery/door/airlock/external/glass{ name = "Supply Door Airlock" @@ -29457,9 +29832,19 @@ "jyH" = ( /turf/closed/wall, /area/station/medical/pharmacy) +"jyL" = ( +/obj/machinery/door_buttons/access_button/directional/west{ + idDoor = "mostleft_lower_eva_external"; + idSelf = "mostleft_lower_eva_airlock_control" + }, +/turf/open/misc/asteroid, +/area/station/hallway/primary/tram/left) "jyQ" = ( /obj/structure/table/wood, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 4; + pixel_x = -5 + }, /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 }, @@ -29486,7 +29871,9 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, -/obj/item/storage/medkit/brute, +/obj/item/storage/medkit/brute{ + pixel_y = 9 + }, /turf/open/floor/iron, /area/station/commons/fitness) "jza" = ( @@ -29647,14 +30034,10 @@ /turf/open/floor/engine, /area/station/engineering/supermatter) "jBy" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, +/obj/structure/sink/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics/garden) "jBC" = ( @@ -29685,6 +30068,19 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/maintenance/tram/mid) +"jCw" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/departments/chemistry/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "jCH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -29694,11 +30090,6 @@ /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics South-West" - }, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, @@ -29710,6 +30101,10 @@ dir = 8 }, /obj/machinery/meter, +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics South-West" + }, /turf/open/floor/iron, /area/station/engineering/atmos) "jDd" = ( @@ -29759,7 +30154,9 @@ /area/station/science/xenobiology) "jDN" = ( /obj/structure/table/wood, -/obj/item/storage/photo_album/chapel, +/obj/item/storage/photo_album/chapel{ + pixel_y = 7 + }, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) @@ -29839,6 +30236,7 @@ /obj/structure/flora/bush/lavendergrass/style_random, /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/grass, /area/station/medical/virology) "jFt" = ( @@ -30118,10 +30516,12 @@ /area/station/commons/fitness) "jKi" = ( /obj/structure/table/glass, -/obj/item/storage/box/beakers, +/obj/item/storage/box/beakers{ + pixel_y = 11 + }, /obj/item/storage/box/bodybags{ pixel_x = 5; - pixel_y = 5 + pixel_y = 13 }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -30174,6 +30574,7 @@ /obj/structure/railing/corner{ dir = 4 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "jLf" = ( @@ -30212,9 +30613,6 @@ /area/station/engineering/atmos) "jMe" = ( /obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, /obj/machinery/camera/directional/south{ network = list("ss13","Security"); c_tag = "Civilian - Security Outpost" @@ -30276,8 +30674,8 @@ /turf/open/floor/plating, /area/station/hallway/secondary/entry) "jNj" = ( -/obj/structure/sign/poster/official/do_not_question/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/official/do_not_question/directional/north, /turf/open/floor/iron/dark, /area/station/security/interrogation) "jNy" = ( @@ -30290,11 +30688,14 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/obj/machinery/shower{ - pixel_y = 24 +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/box, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control" }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/shower/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) "jNI" = ( @@ -30324,6 +30725,15 @@ /obj/structure/chair, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jPc" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "jPd" = ( /obj/structure/transit_tube, /obj/effect/turf_decal/sand/plating, @@ -30340,6 +30750,10 @@ dir = 5 }, /obj/structure/cable, +/obj/machinery/camera/emp_proof/directional/north{ + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Engine Room North-East" + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "jPx" = ( @@ -30404,7 +30818,9 @@ /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/airalarm/directional/east, /obj/structure/table/glass, -/obj/machinery/coffeemaker, +/obj/machinery/coffeemaker{ + pixel_y = 10 + }, /turf/open/floor/iron, /area/station/engineering/break_room) "jQS" = ( @@ -30443,11 +30859,17 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"jRW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "jSa" = ( /obj/structure/table/wood, /obj/effect/spawner/random/bureaucracy/briefcase{ spawn_loot_count = 2; - spawn_random_offset = 1 + spawn_random_offset = 1; + pixel_y = 10 }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) @@ -30479,7 +30901,9 @@ dir = 8 }, /obj/machinery/computer/security/telescreen/entertainment/directional/west, -/obj/item/pai_card, +/obj/item/pai_card{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/commons/dorms) "jSj" = ( @@ -30491,8 +30915,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/item/storage/box/lights/mixed, -/obj/item/pipe_dispenser, +/obj/item/storage/box/lights/mixed{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) "jSK" = ( @@ -30509,10 +30934,17 @@ /obj/effect/turf_decal/loading_area, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"jSP" = ( +/obj/machinery/sparker/directional/west{ + id = "Xenobio" + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "jTf" = ( /obj/structure/table/wood, -/obj/effect/spawner/random/decoration/ornament, -/obj/structure/sign/calendar/directional/east, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 12 + }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) @@ -30586,10 +31018,20 @@ "jVw" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"jVz" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/space/openspace, +/area/space/nearstation) "jVG" = ( /obj/structure/sign/warning/secure_area{ - name = "HIGH SECURITY STORAGE"; - pixel_y = 32 + name = "HIGH SECURITY STORAGE" }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -30700,9 +31142,17 @@ "jXr" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/stripes/line, -/obj/item/mmi, -/obj/item/mmi, -/obj/item/mmi, +/obj/item/mmi{ + pixel_y = 8 + }, +/obj/item/mmi{ + pixel_x = 1; + pixel_y = 11 + }, +/obj/item/mmi{ + pixel_y = 15; + pixel_x = 4 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) @@ -30721,7 +31171,8 @@ /obj/structure/table, /obj/machinery/fax{ name = "Research Director's Fax Machine"; - fax_name = "Research Director's Office" + fax_name = "Research Director's Office"; + pixel_y = 10 }, /obj/machinery/button/door/directional/south{ name = "Science Lockdown Toggle"; @@ -30772,6 +31223,10 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"jXR" = ( +/obj/machinery/light/warm/directional/south, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "jXU" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/structure/table/wood, @@ -30789,16 +31244,6 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"jXY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "jYb" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/bodycontainer/morgue{ @@ -30876,21 +31321,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/dorms) -"jYJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/analyzer{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/t_scanner{ - pixel_x = -6; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "jYO" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, @@ -30972,11 +31402,17 @@ dir = 5 }, /obj/item/stack/sheet/plasteel{ - amount = 10 + amount = 10; + pixel_y = 10 + }, +/obj/item/stack/rods/fifty{ + pixel_y = 12 }, -/obj/item/stack/rods/fifty, /obj/machinery/light/directional/east, /obj/machinery/digital_clock/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Civilian - Aux Base Construction East" + }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) "kaF" = ( @@ -31043,17 +31479,15 @@ /obj/effect/turf_decal/trimline/tram/filled/warning{ dir = 4 }, -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, /obj/machinery/light/directional/east, +/obj/machinery/vending/coffee, +/obj/structure/sign/directions/arrival/left/west_arrow/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "kbz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/dim/directional/south, /turf/open/floor/iron/dark, /area/station/service/bar) "kbA" = ( @@ -31064,6 +31498,7 @@ dir = 4 }, /obj/machinery/firealarm/directional/north, +/obj/structure/sign/warning/pods, /turf/open/floor/iron, /area/station/escapepodbay) "kbF" = ( @@ -31147,9 +31582,10 @@ /turf/open/floor/iron/dark, /area/station/service/bar) "kcw" = ( -/obj/structure/sign/poster/official/love_ian/directional/west, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hop) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/grass, +/area/station/medical/virology) "kcA" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4, @@ -31171,13 +31607,21 @@ "kcF" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/stripes/corner, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/surgical, +/obj/item/clothing/gloves/latex{ + pixel_y = 13 + }, +/obj/item/clothing/gloves/latex{ + pixel_y = 13 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 9 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 9 + }, /obj/item/reagent_containers/spray/cleaner{ - pixel_x = -10; - pixel_y = -1 + pixel_x = 7; + pixel_y = 10 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -31195,7 +31639,8 @@ req_access = list("atmospherics") }, /obj/structure/desk_bell{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 16 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -31217,16 +31662,11 @@ /area/station/medical/psychology) "kda" = ( /obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table/glass, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = 6; - pixel_y = 4 - }, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, /obj/machinery/digital_clock/directional/north, +/obj/machinery/chem_dispenser, /turf/open/floor/iron/white, /area/station/medical/chemistry) "kdb" = ( @@ -31385,12 +31825,6 @@ id_tag = "middleleft_upper_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleleft_upper_lower_eva_airlock_control"; - idDoor = "middleleft_upper_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) @@ -31413,15 +31847,6 @@ }, /turf/open/floor/wood/large, /area/station/service/library) -"kgg" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kgr" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -31480,6 +31905,24 @@ /obj/structure/railing, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"khl" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 14 + }, +/obj/item/stack/cable_coil{ + pixel_y = 11 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/effect/turf_decal/trimline/white/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "khE" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -31487,8 +31930,12 @@ /area/station/commons/storage/tools) "khV" = ( /obj/structure/table, -/obj/item/analyzer, -/obj/item/healthanalyzer, +/obj/item/analyzer{ + pixel_y = 6 + }, +/obj/item/healthanalyzer{ + pixel_y = 14 + }, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) @@ -31534,7 +31981,6 @@ dir = 8 }, /obj/machinery/newscaster/directional/east, -/obj/structure/sign/clock/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) "kix" = ( @@ -31544,22 +31990,26 @@ /area/station/hallway/primary/tram/right) "kiC" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, /obj/item/defibrillator/loaded{ - pixel_y = 6 + pixel_y = 10 }, /obj/effect/turf_decal/siding/white, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Medical Storage"; - req_access = list("medical") - }, /obj/item/clothing/glasses/blindfold, /obj/item/clothing/glasses/blindfold, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 4 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 4 + }, /obj/effect/turf_decal/siding/white{ dir = 8 }, +/obj/machinery/door/window/half/left/directional/west{ + name = "Secure Medical Storage"; + req_access = list("medical") + }, +/obj/structure/window/reinforced/half, /turf/open/floor/iron/dark, /area/station/medical/storage) "kiN" = ( @@ -31567,8 +32017,8 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/light/cold/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/cold/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "kiT" = ( @@ -31605,7 +32055,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/machinery/light/cold/directional/west, +/obj/machinery/light/cold/dim/directional/west, /turf/open/floor/iron, /area/station/medical/virology) "kjm" = ( @@ -31658,22 +32108,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"kkd" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/spawner/random/vending/snackvend{ - pixel_x = -5 - }, -/obj/machinery/incident_display/delam/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "kkg" = ( /obj/structure/chair{ pixel_y = -2 @@ -31686,17 +32120,11 @@ /turf/open/floor/iron/dark, /area/station/service/bar) "kkn" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = 9; - id = "private_a"; - specialfunctions = 4; - normaldoorcontrol = 1 +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, +/obj/structure/sign/poster/official/random, +/turf/open/floor/iron, /area/station/commons/dorms) "kkq" = ( /obj/machinery/autolathe, @@ -31742,9 +32170,14 @@ /turf/open/floor/iron/white, /area/station/science/xenobiology) "kkP" = ( -/obj/structure/bookcase/random/religion, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/large, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Civilian - Library South" + }, +/turf/open/floor/carpet, /area/station/service/library) "kkR" = ( /obj/structure/transport/linear/tram/corner/northwest, @@ -31814,10 +32247,10 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 }, -/obj/structure/sign/clock/directional/north, /obj/machinery/camera/directional/north{ c_tag = "Civilian - Courtroom Jury North" }, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/security/courtroom) "kmk" = ( @@ -31942,7 +32375,9 @@ /area/station/engineering/atmos) "kpt" = ( /obj/structure/table, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = -7 + }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, @@ -32026,13 +32461,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/structure/sink/directional/north, +/obj/structure/mirror/directional/north, /turf/open/floor/iron/freezer, /area/station/science/lower) "kqY" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Port Tram Platform South-West" - }, /obj/structure/extinguisher_cabinet/directional/west, /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -32044,6 +32477,9 @@ /obj/effect/turf_decal/stripes/white/corner{ dir = 4 }, +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Port Tram Platform South-West" + }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "kre" = ( @@ -32061,12 +32497,6 @@ id_tag = "middleright_upper_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleright_upper_eva_airlock_control"; - idDoor = "middleright_upper_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -32121,14 +32551,13 @@ /turf/open/floor/iron, /area/station/security/brig) "krM" = ( -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Central Tram Platform South-East" - }, /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/stripes/white/line{ dir = 1 }, +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Central Tram Platform South-East" + }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "krV" = ( @@ -32154,15 +32583,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"ksk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/landmark/event_spawn, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "ksm" = ( /obj/machinery/door/airlock/atmos{ name = "Turbine Access" @@ -32223,8 +32643,8 @@ dir = 6 }, /obj/item/storage/box/donkpockets/donkpocketberry{ - pixel_x = -6; - pixel_y = 10 + pixel_x = -4; + pixel_y = 21 }, /turf/open/floor/iron, /area/station/engineering/break_room) @@ -32262,43 +32682,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"ktX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigleft" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_left" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) "kul" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, /obj/item/storage/medkit/brute{ pixel_x = 3; - pixel_y = 3 + pixel_y = 12 }, -/obj/item/storage/medkit/brute, /obj/item/storage/medkit/brute{ - pixel_x = -3; - pixel_y = -3 + pixel_y = 8 }, -/obj/machinery/door/window/right/directional/east{ - name = "Secure Medical Storage"; - req_access = list("medical") +/obj/item/storage/medkit/brute{ + pixel_x = -3; + pixel_y = 4 }, /obj/effect/turf_decal/siding/white{ dir = 4 }, +/obj/machinery/door/window/half/right/directional/east{ + name = "Secure Medical Storage"; + req_access = list("medical") + }, +/obj/structure/window/reinforced/half, /turf/open/floor/iron/dark, /area/station/medical/storage) "kum" = ( @@ -32328,7 +32732,8 @@ /area/station/hallway/primary/tram/right) "kuB" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/dim/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/bar) "kuX" = ( @@ -32348,6 +32753,13 @@ "kvt" = ( /turf/closed/wall, /area/station/science/genetics) +"kvE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/vending/assist, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "kvO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32378,24 +32790,32 @@ /area/station/security/prison/garden) "kwo" = ( /obj/structure/table/wood, -/obj/item/taperecorder, -/obj/item/tape, +/obj/item/taperecorder{ + pixel_y = 11 + }, +/obj/item/tape{ + pixel_y = 7 + }, /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/wood/large, /area/station/service/library) "kwp" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 5 }, /obj/item/clothing/mask/breath{ - pixel_x = 4 + pixel_x = 4; + pixel_y = 6 }, /obj/item/clothing/mask/breath{ - pixel_x = 4 + pixel_x = 4; + pixel_y = 10 }, /obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 + pixel_x = -8; + pixel_y = 10 }, /turf/open/floor/iron, /area/station/engineering/atmos) @@ -32452,6 +32872,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"kyB" = ( +/obj/structure/water_source/puddle, +/turf/open/misc/asteroid, +/area/station/security/prison/workout) "kyF" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/sec{ @@ -32510,15 +32934,6 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) -"kzq" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/computer/security/telescreen/cargo_sec/directional/west, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "kzw" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/stripes/line{ @@ -32526,16 +32941,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"kzx" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "kzC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32568,7 +32973,7 @@ "kAl" = ( /obj/structure/table/wood, /obj/item/nullrod{ - pixel_x = 4 + pixel_y = 9 }, /turf/open/floor/cult, /area/station/service/chapel/office) @@ -32576,13 +32981,9 @@ /obj/effect/turf_decal/bot, /obj/structure/closet/crate/freezer/surplus_limbs, /obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/warning/cold_temp, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) -"kAF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kAO" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -32610,7 +33011,9 @@ pixel_y = 4 }, /obj/structure/table, -/obj/item/pai_card, +/obj/item/pai_card{ + pixel_y = 8 + }, /turf/open/floor/iron/white, /area/station/science/lobby) "kBo" = ( @@ -32626,6 +33029,12 @@ /obj/machinery/chem_master/condimaster{ name = "CondiMaster Neo" }, +/obj/machinery/requests_console/directional/north{ + department = "Kitchen"; + name = "Kitchen Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/white/side, /area/station/service/kitchen) "kBv" = ( @@ -32633,6 +33042,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"kBC" = ( +/obj/machinery/light_switch/directional/east{ + pixel_y = 2 + }, +/obj/machinery/photocopier, +/obj/machinery/airalarm/directional/east, +/obj/structure/sign/poster/official/report_crimes/directional/north, +/turf/open/floor/wood, +/area/station/service/lawoffice) "kBG" = ( /obj/structure/transport/linear/tram/corner/northeast, /obj/structure/tram/spoiler{ @@ -32653,12 +33071,12 @@ /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, /obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 5 + pixel_x = -6; + pixel_y = 11 }, /obj/item/pen{ - pixel_x = 4; - pixel_y = 4 + pixel_x = -5; + pixel_y = 13 }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) @@ -32700,12 +33118,6 @@ id_tag = "rightmost_lower_upper_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "rightmost_lower_upper_eva_airlock_control"; - idDoor = "rightmost_lower_upper_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32777,7 +33189,7 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "kEN" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/right, /area/station/science/lower) "kEO" = ( @@ -32787,10 +33199,22 @@ /area/station/service/kitchen) "kFf" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/chem_dispenser, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = 6; + pixel_y = 16 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 14; + pixel_x = -1 + }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "kFl" = ( @@ -32842,7 +33266,7 @@ "kFH" = ( /obj/structure/table/reinforced, /obj/machinery/recharger{ - pixel_y = 4 + pixel_y = 11 }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -32911,13 +33335,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/security/execution/education) -"kGv" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "kGA" = ( /obj/structure/railing, /obj/machinery/door/firedoor/border_only, @@ -32958,6 +33375,10 @@ /obj/effect/turf_decal/trimline/white/warning{ dir = 1 }, +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "middleright_lower_lower_eva_internal"; + idSelf = "middleright_lower_lower_eva_airlock_control" + }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) "kHa" = ( @@ -33032,23 +33453,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 }, -/obj/machinery/button/door/directional/west{ - name = "Atmospherics Lockdown"; - pixel_y = 8; - id = "atmos"; - req_access = list("atmospherics") - }, -/obj/machinery/button/door/directional/west{ - name = "Engineering Secure Storage"; - id = "Secure Storage"; - req_access = list("engine_equip") - }, -/obj/machinery/button/door/directional/west{ - name = "Engineering Lockdown"; - pixel_y = -8; - id = "Engineering"; - req_access = list("engineering") - }, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /turf/open/floor/iron, @@ -33234,7 +33638,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/button/door/directional/north{ name = "Tunnel Access Shutters Toggle"; - id = "midtunnelleft" + id = "midtunnelleft"; + pixel_x = 9 + }, +/obj/machinery/door_buttons/access_button/directional/north{ + pixel_x = -10; + idSelf = "middleleft_upper_lower_eva_airlock_control"; + idDoor = "middleleft_upper_lower_eva_internal" }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) @@ -33277,7 +33687,14 @@ /area/station/medical/medbay/lobby) "kMm" = ( /obj/structure/table/wood, -/obj/item/food/grown/harebell, +/obj/item/food/grown/harebell{ + pixel_x = 4; + pixel_y = 15 + }, +/obj/item/food/grown/harebell{ + pixel_x = -4; + pixel_y = 9 + }, /turf/open/floor/iron/dark, /area/station/service/chapel) "kMn" = ( @@ -33297,18 +33714,19 @@ "kMI" = ( /obj/structure/table, /obj/item/folder/red{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 7 }, /obj/item/storage/box/evidence{ pixel_x = -5; pixel_y = 12 }, /obj/item/toy/crayon/white{ - pixel_y = -4 + pixel_y = 6 }, /obj/item/toy/crayon/white{ pixel_x = -5; - pixel_y = -4 + pixel_y = 6 }, /turf/open/floor/iron, /area/station/security/office) @@ -33358,14 +33776,15 @@ "kNk" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = 17 + }, +/obj/effect/turf_decal/tile/dark_green/fourcorners, /obj/machinery/door/window/left/directional/south{ name = "Genetics Lab Desk"; req_access = list("science") }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/white/side, /area/station/science/genetics) "kNn" = ( @@ -33379,6 +33798,10 @@ /obj/machinery/light/warm/directional/west, /turf/open/floor/wood, /area/station/service/bar/backroom) +"kNq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kNr" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33484,9 +33907,9 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 }, -/obj/structure/bed{ - dir = 4 - }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/medical/virology) "kPf" = ( @@ -33531,6 +33954,7 @@ dir = 5 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/official/cleanliness/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "kQy" = ( @@ -33540,6 +33964,15 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"kQH" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/turretid/directional/south{ + name = "AI Hallway turret control" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "kQM" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33558,21 +33991,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"kQP" = ( -/obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) -"kQR" = ( -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/item/food/grown/banana/bunch{ - pixel_x = 5; - pixel_y = 16 - }, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "kQX" = ( /obj/machinery/computer/security{ dir = 1 @@ -33619,9 +34037,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/bar/backroom) -"kRR" = ( -/turf/open/misc/grass/jungle, -/area/station/science/explab) "kRW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/warning{ @@ -33695,10 +34110,10 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "kTr" = ( -/obj/structure/stairs/north, /obj/structure/railing{ dir = 8 }, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/left, /area/station/hallway/secondary/construction/engineering) "kTz" = ( @@ -33841,12 +34256,6 @@ autoclose = 0 }, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "mostleft_lower_lower_eva_airlock_control"; - idDoor = "mostleft_lower_lower_eva_internal" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, @@ -34047,16 +34456,15 @@ /area/station/commons/dorms) "kYk" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + pixel_x = 8; idSelf = "rightmost_upper_eva_airlock_control"; idInterior = "rightmost_upper_eva_internal"; idExterior = "rightmost_upper_eva_external" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) "kYL" = ( @@ -34139,8 +34547,7 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/machinery/camera{ - dir = 10; +/obj/machinery/camera/directional/west{ network = list("ss13","minisat"); c_tag = "Secure - AI Antechamber East" }, @@ -34261,23 +34668,12 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit) "lcS" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south{ - name = "Access Queue" - }, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Access Desk"; - req_access = list("hop") - }, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutters"; - id = "hop" +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hop) +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) "ldd" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -34297,11 +34693,6 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "ldp" = ( -/obj/machinery/status_display/door_timer{ - name = "Cargo Cell"; - pixel_x = 32; - id = "crgcell" - }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, @@ -34378,17 +34769,6 @@ /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior{ name = "Burn Chamber Interior Airlock" }, -/obj/machinery/button/door/incinerator_vent_ordmix{ - pixel_x = 24; - pixel_y = 8 - }, -/obj/machinery/button/ignition/incinerator/ordmix{ - pixel_x = 24; - pixel_y = -6 - }, -/obj/machinery/airlock_controller/incinerator_ordmix{ - pixel_x = -24 - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) @@ -34410,6 +34790,17 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/lobby) +"lfY" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "lgi" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Freezer Maintenance Hatch" @@ -34417,6 +34808,13 @@ /obj/effect/mapping_helpers/airlock/access/all/service/general, /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) +"lgj" = ( +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "middleleft_upper_lower_eva_external"; + idSelf = "middleleft_upper_lower_eva_airlock_control" + }, +/turf/open/misc/asteroid, +/area/station/maintenance/tram/mid) "lgo" = ( /obj/machinery/atmospherics/pipe/smart/simple/violet/visible{ dir = 8 @@ -34468,6 +34866,13 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/maintenance/tram/left) +"lhw" = ( +/obj/machinery/door/window/left/directional/north{ + name = "The Monkey Pit"; + req_access = list("science") + }, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "lhI" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -34585,6 +34990,16 @@ }, /turf/open/floor/engine/o2, /area/station/engineering/atmos) +"lka" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/ordnance/directional/south, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "lkj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/cable, @@ -34619,11 +35034,15 @@ /area/station/cargo/miningdock) "lkD" = ( /obj/structure/table, -/obj/item/wirecutters, +/obj/item/wirecutters{ + pixel_y = 4 + }, /obj/item/screwdriver{ - pixel_y = 9 + pixel_y = 13 + }, +/obj/item/multitool{ + pixel_y = 8 }, -/obj/item/multitool, /obj/effect/turf_decal/trimline/white/filled/line, /obj/machinery/camera/directional/north{ c_tag = "Secure - Tech Stortage" @@ -34654,12 +35073,12 @@ /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) "llf" = ( -/obj/machinery/airalarm/directional/north, +/obj/structure/sign/poster/official/get_your_legs/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) "llj" = ( -/obj/structure/sink/kitchen/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/structure/sink/kitchen/directional/north, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -34690,7 +35109,9 @@ /obj/effect/landmark/event_spawn, /obj/effect/landmark/navigate_destination/kitchen, /obj/structure/table, -/obj/item/food/piedough, +/obj/item/food/piedough{ + pixel_y = 9 + }, /turf/open/floor/iron/white, /area/station/service/kitchen) "llJ" = ( @@ -34707,6 +35128,7 @@ dir = 1 }, /obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "llN" = ( @@ -34851,9 +35273,15 @@ /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) "loc" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall, -/area/station/hallway/primary/tram/left) +/obj/structure/ladder, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = 3; + idDoor = "middleright_lower_eva_internal"; + idSelf = "middleright_lower_eva_airlock_control" + }, +/turf/open/floor/iron/smooth, +/area/station/hallway/primary/tram/center) "lof" = ( /obj/item/toy/balloon, /turf/open/floor/eighties/red, @@ -34896,6 +35324,7 @@ name = "Medical Cell Locker"; id = "medcell" }, +/obj/structure/sign/poster/official/safety_report/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/science) "loJ" = ( @@ -34939,9 +35368,17 @@ /area/station/hallway/primary/tram/left) "lpu" = ( /obj/structure/table, -/obj/item/camera, -/obj/item/camera_film, -/obj/item/hand_labeler, +/obj/item/camera{ + pixel_y = 9; + pixel_x = -2 + }, +/obj/item/camera_film{ + pixel_y = 14; + pixel_x = 6 + }, +/obj/item/hand_labeler{ + pixel_x = 5 + }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 }, @@ -35019,7 +35456,10 @@ /area/station/ai_monitored/turret_protected/aisat/foyer) "lqS" = ( /obj/structure/table/wood, -/obj/item/book/bible, +/obj/item/book/bible{ + pixel_x = 4; + pixel_y = 13 + }, /obj/machinery/light/cold/directional/north, /turf/open/floor/carpet, /area/station/service/chapel/monastery) @@ -35061,18 +35501,20 @@ /turf/open/floor/iron/white, /area/station/science/ordnance/office) "lrw" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics O2 Chamber" +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "middleright_lower_upper_eva_external"; + idInterior = "middleright_lower_upper_eva_internal"; + idSelf = "middleright_lower_upper_eva_airlock_control" }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "lrx" = ( /obj/structure/table/reinforced, /obj/item/cigbutt/cigarbutt{ - pixel_x = 5; - pixel_y = -1 + pixel_x = 9; + pixel_y = 7 }, /obj/item/phone{ pixel_x = -3; @@ -35105,7 +35547,7 @@ /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/spray/cleaner, /obj/item/reagent_containers/syringe/antiviral, -/obj/machinery/status_display/ai/directional/west, +/obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) "lrG" = ( @@ -35138,7 +35580,9 @@ /area/station/engineering/atmos) "lrZ" = ( /obj/structure/table/glass, -/obj/structure/secure_safe/caps_spare, +/obj/structure/secure_safe/caps_spare{ + pixel_y = 9 + }, /turf/open/floor/glass, /area/station/command/meeting_room) "lse" = ( @@ -35235,7 +35679,7 @@ /area/station/service/chapel/office) "lul" = ( /obj/structure/table, -/obj/machinery/light/cold/directional/west, +/obj/machinery/light/cold/dim/directional/west, /turf/open/floor/iron, /area/station/medical/virology) "luy" = ( @@ -35268,13 +35712,9 @@ /turf/open/floor/wood, /area/station/service/library) "luY" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/maintenance/central/greater) "lvb" = ( @@ -35388,23 +35828,12 @@ /turf/open/openspace, /area/station/hallway/primary/tram/center) "lwV" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Plasma Chamber" +/obj/machinery/camera/emp_proof/directional/south{ + c_tag = "Engineering - Atmospherics O2 Chamber"; + network = list("ss13","engineering") }, -/turf/open/floor/engine/plasma, +/turf/open/floor/engine/o2, /area/station/engineering/atmos) -"lxd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/aiupload, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "lxi" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/cable, @@ -35454,16 +35883,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"lxO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/wood, -/obj/effect/spawner/random/decoration/ornament, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "lxW" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/firealarm/directional/south, @@ -35513,12 +35932,6 @@ autoclose = 0 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "rightmost_upper_eva_airlock_control"; - idDoor = "rightmost_upper_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -35602,12 +36015,13 @@ /turf/open/floor/grass, /area/station/service/hydroponics) "lzJ" = ( -/obj/structure/sign/warning/pods/directional/west, -/obj/effect/turf_decal/tile/bar{ - dir = 8 +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/reagent_dispensers/servingdish{ + pixel_y = 6 }, -/turf/open/floor/iron, -/area/station/escapepodbay) +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/mess) "lAm" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -35733,9 +36147,15 @@ "lCA" = ( /obj/machinery/chem_mass_spec, /obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/digital_clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"lCQ" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "lDl" = ( /obj/effect/turf_decal/box/white{ color = "#52B4E9" @@ -35750,21 +36170,28 @@ /area/station/medical/coldroom) "lDo" = ( /obj/structure/table, -/obj/item/storage/box/prisoner, /obj/item/storage/box/prisoner{ - pixel_y = 8 + pixel_y = 7 + }, +/obj/item/storage/box/prisoner{ + pixel_y = 13 }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/item/paper/fluff/genpop_instructions, +/obj/item/paper/fluff/genpop_instructions{ + pixel_y = 6 + }, /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) "lDt" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/structure/sign/departments/security/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "lDw" = ( /obj/machinery/door/airlock/glass{ name = "Break Room" @@ -35803,7 +36230,7 @@ /area/station/security/office) "lDW" = ( /obj/machinery/plate_press, -/obj/structure/sign/clock/directional/east, +/obj/structure/sign/clock, /turf/open/floor/iron, /area/station/security/prison/work) "lEf" = ( @@ -35823,10 +36250,12 @@ pixel_x = -2; pixel_y = 8 }, -/obj/item/folder/blue, +/obj/item/folder/blue{ + pixel_y = 12 + }, /obj/item/folder/yellow{ pixel_x = 4; - pixel_y = 3 + pixel_y = 7 }, /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/dark/side{ @@ -35959,6 +36388,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/bar) +"lGj" = ( +/obj/structure/noticeboard/directional/north, +/obj/structure/aquarium/lawyer, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/wood, +/area/station/service/lawoffice) "lGp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35999,20 +36435,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"lHa" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/turretid{ - name = "AI Antechamber turret control"; - pixel_y = -25; - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior" - }, -/turf/open/floor/iron/grimy, -/area/station/ai_monitored/turret_protected/aisat/foyer) "lHp" = ( /obj/effect/turf_decal/sand/plating, -/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/vacuum/external, +/obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/engineering/supermatter/room) "lHu" = ( @@ -36032,11 +36458,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) -"lHJ" = ( -/obj/machinery/pdapainter/research, -/obj/machinery/computer/security/telescreen/rd/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/command/heads_quarters/rd) "lHU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -36047,23 +36468,25 @@ /area/station/maintenance/disposal) "lHW" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, /obj/item/storage/medkit/fire{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, -/obj/item/storage/medkit/fire, /obj/item/storage/medkit/fire{ - pixel_x = -3; - pixel_y = -3 + pixel_y = 8 }, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Medical Storage"; - req_access = list("medical") +/obj/item/storage/medkit/fire{ + pixel_x = -3; + pixel_y = 5 }, /obj/effect/turf_decal/siding/white{ dir = 8 }, +/obj/machinery/door/window/half/left/directional/west{ + name = "Secure Medical Storage"; + req_access = list("medical") + }, +/obj/structure/window/reinforced/half, /turf/open/floor/iron/dark, /area/station/medical/storage) "lIe" = ( @@ -36088,12 +36511,6 @@ id_tag = "mostleft_upper_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "mostleft_upper_eva_airlock_control"; - idDoor = "mostleft_upper_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -36149,16 +36566,13 @@ /turf/open/floor/iron, /area/station/cargo/miningdock) "lJu" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, /turf/open/floor/iron, /area/station/security/processing) "lJv" = ( @@ -36187,6 +36601,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"lJU" = ( +/obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/light/directional/north, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "lKc" = ( /obj/structure/table/wood, /obj/machinery/light/small/dim/directional/west, @@ -36221,7 +36641,6 @@ }, /obj/effect/spawner/random/bedsheet, /obj/effect/landmark/start/assistant, -/obj/structure/sign/clock/directional/east, /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) @@ -36440,6 +36859,9 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 4 }, +/obj/item/radio/intercom/directional/south{ + dir = 2 + }, /turf/open/floor/iron, /area/station/security/courtroom) "lOx" = ( @@ -36470,8 +36892,13 @@ /area/station/command/gateway) "lOM" = ( /obj/structure/table, -/obj/item/storage/box/tail_pin, -/obj/item/clothing/head/costume/festive, +/obj/item/storage/box/tail_pin{ + pixel_y = 9 + }, +/obj/item/clothing/head/costume/festive{ + pixel_y = 16; + pixel_x = 7 + }, /turf/open/floor/eighties/red, /area/station/commons/fitness/recreation/entertainment) "lOV" = ( @@ -36593,6 +37020,9 @@ }, /obj/structure/closet/l3closet/virology, /obj/machinery/light/cold/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "lRr" = ( @@ -36608,6 +37038,11 @@ "lRs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/ladder, +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = -2; + idSelf = "rightmost_upper_eva_airlock_control"; + idDoor = "rightmost_upper_eva_internal" + }, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/right) "lRx" = ( @@ -36642,9 +37077,8 @@ /turf/open/floor/iron, /area/station/tcommsat/computer) "lSv" = ( -/obj/structure/table/wood, -/obj/structure/mirror/directional/south, -/obj/item/food/baguette, +/obj/structure/closet/crate/wooden/toy, +/obj/machinery/light/cold/directional/south, /turf/open/floor/iron/white/side{ dir = 4 }, @@ -36669,15 +37103,6 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"lSI" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = 10; - id = "lawyerdropoff" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "lSM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -36725,7 +37150,7 @@ /turf/open/floor/iron, /area/station/security/prison/safe) "lTP" = ( -/obj/structure/stairs/south, +/obj/structure/tall_stairs/end/directional/south, /turf/open/floor/iron/stairs/medium{ dir = 1 }, @@ -36779,6 +37204,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 }, +/obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/command) "lUa" = ( @@ -36953,13 +37379,13 @@ /turf/open/floor/iron, /area/station/security/courtroom) "lWu" = ( +/obj/machinery/disposal/bin, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/structure/table/reinforced, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/blood_filter, -/obj/item/clothing/gloves/latex/nitrile, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, /obj/machinery/light_switch/directional/east{ pixel_x = 22; pixel_y = -9 @@ -36972,20 +37398,21 @@ /obj/machinery/button/door{ name = "Privacy Shutter Control"; pixel_x = -7; - pixel_y = -2; + pixel_y = 3; id = "rdoffice"; req_access = list("research") }, /obj/item/folder/white{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 12 }, /obj/item/stamp/head/rd{ pixel_x = 6; - pixel_y = 2 + pixel_y = 15 }, /obj/item/pen/fountain{ - pixel_x = -4; - pixel_y = 7 + pixel_x = -6; + pixel_y = 11 }, /turf/open/floor/glass/reinforced, /area/station/command/heads_quarters/rd) @@ -36998,6 +37425,7 @@ "lWz" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/grass, /area/station/medical/virology) "lWF" = ( @@ -37203,10 +37631,9 @@ /area/station/science/xenobiology) "maI" = ( /obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/status_display/door_timer{ - name = "Isolation Cell B"; - pixel_y = -32; - id = "Isolation_B" +/obj/machinery/status_display/door_timer/directional/south{ + id = "Isolation_B"; + name = "Isolation Cell B" }, /turf/open/floor/iron, /area/station/security/execution/transfer) @@ -37216,13 +37643,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"mbe" = ( -/obj/machinery/camera/motion/directional/south{ - network = list("ss13","minisat"); - c_tag = "Secure - AI Lower External North" +"maZ" = ( +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = -1; + idDoor = "middleleft_lower_lower_eva_external"; + idSelf = "middleleft_lower_lower_eva_airlock_control" }, -/turf/open/space/basic, -/area/space/nearstation) +/turf/open/misc/asteroid, +/area/station/maintenance/tram/mid) "mbk" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -37317,6 +37745,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/library) +"mcY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "Xenolab" + }, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/science/xenobiology) "mdf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -37365,14 +37803,12 @@ /area/station/cargo/storage) "mdI" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "mostleft_lower_lower_eva_airlock_control"; +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "mostleft_lower_lower_eva_external"; idInterior = "mostleft_lower_lower_eva_internal"; - idExterior = "mostleft_lower_lower_eva_external" + idSelf = "mostleft_lower_lower_eva_airlock_control" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/left) "mdV" = ( @@ -37443,8 +37879,7 @@ /obj/machinery/airalarm/directional/north, /obj/structure/disposalpipe/trunk, /obj/machinery/light_switch/directional/west{ - pixel_x = -23; - pixel_y = -8 + pixel_y = -5 }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) @@ -37518,7 +37953,7 @@ /turf/open/floor/iron/freezer, /area/station/science/lower) "mgh" = ( -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/openspace, /area/station/security/checkpoint/supply) "mgi" = ( @@ -37561,6 +37996,14 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"mgp" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "mgq" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/side{ @@ -37595,15 +38038,9 @@ /area/station/security/prison/mess) "mgZ" = ( /obj/structure/table, -/obj/machinery/requests_console/directional/west{ - name = "Kitchen Requests Console"; - department = "Kitchen" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, /obj/machinery/reagentgrinder{ pixel_x = -5; - pixel_y = 8 + pixel_y = 17 }, /obj/item/reagent_containers/cup/rag{ pixel_x = 6; @@ -37641,35 +38078,45 @@ id_tag = "middleright_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleright_lower_eva_airlock_control"; - idDoor = "middleright_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/hallway/primary/tram/center) -"mhJ" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 +"mhI" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","rd","xeno"); + c_tag = "Science - Xenobiology Lower Containment Chamber" }, -/obj/machinery/computer/security/telescreen/vault/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) +"mic" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 8 + }, +/obj/structure/railing{ dir = 4 }, +/obj/effect/spawner/random/vending/snackvend{ + pixel_x = -5 + }, /turf/open/floor/iron, -/area/station/command/heads_quarters/qm) +/area/station/hallway/primary/tram/center) "min" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, /obj/structure/table, -/obj/item/radio/intercom/directional/east, /obj/item/paper{ name = "To-Do List"; - default_raw_text = "buy more donk pockets" + default_raw_text = "buy more donk pockets"; + pixel_y = 6 }, +/obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/medical/virology) "miE" = ( @@ -37685,10 +38132,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Upper Left Command" - }, /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/command) @@ -37707,12 +38150,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"mjl" = ( -/obj/machinery/computer/security/telescreen/turbine/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "mjp" = ( /obj/structure/transport/linear/tram/corner/southeast, /obj/structure/tram/spoiler{ @@ -37783,12 +38220,19 @@ /turf/open/floor/wood, /area/station/commons/dorms) "mkA" = ( -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/wood/large, -/area/station/service/barber) +/obj/machinery/shower/directional/west, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron/freezer, +/area/station/security/prison/shower) "mkS" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood/fancy/royalblue, +/obj/machinery/door/window/left/directional/south{ + name = "Secure Art Exhibition" + }, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 50; + pixel_y = 12 + }, /turf/open/floor/wood/large, /area/station/service/library) "mld" = ( @@ -37869,21 +38313,19 @@ /area/space) "mmv" = ( /obj/structure/table/glass, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 7 + }, /obj/item/folder/blue{ pixel_x = 3; - pixel_y = 5 + pixel_y = 13 }, /obj/item/storage/fancy/coffee_cart_rack{ - pixel_x = -10; - pixel_y = 2 + pixel_x = -11; + pixel_y = 7 }, /turf/open/floor/glass, /area/station/command/meeting_room) -"mmy" = ( -/obj/structure/flora/bush/jungle/c/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "mmH" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, @@ -37964,7 +38406,9 @@ /area/station/science/lower) "moH" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 11 + }, /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, @@ -37996,8 +38440,9 @@ /turf/open/floor/iron/dark, /area/station/service/hydroponics) "moX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/comfy/black{ + dir = 4 }, /turf/open/floor/wood/large, /area/station/service/library) @@ -38138,6 +38583,9 @@ /obj/effect/turf_decal/siding/thinplating/corner{ dir = 4 }, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Bar Lounge North West" + }, /turf/open/floor/iron/checker, /area/station/commons/lounge) "mrT" = ( @@ -38269,7 +38717,9 @@ /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) "muP" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/tram/mid) @@ -38391,6 +38841,11 @@ /obj/item/target/alien, /turf/open/floor/engine, /area/station/science/auxlab/firing_range) +"myw" = ( +/obj/machinery/shower/directional/east, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/freezer, +/area/station/security/prison/shower) "myz" = ( /obj/machinery/camera/directional/west{ c_tag = "Civilian - Entertainment Center North" @@ -38414,6 +38869,33 @@ "myD" = ( /turf/closed/wall/r_wall, /area/station/maintenance/tram/right) +"myI" = ( +/obj/structure/table, +/obj/item/multitool/circuit{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/multitool/circuit{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/multitool/circuit{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = 18 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Testing Lab" + }, +/turf/open/floor/iron, +/area/station/science/explab) "myK" = ( /obj/structure/chair/office, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38445,23 +38927,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/central) -"mzi" = ( -/obj/structure/rack, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/lighter, -/obj/item/reagent_containers/pill/patch/aiuri, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "mzs" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -38502,6 +38967,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "mAf" = ( @@ -38541,13 +39007,16 @@ "mAS" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ - pixel_x = -3 + pixel_x = -5; + pixel_y = 8 }, /obj/item/pen{ - pixel_x = -3 + pixel_x = -5; + pixel_y = 10 }, /obj/item/folder/yellow{ - pixel_x = 4 + pixel_x = 4; + pixel_y = 12 }, /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/brown/fourcorners, @@ -38592,6 +39061,7 @@ /area/station/science/ordnance/freezerchamber) "mCu" = ( /obj/machinery/light/directional/west, +/obj/structure/sign/directions/medical/right/east_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/left) "mCx" = ( @@ -38706,7 +39176,7 @@ /obj/structure/table/wood, /obj/item/toy/talking/ai{ name = "\improper Nanotrasen-brand toy AI"; - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -38726,10 +39196,9 @@ /obj/effect/turf_decal/trimline/tram/filled/warning{ dir = 4 }, -/obj/effect/spawner/random/vending/snackvend{ - pixel_x = 5 - }, /obj/machinery/light/directional/east, +/obj/effect/spawner/random/vending/snackvend, +/obj/structure/sign/directions/engineering/left/west_arrow/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "mEs" = ( @@ -38785,12 +39254,6 @@ }, /turf/open/floor/wood/large, /area/station/service/theater) -"mFh" = ( -/obj/machinery/sparker/directional/west{ - id = "Xenobio" - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "mFo" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -38835,23 +39298,19 @@ "mGw" = ( /turf/closed/wall, /area/station/service/barber) -"mGB" = ( -/obj/structure/filingcabinet, -/turf/open/floor/iron/grimy, -/area/station/security/detectives_office) "mGN" = ( /obj/effect/turf_decal/siding/thinplating/end, /obj/machinery/button/door{ name = "Cell Shutters"; - pixel_x = -27; - pixel_y = -2; + pixel_x = -25; + pixel_y = 10; id = "Secure Gate"; req_access = list("armory") }, /obj/machinery/button/door{ name = "Prison Wing Lockdown"; - pixel_x = -27; - pixel_y = 8; + pixel_x = -25; + pixel_y = 19; id = "briglockdown"; req_access = list("armory") }, @@ -38868,10 +39327,9 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","minisat"); - c_tag = "Secure - AI Antechamber West" +/obj/machinery/camera/directional/east{ + c_tag = "Secure - AI Antechamber West"; + network = list("ss13","minisat") }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) @@ -38888,14 +39346,11 @@ /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) "mHm" = ( -/obj/effect/turf_decal/trimline/neutral/warning, -/obj/structure/table/reinforced, -/obj/item/table_clock{ - pixel_y = 8 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/item/surgery_tray/full/morgue, /obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "mHt" = ( @@ -39008,7 +39463,9 @@ /area/station/cargo/miningfoundry) "mIN" = ( /obj/structure/table, -/obj/item/radio/intercom/prison, +/obj/item/radio/intercom/prison{ + pixel_y = 10 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -39054,16 +39511,21 @@ /area/station/commons/dorms) "mJj" = ( /obj/structure/table, -/obj/item/storage/bag/tray, +/obj/item/storage/bag/tray{ + pixel_y = 9 + }, /obj/item/kitchen/rollingpin{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 8 }, /obj/item/reagent_containers/condiment/enzyme{ pixel_x = -5; pixel_y = 9 }, /obj/structure/window/spawner/directional/west, -/obj/item/knife/kitchen, +/obj/item/knife/kitchen{ + pixel_y = 11 + }, /turf/open/floor/iron/white, /area/station/commons/vacant_room) "mJm" = ( @@ -39186,7 +39648,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, -/obj/item/stack/rods/fifty, +/obj/item/stack/rods/fifty{ + pixel_y = 11 + }, /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/engineering/main) @@ -39202,6 +39666,20 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/security/execution/transfer) +"mMb" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Civilian - Recreational Area North-West" + }, +/obj/item/toy/plush/lizard_plushie/space/green{ + pixel_y = 11 + }, +/obj/machinery/incident_display/tram/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) "mMc" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -39210,6 +39688,11 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"mMf" = ( +/obj/machinery/portable_atmospherics/pipe_scrubber, +/obj/machinery/digital_clock, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "mMn" = ( /obj/structure/closet/secure_closet/medical3, /obj/item/clothing/glasses/hud/health, @@ -39275,19 +39758,33 @@ /obj/machinery/photocopier, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"mNX" = ( +/obj/machinery/camera/emp_proof/directional/east{ + c_tag = "Engineering - Atmospherics Mixing Chamber"; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "mOi" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/item/screwdriver, +/obj/item/screwdriver{ + pixel_y = 10; + pixel_x = 11 + }, /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/south, /turf/open/floor/wood, /area/station/commons/vacant_room/office) "mOj" = ( /obj/structure/table/glass, -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/suture, +/obj/item/stack/medical/gauze{ + pixel_y = 12 + }, +/obj/item/stack/medical/suture{ + pixel_y = 12 + }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, @@ -39302,12 +39799,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"mOB" = ( -/obj/effect/turf_decal/trimline/yellow/filled/shrink_ccw{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "mOM" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -39479,7 +39970,6 @@ /obj/structure/chair/sofa/left{ dir = 8 }, -/obj/structure/sign/clock/directional/east, /turf/open/floor/carpet, /area/station/medical/psychology) "mTg" = ( @@ -39520,17 +40010,32 @@ }, /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum/directional/south, /turf/open/floor/plating, /area/station/maintenance/disposal) +"mUA" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "mUL" = ( /obj/effect/turf_decal/siding/thinplating, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ dir = 1 }, /area/station/service/kitchen) +"mUZ" = ( +/obj/machinery/door_buttons/access_button/directional/west{ + idSelf = "mostleft_upper_lower_eva_airlock_control"; + idDoor = "mostleft_upper_lower_eva_external" + }, +/turf/open/misc/asteroid, +/area/station/maintenance/tram/left) "mVj" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 8 @@ -39558,7 +40063,9 @@ /area/station/security/interrogation) "mWj" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 12 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) @@ -39583,8 +40090,12 @@ /area/station/solars/starboard/fore) "mWC" = ( /obj/machinery/holopad, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/warm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "mWK" = ( @@ -39608,8 +40119,11 @@ /turf/open/floor/iron, /area/station/security/prison) "mXd" = ( -/obj/structure/table/optable, /obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "mXi" = ( @@ -39631,6 +40145,7 @@ /obj/effect/turf_decal/tile/bar{ dir = 4 }, +/obj/structure/sign/warning/pods, /turf/open/floor/iron, /area/station/escapepodbay) "mXD" = ( @@ -39638,6 +40153,16 @@ /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/iron, /area/station/security/execution/transfer) +"mXE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "mXH" = ( /obj/structure/chair/office{ dir = 4 @@ -39735,10 +40260,12 @@ "mZD" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen{ + pixel_y = 10 }, -/obj/item/pen, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, @@ -39765,15 +40292,12 @@ /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) "nay" = ( -/obj/machinery/button/door/directional/west{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ + pixel_y = 0; name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_d"; - specialfunctions = 4; - normaldoorcontrol = 1 + id = "private_d" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/dorms) "naz" = ( @@ -39809,15 +40333,12 @@ /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) "naN" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Lounge" +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/library/lounge) +/obj/structure/bookcase/random/reference, +/turf/open/floor/wood/large, +/area/station/service/library) "nbh" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/trimline/blue/filled/corner, @@ -39863,6 +40384,12 @@ /obj/effect/turf_decal/trimline/tram/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"nbx" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nbF" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -39908,6 +40435,14 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"ncA" = ( +/obj/machinery/elevator_control_panel{ + pixel_y = 2; + linked_elevator_id = "tram_xeno_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/closed/wall/r_wall, +/area/station/science/xenobiology) "ncE" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable, @@ -39946,6 +40481,15 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"ndy" = ( +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/west{ + pixel_y = -4; + idDoor = "middleright_upper_eva_external"; + idSelf = "middleright_upper_eva_airlock_control" + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "ndz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40007,22 +40551,26 @@ /turf/open/floor/iron, /area/station/commons/fitness) "nen" = ( -/obj/structure/sign/calendar/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/medical/break_room) "net" = ( -/obj/machinery/disposal/bin, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 }, -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/structure/table/reinforced, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/blood_filter, +/obj/item/clothing/gloves/latex/nitrile, +/obj/machinery/camera/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medical - Surgery" }, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) @@ -40056,6 +40604,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, +/obj/machinery/vending/wallmed/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "nfB" = ( @@ -40080,7 +40629,9 @@ /area/station/hallway/secondary/exit/departure_lounge) "nfR" = ( /obj/structure/table/glass, -/obj/machinery/coffeemaker, +/obj/machinery/coffeemaker{ + pixel_y = 10 + }, /turf/open/floor/glass, /area/station/command/meeting_room) "nfW" = ( @@ -40209,7 +40760,6 @@ /turf/open/floor/iron, /area/station/maintenance/tram/left) "nhJ" = ( -/obj/structure/sign/poster/official/random/directional/south, /obj/machinery/light/blacklight/directional/south, /turf/open/floor/eighties, /area/station/commons/fitness/recreation/entertainment) @@ -40226,9 +40776,11 @@ /obj/structure/table/reinforced, /obj/item/storage/box/pdas{ pixel_x = 4; - pixel_y = 4 + pixel_y = 13 + }, +/obj/item/storage/box/pdas{ + pixel_y = 9 }, -/obj/item/storage/box/pdas, /obj/machinery/camera/directional/east{ c_tag = "Command - Bridge South" }, @@ -40239,6 +40791,7 @@ /obj/structure/railing{ dir = 4 }, +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/right, /area/station/hallway/secondary/construction/engineering) "nim" = ( @@ -40274,19 +40827,23 @@ "niS" = ( /obj/structure/table/glass, /obj/item/storage/backpack/duffelbag/sec/surgery{ - pixel_y = 5 + pixel_y = 14 + }, +/obj/item/clothing/mask/balaclava{ + pixel_y = 10; + pixel_x = -4 }, -/obj/item/clothing/mask/balaclava, /obj/item/reagent_containers/spray/cleaner{ - pixel_x = 5 + pixel_x = 10; + pixel_y = 8 }, -/obj/structure/sign/poster/official/do_not_question/directional/north, /obj/machinery/button/flasher{ pixel_x = -24; pixel_y = -8; id = "reeducation"; req_access = list("brig") }, +/obj/structure/sign/poster/official/do_not_question/directional/north, /turf/open/floor/iron/white, /area/station/security/execution/education) "niZ" = ( @@ -40387,10 +40944,6 @@ /obj/effect/turf_decal/trimline/neutral/corner{ dir = 4 }, -/obj/structure/sign/departments/security{ - pixel_x = -32 - }, -/obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/command) "njX" = ( @@ -40403,19 +40956,15 @@ "nkl" = ( /obj/structure/table/glass, /obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = -3 + pixel_x = 1; + pixel_y = 13 }, /obj/item/clothing/glasses/hud/health, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/requests_console/directional/south{ - name = "Chief Medical Officer's Request Console"; - department = "Chief Medical Officer's Console" +/obj/item/clothing/neck/stethoscope{ + pixel_y = 15 }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/newscaster/directional/south, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "nkt" = ( @@ -40424,7 +40973,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 }, -/obj/machinery/chem_master, +/obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "nku" = ( @@ -40480,18 +41029,11 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, -/obj/structure/table/glass, -/obj/machinery/requests_console/directional/east{ - name = "Virology Requests Console"; - department = "Virology" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 +/obj/structure/disposalpipe/trunk{ + dir = 2 }, -/obj/item/storage/box/syringes, -/obj/structure/sign/clock/directional/north, +/obj/machinery/disposal/bin, +/obj/structure/sign/warning/deathsposal, /turf/open/floor/iron/white, /area/station/medical/virology) "nlm" = ( @@ -40502,12 +41044,6 @@ id_tag = "rightmost_lower_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "rightmost_lower_lower_eva_airlock_control"; - idDoor = "rightmost_lower_lower_eva_internal" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, @@ -40535,6 +41071,7 @@ /area/station/command/bridge) "nlS" = ( /obj/machinery/light/directional/east, +/obj/structure/sign/directions/vault/left/east_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/left) "nmf" = ( @@ -40589,13 +41126,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) -"nmN" = ( -/obj/structure/closet/radiation, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "nmP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -40630,15 +41160,14 @@ /obj/machinery/mech_bay_recharge_port{ dir = 8 }, -/obj/structure/sign/clock/directional/north, /obj/machinery/light/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/plating, /area/station/cargo/storage) "nns" = ( /obj/structure/table/reinforced, -/obj/item/retractor, -/obj/item/hemostat{ - pixel_x = 3 +/obj/item/surgery_tray/full{ + pixel_y = 6 }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -40682,13 +41211,19 @@ dir = 1 }, /obj/structure/table, -/obj/item/dest_tagger, -/obj/item/dest_tagger, /obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/item/papercutter{ - pixel_x = 17 + pixel_x = 7; + pixel_y = 12 + }, +/obj/item/dest_tagger{ + pixel_x = -5; + pixel_y = 11 + }, +/obj/item/dest_tagger{ + pixel_y = 5 }, /turf/open/floor/iron, /area/station/cargo/sorting) @@ -40710,12 +41245,6 @@ id_tag = "middleleft_upper_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "middleleft_upper_lower_eva_airlock_control"; - idDoor = "middleleft_upper_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40735,9 +41264,51 @@ dir = 1 }, /obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/structure/sign/calendar/directional/north, +/obj/structure/sign/calendar, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"noR" = ( +/obj/structure/table/wood, +/obj/machinery/button/flasher/directional/east{ + id = "hopflash" + }, +/obj/machinery/button/door/table{ + id = "hop"; + name = "Privacy Shutter Controls"; + pixel_x = -6; + pixel_y = 16 + }, +/obj/machinery/button/door/table{ + id = "hopqueuestart"; + name = "Queue Shutters Entry Control"; + pixel_x = 6; + pixel_y = 16 + }, +/obj/machinery/button/door/table{ + id = "papersplease"; + name = "Arrival Checkpoint Enforcement Procedure"; + pixel_x = -6; + pixel_y = 9 + }, +/obj/machinery/button/door/table{ + id = "hopqueueend"; + name = "Queue Shutters Upper Exit Control"; + pixel_x = 6; + pixel_y = 9 + }, +/obj/machinery/button/door/table{ + id = "hopqueueendbottom"; + name = "Queue Shutters Lower Exit Control"; + pixel_x = 6; + pixel_y = 2 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"noT" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "npb" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -40771,7 +41342,8 @@ req_access = list("cargo") }, /obj/structure/desk_bell{ - pixel_x = -7 + pixel_x = 8; + pixel_y = 3 }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -40843,11 +41415,11 @@ /obj/structure/table/glass, /obj/item/storage/fancy/coffee_cart_rack{ pixel_x = 8; - pixel_y = 6 + pixel_y = 15 }, /obj/effect/spawner/random/food_or_drink/donkpockets{ pixel_x = -5; - pixel_y = 7 + pixel_y = 15 }, /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/cafeteria, @@ -40863,6 +41435,15 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"nrB" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = 10; + id = "lawyerdropoff" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "nrM" = ( /obj/machinery/door/airlock/mining/glass{ name = "Cargo Office" @@ -40899,6 +41480,7 @@ }, /area/station/service/kitchen) "nrX" = ( +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/science/lower) "nsn" = ( @@ -40931,10 +41513,10 @@ /turf/open/floor/engine, /area/station/science/explab) "nsy" = ( -/obj/structure/stairs/north, /obj/structure/railing{ dir = 4 }, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/right, /area/station/hallway/secondary/construction/engineering) "nsK" = ( @@ -40966,6 +41548,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel) +"ntJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Command - Bridge North" + }, +/obj/machinery/incident_display/bridge/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -10; + pixel_y = 26 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "ntL" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -41013,15 +41609,12 @@ /turf/open/space/openspace, /area/station/solars/port) "nvo" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ pixel_y = 9; - id = "private_b"; - specialfunctions = 4; - normaldoorcontrol = 1 + name = "Privacy Bolts"; + id = "private_b" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/dorms) "nvp" = ( @@ -41071,10 +41664,8 @@ /turf/open/floor/iron, /area/station/commons/dorms) "nwv" = ( -/obj/machinery/shower{ - pixel_y = 12 - }, /obj/structure/curtain, +/obj/machinery/shower/directional/south, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) "nwz" = ( @@ -41326,12 +41917,6 @@ /obj/structure/cable/layer1, /turf/open/floor/plating/airless, /area/station/solars/port) -"nzO" = ( -/mob/living/carbon/human/species/monkey, -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt - }, -/area/station/science/explab) "nzR" = ( /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) @@ -41351,6 +41936,9 @@ }, /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/camera/emp_proof/directional/north{ + c_tag = "Secure - Telecomms Control Room" + }, /turf/open/floor/iron, /area/station/tcommsat/computer) "nAH" = ( @@ -41363,12 +41951,12 @@ /obj/machinery/status_display/supply{ pixel_x = -32 }, +/obj/machinery/computer/security/telescreen/vault/directional/west, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) "nAP" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 4 - }, +/obj/structure/chair/office, +/obj/effect/landmark/start/head_of_personnel, /obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) @@ -41392,12 +41980,6 @@ id_tag = "middleleft_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleleft_lower_eva_airlock_control"; - idDoor = "middleleft_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) @@ -41417,6 +41999,7 @@ dir = 8 }, /obj/machinery/light/directional/west, +/obj/structure/sign/directions/upload/right/east_arrow/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "nBu" = ( @@ -41478,6 +42061,31 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/central) +"nDv" = ( +/obj/structure/table/wood, +/obj/structure/sign/picture_frame/showroom/two{ + pixel_x = 8 + }, +/obj/structure/sign/picture_frame/showroom/one{ + pixel_x = -8 + }, +/obj/item/storage/box/matches{ + pixel_x = -2; + pixel_y = 12 + }, +/obj/item/cigarette/cigar{ + pixel_x = -4; + pixel_y = 11 + }, +/obj/item/cigarette/cigar{ + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/cigarette/cigar/cohiba{ + pixel_y = 10 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "nDM" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -41491,23 +42099,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"nDR" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/stock_parts/matter_bin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/micro_laser, -/obj/item/multitool, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker - }, -/turf/open/floor/iron/white, -/area/station/science/lab) "nDX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41521,8 +42112,12 @@ "nEc" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/red/filled/line, -/obj/item/electropack, -/obj/item/assembly/signaler, +/obj/item/electropack{ + pixel_y = 8 + }, +/obj/item/assembly/signaler{ + pixel_y = 15 + }, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/brig) @@ -41538,33 +42133,9 @@ /turf/open/floor/plating, /area/station/hallway/primary/tram/center) "nEu" = ( -/obj/structure/sign/directions/supply{ - dir = 4; - pixel_y = 28 - }, -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = 34 - }, -/obj/structure/sign/directions/command{ - dir = 1; - pixel_y = 40 - }, -/obj/structure/sign/directions/vault{ - dir = 1; - pixel_y = 22 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/tram/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/tram/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/left) +/obj/structure/sign/directions/supply/left/north_arrow/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/right) "nEB" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -41578,16 +42149,27 @@ "nEF" = ( /obj/structure/table/glass, /obj/item/reagent_containers/spray/pestspray{ - pixel_x = 3; - pixel_y = 4 + pixel_x = 9; + pixel_y = 22 }, -/obj/item/reagent_containers/spray/plantbgone, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 }, -/obj/item/reagent_containers/cup/bottle/nutrient/ez, -/obj/item/reagent_containers/cup/bottle/nutrient/rh, -/obj/item/reagent_containers/cup/watering_can, +/obj/item/reagent_containers/cup/bottle/nutrient/ez{ + pixel_y = 20 + }, +/obj/item/reagent_containers/cup/bottle/nutrient/rh{ + pixel_y = 20; + pixel_x = -8 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 7; + pixel_x = 10 + }, +/obj/item/reagent_containers/cup/watering_can{ + pixel_y = 7; + pixel_x = -5 + }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) "nES" = ( @@ -41638,7 +42220,10 @@ c_tag = "Command - Captain's Office" }, /obj/structure/table/wood, -/obj/machinery/coffeemaker/impressa, +/obj/machinery/coffeemaker/impressa{ + pixel_y = 11; + pixel_x = 1 + }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) "nGh" = ( @@ -41668,7 +42253,6 @@ /obj/structure/chair{ dir = 4 }, -/obj/machinery/bluespace_vendor/directional/south, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) @@ -41726,7 +42310,6 @@ "nIc" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/closet/masks, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/commons/fitness) "nIr" = ( @@ -41761,6 +42344,7 @@ dir = 1 }, /obj/structure/chair, +/obj/structure/sign/poster/official/here_for_your_safety, /turf/open/floor/iron, /area/station/security/checkpoint/supply) "nIU" = ( @@ -41784,6 +42368,12 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/tram/left) +"nJs" = ( +/obj/structure/railing, +/obj/effect/turf_decal/delivery, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "nJx" = ( /obj/structure/railing{ dir = 1 @@ -41840,22 +42430,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "nKo" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = -28 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - pixel_y = -34 - }, -/obj/structure/sign/directions/engineering{ - dir = 4; - pixel_y = -40 - }, -/obj/structure/sign/directions/upload{ - dir = 4; - pixel_y = -22 - }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -41939,7 +42513,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/button/door/directional/north{ name = "Tunnel Access Shutters Toggle"; - id = "righttunnel" + id = "righttunnel"; + pixel_x = 8 + }, +/obj/machinery/door_buttons/access_button/directional/north{ + pixel_x = -10; + idDoor = "rightmost_lower_upper_eva_internal"; + idSelf = "rightmost_lower_upper_eva_airlock_control" }, /turf/open/floor/plating, /area/station/maintenance/tram/right) @@ -41981,7 +42561,7 @@ dir = 1 }, /obj/item/kirbyplants/random, -/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "nMX" = ( @@ -41992,10 +42572,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nNh" = ( -/obj/structure/flora/bush/sunny/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "nNi" = ( /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/directional/north{ @@ -42004,9 +42580,13 @@ /obj/structure/window/reinforced/spawner/directional/east{ pixel_y = 2 }, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = 10 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/bureaucracy/pen, +/obj/effect/spawner/random/bureaucracy/pen{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) "nNk" = ( @@ -42025,6 +42605,11 @@ "nNs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/ladder, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "middleleft_lower_lower_eva_external"; + idInterior = "middleleft_lower_lower_eva_internal"; + idSelf = "middleleft_lower_lower_eva_airlock_control" + }, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/mid) "nNw" = ( @@ -42103,6 +42688,15 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) +"nOM" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 4 + }, +/obj/structure/sign/clock/directional/east, +/obj/effect/landmark/event_spawn, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "nPe" = ( /turf/open/floor/carpet, /area/station/medical/psychology) @@ -42221,11 +42815,6 @@ }, /turf/open/floor/tram, /area/station/hallway/primary/tram/right) -"nRd" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "nRw" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 10 @@ -42237,6 +42826,12 @@ dir = 8 }, /area/station/command/gateway) +"nRJ" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/flora/tree/palm/style_random, +/obj/structure/flora/coconuts, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "nRK" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 1 @@ -42278,13 +42873,16 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/machinery/firealarm/directional/west, +/obj/machinery/firealarm/directional/west{ + pixel_y = 7 + }, /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/trimline/neutral/filled/line{ dir = 8 }, +/obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/command) "nSd" = ( @@ -42484,6 +43082,17 @@ /obj/structure/fluff/tram_rail/electric, /turf/open/openspace, /area/station/hallway/primary/tram/left) +"nVK" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/machinery/duct, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "nVL" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -42493,6 +43102,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"nVN" = ( +/obj/structure/closet/radiation, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nVP" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ dir = 4 @@ -42618,15 +43234,23 @@ /area/station/command/heads_quarters/hop) "nXK" = ( /obj/structure/table/glass, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 9 + }, +/obj/item/pen{ + pixel_y = 11 + }, /obj/effect/turf_decal/tile/blue/fourcorners, -/obj/item/stamp/head/cmo, +/obj/item/stamp/head/cmo{ + pixel_y = 10 + }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "nXM" = ( /obj/structure/table/glass, -/obj/item/storage/briefcase/secure, +/obj/item/storage/briefcase/secure{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/white, @@ -42645,22 +43269,6 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "nYq" = ( -/obj/structure/sign/directions/supply{ - dir = 4; - pixel_y = -28 - }, -/obj/structure/sign/directions/security{ - dir = 1; - pixel_y = -34 - }, -/obj/structure/sign/directions/command{ - dir = 1; - pixel_y = -40 - }, -/obj/structure/sign/directions/vault{ - dir = 1; - pixel_y = -22 - }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -42765,7 +43373,6 @@ /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) "nZW" = ( -/obj/structure/sign/poster/contraband/lusty_xenomorph/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, @@ -42923,14 +43530,13 @@ /area/station/construction/mining/aux_base) "ocn" = ( /obj/structure/table/wood, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 19 + }, /turf/open/floor/wood, /area/station/service/bar/backroom) "ocK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/sign/warning/secure_area{ - pixel_y = -32 - }, /turf/open/floor/iron, /area/station/tcommsat/computer) "odr" = ( @@ -42973,7 +43579,11 @@ /turf/open/floor/iron/dark, /area/station/medical/storage) "odK" = ( -/obj/structure/closet/crate/wooden/toy, +/obj/structure/table/wood, +/obj/item/food/baguette{ + pixel_y = 10 + }, +/obj/structure/mirror/directional/north, /turf/open/floor/iron/white/side{ dir = 4 }, @@ -43003,53 +43613,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) -"ofA" = ( -/obj/structure/chair/office, -/obj/machinery/button/door/directional/south{ - name = "Privacy Shutters Control"; - pixel_x = 24; - pixel_y = -1; - id = "hop"; - req_access = list("kitchen") - }, -/obj/machinery/button/door/directional/south{ - name = "Arrival Checkpoint Enforcement Procedure"; - pixel_x = 35; - pixel_y = -10; - id = "papersplease"; - req_access = list("kitchen") - }, -/obj/machinery/button/ticket_machine{ - pixel_x = 24; - pixel_y = -10 - }, -/obj/machinery/button/door/directional/south{ - name = "Queue Shutters Entry Control"; - pixel_x = 24; - pixel_y = 8; - id = "hopqueuestart"; - req_access = list("kitchen") - }, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = 26 - }, -/obj/machinery/button/door/directional/south{ - name = "Queue Shutters Upper Exit Control"; - pixel_x = 35; - pixel_y = 8; - id = "hopqueueend"; - req_access = list("kitchen") - }, -/obj/machinery/button/door/directional/south{ - name = "Queue Shutters Lower Exit Control"; - pixel_x = 35; - pixel_y = -1; - id = "hopqueueendbottom"; - req_access = list("kitchen") - }, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "ofT" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -43144,22 +43707,6 @@ /turf/open/floor/wood, /area/station/commons/dorms) "oiv" = ( -/obj/structure/sign/directions/supply{ - dir = 1; - pixel_y = 28 - }, -/obj/structure/sign/directions/security{ - dir = 8; - pixel_y = 34 - }, -/obj/structure/sign/directions/command{ - dir = 8; - pixel_y = 40 - }, -/obj/structure/sign/directions/vault{ - dir = 8; - pixel_y = 22 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/tram/filled/line{ dir = 1 @@ -43170,6 +43717,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "oiF" = ( @@ -43216,6 +43764,12 @@ }, /turf/open/floor/iron/dark/small, /area/station/commons/vacant_room) +"oiM" = ( +/obj/structure/railing, +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/commons/storage/primary) "oiV" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -43226,6 +43780,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"oiY" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "ojj" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -43313,11 +43877,12 @@ "okA" = ( /obj/structure/table, /obj/item/computer_disk{ - pixel_x = -2 + pixel_x = -2; + pixel_y = 9 }, /obj/item/computer_disk{ pixel_x = 7; - pixel_y = 2 + pixel_y = 9 }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) @@ -43355,11 +43920,11 @@ "olc" = ( /obj/structure/table/wood, /obj/item/camera_film{ - pixel_y = 9 + pixel_y = 13 }, /obj/item/camera_film{ pixel_x = 3; - pixel_y = 3 + pixel_y = 8 }, /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, @@ -43425,6 +43990,7 @@ dir = 9 }, /obj/effect/turf_decal/trimline/dark_blue/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "omN" = ( @@ -43545,8 +44111,8 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/obj/structure/sign/poster/official/safety_internals/directional/north, /obj/structure/reagent_dispensers/watertank/high, +/obj/structure/sign/poster/official/safety_internals, /turf/open/floor/iron, /area/station/engineering/atmos) "oqi" = ( @@ -43613,9 +44179,6 @@ /area/station/hallway/secondary/exit/departure_lounge) "ose" = ( /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/sign/departments/chemistry{ - pixel_y = -32 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, @@ -43636,9 +44199,8 @@ /turf/closed/wall, /area/station/maintenance/department/eva) "oss" = ( -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/toilet) "osw" = ( @@ -43698,7 +44260,7 @@ /obj/structure/table/wood, /obj/item/lipstick/random{ pixel_x = 2; - pixel_y = 2 + pixel_y = 14 }, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -43788,12 +44350,17 @@ /area/station/ai_monitored/security/armory) "ouQ" = ( /obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/digital_clock, /turf/open/floor/wood, /area/station/command/meeting_room) "ouW" = ( /obj/structure/table/wood, -/obj/item/storage/photo_album/library, -/obj/item/camera, +/obj/item/storage/photo_album/library{ + pixel_y = 6 + }, +/obj/item/camera{ + pixel_y = 7 + }, /obj/machinery/light/small/blacklight/directional/west, /turf/open/floor/engine/cult, /area/station/service/library) @@ -43842,16 +44409,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"ovY" = ( -/obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "owc" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 @@ -43884,14 +44441,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"owL" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "owO" = ( /turf/open/floor/engine, /area/station/science/explab) "owQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/grass, -/area/station/medical/virology) +/obj/structure/table/wood/fancy/royalblue, +/obj/machinery/door/window/right/directional/south{ + name = "Secure Art Exhibition" + }, +/obj/effect/spawner/random/decoration/statue{ + spawn_loot_chance = 50; + pixel_y = 12 + }, +/turf/open/floor/wood/large, +/area/station/service/library) "oxe" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -44034,7 +44607,9 @@ dir = 4 }, /obj/structure/table, -/obj/item/folder/yellow, +/obj/item/folder/yellow{ + pixel_y = 14 + }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) "oAV" = ( @@ -44121,6 +44696,10 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/checker, /area/station/service/kitchen) +"oCy" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "oCR" = ( /obj/effect/turf_decal/stripes/white/full, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -44144,11 +44723,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"oDq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "oDs" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/west, @@ -44159,8 +44733,12 @@ /area/station/hallway/primary/tram/center) "oDH" = ( /obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/stamp/head/captain, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/stamp/head/captain{ + pixel_y = 10 + }, /obj/machinery/door/window/right/directional/south{ name = "Captain's Desk"; req_access = list("captain") @@ -44168,8 +44746,6 @@ /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "oDP" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/corner{ dir = 4 @@ -44225,7 +44801,9 @@ /turf/open/floor/iron, /area/station/commons/fitness/recreation) "oFp" = ( -/obj/effect/spawner/random/entertainment/arcade, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 + }, /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, @@ -44374,20 +44952,12 @@ /turf/open/floor/plating, /area/station/maintenance/tram/left) "oJx" = ( +/obj/structure/closet/secure_closet/medical2, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Surgery Room A" - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/airalarm/directional/west, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "oKe" = ( @@ -44401,9 +44971,11 @@ dir = 4 }, /obj/structure/table, -/obj/machinery/microwave{ - pixel_x = -3; - pixel_y = 6 +/obj/item/stack/sheet/cardboard{ + pixel_y = 10 + }, +/obj/item/food/donkpocket/pizza{ + pixel_y = 9 }, /turf/open/floor/iron/dark, /area/station/medical/virology) @@ -44494,8 +45066,12 @@ "oNa" = ( /obj/structure/table, /obj/machinery/airalarm/directional/east, -/obj/item/stack/sheet/iron/five, -/obj/item/stack/cable_coil/five, +/obj/item/stack/sheet/iron/five{ + pixel_y = 11 + }, +/obj/item/stack/cable_coil/five{ + pixel_y = 9 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) @@ -44567,12 +45143,6 @@ /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) -"oOb" = ( -/obj/structure/railing, -/obj/effect/turf_decal/delivery, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "oOd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -44601,21 +45171,26 @@ "oOT" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ - pixel_y = 2 + pixel_y = 14; + pixel_x = 6 }, +/obj/machinery/light/cold/directional/north, /obj/item/food/grown/poppy{ - pixel_y = 2 + pixel_y = 16; + pixel_x = -3 }, /obj/item/food/grown/poppy{ - pixel_y = 2 + pixel_y = 11; + pixel_x = -6 }, /obj/item/food/grown/poppy{ - pixel_y = 2 + pixel_y = 5; + pixel_x = -2 }, /obj/item/food/grown/poppy{ - pixel_y = 2 + pixel_y = 8; + pixel_x = 6 }, -/obj/machinery/light/cold/directional/north, /turf/open/floor/carpet, /area/station/service/chapel/monastery) "oOZ" = ( @@ -44631,10 +45206,14 @@ /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical{ pixel_x = -3; - pixel_y = 3 + pixel_y = 12 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 6 + }, +/obj/item/stack/cable_coil{ + pixel_y = 9 }, -/obj/item/storage/toolbox/mechanical, -/obj/item/stack/cable_coil, /turf/open/floor/iron/white, /area/station/science/lab) "oPg" = ( @@ -44700,10 +45279,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"oQU" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "oQW" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -44770,40 +45345,6 @@ /obj/machinery/light/warm/directional/south, /turf/open/floor/wood, /area/station/service/theater) -"oSi" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/box/lights/mixed, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/emproof, -/obj/item/stock_parts/power_store/cell/emproof, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - SMES Misc" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) -"oSl" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "oSu" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -44821,6 +45362,7 @@ pixel_x = 3; pixel_y = 8 }, +/obj/structure/sign/warning/secure_area, /turf/open/floor/iron, /area/station/security/office) "oTa" = ( @@ -44837,9 +45379,7 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 }, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, +/obj/machinery/status_display/supply, /turf/open/floor/iron, /area/station/cargo/storage) "oTd" = ( @@ -44913,11 +45453,19 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "oTT" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, +/obj/structure/table, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/iron/dark, /area/station/maintenance/central/greater) +"oUa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/landmark/event_spawn, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "oUg" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/effect/turf_decal/trimline/purple/filled/corner{ @@ -44933,11 +45481,14 @@ /area/station/science/lower) "oUq" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/fluff/paper/stack{ - dir = 4 +/obj/machinery/door_buttons/airlock_controller/directional/north{ + pixel_x = 8; + idExterior = "middleright_lower_eva_external"; + idInterior = "middleright_lower_eva_internal"; + idSelf = "middleright_lower_eva_airlock_control" }, -/turf/open/floor/plating, -/area/station/maintenance/tram/left) +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "oUx" = ( /obj/effect/landmark/start/security_officer, /turf/open/floor/iron, @@ -44950,10 +45501,9 @@ /obj/effect/turf_decal/trimline/tram/filled/warning{ dir = 8 }, -/obj/effect/spawner/random/vending/colavend{ - pixel_x = -5 - }, /obj/machinery/light/directional/west, +/obj/effect/spawner/random/vending/colavend, +/obj/structure/sign/directions/evac/right/north_arrow/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "oVc" = ( @@ -45133,9 +45683,6 @@ /obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = -24 - }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "oZq" = ( @@ -45172,7 +45719,6 @@ /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/structure/cable, /turf/open/floor/wood, /area/station/service/theater) "paq" = ( @@ -45210,6 +45756,25 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"pbc" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/warning{ + dir = 8 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "pbo" = ( /obj/structure/rack, /obj/machinery/camera/directional/north{ @@ -45231,11 +45796,11 @@ /area/station/hallway/secondary/entry) "pbw" = ( /obj/effect/decal/cleanable/oil/streak, -/obj/structure/sign/poster/random/directional/north, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/machinery/byteforge, /obj/effect/turf_decal/box, +/obj/structure/sign/poster/random, /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/bitrunning/den) "pbx" = ( @@ -45245,18 +45810,22 @@ /obj/item/bedsheet/captain{ dir = 4 }, -/obj/structure/sign/clock/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, /obj/machinery/camera/directional/north{ c_tag = "Command - Captain's Quarters" }, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) "pbC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/ladder, +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "middleright_upper_eva_internal"; + idSelf = "middleright_upper_eva_airlock_control" + }, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/center) "pbH" = ( @@ -45278,7 +45847,10 @@ /area/station/maintenance/port/central) "pbR" = ( /obj/structure/table/wood, -/obj/item/folder/blue, +/obj/item/folder/blue{ + pixel_y = 12; + pixel_x = 5 + }, /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 }, @@ -45394,13 +45966,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"pdX" = ( -/obj/machinery/computer/security/telescreen/cmo/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "pdZ" = ( /obj/machinery/door/airlock/research/glass{ name = "Robotics Lab" @@ -45458,7 +46023,6 @@ /obj/structure/bed/double{ dir = 4 }, -/obj/structure/sign/clock/directional/north, /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -45474,9 +46038,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, -/obj/structure/sign/warning/no_smoking{ - pixel_y = -32 - }, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /turf/open/floor/iron, @@ -45532,6 +46093,9 @@ dir = 8 }, /obj/structure/table, +/obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ + pixel_y = 12 + }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) "pgS" = ( @@ -45605,6 +46169,10 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"piC" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/engine, +/area/station/science/xenobiology) "piE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, @@ -45626,7 +46194,6 @@ /obj/machinery/camera/directional/south{ c_tag = "Civilian - Recreational Area South-West" }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "pjg" = ( @@ -45694,11 +46261,11 @@ /obj/machinery/camera/directional/north{ c_tag = "Civilian - Laundry Room" }, -/obj/structure/sign/clock/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) "pkD" = ( @@ -45706,7 +46273,9 @@ dir = 10 }, /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 12 + }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/iron, @@ -45717,10 +46286,9 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Entry Airlock" +/obj/machinery/camera/emp_proof/directional/west{ + c_tag = "Engineering - Entry Airlock"; + network = list("ss13","engineering") }, /turf/open/floor/iron, /area/station/engineering/main) @@ -45802,9 +46370,11 @@ /area/station/security/brig) "plU" = ( /obj/structure/table, -/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/machinery/computer/libraryconsole/bookmanagement{ + pixel_y = 10; + dir = 1 + }, /obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/poster/official/here_for_your_safety/directional/south, /turf/open/floor/iron, /area/station/security/prison) "plW" = ( @@ -45846,8 +46416,9 @@ /turf/open/floor/iron/white, /area/station/science/lab) "pmG" = ( -/obj/structure/sink/directional/south, /obj/machinery/light/cold/directional/south, +/obj/structure/sink/directional/north, +/obj/structure/mirror/directional/north, /turf/open/floor/iron/freezer, /area/station/security/prison) "pmM" = ( @@ -45965,6 +46536,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"poH" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/item/kirbyplants/random, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "poM" = ( /obj/structure/window/spawner/directional/north, /obj/effect/turf_decal/trimline/dark_green/filled/line{ @@ -46048,6 +46629,7 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/structure/sign/directions/evac/left/east_arrow/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "pqd" = ( @@ -46063,10 +46645,6 @@ /obj/effect/turf_decal/trimline/neutral/corner{ dir = 1 }, -/obj/structure/sign/departments/security{ - pixel_x = 32 - }, -/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/command) "pqf" = ( @@ -46074,16 +46652,11 @@ /turf/open/floor/iron/dark, /area/station/service/chapel) "pqU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "rightmost_lower_upper_eva_airlock_control"; - idInterior = "rightmost_lower_upper_eva_internal"; - idExterior = "rightmost_lower_upper_eva_external" +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "rightmost_lower_upper_eva_external"; + idSelf = "rightmost_lower_upper_eva_airlock_control" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, +/turf/open/misc/asteroid, /area/station/maintenance/tram/right) "pqV" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -46131,10 +46704,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, +/obj/structure/bookcase/random/fiction, /turf/open/floor/wood/large, /area/station/service/library) "prI" = ( @@ -46155,11 +46725,6 @@ }, /turf/open/floor/iron/white, /area/station/science/explab) -"prW" = ( -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/commons/storage/primary) "psa" = ( /obj/structure/tank_holder/anesthetic, /obj/machinery/light/directional/west, @@ -46216,8 +46781,8 @@ /area/station/ai_monitored/command/nuke_storage) "pth" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/structure/sign/warning/secure_area/directional/north, /obj/effect/turf_decal/box, +/obj/structure/sign/warning/secure_area, /turf/open/floor/iron/dark, /area/station/science/explab) "ptn" = ( @@ -46241,12 +46806,25 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "ptu" = ( /obj/structure/table/wood, -/obj/item/folder/red, -/obj/item/stamp/head/hos, +/obj/item/folder/red{ + pixel_y = 8; + pixel_x = 5 + }, +/obj/item/stamp/head/hos{ + pixel_y = 12; + pixel_x = 6 + }, +/obj/item/paper_bin{ + pixel_y = 10; + pixel_x = -8 + }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) "ptD" = ( @@ -46266,8 +46844,12 @@ /area/station/science/genetics) "ptU" = ( /obj/structure/table, -/obj/item/storage/photo_album/prison, -/obj/item/camera, +/obj/item/storage/photo_album/prison{ + pixel_y = 7 + }, +/obj/item/camera{ + pixel_y = 10 + }, /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron, /area/station/security/prison) @@ -46278,6 +46860,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side, /area/station/science/lobby) +"ptX" = ( +/mob/living/carbon/human/species/monkey, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "puf" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -46380,37 +46966,9 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "pvI" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = 28 - }, -/obj/structure/sign/directions/medical{ - dir = 8; - pixel_y = 34 - }, -/obj/structure/sign/directions/engineering{ - dir = 8; - pixel_y = 40 - }, -/obj/structure/sign/directions/upload{ - pixel_y = 22 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/tram/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/tram/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, +/obj/structure/sign/directions/vault/right/north_arrow/directional/west, +/turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) -"pvL" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "pvU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -46469,6 +47027,9 @@ dir = 4 }, /obj/machinery/airalarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Hallway - Service Wing Left Upper Hall" + }, /turf/open/floor/iron, /area/station/hallway/secondary/service) "pwH" = ( @@ -46499,10 +47060,7 @@ /area/station/maintenance/disposal/incinerator) "pxf" = ( /obj/structure/closet/secure_closet/hos, -/obj/structure/secure_safe/hos{ - pixel_x = 35 - }, -/obj/structure/sign/poster/official/space_cops/directional/north, +/obj/structure/sign/poster/official/space_cops, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) "pxj" = ( @@ -46510,15 +47068,30 @@ /obj/structure/table, /obj/item/stack/cable_coil{ pixel_x = 3; - pixel_y = -7 + pixel_y = 2 }, /obj/effect/turf_decal/bot, -/obj/item/stack/sheet/plasteel/fifty, +/obj/item/stack/sheet/plasteel/fifty{ + pixel_y = 8; + pixel_x = -6 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/hfr_box/body/fuel_input, -/obj/item/hfr_box/body/interface, -/obj/item/hfr_box/body/moderator_input, -/obj/item/hfr_box/body/waste_output, +/obj/item/hfr_box/body/fuel_input{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/hfr_box/body/interface{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/item/hfr_box/body/moderator_input{ + pixel_y = 20; + pixel_x = 6 + }, +/obj/item/hfr_box/body/waste_output{ + pixel_y = 20; + pixel_x = -6 + }, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) "pxo" = ( @@ -46527,9 +47100,18 @@ dir = 1 }, /area/station/service/chapel) -"pxs" = ( -/turf/open/floor/wood, -/area/station/service/lawoffice) +"pxz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate/preopen, +/obj/item/stock_parts/power_store/cell/empty, +/obj/effect/spawner/random/engineering/flashlight, +/obj/structure/sign/departments/exodrone/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "pxC" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/neutral/corner, @@ -46550,7 +47132,10 @@ pixel_x = -3; pixel_y = 7 }, -/obj/item/folder/red, +/obj/item/folder/red{ + pixel_y = 8; + pixel_x = 2 + }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "pxO" = ( @@ -46593,6 +47178,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 }, +/obj/structure/sign/poster/official/enlist/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/command) "pyz" = ( @@ -46664,14 +47250,13 @@ /turf/open/floor/iron, /area/station/cargo/miningfoundry) "pzc" = ( -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security"); - c_tag = "Security - Interrogation Observation" - }, /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 }, +/obj/machinery/camera/directional/east{ + network = list("ss13","Security"); + c_tag = "Security - Interrogation Observation" + }, /turf/open/floor/iron/dark, /area/station/security/interrogation) "pzd" = ( @@ -46681,35 +47266,24 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) -"pzq" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 +"pzj" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/white/filled/corner{ - dir = 4 +/obj/machinery/light_switch/directional/west{ + pixel_x = -22; + pixel_y = -8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "pzv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"pzw" = ( -/obj/effect/turf_decal/bot, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "pAo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/white/filled/line{ @@ -46853,6 +47427,9 @@ dir = 4 }, /obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Mid Left Command" + }, /turf/open/floor/iron, /area/station/hallway/secondary/command) "pCi" = ( @@ -46872,31 +47449,22 @@ dir = 8 }, /obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/engineering/main) "pCL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/miningdock) -"pCM" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "pCU" = ( /obj/structure/table, -/obj/machinery/recharger, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 }, /obj/machinery/airalarm/directional/east, +/obj/machinery/recharger{ + pixel_y = 9 + }, /turf/open/floor/iron, /area/station/security/office) "pCV" = ( @@ -46936,6 +47504,18 @@ /obj/effect/turf_decal/trimline/white/filled/line, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"pDC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/wood, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 13 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "pDF" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -46951,6 +47531,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"pDW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light/warm/directional/north, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/grimy, +/area/station/security/detectives_office) "pEa" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ name = "killroom vent"; @@ -47010,21 +47597,20 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"pFw" = ( -/obj/machinery/airalarm/directional/east, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = 17 - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = 10; - pixel_x = 4 +"pFo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Tunnel Access Hatch" }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 5 +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) +/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, +/area/station/maintenance/starboard/central) "pFE" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -47053,13 +47639,6 @@ /obj/structure/transit_tube_pod, /turf/open/floor/plating, /area/station/science/lower) -"pFO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "pFU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -47145,11 +47724,11 @@ dir = 6 }, /obj/item/storage/toolbox/mechanical{ - pixel_y = 5 + pixel_y = 16 }, /obj/item/flashlight{ pixel_x = 1; - pixel_y = 5 + pixel_y = 15 }, /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, @@ -47158,6 +47737,10 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/science/lower) +"pHM" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "pHX" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 1 @@ -47205,9 +47788,13 @@ /area/station/tcommsat/computer) "pIx" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/wrench, -/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/clipboard{ + pixel_y = 12 + }, +/obj/item/wrench{ + pixel_y = 9; + pixel_x = 2 + }, /obj/machinery/camera/directional/south{ network = list("ss13","rd"); c_tag = "Science - Server Room" @@ -47319,7 +47906,9 @@ /area/station/engineering/atmos) "pKr" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 8 + }, /obj/machinery/requests_console/directional/north{ name = "Chapel Requests Console"; department = "Chapel" @@ -47344,10 +47933,14 @@ /turf/open/floor/iron/dark, /area/station/service/hydroponics) "pKW" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/poster/official/here_for_your_safety/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/courtroom/holding) +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) "pKX" = ( /obj/structure/cable, /obj/structure/cable/layer1, @@ -47356,7 +47949,9 @@ /area/station/solars/starboard/fore) "pKZ" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 10 + }, /turf/open/floor/carpet, /area/station/commons/dorms) "pLf" = ( @@ -47364,28 +47959,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel) -"pLg" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigright" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_right" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/navigate_destination/sec, -/turf/open/floor/iron, -/area/station/security/brig) "pLs" = ( /obj/structure/transport/linear/tram, /obj/structure/tram/split, @@ -47428,7 +48001,7 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit) "pMi" = ( -/obj/machinery/airalarm/directional/north, +/obj/structure/sign/plaques/kiddie, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) "pMk" = ( @@ -47448,13 +48021,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/science/lower) -"pMz" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "pMG" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -47463,6 +48029,21 @@ /obj/structure/ladder, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"pMR" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/stock_parts/power_store/cell/potato{ + pixel_x = 2; + pixel_y = 10 + }, +/turf/open/floor/iron/white, +/area/station/science/lobby) "pMS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -47537,11 +48118,11 @@ }, /obj/item/storage/box/hug{ pixel_x = 4; - pixel_y = 3 + pixel_y = 11 }, /obj/item/razor{ pixel_x = -8; - pixel_y = 3 + pixel_y = 11 }, /obj/machinery/camera{ dir = 6; @@ -47600,18 +48181,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/tram/mid) -"pOQ" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "pOZ" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -47633,16 +48202,6 @@ dir = 10 }, /area/station/service/chapel) -"pPk" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "pPn" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -47668,13 +48227,13 @@ /turf/open/floor/glass, /area/station/commons/fitness/recreation) "pPN" = ( -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 10 - }, /obj/structure/railing{ dir = 8 }, /obj/structure/transport/linear/public, +/obj/effect/turf_decal/trimline/dark_red/warning{ + dir = 10 + }, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) "pPP" = ( @@ -47690,48 +48249,15 @@ "pQx" = ( /turf/open/misc/asteroid/dug, /area/station/science/explab) -"pQy" = ( -/obj/structure/table, -/obj/item/multitool/circuit{ - pixel_x = -8 - }, -/obj/item/multitool/circuit{ - pixel_x = -4 - }, -/obj/item/multitool/circuit, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Testing Lab" - }, -/turf/open/floor/iron, -/area/station/science/explab) "pQF" = ( /obj/structure/table, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 18 + }, /obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"pQL" = ( -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Detective's Office" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/light/warm/directional/north, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/grimy, -/area/station/security/detectives_office) "pQO" = ( /obj/machinery/atmospherics/components/binary/pump/on{ name = "Gas to Cooling Loop"; @@ -47789,18 +48315,12 @@ /turf/open/floor/iron, /area/station/security/brig) "pSJ" = ( -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/glass, /area/station/service/kitchen) "pSV" = ( /turf/closed/wall, /area/station/security/checkpoint/escape) -"pTj" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt - }, -/area/station/science/explab) "pTl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -47821,13 +48341,6 @@ }, /turf/open/floor/tram, /area/station/hallway/primary/tram/right) -"pTW" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/structure/sign/departments/evac/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit) "pUi" = ( /obj/structure/railing{ dir = 4 @@ -47905,9 +48418,17 @@ /area/station/command/heads_quarters/hos) "pUV" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/computer_disk/quartermaster, -/obj/item/computer_disk/quartermaster, +/obj/item/clipboard{ + pixel_y = 10 + }, +/obj/item/computer_disk/quartermaster{ + pixel_x = 3; + pixel_y = 11 + }, +/obj/item/computer_disk/quartermaster{ + pixel_y = 14; + pixel_x = 5 + }, /obj/structure/disposalpipe/segment{ dir = 5 }, @@ -47930,8 +48451,6 @@ /area/station/engineering/supermatter/room) "pVk" = ( /obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) @@ -47946,6 +48465,14 @@ /obj/machinery/light/warm/directional/north, /turf/open/floor/iron/dark, /area/station/service/bar) +"pWm" = ( +/obj/structure/filingcabinet, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Detective's Office"; + network = list("ss13","Security") + }, +/turf/open/floor/iron/grimy, +/area/station/security/detectives_office) "pWt" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -47960,16 +48487,20 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, +/obj/machinery/vending/cytopro, /turf/open/floor/iron/white, /area/station/science/xenobiology) "pWC" = ( /obj/structure/railing{ dir = 8 }, +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) "pWN" = ( -/obj/structure/plaque/static_plaque/golden/commission/tram, +/obj/structure/plaque/static_plaque/golden/commission/tram{ + pixel_y = 5 + }, /obj/structure/disposalpipe/segment{ dir = 5 }, @@ -47999,8 +48530,7 @@ /obj/structure/showcase/machinery/tv{ desc = "A slightly battered looking TV. Several slideshows play on the screen, showcasing Nanotrasen's various technological marvels. They even got the Nanoplay on this thing!"; dir = 1; - pixel_x = 2; - pixel_y = 3 + pixel_y = 11 }, /turf/open/floor/wood, /area/station/command/meeting_room) @@ -48008,7 +48538,6 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/west, /obj/machinery/computer/records/security{ dir = 4 }, @@ -48049,6 +48578,7 @@ /obj/structure/railing{ dir = 8 }, +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/left, /area/station/hallway/secondary/construction/engineering) "pXL" = ( @@ -48080,26 +48610,27 @@ /area/station/engineering/main) "pYh" = ( /obj/structure/table/glass, -/obj/item/crowbar, -/obj/item/hatchet, -/obj/item/plant_analyzer, -/obj/item/cultivator, +/obj/item/crowbar{ + pixel_y = 11 + }, +/obj/item/hatchet{ + pixel_y = 16; + pixel_x = 3 + }, +/obj/item/plant_analyzer{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/cultivator{ + pixel_y = 14; + pixel_x = -7 + }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"pYt" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/clothing/glasses/sunglasses/big{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/effect/spawner/random/bureaucracy/briefcase, -/turf/open/floor/wood, -/area/station/service/lawoffice) "pYH" = ( /obj/structure/bed{ dir = 4 @@ -48218,24 +48749,6 @@ "qas" = ( /turf/closed/wall/rust, /area/station/hallway/primary/tram/center) -"qaH" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/light_switch/directional/south{ - pixel_x = 10; - pixel_y = -24 - }, -/obj/machinery/button/door/directional/south{ - id = "crgdoor"; - req_access = list("brig_entrance"); - name = "Cargo Cell Control"; - normaldoorcontrol = 1 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "qaM" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -48259,6 +48772,15 @@ /obj/machinery/incident_display/tram/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"qbk" = ( +/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/trimline/purple/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/lower) "qbp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48313,7 +48835,6 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 }, -/obj/structure/sign/clock/directional/west, /turf/open/floor/iron, /area/station/security/courtroom) "qcw" = ( @@ -48321,7 +48842,9 @@ dir = 1 }, /obj/item/radio/intercom/directional/south, -/obj/structure/sign/calendar/directional/east, +/obj/machinery/requests_console/directional/east, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) "qcG" = ( @@ -48331,13 +48854,10 @@ "qcU" = ( /obj/effect/spawner/random/vending/colavend, /obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Breakroom" - }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/dark, /area/station/medical/break_room) "qda" = ( @@ -48386,15 +48906,11 @@ /turf/open/floor/iron, /area/station/commons/storage/tools) "qdG" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 +/obj/structure/disposalpipe/junction{ + dir = 1 }, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) +/turf/open/floor/carpet, +/area/station/service/library) "qdK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -48454,21 +48970,15 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/commons/lounge) -"qeD" = ( -/obj/effect/turf_decal/trimline/yellow/filled/shrink_cw{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "qeS" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/coffee_cart_rack{ pixel_x = -8; - pixel_y = 6 + pixel_y = 20 }, /obj/effect/spawner/random/food_or_drink/donkpockets{ pixel_x = 4; - pixel_y = 6 + pixel_y = 14 }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 @@ -48495,7 +49005,7 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "qfs" = ( -/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/sign/poster/official/random, /turf/open/floor/glass, /area/station/service/kitchen) "qfv" = ( @@ -48515,12 +49025,6 @@ id_tag = "mostleft_upper_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "mostleft_upper_lower_eva_airlock_control"; - idDoor = "mostleft_upper_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/effect/turf_decal/sand, /turf/open/floor/catwalk_floor, @@ -48548,8 +49052,12 @@ /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) "qfS" = ( -/obj/machinery/smartfridge/organ, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor/left/directional/west{ + name = "Coroner's Office" + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "qga" = ( @@ -48562,9 +49070,10 @@ "qgd" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ - pixel_y = 4 + pixel_y = 16 }, /obj/item/radio/intercom/directional/east, +/obj/structure/sign/calendar, /turf/open/floor/carpet, /area/station/medical/psychology) "qgj" = ( @@ -48598,11 +49107,11 @@ /obj/structure/cable, /obj/item/storage/box/bandages{ pixel_x = -6; - pixel_y = 6 + pixel_y = 15 }, /obj/item/storage/box/bodybags{ pixel_x = 3; - pixel_y = 2 + pixel_y = 11 }, /obj/item/reagent_containers/syringe, /turf/open/floor/iron/white, @@ -48693,6 +49202,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"qiC" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 5; + pixel_y = 17 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 3; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -6; + pixel_y = 17 + }, +/obj/machinery/cell_charger{ + pixel_y = 10; + pixel_x = 3 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) "qiI" = ( /obj/structure/disposaloutlet, /obj/structure/disposalpipe/trunk{ @@ -48758,6 +49288,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/digital_clock, /turf/open/floor/iron/white, /area/station/medical/virology) "qjG" = ( @@ -48773,7 +49304,9 @@ dir = 4 }, /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 10 + }, /obj/structure/cable, /obj/machinery/light_switch/directional/east{ pixel_x = 23; @@ -48815,6 +49348,7 @@ network = list("ss13","Security"); c_tag = "Security - Main West" }, +/obj/structure/sign/departments/medbay/alt/directional/west, /turf/open/openspace, /area/station/security/brig) "qkE" = ( @@ -48894,17 +49428,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"qlK" = ( -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","cargo"); - c_tag = "Cargo - Security Outpost" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "qmc" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 @@ -48949,6 +49472,11 @@ /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron/dark/corner, /area/station/ai_monitored/command/storage/eva) +"qnb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/no_smoking, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "qnd" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/iron{ @@ -48971,10 +49499,6 @@ dir = 8 }, /area/station/medical/medbay/central) -"qnk" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/lawoffice) "qnm" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, @@ -49078,14 +49602,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison) -"qpr" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger{ - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/command/bridge) "qpu" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -49114,8 +49630,7 @@ dir = 8 }, /obj/structure/filingcabinet, -/obj/machinery/camera{ - dir = 9; +/obj/machinery/camera/directional/north{ c_tag = "Civilian - Vacant Office" }, /turf/open/floor/wood, @@ -49180,6 +49695,7 @@ /area/station/engineering/supermatter/room) "qrl" = ( /obj/machinery/light/directional/west, +/obj/structure/sign/directions/dorms/right/west_arrow/directional/west, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) "qrs" = ( @@ -49237,7 +49753,6 @@ /area/station/engineering/atmos) "qsm" = ( /obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/poster/official/safety_report/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/science) "qsJ" = ( @@ -49265,6 +49780,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light_switch/directional/east, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "qtb" = ( @@ -49279,10 +49795,14 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/item/stack/medical/gauze, -/obj/item/stack/medical/mesh, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light/cold/directional/north, +/obj/item/stack/medical/gauze{ + pixel_y = 11 + }, +/obj/item/stack/medical/mesh{ + pixel_y = 8 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "qti" = ( @@ -49303,16 +49823,12 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 }, -/obj/structure/sign/departments/cargo{ - pixel_x = -32; - pixel_y = 32 - }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "qtM" = ( -/obj/machinery/shower/directional/north, /obj/structure/curtain, /obj/item/soap/syndie, +/obj/machinery/shower/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/commons/vacant_room) "qtS" = ( @@ -49421,27 +49937,8 @@ }, /turf/open/floor/iron, /area/station/security/prison/work) -"qwn" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 5 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/multitool{ - pixel_x = 8 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "qwq" = ( /obj/structure/table/wood, -/obj/item/radio/intercom, /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 }, @@ -49487,13 +49984,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"qxU" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/vending/tool, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "qxZ" = ( /obj/structure/chair/office, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -49552,10 +50042,22 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 15; + pixel_x = -3 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 15; + pixel_x = -1 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 15; + pixel_x = 1 + }, /turf/open/floor/iron, /area/station/engineering/main) "qyQ" = ( @@ -49600,14 +50102,15 @@ /turf/open/floor/wood/large, /area/station/service/theater) "qzI" = ( -/obj/structure/sign/warning/vacuum/external/directional/south, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 +/obj/structure/ladder, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "middleright_lower_lower_eva_external"; + idInterior = "middleright_lower_lower_eva_internal"; + idSelf = "middleright_lower_lower_eva_airlock_control" }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/turf/open/floor/iron/smooth, +/area/station/maintenance/tram/mid) "qzO" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -49656,12 +50159,6 @@ /obj/machinery/door/window/right/directional/east, /turf/open/floor/iron, /area/station/security/brig) -"qAC" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 10 - }, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "qBg" = ( /turf/open/floor/engine/plasma, /area/station/engineering/atmos) @@ -49689,16 +50186,13 @@ /obj/machinery/firealarm/directional/west{ pixel_y = 5 }, -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_y = 32 - }, /obj/structure/disposalpipe/trunk{ dir = 2 }, /obj/machinery/light_switch/directional/west{ - pixel_x = -23; - pixel_y = -8 + pixel_y = -9 }, +/obj/structure/plaque/static_plaque/golden/captain, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) "qBL" = ( @@ -49733,12 +50227,6 @@ id_tag = "middleleft_lower_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "middleleft_lower_lower_eva_airlock_control"; - idDoor = "middleleft_lower_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49755,7 +50243,6 @@ /area/station/maintenance/port/central) "qCh" = ( /obj/structure/closet/secure_closet/captains, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/light/warm/directional/north, /turf/open/floor/wood, @@ -49804,32 +50291,8 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "qCJ" = ( -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = 28 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - pixel_y = 34 - }, -/obj/structure/sign/directions/engineering{ - dir = 4; - pixel_y = 40 - }, -/obj/structure/sign/directions/upload{ - dir = 4; - pixel_y = 22 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/tram/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/tram/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron, +/obj/structure/sign/directions/security/right/north_arrow/directional/west, +/turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/left) "qCL" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -50007,6 +50470,39 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"qGF" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 15 + }, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 13 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 11 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 9 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 7 + }, +/obj/item/stack/cable_coil, +/obj/item/storage/box/lights/mixed{ + pixel_y = 7; + pixel_x = -4 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_y = 2; + pixel_x = 7 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "qGM" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -50039,12 +50535,6 @@ autoclose = 0 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "rightmost_upper_eva_airlock_control"; - idDoor = "rightmost_upper_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -50068,21 +50558,27 @@ /area/station/commons/dorms) "qHI" = ( /obj/structure/table/reinforced, -/obj/machinery/firealarm/directional/west, -/obj/item/storage/box, +/obj/machinery/firealarm/directional/west{ + pixel_y = 21 + }, +/obj/item/storage/box{ + pixel_x = 2; + pixel_y = 11 + }, /obj/item/hand_labeler{ pixel_y = 8 }, /obj/effect/turf_decal/tile/brown/fourcorners, /obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = 8 + pixel_y = 6 }, /turf/open/floor/iron, /area/station/cargo/sorting) "qHM" = ( /obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_y = 11 + }, /obj/machinery/newscaster/directional/west, /obj/machinery/light/directional/west, /turf/open/floor/iron/grimy, @@ -50107,6 +50603,10 @@ dir = 1 }, /obj/structure/reagent_dispensers/wall/peppertank/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd","Security"); + c_tag = "Medical - Security Checkpoint" + }, /turf/open/floor/iron, /area/station/security/checkpoint/science) "qIc" = ( @@ -50168,6 +50668,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, +/obj/structure/sign/poster/official/cleanliness/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "qIN" = ( @@ -50198,7 +50699,9 @@ dir = 1 }, /obj/machinery/light/cold/directional/north, -/obj/item/storage/box/bandages, +/obj/item/storage/box/bandages{ + pixel_y = 9 + }, /turf/open/floor/iron/white, /area/station/security/medical) "qJY" = ( @@ -50256,18 +50759,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/server) -"qKW" = ( -/obj/structure/table/reinforced, -/obj/machinery/keycard_auth/directional/south, -/obj/item/rcl/pre_loaded, -/obj/machinery/computer/security/telescreen/ce/directional/west, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/item/clipboard, -/obj/item/paper/monitorkey, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "qLD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50307,7 +50798,7 @@ "qMb" = ( /obj/structure/table, /obj/item/exodrone{ - pixel_y = 8 + pixel_y = 14 }, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -50405,16 +50896,15 @@ /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) "qND" = ( -/obj/machinery/camera{ - dir = 6; - c_tag = "Arrivals - North Docking Hall" - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/camera/directional/east{ + c_tag = "Arrivals - North Docking Hall" + }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "qNF" = ( @@ -50505,17 +50995,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/dorms) -"qPQ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/structure/closet/radiation, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/engine/directional/south, -/turf/open/floor/iron, -/area/station/engineering/main) "qPV" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -50523,10 +51002,12 @@ /area/station/ai_monitored/command/storage/eva) "qPX" = ( /obj/structure/table, -/obj/item/analyzer, +/obj/item/analyzer{ + pixel_y = 9 + }, /obj/item/book/manual/wiki/ordnance{ pixel_x = 5; - pixel_y = 1 + pixel_y = 12 }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -50544,7 +51025,9 @@ "qQc" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/table, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = 9 + }, /turf/open/floor/iron/white, /area/station/science/lobby) "qQq" = ( @@ -50553,9 +51036,7 @@ /area/station/maintenance/tram/left) "qQW" = ( /obj/structure/reagent_dispensers/water_cooler, -/obj/structure/sign/flag{ - pixel_y = 32 - }, +/obj/structure/sign/flag, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) "qQX" = ( @@ -50574,7 +51055,7 @@ "qRn" = ( /obj/machinery/vending/assist, /obj/effect/turf_decal/trimline/white/filled/line, -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) "qRp" = ( @@ -50595,7 +51076,9 @@ /area/station/maintenance/tram/mid) "qRK" = ( /obj/structure/table, -/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 11 + }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) "qRO" = ( @@ -50619,15 +51102,15 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "qSs" = ( -/obj/structure/stairs/north, /obj/structure/railing{ dir = 4 }, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) "qSE" = ( /obj/structure/table, -/obj/machinery/computer/security/telescreen/interrogation, +/obj/machinery/computer/security/telescreen/interrogation/table, /turf/open/floor/iron/dark, /area/station/security/interrogation) "qSQ" = ( @@ -50680,14 +51163,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"qTC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "qTI" = ( -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Emitter Room West" +/obj/effect/decal/cleanable/dirt, +/obj/structure/ladder, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "rightmost_lower_upper_eva_external"; + idInterior = "rightmost_lower_upper_eva_internal"; + idSelf = "rightmost_lower_upper_eva_airlock_control" }, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron/smooth, +/area/station/maintenance/tram/right) "qTK" = ( /obj/structure/chair{ dir = 8 @@ -50725,6 +51215,9 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 4 + }, /turf/open/floor/iron/white, /area/station/science/research) "qUB" = ( @@ -50740,10 +51233,14 @@ /turf/open/floor/iron, /area/station/commons/dorms) "qUH" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/stairs/medium{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table, +/turf/open/floor/iron/dark, /area/station/maintenance/central/greater) "qUL" = ( /obj/structure/chair/office/light{ @@ -50769,9 +51266,18 @@ /area/station/medical/storage) "qUX" = ( /obj/effect/spawner/random/structure/table, -/obj/item/paper/pamphlet/radstorm, -/obj/item/paper/pamphlet/radstorm, -/obj/item/paper/pamphlet/radstorm, +/obj/item/paper/pamphlet/radstorm{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/item/paper/pamphlet/radstorm{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/item/paper/pamphlet/radstorm{ + pixel_x = -3; + pixel_y = 2 + }, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) "qUY" = ( @@ -50866,17 +51372,13 @@ autoclose = 0 }, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleright_lower_lower_eva_airlock_control"; - idDoor = "middleright_lower_lower_eva_external" - }, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) "qWN" = ( /obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/service/library) @@ -50943,6 +51445,37 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"qXx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/circuitboard/machine/crystallizer{ + pixel_y = 10 + }, +/obj/item/hfr_box/core{ + pixel_y = 6; + pixel_x = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "qXA" = ( /obj/effect/turf_decal/trimline/brown/filled/corner, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, @@ -50972,9 +51505,17 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 11 + }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) "qYs" = ( @@ -51015,9 +51556,7 @@ /obj/machinery/door/airlock/external{ name = "Escape Airlock" }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 - }, +/obj/structure/sign/warning/vacuum/external, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) "qYV" = ( @@ -51082,12 +51621,13 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe{ + pixel_y = 9 + }, /obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/camera{ - dir = 10; - network = list("ss13","Security"); - c_tag = "Security - Medical Center" +/obj/machinery/camera/directional/south{ + c_tag = "Security - Medical Center"; + network = list("ss13","Security") }, /turf/open/floor/iron/white, /area/station/security/medical) @@ -51158,9 +51698,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 }, -/obj/structure/sign/departments/restroom{ - pixel_x = -32 - }, +/obj/structure/sign/departments/restroom/directional/west, /turf/open/floor/iron, /area/station/commons/dorms) "raY" = ( @@ -51182,6 +51720,13 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"rbf" = ( +/obj/structure/table, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "rbn" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -51217,6 +51762,7 @@ /obj/effect/turf_decal/bot, /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "rbD" = ( @@ -51345,8 +51891,12 @@ /area/station/security/processing) "rdJ" = ( /obj/structure/table/glass, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, +/obj/item/stack/medical/mesh{ + pixel_y = 11 + }, +/obj/item/stack/medical/gauze{ + pixel_y = 10 + }, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, @@ -51403,15 +51953,12 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "rem" = ( -/obj/machinery/button/door/directional/west{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ + pixel_y = 0; name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_e"; - specialfunctions = 4; - normaldoorcontrol = 1 + id = "private_e" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/commons/dorms) "reC" = ( @@ -51436,9 +51983,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/obj/machinery/light/small/directional/south{ - dir = 4 - }, +/obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) "rfQ" = ( @@ -51453,11 +51998,18 @@ /area/station/engineering/atmos/pumproom) "rfR" = ( /obj/structure/table/wood, -/obj/item/storage/crayons, -/obj/item/toy/crayon/spraycan, +/obj/item/storage/crayons{ + pixel_y = 11 + }, /obj/item/toy/crayon/spraycan{ - pixel_x = -4 + pixel_y = 14 }, +/obj/item/toy/crayon/spraycan{ + pixel_x = -4; + pixel_y = 12 + }, +/obj/structure/sign/calendar, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "rfU" = ( @@ -51529,9 +52081,21 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "rhd" = ( -/obj/machinery/digital_clock, -/turf/closed/wall, -/area/station/medical/treatment_center) +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/storage/box/syringes{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/storage/box/beakers{ + pixel_x = 3; + pixel_y = 17 + }, +/obj/structure/reagent_dispensers/wall/virusfood/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/virology) "rht" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -51643,7 +52207,10 @@ /area/station/command/heads_quarters/qm) "riN" = ( /obj/structure/table, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_y = 6; + pixel_x = 8 + }, /obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -9; pixel_y = 12 @@ -51676,10 +52243,11 @@ /turf/open/floor/iron, /area/station/command/bridge) "rjs" = ( -/obj/machinery/medical_kiosk, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/medical_kiosk, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "rjw" = ( @@ -51727,15 +52295,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/command/gateway) -"rkq" = ( -/obj/structure/table, -/obj/item/flashlight{ - pixel_x = 9; - pixel_y = 13 - }, -/obj/item/storage/belt/utility, -/turf/open/floor/iron/smooth, -/area/station/commons/storage/primary) "rks" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -51814,6 +52373,7 @@ c_tag = "Hallway - Starboard Tram Platform North" }, /obj/machinery/light/directional/west, +/obj/structure/sign/directions/command/right/west_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) "rmi" = ( @@ -51840,16 +52400,17 @@ /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) "rmB" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) "rmH" = ( -/obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 }, +/obj/structure/sign/departments/science/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "rmI" = ( @@ -51862,10 +52423,7 @@ /area/station/tcommsat/server) "rna" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8; - pixel_y = 23 - }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "rnd" = ( @@ -51928,7 +52486,9 @@ /obj/structure/bookcase{ name = "Forbidden Knowledge" }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/engine/cult, /area/station/service/library) "rnL" = ( @@ -51939,6 +52499,10 @@ "rnR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/access_button/directional/north{ + idDoor = "mostleft_lower_eva_internal"; + idSelf = "mostleft_lower_eva_airlock_control" + }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) "rnY" = ( @@ -51972,8 +52536,9 @@ /area/station/cargo/storage) "rom" = ( /obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/effect/spawner/random/entertainment/lighter, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_y = 7 + }, /obj/machinery/light/warm/directional/south, /turf/open/floor/iron/dark, /area/station/service/bar) @@ -51988,6 +52553,7 @@ dir = 8 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/railing/corner/end/flip, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "roB" = ( @@ -52013,12 +52579,6 @@ id_tag = "middleright_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleright_lower_eva_airlock_control"; - idDoor = "middleright_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) @@ -52042,17 +52602,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"rpp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Tunnel Access Hatch" - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/central) "rpq" = ( /obj/structure/railing{ dir = 4 @@ -52132,10 +52681,18 @@ "rro" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks{ - dir = 8 + dir = 8; + pixel_y = 9 }, /turf/open/floor/iron/dark, /area/station/service/bar) +"rrz" = ( +/obj/machinery/computer/security/telescreen/cmo/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "rrE" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -52177,8 +52734,8 @@ "rsk" = ( /mob/living/basic/pet/cat/runtime, /obj/structure/bed/dogbed/runtime, -/obj/structure/sign/clock/directional/north, /obj/machinery/light/cold/directional/north, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "rsz" = ( @@ -52188,15 +52745,13 @@ /turf/open/floor/iron, /area/station/engineering/break_room) "rsH" = ( -/obj/structure/sign/warning/radiation/rad_area{ - pixel_y = 32 - }, /obj/effect/turf_decal/siding/wideplating{ dir = 10 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/structure/sign/warning/radiation, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) "rsZ" = ( @@ -52216,35 +52771,30 @@ "run" = ( /turf/closed/wall/r_wall, /area/station/security/medical) -"ruo" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "rup" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, /obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, -/obj/item/wrench, -/obj/item/assembly/signaler, +/obj/item/storage/toolbox/emergency{ + pixel_y = 9 + }, +/obj/item/wrench{ + pixel_y = 8 + }, +/obj/item/assembly/signaler{ + pixel_y = 13 + }, /obj/machinery/airalarm/directional/east, +/obj/machinery/firealarm/directional/east{ + pixel_y = 5 + }, /turf/open/floor/iron, /area/station/command/bridge) "ruy" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/structure/sign/warning/secure_area{ - pixel_x = -32 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/office) +/obj/structure/sign/plaques/kiddie/perfect_drone, +/turf/open/floor/carpet, +/area/station/command/meeting_room) "ruA" = ( /obj/structure/railing{ dir = 1 @@ -52277,9 +52827,12 @@ /area/station/command/heads_quarters/hop) "ruW" = ( /obj/structure/table/wood, -/obj/item/soulstone/anybody/chaplain, +/obj/item/soulstone/anybody/chaplain{ + pixel_y = 11 + }, /obj/item/book/granter/action/spell/smoke/lesser{ - name = "concentrated kush" + name = "concentrated kush"; + pixel_y = 9 }, /turf/open/floor/cult, /area/station/service/chapel/office) @@ -52299,6 +52852,10 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engineering"); + c_tag = "Engineering - SMES Misc" + }, /turf/open/floor/iron, /area/station/engineering/engine_smes) "rvA" = ( @@ -52335,14 +52892,24 @@ "rws" = ( /obj/structure/table/glass, /obj/item/storage/box/monkeycubes{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 9 }, /obj/item/reagent_containers/spray/cleaner{ - pixel_x = 9 + pixel_x = 9; + pixel_y = 11 }, /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/white, /area/station/science/genetics) +"rwx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "rwF" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/dark_red/warning{ @@ -52516,13 +53083,13 @@ /turf/open/floor/glass/reinforced, /area/station/security/brig) "rAf" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics N2 Chamber" +/obj/structure/table, +/obj/item/razor{ + pixel_x = 9; + pixel_y = 4 }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) +/turf/open/floor/iron/freezer, +/area/station/science/lower) "rAg" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Mix to Port" @@ -52558,7 +53125,9 @@ name = "Kitchen Counter Shutters"; id = "playerscantreadthis" }, -/obj/item/plate, +/obj/item/plate{ + pixel_y = 10 + }, /turf/open/floor/iron/checker, /area/station/service/kitchen) "rBz" = ( @@ -52600,12 +53169,6 @@ id_tag = "middleleft_lower_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleleft_lower_lower_eva_airlock_control"; - idDoor = "middleleft_lower_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) @@ -52676,9 +53239,6 @@ dir = 9 }, /obj/machinery/status_display/ai/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - Service Wing Left Upper Hall" - }, /turf/open/floor/iron, /area/station/hallway/secondary/service) "rEd" = ( @@ -52701,6 +53261,16 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"rEf" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Arrivals - Central Hall" + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "rEq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52735,13 +53305,20 @@ /area/station/hallway/primary/tram/right) "rEQ" = ( /obj/structure/table, -/obj/item/plant_analyzer, +/obj/item/plant_analyzer{ + pixel_y = 9 + }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) "rEV" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"rFT" = ( +/mob/living/carbon/human/species/monkey, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "rGj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, @@ -52773,7 +53350,8 @@ dir = 4 }, /obj/item/storage/toolbox/electrical{ - pixel_y = 5 + pixel_y = -1; + pixel_x = 1 }, /turf/open/floor/iron, /area/station/engineering/main) @@ -52858,8 +53436,7 @@ dir = 8 }, /obj/structure/table, -/obj/machinery/camera{ - dir = 9; +/obj/machinery/camera/directional/north{ network = list("ss13","minisat"); c_tag = "Secure - AI Minisat Internal Power Access" }, @@ -52883,8 +53460,9 @@ /area/station/commons/dorms) "rIT" = ( /obj/structure/table/wood, -/obj/effect/spawner/random/decoration/ornament, -/obj/structure/sign/clock/directional/east, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 12 + }, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) "rJD" = ( @@ -52939,22 +53517,12 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "rKr" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/gym/mirrored{ + pixel_y = 32 }, -/obj/structure/sign/clock/directional/north, /turf/open/floor/iron, -/area/station/security/prison) -"rKD" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/storage/toolbox/electrical{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/station/science/explab) +/area/station/commons/fitness) "rKL" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53041,7 +53609,6 @@ /obj/machinery/power/apc/auto_name/directional/east{ areastring = "/area/station/science/ordnance/burnchamber" }, -/obj/structure/sign/warning/hot_temp/directional/south, /turf/open/floor/iron/white, /area/station/science/ordnance) "rLP" = ( @@ -53116,21 +53683,19 @@ dir = 1 }, /obj/structure/cable, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Pre-Trial Holding" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/cold/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Pre-Trial Holding"; + network = list("ss13","Security") + }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "rNl" = ( /obj/machinery/stasis{ dir = 4 }, -/obj/machinery/defibrillator_mount/directional/north, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, @@ -53138,13 +53703,17 @@ network = list("ss13","medbay"); c_tag = "Medical - Treatment North-West" }, +/obj/machinery/defibrillator_mount/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "rNt" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 }, -/obj/machinery/vending/wardrobe/viro_wardrobe, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 10 + }, /turf/open/floor/iron/dark, /area/station/medical/virology) "rNG" = ( @@ -53167,15 +53736,22 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/clothing/glasses/welding, -/obj/item/wrench, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 10 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 9 + }, +/obj/item/wrench{ + pixel_y = 10 + }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, /obj/item/radio/intercom/directional/south, /obj/item/stack/sheet/glass{ - amount = 20 + amount = 20; + pixel_y = 11 }, /turf/open/floor/iron, /area/station/science/lab) @@ -53241,6 +53817,7 @@ /obj/item/stack/cable_coil/five, /obj/item/storage/toolbox/electrical, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) "rOT" = ( @@ -53264,10 +53841,25 @@ /turf/open/floor/engine/cult, /area/station/service/library) "rPd" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron/dark, -/area/station/security/courtroom/holding) +/obj/machinery/firealarm/directional/west{ + pixel_y = 3 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 9 + }, +/obj/item/pen{ + pixel_y = 11 + }, +/obj/machinery/light_switch/directional/west{ + pixel_x = -23; + pixel_y = -8 + }, +/turf/open/floor/iron, +/area/station/security/processing) "rPj" = ( /obj/effect/turf_decal/box/white{ color = "#9FED58" @@ -53286,15 +53878,14 @@ /turf/open/floor/iron/freezer, /area/station/commons/toilet) "rPt" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 9; - c_tag = "Civilian - aux_base Construction" +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/service/library) "rPv" = ( /obj/machinery/light/small/dim/directional/south, /turf/open/floor/engine, @@ -53327,6 +53918,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/chapel) +"rQe" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/door_buttons/access_button/directional/east{ + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control" + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "rQg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -53412,6 +54013,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "rRc" = ( @@ -53434,10 +54038,9 @@ /area/station/security/courtroom) "rRi" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Test Room" +/obj/machinery/camera/emp_proof/directional/north{ + c_tag = "Engineering - Atmospherics Test Room"; + network = list("ss13","engineering") }, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) @@ -53462,22 +54065,32 @@ /area/station/hallway/primary/tram/left) "rSa" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, /obj/item/storage/box/syringes{ - pixel_y = 4 + pixel_y = 8 }, -/obj/item/storage/box/syringes, -/obj/item/mod/module/plasma_stabilizer, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Medical Storage"; - req_access = list("medical") +/obj/item/storage/box/syringes{ + pixel_y = 8 + }, +/obj/item/mod/module/plasma_stabilizer{ + pixel_y = 12 }, /obj/effect/turf_decal/siding/white{ dir = 8 }, -/obj/item/mod/module/signlang_radio, -/obj/item/mod/module/thermal_regulator, -/obj/item/gun/syringe, +/obj/item/mod/module/signlang_radio{ + pixel_y = 4 + }, +/obj/item/mod/module/thermal_regulator{ + pixel_y = 8 + }, +/obj/item/gun/syringe{ + pixel_y = 8 + }, +/obj/machinery/door/window/half/left/directional/west{ + name = "Secure Medical Storage"; + req_access = list("medical") + }, +/obj/structure/window/reinforced/half, /turf/open/floor/iron/dark, /area/station/medical/storage) "rSb" = ( @@ -53561,13 +54174,11 @@ /turf/open/floor/iron/white, /area/station/commons/vacant_room) "rTm" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_x = 32 - }, /obj/machinery/computer/security/labor, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/security/processing) "rTn" = ( @@ -53586,24 +54197,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rUd" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigright" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_right" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) "rUe" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -53633,7 +54226,7 @@ /turf/open/floor/iron, /area/station/science/explab) "rUQ" = ( -/obj/structure/window/reinforced/fulltile, +/obj/structure/window/fulltile, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) "rUR" = ( @@ -53775,7 +54368,9 @@ /obj/structure/bodycontainer/morgue{ dir = 2 }, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) "rYq" = ( @@ -53785,28 +54380,27 @@ /area/station/security/prison) "rYw" = ( /obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/south, /obj/item/storage/medkit/toxin{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, -/obj/item/storage/medkit/toxin, /obj/item/storage/medkit/toxin{ - pixel_x = -3; - pixel_y = -3 + pixel_y = 6 }, -/obj/machinery/door/window/right/directional/east{ - name = "Secure Medical Storage"; - req_access = list("medical") +/obj/item/storage/medkit/toxin{ + pixel_x = -3; + pixel_y = 1 }, /obj/effect/turf_decal/siding/white{ dir = 4 }, +/obj/machinery/door/window/half/right/directional/east{ + name = "Secure Medical Storage"; + req_access = list("medical") + }, +/obj/structure/window/reinforced/half, /turf/open/floor/iron/dark, /area/station/medical/storage) -"rYE" = ( -/turf/open/floor/plating/airless, -/area/space/nearstation) "rYL" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -53830,7 +54424,7 @@ dir = 6 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/airalarm/directional/west, +/obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plating, /area/station/commons/vacant_room) "rYW" = ( @@ -53855,12 +54449,11 @@ name = "Gas to Filter"; dir = 1 }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room Airlock" - }, /obj/machinery/light/small/directional/west, +/obj/machinery/camera/emp_proof/directional/south{ + c_tag = "Engineering - Engine Room Airlock"; + network = list("ss13","engine","engineering") + }, /turf/open/floor/engine, /area/station/engineering/supermatter) "rZA" = ( @@ -53965,10 +54558,12 @@ /obj/structure/window/reinforced/spawner/directional/west{ pixel_y = 2 }, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 14 + }, /obj/structure/window/reinforced/spawner/directional/south{ pixel_y = 2 }, -/obj/effect/spawner/random/decoration/ornament, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) "sbs" = ( @@ -54010,7 +54605,7 @@ /obj/structure/table/reinforced, /obj/structure/window/spawner/directional/north, /obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 + pixel_y = 18 }, /obj/machinery/light/warm/directional/west, /turf/open/floor/iron/dark, @@ -54043,6 +54638,8 @@ "scT" = ( /obj/structure/table, /obj/machinery/microwave, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/service/kitchen) "scZ" = ( @@ -54074,12 +54671,10 @@ /turf/open/floor/wood, /area/station/service/theater) "sdC" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/sign/gym/right{ + pixel_y = 32 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/commons/fitness) "sdK" = ( @@ -54110,6 +54705,10 @@ "seG" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/access_button/directional/west{ + idSelf = "middleleft_upper_eva_airlock_control"; + idDoor = "middleleft_upper_eva_internal" + }, /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/center) "seN" = ( @@ -54292,11 +54891,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/machinery/camera/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medical - Surgery B" - }, -/obj/machinery/vending/wallmed/directional/north, /obj/structure/disposalpipe/trunk{ dir = 2 }, @@ -54304,6 +54898,7 @@ pixel_x = 22; pixel_y = -9 }, +/obj/machinery/newscaster/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "siF" = ( @@ -54325,12 +54920,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lower) -"siX" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/airless, -/area/space/nearstation) "siZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54369,10 +54958,14 @@ /obj/effect/turf_decal/stripes/line, /obj/item/storage/box/gloves{ pixel_x = 3; - pixel_y = 3 + pixel_y = 12 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 9 + }, +/obj/item/healthanalyzer{ + pixel_y = 12 }, -/obj/item/storage/box/bodybags, -/obj/item/healthanalyzer, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, @@ -54518,6 +55111,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/prison/garden) +"slq" = ( +/obj/structure/rack, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "slr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/railing, @@ -54607,7 +55207,9 @@ /area/station/service/hydroponics) "smV" = ( /obj/structure/table, -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 8 + }, /obj/item/radio/intercom/prison/directional/south, /obj/machinery/camera/directional/south{ network = list("ss13","Security","prison"); @@ -54722,7 +55324,8 @@ id = "playerscantreadthis" }, /obj/structure/desk_bell{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 4 }, /turf/open/floor/iron/checker, /area/station/service/kitchen) @@ -54751,7 +55354,9 @@ "sqc" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/spawner/random/armory/rubbershot, +/obj/effect/spawner/random/armory/rubbershot{ + pixel_y = 8 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "sql" = ( @@ -54841,7 +55446,7 @@ /area/station/engineering/main) "srd" = ( /obj/machinery/computer/cargo/request, -/obj/structure/sign/calendar/directional/north, +/obj/structure/sign/calendar, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) "srz" = ( @@ -54926,8 +55531,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light_switch/directional/east{ - pixel_x = 22; - pixel_y = -9 + pixel_y = -3 }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -54987,13 +55591,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"stg" = ( -/obj/structure/table/wood, -/obj/structure/sign/flag/nanotrasen/directional/north, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/crap, -/turf/open/floor/wood, -/area/station/command/meeting_room) "stk" = ( /turf/open/floor/iron/smooth, /area/station/maintenance/department/science) @@ -55074,16 +55671,25 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 }, -/obj/machinery/button/door/directional/south{ - name = "Security Mech Garage Door Controls"; - id = "secmechbay"; - req_access = list("security") - }, /turf/open/floor/iron, /area/station/security/brig) "sud" = ( /obj/structure/table, -/obj/item/food/cakeslice/birthday, +/obj/item/plate{ + pixel_y = 11 + }, +/obj/item/kitchen/fork/plastic{ + pixel_y = 11; + pixel_x = -11 + }, +/obj/item/knife/plastic{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/toy/balloon_animal/lizard{ + pixel_y = 16; + name = "The-Airheaded-One" + }, /turf/open/floor/eighties/red, /area/station/commons/fitness/recreation/entertainment) "sue" = ( @@ -55121,6 +55727,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"suE" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 9 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "suG" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 10 @@ -55146,7 +55761,8 @@ }, /obj/machinery/fax{ name = "Chief Engineer's Fax Machine"; - fax_name = "Chief Engineer's Office" + fax_name = "Chief Engineer's Office"; + pixel_y = 11 }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) @@ -55262,6 +55878,11 @@ dir = 1 }, /obj/effect/landmark/start/cyborg, +/obj/machinery/turretid/directional/south{ + pixel_y = 30; + name = "AI Upload Turret Control"; + control_area = "/area/station/ai_monitored/turret_protected/ai_upload" + }, /turf/open/floor/iron/dark, /area/station/science/lower) "sxn" = ( @@ -55331,7 +55952,9 @@ /area/station/science/robotics/lab) "syR" = ( /obj/structure/table, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 11 + }, /turf/open/floor/carpet, /area/station/cargo/miningdock) "syX" = ( @@ -55349,6 +55972,7 @@ dir = 4 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/structure/sign/warning/electric_shock, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) "szb" = ( @@ -55375,11 +55999,6 @@ /turf/open/floor/carpet, /area/station/commons/dorms) "szq" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Emitter Room East" - }, /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) @@ -55486,7 +56105,8 @@ /obj/item/radio/intercom/directional/south, /obj/machinery/fax{ name = "Detective's Fax Machine"; - fax_name = "Detective's Office" + fax_name = "Detective's Office"; + pixel_y = 11 }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) @@ -55518,6 +56138,7 @@ /turf/open/floor/iron, /area/station/hallway/secondary/service) "sDF" = ( +/obj/structure/tall_stairs/start/directional/west, /turf/open/floor/iron/stairs/right{ dir = 4 }, @@ -55550,6 +56171,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/brig) +"sDP" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 13; + pixel_x = 1 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 1; + pixel_y = 12 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "sDY" = ( /obj/structure/railing{ dir = 1 @@ -55663,11 +56296,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/cargo/miningdock) -"sGF" = ( -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt - }, -/area/station/science/explab) "sGG" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -55799,7 +56427,9 @@ /area/station/hallway/primary/tram/center) "sIq" = ( /obj/structure/table/glass, -/obj/item/wrench/medical, +/obj/item/wrench/medical{ + pixel_y = 9 + }, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) "sIx" = ( @@ -55850,8 +56480,12 @@ dir = 8 }, /obj/machinery/newscaster/directional/east, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, +/obj/item/stack/package_wrap{ + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = 11 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) @@ -55861,8 +56495,14 @@ "sKl" = ( /obj/structure/closet/secure_closet/chief_medical, /obj/effect/turf_decal/bot, -/obj/machinery/newscaster/directional/west, /obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/requests_console/directional/west{ + department = "Chief Medical Officer's Console"; + name = "Chief Medical Officer's Request Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "sKp" = ( @@ -55880,9 +56520,7 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/greater) "sKA" = ( -/obj/structure/sign/plaques/kiddie{ - pixel_y = -32 - }, +/obj/machinery/airalarm/directional/south, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) "sKC" = ( @@ -55925,6 +56563,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"sLg" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "sLi" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -55934,16 +56580,6 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/station/solars/starboard/fore) -"sLp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/item/kirbyplants/random, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "sLz" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -55986,7 +56622,8 @@ /obj/machinery/conveyor_switch/oneway{ name = "Shipment Delivery Chute Activator"; pixel_x = -11; - id = "engineeringchute" + id = "engineeringchute"; + pixel_y = 15 }, /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, @@ -56098,6 +56735,7 @@ "sOq" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/machinery/status_display/ai/directional/west, +/obj/machinery/digital_clock, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) "sOr" = ( @@ -56113,30 +56751,8 @@ /turf/open/floor/iron, /area/station/engineering/main) "sOD" = ( -/obj/structure/sign/directions/supply{ - dir = 4; - pixel_y = -28 - }, -/obj/structure/sign/directions/security{ - dir = 8; - pixel_y = -34 - }, -/obj/structure/sign/directions/command{ - dir = 8; - pixel_y = -40 - }, -/obj/structure/sign/directions/vault{ - dir = 8; - pixel_y = -22 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/tram/filled/line, -/obj/effect/turf_decal/trimline/tram/filled/warning, -/turf/open/floor/iron, +/obj/structure/sign/directions/medical/left/south_arrow/directional/east, +/turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) "sOI" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -56173,15 +56789,24 @@ /area/station/hallway/secondary/service) "sPv" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = -8; - pixel_y = -24 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/structure/table/reinforced, +/obj/machinery/button/ignition/incinerator/atmos/table{ + pixel_y = 10; + pixel_x = -6; + name = "combustion chamber ignition switch" }, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_x = -8; - pixel_y = -36 +/obj/machinery/button/door/incinerator_vent_atmos_aux/table{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/machinery/button/door/incinerator_vent_atmos_main/table{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/machinery/airlock_controller/incinerator_atmos{ + pixel_y = 23 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "sPw" = ( @@ -56211,7 +56836,9 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 }, -/obj/structure/sign/clock/directional/east, +/obj/machinery/light_switch/directional/east{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/science/robotics/lab) "sPK" = ( @@ -56235,6 +56862,16 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"sQq" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/security/office) "sQJ" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -56259,6 +56896,15 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"sRn" = ( +/obj/machinery/smartfridge/drying, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Kitchen East" + }, +/turf/open/floor/iron/white/side{ + dir = 8 + }, +/area/station/service/kitchen) "sRA" = ( /obj/structure/chair/sofa/corp/left, /turf/open/floor/wood/large, @@ -56378,16 +57024,16 @@ /area/station/engineering/atmospherics_engine) "sTz" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/directional/north{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, /obj/machinery/door/window/left/directional/west{ name = "Hydroponics Delivery Chute" }, /obj/effect/turf_decal/caution/stand_clear{ dir = 8 }, +/obj/structure/sign/warning/directional{ + desc = "A sign warning you to be cautious of falling packages."; + name = "FALLING HAZARD sign" + }, /turf/open/floor/plating, /area/station/service/hydroponics) "sTE" = ( @@ -56500,7 +57146,9 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) "sVs" = ( -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) @@ -56542,6 +57190,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, +/obj/machinery/status_display/shuttle, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "sWF" = ( @@ -56576,17 +57225,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/bridge) -"sWY" = ( -/obj/machinery/computer/communications{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/north{ - pixel_x = 26 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/item/radio/intercom/command/directional/east, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "sXa" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -56627,18 +57265,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"sXV" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/rack, -/obj/machinery/light_switch/directional/south{ - pixel_x = 13 - }, -/obj/item/crowbar, -/obj/item/weldingtool, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "sXW" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Office" @@ -56672,7 +57298,9 @@ /area/station/hallway/secondary/entry) "sYl" = ( /obj/structure/table, -/obj/structure/mirror/directional/east, +/obj/structure/mirror{ + pixel_y = 6 + }, /turf/open/floor/wood/large, /area/station/service/barber) "sYz" = ( @@ -56846,8 +57474,12 @@ "tbK" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/aicard, -/obj/item/circuitboard/aicore, +/obj/item/aicard{ + pixel_y = 7 + }, +/obj/item/circuitboard/aicore{ + pixel_y = 8 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -56855,14 +57487,28 @@ /area/station/command/heads_quarters/rd) "tcq" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -5; + pixel_y = 13 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -5; + pixel_y = 13 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_x = -5; + pixel_y = 13 + }, /obj/item/stack/sheet/plasteel{ - amount = 15 + amount = 15; + pixel_x = -3; + pixel_y = 13 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 4; + pixel_y = 13 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "tcr" = ( @@ -56871,7 +57517,6 @@ /area/station/hallway/primary/tram/left) "tcs" = ( /obj/structure/table, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/item/kitchen/fork{ @@ -56882,6 +57527,7 @@ pixel_x = -2; pixel_y = 7 }, +/obj/machinery/computer/security/telescreen/entertainment/directional/west, /turf/open/floor/iron/checker, /area/station/commons/lounge) "tcD" = ( @@ -56892,8 +57538,19 @@ pixel_y = 5 }, /obj/structure/rack, +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Emitter Room West" + }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"tcH" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/netpod, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "tcO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -56926,16 +57583,15 @@ /area/station/engineering/break_room) "tdu" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "mostleft_upper_eva_airlock_control"; - idInterior = "mostleft_upper_eva_internal"; - idExterior = "mostleft_upper_eva_external" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "mostleft_upper_eva_external"; + idInterior = "mostleft_upper_eva_internal"; + idSelf = "mostleft_upper_eva_airlock_control"; + pixel_x = -8 + }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) "tdx" = ( @@ -56948,12 +57604,14 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"tdY" = ( -/obj/structure/flora/bush/jungle/c/style_random, -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt +"tdW" = ( +/obj/structure/chair/office{ + dir = 1 }, -/area/station/science/explab) +/obj/effect/landmark/start/lawyer, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/station/service/lawoffice) "tdZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -57078,10 +57736,10 @@ /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "tgh" = ( -/obj/structure/sign/calendar/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) "tgj" = ( @@ -57096,20 +57754,17 @@ /obj/structure/toilet{ pixel_y = 13 }, -/obj/structure/mirror/directional/east, /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison) "tgE" = ( -/obj/machinery/camera{ - dir = 10; - network = list("ss13","medbay"); - c_tag = "Medical - Central North-West" - }, /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/stripes/white/line{ dir = 1 }, +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Central Tram Platform South-West" + }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "tgN" = ( @@ -57157,16 +57812,18 @@ /turf/open/floor/iron, /area/station/security/prison) "thR" = ( -/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/sign/poster/official/random, /turf/open/floor/wood/large, /area/station/service/barber) "tia" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/item/folder/yellow, +/obj/item/folder/yellow{ + pixel_y = 12 + }, /obj/item/clothing/ears/earmuffs{ pixel_x = -3; - pixel_y = -2 + pixel_y = 12 }, /obj/machinery/light/directional/south, /turf/open/floor/iron, @@ -57226,11 +57883,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/machinery/requests_console/directional/south{ - name = "Bridge Requests Console"; - pixel_y = 30; - department = "Bridge" - }, /obj/effect/mapping_helpers/requests_console/announcement, /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, @@ -57240,10 +57892,12 @@ /obj/structure/disposalpipe/junction{ dir = 4 }, +/obj/machinery/requests_console/directional/north, /turf/open/floor/iron, /area/station/command/bridge) "tjl" = ( /obj/machinery/light/directional/west, +/obj/structure/sign/directions/medical/right/west_arrow/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) "tjz" = ( @@ -57326,19 +57980,6 @@ /turf/open/floor/iron/smooth, /area/station/hallway/primary/tram/left) "tkH" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = 3 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light_switch/directional/west{ - pixel_x = -23; - pixel_y = -8 - }, /turf/open/floor/iron, /area/station/security/processing) "tkP" = ( @@ -57386,6 +58027,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"tlL" = ( +/obj/machinery/duct, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "tlP" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -57401,6 +58052,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"tlX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/ladder, +/obj/machinery/door_buttons/access_button/directional/west{ + idSelf = "rightmost_lower_eva_airlock_control"; + idDoor = "rightmost_lower_eva_internal" + }, +/turf/open/floor/iron/smooth, +/area/station/hallway/primary/tram/right) "tlY" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 @@ -57537,9 +58197,15 @@ /area/station/commons/dorms) "toB" = ( /obj/structure/table, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/mod/module/signlang_radio, -/obj/item/mod/module/thermal_regulator, +/obj/item/mod/module/plasma_stabilizer{ + pixel_y = 10 + }, +/obj/item/mod/module/signlang_radio{ + pixel_y = 9 + }, +/obj/item/mod/module/thermal_regulator{ + pixel_y = 10 + }, /turf/open/floor/iron, /area/station/security/office) "toT" = ( @@ -57553,7 +58219,8 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /obj/machinery/fax{ name = "Head of Security's Fax Machine"; - fax_name = "Head of Security's Office" + fax_name = "Head of Security's Office"; + pixel_y = 10 }, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) @@ -57684,11 +58351,7 @@ /turf/open/floor/iron/dark, /area/station/science/robotics/lab) "try" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "trK" = ( @@ -57813,10 +58476,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"ttj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "tto" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/trimline/green/line{ @@ -57833,12 +58492,17 @@ "ttw" = ( /obj/structure/table/glass, /obj/item/folder/red{ - pixel_x = 3 + pixel_x = 7; + pixel_y = 13 }, /obj/item/taperecorder{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 11 + }, +/obj/item/tape{ + pixel_y = 4; + pixel_x = 3 }, -/obj/structure/sign/poster/official/obey/directional/south, /turf/open/floor/iron/white, /area/station/security/execution/education) "ttA" = ( @@ -57851,18 +58515,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"ttS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/closet/crate/preopen, -/obj/item/stock_parts/power_store/cell/empty, -/obj/effect/spawner/random/engineering/flashlight, -/obj/structure/sign/departments/exodrone/directional/east, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "tuf" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table, @@ -57956,7 +58608,6 @@ /area/station/commons/dorms) "twr" = ( /obj/machinery/disposal/bin, -/obj/structure/sign/clock/directional/east, /obj/structure/disposalpipe/trunk{ dir = 8 }, @@ -57970,21 +58621,15 @@ /turf/open/openspace, /area/station/hallway/secondary/entry) "twF" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = -32; - spawn_loot_chance = 50 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 1 +/obj/structure/chair/stool/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + pixel_x = -9; + name = "Privacy Bolts"; + id = "private_r" }, -/turf/open/floor/iron, -/area/station/maintenance/tram/left) +/turf/open/floor/carpet, +/area/station/commons/dorms) "twH" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -58016,7 +58661,9 @@ /area/station/engineering/supermatter/room) "twS" = ( /obj/structure/table/glass, -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 10 + }, /obj/structure/sign/clock/directional/east, /obj/machinery/firealarm/directional/north{ pixel_x = 2 @@ -58024,8 +58671,8 @@ /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) "txh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /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/medical/virology) "txl" = ( @@ -58039,13 +58686,18 @@ dir = 8 }, /obj/machinery/light/directional/west, +/obj/structure/sign/directions/dorms/right/west_arrow/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "txD" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/table/glass, -/obj/item/hand_labeler, -/obj/item/pen, +/obj/item/hand_labeler{ + pixel_y = 13 + }, +/obj/item/pen{ + pixel_y = 12 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "txJ" = ( @@ -58079,17 +58731,14 @@ /area/station/science/ordnance/storage) "tyi" = ( /obj/structure/table, -/obj/machinery/button/door{ - name = "Test Chamber Blast Doors"; - pixel_x = 4; - pixel_y = 2; +/obj/machinery/button/door/table{ id = "testlab"; - req_access = list("xenobiology") + name = "Test Chamber Blast Doors"; + pixel_x = 7 }, -/obj/machinery/button/ignition{ - pixel_x = -6; - pixel_y = 2; - id = "testigniter" +/obj/machinery/button/ignition/table{ + id = "testigniter"; + pixel_x = -7 }, /turf/open/floor/iron/dark, /area/station/science/explab) @@ -58183,14 +58832,13 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 }, -/obj/machinery/firealarm/directional/west, /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = 8 +/obj/machinery/door_buttons/access_button/directional/west{ + idDoor = "virology_airlock_interior"; + idSelf = "virology_airlock_control" }, /turf/open/floor/iron/white, /area/station/medical/virology) @@ -58207,6 +58855,10 @@ /area/station/security/brig) "tAs" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, /turf/open/floor/iron, /area/station/commons/fitness) "tAF" = ( @@ -58260,9 +58912,11 @@ }, /obj/item/raw_anomaly_core/random{ pixel_x = -5; + pixel_y = 12 + }, +/obj/item/raw_anomaly_core/random{ pixel_y = 7 }, -/obj/item/raw_anomaly_core/random, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "tBc" = ( @@ -58277,9 +58931,6 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"tBo" = ( -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "tBu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ @@ -58288,12 +58939,6 @@ id_tag = "mostleft_lower_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "mostleft_lower_eva_airlock_control"; - idDoor = "mostleft_lower_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) @@ -58332,8 +58977,8 @@ }, /obj/item/radio/intercom/directional/west, /obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = 3 + pixel_x = 1; + pixel_y = 10 }, /turf/open/floor/iron/white, /area/station/security/medical) @@ -58381,6 +59026,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"tDM" = ( +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = 11; + idDoor = "middleleft_lower_eva_external"; + idSelf = "middleleft_lower_eva_airlock_control" + }, +/turf/open/openspace, +/area/station/hallway/primary/tram/center) "tDP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58390,10 +59044,8 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "tDR" = ( -/obj/structure/table/wood, -/obj/item/storage/briefcase/secure{ - pixel_x = -2; - pixel_y = 6 +/obj/machinery/modular_computer/preset/id{ + dir = 4 }, /obj/structure/cable, /turf/open/floor/wood, @@ -58402,22 +59054,14 @@ /turf/open/openspace, /area/station/commons/fitness/recreation) "tEa" = ( -/obj/structure/table/wood, -/obj/structure/mirror/directional/south, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +/obj/machinery/light/dim/directional/south, +/obj/structure/table/reinforced, +/obj/item/table_clock{ + pixel_y = 8 }, -/turf/open/floor/iron, -/area/station/service/theater) -"tEk" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) +/obj/item/surgery_tray/full/morgue, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "tEl" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -58435,16 +59079,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"tEx" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd","xeno"); - c_tag = "Science - Xenobiology Lower Containment Chamber" - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "tED" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/effect/turf_decal/stripes/white/line, @@ -58471,6 +59105,7 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/supply) "tFb" = ( @@ -58580,11 +59215,22 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 12; + pixel_x = -4 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 12; + pixel_x = -1 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 12; + pixel_x = 2 + }, /obj/item/stack/sheet/plasteel{ - amount = 10 + amount = 10; + pixel_y = 12; + pixel_x = 5 }, /turf/open/floor/iron, /area/station/engineering/main) @@ -58628,15 +59274,15 @@ /obj/structure/table/glass, /obj/item/storage/box/monkeycubes{ pixel_x = -7; - pixel_y = 7 + pixel_y = 11 }, /obj/item/infuser_book{ pixel_x = 5; - pixel_y = 3 + pixel_y = 11 }, /obj/item/storage/pill_bottle/mutadone{ - pixel_x = 9; - pixel_y = 3 + pixel_x = 7; + pixel_y = 7 }, /obj/effect/turf_decal/tile/dark_green/fourcorners, /turf/open/floor/iron/white, @@ -58668,16 +59314,11 @@ /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) "tIT" = ( -/obj/structure/table/wood, -/obj/structure/mirror/directional/south, -/obj/item/lipstick/random{ - pixel_x = -2; - pixel_y = -2 - }, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/closet/secure_closet/freezer/cream_pie, /turf/open/floor/iron, /area/station/service/theater) "tIU" = ( @@ -58711,10 +59352,9 @@ /obj/effect/turf_decal/trimline/tram/filled/warning{ dir = 8 }, -/obj/effect/spawner/random/vending/snackvend{ - pixel_x = -5 - }, /obj/machinery/light/directional/west, +/obj/effect/spawner/random/vending/snackvend, +/obj/structure/sign/directions/supply/right/east_arrow/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "tJh" = ( @@ -58733,20 +59373,19 @@ "tJz" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/structure/table, -/obj/item/clothing/gloves/latex, +/obj/item/clothing/gloves/latex{ + pixel_y = 10 + }, /obj/item/clothing/glasses/science, /turf/open/floor/iron/white, /area/station/science/lobby) "tJB" = ( -/obj/machinery/button/door/directional/west{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/east{ + pixel_y = 0; name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_f"; - specialfunctions = 4; - normaldoorcontrol = 1 + id = "private_f" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/dorms) "tJE" = ( @@ -58782,6 +59421,14 @@ }, /obj/machinery/newscaster/directional/south, /obj/machinery/airalarm/directional/west, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/radio{ + pixel_x = -4; + pixel_y = 12 + }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) "tKa" = ( @@ -58807,6 +59454,7 @@ /area/station/commons/fitness) "tKH" = ( /obj/machinery/suit_storage_unit/captain, +/obj/machinery/digital_clock, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) "tKK" = ( @@ -58857,14 +59505,13 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 }, -/obj/machinery/disposal/bin, -/obj/structure/sign/warning/deathsposal{ - pixel_y = -32 +/obj/structure/bed{ + dir = 4 }, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/item/bedsheet/green{ + dir = 4 }, +/obj/item/pillow/random, /turf/open/floor/iron/dark, /area/station/medical/virology) "tMg" = ( @@ -58872,11 +59519,9 @@ dir = 1 }, /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/structure/sign/warning/chem_diamond{ - pixel_x = 32 - }, /obj/structure/chair/office/light, /obj/effect/landmark/start/chemist, +/obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/medical/chemistry) "tMw" = ( @@ -58921,6 +59566,7 @@ /turf/open/space/openspace, /area/station/solars/port) "tMY" = ( +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/cargo/miningdock) "tNk" = ( @@ -59023,7 +59669,9 @@ /area/station/hallway/primary/tram/center) "tPb" = ( /obj/structure/table, -/obj/item/storage/dice, +/obj/item/storage/dice{ + pixel_y = 10 + }, /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59035,6 +59683,11 @@ /obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) +"tPw" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/vending/wardrobe/law_wardrobe, +/turf/open/floor/wood, +/area/station/service/lawoffice) "tPz" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/cable, @@ -59047,7 +59700,8 @@ dir = 8 }, /obj/machinery/ecto_sniffer{ - pixel_x = -4 + pixel_x = -5; + pixel_y = 6 }, /obj/item/assembly/flash/handheld{ pixel_x = 6; @@ -59118,18 +59772,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"tRn" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Civilian - Recreational Area North-West" - }, -/obj/item/toy/plush/lizard_plushie/space/green, -/obj/machinery/incident_display/tram/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation) "tRo" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -59153,18 +59795,17 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "tRU" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/commons/dorms) "tRV" = ( /obj/machinery/firealarm/directional/east{ - pixel_y = -5 + pixel_y = 0 }, /obj/machinery/light_switch/directional/east{ - pixel_x = 23; - pixel_y = 8 + pixel_y = 10 }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) @@ -59189,6 +59830,7 @@ /area/station/maintenance/tram/right) "tSc" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/bar) "tSe" = ( @@ -59218,13 +59860,20 @@ /area/station/science/lobby) "tSz" = ( /obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/item/flashlight, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 21 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser{ + pixel_y = 14 + }, /obj/machinery/light/directional/north, +/obj/item/flashlight{ + pixel_y = 11; + pixel_x = 2 + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "tTc" = ( @@ -59298,10 +59947,10 @@ /obj/machinery/duct, /obj/structure/cable, /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "tTW" = ( @@ -59310,6 +59959,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"tUj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "tUy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59335,7 +59989,6 @@ /obj/effect/spawner/random/bedsheet{ dir = 4 }, -/obj/structure/sign/clock/directional/west, /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) @@ -59370,6 +60023,13 @@ /obj/machinery/light/directional/south, /turf/open/floor/grass, /area/station/service/hydroponics/garden) +"tVS" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "tWb" = ( /obj/machinery/camera/directional/east{ c_tag = "Civilian - Theatre Stage" @@ -59384,7 +60044,7 @@ /obj/machinery/camera/directional/north{ c_tag = "Civilian - Recreational Area North-East" }, -/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "tWn" = ( @@ -59568,7 +60228,9 @@ /area/station/maintenance/port/central) "tYX" = ( /obj/structure/table, -/obj/item/toy/cards/deck, +/obj/item/toy/cards/deck{ + pixel_y = 8 + }, /obj/machinery/duct, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59613,6 +60275,20 @@ "uax" = ( /turf/open/floor/iron, /area/station/cargo/storage) +"uaH" = ( +/obj/structure/table/wood, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/sunglasses/big{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/effect/spawner/random/bureaucracy/briefcase{ + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "uaJ" = ( /obj/machinery/computer/mechpad, /turf/open/floor/iron, @@ -59685,11 +60361,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/door_timer{ - name = "Science Cell"; - pixel_y = 32; - id = "scicell" - }, +/obj/machinery/status_display/door_timer/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/science) "ubW" = ( @@ -59699,10 +60371,9 @@ /turf/open/floor/iron, /area/station/commons/fitness/recreation) "ubY" = ( -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +/obj/structure/sign/poster/official/random, +/turf/open/floor/eighties/red, +/area/station/commons/fitness/recreation/entertainment) "uca" = ( /obj/item/stack/ore/glass, /obj/item/toy/basketball, @@ -59821,13 +60492,15 @@ pixel_x = -3; pixel_y = 7 }, -/obj/item/taperecorder, +/obj/item/taperecorder{ + pixel_x = 7; + pixel_y = 10 + }, /obj/machinery/firealarm/directional/west{ - pixel_y = -3 + pixel_y = 3 }, /obj/machinery/light_switch/directional/west{ - pixel_x = -23; - pixel_y = 8 + pixel_y = 13 }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) @@ -59865,15 +60538,10 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "uey" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/comfy/black{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/spawner/random/decoration/statue{ - spawn_loot_chance = 50 - }, -/obj/structure/table/wood/fancy/royalblue, /turf/open/floor/wood/large, /area/station/service/library) "ueG" = ( @@ -59917,21 +60585,11 @@ "ufO" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"ugd" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/white/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "ugf" = ( /obj/structure/bed{ dir = 8 }, /obj/effect/spawner/random/bedsheet, -/obj/structure/sign/clock/directional/east, /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -59955,9 +60613,9 @@ /turf/open/floor/grass, /area/station/service/hydroponics) "ugP" = ( -/obj/effect/landmark/start/coroner, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) +/obj/structure/sign/warning/electric_shock, +/turf/open/floor/iron, +/area/station/hallway/primary/tram/center) "ugW" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -59968,6 +60626,14 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"ugZ" = ( +/obj/structure/table/wood/fancy/royalblue, +/obj/structure/sign/painting/large/library{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/wood/large, +/area/station/service/library) "uhf" = ( /obj/machinery/door/firedoor/border_only, /obj/structure/cable, @@ -59998,10 +60664,16 @@ }, /obj/machinery/light/directional/west, /obj/machinery/mining_weather_monitor/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Civilian - Aux Base Construction West"; + dir = 5 + }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) "uhw" = ( -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) "uhP" = ( @@ -60066,8 +60738,8 @@ pixel_y = 8 }, /obj/item/taperecorder{ - pixel_x = -3; - pixel_y = 2 + pixel_x = -6; + pixel_y = 8 }, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) @@ -60093,12 +60765,6 @@ id_tag = "mostleft_upper_lower_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "mostleft_upper_lower_eva_airlock_control"; - idDoor = "mostleft_upper_lower_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60159,6 +60825,7 @@ spawn_loot_count = 3; spawn_scatter_radius = 1 }, +/obj/structure/sign/warning/vacuum, /turf/open/floor/plating, /area/station/maintenance/disposal) "ujK" = ( @@ -60191,7 +60858,9 @@ }, /obj/item/mop, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 24 + }, /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/medical/virology) @@ -60250,8 +60919,6 @@ /area/station/command/bridge) "ukS" = ( /obj/structure/table/reinforced, -/obj/item/surgical_drapes, -/obj/item/cautery, /obj/machinery/camera/directional/south{ network = list("ss13","rd"); c_tag = "Science - Robotics Surgery" @@ -60309,6 +60976,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical) +"ulr" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "ulz" = ( /obj/structure/filingcabinet, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -60374,9 +61048,11 @@ /turf/closed/wall/r_wall, /area/station/engineering/break_room) "ume" = ( -/obj/structure/sign/warning/docking, -/turf/closed/wall, -/area/station/hallway/secondary/exit) +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/tile/dark_green/fourcorners, +/obj/machinery/digital_clock, +/turf/open/floor/iron/white, +/area/station/science/genetics) "umf" = ( /obj/effect/mapping_helpers/ianbirthday, /obj/structure/disposalpipe/segment{ @@ -60441,9 +61117,16 @@ /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "umU" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/warm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = -10; + pixel_y = 31 + }, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "ung" = ( @@ -60469,10 +61152,8 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 }, -/obj/structure/sign/warning/rad_shelter{ - pixel_y = 32 - }, /obj/machinery/light/directional/east, +/obj/structure/sign/warning/rad_shelter, /turf/open/floor/iron, /area/station/hallway/secondary/exit) "unH" = ( @@ -60492,6 +61173,7 @@ /area/station/science/robotics/mechbay) "uof" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/clock, /turf/open/floor/wood, /area/station/commons/dorms) "uon" = ( @@ -60529,7 +61211,6 @@ /obj/structure/bed/double, /obj/effect/spawner/random/bedsheet/double, /obj/effect/landmark/start/hangover, -/obj/structure/sign/clock/directional/north, /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) @@ -60555,7 +61236,8 @@ /obj/structure/table/wood, /obj/structure/noticeboard/directional/south, /obj/machinery/computer/records/medical/laptop{ - dir = 1 + dir = 1; + pixel_y = 11 }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) @@ -60593,7 +61275,7 @@ /turf/open/floor/iron, /area/station/hallway/primary/tram/center) "uqc" = ( -/obj/structure/sign/clock/directional/east, +/obj/structure/sign/clock, /turf/open/floor/iron/cafeteria, /area/station/security/prison) "uqj" = ( @@ -60618,7 +61300,7 @@ /obj/machinery/camera/directional/east{ c_tag = "Civilian - Dormitories West Stairwell" }, -/obj/structure/sign/flag/nanotrasen/directional/north, +/obj/structure/sign/flag/nanotrasen, /turf/open/floor/iron, /area/station/commons/dorms) "uqo" = ( @@ -60627,7 +61309,6 @@ /area/station/tcommsat/server) "uqs" = ( /obj/structure/closet/secure_closet/hop, -/obj/structure/sign/clock/directional/west, /obj/structure/secure_safe/directional/north, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) @@ -60644,7 +61325,9 @@ /area/station/commons/lounge) "uqC" = ( /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 9 + }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, @@ -60674,8 +61357,7 @@ dir = 1 }, /obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = 8 + pixel_y = 12 }, /turf/open/floor/iron, /area/station/cargo/warehouse) @@ -60710,11 +61392,14 @@ /obj/machinery/iv_drip, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/medical/morgue) "urP" = ( /obj/structure/table/wood, -/obj/machinery/computer/security/wooden_tv, +/obj/machinery/computer/security/wooden_tv{ + pixel_y = 11 + }, /obj/structure/extinguisher_cabinet/directional/south{ pixel_x = -6 }, @@ -60723,7 +61408,6 @@ pixel_x = 6; id = "kanyewest" }, -/obj/structure/sign/calendar/directional/east, /turf/open/floor/carpet, /area/station/security/detectives_office) "urY" = ( @@ -60775,24 +61459,23 @@ /obj/structure/chair/comfy/black{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /turf/open/floor/carpet, /area/station/service/library) "usY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/cargo) "utc" = ( -/obj/machinery/camera{ - dir = 9; - c_tag = "Arrivals - North Docking Wing" - }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - North Docking Wing" + }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "utj" = ( @@ -60870,17 +61553,19 @@ /turf/open/floor/iron, /area/station/security/prison) "uuB" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/knife/kitchen, -/turf/open/floor/iron/white, -/area/station/service/kitchen) -"uuC" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/camera/directional/south{ + c_tag = "Civilian - Theatre Backstage" + }, +/turf/open/floor/iron/white/side{ dir = 4 }, +/area/station/service/theater) +"uuC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/large, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/carpet, /area/station/service/library) "uuR" = ( /obj/effect/turf_decal/siding/thinplating/dark, @@ -61092,15 +61777,13 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "uxW" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/sign/gym/right{ - pixel_y = -32 - }, /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/trimline/neutral/filled/line{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/commons/fitness) "uyb" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -61117,7 +61800,9 @@ /area/station/commons/fitness/recreation) "uyf" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/shaker, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 10 + }, /obj/machinery/light/warm/directional/east, /turf/open/floor/wood, /area/station/service/bar/backroom) @@ -61128,8 +61813,14 @@ /area/station/service/bar) "uyA" = ( /obj/structure/table, -/obj/item/storage/box, -/obj/item/storage/box, +/obj/item/storage/box{ + pixel_y = 17; + pixel_x = 5 + }, +/obj/item/storage/box{ + pixel_y = 17; + pixel_x = -5 + }, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) @@ -61146,6 +61837,30 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/left) +"uyN" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/stock_parts/matter_bin{ + pixel_x = 3; + pixel_y = 15 + }, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_x = -8; + pixel_y = -9 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_y = -7; + pixel_x = 5 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) "uyS" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/siding/thinplating/dark, @@ -61246,18 +61961,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"uAC" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/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 = 8 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "uAF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -61268,6 +61971,7 @@ /area/station/science/xenobiology) "uAK" = ( /obj/effect/turf_decal/trimline/red/filled/corner, +/obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/dark, /area/station/security/interrogation) "uAN" = ( @@ -61315,11 +62019,22 @@ /turf/open/floor/iron, /area/station/security/prison) "uBy" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/security/checkpoint/engineering) +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/structure/table/reinforced, +/obj/machinery/airlock_controller/incinerator_ordmix{ + pixel_y = 23; + pixel_x = -1 + }, +/obj/machinery/button/door/incinerator_vent_ordmix/table{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/machinery/button/ignition/incinerator/ordmix/table{ + pixel_y = 4; + pixel_x = -6 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "uBA" = ( /obj/structure/chair{ name = "Judge"; @@ -61348,18 +62063,24 @@ /obj/structure/table/reinforced, /obj/item/storage/medkit/o2{ pixel_x = 3; - pixel_y = 3 + pixel_y = 14 + }, +/obj/item/storage/medkit/o2{ + pixel_y = 10 }, -/obj/item/storage/medkit/o2, /obj/item/storage/medkit/o2{ pixel_x = -3; - pixel_y = -3 + pixel_y = 5 }, -/obj/machinery/door/window/left/directional/south{ +/obj/machinery/light/cold/directional/north, +/obj/item/storage/medkit/o2{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/machinery/door/window/half/right/directional/south{ name = "Secure Medical Storage"; req_access = list("medical") }, -/obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark, /area/station/medical/storage) "uCh" = ( @@ -61369,30 +62090,9 @@ /turf/open/floor/glass/reinforced, /area/station/ai_monitored/turret_protected/aisat/hallway) "uCl" = ( -/obj/structure/sign/directions/supply{ - dir = 4; - pixel_y = 28 - }, -/obj/structure/sign/directions/security{ - dir = 8; - pixel_y = 34 - }, -/obj/structure/sign/directions/command{ - dir = 8; - pixel_y = 40 - }, -/obj/structure/sign/directions/vault{ - dir = 8; - pixel_y = 22 - }, -/obj/effect/turf_decal/trimline/tram/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/tram/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) +/obj/structure/sign/directions/science/left/south_arrow/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/right) "uCo" = ( /obj/effect/turf_decal/siding/thinplating, /turf/open/floor/iron, @@ -61456,9 +62156,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 4 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, @@ -61520,20 +62217,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/central) -"uDT" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/corner{ - dir = 1 - }, -/obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "uEw" = ( /obj/machinery/button/door/directional/east{ name = "Door Bolt Control"; @@ -61650,7 +62333,8 @@ "uGb" = ( /obj/structure/table/glass, /obj/item/folder/white{ - pixel_x = 3 + pixel_x = -5; + pixel_y = 13 }, /turf/open/floor/glass, /area/station/command/meeting_room) @@ -61676,23 +62360,25 @@ dir = 8 }, /obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/south{ - name = "Research Lab Desk"; - req_access = list("science") - }, /obj/machinery/door/poddoor/shutters/preopen{ name = "Research and Development Shutter"; id = "rndlab1" }, /obj/item/folder{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 14 }, /obj/structure/desk_bell{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 18 }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/window/left/directional/south{ + name = "Research Lab Desk"; + req_access = list("science") + }, /turf/open/floor/iron/white, /area/station/science/lab) "uGq" = ( @@ -61722,10 +62408,6 @@ "uGW" = ( /turf/closed/wall, /area/station/cargo/miningdock) -"uGX" = ( -/obj/machinery/transport/tram_controller/tcomms, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "uHb" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/photocopier, @@ -61802,11 +62484,11 @@ /area/station/service/kitchen) "uHB" = ( /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/extinguisher_cabinet/directional/south, /obj/structure/table/glass, /obj/machinery/fax{ name = "Medical Fax Machine"; - fax_name = "Medical" + fax_name = "Medical"; + pixel_y = 12 }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -61867,20 +62549,20 @@ "uIq" = ( /obj/structure/table, /obj/machinery/keycard_auth{ - pixel_x = 7; - pixel_y = -2 + pixel_x = 5; + pixel_y = 2 }, /obj/item/computer_disk/ordnance{ pixel_x = -4; - pixel_y = 10 + pixel_y = 15 }, /obj/item/computer_disk/ordnance{ pixel_x = 5; - pixel_y = 10 + pixel_y = 15 }, /obj/item/computer_disk/ordnance{ pixel_x = 1; - pixel_y = 10 + pixel_y = 15 }, /turf/open/floor/glass/reinforced, /area/station/command/heads_quarters/rd) @@ -61908,13 +62590,6 @@ /area/station/ai_monitored/turret_protected/aisat/hallway) "uJf" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "mostleft_upper_lower_eva_airlock_control"; - idInterior = "mostleft_upper_lower_eva_internal"; - idExterior = "mostleft_upper_lower_eva_external" - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/left) @@ -62070,7 +62745,9 @@ /area/station/science/xenobiology) "uMg" = ( /obj/structure/table, -/obj/item/radio/intercom, +/obj/item/radio/intercom{ + pixel_y = 10 + }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "uMk" = ( @@ -62225,14 +62902,16 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 }, -/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper{ + pixel_y = 6 + }, /obj/effect/turf_decal/stripes/line{ dir = 6 }, /obj/machinery/airalarm/directional/south, /obj/item/reagent_containers/cup/beaker/large{ pixel_x = 6; - pixel_y = 4 + pixel_y = 17 }, /turf/open/floor/iron, /area/station/science/lab) @@ -62290,10 +62969,9 @@ /turf/open/floor/iron, /area/station/engineering/gravity_generator) "uPo" = ( -/obj/structure/table/glass, /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/item/radio/intercom/directional/south, -/obj/item/surgery_tray/full, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "uPv" = ( @@ -62312,12 +62990,16 @@ "uPZ" = ( /obj/structure/table, /obj/item/storage/box/chemimp{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 6 }, /obj/item/storage/box/trackimp{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/storage/lockbox/loyalty{ + pixel_y = 15 }, -/obj/item/storage/lockbox/loyalty, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) @@ -62340,6 +63022,10 @@ "uQm" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable, +/obj/machinery/camera/emp_proof/directional/west{ + network = list("ss13","engineering"); + c_tag = "Engineering - SMES" + }, /turf/open/floor/iron, /area/station/engineering/engine_smes) "uQS" = ( @@ -62347,6 +63033,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"uQY" = ( +/obj/machinery/turretid/directional/south{ + name = "AI Chamber turret control"; + icon_state = "control_stun" + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "uRi" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/structure/window/reinforced/spawner/directional/south, @@ -62383,6 +63078,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"uSS" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/iron, +/area/station/security/processing) "uTg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62412,13 +63114,6 @@ }, /obj/structure/cable, /obj/machinery/light/cold/directional/west, -/obj/machinery/firealarm/directional/west{ - pixel_y = -5 - }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -23; - pixel_y = 8 - }, /turf/open/floor/iron, /area/station/command/bridge) "uTz" = ( @@ -62457,18 +63152,29 @@ /area/station/hallway/primary/tram/left) "uUe" = ( /obj/structure/table, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/reagent_containers/spray/cleaner, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_y = 15; + pixel_x = -7 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 21; + pixel_x = 8 + }, /obj/machinery/newscaster/directional/south, /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/purple/filled/warning, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 +/obj/item/grenade/chem_grenade/cleaner{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_y = 15; + pixel_x = -2 + }, +/obj/item/key/janitor{ + pixel_y = 5; + pixel_x = 4 }, -/obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) "uUs" = ( @@ -62476,7 +63182,7 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) "uUB" = ( @@ -62521,19 +63227,12 @@ /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) "uUN" = ( -/turf/open/floor/iron/stairs/left{ - dir = 4 - }, +/turf/open/floor/iron/dark, /area/station/maintenance/central/greater) "uUX" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/station/engineering/supermatter/room) -"uVa" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/flora/bush/jungle/c/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "uVb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -62556,6 +63255,7 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 }, +/obj/machinery/digital_clock, /turf/open/floor/iron/dark, /area/station/security/courtroom) "uVW" = ( @@ -62597,9 +63297,6 @@ /area/station/command/meeting_room) "uWI" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/sign/departments/medbay/alt{ - pixel_y = 32 - }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, @@ -62611,8 +63308,12 @@ /area/station/medical/virology) "uWW" = ( /obj/structure/table/wood, -/obj/item/folder, -/obj/item/pen, +/obj/item/folder{ + pixel_y = 9 + }, +/obj/item/pen{ + pixel_y = 8 + }, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "uXn" = ( @@ -62706,15 +63407,16 @@ "uYx" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law{ - pixel_x = 7; - pixel_y = 1 + pixel_x = 6; + pixel_y = 5 }, /obj/item/food/donut/berry{ - pixel_x = -4; - pixel_y = 10 + pixel_x = -5; + pixel_y = 17 }, /obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, /turf/open/floor/iron, /area/station/security/office) @@ -62793,6 +63495,13 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"uZx" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "uZB" = ( /obj/structure/reflector/single/anchored{ dir = 5 @@ -62818,7 +63527,6 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 9 }, @@ -62906,6 +63614,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/office) +"vbC" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/landmark/start/lawyer, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "vbP" = ( /obj/structure/toilet{ dir = 4 @@ -62929,43 +63645,18 @@ /turf/open/floor/iron/white, /area/station/medical/medbay/central) "vbV" = ( -/obj/structure/table/wood/fancy/royalblue, -/obj/structure/sign/painting/library_secure{ - pixel_x = 32 - }, -/obj/effect/spawner/random/decoration/statue{ - spawn_loot_chance = 50 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/window/left/directional/west{ - name = "Secure Art Exhibition"; - req_access = list("library") - }, -/turf/open/floor/wood/large, -/area/station/service/library) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/virology) "vca" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 }, -/obj/structure/sign/warning/firing_range/directional/north, +/obj/structure/sign/warning/firing_range, /turf/open/floor/iron/white, /area/station/science/lower) -"vcg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Tunnel Access Hatch" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/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, -/area/station/maintenance/starboard/central) "vcs" = ( /obj/structure/reagent_dispensers/watertank/high, /obj/structure/railing{ @@ -63122,6 +63813,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"vfZ" = ( +/obj/structure/dresser, +/obj/item/cigarette/cigar/havana, +/turf/open/floor/iron/grimy, +/area/station/commons/vacant_room) "vgl" = ( /obj/structure/railing{ dir = 8 @@ -63191,7 +63887,7 @@ /obj/machinery/computer/cargo/request{ dir = 8 }, -/obj/structure/sign/clock/directional/east, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/cargo/lobby) "vhu" = ( @@ -63238,8 +63934,10 @@ /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, -/obj/effect/turf_decal/delivery/white, -/obj/effect/mapping_helpers/trapdoor_placer, +/obj/effect/turf_decal/trimline/dark_blue/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_blue/arrow_ccw, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "vhI" = ( @@ -63251,18 +63949,17 @@ /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) "vic" = ( -/obj/machinery/lift_indicator{ - pixel_x = -5; - pixel_y = -3; - linked_elevator_id = "tram_lower_center_lift" - }, -/obj/machinery/button/elevator{ - pixel_x = -7; - pixel_y = -1; - id = "tram_lower_center_lift" +/obj/structure/lattice, +/obj/machinery/door_buttons/access_button/directional/east{ + pixel_y = 24; + idDoor = "rightmost_lower_eva_external"; + idSelf = "rightmost_lower_eva_airlock_control" }, -/turf/closed/wall, -/area/station/hallway/primary/tram/center) +/turf/open/openspace, +/area/station/hallway/primary/tram/right) +"vii" = ( +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "viC" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63290,25 +63987,25 @@ /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/crayon/i/orange{ pixel_x = 8; - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ pixel_x = 4; - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/i/orange{ pixel_x = -4; - pixel_y = -32 + pixel_y = 32 }, /obj/effect/decal/cleanable/crayon/x{ pixel_x = 4; - pixel_y = -32 + pixel_y = 32 }, -/obj/item/clothing/shoes/clown_shoes, /obj/item/clothing/mask/gas/clown_hat, +/obj/item/clothing/shoes/clown_shoes, /turf/open/floor/plating, /area/station/engineering/main) "viZ" = ( @@ -63328,7 +64025,7 @@ "vjo" = ( /obj/machinery/button/door/directional/west{ name = "Privacy Bolts"; - pixel_y = -9; + pixel_y = 0; id = "private_n"; specialfunctions = 4; normaldoorcontrol = 1 @@ -63338,12 +64035,19 @@ /area/station/commons/dorms) "vjq" = ( /obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 9; + pixel_x = 5 + }, /obj/item/coin/plasma, -/obj/item/paper/fluff/gateway, -/obj/item/melee/chainofcommand, +/obj/item/paper/fluff/gateway{ + pixel_y = 7 + }, /obj/machinery/power/apc/auto_name/directional/west, -/obj/item/hand_tele, +/obj/item/hand_tele{ + pixel_x = -3; + pixel_y = 12 + }, /obj/structure/cable, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) @@ -63351,9 +64055,12 @@ /obj/structure/table, /obj/item/paper_bin/carbon{ pixel_x = -3; - pixel_y = 7 + pixel_y = 11 + }, +/obj/item/stamp/head/qm{ + pixel_y = 16; + pixel_x = -3 }, -/obj/item/stamp/head/qm, /obj/effect/landmark/event_spawn, /obj/structure/disposalpipe/segment, /turf/open/floor/carpet, @@ -63384,14 +64091,22 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 }, -/obj/machinery/disposal/bin, -/obj/structure/sign/warning/deathsposal{ - pixel_y = -32 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/structure/disposalpipe/trunk{ - dir = 2 +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 19; + pixel_x = -2 + }, +/obj/machinery/requests_console/directional/east, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/item/stack/sheet/mineral/plasma{ + amount = 3; + pixel_y = 13; + pixel_x = -4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) "vjA" = ( @@ -63417,7 +64132,9 @@ /area/station/cargo/miningdock/oresilo) "vkd" = ( /obj/structure/closet/crate/coffin, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/cobweb/cobweb2{ + pixel_y = 24 + }, /turf/open/floor/plating, /area/station/service/chapel/monastery) "vkm" = ( @@ -63427,8 +64144,7 @@ "vkA" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 8 + pixel_y = 10 }, /obj/machinery/light/warm/directional/west, /turf/open/floor/iron/dark, @@ -63449,7 +64165,6 @@ name = "Kitchen Shutters Control"; id = "playerscantreadthis" }, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/side{ @@ -63465,14 +64180,13 @@ /area/station/maintenance/disposal/incinerator) "vlb" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Port Tram Platform South-East" - }, /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/stripes/white/line{ dir = 1 }, +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Port Tram Platform South-East" + }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) "vle" = ( @@ -63484,19 +64198,14 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/clock/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd","Security"); - c_tag = "Medical - Security Checkpoint" - }, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/security/checkpoint/science) "vly" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) @@ -63602,6 +64311,16 @@ /obj/structure/bookcase/random/religion, /turf/open/floor/iron/dark, /area/station/service/chapel) +"voj" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Mix"; + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vok" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63613,6 +64332,7 @@ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/plaque/static_plaque/golden, /turf/open/floor/iron, /area/station/security/office) "voC" = ( @@ -63653,9 +64373,6 @@ /turf/open/floor/wood/large, /area/station/service/theater) "vpa" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 - }, /obj/effect/turf_decal/stripes/white/full, /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -63761,14 +64478,12 @@ /area/station/science/xenobiology) "vqx" = ( /obj/effect/turf_decal/sand, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "middleleft_upper_lower_eva_airlock_control"; +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "middleleft_upper_lower_eva_external"; idInterior = "middleleft_upper_lower_eva_internal"; - idExterior = "middleleft_upper_lower_eva_external" + idSelf = "middleleft_upper_lower_eva_airlock_control" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) "vqH" = ( @@ -63798,11 +64513,11 @@ /obj/structure/table, /obj/item/storage/toolbox/mechanical{ pixel_x = 3; - pixel_y = -2 + pixel_y = 6 }, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; - pixel_y = 8 + pixel_y = 16 }, /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -63865,10 +64580,10 @@ dir = 8 }, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /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/medical/virology) "vrN" = ( @@ -63981,23 +64696,25 @@ /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 }, -/obj/structure/showcase/cyborg/old{ - dir = 4; - pixel_x = -9; - pixel_y = 2 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /obj/machinery/light/dim/directional/west, +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 6 + }, /turf/open/floor/iron/dark, /area/station/science/lower) "vtq" = ( -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/north, /turf/open/floor/iron/freezer, /area/station/science/lower) "vua" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/carpet, /area/station/service/chapel/monastery) "vuh" = ( @@ -64030,6 +64747,7 @@ /area/station/service/kitchen) "vuO" = ( /obj/structure/bed/medical/emergency, +/obj/structure/sign/poster/official/obey/directional/north, /turf/open/floor/iron/white, /area/station/security/execution/education) "vuT" = ( @@ -64042,11 +64760,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) -"vvd" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Starboard Tram Platform South-West" +"vuY" = ( +/obj/machinery/airalarm/directional/east, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = 17 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = 10; + pixel_x = 4 }, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) +"vvd" = ( /obj/machinery/firealarm/directional/west, /obj/structure/disposalpipe/segment{ dir = 10 @@ -64054,6 +64783,9 @@ /obj/effect/turf_decal/stripes/white/line{ dir = 1 }, +/obj/machinery/camera/directional/west{ + c_tag = "Hallway - Starboard Tram Platform South-West" + }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "vvk" = ( @@ -64094,11 +64826,13 @@ dir = 6 }, /obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 + pixel_x = 4; + pixel_y = 12 + }, +/obj/item/pen/red{ + pixel_x = 3; + pixel_y = 14 }, -/obj/item/clipboard, -/obj/item/pen/red, /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/cargo/office) @@ -64254,25 +64988,40 @@ /area/station/security/mechbay) "vyR" = ( /obj/effect/spawner/random/structure/closet_private, +/obj/structure/sign/clock, /turf/open/floor/carpet, /area/station/commons/dorms) +"vyX" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "vzi" = ( /obj/structure/table, /obj/item/assembly/prox_sensor{ pixel_x = 5; - pixel_y = 7 + pixel_y = 13 }, /obj/item/assembly/prox_sensor{ pixel_x = -4; - pixel_y = 1 + pixel_y = 11 }, /obj/item/assembly/prox_sensor{ pixel_x = 2; - pixel_y = -2 + pixel_y = 4 }, /obj/item/assembly/prox_sensor{ pixel_x = 9; - pixel_y = -2 + pixel_y = 4 }, /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, @@ -64364,12 +65113,6 @@ id_tag = "middleright_lower_upper_eva_internal"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "middleright_lower_upper_eva_airlock_control"; - idDoor = "middleright_lower_upper_eva_internal" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64417,13 +65160,13 @@ }, /obj/structure/cable, /obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/electric_shock/directional/east, /obj/item/storage/toolbox/mechanical{ name = "moderately suspicious looking toolbox"; desc = "Danger. Kinda robust."; icon_state = "syndicate"; inhand_icon_state = "toolbox_syndi" }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/plating, /area/station/commons/vacant_room) "vBM" = ( @@ -64471,6 +65214,7 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/sign/poster/official/random, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) "vCB" = ( @@ -64484,10 +65228,6 @@ "vCS" = ( /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/engineering/atmos) -"vCY" = ( -/obj/structure/flora/tree/palm/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "vCZ" = ( /turf/closed/wall, /area/station/service/chapel/monastery) @@ -64522,18 +65262,10 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) -"vDg" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/effect/landmark/event_spawn, -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt - }, -/area/station/science/explab) "vDu" = ( /obj/machinery/computer/robotics{ dir = 1 }, -/obj/structure/sign/calendar/directional/south, /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/light/directional/south, /turf/open/floor/iron/cafeteria, @@ -64574,10 +65306,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/greater) -"vEl" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "vEq" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8 @@ -64622,11 +65350,11 @@ /area/station/science/xenobiology) "vFe" = ( /obj/effect/mapping_helpers/burnt_floor, -/obj/structure/sign/poster/official/midtown_slice/directional/north, /obj/machinery/conveyor{ dir = 8; id = "mining" }, +/obj/structure/sign/poster/official/midtown_slice, /turf/open/floor/iron, /area/station/cargo/miningfoundry) "vFh" = ( @@ -64636,14 +65364,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) -"vFp" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "vFt" = ( /turf/closed/wall/rust, /area/station/hallway/primary/tram/left) @@ -64667,29 +65387,19 @@ /turf/open/floor/iron, /area/station/hallway/secondary/service) "vFR" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics N2O Chamber" - }, -/turf/open/floor/engine/n2o, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/digital_clock, +/turf/open/floor/iron, /area/station/engineering/atmos) "vGc" = ( +/obj/structure/table/optable, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/light/directional/north, +/obj/machinery/vending/wallmed/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) -"vGd" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/landmark/start/lawyer, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "vGi" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -64751,6 +65461,7 @@ /obj/item/food/grown/banana, /obj/effect/spawner/random/engineering/tracking_beacon, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/grass, /area/station/medical/virology) "vGQ" = ( @@ -64792,6 +65503,20 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) +"vHH" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 14 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 5 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "vHO" = ( /obj/structure/railing/corner{ dir = 1 @@ -64866,6 +65591,17 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/ordnance) +"vKb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/sign/gym{ + pixel_y = 32 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "vKd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64897,7 +65633,6 @@ /area/station/security/checkpoint/engineering) "vKw" = ( /obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) "vKD" = ( @@ -64941,6 +65676,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/miningdock) +"vLM" = ( +/obj/structure/table, +/obj/item/assembly/igniter{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/assembly/igniter{ + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/fyellow{ + pixel_x = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "vMu" = ( /obj/modular_map_root/tramstation{ name = "secbarupper"; @@ -64972,12 +65721,6 @@ id_tag = "middleleft_upper_eva_external"; autoclose = 0 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleleft_upper_eva_airlock_control"; - idDoor = "middleleft_upper_eva_external" - }, /obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 @@ -65032,6 +65775,19 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"vNi" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 8 + }, +/obj/machinery/button/door/directional/north{ + name = "CMO Privacy Shutters"; + pixel_y = 38; + id = "cmoshutter"; + req_access = list("cmo") + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "vNk" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -65143,7 +65899,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "vPw" = ( -/obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 }, @@ -65151,6 +65906,7 @@ /obj/machinery/electrolyzer, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/no_smoking, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "vPB" = ( @@ -65176,15 +65932,25 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"vQO" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Civilian - Theatre Backstage" +"vQq" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/white/side{ +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/area/station/service/theater) +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigleft" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_left" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron, +/area/station/security/brig) "vQT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -65309,6 +66075,7 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, +/obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "vSW" = ( @@ -65354,11 +66121,8 @@ /turf/open/floor/catwalk_floor, /area/station/solars/starboard/fore) "vTj" = ( -/obj/effect/turf_decal/trimline/neutral/warning, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Coroner's Office"; - req_access = list("morgue_secure") - }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table/optable, /turf/open/floor/iron/dark, /area/station/medical/morgue) "vTn" = ( @@ -65373,7 +66137,7 @@ /turf/open/floor/iron/white, /area/station/science/ordnance) "vTv" = ( -/obj/structure/stairs/north, +/obj/structure/tall_stairs/end/directional/north, /turf/open/floor/iron/stairs/left, /area/station/science/lower) "vTx" = ( @@ -65433,6 +66197,19 @@ "vUu" = ( /turf/open/floor/engine/hull/reinforced, /area/space/nearstation) +"vUw" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "vUz" = ( /turf/open/misc/asteroid, /area/station/science/explab) @@ -65456,7 +66233,7 @@ /turf/open/floor/iron/dark, /area/station/maintenance/central/greater) "vUW" = ( -/obj/structure/sign/warning/pods/directional/north, +/obj/structure/sign/warning/pods, /turf/open/openspace, /area/station/hallway/secondary/entry) "vVc" = ( @@ -65465,6 +66242,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"vVm" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/flora/bush/jungle/c/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "vVq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -65488,7 +66270,6 @@ /obj/structure/toilet{ dir = 1 }, -/obj/structure/mirror/directional/east, /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison) @@ -65590,28 +66371,25 @@ /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/keycard_auth{ - pixel_x = -6; - pixel_y = 8 + pixel_x = -4; + pixel_y = 14 }, -/obj/machinery/button/door{ - name = "Bridge Blast Door Toggle"; - pixel_x = -7; - pixel_y = -2; +/obj/machinery/button/door/table{ id = "bunkermodeactivated"; - req_access = list("command") + name = "Bridge Blast Door Toggle"; + pixel_y = 3; + pixel_x = -6 }, /turf/open/floor/carpet, /area/station/command/bridge) "vYy" = ( -/obj/structure/sign/warning/radiation/rad_area{ - pixel_y = 32 - }, /obj/effect/turf_decal/siding/wideplating{ dir = 6 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/structure/sign/warning/radiation, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) "vYA" = ( @@ -65625,6 +66403,7 @@ /obj/structure/railing{ dir = 4 }, +/obj/structure/tall_stairs/start/directional/north, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) "vYO" = ( @@ -65686,14 +66465,11 @@ }, /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/north{ - pixel_x = 10; - pixel_y = 25 - }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "waE" = ( /obj/machinery/computer/records/medical, +/obj/structure/sign/poster/official/dick_gum/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "waV" = ( @@ -65759,18 +66535,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"wbW" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/turretid{ - name = "AI Hallway turret control"; - icon_state = "control_stun"; - pixel_x = 3; - pixel_y = 28 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "wce" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -65795,15 +66559,22 @@ "wco" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south{ - dir = 1 - }, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/science/ordnance) "wcr" = ( /obj/structure/table/wood, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"wcu" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "wcv" = ( /obj/structure/chair/stool/bar/directional/north, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -65827,6 +66598,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) +"wcM" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "wcN" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -65862,7 +66641,9 @@ /area/station/commons/lounge) "wdr" = ( /obj/structure/table/glass, -/obj/machinery/coffeemaker, +/obj/machinery/coffeemaker{ + pixel_y = 8 + }, /obj/structure/sign/calendar/directional/east, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) @@ -65980,11 +66761,6 @@ /turf/open/indestructible/tram/plate, /area/station/hallway/primary/tram/center) "wgB" = ( -/obj/machinery/status_display/door_timer{ - name = "Engineering Cell"; - pixel_x = -32; - id = "engcell" - }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 }, @@ -65995,6 +66771,10 @@ name = "Security Requests Console"; department = "Security" }, +/obj/machinery/status_display/door_timer/directional/west{ + id = "engcell"; + name = "Engineering Cell" + }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) "wgI" = ( @@ -66005,16 +66785,15 @@ /turf/open/floor/iron/checker, /area/station/commons/lounge) "wgL" = ( -/obj/machinery/camera{ - dir = 9; - c_tag = "Arrivals - South Docking Wing" - }, /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/machinery/light/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - South Docking Wing" + }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) "wgM" = ( @@ -66138,10 +66917,10 @@ /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/iron, /area/station/maintenance/tram/right) -"wiI" = ( +"wiM" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig"; - id_tag = "outerbrigleft" + id_tag = "outerbrigright" }, /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -66150,11 +66929,11 @@ dir = 4 }, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_left" + cycle_id = "brig_right" }, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/structure/disposalpipe/segment, +/obj/machinery/scanner_gate/preset_guns, /turf/open/floor/iron, /area/station/security/brig) "wiU" = ( @@ -66321,13 +67100,7 @@ id = "pharmacy_shutters_2"; req_access = list("pharmacy") }, -/obj/structure/table/glass, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe, +/obj/machinery/chem_dispenser, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "wmz" = ( @@ -66367,19 +67140,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) -"wnM" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "wnP" = ( /obj/machinery/door/airlock/hatch{ name = "Emergency Exit" @@ -66450,7 +67210,8 @@ }, /obj/effect/spawner/random/food_or_drink/seed{ spawn_all_loot = 1; - spawn_random_offset = 1 + spawn_random_offset = 1; + pixel_y = 11 }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) @@ -66497,7 +67258,6 @@ /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/full, /obj/structure/disposalpipe/segment, -/obj/structure/sign/departments/evac/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) "wqs" = ( @@ -66519,6 +67279,13 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"wqH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "wqY" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -66542,41 +67309,12 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"wrn" = ( -/obj/machinery/portable_atmospherics/pipe_scrubber, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "wru" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"wrz" = ( -/obj/structure/rack, -/obj/structure/table, -/obj/machinery/computer/security/telescreen/test_chamber/directional/north, -/obj/item/storage/box/beakers{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = -7; - pixel_y = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) -"wrJ" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/netpod, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "wrT" = ( /obj/structure/table/glass, /obj/item/grenade/chem_grenade, @@ -66609,7 +67347,6 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 }, -/obj/structure/sign/clock/directional/north, /obj/structure/cable, /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, @@ -66683,12 +67420,6 @@ }, /turf/open/floor/iron, /area/station/security/processing) -"wtR" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/flora/tree/palm/style_random, -/obj/structure/flora/coconuts, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "wtS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -66714,10 +67445,10 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 }, -/obj/structure/sign/calendar/directional/west, /obj/machinery/fax{ name = "Quartermaster's Fax Machine"; - fax_name = "Quartermaster's Office" + fax_name = "Quartermaster's Office"; + pixel_y = 9 }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) @@ -66767,13 +67498,9 @@ /area/station/medical/virology) "wwc" = ( /obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, /obj/item/flashlight/lamp/green{ - pixel_x = -3; - pixel_y = 8; + pixel_x = 1; + pixel_y = 15; start_on = 0 }, /turf/open/floor/carpet, @@ -66789,7 +67516,6 @@ "wwA" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/closet/wardrobe/mixed, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/commons/fitness) "wwI" = ( @@ -66846,6 +67572,15 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"wxg" = ( +/obj/structure/table, +/obj/item/flashlight{ + pixel_x = 9; + pixel_y = 13 + }, +/obj/item/storage/belt/utility, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "wxu" = ( /obj/machinery/destructive_scanner, /obj/effect/turf_decal/trimline/purple/filled/warning{ @@ -66978,6 +67713,9 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) "wza" = ( @@ -67097,32 +67835,21 @@ /obj/structure/reagent_dispensers/foamtank, /turf/open/floor/iron, /area/station/engineering/atmos) -"wAH" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = -2; - pixel_y = -2 - }, -/turf/open/floor/iron/smooth, -/area/station/security/mechbay) "wAI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"wAK" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/turretid/directional/south{ + name = "AI Antechamber turret control"; + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior" + }, +/turf/open/floor/iron/grimy, +/area/station/ai_monitored/turret_protected/aisat/foyer) "wAQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/north, @@ -67146,7 +67873,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/button/door/directional/north{ name = "Tunnel Access Shutters Toggle"; - id = "midtunnelright" + id = "midtunnelright"; + pixel_x = -9 + }, +/obj/machinery/door_buttons/access_button/directional/north{ + pixel_x = 10; + idSelf = "middleright_lower_upper_eva_airlock_control"; + idDoor = "middleright_lower_upper_eva_internal" }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) @@ -67218,31 +67951,41 @@ /obj/structure/chair/stool/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "wDv" = ( /obj/structure/rack, /obj/item/controller{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 7 }, /obj/item/compact_remote{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 11 }, /obj/item/compact_remote{ - pixel_x = -7 + pixel_x = -7; + pixel_y = 15 }, /obj/item/integrated_circuit/loaded/speech_relay{ - pixel_x = 7 - }, -/obj/item/integrated_circuit/loaded/hello_world{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 14 }, /obj/structure/table, -/obj/item/integrated_circuit/loaded/hello_world{ - pixel_x = 7 +/obj/item/integrated_circuit/loaded/speech_relay{ + pixel_x = 7; + pixel_y = 11 }, -/obj/item/integrated_circuit/loaded/hello_world{ - pixel_x = 7 +/obj/item/integrated_circuit/loaded/speech_relay{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/integrated_circuit/loaded/speech_relay{ + pixel_x = 7; + pixel_y = 4 }, /turf/open/floor/iron, /area/station/science/explab) @@ -67255,17 +67998,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"wEl" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "wEu" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/camera/directional/south{ @@ -67289,6 +68021,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/brig) +"wEL" = ( +/turf/open/floor/plating/airless, +/area/space/nearstation) "wEO" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -67364,14 +68099,15 @@ /turf/open/floor/iron/white, /area/station/science/research) "wFR" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/sign/gym/mirrored{ - pixel_y = -32 +/obj/structure/table, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/item/training_toolbox{ + pixel_y = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/commons/dorms) +/area/station/commons/fitness) "wFT" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -67391,10 +68127,9 @@ /turf/open/floor/iron, /area/station/commons/dorms) "wGk" = ( -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Chief Engineer's Office" +/obj/machinery/camera/emp_proof/directional/west{ + c_tag = "Engineering - Chief Engineer's Office"; + network = list("ss13","engineering") }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) @@ -67402,8 +68137,8 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/obj/structure/sign/clock/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/security/checkpoint/medical) "wGA" = ( @@ -67484,6 +68219,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) +"wHL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/vending/tool, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "wHT" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hop) @@ -67514,8 +68256,12 @@ "wIi" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/west, -/obj/item/aicard, -/obj/item/multitool, +/obj/item/aicard{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_y = 11 + }, /turf/open/floor/carpet, /area/station/command/bridge) "wIJ" = ( @@ -67525,17 +68271,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"wIP" = ( -/obj/structure/lattice, -/turf/open/space/openspace, -/area/space/nearstation) "wIT" = ( -/obj/structure/chair/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/chair/wood{ + dir = 1 + }, /turf/open/floor/iron, /area/station/service/theater) "wIY" = ( @@ -67552,7 +68296,6 @@ /obj/effect/spawner/random/bedsheet/double{ dir = 4 }, -/obj/structure/sign/clock/directional/north, /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) @@ -67612,13 +68355,14 @@ /turf/open/floor/wood, /area/station/command/meeting_room) "wKk" = ( -/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/wood, /obj/item/radio/intercom/directional/east, /obj/machinery/fax{ name = "Captain's Fax Machine"; - fax_name = "Captain's Office" + fax_name = "Captain's Office"; + pixel_y = 11 }, +/obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) "wKm" = ( @@ -67661,17 +68405,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"wLP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "wLR" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -67721,7 +68454,6 @@ /turf/open/floor/iron, /area/station/science/ordnance/testlab) "wMD" = ( -/obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /turf/open/floor/carpet, /area/station/service/chapel/monastery) @@ -67735,6 +68467,8 @@ "wMZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, /turf/open/floor/wood, /area/station/service/theater) "wNj" = ( @@ -67743,8 +68477,8 @@ }, /obj/structure/table/glass, /obj/item/storage/medkit/regular{ - pixel_x = 3; - pixel_y = 3 + pixel_x = 1; + pixel_y = 10 }, /turf/open/floor/iron/white, /area/station/security/medical) @@ -67858,13 +68592,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"wPj" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Bypass" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "wPD" = ( /obj/effect/turf_decal/caution/stand_clear/red{ dir = 8 @@ -67899,6 +68626,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"wQg" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/rack, +/obj/machinery/light_switch/directional/south{ + pixel_x = 13 + }, +/obj/item/crowbar, +/obj/item/weldingtool, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "wQm" = ( /turf/open/floor/iron, /area/station/engineering/atmos) @@ -67988,12 +68727,9 @@ /area/station/science/lower) "wSm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/clock, /turf/open/floor/carpet, /area/station/commons/dorms) -"wSp" = ( -/obj/structure/flora/bush/jungle/b/style_random, -/turf/open/misc/grass/jungle, -/area/station/science/explab) "wSx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -68013,8 +68749,9 @@ /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/sink/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) "wTy" = ( @@ -68060,17 +68797,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/tram, /area/station/hallway/primary/tram/center) -"wUL" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/vending/wardrobe/law_wardrobe, -/turf/open/floor/wood, -/area/station/service/lawoffice) "wVV" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"wVW" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/turf/open/misc/grass/jungle/station, +/area/station/science/explab) "wWa" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -68095,16 +68831,15 @@ /area/station/hallway/secondary/exit) "wWn" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "middleleft_upper_eva_airlock_control"; - idInterior = "middleleft_upper_eva_internal"; - idExterior = "middleleft_upper_eva_external" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door_buttons/airlock_controller/directional/north{ + idExterior = "middleleft_upper_eva_external"; + idInterior = "middleleft_upper_eva_internal"; + idSelf = "middleleft_upper_eva_airlock_control"; + pixel_x = 8 + }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) "wWu" = ( @@ -68157,12 +68892,10 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"wXB" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 6 +"wXA" = ( +/turf/open/floor/iron/stairs{ + dir = 8 }, -/turf/open/floor/iron/smooth, /area/station/commons/storage/primary) "wXC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -68251,16 +68984,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"wYS" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Gas to Mix"; - dir = 4 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "wYX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -68278,10 +69001,12 @@ /obj/structure/window/reinforced/spawner/directional/east{ pixel_y = 2 }, +/obj/effect/spawner/random/decoration/ornament{ + pixel_y = 16 + }, /obj/structure/window/reinforced/spawner/directional/south{ pixel_y = 2 }, -/obj/effect/spawner/random/decoration/ornament, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) "wZL" = ( @@ -68292,6 +69017,11 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"wZS" = ( +/obj/machinery/pdapainter/research, +/obj/machinery/computer/security/telescreen/rd/directional/south, +/turf/open/floor/iron/cafeteria, +/area/station/command/heads_quarters/rd) "wZY" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -68384,7 +69114,8 @@ "xbN" = ( /obj/structure/table/reinforced, /obj/structure/desk_bell{ - pixel_x = -7 + pixel_x = 5; + pixel_y = 14 }, /obj/machinery/door/poddoor/shutters/preopen{ name = "Pharmacy Shutters"; @@ -68439,9 +69170,15 @@ /area/station/service/hydroponics) "xcH" = ( /obj/structure/table/wood, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/suit/black_really, -/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/shoes/laceup{ + pixel_y = 6 + }, +/obj/item/clothing/under/suit/black_really{ + pixel_y = 10 + }, +/obj/item/clothing/glasses/sunglasses{ + pixel_y = 10 + }, /turf/open/floor/wood, /area/station/command/meeting_room) "xcM" = ( @@ -68464,13 +69201,12 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "xdC" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Secure - Gravity Generator" - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/machinery/camera/emp_proof/directional/west{ + c_tag = "Secure - Gravity Generator" + }, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) "xdF" = ( @@ -68486,7 +69222,6 @@ }, /obj/item/kirbyplants/random, /obj/item/radio/intercom/directional/north, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) "xdJ" = ( @@ -68506,6 +69241,13 @@ "xdZ" = ( /turf/closed/wall, /area/station/cargo/miningfoundry) +"xee" = ( +/obj/effect/turf_decal/box/red, +/obj/machinery/vatgrower{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "xei" = ( /obj/machinery/atmospherics/components/binary/pump/on, /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ @@ -68527,9 +69269,6 @@ /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 }, -/obj/machinery/firealarm/directional/north{ - pixel_x = 4 - }, /obj/machinery/light_switch/directional/north{ pixel_x = -6; pixel_y = 28 @@ -68558,6 +69297,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/maint) +"xfa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xfd" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -68607,6 +69351,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"xfO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/analyzer{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/t_scanner{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "xgh" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -68652,7 +69411,10 @@ "xgZ" = ( /obj/structure/table/reinforced, /obj/machinery/light/cold/directional/west, -/obj/item/papercutter, +/obj/item/papercutter{ + pixel_y = 11; + pixel_x = 5 + }, /turf/open/floor/iron, /area/station/command/bridge) "xhk" = ( @@ -68724,8 +69486,15 @@ /area/station/science/research) "xiP" = ( /obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/chem_dispenser, /obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = 4; + pixel_y = 14 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 11 + }, /turf/open/floor/iron/white, /area/station/medical/chemistry) "xiZ" = ( @@ -68759,19 +69528,19 @@ "xjx" = ( /obj/structure/table, /obj/item/assembly/signaler{ - pixel_y = 8 + pixel_y = 19 }, /obj/item/assembly/signaler{ pixel_x = -8; - pixel_y = 5 + pixel_y = 14 }, /obj/item/assembly/signaler{ pixel_x = -2; - pixel_y = -2 + pixel_y = 8 }, /obj/item/assembly/signaler{ pixel_x = 6; - pixel_y = 5 + pixel_y = 13 }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) @@ -68804,7 +69573,7 @@ /obj/structure/showcase/cyborg/old{ dir = 4; pixel_x = -9; - pixel_y = 2 + pixel_y = 6 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -68825,8 +69594,13 @@ dir = 9 }, /obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 10 + }, +/obj/item/pen{ + pixel_y = 10 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "xkX" = ( @@ -68852,7 +69626,9 @@ }, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/table/glass, -/obj/machinery/microwave/engineering/cell_included, +/obj/machinery/microwave/engineering/cell_included{ + pixel_y = 10 + }, /obj/structure/cable, /obj/machinery/light/warm/directional/west, /turf/open/floor/iron, @@ -68869,6 +69645,12 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/fitness/recreation/entertainment) +"xlw" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 10 + }, +/turf/open/floor/iron/smooth, +/area/station/commons/storage/primary) "xly" = ( /obj/structure/closet/emcloset{ anchored = 1 @@ -68913,12 +69695,9 @@ /turf/open/floor/iron, /area/station/engineering/atmos) "xmm" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/structure/sign/gym/mirrored/right{ - pixel_y = -32 - }, -/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/trimline/neutral/filled/corner, /turf/open/floor/iron, /area/station/commons/dorms) "xmE" = ( @@ -68938,9 +69717,18 @@ /turf/open/floor/iron/dark, /area/station/service/hydroponics) "xmH" = ( -/obj/structure/sign/poster/official/report_crimes/directional/south, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/clock, +/turf/open/floor/carpet, +/area/station/commons/dorms) +"xmI" = ( +/obj/machinery/camera/emp_proof/directional/east{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics N2O Chamber" + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "xmJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -68970,10 +69758,10 @@ /area/station/science/xenobiology) "xmZ" = ( /obj/machinery/disposal/bin, -/obj/structure/sign/clock/directional/north, /obj/structure/disposalpipe/trunk{ dir = 2 }, +/obj/machinery/digital_clock, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "xnH" = ( @@ -69068,6 +69856,18 @@ }, /turf/closed/wall, /area/station/cargo/sorting) +"xpA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Gas"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xpC" = ( /obj/structure/table/reinforced, /obj/structure/window/spawner/directional/south, @@ -69078,7 +69878,7 @@ dir = 5 }, /obj/structure/closet/secure_closet/security, -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron, /area/station/security/checkpoint/escape) "xpH" = ( @@ -69191,7 +69991,9 @@ /turf/open/floor/iron/white, /area/station/medical/surgery/fore) "xsq" = ( -/obj/item/kirbyplants/organic/plant21, +/obj/item/kirbyplants/organic/plant21{ + pixel_y = 8 + }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 }, @@ -69283,15 +70085,18 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 }, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 +/obj/machinery/light/directional/east, +/obj/item/clipboard{ + pixel_y = 8 }, /obj/item/stamp/denied{ pixel_x = 4; - pixel_y = -2 + pixel_y = 7 + }, +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 14 }, -/obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/cargo/office) "xtM" = ( @@ -69309,11 +70114,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) -"xuk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xum" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -69335,6 +70135,7 @@ dir = 9 }, /obj/machinery/airalarm/directional/west, +/obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) "xuI" = ( @@ -69411,10 +70212,12 @@ dir = 5 }, /obj/structure/table, -/obj/item/holosign_creator/atmos, +/obj/item/holosign_creator/atmos{ + pixel_y = 4 + }, /obj/item/holosign_creator/atmos{ pixel_x = 5; - pixel_y = 9 + pixel_y = 13 }, /obj/structure/cable, /obj/machinery/light/directional/east, @@ -69463,11 +70266,6 @@ /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Block South" - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, @@ -69479,7 +70277,6 @@ }, /obj/item/kirbyplants/random, /obj/item/radio/intercom/directional/north, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, /area/station/commons/dorms) "xxZ" = ( @@ -69502,21 +70299,24 @@ "xyn" = ( /obj/structure/table/reinforced, /obj/item/storage/medkit/regular{ - pixel_x = -5; - pixel_y = -3 + pixel_x = -2; + pixel_y = 15 }, /obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = 8; - pixel_y = 4 + pixel_x = 9; + pixel_y = 7 }, /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/command/bridge) "xyr" = ( /obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/entertainment/cigarette_pack{ + pixel_y = 9 + }, /obj/effect/spawner/random/entertainment/lighter{ - pixel_x = 9 + pixel_x = 9; + pixel_y = 9 }, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) @@ -69566,7 +70366,7 @@ /area/station/command/teleporter) "xzI" = ( /obj/machinery/vending/games, -/obj/structure/sign/clock/directional/north, +/obj/machinery/digital_clock, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) "xzV" = ( @@ -69654,14 +70454,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"xAM" = ( -/obj/machinery/elevator_control_panel{ - pixel_y = 2; - linked_elevator_id = "tram_xeno_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) "xAR" = ( /obj/machinery/door/airlock/security{ name = "Prison Workshop" @@ -69765,6 +70557,24 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/solars/port) +"xCi" = ( +/obj/structure/rack, +/obj/structure/table, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/obj/item/storage/box/beakers{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = -7; + pixel_y = 16 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = -7; + pixel_y = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "xCm" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, @@ -69921,21 +70731,16 @@ /turf/open/floor/iron/freezer, /area/station/science/lower) "xHx" = ( -/obj/structure/chair/office/tactical, +/obj/structure/chair/office/tactical{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/medical/morgue) "xHB" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, -/obj/machinery/firealarm/directional/east{ - pixel_y = -5 - }, /obj/machinery/light/cold/directional/east, -/obj/machinery/light_switch/directional/east{ - pixel_x = 23; - pixel_y = 8 - }, /turf/open/floor/iron, /area/station/command/bridge) "xHP" = ( @@ -69957,18 +70762,19 @@ /obj/structure/table, /obj/item/stock_parts/micro_laser{ pixel_x = -6; - pixel_y = 4 + pixel_y = 7 }, /obj/item/stock_parts/micro_laser{ pixel_x = -2; - pixel_y = 2 + pixel_y = 5 }, /obj/item/stock_parts/micro_laser{ - pixel_x = 2 + pixel_x = 2; + pixel_y = 3 }, /obj/item/stock_parts/micro_laser{ pixel_x = 6; - pixel_y = -2 + pixel_y = 1 }, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -70038,10 +70844,14 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 }, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, +/obj/item/stack/medical/mesh{ + pixel_y = 9 + }, +/obj/item/stack/medical/gauze{ + pixel_y = 12 + }, /obj/structure/table/glass, -/obj/machinery/vending/wallmed/directional/north, +/obj/machinery/vending/wallmed, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "xKB" = ( @@ -70312,6 +71122,13 @@ "xOn" = ( /turf/open/floor/iron/dark, /area/station/medical/treatment_center) +"xOz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "xOL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, @@ -70444,8 +71261,10 @@ /area/station/hallway/secondary/entry) "xQY" = ( /obj/structure/table/wood, -/obj/item/storage/crayons, -/obj/structure/sign/calendar/directional/west, +/obj/item/storage/crayons{ + pixel_y = 10 + }, +/obj/structure/sign/calendar, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "xRc" = ( @@ -70469,10 +71288,6 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/maintenance/tram/left) -"xRm" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "xRn" = ( /turf/open/floor/plating, /area/station/hallway/secondary/service) @@ -70591,7 +71406,6 @@ /area/station/security/execution/education) "xUb" = ( /obj/machinery/smartfridge/organ, -/obj/structure/sign/warning/cold_temp/directional/east, /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) @@ -70651,6 +71465,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/warning/fire, /turf/open/floor/iron/white, /area/station/science/ordnance) "xVE" = ( @@ -70941,7 +71756,8 @@ /area/station/medical/morgue) "ybp" = ( /obj/machinery/door/airlock/public/glass{ - name = "Firing Range Access" + name = "Firing Range Access"; + dir = 1 }, /obj/effect/turf_decal/trimline/purple/filled/corner, /obj/effect/turf_decal/trimline/purple/filled/corner{ @@ -70959,14 +71775,12 @@ /turf/closed/wall/r_wall, /area/station/engineering/atmos) "ybD" = ( -/obj/structure/sign/warning/secure_area/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Hallway - Mid Left Command" - }, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 }, -/obj/machinery/light/small/dim/directional/north, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, /turf/open/floor/iron, /area/station/hallway/secondary/command) "ybW" = ( @@ -71044,6 +71858,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) +"ycQ" = ( +/obj/structure/table/wood/fancy/green, +/obj/effect/spawner/round_default_module, +/obj/machinery/camera/motion/directional/east, +/turf/open/floor/circuit/green, +/area/station/ai_monitored/turret_protected/ai_upload) "ycV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -71106,6 +71926,26 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"ydQ" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigleft" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_left" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/structure/disposalpipe/segment, +/obj/machinery/scanner_gate/preset_guns, +/turf/open/floor/iron, +/area/station/security/brig) "yeg" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Atmos to Loop"; @@ -71143,14 +71983,14 @@ }, /obj/machinery/button/door/directional/west{ name = "Outer Brig Left Door Access"; - pixel_y = -8; + pixel_y = 4; id = "outerbrigleft"; req_access = list("security"); normaldoorcontrol = 1 }, /obj/machinery/button/door/directional/west{ name = "Inner Brig Left Door Access"; - pixel_y = 8; + pixel_y = 20; id = "innerbrigleft"; req_access = list("security"); normaldoorcontrol = 1 @@ -71236,7 +72076,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/white, /area/station/medical/chemistry) "ygw" = ( @@ -71256,7 +72095,6 @@ /obj/machinery/camera/directional/south{ c_tag = "Civilian - Recreational Area South-East" }, -/obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/recreation) "ygI" = ( @@ -71313,10 +72151,15 @@ "yhe" = ( /obj/structure/table/wood, /obj/item/storage/backpack/satchel/leather/withwallet{ + pixel_y = 22; + pixel_x = 3 + }, +/obj/item/hand_labeler{ pixel_y = 4 }, -/obj/item/hand_labeler, -/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 10 + }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "yhN" = ( @@ -71423,10 +72266,8 @@ /turf/closed/wall/r_wall, /area/station/security/brig) "yjl" = ( -/obj/effect/turf_decal/trimline/neutral/warning, /obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table/reinforced, -/obj/machinery/computer/records/medical/laptop, +/obj/machinery/computer/operating, /turf/open/floor/iron/dark, /area/station/medical/morgue) "yjm" = ( @@ -71488,6 +72329,7 @@ "yjZ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) "ykm" = ( @@ -71529,7 +72371,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "ykV" = ( -/obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, @@ -84338,7 +85179,7 @@ alT alT veV veV -kMD +bsM alT amr alT @@ -84821,7 +85662,7 @@ abf abf abF hmb -lzJ +abF abF abf abf @@ -84833,7 +85674,7 @@ abf abf abF hmb -lzJ +abF abF abf abf @@ -84852,7 +85693,7 @@ cDZ hAD veV veV -kMD +bsM hAD veV thi @@ -85366,7 +86207,7 @@ hAD hAD veV veV -kMD +bsM hAD rlX oEl @@ -85880,7 +86721,7 @@ hAD hAD veV veV -kMD +bsM hAD qYx rgT @@ -86135,8 +86976,8 @@ veV veV hAD hAD -ubY -ubY +hAD +hAD kMD eEH veV @@ -86883,7 +87724,7 @@ aaa aaa aaa ncF -qQq +dFc qQq qQq qQq @@ -86898,7 +87739,7 @@ tUM fOs gnC elr -bzs +dRz pKZ ecu elr @@ -87140,8 +87981,8 @@ aaa aaa aaa ncF -oUq -qQq +ulJ +agL qQq qQq qQq @@ -87166,11 +88007,11 @@ elr bZi fGr elr -bPz +xmH bop oeP elr -toy +jer nvo oir elr @@ -87397,8 +88238,8 @@ aaa aaa aaa ncF -ulJ -agL +qQq +qQq qQq qQq qQq @@ -87665,7 +88506,7 @@ lQM lQM pZW pZW -kNn +kkn sbD cga umC @@ -87676,7 +88517,7 @@ tNk qyM sbD mYn -sbD +raX hTL sMZ raX @@ -87689,7 +88530,7 @@ sbD wbS why lEW -kkn +bPz jiz apC abM @@ -87703,10 +88544,10 @@ jcT jcT ncE aek -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM fYW vXM vXM @@ -88119,7 +88960,7 @@ abM aal lPV kPC -lFk +kyB lFk lFk mAB @@ -88398,7 +89239,7 @@ cSR iZL rBz ung -cQD +lzJ mgS bLk edg @@ -88450,7 +89291,7 @@ cNS iNB iNB lFw -wFR +gUO sKg sKg iFV @@ -88687,7 +89528,7 @@ qQq htJ qQq qQq -twF +oRE ncF elr elr @@ -88707,9 +89548,9 @@ awh wBc nhL npe -xmm +gUO sKg -xhL +rKr dzF xhL aXo @@ -88965,7 +89806,7 @@ trd taB xJt aJC -aEu +sKg jsA wPE wPE @@ -89221,8 +90062,8 @@ elr exV oqT drw -wbb -xFx +blN +xOz tAs aTt jyV @@ -89503,10 +90344,10 @@ ncE jcT jcT aek -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM fYW vXM vXM @@ -90763,13 +91604,13 @@ elr ueG hVa vHO -iFX -xFx +xmm +uxW bPo wPE fvR iev -fvR +wFR eyQ rnd wwA @@ -91021,8 +91862,8 @@ sLR sKP wGg tRU -sdC -nel +sKg +vKb nel nel nel @@ -91219,7 +92060,7 @@ wqf uPv tlZ gvI -rKr +hXK gGV gkz kHT @@ -91277,9 +92118,9 @@ gnQ liN qPK scx -bsM +uLO sKg -xhL +sdC hqN xhL aXo @@ -91534,7 +92375,7 @@ hTL wbb wbb qRO -uxW +uLO sKg sKg iFV @@ -92289,7 +93130,7 @@ kUN aRx ncF ncF -bZi +aEu wbb aob azd @@ -92315,7 +93156,7 @@ azd aSM fLO cbn -blN +bPz jiz apC abM @@ -92331,10 +93172,10 @@ jcT jcT ncE aek -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM fYW fYW fYW @@ -92572,7 +93413,7 @@ elr elr elr elr -gAY +twF arz jnq abM @@ -92591,7 +93432,7 @@ aac aac aac vXM -xRm +pHM vXM vXM vXM @@ -92601,7 +93442,7 @@ vXM vXM vXM vXM -xRm +pHM fYW fYW fYW @@ -92770,7 +93611,7 @@ eHG ohr ohr ohr -ohr +myw dRa vRO aaa @@ -92791,7 +93632,7 @@ aaa aaa aaa ncF -ewh +fyH uJf ncF acP @@ -92820,11 +93661,11 @@ elr wsZ glY elr -bPz +xmH oar oeP elr -toy +jer xKR oir elr @@ -92848,7 +93689,7 @@ aac aac aac vXM -xRm +pHM vXM vXM vXM @@ -92858,14 +93699,14 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM fYW vXM @@ -93105,9 +93946,9 @@ jcT jcT aac aek -xRm -xRm -xRm +pHM +pHM +pHM rWa vXM vXM @@ -93115,14 +93956,14 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -93366,12 +94207,12 @@ vXM rWa vXM qdd -xRm -xRm +pHM +pHM rWa -xRm -xRm -xRm +pHM +pHM +pHM rWa vXM vXM @@ -93379,7 +94220,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -93538,7 +94379,7 @@ wkp uBu nhm cVd -ccH +mkA ccH ccH ccH @@ -93564,13 +94405,13 @@ aaa aaa aaa acx -abM +mUZ abM abM ada abM abM -abM +aNX acx aaa ncF @@ -93582,7 +94423,7 @@ aaa aaa aaa oTA -kZh +ubY myz lof iNo @@ -93630,17 +94471,17 @@ vXM rWa vXM qdd -xRm -xRm +pHM +pHM rWa -xRm -xRm -xRm +pHM +pHM +pHM rWa -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM fYW vXM vXM @@ -94610,7 +95451,7 @@ aaa aaa aaa oTA -lof +bzs kZh kZh amu @@ -94647,12 +95488,12 @@ ncE ncE aac aek -xRm -xRm -xRm +pHM +pHM +pHM rWa -xRm -xRm +pHM +pHM qdd vXM rWa @@ -94907,16 +95748,16 @@ aac aac vXM vXM -xRm +pHM vXM vXM rWa -xRm -xRm -xRm +pHM +pHM +pHM rWa -xRm -xRm +pHM +pHM qdd vXM rWa @@ -95164,25 +96005,25 @@ aac aac aac aac -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM vXM rWa -xRm -xRm -xRm +pHM +pHM +pHM rWa -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM fYW vXM vXM @@ -95428,14 +96269,14 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -95692,7 +96533,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -95949,7 +96790,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -96206,7 +97047,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -97450,9 +98291,9 @@ abM abM abM jIG -iDB +jaC mzV -bnY +drc lSp wnq dwR @@ -97983,9 +98824,9 @@ aak aak aak aak -xRm -xRm -xRm +pHM +pHM +pHM aak aak aak @@ -98486,7 +99327,7 @@ gga rBW ffN sMr -uGX +aVi drH ney tms @@ -98672,7 +99513,7 @@ abM abM jIN vUP -vUP +hgr luY wlo abM @@ -99017,7 +99858,7 @@ aeL aeL aeL aeJ -xRm +pHM aak aaN igy @@ -99243,7 +100084,7 @@ jIG jHb tPW tPW -oSi +qGF jIG abM abM @@ -99264,7 +100105,7 @@ vOU ney vNH aen -xRm +pHM aey aey aey @@ -99274,7 +100115,7 @@ aeL aeL aeL aeH -xRm +pHM aak aak amq @@ -99521,7 +100362,7 @@ dnE ney vNH aak -xRm +pHM aey aey aey @@ -99531,7 +100372,7 @@ aeL aeL aeL aeJ -xRm +pHM aak aaN igy @@ -99788,7 +100629,7 @@ aeL aeL aeL aeH -xRm +pHM aak aaa aaa @@ -99965,10 +100806,10 @@ jyQ vBa vrG iTz -fEZ -qnk -aGk -hPA +lGj +eBN +eQI +tdW hFr abM abM @@ -99989,13 +100830,13 @@ gAJ qjU abM acx -abM +lgj abM abM ada abM abM -abM +maZ acx aaa abM @@ -100006,7 +100847,7 @@ mOW iwV nav fEK -ugd +hOg pkp jYz kSp @@ -100045,7 +100886,7 @@ aeL aeL aeL aeJ -xRm +pHM aak aaa aaa @@ -100179,19 +101020,19 @@ vXM vXM vXM cAd -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM aai aac aac @@ -100222,10 +101063,10 @@ gtz fHg dVC kKB -pxs -jXY -lxO -xmH +hcj +mXE +pDC +hcj hFr abM abM @@ -100479,8 +101320,8 @@ eTs eTs eTs iTz -bFc -wLP +dHV +eQf uCv arZ hFr @@ -100522,7 +101363,7 @@ bUj kdb yih pkp -wnM +htm ifX iRe wJt @@ -100547,7 +101388,7 @@ qHs qgj xmJ xmJ -fdz +xmJ xmJ xmJ pQO @@ -100560,7 +101401,7 @@ iFY qHs hFq rEV -qTI +gqp tcD qHs aaa @@ -100736,8 +101577,8 @@ iZc bVL aSB iTz -wUL -izL +tPw +fIU ljC bZh hFr @@ -100768,7 +101609,7 @@ acQ acQ qjU nNs -gTY +cpR jnq abM jnq @@ -100993,10 +101834,10 @@ fez fez cMB iTz -bnh +aSx xgh fKv -vGd +vbC hFr hFr hFr @@ -101031,7 +101872,7 @@ abM jnq jIy tsa -pzq +khl hJa kdb msU @@ -101250,10 +102091,10 @@ kpt haB kEf iTz -jeC +kBC jmk -pYt -lSI +uaH +nrB lWF iMC vVq @@ -101567,10 +102408,10 @@ lku oxs sna gRQ -fXX +hJP cuQ arO -qPQ +gQG qHs asA bWN @@ -101724,19 +102565,19 @@ vXM vXM vXM cAd -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM aai aac aac @@ -101794,7 +102635,7 @@ kFp eYs kFp sTM -fFh +cdN lhi jnq abM @@ -102329,7 +103170,7 @@ kUs kUs vpP roB -uBy +fXQ fXQ roB pCr @@ -102601,7 +103442,7 @@ eKn pfG qHs bpZ -fuj +qnb rJD hDI oMc @@ -103108,7 +103949,7 @@ kHR tga rnf xBD -qKW +aoS sHH sHH sHH @@ -103336,7 +104177,7 @@ kFp eYs kFp kFp -byM +mqq pcu mIU pcO @@ -103367,7 +104208,7 @@ pTl ozd eOP wGk -hDF +cwO sHH ydk qHs @@ -103378,8 +104219,8 @@ cyN umx twR hKM -jux -wPj +lfY +ego qIq gyC qgB @@ -103633,11 +104474,11 @@ sHh yeg sHh sHh -exQ -kAF -kAF -kAF -wYS +xpA +tUj +tUj +tUj +voj sHh sHh poT @@ -103865,7 +104706,7 @@ ixT gYI cgR ial -qwn +bFa amV mvy iXQ @@ -103875,7 +104716,7 @@ dor fSp vKv roB -mzi +bFz iHK bAK jsW @@ -103890,14 +104731,14 @@ qHs sHj qHs qHs -pFO -jfD -xuk -jfD -oDq +wqH +kNq +xfa +kNq +qTC qHs qHs -fWn +jRW qHs qHs qHs @@ -104142,18 +104983,18 @@ sHH sHH hZr hZr -coB +fnn mRs jaW mAx qHs -nmN -eEp -kgg -eEp -hzQ +nVN +wcu +bJq +wcu +uZx qHs -xRm +pHM aeV aeV prq @@ -104399,7 +105240,7 @@ rvh jUz ivk hZr -coB +fnn mRs woR mAx @@ -105102,17 +105943,17 @@ sPo nck rqk pGy -dUH -uDT -wEl +pbc +hGz +nVK aHR aHR aHR aHR aHR -ghp +iNK aHR -ovY +tlL aHR sJQ sJQ @@ -105176,11 +106017,11 @@ mfB qga exl oNq -xRm +pHM ahD fKg hVy -awE +dPa fjQ vXM aaa @@ -105359,7 +106200,7 @@ acE xpb xpb xpb -gRG +bkc xpb xpb iAI @@ -105378,7 +106219,7 @@ xpb xpb kVP xpb -jer +sKN xJG vsn bHn @@ -105421,7 +106262,7 @@ skM bZW qkN cPM -dsH +dbi nFL dsH cPM @@ -105437,7 +106278,7 @@ amS tLz xTM awE -rAf +awE fjQ vXM aac @@ -105612,11 +106453,11 @@ aaa sNs sNs vWI -acF +bpy vWI sNs vWI -aWJ +fZv vWI sNs alg @@ -105679,7 +106520,7 @@ rRc rJM cPM cPM -asQ +cPM cPM cPM oqh @@ -105867,15 +106708,15 @@ aaa aaa aaa sNs -cTl -mOB -acG -qeD -fUP -mOB -uAC -qeD -qxU +kvE +jwc +lCQ +cmf +elq +jwc +hAC +cmf +wHL alg uCB aeG @@ -105935,7 +106776,7 @@ nNQ toq hpf cPM -lrX +dKv hAW lrX cPM @@ -106124,15 +106965,15 @@ aaa aaa aaa sNs -bNG +gpw eJZ -bNm -ruo -pCM -kzx -oSl +dql +apm +cHa +mUA +haI ive -coV +eBh alg aes khE @@ -106208,7 +107049,7 @@ vXM ahD koq rjP -nBA +lwV fjQ vXM aaa @@ -106381,15 +107222,15 @@ aaa aaa aaa sNs -jYJ -pvL -sLp -aKG -oOb -prW -dyp -hbk -sXV +xfO +noT +poH +oiM +nJs +wXA +vyX +vUw +wQg alg bug hGt @@ -106412,8 +107253,8 @@ mGw eep eep mGw -cpR -aGi +lrw +ecX qjU acP acP @@ -106421,12 +107262,12 @@ adc acP acP qjU -ecX -bXs +qzI +cpR qjU aaa hZr -aQw +vFR aQw gVI tXf @@ -106465,7 +107306,7 @@ amS tLz ljZ nBA -lrw +nBA fjQ vXM aac @@ -106638,15 +107479,15 @@ aaa aaa aaa sNs -vFp -act -rkq -jjM -geJ -qAC -adE -pOQ -adU +sLg +fQZ +wxg +suE +jPc +xlw +vLM +dkr +oiY alg alg alg @@ -106897,11 +107738,11 @@ aaa sNs sNs sNs -eaZ -pFw -eHj -wXB -gms +jse +vuY +nOM +ulr +ghK sNs sNs sNs @@ -106921,7 +107762,7 @@ vZB bja nar ahj -mkA +fFl mGw mGw mGw @@ -107185,13 +108026,13 @@ aaa aaa aaa acx -abM +asQ abM abM ada abM abM -abM +fHz acx aaa aaa @@ -107232,11 +108073,11 @@ ssw fja cPD oNq -xRm +pHM ahD gMi hNI -jqS +gTY fjQ vXM aac @@ -107387,9 +108228,9 @@ vXM vXM vXM fYW -xRm -xRm -xRm +pHM +pHM +pHM aac aam hlS @@ -107493,7 +108334,7 @@ uFX aNd mUd jqS -fHz +jqS fjQ vXM aaa @@ -107501,8 +108342,8 @@ aaa aaa aac aai -xRm -xRm +pHM +pHM rge vXM vXM @@ -107746,7 +108587,7 @@ wIY pKo vaK hZr -xRm +pHM fjQ fjQ fjQ @@ -108003,7 +108844,7 @@ hZr hZr lCk hZr -xRm +pHM hZr vXM mQi @@ -108240,19 +109081,19 @@ aaa abM abM wQP -xRm +pHM oFH -xRm +pHM bWv -xRm +pHM oFH -xRm +pHM bWv -xRm +pHM oFH -xRm +pHM bWv -xRm +pHM oFH nYX jUW @@ -108260,7 +109101,7 @@ mHw orh uxn oNq -xRm +pHM hZr aaa oEf @@ -108270,8 +109111,8 @@ aac aac vXM vXM -xRm -xRm +pHM +pHM rge vXM vXM @@ -109038,8 +109879,8 @@ hYn aac aac vXM -xRm -xRm +pHM +pHM rge vXM vXM @@ -109269,24 +110110,24 @@ abM abM abM mwK -dKv spF +mNX spF fjQ -vFR piX +xmI piX fjQ -lwV qBg +aGi qBg fjQ -dWj fjb +bXs fjb hZr bQQ -qzI +csN hZr hZr hZr @@ -109444,9 +110285,9 @@ vXM vXM vXM fYW -xRm -xRm -xRm +pHM +pHM +pHM aac aam hlS @@ -110823,7 +111664,7 @@ eqY ixc rPj bHy -eqY +byM asC hkW rCd @@ -110832,7 +111673,7 @@ gqV gqV tTK xWj -cdN +qWU rdO qWU auo @@ -110980,12 +111821,12 @@ vXM fYW vXM vXM -xRm +pHM vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -111237,12 +112078,12 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -111338,14 +112179,14 @@ ibY ibY ibY ibY -hiT +qXx gjj rCd pts gEs nXQ rnA -mjl +eEz atX wAQ qWU @@ -111494,12 +112335,12 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -111747,18 +112588,18 @@ vXM vXM vXM fYW -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM bwp -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM bwp -xRm +pHM aai aac aac @@ -113289,20 +114130,20 @@ vXM vXM vXM fYW -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM bwp -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM bwp -xRm -xRm -xRm +pHM +pHM +pHM aai hlS hlS @@ -113550,14 +114391,14 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -113610,13 +114451,13 @@ aaa aaa abW acx -abM +pqU abM abM ada abM abM -abM +dWj acx aaa aaa @@ -113807,14 +114648,14 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -114064,14 +114905,14 @@ vXM fYW vXM vXM -xRm +pHM vXM vXM vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -114379,8 +115220,8 @@ whL aaa aaa mbJ -osG -pqU +qTI +uXD mbJ acQ acQ @@ -115137,7 +115978,7 @@ kDi afw uGW pYH -syR +aNk iRL abM arE @@ -115415,7 +116256,7 @@ hFC dBM cDd sZh -sPB +fdz mbJ aaa aaa @@ -115614,9 +116455,9 @@ vXM vXM vXM fYW -xRm -xRm -xRm +pHM +pHM +pHM aac aac aam @@ -116473,8 +117314,8 @@ rin dUT vtq fVH -vtq xHw +rAf qVr mBm dHc @@ -117215,7 +118056,7 @@ qeo hFC hFC wpc -rpp +aHy abM abM aaa @@ -117254,7 +118095,7 @@ hDT keT iEF fof -aoN +dzb knb hQk aHT @@ -117671,9 +118512,9 @@ vXM vXM vXM fYW -xRm -xRm -xRm +pHM +pHM +pHM aac aac aac @@ -117803,7 +118644,7 @@ vXM rxw rxw vXM -xRm +pHM vXM vXM vXM @@ -117814,7 +118655,7 @@ vXM vXM vXM vXM -xRm +pHM vXM rxw rxw @@ -117978,7 +118819,7 @@ oys abM abM abM -vcg +pFo obq hFC hFC @@ -118060,7 +118901,7 @@ rxw rxw vXM vXM -xRm +pHM oqp oqp oqp @@ -118071,7 +118912,7 @@ oqp oqp oqp oqp -xRm +pHM vXM vXM rxw @@ -118277,7 +119118,7 @@ qVr qVr kkx cJP -lxd +cge mLE dGs dGs @@ -118569,7 +119410,7 @@ vXM vXM vXM vXM -xRm +pHM vXM oqp oqp @@ -118846,7 +119687,7 @@ mYt oqp oqp oqp -xRm +pHM rxw vXM vXM @@ -119027,7 +119868,7 @@ cJS nhj cVU oRz -pQy +myI sQZ nhj prI @@ -119281,7 +120122,7 @@ owO owO owO cJS -rKD +vHH cVU cFW cFW @@ -119538,7 +120379,7 @@ sQZ sQZ sQZ sQZ -wrz +xCi hIY tVK vIF @@ -119578,22 +120419,22 @@ aaa aaa aaa aaa -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM xvl xvl xvl @@ -119796,12 +120637,12 @@ aaa aaa sQZ mtI -fGK -bwU -vEl -wtR -uVa -oQU +rFT +dYK +oCy +nRJ +vVm +aky ojU gzw gzw @@ -119850,7 +120691,7 @@ vXM vXM vXM vXM -mbe +jpg xvl fLB xly @@ -120052,15 +120893,15 @@ aaa aaa aaa sQZ -wSp -nNh -gXo -sGF -gXo -sGF -gkF -kRR -nNh +dOu +dyQ +hNf +diI +hNf +diI +bPS +vii +dyQ gzw gGi xBC @@ -120089,25 +120930,25 @@ vwd pRm pRm pRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM dBj wXI jqs @@ -120283,7 +121124,7 @@ xSG xSG xSG vle -aiX +iPW vle aaa aaa @@ -120309,15 +121150,15 @@ aaa aaa aaa sQZ -kRR -vCY -kQR -bpn -kRR -wSp -cwU -kRR -gXo +vii +hPS +gxR +ptX +vii +dOu +lhw +vii +hNf gzw dNH lrt @@ -120336,7 +121177,7 @@ lxW iix qQa vtd -hGd +eGj iGF xkg tXA @@ -120539,8 +121380,8 @@ aac aac aac aai -xRm -xRm +pHM +pHM vle aaS aaa @@ -120567,12 +121408,12 @@ aaa oyR sQZ sQZ -aML -kRR -mmy -nNh -vCY -nRd +cxI +vii +wVW +dyQ +hPS +aoj ojU gzw gzw @@ -120592,7 +121433,7 @@ kYP wSj lXK wxX -etG +qbk pKC cPE qah @@ -120603,32 +121444,32 @@ aGY pRm pRm pRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM dBj fMK fMK dBj uBo wOw -lHa +wAK xvl kbc mwL @@ -120823,12 +121664,12 @@ aaa aaa oyR vUz -tdY -pTj -kRR -vDg +iHp +jeN +vii +enP pQx -fEM +jXR sQZ sQZ gzw @@ -121081,9 +121922,9 @@ aaa oyR pQx vUz -nzO -pTj -pTj +fzK +jeN +jeN hgN mRD asu @@ -121115,27 +121956,27 @@ hJl iix iix iix -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM +pHM xvl xvl xvl @@ -121879,7 +122720,7 @@ hJl hJl fYw typ -gfV +ycQ ixC hJl hJl @@ -121930,7 +122771,7 @@ mYt oqp oqp oqp -xRm +pHM rxw vXM vXM @@ -122116,7 +122957,7 @@ dfz mpd lEt glc -xRm +pHM pAT cHH bNp @@ -122167,7 +123008,7 @@ vXM vXM vXM vXM -xRm +pHM vXM oqp oqp @@ -122373,21 +123214,21 @@ dfz txW iMt glc -xRm +pHM hkN gIj loa ygC ygC ygC -fSq +ygC dfz xVv qOo qOo lZJ yei -gBr +nbx hee aaa aaa @@ -122686,7 +123527,7 @@ rxw rxw vXM vXM -xRm +pHM oqp oqp oqp @@ -122697,7 +123538,7 @@ oqp oqp oqp oqp -xRm +pHM vXM vXM rxw @@ -122889,7 +123730,7 @@ aaa aaa aaa dfz -wrn +mMf ure bKT bqU @@ -122898,8 +123739,8 @@ nuu dfz uCz wRv -wRv vTp +uBy aei xei aei @@ -122943,7 +123784,7 @@ vXM rxw rxw vXM -xRm +pHM vXM vXM vXM @@ -122954,7 +123795,7 @@ vXM vXM vXM vXM -xRm +pHM vXM rxw rxw @@ -123108,11 +123949,11 @@ aaP aaQ aac aaS -xRm -xRm -xRm -xRm -xRm +pHM +pHM +pHM +pHM +pHM aaS aaa aaa @@ -123361,7 +124202,7 @@ vXM vXM vXM vXM -xRm +pHM aaH aac aac @@ -123610,7 +124451,7 @@ aaa aaa aaa aaH -xRm +pHM vXM vXM vXM @@ -123618,7 +124459,7 @@ vXM vXM vXM vXM -xRm +pHM aaH aac aac @@ -123867,7 +124708,7 @@ aaa aaa aaa aaI -xRm +pHM vXM vXM vXM @@ -123875,7 +124716,7 @@ vXM vXM vXM vXM -xRm +pHM aaI aac aac @@ -124124,7 +124965,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -124132,7 +124973,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -124179,7 +125020,7 @@ kNE nMB qAl nMB -bGP +lka frV wco lwt @@ -124381,7 +125222,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -124389,7 +125230,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM aac @@ -124638,7 +125479,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -124646,7 +125487,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -124691,7 +125532,7 @@ ign olR vvF vjA -pPk +owL dWM ign ign @@ -124895,7 +125736,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -124903,7 +125744,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125152,7 +125993,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125160,7 +126001,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125409,7 +126250,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125417,7 +126258,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125460,9 +126301,9 @@ aac aac aac aac -xRm +pHM vXM -xRm +pHM aac aac vXM @@ -125666,7 +126507,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125674,7 +126515,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125717,9 +126558,9 @@ vXM aac aac aac -xRm +pHM vXM -xRm +pHM aac aac vXM @@ -125923,7 +126764,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125931,7 +126772,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -125974,9 +126815,9 @@ vXM vXM aac vXM -xRm +pHM vXM -xRm +pHM aac vXM vXM @@ -126180,7 +127021,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126188,7 +127029,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126231,9 +127072,9 @@ vXM vXM vXM vXM -xRm -xRm -xRm +pHM +pHM +pHM vXM vXM vXM @@ -126437,7 +127278,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126445,7 +127286,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126488,9 +127329,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -126694,7 +127535,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126702,7 +127543,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126745,9 +127586,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -126951,7 +127792,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -126959,7 +127800,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127002,9 +127843,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -127208,7 +128049,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127216,7 +128057,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127259,9 +128100,9 @@ vXM vXM vXM vXM -xRm -xRm -xRm +pHM +pHM +pHM vXM vXM vXM @@ -127465,7 +128306,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127473,7 +128314,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127516,9 +128357,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -127722,7 +128563,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127730,7 +128571,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -127773,9 +128614,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -127979,7 +128820,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -128030,9 +128871,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -128287,9 +129128,9 @@ vXM vXM vXM vXM -xRm -xRm -xRm +pHM +pHM +pHM vXM vXM vXM @@ -128544,9 +129385,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM fjj vXM @@ -128801,9 +129642,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -129058,9 +129899,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -129315,9 +130156,9 @@ vXM vXM vXM vXM -xRm -xRm -xRm +pHM +pHM +pHM vXM vXM vXM @@ -129572,9 +130413,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -129829,9 +130670,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -130086,9 +130927,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -130343,9 +131184,9 @@ vXM vXM vXM vXM -xRm -xRm -xRm +pHM +pHM +pHM vXM vXM vXM @@ -130600,9 +131441,9 @@ vXM vXM vXM vXM -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -130857,9 +131698,9 @@ vXM aaa aaa aaa -xRm +pHM vXM -xRm +pHM vXM vXM vXM @@ -130910,8 +131751,8 @@ vXM vXM vXM vXM -xRm -rYE +pHM +wEL vXM vXM vXM @@ -131114,9 +131955,9 @@ aaa aaa aaa aaa -xRm +pHM vXM -xRm +pHM vXM vXM aaa @@ -131166,9 +132007,9 @@ vXM vXM vXM vXM -xRm -rYE -rYE +pHM +wEL +wEL vXM vXM vXM @@ -131423,9 +132264,9 @@ vXM vXM vXM vXM -xRm -siX -xRm +pHM +eqb +pHM vXM vXM vXM @@ -131681,7 +132522,7 @@ vXM vXM vXM vXM -xRm +pHM vXM vXM vXM @@ -139297,7 +140138,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -139554,7 +140395,7 @@ pMW pMW cAd pMW -wIP +avE pMW pMW pMW @@ -139574,7 +140415,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -139809,9 +140650,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -139831,7 +140672,7 @@ pMW pMW pMW pMW -wIP +avE pMW cAd pMW @@ -140066,9 +140907,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE pMW pMW pMW @@ -140088,9 +140929,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -140325,7 +141166,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -140345,9 +141186,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE pMW pMW pMW @@ -140582,7 +141423,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -140602,7 +141443,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -140839,7 +141680,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -140859,7 +141700,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -141096,7 +141937,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -141116,7 +141957,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -141867,7 +142708,7 @@ pMW pMW pMW pMW -xRm +pHM pMW pMW pMW @@ -141887,7 +142728,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -142124,7 +142965,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -142144,7 +142985,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -142895,8 +143736,8 @@ pMW pMW pMW pMW -wIP -wIP +avE +avE rOy rOy oKl @@ -142914,8 +143755,8 @@ pMW oKl rOy rOy -wIP -wIP +avE +avE pMW pMW pMW @@ -143156,7 +143997,7 @@ oKl pMW pMW pMW -wIP +avE pMW pMW pMW @@ -143168,7 +144009,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -143670,7 +144511,7 @@ oKl pMW pMW pMW -wIP +avE pMW pMW pMW @@ -143682,7 +144523,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -143766,7 +144607,7 @@ aaa aaa gcp agw -agG +vfZ gcp aaa aaa @@ -143923,8 +144764,8 @@ pMW pMW pMW pMW -wIP -xRm +avE +pHM rOy rOy rOy @@ -143942,8 +144783,8 @@ oKl rOy rOy rOy -xRm -wIP +pHM +avE pMW pMW pMW @@ -143954,7 +144795,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -144211,7 +145052,7 @@ pMW oKl rOy rOy -xRm +pHM rOy rOy pMW @@ -144442,7 +145283,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -144452,7 +145293,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -144465,12 +145306,12 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -144694,12 +145535,12 @@ pMW pMW pMW pMW -wIP +avE tPE tPE tPE tPE -wIP +avE pMW pMW pMW @@ -144709,12 +145550,12 @@ pMW pMW pMW pMW -wIP +avE tPE tPE tPE tPE -wIP +avE pMW pMW pMW @@ -144722,12 +145563,12 @@ pMW pMW pMW pMW -wIP +avE tPE tPE tPE tPE -wIP +avE pMW pMW pMW @@ -144951,12 +145792,12 @@ oKl oKl oKl oKl -wIP +avE tPE qnv tld nmY -fXf +nmY nmY pMW pMW @@ -144971,7 +145812,7 @@ nmY cPH dfL nmY -wIP +avE pMW pMW pMW @@ -144979,7 +145820,7 @@ pMW pMW pMW pMW -wIP +avE nmY hng xnH @@ -145203,7 +146044,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -145460,7 +146301,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -147269,7 +148110,7 @@ jde kIZ aVT nmY -fXf +nmY nmY pMW pMW @@ -149585,7 +150426,7 @@ rlv rlv rlv sXa -rPt +bOv ssn vXL sXa @@ -150129,7 +150970,7 @@ cSr hnH gFt cSr -gCQ +fKw evs ezh tdx @@ -150845,7 +151686,7 @@ fLY tFk kcV xNL -wAH +fWI tFk aaa aaa @@ -150886,9 +151727,9 @@ bhY emO rWt ckM -pMz -pzw -cGm +mgp +faI +aPw mpw ckM kwo @@ -151096,7 +151937,7 @@ aaa aaa aaa yji -wOb +bOB mJQ sub yji @@ -151113,8 +151954,8 @@ hzN hzN hzN hzN -kQP -asI +rbf +hyw rcx hzN xQv @@ -151158,9 +151999,9 @@ ild lXe naz dXR -iOi +kgd eyy -eJz +kgd rAS rfR gsT @@ -151347,12 +152188,12 @@ aac aac aac aac -aaa -aaa -aaa -aaa -aaa -yji +uov +uov +uov +uov +uov +uov kft aBK rGN @@ -151384,7 +152225,7 @@ aBV aBV wHT uqs -kcw +dqm ruV wHT twz @@ -151403,22 +152244,22 @@ kVs oFo hFb laT -hdH -gaq +cSr gaq -aDZ -mkS +iOi +iOi +kgd jXw ahZ kgd rWe gYD hNz -kgd -kgd +dOX +bLe uuC -kgd -rAS +qdG +gjL iMy eNx eNx @@ -151605,10 +152446,10 @@ aac aac aac uov -uov -uov -uov -uov +uSS +avq +avy +rPd uov nDj aBK @@ -151661,21 +152502,21 @@ fpg eFN njX hdH -iOi +mkS iOi moX -bSd +bLe lwx hhD fJF nti dKS -dKS -dKS -dKS +fJF +fJF +fJF bIg -dKS -fst +kkP +rAS fJN vhB nxq @@ -151863,8 +152704,8 @@ xSX xSX xSX lJu -avq -avy +tkH +tkH tkH xSX nDj @@ -151907,7 +152748,7 @@ vhv uba yjN yjN -rWB +rEf yjN sEY xhk @@ -151917,22 +152758,22 @@ czP wMt vwT uyd -hdH -oHp -oHp +cSr +ugZ iOi -kkP +aDZ +bLe iwY dwO cjQ jQa -cjQ -bLe -bLe -bLe +rPt +ddk +ddk +ddk dZM ddk -rAS +fXf mWC uWW aOt @@ -152175,21 +153016,21 @@ cUL nXn fUy hdH +owQ iOi -iOi -iOi -bSd +uey +bLe iwY dKy xAg xAg usR -xAg -xAg -xAg -xAg -gTx +fst +axB naN +axB +gTx +rAS umU ejF mZD @@ -152431,27 +153272,27 @@ yiM pBj nXn lUf -hdH -dCD -gjL +cSr +eJz iOi -kkP +bSd +bLe iwY mcX tpR sUs rmi -uey +oHp +iuM +dCD iuM -vbV -dFc prt rAS rna gwY iRC dqu -eLr +eNx rAS aeD cVF @@ -152675,7 +153516,7 @@ uVb iaT gQz nAP -sNr +eLr jmR oxf qit @@ -152685,7 +153526,7 @@ jvf tkv lGp yiM -tRn +mMb nXn lUf cSr @@ -152931,8 +153772,8 @@ vBn tRV sik iOm -ofA -lcS +noR +sNr vhG jSd nXI @@ -152970,7 +153811,7 @@ rAS xmZ qXS epP -aQL +hel jFJ jFJ jFJ @@ -153170,8 +154011,8 @@ yji dxC dxC jos +lDt idG -hFL ayJ rKf rhc @@ -153196,7 +154037,7 @@ jvf fKO tki jvf -loc +yiM syX yiM mjx @@ -153423,7 +154264,7 @@ jGL jed oIz gnW -wiI +ydQ mcD pDy tWn @@ -153489,10 +154330,10 @@ jFJ aHp qgS jFJ -wIP -wIP -wIP -wIP +avE +avE +avE +avE pMW pMW pMW @@ -153685,7 +154526,7 @@ rMS psv hTn miR -maN +iXX kPo plW maN @@ -153937,7 +154778,7 @@ iUE rxE jyR lMR -ktX +vQq pqd kdV acr @@ -154003,10 +154844,10 @@ jYe gnr bIJ jFJ -wIP -wIP -wIP -wIP +avE +avE +avE +avE pMW pMW pMW @@ -154199,7 +155040,7 @@ qyZ qyZ qyZ qyZ -uVo +ruy cGN uVo eVC @@ -154224,7 +155065,7 @@ gbe jGG cFs yiM -nEu +pow rLP mlj yjQ @@ -154709,7 +155550,7 @@ mwg ceF avX qyZ -stg +iRd joF kSZ bvq @@ -154718,7 +155559,7 @@ xIp xIp eVC qyZ -jsT +ntJ tJE uTs sKC @@ -155245,13 +156086,13 @@ pkP lPY eaT kiU -aQm +glv cFs nVr gbe jGG cFs -aQm +iIS pow pyf fXY @@ -155516,7 +156357,7 @@ gbl lZz jMe fSr -rVp +pKW qOF xmR xmR @@ -155759,7 +156600,7 @@ cWl lPY eaT kiU -aQm +qCJ cFs nVr gbe @@ -156228,7 +157069,7 @@ aaa aaa aaa dEv -jlQ +slq sne ubk hgn @@ -156508,14 +157349,14 @@ blo fxK lpg qyZ -cFH +nDv xcH oho bPp uVo mDY uVo -ahG +eVC qyZ xLi meO @@ -156523,7 +157364,7 @@ aQO rup wzm rAh -qpr +sDP eUy mgq nhV @@ -156769,7 +157610,7 @@ qyZ qyZ qyZ qyZ -uVo +ahG dEU uVo eVC @@ -156794,7 +157635,7 @@ gbe jGG cFs yiM -qCJ +pow vNF prs gtQ @@ -156805,7 +157646,7 @@ ica uZs uZs uZs -qdG +uZs vEv feZ llm @@ -156830,8 +157671,8 @@ vCZ wAA vCZ vCZ -wIP -wIP +avE +avE esT mAG tMW @@ -156839,9 +157680,9 @@ byH tMW tMW esT -wIP -wIP -wIP +avE +avE +avE kFx pMW pMW @@ -157003,7 +157844,7 @@ auP qxT jkQ tod -ruy +tod cSq fZe fZe @@ -157021,7 +157862,7 @@ fph sHw kil axp -rUd +wiM njR joB lTV @@ -157535,7 +158376,7 @@ aBN sDO jFh msW -pLg +aRB nSV aPk sGG @@ -157546,7 +158387,7 @@ svc svc svc aeP -dFJ +eQL aBr trZ myc @@ -157796,7 +158637,7 @@ tFJ vMu tFJ pyn -maN +hFL maN lfP maN @@ -157858,8 +158699,8 @@ aaa aaa aaa aai -wIP -wIP +avE +avE esT tMW tMW @@ -157867,10 +158708,10 @@ sOg mAG mAG esT -wIP -wIP -wIP -wIP +avE +avE +avE +avE kFx kFx kFx @@ -158024,7 +158865,7 @@ aaa aaa rmB pxf -bWb +inz toY wpM auP @@ -158127,7 +158968,7 @@ sdb pMW pMW pMW -wIP +avE pMW pMW pMW @@ -158137,7 +158978,7 @@ pMW pMW pMW pMW -wIP +avE kFx kFx kFx @@ -158293,7 +159134,7 @@ wbH wbH qPI cQM -bTI +sQq ppr gki cGg @@ -158327,7 +159168,7 @@ hBf pkk sDe yiM -tkv +gEC qUg yiM cFs @@ -158384,7 +159225,7 @@ sdb pMW pMW pMW -wIP +avE pMW pMW pMW @@ -158394,14 +159235,14 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW pMW pMW -wIP +avE pMW kFx pMW @@ -158548,7 +159389,7 @@ avn fAg oUx wbH -doF +gnL jKq jKq jKq @@ -158577,9 +159418,9 @@ kOr cvf iUw moq -eyh +jxl xEo -mGB +pWm aCS pIl gdF @@ -158651,14 +159492,14 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -158836,7 +159677,7 @@ aBt crE tEl xEo -pQL +pDW kyq pIl dUl @@ -158850,7 +159691,7 @@ laU jGG cFs yiM -aEP +dJk qSQ yiM cFs @@ -158915,7 +159756,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -159108,7 +159949,7 @@ jGG cFs iPy ojT -aHe +aEP yiM cFs cFs @@ -159173,10 +160014,10 @@ sdb sdb sdb esT -wIP -wIP -wIP -wIP +avE +avE +avE +avE kFx pMW pMW @@ -159343,7 +160184,7 @@ ltw tKH tgh ltw -sWY +hJk hhJ wKk phl @@ -159611,7 +160452,7 @@ aaS aaS aaS aaS -afz +aHe afA afz mtY @@ -159623,7 +160464,7 @@ taP byy afz age -abM +jyL afg abW aaa @@ -159676,7 +160517,7 @@ opb oOJ oOJ stK -ixH +jVz sOg oOJ uXM @@ -160715,10 +161556,10 @@ sdb sdb sdb esT -wIP -wIP -wIP -wIP +avE +avE +avE +avE kFx pMW pMW @@ -160971,7 +161812,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -161228,7 +162069,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -161479,13 +162320,13 @@ pMW pMW pMW sdb -wIP +avE pMW pMW pMW pMW pMW -wIP +avE pMW kFx pMW @@ -162155,7 +162996,7 @@ oXb rNk drh uMg -rPd +dpk omm abM abM @@ -162669,7 +163510,7 @@ qSg hmA sGb sSH -pKW +dpk omm abM abM @@ -165008,7 +165849,7 @@ aaa aaa aaa afv -afz +aHf afA afz sbs @@ -165020,7 +165861,7 @@ ryn eGX afz age -afz +tDM afv aaa aaa @@ -165533,7 +166374,7 @@ lwN eSz nEl wYw -aHf +ghg izU aaa aaa @@ -166303,7 +167144,7 @@ fXy lwN eSz izU -seG +cFb tHj jyH pvp @@ -166319,7 +167160,7 @@ jSc hjz xRx aLw -pVk +cTc uPo xRx ycs @@ -166585,7 +167426,7 @@ gnM apC abM mBq -pdX +rrz kHy fxM qUL @@ -166804,8 +167645,8 @@ aBQ rWd izU ghg -cTc -rOu +izU +ugP xCp izU sIk @@ -166842,7 +167683,7 @@ lBQ apC kZC mBq -dsw +vNi aOJ aPm wWa @@ -167338,7 +168179,7 @@ xXL cYl sjE jAc -kkd +mic qNI mrC ikM @@ -167608,8 +168449,8 @@ qdK jpC qdK qdK +qdK dqW -aNs eCu mDS iCc @@ -167815,8 +168656,8 @@ eSx eSx bgL mgZ -fqU uGa +aCa nrV oDP eSx @@ -167837,7 +168678,7 @@ izU izU izU tAL -sOD +mYI izU kkR nIU @@ -167845,7 +168686,7 @@ ejH euV qvf izU -uCl +lej lRC ofT ofT @@ -168361,7 +169202,7 @@ bHm ykP lej iVr -lDt +wyd kiN xJA gHh @@ -168598,8 +169439,8 @@ rom sDo kuB tSc -nKz -nKz +eKq +eKq sDo pVI bXo @@ -168857,7 +169698,7 @@ yfd rro fZR eKq -aCa +nKz crT wcv mHc @@ -168866,13 +169707,13 @@ beW aEl rOu umT -ykP +gnK pLs qBp hHd fSc huO -ykP +sOD lej jeW hNo @@ -169155,7 +169996,7 @@ xOn gHp dHv xSZ -vdX +jCw cuN iiH jYC @@ -169380,13 +170221,13 @@ beW aEk rOu umT -ykP +iiP wPI ndA wgA lxq pLs -ykP +ccC lej pxC hNo @@ -169871,8 +170712,8 @@ eSx qXa kWH uzM -uuB mdp +fqU mdp mUL spp @@ -169902,7 +170743,7 @@ vOy czY ykP lej -iOy +fxs wyd qtc kin @@ -170386,7 +171227,7 @@ eSx llj whs fEG -cON +sRn mkl fxS eSx @@ -170407,7 +171248,7 @@ izU izU hce aEm -gnK +mpa izU kBG nIU @@ -170415,7 +171256,7 @@ ejH euV mjp izU -eQL +lej ycx vrO fnb @@ -170430,7 +171271,7 @@ iTt rjs jtr jtr -rhd +jtr xSZ xqB xSZ @@ -170692,8 +171533,8 @@ gNk mFV gNk gNk +gNk tgU -aNv eSv wCn kGa @@ -170933,7 +171774,7 @@ rOu rSo aHA fnb -fWX +eSz eSz eSz qNI @@ -171159,9 +172000,9 @@ abM abM abM lZW -eDV -pnD iZn +pnD +tIT dME evW sRA @@ -171188,7 +172029,7 @@ kNT krM keN csl -vic +izU izU izU clT @@ -171206,7 +172047,7 @@ caR gov ojj xav -qdK +rQe gXA qdK sun @@ -171416,9 +172257,9 @@ aaa abM abM lZW -kli +aNv wIT -tEa +kli dME obL hYP @@ -171673,9 +172514,9 @@ aaa abM abM lZW -vQO -fyF otx +fyF +uuB dME dyf fQk @@ -171936,8 +172777,8 @@ lSv dME wMZ hMB -lse -lse +uDB +uDB aBa uDB uDB @@ -171957,7 +172798,7 @@ fXy lwN eSz izU -seG +loc dCJ izU wza @@ -172444,7 +173285,7 @@ aaa abM abM lZW -atr +hXZ fdW euS dME @@ -172471,7 +173312,7 @@ fXy lwN eSz izU -ghg +oUq xlZ izU wza @@ -172719,7 +173560,7 @@ aaa aaa aaa izU -gEC +vYA wYw nEl eSz @@ -172729,7 +173570,7 @@ lwN eSz nEl wYw -aHl +ghg izU wza izU @@ -172755,9 +173596,9 @@ svF xrG kow wDt -jqY -jqY -jqY +vbV +vbV +vbV aQI ugt aak @@ -172923,10 +173764,10 @@ pMW pMW pMW kFx -wIP -wIP -wIP -wIP +avE +avE +avE +avE aTY iCA fZL @@ -173012,9 +173853,9 @@ ugt ugt nlf ihB -eNH buW -kow +eNH +rhd vjx xbh agN @@ -173232,7 +174073,7 @@ aaa aaa aaa afv -afz +ndy afA afz mtY @@ -173242,7 +174083,7 @@ crg nnA ryn byy -afz +doF age aaS abM @@ -173267,12 +174108,12 @@ vrJ aPS tMb ugt -ugt -ugt -dhC dhC fLP dhC +dhC +ugt +ugt ugt agQ aac @@ -173525,10 +174366,10 @@ sAd ykV ugt wdi -kHB +kcw uWO kHB -owQ +kHB cHn dhC agQ @@ -173768,8 +174609,8 @@ bZI fuo nXh axE -ugP ddn +tEa whz haC whz @@ -174980,10 +175821,10 @@ pMW pMW pMW kFx -wIP -wIP -wIP -wIP +avE +avE +avE +avE aTY iCA iCA @@ -176516,12 +177357,12 @@ pMW kFx pMW pMW -wIP +avE pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -176773,12 +177614,12 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -177030,12 +177871,12 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -177283,10 +178124,10 @@ pMW pMW pMW kFx -wIP -wIP -wIP -wIP +avE +avE +avE +avE aTY uRv uRv @@ -178629,7 +179470,7 @@ aaa aaa aaa afv -afz +aHl afA afz sbs @@ -178639,7 +179480,7 @@ iDQ oFV ksH eGX -afz +vic age aaS abM @@ -178825,10 +179666,10 @@ pMW pMW pMW kFx -wIP -wIP -wIP -wIP +avE +avE +avE +avE aTY uRv uRv @@ -179086,14 +179927,14 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -179154,7 +179995,7 @@ jwH brm ghV rxO -aHn +aEv lVi abM soq @@ -179343,14 +180184,14 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -179600,14 +180441,14 @@ pMW kFx pMW pMW -wIP +avE pMW pMW pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -179910,7 +180751,7 @@ abM abM abM usY -kzq +gJE tJR usY abM @@ -179925,7 +180766,7 @@ jwH brm bMb aEv -lRs +tlX lVi abM soq @@ -180168,7 +181009,7 @@ abM abM usY kiT -jvW +hzH usY usY usY @@ -180194,7 +181035,7 @@ ixu eeE muZ gSF -egx +qiC uje dLO dLO @@ -180407,7 +181248,7 @@ aaa aaa eSQ eSQ -wrJ +tcH dRY cTU cTU @@ -180426,8 +181267,8 @@ lZW usY mgh uYZ -qlK -qaH +hku +aBu vUE bMb kdz @@ -180931,7 +181772,7 @@ uax uax mur qza -mhJ +bLi aAJ riJ aAJ @@ -180953,7 +181794,7 @@ gOF seR lTh yeB -iXX +aHq wpK rXA jHX @@ -180988,8 +181829,8 @@ aaa aaa aaa qVr -iuV -fPp +piC +xee soq abM abM @@ -181150,11 +181991,11 @@ pMW pMW pMW kFx -wIP -wIP -wIP -wIP -wIP +avE +avE +avE +avE +avE aTY iCA iCA @@ -181212,7 +182053,7 @@ mEd kuq aHq lfQ -hks +pMR aHQ tFB vnu @@ -181446,7 +182287,7 @@ ufh tEF qza aIU -bXv +iDy kOl jAU psU @@ -181458,7 +182299,7 @@ kNf whL esQ rEB -glv +oPw bMb brm gay @@ -181478,7 +182319,7 @@ ccO sPI piv ecV -ccO +aHn qUA uCQ jUa @@ -181992,7 +182833,7 @@ oxL fJQ mlM bxG -nDR +uyN fFR tPZ pqV @@ -182010,9 +182851,9 @@ uvU umu qVr qVr -mFh -tBo -tBo +jSP +cQr +cQr qVr gYw cHY @@ -182266,14 +183107,14 @@ pbH mAL nKU qVr -tEx -tBo -tBo -tBo +mhI +cQr +cQr +cQr qVr -cdM -eiy -itq +mcY +jan +rwx qyQ qyQ gun @@ -182463,7 +183304,7 @@ cdy iWz hFV gDr -iAr +ctb uax axG bTx @@ -182487,13 +183328,13 @@ kSL wOs lHu nbv -dfx +nEu brm gay fXl jwH brm -dfx +uCl wTU aYA wNV @@ -182523,11 +183364,11 @@ pbH bmz pIx qVr -ttj -tBo -tBo -tBo -tBo +icA +cQr +cQr +cQr +cQr pNa qNk xmY @@ -182536,7 +183377,7 @@ eJQ bNx aSt aSt -xAM +ncA aaa aaa aaa @@ -182780,14 +183621,14 @@ qKE chE pHX qVr -cAK -ttj -ttj -ttj -ttj +lJU +icA +icA +icA +icA nzg cwj -ksk +oUa bsh rQr aMh @@ -183001,13 +183842,13 @@ qec nAS vyN ncT -dfx +pvI brm gay fXl jwH brm -dfx +avF xZQ aYA wNV @@ -183037,11 +183878,11 @@ pbH kBo kJA qVr -tBo -tBo -tBo -tBo -kGv +cQr +cQr +cQr +cQr +cpr qSS cFQ xmY @@ -183207,12 +184048,12 @@ pMW pMW pMW kFx -wIP -wIP -wIP -wIP -wIP -wIP +avE +avE +avE +avE +avE +avE aTY iCA fZL @@ -183289,15 +184130,15 @@ kye tes kye kye -lHJ +wZS pbH mAL nKU qVr -tBo -tBo -tBo -tBo +cQr +cQr +cQr +cQr qVr jqK ijR @@ -183341,14 +184182,14 @@ rxw rxw pMW pMW -wIP +avE pMW pMW pMW bGh pMW pMW -wIP +avE pMW pMW rxw @@ -183507,7 +184348,7 @@ ryS dkf xtD vvN -vYl +oAV vhn lSM aDv @@ -183552,9 +184393,9 @@ vSa cJR qVr qVr -tBo -tBo -tBo +cQr +cQr +cQr qVr gYw vav @@ -183850,7 +184691,7 @@ pMW pMW pMW pMW -wIP +avE pMW gFf gFf @@ -184028,7 +184869,7 @@ dOC bIp evu qtF -iIS +rMl bMb brm gay @@ -184036,7 +184877,7 @@ fXl jwH brm bMb -pvI +xZQ aHs aHt sSr @@ -184049,7 +184890,7 @@ dPe ggQ xti bNa -jpV +lcS gSJ sql aao @@ -184382,7 +185223,7 @@ oMI gFf gFf gFf -wIP +avE rxw pMW pMW @@ -184586,8 +185427,8 @@ aaa aaa aaa qVr -fCy -fPp +aLm +xee qVr aaa aaa @@ -185056,7 +185897,7 @@ mRb sYJ bMb bAj -dJk +bMb vUE vUE ftZ @@ -185113,23 +185954,23 @@ aaa aaa aaa aaS -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE vUu vUu lwj @@ -185294,7 +186135,7 @@ udQ udQ aWL tft -ttS +pxz qyg utY fHV @@ -185372,7 +186213,7 @@ aaa pMW pMW pMW -wIP +avE pMW pMW pMW @@ -185382,7 +186223,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -185629,7 +186470,7 @@ aaa pMW pMW pMW -wIP +avE pMW pMW pMW @@ -185639,7 +186480,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -185656,7 +186497,7 @@ gVd dVM iqO aoh -dLS +uQY dVM dVM dVM @@ -185666,7 +186507,7 @@ dVM fho cEb gFf -wbW +kQH pnT uqS uqS @@ -185806,9 +186647,9 @@ aac aac aaa xxZ -hze +pzj bYD -axz +tVS uwE ejU qMb @@ -185883,24 +186724,24 @@ aaa aaa aaa aaS -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE xSS lwj tqN @@ -186086,11 +186927,11 @@ qUB hAR veA lCy -cFb +lCy kDH nzx kDH -cFb +lCy nSI tXz tXz @@ -186148,7 +186989,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -186358,7 +187199,7 @@ lQm fZS pdn xNT -kNM +ume mRY bDB xNT @@ -186405,7 +187246,7 @@ pMW pMW pMW pMW -wIP +avE pMW pMW pMW @@ -186650,28 +187491,28 @@ aac aaa aaa aaS -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP -wIP +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE +avE vUu vUu lwj @@ -186857,11 +187698,11 @@ riS gAH aFP oOP -pTW +wuF wuF aZm wuF -pTW +wuF aFP aDI aHw @@ -187371,11 +188212,11 @@ pSV bxC joi lyR -xWu +fmy rUQ rUQ rUQ -xWu +fmy sWq eKD gXH @@ -187466,7 +188307,7 @@ oMI gFf gFf gFf -wIP +avE rxw pMW pMW @@ -187628,7 +188469,7 @@ wzg tiM qSm tIk -aGb +fSq aGb aGb aGb @@ -187647,7 +188488,7 @@ twO iAo twO twO -ume +qUB qUB aaa aaa @@ -187885,7 +188726,7 @@ wzg tiM qFH iur -tEk +wcM jBk heS nfJ @@ -187962,7 +188803,7 @@ pMW pMW pMW pMW -wIP +avE pMW gFf gFf @@ -188481,14 +189322,14 @@ rxw rxw pMW pMW -wIP +avE pMW pMW pMW ylt pMW pMW -wIP +avE pMW pMW rxw @@ -191253,9 +192094,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -191510,9 +192351,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -191767,9 +192608,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE pMW pMW pMW @@ -192024,9 +192865,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -192281,9 +193122,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -192538,9 +193379,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -192795,9 +193636,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE pMW pMW pMW @@ -193052,9 +193893,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -193309,9 +194150,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -193566,9 +194407,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -193823,9 +194664,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE pMW pMW pMW @@ -194080,9 +194921,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -194337,9 +195178,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -194594,9 +195435,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW pMW @@ -194851,9 +195692,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE pMW pMW pMW @@ -195108,9 +195949,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE pMW pMW aaa @@ -195365,9 +196206,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE aac aaa aac @@ -195622,9 +196463,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE aac aac aac @@ -195879,9 +196720,9 @@ pMW pMW pMW pMW -wIP -wIP -wIP +avE +avE +avE aac aac aac @@ -196136,9 +196977,9 @@ pMW pMW pMW pMW -wIP +avE pMW -wIP +avE aac aac aaa @@ -196393,9 +197234,9 @@ pMW aac aac aac -wIP +avE pMW -wIP +avE aaa aaa aaa @@ -196650,9 +197491,9 @@ aac aac aac aac -wIP +avE pMW -wIP +avE aaa aaa aaa diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm index 3ba9e257a7f63..2f0a07264b4ee 100644 --- a/_maps/map_files/wawastation/wawastation.dmm +++ b/_maps/map_files/wawastation/wawastation.dmm @@ -174,6 +174,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"acN" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/holosign_creator/atmos, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "acY" = ( /obj/structure/cable, /obj/structure/railing/corner{ @@ -254,14 +260,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/brig) -"aek" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "aem" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -344,7 +342,10 @@ /area/station/security/checkpoint/medical) "aeJ" = ( /obj/structure/table/reinforced, -/obj/item/phone, +/obj/item/phone{ + pixel_y = 12; + pixel_x = -4 + }, /obj/structure/cable, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 @@ -874,13 +875,14 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "anX" = ( -/mob/living/basic/parrot/poly, -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 9 }, -/obj/item/paper/monitorkey, /obj/machinery/camera/autoname/directional/west, +/obj/item/radio/intercom/directional/west, +/obj/structure/filingcabinet/chestdrawer, +/mob/living/basic/parrot/poly, +/obj/item/paper/monitorkey, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "anZ" = ( @@ -972,11 +974,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/storage) -"apD" = ( -/obj/structure/barricade/wooden, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "apH" = ( /obj/structure/chair/comfy/beige{ dir = 1 @@ -1158,18 +1155,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"atb" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box/red, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "ath" = ( /obj/machinery/door/window/left/directional/west, /turf/open/floor/grass, @@ -1261,34 +1246,6 @@ "ava" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/button/door{ - normaldoorcontrol = 1; - specialfunctions = 4; - id = "secentrylock2"; - req_access = list("security"); - name = "Security Exit Lock"; - pixel_x = -7 - }, -/obj/machinery/button/door{ - normaldoorcontrol = 1; - specialfunctions = 4; - id = "secentrylock"; - pixel_y = 7; - req_access = list("security"); - name = "Security Entrance Lock"; - pixel_x = -7 - }, -/obj/machinery/button/flasher{ - pixel_x = 2; - id = "secentry" - }, -/obj/machinery/button/door{ - pixel_x = 2; - pixel_y = 7; - name = "Security Entrance Doors"; - id = "secentrylock"; - normaldoorcontrol = 1 - }, /turf/open/floor/iron, /area/station/security/brig/entrance) "avu" = ( @@ -1418,12 +1375,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"awS" = ( -/obj/machinery/air_sensor/oxygen_tank{ - chamber_id = "o2ordance" - }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance) "awW" = ( /obj/effect/decal/cleanable/glass, /obj/effect/decal/cleanable/dirt, @@ -1638,22 +1589,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"azM" = ( -/obj/machinery/computer/camera_advanced/xenobio{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/storage/box/monkeycubes, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "azQ" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/iron, /area/station/engineering/storage) +"azU" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/directions/dorms/west_arrow, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "azV" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/structure/cable, @@ -1714,6 +1664,25 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"aBJ" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/sign/directions/security/north_arrow{ + pixel_y = 40 + }, +/obj/structure/sign/directions/medical/north_arrow{ + dir = 2 + }, +/obj/structure/sign/directions/evac/north_arrow{ + pixel_y = 24; + dir = 2 + }, +/turf/open/floor/wood, +/area/station/service/cafeteria) "aBU" = ( /obj/item/radio/intercom/directional/east, /obj/structure/cable, @@ -1833,6 +1802,16 @@ /obj/effect/turf_decal/trimline/dark_blue/end, /turf/open/floor/iron/textured, /area/station/engineering/atmos) +"aDU" = ( +/obj/structure/stairs/north, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/directions/arrival/west_arrow{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "aDW" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/plastic, @@ -2205,6 +2184,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/medical/morgue) +"aJO" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/directions/supply/east_arrow{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "aJP" = ( /obj/machinery/door/airlock/external/glass{ name = "Mining Dock Airlock" @@ -2274,21 +2260,13 @@ /turf/open/floor/plating, /area/station/maintenance/department/cargo) "aKJ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/directions/engineering/directional/east{ - pixel_y = -8 - }, -/obj/structure/sign/directions/security/directional/east{ - pixel_y = 8; - dir = 1 - }, -/obj/structure/sign/directions/supply/directional/east{ - dir = 1 +/obj/effect/turf_decal/stripes{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "aKP" = ( /obj/structure/cable, /turf/open/floor/iron/half, @@ -2463,6 +2441,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/scanner_gate/preset_guns, /turf/open/floor/iron, /area/station/security/brig/entrance) "aNR" = ( @@ -2553,15 +2532,6 @@ /obj/effect/spawner/structure/window/plasma, /turf/open/floor/engine, /area/station/medical/chemistry) -"aPG" = ( -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "aPI" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -3000,7 +2970,7 @@ /area/station/science/research) "aZt" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-6" }, @@ -3092,24 +3062,17 @@ /turf/open/floor/engine, /area/station/science/auxlab/firing_range) "bbf" = ( -/obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; id = "hopdesk" }, -/obj/effect/landmark/navigate_destination/hop, -/obj/machinery/door/firedoor, -/obj/item/paper_bin, -/obj/item/pen, +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/door/window/brigdoor/left/directional/west{ - req_access = list("hop") - }, -/obj/machinery/door/window/left/directional/east, -/turf/open/floor/iron, +/obj/machinery/door/firedoor, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/station/command/heads_quarters/hop) "bbh" = ( /obj/structure/extinguisher_cabinet/directional/west, @@ -3304,16 +3267,13 @@ /turf/open/floor/iron/dark, /area/station/medical/morgue) "beS" = ( -/obj/machinery/button/elevator/directional/east{ - id = "cargo" - }, -/obj/machinery/lift_indicator/directional/east{ - linked_elevator_id = "cargo" - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, /obj/machinery/rnd/production/techfab/department/cargo, +/obj/machinery/elevator_control_panel/directional/north{ + linked_elevator_id = "cargo" + }, /turf/open/floor/iron, /area/station/cargo/storage) "beW" = ( @@ -3418,6 +3378,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"bhq" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/ordnance/testlab) "bhv" = ( /obj/structure/window/reinforced/plasma/spawner/directional/south, /obj/machinery/power/energy_accumulator/tesla_coil/anchored, @@ -3500,19 +3464,12 @@ dir = 1 }, /obj/item/radio/intercom/directional/north, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "biS" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/turret_protected/ai_upload) -"biT" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/box/red, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "bjb" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/kirbyplants/random/dead, @@ -4406,7 +4363,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs{ - icon = 'icons/obj/stairs.dmi'; + icon = 'icons/obj/structures/stairs.dmi'; icon_state = "stairs_wood" }, /area/station/service/chapel) @@ -4506,7 +4463,7 @@ /obj/machinery/computer/security/mining{ dir = 8 }, -/obj/machinery/keycard_auth/directional/east, +/obj/machinery/keycard_auth/wall_mounted/directional/east, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 4 }, @@ -4645,6 +4602,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"bEz" = ( +/obj/structure/closet/crate/science, +/obj/item/wrench, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/west, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "bEW" = ( /obj/structure/table/wood, /obj/effect/spawner/random/decoration/microwave{ @@ -4667,7 +4633,7 @@ /area/station/commons/toilet/restrooms) "bFe" = ( /obj/machinery/suit_storage_unit/hos, -/obj/machinery/keycard_auth/directional/east{ +/obj/machinery/keycard_auth/wall_mounted/directional/east{ pixel_y = -12 }, /turf/open/floor/iron/dark, @@ -5160,6 +5126,12 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, +/obj/machinery/light/directional/west, +/obj/machinery/door/window/brigdoor/security/holding/left/directional/south{ + req_access = list("ordnance"); + req_one_access = null; + name = "Freezer Access" + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "bPu" = ( @@ -5215,13 +5187,6 @@ /obj/item/cigbutt/cigarbutt, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"bQc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/stairs/left{ - dir = 1 - }, -/area/station/command/bridge) "bQf" = ( /obj/machinery/door/poddoor/shutters{ id = "aux_base_shutters"; @@ -5236,13 +5201,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"bQA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "bQT" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -5495,23 +5453,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"bVA" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/directions/evac/directional/east{ - dir = 8 - }, -/obj/structure/sign/directions/science/directional/east{ - pixel_y = -8; - dir = 1 - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = 8; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bVY" = ( /obj/machinery/holopad{ pixel_x = 1 @@ -5777,13 +5718,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/command/bridge) -"cba" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light_switch/directional/east, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/ordnance/storage) "cbc" = ( /obj/machinery/door/airlock/highsecurity{ name = "AI Upload" @@ -5866,12 +5800,6 @@ dir = 8 }, /area/station/science/research) -"ccz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ - dir = 1 - }, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/storage) "ccI" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -5914,18 +5842,16 @@ /turf/open/floor/plating, /area/station/science/cytology) "cdo" = ( +/obj/machinery/light/small/dim/directional/north, +/obj/structure/cable/layer3, /obj/machinery/elevator_control_panel/directional/south{ linked_elevator_id = "aisat"; - pixel_x = 8; - pixel_y = -34 + pixel_y = 10 }, /obj/machinery/lift_indicator/directional/south{ - pixel_x = -6; - pixel_y = -40; + pixel_y = -10; linked_elevator_id = "aisat" }, -/obj/machinery/light/small/dim/directional/north, -/obj/structure/cable/layer3, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) "cdI" = ( @@ -6219,7 +6145,7 @@ /area/station/engineering/atmos) "ciR" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-8" }, @@ -6490,12 +6416,6 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) -"cqf" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "cqm" = ( /obj/structure/cable, /obj/machinery/camera/autoname/directional/south{ @@ -6926,6 +6846,15 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"czC" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/button/door/directional/east{ + name = "shutter control"; + id = "ordauxgarage" + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/science/ordnance) "czD" = ( /obj/item/stack/tile/iron/white, /obj/effect/decal/cleanable/dirt/dust, @@ -7024,9 +6953,7 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ dir = 1 }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") - }, +/obj/machinery/airlock_sensor/incinerator_ordmix, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) "cAQ" = ( @@ -7037,6 +6964,25 @@ }, /turf/open/floor/iron/recharge_floor, /area/station/cargo/storage) +"cAS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/directions/security/west_arrow{ + dir = 1 + }, +/obj/structure/sign/directions/supply/west_arrow{ + pixel_y = 8; + dir = 1 + }, +/obj/structure/sign/directions/science/west_arrow{ + pixel_y = -8; + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "cBb" = ( /turf/closed/wall, /area/station/medical/paramedic) @@ -7099,6 +7045,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/small, /area/station/engineering/transit_tube) +"cCr" = ( +/obj/machinery/light/directional/north, +/obj/structure/table, +/obj/item/pen{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/hand_labeler{ + pixel_y = 10; + pixel_x = -13 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/xenobiology) "cCv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/white{ @@ -7118,16 +7077,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/science/xenobiology) -"cCM" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "cCP" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -7278,6 +7227,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/cargo/storage) +"cGN" = ( +/obj/machinery/turretid/directional/south{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "AI Antechamber turret control" + }, +/turf/closed/wall/r_wall/rust, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "cGP" = ( /obj/structure/closet/secure_closet/medical1, /obj/effect/turf_decal/bot{ @@ -7382,6 +7338,7 @@ "cIa" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/bridge) "cIh" = ( @@ -7497,6 +7454,21 @@ /mob/living/basic/mining/basilisk, /turf/open/misc/asteroid/airless, /area/space/nearstation) +"cKF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/directions/command/north_arrow, +/obj/structure/sign/directions/engineering/north_arrow{ + pixel_y = 40; + dir = 4 + }, +/obj/structure/sign/directions/security/north_arrow{ + pixel_y = 24; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "cLd" = ( /obj/machinery/oven/range, /obj/machinery/light/directional/north, @@ -7634,15 +7606,6 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door_buttons/airlock_controller{ - idExterior = "virology_airlock_exterior"; - idInterior = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Console"; - pixel_x = -26; - pixel_y = 28; - req_access = list("virology") - }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/virology) @@ -7931,9 +7894,9 @@ /turf/open/floor/iron/white, /area/station/science/lobby) "cSa" = ( -/obj/machinery/power/smes/full, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, +/obj/machinery/power/smes/super/full, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) "cSb" = ( @@ -7941,12 +7904,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"cSc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ - chamber_id = "o2ordance" - }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance) "cSd" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -7969,10 +7926,16 @@ /turf/open/floor/wood, /area/station/service/theater) "cSC" = ( -/obj/machinery/pdapainter/engineering, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/meson/engine, +/obj/item/trapdoor_remote/preloaded, +/obj/item/folder/yellow, +/obj/item/stamp/head/ce, +/obj/item/stamp/head/ce, +/obj/item/pen/screwdriver, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "cSJ" = ( @@ -7999,10 +7962,8 @@ id = "hopdesk" }, /obj/machinery/door/firedoor, -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, /obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/hop) "cTm" = ( @@ -8062,7 +8023,9 @@ /obj/effect/turf_decal/stripes{ dir = 1 }, -/obj/structure/sign/warning/engine_safety/directional/north, +/obj/effect/mapping_helpers/apc/cell_10k, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "cUN" = ( @@ -8109,7 +8072,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 }, -/obj/machinery/firealarm/directional/west, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/main) @@ -8257,11 +8219,11 @@ /obj/effect/turf_decal/stripes{ dir = 4 }, -/obj/structure/cable, /obj/machinery/light/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable/layer1, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "cXL" = ( @@ -8301,6 +8263,7 @@ /obj/structure/disposalpipe/segment{ dir = 9 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) "cYC" = ( @@ -8371,6 +8334,12 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/reinforced/airless, /area/space/nearstation) +"cZs" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "cZE" = ( /turf/open/openspace, /area/station/command/meeting_room) @@ -8380,7 +8349,9 @@ /area/station/maintenance/department/engine) "daz" = ( /obj/structure/table, -/obj/item/ai_module/core/full/paladin_devotion, +/obj/item/ai_module/core/full/paladin_devotion{ + pixel_y = 12 + }, /obj/structure/cable, /obj/machinery/flasher/directional/south, /turf/open/floor/circuit, @@ -8525,6 +8496,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) +"dcs" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "AI Antechamber turret control"; + pixel_y = 0 + }, +/turf/closed/wall/r_wall, +/area/station/ai_monitored/turret_protected/aisat_interior) "dct" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8562,6 +8541,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dcy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/vending/wardrobe/engi_wardrobe, +/turf/open/floor/iron, +/area/station/engineering/main) "dcH" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -8957,37 +8944,6 @@ /area/station/science/lobby) "dkq" = ( /obj/structure/table/reinforced/rglass, -/obj/machinery/button/door{ - normaldoorcontrol = 1; - specialfunctions = 4; - id = "secentrylock2"; - req_access = list("security"); - name = "Security Exit Lock"; - pixel_x = -4; - pixel_y = -1 - }, -/obj/machinery/button/door{ - normaldoorcontrol = 1; - specialfunctions = 4; - id = "secentrylock"; - pixel_y = 6; - req_access = list("security"); - name = "Security Entrance Lock"; - pixel_x = -4 - }, -/obj/machinery/button/flasher{ - pixel_x = 5; - id = "secentry"; - pixel_y = -1; - name = "entrance flasher button" - }, -/obj/machinery/button/door{ - pixel_x = 5; - pixel_y = 6; - name = "Security Entrance Doors"; - id = "secentrylock"; - normaldoorcontrol = 1 - }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, @@ -9125,11 +9081,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/iron/white, /area/station/science/research) -"dmG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/tank/oxygen, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "dmH" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -9330,6 +9281,13 @@ }, /turf/open/floor/iron, /area/station/security/interrogation) +"dpA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/blobstart, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "dpH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ color = "#000000" @@ -9394,7 +9352,6 @@ name = "couch"; dir = 1 }, -/obj/structure/sign/poster/contraband/blood_geometer/directional/east, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted, @@ -9570,11 +9527,6 @@ /obj/structure/cable, /turf/open/misc/asteroid, /area/station/asteroid) -"dtY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "dum" = ( /obj/structure/table/wood, /obj/item/clothing/head/helmet/toggleable/justice/escape{ @@ -9622,20 +9574,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/asteroid) -"dvz" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = 8; - dir = 8 - }, -/obj/structure/sign/directions/evac/directional/east{ - pixel_y = -8 - }, -/obj/structure/sign/directions/engineering/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "dvC" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/grille, @@ -9754,17 +9692,6 @@ }, /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/machinery/airlock_controller/incinerator_ordmix{ - pixel_y = -26 - }, -/obj/machinery/button/ignition/incinerator/ordmix{ - pixel_x = -6; - pixel_y = 24 - }, -/obj/machinery/button/door/incinerator_vent_ordmix{ - pixel_x = 8; - pixel_y = 24 - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -10275,10 +10202,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/engineering/main) -"dFM" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/station/maintenance/department/bridge) "dFY" = ( /obj/machinery/duct, /turf/open/floor/plating, @@ -10318,16 +10241,28 @@ /area/station/service/theater) "dGs" = ( /obj/structure/table/reinforced, -/obj/item/storage/pill_bottle/epinephrine, -/obj/item/stack/sheet/mineral/plasma{ - pixel_y = 12 - }, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 }, /obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ dir = 4 }, +/obj/item/hand_labeler{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/storage/pill_bottle/epinephrine{ + pixel_x = -9; + pixel_y = 1 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 14; + pixel_x = 3 + }, +/obj/item/hand_labeler_refill{ + pixel_x = 10; + pixel_y = -2 + }, /turf/open/floor/iron/white/smooth_edge{ dir = 4 }, @@ -10480,14 +10415,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"dIN" = ( -/obj/machinery/processor/slime, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "dIR" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -10793,17 +10720,14 @@ /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) "dPk" = ( -/obj/machinery/button/elevator/directional/east{ - id = "cargo" - }, -/obj/machinery/lift_indicator/directional/east{ - linked_elevator_id = "cargo" - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/elevator_control_panel/directional/north{ + linked_elevator_id = "cargo" + }, /turf/open/floor/iron, /area/station/cargo/storage) "dPq" = ( @@ -11061,7 +10985,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/obj/structure/reagent_dispensers/watertank, +/obj/structure/reagent_dispensers/watertank/high, /turf/open/floor/iron/large, /area/station/engineering/atmos/upper) "dTA" = ( @@ -11457,11 +11381,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "eaW" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "AI Antechamber turret control"; - pixel_y = -27 - }, /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/old, @@ -11715,6 +11634,14 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"efF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "efJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ dir = 1 @@ -11743,6 +11670,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"egt" = ( +/obj/structure/barricade/wooden, +/obj/effect/decal/cleanable/dirt, +/obj/item/flashlight/glowstick/blue{ + start_on = 1; + light_range = 2 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "egv" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -11765,6 +11701,12 @@ /obj/structure/table, /obj/effect/spawner/random/engineering/flashlight, /obj/machinery/light_switch/directional/east, +/obj/machinery/button/door/directional/north{ + name = "Gateway Shutter Control"; + req_access = list("command"); + id = "gateshutter"; + pixel_y = 0 + }, /turf/open/floor/iron, /area/station/command/gateway) "egV" = ( @@ -11832,6 +11774,20 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/science/xenobiology/hallway) +"eih" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "ein" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/disposalpipe/segment{ @@ -12162,14 +12118,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"eoO" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/engineering/main) "eoQ" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Air to Distro Staging"; @@ -12249,10 +12197,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"epZ" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/science/ordnance) "eqp" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -12546,12 +12490,6 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 6 }, -/obj/machinery/keycard_auth/directional/east, -/obj/machinery/button/door/directional/east{ - pixel_y = 12; - name = "privacy shutter control"; - id = "cmoprivacy" - }, /turf/open/floor/holofloor/dark, /area/station/command/heads_quarters/cmo) "evr" = ( @@ -12570,9 +12508,8 @@ /turf/open/floor/circuit/telecomms/server, /area/station/science/server) "evO" = ( -/obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/atmospherics, +/obj/machinery/airlock_controller/incinerator_atmos, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "evQ" = ( @@ -12595,6 +12532,8 @@ pixel_y = 3 }, /obj/item/stock_parts/power_store/cell/emproof, +/obj/machinery/newscaster/directional/north, +/obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/engineering/main) "ewr" = ( @@ -13243,25 +13182,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"eGz" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 40 - }, -/obj/structure/sign/directions/medical/directional/north{ - dir = 2 - }, -/obj/structure/sign/directions/evac/directional/north{ - pixel_y = 24; - dir = 2 - }, -/turf/open/floor/wood, -/area/station/service/cafeteria) "eGJ" = ( /obj/effect/turf_decal/siding/green, /obj/structure/cable, @@ -13283,7 +13203,6 @@ /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 4 }, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron, /area/station/command/bridge) "eHc" = ( @@ -13440,6 +13359,7 @@ /area/station/security/warden) "eLk" = ( /obj/effect/spawner/random/trash/hobo_squat, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine) "eLm" = ( @@ -13569,8 +13489,18 @@ /turf/open/floor/iron/white, /area/station/science/research) "eOI" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 9 + }, +/obj/structure/table/reinforced/rglass, +/obj/machinery/keycard_auth{ + pixel_y = 10 + }, +/obj/machinery/button/door/directional/north{ + id = "cmoprivacy"; + name = "privacy shutter control" + }, +/turf/open/floor/holofloor/dark, /area/station/command/heads_quarters/cmo) "eOY" = ( /obj/effect/spawner/structure/window, @@ -13785,7 +13715,6 @@ "eTu" = ( /obj/effect/turf_decal/tile/neutral, /obj/structure/table, -/obj/item/trash/waffles, /turf/open/floor/iron, /area/station/hallway/primary/central) "eTZ" = ( @@ -13995,7 +13924,9 @@ dir = 8 }, /obj/machinery/camera/autoname/directional/west, -/obj/structure/secure_safe/caps_spare, +/obj/structure/secure_safe/caps_spare{ + pixel_y = 10 + }, /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/station/command/bridge) @@ -14703,7 +14634,7 @@ /area/space/nearstation) "fnO" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-13" }, @@ -15201,13 +15132,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/checkpoint/medical) -"fvq" = ( -/obj/machinery/airlock_controller/incinerator_atmos{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "fvF" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/cable, @@ -15311,7 +15235,7 @@ /area/station/command/heads_quarters/qm) "fxG" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-137" }, @@ -15430,12 +15354,12 @@ /area/station/service/cafeteria) "fzx" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/item/stamp/head/captain{ - pixel_x = -12 +/obj/machinery/recharger{ + pixel_y = 10 }, -/obj/item/hand_tele{ - pixel_x = 8 +/obj/item/stamp/head/captain{ + pixel_x = -12; + pixel_y = 10 }, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) @@ -15508,6 +15432,17 @@ /obj/machinery/space_heater, /turf/open/misc/asteroid, /area/station/maintenance/central/greater) +"fAP" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/lift_indicator{ + pixel_y = -3; + linked_elevator_id = "aisat" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "fAR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -15727,6 +15662,7 @@ name = "Cooling Loop to Gas" }, /obj/effect/turf_decal/stripes, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "fEu" = ( @@ -15784,7 +15720,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, -/obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/engineering/main) "fFg" = ( @@ -15962,7 +15897,7 @@ /area/station/engineering/atmos) "fHk" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-74" }, @@ -16489,14 +16424,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/virology, /obj/structure/cable, /obj/effect/turf_decal/tile/green/fourcorners, -/obj/machinery/door_buttons/access_button{ - dir = 1; - idDoor = "virology_airlock_exterior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_y = -24; - req_access = list("virology") - }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -16630,14 +16557,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) -"fTf" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light_switch/directional/east, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "fTj" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/door/airlock/hatch{ @@ -16789,6 +16708,15 @@ }, /turf/open/floor/iron/herringbone, /area/station/hallway/primary/central) +"fWB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "fWD" = ( /obj/structure/railing{ dir = 4 @@ -17113,6 +17041,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/security/lockers) +"gcj" = ( +/obj/item/kirbyplants/random, +/obj/structure/sign/directions/vault/west_arrow, +/turf/open/floor/carpet/red, +/area/station/command/heads_quarters/qm) "gck" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -17297,8 +17230,9 @@ /obj/effect/landmark/transport/transport_id{ specific_transport_id = "medbay1" }, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "medbay1" +/obj/machinery/elevator_control_panel/directional/north{ + linked_elevator_id = "medbay1"; + name = "Medbay Elevator" }, /turf/open/floor/plating/elevatorshaft, /area/station/medical/treatment_center) @@ -17315,6 +17249,7 @@ /area/station/science/research) "ggl" = ( /obj/machinery/camera/autoname/directional/west, +/obj/structure/water_source/puddle, /turf/open/floor/grass, /area/station/service/hydroponics/garden) "ggu" = ( @@ -17341,17 +17276,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"ggN" = ( -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","rd") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/trinary/mixer{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "ggP" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -17499,6 +17423,7 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 5 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/holofloor/dark, /area/station/command/heads_quarters/cmo) "gjw" = ( @@ -17644,15 +17569,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/upper) -"glH" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/directions/dorms/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "glL" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -17661,6 +17577,35 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"gma" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/directions/evac/east_arrow{ + dir = 8 + }, +/obj/structure/sign/directions/medical/east_arrow{ + pixel_y = 8; + dir = 8 + }, +/obj/structure/sign/directions/science/east_arrow{ + pixel_y = -8; + dir = 1 + }, +/obj/structure/sign/directions/supply/east_arrow{ + dir = 1; + pixel_y = 0 + }, +/obj/structure/sign/directions/security/east_arrow{ + pixel_y = -16; + dir = 1 + }, +/obj/structure/sign/directions/engineering/south_arrow{ + pixel_x = 11; + pixel_y = -24 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "gmd" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -17747,16 +17692,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"gop" = ( -/obj/effect/landmark/blobstart, -/obj/structure/closet/crate/science{ - opened = 1; - icon_state = "scicrateopen" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "goB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/tracks, @@ -18433,14 +18368,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"gzF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "gzL" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating, @@ -18478,6 +18405,13 @@ /mob/living/basic/carp/pet/lia, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) +"gAV" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "gAZ" = ( /obj/machinery/atmospherics/components/binary/pump/off{ dir = 8; @@ -18779,7 +18713,6 @@ /area/space/nearstation) "gGh" = ( /obj/effect/landmark/start/cyborg, -/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/recharge_floor, @@ -19258,6 +19191,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) +"gPt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/directions/science/north_arrow{ + dir = 4 + }, +/obj/structure/sign/directions/command/north_arrow{ + pixel_y = 40; + dir = 8 + }, +/obj/structure/sign/directions/evac/north_arrow{ + pixel_y = 24; + dir = 2 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "gPI" = ( /obj/structure/railing/corner/end{ dir = 1 @@ -19296,6 +19246,11 @@ specific_transport_id = "aisat" }, /obj/machinery/holopad, +/obj/machinery/elevator_control_panel{ + preset_destination_names = list(2 = "Telecomms", 3 = "AI Core"); + linked_elevator_id = "aisat"; + pixel_x = 32 + }, /turf/open/openspace, /area/station/ai_monitored/turret_protected/aisat_interior) "gQt" = ( @@ -19388,16 +19343,6 @@ /obj/item/target/syndicate, /turf/open/floor/engine, /area/station/science/explab) -"gTe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/mapping_helpers/apc/cell_10k, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "gTf" = ( /obj/structure/table, /obj/machinery/reagentgrinder{ @@ -19652,15 +19597,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"gWv" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "gWG" = ( /obj/structure/cable, /obj/machinery/door/airlock/security/glass{ @@ -19845,6 +19781,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"gZF" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "gZI" = ( /obj/structure/dresser, /obj/machinery/airalarm/directional/west, @@ -20315,6 +20256,17 @@ /obj/structure/lattice, /turf/open/misc/asteroid/airless, /area/space/nearstation) +"hhd" = ( +/obj/machinery/door/poddoor/shutters{ + id = "ordauxgarage"; + dir = 1 + }, +/obj/effect/turf_decal/sand/plating, +/obj/effect/turf_decal/stripes/asteroid/end{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "hhC" = ( /obj/structure/railing{ dir = 5 @@ -20745,25 +20697,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/tile, /area/station/service/bar) -"hpB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/directions/security/directional/west{ - dir = 1 - }, -/obj/structure/sign/directions/supply/directional/west{ - pixel_y = 8; - dir = 1 - }, -/obj/structure/sign/directions/science/directional/west{ - pixel_y = -8; - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "hpT" = ( /obj/machinery/door/airlock/command{ name = "Quartermaster's Office" @@ -20822,10 +20755,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hqA" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/engine/o2, -/area/station/science/ordnance) "hqF" = ( /obj/machinery/conveyor/auto/inverted{ dir = 6; @@ -20907,9 +20836,9 @@ dir = 4 }, /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/warm/dim/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry/minisat) "hrp" = ( @@ -21129,6 +21058,7 @@ dir = 9 }, /obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/engineering/main) "huK" = ( @@ -21179,6 +21109,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, +/obj/effect/turf_decal/bot_red, +/obj/structure/chair{ + dir = 8 + }, /turf/open/floor/iron, /area/station/hallway/secondary/command) "hvw" = ( @@ -21188,7 +21122,7 @@ /area/station/asteroid) "hvA" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-78" }, @@ -21428,6 +21362,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/science/xenobiology) +"hAS" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/decal/cleanable/dirt, +/obj/item/cultivator/rake, +/turf/open/floor/grass, +/area/station/security/prison/garden) "hAV" = ( /obj/structure/table/wood, /obj/item/flashlight/flare/candle{ @@ -21643,6 +21583,14 @@ /obj/machinery/atmospherics/components/tank/plasma, /turf/open/misc/asteroid, /area/station/maintenance/disposal/incinerator) +"hFz" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "hFA" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -21907,7 +21855,6 @@ /obj/effect/turf_decal/stripes{ dir = 4 }, -/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) "hLw" = ( @@ -21987,7 +21934,7 @@ /area/station/maintenance/department/bridge) "hNC" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-4" }, @@ -22531,6 +22478,15 @@ "hVB" = ( /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"hVC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "hVL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -22543,7 +22499,7 @@ /area/station/hallway/secondary/entry) "hVQ" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-203" }, @@ -22677,6 +22633,15 @@ /obj/structure/cable, /turf/open/floor/iron/textured_large, /area/station/engineering/storage/tech) +"hYG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "hYP" = ( /obj/machinery/modular_computer/preset/id{ dir = 1 @@ -22923,6 +22888,11 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"ief" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/ordnance/storage) "iej" = ( /obj/effect/turf_decal/siding/white{ dir = 1 @@ -23006,6 +22976,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/storage) +"ifv" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "ifE" = ( /obj/machinery/vending/medical, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -23420,11 +23402,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"ioL" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "ioP" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/decal/cleanable/dirt, @@ -23844,10 +23821,6 @@ /turf/open/floor/iron, /area/station/engineering/main) "iwm" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/bot_red, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 8 }, @@ -24230,8 +24203,14 @@ /area/station/service/kitchen) "iDJ" = ( /obj/structure/table/reinforced, -/obj/item/modular_computer/laptop/preset/civilian, /obj/structure/cable, +/obj/machinery/keycard_auth{ + pixel_y = 10 + }, +/obj/item/hand_tele{ + pixel_x = 8; + pixel_y = 8 + }, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) "iEj" = ( @@ -24507,7 +24486,6 @@ /area/station/hallway/primary/central) "iIT" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/north, /obj/effect/turf_decal/siding/purple{ dir = 8 }, @@ -24743,6 +24721,7 @@ /obj/machinery/hydroponics/soil, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, +/obj/item/plant_analyzer, /turf/open/floor/grass, /area/station/security/prison/garden) "iNv" = ( @@ -24779,11 +24758,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/station/service/chapel) -"iOc" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "iOE" = ( /obj/item/pickaxe/mini, /turf/open/misc/asteroid, @@ -24812,15 +24786,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron, /area/station/engineering/lobby) -"iOZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/south, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "iPd" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/carpet/executive, @@ -24915,13 +24880,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/main) -"iQK" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ - dir = 4; - chamber_id = "o2ordance" - }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance) "iQS" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -24945,6 +24903,14 @@ /obj/item/newspaper, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"iRy" = ( +/obj/machinery/door/airlock/command{ + name = "Research Director's Observatory" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/rd, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "iRB" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 @@ -25036,6 +25002,24 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white/smooth_large, /area/station/science/xenobiology/hallway) +"iTJ" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/directions/supply/south_arrow{ + dir = 8 + }, +/obj/structure/sign/directions/engineering/south_arrow{ + pixel_y = -40; + dir = 4 + }, +/obj/structure/sign/directions/security/south_arrow{ + pixel_y = -24; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "iTL" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -25264,21 +25248,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/science/research) -"jaa" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/directions/command/directional/north, -/obj/structure/sign/directions/engineering/directional/north{ - pixel_y = 40; - dir = 4 - }, -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 24; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jac" = ( /obj/structure/cable, /obj/effect/spawner/random/trash/garbage{ @@ -25344,16 +25313,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"jbr" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/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 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "jbG" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -25374,10 +25333,10 @@ /obj/structure/table/reinforced, /obj/item/ai_module/toy_ai{ pixel_x = 16; - pixel_y = 8 + pixel_y = 10 }, /obj/item/paper_bin/construction{ - pixel_y = 6 + pixel_y = 10 }, /obj/item/pen, /turf/open/floor/iron/dark, @@ -25544,12 +25503,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"jeR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "jeY" = ( /obj/structure/railing/corner{ dir = 1 @@ -25784,14 +25737,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/theater) -"jiI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "jiN" = ( /obj/docking_port/stationary/syndicate, /turf/open/space/openspace, @@ -26036,10 +25981,6 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "jmP" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = -24; - id = "captaindriver" - }, /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -26050,6 +25991,11 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/machinery/computer/pod/old/mass_driver_controller/trash{ + id = "captaindriver"; + dir = 4; + pixel_x = -12 + }, /turf/open/floor/engine, /area/station/command/heads_quarters/captain/private) "jmU" = ( @@ -26277,8 +26223,12 @@ /area/station/medical/chemistry) "jqu" = ( /obj/structure/table/reinforced, -/obj/item/pinpointer/nuke, -/obj/item/disk/nuclear, +/obj/item/pinpointer/nuke{ + pixel_y = 6 + }, +/obj/item/disk/nuclear{ + pixel_y = 15 + }, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) "jqz" = ( @@ -26299,10 +26249,6 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/teleporter) "jqT" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/head_of_personnel, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, @@ -26310,6 +26256,9 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "jqY" = ( @@ -26417,6 +26366,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) "juf" = ( @@ -26466,7 +26416,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, -/obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/engineering/main) "juZ" = ( @@ -26555,10 +26504,10 @@ /area/station/engineering/atmos/upper) "jww" = ( /obj/effect/turf_decal/tile/dark_blue, -/obj/effect/mapping_helpers/mail_sorting/service/hop_office, /obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, +/obj/effect/mapping_helpers/mail_sorting/service/hop_office, /turf/open/floor/iron, /area/station/hallway/secondary/command) "jwI" = ( @@ -26604,14 +26553,6 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) -"jxn" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "jxq" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -26726,7 +26667,6 @@ /obj/effect/turf_decal/tile/neutral, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/west, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) @@ -26850,9 +26790,11 @@ /obj/machinery/light/small/dim/directional/east, /obj/item/assembly/timer{ pixel_x = 3; - pixel_y = 3 + pixel_y = 13 + }, +/obj/item/assembly/igniter/condenser{ + pixel_y = 10 }, -/obj/item/assembly/igniter/condenser, /obj/machinery/camera/autoname/directional/east{ network = list("minisat") }, @@ -27019,9 +26961,11 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 4 }, +/obj/machinery/requests_console/auto_name/directional/north, /obj/machinery/camera/autoname/directional/east{ network = list("ss13","medbay") }, +/obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/white, /area/station/medical/virology) "jCX" = ( @@ -27099,7 +27043,6 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 }, -/obj/item/radio/intercom/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/holofloor/dark, /area/station/command/heads_quarters/cmo) @@ -27122,17 +27065,6 @@ }, /turf/open/floor/engine, /area/station/medical/chemistry) -"jEw" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/closet/crate/science{ - opened = 1; - icon_state = "scicrateopen" - }, -/obj/item/tank, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "jED" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/freezer, @@ -27290,6 +27222,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "jHD" = ( @@ -27322,23 +27255,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"jHU" = ( -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/east{ - req_access = list("ordnance"); - name = "Ordnance Storage Shutter Control"; - id = "ordstorage" - }, -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "jIc" = ( /obj/machinery/light/warm/directional/east, /obj/effect/turf_decal/siding/wood/corner{ @@ -27559,6 +27475,13 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) +"jLd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/report_crimes/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jLp" = ( /obj/machinery/photocopier, /turf/open/floor/carpet/purple, @@ -27588,6 +27511,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/warehouse/upper) +"jLY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "jMa" = ( /obj/machinery/light/dim/directional/south, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ @@ -27607,11 +27537,6 @@ }, /turf/open/floor/iron, /area/station/service/cafeteria) -"jMh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "jMy" = ( /obj/structure/railing/corner{ dir = 1 @@ -27638,6 +27563,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical) +"jMZ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/directions/science/north_arrow{ + dir = 4 + }, +/obj/structure/sign/directions/engineering/north_arrow{ + pixel_y = 40; + dir = 4 + }, +/obj/structure/sign/directions/command/north_arrow{ + pixel_y = 24; + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jNg" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil, @@ -27798,7 +27740,7 @@ /area/station/medical/treatment_center) "jPR" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-255" }, @@ -27850,6 +27792,7 @@ dir = 4 }, /obj/machinery/light/directional/east, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "jQt" = ( @@ -28280,16 +28223,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/cargo) -"jZu" = ( -/obj/machinery/light/directional/north, -/obj/structure/table, -/obj/item/hand_labeler{ - pixel_y = 10; - pixel_x = -13 - }, -/obj/item/folder, -/turf/open/floor/glass/reinforced, -/area/station/science/xenobiology) +"jZv" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/ordnance/storage) "jZx" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/textured, @@ -28399,13 +28338,15 @@ /turf/open/floor/iron, /area/station/cargo/miningoffice) "kbv" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, /obj/machinery/turretid{ control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; name = "AI Antechamber turret control"; - pixel_x = 27 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 + dir = 4; + pixel_y = 0; + pixel_x = 10 }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) @@ -28461,7 +28402,6 @@ "kcr" = ( /obj/structure/table/optable, /obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/digital_clock/directional/south, /obj/structure/cable, /obj/machinery/camera/autoname/directional/west{ network = list("ss13","medbay") @@ -28660,6 +28600,14 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/machinery/door_buttons/access_button/directional/north{ + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Button"; + req_access = list("virology"); + pixel_y = 0 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "keo" = ( @@ -28767,16 +28715,6 @@ dir = 1 }, /area/station/cargo/bitrunning/den) -"khj" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "khA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/trunk{ @@ -28939,17 +28877,12 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "kjR" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/rack, -/obj/item/clothing/glasses/meson/engine, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, /obj/structure/cable, -/obj/item/trapdoor_remote/preloaded, -/obj/machinery/light_switch/directional/north{ - pixel_x = 26 - }, +/obj/machinery/light_switch/directional/north, +/obj/machinery/pdapainter/engineering, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "kjU" = ( @@ -28967,15 +28900,6 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"kkh" = ( -/obj/structure/window/spawner/directional/east, -/obj/machinery/power/apc/auto_name/directional/south{ - areastring = "/area/station/science/ordnance/burnchamber" - }, -/obj/structure/cable, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "kki" = ( /obj/machinery/fax{ fax_name = "Quartermaster's Office"; @@ -29686,6 +29610,10 @@ "kuI" = ( /obj/structure/chair/sofa/right/maroon, /obj/effect/landmark/start/psychologist, +/obj/machinery/button/door/directional/north{ + name = "privacy shutter control"; + id = "psychshutter" + }, /turf/open/floor/carpet, /area/station/medical/psychology) "kuP" = ( @@ -29986,14 +29914,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/green/fourcorners, -/obj/machinery/door_buttons/access_button{ - idDoor = "virology_airlock_interior"; - idSelf = "virology_airlock_control"; - name = "Virology Access Button"; - pixel_x = -24; - pixel_y = 8; - req_access = list("virology") - }, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/virology) @@ -30027,6 +29947,7 @@ dir = 5 }, /obj/machinery/light/directional/east, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "kAw" = ( @@ -30038,14 +29959,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"kAI" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/science/ordnance/testlab) "kAW" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt/dust, @@ -30165,6 +30078,7 @@ "kCr" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine) "kCs" = ( @@ -30303,16 +30217,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"kEM" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "kFi" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -30350,7 +30254,6 @@ /area/station/security/courtroom) "kFO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable/layer1, @@ -30413,15 +30316,6 @@ dir = 8 }, /area/station/hallway/secondary/exit/departure_lounge) -"kGK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 8 - }, -/obj/machinery/meter, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "kGS" = ( /turf/closed/wall/rust, /area/station/maintenance/department/medical) @@ -30680,6 +30574,16 @@ luminosity = 2 }, /area/station/science/ordnance/bomb) +"kMl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "kMr" = ( /obj/structure/transport/linear/public, /obj/machinery/elevator_control_panel/directional/north{ @@ -30835,13 +30739,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"kPx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/portable_atmospherics/scrubber/huge/movable, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "kQa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30907,10 +30804,10 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 4 }, -/obj/machinery/computer/security/telescreen/cmo/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/machinery/vending/wallmed/directional/east, /turf/open/floor/holofloor/dark, /area/station/command/heads_quarters/cmo) "kRl" = ( @@ -31258,7 +31155,6 @@ /obj/effect/turf_decal/stripes{ dir = 4 }, -/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "kWK" = ( @@ -31292,16 +31188,6 @@ /obj/machinery/computer/records/security, /turf/open/floor/iron, /area/station/command/bridge) -"kXT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "kXV" = ( /obj/structure/cable, /obj/structure/plaque/static_plaque/golden/commission/wawa, @@ -31346,10 +31232,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry/minisat) -"kYt" = ( -/obj/structure/cable, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "kYu" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/teleporter) @@ -31364,18 +31246,6 @@ }, /turf/open/floor/iron/herringbone, /area/station/hallway/primary/central) -"kYS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/computer/atmos_control/oxygen_tank{ - atmos_chambers = list(o2ordance="Oxygen Supply") - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "kYT" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical) @@ -31471,6 +31341,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/service/hydroponics) +"kZW" = ( +/obj/machinery/door/airlock/research{ + glass = 1; + name = "Slime Euthanization Chamber"; + opacity = 0 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/turf/open/floor/glass/reinforced, +/area/station/science/xenobiology) "laf" = ( /obj/effect/spawner/random/structure/chair_comfy{ dir = 4 @@ -31507,6 +31387,11 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/iron/dark, /area/station/security/office) +"laD" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "laF" = ( /obj/structure/closet{ name = "evidence closet 1" @@ -32148,10 +32033,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/item/paper/pamphlet/gateway, +/obj/item/paper/pamphlet/gateway{ + pixel_y = 12 + }, /obj/structure/table, /obj/item/flashlight/flare{ - pixel_x = 12 + pixel_y = 12 }, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -32300,12 +32187,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/break_room) -"lrA" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/storage) "lrF" = ( /obj/effect/turf_decal/siding/red{ dir = 10 @@ -32404,6 +32285,7 @@ dir = 4 }, /obj/machinery/firealarm/directional/east, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "lut" = ( @@ -32531,6 +32413,7 @@ /obj/item/clothing/glasses/meson/engine, /obj/item/clothing/glasses/meson/engine, /obj/item/clothing/glasses/meson/engine, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "lww" = ( @@ -32565,9 +32448,6 @@ /obj/machinery/lift_indicator/directional/north{ linked_elevator_id = "cargo" }, -/obj/machinery/button/elevator/directional/north{ - id = "cargo" - }, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 }, @@ -32660,12 +32540,12 @@ }, /area/station/medical/exam_room) "lyJ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/chair/comfy/black{ + name = "Captain"; + dir = 4 }, -/obj/structure/sign/poster/official/report_crimes/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/turf/open/floor/carpet/executive, +/area/station/command/meeting_room) "lyN" = ( /turf/open/openspace, /area/station/engineering/lobby) @@ -32983,12 +32863,13 @@ /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/disposal) "lEa" = ( -/obj/machinery/button/elevator/directional/east{ - id = "aisat" - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, +/obj/machinery/button/elevator/directional/east{ + id = "aisat"; + pixel_x = 0 + }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/aisat_interior) "lED" = ( @@ -33252,16 +33133,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"lIF" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/pipe_dispenser{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/pipe_dispenser, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "lIZ" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/vending/boozeomat/all_access, @@ -33276,6 +33147,14 @@ }, /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, +/obj/machinery/button/elevator/directional/south{ + id = "medbay1"; + pixel_x = -32 + }, +/obj/machinery/lift_indicator/directional/south{ + linked_elevator_id = "medbay1"; + pixel_x = -32 + }, /turf/open/floor/catwalk_floor/iron_white, /area/station/medical/treatment_center) "lJq" = ( @@ -33385,7 +33264,8 @@ /turf/open/floor/plating, /area/station/cargo/storage) "lLC" = ( -/obj/structure/chair/stool/directional/east{ +/obj/structure/chair/comfy/brown{ + dir = 4; name = "Quartermaster" }, /turf/open/floor/carpet/executive, @@ -33432,6 +33312,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/blue, /area/station/command/heads_quarters/cmo) +"lMC" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "lMI" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -33619,10 +33509,8 @@ /area/station/ai_monitored/command/storage/satellite) "lQl" = ( /obj/structure/cable, -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 8 - }, /obj/machinery/door/firedoor, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/command) "lQD" = ( @@ -33720,6 +33608,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/main) +"lSu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd"); + pixel_y = 25 + }, +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "lSz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/south, @@ -33839,14 +33735,9 @@ /turf/open/floor/plating, /area/station/maintenance/department/bridge) "lUF" = ( -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel{ - preset_destination_names = list(2 = "Telecomms", 3 = "AI Core"); - linked_elevator_id = "aisat"; - pixel_x = 32 - }, -/turf/open/openspace, -/area/station/ai_monitored/turret_protected/aisat_interior) +/obj/machinery/digital_clock/directional/south, +/turf/closed/wall, +/area/station/medical/surgery/theatre) "lUM" = ( /obj/structure/toilet/greyscale{ dir = 4 @@ -34229,16 +34120,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/lockers) -"mbQ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "mbZ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt/dust, @@ -34265,10 +34146,14 @@ /turf/open/floor/catwalk_floor/iron_white, /area/station/science/ordnance/testlab) "mcw" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/tile/neutral, +/obj/machinery/button/ignition/incinerator/ordmix{ + pixel_y = -8 + }, +/obj/machinery/button/door/incinerator_vent_ordmix{ + pixel_y = 2 + }, /turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) +/area/station/science/ordnance) "mcA" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -34335,11 +34220,6 @@ /obj/item/electronics/airlock, /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/aisat/uppersouth) -"meI" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/structure/closet/firecloset, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "meL" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34413,6 +34293,20 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, +/obj/machinery/door_buttons/access_button/directional/north{ + req_access = list("virology"); + idDoor = "virology_airlock_exterior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Exit"; + pixel_y = -6 + }, +/obj/machinery/door_buttons/access_button/directional/north{ + idDoor = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Enter"; + req_access = list("virology"); + pixel_y = 3 + }, /turf/open/floor/iron/white, /area/station/medical/virology) "mgn" = ( @@ -34738,6 +34632,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/command/gateway) +"mkV" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "mkX" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -34808,6 +34707,7 @@ /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/command/bridge) "mlK" = ( @@ -34942,6 +34842,25 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/button/ticket_machine{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/machinery/button/flasher{ + id = "hopflash"; + pixel_y = 18; + pixel_x = 6 + }, +/obj/machinery/button/directional/north{ + id = "hopdesk"; + name = "desk shutter control"; + pixel_y = 18; + pixel_x = -6; + req_access = list("hop") + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "mnP" = ( @@ -35047,13 +34966,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"mqb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "mqc" = ( /obj/structure/closet/crate/freezer, /obj/item/food/icecreamsandwich, @@ -35091,16 +35003,17 @@ /turf/open/floor/iron, /area/station/engineering/gravity_generator) "mra" = ( -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_y = 24 - }, -/obj/machinery/button/door/incinerator_vent_atmos_main{ - pixel_y = 40 - }, /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/ignition/incinerator/atmos, +/obj/machinery/button/door/incinerator_vent_atmos_main{ + pixel_y = -8 + }, +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "mrq" = ( @@ -35627,6 +35540,15 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"mAC" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13","rd") + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "mAF" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, @@ -35719,6 +35641,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) "mCm" = ( @@ -35831,11 +35754,6 @@ }, /obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, /obj/structure/cable/layer3, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "aisat"; - pixel_x = 8; - pixel_y = -29 - }, /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/aisat_interior) "mDT" = ( @@ -36470,15 +36388,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"mQd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "mQk" = ( /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -36559,6 +36468,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/engineering/main) +"mSe" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 10 + }, +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "mSf" = ( /obj/machinery/mass_driver{ dir = 1; @@ -36574,14 +36493,6 @@ /obj/item/clothing/head/fedora, /turf/open/floor/wood, /area/station/commons/lounge) -"mSG" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 1 - }, -/obj/machinery/meter, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "mSK" = ( /turf/open/floor/iron/white, /area/station/commons/fitness/recreation) @@ -36597,6 +36508,18 @@ }, /turf/open/floor/engine, /area/station/science/explab) +"mTg" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "ordstorage" + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "mTs" = ( /obj/machinery/holopad, /obj/effect/landmark/event_spawn, @@ -36752,8 +36675,8 @@ /obj/effect/turf_decal/stripes{ dir = 6 }, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "mWB" = ( @@ -36943,10 +36866,6 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/machinery/button/door/directional/east{ - id = "psychshutter"; - name = "privacy shutter control" - }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) "mZs" = ( @@ -37086,12 +37005,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/basic, /area/space/nearstation) -"nbF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "nbG" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -37129,13 +37042,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"ncB" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "ncM" = ( /obj/structure/railing{ dir = 1 @@ -37213,6 +37119,11 @@ }, /turf/closed/wall, /area/station/service/bar) +"ndE" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/plating, +/area/station/science/ordnance/testlab) "ndI" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -37258,6 +37169,20 @@ /obj/machinery/digital_clock/directional/west, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"neb" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/pipe_dispenser{ + pixel_x = 3; + pixel_y = 7 + }, +/obj/item/pipe_dispenser, +/obj/machinery/power/apc/auto_name/directional/south{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nee" = ( /turf/open/floor/iron/dark/corner{ dir = 4 @@ -37789,7 +37714,7 @@ id = "qmprivacy"; name = "Privacy Shutters Control" }, -/obj/machinery/keycard_auth/directional/west{ +/obj/machinery/keycard_auth/wall_mounted/directional/west{ pixel_y = 12 }, /turf/open/floor/wood, @@ -37933,19 +37858,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/treatment_center) -"npE" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "npH" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -37987,6 +37899,12 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) +"nqi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nql" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -38390,7 +38308,6 @@ /turf/open/floor/iron, /area/station/engineering/main) "nzT" = ( -/obj/effect/landmark/start/ai, /obj/machinery/power/apc/auto_name/directional/south, /obj/item/radio/intercom/directional/west{ freerange = 1; @@ -38404,18 +38321,19 @@ freerange = 1; pixel_y = 6 }, -/obj/machinery/button/door/directional/south{ - id = "AI Core shutters"; - name = "AI Core Shutters Control"; - pixel_x = -24; - req_access = list("ai_upload") - }, /obj/machinery/camera/directional/north{ c_tag = "AI Chamber - Core"; network = list("aicore") }, /obj/structure/cable, /obj/effect/mapping_helpers/apc/cell_5k, +/obj/machinery/button/door/directional/north{ + id = "AI Core shutters"; + name = "AI Core Shutters Control"; + req_access = list("ai_upload"); + pixel_y = 0 + }, +/obj/effect/landmark/start/ai, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) "nAa" = ( @@ -38493,25 +38411,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/textured, /area/station/security/processing) -"nBA" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/tile/neutral, -/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/sign/directions/evac/directional/south, -/obj/structure/sign/directions/medical/directional/south{ - pixel_y = -24; - dir = 8 - }, -/obj/structure/sign/directions/science/directional/south{ - pixel_y = -40; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "nBV" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -38710,17 +38609,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"nFN" = ( -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "nFS" = ( /obj/structure/closet/wardrobe/white, /obj/item/restraints/handcuffs/cable/zipties, @@ -38755,15 +38643,6 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"nGt" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/east{ - name = "shutter control"; - id = "ordauxgarage" - }, -/obj/structure/tank_dispenser, -/turf/open/floor/plating, -/area/station/science/ordnance) "nGv" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/supply/general, @@ -38778,6 +38657,16 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"nGV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nHj" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron, @@ -39079,15 +38968,6 @@ /obj/machinery/light/directional/south, /turf/open/openspace, /area/station/science/xenobiology) -"nMh" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8; - name = "Oxygen Chamber Injection Port" - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "nMj" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/mapping_helpers/broken_floor, @@ -39175,10 +39055,10 @@ /turf/open/floor/plating, /area/station/maintenance/port/greater) "nNN" = ( -/obj/effect/turf_decal/stripes, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/turf/open/openspace, +/area/station/engineering/atmospherics_engine) "nNP" = ( /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, @@ -39220,6 +39100,11 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron, /area/station/command/bridge) +"nPw" = ( +/obj/structure/water_source/puddle, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/grass, +/area/station/security/prison/garden) "nPM" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -39374,13 +39259,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nTZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "nUi" = ( /obj/structure/table/reinforced/rglass, /obj/item/clipboard, @@ -39416,6 +39294,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"nVm" = ( +/obj/machinery/computer/camera_advanced/xenobio{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/storage/box/monkeycubes, +/turf/open/floor/iron/white/textured_large, +/area/station/science/xenobiology) "nVp" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -39552,12 +39440,10 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "nZb" = ( -/obj/structure/closet/l3closet/virology, /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/mapping_helpers/requests_console/supplies, +/obj/structure/closet/secure_closet/medical1, /turf/open/floor/iron/white, /area/station/medical/virology) "nZo" = ( @@ -39609,6 +39495,13 @@ dir = 8 }, /area/station/engineering/atmos/storage/gas) +"nZW" = ( +/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/components/binary/pump/on/green/visible{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "nZY" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/reagent_dispensers/watertank, @@ -39622,6 +39515,26 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark/textured, /area/station/science/robotics/lab) +"oag" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/storage/box/beakers{ + pixel_x = 24; + pixel_y = 6 + }, +/obj/item/storage/box/syringes{ + pixel_x = 11; + pixel_y = 4 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/xenobiology) "oas" = ( /obj/structure/table, /obj/item/phone{ @@ -39800,6 +39713,7 @@ /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /obj/structure/disposalpipe/segment, +/obj/machinery/scanner_gate/preset_guns, /turf/open/floor/iron, /area/station/security/brig/entrance) "odG" = ( @@ -39843,23 +39757,6 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"oez" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/directions/science/directional/north{ - dir = 4 - }, -/obj/structure/sign/directions/engineering/directional/north{ - pixel_y = 40; - dir = 4 - }, -/obj/structure/sign/directions/command/directional/north{ - pixel_y = 24; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "oeL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39878,18 +39775,6 @@ /obj/machinery/recharger, /turf/open/floor/iron, /area/station/security) -"oeX" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/pen{ - pixel_x = 9; - pixel_y = 4 - }, -/turf/open/floor/glass/reinforced, -/area/station/science/xenobiology) "ofc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -39911,14 +39796,13 @@ /turf/open/floor/glass, /area/station/command/meeting_room) "ofG" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ - dir = 1 - }, /obj/effect/turf_decal/box/red, -/obj/machinery/light/directional/south, /obj/machinery/camera/autoname/directional/west{ network = list("ss13","rd") }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{ + dir = 5 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "ofL" = ( @@ -40076,6 +39960,22 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"okf" = ( +/obj/machinery/light/directional/south, +/obj/structure/table, +/obj/item/clothing/mask/gas{ + pixel_x = 8 + }, +/obj/item/clothing/mask/gas{ + pixel_y = 5; + pixel_x = 16 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 12; + pixel_y = 2 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/xenobiology) "okg" = ( /obj/machinery/holopad, /obj/effect/landmark/event_spawn, @@ -40552,6 +40452,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/bridge) +"otJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "otY" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/structure/closet_empty/crate, @@ -40618,10 +40525,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/cafeteria) -"ouM" = ( -/obj/structure/railing/corner, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "ouQ" = ( /obj/structure/closet/crate/engineering, /obj/item/stack/sheet/mineral/plasma/five, @@ -40827,6 +40730,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/office) +"ozl" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/directions/security/south_arrow{ + pixel_y = -24; + dir = 8 + }, +/obj/structure/sign/directions/supply/south_arrow{ + dir = 8 + }, +/obj/structure/sign/directions/engineering/south_arrow{ + pixel_y = -40 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ozr" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -40889,11 +40808,6 @@ }, /turf/open/openspace, /area/station/science/lobby) -"oAt" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/structure/cable, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/ordnance/storage) "oAH" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -41144,6 +41058,15 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"oEP" = ( +/obj/structure/window/spawner/directional/east, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "oEZ" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ @@ -41349,7 +41272,6 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/cold/dim/directional/west, /turf/open/floor/iron/dark, /area/station/command/bridge) "oJt" = ( @@ -41604,15 +41526,15 @@ pixel_x = 3; pixel_y = -23 }, -/obj/machinery/flasher/directional/north{ - id = "AI" - }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; id = "AI Core shutters"; name = "AI Core Shutters" }, /obj/structure/cable, +/obj/machinery/flasher/directional/south{ + id = "AI" + }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) "oOb" = ( @@ -41860,6 +41782,7 @@ /obj/effect/turf_decal/siding/blue{ dir = 4 }, +/obj/machinery/computer/security/telescreen/cmo/directional/north, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "oSa" = ( @@ -41951,9 +41874,8 @@ /obj/machinery/door/airlock/engineering/glass{ name = "Supermatter Engine Room" }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, /obj/machinery/door/firedoor, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "oUd" = ( @@ -42456,6 +42378,8 @@ /obj/structure/ladder{ icon_state = "ladder10" }, +/obj/structure/sign/warning/engine_safety/directional/north, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "pbO" = ( @@ -42625,16 +42549,6 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/engineering/main) -"pfX" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8; - name = "Oxygen Chamber Injection Port" - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/ordnance/storage) "pgd" = ( /obj/structure/chair{ dir = 1; @@ -42969,7 +42883,6 @@ /area/station/security/warden) "pla" = ( /obj/effect/landmark/start/cyborg, -/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/recharge_floor, /area/station/ai_monitored/turret_protected/ai_upload_foyer) @@ -43310,7 +43223,6 @@ /turf/open/floor/iron/grimy, /area/station/service/chapel/office) "prS" = ( -/obj/structure/sign/departments/psychology/directional/north, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, @@ -43320,6 +43232,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/departments/psychology/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "prW" = ( @@ -43389,6 +43302,13 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"psQ" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/portable_atmospherics/pipe_scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "psT" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -43431,6 +43351,20 @@ /obj/item/reagent_containers/syringe, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ptv" = ( +/obj/structure/table/reinforced, +/obj/machinery/coffeemaker{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/sign/poster/contraband/blood_geometer/directional/north, +/turf/open/floor/iron/half, +/area/station/security/breakroom) "ptP" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43482,7 +43416,7 @@ /area/station/medical/chemistry/minisat) "puP" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-3" }, @@ -43651,6 +43585,10 @@ /turf/open/floor/engine/n2, /area/station/engineering/atmos) "pxu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/turf_decal/stripes{ + dir = 4 + }, /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) @@ -43740,7 +43678,12 @@ "pyH" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table/reinforced, -/obj/item/circuitboard/machine/cyborgrecharger, +/obj/item/circuitboard/machine/cyborgrecharger{ + pixel_y = 5 + }, +/obj/item/coin/titanium{ + pixel_y = 15 + }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) "pyK" = ( @@ -44265,6 +44208,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/warehouse/upper) +"pIk" = ( +/obj/structure/closet/crate/science{ + opened = 1; + icon_state = "scicrateopen" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/obj/item/tank, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "pIp" = ( /obj/structure/railing{ dir = 4 @@ -44332,7 +44285,7 @@ /area/station/command/heads_quarters/cmo) "pJL" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-157" }, @@ -44737,16 +44690,6 @@ /area/station/security/warden) "pRm" = ( /obj/structure/cable/layer3, -/obj/machinery/button/elevator/directional/south{ - pixel_y = -25; - id = "aisat"; - pixel_x = 8 - }, -/obj/machinery/lift_indicator/directional/south{ - pixel_x = -6; - pixel_y = -40; - linked_elevator_id = "aisat" - }, /obj/machinery/camera/autoname/directional/south{ network = list("aicore") }, @@ -45121,7 +45064,6 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable/layer1, @@ -45233,11 +45175,11 @@ /turf/open/floor/wood, /area/station/commons/lounge) "pYw" = ( -/obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/chair/stool/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/uppernorth) "pYE" = ( @@ -45304,23 +45246,6 @@ /obj/structure/railing, /turf/open/openspace, /area/station/science/xenobiology) -"qaz" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/directions/science/directional/north{ - dir = 4 - }, -/obj/structure/sign/directions/command/directional/north{ - pixel_y = 40; - dir = 8 - }, -/obj/structure/sign/directions/evac/directional/north{ - pixel_y = 24; - dir = 2 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "qaE" = ( /obj/effect/landmark/start/janitor, /obj/effect/decal/cleanable/dirt, @@ -45595,6 +45520,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/effect/landmark/start/head_of_personnel, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "qgy" = ( @@ -45626,10 +45552,10 @@ /turf/open/floor/iron/textured_large, /area/station/cargo/sorting) "qgD" = ( -/obj/structure/closet/radiation, /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, +/obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "qgE" = ( @@ -45808,6 +45734,12 @@ /obj/structure/window/spawner/directional/north, /turf/open/misc/grass, /area/station/ai_monitored/turret_protected/aisat/foyer) +"qjs" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/turf/open/floor/catwalk_floor/iron_white, +/area/station/science/ordnance/testlab) "qjw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -45953,13 +45885,17 @@ /turf/open/floor/carpet/executive, /area/station/command/meeting_room) "qms" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 4 +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/hallway/secondary/command) +/obj/machinery/elevator_control_panel{ + preset_destination_names = list(2 = "Telecomms", 3 = "AI Core"); + linked_elevator_id = "aisat" + }, +/turf/open/floor/glass/reinforced/telecomms, +/area/station/ai_monitored/turret_protected/ai) "qmD" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Primary Tool Storage" @@ -46140,11 +46076,6 @@ /obj/effect/mapping_helpers/mob_buckler, /turf/open/floor/iron/checker, /area/station/maintenance/department/medical) -"qqd" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/broken_flooring/pile, -/turf/open/floor/plating, -/area/station/science/ordnance) "qqh" = ( /obj/machinery/computer/apc_control{ dir = 1 @@ -46152,19 +46083,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"qqq" = ( -/obj/structure/table/reinforced, -/obj/machinery/coffeemaker{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/half, -/area/station/security/breakroom) "qqy" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/tcomms_all, @@ -46194,11 +46112,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) -"qqL" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/directions/vault/directional/west, -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/qm) "qqQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -46298,6 +46211,13 @@ /obj/machinery/air_sensor/nitrous_tank, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"qsj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/tank/oxygen{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "qsu" = ( /obj/machinery/light/directional/north, /obj/machinery/rnd/production/protolathe/department/engineering, @@ -46452,10 +46372,10 @@ "qvV" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/green/fourcorners, -/obj/item/radio/intercom/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) "qvX" = ( @@ -46481,6 +46401,10 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"qwB" = ( +/obj/item/shovel/spade, +/turf/open/floor/grass, +/area/station/security/prison/garden) "qwG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46623,22 +46547,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) -"qAo" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/directions/security/directional/south{ - pixel_y = -24; - dir = 8 - }, -/obj/structure/sign/directions/supply/directional/south{ - dir = 8 - }, -/obj/structure/sign/directions/engineering/directional/south{ - pixel_y = -40 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "qAp" = ( /mob/living/basic/mining/goliath/ancient, /turf/open/misc/asteroid/airless, @@ -46779,6 +46687,18 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) +"qDM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/box/red, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "qDP" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46912,20 +46832,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"qGr" = ( -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/effect/turf_decal/caution/stand_clear/red, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "qGB" = ( /obj/machinery/ticket_machine/directional/north, /obj/structure/chair/sofa/bench, /turf/open/floor/iron/white, /area/station/medical/exam_room) +"qGD" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/science/xenobiology) "qGN" = ( /obj/structure/table/wood, /obj/effect/spawner/random/entertainment/deck, @@ -46974,6 +46895,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) "qHs" = ( @@ -47419,13 +47341,6 @@ /obj/structure/flora/coconuts, /turf/open/floor/grass, /area/station/science/genetics) -"qQG" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/trinary/mixer{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "qQK" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47595,6 +47510,14 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"qUi" = ( +/obj/machinery/processor/slime, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/white/textured_large, +/area/station/science/xenobiology) "qUl" = ( /obj/effect/turf_decal/tile/neutral, /obj/structure/table, @@ -47637,13 +47560,6 @@ dir = 1 }, /area/station/engineering/atmos) -"qVB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "qVD" = ( /obj/structure/railing, /obj/structure/table, @@ -47707,6 +47623,7 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "qWt" = ( @@ -47762,14 +47679,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/cargo/storage) -"qWZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "qXa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47808,6 +47717,12 @@ /obj/effect/spawner/random/techstorage/security_all, /turf/open/floor/iron/textured, /area/station/engineering/storage/tech) +"qXE" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/sign/poster/official/wtf_is_co2/directional/north, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/ordnance/storage) "qXK" = ( /obj/effect/turf_decal/tile/red, /obj/effect/landmark/event_spawn, @@ -47993,10 +47908,17 @@ dir = 4; id = "hopdesk" }, -/obj/machinery/door/firedoor, -/obj/effect/spawner/structure/window/hollow/reinforced/end, /obj/structure/cable, -/turf/open/floor/plating, +/obj/machinery/door/firedoor, +/obj/structure/table/reinforced, +/obj/effect/landmark/navigate_destination/hop, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/door/window/brigdoor/left/directional/west{ + req_access = list("hop") + }, +/obj/machinery/door/window/left/directional/east, +/turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "raZ" = ( /obj/machinery/door/airlock/maintenance_hatch, @@ -48022,19 +47944,16 @@ }, /area/station/command/bridge) "rbs" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload Turret Control"; - pixel_x = -28 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/door/window/brigdoor/left/directional/south, /obj/effect/turf_decal/siding/purple{ dir = 8 }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/turretid/directional/west{ + name = "AI Upload Turret Control"; + control_area = "/area/station/ai_monitored/turret_protected/ai_upload" + }, /turf/open/floor/iron/white, /area/station/ai_monitored/turret_protected/ai_upload_foyer) "rbw" = ( @@ -48115,7 +48034,6 @@ /obj/machinery/computer/security{ dir = 4 }, -/obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 8 }, @@ -48132,6 +48050,11 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/mechbay) +"rcH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/wrench, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "rcP" = ( /obj/effect/turf_decal/stripes/asteroid/corner, /turf/open/misc/asteroid, @@ -48269,16 +48192,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/exam_room) -"reH" = ( -/obj/machinery/door/airlock/research{ - glass = 1; - name = "Slime Euthanization Chamber"; - opacity = 0 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "reI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48505,11 +48418,11 @@ /turf/open/floor/plating, /area/station/maintenance/department/science) "rix" = ( -/obj/structure/closet/secure_closet/medical1, /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, /obj/machinery/airalarm/directional/north, +/obj/machinery/vending/wardrobe/viro_wardrobe, /turf/open/floor/iron/white, /area/station/medical/virology) "riE" = ( @@ -48737,8 +48650,9 @@ /turf/open/floor/carpet, /area/station/service/lawoffice) "rkI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2{ - dir = 10 +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/layer2{ + dir = 8; + initialize_directions = 8 }, /turf/open/floor/iron/dark, /area/station/science/ordnance) @@ -48811,18 +48725,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/upper) -"rlP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "rlU" = ( /obj/structure/railing/corner, /turf/open/floor/iron, @@ -49555,7 +49457,7 @@ /area/station/service/bar) "rzg" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-55" }, @@ -49729,11 +49631,6 @@ /area/station/engineering/transit_tube) "rBZ" = ( /obj/structure/cable, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; - name = "AI Antechamber turret control"; - pixel_y = 27 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/aisat/uppersouth) @@ -49865,10 +49762,16 @@ /turf/open/floor/iron, /area/station/service/hydroponics/garden) "rDx" = ( -/obj/machinery/vending/wardrobe/viro_wardrobe, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 }, +/obj/machinery/door_buttons/airlock_controller{ + idExterior = "virology_airlock_exterior"; + idInterior = "virology_airlock_interior"; + idSelf = "virology_airlock_control"; + name = "Virology Access Console"; + req_access = list("virology") + }, /turf/open/floor/iron/white, /area/station/medical/virology) "rDD" = ( @@ -50128,7 +50031,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/item/storage/medkit, +/obj/item/storage/medkit{ + pixel_y = 12 + }, /obj/structure/table, /obj/machinery/light/directional/south, /obj/item/radio/intercom/directional/south, @@ -50215,11 +50120,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/detective, /turf/open/floor/carpet, /area/station/security/detectives_office) -"rJQ" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/structure/sign/poster/official/wtf_is_co2/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/science/ordnance/storage) "rJW" = ( /obj/machinery/computer/shuttle/labor{ dir = 8 @@ -50244,12 +50144,12 @@ /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) "rKq" = ( -/obj/structure/sign/warning/vacuum/directional/east, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/structure/cable, +/obj/structure/sign/warning/vacuum/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) "rKW" = ( @@ -50282,7 +50182,6 @@ /obj/effect/turf_decal/stripes{ dir = 1 }, -/obj/structure/cable, /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50312,11 +50211,6 @@ dir = 1 }, /area/station/science/breakroom) -"rLX" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "rMj" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/turf_decal/stripes/line, @@ -50398,6 +50292,12 @@ /obj/item/holosign_creator/robot_seat/restaurant, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"rPh" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/light/small/directional/south, +/obj/structure/broken_flooring/pile, +/turf/open/floor/plating, +/area/station/science/ordnance) "rPi" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/window/spawner/directional/west, @@ -50460,6 +50360,11 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron/white, /area/station/maintenance/department/medical) +"rPV" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/science/ordnance) "rQb" = ( /obj/effect/turf_decal/siding/thinplating_new/end, /obj/effect/decal/cleanable/dirt/dust, @@ -50616,14 +50521,6 @@ dir = 1 }, /area/station/engineering/atmos) -"rSB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "rSF" = ( /obj/effect/turf_decal/siding, /obj/structure/table, @@ -50819,13 +50716,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"rVD" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/directions/supply/directional/east{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "rVL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50836,28 +50726,8 @@ /obj/effect/turf_decal/stripes{ dir = 4 }, -/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"rWf" = ( -/obj/structure/sign/poster/official/cleanliness/directional/north, -/obj/effect/turf_decal/bot, -/obj/item/reagent_containers/condiment/sugar{ - pixel_y = 4 - }, -/obj/item/storage/pill_bottle/happinesspsych{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/item/storage/box/coffeepack, -/obj/item/storage/box/coffeepack/robusta, -/obj/item/reagent_containers/condiment/soymilk, -/obj/item/reagent_containers/condiment/milk, -/obj/structure/closet/secure_closet/freezer/empty/open, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/iron/dark, -/area/station/service/cafeteria) "rWh" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -50921,7 +50791,7 @@ /turf/open/floor/iron, /area/station/cargo/storage) "rWI" = ( -/obj/structure/reagent_dispensers/watertank, +/obj/structure/reagent_dispensers/watertank/high, /obj/effect/turf_decal/bot{ dir = 1 }, @@ -50969,6 +50839,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) +"rXf" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 6 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/xenobiology) "rXg" = ( /obj/structure/spirit_board, /obj/item/storage/box/bodybags{ @@ -51076,11 +50954,12 @@ /area/station/security/prison/garden) "rYe" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 1 + dir = 8; + initialize_directions = 8 }, -/obj/structure/window/spawner/directional/east, /obj/effect/turf_decal/box/red, /obj/item/radio/intercom/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/science/ordnance) "rYg" = ( @@ -51184,6 +51063,14 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/service/hydroponics) +"rZE" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "rZJ" = ( /obj/effect/turf_decal/siding/thinplating_new, /obj/effect/decal/cleanable/dirt/dust, @@ -51407,7 +51294,7 @@ /turf/closed/wall, /area/station/cargo/storage) "sdn" = ( -/obj/machinery/keycard_auth/directional/south, +/obj/machinery/keycard_auth/wall_mounted/directional/south, /turf/open/floor/glass/reinforced/plasma, /area/station/command/heads_quarters/rd) "sdA" = ( @@ -51417,6 +51304,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/execution/transfer) +"sdB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/broken/directional/north, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "sdW" = ( /obj/structure/railing{ dir = 9 @@ -51933,6 +51826,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"smH" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "smM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52123,15 +52025,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"sqc" = ( -/obj/structure/window/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "sqk" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/siding/wood{ @@ -52387,6 +52280,14 @@ }, /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) +"suo" = ( +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "ordstorage" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/caution/stand_clear/red, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "suq" = ( /obj/effect/landmark/start/station_engineer, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52396,24 +52297,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"sut" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/directions/supply/directional/south{ - dir = 8 - }, -/obj/structure/sign/directions/engineering/directional/south{ - pixel_y = -40; - dir = 4 - }, -/obj/structure/sign/directions/security/directional/south{ - pixel_y = -24; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "suw" = ( /obj/machinery/chem_master, /turf/open/floor/iron/dark/small, @@ -52608,8 +52491,23 @@ /area/station/engineering/atmos) "syF" = ( /obj/effect/landmark/start/prisoner, +/obj/item/plant_analyzer, /turf/open/floor/grass, /area/station/security/prison/garden) +"syK" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/directions/medical/east_arrow{ + pixel_y = 8; + dir = 8 + }, +/obj/structure/sign/directions/evac/east_arrow{ + pixel_y = -8 + }, +/obj/structure/sign/directions/engineering/east_arrow, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "syL" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, @@ -53145,6 +53043,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/chemistry/minisat) +"sHS" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; + name = "AI Antechamber turret control"; + pixel_y = 0; + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/station/ai_monitored/turret_protected/aisat_interior) "sIl" = ( /obj/structure/table, /obj/machinery/reagentgrinder{ @@ -53339,9 +53246,6 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, -/obj/machinery/airlock_sensor/incinerator_ordmix{ - pixel_y = -24 - }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) "sLt" = ( @@ -53623,14 +53527,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/xenobiology) -"sQU" = ( -/obj/machinery/light/directional/south, -/obj/structure/table, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/glass/reinforced, -/area/station/science/xenobiology) "sRj" = ( /obj/structure/sign/poster/official/random/directional/east, /obj/effect/turf_decal/siding/purple{ @@ -53684,11 +53580,16 @@ }, /area/station/command/bridge) "sRP" = ( -/obj/machinery/photocopier, -/obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, +/obj/machinery/pdapainter{ + pixel_y = 2 + }, +/obj/item/storage/box/stickers{ + pixel_y = 16 + }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "sRU" = ( @@ -53805,6 +53706,12 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"sUD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/central/lesser) "sUI" = ( /obj/machinery/door/airlock{ name = "Kitchen Cold Room" @@ -53922,13 +53829,19 @@ /area/station/cargo/miningoffice) "sXf" = ( /obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ + pixel_y = 10 + }, /obj/item/storage/toolbox/emergency{ pixel_x = -2; - pixel_y = -3 + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 6 }, -/obj/item/multitool, -/obj/item/wrench, /obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ dir = 8 }, @@ -54074,10 +53987,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/paramedic) -"sZp" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/ordnance/testlab) "sZs" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/siding/wood, @@ -54392,6 +54301,37 @@ dir = 8 }, /obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/machinery/button/door{ + normaldoorcontrol = 1; + specialfunctions = 4; + id = "secentrylock2"; + req_access = list("security"); + name = "Security Exit Lock"; + pixel_x = -4; + pixel_y = -1 + }, +/obj/machinery/button/flasher{ + pixel_x = 5; + id = "secentry"; + pixel_y = -1; + name = "entrance flasher button" + }, +/obj/machinery/button/door{ + normaldoorcontrol = 1; + specialfunctions = 4; + id = "secentrylock"; + pixel_y = 6; + req_access = list("security"); + name = "Security Entrance Lock"; + pixel_x = -4 + }, +/obj/machinery/button/door{ + pixel_x = 5; + pixel_y = 6; + name = "Security Entrance Doors"; + id = "secentrylock"; + normaldoorcontrol = 1 + }, /turf/open/floor/iron/textured, /area/station/security/warden) "tgw" = ( @@ -54402,17 +54342,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) -"tgS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 6 - }, -/obj/item/flashlight/glowstick/blue{ - start_on = 1; - light_range = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "tgW" = ( /obj/machinery/door/airlock/medical{ name = "Primary Surgical Theatre" @@ -54555,7 +54484,7 @@ /obj/structure/cable, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/stairs{ - icon = 'icons/obj/stairs.dmi'; + icon = 'icons/obj/structures/stairs.dmi'; icon_state = "stairs_wood"; dir = 4 }, @@ -55317,11 +55246,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"tvQ" = ( -/obj/structure/chair/sofa/bench, -/obj/effect/landmark/start/prisoner, -/turf/open/floor/iron, -/area/station/security/prison) "twf" = ( /obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "soup"; @@ -55359,7 +55283,9 @@ /area/station/command/corporate_dock) "txw" = ( /obj/structure/table, -/obj/effect/spawner/round_default_module, +/obj/effect/spawner/round_default_module{ + pixel_y = 10 + }, /obj/machinery/flasher/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) @@ -55441,17 +55367,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/service/cafeteria) -"tzv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box/red, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "tzw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56062,6 +55977,15 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) +"tJh" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/window/spawner/directional/south, +/obj/machinery/elevator_control_panel/directional/south{ + linked_elevator_id = "aisat"; + pixel_y = 0 + }, +/turf/open/misc/grass, +/area/station/ai_monitored/turret_protected/aisat/foyer) "tJx" = ( /obj/structure/chair/plastic{ dir = 4 @@ -56129,6 +56053,7 @@ /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/command/bridge) "tLa" = ( @@ -56184,13 +56109,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/commons/lounge) -"tLL" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/item/holosign_creator/atmos, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "tLO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -56348,11 +56266,11 @@ "tNK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos, -/obj/machinery/airlock_sensor/incinerator_atmos{ - pixel_y = 24 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/small/directional/south, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_y = -8 + }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "tNN" = ( @@ -56616,6 +56534,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/security/brig/entrance) +"tRZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "tSc" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron, @@ -56736,7 +56661,7 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp, /obj/machinery/camera/autoname/directional/north, -/obj/machinery/keycard_auth/directional/north, +/obj/machinery/keycard_auth/wall_mounted/directional/north, /turf/open/floor/carpet/green, /area/station/command/heads_quarters/hop) "tUG" = ( @@ -57055,6 +56980,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/science) +"uaw" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "uay" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -57169,10 +57105,13 @@ /turf/open/floor/iron/textured, /area/station/security/processing) "uca" = ( -/obj/machinery/modular_computer/preset/engineering, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, +/obj/structure/table/reinforced, +/obj/machinery/keycard_auth{ + pixel_y = 10 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "ucb" = ( @@ -57262,7 +57201,6 @@ /turf/open/floor/iron, /area/station/engineering/main) "uei" = ( -/obj/structure/cable, /obj/machinery/atmospherics/components/binary/valve/digital/on{ dir = 4; name = "Cooling Loop Bypass" @@ -57411,6 +57349,7 @@ "ugJ" = ( /obj/effect/spawner/random/maintenance, /obj/structure/closet, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine) "ugN" = ( @@ -57588,16 +57527,6 @@ /obj/structure/closet/crate/bin, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"ujv" = ( -/obj/structure/stairs/north, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/sign/directions/arrival/directional/west{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ujx" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/chair/plastic{ @@ -57638,15 +57567,16 @@ /turf/open/floor/plating, /area/station/maintenance/solars/port) "ukv" = ( -/obj/machinery/lift_indicator/directional/west{ - linked_elevator_id = "medbay1" - }, -/obj/machinery/button/elevator/directional/west{ - id = "medbay1" - }, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 }, +/obj/machinery/button/elevator/directional/north{ + id = "medbay1"; + pixel_y = 0 + }, +/obj/machinery/lift_indicator/directional/north{ + pixel_y = 0 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "ukw" = ( @@ -57846,6 +57776,8 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer5{ dir = 5 }, +/obj/structure/closet/radiation, +/obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "unL" = ( @@ -57984,18 +57916,13 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "uqM" = ( -/obj/structure/table/reinforced, -/obj/item/stamp/head/ce, -/obj/item/folder/yellow, /obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 + dir = 9 }, -/obj/structure/cable, -/obj/machinery/keycard_auth/directional/west{ - pixel_y = -10 +/obj/machinery/modular_computer/preset/engineering{ + dir = 1 }, -/obj/item/pen/screwdriver, -/obj/item/stamp/head/ce, +/obj/structure/cable, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "ura" = ( @@ -58128,13 +58055,12 @@ /turf/open/floor/grass, /area/station/service/hydroponics/garden) "usL" = ( -/obj/machinery/lift_indicator{ - pixel_y = -3; - pixel_x = -6; - linked_elevator_id = "aisat" +/obj/machinery/door/window/brigdoor/security/cell/right/directional/south{ + req_access = list("ordnance"); + name = "Freezer Access" }, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/turret_protected/aisat_interior) +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "usQ" = ( /obj/effect/turf_decal/tile/yellow, /obj/item/kirbyplants/random, @@ -58377,6 +58303,15 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) +"uya" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "uyc" = ( /obj/machinery/light/cold/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -58446,6 +58381,11 @@ "uyL" = ( /turf/open/floor/iron, /area/station/cargo/storage) +"uzg" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/poster/contraband/communist_state/directional/north, +/turf/open/space/basic, +/area/space/nearstation) "uzh" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/cable, @@ -58583,6 +58523,16 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/station/asteroid) +"uBU" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "uCj" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -58698,16 +58648,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/showroomfloor, /area/station/science/research) -"uDT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "uDZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58863,12 +58803,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) -"uHz" = ( -/obj/structure/lattice/catwalk, -/turf/open/openspace{ - initial_gas_mix = "n2=100;TEMP=80" - }, -/area/station/science/xenobiology) "uHA" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -58974,9 +58908,7 @@ "uJq" = ( /obj/machinery/computer/records/medical, /obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/computer/security/telescreen/cmo/directional/north{ - name = "Medbay Monitor" - }, +/obj/machinery/computer/security/telescreen/med_sec/directional/north, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) "uJt" = ( @@ -59050,7 +58982,7 @@ /area/station/command/heads_quarters/cmo) "uKA" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-14" }, @@ -59357,19 +59289,12 @@ /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) "uPg" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/lift_indicator/directional/south{ - linked_elevator_id = "medbay1"; - pixel_x = -32 - }, -/obj/machinery/button/elevator/directional/south{ - id = "medbay1"; - pixel_x = -32 +/obj/machinery/button/elevator/directional/north{ + id = "cargo"; + pixel_y = 0 }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/turf/closed/wall, +/area/station/cargo/storage) "uPi" = ( /obj/effect/turf_decal/tile/brown/half/contrasted, /obj/effect/decal/cleanable/dirt, @@ -59519,7 +59444,6 @@ /turf/open/floor/iron/dark, /area/station/science/server) "uTk" = ( -/obj/machinery/light/warm/dim/directional/north, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 }, @@ -59527,6 +59451,7 @@ /obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ dir = 1 }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry/minisat) "uTy" = ( @@ -59733,6 +59658,18 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/upper) +"uXb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/directional/north{ + id = "bridgespace"; + name = "Bridge Blast Doors"; + pixel_y = 38 + }, +/turf/open/floor/iron/stairs/left{ + dir = 1 + }, +/area/station/command/bridge) "uXe" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -59916,6 +59853,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) "vau" = ( @@ -59932,7 +59870,9 @@ /area/station/medical/virology) "vay" = ( /obj/structure/table/reinforced, -/obj/item/storage/medkit/regular, +/obj/item/storage/medkit/regular{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 1 }, @@ -60140,12 +60080,12 @@ /turf/open/floor/iron/white, /area/station/medical/pharmacy) "vfG" = ( -/obj/structure/sign/warning/vacuum/directional/west, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/structure/cable, +/obj/structure/sign/warning/vacuum/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) "vfJ" = ( @@ -60155,10 +60095,10 @@ /obj/effect/turf_decal/stripes{ dir = 4 }, -/obj/structure/cable, /obj/structure/sign/warning/vacuum/external/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "vfM" = ( @@ -60471,10 +60411,6 @@ /obj/machinery/light/directional/south, /turf/open/openspace, /area/station/security/warden) -"vlz" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "vlD" = ( /obj/structure/table/wood, /obj/machinery/light_switch/directional/north, @@ -60545,6 +60481,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"vmH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/broken_canister_frame, +/obj/structure/sign/poster/random/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "vnb" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine/airless, @@ -60561,16 +60503,16 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "vno" = ( -/obj/machinery/fax{ - fax_name = "Chief Engineer's Office"; - name = "Chief Engineer's Fax Machine" - }, -/obj/structure/table/reinforced, /obj/machinery/light/directional/east, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 }, /obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/fax{ + fax_name = "Chief Engineer's Office"; + name = "Chief Engineer's Fax Machine" + }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) "vnr" = ( @@ -60609,6 +60551,15 @@ /obj/effect/spawner/random/entertainment/money_medium, /turf/open/misc/asteroid, /area/station/asteroid) +"vor" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/lift_indicator/directional/north{ + linked_elevator_id = "cargo" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "vos" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -60777,6 +60728,7 @@ /turf/open/floor/iron, /area/station/engineering/lobby) "vqN" = ( +/obj/machinery/vending/cytopro, /turf/open/floor/iron/dark/small, /area/station/science/cytology) "vqY" = ( @@ -60905,6 +60857,11 @@ /area/station/service/theater) "vvE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airlock_controller/incinerator_ordmix{ + pixel_y = -30; + dir = 8; + pixel_x = 11 + }, /turf/open/floor/iron/dark, /area/station/science/ordnance) "vvG" = ( @@ -61089,6 +61046,25 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"vzo" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/tile/neutral, +/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/sign/directions/evac/south_arrow, +/obj/structure/sign/directions/medical/south_arrow{ + pixel_y = -24; + dir = 8 + }, +/obj/structure/sign/directions/science/south_arrow{ + pixel_y = -40; + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vzu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61231,6 +61207,15 @@ dir = 8 }, /area/station/science/xenobiology) +"vBN" = ( +/obj/structure/window/spawner/directional/east, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "vBV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61332,10 +61317,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"vEA" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/openspace/xenobio, -/area/station/science/xenobiology) "vEE" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -61436,7 +61417,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table/reinforced, /obj/machinery/light/small/dim/directional/east, -/obj/item/coin/titanium, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) "vFD" = ( @@ -61468,6 +61448,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"vFL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "vFM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61833,14 +61819,6 @@ /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) "vNc" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = 24; - pixel_y = 8 - }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, @@ -61848,6 +61826,8 @@ /obj/effect/mapping_helpers/requests_console/information, /obj/effect/mapping_helpers/requests_console/assistance, /obj/effect/mapping_helpers/requests_console/announcement, +/obj/structure/filingcabinet, +/obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "vNd" = ( @@ -61864,6 +61844,10 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/uppernorth) +"vNj" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/supermatter/room) "vNk" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -61941,14 +61925,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/hallway/primary/central) -"vOp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "vOs" = ( /obj/machinery/airalarm/directional/south, /obj/structure/tank_holder/extinguisher, @@ -62108,9 +62084,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"vRp" = ( -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "vRt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62208,14 +62181,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"vSF" = ( -/obj/machinery/door/airlock/command{ - name = "Research Director's Observatory" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/rd, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/science/ordnance/testlab) "vSH" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Plasma to Pure" @@ -62299,6 +62264,16 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/port) +"vUk" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/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/dark, +/area/station/science/ordnance) "vUn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62569,6 +62544,34 @@ req_access = list("security") }, /obj/item/hand_labeler, +/obj/machinery/button/door{ + normaldoorcontrol = 1; + specialfunctions = 4; + id = "secentrylock2"; + req_access = list("security"); + name = "Security Exit Lock"; + pixel_x = -7 + }, +/obj/machinery/button/flasher{ + pixel_x = 2; + id = "secentry" + }, +/obj/machinery/button/door{ + normaldoorcontrol = 1; + specialfunctions = 4; + id = "secentrylock"; + pixel_y = 7; + req_access = list("security"); + name = "Security Entrance Lock"; + pixel_x = -7 + }, +/obj/machinery/button/door{ + pixel_x = 2; + pixel_y = 7; + name = "Security Entrance Doors"; + id = "secentrylock"; + normaldoorcontrol = 1 + }, /turf/open/floor/iron, /area/station/security/brig/entrance) "vZX" = ( @@ -62868,6 +62871,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable/layer1, +/obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "wfl" = ( @@ -63182,6 +63186,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/textured_large, /area/station/service/hydroponics/garden) +"wlO" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/box/red, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "wlR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating, @@ -63664,6 +63681,12 @@ /obj/effect/mapping_helpers/mail_sorting/service/hydroponics, /turf/open/floor/wood/tile, /area/station/service/bar) +"wvs" = ( +/obj/structure/chair/sofa/bench, +/obj/effect/landmark/start/prisoner, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/prison) "wvt" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, @@ -63771,12 +63794,9 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "wxH" = ( -/obj/structure/chair/comfy/brown{ - dir = 4; - name = "Captain" - }, -/turf/open/floor/carpet/executive, -/area/station/command/meeting_room) +/obj/machinery/turretid/directional/south, +/turf/closed/wall/r_wall, +/area/station/ai_monitored/turret_protected/ai) "wxQ" = ( /obj/machinery/computer/operating{ dir = 8 @@ -64512,7 +64532,6 @@ /turf/closed/wall, /area/station/medical/storage) "wJC" = ( -/obj/structure/sign/poster/contraband/communist_state/directional/east, /turf/open/space/basic, /area/space/nearstation) "wJN" = ( @@ -64538,6 +64557,10 @@ "wKO" = ( /turf/open/floor/glass, /area/station/maintenance/department/medical) +"wKR" = ( +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/ordnance/storage) "wKT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ @@ -64666,11 +64689,6 @@ /obj/effect/turf_decal/siding, /turf/open/floor/iron/textured, /area/station/science/lobby) -"wMC" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "wME" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -64776,7 +64794,6 @@ /obj/machinery/door/airlock/research/glass{ name = "Ordnance Lab" }, -/obj/effect/mapping_helpers/airlock/locked, /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ dir = 8 }, @@ -64913,6 +64930,13 @@ }, /turf/open/floor/iron, /area/station/security/brig/entrance) +"wRL" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "wRN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -65372,7 +65396,6 @@ /obj/effect/turf_decal/siding/blue{ dir = 4 }, -/obj/machinery/vending/wallmed/directional/south, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "xay" = ( @@ -65398,19 +65421,11 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "xaH" = ( -/obj/structure/filingcabinet, -/obj/machinery/button/ticket_machine{ - pixel_x = 24; - pixel_y = 6 - }, -/obj/machinery/button/door/directional/east{ - id = "hopdesk"; - name = "desk shutter control"; - pixel_y = -6 - }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, +/obj/machinery/light_switch/directional/north, +/obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "xaI" = ( @@ -65974,7 +65989,9 @@ /area/station/hallway/secondary/entry) "xla" = ( /obj/structure/table, -/obj/item/ai_module/core/full/dungeon_master, +/obj/item/ai_module/core/full/dungeon_master{ + pixel_y = 12 + }, /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) @@ -66306,7 +66323,7 @@ /area/station/maintenance/department/cargo) "xrH" = ( /obj/structure/transport/linear/public{ - icon = 'icons/obj/smooth_structures/catwalk.dmi'; + icon = 'icons/obj/structures/smooth/catwalk.dmi'; base_icon_state = "catwalk"; icon_state = "catwalk-21" }, @@ -66525,6 +66542,22 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"xvo" = ( +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "ordstorage" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/east{ + req_access = list("ordnance"); + name = "Ordnance Storage Shutter Control"; + id = "ordstorage" + }, +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "xvr" = ( /obj/machinery/computer/prisoner/management{ dir = 1 @@ -66655,6 +66688,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos) +"xxN" = ( +/obj/machinery/light/small/dim/directional/north, +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/floor/engine/o2, +/area/station/science/ordnance) "xxO" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/flora/bush/fullgrass/style_random, @@ -66679,6 +66717,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) +"xxY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "xyG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/power/apc/auto_name/directional/south, @@ -66822,7 +66869,8 @@ /area/station/hallway/secondary/command) "xAR" = ( /obj/machinery/button/elevator/directional/east{ - id = "aisat" + id = "aisat"; + pixel_x = 0 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -67084,6 +67132,7 @@ /obj/structure/disposalpipe/segment, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/lesser) "xFt" = ( @@ -67153,16 +67202,11 @@ /turf/open/floor/iron/white/textured_large, /area/station/science/xenobiology) "xGX" = ( -/obj/machinery/pdapainter{ - pixel_y = 2 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, /obj/machinery/airalarm/directional/south, -/obj/item/storage/box/stickers{ - pixel_y = 16 - }, +/obj/machinery/photocopier, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "xGY" = ( @@ -67183,10 +67227,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"xHo" = ( -/obj/item/radio/intercom/chapel/directional/west, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/science/ordnance/testlab) "xHB" = ( /obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, @@ -67194,13 +67234,13 @@ /area/station/command/corporate_showroom) "xHT" = ( /obj/structure/cable, -/obj/machinery/light/warm/dim/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/warm/dim/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry/minisat) "xHY" = ( @@ -67279,6 +67319,15 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"xJK" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "ordstorage" + }, +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "xJQ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -67290,6 +67339,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/exam_room) +"xJR" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "xJT" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -67420,10 +67477,7 @@ name = "Captain's Fax Machine" }, /obj/structure/table/reinforced, -/obj/machinery/keycard_auth/directional/south{ - pixel_y = -24; - pixel_x = 8 - }, +/obj/item/modular_computer/laptop/preset/civilian, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain/private) "xNh" = ( @@ -67703,12 +67757,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured_half, /area/station/cargo/storage) -"xSO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/north, -/obj/machinery/atmospherics/components/tank/oxygen, -/turf/open/floor/plating, -/area/station/maintenance/department/science) +"xSW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/white/smooth_half{ + dir = 8 + }, +/area/station/science/xenobiology) "xTa" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -67826,6 +67882,25 @@ }, /turf/open/floor/iron/dark/textured, /area/station/science/robotics/lab) +"xVP" = ( +/obj/effect/turf_decal/bot, +/obj/item/reagent_containers/condiment/sugar{ + pixel_y = 4 + }, +/obj/item/storage/pill_bottle/happinesspsych{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/storage/box/coffeepack, +/obj/item/storage/box/coffeepack/robusta, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/milk, +/obj/structure/closet/secure_closet/freezer/empty/open, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/dim/directional/west, +/obj/structure/sign/poster/official/cleanliness/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/cafeteria) "xWb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -68024,6 +68099,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/service/bar) +"xYE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "xYG" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -68116,17 +68197,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"yav" = ( -/obj/structure/table, -/obj/item/storage/box/syringes{ - pixel_x = -8; - pixel_y = 11 - }, -/obj/item/storage/box/beakers{ - pixel_x = 4 - }, -/turf/open/floor/glass/reinforced, -/area/station/science/xenobiology) +"yaH" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/white/smooth_large, +/area/station/science/ordnance/storage) "yaM" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -68186,14 +68261,6 @@ /obj/machinery/shower/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/engineering/main) -"ybW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "yca" = ( /obj/machinery/door/airlock/research/glass{ name = "Chemistry Lab" @@ -68753,9 +68820,14 @@ /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) "ylS" = ( -/obj/machinery/button/ignition/incinerator/atmos, -/turf/closed/wall/r_wall, -/area/station/maintenance/disposal/incinerator) +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ylV" = ( /turf/closed/wall, /area/station/security/checkpoint/supply) @@ -80278,7 +80350,7 @@ oNC dnO rnk rnk -xBS +lUF xBS uxw dBM @@ -82515,8 +82587,8 @@ iUF dUc xrb xrb -dEG -dEG +nPw +qwB iqf cKn pjt @@ -82853,7 +82925,7 @@ pwn isy hSB cnd -uPg +xDp bui yit dpf @@ -83028,7 +83100,7 @@ cLf dUc cLf xrb -nEx +hAS syF ckc sqk @@ -83799,7 +83871,7 @@ cLf iUF cLf sNu -nEx +hAS rXZ vjm hbw @@ -84103,7 +84175,7 @@ aZt rzg xrH jCX -sdc +uPg lwW uyL esN @@ -84319,7 +84391,7 @@ hME hME tSc wUe -tvQ +wvs imQ rhY tsk @@ -86643,7 +86715,7 @@ fAR keQ ftK jza -qqq +ptv pWB jiy mJx @@ -87177,7 +87249,7 @@ xNq tqN bPZ aSZ -rWf +xVP lsJ nVT koA @@ -87985,7 +88057,7 @@ bGD nxG nxG nxG -hpB +cAS nxG nxG tuA @@ -88473,7 +88545,7 @@ kmu dxT tCE xMk -rVD +aJO deY aQS vTx @@ -88502,7 +88574,7 @@ prW prW prW prW -dvz +syK prW tOm hDK @@ -88724,7 +88796,7 @@ aSZ rjs fNp aSZ -eGz +aBJ qRr kmu dxT @@ -88767,7 +88839,7 @@ kJT vkM kJT kJT -uuN +uzg uHL uuN cLf @@ -89754,7 +89826,7 @@ rjX rjX iXj rjX -oez +jMZ tHF hqz bAw @@ -90011,7 +90083,7 @@ oGB qyz ahI rjX -lyJ +jLd tHF tCE bAw @@ -90784,7 +90856,7 @@ rQC rjX aFJ tHF -tIT +tCE bAw bAw bAw @@ -91325,7 +91397,7 @@ isH agu lpE kAg -ujv +aDU kmu hGE nxG @@ -93615,7 +93687,7 @@ dTU pMD acc kYl -jUd +sUD dGc fDN enu @@ -94412,7 +94484,7 @@ rjn kmu rFV tOm -sut +iTJ hzF hzF hjo @@ -94619,7 +94691,7 @@ tsP wNa jSs jzC -mcw +pmC aKg pmC qka @@ -94865,7 +94937,7 @@ rcz eYO mrq eBK -bQc +uXb neH nZB fCY @@ -94881,7 +94953,7 @@ wsS eXM xGX sgz -dFM +tEy lUp uZx rqj @@ -95440,7 +95512,7 @@ oGX kmu aly dxT -nBA +vzo hzF hzF eGn @@ -95645,7 +95717,7 @@ eKR lkQ dhl fbC -qms +lQl auM hvt iwm @@ -97197,7 +97269,7 @@ juw pSO xYn pSO -jaa +cKF qbA tCE mJR @@ -100834,10 +100906,10 @@ prW gag prW anT -prW sOA -bVA -aKJ +gma +prW +prW jqj dxT aQS @@ -101566,9 +101638,9 @@ bDy irx gyl gvF -qaz +gPt tHF -qAo +ozl uZx fDa eMG @@ -101609,7 +101681,7 @@ kag kag kag kag -dct +fWB dgX iin iin @@ -101840,7 +101912,7 @@ nxG nxG hjJ nxG -glH +azU iAE xAm nMR @@ -101870,7 +101942,7 @@ dct hqk jFc jFc -iOc +jFc adV usQ ltS @@ -102054,7 +102126,7 @@ cqm srs oyO pyH -gHQ +fAP iJP kee jbM @@ -102309,7 +102381,7 @@ eOn fxo vDK srs -eJQ +tJh vFz kbv xkc @@ -102570,7 +102642,7 @@ wHJ wHJ wHJ mDP -usL +wHJ wHJ kTx kYu @@ -105925,7 +105997,7 @@ fYe vxX vxX vfJ -xAd +gZF oBP xAd kHG @@ -108502,7 +108574,7 @@ foX aku ouA jJe -gOY +ilp gOY gOY gOY @@ -108557,9 +108629,9 @@ aWD chV rDD aWD -aWD tUV -aWD +tUV +tUV aWD chV rDD @@ -108759,15 +108831,15 @@ foX aku aku ilp +ilp gOY -hqA -cSc +xxN aam -kYS +xYE boy gql abh -uDT +nGV uPL sSN nal @@ -109016,13 +109088,13 @@ rji foX ilp ilp +jTB +jTB +jTB gOY -iQK -awS -epZ -qQG -atb -qVB +vUk +wlO +nqi iOH fQr gOY @@ -109272,14 +109344,14 @@ uOo aku aku ilp -ilp jTB -ccz -lrA +jTB +ief +jZv gOY -ggN -rlP -nTZ +ifv +kMl +cZs urY czh uPL @@ -109530,15 +109602,15 @@ aku ilp ilp jTB -jTB -pfX -nMh -gOY -rSB +jGd +eBH +otJ +mTg +hYG bwj -mSG +jLY rSh -biT +xJR gOY wOn gOY @@ -109787,13 +109859,13 @@ aku ilp ilp jTB -jGd -eBH -jeR -nFN -jiI +dkr +hbH +naU +bmr +smH lCw -vlz +fDz fDz fDz bPc @@ -110044,16 +110116,16 @@ uro rji ilp jTB -dkr -hbH -naU -bmr -kGK +sqJ +wiT +rBt +suo +lMC aMG -vlz -xTs fDz +xTs fDz +usL rkI rYe gOY @@ -110091,9 +110163,9 @@ rat wex aWD eFM -xCf -xCf -xCf +lFX +lFX +lFX cYB rhS rhS @@ -110301,18 +110373,18 @@ aku ilp ilp jTB -sqJ -wiT -rBt -aPG -mQd -mqb -vlz -fDz -mfC +dEn +lIn +tra +suo +xxY +aMG fDz fDz +mfC fDz +gOY +mcw gqV gOY cxg @@ -110558,19 +110630,19 @@ aku ilp ilp jTB -dEn -lIn -tra -qGr -gzF -kEM +gbV +jqY +rus +xJK +hVC +uya fDz fDz fDz oWy fDz dyd -tzv +qDM gOY cxg vxX @@ -110621,7 +110693,7 @@ jnY jnY jnY jnY -jnY +oTv uFC cpG cpG @@ -110815,11 +110887,11 @@ aku ilp ilp jTB -gbV -jqY -rus -kXT -jxn +wKR +wKR +vFL +xvo +mSe nCo tGW tGW @@ -110866,7 +110938,7 @@ oUb uFC lNk sJG -jBX +aKJ jBX bup bup @@ -111072,14 +111144,14 @@ aku ieo ilp jTB -rJQ -oAt -bQA -jHU -ouM +jTB +qXE +yaH +gOY +aks tTK tvB -kPx +tRZ nkM vxZ dyS @@ -111318,7 +111390,7 @@ cLf cLf cLf cLf -fYe +vxX vxX ilp pkw @@ -111328,20 +111400,20 @@ uOo aku vfR ilp +ilp +jTB jTB jTB -cba -ioL gOY -aks +gOY tTK -ybW -aek +oEP +vBN xfQ cAG xXF sLr -mDx +lSu cxg cxg vxX @@ -111585,15 +111657,15 @@ uOo aku aku fbN -rji -jTB -jTB -jTB -gOY +gsW +gsW +rZE +rZE gOY -tTK -sqc -kkh +iJZ +lcd +eih +neb nkM vxZ pZK @@ -111634,18 +111706,18 @@ xxi uFC eBZ kpn -pxu -pxu -pxu +nPW +nPW +nPW oyV axQ yho yho -dYp +xIV gqN ycf lfN -xIV +dYp khO ueA xwD @@ -111842,15 +111914,15 @@ uOo aku aku pkw -gsW -meI -qWZ -iOZ -gOY -iJZ +hhd +bEz +laD +laD +fVO +cmn lcd -npE -lIF +cmn +acN efL cQu wgI @@ -111891,7 +111963,7 @@ rkp uFC boT kAh -wCm +pxu qWs utV gea @@ -112100,12 +112172,12 @@ aku aku aku ajs -gop -cqf -qqd -fVO -cmn -mbQ +pIk +dpA +rPh +gOY +mAC +uBU cut rcR efL @@ -112357,13 +112429,13 @@ aku aku aku vjB -jEw +psQ cmn -nGt +czC gOY -fTf -jbr -tLL +gAV +hFz +wRL icz efL nbS @@ -112619,8 +112691,8 @@ grm gsW gOY gOY -xOB gOY +xOB gOY nkM nkM @@ -112875,9 +112947,9 @@ aku xAd upd upd -kAI +ndE +mkV dcc -ncB uvx mna gXw @@ -112922,7 +112994,7 @@ vxX uFC biG nPW -oyV +bHH xaP neE vUh @@ -112933,7 +113005,7 @@ hoM rGq vUh neE -xwD +ylS cvL gRG jnY @@ -113130,8 +113202,8 @@ aku aku vfR vfJ -apD -vfJ +upd +efF moe jxe aaR @@ -113178,8 +113250,8 @@ vxX vxX uFC lCu -pxu -oyV +nPW +bHH xaP xIV xIV @@ -113192,7 +113264,7 @@ xIV xIV rLz uei -nNN +gRG jnY fnI mlk @@ -113387,8 +113459,8 @@ tsz lJq obA vfJ -tgS -vOp +egt +nZW moe tLh dlE @@ -113439,7 +113511,7 @@ kQF bHH sBe ceu -gTe +wFG wFG sji cjV @@ -113643,9 +113715,9 @@ ouk uYH aQm obA +vmH upd bnb -upd moe rHG bpW @@ -113696,7 +113768,7 @@ nPW oVs oVs oVs -dtY +oVs oVs mYD fXc @@ -113900,9 +113972,9 @@ lJq jBM lJq obA -xSO -dmG -dmG +sdB +rcH +qsj moe mJU bpW @@ -113952,13 +114024,13 @@ spr xcm jQs luq -ddO xcm xcm +ddO rVT hLq kWI -xcm +ddO sWN wfi cXy @@ -114716,7 +114788,7 @@ dUc cLf cLf cLf -vxX +cLf vxX vxX dUc @@ -115237,7 +115309,7 @@ cLf cLf vKV uFC -kEu +vNj kEu fsQ aGC @@ -147846,7 +147918,7 @@ oZQ oZQ oZQ rXd -qqL +gcj mUi fpx rDE @@ -149639,8 +149711,8 @@ oZQ oZQ oZQ oZQ -sdc -lwW +uPg +vor uyL uSA wDv @@ -161169,8 +161241,8 @@ uRI kCs rxW lFG -wxH tbZ +lyJ lLC sBl eYF @@ -167331,7 +167403,7 @@ srs upF dVu tMV -aOQ +cGN gUK faK scg @@ -169129,7 +169201,7 @@ mQE mQE gwF eaW -wHJ +dcs dqA sIW ciR @@ -169137,7 +169209,7 @@ ilq ciR sIW dfd -wHJ +sHS rBZ lPi meH @@ -169391,7 +169463,7 @@ lEa lmo sIW sIW -lUF +sIW lmo xAR wHJ @@ -170417,7 +170489,7 @@ kWb kWb iwS pya -oJW +qms eWD oJW pya @@ -171702,7 +171774,7 @@ kWb vAB vAB qHi -kWb +wxH oNM kWb lwr @@ -173320,7 +173392,7 @@ aWD aWD aWD hux -eoO +dcy ugV ugV lke @@ -176613,7 +176685,7 @@ raz raz nzk fpY -wMC +clQ ssg vtN ylR @@ -176869,8 +176941,8 @@ iSz uba vfJ nzk -fpY -clQ +rPV +wYI elT elT elT @@ -177126,14 +177198,14 @@ vmk uba pBN nzk -rLX -wYI -vRp -vRp -vRp -vRp -jMh -jMh +hEi +hEi +wFI +mmU +ibE +wts +uaw +uaw tcx qJN uHQ @@ -177151,7 +177223,7 @@ jMN qhG lwZ diZ -fvq +bDk psi smn nUS @@ -177384,13 +177456,13 @@ wtI vfJ vfJ hEi -hEi -wFI -mmU -ibE -wts -khj -gWv +myW +myW +fsZ +jfB +sab +sab +jzM iFN kHf xkL @@ -177415,7 +177487,7 @@ usm qhG ydX hrS -vWh +nNN eES eES eES @@ -177641,13 +177713,13 @@ bfp vfJ mNZ hEi -myW -myW -fsZ -jfB +mlm +rsI +gmH +iVp sab sab -jzM +sdn iFN aXl fyJ @@ -177672,7 +177744,7 @@ rbw btj dVW sNc -vWh +nNN eES eES eES @@ -177898,13 +177970,13 @@ lVB vfJ mNZ hEi -mlm -rsI +hUH +dfk gmH -iVp -sab -sab -sdn +rXS +tOL +fPv +iAM iFN mZn oND @@ -177929,7 +178001,7 @@ xmZ qhG qhG qhG -vWh +nNN eES eES eES @@ -178155,13 +178227,13 @@ mNZ mNZ mNZ hEi -hUH -dfk -gmH -rXS -tOL -fPv -iAM +hEi +hEi +hEi +hEi +hEi +hEi +iRy iFN rEv vjQ @@ -178411,14 +178483,14 @@ mNZ mNZ mNZ mNZ -kxB -kxB -kxB -kxB -kxB -kxB -moe -vSF +mNZ +mNZ +ivx +ivx +ivx +ivx +wkG +bhq iFN iFN iFN @@ -178671,11 +178743,11 @@ mNZ mNZ mNZ ivx +moe wkG -jYT -xHo -sZp -rIJ +wkG +wkG +qjs moe vxX vxX @@ -178694,7 +178766,7 @@ fYe qhG bjc qhG -ylS +qhG mra rhi bDk @@ -178930,9 +179002,9 @@ mNZ gEA wkG jYT -wkG -wkG -wkG +jYT +jYT +rIJ moe vxX vxX @@ -179188,9 +179260,9 @@ ivx wkG jYT wkG -ivx -ivx -ivx +wkG +wkG +moe vxX vxX vxX @@ -186138,11 +186210,11 @@ cVs cUf qXj lKY -dIN -vEA -kvd -kvd -uHz +qUi +wmO +ybO +ybO +ybO wmO rmi lKY @@ -186395,11 +186467,11 @@ jQS uVe qXj avA -azM -vEA -kvd -kvd -uHz +nVm +wmO +ybO +ybO +ybO wmO xGG uBm @@ -186652,11 +186724,11 @@ jQS qZX qXj lKY -cCM -vEA -kvd -kvd -uHz +qGD +wmO +ybO +ybO +ybO wmO bLI lKY @@ -186909,10 +186981,10 @@ jQS iXn mMe cWL -vEA -nCm -vEA -reH +tMz +jQS +wmO +kZW jgA jQS tMz @@ -187162,21 +187234,21 @@ hhX hhX fZF jQS -oeX +rXf jEt aMf rdn -nbF -nCm -nCm -nCm +xSW +wnA +wnA +wnA wnA viT bUl cNh mjY jEt -yav +oag jQS fZF hhX @@ -187419,21 +187491,21 @@ hhX hhX fZF jQS -jZu +cCr fXW xCs awy -kYt -kYt -kYt -kYt +awy +awy +awy +awy awy awy awy awy oVS mCT -sQU +okf jQS fZF hhX diff --git a/_maps/safehouses/bathroom.dmm b/_maps/safehouses/bathroom.dmm index 76712d6193c44..69ad0b25e9520 100644 --- a/_maps/safehouses/bathroom.dmm +++ b/_maps/safehouses/bathroom.dmm @@ -27,7 +27,7 @@ dir = 4 }, /obj/machinery/light/small/blacklight/directional/east, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "v" = ( /obj/machinery/light/small/blacklight/directional/east, @@ -68,7 +68,7 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "M" = ( /obj/effect/decal/cleanable/dirt, diff --git a/_maps/safehouses/den.dmm b/_maps/safehouses/den.dmm index 15debc7e284e6..41c73bae0651b 100644 --- a/_maps/safehouses/den.dmm +++ b/_maps/safehouses/den.dmm @@ -18,7 +18,7 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "e" = ( /obj/structure/table/reinforced/plastitaniumglass, @@ -49,17 +49,17 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 }, +/obj/machinery/light/small/directional/north, /turf/open/floor/pod/dark, /area/virtual_domain/safehouse) "u" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/dark, -/obj/structure/sign/poster/contraband/hacking_guide/directional/east, /obj/effect/landmark/bitrunning/cache_goal_turf, /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "z" = ( /obj/effect/turf_decal/trimline/yellow/corner{ @@ -126,6 +126,10 @@ }, /turf/open/floor/pod/dark, /area/virtual_domain/safehouse) +"Q" = ( +/obj/structure/sign/poster/contraband/hacking_guide/directional/north, +/turf/open/floor/pod/dark, +/area/virtual_domain/safehouse) "R" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -135,7 +139,6 @@ "U" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/departments/cargo/directional/west, -/obj/machinery/light/small/directional/west, /turf/open/floor/pod, /area/virtual_domain/safehouse) "W" = ( @@ -152,10 +155,11 @@ /area/virtual_domain/safehouse) "Y" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/button/door{ - pixel_x = 4; +/obj/machinery/button/door/table{ + id = "safehouseshutter"; + name = "Window shutters"; pixel_y = 4; - id = "safehouseshutter" + pixel_x = 4 }, /obj/effect/spawner/random/food_or_drink/refreshing_beverage{ pixel_y = 6; @@ -204,7 +208,7 @@ i "} (5,1,1) = {" C -M +Q l e I diff --git a/_maps/safehouses/dig.dmm b/_maps/safehouses/dig.dmm index 73f0d247dfbe4..aa26f980d6089 100644 --- a/_maps/safehouses/dig.dmm +++ b/_maps/safehouses/dig.dmm @@ -20,7 +20,7 @@ dir = 8 }, /obj/effect/landmark/bitrunning/cache_goal_turf, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "i" = ( /obj/effect/turf_decal/siding/yellow{ @@ -98,7 +98,7 @@ /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/box/corners, /obj/effect/landmark/bitrunning/cache_goal_turf, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "T" = ( /obj/effect/landmark/bitrunning/hololadder_spawn, diff --git a/_maps/safehouses/ice.dmm b/_maps/safehouses/ice.dmm index f7faa99739652..f1ff8b31897f1 100644 --- a/_maps/safehouses/ice.dmm +++ b/_maps/safehouses/ice.dmm @@ -25,11 +25,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/snowed, /area/virtual_domain/safehouse) -"g" = ( -/obj/effect/spawner/structure/window/ice, -/obj/structure/barricade/wooden/crude/snow, -/turf/open/floor/plating/snowed, -/area/virtual_domain/safehouse) "i" = ( /turf/closed/wall/ice, /area/virtual_domain/safehouse) @@ -60,7 +55,7 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "p" = ( /obj/structure/railing, @@ -69,7 +64,7 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "u" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -148,7 +143,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/west, -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /turf/open/floor/iron, /area/virtual_domain/safehouse) "O" = ( @@ -203,7 +198,7 @@ (1,1,1) = {" i i -g +a a i e @@ -251,8 +246,8 @@ i (7,1,1) = {" i i -g -g +a +a i i "} diff --git a/_maps/safehouses/lavaland_boss.dmm b/_maps/safehouses/lavaland_boss.dmm index 7331a5b79d7a0..56141803990a5 100644 --- a/_maps/safehouses/lavaland_boss.dmm +++ b/_maps/safehouses/lavaland_boss.dmm @@ -63,7 +63,7 @@ /obj/machinery/light/directional/east, /obj/structure/railing, /obj/effect/landmark/bitrunning/cache_goal_turf, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "A" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ diff --git a/_maps/safehouses/mine.dmm b/_maps/safehouses/mine.dmm index 904c3c5378e8a..4bf99ab14f3ac 100644 --- a/_maps/safehouses/mine.dmm +++ b/_maps/safehouses/mine.dmm @@ -26,7 +26,7 @@ }, /obj/machinery/light/directional/east, /obj/effect/landmark/bitrunning/cache_goal_turf, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "B" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -52,7 +52,7 @@ }, /obj/structure/railing, /obj/effect/landmark/bitrunning/cache_goal_turf, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "H" = ( /obj/machinery/door/airlock/external/glass{ diff --git a/_maps/safehouses/shuttle.dmm b/_maps/safehouses/shuttle.dmm index 75fe975258c51..1056464db6c82 100644 --- a/_maps/safehouses/shuttle.dmm +++ b/_maps/safehouses/shuttle.dmm @@ -16,7 +16,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/bitrunning/cache_goal_turf, /obj/effect/turf_decal/loading_area, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "i" = ( /obj/effect/turf_decal/stripes/line{ @@ -34,14 +34,16 @@ }, /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/virtual_domain/safehouse) "l" = ( /obj/machinery/light/small/directional/south, /obj/effect/landmark/bitrunning/cache_goal_turf, /obj/effect/turf_decal/loading_area, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "m" = ( /obj/modular_map_connector, @@ -136,9 +138,12 @@ }, /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/clothing/mask/gas{ + pixel_y = 8 }, -/obj/item/clothing/mask/gas, /turf/open/floor/iron, /area/virtual_domain/safehouse) "L" = ( diff --git a/_maps/safehouses/shuttle_space.dmm b/_maps/safehouses/shuttle_space.dmm index 0029f5b0a6e7d..adc77c7bba60e 100644 --- a/_maps/safehouses/shuttle_space.dmm +++ b/_maps/safehouses/shuttle_space.dmm @@ -60,14 +60,16 @@ }, /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/emergency, +/obj/item/storage/toolbox/emergency{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/virtual_domain/safehouse) "r" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/bitrunning/cache_goal_turf, /obj/effect/turf_decal/loading_area, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "z" = ( /obj/effect/turf_decal/stripes/line{ @@ -98,7 +100,7 @@ /obj/machinery/light/small/directional/south, /obj/effect/landmark/bitrunning/cache_goal_turf, /obj/effect/turf_decal/loading_area, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "E" = ( /obj/effect/turf_decal/stripes/line{ @@ -133,9 +135,12 @@ }, /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/clothing/mask/gas{ + pixel_y = 8 }, -/obj/item/clothing/mask/gas, /turf/open/floor/iron, /area/virtual_domain/safehouse) "N" = ( diff --git a/_maps/safehouses/wood.dmm b/_maps/safehouses/wood.dmm index 05fbb97f915fb..919829766d913 100644 --- a/_maps/safehouses/wood.dmm +++ b/_maps/safehouses/wood.dmm @@ -19,12 +19,14 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "v" = ( /obj/machinery/light/small/directional/east, /obj/structure/table/wood, -/obj/item/newspaper, +/obj/item/newspaper{ + pixel_y = 8 + }, /turf/open/indestructible/hotelwood, /area/virtual_domain/safehouse) "w" = ( @@ -37,10 +39,6 @@ }, /turf/open/floor/carpet/green, /area/virtual_domain/safehouse) -"z" = ( -/obj/structure/sign/poster/random/directional/east, -/turf/open/indestructible/hotelwood, -/area/virtual_domain/safehouse) "G" = ( /turf/closed/wall/mineral/wood, /area/virtual_domain/safehouse) @@ -50,7 +48,7 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/safehouse) "T" = ( /obj/effect/landmark/bitrunning/hololadder_spawn, @@ -110,7 +108,7 @@ G i s J -z +a v i "} diff --git a/_maps/shuttles/cargo_delta.dmm b/_maps/shuttles/cargo_delta.dmm index c12c7c1787841..3406da6fe4cb6 100644 --- a/_maps/shuttles/cargo_delta.dmm +++ b/_maps/shuttles/cargo_delta.dmm @@ -58,7 +58,8 @@ }, /obj/machinery/door/poddoor{ id = "cargounload"; - name = "Supply Dock Unloading Door" + name = "Supply Dock Unloading Door"; + dir = 4 }, /turf/open/floor/plating, /area/shuttle/supply) @@ -75,7 +76,8 @@ /area/shuttle/supply) "n" = ( /obj/machinery/door/airlock/shuttle{ - name = "Supply Shuttle Airlock" + name = "Supply Shuttle Airlock"; + dir = 4 }, /obj/effect/decal/cleanable/dirt, /obj/docking_port/mobile/supply{ @@ -100,7 +102,8 @@ /area/shuttle/supply) "r" = ( /obj/machinery/door/airlock/shuttle{ - name = "Supply Shuttle Airlock" + name = "Supply Shuttle Airlock"; + dir = 4 }, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/access/all/supply/general, @@ -109,7 +112,8 @@ "s" = ( /obj/machinery/door/poddoor{ id = "cargoload"; - name = "Supply Dock Loading Door" + name = "Supply Dock Loading Door"; + dir = 4 }, /obj/machinery/conveyor{ dir = 4; diff --git a/_maps/shuttles/emergency_cruise.dmm b/_maps/shuttles/emergency_cruise.dmm index c111505c14789..7c85d33502e32 100644 --- a/_maps/shuttles/emergency_cruise.dmm +++ b/_maps/shuttles/emergency_cruise.dmm @@ -206,11 +206,11 @@ /turf/open/floor/iron, /area/shuttle/escape) "eZ" = ( -/obj/structure/sign/directions/medical/directional/north, -/obj/structure/sign/directions/command/directional/north{ +/obj/structure/sign/directions/medical/north_arrow, +/obj/structure/sign/directions/command/north_arrow{ pixel_y = 38 }, -/obj/structure/sign/directions/arrival/directional/north{ +/obj/structure/sign/directions/arrival/north_arrow{ pixel_y = 26 }, /obj/effect/turf_decal/trimline/white/line{ @@ -873,7 +873,7 @@ /turf/open/floor/plating/airless, /area/shuttle/escape) "sZ" = ( -/obj/structure/sign/directions/engineering/directional/east, +/obj/structure/sign/directions/engineering/east_arrow, /obj/structure/rack, /obj/effect/turf_decal/trimline/brown/filled/corner, /obj/effect/turf_decal/trimline/brown/filled/corner{ @@ -919,13 +919,13 @@ /turf/open/floor/iron/stairs/medium, /area/shuttle/escape) "tP" = ( -/obj/structure/sign/directions/command/directional/north{ +/obj/structure/sign/directions/command/north_arrow{ pixel_y = 38 }, -/obj/structure/sign/directions/arrival/directional/north{ +/obj/structure/sign/directions/arrival/north_arrow{ pixel_y = 26 }, -/obj/structure/sign/directions/medical/directional/east{ +/obj/structure/sign/directions/medical/east_arrow{ pixel_x = 0; pixel_y = 32 }, @@ -1111,7 +1111,7 @@ /turf/open/floor/iron, /area/shuttle/escape) "xH" = ( -/obj/structure/sign/directions/engineering/directional/west, +/obj/structure/sign/directions/engineering/west_arrow, /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 }, @@ -1229,7 +1229,7 @@ /turf/open/floor/iron, /area/shuttle/escape) "Am" = ( -/obj/structure/sign/directions/dorms/directional/south, +/obj/structure/sign/directions/dorms/south_arrow, /turf/open/floor/iron, /area/shuttle/escape) "Av" = ( @@ -1630,7 +1630,7 @@ /turf/open/floor/iron/white, /area/shuttle/escape) "Jj" = ( -/obj/structure/sign/directions/supply/directional/south, +/obj/structure/sign/directions/supply/south_arrow, /obj/effect/turf_decal/trimline/white/line{ dir = 1 }, @@ -2123,11 +2123,11 @@ /turf/open/floor/iron/dark, /area/shuttle/escape) "Ut" = ( -/obj/structure/sign/directions/dorms/directional/south{ +/obj/structure/sign/directions/dorms/south_arrow{ pixel_y = -38 }, -/obj/structure/sign/directions/supply/directional/south, -/obj/structure/sign/directions/medical/directional/south{ +/obj/structure/sign/directions/supply/south_arrow, +/obj/structure/sign/directions/medical/south_arrow{ pixel_y = -26 }, /turf/open/floor/iron, @@ -2269,7 +2269,7 @@ /turf/open/floor/wood/parquet, /area/shuttle/escape) "XJ" = ( -/obj/structure/sign/directions/command/directional/north, +/obj/structure/sign/directions/command/north_arrow, /turf/open/floor/carpet/red, /area/shuttle/escape) "XK" = ( diff --git a/_maps/shuttles/emergency_delta.dmm b/_maps/shuttles/emergency_delta.dmm index 854f76f7a154f..62c993ae9544f 100644 --- a/_maps/shuttles/emergency_delta.dmm +++ b/_maps/shuttles/emergency_delta.dmm @@ -30,11 +30,6 @@ "af" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/escape) -"ag" = ( -/obj/structure/window/reinforced/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/shuttle/escape) "ah" = ( /obj/item/clothing/suit/hazardvest{ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; @@ -122,7 +117,9 @@ /turf/open/floor/iron, /area/shuttle/escape) "aj" = ( -/obj/item/defibrillator/loaded, +/obj/item/defibrillator/loaded{ + pixel_y = 16 + }, /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -148,18 +145,30 @@ /obj/item/scalpel{ pixel_y = 12 }, -/obj/item/circular_saw, +/obj/item/circular_saw{ + pixel_y = 10 + }, /obj/item/retractor{ - pixel_x = 4 + pixel_x = 4; + pixel_y = 9 }, /obj/item/hemostat{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/clothing/gloves/latex{ + pixel_y = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 13 }, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/mask/surgical, /obj/structure/table/reinforced, -/obj/item/surgicaldrill, -/obj/item/cautery, +/obj/item/surgicaldrill{ + pixel_y = 14 + }, +/obj/item/cautery{ + pixel_y = 22 + }, /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -168,18 +177,20 @@ /area/shuttle/escape) "ar" = ( /obj/item/reagent_containers/cup/bottle/epinephrine{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 10 }, /obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 16 }, /obj/item/reagent_containers/cup/bottle/epinephrine{ pixel_x = -3; - pixel_y = 8 + pixel_y = 25 }, /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = 6; - pixel_y = 8 + pixel_y = 22 }, /obj/item/reagent_containers/syringe/epinephrine{ pixel_x = 3; @@ -203,9 +214,7 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 8 - }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/shuttle/escape) "as" = ( @@ -218,10 +227,10 @@ /turf/open/floor/iron/white, /area/shuttle/escape) "au" = ( -/obj/structure/sink/directional/west, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/structure/sink/directional/east, /turf/open/floor/iron/white, /area/shuttle/escape) "av" = ( @@ -300,12 +309,10 @@ /turf/open/floor/grass, /area/shuttle/escape) "aJ" = ( -/obj/machinery/shower/directional/west{ - name = "emergency shower" - }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, +/obj/machinery/shower/directional/east, /turf/open/floor/iron/white, /area/shuttle/escape) "aL" = ( @@ -321,7 +328,9 @@ "aN" = ( /obj/structure/bed/medical/emergency, /obj/machinery/iv_drip, -/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 10 + }, /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, @@ -335,10 +344,6 @@ }, /turf/open/floor/iron/white, /area/shuttle/escape) -"aP" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium, -/area/shuttle/escape) "aQ" = ( /obj/machinery/stasis, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -391,6 +396,7 @@ /obj/structure/extinguisher_cabinet/directional/west, /obj/machinery/shieldgen, /obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/shuttle/escape) "aZ" = ( @@ -407,7 +413,7 @@ pixel_y = -5 }, /obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/north, +/obj/structure/sign/departments/medbay/alt/directional/north, /turf/open/floor/iron, /area/shuttle/escape) "ba" = ( @@ -518,10 +524,17 @@ /area/shuttle/escape) "bq" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/folder/yellow, +/obj/item/clipboard{ + pixel_y = 12 + }, +/obj/item/folder/yellow{ + pixel_y = 12 + }, /obj/item/pen, -/obj/item/hand_labeler_refill, +/obj/item/hand_labeler_refill{ + pixel_x = 4; + pixel_y = 5 + }, /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/shuttle/escape) @@ -532,10 +545,14 @@ /area/shuttle/escape) "bs" = ( /obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 11 + }, /obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/shuttle/escape) "bt" = ( @@ -572,13 +589,19 @@ /area/shuttle/escape/brig) "by" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 12 + }, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "bB" = ( /obj/structure/table, -/obj/item/clipboard, -/obj/item/toy/figure/ninja, +/obj/item/clipboard{ + pixel_y = 10 + }, +/obj/item/toy/figure/ninja{ + pixel_y = 8 + }, /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/shuttle/escape) @@ -642,15 +665,23 @@ /area/shuttle/escape/brig) "bO" = ( /obj/structure/table/reinforced, -/obj/item/storage/lockbox/loyalty, +/obj/item/storage/lockbox/loyalty{ + pixel_y = 12 + }, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "bP" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 15 + }, /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/machinery/button/flasher/table{ + pixel_y = 2; + id = "shuttleflash" + }, /turf/open/floor/iron, /area/shuttle/escape) "bQ" = ( @@ -669,9 +700,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 8 - }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/shuttle/escape) "bT" = ( @@ -688,7 +717,9 @@ /area/shuttle/escape/brig) "bV" = ( /obj/structure/table/reinforced, -/obj/item/storage/box/zipties, +/obj/item/storage/box/zipties{ + pixel_y = 10 + }, /obj/item/radio/intercom/directional/south, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) @@ -818,7 +849,9 @@ /area/shuttle/escape) "en" = ( /obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -840,9 +873,7 @@ }, /obj/effect/turf_decal/bot, /obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/camera/autoname{ - dir = 4 - }, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/shuttle/escape) "jU" = ( @@ -884,7 +915,7 @@ /area/shuttle/escape) "nJ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/camera/autoname, +/obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/shuttle/escape) "nL" = ( @@ -905,16 +936,16 @@ /turf/open/floor/iron, /area/shuttle/escape) "pd" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "pR" = ( -/obj/item/storage/medkit/fire, +/obj/item/storage/medkit/fire{ + pixel_y = 13 + }, /obj/item/storage/medkit/regular{ pixel_x = 2; - pixel_y = 3 + pixel_y = 20 }, /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -924,14 +955,20 @@ /area/shuttle/escape) "sI" = ( /obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, +/obj/item/storage/fancy/donut_box{ + pixel_y = 15 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) "wU" = ( /obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 11 + }, +/obj/item/pen{ + pixel_y = 11 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -945,11 +982,6 @@ /area/shuttle/escape) "zf" = ( /obj/item/kirbyplants/organic/plant21, -/obj/machinery/button/flasher{ - id = "shuttleflash"; - pixel_x = -26; - pixel_y = 24 - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -961,7 +993,9 @@ pixel_y = 3 }, /obj/machinery/light/directional/north, -/obj/item/radio/intercom/directional/north, +/obj/item/radio/intercom/directional/north{ + pixel_y = 30 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -991,8 +1025,12 @@ /area/shuttle/escape) "Iu" = ( /obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 9 + }, +/obj/item/pen{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/red{ dir = 8 }, @@ -1008,8 +1046,12 @@ /area/shuttle/escape) "Jl" = ( /obj/structure/table/reinforced, -/obj/item/folder/blue, -/obj/item/pen, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 6 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -1028,17 +1070,28 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/shuttle/escape) +"NY" = ( +/obj/machinery/power/shuttle_engine/propulsion, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/shuttle/escape) "PO" = ( /obj/structure/table/reinforced, -/obj/item/storage/medkit/regular, +/obj/item/storage/medkit/regular{ + pixel_y = 6 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) "QD" = ( -/obj/item/storage/medkit/toxin, +/obj/item/storage/medkit/toxin{ + pixel_y = 10 + }, /obj/item/storage/medkit/o2{ pixel_x = 3; - pixel_y = 3 + pixel_y = 13 }, /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -1057,8 +1110,12 @@ /area/shuttle/escape) "Rz" = ( /obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 12 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -1072,6 +1129,17 @@ }, /turf/open/floor/iron, /area/shuttle/escape) +"VN" = ( +/obj/item/kirbyplants/organic/plant21{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/sign/departments/cargo/directional/east, +/turf/open/floor/iron, +/area/shuttle/escape) "WG" = ( /obj/item/kirbyplants/organic/plant21{ pixel_x = -3; @@ -1081,17 +1149,33 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) +"Xg" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/departments/medbay/alt/directional/east, +/turf/open/floor/iron, +/area/shuttle/escape) "Xt" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) "Zb" = ( /obj/structure/table/reinforced, -/obj/item/folder/red, -/obj/item/restraints/handcuffs, -/obj/item/assembly/flash/handheld, +/obj/item/folder/red{ + pixel_y = 4 + }, +/obj/item/restraints/handcuffs{ + pixel_y = 7 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 16 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -1128,7 +1212,7 @@ aa aa "} (2,1,1) = {" -ab +NY ad af ah @@ -1447,14 +1531,14 @@ aw aE aE aw -aw +Xg cB aw aw aw aE aE -dY +VN ah af aT @@ -1474,11 +1558,11 @@ ad af af af -ag +hB aF aF -ag -aP +hB +af af af af @@ -1603,7 +1687,7 @@ pR aJ aN aQ -aP +af aZ HJ bi diff --git a/_maps/shuttles/emergency_hugcage.dmm b/_maps/shuttles/emergency_hugcage.dmm index 4b500f7bdbd45..7596edb99eca6 100644 --- a/_maps/shuttles/emergency_hugcage.dmm +++ b/_maps/shuttles/emergency_hugcage.dmm @@ -279,11 +279,11 @@ /turf/open/floor/catwalk_floor/titanium, /area/shuttle/escape) "FW" = ( -/obj/structure/sign/directions/security/directional/north, -/obj/structure/sign/directions/medical/directional/north{ +/obj/structure/sign/directions/security/north_arrow, +/obj/structure/sign/directions/medical/north_arrow{ pixel_y = 40 }, -/obj/structure/sign/directions/command/directional/north{ +/obj/structure/sign/directions/command/north_arrow{ pixel_y = 24 }, /turf/open/floor/mineral/titanium/blue, diff --git a/_maps/shuttles/emergency_kilo.dmm b/_maps/shuttles/emergency_kilo.dmm index 4ebd7843239aa..1c8148a774a9e 100644 --- a/_maps/shuttles/emergency_kilo.dmm +++ b/_maps/shuttles/emergency_kilo.dmm @@ -325,7 +325,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/obj/machinery/keycard_auth/directional/east, +/obj/machinery/keycard_auth/wall_mounted/directional/east, /turf/open/floor/mineral/plastitanium, /area/shuttle/escape) "bZ" = ( @@ -962,7 +962,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/obj/machinery/keycard_auth/directional/west, +/obj/machinery/keycard_auth/wall_mounted/directional/west, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/shuttles/emergency_lance.dmm b/_maps/shuttles/emergency_lance.dmm index c17d1767b13af..fd84a13b8ebf8 100644 --- a/_maps/shuttles/emergency_lance.dmm +++ b/_maps/shuttles/emergency_lance.dmm @@ -199,6 +199,15 @@ }, /turf/open/floor/iron/dark/textured, /area/shuttle/escape) +"gH" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/dark_blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/checker, +/area/shuttle/escape) "gI" = ( /obj/machinery/power/shuttle_engine/heater, /obj/structure/window/reinforced/survival_pod/spawner/directional/north, @@ -285,23 +294,6 @@ dir = 4 }, /area/shuttle/escape) -"jo" = ( -/obj/machinery/door/airlock/external/ruin{ - name = "Emegency Shuttle External Airlock" - }, -/obj/effect/turf_decal/trimline/dark_blue/arrow_ccw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/dark_blue/arrow_cw{ - dir = 4 - }, -/obj/docking_port/mobile/emergency{ - dir = 2; - name = "Lance Emergency Shuttle"; - port_direction = 1 - }, -/turf/open/floor/iron/dark, -/area/shuttle/escape) "jG" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 4 @@ -662,6 +654,23 @@ /obj/machinery/power/shuttle_engine/propulsion, /turf/open/floor/plating/airless, /area/shuttle/escape) +"tK" = ( +/obj/machinery/door/airlock/external/ruin{ + name = "Emegency Shuttle External Airlock" + }, +/obj/effect/turf_decal/trimline/dark_blue/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/dark_blue/arrow_cw{ + dir = 4 + }, +/obj/docking_port/mobile/emergency{ + dir = 2; + name = "Lance Emergency Shuttle"; + port_direction = 1 + }, +/turf/open/floor/iron/dark, +/area/shuttle/escape) "uy" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 @@ -930,19 +939,6 @@ dir = 9 }, /area/shuttle/escape) -"EL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - control_area = "/area/shuttle/escape"; - desc = "Used to control the Lance's automated defenses."; - icon_state = "control_kill"; - lethal = 1; - pixel_y = -26; - req_access = list("command") - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/dark, -/area/shuttle/escape) "ET" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 @@ -963,6 +959,18 @@ dir = 5 }, /area/shuttle/escape) +"Fo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/turretid/directional/south{ + control_area = "/area/shuttle/escape"; + desc = "Used to control the Lance's automated defenses."; + icon_state = "control_kill"; + lethal = 1; + req_access = list("command") + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron/dark, +/area/shuttle/escape) "FX" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/surgery{ @@ -1282,15 +1290,6 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/shuttle/escape) -"Nx" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/dark_blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/checker, -/area/shuttle/escape) "NS" = ( /obj/structure/chair/comfy/shuttle, /obj/structure/sign/departments/engineering/directional/east, @@ -1833,7 +1832,7 @@ oe Yt Yt Yt -EL +Fo WQ WQ WQ @@ -2109,7 +2108,7 @@ pK cz "} (10,1,1) = {" -jo +tK jY hM nE @@ -2132,7 +2131,7 @@ WI Hd pX ic -Nx +gH Hd WI QI diff --git a/_maps/shuttles/emergency_raven.dmm b/_maps/shuttles/emergency_raven.dmm index 7e3937568001f..1e765a0a78ce5 100644 --- a/_maps/shuttles/emergency_raven.dmm +++ b/_maps/shuttles/emergency_raven.dmm @@ -1463,20 +1463,6 @@ }, /turf/open/floor/plating, /area/shuttle/escape) -"ep" = ( -/obj/machinery/turretid{ - desc = "Used to the Raven's automated defenses."; - icon_state = "control_kill"; - lethal = 1; - pixel_x = 5; - pixel_y = 32; - req_access = list("command") - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/shuttle/escape) "fc" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/bot, @@ -1519,7 +1505,7 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/shuttle/escape) -"qC" = ( +"sk" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, @@ -1628,6 +1614,18 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, /area/shuttle/escape) +"RL" = ( +/obj/machinery/turretid/directional/south{ + desc = "Used to the Raven's automated defenses."; + icon_state = "control_kill"; + lethal = 1; + req_access = list("command") + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/shuttle/escape) "SA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -2033,7 +2031,7 @@ aa (12,1,1) = {" ab ag -ep +RL au aD aL @@ -2229,7 +2227,7 @@ dy ax dQ dT -qC +sk ax el el diff --git a/_maps/shuttles/emergency_tranquility.dmm b/_maps/shuttles/emergency_tranquility.dmm index 3019f72a1d2da..4563d89631cd6 100644 --- a/_maps/shuttles/emergency_tranquility.dmm +++ b/_maps/shuttles/emergency_tranquility.dmm @@ -1696,7 +1696,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/keycard_auth/directional/south, +/obj/machinery/keycard_auth/wall_mounted/directional/south, /turf/open/floor/carpet/royalblue, /area/shuttle/escape) "Gh" = ( @@ -2129,7 +2129,7 @@ /area/shuttle/escape) "NZ" = ( /obj/machinery/status_display/evac/directional/west, -/obj/machinery/keycard_auth/directional/south, +/obj/machinery/keycard_auth/wall_mounted/directional/south, /obj/machinery/light/floor, /turf/open/floor/carpet/royalblue, /area/shuttle/escape) diff --git a/_maps/shuttles/pirate_default.dmm b/_maps/shuttles/pirate_default.dmm index 43c72a9d2bfa3..ff2bce4825dd4 100644 --- a/_maps/shuttles/pirate_default.dmm +++ b/_maps/shuttles/pirate_default.dmm @@ -401,23 +401,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/shuttle/pirate) -"bf" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -24; - req_access = null - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "bg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -441,19 +424,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/shuttle/pirate) -"bl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/all_access, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/pod/light, -/area/shuttle/pirate) "bm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/pod/dark, @@ -463,23 +433,6 @@ /obj/structure/sign/warning/vacuum/external/directional/east, /turf/open/floor/plating, /area/shuttle/pirate) -"br" = ( -/obj/structure/table/wood, -/obj/item/storage/box/matches, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - name = "Captain Pete's Private Reserve Cuban Spaced Rum"; - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/item/cigarette/cigar, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/wood, -/area/shuttle/pirate) "bt" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -818,6 +771,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/shuttle/pirate) +"sn" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "sP" = ( /obj/machinery/light/small/directional/east, /obj/machinery/computer/monitor{ @@ -831,7 +800,18 @@ }, /turf/open/floor/iron/dark, /area/shuttle/pirate) -"vB" = ( +"wf" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/turf/open/floor/iron/showroomfloor, +/area/shuttle/pirate) +"wx" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, @@ -846,17 +826,6 @@ }, /turf/open/floor/pod/light, /area/shuttle/pirate) -"wf" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cutaiwire, -/turf/open/floor/iron/showroomfloor, -/area/shuttle/pirate) "wR" = ( /obj/machinery/porta_turret/syndicate/energy{ dir = 8; @@ -921,6 +890,36 @@ }, /turf/open/floor/pod/light, /area/shuttle/pirate) +"JX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/all_access, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/pod/light, +/area/shuttle/pirate) +"LM" = ( +/obj/structure/table/wood, +/obj/item/storage/box/matches, +/obj/item/reagent_containers/cup/glass/bottle/rum{ + name = "Captain Pete's Private Reserve Cuban Spaced Rum"; + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/cigarette/cigar, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/wood, +/area/shuttle/pirate) "Ni" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -1055,7 +1054,7 @@ Oe OL zw dy -br +LM ep er af @@ -1120,9 +1119,9 @@ af ey ab ae -bf +sn aj -bl +JX fY ai aU @@ -1178,7 +1177,7 @@ sP aj ek bA -vB +wx aj np aO diff --git a/_maps/shuttles/pirate_ex_interdyne.dmm b/_maps/shuttles/pirate_ex_interdyne.dmm index dce984f19c993..f1e6c74c570fe 100644 --- a/_maps/shuttles/pirate_ex_interdyne.dmm +++ b/_maps/shuttles/pirate_ex_interdyne.dmm @@ -7,22 +7,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, /area/shuttle/pirate) -"ab" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -24; - req_access = null - }, -/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "ad" = ( /obj/machinery/button/door/directional/south{ id = "interdynebridge"; @@ -152,28 +136,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/pirate) -"aD" = ( -/obj/machinery/power/apc/auto_name/directional/north{ - cell_type = /obj/item/stock_parts/power_store/battery/bluespace; - start_charge = 100 - }, -/obj/effect/mapping_helpers/apc/cut_AI_wire, -/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/power/smes/magical, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) -"aF" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ - dir = 4; - x_offset = 0; - y_offset = 7 - }, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "aG" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 8 @@ -740,6 +702,14 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/dark, /area/shuttle/pirate) +"HP" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ + dir = 4; + x_offset = 0; + y_offset = 7 + }, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "Iv" = ( /obj/machinery/power/shuttle_engine/propulsion{ dir = 4 @@ -766,6 +736,20 @@ }, /turf/open/floor/plating, /area/shuttle/pirate) +"NW" = ( +/obj/machinery/power/apc/auto_name/directional/north{ + cell_type = /obj/item/stock_parts/power_store/battery/bluespace; + start_charge = 100 + }, +/obj/effect/mapping_helpers/apc/cut_AI_wire, +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/machinery/power/smes/magical, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "Oe" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 4 @@ -810,6 +794,21 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/pirate) +"TJ" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "Ur" = ( /obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ dir = 8 @@ -956,7 +955,7 @@ af aO aj ey -aF +HP aj aW aR @@ -974,7 +973,7 @@ Tr vz ae an -ab +TJ aj aj aj @@ -983,7 +982,7 @@ fY bX iD aj -aD +NW aG ep aj diff --git a/_maps/shuttles/pirate_geode.dmm b/_maps/shuttles/pirate_geode.dmm index 2f6a573aae050..a6a264596dfff 100644 --- a/_maps/shuttles/pirate_geode.dmm +++ b/_maps/shuttles/pirate_geode.dmm @@ -230,18 +230,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/iron/dark, /area/shuttle/pirate) -"nR" = ( -/obj/effect/turf_decal/lunar_sand/plating, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/shuttle/pirate) "oa" = ( /obj/effect/turf_decal/lunar_sand/plating, /obj/effect/turf_decal/weather/dirt{ @@ -252,20 +240,6 @@ }, /turf/open/floor/plating, /area/shuttle/pirate) -"oU" = ( -/obj/effect/turf_decal/lunar_sand/plating, -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -24; - req_access = null - }, -/turf/open/floor/plating, -/area/shuttle/pirate) "oV" = ( /obj/effect/turf_decal/lunar_sand/plating, /obj/effect/turf_decal/weather/dirt{ @@ -427,16 +401,6 @@ /obj/item/gun/energy/laser/retro, /turf/open/floor/plating, /area/shuttle/pirate) -"vY" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ - dir = 8; - x_offset = -8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 3 - }, -/turf/open/floor/plating, -/area/shuttle/pirate) "wd" = ( /obj/effect/turf_decal/lunar_sand/plating, /obj/effect/turf_decal/weather/dirt{ @@ -482,12 +446,6 @@ /obj/structure/cable, /turf/closed/wall/mineral/iron, /area/shuttle/pirate) -"yu" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) "yz" = ( /obj/structure/flora/lunar_plant/style_3, /turf/open/misc/dirt/station, @@ -561,6 +519,18 @@ /obj/effect/turf_decal/lunar_sand, /turf/closed/wall/mineral/iron, /area/shuttle/pirate) +"CD" = ( +/obj/effect/turf_decal/lunar_sand/plating, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/table/wood, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/shuttle/pirate) "Ds" = ( /obj/machinery/loot_locator, /turf/open/misc/dirt/station, @@ -606,6 +576,19 @@ /obj/structure/table/wood, /turf/open/floor/plating, /area/shuttle/pirate) +"Ft" = ( +/obj/effect/turf_decal/lunar_sand/plating, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/turf/open/floor/plating, +/area/shuttle/pirate) "Fx" = ( /obj/effect/turf_decal/lunar_sand/plating, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -722,6 +705,12 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/misc/dirt/station, /area/shuttle/pirate) +"Lp" = ( +/obj/machinery/power/shuttle_engine/propulsion{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/pirate) "Mc" = ( /obj/effect/turf_decal/lunar_sand/plating, /obj/effect/turf_decal/weather/dirt{ @@ -833,12 +822,6 @@ /obj/structure/sign/poster/contraband/bountyhunters, /turf/closed/wall/mineral/iron, /area/shuttle/pirate) -"Pq" = ( -/obj/machinery/power/shuttle_engine/propulsion{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) "Pr" = ( /obj/structure/table/wood, /obj/item/food/energybar{ @@ -977,6 +960,22 @@ }, /turf/open/floor/plating, /area/shuttle/pirate) +"Zh" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ + dir = 8; + x_offset = -8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 3 + }, +/turf/open/floor/plating, +/area/shuttle/pirate) +"Zm" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/pirate) "Zw" = ( /turf/open/floor/iron/stairs, /area/shuttle/pirate) @@ -1006,15 +1005,15 @@ lt lt lt lt -yu -yu +Zm +Zm jh -yu -yu -yu +Zm +Zm +Zm jh -yu -yu +Zm +Zm lt lt lt @@ -1027,15 +1026,15 @@ lt lt mv Od -Pq -Pq +Lp +Lp jx -Pq -Pq -Pq +Lp +Lp +Lp jx -Pq -Pq +Lp +Lp Od mv lt @@ -1113,7 +1112,7 @@ jx Od Sy zS -nR +CD WR Oq Mc @@ -1347,7 +1346,7 @@ qp oV Hm Mz -oU +Ft tD nD lz @@ -1367,7 +1366,7 @@ Od DT vj vP -vY +Zh DT Rv uP diff --git a/_maps/shuttles/pirate_irs.dmm b/_maps/shuttles/pirate_irs.dmm index 4fd5a8c357342..c97f8ac818019 100644 --- a/_maps/shuttles/pirate_irs.dmm +++ b/_maps/shuttles/pirate_irs.dmm @@ -275,19 +275,6 @@ /obj/structure/cable, /turf/open/floor/pod/dark, /area/shuttle/pirate) -"jX" = ( -/obj/effect/turf_decal/tile/dark/full, -/obj/item/reagent_containers/cup/bucket{ - pixel_x = -9; - pixel_y = -4 - }, -/obj/item/stock_parts/power_store/cell/lead{ - pixel_y = -8; - pixel_x = 2 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/pod/light, -/area/shuttle/pirate) "kK" = ( /obj/structure/rack, /obj/structure/window/reinforced/tinted/spawner/directional/east, @@ -335,6 +322,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden/layer2, /turf/open/floor/pod/dark, /area/shuttle/pirate) +"ly" = ( +/obj/effect/turf_decal/tile/dark/full, +/obj/item/reagent_containers/cup/bucket{ + pixel_x = -9; + pixel_y = -4 + }, +/obj/item/stock_parts/power_store/cell/lead{ + pixel_y = -8; + pixel_x = 2 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/pod/light, +/area/shuttle/pirate) "lE" = ( /turf/open/floor/iron/grimy, /area/shuttle/pirate) @@ -888,10 +888,37 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/shuttle/pirate) +"Ax" = ( +/obj/structure/sign/departments/vault/directional/north, +/obj/effect/turf_decal/trimline/dark_blue/filled/end{ + dir = 8 + }, +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/shower/directional/south, +/obj/effect/turf_decal/box, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "AB" = ( /obj/effect/turf_decal/trimline/dark_blue/arrow_cw, /turf/open/floor/plating/airless, /area/shuttle/pirate) +"AU" = ( +/obj/machinery/door/window/brigdoor/right/directional/east{ + req_access = list("syndicate") + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + req_access = list("syndicate") + }, +/turf/open/floor/iron/white, +/area/shuttle/pirate) "Bf" = ( /obj/effect/turf_decal/stripes{ dir = 8 @@ -1019,19 +1046,6 @@ /obj/structure/curtain, /turf/open/floor/iron/dark, /area/shuttle/pirate) -"Dr" = ( -/obj/structure/sign/departments/vault/directional/north, -/obj/effect/turf_decal/trimline/dark_blue/filled/end{ - dir = 8 - }, -/obj/structure/railing{ - dir = 10 - }, -/obj/machinery/shower/directional/south, -/obj/effect/turf_decal/box, -/obj/structure/fluff/shower_drain, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "Dy" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron/white, @@ -1373,21 +1387,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/pod/dark, /area/shuttle/pirate) -"KZ" = ( -/obj/machinery/door/window/brigdoor/right/directional/east{ - req_access = list("syndicate") - }, -/obj/effect/turf_decal/siding/dark{ - dir = 4 - }, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - pixel_y = -24; - req_access = list("syndicate") - }, -/turf/open/floor/iron/white, -/area/shuttle/pirate) "Lf" = ( /turf/open/floor/pod/dark, /area/shuttle/pirate) @@ -1417,17 +1416,6 @@ dir = 4 }, /area/shuttle/pirate) -"LV" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ - y_offset = 11; - x_offset = -4; - view_range = 10 - }, -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/shuttle/pirate) "LX" = ( /turf/open/floor/plating/airless, /area/shuttle/pirate) @@ -1454,6 +1442,17 @@ /obj/item/storage/backpack/security, /turf/open/floor/iron/smooth, /area/shuttle/pirate) +"Mb" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ + y_offset = 11; + x_offset = -4; + view_range = 10 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/shuttle/pirate) "Mu" = ( /obj/effect/turf_decal/stripes{ dir = 8 @@ -2124,7 +2123,7 @@ hK oJ Rv NW -KZ +AU hK Cf lE @@ -2266,7 +2265,7 @@ WR "} (13,1,1) = {" Rh -LV +Mb ev mA pO @@ -2426,7 +2425,7 @@ OC Mu OC hK -Dr +Ax BG XX wM @@ -2457,7 +2456,7 @@ wM qm do hK -jX +ly ac xQ Yu diff --git a/_maps/shuttles/ruin_pirate_cutter.dmm b/_maps/shuttles/ruin_pirate_cutter.dmm index 422d5bfb2cdd5..6b01ba7e9b32e 100644 --- a/_maps/shuttles/ruin_pirate_cutter.dmm +++ b/_maps/shuttles/ruin_pirate_cutter.dmm @@ -69,6 +69,14 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/shuttle/ruin/caravan/pirate) +"hy" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/bot, +/turf/open/floor/plating, +/area/shuttle/ruin/caravan/pirate) "iM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/structure/cable, @@ -128,23 +136,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/shuttle/ruin/caravan/pirate) -"lN" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -30; - req_access = null - }, -/mob/living/basic/trooper/pirate/ranged{ - environment_smash = 0 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/shuttle/ruin/caravan/pirate) "me" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/effect/mapping_helpers/airlock/locked, @@ -262,14 +253,6 @@ dir = 1 }, /area/shuttle/ruin/caravan/pirate) -"ti" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/bot, -/turf/open/floor/plating, -/area/shuttle/ruin/caravan/pirate) "ua" = ( /obj/structure/table, /obj/item/storage/box/lethalshot, @@ -716,6 +699,22 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/airless, /area/shuttle/ruin/caravan/pirate) +"Uv" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/mob/living/basic/trooper/pirate/ranged{ + environment_smash = 0 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/shuttle/ruin/caravan/pirate) "UH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 @@ -907,7 +906,7 @@ xq iM se ZU -ti +hy Kc Jv "} @@ -1143,7 +1142,7 @@ Jv Jv ph JP -lN +Uv ya Yi Jv diff --git a/_maps/shuttles/ruin_syndicate_dropship.dmm b/_maps/shuttles/ruin_syndicate_dropship.dmm index dc3e7b68a7b26..340c7cce2265c 100644 --- a/_maps/shuttles/ruin_syndicate_dropship.dmm +++ b/_maps/shuttles/ruin_syndicate_dropship.dmm @@ -436,13 +436,12 @@ /turf/open/floor/plating/airless, /area/shuttle/ruin/caravan/syndicate3) "TT" = ( -/obj/machinery/turretid{ +/obj/machinery/turretid/directional/south{ ailock = 1; desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; icon_state = "control_kill"; lethal = 1; name = "Shuttle turret control"; - pixel_y = 34; req_access = list("syndicate") }, /obj/structure/chair/comfy/shuttle{ diff --git a/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm b/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm index f91d0260d66fc..27f2674ba84d6 100644 --- a/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm +++ b/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm @@ -9,14 +9,12 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/obj/machinery/turretid{ +/obj/machinery/turretid/directional/south{ ailock = 1; desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; icon_state = "control_kill"; lethal = 1; name = "Shuttle turret control"; - pixel_x = 32; - pixel_y = -28; req_access = list("syndicate") }, /obj/structure/cable, diff --git a/_maps/shuttles/starfury_corvette.dmm b/_maps/shuttles/starfury_corvette.dmm index 877375fa4e785..232026c3540c3 100644 --- a/_maps/shuttles/starfury_corvette.dmm +++ b/_maps/shuttles/starfury_corvette.dmm @@ -12,26 +12,6 @@ "ac" = ( /turf/open/floor/iron/dark, /area/shuttle/sbc_corvette) -"ae" = ( -/obj/machinery/turretid{ - ailock = 1; - desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; - icon_state = "control_kill"; - lethal = 1; - name = "Ship Turret Control"; - pixel_x = 32; - pixel_y = -2; - req_access = list("syndicate") - }, -/obj/machinery/button/door{ - id = "SBC_corvette_blast"; - name = "Corvette Blast Doors"; - pixel_x = 32; - pixel_y = 8; - req_access = list("syndicate_leader") - }, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_corvette) "ag" = ( /obj/machinery/computer/shuttle/starfury/corvette{ dir = 8 @@ -56,33 +36,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_corvette) -"ai" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/corvette{ - dir = 8; - y_offset = 0; - x_offset = -3 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_corvette) -"aj" = ( -/obj/machinery/door/airlock/external{ - id_tag = "SBC_corvette_bolt"; - name = "Syndicate Corvette Airlock" - }, -/obj/docking_port/mobile/syndicate_corvette{ - preferred_direction = 1; - port_direction = 4 - }, -/obj/structure/fans/tiny, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/turf/open/floor/plating, -/area/shuttle/sbc_corvette) "ak" = ( /obj/structure/chair/comfy/shuttle{ name = "tactical chair" @@ -293,13 +246,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_corvette) -"aO" = ( -/obj/machinery/door/poddoor/preopen{ - id = "SBC_corvette_blast" - }, -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/turf/open/floor/plating, -/area/shuttle/sbc_corvette) "aP" = ( /obj/machinery/door/airlock/hatch{ name = "Syndicate Corvette Cockpit" @@ -381,6 +327,24 @@ "aZ" = ( /turf/open/floor/catwalk_floor/iron_dark, /area/shuttle/sbc_corvette) +"jy" = ( +/obj/machinery/turretid/directional/south{ + ailock = 1; + desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; + icon_state = "control_kill"; + lethal = 1; + name = "Ship Turret Control"; + req_access = list("syndicate") + }, +/obj/machinery/button/door{ + id = "SBC_corvette_blast"; + name = "Corvette Blast Doors"; + pixel_x = 32; + pixel_y = 8; + req_access = list("syndicate_leader") + }, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_corvette) "qH" = ( /obj/structure/table, /obj/item/wrench, @@ -420,6 +384,13 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/sbc_corvette) +"CN" = ( +/obj/machinery/door/poddoor/preopen{ + id = "SBC_corvette_blast" + }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/shuttle/sbc_corvette) "Jb" = ( /obj/machinery/computer/security{ network = list("SBC_Corvette") @@ -438,6 +409,33 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_corvette) +"Ms" = ( +/obj/machinery/door/airlock/external{ + id_tag = "SBC_corvette_bolt"; + name = "Syndicate Corvette Airlock" + }, +/obj/docking_port/mobile/syndicate_corvette{ + preferred_direction = 1; + port_direction = 4 + }, +/obj/structure/fans/tiny, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/turf/open/floor/plating, +/area/shuttle/sbc_corvette) +"Nu" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/corvette{ + dir = 8; + y_offset = 0; + x_offset = -3 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_corvette) (1,1,1) = {" aa @@ -509,7 +507,7 @@ aT aZ aU as -aj +Ms "} (9,1,1) = {" aM @@ -539,29 +537,29 @@ ay aM "} (12,1,1) = {" -aO +CN qH ac aW -ae +jy aQ -aO +CN "} (13,1,1) = {" -aO -aO -ai +CN +CN +Nu ag ap -aO -aO +CN +CN "} (14,1,1) = {" aa -aO -aO -aO -aO -aO +CN +CN +CN +CN +CN aa "} diff --git a/_maps/shuttles/starfury_fighter1.dmm b/_maps/shuttles/starfury_fighter1.dmm index ae37e35c23b00..d84e240300593 100644 --- a/_maps/shuttles/starfury_fighter1.dmm +++ b/_maps/shuttles/starfury_fighter1.dmm @@ -79,14 +79,12 @@ /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_fighter1) "N" = ( -/obj/machinery/turretid{ +/obj/machinery/turretid/directional/south{ ailock = 1; desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; icon_state = "control_kill"; lethal = 1; name = "Ship Turret Control"; - pixel_x = -32; - pixel_y = 26; req_access = list("syndicate") }, /obj/structure/chair/comfy/shuttle{ diff --git a/_maps/shuttles/starfury_fighter2.dmm b/_maps/shuttles/starfury_fighter2.dmm index de55ea6c127ca..bd6160a46f98c 100644 --- a/_maps/shuttles/starfury_fighter2.dmm +++ b/_maps/shuttles/starfury_fighter2.dmm @@ -47,14 +47,12 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/sbc_fighter2) "r" = ( -/obj/machinery/turretid{ +/obj/machinery/turretid/directional/south{ ailock = 1; desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; icon_state = "control_kill"; lethal = 1; name = "Ship Turret Control"; - pixel_x = -32; - pixel_y = 26; req_access = list("syndicate") }, /obj/structure/chair/comfy/shuttle{ diff --git a/_maps/shuttles/starfury_fighter3.dmm b/_maps/shuttles/starfury_fighter3.dmm index e078e7b0bfda5..641b9c8c5a3b5 100644 --- a/_maps/shuttles/starfury_fighter3.dmm +++ b/_maps/shuttles/starfury_fighter3.dmm @@ -46,14 +46,12 @@ /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_fighter3) "E" = ( -/obj/machinery/turretid{ +/obj/machinery/turretid/directional/south{ ailock = 1; desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; icon_state = "control_kill"; lethal = 1; name = "Ship Turret Control"; - pixel_x = -32; - pixel_y = 26; req_access = list("syndicate") }, /obj/structure/chair/comfy/shuttle{ diff --git a/_maps/shuttles/whiteship_birdshot.dmm b/_maps/shuttles/whiteship_birdshot.dmm index ed1936e3a1cf8..024cfa6abfb66 100644 --- a/_maps/shuttles/whiteship_birdshot.dmm +++ b/_maps/shuttles/whiteship_birdshot.dmm @@ -10,6 +10,16 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/cafeteria, /area/shuttle/abandoned/bar) +"aM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/turf/open/floor/iron/dark/small, +/area/shuttle/abandoned/bridge) "aX" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -50,6 +60,14 @@ }, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) +"bD" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + dir = 1; + x_offset = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/small, +/area/shuttle/abandoned/bridge) "bH" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -174,20 +192,6 @@ }, /turf/open/floor/iron, /area/shuttle/abandoned/bar) -"fW" = ( -/obj/machinery/porta_turret/centcom_shuttle/weak{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned/crew) -"gj" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ - dir = 1; - x_offset = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/small, -/area/shuttle/abandoned/bridge) "gs" = ( /obj/machinery/power/terminal{ dir = 4 @@ -359,33 +363,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/shuttle/abandoned/crew) -"nz" = ( -/obj/structure/closet/secure_closet/freezer/fridge/open, -/obj/item/reagent_containers/condiment/enzyme, -/obj/item/food/meat/slab/synthmeat{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/food/meat/slab/synthmeat{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/food/meat/slab/synthmeat{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/condiment/flour{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/condiment/flour{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/condiment/milk, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/cafeteria, -/area/shuttle/abandoned/bar) "nL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -530,14 +507,17 @@ }, /turf/open/floor/iron/small, /area/shuttle/abandoned/medbay) -"ry" = ( -/turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned/bar) "rO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/iron/freezer, /area/shuttle/abandoned/medbay) +"rU" = ( +/obj/machinery/porta_turret/centcom_shuttle/weak{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned/bridge) "rZ" = ( /obj/structure/chair/stool/bar/directional/east, /obj/effect/decal/cleanable/dirt, @@ -551,6 +531,33 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, /area/shuttle/abandoned/cargo) +"sM" = ( +/obj/structure/closet/secure_closet/freezer/fridge/open, +/obj/item/reagent_containers/condiment/enzyme, +/obj/item/food/meat/slab/synthmeat{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/food/meat/slab/synthmeat{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/food/meat/slab/synthmeat{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/condiment/flour{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/condiment/flour{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/condiment/milk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/cafeteria, +/area/shuttle/abandoned/bar) "tg" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -586,6 +593,9 @@ }, /turf/open/floor/iron/small, /area/shuttle/abandoned/crew) +"ud" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned/bar) "uj" = ( /obj/structure/closet/emcloset/anchored, /obj/structure/sign/poster/official/random/directional/north, @@ -651,6 +661,12 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/shuttle/abandoned/cargo) +"wk" = ( +/obj/machinery/porta_turret/centcom_shuttle/weak{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned/pod) "wo" = ( /obj/structure/cable, /obj/machinery/light/small/broken/directional/east, @@ -1013,27 +1029,6 @@ }, /turf/open/floor/iron/cafeteria, /area/shuttle/abandoned/bar) -"Hk" = ( -/obj/structure/table/greyscale, -/obj/machinery/recharger{ - pixel_x = -13; - pixel_y = 11 - }, -/obj/machinery/cell_charger{ - pixel_x = 4; - pixel_y = 11 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 4; - pixel_y = 11 - }, -/obj/item/storage/toolbox/emergency{ - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/iron/dark/small, -/area/shuttle/abandoned/bridge) "Ht" = ( /obj/structure/rack, /obj/item/tank/internals/anesthetic{ @@ -1156,12 +1151,6 @@ }, /turf/open/floor/iron, /area/shuttle/abandoned/bar) -"Lj" = ( -/obj/machinery/porta_turret/centcom_shuttle/weak{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned/pod) "Ll" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -1184,21 +1173,6 @@ }, /turf/open/floor/catwalk_floor, /area/shuttle/abandoned/crew) -"Nl" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 11 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 11 - }, -/obj/item/stack/cable_coil{ - pixel_y = -1 - }, -/obj/item/multitool, -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor, -/area/shuttle/abandoned/engine) "NK" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/crew) @@ -1246,6 +1220,21 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/iron/smooth, /area/shuttle/abandoned/crew) +"OY" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 11 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 11 + }, +/obj/item/stack/cable_coil{ + pixel_y = -1 + }, +/obj/item/multitool, +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor, +/area/shuttle/abandoned/engine) "PC" = ( /obj/effect/spawner/structure/window/reinforced/shuttle, /obj/machinery/door/poddoor{ @@ -1263,12 +1252,6 @@ }, /turf/open/floor/iron/grimy, /area/shuttle/abandoned/crew) -"Qf" = ( -/obj/machinery/porta_turret/centcom_shuttle/weak{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned/bridge) "Ql" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, @@ -1383,17 +1366,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/shuttle/abandoned/bridge) -"UK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = 28; - req_access = null - }, -/turf/open/floor/iron/dark/small, -/area/shuttle/abandoned/bridge) "Vp" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/power/shuttle_engine/heater{ @@ -1401,6 +1373,27 @@ }, /turf/open/floor/plating/airless, /area/shuttle/abandoned/crew) +"VK" = ( +/obj/structure/table/greyscale, +/obj/machinery/recharger{ + pixel_x = -13; + pixel_y = 11 + }, +/obj/machinery/cell_charger{ + pixel_x = 4; + pixel_y = 11 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 4; + pixel_y = 11 + }, +/obj/item/storage/toolbox/emergency{ + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/iron/dark/small, +/area/shuttle/abandoned/bridge) "VL" = ( /obj/machinery/shower/directional/south, /obj/item/soap, @@ -1482,6 +1475,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth, /area/shuttle/abandoned/crew) +"Yx" = ( +/obj/machinery/porta_turret/centcom_shuttle/weak{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/shuttle/abandoned/crew) "YJ" = ( /obj/effect/spawner/structure/window/reinforced/shuttle, /obj/machinery/door/poddoor{ @@ -1607,7 +1606,7 @@ lt lt lt Gi -Nl +OY Zn Jt gs @@ -1822,7 +1821,7 @@ wd Tg "} (14,1,1) = {" -fW +Yx NK NK NK @@ -1842,7 +1841,7 @@ Zy NK NK NK -fW +Yx "} (15,1,1) = {" lt @@ -1950,7 +1949,7 @@ fU Gg GS wY -nz +sM JP Kf jv @@ -1998,9 +1997,9 @@ DT PC JP JP -UK +aM Uu -gj +bD XB lt lt @@ -2013,7 +2012,7 @@ pv xr qO pv -ry +ud lt lt lt @@ -2021,7 +2020,7 @@ lt lt XB JP -Hk +VK Bs JP XB @@ -2035,7 +2034,7 @@ lt PN BZ BZ -Lj +wk lt lt lt @@ -2043,7 +2042,7 @@ lt lt lt lt -Qf +rU YJ YJ XB diff --git a/_maps/shuttles/whiteship_delta.dmm b/_maps/shuttles/whiteship_delta.dmm index efc2302379730..3efa962faf909 100644 --- a/_maps/shuttles/whiteship_delta.dmm +++ b/_maps/shuttles/whiteship_delta.dmm @@ -61,13 +61,12 @@ pixel_y = 16 }, /obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/structure/mirror/directional/north, /turf/open/floor/iron/freezer, /area/shuttle/abandoned/crew) "al" = ( -/obj/machinery/light/small/built/directional/north, /obj/effect/decal/cleanable/dirt, /obj/structure/bed{ dir = 4 @@ -78,25 +77,26 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/all_access, +/obj/machinery/light/small/built/directional/west, /turf/open/floor/wood, /area/shuttle/abandoned/crew) "am" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed, /obj/item/bedsheet/centcom, -/obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/all_access, +/obj/machinery/light/small/built/directional/west, /turf/open/floor/wood, /area/shuttle/abandoned/crew) "an" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/plating, /area/shuttle/abandoned/crew) "ao" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, /obj/machinery/light/small/built/directional/east, /turf/open/floor/plating, /area/shuttle/abandoned/crew) @@ -223,10 +223,6 @@ /obj/item/weldingtool/largetank, /turf/open/floor/plating, /area/shuttle/abandoned/engine) -"aC" = ( -/obj/structure/sign/departments/restroom, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/abandoned/crew) "aD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -430,6 +426,7 @@ dir = 1 }, /obj/structure/cable, +/obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/iron/dark, /area/shuttle/abandoned/crew) "ba" = ( @@ -514,10 +511,6 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/shuttle/abandoned/engine) -"bm" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/abandoned/engine) "bn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -526,6 +519,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/sign/departments/engineering/directional/west, /turf/open/floor/iron, /area/shuttle/abandoned/crew) "bo" = ( @@ -564,10 +558,15 @@ /obj/structure/table, /obj/item/stack/sheet/glass/fifty{ pixel_x = -2; - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/stack/rods/fifty{ + pixel_y = 11 + }, +/obj/item/wrench{ + pixel_y = 6; + pixel_x = 4 }, -/obj/item/stack/rods/fifty, -/obj/item/wrench, /obj/structure/spider/stickyweb, /turf/open/floor/iron/dark, /area/shuttle/abandoned/crew) @@ -614,7 +613,9 @@ "bw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/machinery/microwave, +/obj/machinery/microwave{ + pixel_y = 10 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/shuttle/abandoned/bar) @@ -646,15 +647,15 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/storage/toolbox/mechanical{ - pixel_y = 4 + pixel_y = 18 }, /obj/item/flashlight{ pixel_x = 3; - pixel_y = 3 + pixel_y = 14 }, /obj/item/clothing/head/utility/welding{ pixel_x = -2; - pixel_y = 1 + pixel_y = 10 }, /obj/machinery/firealarm/directional/east, /turf/open/floor/plating, @@ -779,32 +780,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/shuttle/abandoned/engine) -"bR" = ( -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_x = -28; - req_access = null - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/shuttle/abandoned/bridge) "bS" = ( /obj/structure/table, /obj/item/folder/blue{ pixel_x = 6; - pixel_y = 5 + pixel_y = 16 }, /obj/item/pen{ - pixel_x = 5; + pixel_x = 10; pixel_y = 3 }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 6 + }, /obj/structure/spider/stickyweb, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -848,11 +838,13 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 18 + }, /obj/machinery/firealarm/directional/west, /obj/item/stack/spacecash/c200{ - pixel_x = 7; - pixel_y = 4 + pixel_x = 2; + pixel_y = 15 }, /obj/item/pen{ pixel_x = -4 @@ -908,10 +900,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/shuttle/abandoned/crew) -"cc" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/abandoned/engine) "cd" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering" @@ -929,7 +917,9 @@ /obj/item/camera, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, +/obj/machinery/light/small/directional/west{ + pixel_y = 4 + }, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -985,6 +975,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/power/smes/ship, /obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/plating, /area/shuttle/abandoned/engine) "cl" = ( @@ -1162,18 +1153,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/shuttle/abandoned/engine) -"cD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/multitool{ - pixel_y = -13 - }, -/turf/open/floor/plating, -/area/shuttle/abandoned/engine) "cE" = ( /obj/machinery/vending/coffee, /obj/effect/decal/cleanable/dirt, @@ -1192,7 +1171,9 @@ /obj/item/screwdriver{ pixel_y = 15 }, -/obj/machinery/cell_charger, +/obj/machinery/cell_charger{ + pixel_y = 6 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/shuttle/abandoned/cargo) @@ -1241,28 +1222,28 @@ /area/shuttle/abandoned/engine) "cP" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/built/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/structure/sign/departments/engineering/directional/west, /turf/open/floor/iron, /area/shuttle/abandoned/medbay) "cQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, -/obj/item/defibrillator, +/obj/item/defibrillator{ + pixel_y = 10 + }, /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, +/obj/structure/sign/poster/official/nanotrasen_logo/directional/north, +/obj/machinery/light/small/built/directional/east, /turf/open/floor/iron, /area/shuttle/abandoned/medbay) -"cR" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/shuttle/abandoned/medbay) "cS" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay" @@ -1294,12 +1275,9 @@ /obj/machinery/airalarm/directional/north, /obj/effect/mapping_helpers/airalarm/all_access, /obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/sign/departments/cargo/directional/east, /turf/open/floor/iron/dark, /area/shuttle/abandoned/medbay) -"cW" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/mineral/titanium, -/area/shuttle/abandoned/cargo) "cX" = ( /obj/machinery/light/small/built/directional/west, /obj/effect/decal/cleanable/dirt, @@ -1371,14 +1349,22 @@ /area/shuttle/abandoned/medbay) "di" = ( /obj/structure/table, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/gloves/latex{ + pixel_y = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 10 + }, +/obj/item/clothing/suit/apron/surgical{ + pixel_y = 14 + }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/shuttle/abandoned/medbay) "dj" = ( -/obj/machinery/light/small/built/directional/north, +/obj/machinery/light/small/built/directional/north{ + pixel_x = 10 + }, /obj/effect/decal/cleanable/dirt, /obj/structure/spider/stickyweb, /obj/machinery/firealarm/directional/north, @@ -1410,11 +1396,16 @@ /area/shuttle/abandoned/medbay) "dm" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, +/obj/machinery/light/small/directional/north{ + pixel_x = -11 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, /obj/structure/cable, +/obj/structure/sign/departments/medbay/alt/directional/north{ + pixel_x = 4 + }, /turf/open/floor/iron/white/side{ dir = 5 }, @@ -1610,10 +1601,12 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/reagent_containers/cup/bottle/epinephrine{ - pixel_x = 6 + pixel_x = 6; + pixel_y = 12 }, /obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = -3 + pixel_x = -3; + pixel_y = 10 }, /obj/item/reagent_containers/syringe, /obj/effect/decal/cleanable/dirt, @@ -1663,10 +1656,10 @@ /area/shuttle/abandoned/medbay) "dS" = ( /obj/structure/closet/emcloset/anchored, +/obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/plating, /area/shuttle/abandoned/medbay) "dT" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, /obj/machinery/light/small/built/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -1781,6 +1774,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/cargo) +"ug" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil{ + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/multitool{ + pixel_y = 16 + }, +/turf/open/floor/plating, +/area/shuttle/abandoned/engine) "vm" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/medbay) @@ -1798,6 +1805,26 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/cargo) +"zx" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 12 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 3; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/cobweb{ + pixel_y = 16 + }, +/turf/open/floor/iron/dark, +/area/shuttle/abandoned/medbay) "zL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box/white/corners, @@ -1810,22 +1837,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/cargo) -"Ch" = ( -/obj/effect/turf_decal/bot_white, +"BU" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 1 }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 3; - pixel_y = -1 +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron/dark, -/area/shuttle/abandoned/medbay) +/obj/structure/sign/departments/restroom/directional/north, +/turf/open/floor/iron, +/area/shuttle/abandoned/crew) "DZ" = ( /obj/effect/turf_decal/delivery/white, /obj/effect/decal/cleanable/dirt, @@ -1840,6 +1863,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/cargo) +"ET" = ( +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/shuttle/abandoned/bridge) "IO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -1852,8 +1887,8 @@ pixel_x = -5 }, /obj/item/reagent_containers/cup/glass/bottle/beer{ - pixel_x = 7; - pixel_y = 4 + pixel_x = -4; + pixel_y = 10 }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -1993,7 +2028,7 @@ ai by bP bV -cc +ai ck cs cB @@ -2034,7 +2069,7 @@ bB bB bB bB -cD +ug cO dd dB @@ -2046,7 +2081,7 @@ aa ai ai de -bm +ai bB bB bW @@ -2054,7 +2089,7 @@ ce cm bB bB -bm +ai de ai ai @@ -2067,7 +2102,7 @@ ac aQ bn bC -bR +ET bX cf cn @@ -2082,8 +2117,8 @@ iM (8,1,1) = {" ac aj -aC -aQ +ac +BU bo bD bS @@ -2091,7 +2126,7 @@ bY cg co cu -bD +bB cQ dg dE @@ -2187,7 +2222,7 @@ ac bI ac cF -cR +vm dm dP dR @@ -2225,7 +2260,7 @@ aa aa aa vm -Ch +zx dn vm dS @@ -2282,7 +2317,7 @@ aa aa cx cy -cW +cx dr cy bv diff --git a/_maps/shuttles/whiteship_kilo.dmm b/_maps/shuttles/whiteship_kilo.dmm index 3dda9d34da2a1..485650e9629fa 100644 --- a/_maps/shuttles/whiteship_kilo.dmm +++ b/_maps/shuttles/whiteship_kilo.dmm @@ -144,6 +144,15 @@ /obj/machinery/light/small/red/directional/west, /turf/open/floor/plating, /area/shuttle/abandoned/bar) +"hY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/shuttle_engine/propulsion/right{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/bar) "id" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/crew) @@ -192,6 +201,36 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/mineral/plastitanium, /area/shuttle/abandoned/bar) +"iu" = ( +/obj/effect/turf_decal/trimline/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/white/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + name = "NTMS-037 Mining Turret control panel"; + req_access = null + }, +/obj/structure/frame/computer{ + anchored = 1; + dir = 8 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/item/stack/cable_coil/cut, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/all_access, +/turf/open/floor/pod/light, +/area/shuttle/abandoned/bridge) "iI" = ( /obj/effect/spawner/structure/window/reinforced/shuttle, /obj/machinery/door/poddoor{ @@ -200,15 +239,6 @@ }, /turf/open/floor/plating, /area/shuttle/abandoned/bridge) -"jr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/shuttle_engine/propulsion/left{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/engine) "jM" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -231,35 +261,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) -"ku" = ( -/obj/machinery/door/airlock/external/ruin{ - name = "External Freight Airlock" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/docking_port/mobile{ - callTime = 250; - can_move_docking_ports = 1; - dir = 2; - shuttle_id = "whiteship"; - launch_status = 0; - movement_force = list("KNOCKDOWN"=0,"THROW"=0); - name = "Mining Shuttle"; - port_direction = 8; - preferred_direction = 4 - }, -/turf/open/floor/plating, -/area/shuttle/abandoned/cargo) "kG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /obj/structure/ore_box, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) +"kH" = ( +/obj/machinery/power/shuttle_engine/heater{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/engine) "kY" = ( /obj/item/chair, /obj/effect/decal/cleanable/dirt, @@ -283,6 +300,16 @@ dir = 1 }, /area/shuttle/abandoned/bar) +"ma" = ( +/obj/machinery/power/shuttle_engine/heater{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/bar) "mt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -320,15 +347,6 @@ /obj/structure/cable, /turf/open/floor/mineral/plastitanium, /area/shuttle/abandoned/bridge) -"mX" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/shuttle_engine/propulsion{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/engine) "nt" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -348,15 +366,6 @@ /obj/structure/cable, /turf/open/floor/mineral/titanium/tiled/white, /area/shuttle/abandoned/bridge) -"oQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/shuttle_engine/propulsion/right{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/bar) "pI" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -409,15 +418,6 @@ }, /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/bar) -"rC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/shuttle_engine/propulsion/right{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/engine) "rX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, @@ -534,50 +534,28 @@ /obj/structure/cable, /turf/open/floor/plating, /area/shuttle/abandoned/engine) -"zl" = ( -/obj/effect/turf_decal/trimline/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/white/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - name = "NTMS-037 Mining Turret control panel"; - pixel_x = 28; - pixel_y = 6; - req_access = null - }, -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 +"zv" = ( +/obj/machinery/door/airlock/external/ruin{ + name = "External Freight Airlock" }, -/obj/item/shard{ - icon_state = "medium" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/item/stack/cable_coil/cut, -/obj/machinery/airalarm/directional/south, -/obj/effect/mapping_helpers/airalarm/all_access, -/turf/open/floor/pod/light, -/area/shuttle/abandoned/bridge) -"zu" = ( -/obj/machinery/cell_charger, -/obj/structure/table, +/obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/power_store/cell/emproof/empty{ - pixel_y = 7; - pixel_x = 5 - }, -/obj/effect/turf_decal/tile/brown, -/turf/open/floor/iron/white/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/docking_port/mobile{ + callTime = 250; + can_move_docking_ports = 1; + dir = 2; + shuttle_id = "whiteship"; + launch_status = 0; + movement_force = list("KNOCKDOWN"=0,"THROW"=0); + name = "Mining Shuttle"; + port_direction = 8; + preferred_direction = 4 }, +/turf/open/floor/plating, /area/shuttle/abandoned/cargo) "zJ" = ( /obj/effect/decal/cleanable/dirt, @@ -629,6 +607,35 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) +"DD" = ( +/obj/effect/turf_decal/trimline/white/line, +/obj/effect/turf_decal/trimline/white/filled/warning{ + dir = 1 + }, +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ + dir = 4; + view_range = 14; + y_offset = 5; + x_offset = 0 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + id = "whiteship_windows"; + name = "NTMS-037 Windows Blast Door Control"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/button/door{ + id = "whiteship_bridge"; + name = "NTMS-037 Bridge Blast Door Control"; + pixel_x = -24; + pixel_y = -6 + }, +/turf/open/floor/pod/light, +/area/shuttle/abandoned/bridge) "Fr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, @@ -691,6 +698,15 @@ }, /turf/open/floor/pod/dark, /area/shuttle/abandoned/engine) +"Hy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/shuttle_engine/propulsion/right{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/engine) "HD" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 8 @@ -811,6 +827,15 @@ }, /turf/open/floor/mineral/plastitanium, /area/shuttle/abandoned/bar) +"LD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/shuttle_engine/propulsion/left{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/bar) "LE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -860,16 +885,6 @@ /obj/structure/cable, /turf/open/floor/mineral/titanium/tiled/yellow, /area/shuttle/abandoned/engine) -"MI" = ( -/obj/machinery/power/shuttle_engine/heater{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/engine) "Nh" = ( /turf/closed/wall/mineral/plastitanium, /area/shuttle/abandoned/engine) @@ -882,6 +897,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) +"NA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/shuttle_engine/propulsion/left{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/engine) "NV" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/abandoned/bridge) @@ -901,16 +925,6 @@ /obj/item/storage/box/donkpockets, /turf/open/floor/bamboo, /area/shuttle/abandoned/bar) -"OZ" = ( -/obj/machinery/power/shuttle_engine/heater{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/bar) "Pe" = ( /obj/machinery/button/door/directional/north{ id = "whiteship_port"; @@ -924,15 +938,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) -"Pz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/shuttle_engine/propulsion/left{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/shuttle/abandoned/bar) "PR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 @@ -1024,35 +1029,6 @@ }, /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/cargo) -"Ta" = ( -/obj/effect/turf_decal/trimline/white/line, -/obj/effect/turf_decal/trimline/white/filled/warning{ - dir = 1 - }, -/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ - dir = 4; - view_range = 14; - y_offset = 5; - x_offset = 0 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door{ - id = "whiteship_windows"; - name = "NTMS-037 Windows Blast Door Control"; - pixel_x = -24; - pixel_y = 6 - }, -/obj/machinery/button/door{ - id = "whiteship_bridge"; - name = "NTMS-037 Bridge Blast Door Control"; - pixel_x = -24; - pixel_y = -6 - }, -/turf/open/floor/pod/light, -/area/shuttle/abandoned/bridge) "Tf" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/brown/filled/shrink_ccw{ @@ -1089,6 +1065,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, /area/shuttle/abandoned/crew) +"Uo" = ( +/obj/machinery/cell_charger, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/power_store/cell/emproof/empty{ + pixel_y = 7; + pixel_x = 5 + }, +/obj/effect/turf_decal/tile/brown, +/turf/open/floor/iron/white/corner{ + dir = 8 + }, +/area/shuttle/abandoned/cargo) "VP" = ( /obj/effect/turf_decal/stripes/end{ dir = 4 @@ -1196,6 +1185,15 @@ /obj/structure/cable, /turf/open/floor/mineral/plastitanium, /area/shuttle/abandoned/bridge) +"Zp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/shuttle_engine/propulsion{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/abandoned/engine) "ZW" = ( /obj/machinery/washing_machine, /obj/effect/turf_decal/siding/thinplating_new/dark{ @@ -1207,9 +1205,9 @@ (1,1,1) = {" Nh -jr -mX -rC +NA +Zp +Hy Nh Gu Gu @@ -1222,13 +1220,13 @@ Gu "} (2,1,1) = {" Nh -MI -MI -MI +kH +kH +kH CG -jr -mX -rC +NA +Zp +Hy gL Gu Gu @@ -1241,9 +1239,9 @@ Ss bl eT CG -MI -MI -MI +kH +kH +kH CG Gu Gu @@ -1320,8 +1318,8 @@ NV NV nN NV -Pz -oQ +LD +hY BS Gu "} @@ -1332,20 +1330,20 @@ bF eD Nt iI -Ta +DD mH NV -OZ -OZ +ma +ma Of Gu "} (10,1,1) = {" -ku +zv Bk vM Wj -zu +Uo iI qu YV @@ -1363,7 +1361,7 @@ RI Jd iI uf -zl +iu NV fL zJ diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index 1557622647809..c0087bfb7295a 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -670,24 +670,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/abandoned/bridge) -"cf" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = 28; - req_access = null - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/shuttle/abandoned/bridge) "cg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -784,17 +766,6 @@ /obj/machinery/recharger, /turf/open/floor/iron/dark, /area/shuttle/abandoned/bridge) -"cx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/shuttle/abandoned/engine) "cy" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, @@ -831,18 +802,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/shuttle/abandoned/bar) -"cD" = ( -/obj/structure/table, -/obj/machinery/light/small/built/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/off{ - pixel_x = 6; - pixel_y = 7 - }, -/turf/open/floor/iron/dark, -/area/shuttle/abandoned/bridge) "cE" = ( /obj/machinery/firealarm/directional/south, /obj/effect/decal/cleanable/dirt, @@ -993,18 +952,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/shuttle/abandoned/engine) -"cY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/bot, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/multitool, -/obj/structure/cable, -/turf/open/floor/plating, -/area/shuttle/abandoned/engine) "db" = ( /obj/effect/turf_decal/box/white/corners{ dir = 8 @@ -1342,31 +1289,6 @@ /obj/machinery/light/small/built/directional/west, /turf/open/floor/plating, /area/shuttle/abandoned/bar) -"ed" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 6 - }, -/obj/item/kitchen/rollingpin{ - pixel_x = 8 - }, -/obj/item/knife/kitchen{ - pixel_x = 16 - }, -/obj/item/reagent_containers/condiment/sugar{ - pixel_x = -9; - pixel_y = 14 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/shuttle/abandoned/bar) "ee" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -1472,6 +1394,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/shuttle/abandoned/cargo) +"hq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/multitool, +/obj/structure/cable, +/turf/open/floor/plating, +/area/shuttle/abandoned/engine) "hv" = ( /obj/effect/turf_decal/box/white/corners{ dir = 1 @@ -1510,6 +1444,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/crew) +"jT" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/turretid/directional/south{ + icon_state = "control_kill"; + lethal = 1; + locked = 0; + req_access = null + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/shuttle/abandoned/bridge) "kz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -1522,6 +1473,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/bridge) +"mB" = ( +/obj/structure/table, +/obj/machinery/light/small/built/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/off{ + pixel_x = 6; + pixel_y = 7 + }, +/turf/open/floor/iron/dark, +/area/shuttle/abandoned/bridge) "ni" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ @@ -1727,6 +1690,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/crew) +"BL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/dark, +/area/shuttle/abandoned/engine) "Cp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/hydroponics/constructable, @@ -1736,6 +1710,19 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/shuttle/abandoned/bar) +"CE" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/storage/box/lights/bulbs, +/obj/item/stack/cable_coil{ + pixel_x = 2 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/shuttle/abandoned/cargo) "Dv" = ( /obj/machinery/smartfridge, /obj/machinery/door/firedoor, @@ -1923,19 +1910,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/bridge) -"Lq" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/storage/box/lights/bulbs, -/obj/item/stack/cable_coil{ - pixel_x = 2 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/shuttle/abandoned/cargo) "Nw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -2102,6 +2076,31 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/shuttle/abandoned/crew) +"Xy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 6 + }, +/obj/item/kitchen/rollingpin{ + pixel_x = 8 + }, +/obj/item/knife/kitchen{ + pixel_x = 16 + }, +/obj/item/reagent_containers/condiment/sugar{ + pixel_x = -9; + pixel_y = 14 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/shuttle/abandoned/bar) "XR" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, @@ -2185,7 +2184,7 @@ ci ac am ac -cY +hq el dI dX @@ -2239,7 +2238,7 @@ ac bJ bT cl -cx +BL cI ac ac @@ -2367,7 +2366,7 @@ ad an Dw ni -Lq +CE bD bD bY @@ -2486,13 +2485,13 @@ bF bQ cd GZ -cD +mB bQ gs dj dB dQ -ed +Xy bD "} (21,1,1) = {" @@ -2522,7 +2521,7 @@ VG bu ai bQ -cf +jT KK cF bQ diff --git a/_maps/templates/admin_thunderdome.dmm b/_maps/templates/admin_thunderdome.dmm index 1c81c0cee287c..4e7c52234778e 100644 --- a/_maps/templates/admin_thunderdome.dmm +++ b/_maps/templates/admin_thunderdome.dmm @@ -38,12 +38,9 @@ /turf/open/floor/circuit/green, /area/template_noop) "ag" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Red Team"; - network = list("thunder"); +/obj/machinery/camera/motion/thunderdome/red_team{ pixel_x = 11; - pixel_y = -9; - resistance_flags = 64 + pixel_y = -9 }, /obj/effect/landmark/thunderdome/two, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -324,12 +321,9 @@ /turf/open/floor/iron, /area/template_noop) "aU" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Green Team"; - network = list("thunder"); - pixel_x = 12; - pixel_y = -10; - resistance_flags = 64 +/obj/machinery/camera/motion/thunderdome/green_team{ + pixel_x = 11; + pixel_y = -9 }, /obj/effect/landmark/thunderdome/one, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -353,10 +347,7 @@ /turf/open/floor/iron, /area/template_noop) "aX" = ( -/obj/machinery/flasher{ - id = "tdomeflash"; - name = "Thunderdome Flash" - }, +/obj/machinery/flasher/thunderdome, /turf/open/floor/circuit/green, /area/template_noop) "aY" = ( diff --git a/_maps/templates/battlecruiser_starfury.dmm b/_maps/templates/battlecruiser_starfury.dmm index 59d6b325fdaac..cf803c3f31923 100644 --- a/_maps/templates/battlecruiser_starfury.dmm +++ b/_maps/templates/battlecruiser_starfury.dmm @@ -19,14 +19,6 @@ "ac" = ( /turf/closed/wall/mineral/plastitanium, /area/shuttle/sbc_starfury) -"ad" = ( -/obj/machinery/door/poddoor/preopen{ - id = "syndie_battlecruier_bridge_blast" - }, -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/turf/open/floor/plating, -/area/shuttle/sbc_starfury) "ae" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/sbc_starfury) @@ -57,11 +49,17 @@ /obj/structure/table/reinforced, /obj/item/reagent_containers/cup/beaker/cryoxadone{ pixel_x = 7; - pixel_y = 1 + pixel_y = 9 + }, +/obj/item/reagent_containers/cup/beaker/cryoxadone{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, +/obj/item/crowbar/red{ + pixel_y = 8 }, -/obj/item/reagent_containers/cup/beaker/cryoxadone, -/obj/item/wrench, -/obj/item/crowbar/red, /turf/open/floor/iron, /area/shuttle/sbc_starfury) "aj" = ( @@ -78,7 +76,10 @@ /area/shuttle/sbc_starfury) "al" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "an" = ( @@ -91,6 +92,7 @@ /obj/structure/chair/office{ dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "ap" = ( @@ -101,18 +103,31 @@ /area/shuttle/sbc_starfury) "aq" = ( /obj/structure/table/reinforced, -/obj/item/storage/fancy/donut_box, +/obj/item/storage/fancy/donut_box{ + pixel_y = 19 + }, /obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 8 + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/lighter/greyscale{ + pixel_y = 5 }, -/obj/item/lighter/greyscale, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "ar" = ( /obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, -/obj/item/wrench, -/obj/item/assembly/flash/handheld, +/obj/item/storage/toolbox/emergency{ + pixel_y = 8 + }, +/obj/item/wrench{ + pixel_y = 8 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 6; + pixel_x = -5 + }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "as" = ( @@ -170,6 +185,7 @@ /obj/effect/turf_decal/plaque{ icon_state = "SBC5" }, +/obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/shuttle/sbc_starfury) "aC" = ( @@ -194,12 +210,14 @@ /obj/structure/table, /obj/item/storage/medkit/o2{ pixel_x = 3; - pixel_y = 3 + pixel_y = 12 + }, +/obj/item/storage/medkit/toxin{ + pixel_y = 8 }, -/obj/item/storage/medkit/toxin, /obj/item/storage/medkit/regular{ pixel_x = -3; - pixel_y = -3 + pixel_y = 5 }, /obj/structure/cable, /turf/open/floor/iron, @@ -228,6 +246,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "aK" = ( @@ -236,6 +255,7 @@ }, /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/dark/smooth_large, /area/shuttle/sbc_starfury) "aL" = ( @@ -244,6 +264,7 @@ }, /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/dark/smooth_large, /area/shuttle/sbc_starfury) "aM" = ( @@ -252,6 +273,7 @@ }, /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/dark/smooth_large, /area/shuttle/sbc_starfury) "aN" = ( @@ -260,6 +282,7 @@ }, /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/dark/smooth_large, /area/shuttle/sbc_starfury) "aO" = ( @@ -268,6 +291,7 @@ }, /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/dark/smooth_large, /area/shuttle/sbc_starfury) "aP" = ( @@ -276,6 +300,7 @@ }, /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/dark, /area/shuttle/sbc_starfury) "aQ" = ( @@ -406,18 +431,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) -"bx" = ( -/obj/machinery/door/poddoor/preopen{ - id = "syndie_battlecruier_bridge_blast" - }, -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/obj/structure/cable, -/turf/open/floor/plating, -/area/shuttle/sbc_starfury) -"by" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/shuttle/sbc_starfury) "bB" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/dark, @@ -644,15 +657,16 @@ /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "cz" = ( -/obj/machinery/newscaster/directional/south, /obj/structure/table/reinforced/plastitaniumglass, /obj/item/toy/figure/syndie{ pixel_x = -6; - pixel_y = 6 + pixel_y = 16 }, /obj/item/toy/nuke{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 12 }, +/obj/machinery/newscaster/directional/south, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) "cB" = ( @@ -685,7 +699,6 @@ /area/shuttle/sbc_starfury) "cG" = ( /obj/machinery/disposal/bin, -/obj/structure/sign/warning/deathsposal/directional/south, /obj/structure/disposalpipe/trunk{ dir = 4 }, @@ -733,7 +746,7 @@ /turf/open/floor/plating, /area/shuttle/sbc_starfury) "cQ" = ( -/obj/structure/sink/directional/south, +/obj/structure/sink/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -790,29 +803,26 @@ /turf/open/floor/pod/dark, /area/shuttle/sbc_starfury) "de" = ( -/obj/machinery/button/door{ - id = "syndie_battlecruiser_bridge_bolt"; - name = "Bridge Lockdown"; +/obj/structure/window/reinforced/survival_pod/spawner/directional/west, +/obj/structure/window/reinforced/survival_pod/spawner/directional/north, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 9 + }, +/obj/machinery/button/door/table{ + pixel_y = 4; normaldoorcontrol = 1; - req_access = list("syndicate_leader"); specialfunctions = 4; - pixel_y = 4 + id = "syndie_battlecruiser_bridge_bolt"; + req_access = list("syndicate_leader"); + name = "Bridge Lockdown" }, -/obj/machinery/button/door{ +/obj/machinery/button/door/table{ id = "syndie_battlecruier_bridge_blast"; - name = "Bridge Blast Doors"; req_access = list("syndicate_leader"); + name = "Bridge Blast Doors"; pixel_y = -4 }, -/obj/structure/window/reinforced/survival_pod/spawner/directional/west, -/obj/structure/window/reinforced/survival_pod/spawner/directional/north, -/obj/structure/window/reinforced/survival_pod{ - dir = 9 - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 9 - }, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) "df" = ( @@ -835,10 +845,15 @@ /obj/structure/table, /obj/item/stack/sheet/plasteel{ amount = 10; - pixel_x = -2 + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, +/obj/item/radio/headset/syndicate/alt{ + pixel_y = 8 }, -/obj/item/storage/toolbox/syndicate, -/obj/item/radio/headset/syndicate/alt, /obj/effect/turf_decal/siding/thinplating_new/dark, /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/mineral/plastitanium/red, @@ -983,24 +998,6 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) -"dO" = ( -/obj/structure/sign/warning/secure_area/directional/east{ - desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; - icon_state = "space"; - name = "KEEP CLEAR: SHUTTLE BAY" - }, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) -"dS" = ( -/obj/structure/sign/warning/secure_area/directional/west{ - desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; - icon_state = "space"; - name = "KEEP CLEAR: SHUTTLE BAY" - }, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "dT" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -1025,15 +1022,24 @@ /area/shuttle/sbc_starfury) "dW" = ( /obj/structure/table, -/obj/item/bodypart/arm/left/robot, -/obj/item/bodypart/arm/left/robot, +/obj/item/bodypart/arm/left/robot{ + pixel_y = 8 + }, +/obj/item/bodypart/arm/left/robot{ + pixel_y = 8 + }, /obj/item/bodypart/arm/right/robot{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 }, /obj/item/bodypart/arm/right/robot{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/book/manual/wiki/surgery{ + pixel_y = 5; + pixel_x = -7 }, -/obj/item/book/manual/wiki/surgery, /obj/effect/turf_decal/siding/dark_green{ dir = 4 }, @@ -1080,16 +1086,24 @@ /area/shuttle/sbc_starfury) "eg" = ( /obj/structure/table, -/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ + pixel_y = 8 + }, /obj/item/storage/belt/medical{ - pixel_y = 2 + pixel_y = 10 }, /obj/item/storage/belt/medical{ - pixel_y = 2 + pixel_y = 10 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 8 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_y = 8 }, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/reagent_containers/spray/cleaner, /turf/open/floor/iron, /area/shuttle/sbc_starfury) "eh" = ( @@ -1121,9 +1135,11 @@ "eu" = ( /obj/item/paper_bin{ pixel_x = -2; - pixel_y = 8 + pixel_y = 13 + }, +/obj/item/folder/syndicate/red{ + pixel_y = 6 }, -/obj/item/folder/syndicate/red, /obj/structure/window/reinforced/survival_pod/spawner/directional/east, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 @@ -1132,7 +1148,6 @@ /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) "ev" = ( -/obj/machinery/airalarm/directional/west, /obj/machinery/light/directional/west, /obj/machinery/shieldgen{ active = 1; @@ -1286,9 +1301,6 @@ /obj/item/aicard, /obj/structure/window/reinforced/survival_pod/spawner/directional/east, /obj/structure/window/reinforced/survival_pod/spawner/directional/north, -/obj/structure/window/reinforced/survival_pod{ - dir = 5 - }, /obj/structure/table/reinforced/plastitaniumglass, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 5 @@ -1299,12 +1311,14 @@ /obj/structure/table, /obj/item/storage/medkit/brute{ pixel_x = 3; - pixel_y = 3 + pixel_y = 12 + }, +/obj/item/storage/medkit/fire{ + pixel_y = 8 }, -/obj/item/storage/medkit/fire, /obj/item/storage/medkit/regular{ pixel_x = -3; - pixel_y = -3 + pixel_y = 5 }, /turf/open/floor/iron, /area/shuttle/sbc_starfury) @@ -1316,9 +1330,15 @@ /area/shuttle/sbc_starfury) "eS" = ( /obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/obj/item/clothing/head/utility/welding, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 8 + }, +/obj/item/multitool{ + pixel_y = 8 + }, +/obj/item/clothing/head/utility/welding{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/thinplating_new/dark, /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/mineral/plastitanium/red, @@ -1333,6 +1353,19 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_starfury) +"eU" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/shuttle/sbc_starfury) "eW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -1532,18 +1565,16 @@ /area/shuttle/sbc_starfury) "fy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/airalarm/directional/north, /obj/machinery/light/small/directional/north, -/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet/orange, /area/shuttle/sbc_starfury) "fz" = ( +/obj/structure/sink/directional/west, +/obj/structure/mirror/directional/north, /obj/structure/toilet{ - pixel_y = 14 + dir = 8 }, -/obj/structure/mirror/directional/east, -/obj/structure/sink/directional/west, -/obj/machinery/light/small/directional/west, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/showroomfloor, /area/shuttle/sbc_starfury) "fA" = ( @@ -1580,15 +1611,6 @@ /obj/machinery/door/airlock/multi_tile/public/glass, /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) -"fE" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/shuttle/sbc_starfury) "fF" = ( /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /obj/machinery/door/firedoor/heavy, @@ -1611,14 +1633,6 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/iron/showroomfloor, /area/shuttle/sbc_starfury) -"fR" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/sbc_starfury) "fS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1627,6 +1641,21 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) +"fX" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/gun/ballistic/shotgun/bulldog{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/ballistic/shotgun/bulldog, +/obj/item/gun/ballistic/shotgun/bulldog{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "gc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mop_bucket, @@ -1642,21 +1671,12 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) -"gp" = ( -/obj/structure/sign/warning/secure_area/directional/east{ - desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; - icon_state = "space"; - name = "KEEP CLEAR: SHUTTLE BAY" - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "gx" = ( /obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser{ dir = 8 }, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet/orange, /area/shuttle/sbc_starfury) "gA" = ( @@ -1671,9 +1691,15 @@ /area/shuttle/sbc_starfury) "gB" = ( /obj/structure/table, -/obj/item/storage/toolbox/syndicate, -/obj/item/storage/belt/military, -/obj/item/storage/belt/military, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, +/obj/item/storage/belt/military{ + pixel_y = 8 + }, +/obj/item/storage/belt/military{ + pixel_y = 8 + }, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 8 }, @@ -1682,20 +1708,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_starfury) -"gC" = ( -/obj/structure/sign/warning/secure_area/directional/west{ - desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; - icon_state = "space"; - name = "KEEP CLEAR: SHUTTLE BAY" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "gD" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -1787,23 +1799,25 @@ /obj/structure/table, /obj/item/clothing/under/syndicate/combat{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, /obj/item/clothing/under/syndicate/combat{ pixel_x = 6; - pixel_y = 4 + pixel_y = 12 }, /obj/item/clothing/under/syndicate/combat{ pixel_x = 5; - pixel_y = 2 + pixel_y = 10 }, /obj/item/clothing/gloves/combat{ - pixel_y = -2 + pixel_y = 6 + }, +/obj/item/clothing/gloves/combat{ + pixel_y = 8 }, -/obj/item/clothing/gloves/combat, /obj/item/radio/headset/syndicate/alt{ pixel_x = -3; - pixel_y = 2 + pixel_y = 10 }, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 10 @@ -1863,6 +1877,7 @@ }, /obj/structure/cable, /obj/effect/turf_decal/tile/bar/diagonal_centre, +/obj/structure/sign/warning/deathsposal/directional/north, /turf/open/floor/iron/dark/diagonal, /area/shuttle/sbc_starfury) "hf" = ( @@ -2184,54 +2199,24 @@ /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) -"hZ" = ( -/obj/structure/rack{ - dir = 8 +"ib" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "tac"; + name = "Ammunitions Locker"; + req_access = list("syndicate") }, -/obj/item/gun/ballistic/automatic/m90{ - pixel_x = -3; +/obj/item/ammo_box/c10mm{ + pixel_y = 4 + }, +/obj/item/ammo_box/c10mm, +/obj/item/ammo_box/a357{ + icon_state = "357-7"; pixel_y = 3 }, -/obj/item/gun/ballistic/automatic/m90, -/obj/item/gun/ballistic/automatic/m90{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) -"ia" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/item/gun/ballistic/shotgun/bulldog{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/gun/ballistic/shotgun/bulldog, -/obj/item/gun/ballistic/shotgun/bulldog{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) -"ib" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "tac"; - name = "Ammunitions Locker"; - req_access = list("syndicate") - }, -/obj/item/ammo_box/c10mm{ - pixel_y = 4 - }, -/obj/item/ammo_box/c10mm, -/obj/item/ammo_box/a357{ - icon_state = "357-7"; - pixel_y = 3 - }, -/obj/item/ammo_box/a357{ - icon_state = "357-7"; - pixel_x = 2 +/obj/item/ammo_box/a357{ + icon_state = "357-7"; + pixel_x = 2 }, /obj/item/ammo_box/magazine/m10mm{ pixel_x = -3; @@ -2249,13 +2234,16 @@ "id" = ( /obj/item/toy/cards/deck/syndicate{ pixel_x = -6; - pixel_y = 6 + pixel_y = 14 }, /obj/item/reagent_containers/cup/glass/bottle/beer{ pixel_x = 5; - pixel_y = -2 + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/rag{ + pixel_y = 8; + pixel_x = -5 }, -/obj/item/reagent_containers/cup/rag, /obj/structure/table/reinforced/plastitaniumglass, /obj/effect/turf_decal/siding/dark{ dir = 1 @@ -2270,7 +2258,7 @@ /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "if" = ( -/obj/machinery/door/window/right/directional/north{ +/obj/machinery/door/window/half/left/directional/north{ name = "Bar Access" }, /obj/effect/turf_decal/siding/dark{ @@ -2325,14 +2313,20 @@ "il" = ( /obj/structure/table, /obj/item/reagent_containers/hypospray/medipen/survival{ - pixel_y = 8 + pixel_y = 16 }, /obj/item/reagent_containers/hypospray/medipen/survival{ - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/reagent_containers/hypospray/medipen/survival{ + pixel_y = 8 + }, +/obj/item/mod/module/visor/medhud{ + pixel_y = 8 + }, +/obj/item/mod/module/visor/medhud{ + pixel_y = 8 }, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/item/mod/module/visor/medhud, -/obj/item/mod/module/visor/medhud, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 9 }, @@ -2360,20 +2354,6 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) -"io" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/item/gun/ballistic/revolver/syndicate{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/gun/ballistic/revolver/syndicate{ - pixel_x = -1; - pixel_y = 2 - }, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) "iq" = ( /obj/machinery/microwave, /obj/structure/table/wood, @@ -2413,15 +2393,19 @@ /obj/structure/table, /obj/item/ammo_box/magazine/m10mm{ pixel_x = -3; - pixel_y = 6 + pixel_y = 14 }, /obj/item/ammo_box/magazine/m10mm{ - pixel_y = 3 + pixel_y = 11 }, /obj/item/ammo_box/magazine/m10mm{ - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/assembly/flash/handheld{ + pixel_y = 8; + pixel_x = 9 }, -/obj/item/assembly/flash/handheld, /obj/structure/cable, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 8 @@ -2440,25 +2424,17 @@ /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, /area/shuttle/sbc_starfury) -"ix" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/item/storage/belt/military, -/obj/item/ammo_box/magazine/m7mm, -/obj/item/gun/ballistic/automatic/l6_saw, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) "iy" = ( /obj/item/storage/box/donkpockets{ - pixel_x = 2 + pixel_x = 2; + pixel_y = 8 }, /obj/item/storage/box/donkpockets{ - pixel_y = 3 + pixel_y = 11 }, /obj/item/storage/box/donkpockets{ pixel_x = -2; - pixel_y = 6 + pixel_y = 14 }, /obj/structure/table/wood, /obj/effect/turf_decal/tile/bar{ @@ -2480,9 +2456,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/airalarm/directional/south, /obj/machinery/light/small/directional/south, -/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet, /area/shuttle/sbc_starfury) "iD" = ( @@ -2502,24 +2476,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/red, /area/shuttle/sbc_starfury) -"iG" = ( -/obj/structure/table/wood, -/obj/item/folder/syndicate/red{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/cigarette/cigar{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/storage/box/matches, -/obj/item/pen{ - pixel_x = -5 - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/syndicate_access, -/turf/open/floor/carpet/red, -/area/shuttle/sbc_starfury) "iI" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -2547,58 +2503,39 @@ }, /turf/open/floor/plating, /area/shuttle/sbc_starfury) -"iN" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/item/mod/control/pre_equipped/elite{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/clothing/mask/gas/syndicate{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/mod/control/pre_equipped/elite{ - pixel_x = -4 - }, -/obj/item/clothing/mask/gas/syndicate, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) "iO" = ( /obj/structure/table, /obj/item/shield/energy{ pixel_x = -5; - pixel_y = 10 + pixel_y = 18 }, /obj/item/shield/energy{ pixel_x = 4; - pixel_y = 10 + pixel_y = 18 }, /obj/item/shield/energy{ pixel_x = -5; - pixel_y = 3 + pixel_y = 11 }, /obj/item/shield/energy{ pixel_x = 4; - pixel_y = 3 + pixel_y = 11 }, /obj/item/shield/energy{ pixel_x = -5; - pixel_y = -4 + pixel_y = 4 }, /obj/item/shield/energy{ pixel_x = 4; - pixel_y = -4 + pixel_y = 4 }, /obj/item/melee/energy/sword/saber/red{ pixel_x = 8; - pixel_y = 15 + pixel_y = 23 }, /obj/item/melee/energy/sword/saber/red{ pixel_x = 8; - pixel_y = 8 + pixel_y = 16 }, /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) @@ -2646,11 +2583,15 @@ /obj/structure/table, /obj/item/book/manual/wiki/engineering_hacking{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/storage/belt/utility/full{ + pixel_y = 8 }, -/obj/item/storage/belt/utility/full, /obj/structure/extinguisher_cabinet/directional/north, -/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full{ + pixel_y = 8 + }, /turf/open/floor/iron/smooth, /area/shuttle/sbc_starfury) "iX" = ( @@ -2683,8 +2624,14 @@ /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) "ja" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/obj/effect/turf_decal/delivery, +/obj/structure/rack, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "jb" = ( /obj/effect/turf_decal/stripes/line{ @@ -2725,9 +2672,15 @@ /area/shuttle/sbc_starfury) "jg" = ( /obj/structure/table, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/gloves/latex{ + pixel_y = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 8 + }, +/obj/item/clothing/suit/apron/surgical{ + pixel_y = 1 + }, /obj/machinery/light/directional/north, /obj/effect/turf_decal/siding/dark_green, /turf/open/floor/iron, @@ -2843,12 +2796,8 @@ /turf/open/floor/plating, /area/shuttle/sbc_starfury) "jH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/warning/docking/directional/south, -/turf/open/floor/mineral/plastitanium, +/obj/structure/sign/warning/vacuum/external/directional/north, +/turf/open/floor/plating, /area/shuttle/sbc_starfury) "jK" = ( /obj/structure/sign/warning/electric_shock/directional/north, @@ -2871,11 +2820,6 @@ dir = 4 }, /obj/structure/cable, -/obj/machinery/button/door/directional/north{ - id = "syndie_battlecruiser_sm"; - name = "engine shutters"; - req_access = list("syndicate") - }, /turf/open/floor/catwalk_floor/iron_dark, /area/shuttle/sbc_starfury) "jQ" = ( @@ -3031,6 +2975,7 @@ /obj/effect/turf_decal/siding/dark_green{ dir = 4 }, +/obj/structure/sign/warning/chem_diamond/directional/north, /turf/open/floor/iron, /area/shuttle/sbc_starfury) "ks" = ( @@ -3038,10 +2983,11 @@ /obj/item/stack/sheet/mineral/plastitanium{ amount = 30; pixel_x = 2; - pixel_y = 4 + pixel_y = 12 }, /obj/item/stack/sheet/plastitaniumglass{ - amount = 30 + amount = 30; + pixel_y = 8 }, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -3096,15 +3042,18 @@ "kz" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/syndicate{ - pixel_y = 2 + pixel_y = 10 }, /obj/item/pipe_dispenser{ - pixel_y = -3 + pixel_y = 5 + }, +/obj/item/flashlight/seclite{ + pixel_y = 8 }, -/obj/item/flashlight/seclite, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/shuttle/sbc_starfury) "kA" = ( @@ -3119,6 +3068,7 @@ "kG" = ( /obj/effect/turf_decal/delivery, /obj/machinery/space_heater, +/obj/structure/sign/warning/radiation/directional/north, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "kH" = ( @@ -3161,31 +3111,22 @@ /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/plating, /area/shuttle/sbc_starfury) -"kN" = ( -/obj/structure/sign/warning/secure_area/directional/north{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - name = "EXTERNAL AIRLOCK" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/red/directional/north, -/turf/open/floor/plating, -/area/shuttle/sbc_starfury) "kO" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/yellow{ pixel_x = -1; - pixel_y = 2 + pixel_y = 10 }, /obj/item/clothing/gloves/color/yellow{ pixel_x = 1; - pixel_y = -1 + pixel_y = 7 + }, +/obj/item/multitool{ + pixel_y = 8 + }, +/obj/item/clothing/head/utility/welding{ + pixel_y = 8 }, -/obj/item/multitool, -/obj/item/clothing/head/utility/welding, -/obj/machinery/firealarm/directional/west, /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -3232,18 +3173,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) -"lf" = ( -/obj/structure/sign/warning/secure_area/directional/north{ - desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; - icon_state = "space"; - name = "EXTERNAL AIRLOCK" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/red/directional/north, -/turf/open/floor/plating, -/area/shuttle/sbc_starfury) "lh" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -3339,22 +3268,25 @@ /obj/item/stack/sheet/iron{ amount = 50; pixel_x = -2; - pixel_y = -2 + pixel_y = 6 }, /obj/item/stack/sheet/iron{ - pixel_x = 1 + pixel_x = 1; + pixel_y = 8 }, /obj/item/stack/sheet/glass{ amount = 50; pixel_x = 2; - pixel_y = 4 + pixel_y = 12 }, /obj/item/stack/rods{ - amount = 50 + amount = 50; + pixel_y = 8 }, /obj/item/stack/sheet/plasteel{ amount = 10; - pixel_x = -2 + pixel_x = -2; + pixel_y = 8 }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -3394,10 +3326,11 @@ /obj/item/stack/sheet/mineral/plastitanium{ amount = 50; pixel_x = 2; - pixel_y = 4 + pixel_y = 12 }, /obj/item/stack/sheet/plastitaniumglass{ - amount = 30 + amount = 30; + pixel_y = 8 }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -3455,11 +3388,17 @@ /obj/structure/table, /obj/item/stack/cable_coil{ pixel_x = -2; - pixel_y = 5 + pixel_y = 13 + }, +/obj/item/stack/cable_coil{ + pixel_y = 8 + }, +/obj/item/electronics/airlock{ + pixel_y = 8 + }, +/obj/item/electronics/airlock{ + pixel_y = 8 }, -/obj/item/stack/cable_coil, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron, /area/shuttle/sbc_starfury) @@ -3557,7 +3496,7 @@ /turf/open/floor/plating, /area/shuttle/sbc_starfury) "mH" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /turf/open/floor/plating/airless, /area/shuttle/sbc_starfury) "mI" = ( @@ -3605,14 +3544,14 @@ /obj/structure/table, /obj/machinery/syndicatebomb{ pixel_x = -6; - pixel_y = 8 + pixel_y = 16 }, /obj/machinery/syndicatebomb{ pixel_x = 6; - pixel_y = 8 + pixel_y = 16 }, /obj/machinery/syndicatebomb{ - pixel_y = -2 + pixel_y = 6 }, /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) @@ -3630,18 +3569,22 @@ /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "ng" = ( -/obj/effect/turf_decal/tile/bar/diagonal_centre, -/obj/structure/sign/warning/deathsposal/directional/west, -/turf/open/floor/iron/dark/diagonal, +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, /area/shuttle/sbc_starfury) "nk" = ( /obj/structure/table, -/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 8 + }, /obj/item/clothing/ears/earmuffs{ pixel_x = 3; - pixel_y = -3 + pixel_y = 5 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 8 }, -/obj/item/clothing/glasses/meson, /obj/effect/turf_decal/siding/thinplating_new/dark, /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/mineral/plastitanium/red, @@ -3681,9 +3624,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_starfury) "nR" = ( -/obj/machinery/power/smes/engineering{ - charge = 5e+007 - }, +/obj/machinery/power/smes/engineering, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -3695,6 +3636,18 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) +"ox" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/stripes/red/line, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/sbc_starfury) "oA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -3704,6 +3657,14 @@ dir = 5 }, /area/shuttle/sbc_starfury) +"oI" = ( +/obj/machinery/door/poddoor/preopen{ + id = "syndie_battlecruier_bridge_blast" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/shuttle/sbc_starfury) "oJ" = ( /obj/machinery/shieldgen{ active = 1; @@ -3842,6 +3803,21 @@ /obj/structure/cable, /turf/open/floor/engine, /area/shuttle/sbc_starfury) +"qH" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/gun/ballistic/automatic/m90{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/gun/ballistic/automatic/m90, +/obj/item/gun/ballistic/automatic/m90{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "qQ" = ( /obj/machinery/cryo_cell, /turf/open/floor/plating, @@ -3932,6 +3908,13 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/pod/dark, /area/shuttle/sbc_starfury) +"tb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/plating, +/area/shuttle/sbc_starfury) "te" = ( /obj/machinery/porta_turret/syndicate/energy{ dir = 5 @@ -3945,6 +3928,19 @@ /obj/machinery/light/directional/south, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_starfury) +"th" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/sign/warning/radiation/directional/north, +/obj/machinery/button/door/directional/west{ + id = "syndie_battlecruiser_sm"; + name = "engine shutters"; + req_access = list("syndicate") + }, +/turf/open/floor/engine, +/area/shuttle/sbc_starfury) "tn" = ( /turf/open/floor/iron/smooth, /area/shuttle/sbc_starfury) @@ -3958,6 +3954,25 @@ }, /turf/open/floor/engine, /area/shuttle/sbc_starfury) +"tC" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/mod/control/pre_equipped/elite{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/mod/control/pre_equipped/elite{ + pixel_x = -4 + }, +/obj/item/clothing/mask/gas/syndicate, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "tX" = ( /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3969,9 +3984,15 @@ /area/shuttle/sbc_starfury) "ug" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/syndie/surgery, -/obj/item/defibrillator/compact/combat/loaded, -/obj/item/gun/syringe/rapidsyringe, +/obj/item/storage/backpack/duffelbag/syndie/surgery{ + pixel_y = 8 + }, +/obj/item/defibrillator/compact/combat/loaded{ + pixel_y = 8 + }, +/obj/item/gun/syringe/rapidsyringe{ + pixel_y = 8 + }, /obj/machinery/airalarm/directional/east, /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron, @@ -4051,6 +4072,7 @@ /area/shuttle/sbc_starfury) "vr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/shuttle/sbc_starfury) "vC" = ( @@ -4114,11 +4136,6 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - id = "syndie_battlecruiser_sm"; - name = "engine shutters"; - req_access = list("syndicate") - }, /turf/open/floor/catwalk_floor/iron_dark, /area/shuttle/sbc_starfury) "wg" = ( @@ -4146,11 +4163,13 @@ dir = 5 }, /obj/machinery/light/directional/east, +/obj/structure/sign/warning/docking/directional/north, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_starfury) "wo" = ( /obj/machinery/computer/crew/syndie, /obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "wC" = ( @@ -4172,12 +4191,20 @@ /turf/open/floor/mineral/plastitanium/red, /area/shuttle/sbc_starfury) "xi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/button/door/directional/east{ + id = "syndie_battlecruiser_sm"; + name = "engine shutters"; + req_access = list("syndicate") + }, +/turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) "xp" = ( /obj/structure/dresser, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/carpet, /area/shuttle/sbc_starfury) "xr" = ( @@ -4199,6 +4226,7 @@ /obj/structure/chair/stool/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/warning/explosives/directional/north, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "xG" = ( @@ -4217,27 +4245,52 @@ /area/shuttle/sbc_starfury) "xI" = ( /obj/structure/closet/emcloset/anchored, -/obj/structure/sign/warning/vacuum/external/directional/south, /obj/effect/turf_decal/tile/dark_red, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "xO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "syndie_battlecruiser_sm"; + name = "engine shutters"; + req_access = list("syndicate") + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/sbc_starfury) +"xP" = ( +/obj/structure/table/wood, +/obj/item/folder/syndicate/red{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/cigarette/cigar{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/storage/box/matches, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/turf/open/floor/carpet/red, /area/shuttle/sbc_starfury) "xR" = ( /obj/structure/table, /obj/item/stack/sheet/iron{ - pixel_x = 1 + pixel_x = 1; + pixel_y = 8 }, /obj/item/stack/sheet/glass{ amount = 50; pixel_x = 2; - pixel_y = 4 + pixel_y = 12 }, /obj/item/stack/rods{ - amount = 50 + amount = 50; + pixel_y = 8 }, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -4258,6 +4311,13 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/shuttle/sbc_starfury) +"xY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/plating, +/area/shuttle/sbc_starfury) "yn" = ( /obj/structure/sign/warning/explosives/directional/north, /obj/machinery/shieldgen{ @@ -4325,7 +4385,6 @@ dir = 8 }, /obj/structure/cable, -/obj/structure/sign/warning/explosives/directional/east, /obj/effect/turf_decal/siding/dark_red{ dir = 10 }, @@ -4341,12 +4400,13 @@ /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "zE" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/docking/directional/south, -/turf/open/floor/mineral/plastitanium, +/obj/structure/toilet{ + dir = 4 + }, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/east, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/showroomfloor, /area/shuttle/sbc_starfury) "zI" = ( /obj/effect/turf_decal/stripes/line{ @@ -4356,6 +4416,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) +"zW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_starfury) "Ag" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -4481,8 +4550,22 @@ /obj/docking_port/stationary/starfury_fighter/fighter_three{ dir = 2 }, -/turf/template_noop, -/area/template_noop) +/turf/template_noop, +/area/template_noop) +"BZ" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/gun/ballistic/revolver/syndicate{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/gun/ballistic/revolver/syndicate{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "Cl" = ( /obj/structure/window/reinforced/survival_pod/spawner/directional/east, /obj/effect/decal/cleanable/glass, @@ -4528,6 +4611,7 @@ /area/shuttle/sbc_starfury) "Dd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/shuttle/sbc_starfury) "Do" = ( @@ -4536,19 +4620,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/shuttle/sbc_starfury) -"Dy" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/cable, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/sbc_starfury) "Dz" = ( /obj/item/crowbar/red, /obj/structure/cable, @@ -4582,8 +4653,13 @@ /area/shuttle/sbc_starfury) "EB" = ( /obj/structure/table, -/obj/item/surgical_drapes, -/obj/item/razor, +/obj/item/surgical_drapes{ + pixel_y = 8 + }, +/obj/item/razor{ + pixel_x = 7; + pixel_y = 6 + }, /obj/machinery/button/door/directional/west{ id = "starfury_surgery_shutters"; name = "Privacy Shutters"; @@ -4686,7 +4762,6 @@ /turf/open/floor/plating/airless, /area/shuttle/sbc_starfury) "FA" = ( -/obj/structure/sign/warning/chem_diamond/directional/south, /obj/machinery/sleeper/syndie{ dir = 8; icon_state = "sleeper_s-open" @@ -4708,6 +4783,19 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) +"FI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/sign/warning/radiation/directional/north, +/obj/machinery/button/door/directional/east{ + id = "syndie_battlecruiser_sm"; + name = "engine shutters"; + req_access = list("syndicate") + }, +/turf/open/floor/engine, +/area/shuttle/sbc_starfury) "FO" = ( /obj/machinery/door/window/survival_pod/left/directional/north{ req_access = list("syndicate_leader"); @@ -4718,6 +4806,30 @@ }, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) +"FV" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/card/emag{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/card/emag, +/obj/item/card/emag{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/clothing/glasses/thermal{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/glasses/thermal, +/obj/item/clothing/glasses/thermal{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "Gm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -4749,6 +4861,12 @@ /obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) +"Gy" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_starfury) "Gz" = ( /obj/structure/cable, /mob/living/basic/bot/medbot{ @@ -4861,6 +4979,15 @@ }, /turf/open/floor/plating, /area/shuttle/sbc_starfury) +"IS" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/item/storage/belt/military, +/obj/item/ammo_box/magazine/m7mm, +/obj/item/gun/ballistic/automatic/l6_saw, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "Je" = ( /obj/effect/turf_decal/tile/bar/diagonal_centre, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4872,17 +4999,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, /area/shuttle/sbc_starfury) -"Jl" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/item/storage/belt/military, -/obj/item/ammo_box/magazine/sniper_rounds, -/obj/item/gun/ballistic/rifle/sniper_rifle/syndicate, -/obj/effect/mapping_helpers/airalarm/syndicate_access, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) "Jm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4912,30 +5028,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/shuttle/sbc_starfury) -"JL" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/item/card/emag{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/card/emag, -/obj/item/card/emag{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/clothing/glasses/thermal{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/glasses/thermal{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/pod/light, -/area/shuttle/sbc_starfury) "JP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -4969,18 +5061,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/shuttle/sbc_starfury) -"KP" = ( -/obj/machinery/light/directional/south, -/obj/machinery/turretid{ - ailock = 1; - desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; - icon_state = "control_stun"; - name = "Ship Turret Control"; - pixel_y = -28; - req_access = list("syndicate") - }, -/turf/open/floor/mineral/plastitanium, -/area/shuttle/sbc_starfury) "KR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -5000,10 +5080,14 @@ /obj/structure/table, /obj/item/storage/medkit/regular{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/storage/medkit/brute{ + pixel_y = 8 + }, +/obj/item/mod/module/energy_shield{ + pixel_y = 8 }, -/obj/item/storage/medkit/brute, -/obj/item/mod/module/energy_shield, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 8 }, @@ -5031,6 +5115,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/warning/explosives/directional/north, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) "MC" = ( @@ -5111,6 +5196,14 @@ dir = 9 }, /area/shuttle/sbc_starfury) +"Oi" = ( +/obj/machinery/door/poddoor/preopen{ + id = "syndie_battlecruier_bridge_blast" + }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/obj/structure/cable, +/turf/open/floor/plating, +/area/shuttle/sbc_starfury) "Oo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, @@ -5121,7 +5214,6 @@ anchored = 1; dir = 1 }, -/obj/structure/sign/warning/electric_shock/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) @@ -5268,7 +5360,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/sign/warning/no_smoking/directional/east, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5282,9 +5373,7 @@ /area/shuttle/sbc_starfury) "Ri" = ( /obj/machinery/stasis, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = 28 - }, +/obj/machinery/defibrillator_mount/loaded/directional/north, /turf/open/floor/iron, /area/shuttle/sbc_starfury) "Rj" = ( @@ -5330,19 +5419,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/engine, /area/shuttle/sbc_starfury) -"RX" = ( -/obj/item/book/manual/wiki/barman_recipes, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = 10 - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/effect/turf_decal/siding/dark{ - dir = 1 - }, -/obj/effect/turf_decal/tile/bar, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "Sb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -5427,6 +5503,23 @@ }, /turf/open/floor/glass/reinforced, /area/shuttle/sbc_starfury) +"Tu" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 8 + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/sbc_starfury) "TI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/mineral/plastitanium, @@ -5472,11 +5565,15 @@ }, /turf/open/floor/iron, /area/shuttle/sbc_starfury) +"UP" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/sbc_starfury) "UU" = ( /obj/structure/table/reinforced, /obj/item/storage/medkit/regular{ pixel_x = 3; - pixel_y = 3 + pixel_y = 12 }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) @@ -5490,7 +5587,6 @@ /area/shuttle/sbc_starfury) "Vj" = ( /obj/structure/cable, -/obj/structure/sign/warning/explosives/directional/west, /obj/effect/turf_decal/siding/dark_red{ dir = 6 }, @@ -5523,6 +5619,17 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) +"VA" = ( +/obj/structure/rack{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/storage/belt/military, +/obj/item/ammo_box/magazine/sniper_rounds, +/obj/item/gun/ballistic/rifle/sniper_rifle/syndicate, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/turf/open/floor/pod/light, +/area/shuttle/sbc_starfury) "VE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5547,7 +5654,12 @@ /turf/open/floor/iron, /area/shuttle/sbc_starfury) "VX" = ( -/obj/item/kirbyplants/random, +/obj/machinery/turretid/directional/south{ + ailock = 1; + desc = "A specially designed set of turret controls. Looks to be covered in protective casing to prevent AI interfacing."; + name = "Ship Turret Control"; + req_access = list("syndicate") + }, /turf/open/floor/mineral/plastitanium, /area/shuttle/sbc_starfury) "Wc" = ( @@ -5603,17 +5715,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/side, /area/shuttle/sbc_starfury) -"WI" = ( -/obj/structure/closet/crate, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/inducer/syndicate, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "WV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -5743,6 +5844,17 @@ /obj/structure/cable, /turf/open/floor/pod/dark, /area/shuttle/sbc_starfury) +"YR" = ( +/obj/structure/closet/crate, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/inducer/syndicate, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_starfury) "Za" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5785,6 +5897,22 @@ /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) +"ZO" = ( +/obj/item/book/manual/wiki/barman_recipes{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/obj/machinery/computer/security/telescreen/entertainment/directional/west, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_starfury) "ZR" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -6049,7 +6177,7 @@ ce ae hd hD -RX +ZO iq iy ae @@ -6078,7 +6206,7 @@ aa aa aa ac -bx +Oi ae ah cH @@ -6114,7 +6242,7 @@ ae fz fK kx -ng +kx hf ei id @@ -6247,7 +6375,7 @@ aa aa ae ae -fz +zE fK xw gS @@ -6264,7 +6392,7 @@ aa aa aa ae -kN +xY ae MP aH @@ -6332,7 +6460,7 @@ ac aa ac ae -aH +jH kM aH aH @@ -6350,7 +6478,7 @@ aa aa aa ae -bx +Oi ae xr aH @@ -6430,7 +6558,7 @@ ri ay ay XI -dO +iD dV eR cO @@ -6469,7 +6597,7 @@ Jf ae kz kO -fE +eU ae ae Fc @@ -6490,7 +6618,7 @@ Ou Ou Ou vT -bx +Oi dq vk ay @@ -6558,7 +6686,7 @@ aa aa Ou vT -bx +Oi ne IM ae @@ -6621,12 +6749,12 @@ aa aa aa aa -ad -ad -ad -ad ae -by +oI +oI +oI +ae +ae Sb Yg ae @@ -6688,8 +6816,8 @@ aa (14,1,1) = {" aa aa -ad -ad +ae +ae aU bj eJ @@ -6703,7 +6831,7 @@ ay ag dY UB -fR +ox ec eB aH @@ -6724,7 +6852,7 @@ hB ST ec dV -gp +Gy oA ay hm @@ -6734,7 +6862,7 @@ zm iD iQ iZ -kt +xi MR kt kg @@ -6756,7 +6884,7 @@ aa (15,1,1) = {" aa aa -ad +oI ct aV aJ @@ -6801,15 +6929,15 @@ ae ae ae ae -ja +ae ae wd jv -ja +ae ae kG kU -zE +lk ae ae ae @@ -6824,10 +6952,10 @@ ac (16,1,1) = {" aa aa -ad +oI al Dd -xi +cH bB bR bR @@ -6870,7 +6998,7 @@ it iE KK ae -qF +th PP qF nr @@ -6891,8 +7019,8 @@ mO "} (17,1,1) = {" aa -ad -ad +ae +ae UU az aK @@ -6947,7 +7075,7 @@ kF JP lm ae -aS +ng aS aS ae @@ -6959,7 +7087,7 @@ ir "} (18,1,1) = {" aa -ad +oI pm an aA @@ -7003,7 +7131,7 @@ hq hP ae iu -iG +xP nz ae Qf @@ -7027,7 +7155,7 @@ ir "} (19,1,1) = {" aa -ad +oI wo ao aB @@ -7035,7 +7163,7 @@ aM bE uq cB -KP +UP ae as bp @@ -7095,7 +7223,7 @@ ae "} (20,1,1) = {" aa -ad +oI bo ap aC @@ -7163,8 +7291,8 @@ mO "} (21,1,1) = {" aa -ad -ad +ae +ae aq aD aO @@ -7232,10 +7360,10 @@ ir (22,1,1) = {" aa aa -ad +oI ar vr -xO +cF bH bU bU @@ -7269,7 +7397,7 @@ ST ae ae gB -Dy +Tu gY Fl hS @@ -7278,7 +7406,7 @@ iv LH ae ae -br +FI br tA RK @@ -7300,7 +7428,7 @@ ir (23,1,1) = {" aa aa -ad +oI bC aE aP @@ -7345,15 +7473,15 @@ ae xG ae ae -ja +ae ae jN Xg -ja ae -xH +ae +ja kU -jH +Sk ae ae ae @@ -7368,8 +7496,8 @@ ac (24,1,1) = {" aa aa -ad -ad +ae +ae be bt FC @@ -7404,7 +7532,7 @@ hB ST ec fF -gC +zW hs gO hv @@ -7414,7 +7542,7 @@ Rv iI kb jb -kH +xO yM Lb kj @@ -7437,12 +7565,12 @@ aa aa aa aa -ad -ad -ad -ad ae -by +oI +oI +oI +ae +ae po ES ae @@ -7510,7 +7638,7 @@ aa aa aa vT -bx +Oi ck Zm ae @@ -7578,7 +7706,7 @@ Ou Ou Ou vT -bx +Oi bV Wv ay @@ -7609,12 +7737,12 @@ nD Qw ae ae -by +ae ae ZK hX ae -by +ae ae ae xG @@ -7654,7 +7782,7 @@ xD ay ay PF -dS +iD AJ dd ik @@ -7710,7 +7838,7 @@ aa aa aa ae -bx +Oi ae xr aH @@ -7748,14 +7876,14 @@ ae ae ae Yi -hZ -hZ +qH +qH ec mQ ae nR Xr -WI +YR ae ko ae @@ -7819,7 +7947,7 @@ sB ec ec ec -JL +FV ae XN qf @@ -7828,7 +7956,7 @@ ac aa ac ae -aH +jH Pb aH aH @@ -7884,10 +8012,10 @@ gF gR Ay sB -ia -io +fX +BZ ec -iN +tC ae nR jB @@ -7896,7 +8024,7 @@ aa aa aa ae -lf +tb ae fB aH @@ -7923,7 +8051,7 @@ ae ae Jm da -bx +Oi aa aa aa @@ -7982,7 +8110,7 @@ aa aa aa ac -bx +Oi ae BN vk @@ -8021,8 +8149,8 @@ UH ae hC ib -Jl -ix +VA +IS fj ae ae diff --git a/_maps/templates/hilbertshotel.dmm b/_maps/templates/hilbertshotel.dmm index 8c425aa9c13db..c2e75b6533175 100644 --- a/_maps/templates/hilbertshotel.dmm +++ b/_maps/templates/hilbertshotel.dmm @@ -1,501 +1,563 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/open/space/bluespace, -/area/misc/hilbertshotel) -"b" = ( -/turf/closed/indestructible/hotelwall, -/area/misc/hilbertshotel) -"c" = ( -/obj/machinery/jukebox{ - req_access = null - }, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"d" = ( -/turf/open/indestructible/hotelwood, +"ae" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/table/reinforced, +/obj/item/soap/deluxe, +/turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"e" = ( -/obj/structure/table/wood, -/turf/open/indestructible/hotelwood, +"ag" = ( +/turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"f" = ( -/obj/structure/table/wood, -/obj/structure/showcase/machinery/tv, -/obj/machinery/light/small/directional/north, -/turf/open/indestructible/hotelwood, +"aI" = ( +/obj/item/bikehorn/rubberducky, +/obj/machinery/light/small/directional/east, +/turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"g" = ( -/obj/structure/dresser, +"aP" = ( +/obj/structure/mineral_door/paperframe, +/obj/effect/turf_decal/siding/wood, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"h" = ( +"bz" = ( /obj/structure/table/wood/fancy, +/obj/structure/sign/calendar/directional/north, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"i" = ( +"bT" = ( /obj/structure/table/wood/fancy, -/obj/structure/mirror/directional/north, +/obj/item/flashlight/lamp/green{ + pixel_y = 3 + }, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"j" = ( -/obj/structure/table/wood/fancy, -/obj/item/flashlight/lamp/green, -/turf/open/indestructible/hotelwood, +"cW" = ( +/turf/open/space/bluespace, /area/misc/hilbertshotel) -"k" = ( -/obj/structure/chair/comfy/brown{ +"de" = ( +/obj/machinery/light/small/directional/west, +/turf/open/indestructible/hoteltile, +/area/misc/hilbertshotel) +"dP" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/indestructible/hoteltile, +/area/misc/hilbertshotel) +"dW" = ( +/obj/structure/railing/corner/end/flip{ dir = 4 }, -/obj/machinery/light/small/directional/west, -/turf/open/indestructible/hotelwood, +/turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"l" = ( -/obj/structure/table/wood/poker, +"ek" = ( +/obj/structure/chair/stool/bar/directional/south, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"m" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, +"ez" = ( +/turf/closed/indestructible/hotelwall, +/area/misc/hilbertshotel) +"fD" = ( +/obj/machinery/light/small/directional/west, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"n" = ( -/obj/effect/spawner/xmastree, +"gx" = ( +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) +"hQ" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small/directional/south, +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) +"jf" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) +"lb" = ( +/obj/structure/bed/double, +/obj/effect/spawner/random/bedsheet/any/double, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"o" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 +"li" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/food_or_drink/three_course_meal{ + pixel_y = 8 }, +/obj/effect/turf_decal/siding/wood, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"p" = ( +"ol" = ( +/obj/machinery/light_switch/directional/west, +/turf/open/indestructible/hotelwood, +/area/misc/hilbertshotel) +"rq" = ( /obj/structure/mineral_door/wood, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"q" = ( -/obj/structure/bed, -/obj/effect/spawner/random/bedsheet/any, +"sb" = ( +/obj/structure/table/wood/fancy, +/obj/machinery/light/small/directional/north, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"r" = ( -/obj/structure/closet/cabinet{ - anchored = 1 +"tb" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 }, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"s" = ( -/obj/structure/table/wood/fancy, -/obj/item/food/grown/poppy, +"tk" = ( +/obj/effect/spawner/xmastree, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"t" = ( -/obj/machinery/light/small/directional/west, +"ub" = ( +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"u" = ( -/obj/structure/mineral_door/paperframe, +"ue" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"v" = ( -/obj/structure/extinguisher_cabinet/directional/east, +"vT" = ( +/obj/machinery/light_switch/directional/east, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"w" = ( -/turf/open/indestructible/hoteltile, +"zo" = ( +/obj/machinery/door/window/half/left/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"x" = ( -/obj/structure/curtain, +"Av" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"y" = ( -/obj/machinery/door/window/left/directional/north, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"z" = ( -/obj/structure/table/reinforced, +"Bb" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/light/small/directional/east, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"A" = ( -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, +"Ca" = ( +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"B" = ( -/obj/structure/chair/stool/bar/directional/south, +"Dp" = ( +/obj/structure/table/reinforced, +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) +"Eg" = ( +/obj/item/kirbyplants/random/fullysynthetic, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"C" = ( -/obj/machinery/shower/directional/west, -/turf/open/indestructible/hoteltile, +"Fq" = ( +/obj/machinery/smartfridge/food, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) -"D" = ( -/obj/machinery/light_switch/directional/east, +"Fx" = ( +/obj/structure/table/wood/fancy, +/obj/item/food/grown/poppy{ + pixel_y = 8 + }, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"E" = ( -/obj/structure/table/reinforced, -/obj/item/soap/deluxe, +"Hh" = ( +/obj/structure/curtain, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"F" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/obj/structure/window/reinforced/tinted/spawner/directional/north, +"HF" = ( +/obj/structure/table/reinforced, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"G" = ( -/obj/machinery/light_switch/directional/west, +"IV" = ( +/obj/machinery/light/small/directional/south, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"H" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave, -/turf/open/indestructible/hotelwood, +"Jj" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/sign/clock/directional/north, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) -"I" = ( -/turf/closed/indestructible/hoteldoor, +"Jp" = ( +/obj/structure/table/wood/fancy, +/obj/structure/mirror/directional/north, +/turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"J" = ( -/obj/machinery/light/small/directional/south, +"Kd" = ( +/obj/structure/dresser, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"K" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/light/small/directional/east, +"LG" = ( +/obj/structure/table/wood, +/obj/structure/showcase/machinery/tv, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"L" = ( -/obj/machinery/light/small/directional/north, -/turf/open/indestructible/hoteltile, +"Me" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/item/phone{ + pixel_y = 8 + }, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) -"M" = ( -/obj/structure/table/reinforced, -/obj/machinery/light/small/directional/east, +"Ms" = ( +/obj/structure/closet/cabinet{ + anchored = 1 + }, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"N" = ( -/obj/structure/table/reinforced, -/obj/item/soap/deluxe, +"MN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/chair/office/light{ + dir = 4 + }, +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) +"NV" = ( /obj/machinery/light/small/directional/west, -/turf/open/indestructible/hoteltile, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) -"O" = ( -/obj/item/bikehorn/rubberducky, -/obj/machinery/light/small/directional/east, -/turf/open/indestructible/hoteltile, +"NX" = ( +/obj/structure/table/wood, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) -"P" = ( -/obj/machinery/light/small/directional/south, -/turf/open/indestructible/hoteltile, +"Oa" = ( +/turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"Q" = ( -/obj/machinery/smartfridge/food, +"Os" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/wood, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"R" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/spawner/directional/north, -/obj/structure/window/reinforced/tinted/spawner/directional/west, +"OW" = ( +/obj/machinery/shower/directional/west, +/obj/item/soap/deluxe, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) -"S" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/turf/open/indestructible/hoteltile, +"QN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) -"T" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/obj/structure/window/reinforced/tinted/spawner/directional/south, -/turf/open/indestructible/hoteltile, +"RT" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 1 + }, +/turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"U" = ( -/obj/structure/table/reinforced, -/obj/structure/sink/kitchen/directional/north, -/obj/machinery/light/small/directional/south, +"SO" = ( +/obj/structure/table/wood/poker, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"V" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/food_or_drink/three_course_meal, +"Tb" = ( +/obj/machinery/jukebox/no_access, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"Z" = ( -/obj/structure/table/wood/fancy, +"VQ" = ( +/obj/structure/table/wood, /obj/machinery/light/small/directional/north, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) +"Yi" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sink/kitchen/directional/west, +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) +"YA" = ( +/turf/closed/indestructible/hoteldoor, +/area/misc/hilbertshotel) +"YU" = ( +/obj/structure/rack, +/turf/open/indestructible/hoteltile, +/area/misc/hilbertshotel) +"ZI" = ( +/obj/machinery/light/small/directional/south, +/turf/open/indestructible/hoteltile, +/area/misc/hilbertshotel) +"ZV" = ( +/obj/machinery/shower/directional/west, +/turf/open/indestructible/hoteltile, +/area/misc/hilbertshotel) (1,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW "} (2,1,1) = {" -a -b -b -b -b -b -I -b -b -b -b -b -b -b -a +cW +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +cW "} (3,1,1) = {" -a -b -d -d -k -d -d -t -d -y -t -H -z -b -a +cW +YA +Oa +Oa +fD +Oa +Oa +fD +Oa +zo +NV +jf +Dp +ez +cW "} (4,1,1) = {" -a -b -e -d -l -o -d -d -B -z -d -d -z -b -a +cW +ez +Eg +Oa +Oa +Oa +Oa +Oa +ek +Os +gx +gx +Dp +ez +cW "} (5,1,1) = {" -a -b -f -d -l -o -d -d -B -V -d -d -U -b -a +cW +ez +VQ +Oa +SO +tb +Oa +Oa +ek +li +gx +gx +hQ +ez +cW "} (6,1,1) = {" -a -b -e -d -l -o -d -d -B -z -d -d -z -b -a +cW +ez +LG +Oa +SO +RT +Oa +Oa +ek +Os +gx +gx +Dp +ez +cW "} (7,1,1) = {" -a -b -c -d -m -d -D -K -v -z -M -Q -z -b -a +cW +ez +Tb +Oa +ue +Oa +vT +Bb +ub +Os +Yi +gx +Fq +ez +cW "} (8,1,1) = {" -a -b -b -b -b -p -b -b -b -b -b -b -b -b -a +cW +ez +ez +ez +ez +rq +ez +ez +ez +ez +ez +ez +ez +ez +cW "} (9,1,1) = {" -a -b -g -d -t -d -G -u -w -A -N -A -E -b -a +cW +ez +Kd +Oa +fD +Oa +ol +aP +ag +Av +ez +de +ag +ez +cW "} (10,1,1) = {" -a -b -h -d -d -d -d -b -w -w -w -w -w -b -a +cW +ez +bz +Oa +Oa +Oa +Oa +ez +Ca +ag +Hh +ag +ZI +ez +cW "} (11,1,1) = {" -a -b -i -d -n -d -J -b -L -w -R -w -P -b -a +cW +ez +Jp +Oa +tk +Oa +IV +ez +ae +HF +ez +ag +YU +ez +cW "} (12,1,1) = {" -a -b -Z -d -d -d -r -b -x -F -S -T -x -b -a +cW +ez +sb +Oa +Oa +Oa +Ms +ez +ez +ez +ez +Hh +ez +ez +cW "} (13,1,1) = {" -a -b -d -d -d -d -d -b -w -w -w -w -w -b -a +cW +ez +Jj +MN +QN +Oa +Fx +ez +dW +ag +ag +ag +ag +ez +cW "} (14,1,1) = {" -a -b -d -j -q -q -s -b -w -C -O -C -w -b -a +cW +ez +NX +NX +Me +lb +bT +ez +dP +OW +aI +ZV +ag +ez +cW "} (15,1,1) = {" -a -b -b -b -b -b -b -b -b -b -b -b -b -b -a +cW +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +cW "} (16,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -a -a -a +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW +cW "} diff --git a/_maps/templates/hilbertshotelempty.dmm b/_maps/templates/hilbertshotelempty.dmm index 6ea4bafc5c2c9..9fd6bedfe9978 100644 --- a/_maps/templates/hilbertshotelempty.dmm +++ b/_maps/templates/hilbertshotelempty.dmm @@ -14,6 +14,9 @@ "e" = ( /turf/closed/indestructible/hoteldoor, /area/misc/hilbertshotel) +"Q" = ( +/turf/open/indestructible/dark, +/area/misc/hilbertshotel) (1,1,1) = {" a @@ -39,7 +42,7 @@ b b b b -e +b b b b @@ -51,10 +54,7 @@ a "} (3,1,1) = {" a -b -c -c -c +e c c c @@ -63,6 +63,9 @@ c c c c +Q +Q +Q b a "} @@ -77,9 +80,9 @@ c c c c -c -c -c +Q +Q +Q b a "} @@ -94,9 +97,9 @@ c c c c -c -c -c +Q +Q +Q b a "} @@ -111,9 +114,9 @@ c c c c -c -c -c +Q +Q +Q b a "} @@ -128,9 +131,9 @@ c c c c -c -c -c +Q +Q +Q b a "} @@ -162,7 +165,7 @@ c c d d -d +b d d b @@ -196,7 +199,7 @@ c b d d -d +b d d b @@ -211,20 +214,20 @@ c c c b +b +b +b d -d -d -d -d +b b a "} (13,1,1) = {" a b -c -c -c +Q +Q +Q c c b @@ -239,9 +242,9 @@ a (14,1,1) = {" a b -c -c -c +Q +Q +Q c c b diff --git a/_maps/templates/hilbertshotellore.dmm b/_maps/templates/hilbertshotellore.dmm index fe77ef9cc3d54..639ea86e704b6 100644 --- a/_maps/templates/hilbertshotellore.dmm +++ b/_maps/templates/hilbertshotellore.dmm @@ -9,84 +9,64 @@ /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "ae" = ( -/obj/structure/table/wood, +/obj/item/kirbyplants/random/fullysynthetic, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "af" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/structure/showcase/machinery/tv/broken, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"ag" = ( -/obj/structure/dresser, -/turf/open/indestructible/hotelwood, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "ah" = ( /obj/structure/table/wood/fancy, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"ai" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"aj" = ( -/obj/structure/table/wood/fancy, -/obj/item/flashlight/lamp/green, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) "ak" = ( -/obj/structure/chair/comfy/brown{ - dir = 4 - }, /obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "al" = ( -/obj/structure/table/wood/poker, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"am" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/indestructible/hotelwood, +/obj/structure/table/reinforced, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "an" = ( /obj/machinery/light/small/directional/west, -/turf/open/indestructible/hotelwood, +/turf/open/space/bluespace, /area/misc/hilbertshotel) "ap" = ( -/turf/open/space/bluespace{ - density = 1; - can_atmos_pass = 0 - }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "aq" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 - }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "ar" = ( /obj/structure/mineral_door/wood, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "as" = ( /turf/closed/indestructible/hoteldoor, /area/misc/hilbertshotel) "at" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/indestructible/hotelwood, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "au" = ( /obj/machinery/light_switch/directional/west, +/obj/effect/decal/cleanable/dirt, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "av" = ( /obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aw" = ( @@ -94,111 +74,105 @@ anchored = 1 }, /obj/item/mod/module/eradication_lock, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "ay" = ( /obj/structure/closet/crate/bin, /obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "az" = ( /obj/structure/mineral_door/paperframe, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aA" = ( /obj/structure/chair/stool/bar/directional/south, +/obj/effect/decal/cleanable/dirt, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aB" = ( /obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aC" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "aD" = ( /obj/machinery/light/small/directional/north, -/turf/open/indestructible/hoteltile, -/area/misc/hilbertshotel) -"aE" = ( -/obj/structure/curtain, +/obj/structure/table/reinforced, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "aF" = ( -/obj/machinery/door/window/left/directional/north, +/obj/machinery/door/window/half/left/directional/south, +/obj/effect/turf_decal/siding/wood, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aG" = ( /obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/wood, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aH" = ( /obj/structure/table/reinforced, -/obj/item/pen, +/obj/effect/turf_decal/siding/wood, +/obj/item/paper/crumpled/ruins/hotel_note{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aI" = ( -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/turf/open/indestructible/hoteltile, -/area/misc/hilbertshotel) -"aK" = ( -/obj/machinery/shower/directional/west, -/turf/open/indestructible/hoteltile, +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/sign/clock/directional/north, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "aL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"aM" = ( -/obj/structure/table/wood/poker, -/obj/effect/decal/cleanable/dirt, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) "aP" = ( -/obj/item/bikehorn/rubberducky, /obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "aQ" = ( /obj/structure/table/reinforced, /obj/machinery/microwave, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"aR" = ( -/obj/machinery/smartfridge/food, -/turf/open/indestructible/hotelwood, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "aT" = ( /obj/structure/table/reinforced, -/obj/structure/sink/kitchen/directional/north, /obj/machinery/light/small/directional/south, -/turf/open/indestructible/hotelwood, -/area/misc/hilbertshotel) -"aU" = ( -/obj/structure/bed, -/obj/effect/spawner/random/bedsheet/any, -/obj/effect/decal/cleanable/dirt, -/turf/open/indestructible/hotelwood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "aV" = ( -/obj/machinery/light/small/directional/south, -/turf/open/indestructible/hoteltile, -/area/misc/hilbertshotel) -"aW" = ( -/obj/machinery/jukebox{ - req_access = null - }, -/turf/open/indestructible/hotelwood, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "aX" = ( -/obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch/directional/east, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aY" = ( /obj/structure/chair/stool/bar/directional/south, -/obj/effect/decal/cleanable/vomit, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/vomit/old, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "aZ" = ( @@ -206,19 +180,14 @@ /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "ba" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/indestructible/hoteltile, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "bb" = ( -/obj/structure/mirror/directional/west, -/obj/structure/sink/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/indestructible/hoteltile, -/area/misc/hilbertshotel) -"bd" = ( -/obj/machinery/shower/directional/west, +/obj/structure/toilet{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "be" = ( @@ -227,57 +196,50 @@ /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "bf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/indestructible/hotelwood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "bg" = ( -/obj/structure/table/reinforced, /obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/indestructible/hotelwood, +/obj/structure/sink/kitchen/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "bh" = ( -/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, -/obj/item/soap/homemade{ - name = "used soap" - }, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "bi" = ( -/obj/effect/decal/cleanable/vomit, -/turf/open/indestructible/hoteltile, -/area/misc/hilbertshotel) -"bj" = ( -/obj/structure/table/reinforced, -/obj/item/soap/homemade{ - name = "used soap" - }, -/turf/open/indestructible/hoteltile, +/obj/structure/table/wood, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "bk" = ( /obj/structure/table/reinforced, -/obj/item/analyzer/hilbertsanalyzer, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "bl" = ( /obj/structure/table/reinforced, -/obj/item/paper/crumpled/ruins/hotel_note, +/obj/effect/turf_decal/siding/wood, +/obj/item/analyzer/hilbertsanalyzer{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) -"ej" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/turf/open/indestructible/hoteltile, -/area/misc/hilbertshotel) "tf" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/obj/structure/window/reinforced/tinted/spawner/directional/south, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hoteltile, /area/misc/hilbertshotel) "Gk" = ( /obj/structure/table/wood/fancy, /obj/structure/mirror/broken/directional/north, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "Mn" = ( @@ -286,17 +248,13 @@ /turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) "XX" = ( -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/obj/structure/window/reinforced/tinted/spawner/directional/north, -/turf/open/indestructible/hoteltile, +/obj/machinery/smartfridge/food, +/turf/open/indestructible/dark, /area/misc/hilbertshotel) "Yw" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/spawner/directional/north, -/obj/structure/window/reinforced/tinted/spawner/directional/west, -/turf/open/indestructible/hoteltile, +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/indestructible/hotelwood, /area/misc/hilbertshotel) (1,1,1) = {" @@ -320,13 +278,13 @@ aa aa ab ab -ap ab ab -as ab ab -ap +ab +aa +ab ab ab ab @@ -335,95 +293,95 @@ aa "} (3,1,1) = {" aa -ab -at +as aL +aq ak -ad aL +aq an -ap +aa aF -be +aV aQ -ap +aa ab aa "} (4,1,1) = {" aa -ap +ab ae -ad -al aq -ad -ad +aa +aq +aq +aa aA aH -ad -aL -aG -ap +bf +bf +al +aa aa "} (5,1,1) = {" aa ab -af -ad -ai +aa +aa +aa +aa aq -aL -ad +aa aY bl -ad -aL +ba +aa aT ab aa "} (6,1,1) = {" aa -ab -ae -ap -aM -aq -ad +aa +aa +aa +aa +aa ad -aA +aq +Yw bk bf -bf -ap -ap +ba +aa +aa aa "} (7,1,1) = {" aa -ap -aW -aL -am +ab +aa +aa +aa ad aX ay aB aG bg -aR -aG +bf +XX ab aa "} (8,1,1) = {" aa ab -ap ab -ap +ab +ab ar ab ab @@ -437,122 +395,122 @@ aa "} (9,1,1) = {" aa -ab -ag -ad -an -ad +aa +aa +aq +be +aq au az -aC +ap bb +ab bh -aI -bj ap +ab aa "} (10,1,1) = {" aa ab -ah -ad -aL +aa +aa +aq +aq aL -ap ab -ap -aZ -aC +af aZ +tf ap -ab +ap +aa aa "} (11,1,1) = {" aa ab Gk -ad -ad aL +aq +aq av -ap +ab aD aC -Yw -bi -aV ab +aZ +aa +aa aa "} (12,1,1) = {" aa ab Mn -ap +aa aL -ad +aq aw ab -aE -XX -ej +ab +ab +ab tf -aE +ab ab aa "} (13,1,1) = {" aa -ap -ap -ad -aL -ap -ad ab -aC -aC -aZ +aI +aa +at +aa +ah +ab +aa aZ -aC +ap +ap +aa ab aa "} (14,1,1) = {" aa ab -aL -aj -ap -aU -ah -ab -ba -bd +bi +aa +aa +aa +aa +aa +aa +aa aP -aK -ap -ab +aa +aa +aa aa "} (15,1,1) = {" aa ab -ap -ab -ap -ab -ab -ab -ab ab ab +aa +aa +aa +aa +aa +aa ab -ap ab aa +aa +aa "} (16,1,1) = {" aa diff --git a/_maps/templates/holodeck_animeschool.dmm b/_maps/templates/holodeck_animeschool.dmm index 6b5afca430c1d..7503f7bec9441 100644 --- a/_maps/templates/holodeck_animeschool.dmm +++ b/_maps/templates/holodeck_animeschool.dmm @@ -10,34 +10,58 @@ /area/template_noop) "n" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, -/obj/item/clothing/under/costume/schoolgirl, -/obj/item/toy/katana, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/item/clothing/under/costume/schoolgirl{ + pixel_y = 8 + }, +/obj/item/toy/katana{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "s" = ( /obj/structure/table/wood, -/obj/item/toy/crayon/white, +/obj/item/toy/crayon/white{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "x" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, -/obj/item/clothing/under/costume/schoolgirl/orange, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/item/clothing/under/costume/schoolgirl/orange{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "E" = ( /obj/structure/table/wood, -/obj/item/food/grown/apple, +/obj/item/food/grown/apple{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "H" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, -/obj/item/clothing/under/costume/schoolgirl, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/item/clothing/under/costume/schoolgirl{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "R" = ( @@ -48,22 +72,38 @@ /area/template_noop) "S" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, -/obj/item/clothing/under/costume/schoolgirl/green, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/item/clothing/under/costume/schoolgirl/green{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "T" = ( /obj/structure/table, -/obj/item/paper, -/obj/item/pen, -/obj/item/clothing/under/costume/schoolgirl/red, +/obj/item/paper{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, +/obj/item/clothing/under/costume/schoolgirl/red{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) "Y" = ( /obj/structure/table/wood, -/obj/item/folder, -/obj/item/melee/baton/telescopic, +/obj/item/folder{ + pixel_y = 8 + }, +/obj/item/melee/baton/telescopic{ + pixel_y = 8 + }, /turf/open/floor/holofloor, /area/template_noop) diff --git a/_maps/templates/holodeck_card_battle.dmm b/_maps/templates/holodeck_card_battle.dmm index 60c7df8c047d8..1ef0a1e84bd11 100644 --- a/_maps/templates/holodeck_card_battle.dmm +++ b/_maps/templates/holodeck_card_battle.dmm @@ -34,7 +34,7 @@ /turf/open/floor/holofloor/dark, /area/template_noop) "dS" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/machinery/trading_card_holder{ pixel_y = 5; pixel_x = 8; @@ -50,7 +50,7 @@ /area/template_noop) "hk" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/machinery/trading_card_holder/red{ pixel_y = 9; pixel_x = 8; @@ -64,7 +64,7 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "iq" = ( -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/turf_decal/trimline/blue/line{ dir = 4 }, @@ -84,7 +84,7 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "iB" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/machinery/trading_card_holder{ pixel_y = 8 }, @@ -124,7 +124,7 @@ /turf/open/floor/holofloor/white, /area/template_noop) "kT" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/machinery/trading_card_holder{ pixel_y = 5; pixel_x = -8; @@ -194,7 +194,7 @@ /turf/open/floor/holofloor/white, /area/template_noop) "pc" = ( -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/west, /obj/effect/turf_decal/trimline/dark_red/line{ dir = 10 }, @@ -262,7 +262,7 @@ /turf/open/floor/holofloor/white, /area/template_noop) "vu" = ( -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/west, /obj/effect/turf_decal/trimline/blue/line{ dir = 4 }, @@ -275,7 +275,7 @@ /turf/open/floor/holofloor/hyperspace, /area/template_noop) "wk" = ( -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/turf_decal/trimline/dark_red/end{ dir = 1 }, @@ -295,7 +295,7 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "xi" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/effect/turf_decal/trimline/blue/line{ dir = 4 }, @@ -314,7 +314,7 @@ /area/template_noop) "Aj" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/machinery/trading_card_holder/red{ pixel_y = 9; pixel_x = -8; @@ -373,7 +373,7 @@ /turf/open/floor/holofloor/dark, /area/template_noop) "IK" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/effect/turf_decal/trimline/blue/line{ dir = 4 }, @@ -401,7 +401,7 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "NW" = ( -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/effect/turf_decal/trimline/blue/line{ dir = 4 }, @@ -414,7 +414,7 @@ /turf/open/floor/holofloor/white, /area/template_noop) "Op" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/trimline/dark_red/line{ dir = 5 }, @@ -424,7 +424,7 @@ /turf/open/floor/holofloor/dark, /area/template_noop) "OG" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/trimline/dark_red/line{ dir = 8 }, @@ -435,7 +435,7 @@ /area/template_noop) "Sn" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/machinery/trading_card_holder/red{ pixel_y = 6 }, @@ -478,7 +478,7 @@ /turf/open/floor/holofloor/stairs/medium, /area/template_noop) "Wa" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/trimline/dark_red/end, /obj/effect/turf_decal/siding/dark{ dir = 8 @@ -546,7 +546,7 @@ /turf/open/floor/holofloor/white, /area/template_noop) "YY" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/trimline/dark_red/line{ dir = 4 }, diff --git a/_maps/templates/holodeck_chapelcourt.dmm b/_maps/templates/holodeck_chapelcourt.dmm index 6f87e03bc162a..acee473aaa9c0 100644 --- a/_maps/templates/holodeck_chapelcourt.dmm +++ b/_maps/templates/holodeck_chapelcourt.dmm @@ -1,56 +1,18 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/closet/secure_closet/courtroom, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"ab" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/turf/open/floor/holofloor/dark, -/area/template_noop) "ac" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/holofloor/chapel/bottom_left, /area/template_noop) -"ad" = ( -/obj/structure/table/wood/fancy, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/head/chaplain/nun_hood, -/obj/item/clothing/suit/chaplainsuit/holidaypriest, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) "ae" = ( /obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/pen/red, +/obj/item/folder/blue{ + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -62,27 +24,14 @@ "ag" = ( /turf/open/floor/holofloor/chapel/top_left, /area/template_noop) -"ah" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/turf/open/floor/holofloor/dark, -/area/template_noop) "ai" = ( /turf/open/floor/holofloor/chapel/bottom_right, /area/template_noop) "aj" = ( /obj/structure/table/wood, -/obj/item/hand_labeler, +/obj/item/hand_labeler{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -94,157 +43,44 @@ }, /turf/open/floor/holofloor/chapel/top_right, /area/template_noop) -"al" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/pen/red, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"am" = ( -/obj/item/clothing/head/helmet/chaplain/witchunter_hat, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood/fancy, -/turf/open/floor/holofloor/dark, -/area/template_noop) "an" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/holofloor/dark, /area/template_noop) -"ao" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/storage/fancy/candle_box, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"ap" = ( +"at" = ( /obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aq" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/item/food/grown/harebell{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/item/food/grown/harebell{ + pixel_y = 8 }, -/obj/structure/table/wood, -/obj/item/folder/red, -/obj/item/pen/red, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"ar" = ( -/obj/item/gavelblock, -/obj/item/gavelhammer, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/item/food/grown/harebell{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"as" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/item/food/grown/harebell{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/item/food/grown/harebell{ + pixel_y = 8 }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"at" = ( -/obj/structure/table/wood, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, -/obj/item/food/grown/harebell, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, /turf/open/floor/holofloor/dark, /area/template_noop) -"au" = ( -/obj/structure/table/wood/fancy, -/obj/item/book/bible, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) "av" = ( /obj/structure/table/wood, -/obj/item/folder/red, -/obj/item/pen/red, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aw" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"ax" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/item/folder/red{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/item/pen/red{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"ay" = ( -/obj/item/toy/figure/chaplain, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood/fancy, /turf/open/floor/holofloor/dark, /area/template_noop) "az" = ( @@ -259,7 +95,9 @@ /area/template_noop) "aB" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -273,7 +111,9 @@ /area/template_noop) "aD" = ( /obj/structure/table/wood, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, @@ -285,54 +125,24 @@ }, /turf/open/floor/holofloor/chapel/bottom_right, /area/template_noop) -"aF" = ( -/obj/item/clothing/suit/costume/judgerobe, -/obj/item/clothing/head/costume/powdered_wig, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood/fancy, -/turf/open/floor/holofloor/dark, -/area/template_noop) "aG" = ( /obj/structure/table/wood, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/item/food/grown/poppy, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 +/obj/item/food/grown/poppy{ + pixel_y = 8 }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aH" = ( -/obj/structure/table/wood/fancy, -/obj/item/book/manual/wiki/security_space_law, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/item/food/grown/poppy{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/item/food/grown/poppy{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/item/food/grown/poppy{ + pixel_y = 8 }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aI" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/item/food/grown/poppy{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, /turf/open/floor/holofloor/dark, @@ -346,45 +156,12 @@ "aK" = ( /turf/open/floor/holofloor/chapel/top_right, /area/template_noop) -"aL" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) "aM" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, /turf/open/floor/holofloor/dark, /area/template_noop) -"aN" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aO" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/holofloor/dark, -/area/template_noop) "aP" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, @@ -397,36 +174,12 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/holofloor/dark, /area/template_noop) -"aS" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/holofloor/dark, -/area/template_noop) "aT" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/holofloor/chapel/top_left, /area/template_noop) -"aU" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/hand_labeler, -/turf/open/floor/holofloor/dark, -/area/template_noop) "aV" = ( /obj/structure/chair{ dir = 1 @@ -436,34 +189,13 @@ }, /turf/open/floor/holofloor/dark, /area/template_noop) -"aW" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aX" = ( -/obj/item/clothing/suit/chaplainsuit/bishoprobe, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"aY" = ( +/obj/item/gavelblock{ + pixel_y = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/item/gavelhammer{ + pixel_y = 8 }, -/obj/structure/table/wood/fancy, -/turf/open/floor/holofloor/dark, -/area/template_noop) -"aY" = ( -/obj/item/gavelblock, -/obj/item/gavelhammer, /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/holofloor/dark, @@ -475,46 +207,66 @@ /turf/open/floor/holofloor/dark, /area/template_noop) "fL" = ( -/obj/item/clothing/suit/costume/judgerobe, -/obj/item/clothing/head/costume/powdered_wig, +/obj/item/clothing/suit/costume/judgerobe{ + pixel_y = 8 + }, +/obj/item/clothing/head/costume/powdered_wig{ + pixel_y = 8 + }, /obj/structure/table/wood/fancy, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) "hg" = ( /obj/structure/table/wood/fancy, -/obj/item/book/manual/wiki/security_space_law, +/obj/item/book/manual/wiki/security_space_law{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) "hE" = ( -/obj/item/clothing/suit/chaplainsuit/bishoprobe, +/obj/item/clothing/suit/chaplainsuit/bishoprobe{ + pixel_y = 8 + }, /obj/structure/table/wood/fancy, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) "kv" = ( /obj/structure/table/wood/fancy, -/obj/item/book/bible, +/obj/item/book/bible{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) "oy" = ( -/obj/item/clothing/head/helmet/chaplain/witchunter_hat, +/obj/item/clothing/head/helmet/chaplain/witchunter_hat{ + pixel_y = 8 + }, /obj/structure/table/wood/fancy, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) "vi" = ( /obj/structure/table/wood/fancy, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/head/chaplain/nun_hood, -/obj/item/clothing/suit/chaplainsuit/holidaypriest, +/obj/item/clothing/suit/chaplainsuit/nun{ + pixel_y = 8 + }, +/obj/item/clothing/head/chaplain/nun_hood{ + pixel_y = 8 + }, +/obj/item/clothing/suit/chaplainsuit/holidaypriest{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) "FR" = ( -/obj/item/toy/figure/chaplain, +/obj/item/toy/figure/chaplain{ + pixel_y = 8 + }, /obj/structure/table/wood/fancy, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, diff --git a/_maps/templates/holodeck_firingrange.dmm b/_maps/templates/holodeck_firingrange.dmm index cb727801a052d..b7b9c974ab65f 100644 --- a/_maps/templates/holodeck_firingrange.dmm +++ b/_maps/templates/holodeck_firingrange.dmm @@ -23,7 +23,6 @@ /turf/open/floor/holofloor, /area/template_noop) "k" = ( -/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/holofloor{ icon_state = "white" @@ -45,13 +44,6 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/holofloor, /area/template_noop) -"t" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/holofloor{ - icon_state = "white" - }, -/area/template_noop) "y" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/holofloor{ @@ -70,9 +62,11 @@ /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/north, /obj/item/training_toolbox{ - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/training_toolbox{ + pixel_y = 8 }, -/obj/item/training_toolbox, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, @@ -87,7 +81,9 @@ /area/template_noop) "G" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -154,12 +150,6 @@ icon_state = "white" }, /area/template_noop) -"Y" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/holofloor{ - icon_state = "white" - }, -/area/template_noop) "Z" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -216,7 +206,7 @@ Z N "} (5,1,1) = {" -Y +K S K Q @@ -228,7 +218,7 @@ Z N "} (6,1,1) = {" -t +U U U c diff --git a/_maps/templates/holodeck_gamer.dmm b/_maps/templates/holodeck_gamer.dmm deleted file mode 100644 index 570992d243790..0000000000000 --- a/_maps/templates/holodeck_gamer.dmm +++ /dev/null @@ -1,129 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"d" = ( -/obj/machinery/computer/arcade/battle, -/turf/open/floor/holofloor/basalt, -/area/template_noop) -"x" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/holofloor/basalt, -/area/template_noop) -"C" = ( -/obj/machinery/computer/arcade/orion_trail, -/turf/open/floor/holofloor/basalt, -/area/template_noop) -"D" = ( -/obj/machinery/computer/arcade/amputation, -/turf/open/floor/holofloor/basalt, -/area/template_noop) -"I" = ( -/turf/open/floor/holofloor/basalt, -/area/template_noop) - -(1,1,1) = {" -I -I -I -I -I -I -I -I -I -I -"} -(2,1,1) = {" -I -I -I -x -I -I -x -I -I -I -"} -(3,1,1) = {" -I -I -I -D -I -I -D -I -I -I -"} -(4,1,1) = {" -I -I -I -I -I -I -I -I -I -I -"} -(5,1,1) = {" -I -I -I -I -I -I -I -I -I -I -"} -(6,1,1) = {" -I -I -I -I -I -I -I -I -I -I -"} -(7,1,1) = {" -I -I -I -d -I -I -d -I -I -I -"} -(8,1,1) = {" -I -I -I -C -I -I -C -I -I -I -"} -(9,1,1) = {" -I -I -I -I -I -I -I -I -I -I -"} diff --git a/_maps/templates/holodeck_holdoutbunker.dmm b/_maps/templates/holodeck_holdoutbunker.dmm index 782cbd919aa89..cfbc32ffa6c98 100644 --- a/_maps/templates/holodeck_holdoutbunker.dmm +++ b/_maps/templates/holodeck_holdoutbunker.dmm @@ -18,13 +18,16 @@ /area/template_noop) "u" = ( /obj/structure/table, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /turf/open/floor/holofloor/asteroid, /area/template_noop) "v" = ( /obj/structure/table, /obj/item/stack/medical/ointment{ - heal_burn = 10 + heal_burn = 10; + pixel_y = 8 }, /turf/open/floor/holofloor/asteroid, /area/template_noop) @@ -36,15 +39,20 @@ /area/template_noop) "I" = ( /obj/structure/table, -/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser{ + pixel_y = 8 + }, /turf/open/floor/holofloor/asteroid, /area/template_noop) "J" = ( /obj/structure/table, /obj/item/stack/medical/bruise_pack{ - heal_brute = 10 + heal_brute = 10; + pixel_y = 8 + }, +/obj/item/soap{ + pixel_y = 8 }, -/obj/item/soap, /turf/open/floor/holofloor/asteroid, /area/template_noop) diff --git a/_maps/templates/holodeck_kobayashi.dmm b/_maps/templates/holodeck_kobayashi.dmm index bb8c5c297acf1..293d6c5de2d10 100644 --- a/_maps/templates/holodeck_kobayashi.dmm +++ b/_maps/templates/holodeck_kobayashi.dmm @@ -3,18 +3,6 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "c" = ( -/obj/machinery/button/massdriver/indestructible{ - id = "trektorpedo1"; - name = "photon torpedo button"; - pixel_x = -16; - pixel_y = -5 - }, -/obj/machinery/button/massdriver/indestructible{ - id = "trektorpedo2"; - name = "photon torpedo button"; - pixel_x = 16; - pixel_y = -5 - }, /obj/machinery/computer/arcade/orion_trail/kobayashi, /turf/open/floor/holofloor/plating, /area/template_noop) @@ -41,7 +29,7 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "l" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/machinery/computer/station_alert{ dir = 4 }, @@ -75,15 +63,29 @@ /area/template_noop) "t" = ( /obj/structure/table/glass, -/obj/item/gun/energy/e_gun/mini/practice_phaser, +/obj/item/gun/energy/e_gun/mini/practice_phaser{ + pixel_y = 8 + }, /obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, +/obj/machinery/button/massdriver/indestructible/table{ + pixel_x = 8; + pixel_y = 1; + id = "trektorpedo1"; + name = "photon torpedo button" + }, /turf/open/floor/holofloor/plating, /area/template_noop) "w" = ( /obj/structure/table, -/obj/item/folder, -/obj/item/pen/blue, +/obj/item/folder{ + pixel_y = 8 + }, +/obj/item/pen/blue{ + pixel_y = 8 + }, /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -102,7 +104,7 @@ /obj/machinery/computer/atmos_alert{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/holofloor/plating, /area/template_noop) "A" = ( @@ -148,15 +150,27 @@ /area/template_noop) "L" = ( /obj/structure/table/glass, -/obj/item/gun/energy/e_gun/mini/practice_phaser, +/obj/item/gun/energy/e_gun/mini/practice_phaser{ + pixel_y = 8 + }, /obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/button/massdriver/indestructible/table{ + pixel_x = -8; + pixel_y = 1; + name = "photon torpedo button"; + id = "trektorpedo2" + }, /turf/open/floor/holofloor/plating, /area/template_noop) "Q" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/east, -/obj/item/folder, -/obj/item/pen/red, +/obj/item/folder{ + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, @@ -196,8 +210,12 @@ /area/template_noop) "Z" = ( /obj/structure/table, -/obj/item/folder, -/obj/item/pen, +/obj/item/folder{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, diff --git a/_maps/templates/holodeck_lounge.dmm b/_maps/templates/holodeck_lounge.dmm index 1bcec197d7b66..5afe05af51e0b 100644 --- a/_maps/templates/holodeck_lounge.dmm +++ b/_maps/templates/holodeck_lounge.dmm @@ -3,98 +3,77 @@ /obj/structure/table/wood/shuttle_bar, /obj/item/reagent_containers/cup/rag{ pixel_x = 10; - pixel_y = 1 - }, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" + pixel_y = 9 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "b" = ( /obj/structure/closet/crate/bin, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "c" = ( -/obj/machinery/door/window/right/directional/east, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/obj/machinery/door/window/half/right/directional/east, +/turf/open/floor/holofloor/wood, /area/template_noop) "d" = ( /obj/structure/table/wood/shuttle_bar, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "f" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp/green, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/flashlight/lamp/green{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "h" = ( /obj/structure/table/wood, -/obj/item/cigarette/pipe, -/obj/effect/holodeck_effect/random_book, +/obj/item/cigarette/pipe{ + pixel_y = 8 + }, +/obj/effect/holodeck_effect/random_book{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "i" = ( /obj/structure/table/wood/shuttle_bar, -/obj/item/reagent_containers/cup/glass/shaker, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "j" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/obj/structure/window/reinforced/half/directional/east, +/turf/open/floor/holofloor/wood, /area/template_noop) "k" = ( /obj/structure/table/wood/poker, -/obj/item/storage/box/matches, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/storage/box/matches{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "l" = ( /obj/structure/chair/stool/bar/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/obj/structure/window/reinforced/half/directional/east, +/turf/open/floor/holofloor/wood, /area/template_noop) "m" = ( /obj/structure/chair/wood, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "o" = ( /obj/structure/chair/wood{ dir = 1 }, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "p" = ( /obj/structure/table/wood, -/obj/item/instrument/guitar, +/obj/item/instrument/guitar{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "q" = ( @@ -102,44 +81,40 @@ /area/template_noop) "t" = ( /obj/structure/table/wood/shuttle_bar, -/obj/item/book/manual/wiki/barman_recipes, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/book/manual/wiki/barman_recipes{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "u" = ( /obj/structure/chair/wood{ dir = 4 }, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "w" = ( /obj/structure/table/wood, -/obj/item/instrument/saxophone, +/obj/item/instrument/saxophone{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "x" = ( /obj/structure/table/wood, -/obj/item/instrument/violin, +/obj/item/instrument/violin{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "z" = ( -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "A" = ( /obj/structure/table/wood, -/obj/item/paper_bin, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/paper_bin{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "C" = ( /obj/structure/chair/stool/bar/directional/west, @@ -147,9 +122,7 @@ /area/template_noop) "D" = ( /obj/structure/table/wood, -/obj/item/kirbyplants/organic/plant5{ - pixel_y = 10 - }, +/obj/item/kirbyplants/organic/plant5, /turf/open/floor/holofloor/carpet, /area/template_noop) "E" = ( @@ -159,53 +132,45 @@ /turf/open/floor/holofloor/carpet, /area/template_noop) "F" = ( -/turf/open/floor/holofloor{ - icon_state = "stairs-r" - }, +/turf/open/floor/holofloor/stairs/right, /area/template_noop) "G" = ( -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/structure/table/wood/shuttle_bar, -/obj/item/storage/box/cups, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/storage/box/cups{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "H" = ( /obj/structure/sink/directional/east, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "I" = ( /obj/structure/chair/wood{ dir = 8 }, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "J" = ( /obj/structure/table/wood, -/obj/effect/holodeck_effect/random_book, +/obj/effect/holodeck_effect/random_book{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "K" = ( /obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigars/cohiba, -/obj/item/lighter, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/storage/fancy/cigarettes/cigars/cohiba{ + pixel_y = 8 }, +/obj/item/lighter{ + pixel_y = 8 + }, +/turf/open/floor/holofloor/wood, /area/template_noop) "L" = ( -/turf/open/floor/holofloor{ - icon_state = "stairs-l" - }, +/turf/open/floor/holofloor/stairs/left, /area/template_noop) "M" = ( /obj/structure/chair/comfy/brown{ @@ -216,7 +181,9 @@ /area/template_noop) "N" = ( /obj/structure/table/wood, -/obj/item/instrument/piano_synth/headphones, +/obj/item/instrument/piano_synth/headphones{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "O" = ( @@ -228,56 +195,41 @@ /area/template_noop) "P" = ( /obj/structure/table/wood/poker, -/obj/effect/holodeck_effect/cards, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/effect/holodeck_effect/cards{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "R" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/obj/structure/window/reinforced/half/directional/south, +/turf/open/floor/holofloor/wood, /area/template_noop) "S" = ( /obj/structure/table/wood/poker, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "T" = ( /obj/structure/table/wood/poker, -/obj/item/cigarette/pipe, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/cigarette/pipe{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "U" = ( /obj/structure/table/wood/poker, -/obj/item/storage/dice, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" +/obj/item/storage/dice{ + pixel_y = 8 }, +/turf/open/floor/holofloor/wood, /area/template_noop) "V" = ( /obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/turf/open/floor/holofloor/wood, /area/template_noop) "Y" = ( /obj/structure/table/wood/shuttle_bar, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/holofloor{ - dir = 9; - icon_state = "wood" - }, +/obj/structure/window/reinforced/half/directional/east, +/turf/open/floor/holofloor/wood, /area/template_noop) "Z" = ( /obj/structure/musician/piano, diff --git a/_maps/templates/holodeck_medicalsim.dmm b/_maps/templates/holodeck_medicalsim.dmm index 7e4162ce074a4..74c11acac525a 100644 --- a/_maps/templates/holodeck_medicalsim.dmm +++ b/_maps/templates/holodeck_medicalsim.dmm @@ -1,213 +1,195 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ap" = ( /obj/structure/table, -/obj/item/reagent_containers/dropper, -/obj/item/assembly/igniter, +/obj/item/reagent_containers/dropper{ + pixel_y = 8 + }, +/obj/item/assembly/igniter{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "aL" = ( /obj/structure/table/glass, -/obj/item/clothing/gloves/latex/nitrile, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/mask/surgical, -/obj/structure/window/spawner/directional/east, -/obj/item/surgicaldrill, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" +/obj/item/clothing/gloves/latex/nitrile{ + pixel_y = 8 + }, +/obj/item/clothing/suit/apron/surgical{ + pixel_y = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_y = 8 }, +/obj/structure/window/reinforced/half/directional/east, +/obj/item/surgicaldrill{ + pixel_y = 8 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/turf/open/floor/holofloor/white, /area/template_noop) "ba" = ( /obj/machinery/iv_drip, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "bw" = ( /obj/structure/table, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "cI" = ( /obj/structure/closet/crate/freezer/blood, -/obj/structure/window/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "cO" = ( /obj/machinery/stasis, /obj/effect/turf_decal/tile/green/anticorner/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "cR" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "cT" = ( /obj/structure/table, -/obj/item/folder/white, +/obj/item/folder/white{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "dx" = ( /obj/structure/table, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 8 + }, /obj/structure/window/spawner/directional/west, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "dX" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/structure/table/glass, -/obj/item/storage/box/masks, +/obj/item/storage/box/masks{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "gp" = ( /obj/structure/window/spawner/directional/south, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "gr" = ( /obj/structure/table/glass, -/obj/item/retractor, +/obj/item/retractor{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "hK" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/structure/table/glass, /obj/item/storage/box/gloves{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "hQ" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/structure/table/glass, -/obj/item/healthanalyzer, +/obj/item/healthanalyzer{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "jr" = ( /obj/effect/turf_decal/tile/blue, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "kJ" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "lU" = ( /obj/structure/table, -/obj/item/storage/box/syringes, +/obj/item/storage/box/syringes{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "nj" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "pe" = ( /obj/structure/window/spawner/directional/south, /obj/item/kirbyplants/organic/plant10, /obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "pY" = ( /obj/machinery/computer/operating{ dir = 8 }, /obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "qw" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "qV" = ( /obj/machinery/shower/directional/east, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "qX" = ( /obj/structure/bed, @@ -215,58 +197,44 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "tI" = ( -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "uj" = ( /obj/machinery/chem_master, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "wu" = ( /obj/structure/filingcabinet, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "wV" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/structure/bed/medical/emergency, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "xf" = ( /obj/structure/table/optable, /obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "xz" = ( /obj/structure/closet/wardrobe/white, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "yk" = ( /obj/structure/window/spawner/directional/west, @@ -276,54 +244,46 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "zd" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ac" = ( /obj/machinery/washing_machine, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "An" = ( /obj/machinery/computer/operating{ dir = 4 }, /obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "BI" = ( -/obj/structure/window/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "BS" = ( /obj/machinery/computer/pandemic, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "BT" = ( /obj/structure/bed, @@ -331,18 +291,14 @@ /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ck" = ( /obj/machinery/shower/directional/east, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ct" = ( /obj/structure/chair/office/light{ @@ -351,131 +307,113 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "CQ" = ( /obj/structure/table, -/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "DT" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "DW" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ea" = ( /obj/structure/table, -/obj/item/reagent_containers/cup/beaker, -/obj/item/reagent_containers/cup/beaker, -/obj/item/reagent_containers/cup/beaker, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ga" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "GN" = ( /obj/machinery/door/window/left/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ig" = ( /obj/machinery/iv_drip, /obj/effect/turf_decal/tile/green/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Ke" = ( /obj/structure/window/spawner/directional/south, /obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "KD" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Lt" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "LW" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/item/kirbyplants/organic/plant21, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "NV" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "PJ" = ( -/obj/structure/window/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/north, /obj/item/kirbyplants/organic/plant8, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Qu" = ( /obj/structure/table/glass, -/obj/item/stack/medical/gauze, -/obj/item/cautery, +/obj/item/stack/medical/gauze{ + pixel_y = 8 + }, +/obj/item/cautery{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "RA" = ( /obj/structure/window/spawner/directional/west, @@ -485,55 +423,47 @@ /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "RJ" = ( /obj/structure/table, -/obj/item/reagent_containers/cup/beaker/large, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Sb" = ( /obj/structure/table/glass, /obj/item/scalpel{ - pixel_y = 10 + pixel_y = 18 + }, +/obj/item/circular_saw{ + pixel_y = 8 }, -/obj/item/circular_saw, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Sj" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Tt" = ( /obj/machinery/stasis{ dir = 4 }, /obj/effect/turf_decal/tile/green/half/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "TI" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "WK" = ( /obj/structure/bodycontainer/morgue{ @@ -542,38 +472,40 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Xm" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "XM" = ( /obj/structure/window/spawner/directional/south, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) "Zq" = ( /obj/structure/table/glass, -/obj/item/surgical_drapes, -/obj/item/razor, -/obj/item/hemostat, -/obj/item/bonesetter, -/obj/item/stack/medical/bone_gel, +/obj/item/surgical_drapes{ + pixel_y = 8 + }, +/obj/item/razor{ + pixel_y = 8 + }, +/obj/item/hemostat{ + pixel_y = 8 + }, +/obj/item/bonesetter{ + pixel_y = 8 + }, +/obj/item/stack/medical/bone_gel{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/turf/open/floor/holofloor{ - icon_state = "white" - }, +/turf/open/floor/holofloor/white, /area/template_noop) (1,1,1) = {" diff --git a/_maps/templates/holodeck_microwave.dmm b/_maps/templates/holodeck_microwave.dmm index 5a44211c0e653..6d4c4902739c5 100644 --- a/_maps/templates/holodeck_microwave.dmm +++ b/_maps/templates/holodeck_microwave.dmm @@ -1,7 +1,9 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /obj/structure/table/reinforced, -/obj/machinery/microwave/hell, +/obj/machinery/microwave/hell{ + pixel_y = 8 + }, /turf/open/floor/holofloor/dark, /area/template_noop) "j" = ( @@ -39,9 +41,7 @@ /obj/effect/turf_decal/trimline/brown/line{ dir = 9 }, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 2 - }, +/obj/effect/turf_decal/trimline/brown/corner, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) @@ -79,9 +79,7 @@ /obj/effect/turf_decal/trimline/brown/line{ dir = 1 }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 2 - }, +/obj/effect/turf_decal/trimline/brown/line, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/holofloor/dark, /area/template_noop) @@ -113,9 +111,7 @@ /turf/open/floor/holofloor/dark, /area/template_noop) "N" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 2 - }, +/obj/effect/turf_decal/trimline/brown/corner, /obj/effect/turf_decal/trimline/brown/line{ dir = 9 }, diff --git a/_maps/templates/holodeck_photobooth.dmm b/_maps/templates/holodeck_photobooth.dmm index a9581461de78a..4d62ed727cc51 100644 --- a/_maps/templates/holodeck_photobooth.dmm +++ b/_maps/templates/holodeck_photobooth.dmm @@ -13,19 +13,27 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/holofloor/carpet, /area/template_noop) +"m" = ( +/obj/structure/mirror/directional/north, +/turf/open/floor/holofloor/pure_white, +/area/template_noop) "r" = ( /obj/structure/table/wood, /obj/item/paint/anycolor{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, /obj/item/paint/anycolor{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 8 }, /obj/item/paint/anycolor{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, /obj/item/paint/anycolor{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, /turf/open/floor/holofloor/carpet, /area/template_noop) @@ -33,33 +41,40 @@ /obj/structure/table/wood, /obj/item/toy/crayon/spraycan{ pixel_x = 5; - pixel_y = 5 + pixel_y = 13 }, /obj/item/toy/crayon/spraycan{ pixel_x = -5; - pixel_y = 5 + pixel_y = 13 }, /turf/open/floor/holofloor/carpet, /area/template_noop) "u" = ( /obj/structure/table/wood, -/obj/item/paper_bin, +/obj/item/paper_bin{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "w" = ( /obj/structure/table/wood, -/obj/item/camera, -/obj/item/camera, +/obj/item/camera{ + pixel_y = 8 + }, +/obj/item/camera{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "H" = ( /obj/structure/table/wood, -/obj/item/storage/crayons, +/obj/item/storage/crayons{ + pixel_y = 8 + }, /turf/open/floor/holofloor/carpet, /area/template_noop) "L" = ( /obj/structure/falsewall/wood, -/obj/structure/mirror, /turf/open/floor/holofloor/carpet, /area/template_noop) @@ -77,7 +92,7 @@ a "} (2,1,1) = {" L -a +m a a a diff --git a/_maps/templates/holodeck_thunderdome.dmm b/_maps/templates/holodeck_thunderdome.dmm index 3e68f2bdaa421..3ab763f74d7cf 100644 --- a/_maps/templates/holodeck_thunderdome.dmm +++ b/_maps/templates/holodeck_thunderdome.dmm @@ -9,18 +9,34 @@ /area/template_noop) "h" = ( /obj/structure/table, -/obj/item/clothing/head/helmet/thunderdome/holosuit, -/obj/item/clothing/suit/armor/tdome/holosuit/green, -/obj/item/clothing/under/color/green, -/obj/item/melee/energy/sword/holographic/green, +/obj/item/clothing/head/helmet/thunderdome/holosuit{ + pixel_y = 8 + }, +/obj/item/clothing/suit/armor/tdome/holosuit/green{ + pixel_y = 8 + }, +/obj/item/clothing/under/color/green{ + pixel_y = 8 + }, +/obj/item/melee/energy/sword/holographic/green{ + pixel_y = 8 + }, /turf/open/floor/holofloor/basalt, /area/template_noop) "q" = ( /obj/structure/table, -/obj/item/clothing/head/helmet/thunderdome/holosuit, -/obj/item/clothing/suit/armor/tdome/holosuit/red, -/obj/item/clothing/under/color/red, -/obj/item/melee/energy/sword/holographic/red, +/obj/item/clothing/head/helmet/thunderdome/holosuit{ + pixel_y = 8 + }, +/obj/item/clothing/suit/armor/tdome/holosuit/red{ + pixel_y = 8 + }, +/obj/item/clothing/under/color/red{ + pixel_y = 8 + }, +/obj/item/melee/energy/sword/holographic/red{ + pixel_y = 8 + }, /turf/open/floor/holofloor/basalt, /area/template_noop) "x" = ( diff --git a/_maps/templates/holodeck_thunderdome1218.dmm b/_maps/templates/holodeck_thunderdome1218.dmm index a71432bbbd25c..7a0709e2ddf1c 100644 --- a/_maps/templates/holodeck_thunderdome1218.dmm +++ b/_maps/templates/holodeck_thunderdome1218.dmm @@ -6,23 +6,27 @@ /turf/open/floor/holofloor/grass, /area/template_noop) "f" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/item/banner/red, /turf/open/floor/holofloor/asteroid, /area/template_noop) "g" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /obj/item/banner/blue, /turf/open/floor/holofloor/asteroid, /area/template_noop) "k" = ( /obj/structure/table/wood/fancy, -/obj/item/clothing/suit/armor/riot/knight/blue, -/obj/item/clothing/head/helmet/knight/blue, +/obj/item/clothing/suit/armor/riot/knight/blue{ + pixel_y = 8 + }, +/obj/item/clothing/head/helmet/knight/blue{ + pixel_y = 8 + }, /turf/open/floor/holofloor/grass, /area/template_noop) "n" = ( -/obj/machinery/door/window/left/directional/south, +/obj/machinery/door/window/half/left/directional/south, /turf/open/floor/holofloor/grass, /area/template_noop) "p" = ( @@ -30,15 +34,20 @@ /area/template_noop) "r" = ( /obj/structure/table/wood, -/obj/item/scythe, -/obj/item/spear, +/obj/item/scythe{ + pixel_y = 8 + }, +/obj/item/spear{ + pixel_y = 8 + }, /obj/item/melee/chainofcommand{ - name = "chain whip" + name = "chain whip"; + pixel_y = 8 }, /turf/open/floor/holofloor/asteroid, /area/template_noop) "s" = ( -/obj/machinery/door/window/right/directional/south, +/obj/machinery/door/window/half/right/directional/south, /turf/open/floor/holofloor/grass, /area/template_noop) "x" = ( @@ -47,9 +56,12 @@ "y" = ( /obj/structure/table/wood, /obj/item/melee/chainofcommand{ - name = "chain whip" + name = "chain whip"; + pixel_y = 8 + }, +/obj/item/spear{ + pixel_y = 8 }, -/obj/item/spear, /turf/open/floor/holofloor/asteroid, /area/template_noop) "B" = ( @@ -60,12 +72,12 @@ "C" = ( /obj/structure/table/wood/fancy, /obj/item/clothing/head/costume/crown/fancy{ - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/holofloor/grass, /area/template_noop) "E" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/holofloor/asteroid, /area/template_noop) "H" = ( @@ -73,35 +85,55 @@ /turf/open/floor/holofloor/grass, /area/template_noop) "J" = ( -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/south, /turf/open/floor/holofloor/grass, /area/template_noop) "N" = ( /obj/structure/table/wood, -/obj/item/spear, +/obj/item/spear{ + pixel_y = 8 + }, /turf/open/floor/holofloor/asteroid, /area/template_noop) "Q" = ( /obj/structure/table/wood/fancy, -/obj/item/clothing/suit/armor/riot/knight/blue, -/obj/item/clothing/head/helmet/knight/blue, -/obj/item/claymore/weak, +/obj/item/clothing/suit/armor/riot/knight/blue{ + pixel_y = 8 + }, +/obj/item/clothing/head/helmet/knight/blue{ + pixel_y = 8 + }, +/obj/item/claymore/weak{ + pixel_y = 8 + }, /turf/open/floor/holofloor/grass, /area/template_noop) "R" = ( -/obj/machinery/door/window/left/directional/south, +/obj/machinery/door/window/half/left/directional/south, /turf/open/floor/holofloor/asteroid, /area/template_noop) "T" = ( /obj/structure/table/wood, -/obj/item/tailclub, -/obj/item/spear, +/obj/item/tailclub{ + pixel_y = 8 + }, +/obj/item/spear{ + pixel_y = 8 + }, /turf/open/floor/holofloor/asteroid, /area/template_noop) "X" = ( /obj/structure/table/wood, -/obj/item/scythe, -/obj/item/spear, +/obj/item/scythe{ + pixel_y = 8 + }, +/obj/item/spear{ + pixel_y = 8 + }, +/turf/open/floor/holofloor/asteroid, +/area/template_noop) +"Z" = ( +/obj/machinery/door/window/half/right/directional/south, /turf/open/floor/holofloor/asteroid, /area/template_noop) @@ -149,7 +181,7 @@ p p p p -R +Z x a "} diff --git a/_maps/templates/lazy_templates/abductor_ships.dmm b/_maps/templates/lazy_templates/abductor_ships.dmm index 4c7d2e172ff26..7b564cbadf206 100644 --- a/_maps/templates/lazy_templates/abductor_ships.dmm +++ b/_maps/templates/lazy_templates/abductor_ships.dmm @@ -5,11 +5,6 @@ "ab" = ( /turf/open/lava, /area/awaymission/caves) -"bX" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien11" - }, -/area/centcom/abductor_ship) "ea" = ( /obj/effect/landmark/abductor/scientist{ team_number = 2 @@ -28,21 +23,6 @@ }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"gZ" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien15" - }, -/area/centcom/abductor_ship) -"hw" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien12" - }, -/area/centcom/abductor_ship) -"hN" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien6" - }, -/area/centcom/abductor_ship) "ie" = ( /obj/structure/closet/abductor, /obj/item/storage/box/alienhandcuffs, @@ -72,11 +52,6 @@ }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"oL" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien2" - }, -/area/centcom/abductor_ship) "pK" = ( /obj/machinery/abductor/console{ team_number = 3 @@ -102,18 +77,15 @@ }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"st" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien8" - }, -/area/centcom/abductor_ship) "sS" = ( /obj/structure/table/abductor, /obj/machinery/recharger{ - pixel_x = 7 + pixel_x = 7; + pixel_y = 8 }, /obj/item/paper/guides/antag/abductor{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 8 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) @@ -178,102 +150,47 @@ }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"AJ" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien3" - }, -/area/centcom/abductor_ship) "Bh" = ( /obj/machinery/abductor/gland_dispenser, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"BX" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien18" - }, -/area/centcom/abductor_ship) "CF" = ( /obj/machinery/abductor/console{ team_number = 2 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"CJ" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien7" - }, -/area/centcom/abductor_ship) -"CT" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien10" - }, -/area/centcom/abductor_ship) "DL" = ( /obj/effect/landmark/abductor/agent{ team_number = 4 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Gb" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien19" - }, -/area/centcom/abductor_ship) "Gs" = ( /obj/machinery/computer/camera_advanced/abductor{ team_number = 4 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Gt" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien23" - }, -/area/centcom/abductor_ship) "HK" = ( /obj/effect/landmark/abductor/agent{ team_number = 2 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Ig" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien24" - }, -/area/centcom/abductor_ship) "Il" = ( /obj/structure/table/optable/abductor, /obj/item/surgical_drapes{ - pixel_y = -5 + pixel_y = 3 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Nw" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien17" - }, -/area/centcom/abductor_ship) -"Po" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien22" - }, -/area/centcom/abductor_ship) "Pv" = ( /obj/effect/landmark/abductor/agent{ team_number = 3 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"QM" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien13" - }, -/area/centcom/abductor_ship) -"Sv" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien4" - }, -/area/centcom/abductor_ship) "SK" = ( /obj/structure/table/abductor, /obj/item/toy/plush/abductor{ @@ -282,7 +199,7 @@ }, /obj/item/toy/plush/abductor/agent{ pixel_x = 9; - pixel_y = 2 + pixel_y = 8 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) @@ -302,164 +219,134 @@ }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Yu" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien14" - }, -/area/centcom/abductor_ship) -"YQ" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien21" - }, -/area/centcom/abductor_ship) "YY" = ( /obj/machinery/abductor/experiment{ team_number = 4 }, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Zf" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien9" - }, -/area/centcom/abductor_ship) "Zn" = ( /obj/effect/landmark/abductor/scientist, /turf/open/floor/plating/abductor, /area/centcom/abductor_ship) -"Zr" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien5" - }, -/area/centcom/abductor_ship) -"Zv" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien20" - }, -/area/centcom/abductor_ship) -"ZB" = ( -/turf/closed/indestructible/abductor{ - icon_state = "alien16" - }, -/area/centcom/abductor_ship) (1,1,1) = {" Xy -ZB -Yu -hw -CT -hN +lV +lV +lV +lV +lV Xy Xy Xy -ZB -Yu -hw -CT -hN +lV +lV +lV +lV +lV Xy "} (2,1,1) = {" -Zv -Nw +lV +lV nL tu rh -CJ +lV lV Xy -Zv -Nw +lV +lV XD tu rh -CJ +lV lV "} (3,1,1) = {" -YQ +lV es UE wM UE Bh -oL +lV Xy -YQ +lV nb UE Zn UE Bh -oL +lV "} (4,1,1) = {" -Po +lV pK UE Il UE SK -AJ +lV Xy -Po +lV xM UE Il UE SK -AJ +lV "} (5,1,1) = {" -Gt +lV eq UE Pv UE nt -Sv +lV Xy -Gt +lV qV UE VZ UE nt -Sv +lV "} (6,1,1) = {" -Ig -BX +lV +lV ie sS mr -st -Zr +lV +lV Xy -Ig -BX +lV +lV ie sS mr -st -Zr +lV +lV "} (7,1,1) = {" Xy -Gb -gZ -QM -bX -Zf +lV +lV +lV +lV +lV Xy Xy Xy -Gb -gZ -QM -bX -Zf +lV +lV +lV +lV +lV Xy "} (8,1,1) = {" @@ -481,121 +368,121 @@ Xy "} (9,1,1) = {" Xy -ZB -Yu -hw -CT -hN +lV +lV +lV +lV +lV Xy Xy Xy -ZB -Yu -hw -CT -hN +lV +lV +lV +lV +lV Xy "} (10,1,1) = {" -Zv -Nw +lV +lV Gs tu rh -CJ +lV lV Xy -Zv -Nw +lV +lV zV tu rh -CJ +lV lV "} (11,1,1) = {" -YQ +lV YY UE tL UE Bh -oL +lV Xy -YQ +lV ze UE ea UE Bh -oL +lV "} (12,1,1) = {" -Po +lV xR UE Il UE SK -AJ +lV Xy -Po +lV CF UE Il UE SK -AJ +lV "} (13,1,1) = {" -Gt +lV tT UE DL UE nt -Sv +lV Xy -Gt +lV xf UE HK UE nt -Sv +lV "} (14,1,1) = {" -Ig -BX +lV +lV ie sS mr -st -Zr +lV +lV Xy -Ig -BX +lV +lV ie sS mr -st -Zr +lV +lV "} (15,1,1) = {" Xy -Gb -gZ -QM -bX -Zf +lV +lV +lV +lV +lV Xy Xy Xy -Gb -gZ -QM -bX -Zf +lV +lV +lV +lV +lV Xy "} diff --git a/_maps/templates/lazy_templates/heretic_sacrifice.dmm b/_maps/templates/lazy_templates/heretic_sacrifice.dmm index 44300c13735fe..e4322f9c1ebdf 100644 --- a/_maps/templates/lazy_templates/heretic_sacrifice.dmm +++ b/_maps/templates/lazy_templates/heretic_sacrifice.dmm @@ -403,6 +403,11 @@ slowdown = 0 }, /area/centcom/heretic_sacrifice/ash) +"Ee" = ( +/turf/closed/indestructible/fakedoor/maintenance{ + dir = 4 + }, +/area/centcom/heretic_sacrifice/lock) "En" = ( /turf/closed/indestructible/fakedoor/maintenance, /area/centcom/heretic_sacrifice/lock) @@ -813,8 +818,8 @@ jt wo wo jt -En -En +Ee +Ee jt wo wo @@ -1286,8 +1291,8 @@ jt wo wo jt -En -En +Ee +Ee jt wo wo diff --git a/_maps/templates/lazy_templates/ninja_den.dmm b/_maps/templates/lazy_templates/ninja_den.dmm index 88f4bce19d45a..e6820a2c9120b 100644 --- a/_maps/templates/lazy_templates/ninja_den.dmm +++ b/_maps/templates/lazy_templates/ninja_den.dmm @@ -130,7 +130,9 @@ /area/centcom/central_command_areas/holding) "cK" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp/green, +/obj/item/flashlight/lamp/green{ + pixel_y = 8 + }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "cQ" = ( @@ -229,7 +231,9 @@ /area/centcom/central_command_areas/holding) "ga" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/toy/mecha/phazon, +/obj/item/toy/mecha/phazon{ + pixel_y = 8 + }, /turf/open/floor/bamboo/tatami/purple{ dir = 8 }, @@ -238,7 +242,8 @@ /obj/structure/table/reinforced/plastitaniumglass, /obj/item/toy/katana{ desc = "As seen in your favourite Japanese cartoon."; - name = "anime katana" + name = "anime katana"; + pixel_y = 8 }, /turf/open/floor/bamboo/tatami, /area/centcom/central_command_areas/holding) @@ -250,12 +255,16 @@ /area/centcom/central_command_areas/holding) "gy" = ( /obj/machinery/griddle, -/obj/item/kitchen/rollingpin, +/obj/item/kitchen/rollingpin{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/centcom/central_command_areas/holding) "gK" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded{ + pixel_y = 8 + }, /turf/open/floor/catwalk_floor, /area/centcom/central_command_areas/holding) "gX" = ( @@ -314,14 +323,15 @@ /area/centcom/central_command_areas/holding) "hv" = ( /obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement, +/obj/machinery/computer/libraryconsole/bookmanagement{ + pixel_y = 8; + dir = 8 + }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "hw" = ( /obj/item/kirbyplants/organic/plant10, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "hH" = ( @@ -352,9 +362,7 @@ /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "iH" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/wood/large, /area/centcom/central_command_areas/holding) "iQ" = ( @@ -374,13 +382,17 @@ /area/centcom/central_command_areas/holding) "jc" = ( /obj/structure/table/wood/fancy/royalblue, -/obj/item/toy/toy_xeno, +/obj/item/toy/toy_xeno{ + pixel_y = 8 + }, /turf/open/floor/wood/parquet, /area/centcom/central_command_areas/holding) "jf" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/table/wood/fancy/green, -/obj/effect/spawner/random/entertainment/gambling, +/obj/effect/spawner/random/entertainment/gambling{ + pixel_y = 8 + }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "jq" = ( @@ -431,9 +443,7 @@ /obj/structure/chair/wood{ dir = 4 }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "kl" = ( @@ -469,17 +479,15 @@ /area/centcom/central_command_areas/holding) "lh" = ( /obj/structure/toilet, -/obj/structure/window/reinforced/survival_pod/spawner/directional/east, -/obj/machinery/door/window/survival_pod/left/directional/south, +/obj/structure/window/reinforced/half/directional/east, +/obj/machinery/door/window/half/left/directional/south, /turf/open/floor/iron/showroomfloor, /area/centcom/central_command_areas/holding) "ln" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "lx" = ( @@ -561,16 +569,16 @@ /area/centcom/central_command_areas/holding) "nW" = ( /obj/machinery/light/warm/directional/west, -/turf/open/water{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, +/turf/open/water, /area/centcom/central_command_areas/holding) "od" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 }, /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/storage/basket, +/obj/item/storage/basket{ + pixel_y = 15 + }, /obj/effect/turf_decal/tile/dark/fourcorners, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/sepia, @@ -594,7 +602,7 @@ /obj/machinery/shower/directional/south, /obj/item/soap/syndie, /obj/structure/curtain, -/obj/machinery/door/window/survival_pod/left/directional/south, +/obj/machinery/door/window/half/left/directional/south, /turf/open/floor/iron/showroomfloor, /area/centcom/central_command_areas/holding) "ov" = ( @@ -608,9 +616,7 @@ }, /area/centcom/central_command_areas/holding) "oG" = ( -/turf/open/water{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, +/turf/open/water, /area/centcom/central_command_areas/holding) "oH" = ( /obj/effect/turf_decal/siding/wood{ @@ -659,9 +665,7 @@ /obj/item/storage/fancy/candle_box, /obj/item/storage/fancy/candle_box, /obj/item/storage/box/lights/mixed, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/catwalk_floor, /area/centcom/central_command_areas/holding) "pB" = ( @@ -739,13 +743,13 @@ /area/centcom/central_command_areas/holding) "qx" = ( /obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/centcom/central_command_areas/holding) "qE" = ( /turf/closed/indestructible/fakedoor{ - name = "Guest House Back Entrance" + name = "Guest House Back Entrance"; + dir = 4 }, /area/centcom/central_command_areas/holding) "qF" = ( @@ -762,11 +766,12 @@ }, /obj/structure/table/wood, /obj/item/wallframe/newscaster{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 9 }, /obj/item/flashlight/lamp/bananalamp{ pixel_x = 9; - pixel_y = 9 + pixel_y = 22 }, /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) @@ -797,11 +802,11 @@ /obj/machinery/chem_dispenser/drinks/beer{ dir = 4; pixel_x = -8; - pixel_y = 1 + pixel_y = 9 }, /obj/item/reagent_containers/cup/beaker{ pixel_x = 7; - pixel_y = -4 + pixel_y = 4 }, /obj/machinery/light/small/directional/west, /turf/open/floor/carpet/black, @@ -830,7 +835,6 @@ /area/centcom/central_command_areas/holding) "sc" = ( /obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/centcom/central_command_areas/holding) @@ -857,9 +861,9 @@ /obj/structure/toilet/greyscale{ dir = 4 }, -/obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, -/obj/machinery/light/small/directional/north, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, +/obj/machinery/light/small/directional/east, /turf/open/floor/iron/showroomfloor, /area/centcom/central_command_areas/holding) "uw" = ( @@ -883,9 +887,7 @@ /obj/item/xenos_claw, /obj/item/grown/log/bamboo, /obj/item/grown/log/bamboo, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) "uQ" = ( @@ -916,8 +918,12 @@ /area/centcom/central_command_areas/holding) "vS" = ( /obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen/fountain, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen/fountain{ + pixel_y = 8 + }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "wc" = ( @@ -1014,7 +1020,7 @@ "zc" = ( /obj/structure/table/wood, /obj/machinery/microwave{ - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) @@ -1085,8 +1091,12 @@ /area/centcom/central_command_areas/holding) "An" = ( /obj/structure/table/reinforced, -/obj/item/book/manual/chef_recipes, -/obj/item/knife/kitchen, +/obj/item/book/manual/chef_recipes{ + pixel_y = 8 + }, +/obj/item/knife/kitchen{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/centcom/central_command_areas/holding) "Ar" = ( @@ -1156,14 +1166,16 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "CG" = ( /turf/closed/indestructible/wood, /area/centcom/central_command_areas/holding) +"CK" = ( +/obj/machinery/smartfridge/drinks, +/turf/open/floor/carpet/black, +/area/centcom/central_command_areas/holding) "CL" = ( /turf/open/floor/bamboo/tatami/purple{ dir = 8 @@ -1332,14 +1344,16 @@ /obj/structure/table/reinforced/plastitaniumglass, /obj/item/clothing/suit/costume/hawaiian{ pixel_x = -3; - pixel_y = -3 + pixel_y = 5 }, /obj/item/clothing/suit/costume/hawaiian, /obj/item/clothing/suit/costume/hawaiian{ pixel_x = 3; - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/clothing/suit/costume/hawaiian{ + pixel_y = 8 }, -/obj/item/clothing/suit/costume/hawaiian, /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron/sepia, /area/centcom/central_command_areas/holding) @@ -1424,9 +1438,7 @@ }, /area/centcom/central_command_areas/holding) "HV" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /obj/effect/landmark/holding_facility, /turf/open/floor/wood/large, /area/centcom/central_command_areas/holding) @@ -1446,7 +1458,7 @@ }, /obj/machinery/reagentgrinder{ desc = "Used to grind things up into raw materials and liquids."; - pixel_y = 5 + pixel_y = 13 }, /turf/open/floor/iron/cafeteria, /area/centcom/central_command_areas/holding) @@ -1471,17 +1483,21 @@ /area/centcom/central_command_areas/holding) "IM" = ( /obj/structure/table/reinforced/rglass, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/paper/guides/jobs/hydroponics, +/obj/item/book/manual/hydroponics_pod_people{ + pixel_y = 8 + }, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_y = 8 + }, /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) "Jf" = ( /obj/structure/table/reinforced/rglass, -/obj/item/wrench{ - pixel_y = -16 - }, /obj/item/wirecutters{ - pixel_y = 3 + pixel_y = 11 + }, +/obj/item/wrench{ + pixel_y = -8 }, /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) @@ -1521,9 +1537,11 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp{ pixel_x = -5; - pixel_y = 11 + pixel_y = 18 + }, +/obj/item/camera_film{ + pixel_y = 8 }, -/obj/item/camera_film, /turf/open/floor/wood/large, /area/centcom/central_command_areas/holding) "JC" = ( @@ -1567,7 +1585,6 @@ /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) "JV" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, /obj/item/food/grown/rice, /obj/item/food/grown/rice, /obj/item/food/grown/rice, @@ -1583,6 +1600,9 @@ /obj/item/food/grown/onion/red, /obj/item/food/grown/onion/red, /obj/item/food/grown/coffee, +/obj/structure/closet/secure_closet/freezer/fridge/open{ + name = "kitchen cabinet" + }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "Kb" = ( @@ -1643,9 +1663,7 @@ /area/centcom/central_command_areas/holding) "My" = ( /obj/item/kirbyplants/organic/plant10, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/iron/sepia, /area/centcom/central_command_areas/holding) "Mz" = ( @@ -1674,13 +1692,27 @@ /area/centcom/central_command_areas/holding) "MM" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/toy/figure/syndie, +/obj/item/toy/figure/syndie{ + pixel_y = 8 + }, /turf/open/floor/bamboo/tatami/purple, /area/centcom/central_command_areas/holding) "MR" = ( /obj/structure/table/wood, -/obj/item/food/grown/tea/astra, -/obj/item/food/grown/soybeans, +/obj/item/food/grown/tea/astra{ + pixel_y = 8 + }, +/obj/item/food/grown/soybeans{ + pixel_y = 8 + }, +/turf/open/floor/carpet/black, +/area/centcom/central_command_areas/holding) +"MW" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ + dir = 4; + pixel_y = 8 + }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "Nt" = ( @@ -1688,11 +1720,11 @@ /obj/machinery/chem_dispenser/drinks{ dir = 4; pixel_x = -8; - pixel_y = 4 + pixel_y = 13 }, /obj/item/reagent_containers/condiment/enzyme{ pixel_x = 10; - pixel_y = 2 + pixel_y = 10 }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) @@ -1735,9 +1767,6 @@ "Od" = ( /obj/item/kirbyplants/organic/plant10, /obj/machinery/light/small/directional/north, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, /turf/open/floor/iron/sepia, /area/centcom/central_command_areas/holding) "Ok" = ( @@ -1775,10 +1804,6 @@ /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/centcom/central_command_areas/holding) -"PB" = ( -/obj/structure/sign/poster/contraband/syndicate_recruitment/directional/south, -/turf/open/floor/wood/large, -/area/centcom/central_command_areas/holding) "PH" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -1787,16 +1812,22 @@ /area/centcom/central_command_areas/holding) "PK" = ( /obj/structure/table/reinforced/rglass, +/obj/item/cultivator{ + pixel_y = 8 + }, /obj/item/shovel/spade{ - pixel_y = -14 + pixel_y = -6 }, -/obj/item/cultivator, /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) "PV" = ( /obj/structure/table/wood/fancy/royalblue, -/obj/item/instrument/piano_synth, -/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth{ + pixel_y = 8 + }, +/obj/item/instrument/saxophone{ + pixel_y = 8 + }, /turf/open/floor/wood/parquet, /area/centcom/central_command_areas/holding) "Qt" = ( @@ -1914,9 +1945,7 @@ /turf/open/floor/iron/sepia, /area/centcom/central_command_areas/holding) "TO" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, +/obj/structure/sign/painting/library/directional/north, /turf/open/floor/iron/sepia, /area/centcom/central_command_areas/holding) "TP" = ( @@ -1945,7 +1974,9 @@ /area/centcom/central_command_areas/holding) "UB" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/toy/figure/ninja, +/obj/item/toy/figure/ninja{ + pixel_y = 8 + }, /turf/open/floor/bamboo/tatami{ dir = 4 }, @@ -1960,13 +1991,13 @@ }, /obj/structure/table/wood/fancy/green, /obj/item/flashlight/flare/candle/infinite{ - pixel_y = 6 + pixel_y = 14 }, /turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "UY" = ( /obj/machinery/vending/boozeomat, -/turf/closed/wall/mineral/wood, +/turf/open/floor/carpet/black, /area/centcom/central_command_areas/holding) "Vd" = ( /obj/effect/turf_decal/siding/wood{ @@ -1994,11 +2025,16 @@ "Vj" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood, -/obj/item/paper_bin, -/obj/item/pen/fountain, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/pen/fountain{ + pixel_y = 8 + }, /obj/item/camera/detective{ desc = "A polaroid camera with extra capacity for social media marketing."; - name = "Professional camera" + name = "Professional camera"; + pixel_y = 8 }, /turf/open/floor/wood/tile, /area/centcom/central_command_areas/holding) @@ -2102,7 +2138,9 @@ /area/centcom/central_command_areas/holding) "Xd" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/storage/crayons, +/obj/item/storage/crayons{ + pixel_y = 8 + }, /turf/open/floor/catwalk_floor, /area/centcom/central_command_areas/holding) "Xi" = ( @@ -2139,12 +2177,16 @@ /area/centcom/central_command_areas/holding) "Yd" = ( /obj/structure/table/wood/fancy/royalblue, -/obj/item/clothing/mask/animal/pig, -/obj/item/clothing/mask/animal/horsehead, -/obj/item/clothing/mask/animal/small/rat, -/obj/item/clothing/mask/fakemoustache{ - pixel_y = 9 +/obj/item/clothing/mask/animal/pig{ + pixel_y = 8 + }, +/obj/item/clothing/mask/animal/horsehead{ + pixel_y = 8 + }, +/obj/item/clothing/mask/animal/small/rat{ + pixel_y = 8 }, +/obj/item/clothing/mask/fakemoustache, /turf/open/floor/wood/parquet, /area/centcom/central_command_areas/holding) "Ye" = ( @@ -2541,7 +2583,7 @@ vS Am Am MR -dg +CK dg oG nW @@ -3056,7 +3098,7 @@ dg CD al Am -hv +MW XP mw mw @@ -3196,7 +3238,7 @@ dg dg dg iH -PB +mw dg dg dg diff --git a/_maps/templates/lazy_templates/nukie_base.dmm b/_maps/templates/lazy_templates/nukie_base.dmm index 60c5b1dcb5825..0dab1aff93532 100644 --- a/_maps/templates/lazy_templates/nukie_base.dmm +++ b/_maps/templates/lazy_templates/nukie_base.dmm @@ -33,7 +33,9 @@ /area/centcom/syndicate_mothership/control) "ay" = ( /obj/structure/table/reinforced, -/obj/item/papercutter, +/obj/item/papercutter{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -44,23 +46,12 @@ /obj/structure/fence/cut/medium, /turf/open/misc/asteroid/snow/airless, /area/centcom/syndicate_mothership) -"aK" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/punch_shit/directional/south, -/turf/open/floor/mineral/titanium, -/area/centcom/syndicate_mothership/control) "aM" = ( /obj/machinery/microwave, /obj/structure/table/reinforced/plastitaniumglass, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) -"aX" = ( -/obj/machinery/shower/directional/south, -/turf/open/floor/iron/freezer, -/area/centcom/syndicate_mothership/control) "bf" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -71,9 +62,12 @@ /turf/open/floor/mineral/plastitanium, /area/centcom/syndicate_mothership/expansion_chemicalwarfare) "bo" = ( -/obj/structure/sink/directional/west, -/obj/structure/mirror/directional/east, -/turf/open/floor/mineral/titanium, +/obj/structure/toilet/greyscale{ + dir = 8 + }, +/obj/structure/window/reinforced/half/directional/north, +/obj/machinery/door/window/half/left/directional/west, +/turf/open/floor/catwalk_floor/titanium, /area/centcom/syndicate_mothership/control) "bp" = ( /obj/machinery/light/cold/directional/north, @@ -112,9 +106,14 @@ }, /obj/structure/table/reinforced/plasmarglass, /obj/item/surgery_tray/full{ - pixel_y = -11 + pixel_y = -3 + }, +/obj/item/storage/belt/medical{ + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 18 }, -/obj/item/storage/belt/medical, /turf/open/floor/mineral/titanium/tiled/blue, /area/centcom/syndicate_mothership/control) "bF" = ( @@ -155,11 +154,6 @@ "cl" = ( /turf/open/lava/plasma/ice_moon, /area/centcom/syndicate_mothership/control) -"cw" = ( -/obj/structure/sign/poster/contraband/c20r/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/centcom/syndicate_mothership/control) "cA" = ( /obj/machinery/portable_atmospherics/pump/lil_pump{ desc = "A betrayer to pump-kind." @@ -188,7 +182,6 @@ pixel_x = 9; pixel_y = -7 }, -/obj/structure/sign/poster/contraband/lizard/directional/west, /obj/structure/sign/poster/contraband/kudzu/directional/north, /obj/item/reagent_containers/spray/plantbgone{ pixel_x = 10; @@ -245,12 +238,13 @@ "du" = ( /obj/structure/chair/stool/directional/north, /obj/effect/landmark/start/nukeop, -/obj/structure/sign/poster/contraband/donk_co/directional/south, /turf/open/floor/wood/tile, /area/centcom/syndicate_mothership/control) "dw" = ( /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/centcom/syndicate_mothership/control) "dx" = ( @@ -265,7 +259,6 @@ pixel_x = 9; pixel_y = 18 }, -/obj/structure/sign/poster/contraband/syndiemoth/directional/west, /obj/item/storage/box/beakers{ pixel_x = -4; pixel_y = 17 @@ -348,10 +341,6 @@ /obj/item/stack/sheet/animalhide/carp/five, /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership) -"ec" = ( -/obj/structure/sign/poster/contraband/cc64k_ad, -/turf/closed/indestructible/syndicate, -/area/centcom/syndicate_mothership/control) "ee" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -397,7 +386,7 @@ "er" = ( /obj/structure/table/wood, /obj/item/food/syndicake{ - pixel_y = 3 + pixel_y = 11 }, /turf/open/floor/wood/tile, /area/centcom/syndicate_mothership/control) @@ -413,20 +402,24 @@ }, /obj/machinery/reagentgrinder{ pixel_x = 7; - pixel_y = 5 + pixel_y = 12 }, /obj/structure/noticeboard/directional/east, /obj/item/grenade/chem_grenade{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 5 }, /obj/item/grenade/chem_grenade{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 5 }, /obj/item/grenade/chem_grenade{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 5 }, /obj/item/grenade/chem_grenade{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 5 }, /obj/machinery/light/cold/directional/east, /turf/open/floor/mineral/titanium/tiled/yellow, @@ -478,11 +471,6 @@ /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/plating, /area/centcom/syndicate_mothership/expansion_bombthreat) -"fu" = ( -/obj/machinery/shower/directional/south, -/obj/machinery/light/floor, -/turf/open/floor/iron/freezer, -/area/centcom/syndicate_mothership/control) "fv" = ( /obj/machinery/light/small/directional/south, /obj/machinery/igniter/incinerator_ordmix{ @@ -528,6 +516,7 @@ /area/centcom/syndicate_mothership/control) "fA" = ( /obj/item/kirbyplants/random, +/obj/structure/sign/poster/contraband/bountyhunters/directional/north, /turf/open/floor/catwalk_floor/iron_smooth, /area/centcom/syndicate_mothership/control) "fK" = ( @@ -571,7 +560,11 @@ /area/centcom/syndicate_mothership/control) "gs" = ( /obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/mineral/titanium, +/obj/machinery/door/window/half/left/directional/north, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/iron/freezer, /area/centcom/syndicate_mothership/control) "gw" = ( /obj/machinery/light/small/directional/west, @@ -618,22 +611,23 @@ dir = 1; name = "Ordnance Chamber Monitor" }, +/obj/machinery/camera/autoname/directional/south{ + network = list("nukie") + }, /turf/open/floor/mineral/titanium/tiled/yellow, /area/centcom/syndicate_mothership/expansion_bombthreat) "gL" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Tinted Window" - }, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/siding/thinplating{ dir = 6 }, /obj/structure/table/reinforced/plasmarglass, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 +/obj/item/reagent_containers/cup/bottle/epinephrine{ + pixel_y = 8 }, -/obj/item/reagent_containers/syringe{ - pixel_y = 15 +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6; + pixel_y = 8 }, /turf/open/floor/mineral/titanium/tiled/blue, /area/centcom/syndicate_mothership/control) @@ -713,9 +707,9 @@ /obj/structure/table/reinforced/plastitaniumglass, /obj/structure/showcase/machinery/tv{ desc = "Static fills the screen. If you can find the VCR, you might be able to watch those old Heist Movies again."; - name = "\improper Static Filled Tube(TM) Television" + name = "\improper Static Filled Tube(TM) Television"; + pixel_y = 8 }, -/obj/structure/sign/poster/contraband/rip_badger/directional/east, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -793,7 +787,9 @@ /area/centcom/syndicate_mothership/control) "is" = ( /obj/structure/table/wood, -/obj/item/storage/box/drinkingglasses, +/obj/item/storage/box/drinkingglasses{ + pixel_y = 8 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -898,7 +894,11 @@ /area/centcom/syndicate_mothership/control) "jC" = ( /obj/machinery/vending/boozeomat, -/turf/closed/indestructible/syndicate, +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/plating, /area/centcom/syndicate_mothership/control) "jO" = ( /obj/machinery/camera/autoname/directional/south{ @@ -909,8 +909,8 @@ "jT" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/beer{ - pixel_x = 5; - pixel_y = -2 + pixel_x = 7; + pixel_y = 7 }, /obj/item/toy/cards/deck/syndicate{ pixel_x = -6; @@ -943,10 +943,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/centcom/syndicate_mothership/control) -"km" = ( -/obj/structure/sign/poster/contraband/lizard/directional/west, -/turf/open/floor/mineral/titanium, -/area/centcom/syndicate_mothership/control) "kq" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -981,7 +977,6 @@ /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 9 }, -/obj/structure/sign/poster/contraband/gorlex_recruitment/directional/north, /obj/effect/turf_decal/siding/thinplating_new/dark/corner, /turf/open/floor/mineral/plastitanium, /area/centcom/syndicate_mothership/control) @@ -1027,7 +1022,8 @@ /area/centcom/syndicate_mothership/control) "lg" = ( /turf/closed/indestructible/fakedoor{ - name = "BUNKER 4337" + name = "BUNKER 4337"; + dir = 4 }, /area/centcom/syndicate_mothership) "lj" = ( @@ -1062,16 +1058,12 @@ /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership) "lA" = ( -/obj/machinery/door/window/survival_pod/left/directional/west{ - name = "Toilet Door" - }, -/obj/structure/window/reinforced/survival_pod/spawner/directional/north{ - name = "Frosted Window" - }, -/obj/structure/toilet/greyscale{ - dir = 8 +/obj/structure/window/reinforced/half/directional/north, +/obj/item/soap/syndie, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/iron/freezer, /area/centcom/syndicate_mothership/control) "lB" = ( /obj/effect/turf_decal/stripes/corner{ @@ -1091,13 +1083,6 @@ dir = 1 }, /area/centcom/syndicate_mothership/control) -"lF" = ( -/obj/structure/sign/poster/contraband/bountyhunters/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer5, -/turf/open/floor/iron/smooth, -/area/centcom/syndicate_mothership/control) "lO" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 @@ -1151,10 +1136,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership/expansion_bombthreat) -"mJ" = ( -/obj/structure/sign/poster/contraband/free_key, -/turf/closed/indestructible/syndicate, -/area/centcom/syndicate_mothership/control) "mK" = ( /obj/structure/table/wood, /obj/item/pai_card, @@ -1250,14 +1231,11 @@ /area/centcom/syndicate_mothership/control) "nU" = ( /obj/machinery/oven/range, -/obj/structure/sign/poster/contraband/eat/directional/west, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) "oc" = ( -/obj/structure/fence{ - dir = 4 - }, +/obj/structure/fence, /turf/open/misc/asteroid/snow/icemoon, /area/centcom/syndicate_mothership/control) "oe" = ( @@ -1272,7 +1250,8 @@ "oh" = ( /obj/structure/table/reinforced, /obj/item/syndicatedetonator{ - desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press." + desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press."; + pixel_y = 8 }, /turf/open/floor/carpet, /area/centcom/syndicate_mothership/control) @@ -1369,8 +1348,8 @@ /area/centcom/syndicate_mothership/control) "pa" = ( /obj/machinery/light/small/directional/south, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/west, -/turf/open/floor/mineral/titanium, +/obj/machinery/shower/directional/north, +/turf/open/floor/iron/freezer, /area/centcom/syndicate_mothership/control) "pf" = ( /obj/machinery/light/small/directional/south, @@ -1381,7 +1360,6 @@ /area/centcom/syndicate_mothership/control) "pg" = ( /obj/machinery/light/small/red/directional/west, -/obj/structure/sign/poster/contraband/soviet_propaganda/directional/west, /obj/item/stack/sheet/cardboard/fifty, /turf/open/floor/mineral/titanium/yellow, /area/centcom/syndicate_mothership/control) @@ -1448,7 +1426,7 @@ /turf/open/floor/mineral/plastitanium, /area/centcom/syndicate_mothership/expansion_chemicalwarfare) "pY" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/machinery/hydroponics/constructable, /turf/open/floor/mineral/titanium/tiled, /area/centcom/syndicate_mothership/expansion_bioterrorism) @@ -1511,7 +1489,9 @@ /area/centcom/syndicate_mothership/control) "qE" = ( /obj/structure/table/rolling, -/obj/item/reagent_containers/cup/glass/bottle/juice/tomatojuice, +/obj/item/reagent_containers/cup/glass/bottle/juice/tomatojuice{ + pixel_y = 8 + }, /turf/open/floor/mineral/titanium, /area/centcom/syndicate_mothership/control) "qI" = ( @@ -1556,10 +1536,12 @@ "rb" = ( /obj/effect/turf_decal/siding/red, /obj/structure/table/reinforced, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /obj/item/stack/spacecash/c10{ pixel_x = -19; - pixel_y = 10 + pixel_y = 16 }, /turf/open/floor/iron/dark/textured_large, /area/centcom/syndicate_mothership/control) @@ -1568,20 +1550,21 @@ /area/centcom/syndicate_mothership/control) "rk" = ( /obj/structure/table/rolling, -/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk{ + pixel_y = 8 + }, /turf/open/floor/mineral/titanium, /area/centcom/syndicate_mothership/control) "rm" = ( -/obj/structure/sign/plaques/kiddie/badger{ - desc = "A list of names is engraved on this plaque. 'May their heroic sacrifices inspire your bravery' is carved at the bottom."; - name = "\improper Operative Remembrance Plaque"; - pixel_y = 27 - }, /obj/structure/bed/dogbed/cayenne, /mob/living/basic/carp/pet/cayenne, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer5, +/obj/structure/sign/plaques/kiddie/badger/directional/north{ + desc = "A list of names is engraved on this plaque. 'May their heroic sacrifices inspire your bravery' is carved at the bottom."; + name = "\improper Operative Remembrance Plaque" + }, /turf/open/floor/iron/smooth, /area/centcom/syndicate_mothership/control) "ru" = ( @@ -1604,7 +1587,6 @@ "rJ" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/knife/kitchen, -/obj/structure/sign/poster/contraband/self_ai_liberation/directional/west, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -1636,9 +1618,7 @@ /turf/open/floor/mineral/plastitanium, /area/centcom/syndicate_mothership/control) "sb" = ( -/obj/structure/fence/cut/medium{ - dir = 4 - }, +/obj/structure/fence/cut/medium, /turf/open/misc/asteroid/snow/icemoon, /area/centcom/syndicate_mothership/control) "sc" = ( @@ -1720,8 +1700,12 @@ /obj/item/stack/spacecash/c20{ pixel_y = 9 }, -/obj/item/assembly/flash/handheld, /obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/reagent_containers/cup/glass/bottle/rum{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/assembly/flash/handheld, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) "sU" = ( @@ -1754,14 +1738,15 @@ /turf/open/misc/asteroid/snow/icemoon, /area/centcom/syndicate_mothership/control) "tn" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/mapping_helpers/airalarm/unlocked, /obj/machinery/atmospherics/components/binary/pump/on{ dir = 1 }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, +/obj/machinery/button/ignition/incinerator/ordmix/directional/west{ + id = "syn_ordmix_igniter" + }, /turf/open/floor/mineral/titanium/tiled/yellow, /area/centcom/syndicate_mothership/expansion_bombthreat) "tu" = ( @@ -1774,8 +1759,12 @@ "tv" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/siding/red/corner, -/obj/item/folder/red, -/obj/item/pen/red, +/obj/item/folder/red{ + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_y = 8 + }, /turf/open/floor/iron/dark/textured_large, /area/centcom/syndicate_mothership/control) "tz" = ( @@ -1829,7 +1818,6 @@ dir = 6 }, /obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/sign/poster/contraband/gorlex_recruitment/directional/south, /obj/effect/turf_decal/siding/thinplating_new/dark/corner{ dir = 1 }, @@ -1852,12 +1840,6 @@ dir = 4 }, /area/centcom/syndicate_mothership/control) -"uN" = ( -/obj/machinery/door/window/survival_pod/left/directional/south{ - name = "Frosted Door" - }, -/turf/open/floor/iron/freezer, -/area/centcom/syndicate_mothership/control) "uT" = ( /turf/open/misc/asteroid/snow/airless, /area/centcom/syndicate_mothership) @@ -1953,7 +1935,7 @@ /area/centcom/syndicate_mothership/control) "wg" = ( /obj/structure/fence/corner{ - dir = 6 + dir = 4 }, /turf/open/misc/asteroid/snow/airless, /area/centcom/syndicate_mothership) @@ -1980,13 +1962,6 @@ }, /turf/open/misc/asteroid/snow/airless, /area/centcom/syndicate_mothership) -"wC" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/rebels_unite/directional/south, -/turf/open/floor/mineral/titanium, -/area/centcom/syndicate_mothership/control) "wG" = ( /turf/open/floor/iron/smooth_half{ dir = 1 @@ -2006,7 +1981,6 @@ /obj/machinery/chem_dispenser/drinks{ dir = 1 }, -/obj/structure/sign/poster/contraband/andromeda_bitters/directional/south, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -2176,7 +2150,8 @@ pixel_x = 5 }, /obj/item/circuitboard/computer/overwatch{ - pixel_x = -2 + pixel_x = -2; + pixel_y = 4 }, /turf/open/floor/mineral/plastitanium, /area/centcom/syndicate_mothership) @@ -2210,7 +2185,6 @@ /obj/structure/closet/crate/freezer{ name = "pantry crate" }, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/south, /obj/item/reagent_containers/condiment/rice{ pixel_y = 12 }, @@ -2268,9 +2242,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership/expansion_bioterrorism) "Ax" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Tinted Window" - }, +/obj/structure/window/reinforced/half/directional/south, /obj/effect/turf_decal/siding/thinplating{ dir = 10 }, @@ -2278,9 +2250,7 @@ /turf/open/floor/mineral/titanium/tiled, /area/centcom/syndicate_mothership/control) "AA" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Tinted Window" - }, +/obj/structure/window/reinforced/half/directional/south, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -2331,10 +2301,8 @@ /area/centcom/syndicate_mothership/control) "AV" = ( /obj/structure/chair/stool/directional/south, -/obj/structure/sign/map/left{ - desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; - icon_state = "map-left-MS"; - pixel_y = 32 +/obj/structure/sign/map/left/metastation/directional/north{ + desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)." }, /obj/effect/landmark/start/nukeop, /turf/open/floor/wood/tile, @@ -2427,7 +2395,6 @@ /turf/closed/wall/mineral/wood, /area/centcom/syndicate_mothership/control) "Ce" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/east, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 6 }, @@ -2436,7 +2403,10 @@ "Cf" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/machinery/light/directional/west, -/obj/item/reagent_containers/cup/glass/shaker, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 8; + pixel_x = 5 + }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -2463,27 +2433,27 @@ /obj/structure/table/glass/plasmaglass, /obj/item/reagent_containers/syringe{ pixel_x = -5; - pixel_y = 12 + pixel_y = 16 }, /obj/item/reagent_containers/syringe{ pixel_x = -2; - pixel_y = 13 + pixel_y = 17 }, /obj/item/reagent_containers/syringe{ pixel_x = 1; - pixel_y = 14 + pixel_y = 19 }, /obj/item/reagent_containers/dropper{ pixel_x = -4; - pixel_y = -6 + pixel_y = -3 }, /obj/item/storage/box/monkeycubes{ pixel_x = -6; - pixel_y = 5 + pixel_y = 8 }, /obj/item/reagent_containers/cup/bottle/formaldehyde{ pixel_x = 8; - pixel_y = 4 + pixel_y = 9 }, /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership/expansion_bioterrorism) @@ -2513,7 +2483,8 @@ /turf/open/floor/mineral/titanium/tiled/yellow, /area/centcom/syndicate_mothership/expansion_bombthreat) "Dq" = ( -/obj/structure/sign/poster/contraband/gorlex_recruitment/directional/west, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, /turf/open/floor/mineral/titanium, /area/centcom/syndicate_mothership/control) "Du" = ( @@ -2560,15 +2531,10 @@ pixel_x = 5; pixel_y = -29 }, -/obj/machinery/button/ignition/incinerator/ordmix{ - id = "syn_ordmix_igniter"; - pixel_x = -6; - pixel_y = -30 - }, /obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/autoname/directional/south{ - network = list("nukie") - }, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/unlocked, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/mineral/titanium/tiled/yellow, /area/centcom/syndicate_mothership/expansion_bombthreat) "DV" = ( @@ -2582,15 +2548,15 @@ /obj/machinery/light/warm/directional/north, /obj/item/reagent_containers/cup/glass/bottle/whiskey{ pixel_x = -4; - pixel_y = 14 + pixel_y = 21 }, /obj/item/toy/cards/deck{ pixel_x = 3; - pixel_y = 6 + pixel_y = 11 }, /obj/item/cigarette/robust{ pixel_x = -4; - pixel_y = 1 + pixel_y = 9 }, /obj/effect/decal/cleanable/ash{ pixel_x = 12; @@ -2598,7 +2564,7 @@ }, /obj/effect/spawner/random/entertainment/lighter{ pixel_x = 9; - pixel_y = -3 + pixel_y = 5 }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -2623,11 +2589,13 @@ /area/centcom/syndicate_mothership/control) "El" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/storage/fancy/cigarettes/cigars/havana, +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_y = 8 + }, /obj/item/toy/plush/nukeplushie{ name = "Sir Flash Nukedon"; pixel_x = -2; - pixel_y = 14 + pixel_y = 21 }, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -2654,7 +2622,6 @@ /turf/open/lava/plasma/ice_moon, /area/centcom/syndicate_mothership/control) "EL" = ( -/obj/structure/sign/poster/contraband/masked_men/directional/east, /obj/machinery/chem_dispenser/fullupgrade, /turf/open/floor/mineral/titanium/tiled/yellow, /area/centcom/syndicate_mothership/expansion_chemicalwarfare) @@ -2680,8 +2647,12 @@ /obj/effect/turf_decal/siding/red/corner{ dir = 8 }, -/obj/item/folder/red, -/obj/item/pen/red, +/obj/item/folder/red{ + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_y = 8 + }, /turf/open/floor/iron/dark/textured_large, /area/centcom/syndicate_mothership/control) "Fp" = ( @@ -2690,7 +2661,9 @@ /area/centcom/syndicate_mothership/control) "Fq" = ( /obj/structure/table/reinforced, -/obj/item/flashlight/lamp, +/obj/item/flashlight/lamp{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/centcom/syndicate_mothership/control) "FB" = ( @@ -2760,7 +2733,9 @@ /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership/expansion_bombthreat) "Gl" = ( -/obj/structure/fence, +/obj/structure/fence{ + dir = 4 + }, /obj/effect/light_emitter{ set_cap = 1; set_luminosity = 4 @@ -2835,15 +2810,12 @@ /obj/machinery/light/small/directional/south, /obj/structure/table/reinforced, /obj/item/knife/combat/survival{ - pixel_x = 7; + pixel_x = 2; pixel_y = 17 }, -/obj/item/reagent_containers/cup/glass/bottle/rum{ - pixel_x = -5; - pixel_y = 17 +/obj/machinery/recharger{ + pixel_y = 8 }, -/obj/structure/sign/poster/contraband/red_rum/directional/east, -/obj/machinery/recharger, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -2894,9 +2866,7 @@ /area/centcom/syndicate_mothership/control) "GS" = ( /obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/window/survival_pod/left/directional/south{ - name = "Surgery" - }, +/obj/machinery/door/window/half/left/directional/south, /turf/open/floor/mineral/titanium/tiled/blue, /area/centcom/syndicate_mothership/control) "GU" = ( @@ -2908,6 +2878,12 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership/control) +"GW" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/obj/structure/sign/poster/contraband/free_key/directional/north, +/turf/open/floor/iron/smooth_half, +/area/centcom/syndicate_mothership/control) "Hc" = ( /turf/open/floor/plating/icemoon, /area/centcom/syndicate_mothership/control) @@ -2965,7 +2941,7 @@ /obj/structure/table/glass/plasmaglass, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 5 }, /obj/item/reagent_containers/syringe{ pixel_x = -5; @@ -3097,7 +3073,7 @@ /obj/effect/turf_decal/siding/red, /obj/item/toy/nuke{ pixel_x = -5; - pixel_y = 1 + pixel_y = 9 }, /turf/open/floor/iron/dark/textured_large, /area/centcom/syndicate_mothership/control) @@ -3112,6 +3088,8 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer5, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, /turf/open/floor/mineral/titanium, /area/centcom/syndicate_mothership/control) "IV" = ( @@ -3126,7 +3104,6 @@ /obj/machinery/chem_dispenser/drinks/beer{ dir = 1 }, -/obj/structure/sign/poster/contraband/space_cube/directional/south, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -3164,7 +3141,6 @@ /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 5 }, -/obj/structure/sign/poster/contraband/rip_badger/directional/east, /obj/machinery/biogenerator, /turf/open/floor/mineral/plastitanium/red, /area/centcom/syndicate_mothership/expansion_bioterrorism) @@ -3334,8 +3310,12 @@ /obj/effect/turf_decal/siding/red{ dir = 1 }, -/obj/item/folder/red, -/obj/item/pen/red, +/obj/item/folder/red{ + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_y = 8 + }, /turf/open/floor/iron/dark/textured_large, /area/centcom/syndicate_mothership/control) "LM" = ( @@ -3379,17 +3359,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer5, /turf/open/floor/catwalk_floor/titanium, /area/centcom/syndicate_mothership/control) -"Mh" = ( -/obj/structure/sign/poster/contraband/lamarr/directional/south, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/centcom/syndicate_mothership/control) -"Mn" = ( -/obj/structure/sign/poster/contraband/syndiemoth/directional/east, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/centcom/syndicate_mothership/control) "Mo" = ( /obj/structure/fence/cut/medium{ dir = 4 @@ -3476,7 +3445,6 @@ /obj/structure/chair/sofa/right/brown{ dir = 4 }, -/obj/structure/sign/poster/contraband/revolver/directional/west, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) @@ -3645,10 +3613,8 @@ /area/centcom/syndicate_mothership/control) "OS" = ( /obj/structure/chair/stool/directional/south, -/obj/structure/sign/map/right{ - desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; - icon_state = "map-right-MS"; - pixel_y = 32 +/obj/structure/sign/map/right/metastation/directional/north{ + desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown." }, /turf/open/floor/wood/tile, /area/centcom/syndicate_mothership/control) @@ -3752,11 +3718,7 @@ }, /area/centcom/syndicate_mothership/control) "Qh" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Frosted Window" - }, -/obj/item/soap/syndie, -/obj/structure/sign/poster/contraband/got_wood/directional/east, +/obj/machinery/shower/directional/north, /turf/open/floor/iron/freezer, /area/centcom/syndicate_mothership/control) "Qk" = ( @@ -3770,46 +3732,43 @@ /turf/open/lava/plasma/ice_moon, /area/centcom/syndicate_mothership/control) "Ql" = ( -/obj/structure/sign/poster/contraband/fun_police/directional/west, -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Tinted Window" - }, /obj/machinery/light/cold/directional/west, /obj/structure/table/reinforced/plasmarglass, /obj/item/assembly/timer{ pixel_x = 12; - pixel_y = -9 + pixel_y = -1 }, /obj/item/assembly/timer{ - pixel_x = 15 + pixel_x = 15; + pixel_y = 7 }, /obj/item/assembly/timer{ pixel_x = 18; - pixel_y = 5 + pixel_y = 16 }, /obj/item/assembly/signaler{ - pixel_x = -2; - pixel_y = -2 + pixel_x = -1; + pixel_y = 3 }, /obj/item/assembly/signaler{ pixel_x = 2; - pixel_y = 5 + pixel_y = 10 }, /obj/item/assembly/signaler{ pixel_x = 5; - pixel_y = 10 + pixel_y = 18 }, /obj/item/assembly/prox_sensor{ - pixel_x = -6; - pixel_y = -4 + pixel_x = -8; + pixel_y = 3 }, /obj/item/assembly/prox_sensor{ pixel_x = -2; - pixel_y = 3 + pixel_y = 15 }, /obj/item/assembly/prox_sensor{ pixel_x = -6; - pixel_y = 4 + pixel_y = 12 }, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 8 @@ -3836,11 +3795,11 @@ /area/centcom/syndicate_mothership/control) "Qy" = ( /obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, /obj/item/food/nachos{ - pixel_x = 7; - pixel_y = -14 + pixel_x = 3; + pixel_y = 4 }, -/obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/centcom/syndicate_mothership/control) "QD" = ( @@ -3855,7 +3814,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/sign/poster/contraband/c20r/directional/east, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/plating, /area/centcom/syndicate_mothership/expansion_bombthreat) @@ -3952,7 +3910,6 @@ /area/centcom/syndicate_mothership/expansion_bombthreat) "RQ" = ( /obj/structure/closet/cardboard, -/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6/directional/east, /turf/open/floor/catwalk_floor/iron_dark, /area/centcom/syndicate_mothership/control) "RT" = ( @@ -4075,7 +4032,8 @@ /area/centcom/syndicate_mothership/control) "Ta" = ( /turf/closed/indestructible/fakedoor{ - name = "Sub-Laboratory Elevator" + name = "Sub-Laboratory Elevator"; + dir = 4 }, /area/centcom/syndicate_mothership/control) "Tb" = ( @@ -4167,7 +4125,9 @@ /area/centcom/syndicate_mothership/control) "TG" = ( /obj/structure/table/wood, -/obj/item/pizzabox, +/obj/item/pizzabox{ + pixel_y = 8 + }, /obj/item/storage/crayons{ pixel_x = -2; pixel_y = 5 @@ -4285,16 +4245,17 @@ }, /area/centcom/syndicate_mothership/control) "VF" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Tinted Window" - }, /obj/structure/table/reinforced/plasmarglass, /obj/item/transfer_valve{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 8 }, -/obj/item/transfer_valve, /obj/item/transfer_valve{ - pixel_x = 5 + pixel_y = 8 + }, +/obj/item/transfer_valve{ + pixel_x = 5; + pixel_y = 8 }, /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 @@ -4398,10 +4359,6 @@ /obj/structure/sign/poster/contraband/syndicate_pistol/directional/north, /turf/open/floor/mineral/titanium, /area/centcom/syndicate_mothership/control) -"WI" = ( -/obj/structure/sign/poster/contraband/revolver/directional/south, -/turf/open/floor/mineral/titanium, -/area/centcom/syndicate_mothership/control) "WR" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/siding/red{ @@ -4439,7 +4396,9 @@ /obj/effect/turf_decal/siding/red{ dir = 1 }, -/obj/machinery/recharger, +/obj/machinery/recharger{ + pixel_y = 8 + }, /turf/open/floor/iron/dark/textured_large, /area/centcom/syndicate_mothership/control) "Xk" = ( @@ -4539,9 +4498,7 @@ /turf/closed/indestructible/rock/snow, /area/centcom/syndicate_mothership) "Yk" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/south{ - name = "Tinted Window" - }, +/obj/structure/window/reinforced/half/directional/south, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -4612,7 +4569,6 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/obj/structure/sign/poster/contraband/fun_police/directional/west, /obj/machinery/portable_atmospherics/canister, /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -4629,7 +4585,9 @@ /turf/open/floor/mineral/plastitanium, /area/centcom/syndicate_mothership/control) "Zi" = ( -/obj/structure/fence/cut/large, +/obj/structure/fence/cut/large{ + dir = 4 + }, /obj/effect/light_emitter{ set_cap = 1; set_luminosity = 4 @@ -5689,7 +5647,7 @@ KU pl uT uT -ds +Ef wW KU KU @@ -5791,7 +5749,7 @@ Kq uT Oz bT -wv +SK HW HW Ws @@ -5893,7 +5851,7 @@ Kq Kq uT uT -ds +Ef HW HW HW @@ -6097,7 +6055,7 @@ Xk yA tO uT -ds +Ef HW HW nk @@ -6199,7 +6157,7 @@ lg Kq Kq Sc -ds +Ef HW HW HW @@ -6301,7 +6259,7 @@ CX os Kq vI -ds +Ef HW HW HW @@ -6403,7 +6361,7 @@ lg Kq Kq vI -ds +Ef HW HW TX @@ -6505,7 +6463,7 @@ bB bB bB YX -Mo +aJ HW HW bT @@ -6599,14 +6557,14 @@ Zi Gl Gl Kq -Ef -aJ +ds +Mo Kq -Ef -Ef -SK -Ef -Ef +ds +ds +wv +ds +ds wg HW HW @@ -6730,12 +6688,12 @@ ek ZE Yx dN +VK +Vm DZ -fu -uN Dq gw -km +ZZ gs pa RD @@ -6833,13 +6791,13 @@ DZ GF DZ DZ -aX -Qh +YZ +DZ IQ bo bo lA -lA +Qh DZ Ox Ox @@ -7032,7 +6990,7 @@ ld ld KH Ez -lF +px px px Qr @@ -7040,7 +6998,7 @@ Tn DZ Gr tc -mJ +DZ DY lQ Nb @@ -7442,7 +7400,7 @@ DZ Lz Wp Wp -cw +Qr DZ Sv DZ @@ -7650,8 +7608,8 @@ Mu DZ ad DZ -pD -Mh +GW +wG Ca wG pD @@ -9778,7 +9736,7 @@ qw qw AN LS -Mn +uX uX ZH LN @@ -10083,7 +10041,7 @@ qw qw qw VH -WI +ZZ DZ WU dO @@ -10287,7 +10245,7 @@ qw qw qw Rs -wC +Ka DZ Ld ol @@ -10491,7 +10449,7 @@ qw UE Sg Py -aK +sp DZ Ld XL @@ -10508,7 +10466,7 @@ dV dV lc lo -ec +DZ DZ DZ Ox diff --git a/_maps/templates/lazy_templates/voidwalker_void.dmm b/_maps/templates/lazy_templates/voidwalker_void.dmm new file mode 100644 index 0000000000000..2f4dadf760098 --- /dev/null +++ b/_maps/templates/lazy_templates/voidwalker_void.dmm @@ -0,0 +1,1101 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor/black, +/area/centcom/voidwalker_void) +"z" = ( +/obj/effect/wisp_food, +/turf/open/floor/black, +/area/centcom/voidwalker_void) +"W" = ( +/obj/effect/landmark/voidwalker_void, +/turf/open/floor/black, +/area/centcom/voidwalker_void) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +W +a +z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +z +a +W +a +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(6,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +W +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +z +a +a +a +a +a +a +a +a +a +"} +(21,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +W +a +"} +(22,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(23,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(24,1,1) = {" +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +a +"} +(25,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(26,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(27,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +a +W +a +a +a +z +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +W +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(31,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(32,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/_maps/templates/lazy_templates/wizard_den.dmm b/_maps/templates/lazy_templates/wizard_den.dmm index 887e1c0817639..1450d6edbcf4c 100644 --- a/_maps/templates/lazy_templates/wizard_den.dmm +++ b/_maps/templates/lazy_templates/wizard_den.dmm @@ -28,14 +28,13 @@ /area/centcom/wizard_station) "cF" = ( /obj/structure/table/wood, -/obj/item/radio/intercom, /turf/open/floor/carpet/red, /area/centcom/wizard_station) "dk" = ( /obj/machinery/power/shuttle_engine/heater{ resistance_flags = 3 }, -/obj/structure/window/reinforced/spawner/directional/north{ +/obj/structure/window/reinforced/half/directional/north{ resistance_flags = 3 }, /turf/open/lava, @@ -93,10 +92,10 @@ /obj/structure/table, /obj/item/extinguisher{ pixel_x = 7; - pixel_y = -6 + pixel_y = 8 }, /obj/item/clothing/suit/wizrobe/red{ - pixel_y = 3; + pixel_y = 11; pixel_x = -6 }, /turf/open/floor/engine/cult, @@ -175,9 +174,7 @@ /area/centcom/wizard_station) "kh" = ( /obj/structure/sink/directional/south, -/obj/structure/mirror/magic{ - pixel_y = 36 - }, +/obj/structure/mirror/magic/directional/north, /turf/open/floor/plastic, /area/centcom/wizard_station) "ko" = ( @@ -199,7 +196,7 @@ }, /obj/item/clothing/head/wizard/red{ pixel_x = 6; - pixel_y = -10 + pixel_y = 2 }, /obj/machinery/light/small/directional/east, /turf/open/floor/engine/cult, @@ -294,34 +291,6 @@ /obj/structure/bookcase/random/reference/wizard, /turf/open/floor/iron, /area/centcom/wizard_station) -"pt" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 21; - pixel_x = 6 - }, -/turf/open/floor/engine/cult, -/area/centcom/wizard_station) -"pw" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 1; - pixel_x = -6 - }, -/turf/open/floor/carpet/purple, -/area/centcom/wizard_station) -"pA" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 21; - pixel_x = 6 - }, -/turf/open/floor/carpet/red, -/area/centcom/wizard_station) -"pI" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 2; - pixel_x = 5 - }, -/turf/open/floor/engine/cult, -/area/centcom/wizard_station) "qe" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/griddle, @@ -348,7 +317,8 @@ desc = "Everything you need to know to be a wizard." }, /obj/item/stack/medical/bruise_pack{ - pixel_x = -12 + pixel_x = -12; + pixel_y = 12 }, /obj/item/reagent_containers/cup/glass/mug/coco{ pixel_x = -11; @@ -379,6 +349,10 @@ }, /turf/open/floor/engine/cult, /area/centcom/wizard_station) +"rD" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/carpet/red, +/area/centcom/wizard_station) "sx" = ( /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, @@ -424,16 +398,17 @@ "vG" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/bureaucracy/paper{ - pixel_y = 4; + pixel_y = 15; pixel_x = 4 }, /obj/item/pen{ - pixel_x = -5 + pixel_x = -5; + pixel_y = 8 }, /obj/effect/decal/cleanable/dirt/dust, /obj/item/coin/antagtoken{ pixel_x = -9; - pixel_y = 5 + pixel_y = 16 }, /turf/open/floor/engine/cult, /area/centcom/wizard_station) @@ -442,9 +417,7 @@ /turf/open/floor/grass, /area/centcom/wizard_station) "wQ" = ( -/obj/structure/mirror/magic{ - pixel_x = 32 - }, +/obj/structure/mirror/magic/directional/north, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "wY" = ( @@ -572,7 +545,7 @@ /turf/open/floor/engine/cult, /area/centcom/wizard_station) "Dy" = ( -/obj/machinery/door/window/right/directional/east, +/obj/structure/window/reinforced/half/directional/east, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "DX" = ( @@ -591,14 +564,16 @@ /obj/machinery/power/shuttle_engine/heater{ resistance_flags = 3 }, -/obj/structure/window/reinforced/spawner/directional/north{ +/obj/structure/window/reinforced/half/directional/north{ resistance_flags = 3 }, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "HD" = ( /obj/structure/table/wood, -/obj/item/storage/photo_album, +/obj/item/storage/photo_album{ + pixel_y = 8 + }, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "HX" = ( @@ -661,7 +636,7 @@ /turf/open/floor/iron, /area/centcom/wizard_station) "JW" = ( -/obj/machinery/door/window/left/directional/east, +/obj/machinery/door/window/half/left/directional/east, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "KL" = ( @@ -676,13 +651,6 @@ }, /turf/open/floor/engine/cult, /area/centcom/wizard_station) -"Lt" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 1; - pixel_x = -6 - }, -/turf/open/floor/engine/cult, -/area/centcom/wizard_station) "LU" = ( /turf/open/floor/carpet/red, /area/centcom/wizard_station) @@ -740,7 +708,7 @@ "RR" = ( /obj/structure/table/wood, /obj/item/toy/figure/wizard{ - pixel_y = 2; + pixel_y = 10; pixel_x = -5 }, /turf/open/floor/engine/cult, @@ -760,7 +728,6 @@ pixel_x = -8; pixel_y = 8 }, -/obj/effect/decal/cleanable/cobweb, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "Sg" = ( @@ -768,10 +735,7 @@ /turf/open/floor/engine/cult, /area/centcom/wizard_station) "Si" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 21; - pixel_x = -7 - }, +/obj/item/kirbyplants/organic/plant10, /turf/open/floor/engine/cult, /area/centcom/wizard_station) "St" = ( @@ -793,10 +757,7 @@ /turf/open/floor/engine/cult, /area/centcom/wizard_station) "Tl" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 2; - pixel_x = 5 - }, +/obj/item/kirbyplants/organic/plant10, /turf/open/floor/carpet/purple, /area/centcom/wizard_station) "TG" = ( @@ -892,10 +853,7 @@ /turf/open/floor/engine/cult, /area/centcom/wizard_station) "Xt" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 21; - pixel_x = -7 - }, +/obj/item/kirbyplants/organic/plant10, /turf/open/floor/carpet/red, /area/centcom/wizard_station) "XJ" = ( @@ -959,10 +917,7 @@ /turf/open/floor/iron, /area/centcom/wizard_station) "ZR" = ( -/obj/item/kirbyplants/organic/plant10{ - pixel_y = 1; - pixel_x = -6 - }, +/obj/item/kirbyplants/organic/plant10, /obj/machinery/light/small/directional/south, /turf/open/floor/engine/cult, /area/centcom/wizard_station) @@ -1307,7 +1262,7 @@ II RT kZ kZ -pI +Si VB MW ft @@ -1401,7 +1356,7 @@ kZ VB VB hj -pw +Tl VB VB eW @@ -1414,7 +1369,7 @@ qo kZ kZ kZ -pI +Si VB op op @@ -1448,12 +1403,12 @@ VB UX tz tz -Lt +Si VB kZ Ej kZ -Lt +Si uy VB VB @@ -1535,7 +1490,7 @@ ZR VB VB wQ -pI +Si VB uy tz @@ -1545,7 +1500,7 @@ VB VB VB VB -pt +Si kZ kZ uy @@ -1574,7 +1529,7 @@ op op op op -TG +VB Ol kZ kZ @@ -1625,7 +1580,7 @@ cF LU LU LU -LU +rD LU LU Pb @@ -1638,7 +1593,7 @@ sx Cm hT VB -pA +Xt LU cy VB @@ -1758,7 +1713,7 @@ op op op op -TG +VB Ol kZ kZ @@ -1807,7 +1762,7 @@ op TG Sg jD -pI +Si VB VB om @@ -1908,12 +1863,12 @@ VB xc tz tz -pI +Si VB kZ kZ kZ -pI +Si uy VB VB @@ -2043,7 +1998,7 @@ iG kZ kZ WQ -Lt +Si VB JQ Ar @@ -2135,7 +2090,7 @@ VB VB kZ xF -pI +Si VB VB VB diff --git a/_maps/templates/shelter_1.dmm b/_maps/templates/shelter_1.dmm index 1e5d6502e03c5..b591baf664ed1 100644 --- a/_maps/templates/shelter_1.dmm +++ b/_maps/templates/shelter_1.dmm @@ -2,12 +2,6 @@ "a" = ( /turf/closed/wall/mineral/titanium/survival/pod, /area/misc/survivalpod) -"b" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "c" = ( /obj/structure/fans, /turf/open/floor/pod, @@ -20,12 +14,6 @@ /obj/item/gps/computer, /turf/open/floor/pod, /area/misc/survivalpod) -"f" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "g" = ( /obj/machinery/stasis/survival_pod, /turf/open/floor/pod, @@ -38,12 +26,6 @@ /obj/item/bedsheet/black, /turf/open/floor/pod, /area/misc/survivalpod) -"j" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "k" = ( /obj/structure/table/survival_pod, /turf/open/floor/pod, @@ -55,24 +37,16 @@ }, /turf/open/floor/pod, /area/misc/survivalpod) -"m" = ( -/obj/effect/turf_decal/mining/survival, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "n" = ( /obj/structure/fans/tiny, /obj/machinery/door/airlock/survival_pod/glass, /turf/open/floor/pod, /area/misc/survivalpod) -"o" = ( -/obj/effect/turf_decal/mining, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) (1,1,1) = {" a a -f +a a a "} @@ -81,10 +55,10 @@ a c g k -m +a "} (3,1,1) = {" -b +a d h h @@ -95,12 +69,12 @@ a e i l -o +a "} (5,1,1) = {" a a -j +a a a "} diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index 38a742b85fd53..0175fab5dc3b6 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -2,12 +2,6 @@ "a" = ( /turf/closed/wall/mineral/titanium/survival/pod, /area/misc/survivalpod) -"b" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "c" = ( /obj/machinery/shower/directional/south, /obj/item/soap/deluxe, @@ -19,12 +13,6 @@ }, /turf/open/floor/pod, /area/misc/survivalpod) -"d" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "e" = ( /obj/structure/fans, /turf/open/floor/pod, @@ -43,12 +31,6 @@ }, /turf/open/floor/pod, /area/misc/survivalpod) -"j" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "k" = ( /obj/machinery/stasis/survival_pod, /turf/open/floor/pod, @@ -76,9 +58,12 @@ /area/misc/survivalpod) "p" = ( /obj/structure/table/survival_pod, -/obj/item/storage/medkit/regular, +/obj/item/storage/medkit/regular{ + pixel_y = 8 + }, /obj/item/storage/medkit/brute{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 8 }, /turf/open/floor/pod, /area/misc/survivalpod) @@ -96,7 +81,7 @@ /obj/structure/table/wood/fancy/black, /obj/item/reagent_containers/cup/glass/drinkingglass{ pixel_x = 7; - pixel_y = 2 + pixel_y = 10 }, /obj/item/reagent_containers/cup/glass/bottle/wine{ pixel_x = -6; @@ -106,7 +91,7 @@ /area/misc/survivalpod) "t" = ( /obj/machinery/microwave{ - pixel_y = -2 + pixel_y = 6 }, /obj/structure/window/reinforced/survival_pod/spawner/directional/north, /obj/structure/table/wood/fancy/black{ @@ -129,20 +114,15 @@ }, /turf/open/floor/carpet/black, /area/misc/survivalpod) -"w" = ( -/obj/structure/window/reinforced/survival_pod{ - density = 0; - dir = 9 - }, -/turf/open/floor/carpet/black, -/area/misc/survivalpod) "x" = ( /obj/structure/table/wood/fancy/black, /obj/item/reagent_containers/cup/glass/drinkingglass{ pixel_x = 7; - pixel_y = 2 + pixel_y = 10 + }, +/obj/effect/spawner/random/food_or_drink/three_course_meal{ + pixel_y = 8 }, -/obj/effect/spawner/random/food_or_drink/three_course_meal, /turf/open/floor/carpet/black, /area/misc/survivalpod) "y" = ( @@ -162,37 +142,29 @@ }, /turf/open/floor/carpet/black, /area/misc/survivalpod) -"C" = ( -/obj/effect/turf_decal/mining/survival, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "D" = ( /obj/structure/fans/tiny, /obj/machinery/door/airlock/survival_pod/glass, /turf/open/floor/pod, /area/misc/survivalpod) -"E" = ( -/obj/effect/turf_decal/mining, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) (1,1,1) = {" a -d a -d a -d +a +a +a a "} (2,1,1) = {" -b +a e k p t y -C +a "} (3,1,1) = {" a @@ -204,7 +176,7 @@ z a "} (4,1,1) = {" -b +a g m q @@ -217,25 +189,25 @@ a c n r -w +A A a "} (6,1,1) = {" -b +a i o s x B -E +a "} (7,1,1) = {" a -j a -j a -j +a +a +a a "} diff --git a/_maps/templates/shelter_3.dmm b/_maps/templates/shelter_3.dmm index d4681507a37e4..243be38812eec 100644 --- a/_maps/templates/shelter_3.dmm +++ b/_maps/templates/shelter_3.dmm @@ -2,35 +2,21 @@ "a" = ( /turf/closed/wall/mineral/titanium/survival/pod, /area/misc/survivalpod) -"b" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "c" = ( /turf/closed/wall/mineral/titanium/survival/nodiagonal, /area/misc/survivalpod) -"d" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium/survival/nodiagonal, -/area/misc/survivalpod) -"e" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/survival/nodiagonal, -/area/misc/survivalpod) "f" = ( /obj/structure/table/wood/fancy/black, -/obj/machinery/chem_dispenser/drinks, +/obj/machinery/chem_dispenser/drinks{ + pixel_y = 8 + }, /turf/open/floor/pod/dark, /area/misc/survivalpod) "g" = ( /obj/structure/table/wood/fancy/black, -/obj/machinery/chem_dispenser/drinks/beer, +/obj/machinery/chem_dispenser/drinks/beer{ + pixel_y = 8 + }, /obj/machinery/light/directional/north, /turf/open/floor/pod/dark, /area/misc/survivalpod) @@ -41,31 +27,42 @@ /turf/open/floor/pod/dark, /area/misc/survivalpod) "i" = ( -/obj/item/book/manual/wiki/barman_recipes, -/obj/item/reagent_containers/cup/glass/shaker, -/obj/item/reagent_containers/cup/rag, +/obj/item/book/manual/wiki/barman_recipes{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/rag{ + pixel_y = 8 + }, /obj/structure/table/wood/fancy/black, /turf/open/floor/pod/dark, /area/misc/survivalpod) "j" = ( /obj/structure/table/wood/fancy/black, -/obj/item/clipboard, -/obj/item/toy/figure/bartender, +/obj/item/clipboard{ + pixel_y = 8 + }, +/obj/item/toy/figure/bartender{ + pixel_y = 8 + }, /turf/open/floor/pod/dark, /area/misc/survivalpod) "k" = ( /obj/structure/table/wood/fancy/black, -/obj/item/storage/fancy/cigarettes/cigars, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 8 + }, /obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_y = 4 + pixel_y = 12 }, /obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 8 + pixel_y = 16 }, /turf/open/floor/pod/dark, /area/misc/survivalpod) "l" = ( -/obj/structure/table/wood/fancy/black, /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/pod/dark, /area/misc/survivalpod) @@ -82,9 +79,6 @@ /turf/open/floor/pod/dark, /area/misc/survivalpod) "o" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, /obj/structure/disposalpipe/junction{ dir = 4 }, @@ -108,9 +102,11 @@ /obj/structure/table/reinforced, /obj/item/lighter{ pixel_x = -4; - pixel_y = 4 + pixel_y = 12 + }, +/obj/item/lighter{ + pixel_y = 8 }, -/obj/item/lighter, /turf/open/floor/pod/dark, /area/misc/survivalpod) "t" = ( @@ -121,7 +117,7 @@ /obj/structure/table/reinforced, /obj/item/storage/box/matches{ pixel_x = -4; - pixel_y = 8 + pixel_y = 16 }, /turf/open/floor/pod/dark, /area/misc/survivalpod) @@ -131,15 +127,8 @@ }, /turf/open/floor/pod/dark, /area/misc/survivalpod) -"w" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/closed/wall/mineral/titanium/survival/nodiagonal, -/area/misc/survivalpod) "x" = ( -/obj/structure/chair/stool/bar/directional/south, +/obj/structure/chair/stool/bar/directional/north, /turf/open/floor/carpet/black, /area/misc/survivalpod) "y" = ( @@ -159,20 +148,13 @@ /turf/open/floor/carpet/black, /area/misc/survivalpod) "B" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/closed/wall/mineral/titanium/survival/nodiagonal, /area/misc/survivalpod) "C" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/west, -/obj/structure/window/reinforced/survival_pod/spawner/directional/east, -/obj/structure/window/reinforced/survival_pod/spawner/directional/north, -/obj/structure/window/reinforced/survival_pod/spawner/directional/south, -/obj/structure/grille, +/obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/pod/dark, /area/misc/survivalpod) "D" = ( @@ -202,23 +184,15 @@ /turf/open/floor/pod/light, /area/misc/survivalpod) "H" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, +/obj/structure/urinal/directional/west, /turf/open/floor/pod/light, /area/misc/survivalpod) "I" = ( -/obj/structure/sink/directional/west, /obj/machinery/light/small/directional/east, -/obj/structure/urinal/directional/north, -/obj/structure/mirror/directional/east, +/obj/structure/mirror/directional/north, +/obj/structure/sink/directional/south, /turf/open/floor/pod/light, /area/misc/survivalpod) -"J" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium/survival/nodiagonal, -/area/misc/survivalpod) "K" = ( /obj/structure/chair/comfy/black{ dir = 1 @@ -237,30 +211,15 @@ /turf/open/floor/carpet/black, /area/misc/survivalpod) "N" = ( -/obj/structure/curtain{ - alpha = 240; - color = "#454545"; - icon_state = "bathroom-closed"; - open = 0 - }, /obj/item/soap/deluxe, /obj/machinery/light/small/directional/east, /obj/machinery/shower/directional/south, /turf/open/floor/pod/light, /area/misc/survivalpod) "O" = ( -/obj/effect/turf_decal/mining/survival{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) -"P" = ( -/obj/effect/turf_decal/mining/survival, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) -"Q" = ( -/obj/effect/turf_decal/mining/survival, -/turf/closed/wall/mineral/titanium/survival/nodiagonal, +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/survival_pod/spawner/directional/south, +/turf/open/floor/pod/dark, /area/misc/survivalpod) "R" = ( /obj/machinery/door/airlock/survival_pod/glass, @@ -270,19 +229,19 @@ (1,1,1) = {" a -e +c p -e c -e +c +c C -e +c C -e +c a "} (2,1,1) = {" -b +a f q s @@ -292,7 +251,7 @@ D F K L -P +a "} (3,1,1) = {" c @@ -308,7 +267,7 @@ M c "} (4,1,1) = {" -d +c h q t @@ -318,7 +277,7 @@ D F K y -Q +c "} (5,1,1) = {" c @@ -334,7 +293,7 @@ y C "} (6,1,1) = {" -d +c j q t @@ -360,7 +319,7 @@ y c "} (8,1,1) = {" -d +c l q t @@ -370,7 +329,7 @@ c c c c -Q +c "} (9,1,1) = {" c @@ -386,10 +345,10 @@ G c "} (10,1,1) = {" -b +a n q -t +O z A c @@ -402,12 +361,12 @@ c a o r -w +r r B c -J c -O +c +a a "} diff --git a/_maps/templates/shelter_t.dmm b/_maps/templates/shelter_t.dmm index 1e8ff8bc590f0..806ad2d11e5fb 100644 --- a/_maps/templates/shelter_t.dmm +++ b/_maps/templates/shelter_t.dmm @@ -2,10 +2,6 @@ "a" = ( /turf/closed/wall/mineral/titanium/survival/pod, /area/misc/survivalpod) -"e" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/mineral/titanium/survival/pod, -/area/misc/survivalpod) "C" = ( /obj/machinery/door/airlock/survival_pod/glass, /obj/machinery/door/poddoor/shutters/preopen{ @@ -31,7 +27,7 @@ (1,1,1) = {" a -e +a a "} (2,1,1) = {" diff --git a/_maps/virtual_domains/abductor_ship.dmm b/_maps/virtual_domains/abductor_ship.dmm index 35bf563eb45c4..8f25c17badff7 100644 --- a/_maps/virtual_domains/abductor_ship.dmm +++ b/_maps/virtual_domains/abductor_ship.dmm @@ -1,19 +1,19 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "bK" = ( /turf/closed/wall/mineral/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "cp" = ( /obj/structure/table/abductor, /obj/item/food/soylentgreen{ - pixel_x = -6; - pixel_y = 5 + pixel_x = -1; + pixel_y = 12 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "cr" = ( /obj/item/flashlight/lantern{ pixel_x = 4; - pixel_y = -8; + pixel_y = 8; light_on = 1 }, /obj/item/flashlight/lantern{ @@ -31,7 +31,7 @@ "fk" = ( /obj/effect/mob_spawn/corpse/human/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ge" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -40,15 +40,15 @@ desc = "A funky looking disc, built into the floor." }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "gO" = ( /obj/structure/table/abductor, /obj/item/poster/random_abductor{ pixel_x = 9; - pixel_y = 3 + pixel_y = 10 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ih" = ( /obj/structure/table/abductor, /obj/item/storage/belt/military/abductor{ @@ -60,7 +60,7 @@ pixel_y = -1 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "kl" = ( /obj/structure/table_frame/abductor, /obj/item/organ/internal/lungs{ @@ -72,7 +72,7 @@ pixel_y = 1 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "kt" = ( /obj/structure/table/abductor, /obj/item/multitool/abductor{ @@ -84,26 +84,26 @@ pixel_x = -1 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "kN" = ( /obj/machinery/fat_sucker, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lC" = ( /obj/structure/table/abductor, /obj/item/clothing/head/helmet/abductor{ pixel_x = -5; - pixel_y = 7 + pixel_y = 17 }, /obj/item/abductor/silencer{ pixel_x = 6; - pixel_y = -4 + pixel_y = 6 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lN" = ( -/turf/open/floor/holofloor/hyperspace, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) "lR" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -111,31 +111,30 @@ "lW" = ( /obj/machinery/iv_drip, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "mR" = ( /obj/machinery/abductor/pad, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "nT" = ( /obj/structure/table/abductor, /obj/item/food/soylentgreen{ pixel_x = 4; - pixel_y = -1 + pixel_y = 12 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "oL" = ( /obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "pL" = ( -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, -/turf/open/space/basic, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/closed/indestructible/alien/nodiagonal, +/area/virtual_domain) "pT" = ( /obj/effect/decal/cleanable/blood/footprints, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "rw" = ( /obj/structure/table/abductor, /obj/item/toy/plush/abductor/agent{ @@ -143,7 +142,7 @@ pixel_y = 8 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "rY" = ( /obj/modular_map_root/safehouse{ key = "abductor" @@ -152,60 +151,62 @@ /area/virtual_domain/safehouse) "sv" = ( /obj/structure/table/abductor, -/obj/item/crowbar/abductor, +/obj/item/crowbar/abductor{ + pixel_y = 6 + }, /obj/item/stock_parts/power_store/cell/infinite/abductor{ pixel_x = 5; - pixel_y = -3 + pixel_y = 2 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "to" = ( /obj/effect/decal/cleanable/molten_object{ pixel_x = 9; pixel_y = 7 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "uk" = ( /obj/structure/table/abductor, /obj/item/wrench/abductor{ pixel_x = 2; - pixel_y = 7 + pixel_y = 16 }, /obj/item/wirecutters/abductor{ pixel_x = -3; - pixel_y = 4 + pixel_y = 10 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "uw" = ( /obj/structure/bed/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ux" = ( /obj/machinery/door/airlock/abductor{ name = "Command Center"; locked = 1 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "uD" = ( /obj/machinery/computer/camera_advanced/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vY" = ( /obj/machinery/door/airlock/abductor{ name = "Repair Bay" }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vZ" = ( /obj/machinery/abductor/gland_dispenser, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xB" = ( /turf/closed/indestructible/opsglass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xM" = ( /obj/effect/decal/cleanable/molten_object{ pixel_x = -6; @@ -213,136 +214,138 @@ }, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "yt" = ( /obj/effect/decal/cleanable/blood/xtracks, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "zX" = ( /obj/machinery/abductor/experiment, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "AG" = ( /obj/item/shell/server, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) +"Bj" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/alien/nodiagonal, +/area/virtual_domain) "Fy" = ( /obj/effect/decal/cleanable/molten_object/large{ pixel_x = -5; pixel_y = 14 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "GX" = ( /obj/structure/chair/office{ dir = 4 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "IC" = ( /obj/structure/table/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "JC" = ( /obj/item/organ/external/tail/cat, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "JR" = ( /obj/machinery/door/airlock/abductor{ name = "Experimentation Lab" }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "JU" = ( /obj/structure/closet/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "KK" = ( /obj/structure/bed/abductor, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "KX" = ( -/turf/closed/indestructible/binary, -/area/space) +/turf/open/floor/holofloor/hyperspace, +/area/space/virtual_domain) "Lz" = ( /obj/structure/table/abductor, /obj/item/melee/baton/abductor{ desc = "Even aliens can see the use of a good old-fashioned beating stick."; pixel_x = 6; - pixel_y = -5 + pixel_y = 3 }, /obj/item/gun/energy/shrink_ray{ pixel_x = -5; - pixel_y = 7 + pixel_y = 12 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Mr" = ( /obj/machinery/chem_dispenser/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "MC" = ( /obj/item/kirbyplants/photosynthetic, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ne" = ( /obj/machinery/abductor/console, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "NW" = ( /obj/structure/server, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "PB" = ( /obj/item/organ/external/antennae, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Qp" = ( /turf/template_noop, -/area/space) +/area/template_noop) "QC" = ( /obj/structure/chair/comfy/teal{ dir = 8 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Rd" = ( /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Rg" = ( /obj/structure/table/abductor, -/obj/item/ammo_box/magazine/smgm45, +/obj/item/ammo_box/magazine/smgm45{ + pixel_y = 8 + }, /obj/item/ammo_box/magazine/smgm45{ pixel_x = 9; - pixel_y = 3 + pixel_y = 13 }, /obj/item/gun/ballistic/automatic/c20r/unrestricted{ pixel_x = -5; - pixel_y = -5 + pixel_y = -1 }, /turf/template_noop, /area/virtual_domain/safehouse) "RI" = ( /obj/machinery/door/airlock/abductor, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Sd" = ( /obj/machinery/recharge_station, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ub" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Uf" = ( -/obj/item/flashlight/seclite{ - pixel_x = 9; - pixel_y = -11 - }, /obj/item/clothing/suit/armor/vest/alt{ pixel_x = 10; pixel_y = 8 @@ -355,29 +358,35 @@ pixel_x = 2; pixel_y = -2 }, +/obj/item/flashlight/seclite{ + pixel_x = 9 + }, /turf/template_noop, /area/virtual_domain/safehouse) "Us" = ( /obj/structure/table/abductor, /obj/item/abductor/mind_device{ desc = "Just holding this makes your head ache."; - pixel_x = 3 + pixel_x = 3; + pixel_y = 12 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "UX" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Vl" = ( /obj/machinery/harvester, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "VE" = ( /obj/structure/table/abductor, -/obj/item/storage/box/alienhandcuffs, +/obj/item/storage/box/alienhandcuffs{ + pixel_y = 8 + }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "VY" = ( /obj/effect/mob_spawn/corpse/human/abductor{ pixel_x = 9; @@ -385,44 +394,46 @@ }, /obj/effect/decal/cleanable/xenoblood, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "We" = ( /obj/structure/table/abductor, /obj/item/dualsaber/green{ pixel_x = -5; - pixel_y = 2 + pixel_y = 12 }, /obj/item/gun/ballistic/automatic/c20r/unrestricted{ pixel_x = 8; - pixel_y = -6 + pixel_y = 2 }, /turf/template_noop, /area/virtual_domain/safehouse) "Wk" = ( /obj/structure/table/abductor, -/obj/item/weldingtool/abductor, +/obj/item/weldingtool/abductor{ + pixel_y = 8 + }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "WS" = ( /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "XU" = ( /obj/effect/decal/cleanable/xenoblood/xgibs/body, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Yq" = ( /obj/effect/decal/cleanable/xenoblood/xsplatter, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "YV" = ( /turf/closed/indestructible/alien, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ZM" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, /turf/open/floor/plating/abductor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) (1,1,1) = {" Qp @@ -440,18 +451,14 @@ Qp Qp Qp Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL +pL +pL +pL +pL +pL +pL +pL Qp Qp Qp @@ -480,6 +487,16 @@ Qp Qp Qp Qp +pL +YV +YV +YV +YV +YV +YV +YV +YV +pL Qp Qp Qp @@ -491,6 +508,8 @@ Qp Qp Qp Qp +"} +(3,1,1) = {" Qp Qp Qp @@ -504,17 +523,18 @@ Qp Qp Qp Qp -Qp -"} -(3,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL +YV +kN +lW +uw +IC +IC +uw +lW +kN +YV +pL Qp Qp Qp @@ -525,6 +545,8 @@ Qp Qp Qp Qp +"} +(4,1,1) = {" Qp Qp Qp @@ -537,6 +559,20 @@ Qp Qp Qp Qp +pL +YV +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +YV +pL Qp Qp Qp @@ -547,10 +583,7 @@ Qp Qp Qp "} -(4,1,1) = {" -Qp -Qp -Qp +(5,1,1) = {" Qp Qp Qp @@ -562,6 +595,22 @@ Qp Qp Qp Qp +pL +YV +WS +WS +WS +WS +WS +WS +WS +WS +WS +oL +WS +WS +YV +pL Qp Qp Qp @@ -570,6 +619,8 @@ Qp Qp Qp Qp +"} +(6,1,1) = {" Qp Qp Qp @@ -580,6 +631,24 @@ Qp Qp Qp Qp +pL +YV +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +YV +pL Qp Qp Qp @@ -588,228 +657,244 @@ Qp Qp Qp "} -(5,1,1) = {" +(7,1,1) = {" Qp +lN +lN +lN +lN Qp Qp Qp Qp +pL +YV +WS +WS +WS +MC +YV +YV +YV +WS +WS +YV +YV +YV +MC +WS +WS +WS +YV +pL Qp Qp Qp Qp Qp Qp +"} +(8,1,1) = {" +lN +lN KX KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -Qp -Qp -Qp -Qp +lN Qp Qp Qp +pL +YV +lW +WS +WS +YV +YV +YV +bK +YV +WS +WS +YV +YV +YV +YV +YV +WS +WS +lW +YV +pL Qp Qp Qp Qp Qp "} -(6,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(9,1,1) = {" +lN KX KX +KX +lN +Qp +Qp +pL YV +WS +WS +WS YV YV +bK +bK YV YV +WS +WS YV YV YV YV YV YV +WS +WS +WS YV -YV -YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL Qp Qp Qp Qp "} -(7,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(10,1,1) = {" +lN +KX KX KX +lN +Qp +pL YV +WS +WS +WS YV YV +JU +yt +VY YV -kN -lW -uw -IC -IC -uw -lW -kN +MC +WS +WS +MC YV +ih +Yq +JU YV YV +UX +WS +WS YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL Qp Qp Qp "} -(8,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(11,1,1) = {" +lN KX KX +KX +lN +pL YV +UX +WS +WS YV YV -YV +Wk WS WS WS +YV WS WS WS WS +YV +rw WS WS WS YV YV +Vl +WS +MC YV -YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL Qp Qp "} -(9,1,1) = {" -Qp -Qp -Qp -KX -KX -KX +(12,1,1) = {" +lN KX KX KX -YV -YV -YV +pL +bK YV WS WS +YV +YV +uk WS +oL +YV +YV WS WS WS WS WS WS -oL +YV +YV WS WS +JU YV YV YV YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +YV +YV +Bj Qp "} -(10,1,1) = {" -Qp -Qp +(13,1,1) = {" +lN +KX KX KX -lN -lN -lN -lN -YV -YV YV +bK YV WS WS +YV +JU +WS WS WS +vY WS WS WS @@ -818,326 +903,227 @@ WS WS WS WS +RI WS WS +XU +gO YV YV YV +AG YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +YV +pL "} -(11,1,1) = {" -Qp +(14,1,1) = {" +lN KX KX -lN -lN -lN -lN -YV +KX +pL YV YV +MC +Vl YV -WS -WS +UX WS MC YV YV -YV WS WS -YV -YV -YV -MC +WS +WS +WS WS WS WS YV YV +JU +fk +lC YV YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp +NW +WS +NW +YV +pL "} -(12,1,1) = {" +(15,1,1) = {" +lN KX KX -lN -lN -lN -lN -YV +KX +xB +pL YV YV YV -lW -WS -WS YV YV YV -bK YV +MC +WS +WS +ge +ge +ge +ge +ge +rY WS WS +MC YV YV YV YV YV +NW WS -WS -lW -YV -YV -YV +NW YV -KX -KX -Qp -Qp -Qp -Qp -Qp +pL "} -(13,1,1) = {" -KX -lN -lN -lN +(16,1,1) = {" lN -YV -YV -YV -YV +KX +KX +xB +xB +uD +ZM +ZM WS +Rd +MC WS WS -YV -YV -bK -bK -YV -YV WS WS -YV -YV -YV -YV -YV -YV +WS +ge +ge +ge +ge +ge +ge +WS +WS +WS WS WS WS YV YV +xB +xB +xB YV -YV -KX -KX -Qp -Qp -Qp -Qp +pL "} -(14,1,1) = {" -KX -lN -lN +(17,1,1) = {" lN -YV -YV -YV -YV +KX +KX +xB +Ne WS WS WS -YV -YV -JU -yt -VY -YV -MC WS +ux WS -MC -YV -ih -Yq -JU -YV -YV -UX WS WS -YV -YV -YV -YV -KX -KX -Qp -Qp -Qp -"} -(15,1,1) = {" -KX -lN -lN -lN -YV -bK -YV -UX WS WS -YV -YV -Wk +WS +ge +ge +Uf +cr +ge +ge WS WS WS -YV WS WS WS WS YV -rw WS WS WS YV -YV -Vl -WS -MC -YV -bK -YV -YV -KX -KX -Qp -Qp +pL "} -(16,1,1) = {" -KX -lN -lN +(18,1,1) = {" lN -YV -bK -YV +KX +KX +xB +Lz WS WS -YV -YV -uk WS -oL -YV -YV WS +Rd WS WS WS WS WS -YV -YV WS +ge +ge +We +Rg +ge +ge WS -JU -YV -YV -YV -YV -YV -YV -bK -YV -YV -KX -Qp -Qp -"} -(17,1,1) = {" -KX -lN -lN -lN -YV -bK -YV WS WS -YV -JU +oL WS WS WS -vY +RI WS +oL WS +YV +pL +"} +(19,1,1) = {" +lN +KX +KX +xB +Ne WS WS WS WS +ux WS WS -RI WS WS -XU -gO -YV -YV -YV -AG -YV -YV -bK -YV -KX -Qp -Qp -"} -(18,1,1) = {" -KX -lN -lN -lN -YV -YV -YV -MC -Vl -YV -UX WS -MC -YV -YV WS +ge +ge +ge +ge +ge +ge WS WS WS @@ -1146,653 +1132,139 @@ WS WS WS YV -YV -JU -fk -lC -YV -YV -NW WS -NW -YV -bK +WS +WS YV -KX -Qp -Qp +pL "} -(19,1,1) = {" -KX -lN -lN +(20,1,1) = {" lN -pL -YV -YV -YV -YV -YV -YV -YV -YV +KX +KX +xB +xB +uD +Ub +Ub +WS +Rd MC WS WS +WS +WS +WS ge ge ge ge +dM ge -rY WS WS -MC -YV -YV -YV -YV -YV -NW -WS -NW -YV -bK -YV -KX -Qp -Qp -"} -(20,1,1) = {" -KX -lN -lN -pL -pL -uD -ZM -ZM -WS -Rd -MC -WS -WS -WS -WS -WS -ge -ge -ge -ge -ge -ge -WS -WS -WS -WS -WS -WS -YV -YV -xB -xB -xB -YV -bK -YV -KX -Qp -Qp -"} -(21,1,1) = {" -KX -lN -lN -pL -Ne -WS -WS -WS -WS -ux -WS -WS -WS -WS -WS -WS -ge -ge -Uf -cr -ge -ge -WS -WS -WS -WS -WS -WS -WS -YV -WS -WS -WS -YV -bK -YV -KX -Qp -Qp -"} -(22,1,1) = {" -KX -lN -lN -pL -Lz -WS -WS -WS -WS -Rd -WS -WS -WS -WS -WS -WS -ge -ge -We -Rg -ge -ge -WS -WS -WS -oL -WS -WS -WS -RI -WS -oL -WS -YV -bK -YV -KX -Qp -Qp -"} -(23,1,1) = {" -KX -lN -lN -pL -Ne -WS -WS -WS -WS -ux -WS -WS -WS -WS -WS -WS -ge -ge -ge -ge -ge -ge -WS -WS -WS -WS -WS -WS -WS -YV -WS -WS -WS -YV -bK -YV -KX -Qp -Qp -"} -(24,1,1) = {" -KX -lN -lN -pL -pL -uD -Ub -Ub -WS -Rd -MC -WS -WS -WS -WS -WS -ge -ge -ge -ge -dM -ge -WS -WS -WS -WS -WS -WS -YV -YV -xB -xB -xB -YV -bK -YV -KX -Qp -Qp -"} -(25,1,1) = {" -KX -lN -lN -lN -pL -YV -YV -YV -YV -YV -YV -YV -YV -MC -WS -WS -ge -ge -ge -ge -ge -lR -WS -WS -MC -YV -YV -YV -YV -bK -NW -WS -NW -YV -bK -YV -KX -Qp -Qp -"} -(26,1,1) = {" -KX -lN -lN -lN -YV -YV -YV -MC -uw -YV -Mr -JC -uw -YV -YV -WS -WS -WS -WS -WS -WS -WS -WS -YV -YV -MC -xM -cp -YV -bK -NW -WS -NW -YV -bK -YV -KX -Qp -Qp -"} -(27,1,1) = {" -KX -lN -lN -lN -YV -bK -YV -UX -WS -YV -uw -WS -WS -pT -JR -WS -WS -WS -WS -WS -WS -WS -WS -RI -WS -WS -WS -Us -YV -bK -bK -AG -YV -YV -bK -YV -KX -Qp -Qp -"} -(28,1,1) = {" -KX -lN -lN -lN -YV -bK -YV -WS -WS -YV -YV -mR -WS -WS -YV -YV -WS -WS -WS -WS -WS -WS -YV -YV -Fy -WS -IC -YV -YV -YV -YV -YV -YV -bK -YV -YV -KX -Qp -Qp -"} -(29,1,1) = {" -KX -lN -lN -lN -YV -bK -YV -WS -WS -WS -YV -YV -kl -PB -WS -KK -YV -WS -WS -WS -WS -YV -VE -to -oL -QC -YV -YV -UX -WS -MC -YV -bK -YV -YV -KX -KX -Qp -Qp -"} -(30,1,1) = {" -KX -lN -lN -lN -YV -YV -YV -YV -WS -WS -WS -YV -YV -uw -MC -vZ -YV -MC -WS -WS -WS -YV -nT -WS -MC -YV -YV -WS -WS -WS -YV -YV -YV -YV -KX -KX -Qp -Qp -Qp -"} -(31,1,1) = {" -KX -lN -lN -lN -lN -YV -YV -YV -YV -gF -WS -WS -YV -YV -YV -YV -YV -YV -WS -WS -YV -YV -YV -YV -YV -YV -WS WS -gF -YV +WS +WS +WS YV YV +xB +xB +xB YV -KX -KX -Qp -Qp -Qp -Qp +pL "} -(32,1,1) = {" +(21,1,1) = {" +lN KX KX -lN -lN -lN -lN -YV +KX +xB +pL YV YV YV -lW -oL -WS YV YV YV -bK YV +MC WS WS -YV -bK -YV -YV -YV +ge +ge +ge +ge +ge +lR WS WS -lW +MC YV YV YV YV -KX -KX -Qp -Qp -Qp -Qp -Qp +bK +NW +WS +NW +YV +pL "} -(33,1,1) = {" -Qp +(22,1,1) = {" +lN KX KX -lN -lN -lN -lN +KX +pL +YV YV +MC +uw YV +Mr +JC +uw YV YV WS WS WS -MC -YV -YV -YV WS WS -YV -YV -YV -MC WS WS -oL +WS YV YV +MC +xM +cp YV +bK +NW +WS +NW YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp +pL "} -(34,1,1) = {" -Qp -Qp +(23,1,1) = {" +lN +KX KX KX -lN -lN -lN -lN -YV -YV YV +bK YV +UX WS +YV +uw WS WS +pT +JR WS WS WS @@ -1801,262 +1273,234 @@ WS WS WS WS +RI WS WS WS +Us YV +bK +bK +AG YV YV -YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL "} -(35,1,1) = {" -Qp -Qp -Qp -KX -KX -KX +(24,1,1) = {" +lN KX KX KX +pL +bK YV -YV -YV -YV -WS WS WS +YV +YV +mR WS WS +YV +YV WS WS WS WS WS WS +YV +YV +Fy WS +IC YV YV YV YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +YV +YV +pL Qp "} -(36,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(25,1,1) = {" +lN KX KX +KX +lN +pL YV +WS +WS +WS YV YV -YV -zX -WS -GX +kl +PB WS +KK +YV WS WS WS -GX WS -zX YV +VE +to +oL +QC YV YV +UX +WS +MC YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL Qp Qp "} -(37,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(26,1,1) = {" +lN +KX KX KX +lN +Qp +pL YV +WS +WS +WS YV YV +uw +MC +vZ YV -Sd -sv -Sd +MC +WS WS WS -Sd -kt -Sd YV +nT +WS +MC YV YV +WS +WS +WS YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL Qp Qp Qp "} -(38,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(27,1,1) = {" +lN +KX KX KX +lN +Qp +Qp +pL YV +gF +WS +WS YV YV YV YV YV YV +WS +WS YV YV YV YV YV YV +WS +WS +gF YV -KX -KX -Qp -Qp -Qp -Qp -Qp -Qp -Qp +pL Qp Qp Qp Qp "} -(39,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX -KX +(28,1,1) = {" +lN +lN KX KX +lN Qp Qp Qp -Qp -Qp -Qp -Qp +pL +YV +lW +oL +WS +YV +YV +YV +bK +YV +WS +WS +YV +bK +YV +YV +YV +WS +WS +lW +YV +pL Qp Qp Qp Qp Qp "} -(40,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(29,1,1) = {" Qp +lN +lN +lN +lN Qp Qp Qp Qp +pL +YV +WS +WS +WS +MC +YV +YV +YV +WS +WS +YV +YV +YV +MC +WS +WS +oL +YV +pL Qp Qp Qp @@ -2064,10 +1508,7 @@ Qp Qp Qp "} -(41,1,1) = {" -Qp -Qp -Qp +(30,1,1) = {" Qp Qp Qp @@ -2078,6 +1519,24 @@ Qp Qp Qp Qp +pL +YV +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +YV +pL Qp Qp Qp @@ -2085,6 +1544,8 @@ Qp Qp Qp Qp +"} +(31,1,1) = {" Qp Qp Qp @@ -2096,6 +1557,22 @@ Qp Qp Qp Qp +pL +YV +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +WS +YV +pL Qp Qp Qp @@ -2105,25 +1582,7 @@ Qp Qp Qp "} -(42,1,1) = {" -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp -Qp +(32,1,1) = {" Qp Qp Qp @@ -2136,6 +1595,20 @@ Qp Qp Qp Qp +pL +YV +zX +WS +GX +WS +WS +WS +WS +GX +WS +zX +YV +pL Qp Qp Qp @@ -2146,10 +1619,7 @@ Qp Qp Qp "} -(43,1,1) = {" -Qp -Qp -Qp +(33,1,1) = {" Qp Qp Qp @@ -2163,6 +1633,18 @@ Qp Qp Qp Qp +pL +YV +Sd +sv +Sd +WS +WS +Sd +kt +Sd +YV +pL Qp Qp Qp @@ -2173,6 +1655,8 @@ Qp Qp Qp Qp +"} +(34,1,1) = {" Qp Qp Qp @@ -2186,9 +1670,17 @@ Qp Qp Qp Qp -"} -(44,1,1) = {" Qp +pL +YV +YV +YV +YV +YV +YV +YV +YV +pL Qp Qp Qp @@ -2200,6 +1692,8 @@ Qp Qp Qp Qp +"} +(35,1,1) = {" Qp Qp Qp @@ -2215,6 +1709,14 @@ Qp Qp Qp Qp +pL +pL +pL +pL +pL +pL +pL +pL Qp Qp Qp diff --git a/_maps/virtual_domains/ash_drake.dmm b/_maps/virtual_domains/ash_drake.dmm index f789e44fbc69f..e4189071fbba0 100644 --- a/_maps/virtual_domains/ash_drake.dmm +++ b/_maps/virtual_domains/ash_drake.dmm @@ -34,6 +34,10 @@ /obj/structure/marker_beacon/bronze, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) +"p" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) "q" = ( /mob/living/simple_animal/hostile/megafauna/dragon, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -42,12 +46,8 @@ /turf/closed/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) "u" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) -"v" = ( /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain/fullbright) "G" = ( /obj/structure/marker_beacon/purple, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -71,56 +71,55 @@ /area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u u "} (2,1,1) = {" -v -s +u s s s @@ -164,10 +163,11 @@ s s s s -v +p +u "} (3,1,1) = {" -v +u s s s @@ -212,10 +212,10 @@ s J J s -v +u "} (4,1,1) = {" -v +u s s J @@ -260,10 +260,10 @@ J J J s -v +u "} (5,1,1) = {" -v +u s s J @@ -308,10 +308,10 @@ J J s s -v +u "} (6,1,1) = {" -v +u s s J @@ -356,10 +356,10 @@ J J s s -v +u "} (7,1,1) = {" -v +u s s J @@ -404,10 +404,10 @@ J J J s -v +u "} (8,1,1) = {" -v +u s s J @@ -452,10 +452,10 @@ J J s s -v +u "} (9,1,1) = {" -v +u s J J @@ -500,10 +500,10 @@ a J J s -v +u "} (10,1,1) = {" -v +u s J J @@ -548,10 +548,10 @@ a J J s -v +u "} (11,1,1) = {" -v +u s s J @@ -596,10 +596,10 @@ a J J s -v +u "} (12,1,1) = {" -v +u s s J @@ -644,10 +644,10 @@ J J J s -v +u "} (13,1,1) = {" -v +u s s J @@ -692,10 +692,10 @@ a J J s -v +u "} (14,1,1) = {" -v +u s s J @@ -740,10 +740,10 @@ a J J s -v +u "} (15,1,1) = {" -v +u s J J @@ -788,10 +788,10 @@ a J J s -v +u "} (16,1,1) = {" -v +u s J J @@ -836,10 +836,10 @@ a J J s -v +u "} (17,1,1) = {" -v +u s s J @@ -884,10 +884,10 @@ a J J s -v +u "} (18,1,1) = {" -v +u s s J @@ -932,10 +932,10 @@ J J s s -v +u "} (19,1,1) = {" -v +u s J J @@ -980,10 +980,10 @@ a J J s -v +u "} (20,1,1) = {" -v +u s J J @@ -1028,10 +1028,10 @@ a J J s -v +u "} (21,1,1) = {" -v +u s s J @@ -1076,10 +1076,10 @@ a J s s -v +u "} (22,1,1) = {" -v +u s s J @@ -1124,10 +1124,10 @@ a J s s -v +u "} (23,1,1) = {" -v +u s J J @@ -1172,10 +1172,10 @@ a J s s -v +u "} (24,1,1) = {" -v +u s J J @@ -1220,10 +1220,10 @@ a J J s -v +u "} (25,1,1) = {" -v +u s s J @@ -1268,10 +1268,10 @@ J J J s -v +u "} (26,1,1) = {" -v +u s s J @@ -1316,10 +1316,10 @@ a J J s -v +u "} (27,1,1) = {" -v +u s s J @@ -1364,10 +1364,10 @@ a J J s -v +u "} (28,1,1) = {" -v +u s J J @@ -1412,10 +1412,10 @@ J J J s -v +u "} (29,1,1) = {" -v +u s J J @@ -1460,10 +1460,10 @@ J J s s -v +u "} (30,1,1) = {" -v +u s s J @@ -1508,10 +1508,10 @@ J J s s -v +u "} (31,1,1) = {" -v +u s s a @@ -1556,10 +1556,10 @@ J J J s -v +u "} (32,1,1) = {" -v +u s s a @@ -1604,10 +1604,10 @@ J J J s -v +u "} (33,1,1) = {" -v +u s s s @@ -1652,10 +1652,10 @@ J J J s -v +u "} (34,1,1) = {" -v +u s s s @@ -1700,53 +1700,53 @@ s s s s -v +u "} (35,1,1) = {" -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u +u "} diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm index 5e1c6f753b8ac..b22a26cd19986 100644 --- a/_maps/virtual_domains/beach_bar.dmm +++ b/_maps/virtual_domains/beach_bar.dmm @@ -2,7 +2,6 @@ "ab" = ( /obj/machinery/vending/cigarette/beach, /obj/effect/turf_decal/sand, -/obj/structure/sign/poster/contraband/have_a_puff/directional/west, /turf/open/floor/iron, /area/virtual_domain/fullbright) "ag" = ( @@ -68,6 +67,18 @@ /obj/item/reagent_containers/pill/lsd, /obj/item/reagent_containers/pill/lsd, /obj/item/reagent_containers/pill/lsd, +/obj/item/reagent_containers/pill/zoom{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/item/reagent_containers/pill/zoom{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/item/reagent_containers/pill/zoom{ + pixel_y = 12; + pixel_x = 5 + }, /turf/open/floor/wood, /area/virtual_domain/fullbright) "cv" = ( @@ -169,9 +180,6 @@ }, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"iz" = ( -/turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) "iR" = ( /obj/structure/table, /obj/item/book/manual/wiki/barman_recipes, @@ -213,9 +221,8 @@ /turf/open/floor/sepia, /area/virtual_domain/fullbright) "kv" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain/fullbright) "kG" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -285,7 +292,9 @@ /area/virtual_domain/fullbright) "oP" = ( /obj/structure/table/wood, -/obj/machinery/reagentgrinder, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, /turf/open/floor/wood, /area/virtual_domain/fullbright) "pr" = ( @@ -309,10 +318,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"qg" = ( -/obj/structure/sign/poster/contraband/space_up/directional/west, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) "qR" = ( /obj/effect/spawner/structure/window, /obj/structure/curtain, @@ -329,10 +334,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"ri" = ( -/obj/structure/sign/poster/official/fruit_bowl, -/turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) "rm" = ( /obj/item/storage/crayons, /obj/structure/closet/crate/wooden, @@ -464,13 +465,17 @@ /area/lavaland/surface/outdoors/virtual_domain) "xk" = ( /obj/structure/table/wood/poker, -/obj/item/storage/dice, -/obj/item/stack/spacecash/c1000, +/obj/item/storage/dice{ + pixel_y = 10 + }, +/obj/item/stack/spacecash/c1000{ + pixel_y = 4 + }, /turf/open/floor/wood, /area/virtual_domain/fullbright) "xq" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/west, +/obj/structure/window/reinforced/half/directional/south, /obj/item/megaphone, /turf/open/floor/wood, /area/virtual_domain/fullbright) @@ -490,24 +495,14 @@ /turf/open/floor/wood, /area/virtual_domain/fullbright) "xR" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/east, +/obj/structure/window/reinforced/half/directional/north, /obj/structure/chair/stool/directional/south, /obj/item/storage/backpack/duffelbag, /obj/item/clothing/under/shorts/red, /obj/item/clothing/glasses/sunglasses, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"xW" = ( -/turf/open/space/basic, -/area/space) -"ya" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/pill/zoom, -/obj/item/reagent_containers/pill/zoom, -/obj/item/reagent_containers/pill/zoom, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) "yi" = ( /obj/structure/sink/kitchen/directional/west{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -549,7 +544,7 @@ /turf/open/floor/plating, /area/virtual_domain/fullbright) "yX" = ( -/obj/structure/chair/stool/bar/directional/south, +/obj/structure/chair/stool/bar/directional/north, /turf/open/floor/carpet/red, /area/virtual_domain/fullbright) "zn" = ( @@ -600,7 +595,8 @@ /area/virtual_domain/fullbright) "AP" = ( /obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 1 + dir = 1; + pixel_y = 8 }, /obj/structure/table/wood, /turf/open/floor/wood, @@ -608,11 +604,12 @@ "Br" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck/cas{ - pixel_x = -6 + pixel_x = -6; + pixel_y = 8 }, /obj/item/toy/cards/deck/cas/black{ pixel_x = -6; - pixel_y = 2 + pixel_y = 17 }, /turf/open/floor/wood, /area/virtual_domain/fullbright) @@ -632,7 +629,9 @@ /area/virtual_domain/fullbright) "BJ" = ( /obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, +/obj/item/toy/cards/deck{ + pixel_y = 10 + }, /turf/open/floor/wood, /area/virtual_domain/fullbright) "BM" = ( @@ -654,7 +653,7 @@ /turf/open/floor/iron/grimy, /area/virtual_domain/fullbright) "CA" = ( -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/mob_spawn/ghost_role/human/beach/lifeguard, /turf/open/floor/wood, /area/virtual_domain/fullbright) @@ -663,10 +662,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"Db" = ( -/obj/machinery/barsign/all_access, -/turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/fullbright) "Ds" = ( /obj/machinery/door/airlock/public/glass{ name = "Resort Lobby" @@ -683,9 +678,12 @@ /turf/closed/wall/mineral/sandstone, /area/virtual_domain/fullbright) "Em" = ( -/obj/item/reagent_containers/condiment/enzyme, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_y = 14 + }, /obj/item/reagent_containers/cup/beaker{ - pixel_x = 5 + pixel_x = 5; + pixel_y = 3 }, /obj/structure/table, /turf/open/floor/wood, @@ -697,11 +695,12 @@ /area/virtual_domain/fullbright) "Ev" = ( /obj/structure/reagent_dispensers/beerkeg, +/obj/structure/sign/poster/official/high_class_martini/directional/north, /turf/open/floor/wood, /area/virtual_domain/fullbright) "EC" = ( -/obj/structure/sign/warning/gas_mask/directional/west, -/turf/open/floor/plating, +/obj/machinery/barsign/all_access/directional/north, +/turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "EP" = ( /obj/machinery/light/directional/north, @@ -723,12 +722,6 @@ /obj/item/reagent_containers/cup/bottle/nutrient/ez, /turf/open/floor/pod/light, /area/virtual_domain/fullbright) -"FS" = ( -/obj/effect/turf_decal/sand, -/obj/structure/sign/warning/no_smoking/circle/directional/east, -/obj/machinery/light/directional/east, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) "FY" = ( /obj/structure/mineral_door/wood, /turf/open/floor/wood, @@ -743,12 +736,19 @@ /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "GA" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/bikehorn/airhorn, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/window/reinforced/half/directional/west, +/obj/item/bikehorn/airhorn{ + pixel_y = 11; + pixel_x = 6 + }, /obj/structure/table/wood, -/obj/item/storage/medkit/regular, -/obj/item/storage/medkit/brute, +/obj/item/storage/medkit/regular{ + pixel_y = 8 + }, +/obj/item/storage/medkit/brute{ + pixel_y = 7 + }, /turf/open/floor/wood, /area/virtual_domain/fullbright) "Hs" = ( @@ -774,8 +774,13 @@ /area/virtual_domain/fullbright) "Iv" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/condiment/peppermill, -/obj/item/reagent_containers/condiment/soysauce, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_y = 5 + }, +/obj/item/reagent_containers/condiment/soysauce{ + pixel_y = 9; + pixel_x = 9 + }, /turf/open/floor/wood, /area/virtual_domain/fullbright) "IH" = ( @@ -812,10 +817,6 @@ /obj/structure/flora/rock/style_random, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"Kd" = ( -/obj/structure/sign/warning/secure_area, -/turf/closed/wall/mineral/sandstone, -/area/virtual_domain/fullbright) "KH" = ( /obj/structure/mineral_door/wood{ name = "Croupier's Booth" @@ -912,7 +913,6 @@ /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "Pg" = ( -/obj/structure/sign/poster/official/high_class_martini/directional/west, /obj/effect/mob_spawn/ghost_role/human/bartender{ dir = 4 }, @@ -924,6 +924,7 @@ /area/virtual_domain/fullbright) "Qb" = ( /obj/machinery/griddle, +/obj/structure/sign/poster/official/fruit_bowl/directional/north, /turf/open/floor/wood, /area/virtual_domain/fullbright) "Qu" = ( @@ -936,7 +937,8 @@ /area/virtual_domain/fullbright) "QX" = ( /obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 1 + dir = 1; + pixel_y = 8 }, /obj/structure/table/wood, /obj/machinery/light/small/directional/east, @@ -970,7 +972,8 @@ /area/virtual_domain/fullbright) "SD" = ( /obj/machinery/door/airlock/sandstone{ - name = "Bar Access" + name = "Bar Access"; + dir = 4 }, /turf/open/floor/wood, /area/virtual_domain/fullbright) @@ -1015,6 +1018,10 @@ /obj/machinery/computer/slot_machine, /turf/open/floor/wood, /area/virtual_domain/fullbright) +"VE" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors/virtual_domain) "VH" = ( /obj/machinery/light/directional/west, /turf/open/floor/wood, @@ -1105,7 +1112,7 @@ /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "Zb" = ( -/obj/structure/sign/poster/official/cohiba_robusto_ad/directional/west, +/obj/structure/chair/stool/bar/directional/north, /turf/open/floor/wood, /area/virtual_domain/fullbright) "Zd" = ( @@ -1129,42 +1136,42 @@ pr pr pr pr -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv kv "} (2,1,1) = {" @@ -1172,8 +1179,7 @@ pr pr pr pr -iz -Al +kv Al Al Al @@ -1208,14 +1214,15 @@ Al Al Al Al -iz +VE +kv "} (3,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1251,14 +1258,14 @@ gl gl gl Al -iz +kv "} (4,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1294,14 +1301,14 @@ gl gl gl Al -iz +kv "} (5,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1337,14 +1344,14 @@ gl gl gl Al -iz +kv "} (6,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1380,14 +1387,14 @@ gl gl gl Al -iz +kv "} (7,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1423,14 +1430,14 @@ ml FM gl Al -iz +kv "} (8,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1466,14 +1473,14 @@ ml ml gl Al -iz +kv "} (9,1,1) = {" pr pr pr pr -iz +kv Al gl gl @@ -1509,14 +1516,14 @@ ml ml gl Al -iz +kv "} (10,1,1) = {" pr pr pr pr -iz +kv Al Al Al @@ -1552,14 +1559,14 @@ ml ml gl Al -iz +kv "} (11,1,1) = {" -iz -iz -iz -iz -iz +kv +kv +kv +kv +kv Al Al Al @@ -1595,10 +1602,10 @@ ml ml gl Al -iz +kv "} (12,1,1) = {" -iz +kv Al Al Al @@ -1612,7 +1619,7 @@ LD LD Fn Fn -Kd +Fn Fn Fn bQ @@ -1638,10 +1645,10 @@ ml ml gl Al -iz +kv "} (13,1,1) = {" -iz +kv Al Fn Fn @@ -1653,7 +1660,7 @@ Fn LD pT LD -EC +LD LD pT PM @@ -1681,16 +1688,16 @@ ml sT gl Al -iz +kv "} (14,1,1) = {" -iz +kv Al Fn VA -kT Zb TG +TG Fn Fn Fn @@ -1724,10 +1731,10 @@ gl gl gl Al -iz +kv "} (15,1,1) = {" -iz +kv Al Fn VA @@ -1767,10 +1774,10 @@ gl gl gl Al -iz +kv "} (16,1,1) = {" -iz +kv Al Fn pC @@ -1778,7 +1785,7 @@ yX ag kT BJ -kT +Zb Fn as ab @@ -1810,10 +1817,10 @@ gl gl gl Al -iz +kv "} (17,1,1) = {" -iz +kv Al Fn Mw @@ -1853,10 +1860,10 @@ gl gl gl Al -iz +kv "} (18,1,1) = {" -iz +kv Al Fn Mz @@ -1896,10 +1903,10 @@ gl gl gl Al -iz +kv "} (19,1,1) = {" -iz +kv Al Fn Fn @@ -1939,10 +1946,10 @@ gl gl gl Al -iz +kv "} (20,1,1) = {" -iz +kv Al Fn zU @@ -1982,10 +1989,10 @@ gl Al gl Al -iz +kv "} (21,1,1) = {" -iz +kv Al Fn wD @@ -2001,7 +2008,7 @@ Zt BD Iv BM -Db +BM Nr wD yl @@ -2025,10 +2032,10 @@ Al Al Al Al -iz +kv "} (22,1,1) = {" -iz +kv Al Fn Fn @@ -2045,7 +2052,7 @@ TG TG mX BM -wD +EC wD Au wD @@ -2060,18 +2067,18 @@ Ww dj Fn Al -iz -iz -iz -iz -iz -iz -iz -iz -iz +kv +kv +kv +kv +kv +kv +kv +kv +kv "} (23,1,1) = {" -iz +kv Al xb Fn @@ -2087,7 +2094,7 @@ BM aw TG TG -ya +BM wD wD YJ @@ -2103,7 +2110,8 @@ Ww dj Fn Al -iz +kv +pr pr pr pr @@ -2111,10 +2119,9 @@ pr pr pr pr -xW "} (24,1,1) = {" -iz +kv Al xb Fn @@ -2126,7 +2133,7 @@ BM Em TG mq -ri +BM Qb TG TG @@ -2146,7 +2153,8 @@ Ww pZ Fn Al -iz +kv +pr pr pr pr @@ -2154,10 +2162,9 @@ pr pr pr pr -xW "} (25,1,1) = {" -iz +kv Al xb Fn @@ -2189,7 +2196,8 @@ Ww dj Fn Al -iz +kv +pr pr pr pr @@ -2197,10 +2205,9 @@ pr pr pr pr -xW "} (26,1,1) = {" -iz +kv Al xb Fn @@ -2217,9 +2224,9 @@ TG TG CO BM -wD +Nr Yi -XL +wD wD wD wD @@ -2232,7 +2239,8 @@ Ww dj Fn Al -iz +kv +pr pr pr pr @@ -2240,10 +2248,9 @@ pr pr pr pr -xW "} (27,1,1) = {" -iz +kv Al Fn Fn @@ -2275,7 +2282,8 @@ KZ dj Fn Al -iz +kv +pr pr pr pr @@ -2283,10 +2291,9 @@ pr pr pr pr -xW "} (28,1,1) = {" -iz +kv Al Fn Nr @@ -2318,7 +2325,8 @@ Ww pZ Fn Al -iz +kv +pr pr pr pr @@ -2326,10 +2334,9 @@ pr pr pr pr -xW "} (29,1,1) = {" -iz +kv Al Fn wD @@ -2361,7 +2368,8 @@ Bu Xt Fn Al -iz +kv +pr pr pr pr @@ -2369,10 +2377,9 @@ pr pr pr pr -xW "} (30,1,1) = {" -iz +kv Al Fn Ds @@ -2404,7 +2411,8 @@ Fn Fn Fn Al -iz +kv +pr pr pr pr @@ -2412,10 +2420,9 @@ pr pr pr pr -xW "} (31,1,1) = {" -iz +kv Al Fn TG @@ -2447,7 +2454,8 @@ Fn Al Al Al -iz +kv +pr pr pr pr @@ -2455,10 +2463,9 @@ pr pr pr pr -xW "} (32,1,1) = {" -iz +kv Al Fn TG @@ -2490,7 +2497,8 @@ Fn Fn Al Al -iz +kv +pr pr pr pr @@ -2498,10 +2506,9 @@ pr pr pr pr -xW "} (33,1,1) = {" -iz +kv Al Fn EP @@ -2533,7 +2540,8 @@ OW Fn Fn Al -iz +kv +pr pr pr pr @@ -2541,10 +2549,9 @@ pr pr pr pr -xW "} (34,1,1) = {" -iz +kv Al Fn Xv @@ -2576,7 +2583,8 @@ aE jg Fn Al -iz +kv +pr pr pr pr @@ -2584,10 +2592,9 @@ pr pr pr pr -xW "} (35,1,1) = {" -iz +kv Al Fn Fn @@ -2608,7 +2615,7 @@ Gh Ud Ud Ud -FS +ys aE aE aE @@ -2619,7 +2626,8 @@ aE NM Fn Al -iz +kv +pr pr pr pr @@ -2627,10 +2635,9 @@ pr pr pr pr -xW "} (36,1,1) = {" -iz +kv Al Fn kK @@ -2640,7 +2647,7 @@ TG TG TG TG -qg +TG TG Fn Fn @@ -2662,7 +2669,8 @@ aE uk Fn Al -iz +kv +pr pr pr pr @@ -2670,10 +2678,9 @@ pr pr pr pr -xW "} (37,1,1) = {" -iz +kv Al Fn Ia @@ -2705,7 +2712,8 @@ Cv Fn Fn Al -iz +kv +pr pr pr pr @@ -2713,10 +2721,9 @@ pr pr pr pr -xW "} (38,1,1) = {" -iz +kv Al Fn tZ @@ -2748,7 +2755,8 @@ Fn Fn Al Al -iz +kv +pr pr pr pr @@ -2756,10 +2764,9 @@ pr pr pr pr -xW "} (39,1,1) = {" -iz +kv Al Fn Fn @@ -2791,7 +2798,8 @@ Al Al Al Al -iz +kv +pr pr pr pr @@ -2799,10 +2807,9 @@ pr pr pr pr -xW "} (40,1,1) = {" -iz +kv Al Al Al @@ -2834,7 +2841,8 @@ Al Al Al Al -iz +kv +pr pr pr pr @@ -2842,48 +2850,47 @@ pr pr pr pr -xW "} (41,1,1) = {" -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -iz -pr -pr -pr -pr -pr -pr -pr -xW +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +kv +pr +pr +pr +pr +pr +pr +pr +pr "} diff --git a/_maps/virtual_domains/blood_drunk_miner.dmm b/_maps/virtual_domains/blood_drunk_miner.dmm index 7fffbabfc0b62..e8f55523670fa 100644 --- a/_maps/virtual_domains/blood_drunk_miner.dmm +++ b/_maps/virtual_domains/blood_drunk_miner.dmm @@ -13,9 +13,8 @@ /turf/template_noop, /area/virtual_domain/safehouse) "d" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain/fullbright) "f" = ( /obj/structure/stone_tile{ dir = 1 @@ -85,9 +84,6 @@ /obj/structure/stone_tile/cracked, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) -"v" = ( -/turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) "w" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -117,6 +113,10 @@ /obj/effect/mob_spawn/corpse/human/miner, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) +"D" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) "G" = ( /obj/structure/stone_tile{ dir = 4 @@ -208,56 +208,55 @@ /area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d d "} (2,1,1) = {" -v -s +d s s s @@ -301,10 +300,11 @@ s s s s -v +D +d "} (3,1,1) = {" -v +d s s s @@ -349,10 +349,10 @@ s J J s -v +d "} (4,1,1) = {" -v +d s s J @@ -397,10 +397,10 @@ J J J s -v +d "} (5,1,1) = {" -v +d s s J @@ -445,10 +445,10 @@ J J s s -v +d "} (6,1,1) = {" -v +d s s J @@ -493,10 +493,10 @@ J J s s -v +d "} (7,1,1) = {" -v +d s s J @@ -541,10 +541,10 @@ J J J s -v +d "} (8,1,1) = {" -v +d s s J @@ -589,10 +589,10 @@ J J s s -v +d "} (9,1,1) = {" -v +d s J J @@ -637,10 +637,10 @@ a J J s -v +d "} (10,1,1) = {" -v +d s J J @@ -685,10 +685,10 @@ a J J s -v +d "} (11,1,1) = {" -v +d s s J @@ -733,10 +733,10 @@ a J J s -v +d "} (12,1,1) = {" -v +d s s J @@ -781,10 +781,10 @@ J J J s -v +d "} (13,1,1) = {" -v +d s s J @@ -829,10 +829,10 @@ a J J s -v +d "} (14,1,1) = {" -v +d s s J @@ -877,10 +877,10 @@ a J J s -v +d "} (15,1,1) = {" -v +d s J J @@ -925,10 +925,10 @@ a J J s -v +d "} (16,1,1) = {" -v +d s J J @@ -973,10 +973,10 @@ a J J s -v +d "} (17,1,1) = {" -v +d s s J @@ -1021,10 +1021,10 @@ a J J s -v +d "} (18,1,1) = {" -v +d s s J @@ -1069,10 +1069,10 @@ J J s s -v +d "} (19,1,1) = {" -v +d s J J @@ -1117,10 +1117,10 @@ a J J s -v +d "} (20,1,1) = {" -v +d s J J @@ -1165,10 +1165,10 @@ a J J s -v +d "} (21,1,1) = {" -v +d s s J @@ -1213,10 +1213,10 @@ a J s s -v +d "} (22,1,1) = {" -v +d s s J @@ -1261,10 +1261,10 @@ a J s s -v +d "} (23,1,1) = {" -v +d s J J @@ -1309,10 +1309,10 @@ a J s s -v +d "} (24,1,1) = {" -v +d s J J @@ -1357,10 +1357,10 @@ a J J s -v +d "} (25,1,1) = {" -v +d s s J @@ -1405,10 +1405,10 @@ J J J s -v +d "} (26,1,1) = {" -v +d s s J @@ -1453,10 +1453,10 @@ a J J s -v +d "} (27,1,1) = {" -v +d s s J @@ -1501,10 +1501,10 @@ a J J s -v +d "} (28,1,1) = {" -v +d s J J @@ -1549,10 +1549,10 @@ J J J s -v +d "} (29,1,1) = {" -v +d s J J @@ -1597,10 +1597,10 @@ J J s s -v +d "} (30,1,1) = {" -v +d s s J @@ -1645,10 +1645,10 @@ J J s s -v +d "} (31,1,1) = {" -v +d s s a @@ -1693,10 +1693,10 @@ J J J s -v +d "} (32,1,1) = {" -v +d s s a @@ -1741,10 +1741,10 @@ J J J s -v +d "} (33,1,1) = {" -v +d s s s @@ -1789,10 +1789,10 @@ J J J s -v +d "} (34,1,1) = {" -v +d s s s @@ -1837,53 +1837,53 @@ s s s s -v +d "} (35,1,1) = {" -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d +d "} diff --git a/_maps/virtual_domains/breeze_bay.dmm b/_maps/virtual_domains/breeze_bay.dmm index a0b8a7b036a63..1d712e53f5fd0 100644 --- a/_maps/virtual_domains/breeze_bay.dmm +++ b/_maps/virtual_domains/breeze_bay.dmm @@ -13,6 +13,10 @@ "e" = ( /turf/open/floor/carpet/red, /area/virtual_domain/fullbright) +"f" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/water/beach, +/area/virtual_domain/fullbright) "g" = ( /obj/item/toy/beach_ball/branded, /turf/open/misc/beach/sand, @@ -31,11 +35,13 @@ "m" = ( /obj/item/fishing_rod{ pixel_x = 5; - pixel_y = -5 + pixel_y = 4 + }, +/obj/item/fishing_rod{ + pixel_y = 8 }, -/obj/item/fishing_rod, /obj/item/fishing_rod{ - pixel_y = 5; + pixel_y = 12; pixel_x = -5 }, /obj/structure/table/wood, @@ -174,10 +180,6 @@ /obj/machinery/light/small/directional/west, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"Z" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/virtual_domain/fullbright) (1,1,1) = {" a @@ -204,7 +206,7 @@ a a a a -Z +a "} (2,1,1) = {" a @@ -230,7 +232,7 @@ i Q i i -i +f a "} (3,1,1) = {" diff --git a/_maps/virtual_domains/bubblegum.dmm b/_maps/virtual_domains/bubblegum.dmm index ef6957448925a..5343fe7d17b77 100644 --- a/_maps/virtual_domains/bubblegum.dmm +++ b/_maps/virtual_domains/bubblegum.dmm @@ -46,9 +46,6 @@ /mob/living/simple_animal/hostile/megafauna/bubblegum, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) -"F" = ( -/turf/open/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) "G" = ( /obj/structure/marker_beacon/violet, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -61,10 +58,13 @@ /obj/structure/marker_beacon/indigo, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) -"R" = ( +"N" = ( /obj/effect/baseturf_helper/virtual_domain, -/turf/open/indestructible/binary, +/turf/closed/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) +"R" = ( +/turf/open/indestructible/binary, +/area/virtual_domain) "S" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -91,66 +91,65 @@ /area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R R "} (2,1,1) = {" -F -Z +R Z Z Z @@ -204,10 +203,11 @@ Z Z Z Z -F +N +R "} (3,1,1) = {" -F +R Z Z Z @@ -262,10 +262,10 @@ Z Z Z Z -F +R "} (4,1,1) = {" -F +R Z Z Z @@ -287,7 +287,7 @@ Z Z Z Z -F +R Z Z Z @@ -303,7 +303,7 @@ Z Z Z Z -F +R Z Z Z @@ -320,10 +320,10 @@ Z Z Z Z -F +R "} (5,1,1) = {" -F +R Z Z Z @@ -378,10 +378,10 @@ Z Z Z Z -F +R "} (6,1,1) = {" -F +R Z Z Z @@ -436,13 +436,13 @@ Z Z Z Z -F +R "} (7,1,1) = {" -F +R Z Z -F +R Z Z Z @@ -494,13 +494,13 @@ Z Z Z Z -F +R "} (8,1,1) = {" -F +R Z Z -F +R Z Z Z @@ -552,13 +552,13 @@ Z Z Z Z -F +R "} (9,1,1) = {" -F +R Z Z -F +R Z Z Z @@ -610,10 +610,10 @@ Z Z Z Z -F +R "} (10,1,1) = {" -F +R Z Z Z @@ -666,12 +666,12 @@ Z Z Z Z -F +R Z -F +R "} (11,1,1) = {" -F +R Z Z Z @@ -724,12 +724,12 @@ Z Z Z Z -F +R Z -F +R "} (12,1,1) = {" -F +R Z Z Z @@ -784,10 +784,10 @@ Z Z Z Z -F +R "} (13,1,1) = {" -F +R Z Z Z @@ -842,10 +842,10 @@ Z Z Z Z -F +R "} (14,1,1) = {" -F +R Z Z Z @@ -900,10 +900,10 @@ Z Z Z Z -F +R "} (15,1,1) = {" -F +R Z Z Z @@ -958,10 +958,10 @@ Z Z Z Z -F +R "} (16,1,1) = {" -F +R Z Z Z @@ -1016,10 +1016,10 @@ Z Z Z Z -F +R "} (17,1,1) = {" -F +R Z Z Z @@ -1074,10 +1074,10 @@ Z Z Z Z -F +R "} (18,1,1) = {" -F +R Z Z Z @@ -1132,10 +1132,10 @@ Z Z Z Z -F +R "} (19,1,1) = {" -F +R Z Z Z @@ -1190,10 +1190,10 @@ Z Z Z Z -F +R "} (20,1,1) = {" -F +R Z Z Z @@ -1248,10 +1248,10 @@ Z Z Z Z -F +R "} (21,1,1) = {" -F +R Z Z Z @@ -1306,10 +1306,10 @@ Z Z Z Z -F +R "} (22,1,1) = {" -F +R Z Z Z @@ -1364,10 +1364,10 @@ Z Z Z Z -F +R "} (23,1,1) = {" -F +R Z Z Z @@ -1422,10 +1422,10 @@ Z Z Z Z -F +R "} (24,1,1) = {" -F +R Z Z Z @@ -1480,13 +1480,13 @@ Z Z Z Z -F +R "} (25,1,1) = {" -F +R Z Z -F +R Z Z Z @@ -1538,10 +1538,10 @@ Z Z Z Z -F +R "} (26,1,1) = {" -F +R Z Z Z @@ -1595,11 +1595,11 @@ Z Z Z Z -F -F +R +R "} (27,1,1) = {" -F +R Z Z Z @@ -1654,10 +1654,10 @@ Z Z Z Z -F +R "} (28,1,1) = {" -F +R Z Z Z @@ -1712,10 +1712,10 @@ Z Z Z Z -F +R "} (29,1,1) = {" -F +R Z Z Z @@ -1770,10 +1770,10 @@ Z Z Z Z -F +R "} (30,1,1) = {" -F +R Z Z Z @@ -1828,10 +1828,10 @@ Z Z Z Z -F +R "} (31,1,1) = {" -F +R Z Z Z @@ -1886,10 +1886,10 @@ Z Z Z Z -F +R "} (32,1,1) = {" -F +R Z Z Z @@ -1944,10 +1944,10 @@ Z Z Z Z -F +R "} (33,1,1) = {" -F +R Z Z Z @@ -2002,10 +2002,10 @@ Z Z Z Z -F +R "} (34,1,1) = {" -F +R Z Z Z @@ -2060,10 +2060,10 @@ Z Z Z Z -F +R "} (35,1,1) = {" -F +R Z Z Z @@ -2118,10 +2118,10 @@ Z Z Z Z -F +R "} (36,1,1) = {" -F +R Z Z Z @@ -2176,10 +2176,10 @@ Z Z Z Z -F +R "} (37,1,1) = {" -F +R Z Z Z @@ -2234,10 +2234,10 @@ Z Z Z Z -F +R "} (38,1,1) = {" -F +R Z Z Z @@ -2292,10 +2292,10 @@ Z Z Z Z -F +R "} (39,1,1) = {" -F +R Z Z Z @@ -2350,10 +2350,10 @@ Z Z Z Z -F +R "} (40,1,1) = {" -F +R Z Z Z @@ -2408,10 +2408,10 @@ Z Z Z Z -F +R "} (41,1,1) = {" -F +R Z Z Z @@ -2466,13 +2466,13 @@ Z Z Z Z -F +R "} (42,1,1) = {" -F +R Z Z -F +R Z Z Z @@ -2524,10 +2524,10 @@ Z Z Z Z -F +R "} (43,1,1) = {" -F +R Z Z Z @@ -2582,10 +2582,10 @@ Z Z Z Z -F +R "} (44,1,1) = {" -F +R Z Z Z @@ -2640,10 +2640,10 @@ Z Z Z Z -F +R "} (45,1,1) = {" -F +R Z Z Z @@ -2698,10 +2698,10 @@ Z Z Z Z -F +R "} (46,1,1) = {" -F +R Z Z Z @@ -2756,10 +2756,10 @@ Z Z Z Z -F +R "} (47,1,1) = {" -F +R Z Z Z @@ -2814,10 +2814,10 @@ Z Z Z Z -F +R "} (48,1,1) = {" -F +R Z Z Z @@ -2872,10 +2872,10 @@ Z Z Z Z -F +R "} (49,1,1) = {" -F +R Z Z Z @@ -2925,15 +2925,15 @@ Z Z Z Z -F +R Z Z Z Z -F +R "} (50,1,1) = {" -F +R Z Z Z @@ -2988,10 +2988,10 @@ Z Z Z Z -F +R "} (51,1,1) = {" -F +R Z Z Z @@ -3046,18 +3046,18 @@ Z Z Z Z -F +R "} (52,1,1) = {" -F +R Z Z Z Z Z Z -F -F +R +R Z Z Z @@ -3070,7 +3070,7 @@ Z Z Z Z -F +R Z Z Z @@ -3093,7 +3093,7 @@ Z Z Z Z -F +R Z Z Z @@ -3104,10 +3104,10 @@ Z Z Z Z -F +R "} (53,1,1) = {" -F +R Z Z Z @@ -3143,7 +3143,7 @@ Z Z Z Z -F +R Z Z Z @@ -3162,10 +3162,10 @@ Z Z Z Z -F +R "} (54,1,1) = {" -F +R Z Z Z @@ -3203,7 +3203,7 @@ Z Z Z Z -F +R Z Z Z @@ -3215,68 +3215,68 @@ Z Z Z Z -F +R Z Z Z Z -F +R "} (55,1,1) = {" -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F -F +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R "} diff --git a/_maps/virtual_domains/clown_planet.dmm b/_maps/virtual_domains/clown_planet.dmm index 72cc1280b63cc..43565f2145b85 100644 --- a/_maps/virtual_domains/clown_planet.dmm +++ b/_maps/virtual_domains/clown_planet.dmm @@ -7,15 +7,15 @@ /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "aI" = ( /obj/item/bikehorn/airhorn, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "aM" = ( /obj/item/bikehorn, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "aP" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -23,7 +23,7 @@ /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ba" = ( /obj/structure/mecha_wreckage/honker, /obj/structure/disposalpipe/segment{ @@ -31,7 +31,7 @@ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bi" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -39,19 +39,20 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bp" = ( /turf/open/indestructible/light, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bq" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "by" = ( +/obj/effect/baseturf_helper/virtual_domain, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59,26 +60,26 @@ }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bR" = ( /obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/hope, /obj/effect/decal/cleanable/blood/old, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "bU" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "cw" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "cM" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -87,7 +88,7 @@ dir = 1 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "cW" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -95,21 +96,21 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ed" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /obj/machinery/light/small/directional/west, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "eE" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "fh" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, @@ -118,7 +119,13 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) +"gd" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) "gr" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -127,25 +134,24 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/effect/baseturf_helper/virtual_domain, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "gH" = ( /obj/item/bikehorn, /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "gK" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "hK" = ( /obj/item/clothing/head/cone, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "hY" = ( /turf/template_noop, /area/template_noop) @@ -157,24 +163,24 @@ dir = 4 }, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ik" = ( /turf/open/lava/smooth, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "iR" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ki" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "kn" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -182,7 +188,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "lj" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -191,14 +197,14 @@ dir = 8 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "lm" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/machinery/light/small/directional/east, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "lr" = ( /obj/item/bikehorn, /obj/effect/decal/cleanable/dirt, @@ -207,60 +213,63 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "lx" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ly" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "lP" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "mD" = ( /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "mE" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "mF" = ( /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "nE" = ( /obj/effect/mapping_helpers/no_lava, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "oA" = ( /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "oI" = ( /obj/structure/table/glass, /obj/item/grown/bananapeel/bluespace, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "pl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ps" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) +"qg" = ( +/turf/closed/wall/r_wall, +/area/lavaland/surface/outdoors/virtual_domain) "qM" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 @@ -268,7 +277,7 @@ /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "rg" = ( /obj/item/coin/bananium, /obj/item/coin/bananium, @@ -276,19 +285,13 @@ /obj/item/coin/bananium, /obj/machinery/light/small/directional/west, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "rh" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/indestructible/white, -/area/virtual_domain) -"rr" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "rH" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 1; @@ -297,46 +300,39 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) -"rT" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/closed/indestructible/binary, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "sq" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "sT" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 1 }, /obj/effect/mapping_helpers/mail_sorting/supply/qm_office, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "tq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "tt" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/indestructible/light, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "tv" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "tF" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "tI" = ( /obj/item/coin/bananium, /obj/item/coin/bananium, @@ -344,31 +340,35 @@ /obj/item/coin/bananium, /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "uX" = ( /obj/effect/mapping_helpers/no_lava, /mob/living/basic/clown, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "uY" = ( /turf/closed/mineral/bananium, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "uZ" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /obj/structure/table, -/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape, -/obj/item/pen/fourcolor, +/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape{ + pixel_y = 8 + }, +/obj/item/pen/fourcolor{ + pixel_y = 8 + }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "wz" = ( /obj/machinery/light/small/directional/south, /obj/effect/mapping_helpers/no_lava, /mob/living/basic/clown, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "xt" = ( /obj/modular_map_root/safehouse{ key = "mine" @@ -379,17 +379,17 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "yz" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "yS" = ( /obj/structure/marker_beacon/yellow, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "yZ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -397,16 +397,16 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "zm" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "zA" = ( /obj/structure/statue/bananium/clown, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "zF" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -415,14 +415,14 @@ dir = 8 }, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Aa" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Bi" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -431,7 +431,7 @@ /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Cp" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -439,7 +439,7 @@ }, /obj/machinery/light/small/directional/west, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Cs" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -448,7 +448,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Do" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -456,7 +456,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "DL" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -464,35 +464,46 @@ /obj/item/bikehorn, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ex" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) +"Fb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + invisibility = 101 + }, +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) "FI" = ( -/obj/item/reagent_containers/cup/glass/trophy/gold_cup, +/obj/item/reagent_containers/cup/glass/trophy/gold_cup{ + pixel_y = 12 + }, /obj/structure/table/glass, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Gg" = ( /obj/structure/table/glass, -/obj/item/gun/magic/staff/honk, +/obj/item/gun/magic/staff/honk{ + pixel_y = 8 + }, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Hq" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Hr" = ( /obj/structure/table/glass, /obj/item/clothing/shoes/clown_shoes/banana_shoes, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "HQ" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -500,10 +511,13 @@ /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ie" = ( +/obj/structure/disposalpipe/segment{ + invisibility = 101 + }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "Iz" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -511,20 +525,20 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "IN" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "IY" = ( /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Jv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "JB" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -533,28 +547,28 @@ /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ka" = ( /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Kh" = ( /obj/effect/mob_spawn/corpse/human/damaged, /obj/effect/decal/cleanable/blood/old, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "KG" = ( /obj/item/pickaxe, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "KI" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Lv" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -562,18 +576,18 @@ }, /obj/machinery/light/small/directional/east, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Nv" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "NB" = ( /obj/machinery/disposal/delivery_chute, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "NL" = ( /obj/machinery/disposal/delivery_chute{ desc = "The following is engraved upon the chute: A FATE WORSE THAN DEATH LIES WITHIN"; @@ -583,12 +597,14 @@ /obj/structure/disposalpipe/trunk, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "NW" = ( /obj/structure/table/glass, -/obj/item/reagent_containers/spray/waterflower/superlube, +/obj/item/reagent_containers/spray/waterflower/superlube{ + pixel_y = 8 + }, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ok" = ( /obj/item/bikehorn, /obj/structure/disposalpipe/segment{ @@ -596,7 +612,7 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ov" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -604,7 +620,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "PJ" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -612,10 +628,10 @@ }, /obj/effect/mapping_helpers/no_lava, /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "PM" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "PQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -623,35 +639,31 @@ }, /obj/item/pickaxe, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "QP" = ( /turf/template_noop, /area/virtual_domain/safehouse) "QX" = ( /obj/structure/closet/crate/secure/bitrunning/encrypted, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Rh" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Rx" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /obj/structure/table, -/obj/item/flashlight/lamp/bananalamp, -/turf/open/indestructible/white, -/area/virtual_domain) -"RU" = ( -/obj/structure/disposalpipe/segment{ - invisibility = 101 +/obj/item/flashlight/lamp/bananalamp{ + pixel_y = 8 }, -/turf/closed/indestructible/binary, -/area/virtual_domain) +/turf/open/indestructible/white, +/area/lavaland/surface/outdoors/virtual_domain) "Sg" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -660,13 +672,13 @@ /obj/effect/decal/cleanable/food/pie_smudge, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Sm" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Tm" = ( /obj/effect/decal/cleanable/food/pie_smudge, /obj/structure/disposalpipe/segment{ @@ -674,13 +686,13 @@ }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Tx" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "TH" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -689,60 +701,59 @@ dir = 8 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "TK" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /turf/closed/wall/r_wall, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ug" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "UL" = ( /obj/effect/decal/cleanable/oil, /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "UN" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "UQ" = ( /obj/structure/disposalpipe/segment{ invisibility = 101 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "UY" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Vx" = ( /obj/structure/disposalpipe/segment{ - dir = 4; - invisibility = 101 + dir = 5 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "VI" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "VQ" = ( /turf/open/floor/noslip, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Ww" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -751,40 +762,42 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/indestructible/permalube, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "WB" = ( /obj/machinery/disposal/delivery_chute{ dir = 1 }, /obj/structure/disposalpipe/trunk, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "WT" = ( -/obj/machinery/door/airlock/bananium, +/obj/machinery/door/airlock/bananium{ + use_power = 0 + }, /turf/open/floor/carpet, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "WX" = ( /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Xp" = ( /obj/machinery/light/directional/south, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "XB" = ( /obj/machinery/light/directional/north, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "Yb" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/indestructible/honk, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "YP" = ( /obj/structure/disposalpipe/segment{ dir = 4; invisibility = 101 }, /turf/open/indestructible/white, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) "ZR" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -793,44 +806,44 @@ dir = 4 }, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/virtual_domain) +/area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" -Ie -Ie -rT -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -rr hY +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF hY hY hY @@ -842,9 +855,9 @@ hY hY "} (2,1,1) = {" -Ie -Ie -Vx +hY +tF +gd Ie Ie Ie @@ -876,7 +889,7 @@ Ie Ie Ie Vx -hY +tF hY hY hY @@ -888,41 +901,41 @@ hY hY "} (3,1,1) = {" -Ie -Ie -Vx -Ie -Ie -Ie -Ie -Ie -by -by -by -by -by -by -by -Ie -Ie -Ie -Ie -Ie -Ie -Ie -by -by -by -by -by -Ie -Ie -Ie -Ie -Ie -Ie -Vx hY +tF +Fb +tF +tF +tF +tF +tF +qg +qg +qg +qg +qg +qg +qg +tF +tF +tF +tF +tF +tF +tF +qg +qg +qg +qg +qg +tF +tF +tF +tF +tF +tF +Fb +tF hY hY hY @@ -934,41 +947,41 @@ hY hY "} (4,1,1) = {" -Ie -Ie -Vx -Ie -Ie -Ie -by -by -by +hY +tF +Fb +tF +tF +tF +qg +qg +qg ik ik ik ik ik -by -by -Ie -Ie -Ie -Ie -Ie -by -by +qg +qg +tF +tF +hY +tF +tF +qg +qg ik ik ik -by -by -by -Ie -Ie -Ie -Ie -Vx +qg +qg +qg +tF +tF hY +tF +Fb +tF hY hY hY @@ -980,13 +993,13 @@ hY hY "} (5,1,1) = {" -Ie -Ie -Vx -Ie -Ie -by -by +hY +tF +Fb +tF +tF +qg +qg ik ik ik @@ -995,26 +1008,26 @@ Sm Hq Sm ik -by -by -Ie -Ie -Ie -by -by +qg +qg +tF +tF +tF +qg +qg ik ik tq mD ik ik -by -by -Ie -Ie -Ie -Vx -hY +qg +qg +tF +tF +tF +Fb +tF hY hY hY @@ -1026,12 +1039,12 @@ hY hY "} (6,1,1) = {" -Ie -Ie -Vx -Ie -by -by +hY +tF +Fb +tF +qg +qg ik ik IN @@ -1042,11 +1055,11 @@ yZ aP Sm ik -by -by -by -by -by +qg +qg +qg +qg +qg Nv IY tq @@ -1055,12 +1068,12 @@ ik ik ik ik -by -by -Ie -Ie -Vx -hY +qg +qg +tF +tF +Fb +tF hY hY hY @@ -1072,14 +1085,14 @@ hY hY "} (7,1,1) = {" -Ie -Ie -Vx -Ie -by +hY +tF +Fb +tF +qg ik ik -by +qg Bi cw UQ @@ -1088,11 +1101,11 @@ UQ UY KI ik -by +qg IY Jv IY -by +qg IY Jv Kh @@ -1102,11 +1115,11 @@ ik tq ik ik -by -Ie -Ie -Vx -hY +qg +tF +tF +Fb +tF hY hY hY @@ -1118,11 +1131,11 @@ hY hY "} (8,1,1) = {" -Ie -Ie -Vx -by -by +hY +tF +Fb +qg +qg ik IN Tm @@ -1133,7 +1146,7 @@ UQ Sm KI KI -by +qg zm oA IY @@ -1144,15 +1157,15 @@ Jv IY IY IY -by +qg ik mD ik -by -by -Ie -Vx -hY +qg +qg +tF +Fb +tF hY hY hY @@ -1164,10 +1177,10 @@ hY hY "} (9,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik ik UN @@ -1180,14 +1193,14 @@ KI YP Cp uY -by +qg sq oA IY -by -by +qg +qg Jv -by +qg IY IY IY @@ -1195,25 +1208,25 @@ tq ik ik ik -by -Ie -Vx -Ie -Ie -Ie -Ie -Ie -Ie -Ie -Ie -Ie +qg +tF +Fb +tF +tF +tF +tF +tF +tF +tF +tF +tF tF "} (10,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik IN UQ @@ -1227,8 +1240,8 @@ YP YP KG uY -by -by +qg +qg oA IY IY @@ -1238,28 +1251,28 @@ IY gH Jv Xp -by +qg ik ik -by -by +qg +qg KI +qg +qg +qg +qg +qg +qg +qg +qg by -by -by -by -by -by -by -by -by -Ie +tF "} (11,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik yz fh @@ -1277,7 +1290,7 @@ oA oA oA IY -by +qg IY IY Jv @@ -1287,8 +1300,8 @@ IY ik tq ik -by -by +qg +qg iR PM PM @@ -1298,14 +1311,14 @@ PM PM PM PM -by -Ie +qg +tF "} (12,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik Hq TK @@ -1319,12 +1332,12 @@ PQ tt bp uY -by +qg oA oA IY IY -by +qg IY IY IY @@ -1334,7 +1347,7 @@ ik tq ik ik -by +qg iR yS PM @@ -1344,14 +1357,14 @@ PM PM yS PM -by -Ie +qg +tF "} (13,1,1) = {" -Ie -Ie -Vx -by +tF +tF +Fb +qg ik UN UQ @@ -1364,23 +1377,23 @@ KI YP Lv WX -by -by +qg +qg oA IY IY -by -by +qg +qg IY IY -by +qg IY Jv ik mD tq ik -by +qg iR PM PM @@ -1390,12 +1403,12 @@ PM PM PM PM -by -Ie +qg +tF "} (14,1,1) = {" -Ie -by +tF +qg KI nE nE @@ -1412,12 +1425,12 @@ KI ps TK Sm -by -by -by +qg +qg +qg zA rg -by +qg XB IY Jv @@ -1426,7 +1439,7 @@ IY ik tq ik -by +qg iR PM QP @@ -1436,16 +1449,16 @@ QP QP xt PM -by -Ie +qg +tF "} (15,1,1) = {" -Ie -by +tF +qg ij hK nE -by +qg yz UQ UQ @@ -1458,13 +1471,13 @@ Do Iz kn Ww -by -by +qg +qg FI mF mF mF -by +qg IY Jv Jv @@ -1472,7 +1485,7 @@ IY ik tq ik -by +qg ZR PM QP @@ -1482,12 +1495,12 @@ QP QP QP PM -by -Ie +qg +tF "} (16,1,1) = {" -Ie -by +tF +qg VQ uX NL @@ -1505,20 +1518,20 @@ pl Do Ex UY -by +qg Ug oI NW mF -by -by +qg +qg Jv IY IY ik tq ik -by +qg PM PM QP @@ -1528,16 +1541,16 @@ QP QP QP PM -by -Ie +qg +tF "} (17,1,1) = {" -Ie -by +tF +qg VQ bR wz -by +qg Hq UQ Sm @@ -1560,11 +1573,11 @@ WT IY Jv IY -by +qg ik tq ik -by +qg PM PM QP @@ -1574,12 +1587,12 @@ QP QP QP PM -by -Ie +qg +tF "} (18,1,1) = {" -Ie -by +tF +qg VQ uX PJ @@ -1597,12 +1610,12 @@ Ok mE rH pl -by +qg mF Hr Gg mF -by +qg IY IY IY @@ -1610,7 +1623,7 @@ IY ik tq ik -by +qg PM PM QP @@ -1620,17 +1633,17 @@ QP QP QP PM -by -Ie +qg +tF "} (19,1,1) = {" -Ie -by +tF +qg zF uX nE -by -by +qg +qg Ww Ww Ww @@ -1643,12 +1656,12 @@ UY Ka KI tv -by +qg FI mF mF QX -by +qg IY IY IY @@ -1656,7 +1669,7 @@ IY ik tq ik -by +qg lj PM QP @@ -1666,34 +1679,34 @@ QP QP QP PM -by -Ie +qg +tF "} (20,1,1) = {" -Ie -by +tF +qg KI nE nE ik -by +qg Ww Ww Cs Do Do KI -by -by +qg +qg bQ -by +qg ba -by +qg IY -by +qg zA tI -by +qg XB IY Jv @@ -1702,7 +1715,7 @@ IY ik tq ik -by +qg iR PM QP @@ -1712,17 +1725,17 @@ QP QP gr PM -by -Ie +qg +tF "} (21,1,1) = {" -Ie -Ie -Vx -by +tF +tF +Fb +qg ik -by -by +qg +qg Do Do Do @@ -1732,13 +1745,13 @@ KI rh ed gK -by +qg UL Sm IY IY -by -by +qg +qg Kh IY IY @@ -1748,7 +1761,7 @@ ik tq mD ik -by +qg iR PM PM @@ -1758,17 +1771,17 @@ PM PM PM PM -by -Ie +qg +tF "} (22,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik -by -by +qg +qg JB Sg KI @@ -1779,12 +1792,12 @@ YP bp bp uY -by +qg bQ oA IY IY -by +qg IY Jv IY @@ -1794,7 +1807,7 @@ ik tq ik ik -by +qg iR PM PM @@ -1804,14 +1817,14 @@ PM PM PM PM -by -Ie +qg +tF "} (23,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik cM eE @@ -1827,7 +1840,7 @@ bp WB TK Aa -by +qg IY IY Jv @@ -1836,11 +1849,11 @@ Jv IY aM Xp -by +qg tq ik -by -by +qg +qg iR PM PM @@ -1850,17 +1863,17 @@ PM PM PM PM -by -Ie +qg +tF "} (24,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik -by -by +qg +qg lP Do Do @@ -1871,7 +1884,7 @@ bq Rh WX uY -by +qg oA oA IY @@ -1880,33 +1893,33 @@ Jv Jv IY IY -by -by +qg +qg ik mD ik -by -by +qg +qg KI -by -by -by -by -by -by -by -by -by -Ie +qg +qg +qg +qg +qg +qg +qg +qg +qg +tF "} (25,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik -by -by +qg +qg pl Do KI @@ -1916,7 +1929,7 @@ KI rh lm uY -by +qg sq oA IY @@ -1924,35 +1937,35 @@ IY IY IY IY -by +qg IY IY ik mD ik ik -by -Ie -Vx -Ie -Ie -Ie -Ie -Ie -Ie -Ie -Ie -Ie -Ie +qg +tF +Fb +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF "} (26,1,1) = {" -Ie -Ie -Vx -by +hY +tF +Fb +qg ik ik -by +qg yd Do Do @@ -1960,8 +1973,8 @@ Do Ex lx KI -by -by +qg +qg oA oA IY @@ -1972,15 +1985,15 @@ aM IY IY IY -by +qg ik tq ik -by -by -Ie -Vx -hY +qg +qg +tF +Fb +tF hY hY hY @@ -1992,41 +2005,41 @@ hY hY "} (27,1,1) = {" -Ie -Ie -Vx -by -by +hY +tF +Fb +qg +qg ik -by -by +qg +qg Ex lx HQ UQ UQ bU -by +qg ik -by +qg Yb IY IY -by +qg IY IY -by +qg IY IY ik mD ik ik -by -Ie -Ie -Vx -hY +qg +tF +tF +Fb +tF hY hY hY @@ -2038,27 +2051,27 @@ hY hY "} (28,1,1) = {" -Ie -Ie -Vx -Ie -by -by +hY +tF +Fb +tF +qg +qg ik ik -by +qg mD -by +qg Ka lP mD -by +qg ik -by -by -by -by -by +qg +qg +qg +qg +qg IY IY IY @@ -2067,12 +2080,12 @@ ik ik ik ik -by -by -Ie -Ie -Vx -hY +qg +qg +tF +tF +Fb +tF hY hY hY @@ -2084,41 +2097,41 @@ hY hY "} (29,1,1) = {" -Ie -Ie -Vx -Ie -Ie -by -by +hY +tF +Fb +tF +tF +qg +qg ik ik ik tq tq tq -by +qg ik -by -by -Ie -Ie -Ie -by -by +qg +qg +tF +tF +tF +qg +qg ik ik mD tq ik ik -by -by -Ie -Ie -Ie -Vx -hY +qg +qg +tF +tF +tF +Fb +tF hY hY hY @@ -2130,41 +2143,41 @@ hY hY "} (30,1,1) = {" -Ie -Ie -Vx -Ie -Ie -Ie -by -by -by +hY +tF +Fb +tF +tF +tF +qg +qg +qg ik ik ik ik ik -by -by -Ie -Ie -Ie -Ie -Ie -by -by +qg +qg +tF +tF +hY +tF +tF +qg +qg ik ik ik -by -by -by -Ie -Ie -Ie -Ie -Vx +qg +qg +qg +tF +tF hY +tF +Fb +tF hY hY hY @@ -2176,41 +2189,41 @@ hY hY "} (31,1,1) = {" -Ie -Ie -Vx -Ie -Ie -Ie -Ie -Ie -by -by -by -by -by -by -by -Ie -Ie -Ie -Ie -Ie -Ie -Ie -by -by -by -by -by -Ie -Ie -Ie -Ie -Ie -Ie -Vx hY +tF +Fb +tF +tF +tF +tF +tF +qg +qg +qg +qg +qg +qg +qg +tF +tF +tF +tF +tF +tF +tF +qg +qg +qg +qg +qg +tF +tF +tF +tF +tF +tF +Fb +tF hY hY hY @@ -2222,56 +2235,9 @@ hY hY "} (32,1,1) = {" -Ie -Ie -VI -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -RU -ly -hY -hY -hY -hY hY -hY -hY -hY -hY -hY -"} -(33,1,1) = {" -Ie -Ie -Ie -Ie +tF +VI Ie Ie Ie @@ -2302,7 +2268,54 @@ Ie Ie Ie Ie +ly +tF +hY +hY +hY +hY +hY +hY +hY +hY +hY +"} +(33,1,1) = {" hY +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF +tF hY hY hY diff --git a/_maps/virtual_domains/colossus.dmm b/_maps/virtual_domains/colossus.dmm index 19570e13daf81..d246ad52fa1e7 100644 --- a/_maps/virtual_domains/colossus.dmm +++ b/_maps/virtual_domains/colossus.dmm @@ -34,9 +34,8 @@ /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) "q" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/open/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain/fullbright) "r" = ( /obj/machinery/light/small/blacklight/directional/south, /obj/effect/baseturf_helper/virtual_domain, @@ -45,13 +44,14 @@ "s" = ( /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors/virtual_domain) +"t" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors/virtual_domain) "u" = ( /obj/structure/marker_beacon/indigo, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) -"v" = ( -/turf/open/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) "x" = ( /obj/structure/marker_beacon/purple, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, @@ -91,56 +91,55 @@ /area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q q "} (2,1,1) = {" -v -k +q k k k @@ -184,10 +183,11 @@ k k k k -v +t +q "} (3,1,1) = {" -v +q k a a @@ -232,10 +232,10 @@ a k k k -v +q "} (4,1,1) = {" -v +q k a a @@ -280,10 +280,10 @@ a a a k -v +q "} (5,1,1) = {" -v +q k a a @@ -328,10 +328,10 @@ a a s k -v +q "} (6,1,1) = {" -v +q k a a @@ -376,10 +376,10 @@ a s s k -v +q "} (7,1,1) = {" -v +q k a a @@ -424,10 +424,10 @@ a a s k -v +q "} (8,1,1) = {" -v +q k a a @@ -472,10 +472,10 @@ a a k k -v +q "} (9,1,1) = {" -v +q k a a @@ -520,10 +520,10 @@ a a k k -v +q "} (10,1,1) = {" -v +q k k a @@ -568,10 +568,10 @@ a a k k -v +q "} (11,1,1) = {" -v +q k k a @@ -616,10 +616,10 @@ a a a k -v +q "} (12,1,1) = {" -v +q k k a @@ -664,10 +664,10 @@ a a a k -v +q "} (13,1,1) = {" -v +q k k a @@ -712,10 +712,10 @@ a a a k -v +q "} (14,1,1) = {" -v +q k a a @@ -760,10 +760,10 @@ a a a k -v +q "} (15,1,1) = {" -v +q k a a @@ -808,10 +808,10 @@ a a a k -v +q "} (16,1,1) = {" -v +q k a a @@ -856,10 +856,10 @@ a a a k -v +q "} (17,1,1) = {" -v +q k a a @@ -904,10 +904,10 @@ a a a k -v +q "} (18,1,1) = {" -v +q k a a @@ -952,10 +952,10 @@ a a a k -v +q "} (19,1,1) = {" -v +q k a a @@ -1000,10 +1000,10 @@ a a a k -v +q "} (20,1,1) = {" -v +q k a a @@ -1048,10 +1048,10 @@ a a a k -v +q "} (21,1,1) = {" -v +q k a a @@ -1096,10 +1096,10 @@ U N a k -v +q "} (22,1,1) = {" -v +q k a a @@ -1144,10 +1144,10 @@ U U a k -v +q "} (23,1,1) = {" -v +q k a a @@ -1192,10 +1192,10 @@ U U a k -v +q "} (24,1,1) = {" -v +q k a a @@ -1240,10 +1240,10 @@ U U a k -v +q "} (25,1,1) = {" -v +q k a a @@ -1288,10 +1288,10 @@ U U a k -v +q "} (26,1,1) = {" -v +q k a a @@ -1336,10 +1336,10 @@ U U a k -v +q "} (27,1,1) = {" -v +q k a a @@ -1384,10 +1384,10 @@ U D a k -v +q "} (28,1,1) = {" -v +q k a a @@ -1432,10 +1432,10 @@ a a a k -v +q "} (29,1,1) = {" -v +q k a a @@ -1480,10 +1480,10 @@ a a a k -v +q "} (30,1,1) = {" -v +q k a a @@ -1528,10 +1528,10 @@ a a a k -v +q "} (31,1,1) = {" -v +q k a a @@ -1576,10 +1576,10 @@ a a a k -v +q "} (32,1,1) = {" -v +q k a a @@ -1624,10 +1624,10 @@ a a a k -v +q "} (33,1,1) = {" -v +q k a a @@ -1672,10 +1672,10 @@ a a a k -v +q "} (34,1,1) = {" -v +q k k a @@ -1720,10 +1720,10 @@ a a a k -v +q "} (35,1,1) = {" -v +q k k a @@ -1768,10 +1768,10 @@ a a a k -v +q "} (36,1,1) = {" -v +q k k a @@ -1816,10 +1816,10 @@ a a a k -v +q "} (37,1,1) = {" -v +q k k a @@ -1864,10 +1864,10 @@ a a k k -v +q "} (38,1,1) = {" -v +q k a a @@ -1912,10 +1912,10 @@ a a k k -v +q "} (39,1,1) = {" -v +q k a a @@ -1960,10 +1960,10 @@ a a a k -v +q "} (40,1,1) = {" -v +q k a a @@ -2008,10 +2008,10 @@ a a a k -v +q "} (41,1,1) = {" -v +q k a a @@ -2056,10 +2056,10 @@ a a a k -v +q "} (42,1,1) = {" -v +q k a a @@ -2104,10 +2104,10 @@ a a a k -v +q "} (43,1,1) = {" -v +q k a k @@ -2152,10 +2152,10 @@ k a a k -v +q "} (44,1,1) = {" -v +q k k k @@ -2200,53 +2200,53 @@ k k k k -v +q "} (45,1,1) = {" -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v -v +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q +q "} diff --git a/_maps/virtual_domains/fredingtonfastingbear.dmm b/_maps/virtual_domains/fredingtonfastingbear.dmm index 4da8210c90e1a..926ea5c60acbd 100644 --- a/_maps/virtual_domains/fredingtonfastingbear.dmm +++ b/_maps/virtual_domains/fredingtonfastingbear.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aV" = ( /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "bu" = ( /obj/machinery/oven/range, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "bL" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -14,16 +14,14 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"bP" = ( -/obj/structure/sign/poster/official/report_crimes, -/turf/closed/indestructible/reinforced, -/area/virtual_domain/protected_space/fullbright) +/area/virtual_domain) "bR" = ( -/obj/machinery/chem_dispenser/drinks/beer, +/obj/machinery/chem_dispenser/drinks/beer{ + pixel_y = 8 + }, /obj/structure/table/wood, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "bW" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -32,7 +30,7 @@ pixel_y = 6 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "cn" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -41,40 +39,32 @@ pixel_y = 2 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "cp" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /mob/living/basic/bear/snow, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"cY" = ( -/obj/structure/sign/poster/official/no_erp/directional/north, -/obj/structure/sign/poster/official/no_erp/directional/north, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "dl" = ( /obj/structure/sign/poster/contraband/blood_geometer/directional/south, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "dz" = ( /obj/structure/table/wood, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "dN" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/blood/xtracks, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "dV" = ( /obj/structure/table/glass, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"ex" = ( -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "eE" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -83,28 +73,28 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "eW" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "fd" = ( /obj/structure/table/wood/poker, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "fo" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/shaker{ pixel_x = 5 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "fy" = ( /obj/machinery/stove, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "fz" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -114,15 +104,16 @@ pixel_y = 6 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "fU" = ( /obj/effect/decal/cleanable/blood/footprints, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "gl" = ( -/obj/structure/sign/poster/contraband/blasto_detergent, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/obj/structure/closet/crate/trashcart/filled, +/obj/structure/sign/poster/contraband/blasto_detergent/directional/north, +/turf/open/floor/iron/kitchen, +/area/virtual_domain) "gL" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -132,26 +123,28 @@ }, /obj/machinery/light/built/directional/east, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "hq" = ( /obj/structure/table/reinforced, /obj/item/flashlight/seclite{ - pixel_y = 9 + pixel_y = 19 }, -/obj/item/flashlight/seclite, /obj/item/flashlight/seclite{ - pixel_y = 6 + pixel_y = 13 + }, +/obj/item/flashlight/seclite{ + pixel_y = 5 }, /turf/open/floor/iron/cafeteria, /area/virtual_domain/protected_space/fullbright) "hI" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "hK" = ( /obj/item/trash/popcorn, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "hR" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -160,12 +153,12 @@ /obj/effect/decal/cleanable/confetti, /obj/effect/decal/cleanable/insectguts, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "jE" = ( -/obj/structure/sign/poster/abductor/ayy_over_tizira, -/obj/structure/sign/poster/official/the_owl, -/turf/closed/indestructible/reinforced, -/area/virtual_domain/protected_space/fullbright) +/turf/closed/indestructible/fakedoor{ + dir = 4 + }, +/area/virtual_domain) "jZ" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -174,71 +167,73 @@ dir = 4 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "kf" = ( /obj/structure/chair/stool/bar/directional/east, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "km" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "kL" = ( /obj/machinery/light/built/directional/west, /obj/item/light/tube/broken, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lc" = ( /obj/machinery/vending/boozeomat, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lL" = ( /obj/structure/table, -/obj/item/kitchen/rollingpin/illegal, +/obj/item/kitchen/rollingpin/illegal{ + pixel_y = 7 + }, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lP" = ( /obj/machinery/vending/sovietsoda, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lS" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ma" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/table, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ms" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "mC" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/table, /obj/item/food/pizza, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "mX" = ( /obj/machinery/computer/arcade/amputation{ dir = 1 }, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ng" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "nF" = ( /obj/effect/spawner/structure/window/reinforced/indestructible, /turf/open/floor/iron, @@ -251,11 +246,11 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/item/clothing/mask/animal/small/bear/cursed, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "nX" = ( /obj/structure/chair/sofa/corp/left, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ob" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -263,12 +258,12 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/greenglow, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "of" = ( /obj/structure/railing, /obj/effect/decal/cleanable/fuel_pool/hivis, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "oO" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -276,51 +271,52 @@ dir = 4 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "pr" = ( /obj/machinery/light/built/directional/east, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "pK" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "pX" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/item/restraints/legcuffs/beartrap/prearmed, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ql" = ( /obj/structure/table/reinforced, /obj/item/toy/plush/nukeplushie{ pixel_x = 5; - pixel_y = 6 + pixel_y = 9 }, /obj/item/phone{ base_pixel_w = 4; pixel_x = -6 }, +/obj/structure/sign/poster/official/the_owl/directional/north, /turf/open/floor/iron/cafeteria, /area/virtual_domain/protected_space/fullbright) "qK" = ( /turf/closed/indestructible/fakedoor, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "rc" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "re" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ri" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -329,14 +325,14 @@ }, /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "rB" = ( /obj/item/trash/boritos/green{ pixel_x = 4; pixel_y = 11 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "rD" = ( /obj/machinery/door/poddoor{ id = "door2" @@ -350,62 +346,63 @@ dir = 4 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "sg" = ( -/obj/structure/sign/poster/contraband/bountyhunters/directional/south, -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/template_noop, +/area/virtual_domain) "si" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/table, /obj/item/balloon_mallet, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "sk" = ( /obj/machinery/computer/slot_machine, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "sl" = ( -/obj/effect/spawner/structure/window/reinforced/indestructible, -/obj/structure/sign/poster/contraband/space_cola/directional/north, -/turf/open/floor/iron, -/area/virtual_domain/protected_space/fullbright) +/obj/structure/table/wood, +/obj/structure/sign/poster/contraband/ambrosia_vulgaris/directional/north, +/turf/open/floor/iron/kitchen, +/area/virtual_domain) "sR" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "td" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/decal/chempuff, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "to" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "tC" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/table, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "tI" = ( /obj/item/trash/can, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "tN" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, /area/virtual_domain/safehouse) "tZ" = ( /obj/structure/table/wood/poker, -/obj/item/trash/ready_donk, +/obj/item/trash/ready_donk{ + pixel_y = 2 + }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ud" = ( /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/cafeteria, @@ -415,40 +412,40 @@ dir = 1 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "uZ" = ( /obj/effect/decal/cleanable/food/salt, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ve" = ( /turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vk" = ( /obj/structure/railing, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vm" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vs" = ( /obj/structure/closet/secure_closet/freezer/cream_pie, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vw" = ( /mob/living/basic/bear/butter, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vy" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/decal/cleanable/blood/gibs/down, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vz" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/iron, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vF" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -458,18 +455,18 @@ id = "door2" }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vG" = ( /obj/structure/closet/secure_closet/freezer/kitchen, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vR" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/structure/table, /obj/item/trash/tray, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "vT" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -478,7 +475,7 @@ }, /obj/effect/decal/cleanable/insectguts, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "wM" = ( /obj/item/toy/balloon/heart, /obj/machinery/light/built/directional/west, @@ -486,47 +483,41 @@ dir = 1 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xa" = ( /obj/structure/railing, /obj/structure/curtain/cloth/fancy/mechanical/start_closed, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xk" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/table, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"xv" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/sign/poster/official/moth_hardhat/directional/west, -/turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xY" = ( /obj/effect/decal/cleanable/insectguts, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "yz" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "yB" = ( /obj/structure/railing, /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "zU" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ag" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -534,11 +525,11 @@ dir = 4 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ak" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "AF" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/goldschlager{ @@ -549,23 +540,23 @@ pixel_x = -4 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Bc" = ( /turf/template_noop, /area/virtual_domain/safehouse) "Bf" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Bj" = ( /obj/machinery/computer/arcade/amputation, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Bo" = ( /obj/machinery/door/airlock, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "BU" = ( /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/cafeteria, @@ -578,16 +569,16 @@ }, /obj/effect/decal/cleanable/blood/gibs/up, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Cm" = ( /turf/template_noop, -/area/space) +/area/template_noop) "Ct" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/machinery/light/built/directional/east, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Dx" = ( /obj/effect/decal/cleanable/fuel_pool, /obj/effect/decal/cleanable/confetti, @@ -596,7 +587,7 @@ "Dz" = ( /mob/living/basic/bear/fightpit, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "DV" = ( /obj/machinery/door/airlock, /turf/open/floor/iron/cafeteria, @@ -609,14 +600,14 @@ }, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "EP" = ( /obj/structure/railing{ dir = 4 }, /obj/effect/decal/cleanable/leaper_sludge, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Fc" = ( /turf/closed/indestructible/reinforced, /area/virtual_domain/protected_space/fullbright) @@ -625,29 +616,29 @@ /obj/machinery/light/built/directional/west, /obj/structure/fake_stairs/wood, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "FA" = ( /obj/effect/decal/cleanable/food/flour, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Gb" = ( /obj/item/trash/peanuts, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Gn" = ( /obj/machinery/light/built/directional/east, /obj/effect/decal/cleanable/food/tomato_smudge, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "GD" = ( /obj/effect/decal/cleanable/blood, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "GK" = ( /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Hi" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -655,27 +646,28 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ho" = ( /obj/effect/decal/cleanable/fuel_pool/hivis, /mob/living/basic/bear/fightpit, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "HE" = ( /obj/structure/table/reinforced, /obj/item/gun/energy/laser{ - pixel_x = -4 + pixel_x = -4; + pixel_y = 7 }, /obj/item/gun/energy/laser{ - pixel_y = 2 + pixel_y = 11 }, /obj/item/gun/energy/laser{ pixel_x = 4; - pixel_y = 4 + pixel_y = 16 }, /obj/machinery/recharger{ pixel_x = 7; - pixel_y = -1 + pixel_y = 4 }, /obj/machinery/button/door/directional/east{ id = "door2" @@ -685,11 +677,11 @@ "HG" = ( /obj/structure/curtain/cloth/fancy/mechanical, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "If" = ( /mob/living/basic/bear/russian, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Io" = ( /obj/structure/closet/crate/trashcart/filled, /turf/open/misc/dirt/jungle, @@ -697,12 +689,14 @@ "IX" = ( /obj/machinery/computer/arcade/amputation, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "IY" = ( /obj/structure/table/wood/poker, -/obj/item/toy/cards/deck/syndicate, +/obj/item/toy/cards/deck/syndicate{ + pixel_y = 7 + }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Jh" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -712,34 +706,30 @@ pixel_y = 8 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "JD" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "JF" = ( /obj/modular_map_root/safehouse{ key = "wood" }, /turf/template_noop, /area/virtual_domain/safehouse) -"JW" = ( -/obj/structure/sign/poster/official/the_owl, -/turf/closed/indestructible/reinforced, -/area/virtual_domain/protected_space/fullbright) "Ke" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /obj/item/trash/pistachios, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "KJ" = ( /mob/living/basic/bear/fightpit, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ln" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -748,11 +738,11 @@ }, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "LP" = ( /obj/item/trash/shrimp_chips, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "LU" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -762,7 +752,7 @@ id = "door1" }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Mc" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -774,24 +764,20 @@ dir = 8 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Mm" = ( /obj/structure/chair/stool/bar/directional/north, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"Mq" = ( -/obj/structure/sign/poster/contraband/ambrosia_vulgaris/directional/west, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ML" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "MO" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "MS" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -800,84 +786,76 @@ pixel_y = 2 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ne" = ( /turf/closed/indestructible/binary, -/area/space) -"Nz" = ( -/obj/structure/sign/poster/official/pda_ad/directional/north, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "NA" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "NE" = ( /obj/structure/sign/poster/abductor/ayy_cops/directional/north, /turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Od" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"Ox" = ( -/obj/structure/sign/poster/official/the_owl, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "OB" = ( /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "OD" = ( /mob/living/basic/bear/russian, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "OM" = ( /obj/structure/table, /obj/effect/decal/cleanable/food/salt, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Pm" = ( /obj/structure/chair/sofa/corp/right, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "PK" = ( /obj/structure/curtain/cloth/fancy/mechanical, /obj/effect/decal/cleanable/blood/tracks, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Qg" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/item/toy/balloon/heart, /obj/machinery/light/built/directional/west, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "RB" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/light/built/directional/west, /obj/effect/decal/cleanable/glass/plastitanium, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Sp" = ( /obj/structure/chair/sofa/corp, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Sr" = ( /obj/effect/decal/cleanable/blood/footprints{ dir = 4 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "SE" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/machinery/light/built/directional/east, /obj/effect/decal/cleanable/glass/plastitanium, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "SW" = ( /obj/machinery/door/poddoor{ id = "door1" @@ -891,11 +869,7 @@ pixel_y = 6 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"Tp" = ( -/obj/structure/sign/poster/official/soft_cap_pop_art, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Tq" = ( /turf/open/misc/dirt/jungle, /area/virtual_domain/fullbright) @@ -907,34 +881,30 @@ }, /obj/effect/decal/cleanable/insectguts, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "TR" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/decal/cleanable/ants/fire, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "TW" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /mob/living/basic/bear/snow, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Uj" = ( /obj/structure/curtain/bounty/start_closed, /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "Ux" = ( /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "UR" = ( /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"UW" = ( -/obj/structure/sign/poster/official/no_erp/directional/north, -/turf/closed/indestructible/reinforced, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Vd" = ( /turf/open/floor/iron/cafeteria, /area/virtual_domain/protected_space/fullbright) @@ -942,31 +912,29 @@ /obj/structure/table, /obj/item/kitchen/tongs, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Vs" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/decal/cleanable/blood/gibs/old, /obj/machinery/light/built/directional/west, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "VS" = ( /obj/structure/table/reinforced, -/obj/item/modular_computer/laptop/preset/civilian, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 8 + }, /turf/open/floor/iron/cafeteria, /area/virtual_domain/protected_space/fullbright) "VW" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) -"Wj" = ( -/obj/structure/sign/poster/contraband/free_key/directional, -/turf/closed/indestructible/reinforced, -/area/virtual_domain/protected_space/fullbright) +/area/virtual_domain) "Wy" = ( /obj/effect/decal/cleanable/molten_object/large, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "WG" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -975,11 +943,11 @@ }, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "XG" = ( /obj/machinery/roulette, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Yd" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -987,26 +955,28 @@ dir = 8 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Ye" = ( /obj/structure/table/glass, -/obj/item/reagent_containers/cup/soda_cans/grey_bull, +/obj/item/reagent_containers/cup/soda_cans/grey_bull{ + pixel_y = 8 + }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Yy" = ( /obj/machinery/computer/arcade/amputation{ dir = 1 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "YK" = ( /obj/effect/spawner/random/trash, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "YL" = ( /obj/item/trash/raisins, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "YT" = ( /obj/machinery/button/door/directional/west{ id = "door1" @@ -1016,30 +986,30 @@ "Zf" = ( /obj/machinery/deepfryer, /turf/open/floor/iron/kitchen/small, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Zj" = ( /mob/living/basic/bear/fightpit, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Zp" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ZL" = ( /obj/structure/railing{ dir = 4 }, /turf/open/floor/wood, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ZU" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/decal/cleanable/confetti, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ZZ" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -1047,7 +1017,7 @@ dir = 8 }, /turf/open/floor/iron/kitchen, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) (1,1,1) = {" Cm @@ -1095,9 +1065,6 @@ Cm Cm Cm Cm -Cm -Cm -Cm "} (2,1,1) = {" Cm @@ -1115,6 +1082,15 @@ Cm Cm Cm Cm +Uj +Uj +Uj +Uj +Uj +Uj +Uj +Cm +Cm Cm Cm Cm @@ -1136,6 +1112,8 @@ Cm Cm Cm Cm +"} +(3,1,1) = {" Cm Cm Cm @@ -1148,11 +1126,16 @@ Cm Cm Cm Cm -"} -(3,1,1) = {" Cm Cm Cm +Uj +MO +OB +OB +OB +OB +Uj Cm Cm Cm @@ -1176,6 +1159,8 @@ Cm Cm Cm Cm +"} +(4,1,1) = {" Cm Cm Cm @@ -1191,6 +1176,13 @@ Cm Cm Cm Cm +Uj +OB +OB +OB +OB +Zj +Uj Cm Cm Cm @@ -1198,8 +1190,6 @@ Cm Cm Cm Cm -"} -(4,1,1) = {" Cm Cm Cm @@ -1216,14 +1206,12 @@ Cm Cm Cm Cm +"} +(5,1,1) = {" Cm Cm Cm Cm -Ne -Ne -Ne -Ne Cm Cm Cm @@ -1235,6 +1223,13 @@ Cm Cm Cm Cm +Uj +vm +OB +OB +OB +vm +Uj Cm Cm Cm @@ -1248,8 +1243,6 @@ Cm Cm Cm Cm -"} -(5,1,1) = {" Cm Cm Cm @@ -1260,21 +1253,30 @@ Cm Cm Cm Cm +"} +(6,1,1) = {" Cm Cm Cm Cm Cm -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne +ve +ve +ve +ve +ve +ve +ve +ve +ve +ve +ve +ve +OB +OB +OB +ve +ve Cm Cm Cm @@ -1299,12 +1301,29 @@ Cm Cm Cm "} -(6,1,1) = {" +(7,1,1) = {" Cm Cm Cm Cm Cm +ve +sk +Ux +Ux +kL +Ux +Ux +UR +Ux +Ux +Ux +Fy +EP +ZL +ZL +wM +ve Cm Cm Cm @@ -1315,16 +1334,6 @@ Cm Cm Cm Cm -Ne -Uj -Uj -Uj -Uj -Uj -Uj -Uj -Ne -Ne Cm Cm Cm @@ -1338,18 +1347,41 @@ Cm Cm Cm Cm +"} +(8,1,1) = {" Cm Cm Cm Cm Cm +ve +GK +Gb +Ux +IX +rB +YL +mX +UR +Ux +Ux +Ux +UR +UR +Ux +Ux +ve Cm Cm +ve +ve +ve +ve +ve +ve Cm Cm Cm -"} -(7,1,1) = {" Cm Cm Cm @@ -1362,23 +1394,38 @@ Cm Cm Cm Cm +"} +(9,1,1) = {" Cm Cm -Ne -Ne -Uj -MO -OB -OB -OB -OB -Uj -Ne Cm Cm Cm +ve +gl +Ux +Ux +Bj +Ux +Ux +Yy +Bf +Ux +Ux +Ux +Zp +rc +re +Ux +ve Cm Cm +ve +Ux +Ux +Ux +Ux +ve Cm Cm Cm @@ -1394,45 +1441,38 @@ Cm Cm Cm Cm -Cm -Cm -Cm -Cm -"} -(8,1,1) = {" -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Ne -Ne -Uj -OB -OB -OB -OB -Zj -Uj -Ne -Ne -Ne +"} +(10,1,1) = {" Cm Cm Cm Cm Cm +ve +GK +Ux +Ux +Bj +UR +Ux +Yy +Ux +Ux +Ux +Ux +Ke +re +re +Ux +ve Cm Cm +ve +Ux +vw +Ux +Ux +ve Cm Cm Cm @@ -1449,40 +1489,37 @@ Cm Cm Cm "} -(9,1,1) = {" -Cm -Cm -Cm -Cm -Cm -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Uj -vm -OB -OB -OB -vm -Uj -Ne -Ne -Ne +(11,1,1) = {" Cm Cm Cm Cm Cm +ve +sk +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +re +re +re +Ux +ve Cm Cm +ve +Ux +Ux +Ux +Ux +ve Cm Cm Cm @@ -1499,47 +1536,44 @@ Cm Cm Cm "} -(10,1,1) = {" -Cm -Cm -Cm -Cm +(12,1,1) = {" Cm -Ne +Uj +Uj +Uj +Uj +ve +ve +ve +ve +Ux +Ux +Ux +Wy +ve +ve +NE +Ux +Ux +Ux +Ux +Ho +ve +ve +ve ve ve ve ve ve ve -Ox ve ve ve ve ve -OB -OB -OB ve ve -Ne -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm Cm Cm Cm @@ -1549,29 +1583,43 @@ Cm Cm Cm "} -(11,1,1) = {" -Cm -Cm -Cm -Cm +(13,1,1) = {" Cm -Ne +Uj +OB +OB +dl +hI +to +Vs +dN +vT +oO +ML +EO +WG +Qg ve -sk -Ux -Ux -kL -Ux -Ux -UR Ux +xY Ux Ux -Fy -EP -ZL -ZL -wM +NA +NA +NA +NA +RB +NA +NA +zU +NA +NA +NA +yz +yz +yz +yz +nP ve Ne Ne @@ -1581,249 +1629,76 @@ Ne Ne Ne Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm "} -(12,1,1) = {" -Cm -Cm -Cm -Cm +(14,1,1) = {" Cm -Ne +Uj +OB +OB +OB +xa +jZ +to +eW +bW +ma +to +hR +tC +MS ve -GK -Gb -Ux -IX -rB -YL -mX -UR -Ux -Ux -Ux -UR -UR Ux +XG +XG Ux +NA +pX +NA +NA +NA +NA +NA +NA +NA +NA +td +yz +LU +yz +ob +bL ve Ne +Bc +Bc +Bc +Bc +Bc +JF Ne -ve -ve -ve -ve -ve -ve -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(13,1,1) = {" -Cm -Cm -Cm -Cm -Cm -Ne -gl -GK -Ux -Ux -Bj -Ux -Ux -Yy -Bf -Ux -Ux -Ux -Zp -rc -re -Ux -ve -Ne -Ne -ve -Ux -Ux -Ux -Ux -ve -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(14,1,1) = {" -Cm -Cm -Cm -Ne -Ne -Ne -ve -GK -Ux -Ux -Bj -UR -Ux -Yy -Ux -Ux -Ux -Ux -Ke -re -re -Ux -Tp -Ne -Ne -ve -Ux -vw -Ux -Ux -ve -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm "} (15,1,1) = {" Cm -Ne -Ne -Ne -Ne -Ne -ve -sk -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -re -re -re -Ux -ve -Ne -Ne -ve -Ux -Ux -Ux -Ux -ve -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(16,1,1) = {" -Cm -Ne -Uj -Uj Uj -Uj -ve -ve -ve -ve -Ux -Ux -Ux -Wy -ve -ve -NE -Ux +OB +OB +OB +HG +of +ML +ZU +mC +vR +ML +tC +Jh +to Ux Ux +Od +tZ Ux -Ho -ve -ve +TR ve ve ve @@ -1831,842 +1706,296 @@ ve ve ve ve +Fc +Fc +nF +SW +Fc +Fc +Fc ve -UW -UW -cY -UW ve ve +Bc +Bc +Bc +Bc +Bc +Bc Ne -Ne -Cm -Cm -Cm -Cm -Ne -Ne -Cm -Cm "} -(17,1,1) = {" +(16,1,1) = {" Cm -Ne Uj OB OB -dl -hI +OB +HG +vk to -Vs -dN -vT -oO ML -EO -WG -Qg -ve +Ln +ZZ +to +ZZ +Yd +eW Ux -xY -Ux -Ux -NA -NA -NA -NA -RB -NA -NA -zU -NA -NA -NA -yz -yz -yz -yz -nP -ve -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Cm -"} -(18,1,1) = {" -Cm -Ne -Uj -OB -OB -OB -xa -jZ -to -eW -bW -ma -to -hR -tC -MS -ve -Ux -XG -XG -Ux -NA -pX -NA -NA -NA -NA -NA -NA -NA -NA -td -yz -LU -yz -ob -bL -ve -Ne -Bc -Bc -Bc -Bc -Bc -JF -Ne -Cm -Cm -"} -(19,1,1) = {" -Cm -Ne -Uj -OB -OB -OB -HG -of -ML -ZU -mC -vR -ML -tC -Jh -to -Ux -Ux -Od -tZ -Ux -TR -ve -ve -ve -ve -ve -ve -ve -Fc -Fc -sl -SW -Fc -Wj -Fc -ve -ve -ve -Bc -Bc -Bc -Bc -Bc -Bc -Ne -Cm -Cm -"} -(20,1,1) = {" -Cm -Ne -Uj -OB -OB -OB -HG -vk -to -ML -Ln -ZZ -to -ZZ -Yd -eW -Ux -hK -fd +hK +fd Ux Ux NA vz tI VW -ve -ex -ex -ex -Fc -hq -ud -Dx -YT -Vd -Fc -Tq -Tq -Tq -Bc -Bc -Bc -Bc -Bc -Bc -Ne -Cm -Cm -"} -(21,1,1) = {" -Cm -Ne -Uj -OB -OB -OB -HG -vk -ML -to -ML -cn -ML -to -ML -ZU -Ux -Ux -fd -Ux -Ux -NA -Ux -Ux -lP -qK -ex -ex -sg -jE -VS -Vd -Vd -Vd -Vd -DV -Tq -Tq -Tq -Bc -Bc -Bc -Bc -Bc -Bc -Ne -Cm -Cm -"} -(22,1,1) = {" -Cm -Ne -Uj -OB -OB -pK -PK -yB -to -ML -EO -Ag -to -Ag -EO -eW -Ux -Ux -fd -Ux -Ux -NA -vz -LP -lc -ve -ex -ex -ex -JW -ql -BU -ud -HE -Vd -Fc -Io -Tq -Tq -Bc -Bc -Bc -Bc -Bc -Bc -Ne -Cm -Cm -"} -(23,1,1) = {" -Cm -Ne -Uj -OB -OB -pK -xa -Mc -JD -ZU -xk -tC -ML -si -ma -ZU -YK -Ux -fd -IY -Ux -NA -ve -ve -ve -ve -ve -ve -ve -Fc -Fc -nF -rD -Fc -bP -Fc -ve -ve -ve -Bc -Bc -Bc -Bc -Bc -Bc -Ne -Cm -Cm -"} -(24,1,1) = {" -Cm -Ne -Uj -OB -OB -If -ve -ML -rY -ML -tC -Jh -to -ma -fz -TW -ve -Ux -XG -XG -Ux -NA -NA -NA -NA -NA -NA -NA -xv -NA -NA -NA -yz -vF -yz -yz -Hi -ve -Ne -Bc -Bc -Bc -Bc -Bc -tN -Ne -Cm -Cm -"} -(25,1,1) = {" -Cm -Ne -Uj -OB -OB -vm -ve -lS -gL -ms -ri -TG -eW -Yd -Ce -Ct -ve -Ux -Ux -Ux -Ux -cp -NA -NA -NA -SE -NA -NA -vy -NA -NA -NA -yz -yz -yz -yz -eE -ve -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Cm -Cm -"} -(26,1,1) = {" -Cm -Ne -Uj -Uj -Uj -Uj -ve -ve -ve -ve -GD -Ux -Ux -Ux -ve -ve -ve -Ux -Ux -Ux -Ux -Ux -ve -ve -ve -ve -ve -ve -qK -ve -ve -Nz -ve -ve -ve -ve -ve -ve -Ne -Ne -Ne -Ne -Cm -Cm -Ne -Cm -Cm -Cm -"} -(27,1,1) = {" -Cm -Ne -Ne -Ne -Ne -Ne -ve -OD -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -ve -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(28,1,1) = {" -Cm -Cm -Ne -Ne -Ne -Ne -ve -kf -kf -kf -kf -kf -kf -Ux -Ux -Ux -Ux -Ux -Pm -Ye -km -Ux -ve -ve -ve -ve -ve -ve -ve -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Ne -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(29,1,1) = {" -Cm -Cm -Cm -Cm -Ne -Ne -ve -dz -dz -dz -dz -dz -dz -Mm -Ux -Ux -Ux -Ux -Sp -dV -ur -Ux -Bo -aV -uZ -KJ -Ve -lL -ve -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm +ve +sg +sg +sg +Fc +hq +ud +Dx +YT +Vd +Fc +Tq +Tq +Tq +Bc +Bc +Bc +Bc +Bc +Bc Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm "} -(30,1,1) = {" -Cm -Cm -Cm -Cm +(17,1,1) = {" Cm -Ne -Mq -bR -Ux -Ux +Uj +OB +OB +OB +HG +vk +ML +to +ML +cn +ML +to +ML +ZU Ux Ux -dz -Mm +fd Ux Ux +NA Ux -Dz -nX -Ti -sR Ux -Bo -aV -aV -FA -aV -OM -ve -Ne +lP +qK +sg +sg +sg +Fc +VS +Vd +Vd +Vd +Vd +DV +Tq +Tq +Tq +Bc +Bc +Bc +Bc +Bc +Bc Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm "} -(31,1,1) = {" -Cm -Cm -Cm -Cm +(18,1,1) = {" Cm -Ne -ve -lc -Ux -fo -AF -pr -dz -Mm +Uj +OB +OB +pK +PK +yB +to +ML +EO +Ag +to +Ag +EO +eW Ux Ux -ng -fU -fU -pr +fd Ux Ux +NA +vz +LP +lc ve -ve -ve -vG -aV -Zf -ve -Ne +sg +sg +sg +Fc +ql +BU +ud +HE +Vd +Fc +Io +Tq +Tq +Bc +Bc +Bc +Bc +Bc +Bc Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm "} -(32,1,1) = {" -Cm -Cm -Cm -Cm +(19,1,1) = {" Cm -Ne -ve -ve -qK -ve -ve +Uj +OB +OB +pK +xa +Mc +JD +ZU +xk +tC +ML +si +ma +ZU +YK +Ux +fd +IY +Ux +NA ve ve ve ve -Ux -Sr ve ve ve +Fc +Fc +nF +rD +Fc +Fc +Fc ve ve ve +Bc +Bc +Bc +Bc +Bc +Bc Ne +"} +(20,1,1) = {" +Cm +Uj +OB +OB +If ve -vG -aV -fy +ML +rY +ML +tC +Jh +to +ma +fz +TW +ve +Ux +XG +XG +Ux +NA +NA +NA +NA +NA +NA +NA +NA +NA +NA +NA +yz +vF +yz +yz +Hi ve Ne +Bc +Bc +Bc +Bc +Bc +tN Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm "} -(33,1,1) = {" -Cm -Cm -Cm +(21,1,1) = {" Cm -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne +Uj +OB +OB +vm +ve +lS +gL +ms +ri +TG +eW +Yd +Ce +Ct ve Ux -Sr +Ux +Ux +Ux +cp +NA +NA +NA +SE +NA +NA +vy +NA +NA +NA +yz +yz +yz +yz +eE ve Ne Ne @@ -2674,122 +2003,47 @@ Ne Ne Ne Ne -ve -vs -Gn -bu -ve Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm +Ne "} -(34,1,1) = {" -Cm -Cm -Cm +(22,1,1) = {" Cm -Ne -Ne -ve -ve +Uj +Uj +Uj +Uj ve ve ve ve +GD +Ux +Ux +Ux ve ve ve Ux Ux +Ux +Ux +Ux ve ve ve ve ve ve -Ne +jE +ve +ve ve ve ve ve ve -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(35,1,1) = {" -Cm -Cm -Cm -Cm -Ne -Ne ve -Ux -Ux -Ux -Ux -Ux -Dz -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux -Ux ve -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm Cm Cm Cm @@ -2799,19 +2053,18 @@ Cm Cm Cm "} -(36,1,1) = {" +(23,1,1) = {" +Cm Cm Cm Cm Cm -Ne -Ne ve -Ak -Ux -Ux -Ux -Ux +OD +Ux +Ux +Ux +Ux Ux Ux Ux @@ -2823,58 +2076,6 @@ Ux Ux Ux ve -Ne -Ne -Ne -Ne -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -Cm -"} -(37,1,1) = {" -Cm -Cm -Cm -Cm -Ne -Ne -ve -ve -ve -qK -qK -ve -ve -ve -ve -ve -ve -ve -ve -qK -qK -ve -ve -Ne -Ne Cm Cm Cm @@ -2899,36 +2100,35 @@ Cm Cm Cm "} -(38,1,1) = {" -Cm -Cm -Cm +(24,1,1) = {" Cm -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne -Ne Cm Cm Cm Cm +ve +kf +kf +kf +kf +kf +kf +Ux +Ux +Ux +Ux +Ux +Pm +Ye +km +Ux +ve +ve +ve +ve +ve +ve +ve Cm Cm Cm @@ -2946,19 +2146,36 @@ Cm Cm Cm Cm +"} +(25,1,1) = {" Cm Cm -"} -(39,1,1) = {" Cm Cm Cm -Ne -Ne -Ne -Ne -Ne -Ne +ve +sl +dz +dz +dz +dz +dz +Mm +Ux +Ux +Ux +Ux +Sp +dV +ur +Ux +Bo +aV +uZ +KJ +Ve +lL +ve Cm Cm Cm @@ -2976,11 +2193,36 @@ Cm Cm Cm Cm +"} +(26,1,1) = {" Cm Cm Cm Cm Cm +ve +bR +Ux +Ux +Ux +Ux +dz +Mm +Ux +Ux +Ux +Dz +nX +Ti +sR +Ux +Bo +aV +aV +FA +aV +OM +ve Cm Cm Cm @@ -2999,15 +2241,35 @@ Cm Cm Cm "} -(40,1,1) = {" +(27,1,1) = {" Cm Cm Cm Cm -Ne -Ne -Ne Cm +ve +lc +Ux +fo +AF +pr +dz +Mm +Ux +Ux +ng +fU +fU +pr +Ux +Ux +ve +ve +ve +vG +aV +Zf +ve Cm Cm Cm @@ -3025,12 +2287,36 @@ Cm Cm Cm Cm +"} +(28,1,1) = {" Cm Cm Cm Cm Cm +ve +ve +jE +ve +ve +ve +ve +ve +ve +Ux +Sr +ve +ve +ve +ve +ve +ve Cm +ve +vG +aV +fy +ve Cm Cm Cm @@ -3049,13 +2335,12 @@ Cm Cm Cm "} -(41,1,1) = {" +(29,1,1) = {" Cm Cm Cm Cm Cm -Ne Cm Cm Cm @@ -3064,12 +2349,21 @@ Cm Cm Cm Cm +ve +Ux +Sr +ve Cm Cm Cm Cm Cm Cm +ve +vs +Gn +bu +ve Cm Cm Cm @@ -3087,19 +2381,41 @@ Cm Cm Cm Cm +"} +(30,1,1) = {" Cm Cm Cm Cm Cm +ve +ve +ve +ve +ve +ve +ve +ve +ve +Ux +Ux +ve +ve +ve +ve +ve +ve Cm +ve +ve +ve +ve +ve Cm Cm Cm Cm Cm -"} -(42,1,1) = {" Cm Cm Cm @@ -3112,11 +2428,30 @@ Cm Cm Cm Cm +"} +(31,1,1) = {" Cm Cm Cm Cm Cm +ve +Ux +Ux +Ux +Ux +Ux +Dz +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +ve Cm Cm Cm @@ -3140,16 +2475,33 @@ Cm Cm Cm Cm +"} +(32,1,1) = {" Cm Cm Cm Cm Cm +ve +Ak +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +ve Cm Cm Cm -"} -(43,1,1) = {" Cm Cm Cm @@ -3170,11 +2522,30 @@ Cm Cm Cm Cm +"} +(33,1,1) = {" Cm Cm Cm Cm Cm +ve +ve +ve +jE +jE +ve +ve +ve +ve +ve +ve +ve +ve +jE +jE +ve +ve Cm Cm Cm diff --git a/_maps/virtual_domains/gondola_asteroid.dmm b/_maps/virtual_domains/gondola_asteroid.dmm index 6ed8763f9a6f5..e519c80889ca2 100644 --- a/_maps/virtual_domains/gondola_asteroid.dmm +++ b/_maps/virtual_domains/gondola_asteroid.dmm @@ -1,38 +1,39 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "c" = ( /turf/open/space/basic, -/area/space) +/area/space/virtual_domain) "e" = ( -/turf/open/misc/asteroid/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/mineral/random, +/area/virtual_domain) "g" = ( /obj/structure/marker_beacon{ light_color = "#FFE8AA"; light_range = 20 }, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "h" = ( /turf/closed/mineral/random, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "m" = ( /obj/structure/closet/crate/secure/bitrunning/encrypted/gondola, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "n" = ( /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "o" = ( /turf/template_noop, /area/template_noop) "q" = ( /obj/structure/flora/tree/palm, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "r" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -40,22 +41,25 @@ "s" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "t" = ( /turf/template_noop, /area/virtual_domain/safehouse) +"v" = ( +/turf/open/misc/asteroid/airless, +/area/virtual_domain) "w" = ( /obj/structure/water_source/puddle, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "y" = ( /obj/structure/flora/bush/stalky/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "z" = ( /mob/living/basic/pet/gondola/virtual_domain, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "A" = ( /obj/structure/chair/wood{ dir = 8 @@ -64,38 +68,40 @@ /area/virtual_domain/safehouse) "C" = ( /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "D" = ( /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "F" = ( /obj/structure/flora/bush/grassy/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "I" = ( /obj/structure/flora/bush/reed/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "J" = ( /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) -"K" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "M" = ( /obj/structure/table/wood, -/obj/item/storage/bag/tray, -/obj/item/kitchen/fork, -/obj/item/knife/kitchen, +/obj/item/storage/bag/tray{ + pixel_y = 8 + }, +/obj/item/kitchen/fork{ + pixel_y = 8 + }, +/obj/item/knife/kitchen{ + pixel_y = 8 + }, /turf/template_noop, /area/virtual_domain/safehouse) "N" = ( /obj/structure/flora/bush/large/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "O" = ( /obj/modular_map_root/safehouse{ key = "shuttle_space" @@ -105,19 +111,19 @@ "Q" = ( /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "T" = ( /obj/structure/flora/bush/sunny/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "V" = ( /obj/structure/flora/coconuts, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "W" = ( /obj/structure/flora/bush/ferny/style_random, /turf/open/floor/grass, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) (1,1,1) = {" o @@ -245,7 +251,7 @@ h h a a -K +a o o o @@ -469,7 +475,7 @@ h h h h -e +v a a a @@ -514,7 +520,7 @@ C h h h -e +v c c c @@ -559,7 +565,7 @@ C h h h -e +v c c c @@ -604,7 +610,7 @@ C h h h -e +v c c c @@ -649,7 +655,7 @@ C h h h -e +v c c c @@ -694,7 +700,7 @@ C h h h -e +v c c c @@ -739,7 +745,7 @@ h h h h -e +v c c c @@ -784,7 +790,7 @@ h h h h -e +v c c c @@ -829,7 +835,7 @@ h h h h -e +v c c c @@ -1021,7 +1027,7 @@ a "} (21,1,1) = {" a -e +v h h h @@ -1066,8 +1072,8 @@ a "} (22,1,1) = {" a -e -e +v +v h h h @@ -1111,8 +1117,8 @@ a "} (23,1,1) = {" a -e -e +v +v h h h @@ -1156,8 +1162,8 @@ a "} (24,1,1) = {" a -e -e +v +v h h h @@ -1202,8 +1208,8 @@ a (25,1,1) = {" a a -e -e +v +v h h h @@ -1247,8 +1253,8 @@ a (26,1,1) = {" o a -e -e +v +v h h h @@ -1292,8 +1298,8 @@ a (27,1,1) = {" o a -e -e +v +v h h h @@ -1337,8 +1343,8 @@ a (28,1,1) = {" o a -e -e +v +v h h h @@ -1383,8 +1389,8 @@ a o a a -e -e +v +v h h h @@ -1428,8 +1434,8 @@ a o o a -e -e +v +v h h C @@ -1457,8 +1463,8 @@ C h h h -e -e +v +v c c c @@ -1473,7 +1479,7 @@ a o o a -e +v h h C @@ -1501,9 +1507,9 @@ C h h h -e -e -e +v +v +v c c c @@ -1545,9 +1551,9 @@ h h h h -e -e -e +v +v +v h h a @@ -1590,8 +1596,8 @@ h h h h -e -e +v +v h h h @@ -1664,11 +1670,11 @@ h h h h -e -e -e -e -e +v +v +v +v +v h h h diff --git a/_maps/virtual_domains/hierophant.dmm b/_maps/virtual_domains/hierophant.dmm index 997dfa74faceb..89035dc714910 100644 --- a/_maps/virtual_domains/hierophant.dmm +++ b/_maps/virtual_domains/hierophant.dmm @@ -9,6 +9,10 @@ }, /turf/open/indestructible/hierophant/two, /area/lavaland/surface/outdoors/virtual_domain) +"g" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/lavaland/surface/outdoors/virtual_domain) "h" = ( /obj/effect/light_emitter{ set_cap = 3; @@ -33,9 +37,6 @@ "w" = ( /turf/template_noop, /area/virtual_domain/safehouse) -"y" = ( -/turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) "E" = ( /mob/living/simple_animal/hostile/megafauna/hierophant, /turf/open/indestructible/hierophant/two, @@ -59,55 +60,54 @@ /turf/open/indestructible/hierophant, /area/lavaland/surface/outdoors/virtual_domain) "W" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/lavaland/surface/outdoors/virtual_domain) +/area/virtual_domain/fullbright) "Y" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, /area/lavaland/surface/outdoors/virtual_domain) (1,1,1) = {" -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W o o -y -y -y -y -y -y -y -y -y -y +W +W +W +W +W +W +W +W +W +W W "} (2,1,1) = {" -y +W r r r @@ -131,11 +131,10 @@ r r r r -y +W o o -y -Y +W Y Y Y @@ -144,10 +143,11 @@ Y Y Y Y -y +g +W "} (3,1,1) = {" -y +W r a a @@ -171,10 +171,10 @@ a a a r -y +W o o -y +W Y Y Y @@ -184,10 +184,10 @@ Y Y Y Y -y +W "} (4,1,1) = {" -y +W r a a @@ -211,10 +211,10 @@ a a a r -y -y -y -y +W +W +W +W Y Y Y @@ -224,10 +224,10 @@ Y Y Y Y -y +W "} (5,1,1) = {" -y +W r a a @@ -253,8 +253,8 @@ a a r r -y -y +W +W Y Y Y @@ -264,10 +264,10 @@ Y Y Y Y -y +W "} (6,1,1) = {" -y +W r a h @@ -294,7 +294,7 @@ a a a r -y +W Y Y Y @@ -304,10 +304,10 @@ Y Y Y Y -y +W "} (7,1,1) = {" -y +W r a h @@ -344,10 +344,10 @@ Y Y Y Y -y +W "} (8,1,1) = {" -y +W r a a @@ -384,10 +384,10 @@ Y Y Y Y -y +W "} (9,1,1) = {" -y +W r a a @@ -411,7 +411,7 @@ a a a r -y +W r S a @@ -424,10 +424,10 @@ Y Y Y Y -y +W "} (10,1,1) = {" -y +W r a a @@ -451,8 +451,8 @@ a a a r -y -y +W +W r a a @@ -464,10 +464,10 @@ w w H Y -y +W "} (11,1,1) = {" -y +W r a r @@ -491,9 +491,9 @@ a r a r -y -y -y +W +W +W r a a @@ -504,10 +504,10 @@ w w w Y -y +W "} (12,1,1) = {" -y +W r a a @@ -531,9 +531,9 @@ a a a r -y -y -y +W +W +W r a a @@ -544,10 +544,10 @@ w w w Y -y +W "} (13,1,1) = {" -y +W r h a @@ -571,9 +571,9 @@ a a h r -y -y -y +W +W +W r a a @@ -584,10 +584,10 @@ w w w Y -y +W "} (14,1,1) = {" -y +W r a a @@ -611,9 +611,9 @@ a a a r -y -y -y +W +W +W r a a @@ -624,10 +624,10 @@ w w w Y -y +W "} (15,1,1) = {" -y +W r a r @@ -651,9 +651,9 @@ a r a r -y -y -y +W +W +W r a a @@ -664,10 +664,10 @@ w w w Y -y +W "} (16,1,1) = {" -y +W r a a @@ -691,8 +691,8 @@ a a a r -y -y +W +W r a a @@ -704,10 +704,10 @@ w w u Y -y +W "} (17,1,1) = {" -y +W r a a @@ -731,7 +731,7 @@ a a a r -y +W r a a @@ -744,10 +744,10 @@ Y Y Y Y -y +W "} (18,1,1) = {" -y +W r a a @@ -784,10 +784,10 @@ Y Y Y Y -y +W "} (19,1,1) = {" -y +W r a h @@ -824,10 +824,10 @@ Y Y Y Y -y +W "} (20,1,1) = {" -y +W r a h @@ -854,7 +854,7 @@ a a a r -y +W Y Y Y @@ -864,10 +864,10 @@ Y Y Y Y -y +W "} (21,1,1) = {" -y +W r a a @@ -893,8 +893,8 @@ a a r r -y -y +W +W Y Y Y @@ -904,10 +904,10 @@ Y Y Y Y -y +W "} (22,1,1) = {" -y +W r a a @@ -931,10 +931,10 @@ a a a r -y -y -y -y +W +W +W +W Y Y Y @@ -944,10 +944,10 @@ Y Y Y Y -y +W "} (23,1,1) = {" -y +W r a a @@ -971,10 +971,10 @@ a a a r -y +W o o -y +W Y Y Y @@ -984,10 +984,10 @@ Y Y Y Y -y +W "} (24,1,1) = {" -y +W r r r @@ -1011,10 +1011,10 @@ r r r r -y +W o o -y +W Y Y Y @@ -1024,45 +1024,45 @@ Y Y Y Y -y +W "} (25,1,1) = {" -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y -y +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W +W o o -y -y -y -y -y -y -y -y -y -y -y +W +W +W +W +W +W +W +W +W +W +W "} diff --git a/_maps/virtual_domains/island_brawl.dmm b/_maps/virtual_domains/island_brawl.dmm index 2c8a12c6c5793..5657d7f6314ad 100644 --- a/_maps/virtual_domains/island_brawl.dmm +++ b/_maps/virtual_domains/island_brawl.dmm @@ -297,9 +297,11 @@ "dv" = ( /obj/structure/table, /obj/item/wrench{ - pixel_y = 4 + pixel_y = 13 + }, +/obj/item/storage/toolbox/emergency{ + pixel_y = 3 }, -/obj/item/storage/toolbox/emergency, /obj/effect/decal/cleanable/oil, /turf/open/floor/iron/dark/herringbone, /area/virtual_domain) @@ -442,6 +444,10 @@ /obj/machinery/food_cart, /turf/open/floor/plating, /area/virtual_domain) +"eZ" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/water/beach, +/area/virtual_domain/fullbright) "fe" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -490,8 +496,8 @@ /turf/open/floor/wood/large, /area/virtual_domain) "fY" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/half/directional/west, +/obj/structure/window/reinforced/half/directional/south, /obj/item/binoculars{ pixel_y = 20 }, @@ -698,8 +704,8 @@ /turf/open/floor/wood, /area/virtual_domain/fullbright) "iy" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/half/directional/east, +/obj/structure/window/reinforced/half/directional/north, /obj/structure/chair/stool/directional/south, /obj/item/clothing/glasses/sunglasses{ pixel_y = -2; @@ -1145,10 +1151,6 @@ }, /turf/open/floor/wood/large, /area/virtual_domain) -"oX" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/virtual_domain/fullbright) "oZ" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/siding/wood{ @@ -1444,7 +1446,7 @@ "sI" = ( /obj/structure/table/bronze, /obj/item/clothing/suit/costume/hawaiian{ - pixel_y = 2; + pixel_y = 8; pixel_x = 5 }, /obj/item/clothing/suit/costume/hawaiian{ @@ -1590,7 +1592,7 @@ /turf/open/floor/iron/white/textured_large, /area/virtual_domain) "ut" = ( -/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/half/directional/east, /obj/effect/turf_decal/siding/wood{ dir = 6 }, @@ -2055,7 +2057,7 @@ "Aq" = ( /obj/structure/table/wood/poker, /obj/item/storage/dice{ - pixel_y = 3; + pixel_y = 5; pixel_x = 5 }, /turf/open/floor/wood/large, @@ -2183,6 +2185,7 @@ /obj/structure/closet/crate/bin, /obj/item/flashlight/glowstick/yellow, /obj/item/trash/candy, +/obj/structure/sign/poster/official/tactical_game_cards/directional/north, /turf/open/floor/eighties, /area/virtual_domain) "BU" = ( @@ -2192,13 +2195,8 @@ /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "BV" = ( -/obj/structure/sign/directions/dorms/directional/north{ - pixel_y = 35 - }, -/obj/structure/sign/directions/medical/directional/north{ - pixel_y = 29 - }, /obj/machinery/computer/slot_machine, +/obj/structure/sign/directions/dorms/north_arrow/directional/north, /turf/open/floor/wood/large, /area/virtual_domain) "BW" = ( @@ -2540,7 +2538,7 @@ /area/virtual_domain) "GD" = ( /obj/effect/landmark/bitrunning/permanent_exit, -/turf/open/floor/bitrunning_transport, +/turf/open/indestructible/bitrunning_transport, /area/virtual_domain/protected_space/fullbright) "GI" = ( /turf/open/floor/iron/dark/textured_large, @@ -2633,7 +2631,6 @@ /turf/open/water/beach, /area/virtual_domain) "HR" = ( -/obj/structure/sign/poster/official/tactical_game_cards/directional/west, /obj/effect/mob_spawn/ghost_role/human/virtual_domain/islander, /turf/open/floor/eighties, /area/virtual_domain) @@ -2936,7 +2933,9 @@ pixel_x = 8; pixel_y = 9 }, -/obj/machinery/cell_charger, +/obj/machinery/cell_charger{ + pixel_y = 8 + }, /turf/open/floor/iron/dark/diagonal, /area/virtual_domain) "Lm" = ( @@ -3422,8 +3421,8 @@ /turf/open/floor/wood/large, /area/virtual_domain) "QY" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/window/reinforced/half/directional/west, /obj/structure/table/wood, /obj/item/storage/medkit/o2{ pixel_y = 4; @@ -3466,11 +3465,8 @@ /area/virtual_domain/fullbright) "Rk" = ( /obj/structure/table/glass, -/obj/machinery/fax{ - fax_name = "Beach Hotel Fax"; - name = "Beach Hotel's Fax Machine"; - pixel_y = 8; - visible_to_network = 0 +/obj/item/storage/box/donkpockets{ + pixel_y = 8 }, /turf/open/floor/iron/dark/diagonal, /area/virtual_domain) @@ -3547,8 +3543,7 @@ pixel_y = 6 }, /obj/item/clothing/head/utility/welding{ - pixel_x = -10; - pixel_y = -8 + pixel_x = -10 }, /turf/open/floor/wood/parquet, /area/virtual_domain) @@ -3723,11 +3718,12 @@ "TK" = ( /obj/structure/table/bronze, /obj/item/clothing/suit/costume/hawaiian{ - pixel_y = 1; + pixel_y = 8; pixel_x = 7 }, /obj/item/clothing/suit/costume/hawaiian{ - pixel_x = -14 + pixel_x = -14; + pixel_y = 8 }, /turf/open/floor/wood/parquet, /area/virtual_domain/fullbright) @@ -3753,14 +3749,16 @@ dir = 1 }, /obj/item/clothing/mask/breath/medical{ - pixel_y = 7; + pixel_y = 14; pixel_x = -9 }, /obj/item/clothing/mask/breath/medical{ - pixel_y = 4; + pixel_y = 10; pixel_x = 3 }, -/obj/item/clothing/gloves/latex, +/obj/item/clothing/gloves/latex{ + pixel_y = 3 + }, /obj/structure/table/glass, /turf/open/floor/wood/large, /area/virtual_domain/fullbright) @@ -3906,6 +3904,7 @@ /area/virtual_domain/fullbright) "VI" = ( /obj/machinery/vending/dinnerware, +/obj/machinery/light/directional/north, /turf/open/floor/wood/large, /area/virtual_domain) "VK" = ( @@ -4017,8 +4016,8 @@ /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) "Yb" = ( -/obj/structure/sign/poster/contraband/pwr_game/directional/west, -/turf/open/floor/eighties, +/obj/structure/sign/directions/medical/right/north_arrow/directional/west, +/turf/open/floor/wood/large, /area/virtual_domain) "Yd" = ( /obj/structure/flora/tree/palm/style_2{ @@ -5695,7 +5694,7 @@ SR SR SR SR -oX +SR "} (19,1,1) = {" SR @@ -5776,7 +5775,7 @@ cO cO cO cO -cO +eZ SR "} (20,1,1) = {" @@ -6383,7 +6382,7 @@ Mb JG Mb dj -Mb +Yb Mb IS gN @@ -6816,7 +6815,7 @@ eK UO en ty -Yb +en en HR gi @@ -7964,7 +7963,7 @@ ka ka eK eK -pv +Mb uD DT Mb diff --git a/_maps/virtual_domains/pipedream.dmm b/_maps/virtual_domains/pipedream.dmm index 5ad31be02be2e..38c78bd4c6876 100644 --- a/_maps/virtual_domains/pipedream.dmm +++ b/_maps/virtual_domains/pipedream.dmm @@ -24,15 +24,13 @@ /area/virtual_domain) "aK" = ( /turf/open/space/basic, -/area/virtual_domain) +/area/space/virtual_domain) "aL" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/virtual_domain) "bq" = ( -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/virtual_domain) @@ -112,7 +110,7 @@ /turf/open/floor/iron, /area/virtual_domain) "dz" = ( -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/corner, /obj/effect/turf_decal/trimline/yellow/warning{ @@ -121,9 +119,7 @@ /turf/open/floor/iron, /area/virtual_domain) "dA" = ( -/obj/machinery/light/dim{ - dir = 4 - }, +/obj/machinery/light/dim/directional/east, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/virtual_domain) @@ -161,9 +157,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 1 - }, +/obj/machinery/light/broken/directional/north, /turf/open/floor/iron, /area/virtual_domain) "eY" = ( @@ -208,7 +202,6 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 5 }, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, /area/virtual_domain) "fZ" = ( @@ -259,9 +252,7 @@ "hk" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 4 - }, +/obj/machinery/light/broken/directional/east, /turf/open/floor/iron, /area/virtual_domain) "ho" = ( @@ -293,9 +284,7 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 8 }, -/obj/machinery/light/small/red/dim{ - dir = 8 - }, +/obj/machinery/light/small/red/dim/directional/west, /turf/open/floor/iron, /area/virtual_domain) "jw" = ( @@ -310,9 +299,7 @@ /area/virtual_domain) "jQ" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /turf/open/floor/plating, /area/virtual_domain) "jS" = ( @@ -338,9 +325,7 @@ /turf/open/floor/iron, /area/virtual_domain) "kn" = ( -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/virtual_domain) @@ -358,7 +343,9 @@ /turf/open/floor/plating, /area/virtual_domain) "lp" = ( -/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/airlock/maintenance{ + dir = 4 + }, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/virtual_domain) @@ -415,20 +402,12 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /turf/open/floor/iron, /area/virtual_domain) "nc" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/official/safety_internals/directional/south, -/turf/open/floor/iron, +/obj/structure/sign/warning/doors/directional/north, +/turf/open/floor/plating, /area/virtual_domain) "nz" = ( /obj/structure/broken_flooring/side/directional/north, @@ -455,9 +434,6 @@ /area/virtual_domain) "op" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/dim{ - dir = 1 - }, /obj/structure/sign/warning/doors/directional/north, /turf/open/floor/iron, /area/virtual_domain) @@ -472,9 +448,7 @@ /turf/open/floor/plating, /area/virtual_domain) "pa" = ( -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /turf/open/floor/carpet/orange, /area/virtual_domain) "pb" = ( @@ -505,9 +479,7 @@ /area/virtual_domain) "pI" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/light/small/red/dim{ - dir = 4 - }, +/obj/machinery/light/small/red/dim/directional/east, /turf/open/floor/iron, /area/virtual_domain) "pJ" = ( @@ -521,7 +493,9 @@ dir = 8 }, /obj/structure/table/reinforced, -/obj/effect/spawner/random/bureaucracy/briefcase, +/obj/effect/spawner/random/bureaucracy/briefcase{ + pixel_y = 8 + }, /turf/open/floor/iron, /area/virtual_domain) "qk" = ( @@ -547,9 +521,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /turf/open/floor/plating, /area/virtual_domain) "qV" = ( @@ -559,9 +531,7 @@ /turf/open/floor/iron, /area/virtual_domain) "qW" = ( -/obj/machinery/light/dim{ - dir = 1 - }, +/obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, @@ -577,11 +547,11 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, -/obj/machinery/light/small/red/dim, +/obj/machinery/light/small/red/dim/directional/south, /turf/open/floor/iron, /area/virtual_domain) "rG" = ( -/obj/machinery/light/dim, +/obj/machinery/light/dim/directional/south, /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron, /area/virtual_domain) @@ -605,9 +575,7 @@ }, /area/virtual_domain) "sB" = ( -/obj/machinery/light/broken{ - dir = 8 - }, +/obj/machinery/light/broken/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes{ dir = 8 @@ -655,9 +623,7 @@ /turf/open/floor/plating, /area/virtual_domain) "um" = ( -/obj/machinery/light/dim{ - dir = 1 - }, +/obj/machinery/light/dim/directional/north, /turf/open/floor/iron/cafeteria, /area/virtual_domain) "uv" = ( @@ -696,7 +662,7 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 5 }, -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/iron, /area/virtual_domain) "ve" = ( @@ -728,9 +694,7 @@ /turf/open/floor/iron, /area/virtual_domain) "wg" = ( -/obj/machinery/light/small/red/dim{ - dir = 4 - }, +/obj/machinery/light/small/red/dim/directional/east, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/preopen, /turf/open/floor/plating, @@ -744,7 +708,7 @@ "wl" = ( /obj/item/shard, /turf/open/space/basic, -/area/virtual_domain) +/area/space/virtual_domain) "wm" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -754,9 +718,10 @@ /area/virtual_domain) "wq" = ( /obj/structure/table/wood, -/obj/machinery/button/door{ - name = "Cargo Bay Lockdown"; - id = "factorylockdown" +/obj/machinery/button/door/table{ + pixel_y = 8; + id = "factorylockdown"; + name = "Cargo Bay Lockdown" }, /turf/open/floor/carpet/royalblue{ icon_state = "carpet_royalblue-63" @@ -804,9 +769,7 @@ /turf/open/floor/plating, /area/virtual_domain) "xk" = ( -/obj/machinery/light/dim{ - dir = 4 - }, +/obj/machinery/light/dim/directional/east, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/iron, /area/virtual_domain) @@ -825,13 +788,13 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 }, -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/iron, /area/virtual_domain) "xF" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "xM" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 4 @@ -853,7 +816,8 @@ /area/virtual_domain) "yM" = ( /turf/closed/indestructible/fakedoor{ - name = "Stairwell Access" + name = "Stairwell Access"; + dir = 4 }, /area/virtual_domain) "yQ" = ( @@ -868,7 +832,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/carpet/orange, /area/virtual_domain) "zB" = ( @@ -891,13 +855,13 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/iron, /area/virtual_domain) "Av" = ( /obj/item/stack/rods/two, /turf/open/space/basic, -/area/virtual_domain) +/area/space/virtual_domain) "Aw" = ( /obj/structure/lattice/catwalk{ name = "industrial lift" @@ -979,9 +943,6 @@ /obj/machinery/conveyor/auto{ dir = 6 }, -/obj/machinery/light/broken{ - dir = 1 - }, /obj/structure/sign/warning/vacuum/directional/north, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, @@ -1017,9 +978,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/light/dim{ - dir = 8 - }, +/obj/machinery/light/dim/directional/west, /turf/open/floor/plating, /area/virtual_domain) "DA" = ( @@ -1087,8 +1046,8 @@ /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/rock/pile/style_random, /obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/half/directional/north, +/obj/structure/window/reinforced/half/directional/west, /turf/open/floor/grass, /area/virtual_domain) "FK" = ( @@ -1127,9 +1086,7 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 1 }, -/obj/machinery/light/broken{ - dir = 1 - }, +/obj/machinery/light/broken/directional/north, /turf/open/floor/iron, /area/virtual_domain) "Gy" = ( @@ -1147,9 +1104,7 @@ /turf/open/floor/iron, /area/virtual_domain) "GV" = ( -/obj/machinery/light/small/red/dim{ - dir = 8 - }, +/obj/machinery/light/small/red/dim/directional/west, /obj/effect/turf_decal/stripes{ dir = 9 }, @@ -1203,7 +1158,7 @@ /area/virtual_domain) "Jm" = ( /obj/structure/broken_flooring/pile/directional/north, -/obj/machinery/light/dim, +/obj/machinery/light/dim/directional/south, /turf/open/floor/plating, /area/virtual_domain) "Jn" = ( @@ -1214,21 +1169,14 @@ /obj/structure/railing/corner/end/flip{ dir = 8 }, -/obj/structure/sign/warning/doors/directional/east, /turf/open/floor/iron, /area/virtual_domain) "Jq" = ( -/obj/structure/broken_flooring/pile{ - dir = 1 - }, -/obj/structure/sign/poster/contraband/random/directional/west, +/obj/machinery/light/dim/directional/north, /turf/open/floor/plating, /area/virtual_domain) "JE" = ( -/obj/machinery/light/small/red/dim{ - dir = 1 - }, -/obj/structure/sign/warning/chem_diamond/directional/west, +/obj/machinery/light/small/red/dim/directional/north, /turf/open/floor/plating, /area/virtual_domain) "JR" = ( @@ -1253,7 +1201,7 @@ /area/virtual_domain) "KO" = ( /obj/structure/broken_flooring/side/directional/north, -/obj/machinery/light/small/red/dim, +/obj/machinery/light/small/red/dim/directional/south, /turf/open/floor/plating, /area/virtual_domain) "KX" = ( @@ -1269,7 +1217,7 @@ /area/virtual_domain) "Lp" = ( /obj/effect/turf_decal/trimline/yellow/line, -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/iron, /area/virtual_domain) "LN" = ( @@ -1279,9 +1227,7 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 10 }, -/obj/machinery/light/dim{ - dir = 4 - }, +/obj/machinery/light/dim/directional/east, /turf/open/floor/iron, /area/virtual_domain) "LU" = ( @@ -1331,9 +1277,7 @@ /obj/machinery/conveyor/auto{ dir = 1 }, -/obj/machinery/light/small/red/dim{ - dir = 8 - }, +/obj/machinery/light/small/red/dim/directional/west, /turf/open/floor/plating, /area/virtual_domain) "MI" = ( @@ -1375,9 +1319,7 @@ /obj/structure/broken_flooring/side{ dir = 4 }, -/obj/machinery/light/broken{ - dir = 4 - }, +/obj/machinery/light/broken/directional/east, /turf/open/floor/plating, /area/virtual_domain) "OJ" = ( @@ -1400,13 +1342,11 @@ /turf/open/floor/carpet/orange, /area/virtual_domain) "OR" = ( -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/plating, /area/virtual_domain) "Po" = ( -/obj/machinery/light/small/red/dim{ - dir = 4 - }, +/obj/machinery/light/small/red/dim/directional/east, /obj/structure/disposalpipe/segment, /obj/structure/broken_flooring/corner, /obj/effect/decal/cleanable/dirt/dust, @@ -1436,22 +1376,16 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 6 }, -/obj/machinery/light/dim{ - dir = 8 - }, +/obj/machinery/light/dim/directional/west, /turf/open/floor/iron, /area/virtual_domain) "Qh" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/light/broken{ - dir = 8 - }, +/obj/machinery/light/broken/directional/west, /turf/open/floor/plating, /area/virtual_domain) "Qj" = ( -/obj/machinery/light/dim{ - dir = 8 - }, +/obj/machinery/light/dim/directional/west, /turf/open/floor/plating, /area/virtual_domain) "Qo" = ( @@ -1462,7 +1396,8 @@ /area/virtual_domain/safehouse) "Qr" = ( /turf/closed/indestructible/fakedoor/maintenance{ - name = "maintenance access" + name = "maintenance access"; + dir = 4 }, /area/virtual_domain) "Qv" = ( @@ -1472,9 +1407,7 @@ /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 }, -/obj/machinery/light/small/red/dim{ - dir = 4 - }, +/obj/machinery/light/small/red/dim/directional/east, /turf/open/floor/iron, /area/virtual_domain) "Qy" = ( @@ -1511,6 +1444,7 @@ dir = 5 }, /obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/broken/directional/north, /turf/open/floor/plating, /area/virtual_domain) "Ru" = ( @@ -1528,9 +1462,13 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron, /area/virtual_domain) +"RI" = ( +/obj/effect/smooths_with_walls, +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) "RJ" = ( /turf/closed/indestructible/binary, -/area/virtual_domain) +/area/virtual_domain/fullbright) "RK" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/iron, @@ -1613,16 +1551,11 @@ /area/virtual_domain) "Ue" = ( /obj/structure/table/reinforced, -/obj/machinery/light/small/red/dim{ - dir = 8 - }, -/obj/structure/sign/poster/official/cleanliness/directional/west, +/obj/machinery/light/small/red/dim/directional/west, /turf/open/floor/iron, /area/virtual_domain) "Uw" = ( -/obj/machinery/light/dim{ - dir = 4 - }, +/obj/machinery/light/dim/directional/east, /turf/open/floor/plating, /area/virtual_domain) "UO" = ( @@ -1640,7 +1573,7 @@ /area/virtual_domain) "UX" = ( /obj/effect/turf_decal/trimline/yellow/line, -/obj/machinery/light/small/red/dim, +/obj/machinery/light/small/red/dim/directional/south, /turf/open/floor/iron, /area/virtual_domain) "UY" = ( @@ -1656,7 +1589,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/light/broken, +/obj/machinery/light/broken/directional/south, /turf/open/floor/iron, /area/virtual_domain) "Vg" = ( @@ -1666,7 +1599,7 @@ /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/machinery/light/small/red/dim, +/obj/machinery/light/small/red/dim/directional/south, /turf/open/floor/iron, /area/virtual_domain) "Vh" = ( @@ -1681,9 +1614,7 @@ /turf/open/floor/plating, /area/virtual_domain) "VA" = ( -/obj/machinery/light/small/red/dim{ - dir = 1 - }, +/obj/machinery/light/small/red/dim/directional/north, /obj/structure/table, /turf/open/floor/plating, /area/virtual_domain) @@ -1698,9 +1629,8 @@ /turf/open/floor/plating, /area/virtual_domain) "VO" = ( -/obj/machinery/light/broken{ - dir = 1 - }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/broken/directional/north, /turf/open/floor/plating, /area/virtual_domain) "Wd" = ( @@ -1746,9 +1676,7 @@ /area/virtual_domain) "Xm" = ( /obj/item/gun/ballistic/shotgun/lethal, -/obj/machinery/light/broken{ - dir = 1 - }, +/obj/machinery/light/broken/directional/north, /turf/open/floor/iron, /area/virtual_domain) "Xo" = ( @@ -1774,7 +1702,6 @@ /obj/effect/turf_decal/trimline/yellow/corner{ dir = 4 }, -/obj/structure/sign/warning/vacuum/external/directional/south, /turf/open/floor/iron, /area/virtual_domain) "XN" = ( @@ -1800,9 +1727,7 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, -/obj/machinery/light/dim{ - dir = 4 - }, +/obj/machinery/light/dim/directional/east, /turf/open/floor/iron, /area/virtual_domain) "XR" = ( @@ -1830,7 +1755,6 @@ pixel_y = 4 }, /obj/machinery/light/small/dim/directional/south, -/obj/structure/sign/poster/official/moth_hardhat/directional/west, /turf/open/floor/plating, /area/virtual_domain) "Yt" = ( @@ -1848,7 +1772,7 @@ /turf/open/floor/plating, /area/virtual_domain) "YF" = ( -/obj/machinery/light/small/red/dim, +/obj/machinery/light/small/red/dim/directional/south, /turf/open/floor/plating, /area/virtual_domain) "YL" = ( @@ -1859,7 +1783,7 @@ /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, -/obj/machinery/light/dim, +/obj/machinery/light/dim/directional/south, /turf/open/floor/iron, /area/virtual_domain) "Zb" = ( @@ -1882,7 +1806,6 @@ }, /area/virtual_domain) "ZP" = ( -/obj/structure/railing, /turf/open/floor/iron/stairs/right{ dir = 8 }, @@ -1921,7 +1844,7 @@ RJ RJ RJ RJ -RJ +RI RJ RJ RJ @@ -2107,7 +2030,7 @@ yQ yQ yQ yQ -RJ +RI eg eg eg @@ -2162,7 +2085,7 @@ eg vA Dr bw -Jq +pJ gc eg RJ @@ -2324,7 +2247,7 @@ nS kU Qj FK -nc +Sg eY aK aK @@ -2353,7 +2276,7 @@ yQ yQ yQ RJ -RJ +RI RJ RJ RJ @@ -2367,7 +2290,7 @@ lp eg RJ eg -mu +VO AJ mu eJ @@ -2417,7 +2340,7 @@ VL eg eg eg -VO +kU kU Fr jw @@ -2443,8 +2366,8 @@ yQ yQ yQ yQ -RJ -RJ +yQ +yQ RJ eg eg @@ -2493,7 +2416,7 @@ yQ yQ yQ yQ -RJ +yQ RJ RJ eg @@ -2543,7 +2466,7 @@ yQ yQ yQ yQ -RJ +yQ RJ kU kU @@ -2710,7 +2633,7 @@ tr eg eg eg -kU +nc pi kU lI @@ -2767,7 +2690,7 @@ xa eg eg eg -kU +Jq Zb kU Yt @@ -3126,7 +3049,7 @@ eg eg rO rO -RJ +RI RJ rO rO @@ -3170,7 +3093,7 @@ RJ RJ RJ RJ -RJ +RI RJ RJ RJ @@ -3215,7 +3138,7 @@ Cv Nu eg RJ -RJ +yQ yQ yQ yQ @@ -3652,7 +3575,7 @@ yQ yQ yQ yQ -RJ +yQ RJ RJ RJ diff --git a/_maps/virtual_domains/pirates.dmm b/_maps/virtual_domains/pirates.dmm index 5ad9c23595d64..8da4842eaa226 100644 --- a/_maps/virtual_domains/pirates.dmm +++ b/_maps/virtual_domains/pirates.dmm @@ -30,13 +30,13 @@ }, /obj/structure/table/wood, /obj/item/gun/energy/laser/musket{ - pixel_y = 7 + pixel_y = 15 }, /obj/item/gun/energy/laser/musket{ - pixel_y = 2 + pixel_y = 9 }, /obj/item/gun/energy/laser/musket{ - pixel_y = -3 + pixel_y = 2 }, /turf/open/floor/wood, /area/virtual_domain/protected_space/fullbright) @@ -54,14 +54,16 @@ /area/virtual_domain/protected_space/fullbright) "cX" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/item/claymore/cutlass, -/obj/item/clothing/head/costume/pirate/bandana/armored{ - pixel_x = -9; - pixel_y = 7 +/obj/item/claymore/cutlass{ + pixel_y = 8 }, /obj/structure/table/wood, /obj/item/gun/energy/laser{ - pixel_y = -3 + pixel_y = 8 + }, +/obj/item/clothing/head/costume/pirate/bandana/armored{ + pixel_x = -9; + pixel_y = 7 }, /turf/open/floor/wood{ icon_state = "wood_large" @@ -121,6 +123,11 @@ /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, /area/virtual_domain/fullbright) +"gc" = ( +/obj/structure/flora/rock/pile/jungle/style_2, +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "gf" = ( /obj/effect/turf_decal/weather/sand{ dir = 5 @@ -146,6 +153,10 @@ icon_state = "wood_large" }, /area/virtual_domain/fullbright) +"gD" = ( +/obj/item/flashlight/flare/torch, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) "gK" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/flora/bush/ferny, @@ -216,10 +227,6 @@ dir = 4 }, /area/virtual_domain/fullbright) -"mR" = ( -/obj/machinery/smartfridge/drying_rack, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) "nb" = ( /obj/structure/fermenting_barrel{ pixel_x = 6; @@ -267,6 +274,10 @@ /obj/structure/flora/bush/flowers_br/style_random, /turf/open/misc/grass, /area/virtual_domain/fullbright) +"ps" = ( +/obj/machinery/smartfridge/drying/rack, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) "py" = ( /turf/closed/indestructible/binary, /area/virtual_domain/protected_space/fullbright) @@ -275,7 +286,9 @@ /area/virtual_domain/protected_space) "qE" = ( /obj/structure/table/wood, -/obj/item/book/manual/wiki/ordnance, +/obj/item/book/manual/wiki/ordnance{ + pixel_y = 8 + }, /turf/open/floor/carpet/blue, /area/virtual_domain) "qS" = ( @@ -341,6 +354,9 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood/parquet, /area/virtual_domain) +"tA" = ( +/turf/closed/mineral/random/jungle, +/area/virtual_domain/protected_space) "tH" = ( /obj/structure/closet/cabinet, /obj/item/clothing/head/costume/pirate/armored, @@ -437,6 +453,13 @@ "xp" = ( /turf/open/water/beach, /area/virtual_domain/fullbright) +"yF" = ( +/obj/effect/light_emitter{ + set_cap = 3; + set_luminosity = 5 + }, +/turf/open/misc/beach/coast, +/area/virtual_domain/fullbright) "zc" = ( /obj/item/gun/energy/laser/hellgun{ pixel_y = 10 @@ -639,6 +662,10 @@ dir = 1 }, /area/virtual_domain/fullbright) +"KP" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/virtual_domain/protected_space/fullbright) "KS" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -647,6 +674,13 @@ /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/carpet/blue, /area/virtual_domain) +"KU" = ( +/obj/effect/light_emitter{ + set_cap = 3; + set_luminosity = 5 + }, +/turf/open/water/beach, +/area/virtual_domain/fullbright) "KV" = ( /obj/structure/flora/rock/pile/jungle/style_3{ pixel_x = -15; @@ -730,10 +764,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/blue, /area/virtual_domain) -"Oz" = ( -/obj/structure/flora/rock/pile/jungle/style_2, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) "OD" = ( /obj/effect/turf_decal/weather/sand{ dir = 6 @@ -921,9 +951,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/virtual_domain/protected_space/fullbright) -"WW" = ( -/turf/template_noop, -/area/virtual_domain/fullbright) "Xn" = ( /obj/modular_map_root/safehouse{ key = "wood" @@ -1244,7 +1271,7 @@ DM DM hb hb -hb +fR py py py @@ -1474,13 +1501,13 @@ nQ bI VE py -hb -hb -hb -hb -hb -hb -fR +py +py +py +py +py +py +KP "} (12,1,1) = {" xg @@ -1524,7 +1551,7 @@ ub ub ub Xn -hb +py "} (13,1,1) = {" hb @@ -1568,7 +1595,7 @@ ub ub ub ub -hb +py "} (14,1,1) = {" hb @@ -1578,7 +1605,7 @@ Ul Ul Ul Hn -mR +ps eS eS eS @@ -1612,7 +1639,7 @@ ub ub ub ub -hb +py "} (15,1,1) = {" hb @@ -1656,7 +1683,7 @@ ub ub ub ub -hb +py "} (16,1,1) = {" hb @@ -1700,7 +1727,7 @@ ub ub ub ub -hb +py "} (17,1,1) = {" hb @@ -1744,7 +1771,7 @@ ub ub ub ub -hb +py "} (18,1,1) = {" hb @@ -1788,7 +1815,7 @@ ub ub ub zR -hb +py "} (19,1,1) = {" hb @@ -1826,13 +1853,13 @@ au nQ fw au -xp -xp -xp -xp -xp -hb -hb +au +au +au +au +au +py +py "} (20,1,1) = {" hb @@ -1870,12 +1897,12 @@ au Uw cr vR -xp -xp -xp -xp -xp -hb +au +au +au +au +au +py xg "} (21,1,1) = {" @@ -1914,12 +1941,12 @@ af nQ LK fw -xp -xp -xp -xp -xp -hb +au +au +au +au +au +py xg "} (22,1,1) = {" @@ -1958,12 +1985,12 @@ au oM VE eO -xp -xp -xp -xp -xp -hb +au +au +au +au +au +py xg "} (23,1,1) = {" @@ -2002,12 +2029,12 @@ au au au au -xp -xp -xp -DM -DM -hb +au +au +au +Li +Li +py xg "} (24,1,1) = {" @@ -2046,12 +2073,12 @@ au au au au -xp -xp -xp -DM -DM -hb +au +au +au +Li +Li +py xg "} (25,1,1) = {" @@ -2071,9 +2098,9 @@ eS eS nr eS -eS -SK -xp +gD +yF +KU xp xp xp @@ -2090,12 +2117,12 @@ au au au au -xp -xp -DM -DM -DM -hb +au +au +Li +Li +Li +py xg "} (26,1,1) = {" @@ -2114,12 +2141,12 @@ DM DM DM DM -DM -DM +tA +tA eP sb -DM -DM +tA +tA hb hb xp @@ -2134,12 +2161,12 @@ au au au au -hb -DM -DM -DM -DM -hb +py +Li +Li +Li +Li +py xg "} (27,1,1) = {" @@ -2147,7 +2174,7 @@ xg xg xg xg -WW +xg hb DM DM @@ -2159,10 +2186,10 @@ DM DM DM DM -DM +tA fd OW -DM +tA DM DM hb @@ -2178,12 +2205,12 @@ au au au py -hb -DM -DM -DM -hb -hb +py +Li +Li +Li +py +py xg "} (28,1,1) = {" @@ -2203,11 +2230,11 @@ DM DM DM DM -DM +tA KV OW -DM -DM +tA +tA DM DM hb @@ -2222,11 +2249,11 @@ au au py py -hb -hb -hb -hb -hb +py +py +py +py +py xg xg "} @@ -2247,13 +2274,13 @@ DM DM DM DM -DM +tA qk IW sb -DM -DM -DM +tA +tA +tA DM DM DM @@ -2291,16 +2318,16 @@ DM DM DM DM -DM +tA Gl qk IW hn sb -DM -DM -DM -DM +tA +tA +tA +tA DM hb hb @@ -2335,17 +2362,17 @@ hb DM DM DM -DM -DM +tA +tA qk qk Oi OW sb be -Oz -DM -DM +gc +tA +tA DM hb hb @@ -2380,8 +2407,8 @@ hb DM DM DM -DM -DM +tA +tA qk CL IW @@ -2389,8 +2416,8 @@ sb QG qk rm -DM -DM +tA +tA DM hb xg @@ -2425,7 +2452,7 @@ hb DM DM DM -DM +tA oB qk wu @@ -2434,7 +2461,7 @@ QF BX qk rm -DM +tA DM hb xg @@ -2469,8 +2496,8 @@ hb hb DM DM -DM -DM +tA +tA qk qk NU @@ -2478,7 +2505,7 @@ db hq zc ID -DM +tA DM hb xg @@ -2514,15 +2541,15 @@ hb hb hb DM -DM -DM -DM -DM -DM -DM -DM -DM -DM +tA +tA +tA +tA +tA +tA +tA +tA +tA DM hb xg diff --git a/_maps/virtual_domains/psyker_shuffle.dmm b/_maps/virtual_domains/psyker_shuffle.dmm index e53ec600e8a3a..c3434167bb18f 100644 --- a/_maps/virtual_domains/psyker_shuffle.dmm +++ b/_maps/virtual_domains/psyker_shuffle.dmm @@ -2,16 +2,16 @@ "a" = ( /obj/structure/closet/crate/secure, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "b" = ( /obj/item/restraints/legcuffs/beartrap/prearmed, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "e" = ( /obj/item/gun/ballistic/shotgun/lethal, /obj/structure/closet/crate/preopen, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "h" = ( /obj/structure/closet/crate/preopen, /obj/item/gun/ballistic/automatic/mini_uzi, @@ -49,61 +49,61 @@ /obj/item/gun/ballistic/revolver, /turf/template_noop, /area/virtual_domain/safehouse) -"k" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +"i" = ( +/obj/effect/landmark/bitrunning/crate_replacer, +/turf/open/indestructible/dark, +/area/virtual_domain) "m" = ( /obj/item/toy/gun{ pixel_y = 3 }, /obj/structure/closet/crate/wooden, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "o" = ( /turf/template_noop, /area/template_noop) -"q" = ( -/obj/effect/landmark/bitrunning/crate_replacer, -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) "r" = ( /mob/living/simple_animal/hostile/mimic, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "s" = ( /mob/living/simple_animal/hostile/mimic/crate, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "t" = ( /turf/template_noop, /area/virtual_domain/safehouse) +"u" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/indestructible/dark, +/area/virtual_domain) "v" = ( /obj/structure/closet/crate/hydroponics, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "x" = ( /obj/item/gun/ballistic/shotgun/lethal, /obj/item/gun/ballistic/revolver/mateba, /obj/structure/closet/crate/preopen, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "B" = ( -/turf/template_noop, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/open/space, +/area/space/virtual_domain) "F" = ( /obj/structure/closet/crate/internals, /obj/item/gun/ballistic/revolver/mateba, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "K" = ( /obj/structure/closet/crate/eva, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "M" = ( /obj/machinery/door/airlock/abductor, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "N" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -111,23 +111,23 @@ "O" = ( /obj/structure/closet/crate/freezer/surplus_limbs, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "P" = ( /obj/structure/closet/crate/wooden, /obj/item/gun/ballistic/revolver/mateba, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Q" = ( /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "R" = ( /obj/structure/closet/crate/secure/loot, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "S" = ( /obj/structure/closet/crate/secure/bitrunning/encrypted, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "U" = ( /obj/modular_map_root/safehouse{ key = "bathroom" @@ -141,14 +141,15 @@ /obj/projectile/bullet/shotgun_frag12, /obj/projectile/bullet/shotgun_frag12, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Y" = ( /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) (1,1,1) = {" o o +o Y Y Y @@ -162,9 +163,8 @@ Y Y Y Y -Y -Y -k +o +o o o o @@ -177,7 +177,7 @@ o (2,1,1) = {" o o -Y +o Y Q Q @@ -192,7 +192,7 @@ Q a Y Y -Y +o o o o @@ -205,7 +205,7 @@ o (3,1,1) = {" o o -Y +o Y Y K @@ -218,8 +218,7 @@ Q Q Q Q -Q -Y +u Y o o @@ -229,6 +228,7 @@ o o o o +o "} (4,1,1) = {" o @@ -246,8 +246,7 @@ Y Q Q Q -Q -Y +i Y o o @@ -257,6 +256,7 @@ o o o o +o "} (5,1,1) = {" o @@ -920,7 +920,7 @@ Y Y Y Y -q +Y o o o diff --git a/_maps/virtual_domains/psyker_zombies.dmm b/_maps/virtual_domains/psyker_zombies.dmm index 1d4307ebdcef8..4ca97f8ef6315 100644 --- a/_maps/virtual_domains/psyker_zombies.dmm +++ b/_maps/virtual_domains/psyker_zombies.dmm @@ -1,21 +1,25 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "b" = ( /obj/item/pizzabox/bomb/armed, /obj/structure/rack, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "c" = ( /obj/structure/sign/warning/directional/west, /turf/open/chasm, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "e" = ( /obj/effect/mob_spawn/corpse/human/cyber_police, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) +"f" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/indestructible/dark, +/area/virtual_domain/protected_space) "h" = ( /obj/structure/rack, /turf/open/indestructible/dark, @@ -23,7 +27,7 @@ "i" = ( /obj/structure/sign/warning/directional/east, /turf/open/chasm, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "o" = ( /turf/template_noop, /area/template_noop) @@ -39,7 +43,7 @@ pixel_y = 1 }, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "r" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -51,16 +55,16 @@ /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/abductor, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "A" = ( /obj/effect/spawner/random/trash/caution_sign, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "B" = ( /obj/machinery/door/airlock/abductor, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "D" = ( /turf/open/indestructible/dark, /area/virtual_domain/protected_space) @@ -68,9 +72,6 @@ /obj/structure/mystery_box/guns, /turf/open/indestructible/dark, /area/virtual_domain/protected_space) -"I" = ( -/turf/closed/indestructible/binary, -/area/virtual_domain/protected_space) "J" = ( /obj/machinery/door/airlock/abductor, /turf/open/indestructible/dark, @@ -78,11 +79,11 @@ "K" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "M" = ( /obj/effect/mob_spawn/corpse/human/zombie, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "O" = ( /obj/modular_map_root/safehouse{ key = "bathroom" @@ -91,34 +92,34 @@ /area/virtual_domain/safehouse) "Q" = ( /turf/open/chasm, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "R" = ( /obj/effect/mine/explosive/light, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "T" = ( /obj/machinery/door/airlock/abductor, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "U" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "V" = ( /obj/structure/sign/warning/directional/east, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "W" = ( /obj/effect/mob_spawn/corpse/human/cyber_police, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "X" = ( /mob/living/simple_animal/hostile/zombie, /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Y" = ( /turf/open/indestructible/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) (1,1,1) = {" o @@ -540,10 +541,10 @@ Y Y a Y -I -I -I -I +a +a +a +a a a a @@ -567,10 +568,10 @@ Y Y Y Y -I +a h D -D +f t t t @@ -594,7 +595,7 @@ X Y Y Y -I +a F D D @@ -621,7 +622,7 @@ a Y Y Y -I +a D D D @@ -675,7 +676,7 @@ Y R Y Y -I +a D D D @@ -702,7 +703,7 @@ Y Y Y Y -I +a F D D @@ -729,7 +730,7 @@ a a Y Y -I +a h D D @@ -756,10 +757,10 @@ a a a Y -I -I -I -I +a +a +a +a a a a diff --git a/_maps/virtual_domains/stairs_and_cliffs.dmm b/_maps/virtual_domains/stairs_and_cliffs.dmm index accdf93bf00be..4c1d364d7778d 100644 --- a/_maps/virtual_domains/stairs_and_cliffs.dmm +++ b/_maps/virtual_domains/stairs_and_cliffs.dmm @@ -144,6 +144,10 @@ }, /turf/template_noop, /area/virtual_domain/safehouse) +"wZ" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/rock/snow/ice, +/area/icemoon/underground/explored/virtual_domain) "xB" = ( /obj/structure/railing/corner{ dir = 4 @@ -173,9 +177,6 @@ }, /turf/open/floor/wood, /area/icemoon/underground/explored/virtual_domain) -"Am" = ( -/turf/closed/indestructible/binary, -/area/icemoon/underground/explored/virtual_domain) "AI" = ( /obj/structure/flora/grass/green/style_random, /turf/open/floor/plating/snowed/smoothed, @@ -283,9 +284,8 @@ /turf/closed/indestructible/rock/snow/ice, /area/icemoon/underground/explored/virtual_domain) "RD" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/icemoon/underground/explored/virtual_domain) +/area/virtual_domain/fullbright) "Tz" = ( /obj/item/pickaxe/mini, /turf/open/misc/asteroid/snow, @@ -309,85 +309,84 @@ /area/virtual_domain/safehouse) (1,1,1) = {" -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD RD "} (2,1,1) = {" -Am -Qv +RD Qv Qv Qv @@ -460,10 +459,11 @@ Qv Qv Qv Qv -Am +wZ +RD "} (3,1,1) = {" -Am +RD Qv Qv Qv @@ -537,10 +537,10 @@ Qv Qv Qv Qv -Am +RD "} (4,1,1) = {" -Am +RD Qv Qv Qv @@ -614,10 +614,10 @@ Qv Qv Qv Qv -Am +RD "} (5,1,1) = {" -Am +RD Qv Qv dR @@ -691,10 +691,10 @@ Qv Qv Qv Qv -Am +RD "} (6,1,1) = {" -Am +RD Qv Qv kK @@ -768,10 +768,10 @@ Qv Qv Qv Qv -Am +RD "} (7,1,1) = {" -Am +RD Qv Qv dR @@ -845,10 +845,10 @@ Qv Qv Qv Qv -Am +RD "} (8,1,1) = {" -Am +RD Qv Qv eB @@ -922,10 +922,10 @@ Qv Qv Qv Qv -Am +RD "} (9,1,1) = {" -Am +RD Qv Qv mr @@ -999,10 +999,10 @@ Qv Qv Qv Qv -Am +RD "} (10,1,1) = {" -Am +RD Qv dR sw @@ -1076,10 +1076,10 @@ Qv Qv Qv Qv -Am +RD "} (11,1,1) = {" -Am +RD Qv dR eB @@ -1153,10 +1153,10 @@ Qv Qv Qv Qv -Am +RD "} (12,1,1) = {" -Am +RD Qv dR dR @@ -1230,10 +1230,10 @@ Qv Qv Qv Qv -Am +RD "} (13,1,1) = {" -Am +RD Qv dR sa @@ -1307,10 +1307,10 @@ Qv Qv Qv Qv -Am +RD "} (14,1,1) = {" -Am +RD Qv dR dR @@ -1384,10 +1384,10 @@ Qv Qv Qv Qv -Am +RD "} (15,1,1) = {" -Am +RD Qv sw sa @@ -1461,10 +1461,10 @@ Qv Qv Qv Qv -Am +RD "} (16,1,1) = {" -Am +RD Qv dR sa @@ -1538,10 +1538,10 @@ Qv Qv Qv Qv -Am +RD "} (17,1,1) = {" -Am +RD Qv dR sa @@ -1615,10 +1615,10 @@ Qv Qv Qv Qv -Am +RD "} (18,1,1) = {" -Am +RD Qv Qv dR @@ -1692,10 +1692,10 @@ Qv Qv Qv Qv -Am +RD "} (19,1,1) = {" -Am +RD Qv Qv kK @@ -1769,10 +1769,10 @@ Qv Qv Qv Qv -Am +RD "} (20,1,1) = {" -Am +RD Qv Qv dR @@ -1846,10 +1846,10 @@ Qv Qv Qv Qv -Am +RD "} (21,1,1) = {" -Am +RD Qv Qv dR @@ -1923,10 +1923,10 @@ Qv Qv Qv Qv -Am +RD "} (22,1,1) = {" -Am +RD Qv Qv dR @@ -2000,10 +2000,10 @@ Qv Qv Qv Qv -Am +RD "} (23,1,1) = {" -Am +RD Qv Qv Qv @@ -2077,10 +2077,10 @@ Qv Qv Qv Qv -Am +RD "} (24,1,1) = {" -Am +RD Qv Qv sw @@ -2154,10 +2154,10 @@ Qv Qv Qv Qv -Am +RD "} (25,1,1) = {" -Am +RD Qv Qv dR @@ -2231,10 +2231,10 @@ Qv Qv Qv Qv -Am +RD "} (26,1,1) = {" -Am +RD Qv Qv dR @@ -2308,10 +2308,10 @@ pL Qv Qv Qv -Am +RD "} (27,1,1) = {" -Am +RD Qv Qv dR @@ -2385,10 +2385,10 @@ pL Qv Qv Qv -Am +RD "} (28,1,1) = {" -Am +RD Qv Qv sa @@ -2462,10 +2462,10 @@ pL pL Qv Qv -Am +RD "} (29,1,1) = {" -Am +RD Qv Qv sa @@ -2539,10 +2539,10 @@ pL Qv Qv Qv -Am +RD "} (30,1,1) = {" -Am +RD Qv Qv qc @@ -2616,10 +2616,10 @@ pL Qv Qv Qv -Am +RD "} (31,1,1) = {" -Am +RD Qv pl qc @@ -2693,10 +2693,10 @@ dR dR dR Qv -Am +RD "} (32,1,1) = {" -Am +RD Qv sM sM @@ -2770,10 +2770,10 @@ dR dR Qv Qv -Am +RD "} (33,1,1) = {" -Am +RD Qv sM sM @@ -2847,10 +2847,10 @@ dR dR Qv Qv -Am +RD "} (34,1,1) = {" -Am +RD Qv sM sM @@ -2924,10 +2924,10 @@ dR dR dR Qv -Am +RD "} (35,1,1) = {" -Am +RD Qv sM sM @@ -3001,10 +3001,10 @@ YT YT vz Qv -Am +RD "} (36,1,1) = {" -Am +RD Qv dR sM @@ -3078,10 +3078,10 @@ YT YT YT Qv -Am +RD "} (37,1,1) = {" -Am +RD Qv Qv dR @@ -3155,10 +3155,10 @@ YT YT YT Qv -Am +RD "} (38,1,1) = {" -Am +RD Qv Qv dR @@ -3232,10 +3232,10 @@ YT YT YT Qv -Am +RD "} (39,1,1) = {" -Am +RD Qv Qv dR @@ -3309,10 +3309,10 @@ YT YT YT Qv -Am +RD "} (40,1,1) = {" -Am +RD Qv Qv dR @@ -3386,10 +3386,10 @@ YT YT YT Qv -Am +RD "} (41,1,1) = {" -Am +RD Qv dR sa @@ -3463,10 +3463,10 @@ YT YT uJ Qv -Am +RD "} (42,1,1) = {" -Am +RD Qv dR AI @@ -3540,10 +3540,10 @@ dR dR dR Qv -Am +RD "} (43,1,1) = {" -Am +RD Qv yo yo @@ -3617,10 +3617,10 @@ dR dR dR Qv -Am +RD "} (44,1,1) = {" -Am +RD Qv dR yo @@ -3694,10 +3694,10 @@ dR dR dR Qv -Am +RD "} (45,1,1) = {" -Am +RD Qv dR dR @@ -3771,10 +3771,10 @@ kK dR Qv Qv -Am +RD "} (46,1,1) = {" -Am +RD Qv Qv sa @@ -3848,10 +3848,10 @@ dR dR Qv Qv -Am +RD "} (47,1,1) = {" -Am +RD Qv Qv dR @@ -3925,10 +3925,10 @@ dR dR Qv Qv -Am +RD "} (48,1,1) = {" -Am +RD Qv Qv dR @@ -4002,10 +4002,10 @@ dR dR dR Qv -Am +RD "} (49,1,1) = {" -Am +RD Qv Qv dR @@ -4079,10 +4079,10 @@ sw dR dR Qv -Am +RD "} (50,1,1) = {" -Am +RD Qv Qv sa @@ -4156,10 +4156,10 @@ eB dR dR Qv -Am +RD "} (51,1,1) = {" -Am +RD Qv Qv Qv @@ -4233,10 +4233,10 @@ dR dR sa Qv -Am +RD "} (52,1,1) = {" -Am +RD Qv Qv Qv @@ -4310,10 +4310,10 @@ dR dR dR Qv -Am +RD "} (53,1,1) = {" -Am +RD Qv Qv Qv @@ -4387,10 +4387,10 @@ Qv dR dR Qv -Am +RD "} (54,1,1) = {" -Am +RD Qv Qv Qv @@ -4464,10 +4464,10 @@ Qv dR Qv Qv -Am +RD "} (55,1,1) = {" -Am +RD Qv Qv dR @@ -4541,10 +4541,10 @@ dR dR dR Qv -Am +RD "} (56,1,1) = {" -Am +RD Qv Qv dR @@ -4618,10 +4618,10 @@ dR dR dR Qv -Am +RD "} (57,1,1) = {" -Am +RD Qv Qv dR @@ -4695,10 +4695,10 @@ dR dR dR Qv -Am +RD "} (58,1,1) = {" -Am +RD Qv Qv dR @@ -4772,10 +4772,10 @@ sa dR dR Qv -Am +RD "} (59,1,1) = {" -Am +RD Qv Qv sa @@ -4849,10 +4849,10 @@ dR Qv Qv Qv -Am +RD "} (60,1,1) = {" -Am +RD Qv Qv dR @@ -4926,10 +4926,10 @@ dR Qv Qv Qv -Am +RD "} (61,1,1) = {" -Am +RD Qv dR kK @@ -5003,10 +5003,10 @@ Qv Qv Qv Qv -Am +RD "} (62,1,1) = {" -Am +RD Qv dR sa @@ -5080,10 +5080,10 @@ Qv Qv Qv Qv -Am +RD "} (63,1,1) = {" -Am +RD Qv dR Lw @@ -5157,10 +5157,10 @@ Qv Qv Qv Qv -Am +RD "} (64,1,1) = {" -Am +RD Qv dR sa @@ -5234,10 +5234,10 @@ Qv Qv Qv Qv -Am +RD "} (65,1,1) = {" -Am +RD Qv dR dR @@ -5311,10 +5311,10 @@ Qv Qv Qv Qv -Am +RD "} (66,1,1) = {" -Am +RD Qv dR kK @@ -5388,10 +5388,10 @@ Qv Qv Qv Qv -Am +RD "} (67,1,1) = {" -Am +RD Qv dR dR @@ -5465,10 +5465,10 @@ Qv Qv Qv Qv -Am +RD "} (68,1,1) = {" -Am +RD Qv dR dR @@ -5542,10 +5542,10 @@ Qv Qv Qv Qv -Am +RD "} (69,1,1) = {" -Am +RD Qv Qv dR @@ -5619,10 +5619,10 @@ Qv Qv Qv Qv -Am +RD "} (70,1,1) = {" -Am +RD Qv Qv Qv @@ -5696,10 +5696,10 @@ Qv Qv Qv Qv -Am +RD "} (71,1,1) = {" -Am +RD Qv Qv dR @@ -5773,10 +5773,10 @@ Qv Qv Qv Qv -Am +RD "} (72,1,1) = {" -Am +RD Qv Qv sa @@ -5850,10 +5850,10 @@ Qv Qv Qv Qv -Am +RD "} (73,1,1) = {" -Am +RD Qv Qv Qv @@ -5927,10 +5927,10 @@ Qv Qv Qv Qv -Am +RD "} (74,1,1) = {" -Am +RD Qv Qv Qv @@ -6004,82 +6004,82 @@ Qv Qv Qv Qv -Am +RD "} (75,1,1) = {" -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am -Am +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD +RD "} diff --git a/_maps/virtual_domains/syndicate_assault.dmm b/_maps/virtual_domains/syndicate_assault.dmm index a40945410c11b..60a389addbfba 100644 --- a/_maps/virtual_domains/syndicate_assault.dmm +++ b/_maps/virtual_domains/syndicate_assault.dmm @@ -1,62 +1,48 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aq" = ( -/obj/item/storage/backpack/duffelbag/syndie/surgery, +"ah" = ( +/turf/open/floor/carpet/royalblack, +/area/virtual_domain) +"aA" = ( /obj/structure/table/reinforced, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"aw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 +/obj/item/gun/ballistic/automatic/l6_saw/unrestricted{ + pixel_y = 8 + }, +/obj/item/ammo_box/magazine/m7mm{ + pixel_y = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"aN" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +/area/virtual_domain/protected_space) +"aS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/plasteel/twenty, -/obj/item/stack/sheet/mineral/plastitanium{ - amount = 50 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 5 }, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/rods/fifty, -/turf/open/floor/pod/dark, -/area/virtual_domain/protected_space) -"aO" = ( -/obj/machinery/recharge_station, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"bh" = ( -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"bD" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"aT" = ( /obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +/obj/item/assembly/prox_sensor{ + pixel_y = 8 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"bG" = ( -/turf/open/floor/pod/dark, -/area/virtual_domain/protected_space) -"cc" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +/obj/item/assembly/prox_sensor{ + pixel_y = 8 }, -/obj/effect/spawner/random/clothing/costume, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"cj" = ( -/obj/structure/transit_tube/crossing, -/turf/closed/wall/r_wall/syndicate, +/area/virtual_domain) +"bg" = ( +/obj/machinery/suit_storage_unit/syndicate, +/turf/open/floor/mineral/plastitanium, /area/virtual_domain/protected_space) -"ct" = ( +"bm" = ( +/obj/machinery/power/shuttle_engine/huge{ + dir = 8 + }, +/turf/open/space/basic, +/area/virtual_domain) +"bU" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -65,10 +51,81 @@ req_access = list("syndicate"); secure = 1 }, +/obj/item/crowbar/red, +/obj/item/ammo_box/magazine/m9mm, +/obj/item/ammo_box/magazine/m9mm, /obj/item/gun/ballistic/automatic/pistol, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"bW" = ( +/turf/closed/indestructible/binary, +/area/virtual_domain/fullbright) +"cv" = ( +/obj/machinery/door/window/left/directional/north{ + name = "Spare Equipment"; + req_access = list("syndicate") + }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"cL" = ( +/turf/closed/mineral/random, +/area/virtual_domain/protected_space) +"cM" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/virtual_domain) +"dF" = ( +/obj/structure/filingcabinet, +/obj/machinery/door/window/left/directional/west{ + name = "Syndicate Interior Door"; + req_access = list("syndicate") + }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"dN" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"el" = ( +/obj/machinery/recharge_station, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"eo" = ( +/obj/machinery/power/smes, +/obj/structure/cable, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"cw" = ( +/area/virtual_domain) +"eq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"eL" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") + }, +/obj/item/stack/ore/plasma{ + amount = 19 + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"fN" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"fW" = ( +/obj/machinery/ore_silo, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain/protected_space) +"ge" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -77,89 +134,55 @@ req_access = list("syndicate"); secure = 1 }, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/under/syndicate/skirt, +/obj/item/ammo_box/c9mm, +/obj/item/gun/ballistic/automatic/pistol, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"cy" = ( +/area/virtual_domain) +"gz" = ( +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"gE" = ( /obj/machinery/door/airlock/grunge{ name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"cB" = ( -/obj/machinery/camera/xray{ - c_tag = "Medbay"; - dir = 6; - network = list("fsci"); - screen_loc = "" - }, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"cR" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"cZ" = ( -/obj/structure/table/reinforced, -/obj/item/gun/ballistic/automatic/l6_saw/unrestricted, -/obj/item/ammo_box/magazine/m7mm, -/turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"da" = ( -/obj/machinery/stasis, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"dd" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/r_wall/syndicate, -/area/ruin/space/has_grav/powered/virtual_domain) -"di" = ( -/obj/machinery/power/terminal{ - dir = 1 +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"hb" = ( +/obj/machinery/door/airlock/external/ruin{ + name = "Syndicate Ship Airlock" }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /obj/structure/cable, -/obj/item/paper/fluff/ruins/forgottenship/powerissues, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"dp" = ( -/turf/open/floor/mineral/plastitanium, +/obj/structure/fans/tiny, +/turf/open/floor/plating, /area/virtual_domain/protected_space) -"dw" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"dz" = ( +"he" = ( /obj/effect/landmark/bitrunning/cache_spawn, +/obj/machinery/light/small/directional/north, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"dU" = ( -/obj/structure/cable, -/obj/structure/fans/tiny, -/obj/machinery/door/airlock/external/ruin{ - name = "Syndicate Ship Airlock" +/area/virtual_domain) +"hz" = ( +/obj/structure/closet/syndicate{ + anchored = 1; + desc = "A basic closet for all your villainous needs."; + locked = 1; + name = "Closet"; + req_access = list("syndicate"); + secure = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"eB" = ( -/obj/machinery/camera/xray{ - c_tag = "Cargo pod"; - dir = 9; - network = list("fsci"); - screen_loc = "" +/obj/item/gun/ballistic/automatic/pistol, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"ie" = ( +/obj/machinery/power/port_gen/pacman/super{ + anchored = 1 }, +/obj/structure/cable, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"iN" = ( /obj/structure/closet, /obj/item/clothing/under/syndicate/tacticool, /obj/item/clothing/under/syndicate/tacticool, @@ -167,299 +190,251 @@ /obj/item/card/id/advanced/black/syndicate_command/crew_id, /obj/item/card/id/advanced/black/syndicate_command/crew_id, /obj/item/card/id/advanced/black/syndicate_command/crew_id, +/obj/machinery/camera/xray/directional/north{ + c_tag = "Cargo pod"; + network = list("fsci") + }, /turf/open/floor/mineral/plastitanium, /area/virtual_domain/protected_space) -"fd" = ( -/obj/structure/transit_tube/crossing, -/turf/open/space/basic, +"ji" = ( +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/plastic, +/area/virtual_domain) +"jo" = ( +/obj/machinery/door/window/left/directional/south{ + name = "Control Room"; + req_access = list("syndicate") + }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"jv" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/syndicate, /area/virtual_domain/protected_space) -"fG" = ( -/obj/structure/toilet{ - dir = 1 +"jw" = ( +/obj/structure/closet/syndicate{ + anchored = 1; + desc = "A basic closet for all your villainous needs."; + locked = 1; + name = "Closet"; + req_access = list("syndicate"); + secure = 1 }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/ruin/space/has_grav/powered/virtual_domain) -"fJ" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"fV" = ( +/obj/effect/spawner/random/contraband/armory, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"jH" = ( /obj/machinery/atmospherics/components/unary/vent_pump, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"gD" = ( -/obj/effect/mob_spawn/ghost_role/human/virtual_domain/syndie, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"hg" = ( -/obj/structure/window/reinforced/plasma/plastitanium, -/obj/machinery/door/poddoor{ - id = "fslockdown"; - name = "Ship Blast Door"; - state_open = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"hy" = ( -/obj/structure/table/reinforced, -/obj/item/paper/fluff/ruins/forgottenship/missionobj, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"hA" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/wall/r_wall/syndicate, -/area/ruin/space/has_grav/powered/virtual_domain) -"hD" = ( +/area/virtual_domain) +"jU" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"ip" = ( -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"iB" = ( -/obj/machinery/light/directional/north, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"iL" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/r_wall/syndicate, -/area/virtual_domain/protected_space) -"iU" = ( +/area/virtual_domain) +"kJ" = ( +/obj/modular_map_root/safehouse{ + key = "shuttle_space" + }, +/turf/template_noop, +/area/virtual_domain/safehouse) +"lt" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") }, -/obj/item/melee/energy/sword/saber/red, -/obj/machinery/light/small/directional/north, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/plasteel/twenty, +/obj/item/stack/sheet/mineral/plastitanium{ + amount = 50 + }, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/rods/fifty, /turf/open/floor/pod/dark, /area/virtual_domain/protected_space) -"iW" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "fslockdown"; - name = "Window shutters"; - req_access = list("syndicate") - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"iX" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, +"lM" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"ja" = ( -/obj/machinery/door/window/left/directional/north{ - name = "Spare Equipment"; - req_access = list("syndicate") + dir = 6 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"jl" = ( -/obj/structure/bodycontainer/crematorium{ - id = "fscremate" - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"jA" = ( -/obj/structure/cable, -/mob/living/basic/trooper/syndicate/melee/space/stormtrooper, +/area/virtual_domain) +"mb" = ( +/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"jJ" = ( -/obj/machinery/door/airlock/grunge{ - name = "Syndicate Ship Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/ruin/space/has_grav/powered/virtual_domain) -"kh" = ( -/obj/machinery/door/airlock/grunge{ +/area/virtual_domain) +"ml" = ( +/obj/machinery/door/airlock/external/ruin{ name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"kI" = ( -/obj/machinery/computer/atmos_alert{ - dir = 8 +/area/virtual_domain) +"mQ" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/shower/directional/east, +/turf/open/floor/iron, +/area/virtual_domain) +"mR" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"nh" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"nl" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"kJ" = ( -/obj/modular_map_root/safehouse{ - key = "shuttle_space" +/obj/item/stack/sheet/mineral/titanium{ + amount = 40 }, -/turf/template_noop, -/area/virtual_domain/safehouse) -"li" = ( -/obj/structure/transit_tube/station/dispenser/reverse{ - dir = 4 +/obj/item/stack/sheet/mineral/uranium{ + amount = 15 }, +/turf/open/floor/pod/dark, +/area/virtual_domain/protected_space) +"nK" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/structure/sign/poster/contraband/c20r/directional/north, /turf/open/floor/mineral/plastitanium, /area/virtual_domain/protected_space) -"ln" = ( -/obj/machinery/turretid{ - control_area = "/area/ruin/space/has_grav/syndicate_forgotten_ship"; - enabled = 0; - icon_state = "control_kill"; - lethal = 1; - name = "Ship turret control panel"; - pixel_y = 32; - req_access = list("syndicate") +"om" = ( +/obj/structure/table/reinforced, +/obj/item/storage/medkit/regular{ + pixel_y = 8 }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain/protected_space) +"oP" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/wall/r_wall/syndicate, +/area/virtual_domain) +"oT" = ( +/obj/machinery/light/directional/south, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"lo" = ( -/obj/structure/fans/tiny, -/obj/machinery/door/airlock/external/ruin{ - name = "Syndicate Ship Airlock" +/area/virtual_domain) +"pi" = ( +/obj/machinery/door/airlock/grunge{ + name = "Captain's Room" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"lN" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"mo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ - dir = 8 +/obj/machinery/door/poddoor{ + id = "fscaproom"; + name = "Captain's Blast Door"; + state_open = 1 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"mA" = ( -/obj/machinery/light/small/directional/south, +/area/virtual_domain) +"pP" = ( +/obj/machinery/porta_turret/syndicate/energy{ + dir = 4; + name = "Syndicate Ship Turret"; + on = 0; + shot_delay = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/virtual_domain) +"pT" = ( +/obj/machinery/computer/operating, +/turf/open/floor/plastic, +/area/virtual_domain) +"qn" = ( +/obj/machinery/light/directional/north, /turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"mD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 10 +/area/virtual_domain) +"rn" = ( +/obj/effect/mob_spawn/ghost_role/human/virtual_domain/syndie, +/turf/open/floor/carpet/royalblack, +/area/virtual_domain) +"rs" = ( +/obj/machinery/power/shuttle_engine/propulsion{ + dir = 8 }, -/obj/item/wrench, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"mL" = ( -/obj/structure/tank_dispenser/oxygen, +/turf/open/space/basic, +/area/virtual_domain) +"rD" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/space/virtual_domain) +"rN" = ( +/obj/machinery/porta_turret/syndicate/energy{ + dir = 4; + name = "Syndicate Ship Turret"; + on = 0; + shot_delay = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/virtual_domain) +"rO" = ( +/obj/machinery/vending/cigarette/syndicate, /turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"nk" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/mapping_helpers/apc/syndicate_access, -/obj/structure/cable, +/area/virtual_domain) +"rX" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/syndicate_access, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"nn" = ( -/turf/closed/mineral/random, -/area/virtual_domain/protected_space) -"nB" = ( -/turf/closed/mineral/random, -/area/space) -"nG" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"nU" = ( -/obj/structure/sign/poster/contraband/syndicate_pistol, -/turf/closed/wall/r_wall/syndicate, -/area/ruin/space/has_grav/powered/virtual_domain) -"og" = ( +/area/virtual_domain) +"ss" = ( +/obj/structure/chair/comfy, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"sM" = ( +/turf/template_noop, +/area/virtual_domain/safehouse) +"tm" = ( /obj/structure/table/reinforced, -/obj/item/reagent_containers/cup/glass/trophy/silver_cup, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"oM" = ( -/obj/structure/cable, +/obj/item/paper/fluff/ruins/forgottenship/missionobj{ + pixel_y = 8 + }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"pl" = ( -/obj/machinery/atmospherics/components/tank/air{ +/area/virtual_domain) +"tK" = ( +/obj/machinery/computer/atmos_alert{ dir = 8 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"pz" = ( -/obj/machinery/computer/security{ - desc = "Used to access interrogation room camera."; - dir = 8; - name = "Ship cameras console"; - network = list("fsc","fsci"); - screen_loc = "" +/area/virtual_domain) +"tO" = ( +/obj/item/stack/sheet/mineral/uranium{ + amount = 15 }, +/obj/structure/cable, +/obj/machinery/light/small/directional/north, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"pH" = ( -/obj/structure/table/reinforced, -/obj/item/toy/plush/nukeplushie, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"pM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +/area/virtual_domain) +"ui" = ( +/obj/machinery/door/airlock/grunge{ + name = "Syndicate Ship Airlock" }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"pS" = ( +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/virtual_domain) +"uk" = ( +/obj/machinery/door/airlock/grunge{ + name = "Syndicate Ship Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 6 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 8 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"pU" = ( -/obj/machinery/shower/directional/north, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/ruin/space/has_grav/powered/virtual_domain) -"qf" = ( -/obj/structure/table/optable, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"qx" = ( -/turf/open/space/basic, -/area/space) -"qU" = ( -/obj/structure/sign/poster/contraband/c20r, -/turf/closed/wall/r_wall/syndicate, -/area/virtual_domain/protected_space) -"qY" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/landmark/bitrunning/cache_spawn, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/powered/virtual_domain) -"rm" = ( -/obj/machinery/button/crematorium{ - id = "fscremate"; - pixel_x = -32 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"ru" = ( -/turf/closed/wall/r_wall/syndicate, -/area/ruin/space/has_grav/powered/virtual_domain) -"rH" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/syndicate_access, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"rM" = ( +/area/virtual_domain) +"ur" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -468,32 +443,78 @@ req_access = list("syndicate"); secure = 1 }, -/obj/effect/spawner/random/contraband/armory, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/under/syndicate/skirt, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"rP" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/mob_spawn/ghost_role/human/virtual_domain/syndie, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"sg" = ( -/obj/machinery/ore_silo, +/area/virtual_domain) +"uN" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/mapping_helpers/apc/syndicate_access, +/obj/structure/cable, /turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"sq" = ( -/obj/machinery/door/window/left/directional/south{ - name = "Control Room"; - req_access = list("syndicate") +/area/virtual_domain) +"uX" = ( +/turf/open/space/basic, +/area/virtual_domain) +"vv" = ( +/obj/machinery/porta_turret/syndicate/energy{ + dir = 4; + name = "Syndicate Ship Turret"; + on = 0; + shot_delay = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, +/turf/open/floor/plating/airless, +/area/virtual_domain) +"vX" = ( +/obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"sz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 4 +/area/virtual_domain) +"vZ" = ( +/obj/item/storage/backpack/duffelbag/syndie/surgery{ + pixel_y = 8 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plastic, +/area/virtual_domain) +"wF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"sH" = ( +/area/virtual_domain) +"wH" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") + }, +/turf/open/floor/pod/dark, +/area/virtual_domain/protected_space) +"xa" = ( +/obj/structure/sign/warning/vacuum/external/directional/north, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"xc" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"xg" = ( +/obj/structure/table/reinforced, +/obj/item/dualsaber/green{ + pixel_y = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain/protected_space) +"xF" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -502,186 +523,213 @@ req_access = list("syndicate"); secure = 1 }, -/obj/item/ammo_box/c9mm, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/coin/antagtoken, +/obj/item/dnainjector/thermal, +/obj/item/storage/box/firingpins/syndicate, +/obj/item/storage/box/firingpins/syndicate, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"sK" = ( +/area/virtual_domain) +"xN" = ( +/obj/structure/table/reinforced, +/obj/item/ammo_box/magazine/smgm45, +/obj/item/ammo_box/magazine/smgm45, +/obj/item/ammo_box/magazine/smgm45, +/obj/item/gun/ballistic/automatic/c20r/unrestricted, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain/protected_space) +"ye" = ( +/turf/closed/wall/r_wall/syndicate, +/area/virtual_domain/protected_space) +"yk" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") }, -/obj/item/stack/sheet/mineral/titanium{ - amount = 40 - }, -/obj/item/stack/sheet/mineral/uranium{ - amount = 15 - }, -/turf/open/floor/pod/dark, -/area/virtual_domain/protected_space) -"sL" = ( -/obj/structure/chair/comfy, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"sM" = ( -/turf/template_noop, -/area/virtual_domain/safehouse) -"tv" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "fscaproom"; - name = "Room shutters control"; - req_access = list("syndicate") +/area/virtual_domain) +"ym" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 }, +/obj/structure/cable, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"tI" = ( +/area/virtual_domain) +"zb" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"uP" = ( /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"vp" = ( +/area/virtual_domain) +"zy" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"vD" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"vK" = ( -/obj/machinery/door/airlock/grunge{ - name = "Syndicate Ship Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"vU" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/item/reagent_containers/cup/glass/trophy/silver_cup{ + pixel_y = 12 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"wb" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, -/obj/machinery/portable_atmospherics/scrubber{ - anchored = 1 +/area/virtual_domain) +"zE" = ( +/turf/closed/mineral/random, +/area/ruin/space/virtual_domain) +"zN" = ( +/obj/machinery/camera/xray/directional/east{ + c_tag = "Medbay"; + network = list("fsc") }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"we" = ( -/turf/closed/mineral/random/high_chance, -/area/space) -"wK" = ( -/obj/machinery/door/airlock/grunge{ +/turf/open/floor/plastic, +/area/virtual_domain) +"zT" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external/ruin{ name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/powered/virtual_domain) -"wL" = ( -/obj/structure/table/reinforced, -/obj/item/storage/medkit/regular, -/obj/machinery/light/small/directional/north, /turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"zU" = ( +/turf/open/floor/pod/dark, /area/virtual_domain/protected_space) -"xJ" = ( -/obj/structure/closet/syndicate{ - anchored = 1; - desc = "A basic closet for all your villainous needs."; - locked = 1; - name = "Closet"; - req_access = list("syndicate"); - secure = 1 +"Aq" = ( +/obj/machinery/button/crematorium/directional/west{ + id = "fscremate" }, -/obj/item/ammo_box/c9mm, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"xS" = ( -/turf/closed/wall/r_wall/syndicate/nodiagonal, -/area/ruin/space/has_grav/powered/virtual_domain) -"yl" = ( +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Av" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"AE" = ( /obj/machinery/door/airlock/grunge{ - name = "Captain's Room" + name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/machinery/door/poddoor{ - id = "fscaproom"; - name = "Captain's Blast Door"; - state_open = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"yJ" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"yR" = ( +/area/virtual_domain) +"AN" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"AT" = ( +/obj/structure/cable, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"yT" = ( -/obj/item/ai_module/core/full/cybersun, +/area/virtual_domain) +"AW" = ( +/obj/structure/transit_tube/crossing, +/turf/open/space/basic, +/area/virtual_domain/protected_space) +"Bb" = ( +/obj/item/ai_module/core/full/cybersun{ + pixel_y = 8 + }, /obj/structure/table/reinforced, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"yV" = ( -/obj/structure/table/reinforced, -/obj/item/assembly/prox_sensor, -/obj/item/assembly/prox_sensor, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"yZ" = ( -/turf/closed/mineral, -/area/space) -"zi" = ( -/obj/machinery/vending/cigarette/syndicate, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"zt" = ( +/area/virtual_domain) +"Bq" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 4 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"zN" = ( -/turf/closed/wall/r_wall/syndicate, -/area/virtual_domain/protected_space) -"Aa" = ( -/obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Bm" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/syndicate, -/area/virtual_domain/protected_space) -"BK" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/turf/open/space/basic, -/area/space) +/area/virtual_domain) "BN" = ( /obj/structure/transit_tube/crossing, /turf/template_noop, /area/virtual_domain/safehouse) -"Cf" = ( +"Cc" = ( +/obj/structure/table/reinforced, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Cg" = ( +/obj/machinery/porta_turret/syndicate/energy{ + dir = 4; + name = "Syndicate Ship Turret"; + on = 0; + shot_delay = 10 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating/airless, +/area/virtual_domain) +"Ck" = ( +/obj/structure/tank_dispenser/oxygen, +/turf/closed/mineral/random, +/area/ruin/space/virtual_domain) +"CP" = ( +/obj/structure/bodycontainer/crematorium{ + id = "fscremate" + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Dr" = ( +/obj/structure/window/reinforced/plasma/plastitanium, +/obj/machinery/door/poddoor{ + id = "fslockdown"; + name = "Ship Blast Door"; + state_open = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Dt" = ( /obj/machinery/light/directional/south, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Ci" = ( +/area/virtual_domain) +"DF" = ( +/obj/structure/closet/syndicate{ + anchored = 1; + desc = "A basic closet for all your villainous needs."; + locked = 1; + name = "Closet"; + req_access = list("syndicate"); + secure = 1 + }, +/obj/item/clothing/head/hats/hos/beret/syndicate, +/obj/item/clothing/suit/armor/vest/capcarapace/syndicate, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/under/syndicate, +/obj/item/clothing/under/syndicate/skirt, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/shoes/combat, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"DY" = ( +/obj/effect/mob_spawn/ghost_role/human/virtual_domain/syndie, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"EI" = ( +/obj/structure/table/reinforced, +/obj/item/ammo_box/c9mm{ + pixel_y = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"EL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 9 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Fe" = ( +/obj/structure/table/reinforced, +/obj/item/toy/plush/nukeplushie, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Fl" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -691,27 +739,40 @@ secure = 1 }, /obj/item/crowbar/red, -/obj/item/ammo_box/magazine/m9mm_aps, -/obj/item/ammo_box/magazine/m9mm_aps, +/obj/item/ammo_box/magazine/m9mm, +/obj/item/ammo_box/magazine/m9mm, +/obj/machinery/light/small/directional/north, /obj/item/gun/ballistic/automatic/pistol, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"Cn" = ( -/obj/machinery/camera/xray/directional/east{ - c_tag = "Conference room"; - network = list("fsc"); - screen_loc = "" +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Fq" = ( +/obj/structure/cable, +/mob/living/basic/trooper/syndicate/melee/space/stormtrooper, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Fv" = ( +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"FO" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") + }, +/obj/item/stack/ore/diamond{ + amount = 3 }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"CK" = ( -/obj/structure/chair/comfy/shuttle{ +/area/virtual_domain) +"FQ" = ( +/obj/structure/transit_tube/station/dispenser/reverse{ dir = 4 }, -/mob/living/basic/trooper/syndicate/ranged/smg/pilot, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"CR" = ( +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain/protected_space) +"Gb" = ( +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Gl" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -720,293 +781,239 @@ req_access = list("syndicate"); secure = 1 }, -/obj/item/coin/antagtoken, -/obj/item/dnainjector/thermal, -/obj/item/storage/box/firingpins/syndicate, -/obj/item/storage/box/firingpins/syndicate, +/obj/item/ammo_box/c9mm, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"De" = ( -/obj/machinery/door/airlock/grunge{ - name = "Syndicate Ship Airlock" +/area/virtual_domain) +"Gu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/machinery/light/small/directional/north, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"GR" = ( +/obj/machinery/power/terminal{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/structure/cable, +/obj/item/paper/fluff/ruins/forgottenship/powerissues, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Dj" = ( -/obj/structure/table/reinforced, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/gun/ballistic/automatic/c20r/unrestricted, -/turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"DA" = ( +/area/virtual_domain) +"Hc" = ( +/turf/open/floor/plastic, +/area/virtual_domain) +"He" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") }, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/clothing/costume, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"EB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +/area/virtual_domain) +"Hf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, +/obj/machinery/portable_atmospherics/scrubber{ + anchored = 1 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Fp" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"FN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Gn" = ( -/obj/structure/chair/comfy{ - dir = 1 +/area/virtual_domain) +"HG" = ( +/turf/closed/wall/r_wall/syndicate, +/area/virtual_domain) +"HH" = ( +/obj/structure/chair/comfy/black, +/turf/open/floor/carpet/royalblack, +/area/virtual_domain) +"ID" = ( +/obj/machinery/suit_storage_unit/syndicate{ + helmet_type = /obj/item/clothing/head/helmet/space/syndicate/black; + suit_type = /obj/item/clothing/suit/space/syndicate/black }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Gs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 +/area/virtual_domain) +"IL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"GB" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Je" = ( /obj/structure/cable, +/obj/structure/fans/tiny, /obj/machinery/door/airlock/external/ruin{ name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"GZ" = ( -/obj/machinery/door/airlock/external/ruin{ - name = "Syndicate Ship Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Hq" = ( -/turf/closed/indestructible/binary, -/area/space) -"HU" = ( +/area/virtual_domain) +"JB" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/plastic, +/area/virtual_domain) +"JH" = ( /obj/machinery/door/airlock/grunge{ - name = "Bridge" + name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"JR" = ( +/obj/structure/sign/poster/contraband/syndicate_recruitment/directional/north, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Ia" = ( -/obj/effect/mob_spawn/ghost_role/human/virtual_domain/syndie, +/area/virtual_domain) +"JY" = ( +/obj/structure/cable, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain/protected_space) +"JZ" = ( +/obj/structure/transit_tube/crossing, +/turf/closed/wall/r_wall/syndicate, +/area/virtual_domain/protected_space) +"Kt" = ( +/obj/machinery/light/small/directional/south, /turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"Id" = ( -/obj/machinery/power/shuttle_engine/huge{ - dir = 8 - }, -/turf/open/space/basic, -/area/ruin/space/has_grav/powered/virtual_domain) -"If" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 9 +/area/virtual_domain) +"Kv" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") }, -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Ig" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 4; - name = "Syndicate Ship Turret"; - on = 0; - shot_delay = 10 +/obj/item/stack/sheet/mineral/gold{ + amount = 30 }, -/turf/closed/wall/r_wall/syndicate/nodiagonal, -/area/ruin/space/has_grav/powered/virtual_domain) -"Im" = ( -/obj/structure/table/reinforced, -/obj/item/ammo_box/c9mm, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Io" = ( -/obj/effect/landmark/bitrunning/cache_spawn, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"IC" = ( -/obj/structure/table/reinforced, -/obj/item/paper, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/forgotten_ship/sci/directional/south, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"IH" = ( -/obj/machinery/door/airlock/external/ruin{ - name = "Syndicate Ship Airlock" +/obj/item/stack/sheet/mineral/silver{ + amount = 30 }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/structure/cable, -/obj/structure/fans/tiny, -/turf/open/floor/plating, +/obj/machinery/light/small/directional/south, +/turf/open/floor/pod/dark, /area/virtual_domain/protected_space) -"IV" = ( -/obj/machinery/door/airlock/grunge{ - name = "Syndicate Ship Airlock" +"Lg" = ( +/obj/machinery/turretid/directional/north{ + enabled = 0; + lethal = 1; + req_access = list("syndicate"); + name = "Ship turret control panel" }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/plating, -/area/ruin/space/has_grav/powered/virtual_domain) -"Jg" = ( -/obj/machinery/light/small/directional/south, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Jz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 5 +/area/virtual_domain) +"Lj" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Lv" = ( +/obj/structure/chair/comfy{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"JA" = ( +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"LA" = ( +/turf/closed/mineral, +/area/ruin/space/virtual_domain) +"ME" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"JN" = ( -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 5 + dir = 4 }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"JP" = ( -/obj/structure/sink/directional/south, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/powered/virtual_domain) -"Kz" = ( -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Lk" = ( -/obj/structure/transit_tube/crossing, -/turf/closed/mineral/random, -/area/virtual_domain/protected_space) -"Lo" = ( -/obj/structure/filingcabinet, -/obj/machinery/door/window/left/directional/west{ - name = "Syndicate Interior Door"; - req_access = list("syndicate") +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"MN" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door/table{ + id = "fslockdown"; + name = "Window shutters"; + req_access = list("syndicate"); + pixel_y = 8 }, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"LB" = ( -/obj/structure/cable, +/area/virtual_domain) +"Nj" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"Mc" = ( -/obj/structure/closet/syndicate{ - anchored = 1; - desc = "A basic closet for all your villainous needs."; - locked = 1; - name = "Closet"; - req_access = list("syndicate"); - secure = 1 +/area/virtual_domain) +"NF" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") }, -/obj/item/crowbar/red, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/gun/ballistic/automatic/pistol, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Mm" = ( -/obj/structure/closet/syndicate{ - anchored = 1; - desc = "A basic closet for all your villainous needs."; - locked = 1; - name = "Closet"; - req_access = list("syndicate"); - secure = 1 +/area/virtual_domain) +"NO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 }, -/obj/item/clothing/head/hats/hos/beret/syndicate, -/obj/item/clothing/suit/armor/vest/capcarapace/syndicate, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/under/syndicate/skirt, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/shoes/combat, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"MR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ dir = 4 }, -/obj/machinery/light/small/directional/south, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Nm" = ( +/area/virtual_domain) +"NQ" = ( /obj/structure/closet/crate/secure/gear{ req_access = list("syndicate") }, +/obj/item/disk/surgery/forgottenship, /turf/open/floor/pod/dark, /area/virtual_domain/protected_space) -"Nr" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") - }, -/obj/item/stack/sheet/mineral/gold{ - amount = 30 - }, -/obj/item/stack/sheet/mineral/silver{ - amount = 30 +"NY" = ( +/obj/machinery/camera/xray/directional/east{ + c_tag = "Conference room"; + network = list("fsc") }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Og" = ( /obj/machinery/light/small/directional/south, -/turf/open/floor/pod/dark, +/turf/open/floor/mineral/plastitanium, /area/virtual_domain/protected_space) -"Of" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +"OL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"ON" = ( +/turf/open/space/basic, +/area/space/virtual_domain) +"OO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 4 }, -/obj/item/disk/surgery/forgottenship, -/turf/open/floor/pod/dark, -/area/virtual_domain/protected_space) -"Ox" = ( -/obj/machinery/atmospherics/components/unary/vent_pump, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Pj" = ( +/obj/effect/landmark/bitrunning/cache_spawn, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"OH" = ( +/area/virtual_domain) +"Pm" = ( /obj/structure/cable, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/syndicate, -/obj/item/storage/toolbox/syndicate, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"PD" = ( /turf/open/floor/mineral/plastitanium, /area/virtual_domain/protected_space) -"OI" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 +"Qj" = ( +/obj/machinery/door/airlock/grunge{ + name = "Syndicate Ship Airlock" }, -/obj/structure/cable, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"PR" = ( +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/plating, +/area/virtual_domain) +"Qx" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"QB" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"QL" = ( /obj/machinery/door/password/voice/sfc{ password = null }, @@ -1018,60 +1025,123 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/pod/dark, /area/virtual_domain/protected_space) -"Qg" = ( -/obj/machinery/suit_storage_unit/syndicate{ - helmet_type = /obj/item/clothing/head/helmet/space/syndicate/black; - suit_type = /obj/item/clothing/suit/space/syndicate/black +"Rl" = ( +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/iron/dark, +/area/virtual_domain) +"Rx" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/virtual_domain) +"RA" = ( +/turf/closed/indestructible/syndicate, +/area/virtual_domain/protected_space) +"SA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Qi" = ( -/obj/item/stack/sheet/mineral/uranium{ - amount = 15 +/area/virtual_domain) +"SB" = ( +/obj/machinery/door/airlock/grunge{ + name = "Captain's Room" }, -/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/door/poddoor{ + id = "fscaproom"; + name = "Captain's Blast Door"; + state_open = 1 + }, +/turf/open/floor/carpet/royalblack, +/area/virtual_domain) +"SE" = ( +/obj/machinery/vending/medical/syndicate_access/cybersun, +/turf/open/floor/plastic, +/area/virtual_domain) +"SR" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/mob/living/basic/trooper/syndicate/ranged/smg/pilot, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Td" = ( +/obj/structure/sign/poster/contraband/syndicate_pistol, +/turf/closed/wall/r_wall/syndicate, +/area/virtual_domain) +"Tw" = ( +/obj/structure/table/optable, /obj/machinery/light/small/directional/north, +/turf/open/floor/plastic, +/area/virtual_domain) +"TJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 10 + }, +/obj/item/wrench, /turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"QF" = ( +/area/virtual_domain) +"TO" = ( /obj/structure/table/reinforced, -/obj/item/dualsaber/green, -/obj/machinery/light/small/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/virtual_domain/protected_space) -"QG" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/closed/mineral/random, -/area/space) -"QX" = ( -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Ra" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, -/obj/machinery/light/small/directional/north, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"RQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ - dir = 4 +/area/virtual_domain) +"Uu" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external/ruin{ + name = "Syndicate Ship Airlock" }, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"RU" = ( -/obj/machinery/suit_storage_unit/syndicate, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"UK" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") + }, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/suit/space/syndicate/black/engie, +/turf/open/floor/pod/dark, /area/virtual_domain/protected_space) -"Sc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ +"Vq" = ( +/obj/structure/transit_tube/station/dispenser/reverse{ + dir = 8 + }, +/turf/template_noop, +/area/virtual_domain/safehouse) +"Vv" = ( +/obj/machinery/stasis{ dir = 4 }, +/turf/open/floor/plastic, +/area/virtual_domain) +"VE" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"VU" = ( +/obj/machinery/computer/security{ + desc = "Used to access interrogation room camera."; + dir = 8; + name = "Ship cameras console"; + network = list("fsc","fsci"); + screen_loc = "" + }, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Ws" = ( +/obj/structure/closet/crate/secure/gear{ + req_access = list("syndicate") + }, +/obj/item/melee/energy/sword/saber/red, +/obj/machinery/light/small/directional/north, +/turf/open/floor/pod/dark, +/area/virtual_domain/protected_space) +"WA" = ( /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Sd" = ( +/area/virtual_domain) +"WD" = ( /obj/structure/closet/syndicate{ anchored = 1; desc = "A basic closet for all your villainous needs."; @@ -1081,3156 +1151,3127 @@ secure = 1 }, /obj/item/crowbar/red, -/obj/item/ammo_box/magazine/m9mm, -/obj/item/ammo_box/magazine/m9mm, -/obj/machinery/light/small/directional/north, +/obj/item/ammo_box/magazine/m9mm_aps, +/obj/item/ammo_box/magazine/m9mm_aps, /obj/item/gun/ballistic/automatic/pistol, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Sq" = ( -/obj/machinery/power/smes, +/turf/open/floor/carpet/royalblack, +/area/virtual_domain) +"Xn" = ( /obj/structure/cable, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Sv" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 }, -/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/item/storage/toolbox/syndicate{ + pixel_y = 8 + }, +/obj/structure/sign/poster/contraband/tools/directional/north, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Sz" = ( -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/powered/virtual_domain) -"SX" = ( -/obj/machinery/vending/medical/syndicate_access/cybersun, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"TB" = ( -/turf/closed/indestructible/syndicate, -/area/virtual_domain/protected_space) -"UQ" = ( -/obj/structure/sign/poster/contraband/syndicate_recruitment, -/turf/closed/wall/r_wall/syndicate, -/area/ruin/space/has_grav/powered/virtual_domain) -"Vg" = ( -/turf/open/space/basic, /area/virtual_domain/protected_space) -"Vk" = ( -/obj/machinery/porta_turret/syndicate/energy{ - dir = 4; - name = "Syndicate Ship Turret"; - on = 0; - shot_delay = 10 +"Xw" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 }, -/turf/closed/wall/r_wall/syndicate, -/area/ruin/space/has_grav/powered/virtual_domain) -"Vq" = ( -/obj/structure/transit_tube/station/dispenser/reverse{ - dir = 8 +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"XI" = ( +/obj/machinery/door/airlock/grunge{ + name = "Bridge" }, -/turf/template_noop, -/area/virtual_domain/safehouse) -"Wd" = ( -/obj/structure/sign/poster/contraband/tools, -/turf/closed/wall/r_wall/syndicate, -/area/virtual_domain/protected_space) -"Wy" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 }, -/obj/item/stack/ore/plasma{ - amount = 19 +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"XK" = ( +/obj/structure/table/reinforced, +/obj/item/paper{ + pixel_y = 8 }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"WR" = ( -/obj/machinery/power/port_gen/pacman/super{ - anchored = 1 +/obj/item/pen{ + pixel_y = 8 }, +/obj/machinery/computer/security/telescreen/forgotten_ship/sci/directional/south, +/turf/open/floor/carpet/royalblack, +/area/virtual_domain) +"Yl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Yr" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/template_noop, +/area/virtual_domain/safehouse) +"YC" = ( +/turf/open/space/basic, +/area/virtual_domain/protected_space) +"YO" = ( +/obj/structure/lattice/catwalk, /obj/structure/cable, -/turf/open/floor/mineral/plastitanium/red, -/area/ruin/space/has_grav/powered/virtual_domain) -"Xp" = ( /turf/open/space/basic, -/area/ruin/space/has_grav/powered/virtual_domain) -"XS" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Yb" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +/area/space/virtual_domain) +"Ze" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 }, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/item/clothing/suit/space/syndicate/black/engie, -/turf/open/floor/pod/dark, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) +"Zp" = ( +/obj/structure/transit_tube/crossing, +/turf/closed/mineral/random, /area/virtual_domain/protected_space) -"Yi" = ( -/obj/effect/landmark/bitrunning/cache_spawn, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"Yj" = ( -/obj/structure/closet/crate/secure/gear{ - req_access = list("syndicate") +"Zr" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"Zv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 }, -/obj/item/stack/ore/diamond{ - amount = 3 +/turf/open/floor/mineral/plastitanium/red, +/area/virtual_domain) +"ZI" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door/table{ + id = "fscaproom"; + name = "Room shutters control"; + req_access = list("syndicate"); + pixel_y = 8 }, /turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) -"Yk" = ( +/area/virtual_domain) +"ZX" = ( /obj/machinery/door/airlock/grunge{ - name = "Captain's Room" + name = "Syndicate Ship Airlock" }, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/machinery/door/poddoor{ - id = "fscaproom"; - name = "Captain's Blast Door"; - state_open = 1 +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{ + dir = 4 }, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"Yr" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/template_noop, -/area/virtual_domain/safehouse) -"Yu" = ( -/obj/structure/chair/comfy/black, -/turf/open/floor/carpet/royalblack, -/area/ruin/space/has_grav/powered/virtual_domain) -"YV" = ( -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/west, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/powered/virtual_domain) -"Za" = ( -/obj/machinery/computer/operating, -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"Zb" = ( -/turf/open/floor/plastic, -/area/ruin/space/has_grav/powered/virtual_domain) -"ZA" = ( -/obj/machinery/power/shuttle_engine/propulsion{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ + dir = 4 }, -/turf/open/space/basic, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/open/floor/mineral/plastitanium, +/area/virtual_domain) (1,1,1) = {" -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW "} (2,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (3,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (4,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (5,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (6,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (7,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (8,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (9,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (10,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Xp -Xp -Id -qx -qx -Xp -Xp -Id -qx -qx -Xp -Xp -Id -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +uX +uX +bm +ON +ON +uX +uX +bm +ON +ON +uX +uX +bm +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (11,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Xp -Xp -Xp -qx -qx -Xp -Xp -Xp -qx -qx -Xp -Xp -Xp -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +uX +uX +uX +ON +ON +uX +uX +uX +ON +ON +uX +uX +uX +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (12,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ZA -Xp -Xp -Xp -ZA -ZA -Xp -Xp -Xp -ZA -ZA -Xp -Xp -Xp -ZA -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +rs +uX +uX +uX +rs +rs +uX +uX +uX +rs +rs +uX +uX +uX +rs +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (13,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -ru -ru -ru -ru -ru -ru -ru -ru -ru -ru -ru -ru -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +HG +HG +HG +HG +HG +HG +HG +HG +HG +HG +HG +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (14,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -Vk -ru -Sv -vD -uP -Io -Yj -vD -uP -Wy -DA -Io -uP -vD -cc -ru -Vk -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +rN +HG +yk +Nj +WA +Pj +FO +Nj +WA +eL +NF +Pj +WA +Nj +He +HG +Cg +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (15,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -Io -uP -uP -QX -lN -uP -uP -uP -uP -uP -lN -uP -QX -uP -Io -hA -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +Pj +WA +mb +Lj +WA +WA +WA +WA +WA +Lj +WA +mb +Pj +HG +oP +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (16,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -ru -ru -ru -ru -ru -ru -IV -ru -ru -ru -IV -ru -ru -ru -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +HG +HG +HG +HG +HG +Qj +HG +HG +HG +Qj +HG +HG +HG +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (17,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -vp -ru -Ia -Ci -ru -Sq -di -WR -ru -yV -Gn -uP -Mc -uP -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -nB -we -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +jU +HG +rn +WD +HG +eo +GR +ie +HG +aT +Lv +WA +bU +DY +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +zE +rD +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (18,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -og -Jg -ru -bh -cR -ru -Qi -sz -Kz -ru -Mc -uP -uP -uP -rP -ru -qx -qx -qx -qx -qx -qx -qx -nB -nB -nB -nB -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +zy +VE +HG +ah +Kt +HG +tO +OO +Qx +HG +bU +WA +WA +WA +dN +HG +ON +ON +ON +ON +ON +ON +ON +zE +zE +zE +zE +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (19,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -Kz -Kz -yl -bh -bh -Yk -pS -RQ -Jz -vK -uP -uP -Io -sL -hy -ru -qx -qx -qx -qx -qx -qx -nB -nB -TB -TB -TB -TB -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +xF +Qx +pi +ah +ah +SB +lM +AN +IL +AE +WA +WA +Pj +ss +tm +HG +ON +ON +ON +ON +ON +ON +zE +zE +RA +RA +RA +RA +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (20,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -CR -Kz -ru -bh -bh -Yk -pM -zt -pM -vK -uP -uP -QX -sL -Im -ru -qx -qx -qx -qx -qx -nB -nB -TB -TB -Yb -Yb -TB -Bm -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +Bb +Qx +HG +ah +ah +SB +Zv +Bq +Zv +AE +WA +WA +mb +ss +EI +HG +ON +ON +ON +ON +ON +zE +zE +RA +RA +UK +UK +RA +jv +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (21,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -yT -Kz -ru -Yu -IC -ru -mD -JN -MR -ru -Sd -uP -uP -uP -gD -ru -qx -qx -qx -qx -nB -QG -nB -TB -aN -bG -bG -sK -TB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +Rx +HG +Qx +HG +HH +XK +HG +TJ +aS +OL +HG +Fl +WA +WA +DY +HG +HG +ON +ON +ON +ON +zE +Ck +zE +RA +lt +zU +zU +nl +RA +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (22,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -Ig -ru -Lo -ru -tv -hD -nU -wb -EB -pl -ru -hD -Gn -uP -Mc -ru -Ig -qx -qx -qx -qx -nB -we -nB -TB -iU -bG -bG -Nr -TB -nB -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +pP +HG +dF +HG +ZI +Cc +Td +Hf +Pm +QB +HG +Cc +Lv +WA +bU +HG +vv +ON +ON +ON +ON +zE +rD +zE +RA +Ws +zU +zU +Kv +RA +zE +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (23,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -ru -ru -ru -ru -ru -cy -ru -ru -ru -ru -ru -ru -ru -qx -qx -qx -qx -qx -qx -nB -nB -TB -Nm -bG -bG -Of -TB -nB -nB -qx -qx -qx -qx -qx -qx -qx +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +HG +HG +HG +HG +uk +HG +HG +HG +HG +HG +HG +HG +ON +ON +ON +ON +ON +ON +zE +zE +RA +wH +zU +zU +NQ +RA +zE +zE +ON +ON +ON +ON +ON +ON +ON sM sM sM sM sM kJ -qx -Hq +ON +bW "} (24,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -Za -Yi -Zb -SX -ru -uP -yR -uP -ru -YV -Sz -jJ -fG -ru -qx -qx -qx -qx -qx -nB -nB -nB -TB -TB -PR -TB -TB -TB -nB -nB -nB -qx -qx -qx -qx -qx -qx +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +pT +ji +Hc +SE +HG +WA +zb +WA +HG +Rl +Gb +ui +cM +HG +ON +ON +ON +ON +ON +zE +zE +zE +RA +RA +QL +RA +RA +RA +zE +zE +zE +ON +ON +ON +ON +ON +ON sM sM sM sM sM sM -qx -Hq +ON +bW "} (25,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -qf -Zb -ip -da -ru -Ra -Sc -uP -ru -JP -qY -ru -ru -ru -qx -qx -qx -qx -qx -nB -nB -we -zN -zN -dp -sg -zN -zN -nn -nn -nn -nn -Vg -Vg -Vg -Vg -Vg +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +Tw +Hc +JB +Vv +HG +Gu +SA +WA +HG +Rl +nh +HG +HG +HG +ON +ON +ON +ON +ON +zE +zE +rD +ye +ye +PD +fW +ye +ye +cL +cL +cL +cL +YC +YC +YC +YC +YC sM sM sM sM sM sM -qx -Hq +ON +bW "} (26,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -aq -cB -Zb -Zb -De -Ox -Gs -uP -wK -Sz -Sz -jJ -pU -ru -qx -qx -qx -qx -qx -qx -nB -nB -qU -mL -dp -dp -li -cj -Lk -Lk -fd -fd -fd -fd -fd -fd -fd +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +vZ +zN +Hc +Hc +gE +Yl +eq +WA +JH +Gb +Gb +ui +mQ +HG +ON +ON +ON +ON +ON +ON +zE +zE +ye +nK +PD +PD +FQ +JZ +Zp +Zp +AW +AW +AW +AW +AW +AW +AW BN Vq sM sM sM sM -qx -Hq +ON +bW "} (27,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -Vk -ru -ru -ru -ru -ru -ru -ru -kh -ru -ru -ru -ru -ru -ru -ru -ru -qx -qx -qx -qx -qx -nB -nB -zN -eB -dp -dp -dp -zN -nn -Vg -Vg -Vg -Vg -Vg -Vg -Vg -Vg +bW +ON +ON +ON +ON +ON +ON +ON +ON +rN +HG +HG +HG +HG +HG +HG +HG +ZX +HG +HG +HG +HG +HG +HG +HG +HG +ON +ON +ON +ON +ON +zE +zE +ye +iN +PD +PD +PD +ye +cL +YC +YC +YC +YC +YC +YC +YC +YC sM sM sM sM sM sM -qx -Hq +ON +bW "} (28,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -jl -rm -ru -nk -oM -oM -oM -yR -oM -oM -oM -uP -ru -uP -Qg -ru -qx -qx -qx -qx -qx -qx -nB -zN -wL -LB -dp -mA -zN -yZ -nB -nB -nB -qx -qx -qx -qx -qx +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +Aq +HG +uN +AT +AT +AT +zb +AT +AT +AT +WA +HG +WA +ID +HG +ON +ON +ON +ON +ON +ON +zE +ye +om +JY +PD +Og +ye +LA +zE +zE +zE +ON +ON +ON +ON +ON sM sM sM sM sM sM -qx -Hq +ON +bW "} (29,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -uP -dw -ru -rH -uP -JA -JA -iX -JA -JA -oM -uP -ru -fJ -Qg -ru -qx -qx -qx -qx -qx -qx -qx -Wd -OH -LB -dp -RU -zN -we -nB -nB -qx -qx -qx -qx -qx -qx +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +CP +dN +HG +rX +WA +fN +fN +ME +fN +fN +AT +WA +HG +mR +ID +HG +ON +ON +ON +ON +ON +ON +ON +ye +Xn +JY +PD +bg +ye +rD +zE +zE +ON +ON +ON +ON +ON +ON sM sM sM sM sM Yr -qx -Hq +ON +bW "} (30,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -lo -uP -uP -GZ -uP -Aa -hD -yJ -bD -hD -hD -OI -oM -GB -jA -oM -dU -BK -BK -BK -BK -BK -BK -BK -IH -LB -LB -dp -RU -zN -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +Uu +WA +WA +ml +WA +gz +Cc +TO +xc +Cc +Cc +ym +AT +zT +Fq +AT +Je +YO +YO +YO +YO +YO +YO +YO +hb +JY +JY +PD +bg +ye +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (31,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -uP -uP -dd -uP -uP -uP -Ox -aw -uP -uP -uP -uP -dd -uP -Qg -ru -qx -qx -qx -qx -qx -qx -qx -iL -cZ -dp -dp -RU -zN -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +el +WA +HG +WA +WA +WA +Yl +Av +WA +WA +WA +WA +HG +xa +ID +HG +ON +ON +ON +ON +ON +ON +ON +ye +aA +PD +PD +bg +ye +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (32,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -aO -uP -ru -XS -uP -uP -uP -FN -uP -uP -uP -Cf -ru -uP -Fp -ru -qx -qx -qx -qx -qx -qx -nB -zN -zN -Dj -QF -zN -zN -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +WA +HG +qn +WA +WA +WA +Ze +WA +WA +WA +Dt +HG +WA +Fv +HG +ON +ON +ON +ON +ON +ON +zE +ye +ye +xN +xg +ye +ye +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (33,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -Ig -ru -hD -ru -zi -uP -uP -uP -FN -Cn -uP -uP -uP -ru -hD -ru -xS -qx -qx -qx -qx -qx -nB -nB -nB -zN -zN -zN -zN -nB -nB -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +pP +HG +Cc +HG +rO +WA +WA +WA +Ze +NY +WA +WA +WA +HG +Cc +HG +Rx +ON +ON +ON +ON +ON +zE +zE +zE +ye +ye +ye +ye +zE +zE +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (34,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -ru -ru -ru -ru -ru -HU -ru -ru -ru -ru -ru -ru -ru -qx -qx -qx -qx -qx -qx -qx -nB -nB -nB -nB -we -nB -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +HG +HG +HG +HG +XI +HG +HG +HG +HG +HG +HG +HG +ON +ON +ON +ON +ON +ON +ON +zE +zE +zE +zE +rD +zE +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (35,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -UQ -rM -xJ -Kz -Kz -tI -Kz -Kz -ct -sH -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -nB -nB -nB -nB -nB -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +jw +Gl +Qx +Qx +NO +Qx +Qx +hz +ge +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +zE +zE +zE +zE +zE +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (36,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -ru -ru -Kz -Kz -Kz -Kz -tI -Kz -Kz -Kz -Kz -ru -ru -ru -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +HG +JR +Qx +Qx +Qx +NO +Qx +Qx +Qx +Qx +HG +HG +HG +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (37,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -ln -Kz -ru -iB -Kz -Kz -fV -If -Kz -Kz -Kz -nG -ru -cw -cw -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +Lg +Qx +HG +Zr +Qx +Qx +jH +EL +Qx +Qx +Qx +oT +HG +Qx +ur +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (38,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -ru -Kz -dz -sq -Kz -CK -Kz -vU -mo -vU -Kz -CK -Kz -ja -Kz -Jg -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +he +jo +Qx +SR +Qx +Xw +wF +Xw +Qx +SR +Qx +cv +VE +HG +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (39,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -Ig -ru -Kz -ru -Kz -Kz -Kz -pz -Kz -kI -Kz -Kz -Kz -ru -Mm -ru -Ig -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +pP +HG +Qx +HG +Qx +Qx +Qx +VU +Qx +tK +Qx +Qx +Qx +HG +DF +HG +vv +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (40,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -ru -Kz -Kz -Kz -Kz -Kz -Kz -Kz -Kz -dz -ru -ru -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +Qx +Qx +Qx +Qx +Qx +Qx +Qx +Qx +vX +HG +HG +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (41,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -ru -ru -vp -vp -pH -vp -iW -vp -vp -vp -vp -ru -ru -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +HG +HG +HG +jU +Fe +jU +MN +jU +jU +jU +jU +HG +HG +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (42,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Ig -hg -hg -hg -hg -hg -hg -hg -hg -hg -Ig -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +pP +HG +Dr +Dr +Dr +Dr +Dr +Dr +Dr +HG +vv +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (43,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (44,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (45,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (46,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -we -we -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +rD +rD +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (47,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -we -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +rD +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (48,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (49,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (50,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (51,1,1) = {" -Hq -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -qx -Hq +bW +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +ON +bW "} (52,1,1) = {" -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq -Hq +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW +bW "} diff --git a/_maps/virtual_domains/vaporwave.dmm b/_maps/virtual_domains/vaporwave.dmm index 4d5b3ab57ada0..eae2822aec6e8 100644 --- a/_maps/virtual_domains/vaporwave.dmm +++ b/_maps/virtual_domains/vaporwave.dmm @@ -5,20 +5,24 @@ /turf/open/floor/plating{ initial_gas_mix = "TEMP=2.7" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "bs" = ( /obj/effect/turf_decal/sand, /turf/open/floor/iron/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "bF" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating{ initial_gas_mix = "TEMP=2.7" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) +"bJ" = ( +/turf/closed/wall/rust, +/area/virtual_domain) "cz" = ( +/obj/effect/baseturf_helper/virtual_domain, /turf/open/misc/asteroid/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "cL" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/cup/glass/drinkingglass{ @@ -31,39 +35,40 @@ pixel_y = 8 }, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "df" = ( /obj/effect/turf_decal/sand, /turf/open/floor/iron/airless{ icon_state = "stairs-l" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "eF" = ( /turf/closed/indestructible/binary, /area/space) "fx" = ( /obj/item/statuebust, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "fQ" = ( /obj/structure/flora/tree/palm, /turf/open/floor/holofloor/beach, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "gM" = ( /obj/structure/table/reinforced, /obj/item/clothing/glasses/sunglasses/big{ - name = "aesthetic sunglasses" + name = "aesthetic sunglasses"; + pixel_y = 8 }, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "hN" = ( /turf/open/floor/holofloor/beach, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "il" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/sand, /turf/open/floor/iron/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "iP" = ( /obj/machinery/suit_storage_unit/standard_unit, /turf/template_noop, @@ -72,7 +77,7 @@ /obj/structure/window/spawner/directional/east, /obj/structure/closet/crate/secure/bitrunning/encrypted, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ku" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -81,14 +86,15 @@ /turf/open/floor/iron/airless{ icon_state = "stairs-r" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "ll" = ( /obj/structure/sign/poster/contraband/clown/directional/north, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lu" = ( +/obj/effect/baseturf_helper/virtual_domain, /turf/closed/wall/rust, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "lB" = ( /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/emergency_oxygen, @@ -97,17 +103,20 @@ /area/virtual_domain/safehouse) "lI" = ( /obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade, +/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ + pixel_y = 8; + dir = 1 + }, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "qm" = ( /obj/structure/flora/tree/palm, /obj/machinery/light/directional/west, /turf/open/floor/holofloor/beach, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "qu" = ( /turf/open/floor/holofloor/beach/water, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "rn" = ( /obj/structure/statue/sandstone/venus{ anchored = 1; @@ -117,82 +126,74 @@ /turf/open/floor/plating{ initial_gas_mix = "TEMP=2.7" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "xb" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xp" = ( /obj/structure/table/reinforced, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "xK" = ( /turf/closed/wall, -/area/ruin/space/has_grav/powered/virtual_domain) -"ym" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space) +/area/virtual_domain) "AX" = ( /obj/effect/turf_decal/stripes/asteroid/line, /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating{ initial_gas_mix = "TEMP=2.7" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "Cq" = ( /obj/item/instrument/eguitar, /turf/open/floor/holofloor/beach, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "CR" = ( /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Dk" = ( /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Es" = ( /obj/structure/chair/comfy/black{ dir = 4 }, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) -"Fd" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/wall/rust, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Hf" = ( /obj/effect/turf_decal/sand, /turf/open/floor/iron/airless{ icon_state = "recharge_floor_asteroid" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "HA" = ( /turf/open/floor/holofloor/beach/coast, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "HV" = ( /obj/structure/chair/comfy/black{ dir = 4 }, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Jr" = ( /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "KO" = ( /obj/structure/chair/comfy/black{ dir = 8 }, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "KY" = ( /obj/effect/turf_decal/sand, /turf/open/floor/iron/airless{ icon_state = "stairs-m" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "LG" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -200,26 +201,32 @@ "LJ" = ( /obj/structure/lattice, /turf/open/misc/asteroid/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "LP" = ( /obj/structure/flora/tree/palm, /obj/machinery/light/directional/east, /turf/open/floor/holofloor/beach, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Nz" = ( /obj/structure/window/spawner/directional/east, /obj/structure/table/reinforced, -/obj/item/storage/fancy/cigarettes/cigars/havana, +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_y = 8 + }, /obj/effect/spawner/random/entertainment/lighter, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "NT" = ( +/obj/effect/baseturf_helper/virtual_domain, /turf/open/space/basic, -/area/space) +/area/space/virtual_domain) +"Pv" = ( +/turf/open/space/basic, +/area/space/virtual_domain) "Qh" = ( /obj/structure/closet/crate/bin, /turf/open/misc/asteroid/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "Uy" = ( /obj/modular_map_root/safehouse{ key = "shuttle_space" @@ -232,20 +239,23 @@ /turf/open/floor/plating{ initial_gas_mix = "TEMP=2.7" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "UV" = ( /obj/structure/lattice, /turf/open/floor/plating/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "Vc" = ( /obj/structure/flora/tree/palm, /turf/open/misc/asteroid/airless, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) +"Vp" = ( +/turf/open/misc/asteroid/airless, +/area/ruin/space/virtual_domain) "XJ" = ( /obj/structure/fans/tiny, /obj/machinery/door/airlock/hatch, /turf/open/floor/pod/dark, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Yo" = ( /obj/structure/statue/sandstone/venus{ anchored = 1; @@ -256,16 +266,16 @@ /turf/open/floor/plating{ initial_gas_mix = "TEMP=2.7" }, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/ruin/space/virtual_domain) "YE" = ( /mob/living/basic/butterfly, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "ZI" = ( /obj/effect/spawner/random/structure/musician/piano/random_piano, /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/vaporwave, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) (1,1,1) = {" eF @@ -299,219 +309,219 @@ eF "} (2,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv NT eF "} (3,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (4,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (5,1,1) = {" eF -NT -NT -NT -NT -NT -NT -cz +Pv +Pv +Pv +Pv +Pv +Pv +Vp LJ -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (6,1,1) = {" eF -NT -NT -NT -NT -NT -cz -cz +Pv +Pv +Pv +Pv +Pv +Vp +Vp LJ -cz -cz +Vp +Vp LJ -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (7,1,1) = {" eF -NT -NT -NT -NT -cz -cz -cz +Pv +Pv +Pv +Pv +Vp +Vp +Vp UV LJ -cz +Vp UV -cz -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (8,1,1) = {" eF -NT -NT -NT -NT -cz +Pv +Pv +Pv +Pv +Vp xK xK -lu -lu -lu +bJ +bJ +bJ xK lu UE -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (9,1,1) = {" eF -NT -NT -NT +Pv +Pv +Pv LJ Qh xK @@ -522,29 +532,29 @@ HA qu xK aA -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (10,1,1) = {" eF -NT -NT -NT +Pv +Pv +Pv LJ UV -lu +bJ ZI Jr Jr @@ -553,27 +563,27 @@ Jr xK bF Vc +Vp cz -cz -NT -NT -NT +Pv +Pv +Pv ku ku ku ku ku Uy -NT +Pv eF "} (11,1,1) = {" eF -NT -NT -NT -cz -cz +Pv +Pv +Pv +Vp +Vp xK xb CR @@ -584,26 +594,26 @@ xK Yo il UE -cz -NT -NT -NT +Vp +Pv +Pv +Pv ku iP iP iP ku ku -NT +Pv eF "} (12,1,1) = {" eF -NT -NT -NT -cz -cz +Pv +Pv +Pv +Vp +Vp xK ll CR @@ -614,25 +624,25 @@ xK Hf df il -cz -NT -NT -NT +Vp +Pv +Pv +Pv ku ku ku ku ku ku -NT +Pv eF "} (13,1,1) = {" eF -NT -NT -NT -cz +Pv +Pv +Pv +Vp LJ xK HV @@ -645,26 +655,26 @@ bs KY bs il -NT -NT -NT +Pv +Pv +Pv ku ku ku ku ku ku -NT +Pv eF "} (14,1,1) = {" eF -NT -NT -NT -cz +Pv +Pv +Pv +Vp LJ -lu +bJ xp gM CR @@ -675,53 +685,53 @@ Hf kF bs il -NT -NT -NT +Pv +Pv +Pv ku ku ku ku ku ku -NT +Pv eF "} (15,1,1) = {" eF -NT -NT -NT -cz +Pv +Pv +Pv +Vp LJ -lu +bJ KO KO CR YE lI -lu +bJ rn il UE UE -NT -NT -NT +Pv +Pv +Pv ku ku ku ku lB ku -NT +Pv eF "} (16,1,1) = {" eF -NT -NT -NT +Pv +Pv +Pv LJ UV xK @@ -733,258 +743,258 @@ Nz xK AX Vc -cz -cz -NT -NT -NT +Vp +Vp +Pv +Pv +Pv ku ku ku ku ku LG -NT +Pv eF "} (17,1,1) = {" eF -NT -NT -NT -cz -cz -lu +Pv +Pv +Pv +Vp +Vp +bJ fQ Cq LP HA qu -lu +bJ aA -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (18,1,1) = {" eF -NT -NT -NT -cz -cz +Pv +Pv +Pv +Vp +Vp xK xK -lu +bJ xK -lu -lu -Fd +bJ +bJ +bJ UE -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (19,1,1) = {" eF -NT -NT -NT -NT -cz -cz -cz +Pv +Pv +Pv +Pv +Vp +Vp +Vp UV LJ Qh UV -cz -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (20,1,1) = {" eF -NT -NT -NT -NT -NT -NT -cz +Pv +Pv +Pv +Pv +Pv +Pv +Vp LJ -cz -cz +Vp +Vp LJ -cz -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Vp +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (21,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -ym -cz -cz -cz -cz -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +LJ +Vp +Vp +Vp +Vp +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (22,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (23,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (24,1,1) = {" eF -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT -NT +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv +Pv eF "} (25,1,1) = {" diff --git a/_maps/virtual_domains/wendigo.dmm b/_maps/virtual_domains/wendigo.dmm index 57c002c148c6f..34dc74685bd17 100644 --- a/_maps/virtual_domains/wendigo.dmm +++ b/_maps/virtual_domains/wendigo.dmm @@ -40,9 +40,6 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored/virtual_domain) -"ai" = ( -/turf/closed/indestructible/binary, -/area/icemoon/underground/explored/virtual_domain) "aj" = ( /obj/effect/mob_spawn/corpse/human/cargo_tech, /turf/open/misc/asteroid/snow/icemoon, @@ -197,9 +194,8 @@ }, /area/icemoon/underground/explored/virtual_domain) "aL" = ( -/obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/icemoon/underground/explored/virtual_domain) +/area/virtual_domain/fullbright) "aM" = ( /obj/effect/decal/cleanable/blood/gibs/core, /turf/open/indestructible/necropolis{ @@ -346,6 +342,10 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored/virtual_domain) +"yf" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored/virtual_domain) "KV" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 @@ -369,23 +369,23 @@ aS aS aS aS -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL aS aS aS @@ -407,8 +407,8 @@ aS aS aS aS -ai -ai +aL +aL ae ae ae @@ -424,8 +424,8 @@ ae ae ar ae -ai -ai +aL +aL aS aS aS @@ -445,8 +445,8 @@ aS aS aS aS -ai -ai +aL +aL ae ae ae @@ -464,8 +464,8 @@ ae ae ae ae -ai -ai +aL +aL aS aS aS @@ -483,8 +483,8 @@ aS aS aS aS -ai -ai +aL +aL ae ae av @@ -504,8 +504,8 @@ av ae ae ae -ai -ai +aL +aL aS aS aS @@ -521,8 +521,8 @@ aS (5,1,1) = {" aS aS -ai -ai +aL +aL ae ae av @@ -544,23 +544,23 @@ ab ae au ae -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL aL "} (6,1,1) = {" aS -ai -ai +aL +aL ae ae ae @@ -584,9 +584,8 @@ au ae ae ae -ai -ai -ae +aL +aL ae ae ae @@ -594,11 +593,12 @@ ae ae ae ae -ai +yf +aL "} (7,1,1) = {" -ai -ai +aL +aL ae ae ae @@ -624,7 +624,7 @@ av ae ae ae -ai +aL ae ae ae @@ -633,10 +633,10 @@ ad ag ae ae -ai +aL "} (8,1,1) = {" -ai +aL ae ae ae @@ -672,10 +672,10 @@ aa aa ag ae -ai +aL "} (9,1,1) = {" -ai +aL ae ae ae @@ -711,10 +711,10 @@ am aa aD ae -ai +aL "} (10,1,1) = {" -ai +aL ae ae ar @@ -750,10 +750,10 @@ ae aT ae ae -ai +aL "} (11,1,1) = {" -ai +aL ae ae ae @@ -789,10 +789,10 @@ ae aK ae ae -ai +aL "} (12,1,1) = {" -ai +aL ae ae ab @@ -828,10 +828,10 @@ ae ae ae ae -ai +aL "} (13,1,1) = {" -ai +aL ae ae ab @@ -867,10 +867,10 @@ ae ae ae ae -ai +aL "} (14,1,1) = {" -ai +aL ae ae ar @@ -906,10 +906,10 @@ aV aV aZ ae -ai +aL "} (15,1,1) = {" -ai +aL ae ae au @@ -945,10 +945,10 @@ aV aV aV ae -ai +aL "} (16,1,1) = {" -ai +aL ae ad ac @@ -984,10 +984,10 @@ aV aV aV ae -ai +aL "} (17,1,1) = {" -ai +aL KV aI aa @@ -1023,10 +1023,10 @@ aV aV aV ae -ai +aL "} (18,1,1) = {" -ai +aL ae ae am @@ -1062,10 +1062,10 @@ aV aV aV ae -ai +aL "} (19,1,1) = {" -ai +aL ae ae av @@ -1101,10 +1101,10 @@ aV aV aV ae -ai +aL "} (20,1,1) = {" -ai +aL ae ae ae @@ -1140,10 +1140,10 @@ aV aV aA ae -ai +aL "} (21,1,1) = {" -ai +aL ar ae au @@ -1179,10 +1179,10 @@ ae ae ae ae -ai +aL "} (22,1,1) = {" -ai +aL ae ae ab @@ -1218,10 +1218,10 @@ ae ae ae ae -ai +aL "} (23,1,1) = {" -ai +aL ae ae ab @@ -1257,10 +1257,10 @@ ae ae ae ae -ai +aL "} (24,1,1) = {" -ai +aL ae ae ae @@ -1296,10 +1296,10 @@ ae aU ae ae -ai +aL "} (25,1,1) = {" -ai +aL ae ae ae @@ -1335,10 +1335,10 @@ ad aI aW ae -ai +aL "} (26,1,1) = {" -ai +aL ae ae ae @@ -1374,11 +1374,11 @@ aK ae ae ae -ai +aL "} (27,1,1) = {" -ai -ai +aL +aL ae au ae @@ -1404,7 +1404,7 @@ ae ae ar ae -ai +aL ae ae ae @@ -1413,12 +1413,12 @@ ae ae ae ae -ai +aL "} (28,1,1) = {" aS -ai -ai +aL +aL ae au ae @@ -1442,8 +1442,8 @@ ae ae ae ae -ai -ai +aL +aL ae ae ae @@ -1452,13 +1452,13 @@ ae ae ae ae -ai +aL "} (29,1,1) = {" aS aS -ai -ai +aL +aL ae ae ae @@ -1480,25 +1480,25 @@ ae ae ar ae -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL "} (30,1,1) = {" aS aS aS -ai -ai +aL +aL ae ae ae @@ -1518,8 +1518,8 @@ ae ae ae ae -ai -ai +aL +aL aS aS aS @@ -1537,8 +1537,8 @@ aS aS aS aS -ai -ai +aL +aL ae ae ae @@ -1556,8 +1556,8 @@ ae ae ae ae -ai -ai +aL +aL aS aS aS @@ -1577,8 +1577,8 @@ aS aS aS aS -ai -ai +aL +aL ae ae ae @@ -1594,8 +1594,8 @@ ae ae ae ae -ai -ai +aL +aL aS aS aS @@ -1617,23 +1617,23 @@ aS aS aS aS -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL aS aS aS diff --git a/_maps/virtual_domains/xeno_nest.dmm b/_maps/virtual_domains/xeno_nest.dmm index 65f183d69c401..163e8dfa8087f 100644 --- a/_maps/virtual_domains/xeno_nest.dmm +++ b/_maps/virtual_domains/xeno_nest.dmm @@ -2,31 +2,32 @@ "a" = ( /turf/template_noop, /area/template_noop) +"b" = ( +/obj/structure/alien/weeds, +/obj/structure/alien/resin/wall, +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/virtual_domain) "c" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, /obj/structure/alien/resin/wall, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) -"d" = ( -/obj/structure/alien/resin/wall, -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "e" = ( /obj/structure/alien/weeds, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "f" = ( /obj/structure/alien/weeds, /obj/structure/alien/egg/burst, /obj/effect/decal/cleanable/blood, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "h" = ( /obj/structure/alien/weeds, /obj/effect/landmark/bitrunning/mob_segment, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "i" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -35,7 +36,7 @@ /obj/item/clothing/under/syndicate, /obj/item/clothing/glasses/night, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "j" = ( /obj/machinery/suit_storage_unit/spaceruin, /turf/template_noop, @@ -44,18 +45,18 @@ /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "l" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "m" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, /obj/structure/alien/resin/wall, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "n" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -63,18 +64,18 @@ /obj/structure/alien/weeds, /obj/effect/decal/cleanable/blood/gibs, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "p" = ( /obj/structure/alien/weeds, /mob/living/basic/alien/drone{ can_plant_weeds = 0 }, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "q" = ( /obj/structure/alien/resin/wall, -/turf/open/space/basic, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/virtual_domain) "r" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/template_noop, @@ -85,17 +86,17 @@ can_plant_weeds = 0 }, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "t" = ( /obj/structure/alien/weeds, /obj/structure/alien/weeds, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "u" = ( /obj/structure/alien/weeds/node, /obj/effect/decal/cleanable/blood, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "v" = ( /obj/modular_map_root/safehouse{ key = "shuttle" @@ -107,47 +108,48 @@ /obj/structure/bed/nest, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "y" = ( /obj/structure/alien/weeds/node, /obj/effect/landmark/bitrunning/mob_segment, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "z" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "A" = ( /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "B" = ( /obj/structure/alien/weeds, /obj/effect/decal/cleanable/blood, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "C" = ( /obj/structure/alien/weeds, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "D" = ( /obj/structure/alien/weeds, /obj/structure/alien/weeds, /turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "E" = ( /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "F" = ( /obj/structure/table/greyscale, -/obj/item/gun/energy/xray, +/obj/item/gun/energy/xray{ + pixel_y = 7 + }, /obj/item/gun/energy/laser{ - pixel_x = 4; - pixel_y = -6 + pixel_x = 4 }, /obj/item/gun/energy/laser{ pixel_x = -8; - pixel_y = 6 + pixel_y = 15 }, /turf/template_noop, /area/virtual_domain/safehouse) @@ -155,16 +157,16 @@ /obj/structure/alien/resin/wall, /obj/structure/alien/weeds, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "H" = ( /obj/structure/table/greyscale, /obj/machinery/recharger{ pixel_x = 8; - pixel_y = 4 + pixel_y = 8 }, /obj/machinery/recharger{ pixel_x = -8; - pixel_y = 4 + pixel_y = 8 }, /turf/template_noop, /area/virtual_domain/safehouse) @@ -172,22 +174,21 @@ /obj/structure/alien/weeds, /obj/structure/bed/nest, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "J" = ( /obj/structure/alien/weeds, /mob/living/basic/alien/queen/large{ desc = "A gigantic alien who is in charge of the hive and all of its loyal servants."; name = "alien queen"; - pixel_x = -16; can_plant_weeds = 0 }, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "K" = ( /obj/structure/alien/weeds, /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "L" = ( /obj/item/storage/medkit/regular, /obj/item/storage/medkit/regular, @@ -196,12 +197,10 @@ "M" = ( /obj/structure/alien/weeds, /obj/structure/alien/resin/wall{ - move_force = 1000; - move_resist = 3000; - pull_force = 1000 + move_resist = 3000 }, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "N" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -211,48 +210,48 @@ /obj/item/melee/baton/security/loaded, /obj/item/clothing/head/helmet, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "O" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain/fullbright) "P" = ( /obj/structure/alien/weeds/node, /mob/living/basic/alien, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Q" = ( /obj/structure/alien/resin/wall, /obj/structure/alien/resin/wall, -/turf/closed/indestructible/binary, -/area/ruin/space/has_grav/powered/virtual_domain) +/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruins, +/area/virtual_domain) "S" = ( /obj/structure/alien/weeds, /mob/living/basic/alien, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "T" = ( /obj/structure/alien/weeds, /obj/structure/alien/egg/burst, /obj/effect/decal/cleanable/blood/gibs, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "U" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, /obj/effect/decal/cleanable/blood/gibs, /obj/item/gun/ballistic/automatic/pistol, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "V" = ( /obj/structure/alien/weeds/node, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "W" = ( /obj/structure/alien/weeds, /obj/structure/alien/egg/burst, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) "Z" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -262,12 +261,13 @@ /obj/item/clothing/mask/gas, /obj/item/clothing/head/helmet/space/syndicate/orange, /turf/open/misc/asteroid/basalt/lava_land_surface, -/area/ruin/space/has_grav/powered/virtual_domain) +/area/virtual_domain) (1,1,1) = {" a a a +a E E E @@ -278,8 +278,7 @@ E E E E -E -E +a a a a @@ -309,7 +308,7 @@ a a a a -E +a E z z @@ -656,10 +655,9 @@ a a a a -E -E -E -E +a +a +a E E E @@ -673,6 +671,7 @@ a a a a +a "} (11,1,1) = {" a @@ -697,8 +696,8 @@ a a a a -E -E +a +a E E z @@ -738,7 +737,7 @@ a a a a -E +a E E z @@ -760,7 +759,7 @@ a a a a -E +a E z z @@ -779,7 +778,7 @@ a a a a -E +a E z z @@ -801,7 +800,7 @@ a a a a -E +a E E z @@ -817,8 +816,8 @@ a a a a -E -E +a +a E E E @@ -853,12 +852,12 @@ z z E E -E -E -E -E -E -E +a +a +a +a +a +a E E z @@ -952,7 +951,7 @@ z E E E -E +a a a a @@ -1029,12 +1028,12 @@ e z E E -E -E -E +a +a +a E Q -d +q q q q @@ -1069,7 +1068,7 @@ t z z E -E +a a a a @@ -1110,7 +1109,7 @@ e z E E -E +a a a a @@ -1150,8 +1149,8 @@ e e z E -E -E +a +a a a a @@ -1191,7 +1190,7 @@ e z z E -E +a a a a @@ -1233,12 +1232,12 @@ z E E E +a +a +a +a E -E -E -E -E -d +q C C A @@ -1279,7 +1278,7 @@ E E E E -z +b C C C @@ -1647,7 +1646,7 @@ a E z E -d +q q C C @@ -1688,7 +1687,7 @@ a E E E -d +q q A A @@ -1729,7 +1728,7 @@ a a a E -d +q q A C @@ -1745,8 +1744,8 @@ a a a a -E -E +a +a E E z @@ -1770,7 +1769,7 @@ a a a E -d +q q A A @@ -1786,7 +1785,7 @@ a a a a -E +a E E z @@ -1811,7 +1810,7 @@ a a a E -d +q q A A @@ -1827,7 +1826,7 @@ a a a a -E +a E z z @@ -1925,7 +1924,7 @@ E E E E -E +a a a a @@ -2001,8 +2000,8 @@ z z E E -E -E +a +a a a a diff --git a/auxlua.dll b/auxlua.dll deleted file mode 100644 index 4f712c26d82ee..0000000000000 Binary files a/auxlua.dll and /dev/null differ diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index c75793dfe34b6..4756b80f02737 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -19,7 +19,7 @@ //Mutation classes. Normal being on them, extra being additional mutations with instability and other being stuff you dont want people to fuck with like wizard mutate /// A mutation that can be activated and deactived by completing a sequence #define MUT_NORMAL 1 -/// A mutation that is in the mutations tab, and can be given and taken away through though the DNA console. Has a 0 before it's name in the mutation section of the dna console +/// A mutation that is in the mutations tab, and can be given and taken away through though the DNA console. Has a 0 before its name in the mutation section of the dna console #define MUT_EXTRA 2 /// Cannot be interacted with by players through normal means. I.E. wizards mutate #define MUT_OTHER 3 @@ -60,9 +60,15 @@ #define DNA_MOTH_MARKINGS_BLOCK 13 #define DNA_MUSHROOM_CAPS_BLOCK 14 #define DNA_POD_HAIR_BLOCK 15 -#define DNA_MONKEY_TAIL_BLOCK 16 -#define DNA_FEATURE_BLOCKS 16 +// Hey! Listen up if you're here because you're adding a species feature! +// +// You don't need to add a DNA block for EVERY species feature! +// You ONLY need DNA blocks if you intend to allow players to change it via GENETICS! +// (Which means having a DNA block for a feature tied to a mob without DNA is entirely pointless.) + +/// Total amount of DNA blocks, must be equal to the highest DNA block number +#define DNA_FEATURE_BLOCKS 15 #define DNA_SEQUENCE_LENGTH 4 #define DNA_MUTATION_BLOCKS 8 @@ -86,6 +92,8 @@ #define ORGAN_SLOT_MONSTER_CORE "monstercore" #define ORGAN_SLOT_RIGHT_ARM_AUG "r_arm_device" #define ORGAN_SLOT_LEFT_ARM_AUG "l_arm_device" //This one ignores alphabetical order cause the arms should be together +#define ORGAN_SLOT_RIGHT_ARM_MUSCLE "r_arm_muscle" +#define ORGAN_SLOT_LEFT_ARM_MUSCLE "l_arm_muscle" //same as above #define ORGAN_SLOT_SPINE "spine" #define ORGAN_SLOT_STOMACH "stomach" #define ORGAN_SLOT_STOMACH_AID "stomach_aid" @@ -137,6 +145,8 @@ GLOBAL_LIST_INIT(organ_process_order, list( ORGAN_SLOT_APPENDIX, ORGAN_SLOT_RIGHT_ARM_AUG, ORGAN_SLOT_LEFT_ARM_AUG, + ORGAN_SLOT_LEFT_ARM_MUSCLE, + ORGAN_SLOT_RIGHT_ARM_MUSCLE, ORGAN_SLOT_STOMACH, ORGAN_SLOT_STOMACH_AID, ORGAN_SLOT_BREATHING_TUBE, diff --git a/code/__DEFINES/MC.dm b/code/__DEFINES/MC.dm index 8a658f3913d7d..4836625d9197f 100644 --- a/code/__DEFINES/MC.dm +++ b/code/__DEFINES/MC.dm @@ -133,3 +133,11 @@ }\ /datum/controller/subsystem/verb_manager/##X/fire() {..() /*just so it shows up on the profiler*/} \ /datum/controller/subsystem/verb_manager/##X + +#define AI_CONTROLLER_SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/ai_controllers/##X);\ +/datum/controller/subsystem/ai_controllers/##X/New(){\ + NEW_SS_GLOBAL(SS##X);\ + PreInit();\ +}\ +/datum/controller/subsystem/ai_controllers/##X/fire() {..() /*just so it shows up on the profiler*/} \ +/datum/controller/subsystem/ai_controllers/##X diff --git a/code/__DEFINES/_click.dm b/code/__DEFINES/_click.dm index 07d044f8b8961..c2166d4c8b579 100644 --- a/code/__DEFINES/_click.dm +++ b/code/__DEFINES/_click.dm @@ -43,3 +43,11 @@ #define MOUSE_OPACITY_ICON 1 /// Objects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, megafauna, storage containers) #define MOUSE_OPACITY_OPAQUE 2 + +// Turf click styles +/// Click on turfs as if they were a flat sheet on the ground +#define TURF_CLICK_FLAT "click_flat" +/// Click on turfs as if they were a 32 + DEPTH_OFFSET tall cube +#define TURF_CLICK_CUBE "click_cube" +/// Click on turfs as if they were a 32 + DEPTH_OFFSET tall cube, but maintain click params as if you were using TURF_CLICK_FLAT +#define TURF_CLICK_CUBE_KEEP_PARAMS "click_cube_keep_params" diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm index 55e706ce06d03..cbc17654078bf 100644 --- a/code/__DEFINES/_flags.dm +++ b/code/__DEFINES/_flags.dm @@ -11,6 +11,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define DF_USE_TAG (1<<0) #define DF_VAR_EDITED (1<<1) #define DF_ISPROCESSING (1<<2) +/// Placed on datums that have a static, constant reference. Primarily only used for turfs. +#define DF_STATIC_OBJECT (1<<3) //FLAGS BITMASK // scroll down before changing the numbers on these @@ -136,6 +138,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define VIRTUAL_SAFE_AREA (1<<16) /// This area does not allow the Binary channel #define BINARY_JAMMING (1<<17) +/// This area prevents Bag of Holding rifts from being opened. +#define NO_BOH (1<<18) /* These defines are used specifically with the atom/pass_flags bitmask diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 84b0229a97612..74c9120d804d4 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -73,6 +73,8 @@ #define ADMIN_LUAVIEW_CHUNK(state, log_index) "(VIEW CODE)" /// Displays "(SHOW)" in the chat, when clicked it tries to show atom(paper). First you need to set the request_state variable to TRUE for the paper. #define ADMIN_SHOW_PAPER(atom) "(SHOW)" +/// Displays "(PRINT)" in the chat, when clicked it will try to print the atom(paper) on the CentCom/Syndicate fax machine. +#define ADMIN_PRINT_FAX(atom, sender, destination) "(PRINT)" /// Displays "(PLAY)" in the chat, when clicked it tries to play internet sounds from the request. #define ADMIN_PLAY_INTERNET(text, credit) "(PLAY)" /// Displays "(SEE Z-LEVEL LAYOUT)" in the chat, when clicked it shows the z-level layouts for the current world state. @@ -87,7 +89,7 @@ if(!drop_atom) return //not a valid atom. var/turf/drop_turf = get_step(drop_atom, 0) //resolve where the thing is. - if(!drop_turf) //incase it's inside a valid drop container, inside another container. ie if a mech picked up a closet and has it inside it's internal storage. + if(!drop_turf) //incase it's inside a valid drop container, inside another container. ie if a mech picked up a closet and has it inside its internal storage. var/atom/last_try = drop_atom.loc?.drop_location() //one last try, otherwise fuck it. if(last_try) drop_turf = get_step(last_try, 0) diff --git a/code/__DEFINES/admin_verb.dm b/code/__DEFINES/admin_verb.dm index 04806e098b2c4..71e0475e5c39c 100644 --- a/code/__DEFINES/admin_verb.dm +++ b/code/__DEFINES/admin_verb.dm @@ -81,7 +81,7 @@ _ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_categor #define ADMIN_CATEGORY_FUN "Admin.Fun" #define ADMIN_CATEGORY_GAME "Admin.Game" -// Special categories that are seperated +// Special categories that are separated #define ADMIN_CATEGORY_DEBUG "Debug" #define ADMIN_CATEGORY_SERVER "Server" #define ADMIN_CATEGORY_OBJECT "Object" diff --git a/code/__DEFINES/ai/ai_blackboard.dm b/code/__DEFINES/ai/ai_blackboard.dm index 90a9b55ba1749..0c682f7d411a8 100644 --- a/code/__DEFINES/ai/ai_blackboard.dm +++ b/code/__DEFINES/ai/ai_blackboard.dm @@ -8,7 +8,7 @@ #define BB_FOOD_TARGET "bb_food_target" ///How close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target #define BB_AGGRO_RANGE "BB_aggro_range" -///are we hungry? determined by the udder compnent +///are we hungry? determined by the udder component #define BB_CHECK_HUNGRY "BB_check_hungry" ///are we ready to breed? #define BB_BREED_READY "BB_breed_ready" @@ -24,6 +24,8 @@ ///the list of interactions we can have with the owner #define BB_INTERACTIONS_WITH_OWNER "BB_interactions_with_owner" +///The trait checked by ai_behavior/find_potential_targets/prioritize_trait to return a target with a trait over the rest. +#define BB_TARGET_PRIORITY_TRAIT "target_priority_trait" /// Store a single or list of emotes at this key #define BB_EMOTE_KEY "BB_emotes" @@ -45,7 +47,7 @@ ///bane ai used by example script #define BB_BANE_BATMAN "BB_bane_batman" -//yep thats it +//yep that's it ///Hunting BB keys #define BB_CURRENT_HUNTING_TARGET "BB_current_hunting_target" @@ -91,7 +93,7 @@ #define BB_TARGETLESS_TIME "BB_targetless_time" ///Tipped blackboards -///Bool that means a basic mob will start reacting to being tipped in it's planning +///Bool that means a basic mob will start reacting to being tipped in its planning #define BB_BASIC_MOB_TIP_REACTING "BB_basic_tip_reacting" ///the motherfucker who tipped us #define BB_BASIC_MOB_TIPPER "BB_basic_tip_tipper" @@ -131,6 +133,9 @@ ///Range for a MOD AI controller. #define MOD_AI_RANGE 200 +///Only target mobs with these traits +#define BB_TARGET_ONLY_WITH_TRAITS "BB_target_only_with_traits" + ///should we skip the faction check for the targeting strategy? #define BB_ALWAYS_IGNORE_FACTION "BB_always_ignore_factions" ///are we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this diff --git a/code/__DEFINES/ai/monsters.dm b/code/__DEFINES/ai/monsters.dm index f80eb85735da6..fb6952eb08491 100644 --- a/code/__DEFINES/ai/monsters.dm +++ b/code/__DEFINES/ai/monsters.dm @@ -10,6 +10,16 @@ /// Key where we keep the spine traps ability #define BB_METEOR_HEART_SPINE_TRAPS "BB_meteor_spine_traps" +// Cybersun AI core AI keys +///key for lightning strike attack +#define BB_CYBERSUN_CORE_LIGHTNING "BB_lightning_strike" +///key for big laser attack +#define BB_CYBERSUN_CORE_BARRAGE "BB_cybersun_barrage" + +// Donk Exenteration Drone keys +// key for aoe slash attack +#define BB_DEDBOT_SLASH "BB_dedbot_exenterate" + // Spider AI keys /// Key where we store a turf to put webs on #define BB_SPIDER_WEB_TARGET "BB_spider_web_target" @@ -60,6 +70,11 @@ #define BB_LOBSTROSITY_TARGET_LIMB "BB_lobstrosity_target_limb" /// We increment this counter every time we try to move while dragging an arm and if we go too long we'll give up trying to get out of line of sight and just eat the fingers #define BB_LOBSTROSITY_FINGER_LUST "BB_lobstrosity_finger_lust" +/// Does this carp still target lying mobs even if they aren't stunned, and flee from sary fishermen? +#define BB_LOBSTROSITY_NAIVE_HUNTER "BB_lobstrosity_naive_hunter" + +/// Does this carp run from scary fishermen? +#define BB_CARPS_FEAR_FISHERMAN "BB_carp_fear_fisherman" // eyeball keys ///the death glare ability diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index f94871d10ccfa..87701d3aba14b 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -217,22 +217,28 @@ GLOBAL_LIST_INIT(ai_employers, list( /// Checks if the given mob is a traitor #define IS_TRAITOR(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/traitor)) +/** + * Cult checks + */ + /// Checks if the given mob is a blood cultist -#define IS_CULTIST(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/cult)) +#define IS_CULTIST(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/cult) || HAS_TRAIT(mob, TRAIT_ACT_AS_CULTIST)) + +/// Checks if the given mob is a blood cultist and is guaranteed to return the datum if possible - will cause issues with above trait +#define GET_CULTIST(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/cult)) /// Checks if the mob is a sentient or non-sentient cultist #define IS_CULTIST_OR_CULTIST_MOB(mob) ((IS_CULTIST(mob)) || (mob.faction.Find(FACTION_CULT))) -/// Checks if the given mob is a changeling -#define IS_CHANGELING(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/changeling)) - -/// Checks if the given mob is a nuclear operative -#define IS_NUKE_OP(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/nukeop)) -//Tells whether or not someone is a space ninja -#define IS_SPACE_NINJA(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/ninja)) +/** + * Heretic checks + */ /// Checks if the given mob is a heretic. -#define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic)) +#define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic) || HAS_TRAIT(mob, TRAIT_ACT_AS_HERETIC)) +/// Checks if the given mob is a heretic and is guaranteed to return the datum if possible - will cause issues with above trait +#define GET_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic)) + /// Check if the given mob is a heretic monster. #define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) /// Check if the given mob is a lunatic @@ -242,6 +248,19 @@ GLOBAL_LIST_INIT(ai_employers, list( /// CHecks if the given mob is in the mansus realm #define IS_IN_MANSUS(mob) (istype(get_area(mob), /area/centcom/heretic_sacrifice)) +/** + * Etc. + */ + +/// Checks if the given mob is a changeling +#define IS_CHANGELING(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/changeling)) + +/// Checks if the given mob is a nuclear operative +#define IS_NUKE_OP(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/nukeop)) + +//Tells whether or not someone is a space ninja +#define IS_SPACE_NINJA(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/ninja)) + /// Checks if the given mob is a wizard #define IS_WIZARD(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/wizard)) diff --git a/code/__DEFINES/apc_defines.dm b/code/__DEFINES/apc_defines.dm index ee6c2bb67d636..379da28592f88 100644 --- a/code/__DEFINES/apc_defines.dm +++ b/code/__DEFINES/apc_defines.dm @@ -14,10 +14,6 @@ /// The APCs cover is missing. #define APC_COVER_REMOVED 2 -// APC visuals -/// Pixel offset of the APC from the floor turf -#define APC_PIXEL_OFFSET 25 - // APC charging status: /// The APC is not charging. #define APC_NOT_CHARGING 0 @@ -64,7 +60,8 @@ /// The wire value used to reset the APCs wires after one's EMPed. #define APC_RESET_EMP "emp" -// update_state +// update_overlay + // Bitshifts: (If you change the status values to be something other than an int or able to exceed 3 you will need to change these too) /// The bit shift for the APCs cover status. #define UPSTATE_COVER_SHIFT (0) @@ -73,36 +70,38 @@ /// The bitflag representing the APCs cover being missing for icon purposes. #define UPSTATE_OPENED2 (APC_COVER_REMOVED << UPSTATE_COVER_SHIFT) +//These need to be greated then the largest shift you're using for the other bitflags +/// Bit shift for the charging status of the APC. +#define UPOVERLAY_CHARGING_SHIFT (12) +/// Bit shift for the equipment status of the APC. +#define UPOVERLAY_EQUIPMENT_SHIFT (14) +/// Bit shift for the lighting channel status of the APC. +#define UPOVERLAY_LIGHTING_SHIFT (16) +/// Bit shift for the environment channel status of the APC. +#define UPOVERLAY_ENVIRON_SHIFT (18) + // Bitflags: +/// Bitflag indicating that the APCs operating status overlay should be shown. +#define UPOVERLAY_OPERATING (1<<2) +/// Bitflag indicating that the APCs locked status overlay should be shown. +#define UPOVERLAY_LOCKED (1<<3) /// The APC has a power cell. -#define UPSTATE_CELL_IN (1<<2) +#define UPSTATE_CELL_IN (1<<4) /// The APC is broken or damaged. -#define UPSTATE_BROKE (1<<3) +#define UPSTATE_BROKE (1<<5) /// The APC is undergoing maintenance. -#define UPSTATE_MAINT (1<<4) +#define UPSTATE_MAINT (1<<6) /// The APCs wires are exposed. -#define UPSTATE_WIREEXP (1<<5) - -// update_overlay -// Bitflags: -/// Bitflag indicating that the APCs operating status overlay should be shown. -#define UPOVERLAY_OPERATING (1<<0) -/// Bitflag indicating that the APCs locked status overlay should be shown. -#define UPOVERLAY_LOCKED (1<<1) - -// Bitshifts: (If you change the status values to be something other than an int or able to exceed 3 you will need to change these too) -/// Bit shift for the charging status of the APC. -#define UPOVERLAY_CHARGING_SHIFT (2) -/// Bit shift for the equipment status of the APC. -#define UPOVERLAY_EQUIPMENT_SHIFT (4) -/// Bit shift for the lighting channel status of the APC. -#define UPOVERLAY_LIGHTING_SHIFT (6) -/// Bit shift for the environment channel status of the APC. -#define UPOVERLAY_ENVIRON_SHIFT (8) +#define UPSTATE_WIREEXP (1<<7) +/// The APC has a terminal deployed +#define UPOVERLAY_TERMINAL (1<<8) +/// The APC has its electronics inserted +#define UPOVERLAY_ELECTRONICS_INSERT (1<<9) +/// The APC has its electronics fastened +#define UPOVERLAY_ELECTRONICS_FASTENED (1<<10) #define APC_AI_NO_MALF 0 #define APC_AI_NO_HACK 1 #define APC_AI_HACK_NO_SHUNT 2 #define APC_AI_HACK_SHUNT_HERE 3 #define APC_AI_HACK_SHUNT_ANOTHER 4 - diff --git a/code/__DEFINES/art.dm b/code/__DEFINES/art.dm index b6e9b885d9132..2f6fd95523148 100644 --- a/code/__DEFINES/art.dm +++ b/code/__DEFINES/art.dm @@ -14,3 +14,16 @@ #define CRAYON_COST_SMALL 0.5 #define CRAYON_COST_DEFAULT 1 #define CRAYON_COST_LARGE 5 + +/** + * Patronage thresholds for paintings. + * Different cosmetic frames become available as more credits are spent on the patronage. + * These also influence the artistic value (read: positive moodlets) of a painting. + */ +#define PATRONAGE_OK_FRAME (PAYCHECK_CREW * 3) // 150 credits, as of march 2022 +#define PATRONAGE_NICE_FRAME (PATRONAGE_OK_FRAME * 2.5) +#define PATRONAGE_GREAT_FRAME (PATRONAGE_NICE_FRAME * 2) +#define PATRONAGE_EXCELLENT_FRAME (PATRONAGE_GREAT_FRAME * 2) +#define PATRONAGE_AMAZING_FRAME (PATRONAGE_EXCELLENT_FRAME * 2) +#define PATRONAGE_SUPERB_FRAME (PATRONAGE_AMAZING_FRAME * 2) +#define PATRONAGE_LEGENDARY_FRAME (PATRONAGE_SUPERB_FRAME * 2) diff --git a/code/__DEFINES/atmospherics/atmos_helpers.dm b/code/__DEFINES/atmospherics/atmos_helpers.dm index ca32e4859809b..09ceb93fb6d26 100644 --- a/code/__DEFINES/atmospherics/atmos_helpers.dm +++ b/code/__DEFINES/atmospherics/atmos_helpers.dm @@ -50,7 +50,9 @@ GLOBAL_LIST_INIT(nonoverlaying_gases, typecache_of_gases_with_no_overlays()) ///Returns a list of overlays of every gas in the mixture -#define GAS_OVERLAYS(gases, out_var, z_layer_turf)\ +///Duplicate of code logic of update_visuals(), keep both up to date +///Macro in case it ever needs to be used in hotcode +#define GAS_OVERLAYS(gases, out_var, z_layer_turf, junction)\ do { \ out_var = list();\ var/offset = GET_TURF_PLANE_OFFSET(z_layer_turf) + 1;\ @@ -60,7 +62,7 @@ GLOBAL_LIST_INIT(nonoverlaying_gases, typecache_of_gases_with_no_overlays()) var/_GAS_META = _GAS[GAS_META];\ if(_GAS[MOLES] <= _GAS_META[META_GAS_MOLES_VISIBLE]) continue;\ var/_GAS_OVERLAY = _GAS_META[META_GAS_OVERLAY][offset];\ - out_var += _GAS_OVERLAY[min(TOTAL_VISIBLE_STATES, CEILING(_GAS[MOLES] / MOLES_GAS_VISIBLE_STEP, 1))];\ + out_var += _GAS_OVERLAY[min(TOTAL_VISIBLE_STATES, CEILING(_GAS[MOLES] / MOLES_GAS_VISIBLE_STEP, 1))][junction + 1];\ } \ }\ while (FALSE) diff --git a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm index dbd8bbc5610b0..75dcebc72d963 100644 --- a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm +++ b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm @@ -64,13 +64,13 @@ /// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. #define BODYTEMP_HEATING_MAX 30 /// The body temperature limit the human body can take before it starts taking damage from heat. -/// This also affects how fast the body normalises it's temperature when hot. +/// This also affects how fast the body normalises its temperature when hot. /// 340k is about 66c, and rather high for a human. #define BODYTEMP_HEAT_DAMAGE_LIMIT (BODYTEMP_NORMAL + 30) /// A temperature limit which is above the maximum lavaland temperature #define BODYTEMP_HEAT_LAVALAND_SAFE (LAVALAND_MAX_TEMPERATURE + 5) /// The body temperature limit the human body can take before it starts taking damage from cold. -/// This also affects how fast the body normalises it's temperature when cold. +/// This also affects how fast the body normalises its temperature when cold. /// 270k is about -3c, that is below freezing and would hurt over time. #define BODYTEMP_COLD_DAMAGE_LIMIT (BODYTEMP_NORMAL - 40) /// A temperature limit which is above the minimum icebox temperature diff --git a/code/__DEFINES/atmospherics/atmos_piping.dm b/code/__DEFINES/atmospherics/atmos_piping.dm index 3870a7aed34ac..521dbd02579ec 100644 --- a/code/__DEFINES/atmospherics/atmos_piping.dm +++ b/code/__DEFINES/atmospherics/atmos_piping.dm @@ -91,6 +91,8 @@ #define PIPING_ALL_COLORS (1<<4) /// can bridge over pipenets #define PIPING_BRIDGE (1<<5) +/// intended to connect with layers 2 and 4 only +#define PIPING_DISTRO_AND_WASTE_LAYERS (1<<6) // Ventcrawling bitflags, handled in var/vent_movement ///Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 86de96f07a1d1..1af3003bb8577 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -58,8 +58,8 @@ #define DATA_HUD_SECURITY_ADVANCED 2 #define DATA_HUD_MEDICAL_BASIC 3 #define DATA_HUD_MEDICAL_ADVANCED 4 -#define DATA_HUD_DIAGNOSTIC_BASIC 5 -#define DATA_HUD_DIAGNOSTIC_ADVANCED 6 +#define DATA_HUD_DIAGNOSTIC 5 +#define DATA_HUD_BOT_PATH 6 #define DATA_HUD_ABDUCTOR 7 #define DATA_HUD_SENTIENT_DISEASE 8 #define DATA_HUD_AI_DETECT 9 diff --git a/code/__DEFINES/basic_mobs.dm b/code/__DEFINES/basic_mobs.dm index ae74872cd7302..e519fb25240be 100644 --- a/code/__DEFINES/basic_mobs.dm +++ b/code/__DEFINES/basic_mobs.dm @@ -70,5 +70,3 @@ GLOBAL_VAR_INIT(gutlunch_count, 0) #define BB_RAPTOR_TROUGH_TARGET "raptor_trough_target" #define MAX_RAPTOR_POP 64 - - diff --git a/code/__DEFINES/bodyparts.dm b/code/__DEFINES/bodyparts.dm index 8afda278a418b..18d0a3c7cb87c 100644 --- a/code/__DEFINES/bodyparts.dm +++ b/code/__DEFINES/bodyparts.dm @@ -16,7 +16,7 @@ #define LIMB_MAX_HP_ALIEN_CORE 500 //Used by xenomorph chests and heads /// Limb Body Damage Coefficient -/// A mutiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing. +/// A multiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing. /// For instance, if a limb has 50 damage, and has a coefficient of 50%, the human is considered to have suffered 25 damage to their total health. #define LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCED 0.5 //Used by advanced robotic limbs. diff --git a/code/__DEFINES/cargo.dm b/code/__DEFINES/cargo.dm index 1d34ed6b3cff8..d136f35a69ffb 100644 --- a/code/__DEFINES/cargo.dm +++ b/code/__DEFINES/cargo.dm @@ -1,33 +1,9 @@ -#define STYLE_STANDARD 1 -#define STYLE_BLUESPACE 2 -#define STYLE_CENTCOM 3 -#define STYLE_SYNDICATE 4 -#define STYLE_BLUE 5 -#define STYLE_CULT 6 -#define STYLE_MISSILE 7 -#define STYLE_RED_MISSILE 8 -#define STYLE_BOX 9 -#define STYLE_HONK 10 -#define STYLE_FRUIT 11 -#define STYLE_INVISIBLE 12 -#define STYLE_GONDOLA 13 -#define STYLE_SEETHROUGH 14 - -#define POD_SHAPE 1 -#define POD_BASE 2 -#define POD_DOOR 3 -#define POD_DECAL 4 -#define POD_GLOW 5 -#define POD_RUBBLE_TYPE 6 -#define POD_NAME 7 -#define POD_DESC 8 - #define RUBBLE_NONE 1 #define RUBBLE_NORMAL 2 #define RUBBLE_WIDE 3 #define RUBBLE_THIN 4 -#define POD_SHAPE_NORML 1 +#define POD_SHAPE_NORMAL 1 #define POD_SHAPE_OTHER 2 #define POD_TRANSIT "1" diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index 72159bde0540e..5a95d4f77d7d2 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -435,3 +435,8 @@ GLOBAL_LIST_INIT(cable_colors, list( )) #define HUSK_COLOR_TONE rgb(96, 88, 80) + +#define CM_COLOR_SAT_MIN 0.6 +#define CM_COLOR_SAT_MAX 0.7 +#define CM_COLOR_LUM_MIN 0.65 +#define CM_COLOR_LUM_MAX 0.75 diff --git a/code/__DEFINES/construction/rcd.dm b/code/__DEFINES/construction/rcd.dm index 95c5ab8005323..477840d3f49e9 100644 --- a/code/__DEFINES/construction/rcd.dm +++ b/code/__DEFINES/construction/rcd.dm @@ -16,6 +16,9 @@ /// The typepath of the structure the rcd is trying to build #define RCD_DESIGN_PATH "rcd_design_path" +/// The direction of the structure we will build +#define RCD_BUILD_DIRECTION "rcd_build_direction" + /// Time taken for an rcd hologram to disappear #define RCD_HOLOGRAM_FADE_TIME (15 SECONDS) @@ -51,3 +54,6 @@ #define RCD_MEMORY_COST_BUFF 8 /// If set to TRUE in rcd_vals, will bypass the cooldown on slowing down frequent use #define RCD_RESULT_BYPASS_FREQUENT_USE_COOLDOWN "bypass_frequent_use_cooldown" + +/// gets the cached icon key for this atom based on its name or if it exists its override key +#define RCD_SPRITESHEET_PATH_KEY(atom_path_or_instance) (initial(atom_path_or_instance.rcd_spritesheet_override) || initial(atom_path_or_instance.name)) diff --git a/code/__DEFINES/construction/structures.dm b/code/__DEFINES/construction/structures.dm index e48dc078ca4bc..884b7d28ae5f0 100644 --- a/code/__DEFINES/construction/structures.dm +++ b/code/__DEFINES/construction/structures.dm @@ -17,13 +17,13 @@ #define GIRDER_TRAM 5 //rwall construction states -#define INTACT 0 -#define SUPPORT_LINES 1 -#define COVER 2 -#define CUT_COVER 3 -#define ANCHOR_BOLTS 4 -#define SUPPORT_RODS 5 -#define SHEATH 6 +#define INTACT "intact" +#define SUPPORT_LINES "support_lines" +#define COVER "cover" +#define CUT_COVER "cut_cover" +#define ANCHOR_BOLTS "anchor_bolts" +#define SUPPORT_RODS "support_rods" +#define SHEATH "sheath" //window construction states #define WINDOW_OUT_OF_FRAME 0 @@ -38,6 +38,9 @@ #define RWINDOW_BOLTS_HEATED 7 #define RWINDOW_SECURE 8 +#define WINDOW_ON_FRAME_Y_OFFSET 0 +#define WINDOW_OFF_FRAME_Y_OFFSET -7 + //tram structure construction states #define TRAM_OUT_OF_FRAME 0 #define TRAM_IN_FRAME 1 diff --git a/code/__DEFINES/cult.dm b/code/__DEFINES/cult.dm index 005b0ca27eef8..4f77e2966ca39 100644 --- a/code/__DEFINES/cult.dm +++ b/code/__DEFINES/cult.dm @@ -58,5 +58,5 @@ GLOBAL_LIST(sacrificed) // Used to keep track of items rewarded after a heretic is sacked. #define CURSED_BLADE_UNLOCKED "Cursed Blade" -#define CRIMSON_FOCUS_UNLOCKED "Crimson Focus" +#define CRIMSON_MEDALLION_UNLOCKED "Crimson Medallion" #define PROTEON_ORB_UNLOCKED "Proteon Orb" diff --git a/code/__DEFINES/dcs/flags.dm b/code/__DEFINES/dcs/flags.dm index 9b181e226a9c8..950a37d3c43c8 100644 --- a/code/__DEFINES/dcs/flags.dm +++ b/code/__DEFINES/dcs/flags.dm @@ -30,7 +30,7 @@ #define ELEMENT_DONT_SORT_LIST_ARGS (1<<3) /** * Elements with this flag will be ignored by the dcs_check_list_arguments test. - * A good example is connect_loc, for which it's pratically undoable unless we force every signal proc to have a different name. + * A good example is connect_loc, for which it's practically undoable unless we force every signal proc to have a different name. */ #define ELEMENT_NO_LIST_UNIT_TEST (1<<4) diff --git a/code/__DEFINES/dcs/helpers.dm b/code/__DEFINES/dcs/helpers.dm index df6acffd761a8..01abfac80d4d5 100644 --- a/code/__DEFINES/dcs/helpers.dm +++ b/code/__DEFINES/dcs/helpers.dm @@ -1,5 +1,5 @@ /// Used to trigger signals and call procs registered for that signal -/// The datum hosting the signal is automaticaly added as the first argument +/// The datum hosting the signal is automatically added as the first argument /// Returns a bitfield gathered from all registered procs /// Arguments given here are packaged in a list and given to _SendSignal #define SEND_SIGNAL(target, sigtype, arguments...) ( !target._listen_lookup?[sigtype] ? NONE : target._SendSignal(sigtype, list(target, ##arguments)) ) diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm index c612d174ac354..1c3c09acea2fc 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm @@ -51,6 +51,8 @@ #define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays" ///from base of [/atom/update_icon]: (signalOut, did_anything) #define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon" +///from base of atom/set_smoothed_icon_state(): (new_junction) +#define COMSIG_ATOM_SET_SMOOTHED_ICON_STATE "set_smoothed_icon_state" ///from base of [/atom/proc/smooth_icon]: () #define COMSIG_ATOM_SMOOTHED_ICON "atom_smoothed_icon" ///from [/datum/controller/subsystem/processing/dcs/proc/rotate_decals]: (list/datum/element/decal/rotating) @@ -68,7 +70,7 @@ #define COMSIG_ATOM_EXITED "atom_exited" ///from base of atom/movable/Moved(): (atom/movable/gone, direction) #define COMSIG_ATOM_ABSTRACT_EXITED "atom_abstract_exited" -///from base of atom/Bumped(): (/atom/movable) +///from base of atom/Bumped(): (/atom/movable) (the one that gets bumped) #define COMSIG_ATOM_BUMPED "atom_bumped" ///from base of atom/has_gravity(): (turf/location, list/forced_gravities) #define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity" @@ -86,9 +88,15 @@ #define COMPONENT_BLOCK_TELEPORT (1<<0) ///called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers) #define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" -///called when an atom starts orbiting another atom: (atom) + +/// fired by the orbiting atom when an atom starts orbiting another atom +#define COMSIG_ATOM_BEGAN_ORBITING "atom_orbiting_began" +/// fired by the orbiting atom when an atom stops orbiting another atom +#define COMSIG_ATOM_STOPPED_ORBITING "atom_orbiting_stopped" + +/// fired by the orbited atom when an atom starts orbiting another atom: (atom) #define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin" -///called when an atom stops orbiting another atom: (atom) +/// fired by the orbited atom when an atom stops orbiting another atom: (atom) #define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop" ///from base of atom/set_opacity(): (new_opacity) #define COMSIG_ATOM_SET_OPACITY "atom_set_opacity" @@ -140,3 +148,6 @@ /// From /obj/effect/particle_effect/sparks/proc/sparks_touched(datum/source, atom/movable/singed) #define COMSIG_ATOM_TOUCHED_SPARKS "atom_touched_sparks" #define COMSIG_ATOM_TOUCHED_HAZARDOUS_SPARKS "atom_touched_hazardous_sparks" + +/// From whoever has been revealed (atom/revealed) +#define COMSIG_ATOM_REVEAL "atom_reveal" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm index bc73dbf32914a..0e6578d6e9a12 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm @@ -9,10 +9,12 @@ #define COMSIG_MOVABLE_MOVED "movable_moved" ///from base of atom/movable/Cross(): (/atom/movable) #define COMSIG_MOVABLE_CROSS "movable_cross" + #define COMPONENT_BLOCK_CROSS (1<<0) ///from base of atom/movable/Move(): (/atom/movable) #define COMSIG_MOVABLE_CROSS_OVER "movable_cross_am" ///from base of atom/movable/Bump(): (/atom) #define COMSIG_MOVABLE_BUMP "movable_bump" + #define COMPONENT_INTERCEPT_BUMPED (1<<0) ///from base of atom/movable/newtonian_move(): (inertia_direction, start_delay) #define COMSIG_MOVABLE_NEWTONIAN_MOVE "movable_newtonian_move" #define COMPONENT_MOVABLE_NEWTONIAN_BLOCK (1<<0) @@ -72,7 +74,7 @@ #define COMSIG_MOVABLE_DISPOSING "movable_disposing" // called when movable is expelled from a disposal pipe, bin or outlet on obj/pipe_eject: (direction) #define COMSIG_MOVABLE_PIPE_EJECTING "movable_pipe_ejecting" -///called when the movable sucessfully has it's anchored var changed, from base atom/movable/set_anchored(): (value) +///called when the movable sucessfully has its anchored var changed, from base atom/movable/set_anchored(): (value) #define COMSIG_MOVABLE_SET_ANCHORED "movable_set_anchored" ///from base of atom/movable/setGrabState(): (newstate) #define COMSIG_MOVABLE_SET_GRAB_STATE "living_set_grab_state" @@ -117,9 +119,13 @@ /// From base of area/Exited(): (area/left, direction) #define COMSIG_MOVABLE_EXITED_AREA "movable_exited_area" +///from base of /atom/movable/point_at: (atom/A, obj/effect/temp_visual/point/point) +#define COMSIG_MOVABLE_POINTED "movable_pointed" + /// Sent to movables when they are being stolen by a spy: (mob/living/spy, datum/spy_bounty/bounty) #define COMSIG_MOVABLE_SPY_STEALING "movable_spy_stealing" /// Called when something is pushed by a living mob bumping it: (mob/living/pusher, push force) #define COMSIG_MOVABLE_BUMP_PUSHED "movable_bump_pushed" /// Stop it from moving #define COMPONENT_NO_PUSH (1<<0) + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm index 5836a0be65a39..91155264bd534 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm @@ -19,7 +19,12 @@ #define COMSIG_ATOM_START_PULL "movable_start_pull" /// called on /atom when something attempts to pass through it (atom/movable/source, atom/movable/passing, dir) #define COMSIG_ATOM_TRIED_PASS "atom_tried_pass" - #define COMSIG_COMPONENT_PERMIT_PASSAGE (1 << 0) +/// called on /movable when something attempts to pass through it (atom/movable/source, atom/movable/passing, dir) AND WHEN general_movement = FALSE for some fucking reason +#define COMSIG_MOVABLE_CAN_PASS_THROUGH "movable_can_pass_through" +/// If given, we permit passage through +#define COMSIG_COMPONENT_PERMIT_PASSAGE (1 << 0) +/// If given, we DONT permit passage through +#define COMSIG_COMPONENT_REFUSE_PASSAGE (1 << 1) ///called on /living when someone starts pulling (atom/movable/pulled, state, force) #define COMSIG_LIVING_START_PULL "living_start_pull" ///called on /living when someone is pulled (mob/living/puller) @@ -63,3 +68,6 @@ #define COMSIG_ATOM_BLOCKS_PRESSURE (1<<0) ///From base of /datum/move_loop/process() after attempting to move a movable: (datum/move_loop/loop, old_dir) #define COMSIG_MOVABLE_MOVED_FROM_LOOP "movable_moved_from_loop" +///From base of /atom/proc/CanAllowThrough(atom/movable/mover, border_dir): (atom/movable/mover, border_dir) +#define COMSIG_ATOM_CAN_ALLOW_THROUGH "atom_can_allow_through" + #define COMSIG_FORCE_ALLOW_THROUGH (1<<0) diff --git a/code/__DEFINES/dcs/signals/signals_clothing.dm b/code/__DEFINES/dcs/signals/signals_clothing.dm index 03b695aca4c3e..eeb40ade8aae5 100644 --- a/code/__DEFINES/dcs/signals/signals_clothing.dm +++ b/code/__DEFINES/dcs/signals/signals_clothing.dm @@ -1,5 +1,5 @@ // /obj/item/clothing -/// (/obj/item/clothing, visor_state) - When a clothing gets it's visor toggled. +/// (/obj/item/clothing, visor_state) - When a clothing gets its visor toggled. #define COMSIG_CLOTHING_VISOR_TOGGLE "clothing_visor_toggle" /// From an undersuit being adjusted: () #define COMSIG_CLOTHING_UNDER_ADJUSTED "clothing_under_adjusted" diff --git a/code/__DEFINES/dcs/signals/signals_datum.dm b/code/__DEFINES/dcs/signals/signals_datum.dm index 0c998be19219f..81224e7a58d81 100644 --- a/code/__DEFINES/dcs/signals/signals_datum.dm +++ b/code/__DEFINES/dcs/signals/signals_datum.dm @@ -45,3 +45,6 @@ ///from /datum/bank_account/pay_debt(), after a portion or all the debt has been paid. #define COMSIG_BANK_ACCOUNT_DEBT_PAID "bank_account_debt_paid" + +///from /datum/component/on_hit_effect/send_signal(): (user, target, hit_zone) +#define COMSIG_ON_HIT_EFFECT "comsig_on_hit_effect" diff --git a/code/__DEFINES/dcs/signals/signals_door.dm b/code/__DEFINES/dcs/signals/signals_door.dm new file mode 100644 index 0000000000000..9da0d8986b177 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_door.dm @@ -0,0 +1,6 @@ +/// sent from base of /obj/machinery/door/proc/(): () +#define COSMIG_DOOR_OPENING "door_opening" + +/// sent from base of /obj/machinery/door/proc/close(): () +#define COSMIG_DOOR_CLOSING "door_closing" + diff --git a/code/__DEFINES/dcs/signals/signals_fish.dm b/code/__DEFINES/dcs/signals/signals_fish.dm index 5b01bd7d61299..7980aa7ca1e98 100644 --- a/code/__DEFINES/dcs/signals/signals_fish.dm +++ b/code/__DEFINES/dcs/signals/signals_fish.dm @@ -17,15 +17,23 @@ #define COMSIG_FISH_EATEN_BY_OTHER_FISH "fish_eaten_by_other_fish" ///From /obj/item/fish/feed: (fed_reagents, fed_reagent_type) #define COMSIG_FISH_FED "fish_on_fed" +///From /obj/item/fish/update_size_and_weight: (new_size, new_weight) +#define COMSIG_FISH_UPDATE_SIZE_AND_WEIGHT "fish_update_size_and_weight" +///From /obj/item/fish/update_fish_force: (weight_rank, bonus_malus) +#define COMSIG_FISH_FORCE_UPDATED "fish_force_updated" /// Fishing challenge completed #define COMSIG_FISHING_CHALLENGE_COMPLETED "fishing_completed" /// Sent to the fisherman when the reward is dispensed: (reward) -#define COMSIG_MOB_FISHING_REWARD_DISPENSED "mob_fishing_reward_dispensed" +#define COMSIG_FISH_SOURCE_REWARD_DISPENSED "mob_fish_source_reward_dispensed" /// Called when you try to use fishing rod on anything #define COMSIG_PRE_FISHING "pre_fishing" +/// Called when an ai-controlled mob interacts with the fishing spot +#define COMSIG_NPC_FISHING "npc_fishing" + #define NPC_FISHING_SPOT 1 + /// Sent by the target of the fishing rod cast #define COMSIG_FISHING_ROD_CAST "fishing_rod_cast" #define FISHING_ROD_CAST_HANDLED (1 << 0) @@ -42,3 +50,9 @@ /// From /obj/item/fish_analyzer/proc/analyze_status: (fish, user) #define COMSIG_FISH_ANALYZER_ANALYZE_STATUS "fish_analyzer_analyze_status" + +/// From /datum/component/fish_growth/on_fish_life: (seconds_per_tick) +#define COMSIG_FISH_BEFORE_GROWING "fish_before_growing" + #define COMPONENT_DONT_GROW (1 << 0) +/// From /datum/component/fish_growth/finish_growing: (result) +#define COMSIG_FISH_FINISH_GROWING "fish_finish_growing" diff --git a/code/__DEFINES/dcs/signals/signals_food.dm b/code/__DEFINES/dcs/signals/signals_food.dm index 36a8b7b3392cf..113826a448630 100644 --- a/code/__DEFINES/dcs/signals/signals_food.dm +++ b/code/__DEFINES/dcs/signals/signals_food.dm @@ -16,6 +16,9 @@ /// called when an edible ingredient is added: (datum/component/edible/ingredient) #define COMSIG_FOOD_INGREDIENT_ADDED "edible_ingredient_added" +/// from base of /datum/component/edible/get_recipe_complexity(): (list/extra_complexity) +#define COMSIG_FOOD_GET_EXTRA_COMPLEXITY "food_get_extra_complexity" + // Deep frying foods /// An item becomes fried - From /datum/element/fried_item/Attach: (fry_time) #define COMSIG_ITEM_FRIED "item_fried" @@ -31,6 +34,8 @@ #define COMPONENT_MICROWAVE_BAD_RECIPE (1<<1) ///called on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency) #define COMSIG_ITEM_MICROWAVE_COOKED "microwave_cooked" +///called on the ingredient through microwawing: (result) +#define COMSIG_ITEM_MICROWAVE_COOKED_FROM "item_microwave_cooked_from" // Grilling foods (griddle, grill, and bonfire) ///Called when an object is placed onto a griddle @@ -46,6 +51,9 @@ ///Called when an object is turned into another item through grilling ontop of a griddle #define COMSIG_ITEM_GRILLED "item_grill_completed" +///Called when the object is grilled by the grill (not to be confused by the griddle, but oh gee the two should be merged in one) +#define COMSIG_ITEM_BARBEQUE_GRILLED "item_barbeque_grilled" + // Baking foods (oven) //Called when an object is inserted into an oven (atom/oven, mob/baker) #define COMSIG_ITEM_OVEN_PLACED_IN "item_placed_in_oven" diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 5e9011f5f4075..8884d159e5914 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -57,7 +57,7 @@ #define COMSIG_GLOB_NEW_MACHINE "!new_machine" /// a client (re)connected, after all /client/New() checks have passed : (client/connected_client) #define COMSIG_GLOB_CLIENT_CONNECT "!client_connect" -/// a weather event of some kind occured +/// a weather event of some kind occured (all pass the datum/weather that changed state) #define COMSIG_WEATHER_TELEGRAPH(event_type) "!weather_telegraph [event_type]" #define COMSIG_WEATHER_START(event_type) "!weather_start [event_type]" #define COMSIG_WEATHER_WINDDOWN(event_type) "!weather_winddown [event_type]" diff --git a/code/__DEFINES/dcs/signals/signals_hud.dm b/code/__DEFINES/dcs/signals/signals_hud.dm index 2d5d3eaa59cc3..b141f7d8f576b 100644 --- a/code/__DEFINES/dcs/signals/signals_hud.dm +++ b/code/__DEFINES/dcs/signals/signals_hud.dm @@ -1,5 +1,7 @@ /// Sent from /datum/hud/proc/on_eye_change(): (atom/old_eye, atom/new_eye) #define COMSIG_HUD_EYE_CHANGED "hud_eye_changed" +/// Sent from /datum/hud/proc/eye_z_changed() : (new_z) +#define COMSIG_HUD_Z_CHANGED "hud_z_changed" /// Sent from /datum/hud/proc/eye_z_changed() : (old_offset, new_offset) #define COMSIG_HUD_OFFSET_CHANGED "hud_offset_changed" /// Sent from /atom/movable/screen/lobby/button/collapse/proc/collapse_buttons() : () diff --git a/code/__DEFINES/dcs/signals/signals_blackmarket.dm b/code/__DEFINES/dcs/signals/signals_market.dm similarity index 100% rename from code/__DEFINES/dcs/signals/signals_blackmarket.dm rename to code/__DEFINES/dcs/signals/signals_market.dm diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm index 051953bd7e508..2a936bbbbd94a 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm @@ -133,6 +133,10 @@ #define VISIBLE_NAME_FACE 1 //Index for the name of the id #define VISIBLE_NAME_ID 2 + //Index for whether their name is being overriden instead of obsfuscated + #define VISIBLE_NAME_FORCED 3 +///from /mob/living/carbon/human/get_id_name; only returns if the mob has TRAIT_UNKNOWN and it's being overriden: (identity) +#define COMSIG_HUMAN_GET_FORCED_NAME "human_get_forced_name" // Mob transformation signals ///Called when a human turns into a monkey, from /mob/living/carbon/proc/finish_monkeyize() diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm index 4c79c9ad8147d..8305b35695705 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm @@ -223,11 +223,6 @@ /// From /obj/effect/temp_visual/resonance/burst() : (mob/creator, mob/living/hit_living) #define COMSIG_LIVING_RESONATOR_BURST "living_resonator_burst" -/// From /obj/projectile/attempt_parry() : (obj/projectile/parried_projectile) -#define COMSIG_LIVING_PROJECTILE_PARRYING "living_projectile_parrying" - /// Return to allow the parry to happen - #define ALLOW_PARRY (1<<0) - /// From /obj/projectile/on_parry() : (obj/projectile/parried_projectile) #define COMSIG_LIVING_PROJECTILE_PARRIED "living_projectile_parried" /// Return to prevent the projectile from executing any code in on_parry() @@ -277,6 +272,9 @@ #define COMSIG_LIVING_GRAB "living_grab" // Return COMPONENT_CANCEL_ATTACK_CHAIN / COMPONENT_SKIP_ATTACK_CHAIN to stop the grab +///Called when living finish eat (/datum/component/edible/proc/On_Consume) +#define COMSIG_LIVING_FINISH_EAT "living_finish_eat" + /// From /datum/element/basic_eating/try_eating() #define COMSIG_MOB_PRE_EAT "mob_pre_eat" ///cancel eating attempt @@ -291,3 +289,10 @@ #define COMSIG_MOB_HAPPINESS_CHANGE "happiness_change" /// From /obj/item/melee/baton/baton_effect(): (datum/source, mob/living/user, /obj/item/melee/baton) #define COMSIG_MOB_BATONED "mob_batoned" + +/// Sent to the mob when their mind is slaved +#define COMSIG_MOB_ENSLAVED_TO "mob_enslaved_to" +/// From /obj/item/proc/attack_atom: (mob/living/attacker, atom/attacked) +#define COMSIG_LIVING_ATTACK_ATOM "living_attack_atom" +/// From /mob/living/proc/stop_leaning() +#define COMSIG_LIVING_STOPPED_LEANING "living_stopped_leaning" 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 8be5b1fdb64aa..5d33cd284dff3 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -138,6 +138,7 @@ #define SPEECH_FILTERPROOF 8 #define SPEECH_RANGE 9 #define SPEECH_SAYMODE 10 + #define SPEECH_MODS 11 ///from /mob/say_dead(): (mob/speaker, message) #define COMSIG_MOB_DEADSAY "mob_deadsay" @@ -150,8 +151,6 @@ /// from base of mob/swap_hand(): () /// Performed after the hands are swapped. #define COMSIG_MOB_SWAP_HANDS "mob_swap_hands" -///from base of /mob/verb/pointed: (atom/A) -#define COMSIG_MOB_POINTED "mob_pointed" ///Mob is trying to open the wires of a target [/atom], from /datum/wires/interactable(): (atom/target) #define COMSIG_TRY_WIRES_INTERACT "try_wires_interact" #define COMPONENT_CANT_INTERACT_WIRES (1<<0) @@ -243,5 +242,8 @@ /// from /mob/proc/slip(): (knockdown_amonut, obj/slipped_on, lube_flags [mobs.dm], paralyze, force_drop) #define COMSIG_MOB_SLIPPED "mob_slipped" +/// From the base of /datum/component/callouts/proc/callout_picker(mob/user, atom/clicked_atom): (datum/callout_option/callout, atom/target) +#define COMSIG_MOB_CREATED_CALLOUT "mob_created_callout" + /// from /mob/proc/key_down(): (key, client/client, full_key) #define COMSIG_MOB_KEYDOWN "mob_key_down" diff --git a/code/__DEFINES/dcs/signals/signals_object.dm b/code/__DEFINES/dcs/signals/signals_object.dm index d34de1e356792..72828cc891699 100644 --- a/code/__DEFINES/dcs/signals/signals_object.dm +++ b/code/__DEFINES/dcs/signals/signals_object.dm @@ -389,10 +389,16 @@ ///sent to targets during the process_hit proc of projectiles #define COMSIG_PROJECTILE_PREHIT "com_proj_prehit" #define PROJECTILE_INTERRUPT_HIT (1<<0) +///from /obj/projectile/pixel_move(): () +#define COMSIG_PROJECTILE_PIXEL_STEP "projectile_pixel_step" +///sent to self during the process_hit proc of projectiles +#define COMSIG_PROJECTILE_SELF_PREHIT "com_proj_prehit" ///from the base of /obj/projectile/Range(): () #define COMSIG_PROJECTILE_RANGE "projectile_range" ///from the base of /obj/projectile/on_range(): () #define COMSIG_PROJECTILE_RANGE_OUT "projectile_range_out" +///from the base of /obj/projectile/process(): () +#define COMSIG_PROJECTILE_BEFORE_MOVE "projectile_before_move" ///from [/obj/item/proc/tryEmbed] sent when trying to force an embed (mainly for projectiles and eating glass) #define COMSIG_EMBED_TRY_FORCE "item_try_embed" #define COMPONENT_EMBED_SUCCESS (1<<1) @@ -524,7 +530,10 @@ /// from /datum/component/dart_insert/on_reskin() #define COMSIG_DART_INSERT_PARENT_RESKINNED "dart_insert_parent_reskinned" +/// from /datum/element/undertile/hide() +#define COMSIG_UNDERTILE_UPDATED "undertile_updated" + /// Sent from /obj/item/update_weight_class(). (old_w_class, new_w_class) #define COMSIG_ITEM_WEIGHT_CLASS_CHANGED "item_weight_class_changed" -/// Sent from /obj/item/update_weight_class(), to it's loc. (obj/item/changed_item, old_w_class, new_w_class) +/// Sent from /obj/item/update_weight_class(), to its loc. (obj/item/changed_item, old_w_class, new_w_class) #define COMSIG_ATOM_CONTENTS_WEIGHT_CLASS_CHANGED "atom_contents_weight_class_changed" diff --git a/code/__DEFINES/dcs/signals/signals_plane_master_group.dm b/code/__DEFINES/dcs/signals/signals_plane_master_group.dm new file mode 100644 index 0000000000000..d27adb5f8c957 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_plane_master_group.dm @@ -0,0 +1,2 @@ +/// from /datum/plane_master_group/proc/set_hud(): (datum/hud/new_hud) +#define COMSIG_GROUP_HUD_CHANGED "group_hud_changed" diff --git a/code/__DEFINES/dcs/signals/signals_reagent.dm b/code/__DEFINES/dcs/signals/signals_reagent.dm index 5bb2c89d4ef33..367ec946361d0 100644 --- a/code/__DEFINES/dcs/signals/signals_reagent.dm +++ b/code/__DEFINES/dcs/signals/signals_reagent.dm @@ -53,8 +53,6 @@ #define COMSIG_REAGENTS_EXPOSE_MOB "reagents_expose_mob" ///from base of [/turf/proc/expose_reagents]: (/turf, /list, methods, volume_modifier, show_message) #define COMSIG_REAGENTS_EXPOSE_TURF "reagents_expose_turf" -///from base of [/datum/component/personal_crafting/proc/del_reqs]: () -#define COMSIG_REAGENTS_CRAFTING_PING "reagents_crafting_ping" /// sent when reagents are transfered from a cup, to something refillable (atom/transfer_to) #define COMSIG_REAGENTS_CUP_TRANSFER_TO "reagents_cup_transfer_to" /// sent when reagents are transfered from some reagent container, to a cup (atom/transfer_from) diff --git a/code/__DEFINES/dcs/signals/signals_spell.dm b/code/__DEFINES/dcs/signals/signals_spell.dm index 4502997438589..d9ef98527e25c 100644 --- a/code/__DEFINES/dcs/signals/signals_spell.dm +++ b/code/__DEFINES/dcs/signals/signals_spell.dm @@ -74,6 +74,10 @@ #define COMSIG_MOB_EJECTED_FROM_JAUNT "spell_mob_eject_jaunt" /// Sent from datum/action/cooldown/spell/jaunt/exit_jaunt, after the mob exited jaunt: (datum/action/cooldown/spell/spell) #define COMSIG_MOB_AFTER_EXIT_JAUNT "spell_mob_after_exit_jaunt" +/// Sent from /obj/effect/dummy/phased_mob/proc/phased_check when moving to the holder object: (/obj/effect/dummy/phased_mob, mob/living/phaser, turf/newloc) +#define COMSIG_MOB_PHASED_CHECK "mob_phased_check" + /// Return this to cancel the phased move + #define COMPONENT_BLOCK_PHASED_MOVE (1 << 0) /// Sent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/try_enter_jaunt, /// to any unconscious / critical mobs being dragged when the jaunter enters blood: diff --git a/code/__DEFINES/dcs/signals/signals_voidwalker.dm b/code/__DEFINES/dcs/signals/signals_voidwalker.dm new file mode 100644 index 0000000000000..013e6173d867c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_voidwalker.dm @@ -0,0 +1,2 @@ +/// Called from /datum/component/space_kidnap/succesful_kidnap() : (mob/living/carbon/human/voidwalker, mob/living/carbon/human/victim) +#define COMSIG_VOIDWALKER_SUCCESFUL_KIDNAP "voidwalker_succesful_kidnap" diff --git a/code/__DEFINES/directional.dm b/code/__DEFINES/directional.dm index 83d8ce01d0a87..42633215624af 100644 --- a/code/__DEFINES/directional.dm +++ b/code/__DEFINES/directional.dm @@ -28,14 +28,164 @@ /// Inverse direction, taking into account UP|DOWN if necessary. #define REVERSE_DIR(dir) ( ((dir & 85) << 1) | ((dir & 170) >> 1) ) +#define _WALL_MOUNT_OFFSET(path, north_offset, south_offset, physical_south_offset, east_offset, west_offset, horizontal_up_offset) \ +##path/wall_mount_offset(direction) { \ + pixel_x = 0; \ + pixel_z = 0; \ + pixel_y = 0; \ + switch(direction) { \ + if(NORTH) { \ + pixel_z = north_offset; \ + } \ + if(SOUTH) { \ + pixel_z = south_offset; \ + pixel_y = physical_south_offset; \ + } \ + if(EAST) { \ + pixel_x = east_offset; \ + pixel_z = horizontal_up_offset; \ + } \ + if(WEST) { \ + pixel_x = west_offset; \ + pixel_z = horizontal_up_offset; \ + } \ + } \ +} + +#define _INVERTED_WALL_MOUNT_OFFSET(path, north_offset, physical_north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) \ +_WALL_MOUNT_OFFSET(path, south_offset, north_offset, physical_north_offset, west_offset, east_offset, horizontal_up_offset) + +#define INVERT_MAPPING_DIRECTIONAL_HELPERS(path, offset) \ +##path/directional/north {\ + dir = SOUTH; \ + MAP_SWITCH(pixel_z, pixel_y) = offset; \ +} \ +##path/directional/south {\ + dir = NORTH; \ + MAP_SWITCH(pixel_z, pixel_y) = -offset; \ +} \ +##path/directional/east {\ + dir = WEST; \ + pixel_x = offset; \ +} \ +##path/directional/west {\ + dir = EAST; \ + pixel_x = -offset; \ +} \ +_INVERTED_WALL_MOUNT_OFFSET(path, offset, 0, -offset, offset, -offset, 0) + +/// Directional helpers for things that use the wall_mount element +#define WALL_MOUNT_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 35, 0, -8, 11, -11, 16) + +#define TELESCREEN_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 35, 0, -8, 11, -11, 16) \ +##path/table {\ + dir = SOUTH; \ + base_pixel_z = 10; \ + pixel_z = 10; \ +} \ +##path/table/wall_mount_offset(direction) { \ + return; \ +} + +#define SHOWER_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, -2, 0, 18, -16, 16, 12) + +// Sinks need to be shifted down so they layer correctly when north due to their unique status +#define SINK_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, -10, 0, 18, -16, 16, 12) + +#define _WALL_MOUNT_DIRECTIONAL_HELPERS(path, north_offset, physical_north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) \ +##path/directional/north {\ + dir = SOUTH; \ + MAP_SWITCH(pixel_z, pixel_y) = north_offset + physical_north_offset; \ +} \ +##path/directional/south {\ + dir = NORTH; \ + MAP_SWITCH(pixel_z, pixel_y) = south_offset; \ +} \ +##path/directional/east {\ + dir = WEST; \ + pixel_x = east_offset; \ + MAP_SWITCH(pixel_z, pixel_y) = horizontal_up_offset; \ +} \ +##path/directional/west {\ + dir = EAST; \ + pixel_x = west_offset; \ + MAP_SWITCH(pixel_z, pixel_y) = horizontal_up_offset; \ +} \ +_INVERTED_WALL_MOUNT_OFFSET(path, north_offset, physical_north_offset, south_offset, east_offset, west_offset, horizontal_up_offset) + +/// Directional helpers for cameras (cameras are really annoying) +/// They have diagonal dirs and also offset south differently +#define CAMERA_DIRECTIONAL_HELPERS(path) \ +##path/directional/north {\ + dir = SOUTH; \ + MAP_SWITCH(pixel_z, pixel_y) = 35; \ +} \ +##path/directional/south {\ + dir = NORTH; \ + MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/directional/east {\ + dir = WEST; \ + pixel_x = 11; \ + MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/directional/west {\ + dir = EAST; \ + pixel_x = -11; \ + MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/directional/north_east {\ + dir = NORTHWEST; \ + MAP_SWITCH(pixel_z, pixel_y) = 35; \ +} \ +##path/directional/north_west {\ + dir = NORTHEAST; \ + MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/directional/south_east {\ + dir = SOUTHWEST; \ + pixel_x = 11; \ + MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/directional/south_west {\ + dir = SOUTHEAST; \ + pixel_x = -11; \ + MAP_SWITCH(pixel_z, pixel_y) = 16; \ +} \ +##path/wall_mount_offset(direction) { \ + /* Exists because cameras have more then the normal dir count so we're doin this manually */ \ + /* Fit the usual offsets except SOUTH is different, because cameras want to jut out from the wall */ \ + /* Also cameras have weird offsets because lmao camera sprites dies */ \ + pixel_x = 0; \ + pixel_z = 0; \ + switch(direction) { \ + if(NORTH, NORTHWEST) { \ + pixel_z = 16; \ + } \ + if(SOUTH, NORTHEAST) { \ + pixel_z = 35; \ + } \ + if(EAST, SOUTHEAST) { \ + pixel_x = -11; \ + pixel_z = 16; \ + } \ + if(WEST, SOUTHWEST) { \ + pixel_x = 11; \ + pixel_z = 16; \ + } \ + } \ +} + /// Create directional subtypes for a path to simplify mapping. -#define MAPPING_DIRECTIONAL_HELPERS(path, offset) ##path/directional/north {\ + +#define MAPPING_DIRECTIONAL_HELPERS(path, offset) \ +##path/directional/north {\ dir = NORTH; \ - pixel_y = offset; \ + MAP_SWITCH(pixel_z, pixel_y) = offset; \ } \ ##path/directional/south {\ dir = SOUTH; \ - pixel_y = -offset; \ + MAP_SWITCH(pixel_z, pixel_y) = -offset; \ } \ ##path/directional/east {\ dir = EAST; \ @@ -44,4 +194,74 @@ ##path/directional/west {\ dir = WEST; \ pixel_x = -offset; \ -} +} \ +_WALL_MOUNT_OFFSET(path, offset, -offset, 0, offset, -offset, 0) + +#define MAPPING_DIRECTIONAL_HELPERS_EMPTY(path) \ +##path/directional/north {\ + dir = NORTH; \ +} \ +##path/directional/south {\ + dir = SOUTH; \ +} \ +##path/directional/east {\ + dir = EAST; \ +} \ +##path/directional/west {\ + dir = WEST; \ +} \ +_WALL_MOUNT_OFFSET(path, 0, 0, 0, 0, 0, 0) + +#define BUTTON_DIRECTIONAL_HELPERS(path) \ +##path/table { \ + on_table = TRUE; \ + icon_state = parent_type::icon_state + "_table"; \ + base_icon_state = parent_type::icon_state + "_table"; \ +} \ +WALL_MOUNT_DIRECTIONAL_HELPERS(path) + +#define SIGN_DIR_NORTH "n" +#define SIGN_DIR_SOUTH "s" +#define SIGN_DIR_EAST "e" +#define SIGN_DIR_WEST "w" +#define SIGN_DIR_NORTHEAST "ne" +#define SIGN_DIR_NORTHWEST "nw" +#define SIGN_DIR_SOUTHEAST "se" +#define SIGN_DIR_SOUTHWEST "sw" +#define SUPPORT_LEFT "left" +#define SUPPORT_RIGHT "right" + +/// Directional helpers that generate all arrow directions as well as subdivide sign directions. +#define DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(path) \ +##path/north_arrow {\ + sign_arrow_direction = SIGN_DIR_NORTH; \ +} \ +##path/south_arrow {\ + sign_arrow_direction = SIGN_DIR_SOUTH; \ +} \ +##path/east_arrow {\ + sign_arrow_direction = SIGN_DIR_EAST; \ +} \ +##path/west_arrow {\ + sign_arrow_direction = SIGN_DIR_WEST; \ +} \ +##path/northeast_arrow {\ + sign_arrow_direction = SIGN_DIR_NORTHEAST; \ +} \ +##path/northwest_arrow {\ + sign_arrow_direction = SIGN_DIR_NORTHWEST; \ +} \ +##path/southeast_arrow {\ + sign_arrow_direction = SIGN_DIR_SOUTHEAST; \ +} \ +##path/southwest_arrow {\ + sign_arrow_direction = SIGN_DIR_SOUTHWEST; \ +} \ +_WALL_MOUNT_DIRECTIONAL_HELPERS(path/north_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(path/south_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(path/east_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(##path/west_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(##path/northeast_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(##path/northwest_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(##path/southeast_arrow, 35, 0, 0, 0, 0, 16)\ +_WALL_MOUNT_DIRECTIONAL_HELPERS(##path/southwest_arrow, 35, 0, 0, 0, 0, 16) diff --git a/code/__DEFINES/filters.dm b/code/__DEFINES/filters.dm new file mode 100644 index 0000000000000..256c17f5e51b9 --- /dev/null +++ b/code/__DEFINES/filters.dm @@ -0,0 +1,4 @@ +///Floors inverse-masking frills. +#define FRILL_FLOOR_CUT "frill floor cut" + +#define FRILL_MOB_MASK "frill mob mask" diff --git a/code/__DEFINES/fish.dm b/code/__DEFINES/fish.dm index 36903049e895b..ec991b713ec6e 100644 --- a/code/__DEFINES/fish.dm +++ b/code/__DEFINES/fish.dm @@ -1,5 +1,7 @@ /// Use in fish tables to denote miss chance. #define FISHING_DUD "dud" +///Used in the the hydro tray fishing spot to define a random seed reward +#define FISHING_RANDOM_SEED "Random seed" // Baseline fishing difficulty levels #define FISHING_DEFAULT_DIFFICULTY 15 @@ -14,11 +16,6 @@ #define FISH_TRAIT_MINOR_DIFFICULTY_BOOST 5 -// These define how the fish will behave in the minigame -#define FISH_AI_DUMB "dumb" -#define FISH_AI_ZIPPY "zippy" -#define FISH_AI_SLOW "slow" - ///Slot defines for the fishing rod and its equipment #define ROD_SLOT_BAIT "bait" #define ROD_SLOT_LINE "line" @@ -90,6 +87,10 @@ #define FISH_ICON_CRAB "crab" #define FISH_ICON_JELLYFISH "jellyfish" #define FISH_ICON_BONE "bone" +#define FISH_ICON_ELECTRIC "electric" +#define FISH_ICON_WEAPON "weapon" +#define FISH_ICON_CRITTER "critter" +#define FISH_ICON_SEED "seed" #define AQUARIUM_ANIMATION_FISH_SWIM "fish" #define AQUARIUM_ANIMATION_FISH_DEAD "dead" @@ -110,8 +111,11 @@ ///Fish size thresholds for w_class. #define FISH_SIZE_TINY_MAX 30 #define FISH_SIZE_SMALL_MAX 50 -#define FISH_SIZE_NORMAL_MAX 90 -#define FISH_SIZE_BULKY_MAX 130 +#define FISH_SIZE_NORMAL_MAX 80 +#define FISH_SIZE_BULKY_MAX 120 +///size threshold for requiring two-handed carry +#define FISH_SIZE_TWO_HANDS_REQUIRED 135 +#define FISH_SIZE_HUGE_MAX 165 ///The coefficient for maximum weight/size divergence relative to the averages. #define MAX_FISH_DEVIATION_COEFF 2.5 @@ -121,6 +125,15 @@ ///The number of fillets is multiplied by the fish' size and divided by this. #define FISH_FILLET_NUMBER_SIZE_DIVISOR 30 +///The slowdown of the fish when carried begins at this value +#define FISH_WEIGHT_SLOWDOWN 2100 +///The value of the slowdown equals to the weight divided by this (and then at the power of a sub-1 exponent) +#define FISH_WEIGHT_SLOWDOWN_DIVISOR 500 +///The sub-one exponent that results in the final slowdown of the fish item +#define FISH_WEIGHT_SLOWDOWN_EXPONENT 0.54 +///Used to calculate the force of the fish by comparing (1 + log(weight/this_define)) and the w_class of the item. +#define FISH_WEIGHT_FORCE_DIVISOR 250 + ///The breeding timeout for newly instantiated fish is multiplied by this. #define NEW_FISH_BREEDING_TIMEOUT_MULT 2 ///The last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry. @@ -161,3 +174,10 @@ #define FISH_BEAUTY_GOOD 450 #define FISH_BEAUTY_GREAT 600 #define FISH_BEAUTY_EXCELLENT 700 + +//Fish breeding stops if fish count exceeds this. +#define AQUARIUM_MAX_BREEDING_POPULATION 20 + +//Minigame defines +/// The height of the minigame slider. Not in pixels, but minigame units. +#define FISHING_MINIGAME_AREA 1000 diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index 3787aeb4df7b9..c9b7cb43cf0d9 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -139,7 +139,7 @@ GLOBAL_LIST_INIT(food_quality_events, list( FOOD_QUALITY_TOP = /datum/mood_event/food/top, )) -/// Crafted food buffs grouped by crafting_complexity +/// Weighted lists of crafted food buffs randomly given according to crafting_complexity unless the food has a specific buff GLOBAL_LIST_INIT(food_buffs, list( FOOD_COMPLEXITY_1 = list( /datum/status_effect/food/haste = 1, @@ -152,11 +152,9 @@ GLOBAL_LIST_INIT(food_buffs, list( ), FOOD_COMPLEXITY_4 = list( /datum/status_effect/food/haste = 1, - /datum/status_effect/food/trait/shockimmune = 1, ), FOOD_COMPLEXITY_5 = list( /datum/status_effect/food/haste = 1, - /datum/status_effect/food/trait/shockimmune = 2, ), )) diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm index a853fde0c5dee..63e090d17d1d5 100644 --- a/code/__DEFINES/icon_smoothing.dm +++ b/code/__DEFINES/icon_smoothing.dm @@ -138,42 +138,48 @@ DEFINE_BITFIELD(smoothing_junction, list( #define SMOOTH_GROUP_BOSS_WALLS S_TURF(58) ///turf/closed/indestructible/riveted/boss #define SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS S_TURF(59) ///turf/closed/wall/mineral/titanium/survival #define SMOOTH_GROUP_TURF_OPEN_CLIFF S_TURF(60) ///turf/open/cliff +#define SMOOTH_GROUP_HIEROPHANT S_TURF(61) ///turf/open/indestructible/hierophant -#define MAX_S_TURF 60 //Always match this value with the one above it. +#define MAX_S_TURF 61 //Always match this value with the one above it. #define S_OBJ(num) ("-" + #num + ",") /* /obj included */ -#define SMOOTH_GROUP_WALLS S_OBJ(1) ///turf/closed/wall, /obj/structure/falsewall -#define SMOOTH_GROUP_URANIUM_WALLS S_OBJ(2) ///turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium -#define SMOOTH_GROUP_GOLD_WALLS S_OBJ(3) ///turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold -#define SMOOTH_GROUP_SILVER_WALLS S_OBJ(4) ///turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver -#define SMOOTH_GROUP_DIAMOND_WALLS S_OBJ(5) ///turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond -#define SMOOTH_GROUP_PLASMA_WALLS S_OBJ(6) ///turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma -#define SMOOTH_GROUP_BANANIUM_WALLS S_OBJ(7) ///turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium -#define SMOOTH_GROUP_SANDSTONE_WALLS S_OBJ(8) ///turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone -#define SMOOTH_GROUP_WOOD_WALLS S_OBJ(9) ///turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood -#define SMOOTH_GROUP_IRON_WALLS S_OBJ(10) ///turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron -#define SMOOTH_GROUP_ABDUCTOR_WALLS S_OBJ(11) ///turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor -#define SMOOTH_GROUP_TITANIUM_WALLS S_OBJ(12) ///turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium +/// Applied to anything that acts like a tall wall, helps vis_opacity work properly +#define SMOOTH_GROUP_TALL_WALLS S_OBJ(1) +#define SMOOTH_GROUP_WALLS S_OBJ(2) ///turf/closed/wall, /obj/structure/falsewall +#define SMOOTH_GROUP_URANIUM_WALLS S_OBJ(3) ///turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium +#define SMOOTH_GROUP_GOLD_WALLS S_OBJ(4) ///turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold +#define SMOOTH_GROUP_SILVER_WALLS S_OBJ(5) ///turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver +#define SMOOTH_GROUP_DIAMOND_WALLS S_OBJ(6) ///turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond +#define SMOOTH_GROUP_PLASMA_WALLS S_OBJ(7) ///turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma +#define SMOOTH_GROUP_BANANIUM_WALLS S_OBJ(8) ///turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium +#define SMOOTH_GROUP_SANDSTONE_WALLS S_OBJ(9) ///turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone +#define SMOOTH_GROUP_WOOD_WALLS S_OBJ(10) ///turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood +#define SMOOTH_GROUP_IRON_WALLS S_OBJ(11) ///turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron +#define SMOOTH_GROUP_ABDUCTOR_WALLS S_OBJ(12) ///turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor +#define SMOOTH_GROUP_TITANIUM_WALLS S_OBJ(13) ///turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium #define SMOOTH_GROUP_PLASTITANIUM_WALLS S_OBJ(14) ///turf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium #define SMOOTH_GROUP_SURVIVAL_TITANIUM_POD S_OBJ(15) ///turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod #define SMOOTH_GROUP_HIERO_WALL S_OBJ(16) ///obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall -#define SMOOTH_GROUP_BAMBOO_WALLS S_TURF(17) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo] -#define SMOOTH_GROUP_PLASTINUM_WALLS S_TURF(18) //![turf/closed/indestructible/riveted/plastinum] +#define SMOOTH_GROUP_BAMBOO_WALLS S_OBJ(17) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo] +#define SMOOTH_GROUP_MEAT_WALLS S_OBJ(18) //![/turf/closed/wall/mineral/meat, /obj/structure/falsewall/meat] +#define SMOOTH_GROUP_PLASTINUM_WALLS S_OBJ(19) //![turf/closed/indestructible/riveted/plastinum] +#define SMOOTH_GROUP_PIZZA_WALLS S_OBJ(20) ///turf/closed/wall/mineral/pizza, /obj/structure/falsewall/pizza (wallening todo: these don't exist) +#define SMOOTH_GROUP_CLOCK_WALLS S_OBJ(21) ///turf/closed/wall/mineral/bronze +#define SMOOTH_GROUP_SNOW_WALLS S_OBJ(22) ///turf/closed/wall/mineral/snow -#define SMOOTH_GROUP_PAPERFRAME S_OBJ(21) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe +#define SMOOTH_GROUP_PAPERFRAME S_OBJ(23) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe -#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(22) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile -#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(23) ///obj/structure/window/bronze/fulltile -#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(24) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium -#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(25) ///obj/structure/window/reinforced/shuttle +#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(24) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile +#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(25) ///obj/structure/window/bronze/fulltile +#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(26) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium +#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(27) ///obj/structure/window/reinforced/shuttle +#define SMOOTH_GROUP_WINDOW_FRAMES S_OBJ(28) ///obj/structure/window_frame #define SMOOTH_GROUP_LATTICE S_OBJ(31) ///obj/structure/lattice #define SMOOTH_GROUP_CATWALK S_OBJ(32) ///obj/structure/lattice/catwalk -#define SMOOTH_GROUP_AIRLOCK S_OBJ(41) ///obj/machinery/door/airlock - #define SMOOTH_GROUP_INDUSTRIAL_LIFT S_OBJ(46) ///obj/structure/transport/linear #define SMOOTH_GROUP_TRAM_STRUCTURE S_OBJ(47) //obj/structure/tram @@ -185,26 +191,32 @@ DEFINE_BITFIELD(smoothing_junction, list( #define SMOOTH_GROUP_GLASS_TABLES S_OBJ(56) ///obj/structure/table/glass #define SMOOTH_GROUP_ALIEN_NEST S_OBJ(60) ///obj/structure/bed/nest -#define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(61) ///obj/structure/alien/resin -#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(62) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane -#define SMOOTH_GROUP_ALIEN_WEEDS S_OBJ(63) ///obj/structure/alien/weeds - -#define SMOOTH_GROUP_SECURITY_BARRICADE S_OBJ(64) ///obj/structure/barricade/security -#define SMOOTH_GROUP_SANDBAGS S_OBJ(65) ///obj/structure/barricade/sandbags +#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(61) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane +#define SMOOTH_GROUP_ALIEN_WEEDS S_OBJ(62) ///obj/structure/alien/weeds -#define SMOOTH_GROUP_HEDGE_FLUFF S_OBJ(66) ///obj/structure/hedge +#define SMOOTH_GROUP_SECURITY_BARRICADE S_OBJ(63) ///obj/structure/barricade/security +#define SMOOTH_GROUP_SANDBAGS S_OBJ(64) ///obj/structure/barricade/sandbags -#define SMOOTH_GROUP_SHUTTLE_PARTS S_OBJ(67) ///obj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine +#define SMOOTH_GROUP_HEDGE_FLUFF S_OBJ(65) ///obj/structure/hedge -#define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(68) ///obj/effect/decal/cleanable/dirt +#define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(67) ///obj/effect/decal/cleanable/dirt +#define SMOOTH_GROUP_GRILLE S_OBJ(68) ///obj/structure/grille #define SMOOTH_GROUP_GAS_TANK S_OBJ(69) +#define SMOOTH_GROUP_THINDOWS S_OBJ(70) -#define SMOOTH_GROUP_SPIDER_WEB S_OBJ(70) // /obj/structure/spider/stickyweb -#define SMOOTH_GROUP_SPIDER_WEB_WALL S_OBJ(71) // /obj/structure/spider/stickyweb/sealed -#define SMOOTH_GROUP_SPIDER_WEB_ROOF S_OBJ(72) // /obj/structure/spider/passage -#define SMOOTH_GROUP_SPIDER_WEB_WALL_TOUGH S_OBJ(73) // /obj/structure/spider/stickyweb/sealed/thick -#define SMOOTH_GROUP_SPIDER_WEB_WALL_MIRROR S_OBJ(74) // /obj/structure/spider/stickyweb/sealed/reflector +#define SMOOTH_GROUP_SPIDER_WEB S_OBJ(71) // /obj/structure/spider/stickyweb +#define SMOOTH_GROUP_SPIDER_WEB_WALL S_OBJ(72) // /obj/structure/spider/stickyweb/sealed +#define SMOOTH_GROUP_SPIDER_WEB_ROOF S_OBJ(73) // /obj/structure/spider/passage +#define SMOOTH_GROUP_SPIDER_WEB_WALL_TOUGH S_OBJ(74) // /obj/structure/spider/stickyweb/sealed/thick +#define SMOOTH_GROUP_SPIDER_WEB_WALL_MIRROR S_OBJ(75) // /obj/structure/spider/stickyweb/sealed/reflector +#define SMOOTH_GROUP_GLITTER_PINK S_OBJ(76) // /obj/effect/decal/cleanable/glitter/pink +#define SMOOTH_GROUP_GLITTER_WHITE S_OBJ(77) // /obj/effect/decal/cleanable/glitter/white +#define SMOOTH_GROUP_GLITTER_BLUE S_OBJ(78) // /obj/effect/decal/cleanable/glitter/blue +#define SMOOTH_GROUP_SHIELD_GEN_WALL S_OBJ(79) // /obj/machinery/shieldwall +#define SMOOTH_GROUP_VIS_BLOCK S_OBJ(80) // /obj/effect/abstract/finder/vis_block, marks turfs where vis_blocking is going on + +#define SMOOTH_GROUP_GRAV_FIELD S_OBJ(69) /// Performs the work to set smoothing_groups and canSmoothWith. /// An inlined function used in both turf/Initialize and atom/Initialize. @@ -235,3 +247,7 @@ DEFINE_BITFIELD(smoothing_junction, list( #define ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_group_variable) \ var/list/unwrapped = UNWRAP_SMOOTHING_GROUPS(smoothing_group_variable, unwrapped); \ assert_sorted(unwrapped, "[#smoothing_group_variable] ([type])"); \ + +// Defines used to convert dirs to 32,32 pixel offsets +#define DIR_TO_PIXEL_Y(dir) ((dir & NORTH) ? 32 : (dir & SOUTH) ? -32 : 0) +#define DIR_TO_PIXEL_X(dir) ((dir & EAST) ? 32 : (dir & WEST) ? -32 : 0) diff --git a/code/__DEFINES/interaction_flags.dm b/code/__DEFINES/interaction_flags.dm index 615fe5c4cbda2..fd66cee5bb93e 100644 --- a/code/__DEFINES/interaction_flags.dm +++ b/code/__DEFINES/interaction_flags.dm @@ -26,6 +26,8 @@ #define INTERACT_ATOM_MOUSEDROP_IGNORE_USABILITY (1<<12) /// Bypass all adjacency and other checks for mouse drop #define INTERACT_ATOM_MOUSEDROP_IGNORE_CHECKS (INTERACT_ATOM_MOUSEDROP_IGNORE_ADJACENT | INTERACT_ATOM_MOUSEDROP_IGNORE_USABILITY) +/// calls try_interact() on attack_paw() and returns that. +#define INTERACT_ATOM_ATTACK_PAW (1<<13) /// attempt pickup on attack_hand for items #define INTERACT_ITEM_ATTACK_HAND_PICKUP (1<<0) diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index f915b0f66a7c5..c58f12bf5c957 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -63,6 +63,8 @@ #define ITEM_SLOT_HANDCUFFED (1<<18) /// Legcuff slot (bolas, beartraps) #define ITEM_SLOT_LEGCUFFED (1<<19) +/// Inside of a character's BELT......... +#define ITEM_SLOT_BELTPACK (1<<20) /// Total amount of slots #define SLOTS_AMT 20 // Keep this up to date! @@ -106,6 +108,8 @@ DEFINE_BITFIELD(no_equip_flags, list( #define HIDESNOUT (1<<12) ///hides mutant/moth wings, does not apply to functional wings #define HIDEMUTWINGS (1<<13) +///hides belts and riggings +#define HIDEBELT (1<<14) //bitflags for clothing coverage - also used for limbs #define HEAD (1<<0) @@ -146,12 +150,18 @@ DEFINE_BITFIELD(no_equip_flags, list( #define DIGITIGRADE_STYLE 2 //Flags (actual flags, fucker ^) for /obj/item/var/supports_variations_flags -///No alternative sprites based on bodytype +/// No alternative sprites or handling based on bodytype #define CLOTHING_NO_VARIATION (1<<0) -///Has a sprite for digitigrade legs specifically. +/// Has a sprite for digitigrade legs specifically. #define CLOTHING_DIGITIGRADE_VARIATION (1<<1) -///The sprite works fine for digitigrade legs as-is. +/// The sprite works fine for digitigrade legs as-is. #define CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON (1<<2) +/// Auto-generates the leg portion of the sprite with GAGS +/// Suggested that you set [/obj/item/var/digitigrade_greyscale_config_worn] when using this flag +#define CLOTHING_DIGITIGRADE_MASK (1<<3) + +/// All variation flags which render "correctly" on a digitigrade leg setup +#define DIGITIGRADE_VARIATIONS (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON|CLOTHING_DIGITIGRADE_MASK) //flags for covering body parts #define GLASSESCOVERSEYES (1<<0) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 0d9d28d4d858a..8846672efe1b7 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -69,6 +69,8 @@ GLOBAL_LIST_INIT(turfs_openspace, typecacheof(list( #define isplatingturf(A) (istype(A, /turf/open/floor/plating)) +#define iscatwalkturf(A) (istype(A, /turf/open/floor/catwalk_floor)) + #define isasteroidturf(A) (istype(A, /turf/open/misc/asteroid)) #define istransparentturf(A) (HAS_TRAIT(A, TURF_Z_TRANSPARENT_TRAIT)) @@ -137,19 +139,15 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( //Silicon mobs #define issilicon(A) (istype(A, /mob/living/silicon)) -///Define on whether A has access to Silicon stuff either through being a silicon, admin ghost or is a non-silicon holding the Silicon remote. -///This can only be used for instances where you are not specifically looking for silicon, but access. -#define HAS_SILICON_ACCESS(A) (istype(A, /mob/living/silicon) || isAdminGhostAI(A) || A.has_unlimited_silicon_privilege || istype(A.get_active_held_item(), /obj/item/machine_remote)) - #define isAI(A) (istype(A, /mob/living/silicon/ai)) -///Define on whether A has access to AI stuff either through being a AI, admin ghost, or is a non-silicon holding the Silicon remote -///This can only be used for instances where you are not specifically looking for silicon, but access. -#define HAS_AI_ACCESS(A) (istype(A, /mob/living/silicon/ai) || isAdminGhostAI(A) || istype(A.get_active_held_item(), /obj/item/machine_remote)) - #define iscyborg(A) (istype(A, /mob/living/silicon/robot)) - #define ispAI(A) (istype(A, /mob/living/silicon/pai)) +///This is used to see if you have Silicon access. This includes things like Admins, Drones, Bots, and Human wands. +#define HAS_SILICON_ACCESS(possible_silicon) (HAS_TRAIT(possible_silicon, TRAIT_SILICON_ACCESS) || isAdminGhostAI(possible_silicon)) +///This is used to see if you have the access of an AI. This doesn't mean you are an AI, just have the same access as one. +#define HAS_AI_ACCESS(possible_ai) (HAS_TRAIT(possible_ai, TRAIT_AI_ACCESS) || isAdminGhostAI(possible_ai)) + // basic mobs #define isbasicmob(A) (istype(A, /mob/living/basic)) diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm index 5f025ad99cffb..f7701ae048f89 100644 --- a/code/__DEFINES/keybinding.dm +++ b/code/__DEFINES/keybinding.dm @@ -54,6 +54,7 @@ #define COMSIG_KB_LIVING_DISABLE_COMBAT_DOWN "keybinding_living_disable_combat_down" #define COMSIG_KB_LIVING_TOGGLEMOVEINTENT_DOWN "keybinding_mob_togglemoveintent_down" #define COMSIG_KB_LIVING_TOGGLEMOVEINTENTALT_DOWN "keybinding_mob_togglemoveintentalt_down" +#define COMSIG_KB_LIVING_TOGGLE_EXAMINE_BALLOON "keybinding_mob_toggleexamineballoon" //Mob #define COMSIG_KB_MOB_FACENORTH_DOWN "keybinding_mob_facenorth_down" diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm index cd6ee5ec0c9bd..d530185c14288 100644 --- a/code/__DEFINES/language.dm +++ b/code/__DEFINES/language.dm @@ -27,6 +27,7 @@ #define LANGUAGE_GLAND "gland" #define LANGUAGE_HAT "hat" #define LANGUAGE_QUIRK "quirk" +#define LANGUAGE_DRINK "drink" #define LANGUAGE_MALF "malf" #define LANGUAGE_PIRATE "pirate" #define LANGUAGE_MASTER "master" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 55272920fdd5a..e3d20fa105193 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -1,5 +1,6 @@ //Defines for atom layers and planes //KEEP THESE IN A NICE ACSCENDING ORDER, PLEASE +//Reminder to everyone that planes override layers: things on the same plane will sort in order of layers //NEVER HAVE ANYTHING BELOW THIS PLANE ADJUST IF YOU NEED MORE SPACE #define LOWEST_EVER_PLANE -50 @@ -13,18 +14,25 @@ #define PLANE_SPACE -21 #define PLANE_SPACE_PARALLAX -20 -#define GRAVITY_PULSE_PLANE -12 +#define GRAVITY_PULSE_PLANE -19 #define GRAVITY_PULSE_RENDER_TARGET "*GRAVPULSE_RENDER_TARGET" -#define RENDER_PLANE_TRANSPARENT -11 //Transparent plane that shows openspace underneath the floor - -#define TRANSPARENT_FLOOR_PLANE -10 - -#define FLOOR_PLANE -6 - -#define WALL_PLANE -5 -#define GAME_PLANE -4 -#define ABOVE_GAME_PLANE -3 +#define RENDER_PLANE_TRANSPARENT -18 //Transparent plane that shows openspace underneath the floor +#define TRANSPARENT_FLOOR_PLANE -13 + +#define FLOOR_PLANE -12 +#define FLOOR_PLANE_RENDER_TARGET "*FLOOR_PLANE" +#define WALL_PLANE -11 +#define GAME_PLANE -10 +#define ABOVE_GAME_PLANE -9 +#define HIDDEN_WALL_PLANE -8 +#define FRILL_PLANE -7 +#define RENDER_PLANE_WALL_WEATHER_MASK -6 +#define WALL_WEATHER_MASK_RENDER_TARGET "*RENDER_PLANE_WALL_WEATHER_MASK" +#define FRILL_MASK_PLANE -5 +#define RENDER_PLANE_FRILL -4 +#define FRILL_MASK_RENDER_TARGET "*FRILL_MASK_PLANE" +#define OVER_FRILL_PLANE -3 ///Slightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees #define SEETHROUGH_PLANE -2 @@ -33,9 +41,15 @@ #define DEFAULT_PLANE 0 //Marks out the default plane, even if we don't use it #define AREA_PLANE 2 -#define MASSIVE_OBJ_PLANE 3 -#define GHOST_PLANE 4 -#define POINT_PLANE 5 +#define WEATHER_MASK_PLANE 3 +#define WEATHER_MASK_RENDER_TARGET "*WEATHER_MASK_PLANE" +#define WEATHER_PLANE 4 +#define WEATHER_FRILL_PLANE 5 + +#define MASSIVE_OBJ_PLANE 6 +#define GHOST_PLANE 7 +#define POINT_PLANE 8 + //---------- LIGHTING ------------- ///Normal 1 per turf dynamic lighting underlays @@ -43,7 +57,10 @@ ///Lighting objects that are "free floating" #define O_LIGHTING_VISUAL_PLANE 11 -#define O_LIGHTING_VISUAL_RENDER_TARGET "O_LIGHT_VISUAL_PLANE" +#define O_LIGHTING_VISUAL_RENDER_TARGET "*O_LIGHT_VISUAL_PLANE" + +#define DARKNESS_MASK_PLANE 12 +#define DARKNESS_MASK_RENDER_TARGET "*DARKNESS_MASK_PLANE" #define EMISSIVE_PLANE 13 /// This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas. @@ -54,6 +71,9 @@ #define EMISSIVE_FLOOR_LAYER 2 #define EMISSIVE_SPACE_LAYER 3 #define EMISSIVE_WALL_LAYER 4 +#define EMISSIVE_PLANE_LAYER 5 +#define EMISSIVE_FRILL_LAYER 6 +#define EMISSIVE_FRILL_PLANE_LAYER 7 #define RENDER_PLANE_LIGHTING 15 @@ -64,6 +84,8 @@ ///Things that should render ignoring lighting #define ABOVE_LIGHTING_PLANE 17 +#define WEATHER_GLOW_PLANE 18 +#define WEATHER_FRILL_GLOW_PLANE 19 ///---------------- MISC ----------------------- @@ -84,6 +106,9 @@ #define RUNECHAT_PLANE 30 /// Plane for balloon text (text that fades up) #define BALLOON_CHAT_PLANE 31 +/// Plane for the wallmount balloons +#define EXAMINE_BALLOONS_PLANE 32 +#define EXAMINE_BALLOONS_RENDER_TARGET "*EXAMINE_BALLOONS_RENDER_TARGET" //-------------------- HUD --------------------- //HUD layer defines @@ -145,15 +170,13 @@ #define WIRE_LAYER (9 + TOPDOWN_LAYER) #define GLASS_FLOOR_LAYER (10 + TOPDOWN_LAYER) #define TRAM_RAIL_LAYER (11 + TOPDOWN_LAYER) +#define ABOVE_OPEN_TURF_LAYER (12 + TOPDOWN_LAYER) ///catwalk overlay of /turf/open/floor/plating/catwalk_floor -#define CATWALK_LAYER (12 + TOPDOWN_LAYER) -#define ABOVE_OPEN_TURF_LAYER (13 + TOPDOWN_LAYER) +#define CATWALK_LAYER (13 + TOPDOWN_LAYER) -//WALL_PLANE layers +//GAME_PLANE layers #define BELOW_CLOSED_TURF_LAYER 2.053 #define CLOSED_TURF_LAYER 2.058 - -// GAME_PLANE layers #define BULLET_HOLE_LAYER 2.06 #define ABOVE_NORMAL_TURF_LAYER 2.08 #define GAS_PIPE_HIDDEN_LAYER 2.35 //layer = initial(layer) + piping_layer / 1000 in atmospherics/update_icon() to determine order of pipe overlap @@ -176,31 +199,43 @@ #define TRAM_FLOOR_LAYER 2.58 #define TRAM_WALL_LAYER 2.59 -#define BELOW_OPEN_DOOR_LAYER 2.6 +//Walls draw below +//We draw them to the game plane so we can take advantage of SIDE_MAP for em +//Need to cover for the whole "things below us" with position offsetting with pixel_y/z rather just one or the other +#define UNDER_WALL_LAYER 2.66 +#define WALL_LAYER 2.67 +#define ABOVE_WALL_LAYER 2.68 +#define WALL_CLICKCATCH_LAYER 2.69 +#define FLAT_ON_WALL_LAYER 2.70 // wall mounts that lie flat against the wall or are generally less important gameplay-wise (such as signs) +#define ON_WALL_LAYER 2.71 // normal wall mounts +#define HIGH_ON_WALL_LAYER 2.72 // wall mounts that hang high on the wall (light fixtures) + +#define BELOW_OPEN_DOOR_LAYER 2.74 ///Anything below this layer is to be considered completely (visually) under water by the immerse layer. -#define WATER_LEVEL_LAYER 2.61 -#define BLASTDOOR_LAYER 2.65 -#define OPEN_DOOR_LAYER 2.7 -#define DOOR_ACCESS_HELPER_LAYER 2.71 //keep this above OPEN_DOOR_LAYER, special layer used for /obj/effect/mapping_helpers/airlock/access -#define DOOR_HELPER_LAYER 2.72 //keep this above DOOR_ACCESS_HELPER_LAYER and OPEN_DOOR_LAYER since the others tend to have tiny sprites that tend to be covered up. -#define PROJECTILE_HIT_THRESHHOLD_LAYER 2.75 //projectiles won't hit objects at or below this layer if possible -#define TABLE_LAYER 2.8 -#define BELOW_OBJ_LAYER 2.9 -#define LOW_ITEM_LAYER 2.95 +#define WATER_LEVEL_LAYER 2.76 +#define BLASTDOOR_LAYER 2.78 +#define OPEN_DOOR_LAYER 2.8 +#define DOOR_ACCESS_HELPER_LAYER 2.83 //keep this above OPEN_DOOR_LAYER, special layer used for /obj/effect/mapping_helpers/airlock/access +#define DOOR_HELPER_LAYER 2.85 //keep this above DOOR_ACCESS_HELPER_LAYER and OPEN_DOOR_LAYER since the others tend to have tiny sprites that tend to be covered up. +#define PROJECTILE_HIT_THRESHHOLD_LAYER 2.88 //projectiles won't hit objects at or below this layer if possible +#define TABLE_LAYER 2.9 +#define BELOW_OBJ_LAYER 2.95 +#define LOW_ITEM_LAYER 2.98 //#define OBJ_LAYER 3 //For easy recordkeeping; this is a byond define -#define CLOSED_DOOR_LAYER 3.1 -#define CLOSED_FIREDOOR_LAYER 3.11 -#define ABOVE_OBJ_LAYER 3.2 -#define CLOSED_BLASTDOOR_LAYER 3.3 // ABOVE WINDOWS AND DOORS -#define SHUTTER_LAYER 3.3 // HERE BE DRAGONS -#define ABOVE_WINDOW_LAYER 3.3 -#define SIGN_LAYER 3.4 -#define CORGI_ASS_PIN_LAYER 3.41 -#define NOT_HIGH_OBJ_LAYER 3.5 -#define HIGH_OBJ_LAYER 3.6 -#define BELOW_MOB_LAYER 3.7 -#define LOW_MOB_LAYER 3.75 -#define LYING_MOB_LAYER 3.8 +#define CLOSED_DOOR_LAYER 3.55 +#define CLOSED_FIREDOOR_LAYER 3.58 +#define ABOVE_OBJ_LAYER 3.6 +#define CLOSED_BLASTDOOR_LAYER 3.63 // ABOVE WINDOWS AND DOORS +#define SHUTTER_LAYER 3.65 // HERE BE DRAGONS +#define ABOVE_WINDOW_LAYER 3.68 +#define SIGN_LAYER 3.7 +#define CORGI_ASS_PIN_LAYER 3.73 +#define NOT_HIGH_OBJ_LAYER 3.75 +#define HIGH_OBJ_LAYER 3.78 +#define BELOW_MOB_LAYER 3.8 + +#define LOW_MOB_LAYER 3.83 +#define LYING_MOB_LAYER 3.88 #define VEHICLE_LAYER 3.9 #define MOB_BELOW_PIGGYBACK_LAYER 3.94 //#define MOB_LAYER 4 //For easy recordkeeping; this is a byond define @@ -209,6 +244,8 @@ #define MOB_UPPER_LAYER 4.07 #define HITSCAN_PROJECTILE_LAYER 4.09 #define ABOVE_MOB_LAYER 4.1 +#define SHIELD_WALL_LAYER 4.2 +#define SHIELD_GENERATOR_LAYER 4.24 #define WALL_OBJ_LAYER 4.25 #define TRAM_SIGNAL_LAYER 4.26 #define EDGED_TURF_LAYER 4.3 @@ -219,13 +256,13 @@ // Intermediate layer used by both GAME_PLANE and ABOVE_GAME_PLANE #define ABOVE_ALL_MOB_LAYER 4.7 - -// ABOVE_GAME_PLANE layers #define NAVIGATION_EYE_LAYER 4.9 //#define FLY_LAYER 5 //For easy recordkeeping; this is a byond define #define ABOVE_TREE_LAYER 5.01 +#define HIGH_BUBBLE_LAYER 5.03 #define GASFIRE_LAYER 5.05 #define RIPPLE_LAYER 5.1 +#define HIGHEST_GAME_LAYER 5.2 /** * The layer of the visual overlay used in the submerge element. @@ -253,7 +290,7 @@ //---------- EMISSIVES ------------- //Layering order of these is not particularly meaningful. -//Important part is the seperation of the planes for control via plane_master +//Important part is the separation of the planes for control via plane_master /// The layer you should use if you _really_ don't want an emissive overlay to be blocked. #define EMISSIVE_LAYER_UNBLOCKABLE 9999 @@ -334,3 +371,6 @@ /// Increment this define if you make a huge map. We unit test for it too just to make it easy for you /// If you modify this, you'll need to modify the tsx file too #define MAX_EXPECTED_Z_DEPTH 3 + +/// Shifts "flat" sprites up on their tile, to give the illusion of depth +#define DEPTH_OFFSET 12 diff --git a/code/__DEFINES/lazy_templates.dm b/code/__DEFINES/lazy_templates.dm index 8a469af4deeda..1e8dca9a7a110 100644 --- a/code/__DEFINES/lazy_templates.dm +++ b/code/__DEFINES/lazy_templates.dm @@ -3,6 +3,7 @@ #define LAZY_TEMPLATE_KEY_NINJA_HOLDING_FACILITY "LT_NINJAHOLDING" #define LAZY_TEMPLATE_KEY_ABDUCTOR_SHIPS "LT_ABDUCTORSHIPS" #define LAZY_TEMPLATE_KEY_HERETIC_SACRIFICE "LT_HERETICSACRIFICE" +#define LAZY_TEMPLATE_KEY_VOIDWALKER_VOID "LT_VOIDWALKERVOID" #define LAZY_TEMPLATE_KEY_LIST_ALL(...) list( \ "Nukie Base" = LAZY_TEMPLATE_KEY_NUKIEBASE, \ @@ -10,4 +11,5 @@ "Ninja Holding" = LAZY_TEMPLATE_KEY_NINJA_HOLDING_FACILITY, \ "Abductor Ships" = LAZY_TEMPLATE_KEY_ABDUCTOR_SHIPS, \ "Heretic Sacrifice Level" = LAZY_TEMPLATE_KEY_HERETIC_SACRIFICE, \ + "Voidwalker Void" = LAZY_TEMPLATE_KEY_VOIDWALKER_VOID, \ ) diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index 2c3c1c34f0836..71a13d6382098 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -30,7 +30,7 @@ #define LIGHTING_ROUND_VALUE (1 / 64) /// icon used for lighting shading effects -#define LIGHTING_ICON 'icons/effects/lighting_object.dmi' +#define LIGHTING_ICON 'icons/effects/lighting_objects/lighting_object.dmi' /// If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. /// Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all. @@ -77,21 +77,21 @@ #define _EMISSIVE_COLOR(val) list(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, val,val,val,0) /// The color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with [EM_BLOCK_COLOR]. #define EMISSIVE_COLOR _EMISSIVE_COLOR(1) -/// A globaly cached version of [EMISSIVE_COLOR] for quick access. +/// A globally cached version of [EMISSIVE_COLOR] for quick access. GLOBAL_LIST_INIT(emissive_color, EMISSIVE_COLOR) #define _EM_BLOCK_COLOR(val) list(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,val, 0,0,0,0) /// The color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with [EMISSIVE_COLOR]. #define EM_BLOCK_COLOR _EM_BLOCK_COLOR(1) -/// A globaly cached version of [EM_BLOCK_COLOR] for quick access. +/// A globally cached version of [EM_BLOCK_COLOR] for quick access. GLOBAL_LIST_INIT(em_block_color, EM_BLOCK_COLOR) /// A set of appearance flags applied to all emissive and emissive blocker overlays. -/// KEEP_APART to prevent parent hooking, KEEP_TOGETHER for children, and we reset the color and alpha of our parent so nothing gets overriden +/// KEEP_APART to prevent parent hooking, KEEP_TOGETHER for children, and we reset the color and alpha of our parent so nothing gets overridden #define EMISSIVE_APPEARANCE_FLAGS (KEEP_APART|KEEP_TOGETHER|RESET_COLOR|RESET_ALPHA) -/// The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of [EMISSIVE_COLOR], and be independant of the RGB value of [EM_BLOCK_COLOR]. +/// The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of [EMISSIVE_COLOR], and be independent of the RGB value of [EM_BLOCK_COLOR]. #define EM_MASK_MATRIX list(0,0,0,1/3, 0,0,0,1/3, 0,0,0,1/3, 0,0,0,0, 1,1,1,0) -/// A globaly cached version of [EM_MASK_MATRIX] for quick access. +/// A globally cached version of [EM_MASK_MATRIX] for quick access. GLOBAL_LIST_INIT(em_mask_matrix, EM_MASK_MATRIX) /// Parse the hexadecimal color into lumcounts of each perspective. diff --git a/code/__DEFINES/living.dm b/code/__DEFINES/living.dm index 63993f4bc620b..340bf3608bb5d 100644 --- a/code/__DEFINES/living.dm +++ b/code/__DEFINES/living.dm @@ -4,3 +4,6 @@ /// Always does *deathgasp when they die /// If unset mobs will only deathgasp if supplied a death sound or custom death message #define ALWAYS_DEATHGASP (1<<1) + +/// Getter for a mob/living's lying angle, otherwise protected +#define GET_LYING_ANGLE(mob) (UNLINT(mob.lying_angle)) diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 2c63f2568dcf3..9d2cf451c62e1 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -33,7 +33,7 @@ #define BASE_MACHINE_ACTIVE_CONSUMPTION (BASE_MACHINE_IDLE_CONSUMPTION * 10) /// Bitflags for a machine's preferences on when it should start processing. For use with machinery's `processing_flags` var. -#define START_PROCESSING_ON_INIT (1<<0) /// Indicates the machine will automatically start processing right after it's `Initialize()` is ran. +#define START_PROCESSING_ON_INIT (1<<0) /// Indicates the machine will automatically start processing right after its `Initialize()` is ran. #define START_PROCESSING_MANUALLY (1<<1) /// Machines with this flag will not start processing when it's spawned. Use this if you want to manually control when a machine starts processing. //bitflags for door switches. @@ -52,7 +52,7 @@ #define BYPASS_DOOR_CHECKS 2 //used in design to specify which machine can build it -//Note: More than one of these can be added to a design but imprinter and lathe designs are incompatable. +//Note: More than one of these can be added to a design but imprinter and lathe designs are incompatible. #define IMPRINTER (1<<0) //For circuits. Uses glass/chemicals. #define PROTOLATHE (1<<1) //New stuff. Uses various minerals #define AUTOLATHE (1<<2) //Prints basic designs without research diff --git a/code/__DEFINES/map_switch.dm b/code/__DEFINES/map_switch.dm index dbb0059786ee1..3135d52de41b0 100644 --- a/code/__DEFINES/map_switch.dm +++ b/code/__DEFINES/map_switch.dm @@ -6,3 +6,7 @@ #else #define MAP_SWITCH(compile_time, map_time) ##map_time #endif + +#ifndef CBT +#define MAP_EDITOR +#endif // I'd add another but idk what to call it diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index c76ba60911355..3c87195e99076 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -222,3 +222,13 @@ Always compile, always use that verb, and always make sure that it works for wha /// Checks the job changes in the map config for the passed change key. #define CHECK_MAP_JOB_CHANGE(job, change) SSmapping.config.job_changes?[job]?[change] + +///Identifiers for away mission spawnpoints +#define AWAYSTART_BEACH "AWAYSTART_BEACH" +#define AWAYSTART_MUSEUM "AWAYSTART_MUSEUM" +#define AWAYSTART_RESEARCH "AWAYSTART_RESEARCH" +#define AWAYSTART_CAVES "AWAYSTART_CAVES" +#define AWAYSTART_MOONOUTPOST "AWAYSTART_MOONOUTPOST" +#define AWAYSTART_SNOWCABIN "AWAYSTART_SNOWCABIN" +#define AWAYSTART_SNOWDIN "AWAYSTART_SNOWDIN" +#define AWAYSTART_UNDERGROUND "AWAYSTART_UNDERGROUND" diff --git a/code/__DEFINES/blackmarket.dm b/code/__DEFINES/market.dm similarity index 76% rename from code/__DEFINES/blackmarket.dm rename to code/__DEFINES/market.dm index f0a19ad056d9a..e0bd457835208 100644 --- a/code/__DEFINES/blackmarket.dm +++ b/code/__DEFINES/market.dm @@ -10,3 +10,5 @@ // Sends a supply pod to the buyer's location, showy. #define SHIPPING_METHOD_SUPPLYPOD "Supply Pod" +/// The percentage on gains that's removed when selling an item through the blackmarket with the LTSRBT +#define MARKET_WITHHOLDING_TAX 0.15 diff --git a/code/__DEFINES/mining.dm b/code/__DEFINES/mining.dm index 4b233a5d4f171..953a7d5a1e801 100644 --- a/code/__DEFINES/mining.dm +++ b/code/__DEFINES/mining.dm @@ -5,10 +5,11 @@ #define BOULDER_SIZE_MEDIUM 10 /// Durability of a small size boulder from a small size vent. #define BOULDER_SIZE_SMALL 5 -/// How many boulders can a single ore vent have on it's tile before it stops producing more? +/// How many boulders can a single ore vent have on its tile before it stops producing more? #define MAX_BOULDERS_PER_VENT 10 /// Time multiplier #define INATE_BOULDER_SPEED_MULTIPLIER 3 + // Vent type /// Large vents, giving large boulders. #define LARGE_VENT_TYPE "large" @@ -17,6 +18,14 @@ /// Small vents, giving small boulders. #define SMALL_VENT_TYPE "small" +// Timers for the ore vents to perform wave defense. +/// Duration for wave defense for a small vent. +#define WAVE_DURATION_SMALL 60 SECONDS +/// Duration for wave defense for a medium vent. +#define WAVE_DURATION_MEDIUM 90 SECONDS +/// Duration for wave defense for a large vent. +#define WAVE_DURATION_LARGE 150 SECONDS + /// Proximity to a vent that a wall ore needs to be for 5 ore to be mined. #define VENT_PROX_VERY_HIGH 3 /// Proximity to a vent that a wall ore needs to be for 4 ore to be mined. @@ -58,3 +67,8 @@ //String defines to use with CaveGenerator presets for what ore breakdown to use. #define OREGEN_PRESET_LAVALAND "lavaland" #define OREGEN_PRESET_TRIPLE_Z "triple_z" + +/// Signal sent on an atom when fulton beacon begins transporting it +#define COMSIG_ATOM_FULTON_BEGAN "fulton_began" +/// Signal sent on an atom when fulton beacon finishes transporting it +#define COMSIG_ATOM_FULTON_LANDED "fulton_landed" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index f690304fd5f0c..e2ed629c46a84 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -10,6 +10,8 @@ #define MOVE_INTENT_WALK "walk" #define MOVE_INTENT_RUN "run" +/// Amount of oxyloss that KOs a human +#define OXYLOSS_PASSOUT_THRESHOLD 50 //Blood levels #define BLOOD_VOLUME_MAX_LETHAL 2150 #define BLOOD_VOLUME_EXCESS 2100 @@ -130,6 +132,7 @@ #define SPECIES_ZOMBIE "zombie" #define SPECIES_ZOMBIE_INFECTIOUS "memezombie" #define SPECIES_ZOMBIE_KROKODIL "krokodil_zombie" +#define SPECIES_VOIDWALKER "voidwalker" // Like species IDs, but not specifically attached a species. #define BODYPART_ID_ALIEN "alien" @@ -149,7 +152,10 @@ ///The species is forced to have digitigrade legs in generation. #define DIGITIGRADE_FORCED 2 -///Digitigrade's prefs, used in features for legs if you're meant to be a Digitigrade. +// Preferences for leg types +/// Legs that are normal +#define NORMAL_LEGS "Normal Legs" +/// Digitgrade legs that are like bended and uhhh no shoes #define DIGITIGRADE_LEGS "Digitigrade Legs" // Health/damage defines @@ -466,6 +472,9 @@ #define ROBOTIC_BRUTE_EXAMINE_TEXT "denting" #define ROBOTIC_BURN_EXAMINE_TEXT "charring" +#define GLASSY_BRUTE_EXAMINE_TEXT "cracking" +#define GLASSY_BURN_EXAMINE_TEXT "deformation" + #define GRAB_PIXEL_SHIFT_PASSIVE 6 #define GRAB_PIXEL_SHIFT_AGGRESSIVE 12 #define GRAB_PIXEL_SHIFT_NECK 16 @@ -968,6 +977,8 @@ GLOBAL_LIST_INIT(layers_to_offset, list( /// The duration of the flip emote animation #define FLIP_EMOTE_DURATION 0.7 SECONDS +///The duration of a taunt emote, so how long they can deflect projectiles +#define TAUNT_EMOTE_DURATION 0.9 SECONDS // Sprites for photocopying butts #define BUTT_SPRITE_HUMAN_MALE "human_male" @@ -982,3 +993,10 @@ GLOBAL_LIST_INIT(layers_to_offset, list( #define BUTT_SPRITE_PLASMA "plasma" #define BUTT_SPRITE_FUZZY "fuzzy" #define BUTT_SPRITE_SLIME "slime" + +// Type of shadow used for drop shadows, really they're mostly just an icon state +/// Don't bother applying the drop shadow component at all if this is provided as the shadow type +#define SHADOW_NONE "none" +#define SHADOW_SMALL "small" +#define SHADOW_MEDIUM "medium" +#define SHADOW_LARGE "large" diff --git a/code/__DEFINES/mod.dm b/code/__DEFINES/mod.dm index 8257e1969bedb..1a4bed1ca9922 100644 --- a/code/__DEFINES/mod.dm +++ b/code/__DEFINES/mod.dm @@ -5,7 +5,7 @@ #define DEFAULT_CHARGE_DRAIN (0.005 * STANDARD_CELL_CHARGE) // A standard cell lasts 200 seconds with this on active power usage, while a high power one lasts 2,000 seconds. /// Default time for a part of the suit to seal. -#define MOD_ACTIVATION_STEP_TIME (2 SECONDS) +#define MOD_ACTIVATION_STEP_TIME (1 SECONDS) /// Passive module, just acts when put in naturally. #define MODULE_PASSIVE 0 diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 51a995c90e100..d6b62da97d470 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -74,7 +74,7 @@ #define EXP_TYPE_ADMIN "Admin" //Flags in the players table in the db -#define DB_FLAG_EXEMPT 1 +#define DB_FLAG_EXEMPT (1<<0) #define DEFAULT_CYBORG_NAME "Default Cyborg Name" diff --git a/code/__DEFINES/projectiles.dm b/code/__DEFINES/projectiles.dm index ed4c66b799c59..28b7b6f3d1be5 100644 --- a/code/__DEFINES/projectiles.dm +++ b/code/__DEFINES/projectiles.dm @@ -14,8 +14,10 @@ #define CALIBER_A7MM "a7mm" /// The caliber used by the [security auto-rifle][/obj/item/gun/ballistic/automatic/wt550]. #define CALIBER_46X30MM "4.6x30mm" -/// The caliber used by the Nanotrasen Saber SMG, PP-95 SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it. +/// The caliber used by the Nanotrasen Saber SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it. #define CALIBER_9MM "9mm" +/// The caliber used by smart SMG ammunition +#define CALIBER_160SMART ".160 Smart" /// The caliber used as the default for ballistic guns. Only not overridden for the [surplus rifle][/obj/item/gun/ballistic/automatic/surplus]. #define CALIBER_10MM "10mm" /// The caliber used by most revolver variants. diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 686c42e07d075..1d74a589d30b3 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -130,3 +130,10 @@ #define RADIO_FREQENCY_LOCKED 1 /// Radio frequency is locked and unchangeable, but can be unlocked by an emag #define RADIO_FREQENCY_EMAGGABLE_LOCK 2 + +///Bitflag for if a headset can use the syndicate radio channel +#define RADIO_SPECIAL_SYNDIE (1<<0) +///Bitflag for if a headset can use the centcom radio channel +#define RADIO_SPECIAL_CENTCOM (1<<1) +///Bitflag for if a headset can use the binary radio channel +#define RADIO_SPECIAL_BINARY (1<<2) diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 98f8d4a18278d..a8c111c516476 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -89,7 +89,7 @@ #define FREON_MAXIMUM_BURN_TEMPERATURE 283 ///Minimum temperature allowed for the burn to go at max speed, we would have negative pressure otherwise #define FREON_LOWER_TEMPERATURE 60 -///Terminal temperature after wich we stop the reaction +///Terminal temperature after which we stop the reaction #define FREON_TERMINAL_TEMPERATURE 20 /// Multiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption #define FREON_OXYGEN_FULLBURN 10 diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index a758aa4170c73..314d8f5ecf2ee 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -127,7 +127,7 @@ #define REACTION_COMPETITIVE (1<<5) ///Used to force pH changes to be constant regardless of volume #define REACTION_PH_VOL_CONSTANT (1<<6) -///If a reaction will generate it's impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion +///If a reaction will generate its impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion #define REACTION_REAL_TIME_SPLIT (1<<7) ///Used for overheat_temp - This sets the overheat so high it effectively has no overheat temperature. @@ -161,7 +161,7 @@ #define REACTION_TAG_HEALING (1<<4) /// This reagent primarily damages #define REACTION_TAG_DAMAGING (1<<5) -/// This reagent explodes as a part of it's intended effect (i.e. not overheated/impure) +/// This reagent explodes as a part of its intended effect (i.e. not overheated/impure) #define REACTION_TAG_EXPLOSIVE (1<<6) /// This reagent does things that are unique and special #define REACTION_TAG_OTHER (1<<7) diff --git a/code/__DEFINES/research/anomalies.dm b/code/__DEFINES/research/anomalies.dm index 93f1bc924c288..e04aead3464bc 100644 --- a/code/__DEFINES/research/anomalies.dm +++ b/code/__DEFINES/research/anomalies.dm @@ -2,7 +2,7 @@ #define MAX_CORES_BLUESPACE 3 #define MAX_CORES_GRAVITATIONAL 6 #define MAX_CORES_FLUX 8 -#define MAX_CORES_VORTEX 1 +#define MAX_CORES_VORTEX 3 #define MAX_CORES_PYRO 8 #define MAX_CORES_HALLUCINATION 8 #define MAX_CORES_BIOSCRAMBLER 8 diff --git a/code/__DEFINES/research/techweb_nodes.dm b/code/__DEFINES/research/techweb_nodes.dm index 3c730e02169fa..f27225f1fedee 100644 --- a/code/__DEFINES/research/techweb_nodes.dm +++ b/code/__DEFINES/research/techweb_nodes.dm @@ -14,7 +14,7 @@ #define TECHWEB_NODE_BEAM_WEAPONS "beam_weapons" #define TECHWEB_NODE_BIO_SCAN "bio_scan" #define TECHWEB_NODE_BITRUNNING "bitrunning" -#define TECHWEB_NODE_BLUESPACE "bluespace" +#define TECHWEB_NODE_MECH_EQUIP_BLUESPACE "mech_equip_bluespace" #define TECHWEB_NODE_BLUESPACE_THEORY "bluespace_theory" #define TECHWEB_NODE_BLUESPACE_TRAVEL "bluespace_travel" #define TECHWEB_NODE_BORG_ENGI "borg_engi" diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm index 393e0f7b5f7d3..83c7cdd265af0 100644 --- a/code/__DEFINES/robots.dm +++ b/code/__DEFINES/robots.dm @@ -176,17 +176,17 @@ DEFINE_BITFIELD(bot_cover_flags, list( /// Medibots - Healing people #define BOT_HEALING "Healing" /// MULEbot - Moving to deliver -#define BOT_DELIVER "Navigating to Delivery Location" +#define BOT_DELIVER "Delivering" /// MULEbot - Returning to home -#define BOT_GO_HOME "Proceeding to work site" +#define BOT_GO_HOME "Returning" /// MULEbot - Blocked -#define BOT_BLOCKED "No Route" +#define BOT_BLOCKED "Blocked" /// MULEbot - Computing navigation -#define BOT_NAV "Unable to reach destination" +#define BOT_NAV "Unreachable" /// MULEbot - Waiting for nav computation -#define BOT_WAIT_FOR_NAV "Calculating navigation path" +#define BOT_WAIT_FOR_NAV "Calculating" /// MULEbot - No destination beacon found (or no route) -#define BOT_NO_ROUTE "Navigating to Home" +#define BOT_NO_ROUTE "Returning Home" //Secbot and ED209 judgement criteria bitflag values #define JUDGE_EMAGGED (1<<0) @@ -257,7 +257,18 @@ DEFINE_BITFIELD(firebot_mode_flags, list( "FIREBOT_EXTINGUISH_FLAMES" = FIREBOT_EXTINGUISH_FLAMES, )) - +///auto return to home after delivery +#define MULEBOT_RETURN_MODE (1<<0) +///autopickups at beacons +#define MULEBOT_AUTO_PICKUP_MODE (1<<1) +///announce every delivery we make +#define MULEBOT_REPORT_DELIVERY_MODE (1<<2) + +DEFINE_BITFIELD(mulebot_delivery_flags, list( + "MULEBOT_RETURN_MODE" = MULEBOT_RETURN_MODE, + "MULEBOT_AUTO_PICKUP_MODE" = MULEBOT_AUTO_PICKUP_MODE, + "MULEBOT_REPORT_DELIVERY_MODE" = MULEBOT_REPORT_DELIVERY_MODE, +)) //cleanBOT defines on what to clean #define CLEANBOT_CLEAN_BLOOD (1<<0) diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 88e64164acd4b..bc8987b4539d5 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -37,6 +37,7 @@ #define ROLE_SPACE_DRAGON "Space Dragon" #define ROLE_SPIDER "Spider" #define ROLE_WIZARD_MIDROUND "Wizard (Midround)" +#define ROLE_VOIDWALKER "Voidwalker" // Latejoin roles #define ROLE_HERETIC_SMUGGLER "Heretic Smuggler" @@ -153,6 +154,7 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_SPACE_DRAGON = 0, ROLE_SPIDER = 0, ROLE_WIZARD_MIDROUND = 14, + ROLE_VOIDWALKER = 0, // Latejoin ROLE_HERETIC_SMUGGLER = 0, diff --git a/code/__DEFINES/roundend.dm b/code/__DEFINES/roundend.dm index a210d034015dc..d25204336444f 100644 --- a/code/__DEFINES/roundend.dm +++ b/code/__DEFINES/roundend.dm @@ -31,7 +31,7 @@ #define REVS_LOSE 18 /// The wizard was killed by the crew #define WIZARD_KILLED 19 -/// The station was destroyed by it's own self-destruct nuclear device +/// The station was destroyed by its own self-destruct nuclear device #define STATION_NUKED 20 /// The station was destroyed by the supermatter cascade #define SUPERMATTER_CASCADE 21 diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index 5db7227521a3f..eacdd868a9556 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -76,7 +76,7 @@ #define SPAN_SINGING "singing" #define SPAN_TAPE_RECORDER "tape_recorder" #define SPAN_SMALL_VOICE "small" - +#define SPAN_SOAPBOX "soapbox" //bitflag #defines for return value of the radio() proc. /// Makes the message use italics #define ITALICS (1<<0) diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index 6f15ea6521638..759121e3b8dd8 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -36,7 +36,7 @@ /// These shuttles leave when the main emergency shuttle does but don't dock anywhere (to save space), so this counts as "escaped". #define ENDGAME_TRANSIT 3 -//positive value = cannot puchase +//positive value = cannot purchase #define SHUTTLEPURCHASE_PURCHASABLE 0 //station can buy a shuttle #define SHUTTLEPURCHASE_PURCHASED 1 //station has already bought a shuttle, so cannot #define SHUTTLEPURCHASE_FORCED 2 //station was given a new shuttle through events or other shenanigans diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm index 645e009413593..ae47267790f1c 100644 --- a/code/__DEFINES/sight.dm +++ b/code/__DEFINES/sight.dm @@ -17,9 +17,12 @@ #define INVISIBILITY_OBSERVER 60 #define SEE_INVISIBLE_OBSERVER 60 -#define INVISIBILITY_MAXIMUM 100 //the maximum allowed for "real" objects +///the maximum allowed for "real" objects +#define INVISIBILITY_MAXIMUM 100 -#define INVISIBILITY_ABSTRACT 101 //only used for abstract objects (e.g. spacevine_controller), things that are not really there. +///only used for abstract objects (e.g. spacevine_controller), things that are not really there. +///not picked up by things like orange() and such +#define INVISIBILITY_ABSTRACT 101 #define BORGMESON (1<<0) #define BORGTHERM (1<<1) @@ -56,6 +59,16 @@ /// NOTE: this does not function with the SIDE_MAP map format. So we can't. :( //#define SEE_BLACKNESS (1<<10) +/// Bitfield of sight flags that show things "inside" the blackness plane +/// We've gotta alpha it down if we get this, cause otherwise the sight flag won't work +#define BLACKNESS_CUTTING (SEE_MOBS|SEE_OBJS|SEE_TURFS|SEE_TURFS|SEE_TURFS) + +/// Range at which blindness effects treat nearsightedness as blind and play +#define NEARSIGHTNESS_BLINDNESS 2 + +/// Range in tiles that a mob can see in the dark (used to determine if a mob has night_vision) +#define NIGHTVISION_RANGE 8 + /// Bitfield of sight flags that show THINGS but no lighting /// Since lighting is an underlay on turfs, this is everything but that #define SEE_AVOID_TURF_BLACKNESS (SEE_MOBS|SEE_OBJS) @@ -71,7 +84,7 @@ //------------------------ // INVISIBILITY SOURCE IDS // Though don't feel the need to add one here if you have a simple effect that -// gets added and/or removed in only one place near eachother in the code. +// gets added and/or removed in only one place near each other in the code. #define INVISIBILITY_SOURCE_INVISIMIN "invisimin" #define INVISIBILITY_SOURCE_STEALTHMODE "stealthmode" diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 345ff07ea18a2..e41bd29dfac23 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -176,3 +176,7 @@ GLOBAL_LIST_INIT(announcer_keys, list( #define SFX_PORTAL_CLOSE "portal_closed" #define SFX_PORTAL_CREATED "portal_created" #define SFX_SCREECH "screech" +#define SFX_TOOL_SWITCH "tool_switch" +#define SFX_KEYBOARD_CLICKS "keyboard_clicks" +#define SFX_STONE_DROP "stone_drop" +#define SFX_STONE_PICKUP "stone_pickup" diff --git a/code/__DEFINES/span.dm b/code/__DEFINES/span.dm index 0447e87f532fe..fadd00053156d 100644 --- a/code/__DEFINES/span.dm +++ b/code/__DEFINES/span.dm @@ -120,6 +120,7 @@ #define span_small(str) ("" + str + "") #define span_smallnotice(str) ("" + str + "") #define span_smallnoticeital(str) ("" + str + "") +#define span_soapbox(str) ("" + str + "") #define span_spiderbroodmother(str) ("" + str + "") #define span_spiderscout(str) ("" + str + "") #define span_spiderbreacher(str) ("" + str + "") diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 8d460c3aecb6f..a08d454315d5a 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -156,6 +156,7 @@ #define INIT_ORDER_TICKER 55 #define INIT_ORDER_TCG 55 #define INIT_ORDER_MAPPING 50 +#define INIT_ORDER_AI_IDLE_CONTROLLERS 50 #define INIT_ORDER_EARLY_ASSETS 48 #define INIT_ORDER_RESEARCH 47 #define INIT_ORDER_TIMETRACK 46 @@ -192,7 +193,7 @@ // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) - +#define FIRE_PRIORITY_IDLE_NPC 5 #define FIRE_PRIORITY_PING 10 #define FIRE_PRIORITY_SERVER_MAINT 10 #define FIRE_PRIORITY_RESEARCH 10 @@ -298,9 +299,14 @@ #define SSEXPLOSIONS_THROWS 3 // Machines subsystem subtasks. -#define SSMACHINES_APCS_EARLY 1 -#define SSMACHINES_MACHINES 2 -#define SSMACHINES_APCS_LATE 3 +#define SSMACHINES_MACHINES_EARLY 1 +#define SSMACHINES_APCS_EARLY 2 +#define SSMACHINES_APCS_ENVIRONMENT 3 +#define SSMACHINES_APCS_LIGHTS 4 +#define SSMACHINES_APCS_EQUIPMENT 5 +#define SSMACHINES_APCS_LATE 6 +#define SSMACHINES_MACHINES 7 +#define SSMACHINES_MACHINES_LATE 8 // Wardrobe subsystem tasks #define SSWARDROBE_STOCK 1 diff --git a/code/__DEFINES/text.dm b/code/__DEFINES/text.dm index 8b0fda53cd79e..3b5cb5d795011 100644 --- a/code/__DEFINES/text.dm +++ b/code/__DEFINES/text.dm @@ -112,3 +112,7 @@ #define SPLASH_FILE "splashes.json" ///File location for mother hallucination lines #define MOTHER_FILE "mother.json" + +#define ALPHABET list("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z") +#define VOWELS list("a", "e", "i", "o", "u") +#define CONSONANTS (ALPHABET - VOWELS) diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index e2c89df90e9bf..4766b3dfe661e 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,18 +1,19 @@ // tgstation-server DMAPI +// The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. -#define TGS_DMAPI_VERSION "7.1.2" +#define TGS_DMAPI_VERSION "7.2.1" // All functions and datums outside this document are subject to change with any version and should not be relied on. // CONFIGURATION -/// Create this define if you want to do TGS configuration outside of this file. +/// Consumers SHOULD create this define if you want to do TGS configuration outside of this file. #ifndef TGS_EXTERNAL_CONFIGURATION -// Comment this out once you've filled in the below. +// Consumers MUST comment this out once you've filled in the below and are not using [TGS_EXTERNAL_CONFIGURATION]. #error TGS API unconfigured -// Uncomment this if you wish to allow the game to interact with TGS 3.. +// Consumers MUST uncomment this if you wish to allow the game to interact with TGS version 3. // This will raise the minimum required security level of your game to TGS_SECURITY_TRUSTED due to it utilizing call()(). //#define TGS_V3_API @@ -52,7 +53,7 @@ #ifndef TGS_FILE2TEXT_NATIVE #ifdef file2text -#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You can fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses +#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You SHOULD fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses #endif #define TGS_FILE2TEXT_NATIVE file2text #endif @@ -152,16 +153,17 @@ //REQUIRED HOOKS /** - * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! + * Consumers MUST call this somewhere in [/world/proc/New] that is always run. This function may sleep! * * * event_handler - Optional user defined [/datum/tgs_event_handler]. * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. + * * http_handler - Optional user defined [/datum/tgs_http_handler]. */ -/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler) return /** - * Call this when your initializations are complete and your game is ready to play before any player interactions happen. + * Consumers MUST call this when world initializations are complete and the game is ready to play before any player interactions happen. * * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 @@ -170,12 +172,10 @@ /world/proc/TgsInitializationComplete() return -/// Put this at the start of [/world/proc/Topic]. +/// Consumers MUST run this macro at the start of [/world/proc/Topic]. #define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return -/** - * Call this as late as possible in [world/proc/Reboot] (BEFORE ..()). - */ +/// Consumers MUST call this as late as possible in [world/proc/Reboot] (BEFORE ..()). /world/proc/TgsReboot() return @@ -269,7 +269,7 @@ /// The [/datum/tgs_chat_channel] the user was from. var/datum/tgs_chat_channel/channel -/// User definable handler for TGS events. +/// User definable handler for TGS events This abstract version SHOULD be overridden to be used. /datum/tgs_event_handler /// If the handler receieves [TGS_EVENT_HEALTH_CHECK] events. var/receive_health_checks = FALSE @@ -283,7 +283,41 @@ set waitfor = FALSE return -/// User definable chat command. +/// User definable handler for HTTP calls. This abstract version MUST be overridden to be used. +/datum/tgs_http_handler + +/** + * User definable callback for executing HTTP GET requests. + * MUST perform BYOND sleeps while the request is in flight. + * MUST return a [/datum/tgs_http_result]. + * SHOULD log its own errors + * + * url - The full URL to execute the GET request for including query parameters. + */ +/datum/tgs_http_handler/proc/PerformGet(url) + CRASH("[type]/PerformGet not implemented!") + +/// Result of a [/datum/tgs_http_handler] call. MUST NOT be overridden. +/datum/tgs_http_result + /// HTTP response as text + var/response_text + /// Boolean request success flag. Set for any 2XX response code. + var/success + +/** + * Create a [/datum/tgs_http_result]. + * + * * response_text - HTTP response as text. Must be provided in New(). + * * success - Boolean request success flag. Set for any 2XX response code. Must be provided in New(). + */ +/datum/tgs_http_result/New(response_text, success) + if(response_text && !istext(response_text)) + CRASH("response_text was not text!") + + src.response_text = response_text + src.success = success + +/// User definable chat command. This abstract version MUST be overridden to be used. /datum/tgs_chat_command /// The string to trigger this command on a chat bot. e.g `@bot name ...` or `!tgs name ...`. var/name = "" @@ -296,21 +330,27 @@ /** * Process command activation. Should return a [/datum/tgs_message_content] to respond to the issuer with. + * MUST be implemented * - * sender - The [/datum/tgs_chat_user] who issued the command. - * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. + * * sender - The [/datum/tgs_chat_user] who issued the command. + * * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. */ /datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params) CRASH("[type] has no implementation for Run()") -/// User definable chat message. +/// User definable chat message. MUST NOT be overridden. /datum/tgs_message_content - /// The tring content of the message. Must be provided in New(). + /// The string content of the message. Must be provided in New(). var/text /// The [/datum/tgs_chat_embed] to embed in the message. Not supported on all chat providers. var/datum/tgs_chat_embed/structure/embed +/** + * Create a [/datum/tgs_message_content]. + * + * * text - The string content of the message. + */ /datum/tgs_message_content/New(text) ..() if(!istext(text)) @@ -319,7 +359,7 @@ src.text = text -/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details. +/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details. /datum/tgs_chat_embed/structure var/title var/description @@ -331,13 +371,13 @@ /// Colour must be #AARRGGBB or #RRGGBB hex string. var/colour - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details. var/datum/tgs_chat_embed/media/image - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure for details. var/datum/tgs_chat_embed/media/thumbnail - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure for details. var/datum/tgs_chat_embed/media/video var/datum/tgs_chat_embed/footer/footer @@ -346,7 +386,7 @@ var/list/datum/tgs_chat_embed/field/fields -/// Common datum for similar discord embed medias. +/// Common datum for similar Discord embed medias. /datum/tgs_chat_embed/media /// Must be set in New(). var/url @@ -354,6 +394,7 @@ var/height var/proxy_url +/// Create a [/datum/tgs_chat_embed]. /datum/tgs_chat_embed/media/New(url) ..() if(!istext(url)) @@ -361,13 +402,14 @@ src.url = url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details. /datum/tgs_chat_embed/footer /// Must be set in New(). var/text var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/footer/New(text) ..() if(!istext(text)) @@ -375,16 +417,17 @@ src.text = text -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details. /datum/tgs_chat_embed/provider var/name var/url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New(). /datum/tgs_chat_embed/provider/author var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/provider/author/New(name) ..() if(!istext(name)) @@ -392,12 +435,15 @@ src.name = name -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details. /datum/tgs_chat_embed/field + /// Must be set in New(). var/name + /// Must be set in New(). var/value var/is_inline +/// Create a [/datum/tgs_chat_embed/field]. /datum/tgs_chat_embed/field/New(name, value) ..() if(!istext(name)) diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 1c03ecac2ee16..79d4c988dd9ab 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -72,7 +72,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai // Trait added to the user of a hippocratic oath status effect #define TRAIT_HIPPOCRATIC_OATH "hippocratic_oath" #define TRAIT_IGNORESLOWDOWN "ignoreslow" -#define TRAIT_IGNOREDAMAGESLOWDOWN "ignoredamageslowdown" /// Makes it so the mob can use guns regardless of tool user status #define TRAIT_GUN_NATURAL "gunnatural" /// Causes death-like unconsciousness @@ -138,6 +137,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Prevents plasmamen from self-igniting if only their helmet is missing #define TRAIT_NOSELFIGNITION_HEAD_ONLY "no_selfignition_head_only" #define TRAIT_NOGUNS "no_guns" +///Can toss a guns like a badass, causing additional damage/effect to their enemies +#define TRAIT_TOSS_GUN_HARD "toss_gun_hard" /// Species with this trait are genderless #define TRAIT_AGENDER "agender" /// Species with this trait have a blood clan mechanic @@ -148,8 +149,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_MUTANT_COLORS "mutcolors" /// Species with this trait have mutant colors that cannot be chosen by the player, nor altered ingame by external means #define TRAIT_FIXED_MUTANT_COLORS "fixed_mutcolors" -/// Species with this trait have a haircolor that cannot be chosen by the player, nor altered ingame by external means -#define TRAIT_FIXED_HAIRCOLOR "fixed_haircolor" /// Humans with this trait won't get bloody hands, nor bloody feet #define TRAIT_NO_BLOOD_OVERLAY "no_blood_overlay" /// Humans with this trait cannot have underwear @@ -224,6 +223,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_REVEAL_FISH "reveal_fish" ///This trait gets you a list of fishes that can be caught when examining a fishing spot. #define TRAIT_EXAMINE_FISHING_SPOT "examine_fishing_spot" +///lobstrosities and carps will prioritize/flee from those that have this trait (given by the skill-locked hat) +#define TRAIT_SCARY_FISHERMAN "scary_fisherman" +///This trait lets you get the size and weight of the fish by examining them +#define TRAIT_EXAMINE_FISH "examine_fish" +///This trait lets you roughly know if the fish is dead, starving, drowning or sick by examining them +#define TRAIT_EXAMINE_DEEPER_FISH "examine_deeper_fish" ///Trait given to turfs or objects that can be fished from #define TRAIT_FISHING_SPOT "fishing_spot" ///Trait given to mobs that can fish without a rod @@ -232,6 +237,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_EXAMINE_FITNESS "reveal_power_level" /// These mobs have particularly hygienic tongues #define TRAIT_WOUND_LICKER "wound_licker" +/// Mobs with this trait are allowed to use silicon emotes +#define TRAIT_SILICON_EMOTES_ALLOWED "silicon_emotes_allowed" /// This trait designate that the mob was originally a monkey #define TRAIT_BORN_MONKEY "born_as_a_monkey" @@ -258,7 +265,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NODEATH "nodeath" #define TRAIT_NOHARDCRIT "nohardcrit" #define TRAIT_NOSOFTCRIT "nosoftcrit" +/// Makes someone show up as mindshielded on sechuds. Does NOT actually make them unconvertable - See TRAIT_UNCONVERTABLE for that #define TRAIT_MINDSHIELD "mindshield" +/// Makes it impossible for someone to be converted by cult/revs/etc. +#define TRAIT_UNCONVERTABLE "unconvertable" #define TRAIT_DISSECTED "dissected" #define TRAIT_SURGICALLY_ANALYZED "surgically_analyzed" /// Lets the user succumb even if they got NODEATH @@ -333,6 +343,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_SECURITY_HUD "sec_hud" /// for something granting you a diagnostic hud #define TRAIT_DIAGNOSTIC_HUD "diag_hud" +#define TRAIT_BOT_PATH_HUD "bot_path_hud" /// Is a medbot healing you #define TRAIT_MEDIBOTCOMINGTHROUGH "medbot" #define TRAIT_PASSTABLE "passtable" @@ -351,8 +362,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_GUNFLIP "gunflip" /// Increases chance of getting special traumas, makes them harder to cure #define TRAIT_SPECIAL_TRAUMA_BOOST "special_trauma_boost" -/// Doubles the duration and cooldown of a flip -#define TRAIT_SLOW_FLIP "slow_flip" #define TRAIT_SPACEWALK "spacewalk" /// Sanity trait to keep track of when we're in hyperspace and add the appropriate element if we werent #define TRAIT_HYPERSPACED "hyperspaced" @@ -413,6 +422,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_ANTENNAE "antennae" /// Blowing kisses actually does damage to the victim #define TRAIT_KISS_OF_DEATH "kiss_of_death" +/// Syndie kisses can apply burn damage +#define TRAIT_SYNDIE_KISS "syndie_kiss" /// Used to activate french kissing #define TRAIT_GARLIC_BREATH "kiss_of_garlic_death" /// Addictions don't tick down, basically they're permanently addicted @@ -568,6 +579,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait that determines vulnerability to being stunned from a shove #define TRAIT_STUN_ON_NEXT_SHOVE "stun on next shove" +/// Trait that determines whether our mob gains more strength from drinking during a fist fight +#define TRAIT_DRUNKEN_BRAWLER "drunken brawler" + // METABOLISMS // Various jobs on the station have historically had better reactions // to various drinks and foodstuffs. Security liking donuts is a classic @@ -661,6 +675,11 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// This movable atom has the explosive block element #define TRAIT_BLOCKING_EXPLOSIVES "blocking_explosives" +///This mob is currently blocking a projectile. +#define TRAIT_BLOCKING_PROJECTILES "blocking_projectiles" +/// This turf contains something using split visiblity +#define TRAIT_CONTAINS_SPLITVIS "contains_splitvis" + ///Lava will be safe to cross while it has this trait. #define TRAIT_LAVA_STOPPED "lava_stopped" ///Chasms will be safe to cross while they've this trait. @@ -698,6 +717,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_HONKSPAMMING "trait_honkspamming" /// Required by the waddling element since there are multiple sources of it. #define TRAIT_WADDLING "trait_waddling" +/// Required by the on_hit_effect element, which is in turn added by other elements. +#define TRAIT_ON_HIT_EFFECT "trait_on_hit_effect" ///Used for managing KEEP_TOGETHER in [/atom/var/appearance_flags] #define TRAIT_KEEP_TOGETHER "keep-together" @@ -725,22 +746,26 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FOOD_SILVER "food_silver" /// If this item's been made by a chef instead of being map-spawned or admin-spawned or such #define TRAIT_FOOD_CHEF_MADE "food_made_by_chef" +/// This atom has a quality_food_ingredient element attached +#define TRAIT_QUALITY_FOOD_INGREDIENT "quality_food_ingredient" /// The items needs two hands to be carried #define TRAIT_NEEDS_TWO_HANDS "needstwohands" /// Can't be catched when thrown #define TRAIT_UNCATCHABLE "uncatchable" -/// Fish in this won't die -#define TRAIT_FISH_SAFE_STORAGE "fish_case" /// Stuff that can go inside fish cases #define TRAIT_FISH_CASE_COMPATIBILE "fish_case_compatibile" /// If the item can be used as a bit. #define TRAIT_FISHING_BAIT "fishing_bait" +/// This bait will kill any fish that doesn't have it on its favorite_bait list +#define TRAIT_POISONOUS_BAIT "poisonous_bait" /// The quality of the bait. It influences odds of catching fish #define TRAIT_BASIC_QUALITY_BAIT "baic_quality_bait" #define TRAIT_GOOD_QUALITY_BAIT "good_quality_bait" #define TRAIT_GREAT_QUALITY_BAIT "great_quality_bait" /// Baits with this trait will ignore bait preferences and related fish traits. #define TRAIT_OMNI_BAIT "omni_bait" +/// The bait won't be consumed when used +#define TRAIT_BAIT_UNCONSUMABLE "bait_unconsumabe" /// Plants that were mutated as a result of passive instability, not a mutation threshold. #define TRAIT_PLANT_WILDMUTATE "wildmutation" /// If you hit an APC with exposed internals with this item it will try to shock you @@ -767,7 +792,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_DANGEROUS_OBJECT "dangerous_object" /// determines whether or not objects are haunted and teleport/attack randomly #define TRAIT_HAUNTED "haunted" -/// An item that, if it has contents, will ignore it's contents when scanning for contraband. +/// An item that, if it has contents, will ignore its contents when scanning for contraband. #define TRAIT_CONTRABAND_BLOCKER "contraband_blocker" //quirk traits @@ -857,6 +882,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait applied when the MMI component is added to an [/obj/item/integrated_circuit] #define TRAIT_COMPONENT_MMI "component_mmi" +/// Trait applied when the turf is being masked by the [/datum/component/vis_block] component +/// Without cutting out ALL of the center, requiring extra trickery to make seeing both sides reveal the inside +#define TRAIT_INNER_DARKNESS "inner_darkness" + /// Trait applied when an integrated circuit/module becomes undupable #define TRAIT_CIRCUIT_UNDUPABLE "circuit_undupable" @@ -918,6 +947,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_MECHA_CREATED_NORMALLY "trait_mecha_created_normally" ///fish traits +#define TRAIT_FISH_STASIS "fish_stasis" +#define TRAIT_FISH_FLOPPING "fish_flopping" #define TRAIT_RESIST_EMULSIFY "resist_emulsify" #define TRAIT_FISH_SELF_REPRODUCE "fish_self_reproduce" #define TRAIT_FISH_NO_MATING "fish_no_mating" @@ -932,6 +963,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FISH_FROM_CASE "fish_from_case" ///Fish will also occasionally fire weak tesla zaps #define TRAIT_FISH_ELECTROGENESIS "fish_electrogenesis" +///Offsprings from this fish will never be of its same type (unless it's self-reproducing). +#define TRAIT_FISH_RECESSIVE "fish_recessive" +///This fish comes equipped with a stinger (increased damage and potentially venomous if also toxic) +#define TRAIT_FISH_STINGER "fish_stinger" /// Trait given to angelic constructs to let them purge cult runes #define TRAIT_ANGELIC "angelic" @@ -965,14 +1000,22 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai */ #define TRAIT_UNIQUE_IMMERSE "unique_immerse" +/// Don't render a drop shadow +#define TRAIT_SHADOWLESS "shadowless" + /// This item is currently under the control of telekinesis #define TRAIT_TELEKINESIS_CONTROLLED "telekinesis_controlled" /// changelings with this trait can no longer talk over the hivemind #define TRAIT_CHANGELING_HIVEMIND_MUTE "ling_mute" +/// This guy is a hulk! (Bulky and green, lacks tact) #define TRAIT_HULK "hulk" /// Isn't attacked harmfully by blob structures #define TRAIT_BLOB_ALLY "blob_ally" +/// Has the chuuni component +#define TRAIT_CHUUNIBYOU "chuunibyou" +/// Has splattercasting +#define TRAIT_SPLATTERCASTER "splattercaster" ///Traits given by station traits #define STATION_TRAIT_ASSISTANT_GIMMICKS "station_trait_assistant_gimmicks" @@ -1024,6 +1067,13 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// things with this trait are treated as having no access in /atom/movable/proc/check_access(obj/item) #define TRAIT_ALWAYS_NO_ACCESS "alwaysnoaccess" +///The entity has Silicon 'access', so is either a silicon, has an access wand, or is an admin ghost AI. +///This is put on the mob, it is used on the client for Admins but they are the exception as they use `isAdminGhostAI`. +#define TRAIT_SILICON_ACCESS "silicon_access_trait" +///The entity has AI 'access', so is either an AI, has an access wand, or is an admin ghost AI. Used to block off regular Silicons from things. +///This is put on the mob, it is used on the client for Admins but they are the exception as they use `isAdminGhostAI`. +#define TRAIT_AI_ACCESS "ai_access_trait" + ///Used by wearable_client_colour to determine whether the mob wants to have the colours of the screen affected by worn items (some still do regardless). #define TRAIT_SEE_WORN_COLOURS "see_worn_colour" @@ -1070,13 +1120,13 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Currently fishing #define TRAIT_GONE_FISHING "fishing" -/// Makes a species be better/worse at tackling depending on their wing's status +/// Makes a character be better/worse at tackling depending on their wing's status #define TRAIT_TACKLING_WINGED_ATTACKER "tacking_winged_attacker" -/// Makes a species be frail and more likely to roll bad results if they hit a wall +/// Makes a character be frail and more likely to roll bad results if they hit a wall #define TRAIT_TACKLING_FRAIL_ATTACKER "tackling_frail_attacker" -/// Makes a species be better/worse at defending against tackling depending on their tail's status +/// Makes a character be better/worse at defending against tackling depending on their tail's status #define TRAIT_TACKLING_TAILED_DEFENDER "tackling_tailed_defender" /// Is runechat for this atom/movable currently disabled, regardless of prefs or anything? @@ -1112,6 +1162,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///Trait given to limb by /mob/living/basic/living_limb_flesh #define TRAIT_IGNORED_BY_LIVING_FLESH "livingflesh_ignored" +///Trait given to organs that have been inside a living being previously +#define TRAIT_USED_ORGAN "used_organ" + /// Trait given while using /datum/action/cooldown/mob_cooldown/wing_buffet #define TRAIT_WING_BUFFET "wing_buffet" /// Trait given while tired after using /datum/action/cooldown/mob_cooldown/wing_buffet @@ -1119,8 +1172,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait given to a dragon who fails to defend their rifts #define TRAIT_RIFT_FAILURE "fail_dragon_loser" -///this mob is able to relay happiness, given by /datum/component/happiness -#define TRAIT_MOB_RELAY_HAPPINESS "mob_relay_happiness" +///this trait hides most visible fluff and interactions of happiness, likely temporarily. +#define TRAIT_MOB_HIDE_HAPPINESS "mob_hide_happiness" ///trait determines if this mob can breed given by /datum/component/breeding #define TRAIT_MOB_BREEDER "mob_breeder" ///trait given to mobs that are hatched @@ -1171,6 +1224,17 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait given to anything linked to, not necessarily allied to, the mansus #define TRAIT_MANSUS_TOUCHED "mansus_touched" + +// These traits are used in IS_X() as an OR, and is utilized for pseudoantags (such as deathmatch or domains) so they don't need to actually get antag status. +// To specifically and only get the antag datum, GET_X() exists now. +#define TRAIT_ACT_AS_CULTIST "act_as_cultist" +#define TRAIT_ACT_AS_HERETIC "act_as_heretic" + +/// Appiled when wizard buy (/datum/spellbook_entry/perks/spalls_lottery) perk. +/// Give 50/25% chance not spend a spellbook charge on 1/2 cost spell. +/// Appiled it wizard can't refund any spells. +#define TRAIT_SPELLS_LOTTERY "spell_for_sale" + /// Trait given to mobs wearing the clown mask #define TRAIT_PERCEIVED_AS_CLOWN "perceived_as_clown" /// Does this item bypass ranged armor checks? @@ -1192,11 +1256,22 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// This trait lets you attach limbs to any player without surgery. #define TRAIT_EASY_ATTACH "easy_attach" +///Attached to objects currently on window frames, tables and such, allowing them to walk on other objects without the climbing delay +#define TRAIT_ON_CLIMBABLE "on_climbable" + ///Trait given to the birthday boy #define TRAIT_BIRTHDAY_BOY "birthday_boy" ///Trait given to a turf that should not be allowed to be terraformed, such as turfs holding ore vents. #define TRAIT_NO_TERRAFORM "no_terraform" +///Mobs with these trait do not get italicized/quiet speech when speaking in low pressure +#define TRAIT_SPEECH_BOOSTER "speech_booster" + +/// Given to a mob that can throw to make them not able to throw +#define TRAIT_NO_THROWING "no_throwing" + +///Trait which allows mobs to parry mining mob projectiles +#define TRAIT_MINING_PARRYING "mining_parrying" // END TRAIT DEFINES diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index 759101dc2abd5..ecdbdd15e3591 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -36,6 +36,8 @@ #define VENDING_MACHINE_TRAIT "vending_machine" +///A trait given by a held item +#define HELD_ITEM_TRAIT "held-item-trait" #define ABSTRACT_ITEM_TRAIT "abstract-item" /// A trait given by any status effect #define STATUS_EFFECT_TRAIT "status-effect" @@ -45,7 +47,8 @@ /// Trait given by an Action datum #define ACTION_TRAIT "action" - +///A trait given by someone blocking. +#define BLOCKING_TRAIT "blocking" #define CLOTHING_TRAIT "clothing" #define HELMET_TRAIT "helmet" /// inherited from the mask @@ -225,8 +228,6 @@ #define SPEED_TRAIT "speed_trait" /// Trait given to mobs that have been autopsied #define AUTOPSY_TRAIT "autopsy_trait" -/// Trait given by [/datum/status_effect/blessing_of_insanity] -#define MAD_WIZARD_TRAIT "mad_wizard_trait" ///From the market_crash event #define MARKET_CRASH_EVENT_TRAIT "crashed_market_event" @@ -294,3 +295,6 @@ /// Trait when a drink was renamed by a shaker #define SHAKER_LABEL_TRAIT "shaker_trait" + +/// Trait added by style component +#define STYLE_TRAIT "style" diff --git a/code/__DEFINES/turfs.dm b/code/__DEFINES/turfs.dm index 545767289e0b5..0240535b80098 100644 --- a/code/__DEFINES/turfs.dm +++ b/code/__DEFINES/turfs.dm @@ -6,6 +6,8 @@ #define CHANGETURF_RECALC_ADJACENT (1<<5) //Immediately recalc adjacent atmos turfs instead of queuing. #define CHANGETURF_TRAPDOOR_INDUCED (1<<6) // Caused by a trapdoor, for trapdoor to know that this changeturf was caused by itself +#define WINDOW_FRAME_BASE_MATERIAL_AMOUNT 2000 + #define IS_OPAQUE_TURF(turf) (turf.directional_opacity == ALL_CARDINALS) //supposedly the fastest way to do this according to https://gist.github.com/Giacom/be635398926bb463b42a @@ -116,3 +118,10 @@ #define LARGE_TURF_SMOOTHING_X_OFFSET -9 /// Defines the y offset to apply to larger smoothing turfs (such as grass). #define LARGE_TURF_SMOOTHING_Y_OFFSET -9 + +/// Defines a consistent light power for our various basalt turfs +#define BASALT_LIGHT_POWER 0.6 +/// Defines a consistent light range for basalt turfs that have a bigger area of lava +#define BASALT_LIGHT_RANGE_BRIGHT 2 +/// Defines a consistent light range for basalt turfs that have a smaller area of lava +#define BASALT_LIGHT_RANGE_DIM 1.4 diff --git a/code/__DEFINES/uplink.dm b/code/__DEFINES/uplink.dm index 67df6fc0e6295..929b558dfec47 100644 --- a/code/__DEFINES/uplink.dm +++ b/code/__DEFINES/uplink.dm @@ -36,9 +36,12 @@ /// Typepath used for uplink items which don't actually produce an item (essentially just a placeholder) /// Future todo: Make this not necessary / make uplink items support item-less items natively -#define ABSTRACT_UPLINK_ITEM /obj/effect/gibspawner/generic +#define ABSTRACT_UPLINK_ITEM /obj/item/loot_table_maker /// Lower threshold for which an uplink items's TC cost is considered "low" for spy bounties picking rewards #define SPY_LOWER_COST_THRESHOLD 5 /// Upper threshold for which an uplink items's TC cost is considered "high" for spy bounties picking rewards #define SPY_UPPER_COST_THRESHOLD 12 + +/// Minimal cost for an item to be eligible for a discount +#define TRAITOR_DISCOUNT_MIN_PRICE 4 diff --git a/code/__HELPERS/_auxtools_api.dm b/code/__HELPERS/_auxtools_api.dm index 0117ded4c5195..a907be8ecf8fb 100644 --- a/code/__HELPERS/_auxtools_api.dm +++ b/code/__HELPERS/_auxtools_api.dm @@ -1,38 +1,3 @@ -#define AUXTOOLS_FULL_INIT 2 -#define AUXTOOLS_PARTIAL_INIT 1 - -GLOBAL_LIST_EMPTY(auxtools_initialized) -GLOBAL_PROTECT(auxtools_initialized) - -#define AUXTOOLS_CHECK(LIB)\ - if (!CONFIG_GET(flag/auxtools_enabled)) {\ - CRASH("Auxtools is not enabled in config!");\ - }\ - if (GLOB.auxtools_initialized[LIB] != AUXTOOLS_FULL_INIT) {\ - if (fexists(LIB)) {\ - var/string = call_ext(LIB,"auxtools_init")();\ - if(findtext(string, "SUCCESS")) {\ - GLOB.auxtools_initialized[LIB] = AUXTOOLS_FULL_INIT;\ - } else {\ - CRASH(string);\ - }\ - } else {\ - CRASH("No file named [LIB] found!")\ - }\ - }\ - -#define AUXTOOLS_SHUTDOWN(LIB)\ - if (GLOB.auxtools_initialized[LIB] == AUXTOOLS_FULL_INIT && fexists(LIB)){\ - call_ext(LIB,"auxtools_shutdown")();\ - GLOB.auxtools_initialized[LIB] = AUXTOOLS_PARTIAL_INIT;\ - }\ - -#define AUXTOOLS_FULL_SHUTDOWN(LIB)\ - if (GLOB.auxtools_initialized[LIB] && fexists(LIB)){\ - call_ext(LIB,"auxtools_full_shutdown")();\ - GLOB.auxtools_initialized[LIB] = FALSE;\ - } - /proc/auxtools_stack_trace(msg) CRASH(msg) diff --git a/code/__HELPERS/_dreamluau.dm b/code/__HELPERS/_dreamluau.dm new file mode 100644 index 0000000000000..196774d6a88e8 --- /dev/null +++ b/code/__HELPERS/_dreamluau.dm @@ -0,0 +1,297 @@ +/* This comment bypasses grep checks */ /var/__dreamluau + +#define DREAMLUAU (world.system_type == MS_WINDOWS ? "dreamluau.dll" : (__dreamluau || (__dreamluau = __detect_auxtools("dreamluau")))) + +#define DREAMLUAU_CALL(func) call_ext(DREAMLUAU, "byond:[#func]") + +/** + * All of the following functions will return a string if the underlying rust code returns an error or a wrapped panic. + * The return values specified for each function are what they will return if successful. + */ + +/** + * As of 515.1631, byondapi does not provide direct access to `usr`. + * Use this function to pass `usr` into the dreamluau binary so that luau scripts can retrieve it. + * + * @return null on success + */ +#define DREAMLUAU_SET_USR DREAMLUAU_CALL(set_usr)(usr) + + +/** + * Sets the execution limit, in milliseconds. + * + * @param limit the new execution limit + * + * @return null on success + */ +#define DREAMLUAU_SET_EXECUTION_LIMIT_MILLIS(limit) DREAMLUAU_CALL(set_execution_limit_millis)((limit)) + +/** + * Sets the execution limit, in seconds. + * + * @param limit the new execution limit + * + * @return null on success + */ +#define DREAMLUAU_SET_EXECUTION_LIMIT_SECS(limit) DREAMLUAU_CALL(set_execution_limit_secs)((limit)) + +/** + * Clears the execution limit, allowing scripts to run as long as they need to. + * + * WARNING: This allows infinite loops to block Dream Daemon indefinitely, with no safety checks. + * Do not use this if you have no reason for scripts to run arbitrarily long. + * + * @return null on success + */ +#define DREAMLUAU_CLEAR_EXECUTION_LIMIT DREAMLUAU_CALL(clear_execution_limit) + +//Wrapper setters/clearers + +/** + * Set the wrapper for instancing new datums with `dm.new`. + * Clears it if the argument is null. + * If unset, the object will be instantiated using the default `new` instruction. + * + * The wrapper must be a proc with the signature `(type as path, list/arguments)`. + * + * @param wrapper the path to the proc to use as the new wrapper + * + * @return null on success + */ +#define DREAMLUAU_SET_NEW_WRAPPER(wrapper) DREAMLUAU_CALL(set_new_wrapper)((wrapper)) + +/** + * Set the wrapper for reading the vars of an object. + * Clears it if the argument is null. + * If unset, the var will be read directly, without any safety checks. + * + * The wrapper must be a proc with the signature `(target, var)`. + * + * @param wrapper the path to the proc to use as the new wrapper + * + * @return null on success + */ +#define DREAMLUAU_SET_VAR_GET_WRAPPER(wrapper) DREAMLUAU_CALL(set_var_get_wrapper)((wrapper)) + +/** + * Set the wrapper for writing the vars of an object. + * Clears it if the argument is null. + * If unset, the var will be modified directly, without any safety checks. + * + * The wrapper must be a proc with the signature `(target, var, value)`. + * + * @param wrapper the path to the proc to use as the new wrapper + * + * @return null on success + */ +#define DREAMLUAU_SET_VAR_SET_WRAPPER(wrapper) DREAMLUAU_CALL(set_var_set_wrapper)((wrapper)) + +/** + * Set the wrapper for calling a proc on an object. + * Clears it if the argument is null. + * If unset, the proc will be called directly, without any safety checks. + * + * The wrapper must be a proc with the signature `(target, procname as text, list/arguments)`. + * + * @param wrapper the path to the proc to use as the new wrapper + * + * @return null on success + */ +#define DREAMLUAU_SET_OBJECT_CALL_WRAPPER(wrapper) DREAMLUAU_CALL(set_object_call_wrapper)((wrapper)) + +/** + * Set the wrapper for calling a global proc. + * Clears it if the argument is null. + * If unset, the proc will be called directly, without any safety checks. + * + * The wrapper must be a proc with the signature `(procname as text, list/arguments)`. + * + * @param wrapper the path to the proc to use as the new wrapper + * + * @return null on success + */ +#define DREAMLUAU_SET_GLOBAL_CALL_WRAPPER(wrapper) DREAMLUAU_CALL(set_global_call_wrapper)((wrapper)) + +/** + * Set the wrapper for printing with the `print` function. + * Clears it if the argument is null. + * If unset, `print` will raise an error. + * + * The wrapper must be a proc with the signature `(list/arguments)`. + * + * @param wrapper the path to the proc to use as the new wrapper + * + * @return null on success + */ +#define DREAMLUAU_SET_PRINT_WRAPPER(wrapper) DREAMLUAU_CALL(set_print_wrapper)((wrapper)) + + + +/** + * Create a new luau state. + * + * @return a handle to the created state. + */ +#define DREAMLUAU_NEW_STATE DREAMLUAU_CALL(new_state) + +/** + * Some of the following functions return values that cannot be cleanly converted from luau to DM. + * To account for this, these functions also return a list of variant specifiers, equivalent to + * an array of objects of the type described beloe: + * ``` + * type Variants = { + * key?: "error"|Array + * value?: "error"|Array + * } + * ``` + */ + +/** + * The following 4 functions execute luau code and return + * an associative list containing information about the result. + * This list has the following params. + * + * - "status": either "finished", "sleep", "yield", or "error" + * - "return_values": if "status" is "finished" or "yield", contains a list of the return values + * - "variants": a list of variant specifiers for the "return_values" param + * - "message": if "status" is "error", contains the error message + * - "name": the name of the executed code, according to the `what` field of `debug.getinfo` + */ + +/** + * Load and execute a luau script. + * + * @param state the handle to the state + * @param code the source code of the script to run + * @param name an optional name to give to the script, for debugging purposes + * + * @return an associative list containing result information as specified above + */ +#define DREAMLUAU_LOAD DREAMLUAU_CALL(load) + +/** + * Awaken the thread at the front of the specified state's sleeping thread queue. + * + * @param state the handle to the state + * + * @return an associative list containing result information as specified above + */ +#define DREAMLUAU_AWAKEN(state) DREAMLUAU_CALL(awaken)((state)) + +/** + * Resume one of the state's yielded threads. + * + * @param state the handle to the state + * @param index the index of the thread in the state's yielded threads list + * @param ...arguments arguments that will be returned by the `coroutine.yield` that yielded the thread + * + * @return an associative list containing result information as specified above + */ +#define DREAMLUAU_RESUME DREAMLUAU_CALL(resume) + +/** + * Call a function accessible from the global table. + * + * @param state the handle to the state + * @param function a list of nested indices from the global table to the specified function + * @param ...arguments arguments to pass to the function + * + * @return an associative list containing result information as specified above + */ +#define DREAMLUAU_CALL_FUNCTION DREAMLUAU_CALL(call_function) + +// State information collection functions + +/** + * Obtain a copy of the state's global table, converted to DM. + * + * @param state the handle to the state + * + * @return an associative list with the follwing entries: + * - "values": The actual values of the global table + * - "variants": Variant specifiers for "values" + */ +#define DREAMLUAU_GET_GLOBALS(state) DREAMLUAU_CALL(get_globals)((state)) + +/** + * List the names of all sleeping or yielded threads for the state. + * + * @param state the handle to the state + * + * @return an associative list with the following entries: + * - "sleeps": A list of sleeping threads + * - "yields": A list of yielded threads + */ +#define DREAMLUAU_LIST_THREADS(state) DREAMLUAU_CALL(list_threads)((state)) + +// Cleanup functions + +/** + * Run garbage collection on the state. + * + * This may be necessary to prevent hanging references, as some + * hard references may persist in unreachable luau objects that + * would be collected after a garbage collection cycle or two. + * + * @param state the handle to the state + * + * @return null on success + */ +#define DREAMLUAU_COLLECT_GARBAGE(state) DREAMLUAU_CALL(collect_garbage)((state)) + +/** + * Remove a sleeping thread from the sleep queue, without executing it. + * + * @param state the handle to the state + * @param thread the index in the sleep queue to the target thread + * + * @return null on success + */ +#define DREAMLUAU_KILL_SLEEPING_THREAD(state, thread) DREAMLUAU_CALL(kill_sleeping_thread)((state), (thread)) + +/** + * Remove a yielded thread from the yield table, without executing it. + * + * @param state the handle to the state + * @param thread the index in the yield table to the target thread + * + * @return null on success + */ +#define DREAMLUAU_KILL_YIELDED_THREAD(state, thread) DREAMLUAU_CALL(kill_yielded_thread)((state), (thread)) + +/** + * Delete a state. The state's handle will be freed for any new states created afterwards. + * + * @param state the handle to the state + * + * @return null on success + */ +#define DREAMLUAU_KILL_STATE(state) DREAMLUAU_CALL(kill_state)((state)) + +/** + * Retrieve lua traceback info, containing every lua stack frame between the lua entrypoint and the re-entry to dm code. + * + * @param level the level of lua execution to get the traceback for, + * with 1 being the lua code that executed the dm code that called this function, + * 2 being the lua code that executed the dm code that executed the lua code + * that executed the dm code that called this function, etc. + * + * @return the callstack of the specified lua level if valid, null if invalid + */ +#define DREAMLUAU_GET_TRACEBACK(index) DREAMLUAU_CALL(get_traceback)((index)) + +/** + * Luau userdata corresponding to a ref-counted DM type counts as a hard reference for BYOND's garbage collector. + * If you need to delete a DM object, and you cannot be certain that there are no references to it in any luau state, + * call this function before deleting that object to disassociate it from any userdata in any luau state. + * + * Hard deleting an object without clearing userdata corresponding to it leaves the userdata to become associated with + * the next DM object to receive the old object's reference ID, which may be undesirable behavior. + * + * @param object the object to disassociate from userdata. + * + * @return null on success + */ +#define DREAMLUAU_CLEAR_REF_USERDATA(object) DREAMLUAU_CALL(clear_ref_userdata)((object)) + diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 6811a31284aa4..f8a0dc6d7d551 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -850,7 +850,7 @@ used_key_list[input_key] = 1 return input_key -///Flattens a keyed list into a list of it's contents +///Flattens a keyed list into a list of its contents /proc/flatten_list(list/key_list) if(!islist(key_list)) return null @@ -978,53 +978,57 @@ else return element -/// Returns a copy of the list where any element that is a datum or the world is converted into a ref -/proc/refify_list(list/target_list, list/visited, path_accumulator = "list") +/** + * Intermediate step for preparing lists to be passed into the lua editor tgui. + * Resolves weakrefs, converts some values without a standard textual representation to text, + * and can handle self-referential lists and potential duplicate output keys. + */ +/proc/prepare_lua_editor_list(list/target_list, list/visited) if(!visited) visited = list() var/list/ret = list() - visited[target_list] = path_accumulator + visited[target_list] = ret + var/list/duplicate_keys = list() for(var/i in 1 to target_list.len) var/key = target_list[i] var/new_key = key if(isweakref(key)) var/datum/weakref/ref = key - var/resolved = ref.resolve() - if(resolved) - new_key = "[resolved] [REF(resolved)]" - else - new_key = "null weakref [REF(key)]" - else if(isdatum(key)) - new_key = "[key] [REF(key)]" + new_key = ref.resolve() || "null weakref" else if(key == world) - new_key = "world [REF(world)]" + new_key = world.name + else if(ref(key) == "\[0xe000001\]") + new_key = "global" else if(islist(key)) - if(visited.Find(key)) + if(visited[key]) new_key = visited[key] else - new_key = refify_list(key, visited, path_accumulator + "\[[i]\]") + new_key = prepare_lua_editor_list(key, visited) var/value - if(istext(key) || islist(key) || ispath(key) || isdatum(key) || key == world) + if(!isnull(key) && !isnum(key)) value = target_list[key] if(isweakref(value)) var/datum/weakref/ref = value - var/resolved = ref.resolve() - if(resolved) - value = "[resolved] [REF(resolved)]" - else - value = "null weakref [REF(key)]" - else if(isdatum(value)) - value = "[value] [REF(value)]" - else if(value == world) - value = "world [REF(world)]" + value = ref.resolve() || "null weakref" + if(value == world) + value = "world" + else if(ref(value) == "\[0xe000001\]") + value = "global" else if(islist(value)) - if(visited.Find(value)) + if(visited[value]) value = visited[value] else - value = refify_list(value, visited, path_accumulator + "\[[key]\]") - var/list/to_add = list(new_key) - if(value) - to_add[new_key] = value + value = prepare_lua_editor_list(value, visited) + var/list/to_add = list() + if(!isnull(value)) + var/final_key = new_key + while(duplicate_keys[final_key]) + duplicate_keys[new_key]++ + final_key = "[new_key] ([duplicate_keys[new_key]])" + duplicate_keys[final_key] = 1 + to_add[final_key] = value + else + to_add += list(new_key) ret += to_add if(i < target_list.len) CHECK_TICK @@ -1033,29 +1037,31 @@ /** * Converts a list into a list of assoc lists of the form ("key" = key, "value" = value) * so that list keys that are themselves lists can be fully json-encoded + * and that unique objects with the same string representation do not + * produce duplicate keys that are clobbered by the standard JavaScript JSON.parse function */ -/proc/kvpify_list(list/target_list, depth = INFINITY, list/visited, path_accumulator = "list") +/proc/kvpify_list(list/target_list, depth = INFINITY, list/visited) if(!visited) visited = list() var/list/ret = list() - visited[target_list] = path_accumulator + visited[target_list] = ret for(var/i in 1 to target_list.len) var/key = target_list[i] var/new_key = key if(islist(key) && depth) - if(visited.Find(key)) + if(visited[key]) new_key = visited[key] else - new_key = kvpify_list(key, depth-1, visited, path_accumulator + "\[[i]\]") + new_key = kvpify_list(key, depth-1, visited) var/value - if(istext(key) || islist(key) || ispath(key) || isdatum(key) || key == world) + if(!isnull(key) && !isnum(key)) value = target_list[key] if(islist(value) && depth) - if(visited.Find(value)) + if(visited[value]) value = visited[value] else - value = kvpify_list(value, depth-1, visited, path_accumulator + "\[[key]\]") - if(value) + value = kvpify_list(value, depth-1, visited) + if(!isnull(value)) ret += list(list("key" = new_key, "value" = value)) else ret += list(list("key" = i, "value" = new_key)) @@ -1065,12 +1071,12 @@ /// Compares 2 lists, returns TRUE if they are the same /proc/deep_compare_list(list/list_1, list/list_2) - if(!islist(list_1) || !islist(list_2)) - return FALSE - if(list_1 == list_2) return TRUE + if(!islist(list_1) || !islist(list_2)) + return FALSE + if(list_1.len != list_2.len) return FALSE @@ -1093,11 +1099,11 @@ return TRUE /// Returns a copy of the list where any element that is a datum is converted into a weakref -/proc/weakrefify_list(list/target_list, list/visited, path_accumulator = "list") +/proc/weakrefify_list(list/target_list, list/visited) if(!visited) visited = list() var/list/ret = list() - visited[target_list] = path_accumulator + visited[target_list] = ret for(var/i in 1 to target_list.len) var/key = target_list[i] var/new_key = key @@ -1107,62 +1113,19 @@ if(visited.Find(key)) new_key = visited[key] else - new_key = weakrefify_list(key, visited, path_accumulator + "\[[i]\]") + new_key = weakrefify_list(key, visited) var/value - if(istext(key) || islist(key) || ispath(key) || isdatum(key) || key == world) + if(!isnull(key) && !isnum(key)) value = target_list[key] if(isdatum(value)) value = WEAKREF(value) else if(islist(value)) - if(visited.Find(value)) + if(visited[value]) value = visited[value] else - value = weakrefify_list(value, visited, path_accumulator + "\[[key]\]") - var/list/to_add = list(new_key) - if(value) - to_add[new_key] = value - ret += to_add - if(i < target_list.len) - CHECK_TICK - return ret - -/// Returns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are -/// wrapped in quotes and existing quote marks are escaped, -/// and nulls are replaced with the string "null" -/proc/encode_text_and_nulls(list/target_list, list/visited) - var/static/regex/lua_reference_regex - if(!lua_reference_regex) - lua_reference_regex = regex(@"^((function)|(table)|(thread)|(userdata)): 0x[0-9a-fA-F]+$") - if(!visited) - visited = list() - var/list/ret = list() - visited[target_list] = TRUE - for(var/i in 1 to target_list.len) - var/key = target_list[i] - var/new_key = key - if(istext(key) && !target_list[key] && !lua_reference_regex.Find(key)) - new_key = "\"[replacetext(key, "\"", "\\\"")]\"" - else if(islist(key)) - var/found_index = visited.Find(key) - if(found_index) - new_key = visited[found_index] - else - new_key = encode_text_and_nulls(key, visited) - else if(isnull(key)) - new_key = "null" - var/value - if(istext(key) || islist(key) || ispath(key) || isdatum(key) || key == world) - value = target_list[key] - if(istext(value) && !lua_reference_regex.Find(value)) - value = "\"[replacetext(value, "\"", "\\\"")]\"" - else if(islist(value)) - var/found_index = visited.Find(value) - if(found_index) - value = visited[found_index] - else - value = encode_text_and_nulls(value, visited) + value = weakrefify_list(value, visited) var/list/to_add = list(new_key) - if(value) + if(!isnull(value)) to_add[new_key] = value ret += to_add if(i < target_list.len) @@ -1188,3 +1151,155 @@ if("x" in coords) return locate(coords["x"], coords["y"], coords["z"]) return locate(coords[1], coords[2], coords[3]) + +/** + * Given a list and a list of its variant hints, appends variants that aren't explicitly required by dreamluau, + * but are required by the lua editor tgui. + */ +/proc/add_lua_editor_variants(list/values, list/variants, list/visited, path = "") + if(!islist(visited)) + visited = list() + visited[values] = "\[\]" + if(!islist(values) || !islist(variants)) + return + if(values.len != variants.len) + CRASH("values and variants must be the same length") + for(var/i in 1 to variants.len) + var/pair = variants[i] + var/pair_modified = FALSE + if(isnull(pair)) + pair = list("key", "value") + var/key = values[i] + if(islist(key)) + if(visited[key]) + pair["key"] = list("cycle", visited[key]) + else + var/list/key_variants = pair["key"] + var/new_path = path + "\[[i], \"key\"\]," + visited[key] = new_path + add_lua_editor_variants(key, key_variants, visited, new_path) + visited -= key + pair["key"] = list("list", key_variants) + pair_modified = TRUE + else if(isdatum(key) || key == world || ref(key) == "\[0xe000001\]") + pair["key"] = list("ref", ref(key)) + pair_modified = TRUE + var/value + if(!isnull(key) && !isnum(key)) + value = values[key] + if(islist(value)) + if(visited[value]) + pair["value"] = list("cycle", visited[value]) + else + var/list/value_variants = pair["value"] + var/new_path = path + "\[[i], \"value\"\]," + visited[value] = new_path + add_lua_editor_variants(value, value_variants, visited, new_path) + visited -= value + pair["value"] = list("list", value_variants) + pair_modified = TRUE + else if(isdatum(value) || value == world || ref(value) == "\[0xe000001\]") + pair["value"] = list("ref", ref(value)) + pair_modified = TRUE + if(pair_modified && pair != variants[i]) + variants[i] = pair + if(i < variants.len) + CHECK_TICK + +/proc/add_lua_return_value_variants(list/values, list/variants) + if(!islist(values) || !islist(variants)) + return + if(values.len != variants.len) + CRASH("values and variants must be the same length") + for(var/i in 1 to values.len) + var/value = values[i] + if(islist(value)) + add_lua_editor_variants(value, variants[i]) + else if(isdatum(value) || value == world || ref(value) == "\[0xe000001\]") + variants[i] = list("ref", ref(value)) + +/proc/deep_copy_without_cycles(list/values, list/visited) + if(!islist(visited)) + visited = list() + if(!islist(values)) + return values + var/list/ret = list() + var/cycle_count = 0 + visited[values] = TRUE + for(var/i in 1 to values.len) + var/key = values[i] + var/out_key = key + if(islist(key)) + if(visited[key]) + do + out_key = "\[cyclical reference[cycle_count ? " (i)" : ""]\]" + cycle_count++ + while(values.Find(out_key)) + else + visited[key] = TRUE + out_key = deep_copy_without_cycles(key, visited) + visited -= key + var/value + if(!isnull(key) && !isnum(key)) + value = values[key] + var/out_value = value + if(islist(value)) + if(visited[value]) + out_value = "\[cyclical reference\]" + else + visited[value] = TRUE + out_value = deep_copy_without_cycles(value, visited) + visited -= value + var/list/to_add = list(out_key) + if(!isnull(out_value)) + to_add[out_key] = out_value + ret += to_add + if(i < values.len) + CHECK_TICK + return ret + +/** + * Given a list and a list of its variant hints, removes any list key/values that are represent lua values that could not be directly converted to DM. + */ +/proc/remove_non_dm_variants(list/return_values, list/variants, list/visited) + if(!islist(visited)) + visited = list() + if(!islist(return_values) || !islist(variants) || visited[return_values]) + return + visited[return_values] = TRUE + if(return_values.len != variants.len) + CRASH("return_values and variants must be the same length") + for(var/i in 1 to variants.len) + var/pair = variants[i] + if(!islist(variants)) + continue + var/key = return_values[i] + if(pair["key"]) + if(!islist(pair["key"])) + return_values[i] = null + continue + remove_non_dm_variants(key, pair["key"], visited) + if(pair["value"]) + if(!islist(pair["value"])) + return_values[key] = null + continue + remove_non_dm_variants(return_values[key], pair["value"], visited) + +/proc/compare_lua_logs(list/log_1, list/log_2) + if(log_1 == log_2) + return TRUE + for(var/field in list("status", "name", "message", "chunk")) + if(log_1[field] != log_2[field]) + return FALSE + switch(log_1["status"]) + if("finished", "yield") + return deep_compare_list( + recursive_list_resolve(log_1["return_values"]), + recursive_list_resolve(log_2["return_values"]) + ) && deep_compare_list(log_1["variants"], log_2["variants"]) + if("runtime") + return log_1["file"] == log_2["file"]\ + && log_1["line"] == log_2["line"]\ + && deep_compare_list(log_1["stack"], log_2["stack"]) + else + return TRUE diff --git a/code/__HELPERS/_planes.dm b/code/__HELPERS/_planes.dm index 779319114076f..c5066c66062e8 100644 --- a/code/__HELPERS/_planes.dm +++ b/code/__HELPERS/_planes.dm @@ -29,13 +29,13 @@ // Now for the more niche things -/// Takes an object, new plane, and multipler, and offsets the plane -/// This is for cases where you have a multipler precalculated, and just want to use it +/// Takes an object, new plane, and multiplier, and offsets the plane +/// This is for cases where you have a multiplier precalculated, and just want to use it /// Often an optimization, sometimes a necessity #define SET_PLANE_W_SCALAR(thing, new_value, multiplier) (thing.plane = GET_NEW_PLANE(new_value, multiplier)) -/// Implicit plane set. We take the turf from the object we're changing the plane of, and use ITS z as a spokesperson for our plane value +/// Implicit plane set. We take the turf from the atom we're changing the plane of, and use ITS z as a spokesperson for our plane value #define SET_PLANE_IMPLICIT(thing, new_value) SET_PLANE_EXPLICIT(thing, new_value, thing) // This is an unrolled and optimized version of SET_PLANE, for use anywhere where you are unsure of a source's "turfness" diff --git a/code/__HELPERS/atoms.dm b/code/__HELPERS/atoms.dm index 7106ec81be1ba..0b4f7d17a1e25 100644 --- a/code/__HELPERS/atoms.dm +++ b/code/__HELPERS/atoms.dm @@ -314,6 +314,15 @@ rough example of the "cone" made by the 3 dirs checked loc = loc.loc return null +///Returns the last atom type in the specified loc +/proc/get_highest_loc(atom/loc, type) + var/atom/last_found = null + while(loc) + if(istype(loc, type)) + last_found = loc + loc = loc.loc + return last_found + ///Returns true if the src countain the atom target /atom/proc/contains(atom/target) if(!target) diff --git a/code/__HELPERS/colors.dm b/code/__HELPERS/colors.dm index 9c70cef798eac..3a20e5ad60c09 100644 --- a/code/__HELPERS/colors.dm +++ b/code/__HELPERS/colors.dm @@ -101,5 +101,50 @@ return output +/** + * Gets a color for a name, will return the same color for a given string consistently within a round.atom + * + * Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map. + * + * Arguments: + * * name - The name to generate a color for + * * sat_shift - A value between 0 and 1 that will be multiplied against the saturation + * * lum_shift - A value between 0 and 1 that will be multiplied against the luminescence + */ +/proc/colorize_string(name, sat_shift = 1, lum_shift = 1) + // seed to help randomness + var/static/rseed = rand(1,26) + + // get hsl using the selected 6 characters of the md5 hash + var/hash = copytext(md5(name + GLOB.round_id), rseed, rseed + 6) + var/h = hex2num(copytext(hash, 1, 3)) * (360 / 255) + var/s = (hex2num(copytext(hash, 3, 5)) >> 2) * ((CM_COLOR_SAT_MAX - CM_COLOR_SAT_MIN) / 63) + CM_COLOR_SAT_MIN + var/l = (hex2num(copytext(hash, 5, 7)) >> 2) * ((CM_COLOR_LUM_MAX - CM_COLOR_LUM_MIN) / 63) + CM_COLOR_LUM_MIN + + // adjust for shifts + s = clamp(s * sat_shift, 0, 1) + l = clamp(l * lum_shift, 0, 1) + + // convert to rgb + var/h_int = round(h/60) // mapping each section of H to 60 degree sections + var/c = (1 - abs(2 * l - 1)) * s + var/x = c * (1 - abs((h / 60) % 2 - 1)) + var/m = l - c * 0.5 + x = (x + m) * 255 + c = (c + m) * 255 + m *= 255 + switch(h_int) + if(0) + return "#[num2hex(c, 2)][num2hex(x, 2)][num2hex(m, 2)]" + if(1) + return "#[num2hex(x, 2)][num2hex(c, 2)][num2hex(m, 2)]" + if(2) + return "#[num2hex(m, 2)][num2hex(c, 2)][num2hex(x, 2)]" + if(3) + return "#[num2hex(m, 2)][num2hex(x, 2)][num2hex(c, 2)]" + if(4) + return "#[num2hex(x, 2)][num2hex(m, 2)][num2hex(c, 2)]" + if(5) + return "#[num2hex(c, 2)][num2hex(m, 2)][num2hex(x, 2)]" #define RANDOM_COLOUR (rgb(rand(0,255),rand(0,255),rand(0,255))) diff --git a/code/__HELPERS/duplicating.dm b/code/__HELPERS/duplicating.dm index 225dca91fb5b1..f0f3f9a9fce97 100644 --- a/code/__HELPERS/duplicating.dm +++ b/code/__HELPERS/duplicating.dm @@ -15,8 +15,6 @@ GLOBAL_LIST_INIT(duplicate_forbidden_vars, list( "contents", "cooldowns", "_datum_components", - "external_organs", - "external_organs_slot", "group", "hand_bodyparts", "held_items", diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index aa953760bce71..ce48e593980b5 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -214,16 +214,16 @@ if(istype(atom_to_find, type)) return atom_to_find - while(!istype(atom_to_find.loc, type)) + while(!istype(atom_to_find, type)) if(!atom_to_find.loc) return atom_to_find = atom_to_find.loc else if(isatom(type)) atom_to_find = target - if(atom_to_find.loc == type) + if(atom_to_find == type) return atom_to_find - while(atom_to_find.loc != type) + while(atom_to_find != type) if(!atom_to_find.loc) return atom_to_find = atom_to_find.loc diff --git a/code/__HELPERS/generators.dm b/code/__HELPERS/generators.dm index d50df7deba198..85f6de3a090d4 100644 --- a/code/__HELPERS/generators.dm +++ b/code/__HELPERS/generators.dm @@ -5,7 +5,7 @@ * * Note: this means things like "list(1,2,3)" will need to be processed */ /proc/return_generator_args(generator/target) - var/string_repr = "[target]" //the name of the generator is the string representation of it's _binobj, which also contains it's args + var/string_repr = "[target]" //the name of the generator is the string representation of its _binobj, which also contains its args string_repr = copytext(string_repr, 11, length(string_repr)) // strips extraneous data string_repr = replacetext(string_repr, "\"", "") // removes the " around the type return splittext(string_repr, ", ") diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index bd991f29d014a..1bacd0ce2c774 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(WALLITEMS_INTERIOR, typecacheof(list( /obj/machinery/defibrillator_mount, /obj/machinery/firealarm, /obj/machinery/flasher, - /obj/machinery/keycard_auth, + /obj/machinery/keycard_auth/wall_mounted, /obj/machinery/light_switch, /obj/machinery/newscaster, /obj/machinery/power/apc, diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 88ca3dbe11c8c..600faec1f1b44 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -66,7 +66,7 @@ xxx xxx xxx var/right = turn(dir, -90) var/opposite = REVERSE_DIR(dir) // Need to encode diagonals here because it's possible, even if it is always false - var/list/acceptable_adjacents = new /list(largest_dir) + var/list/acceptable_adjacents = new /list(largest_dir + 1) // Alright, what directions are acceptable to us for(var/connectable_dir in (cardinals + NONE)) // And what border objects INSIDE those directions are alright @@ -84,7 +84,6 @@ xxx xxx xxx else if (connectable_dir == right) smoothable_dirs[dir] = right // If it's straight on we'll include our direction as a link - // Then include the two edges on the other side as diagonals else if(connectable_dir == dir) smoothable_dirs[opposite] = dir smoothable_dirs[left] = dir_to_junction(dir | left) @@ -459,8 +458,43 @@ xxx xxx xxx #undef BITMASK_FOUND #undef SEARCH_ADJ_IN_DIR +GLOBAL_LIST_INIT(possible_smoothing_junctions, all_smoothing_junctions()) + +/proc/all_smoothing_junctions() + var/list/junctions = list() + for(var/base in 0 to NORTH_JUNCTION|SOUTH_JUNCTION|EAST_JUNCTION|WEST_JUNCTION) // all the cardinals + junctions += base + if(base == 0) + continue + // Now we check for matching diagonals + if(base & NORTH_JUNCTION) + if(base & WEST_JUNCTION) + junctions += base | NORTHWEST_JUNCTION + if(base & EAST_JUNCTION) + junctions += base | NORTHEAST_JUNCTION + if(base & SOUTH_JUNCTION) + if(base & WEST_JUNCTION) + junctions += base | SOUTHWEST_JUNCTION + if(base & EAST_JUNCTION) + junctions += base | SOUTHEAST_JUNCTION + return junctions + +/// Takes an input smoothing junction, filters out the components of it that are invalid according to how dmis are built +/proc/make_smoothing_junction_valid(input_junction) + // You need both cardinal junctions to allow a corresponding diagonal junction + if(input_junction & NORTHWEST_JUNCTION && (input_junction & (NORTH_JUNCTION|WEST_JUNCTION)) != (NORTH_JUNCTION|WEST_JUNCTION)) + input_junction &= ~NORTHWEST_JUNCTION + if(input_junction & NORTHEAST_JUNCTION && (input_junction & (NORTH_JUNCTION|EAST_JUNCTION)) != (NORTH_JUNCTION|EAST_JUNCTION)) + input_junction &= ~NORTHEAST_JUNCTION + if(input_junction & SOUTHWEST_JUNCTION && (input_junction & (SOUTH_JUNCTION|WEST_JUNCTION)) != (SOUTH_JUNCTION|WEST_JUNCTION)) + input_junction &= ~SOUTHWEST_JUNCTION + if(input_junction & SOUTHEAST_JUNCTION && (input_junction & (SOUTH_JUNCTION|EAST_JUNCTION)) != (SOUTH_JUNCTION|EAST_JUNCTION)) + input_junction &= ~SOUTHEAST_JUNCTION + return input_junction + ///Changes the icon state based on the new junction bitmask /atom/proc/set_smoothed_icon_state(new_junction) + SEND_SIGNAL(src, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, new_junction) . = smoothing_junction smoothing_junction = new_junction icon_state = "[base_icon_state]-[smoothing_junction]" @@ -468,6 +502,7 @@ xxx xxx xxx /turf/closed/set_smoothed_icon_state(new_junction) // Avoid calling ..() here to avoid setting icon_state twice, which is expensive given how hot this proc is + SEND_SIGNAL(src, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, new_junction) // I know I know var/old_junction = smoothing_junction smoothing_junction = new_junction @@ -654,6 +689,7 @@ xxx xxx xxx smoothing_flags = SMOOTH_CORNERS|SMOOTH_DIAGONAL_CORNERS|SMOOTH_BORDER smoothing_groups = null canSmoothWith = null + use_splitvis = FALSE #undef NO_ADJ_FOUND #undef ADJ_FOUND diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index d5b3ecb16aff2..5d2637176df2f 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -527,10 +527,10 @@ world continue // Find the new dimensions of the flat icon to fit the added overlay - addX1 = min(flatX1, layer_image.pixel_x + 1) - addX2 = max(flatX2, layer_image.pixel_x + add.Width()) - addY1 = min(flatY1, layer_image.pixel_y + 1) - addY2 = max(flatY2, layer_image.pixel_y + add.Height()) + addX1 = min(flatX1, layer_image.pixel_x + layer_image.pixel_w + 1) + addX2 = max(flatX2, layer_image.pixel_x + layer_image.pixel_w + add.Width()) + addY1 = min(flatY1, layer_image.pixel_y + layer_image.pixel_z + 1) + addY2 = max(flatY2, layer_image.pixel_y + layer_image.pixel_z + add.Height()) if ( addX1 != flatX1 \ @@ -552,7 +552,7 @@ world flatY2 = addY2 // Blend the overlay into the flattened icon - flat.Blend(add, blendMode2iconMode(curblend), layer_image.pixel_x + 2 - flatX1, layer_image.pixel_y + 2 - flatY1) + flat.Blend(add, blendMode2iconMode(curblend), layer_image.pixel_x + layer_image.pixel_w + 2 - flatX1, layer_image.pixel_y + layer_image.pixel_z + 2 - flatY1) if(appearance.color) if(islist(appearance.color)) @@ -1135,7 +1135,7 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) if((x_dimension == world.icon_size) && (y_dimension == world.icon_size)) return image_to_center - //Offset the image so that it's bottom left corner is shifted this many pixels + //Offset the image so that its bottom left corner is shifted this many pixels //This makes it infinitely easier to draw larger inhands/images larger than world.iconsize //but still use them in game var/x_offset = -((x_dimension / world.icon_size) - 1) * (world.icon_size * 0.5) @@ -1239,6 +1239,8 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) var/mutable_appearance/alert_overlay = new(source) alert_overlay.pixel_x = 0 alert_overlay.pixel_y = 0 + alert_overlay.pixel_z = 0 + alert_overlay.pixel_w = 0 var/scale = 1 var/list/icon_dimensions = get_icon_dimensions(source.icon) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index 0271b2e4601cc..5a55fd46fd296 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -60,7 +60,7 @@ var/y_distance_sign = SIGN(y_distance) var/x = abs_x_distance >> 1 //Counters for steps taken, setting to distance/2 - var/y = abs_y_distance >> 1 //Bit-shifting makes me l33t. It also makes get_line() unnessecarrily fast. + var/y = abs_y_distance >> 1 //Bit-shifting makes me l33t. It also makes get_line() unnecessarily fast. if(abs_x_distance >= abs_y_distance) //x distance is greater than y for(var/distance_counter in 0 to (abs_x_distance - 1))//It'll take abs_x_distance steps to get there @@ -86,7 +86,7 @@ /** * Get a list of turfs in a perimeter given the `center_atom` and `radius`. - * Automatically rounds down decimals and does not accept values less than positive 1 as they dont play well with it. + * Automatically rounds down decimals and does not accept values less than positive 1 as they don't play well with it. * Is efficient on large circles but ugly on small ones * Uses [Jesko`s method to the midpoint circle Algorithm](https://en.wikipedia.org/wiki/Midpoint_circle_algorithm). */ diff --git a/code/__HELPERS/matrices.dm b/code/__HELPERS/matrices.dm index 68b94fc2fe654..8a5534e3827b8 100644 --- a/code/__HELPERS/matrices.dm +++ b/code/__HELPERS/matrices.dm @@ -40,8 +40,7 @@ decompose_matrix.rotation = arctan(cossine, sine) * flip_sign /matrix/proc/TurnTo(old_angle, new_angle) - . = new_angle - old_angle - Turn(.) //BYOND handles cases such as -270, 360, 540 etc. DOES NOT HANDLE 180 TURNS WELL, THEY TWEEN AND LOOK LIKE SHIT + return Turn(new_angle - old_angle) //BYOND handles cases such as -270, 360, 540 etc. DOES NOT HANDLE 180 TURNS WELL, THEY TWEEN AND LOOK LIKE SHIT /** * Shear the transform on either or both axes. diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 67faf3f32b72c..f8297720e83e6 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -632,7 +632,7 @@ GLOBAL_LIST_INIT(skin_tone_names, list( else return zone -///Takes a zone and returns it's "parent" zone, if it has one. +///Takes a zone and returns its "parent" zone, if it has one. /proc/deprecise_zone(precise_zone) switch(precise_zone) if(BODY_ZONE_PRECISE_GROIN) @@ -693,6 +693,8 @@ GLOBAL_LIST_INIT(skin_tone_names, list( slot_strings += "dextrous storage" if(slot_flags & ITEM_SLOT_BACKPACK) slot_strings += "backpack" + if(slot_flags & ITEM_SLOT_BELTPACK) + slot_strings += "belt" // ? return slot_strings ///Returns the direction that the initiator and the target are facing diff --git a/code/__HELPERS/piping_colors_lists.dm b/code/__HELPERS/piping_colors_lists.dm index c198e569635e7..8b92e2d530a3d 100644 --- a/code/__HELPERS/piping_colors_lists.dm +++ b/code/__HELPERS/piping_colors_lists.dm @@ -4,7 +4,7 @@ GLOBAL_LIST_INIT(pipe_paint_colors, list( "green" = COLOR_VIBRANT_LIME, "blue" = COLOR_BLUE, "red" = COLOR_RED, - "orange" = COLOR_TAN_ORANGE, + "orange" = COLOR_ENGINEERING_ORANGE, "cyan" = COLOR_CYAN, "dark" = COLOR_DARK, "yellow" = COLOR_YELLOW, @@ -23,7 +23,7 @@ GLOBAL_LIST_INIT(pipe_colors_ordered, sort_list(list( COLOR_DARK = -2, COLOR_VIBRANT_LIME = -1, COLOR_VERY_LIGHT_GRAY = 0, - COLOR_TAN_ORANGE = 1, + COLOR_ENGINEERING_ORANGE = 1, COLOR_PURPLE = 2, COLOR_RED = 3, COLOR_STRONG_VIOLET = 4, @@ -36,7 +36,7 @@ GLOBAL_LIST_INIT(pipe_color_name, sort_list(list( COLOR_BLUE = "blue", COLOR_RED = "red", COLOR_VIBRANT_LIME = "green", - COLOR_TAN_ORANGE = "orange", + COLOR_ENGINEERING_ORANGE = "orange", COLOR_CYAN = "cyan", COLOR_DARK = "dark", COLOR_YELLOW = "yellow", diff --git a/code/__HELPERS/pixel_offsets.dm b/code/__HELPERS/pixel_offsets.dm new file mode 100644 index 0000000000000..5e6031ec6ecdd --- /dev/null +++ b/code/__HELPERS/pixel_offsets.dm @@ -0,0 +1,14 @@ +/// Takes a set of pixel offsets (w and z here for consistency could be x and y) (applied to a floor item) +/// and turns them by the passed in angle +/// Returns a list in the form list(pixel_w, pixel_z) +/proc/rotate_pixel_offset(pixel_w, pixel_z, angle = 0) + switch(angle) + if(0) + return list(pixel_w, pixel_z) + if(90) + return list(pixel_z, -pixel_w) + if(180) + return list(-pixel_w, -pixel_z) + if(270) + return list(-pixel_z, pixel_w) + return list(pixel_w, pixel_z) diff --git a/code/__HELPERS/spawns.dm b/code/__HELPERS/spawns.dm index 2c93e4ba19e56..c72c5a555de5a 100644 --- a/code/__HELPERS/spawns.dm +++ b/code/__HELPERS/spawns.dm @@ -29,7 +29,13 @@ if(!ispath(path)) path.forceMove(pod) else - path = new path(pod) + var/amount_to_spawn = paths_to_spawn[path] || 1 + if(!isnum(amount_to_spawn)) + stack_trace("amount to spawn for path \"[path]\" is not a number, defaulting to 1") + amount_to_spawn = 1 + + for(var/item_number in 1 to amount_to_spawn) + new path(pod) //remove non var edits from specifications specifications -= "target" diff --git a/code/__HELPERS/string_lists.dm b/code/__HELPERS/string_lists.dm index 99ce28fba1dfe..86ed354400d7b 100644 --- a/code/__HELPERS/string_lists.dm +++ b/code/__HELPERS/string_lists.dm @@ -27,5 +27,7 @@ GLOBAL_LIST_EMPTY(string_lists) /turf/closed/indestructible/baseturfs_ded name = "Report this" desc = "It looks like base turfs went to the fucking moon, TELL YOUR LOCAL CODER TODAY" - icon = 'icons/turf/debug.dmi' - icon_state = "fucked_baseturfs" + icon = 'icons/turf/walls/baseturfs_fuck.dmi' + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 3d9bab22285f2..f1fa482f50664 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -71,7 +71,7 @@ return t t = matchMiddle.group[1] - // Replace any non-space whitespace characters with spaces, and also multiple occurences with just one space + // Replace any non-space whitespace characters with spaces, and also multiple occurrences with just one space var/static/regex/matchSpacing = new(@"\s+", "g") t = replacetext(t, matchSpacing, " ") @@ -121,7 +121,7 @@ if(isnull(user_input)) // User pressed cancel return if(no_trim) - return copytext(html_encode(user_input), 1, max_length) + return copytext_char(html_encode(user_input), 1, max_length) else return trim(html_encode(user_input), max_length) //trim is "outside" because html_encode can expand single symbols into multiple symbols (such as turning < into <) @@ -140,7 +140,7 @@ if(isnull(user_input)) // User pressed cancel return if(no_trim) - return copytext(html_encode(user_input), 1, max_length) + return copytext_char(html_encode(user_input), 1, max_length) else return trim(html_encode(user_input), max_length) @@ -153,7 +153,7 @@ /** * Filters out undesirable characters from names. * - * * strict - return null immidiately instead of filtering out + * * strict - return null immediately instead of filtering out * * allow_numbers - allows numbers and common special characters - used for silicon/other weird things names * * cap_after_symbols - words like Bob's will be capitalized to Bob'S by default. False is good for titles. */ @@ -169,7 +169,7 @@ var/char = "" // This is a sanity short circuit, if the users name is three times the maximum allowable length of name - // We bail out on trying to process the name at all, as it could be a bug or malicious input and we dont + // We bail out on trying to process the name at all, as it could be a bug or malicious input and we don't // Want to iterate all of it. if(t_len > 3 * MAX_NAME_LEN) return @@ -368,7 +368,7 @@ */ /proc/truncate(text, max_length) if(length(text) > max_length) - return copytext(text, 1, max_length) + return copytext_char(text, 1, max_length) return text //Returns a string with reserved characters and spaces before the first word and after the last word removed. @@ -1142,8 +1142,8 @@ GLOBAL_LIST_INIT(binary, list("0","1")) return word var/first_letter = copytext(word, 1, 2) var/first_two_letters = copytext(word, 1, 3) - var/first_word_is_vowel = (first_letter in list("a", "e", "i", "o", "u")) - var/second_word_is_vowel = (copytext(word, 2, 3) in list("a", "e", "i", "o", "u")) + var/first_word_is_vowel = (first_letter in VOWELS) + var/second_word_is_vowel = (copytext(word, 2, 3) in VOWELS) //If a word starts with a vowel add the word "way" at the end of the word. if(first_word_is_vowel) return word + pick("yay", "way", "hay") //in cultures around the world it's different, so heck lets have fun and make it random. should still be readable @@ -1228,6 +1228,13 @@ GLOBAL_LIST_INIT(binary, list("0","1")) var/input_length = LAZYLEN(ending) return !!findtext(input_text, ending, -input_length) +/// Returns TRUE if the input_text starts with any of the beginnings +/proc/starts_with_any(input_text, list/beginnings) + for(var/beginning in beginnings) + if(!!findtext(input_text, beginning, 1, LAZYLEN(beginning)+1)) + return TRUE + return FALSE + /// Generate a grawlix string of length of the text argument. /proc/grawlix(text) var/grawlix = "" diff --git a/code/__HELPERS/turfs.dm b/code/__HELPERS/turfs.dm index 01ad88e68f4c3..ffe2be80910c7 100644 --- a/code/__HELPERS/turfs.dm +++ b/code/__HELPERS/turfs.dm @@ -210,13 +210,16 @@ Turf and target are separate in case you want to teleport some distance from a t * if the bounds are odd, the true middle turf of the atom is returned **/ /proc/get_turf_pixel(atom/checked_atom) - var/turf/atom_turf = get_turf(checked_atom) //use checked_atom's turfs, as it's coords are the same as checked_atom's AND checked_atom's coords are lost if it is inside another atom + var/turf/atom_turf = get_turf(checked_atom) //use checked_atom's turfs, as its coords are the same as checked_atom's AND checked_atom's coords are lost if it is inside another atom if(!atom_turf) return null if(checked_atom.flags_1 & IGNORE_TURF_PIXEL_OFFSET_1) return atom_turf var/list/offsets = get_visual_offset(checked_atom) + // If we're on the upper half of a turf lower our y offset by 16 to hopefully better acount for like, sidemap rendering and such + if(offsets[2] >= 16 && (checked_atom.layer < TOPDOWN_LAYER || checked_atom.layer > BACKGROUND_LAYER)) + offsets[2] -= 16 return pixel_offset_turf(atom_turf, offsets) /** @@ -227,7 +230,7 @@ Turf and target are separate in case you want to teleport some distance from a t * Icon width/height **/ /proc/get_visual_offset(atom/checked_atom) - //Find checked_atom's matrix so we can use it's X/Y pixel shifts + //Find checked_atom's matrix so we can use its X/Y pixel shifts var/matrix/atom_matrix = matrix(checked_atom.transform) var/pixel_x_offset = checked_atom.pixel_x + checked_atom.pixel_w + atom_matrix.get_x_shift() diff --git a/code/__HELPERS/visual_effects.dm b/code/__HELPERS/visual_effects.dm index d219d11e1ce82..3d9e6fccb91d6 100644 --- a/code/__HELPERS/visual_effects.dm +++ b/code/__HELPERS/visual_effects.dm @@ -6,27 +6,22 @@ * This is just so you can apply the animation to things which can be animated but are not movables (like images) */ #define DO_FLOATING_ANIM(target) \ - animate(target, pixel_y = 2, time = 1 SECONDS, loop = -1, flags = ANIMATION_RELATIVE); \ - animate(pixel_y = -2, time = 1 SECONDS, flags = ANIMATION_RELATIVE) + animate(target, transform = target.transform.Translate(0, 2), time = 1 SECONDS, loop = -1, flags = ANIMATION_PARALLEL); \ + animate(transform = target.transform.Translate(0, -2), time = 1 SECONDS); /** * Stops the passed atom / image from appearing floating - * (Living mobs also have a 'body_position_pixel_y_offset' variable that has to be taken into account here) * * In most cases you should NOT call this manually, instead use [/datum/element/movetype_handler]! * This is just so you can apply the animation to things which can be animated but are not movables (like images) */ #define STOP_FLOATING_ANIM(target) \ - var/final_pixel_y = 0; \ - if(ismovable(target)) { \ - var/atom/movable/movable_target = target; \ - final_pixel_y = movable_target.base_pixel_y; \ - }; \ - if(isliving(target)) { \ - var/mob/living/living_target = target; \ - final_pixel_y += living_target.body_position_pixel_y_offset; \ - }; \ - animate(target, pixel_y = final_pixel_y, time = 1 SECONDS) + do { \ + var/datum/decompose_matrix/_decomposed_target_matrix = target.transform.decompose();\ + var/matrix/_original_matrix = matrix().Turn(_decomposed_target_matrix.rotation);\ + _original_matrix = _original_matrix.Scale(_decomposed_target_matrix.scale_x, _decomposed_target_matrix.scale_y);\ + animate(target, transform = _original_matrix, time = 1 SECONDS);\ + } while(FALSE) /// The duration of the animate call in mob/living/update_transform #define UPDATE_TRANSFORM_ANIMATION_TIME (0.2 SECONDS) @@ -44,9 +39,9 @@ speed /= segments if(parallel) - animate(src, transform = matrices[1], time = speed, loops , flags = ANIMATION_PARALLEL) + animate(src, transform = matrices[1], time = speed, loop = loops, flags = ANIMATION_PARALLEL) else - animate(src, transform = matrices[1], time = speed, loops) + animate(src, transform = matrices[1], time = speed, loop = loops) for(var/i in 2 to segments) //2 because 1 is covered above animate(transform = matrices[i], time = speed) //doesn't have an object argument because this is "Stacking" with the animate call above diff --git a/code/__byond_version_compat.dm b/code/__byond_version_compat.dm index 87d4348580e29..0f19332934d09 100644 --- a/code/__byond_version_compat.dm +++ b/code/__byond_version_compat.dm @@ -16,7 +16,7 @@ // We use wrappers for this in case some part of the api ever changes, and to make their function more clear // For the record: GLOBAL_VERB_REF would be useless as verbs can't be global. -/// Call by name proc references, checks if the proc exists on either this type or as a global proc. +/// Call by name proc references, checks if the proc exists on either this type () (AND ONLY THIS TYPE) or as a global proc. #define PROC_REF(X) (nameof(.proc/##X)) /// Call by name verb references, checks if the verb exists on either this type or as a global verb. #define VERB_REF(X) (nameof(.verb/##X)) diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 6056a292ed61f..a6f19f17f6582 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -83,7 +83,8 @@ // If this is uncommented, we do a single run though of the game setup and tear down process with unit tests in between // #define UNIT_TESTS -// If this is uncommented, will attempt to load and initialize prof.dll/libprof.so. +// If this is uncommented, will attempt to load and initialize prof.dll/libprof.so by default. +// Even if it's not defined, you can pass "tracy" via -params in order to try to load it. // We do not ship byond-tracy. Build it yourself here: https://github.com/mafemergency/byond-tracy/ // #define USE_BYOND_TRACY diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index ea1b16d71cef8..8db59bccc3532 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -64,6 +64,7 @@ DEFINE_BITFIELD(area_flags, list( "UNIQUE_AREA" = UNIQUE_AREA, "VALID_TERRITORY" = VALID_TERRITORY, "XENOBIOLOGY_COMPATIBLE" = XENOBIOLOGY_COMPATIBLE, + "NO_BOH" = NO_BOH, )) DEFINE_BITFIELD(turf_flags, list( @@ -199,6 +200,7 @@ DEFINE_BITFIELD(flags_inv, list( "HIDEHEADGEAR" = HIDEHEADGEAR, "HIDEJUMPSUIT" = HIDEJUMPSUIT, "HIDEMASK" = HIDEMASK, + "HIDEBELT" = HIDEBELT, "HIDENECK" = HIDENECK, "HIDESHOES" = HIDESHOES, "HIDESNOUT" = HIDESNOUT, @@ -440,6 +442,7 @@ DEFINE_BITFIELD(supports_variations_flags, list( "CLOTHING_NO_VARIATION" = CLOTHING_NO_VARIATION, "CLOTHING_DIGITIGRADE_VARIATION" = CLOTHING_DIGITIGRADE_VARIATION, "CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON" = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON, + "CLOTHING_DIGITIGRADE_MASK" = CLOTHING_DIGITIGRADE_MASK, )) DEFINE_BITFIELD(flora_flags, list( diff --git a/code/_globalvars/lists/ambience.dm b/code/_globalvars/lists/ambience.dm index 6dd4935817fea..12a389cf081f8 100644 --- a/code/_globalvars/lists/ambience.dm +++ b/code/_globalvars/lists/ambience.dm @@ -127,6 +127,11 @@ GLOBAL_LIST_INIT(maint_ambience,list( 'sound/ambience/ambimaint5.ogg', 'sound/ambience/ambimaint6.ogg', 'sound/ambience/ambimaint7.ogg', + 'sound/ambience/ambimaint8.ogg', + 'sound/ambience/ambimaint9.ogg', + 'sound/ambience/ambimaint10.ogg', + 'sound/ambience/ambimaint11.ogg', + 'sound/ambience/ambimaint12.ogg', 'sound/ambience/ambitech2.ogg', 'sound/voice/lowHiss1.ogg', 'sound/voice/lowHiss2.ogg', diff --git a/code/_globalvars/lists/basic_ai.dm b/code/_globalvars/lists/basic_ai.dm new file mode 100644 index 0000000000000..8d79c9bfafeaf --- /dev/null +++ b/code/_globalvars/lists/basic_ai.dm @@ -0,0 +1,12 @@ +///all basic ai subtrees +GLOBAL_LIST_EMPTY(ai_subtrees) + +///basic ai controllers based on status +GLOBAL_LIST_INIT(ai_controllers_by_status, list( + AI_STATUS_ON = list(), + AI_STATUS_OFF = list(), + AI_STATUS_IDLE = list(), +)) + +///basic ai controllers based on their z level +GLOBAL_LIST_EMPTY(ai_controllers_by_zlevel) diff --git a/code/_globalvars/lists/cargo.dm b/code/_globalvars/lists/cargo.dm index 5e4766fc7c3ff..1a41609d25ce7 100644 --- a/code/_globalvars/lists/cargo.dm +++ b/code/_globalvars/lists/cargo.dm @@ -15,20 +15,3 @@ GLOBAL_LIST_INIT(pack_discount_odds, list( )) GLOBAL_LIST_EMPTY(supplypod_loading_bays) - -GLOBAL_LIST_INIT(podstyles, list(\ - list(POD_SHAPE_NORML, "pod", TRUE, "default", "yellow", RUBBLE_NORMAL, "supply pod", "A Nanotrasen supply drop pod."),\ - list(POD_SHAPE_NORML, "advpod", TRUE, "bluespace", "blue", RUBBLE_NORMAL, "bluespace supply pod" , "A Nanotrasen Bluespace supply pod. Teleports back to CentCom after delivery."),\ - list(POD_SHAPE_NORML, "advpod", TRUE, "centcom", "blue", RUBBLE_NORMAL, "\improper CentCom supply pod", "A Nanotrasen supply pod, this one has been marked with Central Command's designations. Teleports back to CentCom after delivery."),\ - list(POD_SHAPE_NORML, "darkpod", TRUE, "syndicate", "red", RUBBLE_NORMAL, "blood-red supply pod", "An intimidating supply pod, covered in the blood-red markings of the Syndicate. It's probably best to stand back from this."),\ - list(POD_SHAPE_NORML, "darkpod", TRUE, "deathsquad", "blue", RUBBLE_NORMAL, "\improper Deathsquad drop pod", "A Nanotrasen drop pod. This one has been marked the markings of Nanotrasen's elite strike team."),\ - list(POD_SHAPE_NORML, "pod", TRUE, "cultist", "red", RUBBLE_NORMAL, "bloody supply pod", "A Nanotrasen supply pod covered in scratch-marks, blood, and strange runes."),\ - list(POD_SHAPE_OTHER, "missile", FALSE, FALSE, FALSE, RUBBLE_THIN, "cruise missile", "A big ass missile that didn't seem to fully detonate. It was likely launched from some far-off deep space missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible."),\ - list(POD_SHAPE_OTHER, "smissile", FALSE, FALSE, FALSE, RUBBLE_THIN, "\improper Syndicate cruise missile", "A big ass, blood-red missile that didn't seem to fully detonate. It was likely launched from some deep space Syndicate missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible."),\ - list(POD_SHAPE_OTHER, "box", TRUE, FALSE, FALSE, RUBBLE_WIDE, "\improper Aussec supply crate", "An incredibly sturdy supply crate, designed to withstand orbital re-entry. Has 'Aussec Armory - 2532' engraved on the side."),\ - list(POD_SHAPE_NORML, "clownpod", TRUE, "clown", "green", RUBBLE_NORMAL, "\improper HONK pod", "A brightly-colored supply pod. It likely originated from the Clown Federation."),\ - list(POD_SHAPE_OTHER, "orange", TRUE, FALSE, FALSE, RUBBLE_NONE, "\improper Orange", "An angry orange."),\ - list(POD_SHAPE_OTHER, FALSE, FALSE, FALSE, FALSE, RUBBLE_NONE, "\improper S.T.E.A.L.T.H. pod MKVII", "A supply pod that, under normal circumstances, is completely invisible to conventional methods of detection. How are you even seeing this?"),\ - list(POD_SHAPE_OTHER, "gondola", FALSE, FALSE, FALSE, RUBBLE_NONE, "gondola", "The silent walker. This one seems to be part of a delivery agency."),\ - list(POD_SHAPE_OTHER, FALSE, FALSE, FALSE, FALSE, RUBBLE_NONE, FALSE, FALSE, "rl_click", "give_po")\ -)) diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 76c69425bf54b..e44516d2f2873 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -312,7 +312,7 @@ GLOBAL_LIST_INIT(rarity_loot, list(//rare: really good items list(//equipment /obj/item/clothing/glasses/hud/security = 1, /obj/item/clothing/glasses/sunglasses = 1, - /obj/item/clothing/gloves/color/black = 1, + /obj/item/clothing/gloves/color/black/security = 1, /obj/item/clothing/gloves/color/yellow = 1, /obj/item/clothing/gloves/tackler/combat = 1, /obj/item/clothing/head/helmet/toggleable/justice = 1, diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index dce2dc69a50ae..f9f70a2c7069f 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -31,6 +31,7 @@ GLOBAL_LIST_INIT(guardian_first_names, world.file2list("strings/names/guardian_d GLOBAL_LIST_INIT(guardian_tech_surnames, world.file2list("strings/names/guardian_gamepieces.txt")) GLOBAL_LIST_INIT(guardian_fantasy_surnames, world.file2list("strings/names/guardian_tarot.txt")) GLOBAL_LIST_INIT(operative_aliases, world.file2list("strings/names/operative_alias.txt")) +GLOBAL_LIST_INIT(voidwalker_names, world.file2list("strings/names/voidwalker.txt")) GLOBAL_LIST_INIT(verbs, world.file2list("strings/names/verbs.txt")) GLOBAL_LIST_INIT(ing_verbs, world.file2list("strings/names/ing_verbs.txt")) diff --git a/code/_globalvars/lists/quirks.dm b/code/_globalvars/lists/quirks.dm index 22ef830ea773d..896504beb7b2a 100644 --- a/code/_globalvars/lists/quirks.dm +++ b/code/_globalvars/lists/quirks.dm @@ -92,3 +92,9 @@ GLOBAL_LIST_INIT(organ_choice, list( "Liver" = ORGAN_SLOT_LIVER, "Stomach" = ORGAN_SLOT_STOMACH, )) + +///Paraplegic Quirk +GLOBAL_LIST_INIT(paraplegic_choice, list( + "Default" = FALSE, + "Amputee" = TRUE, +)) diff --git a/code/_globalvars/lists/rcd.dm b/code/_globalvars/lists/rcd.dm index 86f546df22307..0eb621ebc5fb4 100644 --- a/code/_globalvars/lists/rcd.dm +++ b/code/_globalvars/lists/rcd.dm @@ -44,6 +44,7 @@ GLOBAL_LIST_INIT(rcd_designs, list( //Window Doors[airlock_glass = TRUE is implied] "Windoors" = list( list(RCD_DESIGN_MODE = RCD_AIRLOCK, RCD_DESIGN_PATH = /obj/machinery/door/window), + list(RCD_DESIGN_MODE = RCD_AIRLOCK, RCD_DESIGN_PATH = /obj/machinery/door/window/half), list(RCD_DESIGN_MODE = RCD_AIRLOCK, RCD_DESIGN_PATH = /obj/machinery/door/window/brigdoor), ), diff --git a/code/_globalvars/lists/typecache.dm b/code/_globalvars/lists/typecache.dm index 07e0eabf01f62..805cea677a092 100644 --- a/code/_globalvars/lists/typecache.dm +++ b/code/_globalvars/lists/typecache.dm @@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(typecache_elevated_structures, typecacheof(list( /obj/structure/table, //Kitchen /obj/machinery/smartfridge, - /obj/machinery/smartfridge/drying_rack, // Redundant, given above, but this is for the sake of explicitness. + /obj/machinery/smartfridge/drying, // Redundant, given above, but this is for the sake of explicitness. /obj/structure/bonfire, /obj/machinery/grill, /obj/machinery/griddle, diff --git a/code/_globalvars/rcd.dm b/code/_globalvars/rcd.dm index 9e674273bf94f..5cc66ba3bb119 100644 --- a/code/_globalvars/rcd.dm +++ b/code/_globalvars/rcd.dm @@ -1,13 +1,13 @@ -GLOBAL_VAR_INIT(icon_holographic_wall, init_holographic_wall()) -GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) +GLOBAL_VAR_INIT(holographic_wall, init_holographic_wall()) +GLOBAL_VAR_INIT(holographic_window, init_holographic_window()) /proc/init_holographic_wall() - return icon('icons/turf/walls/wall.dmi', "wall-0") + return generate_joined_wall('icons/turf/walls/metal_wall.dmi', NONE) /proc/init_holographic_window() - var/icon/grille_icon = icon('icons/obj/structures.dmi', "grille") - var/icon/window_icon = icon('icons/obj/smooth_structures/window.dmi', "window-0") - - grille_icon.Blend(window_icon, ICON_OVERLAY) - - return grille_icon + var/mutable_appearance/window_frame = mutable_appearance('icons/obj/structures/smooth/window_frames/window_frame_normal.dmi', "window_frame_normal-0") + var/mutable_appearance/window = mutable_appearance('icons/obj/structures/smooth/windows/normal_window.dmi', "0-lower") + var/mutable_appearance/window_frill = mutable_appearance('icons/obj/structures/smooth/windows/normal_window.dmi', "0-upper") + window_frill.pixel_z = 32 + window_frame.add_overlay(list(window, window_frill)) + return window_frame diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 592ceda2eac97..f872dde9b343f 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -19,6 +19,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_DRYABLE" = TRAIT_DRYABLE, "TRAIT_FOOD_CHEF_MADE" = TRAIT_FOOD_CHEF_MADE, "TRAIT_FOOD_FRIED" = TRAIT_FOOD_FRIED, + "TRAIT_QUALITY_FOOD_INGREDIENT" = TRAIT_QUALITY_FOOD_INGREDIENT, "TRAIT_FOOD_SILVER" = TRAIT_FOOD_SILVER, "TRAIT_KEEP_TOGETHER" = TRAIT_KEEP_TOGETHER, "TRAIT_LIGHTING_DEBUGGED" = TRAIT_LIGHTING_DEBUGGED, @@ -37,7 +38,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_CASTABLE_LOC" = TRAIT_CASTABLE_LOC, "TRAIT_DEL_ON_SPACE_DUMP" = TRAIT_DEL_ON_SPACE_DUMP, "TRAIT_FISH_CASE_COMPATIBILE" = TRAIT_FISH_CASE_COMPATIBILE, - "TRAIT_FISH_SAFE_STORAGE" = TRAIT_FISH_SAFE_STORAGE, "TRAIT_FROZEN" = TRAIT_FROZEN, "TRAIT_HAS_LABEL" = TRAIT_HAS_LABEL, "TRAIT_HEARING_SENSITIVE" = TRAIT_HEARING_SENSITIVE, @@ -58,7 +58,10 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NOT_ENGRAVABLE" = TRAIT_NOT_ENGRAVABLE, "TRAIT_SPELLS_TRANSFER_TO_LOC" = TRAIT_SPELLS_TRANSFER_TO_LOC, "TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT" = TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT, + "TRAIT_ON_HIT_EFFECT" = TRAIT_ON_HIT_EFFECT, "TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN, + "TRAIT_SCARY_FISHERMAN" = TRAIT_SCARY_FISHERMAN, + "TRAIT_SHADOWLESS" = TRAIT_SHADOWLESS, "TRAIT_SECLUDED_LOCATION" = TRAIT_SECLUDED_LOCATION, "TRAIT_SNOWSTORM_IMMUNE" = TRAIT_SNOWSTORM_IMMUNE, "TRAIT_TELEKINESIS_CONTROLLED" = TRAIT_TELEKINESIS_CONTROLLED, @@ -69,6 +72,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_WADDLING" = TRAIT_WADDLING, "TRAIT_WEATHER_IMMUNE" = TRAIT_WEATHER_IMMUNE, "TRAIT_CHASM_STOPPER" = TRAIT_CHASM_STOPPER, + "TRAIT_INNER_DARKNESS" = TRAIT_INNER_DARKNESS, + "TRAIT_ON_CLIMBABLE" = TRAIT_ON_CLIMBABLE, ), /datum/controller/subsystem/economy = list( "TRAIT_MARKET_CRASHING" = TRAIT_MARKET_CRASHING, @@ -115,8 +120,11 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_CONTRABAND" = TRAIT_CONTRABAND, ), /mob = list( + "TRAIT_AI_ACCESS" = TRAIT_AI_ACCESS, "TRAIT_ABDUCTOR_SCIENTIST_TRAINING" = TRAIT_ABDUCTOR_SCIENTIST_TRAINING, "TRAIT_ABDUCTOR_TRAINING" = TRAIT_ABDUCTOR_TRAINING, + "TRAIT_ACT_AS_CULTIST" = TRAIT_ACT_AS_CULTIST, + "TRAIT_ACT_AS_HERETIC" = TRAIT_ACT_AS_HERETIC, "TRAIT_ADAMANTINE_EXTRACT_ARMOR" = TRAIT_ADAMANTINE_EXTRACT_ARMOR, "TRAIT_ADVANCEDTOOLUSER" = TRAIT_ADVANCEDTOOLUSER, "TRAIT_AGENDER" = TRAIT_AGENDER, @@ -146,13 +154,13 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BIRTHDAY_BOY" = TRAIT_BIRTHDAY_BOY, "TRAIT_BLOB_ALLY" = TRAIT_BLOB_ALLY, "TRAIT_BLOCK_SHUTTLE_MOVEMENT" = TRAIT_BLOCK_SHUTTLE_MOVEMENT, + "TRAIT_BLOCKING_PROJECTILES" = TRAIT_BLOCKING_PROJECTILES, "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BLOODSHOT_EYES" = TRAIT_BLOODSHOT_EYES, "TRAIT_BLOODY_MESS" = TRAIT_BLOODY_MESS, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_BONSAI" = TRAIT_BONSAI, "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, - "TRAIT_BOXING_READY" = TRAIT_BOXING_READY, "TRAIT_BORN_MONKEY" = TRAIT_BORN_MONKEY, "TRAIT_BOXING_READY" = TRAIT_BOXING_READY, "TRAIT_BRAINWASHING" = TRAIT_BRAINWASHING, @@ -173,6 +181,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_CHEF_KISS" = TRAIT_CHEF_KISS, "TRAIT_CHUNKYFINGERS" = TRAIT_CHUNKYFINGERS, "TRAIT_CHUNKYFINGERS_IGNORE_BATON" = TRAIT_CHUNKYFINGERS_IGNORE_BATON, + "TRAIT_CHUUNIBYOU" = TRAIT_CHUUNIBYOU, "TRAIT_CLEANBOT_WHISPERER" = TRAIT_CLEANBOT_WHISPERER, "TRAIT_CLIFF_WALKER" = TRAIT_CLIFF_WALKER, "TRAIT_CLOWN_ENJOYER" = TRAIT_CLOWN_ENJOYER, @@ -189,6 +198,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_DETECTIVES_TASTE" = TRAIT_DETECTIVES_TASTE, "TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM, "TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD, + "TRAIT_BOT_PATH_HUD" = TRAIT_BOT_PATH_HUD, "TRAIT_DISCOORDINATED_TOOL_USER" = TRAIT_DISCOORDINATED_TOOL_USER, "TRAIT_DISEASELIKE_SEVERITY_MEDIUM" = TRAIT_DISEASELIKE_SEVERITY_MEDIUM, "TRAIT_DISFIGURED" = TRAIT_DISFIGURED, @@ -201,6 +211,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_DOUBLE_TAP" = TRAIT_DOUBLE_TAP, "TRAIT_DREAMING" = TRAIT_DREAMING, "TRAIT_DRINKS_BLOOD" = TRAIT_DRINKS_BLOOD, + "TRAIT_DRUNKEN_BRAWLER" = TRAIT_DRUNKEN_BRAWLER, "TRAIT_DUMB" = TRAIT_DUMB, "TRAIT_DWARF" = TRAIT_DWARF, "TRAIT_EASILY_WOUNDED" = TRAIT_EASILY_WOUNDED, @@ -210,10 +221,11 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_ECHOLOCATION_RECEIVER" = TRAIT_ECHOLOCATION_RECEIVER, "TRAIT_ELDRITCH_PAINTING_EXAMINE" = TRAIT_ELDRITCH_PAINTING_EXAMINE, "TRAIT_ELITE_CHALLENGER" = TRAIT_ELITE_CHALLENGER, - "TRAIT_EMOTEMUTE " = TRAIT_EMOTEMUTE, "TRAIT_EMOTEMUTE" = TRAIT_EMOTEMUTE, "TRAIT_EMPATH" = TRAIT_EMPATH, "TRAIT_ENTRAILS_READER" = TRAIT_ENTRAILS_READER, + "TRAIT_EXAMINE_DEEPER_FISH" = TRAIT_EXAMINE_DEEPER_FISH, + "TRAIT_EXAMINE_FISH" = TRAIT_EXAMINE_FISH, "TRAIT_EXAMINE_FISHING_SPOT" = TRAIT_EXAMINE_FISHING_SPOT, "TRAIT_EXAMINE_FITNESS" = TRAIT_EXAMINE_FITNESS, "TRAIT_EXPANDED_FOV" = TRAIT_EXPANDED_FOV, @@ -228,7 +240,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_FENCE_CLIMBER" = TRAIT_FENCE_CLIMBER, "TRAIT_FINGERPRINT_PASSTHROUGH" = TRAIT_FINGERPRINT_PASSTHROUGH, "TRAIT_FIST_MINING" = TRAIT_FIST_MINING, - "TRAIT_FIXED_HAIRCOLOR" = TRAIT_FIXED_HAIRCOLOR, "TRAIT_FIXED_MUTANT_COLORS" = TRAIT_FIXED_MUTANT_COLORS, "TRAIT_FLESH_DESIRE" = TRAIT_FLESH_DESIRE, "TRAIT_FLOORED" = TRAIT_FLOORED, @@ -274,7 +285,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HUSK" = TRAIT_HUSK, "TRAIT_ID_APPRAISER" = TRAIT_ID_APPRAISER, "TRAIT_IGNORE_ELEVATION" = TRAIT_IGNORE_ELEVATION, - "TRAIT_IGNOREDAMAGESLOWDOWN" = TRAIT_IGNOREDAMAGESLOWDOWN, "TRAIT_IGNORESLOWDOWN" = TRAIT_IGNORESLOWDOWN, "TRAIT_IGNORING_GRAVITY" = TRAIT_IGNORING_GRAVITY, "TRAIT_ILLITERATE" = TRAIT_ILLITERATE, @@ -287,6 +297,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_IWASBATONED" = TRAIT_IWASBATONED, "TRAIT_JOLLY" = TRAIT_JOLLY, "TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH, + "TRAIT_SYNDIE_KISS" = TRAIT_SYNDIE_KISS, "TRAIT_KNOCKEDOUT" = TRAIT_KNOCKEDOUT, "TRAIT_KNOW_ENGI_WIRES" = TRAIT_KNOW_ENGI_WIRES, "TRAIT_KNOW_ROBO_WIRES" = TRAIT_KNOW_ROBO_WIRES, @@ -313,7 +324,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_MOB_BREEDER" = TRAIT_MOB_BREEDER, "TRAIT_MOB_EATER" = TRAIT_MOB_EATER, "TRAIT_MOB_HATCHED" = TRAIT_MOB_HATCHED, - "TRAIT_MOB_RELAY_HAPPINESS" = TRAIT_MOB_RELAY_HAPPINESS, + "TRAIT_MOB_HIDE_HAPPINESS" = TRAIT_MOB_HIDE_HAPPINESS, "TRAIT_MOB_TIPPED" = TRAIT_MOB_TIPPED, "TRAIT_MORBID" = TRAIT_MORBID, "TRAIT_MULTIZ_SUIT_SENSORS" = TRAIT_MULTIZ_SUIT_SENSORS, @@ -338,6 +349,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NOFIRE_SPREAD" = TRAIT_NOFIRE_SPREAD, "TRAIT_NOFLASH" = TRAIT_NOFLASH, "TRAIT_NOGUNS" = TRAIT_NOGUNS, + "TRAIT_TOSS_GUN_HARD" = TRAIT_TOSS_GUN_HARD, "TRAIT_NOHARDCRIT" = TRAIT_NOHARDCRIT, "TRAIT_NOHUNGER" = TRAIT_NOHUNGER, "TRAIT_NOLIMBDISABLE" = TRAIT_NOLIMBDISABLE, @@ -365,6 +377,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NO_SOUL" = TRAIT_NO_SOUL, "TRAIT_NO_STAGGER" = TRAIT_NO_STAGGER, "TRAIT_NO_STRIP" = TRAIT_NO_STRIP, + "TRAIT_NO_THROWING" = TRAIT_NO_THROWING, "TRAIT_NO_TRANSFORM" = TRAIT_NO_TRANSFORM, "TRAIT_NO_TWOHANDING" = TRAIT_NO_TWOHANDING, "TRAIT_NO_UNDERWEAR" = TRAIT_NO_UNDERWEAR, @@ -439,10 +452,11 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SHOCKIMMUNE" = TRAIT_SHOCKIMMUNE, "TRAIT_SIGN_LANG" = TRAIT_SIGN_LANG, "TRAIT_SILENT_FOOTSTEPS" = TRAIT_SILENT_FOOTSTEPS, + "TRAIT_SILICON_ACCESS" = TRAIT_SILICON_ACCESS, + "TRAIT_SILICON_EMOTES_ALLOWED" = TRAIT_SILICON_EMOTES_ALLOWED, "TRAIT_SIXTHSENSE" = TRAIT_SIXTHSENSE, "TRAIT_SKITTISH" = TRAIT_SKITTISH, "TRAIT_SLEEPIMMUNE" = TRAIT_SLEEPIMMUNE, - "TRAIT_SLOW_FLIP" = TRAIT_SLOW_FLIP, "TRAIT_SMOKER" = TRAIT_SMOKER, "TRAIT_SNEAK" = TRAIT_SNEAK, "TRAIT_SNOB" = TRAIT_SNOB, @@ -452,8 +466,10 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SPARRING" = TRAIT_SPARRING, "TRAIT_SPEAKS_CLEARLY" = TRAIT_SPEAKS_CLEARLY, "TRAIT_SPECIAL_TRAUMA_BOOST" = TRAIT_SPECIAL_TRAUMA_BOOST, + "TRAIT_SPELLS_LOTTERY" = TRAIT_SPELLS_LOTTERY, "TRAIT_SPIDER_CONSUMED" = TRAIT_SPIDER_CONSUMED, "TRAIT_SPIRITUAL" = TRAIT_SPIRITUAL, + "TRAIT_SPLATTERCASTER" = TRAIT_SPLATTERCASTER, "TRAIT_SPRAY_PAINTABLE" = TRAIT_SPRAY_PAINTABLE, "TRAIT_STABLEHEART" = TRAIT_STABLEHEART, "TRAIT_STABLELIVER" = TRAIT_STABLELIVER, @@ -494,6 +510,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_TUMOR_SUPPRESSION" = TRAIT_TUMOR_SUPPRESSED, "TRAIT_UI_BLOCKED" = TRAIT_UI_BLOCKED, "TRAIT_UNBREAKABLE" = TRAIT_UNBREAKABLE, + "TRAIT_UNCONVERTABLE" = TRAIT_UNCONVERTABLE, "TRAIT_UNDENSE" = TRAIT_UNDENSE, "TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE" = TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE, "TRAIT_UNHUSKABLE" = TRAIT_UNHUSKABLE, @@ -523,9 +540,12 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_XRAY_HEARING" = TRAIT_XRAY_HEARING, "TRAIT_XRAY_VISION" = TRAIT_XRAY_VISION, + "TRAIT_SPEECH_BOOSTER" = TRAIT_SPEECH_BOOSTER, + "TRAIT_MINING_PARRYING" = TRAIT_MINING_PARRYING, ), /obj/item = list( "TRAIT_APC_SHOCKING" = TRAIT_APC_SHOCKING, + "TRAIT_BAIT_UNCONSUMABLE" = TRAIT_BAIT_UNCONSUMABLE, "TRAIT_BAKEABLE" = TRAIT_BAKEABLE, "TRAIT_BASIC_QUALITY_BAIT" = TRAIT_BASIC_QUALITY_BAIT, "TRAIT_BLIND_TOOL" = TRAIT_BLIND_TOOL, @@ -550,6 +570,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NODROP" = TRAIT_NODROP, "TRAIT_OMNI_BAIT" = TRAIT_OMNI_BAIT, "TRAIT_PLANT_WILDMUTATE" = TRAIT_PLANT_WILDMUTATE, + "TRAIT_POISONOUS_BAIT" = TRAIT_POISONOUS_BAIT, "TRAIT_T_RAY_VISIBLE" = TRAIT_T_RAY_VISIBLE, "TRAIT_TRANSFORM_ACTIVE" = TRAIT_TRANSFORM_ACTIVE, "TRAIT_UNCATCHABLE" = TRAIT_UNCATCHABLE, @@ -580,13 +601,17 @@ GLOBAL_LIST_INIT(traits_by_type, list( /obj/item/fish = list( "TRAIT_FISH_AMPHIBIOUS" = TRAIT_FISH_AMPHIBIOUS, "TRAIT_FISH_CROSSBREEDER" = TRAIT_FISH_CROSSBREEDER, + "TRAIT_FISH_ELECTROGENESIS" = TRAIT_FISH_ELECTROGENESIS, "TRAIT_FISH_FED_LUBE" = TRAIT_FISH_FED_LUBE, + "TRAIT_FISH_FLOPPING" = TRAIT_FISH_FLOPPING, "TRAIT_FISH_FROM_CASE" = TRAIT_FISH_FROM_CASE, "TRAIT_FISH_NO_HUNGER" = TRAIT_FISH_NO_HUNGER, "TRAIT_FISH_NO_MATING" = TRAIT_FISH_NO_MATING, + "TRAIT_FISH_RECESSIVE" = TRAIT_FISH_RECESSIVE, "TRAIT_FISH_SELF_REPRODUCE" = TRAIT_FISH_SELF_REPRODUCE, + "TRAIT_FISH_STASIS" = TRAIT_FISH_STASIS, + "TRAIT_FISH_STINGER" = TRAIT_FISH_STINGER, "TRAIT_FISH_TOXIN_IMMUNE" = TRAIT_FISH_TOXIN_IMMUNE, - "TRAIT_FISH_ELECTROGENESIS" = TRAIT_FISH_ELECTROGENESIS, "TRAIT_RESIST_EMULSIFY" = TRAIT_RESIST_EMULSIFY, "TRAIT_YUCKY_FISH" = TRAIT_YUCKY_FISH, ), @@ -602,6 +627,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( ), /obj/item/organ = list( "TRAIT_LIVING_HEART" = TRAIT_LIVING_HEART, + "TRAIT_USED_ORGAN" = TRAIT_USED_ORGAN, ), /obj/item/organ/internal/liver = list( "TRAIT_BALLMER_SCIENTIST" = TRAIT_BALLMER_SCIENTIST, @@ -637,6 +663,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( /turf = list( "TRAIT_CHASM_STOPPED" = TRAIT_CHASM_STOPPED, "TRAIT_CONTAINMENT_FIELD" = TRAIT_CONTAINMENT_FIELD, + "TRAIT_CONTAINS_SPLITVIS" = TRAIT_CONTAINS_SPLITVIS, "TRAIT_ELEVATED_TURF" = TRAIT_ELEVATED_TURF, "TRAIT_FIREDOOR_STOP" = TRAIT_FIREDOOR_STOP, "TRAIT_FISHING_SPOT" = TRAIT_FISHING_SPOT, diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index 25766e5bc69fc..dd4456c0ccd48 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -1,6 +1,6 @@ // This file contains any stuff related to admin-visible traits. // There's likely more than a few traits missing from this file, do consult the `_traits.dm` file in this folder to see every global trait that exists. -// quirks have it's own panel so we don't need them here. +// quirks have their own panel so we don't need them here. GLOBAL_LIST_INIT(admin_visible_traits, list( /atom = list( @@ -18,6 +18,8 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_MOVE_VENTCRAWLING" = TRAIT_MOVE_VENTCRAWLING, "TRAIT_MOVE_UPSIDE_DOWN" = TRAIT_MOVE_UPSIDE_DOWN, "TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN, + "TRAIT_SCARY_FISHERMAN" = TRAIT_SCARY_FISHERMAN, + "TRAIT_SHADOWLESS" = TRAIT_SHADOWLESS, "TRAIT_SNOWSTORM_IMMUNE" = TRAIT_SNOWSTORM_IMMUNE, "TRAIT_VOIDSTORM_IMMUNE" = TRAIT_VOIDSTORM_IMMUNE, "TRAIT_WEATHER_IMMUNE" = TRAIT_WEATHER_IMMUNE, @@ -25,18 +27,27 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( /mob = list( "TRAIT_ABDUCTOR_SCIENTIST_TRAINING" = TRAIT_ABDUCTOR_SCIENTIST_TRAINING, "TRAIT_ABDUCTOR_TRAINING" = TRAIT_ABDUCTOR_TRAINING, + "TRAIT_ACT_AS_CULTIST" = TRAIT_ACT_AS_CULTIST, + "TRAIT_ACT_AS_HERETIC" = TRAIT_ACT_AS_HERETIC, "TRAIT_ADVANCEDTOOLUSER" = TRAIT_ADVANCEDTOOLUSER, "TRAIT_AGENDER" = TRAIT_AGENDER, "TRAIT_AGEUSIA" = TRAIT_AGEUSIA, "TRAIT_ALCOHOL_TOLERANCE" = TRAIT_ALCOHOL_TOLERANCE, + "TRAIT_ALLOW_HERETIC_CASTING" = TRAIT_ALLOW_HERETIC_CASTING, + "TRAIT_ALWAYS_NO_ACCESS" = TRAIT_ALWAYS_NO_ACCESS, + "TRAIT_ALWAYS_WANTED" = TRAIT_ALWAYS_WANTED, "TRAIT_ANOSMIA" = TRAIT_ANOSMIA, + "TRAIT_ANTENNAE" = TRAIT_ANTENNAE, "TRAIT_ANTIMAGIC" = TRAIT_ANTIMAGIC, + "TRAIT_ANTIMAGIC_NO_SELFBLOCK" = TRAIT_ANTIMAGIC_NO_SELFBLOCK, "TRAIT_ANXIOUS" = TRAIT_ANXIOUS, "TRAIT_BADDNA" = TRAIT_BADDNA, "TRAIT_BADTOUCH" = TRAIT_BADTOUCH, "TRAIT_BALD" = TRAIT_BALD, + "TRAIT_BALLOON_SUTRA" = TRAIT_BALLOON_SUTRA, "TRAIT_BATON_RESISTANCE" = TRAIT_BATON_RESISTANCE, "TRAIT_BEAST_EMPATHY" = TRAIT_BEAST_EMPATHY, + "TRAIT_BLOB_ALLY" = TRAIT_BLOB_ALLY, "TRAIT_BLOCK_SHUTTLE_MOVEMENT" = TRAIT_BLOCK_SHUTTLE_MOVEMENT, "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BLOODSHOT_EYES" = TRAIT_BLOODSHOT_EYES, @@ -45,21 +56,29 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, "TRAIT_BYPASS_MEASURES" = TRAIT_BYPASS_MEASURES, "TRAIT_CAN_HOLD_ITEMS" = TRAIT_CAN_HOLD_ITEMS, + "TRAIT_CAN_STRIP" = TRAIT_CAN_STRIP, + "TRAIT_CAN_USE_NUKE" = TRAIT_CAN_USE_NUKE, "TRAIT_CANNOT_BE_UNBUCKLED" = TRAIT_CANNOT_BE_UNBUCKLED, "TRAIT_CANNOT_OPEN_PRESENTS" = TRAIT_CANNOT_OPEN_PRESENTS, + "TRAIT_CATLIKE_GRACE" = TRAIT_CATLIKE_GRACE, "TRAIT_CHASM_DESTROYED" = TRAIT_CHASM_DESTROYED, "TRAIT_CHUNKYFINGERS_IGNORE_BATON" = TRAIT_CHUNKYFINGERS_IGNORE_BATON, "TRAIT_CHUNKYFINGERS" = TRAIT_CHUNKYFINGERS, + "TRAIT_CLEANBOT_WHISPERER" = TRAIT_CLEANBOT_WHISPERER, + "TRAIT_CLIFF_WALKER" = TRAIT_CLIFF_WALKER, "TRAIT_CLOWN_ENJOYER" = TRAIT_CLOWN_ENJOYER, "TRAIT_CLUMSY" = TRAIT_CLUMSY, "TRAIT_COMMISSIONED" = TRAIT_COMMISSIONED, + "TRAIT_CORPSELOCKED" = TRAIT_CORPSELOCKED, "TRAIT_CRITICAL_CONDITION" = TRAIT_CRITICAL_CONDITION, "TRAIT_CULT_HALO" = TRAIT_CULT_HALO, "TRAIT_DEAF" = TRAIT_DEAF, "TRAIT_DEATHCOMA" = TRAIT_DEATHCOMA, "TRAIT_DEFIB_BLACKLISTED" = TRAIT_DEFIB_BLACKLISTED, "TRAIT_DEPRESSION" = TRAIT_DEPRESSION, + "TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM, "TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD, + "TRAIT_BOT_PATH_HUD" = TRAIT_BOT_PATH_HUD, "TRAIT_DISCOORDINATED_TOOL_USER" = TRAIT_DISCOORDINATED_TOOL_USER, "TRAIT_DISFIGURED" = TRAIT_DISFIGURED, "TRAIT_DISK_VERIFIER" = TRAIT_DISK_VERIFIER, @@ -69,43 +88,58 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_DWARF" = TRAIT_DWARF, "TRAIT_EASILY_WOUNDED" = TRAIT_EASILY_WOUNDED, "TRAIT_EASYDISMEMBER" = TRAIT_EASYDISMEMBER, - "TRAIT_EMOTEMUTE " = TRAIT_EMOTEMUTE, + "TRAIT_EMOTEMUTE" = TRAIT_EMOTEMUTE, "TRAIT_EMPATH" = TRAIT_EMPATH, + "TRAIT_ENTRAILS_READER" = TRAIT_ENTRAILS_READER, + "TRAIT_EXAMINE_FISHING_SPOT" = TRAIT_EXAMINE_FISHING_SPOT, "TRAIT_EXAMINE_FITNESS" = TRAIT_EXAMINE_FITNESS, "TRAIT_EXPANDED_FOV" = TRAIT_EXPANDED_FOV, "TRAIT_EXPERT_FISHER" = TRAIT_EXPERT_FISHER, + "TRAIT_EXTROVERT" = TRAIT_EXTROVERT, "TRAIT_FAKEDEATH" = TRAIT_FAKEDEATH, + "TRAIT_FASTMED" = TRAIT_FASTMED, "TRAIT_FAST_CUFFING" = TRAIT_FAST_CUFFING, + "TRAIT_FAST_TYING" = TRAIT_FAST_TYING, "TRAIT_FAT" = TRAIT_FAT, "TRAIT_FEARLESS" = TRAIT_FEARLESS, "TRAIT_FENCE_CLIMBER" = TRAIT_FENCE_CLIMBER, "TRAIT_FIST_MINING" = TRAIT_FIST_MINING, - "TRAIT_FIXED_HAIRCOLOR" = TRAIT_FIXED_HAIRCOLOR, "TRAIT_FIXED_MUTANT_COLORS" = TRAIT_FIXED_MUTANT_COLORS, + "TRAIT_FLESH_DESIRE" = TRAIT_FLESH_DESIRE, "TRAIT_FLOORED" = TRAIT_FLOORED, + "TRAIT_FORBID_MINING_SHUTTLE_CONSOLE_OUTSIDE_STATION" = TRAIT_FORBID_MINING_SHUTTLE_CONSOLE_OUTSIDE_STATION, "TRAIT_FORCED_STANDING" = TRAIT_FORCED_STANDING, "TRAIT_FREERUNNING" = TRAIT_FREERUNNING, + "TRAIT_FREE_FLOAT_MOVEMENT" = TRAIT_FREE_FLOAT_MOVEMENT, + "TRAIT_FREE_HYPERSPACE_MOVEMENT" = TRAIT_FREE_HYPERSPACE_MOVEMENT, + "TRAIT_FREE_HYPERSPACE_SOFTCORDON_MOVEMENT" = TRAIT_FREE_HYPERSPACE_SOFTCORDON_MOVEMENT, "TRAIT_FRIENDLY" = TRAIT_FRIENDLY, "TRAIT_GAMER" = TRAIT_GAMER, "TRAIT_GAMERGOD" = TRAIT_GAMERGOD, + "TRAIT_GARLIC_BREATH" = TRAIT_GARLIC_BREATH, "TRAIT_GENELESS" = TRAIT_GENELESS, "TRAIT_GIANT" = TRAIT_GIANT, "TRAIT_GOOD_HEARING" = TRAIT_GOOD_HEARING, "TRAIT_GRABWEAKNESS" = TRAIT_GRABWEAKNESS, "TRAIT_GREENTEXT_CURSED" = TRAIT_GREENTEXT_CURSED, "TRAIT_GUNFLIP" = TRAIT_GUNFLIP, + "TRAIT_GUN_NATURAL" = TRAIT_GUN_NATURAL, "TRAIT_HANDS_BLOCKED" = TRAIT_HANDS_BLOCKED, "TRAIT_HARDLY_WOUNDED" = TRAIT_HARDLY_WOUNDED, + "TRAIT_HATED_BY_DOGS" = TRAIT_HATED_BY_DOGS, + "TRAIT_HEAVY_DRINKER" = TRAIT_HEAVY_DRINKER, "TRAIT_HEAVY_SLEEPER" = TRAIT_HEAVY_SLEEPER, "TRAIT_HIDE_EXTERNAL_ORGANS" = TRAIT_HIDE_EXTERNAL_ORGANS, + "TRAIT_HIGH_VALUE_RANSOM" = TRAIT_HIGH_VALUE_RANSOM, "TRAIT_HOLY" = TRAIT_HOLY, "TRAIT_HUSK" = TRAIT_HUSK, + "TRAIT_ID_APPRAISER" = TRAIT_ID_APPRAISER, "TRAIT_IGNORE_ELEVATION" = TRAIT_IGNORE_ELEVATION, - "TRAIT_IGNOREDAMAGESLOWDOWN" = TRAIT_IGNOREDAMAGESLOWDOWN, "TRAIT_IGNORESLOWDOWN" = TRAIT_IGNORESLOWDOWN, "TRAIT_ILLITERATE" = TRAIT_ILLITERATE, "TRAIT_IMMOBILIZED" = TRAIT_IMMOBILIZED, "TRAIT_INCAPACITATED" = TRAIT_INCAPACITATED, + "TRAIT_INTROVERT" = TRAIT_INTROVERT, "TRAIT_INVISIBLE_MAN" = TRAIT_INVISIBLE_MAN, "TRAIT_IWASBATONED" = TRAIT_IWASBATONED, "TRAIT_JOLLY" = TRAIT_JOLLY, @@ -113,22 +147,28 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_KNOCKEDOUT" = TRAIT_KNOCKEDOUT, "TRAIT_KNOW_ENGI_WIRES" = TRAIT_KNOW_ENGI_WIRES, "TRAIT_KNOW_ROBO_WIRES" = TRAIT_KNOW_ROBO_WIRES, + "TRAIT_LIGHTBULB_REMOVER" = TRAIT_LIGHTBULB_REMOVER, "TRAIT_LIGHT_DRINKER" = TRAIT_LIGHT_DRINKER, "TRAIT_LIGHT_STEP" = TRAIT_LIGHT_STEP, "TRAIT_LIGHTBULB_REMOVER" = TRAIT_LIGHTBULB_REMOVER, "TRAIT_LIMBATTACHMENT" = TRAIT_LIMBATTACHMENT, "TRAIT_LITERATE" = TRAIT_LITERATE, "TRAIT_LIVERLESS_METABOLISM" = TRAIT_LIVERLESS_METABOLISM, + "TRAIT_MADNESS_IMMUNE" = TRAIT_MADNESS_IMMUNE, "TRAIT_MAGICALLY_GIFTED" = TRAIT_MAGICALLY_GIFTED, + "TRAIT_MARTIAL_ARTS_IMMUNE" = TRAIT_MARTIAL_ARTS_IMMUNE, "TRAIT_MEDICAL_HUD" = TRAIT_MEDICAL_HUD, "TRAIT_MIME_FAN" = TRAIT_MIME_FAN, "TRAIT_MIMING" = TRAIT_MIMING, "TRAIT_MINDSHIELD" = TRAIT_MINDSHIELD, + "TRAIT_MOB_HIDE_HAPPINESS" = TRAIT_MOB_HIDE_HAPPINESS, "TRAIT_MORBID" = TRAIT_MORBID, + "TRAIT_MULTIZ_SUIT_SENSORS" = TRAIT_MULTIZ_SUIT_SENSORS, "TRAIT_MUSICIAN" = TRAIT_MUSICIAN, "TRAIT_MUTANT_COLORS" = TRAIT_MUTANT_COLORS, "TRAIT_MUTE" = TRAIT_MUTE, "TRAIT_NAIVE" = TRAIT_NAIVE, + "TRAIT_NEGATES_GRAVITY" = TRAIT_NEGATES_GRAVITY, "TRAIT_NEVER_WOUNDED" = TRAIT_NEVER_WOUNDED, "TRAIT_NICE_SHOT" = TRAIT_NICE_SHOT, "TRAIT_NIGHT_VISION" = TRAIT_NIGHT_VISION, @@ -137,13 +177,18 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_NO_DNA_COPY" = TRAIT_NO_DNA_COPY, "TRAIT_NO_EXTINGUISH" = TRAIT_NO_EXTINGUISH, "TRAIT_NO_GLIDE" = TRAIT_NO_GLIDE, + "TRAIT_NO_GUN_AKIMBO" = TRAIT_NO_GUN_AKIMBO, + "TRAIT_NO_MINDSWAP" = TRAIT_NO_MINDSWAP, + "TRAIT_NO_MIRROR_REFLECTION" = TRAIT_NO_MIRROR_REFLECTION, "TRAIT_NO_PLASMA_TRANSFORM" = TRAIT_NO_PLASMA_TRANSFORM, "TRAIT_NO_SLIP_ALL" = TRAIT_NO_SLIP_ALL, "TRAIT_NO_SLIP_ICE" = TRAIT_NO_SLIP_ICE, "TRAIT_NO_SLIP_SLIDE" = TRAIT_NO_SLIP_SLIDE, "TRAIT_NO_SLIP_WATER" = TRAIT_NO_SLIP_WATER, "TRAIT_NO_SOUL" = TRAIT_NO_SOUL, + "TRAIT_NO_STAGGER" = TRAIT_NO_STAGGER, "TRAIT_NO_TRANSFORM" = TRAIT_NO_TRANSFORM, + "TRAIT_NO_TWOHANDING" = TRAIT_NO_TWOHANDING, "TRAIT_NO_UNDERWEAR" = TRAIT_NO_UNDERWEAR, "TRAIT_NO_ZOMBIFY" = TRAIT_NO_ZOMBIFY, "TRAIT_NOBLOOD" = TRAIT_NOBLOOD, @@ -152,15 +197,21 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_NOCRITOVERLAY" = TRAIT_NOCRITOVERLAY, "TRAIT_NODEATH" = TRAIT_NODEATH, "TRAIT_NODISMEMBER" = TRAIT_NODISMEMBER, + "TRAIT_NOFAT" = TRAIT_NOFAT, + "TRAIT_NOFEAR_HOLDUPS" = TRAIT_NOFEAR_HOLDUPS, "TRAIT_NOFIRE" = TRAIT_NOFIRE, + "TRAIT_NOFIRE_SPREAD" = TRAIT_NOFIRE_SPREAD, "TRAIT_NOFLASH" = TRAIT_NOFLASH, "TRAIT_NOGUNS" = TRAIT_NOGUNS, + "TRAIT_TOSS_GUN_HARD" = TRAIT_TOSS_GUN_HARD, "TRAIT_NOHARDCRIT" = TRAIT_NOHARDCRIT, "TRAIT_NOHUNGER" = TRAIT_NOHUNGER, "TRAIT_NOLIMBDISABLE" = TRAIT_NOLIMBDISABLE, "TRAIT_NOMOBSWAP" = TRAIT_NOMOBSWAP, "TRAIT_NOSOFTCRIT" = TRAIT_NOSOFTCRIT, + "TRAIT_OFF_BALANCE_TACKLER" = TRAIT_OFF_BALANCE_TACKLER, "TRAIT_OIL_FRIED" = TRAIT_OIL_FRIED, + "TRAIT_OVERDOSEIMMUNE" = TRAIT_OVERDOSEIMMUNE, "TRAIT_OVERWATCH_IMMUNE" = TRAIT_OVERWATCH_IMMUNE, "TRAIT_PACIFISM" = TRAIT_PACIFISM, "TRAIT_HIPPOCRATIC_OATH" = TRAIT_HIPPOCRATIC_OATH, @@ -172,6 +223,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_PASSTABLE" = TRAIT_PASSTABLE, "TRAIT_PASSWINDOW" = TRAIT_PASSWINDOW, "TRAIT_PERFECT_ATTACKER" = TRAIT_PERFECT_ATTACKER, + "TRAIT_PERMANENTLY_MORTAL" = TRAIT_PERMANENTLY_MORTAL, "TRAIT_PHOTOGRAPHER" = TRAIT_PHOTOGRAPHER, "TRAIT_PIERCEIMMUNE" = TRAIT_PIERCEIMMUNE, "TRAIT_PLANT_SAFE" = TRAIT_PLANT_SAFE, @@ -182,16 +234,22 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_PROSOPAGNOSIA" = TRAIT_PROSOPAGNOSIA, "TRAIT_PULL_BLOCKED" = TRAIT_PULL_BLOCKED, "TRAIT_PUSHIMMUNE" = TRAIT_PUSHIMMUNE, + "TRAIT_QUICK_BUILD" = TRAIT_QUICK_BUILD, "TRAIT_QUICK_CARRY" = TRAIT_QUICK_CARRY, "TRAIT_QUICKER_CARRY" = TRAIT_QUICKER_CARRY, "TRAIT_RADIMMUNE" = TRAIT_RADIMMUNE, + "TRAIT_REMOTE_TASTING" = TRAIT_REMOTE_TASTING, "TRAIT_RESISTCOLD" = TRAIT_RESISTCOLD, "TRAIT_RESISTHEAT" = TRAIT_RESISTHEAT, "TRAIT_RESISTHEATHANDS" = TRAIT_RESISTHEATHANDS, "TRAIT_RESISTHIGHPRESSURE" = TRAIT_RESISTHIGHPRESSURE, "TRAIT_RESISTLOWPRESSURE" = TRAIT_RESISTLOWPRESSURE, "TRAIT_RESTRAINED" = TRAIT_RESTRAINED, + "TRAIT_REVEAL_FISH" = TRAIT_REVEAL_FISH, + "TRAIT_ROCK_STONER" = TRAIT_ROCK_STONER, + "TRAIT_ROD_SUPLEX" = TRAIT_ROD_SUPLEX, "TRAIT_ROUGHRIDER" = TRAIT_ROUGHRIDER, + "TRAIT_SABRAGE_PRO" = TRAIT_SABRAGE_PRO, "TRAIT_SECURITY_HUD" = TRAIT_SECURITY_HUD, "TRAIT_SELF_AWARE" = TRAIT_SELF_AWARE, "TRAIT_SETTLER" = TRAIT_SETTLER, @@ -199,34 +257,40 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_SHOCKIMMUNE" = TRAIT_SHOCKIMMUNE, "TRAIT_SIGN_LANG" = TRAIT_SIGN_LANG, "TRAIT_SILENT_FOOTSTEPS" = TRAIT_SILENT_FOOTSTEPS, + "TRAIT_SILICON_EMOTES_ALLOWED" = TRAIT_SILICON_EMOTES_ALLOWED, "TRAIT_SIXTHSENSE" = TRAIT_SIXTHSENSE, "TRAIT_SKITTISH" = TRAIT_SKITTISH, "TRAIT_SLEEPIMMUNE" = TRAIT_SLEEPIMMUNE, - "TRAIT_SLOW_FLIP" = TRAIT_SLOW_FLIP, "TRAIT_SMOKER" = TRAIT_SMOKER, "TRAIT_SNOB" = TRAIT_SNOB, + "TRAIT_SOFTSPOKEN" = TRAIT_SOFTSPOKEN, "TRAIT_SOOTHED_THROAT" = TRAIT_SOOTHED_THROAT, "TRAIT_SPACEWALK" = TRAIT_SPACEWALK, "TRAIT_SPECIAL_TRAUMA_BOOST" = TRAIT_SPECIAL_TRAUMA_BOOST, "TRAIT_SPIRITUAL" = TRAIT_SPIRITUAL, "TRAIT_STABLEHEART" = TRAIT_STABLEHEART, "TRAIT_STABLELIVER" = TRAIT_STABLELIVER, + "TRAIT_STRENGTH" = TRAIT_STRENGTH, "TRAIT_STRONG_GRABBER" = TRAIT_STRONG_GRABBER, "TRAIT_STRONG_STOMACH" = TRAIT_STRONG_STOMACH, "TRAIT_STUBBY_BODY" = TRAIT_STUBBY_BODY, "TRAIT_STUNIMMUNE" = TRAIT_STUNIMMUNE, "TRAIT_STURDY_FRAME" = TRAIT_STURDY_FRAME, + "TRAIT_SUPERMATTER_SOOTHER" = TRAIT_SUPERMATTER_SOOTHER, "TRAIT_SURGEON" = TRAIT_SURGEON, "TRAIT_SURGICALLY_ANALYZED" = TRAIT_SURGICALLY_ANALYZED, "TRAIT_TAGGER" = TRAIT_TAGGER, "TRAIT_TENTACLE_IMMUNE" = TRAIT_TENTACLE_IMMUNE, "TRAIT_TESLA_SHOCKIMMUNE" = TRAIT_TESLA_SHOCKIMMUNE, "TRAIT_THERMAL_VISION" = TRAIT_THERMAL_VISION, + "TRAIT_THROWINGARM" = TRAIT_THROWINGARM, + "TRAIT_TIME_STOP_IMMUNE" = TRAIT_TIME_STOP_IMMUNE, "TRAIT_TOXIMMUNE" = TRAIT_TOXIMMUNE, "TRAIT_TOXINLOVER" = TRAIT_TOXINLOVER, "TRAIT_TRAIT_MEDIBOTCOMINGTHROUGH" = TRAIT_MEDIBOTCOMINGTHROUGH, "TRAIT_TUMOR_SUPPRESSION" = TRAIT_TUMOR_SUPPRESSED, "TRAIT_UI_BLOCKED" = TRAIT_UI_BLOCKED, + "TRAIT_UNCONVERTABLE" = TRAIT_UNCONVERTABLE, "TRAIT_UNDENSE" = TRAIT_UNDENSE, "TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE" = TRAIT_UNDERWATER_BASKETWEAVING_KNOWLEDGE, "TRAIT_UNHUSKABLE" = TRAIT_UNHUSKABLE, @@ -237,7 +301,10 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_UNSTABLE" = TRAIT_UNSTABLE, "TRAIT_USED_DNA_VAULT" = TRAIT_USED_DNA_VAULT, "TRAIT_USES_SKINTONES" = TRAIT_USES_SKINTONES, + "TRAIT_VENTCRAWLER_ALWAYS" = TRAIT_VENTCRAWLER_ALWAYS, + "TRAIT_VENTCRAWLER_NUDE" = TRAIT_VENTCRAWLER_NUDE, "TRAIT_VIRUSIMMUNE" = TRAIT_VIRUSIMMUNE, + "TRAIT_VIRUS_RESISTANCE" = TRAIT_VIRUS_RESISTANCE, "TRAIT_VORACIOUS" = TRAIT_VORACIOUS, "TRAIT_WOUND_LICKER" = TRAIT_WOUND_LICKER, "TRAIT_WEAK_SOUL" = TRAIT_WEAK_SOUL, @@ -248,6 +315,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_XRAY_HEARING" = TRAIT_XRAY_HEARING, "TRAIT_XRAY_VISION" = TRAIT_XRAY_VISION, + "TRAIT_MINING_PARRYING" = TRAIT_MINING_PARRYING, ), /obj/item = list( "TRAIT_APC_SHOCKING" = TRAIT_APC_SHOCKING, @@ -267,13 +335,19 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_MAGNETIC_ID_CARD" = TRAIT_MAGNETIC_ID_CARD, ), /obj/item/fish = list( + "TRAIT_FISH_AMPHIBIOUS" = TRAIT_FISH_AMPHIBIOUS, "TRAIT_FISH_CROSSBREEDER" = TRAIT_FISH_CROSSBREEDER, + "TRAIT_FISH_ELECTROGENESIS" = TRAIT_FISH_ELECTROGENESIS, "TRAIT_FISH_FED_LUBE" = TRAIT_FISH_FED_LUBE, + "TRAIT_FISH_FROM_CASE" = TRAIT_FISH_FROM_CASE, "TRAIT_FISH_NO_HUNGER" = TRAIT_FISH_NO_HUNGER, "TRAIT_FISH_NO_MATING" = TRAIT_FISH_NO_MATING, + "TRAIT_FISH_RECESSIVE" = TRAIT_FISH_RECESSIVE, "TRAIT_FISH_SELF_REPRODUCE" = TRAIT_FISH_SELF_REPRODUCE, + "TRAIT_FISH_STASIS" = TRAIT_FISH_STASIS, + "TRAIT_FISH_STINGER" = TRAIT_FISH_STINGER, "TRAIT_FISH_TOXIN_IMMUNE" = TRAIT_FISH_TOXIN_IMMUNE, - "TRAIT_RESIST_EMULSIFY" = TRAIT_RESIST_EMULSIFY, + "TRAIT_RESIST_EMULSIFY" = TRAIT_RESIST_EMULSIFY, "TRAIT_YUCKY_FISH" = TRAIT_YUCKY_FISH, ), /obj/item/organ/internal/liver = list( diff --git a/code/_onclick/adjacent.dm b/code/_onclick/adjacent.dm index ab5b3f4aad974..a4a8ae1cdc41a 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -68,6 +68,8 @@ /atom/movable/Adjacent(atom/neighbor, atom/target, atom/movable/mover) if(neighbor == loc) return TRUE + if(neighbor?.loc == src) + return TRUE var/turf/T = loc if(!istype(T)) return FALSE @@ -79,6 +81,8 @@ /obj/item/Adjacent(atom/neighbor, atom/target, atom/movable/mover, recurse = 1) if(neighbor == loc) return TRUE + if(neighbor?.loc == src) + return TRUE if(isitem(loc)) if(recurse > 0) return loc.Adjacent(neighbor, target, mover, recurse - 1) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 1d7e07f7b9912..469d0806acf78 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -12,11 +12,10 @@ /mob/var/next_move_modifier = 1 //Value to multiply action/click delays by -//Delays the mob's next click/action by num deciseconds -// eg: 10-3 = 7 deciseconds of delay -// eg: 10*0.5 = 5 deciseconds of delay -// DOES NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK - +///Delays the mob's next click/action by num deciseconds +/// eg: 10-3 = 7 deciseconds of delay +/// eg: 10*0.5 = 5 deciseconds of delay +/// DOES NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK /mob/proc/changeNext_move(num) next_move = world.time + ((num+next_move_adjust)*next_move_modifier) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 4e9777ae9cd8d..a2dda93f4011f 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -31,7 +31,10 @@ MiddleClickOn(A, params) return if(LAZYACCESS(modifiers, ALT_CLICK)) // alt and alt-gr (rightalt) - A.borg_click_alt(src) + if(LAZYACCESS(modifiers, RIGHT_CLICK)) + AltClickSecondaryOn(A) + else + A.borg_click_alt(src) return if(LAZYACCESS(modifiers, CTRL_CLICK)) CtrlClickOn(A) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index f8f79f442940b..d477195a603ab 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -549,9 +549,9 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." construct_owner = null // construct track - if(construct_owner?.seeking && construct_owner.master) - blood_target = construct_owner.master - desc = "Your blood sense is leading you to [construct_owner.master]" + if(construct_owner?.seeking && construct_owner.construct_master) + blood_target = construct_owner.construct_master + desc = "Your blood sense is leading you to [construct_owner.construct_master]" // cult track var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) diff --git a/code/_onclick/hud/alien.dm b/code/_onclick/hud/alien.dm index c3b91173a45f5..476140acb1edd 100644 --- a/code/_onclick/hud/alien.dm +++ b/code/_onclick/hud/alien.dm @@ -79,6 +79,7 @@ using = new /atom/movable/screen/resist(null, src) using.icon = ui_style using.screen_loc = ui_above_movement + using.update_appearance() hotkeybuttons += using throw_icon = new /atom/movable/screen/throw_catch(null, src) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 1b1314bbcd5e5..acee755d36c16 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -197,6 +197,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( SIGNAL_HANDLER update_parallax_pref() // If your eye changes z level, so should your parallax prefs var/turf/eye_turf = get_turf(eye) + SEND_SIGNAL(src, COMSIG_HUD_Z_CHANGED, eye_turf.z) var/new_offset = GET_TURF_PLANE_OFFSET(eye_turf) if(current_plane_offset == new_offset) return @@ -584,7 +585,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( listed_actions.check_against_view() palette_actions.check_against_view() for(var/atom/movable/screen/movable/action_button/floating_button as anything in floating_actions) - var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc) + var/list/current_offsets = screen_loc_to_offset(floating_button.screen_loc, our_view) // We set the view arg here, so the output will be properly hemm'd in by our new view floating_button.screen_loc = offset_to_screen_loc(current_offsets[1], current_offsets[2], view = our_view) diff --git a/code/_onclick/hud/map_view.dm b/code/_onclick/hud/map_view.dm index bc304f20f8a15..06a4197fe45eb 100644 --- a/code/_onclick/hud/map_view.dm +++ b/code/_onclick/hud/map_view.dm @@ -16,10 +16,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/map_view) /atom/movable/screen/map_view/Destroy() for(var/datum/weakref/client_ref in viewers_to_huds) - var/client/our_client = client_ref.resolve() - if(!our_client) - continue - hide_from(our_client.mob) + hide_from_client(client_ref.resolve()) return ..() @@ -55,12 +52,18 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/map_view) return pop_planes /atom/movable/screen/map_view/proc/hide_from(mob/hide_from) - hide_from?.canon_client.clear_map(assigned_map) - var/client_ref = WEAKREF(hide_from?.canon_client) + hide_from_client(hide_from?.canon_client) +/atom/movable/screen/map_view/proc/hide_from_client(client/hide_from) + if(!hide_from) + return + hide_from.clear_map(assigned_map) + + var/datum/weakref/client_ref = WEAKREF(hide_from) // Make sure we clear the *right* hud var/datum/weakref/hud_ref = viewers_to_huds[client_ref] viewers_to_huds -= client_ref + var/datum/hud/clear_from = hud_ref?.resolve() if(!clear_from) return diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index 7a0937974bd36..2910a9f0cc829 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -6,7 +6,7 @@ //Movable Screen Object -//Not tied to the grid, places it's center where the cursor is +//Not tied to the grid, places its center where the cursor is /atom/movable/screen/movable mouse_drag_pointer = 'icons/effects/mouse_pointers/screen_drag.dmi' diff --git a/code/_onclick/hud/new_player.dm b/code/_onclick/hud/new_player.dm index 5fa44b7f0542b..371341aec0bf5 100644 --- a/code/_onclick/hud/new_player.dm +++ b/code/_onclick/hud/new_player.dm @@ -63,8 +63,7 @@ ///Set the HUD in New, as lobby screens are made before Atoms are Initialized. /atom/movable/screen/lobby/New(loc, datum/hud/our_hud, ...) - if(our_hud) - hud = our_hud + set_new_hud(our_hud) return ..() ///Run sleeping actions after initialize diff --git a/code/_onclick/hud/parallax/parallax.dm b/code/_onclick/hud/parallax/parallax.dm index bcdcd0e74fed1..0a3732e134fc4 100644 --- a/code/_onclick/hud/parallax/parallax.dm +++ b/code/_onclick/hud/parallax/parallax.dm @@ -275,7 +275,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_layer) . = ..() // Parallax layers are independant of hud, they care about client // Not doing this will just create a bunch of hard deletes - hud = null + set_new_hud(hud_owner = null) if(template) return diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 6c7377c382543..3bd370120b3a4 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -7,6 +7,7 @@ GLOBAL_LIST_EMPTY(radial_menus) icon = 'icons/hud/radial.dmi' plane = ABOVE_HUD_PLANE vis_flags = VIS_INHERIT_PLANE + var/click_on_hover = FALSE var/datum/radial_menu/parent /atom/movable/screen/radial/proc/set_parent(new_value) @@ -39,6 +40,8 @@ GLOBAL_LIST_EMPTY(radial_menus) icon_state = "[parent.radial_slice_icon]_focus" if(tooltips) openToolTip(usr, src, params, title = name) + if (click_on_hover && !isnull(usr) && !isnull(parent)) + Click(location, control, params) /atom/movable/screen/radial/slice/MouseExited(location, control, params) . = ..() @@ -146,7 +149,7 @@ GLOBAL_LIST_EMPTY(radial_menus) starting_angle = 180 ending_angle = 45 -/datum/radial_menu/proc/setup_menu(use_tooltips, set_page = 1) +/datum/radial_menu/proc/setup_menu(use_tooltips, set_page = 1, click_on_hover = FALSE) if(ending_angle > starting_angle) zone = ending_angle - starting_angle else @@ -183,18 +186,26 @@ GLOBAL_LIST_EMPTY(radial_menus) page_data[page] = current pages = page current_page = clamp(set_page, 1, pages) - update_screen_objects(anim = entry_animation) + update_screen_objects(entry_animation, click_on_hover) -/datum/radial_menu/proc/update_screen_objects(anim = FALSE) +/datum/radial_menu/proc/update_screen_objects(anim = FALSE, click_on_hover = FALSE) var/list/page_choices = page_data[current_page] var/angle_per_element = round(zone / page_choices.len) for(var/i in 1 to elements.len) - var/atom/movable/screen/radial/E = elements[i] + var/atom/movable/screen/radial/element = elements[i] var/angle = WRAP(starting_angle + (i - 1) * angle_per_element,0,360) if(i > page_choices.len) - HideElement(E) + HideElement(element) + element.click_on_hover = FALSE else - SetElement(E,page_choices[i],angle,anim = anim,anim_order = i) + SetElement(element,page_choices[i],angle,anim = anim,anim_order = i) + // Only activate click on hover after the animation plays + if (!click_on_hover) + continue + if (anim) + addtimer(VARSET_CALLBACK(element, click_on_hover, TRUE), i * 0.5) + else + element.click_on_hover = TRUE /datum/radial_menu/proc/HideElement(atom/movable/screen/radial/slice/E) E.cut_overlays() @@ -272,7 +283,7 @@ GLOBAL_LIST_EMPTY(radial_menus) /datum/radial_menu/proc/get_next_id() return "c_[choices.len]" -/datum/radial_menu/proc/set_choices(list/new_choices, use_tooltips, set_page = 1) +/datum/radial_menu/proc/set_choices(list/new_choices, use_tooltips, click_on_hover = FALSE, set_page = 1) if(choices.len) Reset() for(var/E in new_choices) @@ -286,7 +297,7 @@ GLOBAL_LIST_EMPTY(radial_menus) if (istype(new_choices[E], /datum/radial_menu_choice)) choice_datums[id] = new_choices[E] - setup_menu(use_tooltips, set_page) + setup_menu(use_tooltips, set_page, click_on_hover) /datum/radial_menu/proc/extract_image(to_extract_from) if (istype(to_extract_from, /datum/radial_menu_choice)) @@ -306,14 +317,14 @@ GLOBAL_LIST_EMPTY(radial_menus) current_page = WRAP(current_page + 1,1,pages+1) update_screen_objects() -/datum/radial_menu/proc/show_to(mob/M) +/datum/radial_menu/proc/show_to(mob/M, offset_x = 0, offset_y = 0) if(current_user) hide() if(!M.client || !anchor) return current_user = M.client //Blank - menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing", layer = RADIAL_BACKGROUND_LAYER) + menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing", layer = RADIAL_BACKGROUND_LAYER, pixel_x = offset_x, pixel_y = offset_y) SET_PLANE_EXPLICIT(menu_holder, ABOVE_HUD_PLANE, M) menu_holder.appearance_flags |= KEEP_APART|RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM menu_holder.vis_contents += elements + close_button @@ -345,7 +356,7 @@ GLOBAL_LIST_EMPTY(radial_menus) Choices should be a list where list keys are movables or text used for element names and return value and list values are movables/icons/images used for element icons */ -/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE, no_repeat_close = FALSE, radial_slice_icon = "radial_slice", autopick_single_option = TRUE) +/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE, no_repeat_close = FALSE, radial_slice_icon = "radial_slice", autopick_single_option = TRUE, entry_animation = TRUE, click_on_hover = FALSE, user_space = FALSE) if(!user || !anchor || !length(choices)) return @@ -362,16 +373,24 @@ GLOBAL_LIST_EMPTY(radial_menus) return var/datum/radial_menu/menu = new + menu.entry_animation = entry_animation GLOB.radial_menus[uniqueid] = menu if(radius) menu.radius = radius if(istype(custom_check)) menu.custom_check_callback = custom_check - menu.anchor = anchor + menu.anchor = user_space ? user : anchor menu.radial_slice_icon = radial_slice_icon menu.check_screen_border(user) //Do what's needed to make it look good near borders or on hud - menu.set_choices(choices, tooltips) - menu.show_to(user) + menu.set_choices(choices, tooltips, click_on_hover) + var/offset_x = 0 + var/offset_y = 0 + if (user_space) + var/turf/user_turf = get_turf(user) + var/turf/anchor_turf = get_turf(anchor) + offset_x = (anchor_turf.x - user_turf.x) * world.icon_size + anchor.pixel_x - user.pixel_x + offset_y = (anchor_turf.y - user_turf.y) * world.icon_size + anchor.pixel_y - user.pixel_y + menu.show_to(user, offset_x, offset_y) menu.wait(user, anchor, require_near) var/answer = menu.selected_choice qdel(menu) diff --git a/code/_onclick/hud/rendering/_render_readme.md b/code/_onclick/hud/rendering/_render_readme.md index 2c1cd559a58db..2c5e9875801b6 100644 --- a/code/_onclick/hud/rendering/_render_readme.md +++ b/code/_onclick/hud/rendering/_render_readme.md @@ -8,7 +8,7 @@ ## Byond internal functionality This part of the guide will assume that you have read the byond reference entry for rendering at www.byond.com/docs/ref//#/{notes}/renderer -When you create an atom, this will always create an internal byond structure called an "appearance". This appearance you will likely be familiar with, as it is exposed through the /atom/var/appearance var. This appearance var holds data on how to render the object, ie what icon/icon_state/color etc it is using. Note that appearance vars will always copy, and do not hold a reference. When you update a var, for example lets pretend we add a filter, the appearance will be updated to include the filter. Note that, however, vis_contents objets are uniquely excluded from appearances. Then, when the filter is updated, the appearance will be recreated, and the atom marked as "dirty". After it has been updated, the SendMaps() function (sometimes also called maptick), which is a internal byond function that iterates over all objects in a clients view and in the clients.mob.contents, checks for "dirty" atoms, then resends any "dirty" appearances to clients as needed and unmarks them as dirty. This function is notoriosly slow, but we can see it's tick usage through the world.map_cpu var. We can also avoid more complex checks checking whether an object is visible on a clients screen by using the TILE_BOUND appearance flag. +When you create an atom, this will always create an internal byond structure called an "appearance". This appearance you will likely be familiar with, as it is exposed through the /atom/var/appearance var. This appearance var holds data on how to render the object, ie what icon/icon_state/color etc it is using. Note that appearance vars will always copy, and do not hold a reference. When you update a var, for example lets pretend we add a filter, the appearance will be updated to include the filter. Note that, however, vis_contents objets are uniquely excluded from appearances. Then, when the filter is updated, the appearance will be recreated, and the atom marked as "dirty". After it has been updated, the SendMaps() function (sometimes also called maptick), which is a internal byond function that iterates over all objects in a clients view and in the clients.mob.contents, checks for "dirty" atoms, then resends any "dirty" appearances to clients as needed and unmarks them as dirty. This function is notoriosly slow, but we can see its tick usage through the world.map_cpu var. We can also avoid more complex checks checking whether an object is visible on a clients screen by using the TILE_BOUND appearance flag. Finally, we arrive at clientside behavior, where we have two main clientside functions: GetMapIcons, and Render. GetMapIcons is repsonsible for actual rendering calculations on the clientside, such as "Group Icons and Set bounds", which performs clientside calculations for transform matrixes. Note that particles here are handled in a separate thread and are not diplayed in the clientside profiler. Render handles the actual drawing of the screen. diff --git a/code/_onclick/hud/rendering/plane_master_group.dm b/code/_onclick/hud/rendering/plane_master_group.dm index 23096cc0e9ccd..aff033b1e7c0e 100644 --- a/code/_onclick/hud/rendering/plane_master_group.dm +++ b/code/_onclick/hud/rendering/plane_master_group.dm @@ -24,10 +24,23 @@ build_plane_masters(0, SSmapping.max_plane_offset) /datum/plane_master_group/Destroy() - orphan_hud() + set_hud(null) QDEL_LIST_ASSOC_VAL(plane_masters) return ..() +/datum/plane_master_group/proc/set_hud(datum/hud/new_hud) + if(new_hud == our_hud) + return + if(our_hud) + our_hud.master_groups -= key + hide_hud() + our_hud = new_hud + if(new_hud) + our_hud.master_groups[key] = src + show_hud() + build_planes_offset(our_hud, active_offset) + SEND_SIGNAL(src, COMSIG_GROUP_HUD_CHANGED, our_hud) + /// Display a plane master group to some viewer, so show all our planes to it /datum/plane_master_group/proc/attach_to(datum/hud/viewing_hud) if(viewing_hud.master_groups[key]) @@ -42,18 +55,11 @@ relay_loc = "1,1" rebuild_plane_masters() - our_hud = viewing_hud + set_hud(viewing_hud) our_hud.master_groups[key] = src show_hud() build_planes_offset(our_hud, active_offset) -/// Hide the plane master from its current hud, fully clear it out -/datum/plane_master_group/proc/orphan_hud() - if(our_hud) - our_hud.master_groups -= key - hide_hud() - our_hud = null - /// Well, refresh our group, mostly useful for plane specific updates /datum/plane_master_group/proc/refresh_hud() hide_hud() @@ -151,6 +157,7 @@ var/scale = scale_by ** (offset) var/matrix/multiz_shrink = matrix() multiz_shrink.Scale(scale) + multiz_shrink.Translate(0, -16 * offset) offsets += multiz_shrink // So we can talk in 1 -> max_offset * 2 + 1, rather then -max_offset -> max_offset diff --git a/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm index c96361348f0de..690ed1a8316fb 100644 --- a/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm +++ b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm @@ -177,6 +177,7 @@ name = "Floor" documentation = "The well, floor. This is mostly used as a sorting mechanism, but it also lets us create a \"border\" around the game world plane, so its drop shadow will actually work." plane = FLOOR_PLANE + render_target = FLOOR_PLANE_RENDER_TARGET render_relay_planes = list(RENDER_PLANE_GAME, LIGHT_MASK_PLANE) /atom/movable/screen/plane_master/transparent_floor @@ -194,17 +195,18 @@ /atom/movable/screen/plane_master/wall name = "Wall" - documentation = "Holds all walls. We render this onto the game world. Separate so we can use this + space and floor planes as a guide for where byond blackness is NOT." + documentation = "Holds a mirror of all walls. Separate so we can use this + space and floor planes as a guide for where byond blackness is NOT." plane = WALL_PLANE - render_relay_planes = list(RENDER_PLANE_GAME_WORLD, LIGHT_MASK_PLANE) + render_relay_planes = list(LIGHT_MASK_PLANE, RENDER_PLANE_WALL_WEATHER_MASK) /atom/movable/screen/plane_master/wall/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) . = ..() add_relay_to(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset), relay_layer = EMISSIVE_WALL_LAYER, relay_color = GLOB.em_block_color) -/atom/movable/screen/plane_master/game - name = "Game" - documentation = "Holds most non floor/wall things. Anything on this plane \"wants\" to interlayer depending on position." +/atom/movable/screen/plane_master/game_misc + name = "Game Misc" + documentation = "Exists to hold anything we want to be a part of the \"game world\" that isn't held by other plane masters that point at the world rendering plate.\ +
This is done partially to support parallaxing, since we can only parallax inputs, but it's also done so sidemap can operate as we'd like" plane = GAME_PLANE render_relay_planes = list(RENDER_PLANE_GAME_WORLD) @@ -214,6 +216,66 @@ plane = ABOVE_GAME_PLANE render_relay_planes = list(RENDER_PLANE_GAME_WORLD) +/atom/movable/screen/plane_master/hidden_walls + name = "Hidden Walls" + documentation = "Holds portions of walls that are not typically visible.\ +
Alpha'd up if that isn't the case, so basically if you have SEE_TURFS or an equivilant" + plane = HIDDEN_WALL_PLANE + render_relay_planes = list(RENDER_PLANE_GAME_WORLD) + +/atom/movable/screen/plane_master/hidden_walls/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + add_relay_to(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset), relay_layer = EMISSIVE_FRILL_LAYER, relay_color = GLOB.em_block_color) + +/atom/movable/screen/plane_master/hidden_walls/show_to(mob/mymob) + . = ..() + if(!.) + return + + handle_sight(mymob, mymob.sight, NONE) + RegisterSignal(mymob, COMSIG_MOB_SIGHT_CHANGE, PROC_REF(handle_sight), override = TRUE) + +/atom/movable/screen/plane_master/hidden_walls/hide_from(mob/oldmob) + . = ..() + UnregisterSignal(oldmob, COMSIG_MOB_SIGHT_CHANGE) + +/atom/movable/screen/plane_master/hidden_walls/proc/handle_sight(mob/source, new_sight, old_sight) + if(new_sight & (SEE_TURFS|SEE_THRU)) + enable_alpha() + else + disable_alpha() + +///Contains wall frills +/atom/movable/screen/plane_master/frill + name = "Frill" + documentation = "Contains frills, or the upper parts of some 3/4th'd structures.\ +
Is masked by a few things, the floor and client visible images" + plane = FRILL_PLANE + // Clicking on a frill can't get you the wall it's on (cause it's not overlayed onto it) + // So this just fucks people up, we should simply make it transparent. + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + render_relay_planes = list(RENDER_PLANE_FRILL, RENDER_PLANE_WALL_WEATHER_MASK) + +/atom/movable/screen/plane_master/frill/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + add_relay_to(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset), relay_layer = EMISSIVE_FRILL_LAYER, relay_color = GLOB.em_block_color) + +/atom/movable/screen/plane_master/frill_mask + name = "Frill Mask" + documentation = "Masks the frill plane, this allows us to hide frills around the area of our mob, or really just as we desire" + plane = FRILL_MASK_PLANE + render_target = FRILL_MASK_RENDER_TARGET + render_relay_planes = list() + +// Not entirely sure how required this is, it's the plane we use for things that sit "on" walls +/atom/movable/screen/plane_master/frill_over + name = "Over Frill" + documentation = "Holds anything that should sit ON TOP of the frill plane.\ +
I'd love to do this with layers, but we alpha out the frill plane so I can't." + plane = OVER_FRILL_PLANE + render_relay_planes = list(RENDER_PLANE_GAME_WORLD) + +/// Wallening todo: this doesn't like, work /atom/movable/screen/plane_master/seethrough name = "Seethrough" documentation = "Holds the seethrough versions (done using image overrides) of large objects. Mouse transparent, so you can click through them." @@ -240,9 +302,55 @@ /atom/movable/screen/plane_master/area name = "Area" - documentation = "Holds the areas themselves, which ends up meaning it holds any overlays/effects we apply to areas. NOT snow or rad storms, those go on above lighting" + documentation = "Holds the areas themselves, which ends up meaning it holds any overlays/effects we apply to areas that are otherwise unhomed" plane = AREA_PLANE +/atom/movable/screen/plane_master/weather_mask + name = "Weather Mask" + documentation = "Deliniates between places WITH weather active and places without.\ +
Used currently just to ensure frills draw properly" + plane = WEATHER_MASK_PLANE + render_target = WEATHER_MASK_RENDER_TARGET + render_relay_planes = list() + start_hidden = TRUE + +/atom/movable/screen/plane_master/weather_mask/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + +/atom/movable/screen/plane_master/weather + name = "Weather" + documentation = "Holds the main tiling 32x32 sprites of weather. We mask against walls that are on the edge of weather effects." + plane = WEATHER_PLANE + start_hidden = TRUE + +/atom/movable/screen/plane_master/weather/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + add_filter("wall_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(WALL_WEATHER_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + +// using this as a mask against weather might be kinda? weird cause of potential double transforms. idk how I feel bout it tbh. works for now? +// weather is weird on multiz stacks anyway so idkkkkk +/atom/movable/screen/plane_master/weather_frill + name = "Weather Frills" + documentation = "Holds the \"frills\" of weather, so at its top it can reach up to touch the turf above some and look 3d." + plane = WEATHER_FRILL_PLANE + start_hidden = TRUE + +/atom/movable/screen/plane_master/weather_frill/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + +/atom/movable/screen/plane_master/weather_frill/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + add_filter("weather_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(WEATHER_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + /atom/movable/screen/plane_master/massive_obj name = "Massive object" documentation = "Huge objects need to render above everything else on the game plane, otherwise they'd well, get clipped and look not that huge. This does that." @@ -279,12 +387,57 @@ blend_mode = BLEND_MULTIPLY critical = PLANE_CRITICAL_DISPLAY +/atom/movable/screen/plane_master/darkness_mask + name = "Darkness Mask" + documentation = "Masks out bits of the world that would otherwise be lit up, but should be hidden due to say, being on the other side of an airlock." + plane = DARKNESS_MASK_PLANE + render_target = DARKNESS_MASK_RENDER_TARGET + appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR + render_relay_planes = list(RENDER_PLANE_GAME) + critical = PLANE_CRITICAL_DISPLAY + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +/atom/movable/screen/plane_master/darkness_mask/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + // Ensures any speck of white means darkness at the end + add_filter("bump_color", 2, color_matrix_filter(list(255,0,0,0, 0,255,0,0, 0,0,255,0, 0,0,0,255, 0,0,0,0))) + // Converts white to darkness, and black to transparency + add_filter("color_to_opacity", 3, color_matrix_filter(list(0,0,0,1/3, 0,0,0,1/3, 0,0,0,1/3, 0,0,0,0, 0,0,0,0))) + /atom/movable/screen/plane_master/above_lighting name = "Above lighting" plane = ABOVE_LIGHTING_PLANE documentation = "Anything on the game plane that needs a space to draw on that will be above the lighting plane.\
Mostly little alerts and effects, also sometimes contains things that are meant to look as if they glow." +/atom/movable/screen/plane_master/weather_glow + name = "Weather Glow" + documentation = "Holds the glowing parts of the main tiling 32x32 sprites of weather. Exists because we need to mask away walls RIGHT below us." + plane = WEATHER_GLOW_PLANE + start_hidden = TRUE + +/atom/movable/screen/plane_master/weather_glow/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + add_filter("wall_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(WALL_WEATHER_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + +/atom/movable/screen/plane_master/weather_frill_glow + name = "Weather Glow Frills" + documentation = "Very similar to weather frills except it draws above lighting. Reaches up to touch unweathered turfs." + plane = WEATHER_FRILL_GLOW_PLANE + start_hidden = TRUE + +/atom/movable/screen/plane_master/weather_frill_glow/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + add_filter("weather_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(WEATHER_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + +/atom/movable/screen/plane_master/weather_frill_glow/set_home(datum/plane_master_group/home) + . = ..() + if(!.) + return + home.AddComponent(/datum/component/hide_weather_planes, src) /** * Handles emissive overlays and emissive blockers. */ @@ -296,9 +449,13 @@ plane = EMISSIVE_PLANE appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR mouse_opacity = MOUSE_OPACITY_TRANSPARENT - render_relay_planes = list(EMISSIVE_RENDER_PLATE) + render_relay_planes = list() critical = PLANE_CRITICAL_DISPLAY +/atom/movable/screen/plane_master/emissive/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + add_relay_to(GET_NEW_PLANE(EMISSIVE_RENDER_PLATE, offset), relay_layer = EMISSIVE_PLANE_LAYER) + /atom/movable/screen/plane_master/pipecrawl name = "Pipecrawl" documentation = "Holds pipecrawl images generated during well, pipecrawling.\ @@ -422,3 +579,23 @@ appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR render_relay_planes = list(RENDER_PLANE_MASTER) offsetting_flags = BLOCKS_PLANE_OFFSETTING|OFFSET_RELAYS_MATCH_HIGHEST + +/atom/movable/screen/plane_master/examine_balloons + name = "Examine Balloons" + documentation = "The balloons that appear above objects (often wallmounts) when holding shift." + plane = EXAMINE_BALLOONS_PLANE + render_target = EXAMINE_BALLOONS_RENDER_TARGET + appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR + render_relay_planes = list() + alpha = 0 + var/invis_timer = TIMER_ID_NULL + +/atom/movable/screen/plane_master/examine_balloons/proc/fade_in() + animate(src, 0.2 SECONDS, alpha = 255) + add_relay_to(GET_NEW_PLANE(RENDER_PLANE_GAME_WORLD, offset)) + deltimer(invis_timer) + invis_timer = TIMER_ID_NULL + +/atom/movable/screen/plane_master/examine_balloons/proc/fade_out() + animate(src, 0.2 SECONDS, alpha = 0) + invis_timer = addtimer(CALLBACK(src, PROC_REF(remove_relay_from), GET_NEW_PLANE(RENDER_PLANE_GAME_WORLD, offset)), 0.2 SECONDS, TIMER_UNIQUE|TIMER_STOPPABLE) diff --git a/code/_onclick/hud/rendering/render_plate.dm b/code/_onclick/hud/rendering/render_plate.dm index e84663529825b..9354512bad587 100644 --- a/code/_onclick/hud/rendering/render_plate.dm +++ b/code/_onclick/hud/rendering/render_plate.dm @@ -6,7 +6,7 @@ /** - * Render relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own + * Render relay object assigned to a plane master to be able to relay its render onto other planes that are not its own */ /atom/movable/render_plane_relay screen_loc = "CENTER" @@ -189,6 +189,41 @@ AddComponent(/datum/component/plane_hide_highest_offset) color = list(0.9,0,0,0, 0,0.9,0,0, 0,0,0.9,0, 0,0,0,1, 0,0,0,0) +/atom/movable/screen/plane_master/rendering_plate/frill + name = "Frill plate" + documentation = "Contains frills (the tops of windows/walls). Exists so we can mask this with the frill mask and avoid double transforming in rare cases." + plane = RENDER_PLANE_FRILL + render_relay_planes = list(RENDER_PLANE_GAME_WORLD) + appearance_flags = PLANE_MASTER //should use client color + blend_mode = BLEND_OVERLAY + +/atom/movable/screen/plane_master/rendering_plate/frill/show_to(mob/mymob) + . = ..() + remove_filter(FRILL_MOB_MASK) + if(!mymob?.client) + return + if(mymob.canon_client?.prefs?.read_preference(/datum/preference/toggle/frill_transparency)) + alpha = 120 + else + alpha = 255 + add_filter(FRILL_MOB_MASK, 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(FRILL_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + +/atom/movable/screen/plane_master/rendering_plate/wall_weather_mask + name = "Wall Masked Weather plate" + documentation = "Used to mask off the bottom edge of weather so it does not flow overtop walls/frills" + plane = RENDER_PLANE_WALL_WEATHER_MASK + render_target = WALL_WEATHER_MASK_RENDER_TARGET + render_relay_planes = list() + start_hidden = TRUE + +/atom/movable/screen/plane_master/rendering_plate/wall_weather_mask/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + if(!home) + return + home.AddComponent(/datum/component/hide_weather_planes, src) + // mask with the weather mask plane BUT drop the bottom 16 pixels. this will let us mask WEATHER with the walls at its bottom + add_filter("weather_mask", 1, alpha_mask_filter(y = 16, render_source = OFFSET_RENDER_TARGET(WEATHER_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + ///Contains most things in the game world /atom/movable/screen/plane_master/rendering_plate/game_world name = "Game world plate" @@ -340,12 +375,16 @@ blend_mode = BLEND_MULTIPLY render_relay_planes = list(RENDER_PLANE_GAME) +/atom/movable/screen/plane_master/rendering_plate/light_mask/Initialize(mapload, datum/hud/hud_owner, datum/plane_master_group/home, offset) + . = ..() + add_filter("directional_opacity_mask", 1, alpha_mask_filter(render_source = OFFSET_RENDER_TARGET(DARKNESS_MASK_RENDER_TARGET, offset), flags = MASK_INVERSE)) + /atom/movable/screen/plane_master/rendering_plate/light_mask/show_to(mob/mymob) . = ..() if(!.) return - RegisterSignal(mymob, COMSIG_MOB_SIGHT_CHANGE, PROC_REF(handle_sight)) + RegisterSignal(mymob, COMSIG_MOB_SIGHT_CHANGE, PROC_REF(handle_sight), override = TRUE) handle_sight(mymob, mymob.sight, NONE) /atom/movable/screen/plane_master/rendering_plate/light_mask/hide_from(mob/oldmob) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 8cc29740870ca..f5392ab1a024c 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -45,8 +45,9 @@ /atom/movable/screen/Initialize(mapload, datum/hud/hud_owner) . = ..() - if(hud_owner && istype(hud_owner)) - hud = hud_owner + if(isnull(hud_owner)) //some screens set their hud owners on /new, this prevents overriding them with null post atoms init + return + set_new_hud(hud_owner) /atom/movable/screen/Destroy() master_ref = null @@ -72,10 +73,25 @@ /atom/movable/screen/proc/component_click(atom/movable/screen/component_button/component, params) return +///setter used to set our new hud +/atom/movable/screen/proc/set_new_hud(datum/hud/hud_owner) + if(hud) + UnregisterSignal(hud, COMSIG_QDELETING) + if(isnull(hud_owner)) + hud = null + return + hud = hud_owner + RegisterSignal(hud, COMSIG_QDELETING, PROC_REF(on_hud_delete)) + /// Returns the mob this is being displayed to, if any /atom/movable/screen/proc/get_mob() return hud?.mymob +/atom/movable/screen/proc/on_hud_delete(datum/source) + SIGNAL_HANDLER + + set_new_hud(hud_owner = null) + /atom/movable/screen/text icon = null icon_state = null @@ -85,7 +101,6 @@ maptext_width = 480 /atom/movable/screen/swap_hand - plane = HUD_PLANE name = "swap hand" /atom/movable/screen/swap_hand/Click() @@ -466,8 +481,26 @@ return TRUE +/atom/movable/screen/storage/cell + +/atom/movable/screen/storage/cell/mouse_drop_receive(atom/target, mob/living/user, params) + var/datum/storage/storage = master_ref?.resolve() + + if (isnull(storage) || !istype(user) || storage != user.active_storage) + return + + if (!user.can_perform_action(storage.parent, FORBID_TELEKINESIS_REACH)) + return + + if (target.loc != storage.real_location) + return + + /// Due to items in storage ignoring transparency for click hitboxes, this only can happen if we drag onto a free cell - aka after all current contents + storage.real_location.contents -= target + storage.real_location.contents += target + storage.refresh_views() + /atom/movable/screen/storage/corner - name = "storage" icon_state = "storage_corner_topleft" /atom/movable/screen/storage/corner/top_right @@ -853,9 +886,9 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/splash) /atom/movable/screen/hunger/update_appearance(updates) var/old_state = state update_hunger_state() // Do this before we call all the other update procs - . = ..() if(state == old_state) // Let's not be wasteful return + . = ..() if(state == HUNGER_STATE_FINE) SetInvisibility(INVISIBILITY_ABSTRACT, name) return @@ -873,9 +906,10 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/splash) remove_filter("hunger_outline") // Update color of the food - underlays -= food_image - food_image.color = state == HUNGER_STATE_FAT ? COLOR_DARK : null - underlays += food_image + if((state == HUNGER_STATE_FAT) != (old_state == HUNGER_STATE_FAT)) + underlays -= food_image + food_image.color = state == HUNGER_STATE_FAT ? COLOR_DARK : null + underlays += food_image /atom/movable/screen/hunger/update_icon_state() . = ..() diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index a5c2035b9394d..5af9b7e016156 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -200,14 +200,12 @@ * * params - Click params of this attack */ /obj/item/proc/attack(mob/living/target_mob, mob/living/user, params) - var/signal_return = SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, target_mob, user, params) + var/signal_return = SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, target_mob, user, params) || SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK, target_mob, user, params) if(signal_return & COMPONENT_CANCEL_ATTACK_CHAIN) return TRUE if(signal_return & COMPONENT_SKIP_ATTACK) return FALSE - SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK, target_mob, user, params) - if(item_flags & NOBLUDGEON) return FALSE @@ -253,7 +251,7 @@ /// The equivalent of the standard version of [/obj/item/proc/attack] but for non mob targets. /obj/item/proc/attack_atom(atom/attacked_atom, mob/living/user, params) - var/signal_return = SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_ATOM, attacked_atom, user) + var/signal_return = SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_ATOM, attacked_atom, user) | SEND_SIGNAL(user, COMSIG_LIVING_ATTACK_ATOM, attacked_atom) if(signal_return & COMPONENT_SKIP_ATTACK) return TRUE if(signal_return & COMPONENT_CANCEL_ATTACK_CHAIN) @@ -272,12 +270,12 @@ /// Called from [/obj/item/proc/attack_atom] and [/obj/item/proc/attack] if the attack succeeds /atom/proc/attacked_by(obj/item/attacking_item, mob/living/user) if(!uses_integrity) - CRASH("attacked_by() was called on an object that doesnt use integrity!") + CRASH("attacked_by() was called on an object that doesn't use integrity!") if(!attacking_item.force) return - var/damage = take_damage(attacking_item.force, attacking_item.damtype, MELEE, 1) + var/damage = take_damage(attacking_item.force, attacking_item.damtype, MELEE, 1, get_dir(src, user)) //only witnesses close by and the victim see a hit message. user.visible_message(span_danger("[user] hits [src] with [attacking_item][damage ? "." : ", without leaving a mark!"]"), \ span_danger("You hit [src] with [attacking_item][damage ? "." : ", without leaving a mark!"]"), null, COMBAT_MESSAGE_RANGE) diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 0dd8ee0a582f6..2f1465ac4ffe2 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -200,7 +200,8 @@ /atom/proc/attack_paw(mob/user, list/modifiers) if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_PAW, user, modifiers) & COMPONENT_CANCEL_ATTACK_CHAIN) return TRUE - return FALSE + if(interaction_flags_atom & INTERACT_ATOM_ATTACK_PAW) + . = _try_interact(user) /* diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index b7f48fcab5e4a..6ba6cd2de09fc 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -506,7 +506,7 @@ Example config: if(!fexists(file(config_toml))) SSjob.legacy_mode = TRUE - message += "jobconfig.toml not found, falling back to legacy mode (using jobs.txt). To surpress this warning, generate a jobconfig.toml by running the verb 'Generate Job Configuration' in the Server tab.\n\ + message += "jobconfig.toml not found, falling back to legacy mode (using jobs.txt). To suppress this warning, generate a jobconfig.toml by running the verb 'Generate Job Configuration' in the Server tab.\n\ From there, you can then add it to the /config folder of your server to have it take effect for future rounds." if(!fexists(file(config_txt))) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 30fdfe389ffe4..72df7ceeb9777 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -70,6 +70,7 @@ /// Determines how fast traitors scale in general. /datum/config_entry/number/traitor_scaling_multiplier default = 1 + integer = FALSE min_val = 0.01 /// Determines how many potential objectives a traitor can have. @@ -265,7 +266,7 @@ /datum/config_entry/flag/roundstart_away //Will random away mission be loaded. /datum/config_entry/number/gateway_delay //How long the gateway takes before it activates. Default is half an hour. Only matters if roundstart_away is enabled. - default = 18000 + default = 30 MINUTES integer = FALSE min_val = 0 @@ -274,6 +275,16 @@ min_val = 0 max_val = 100 +///An override to gateway_delay for specific maps or start points +/datum/config_entry/keyed_list/gateway_delays_by_id + default = list( + AWAYSTART_BEACH = 5 MINUTES, //Chill RP zone + AWAYSTART_MUSEUM = 12 MINUTES, //Chill place with some cool puzzles and effects. + ) + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + lowercase_key = FALSE //The macros are written the exact same way as their values, only without the quotation marks. + /datum/config_entry/flag/ghost_interaction /datum/config_entry/flag/near_death_experience //If carbons can hear ghosts when unconscious and very close to death diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index f6d03eb828d4c..e92e30079b878 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -16,7 +16,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) // The alert level. For every failed poke, we drop a DEFCON level. Once we hit DEFCON 1, restart the MC. var/defcon = 5 //the world.time of the last check, so the mc can restart US if we hang. - // (Real friends look out for *eachother*) + // (Real friends look out for *each other*) var/lasttick = 0 // Track the MC iteration to make sure its still on track. diff --git a/code/controllers/master.dm b/code/controllers/master.dm index a7dbc38f68bcd..ffa8b0bde4f1d 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -78,6 +78,10 @@ GLOBAL_REAL(Master, /datum/controller/master) /// Whether the Overview UI will update as fast as possible for viewers. var/overview_fast_update = FALSE + /// Enables rolling usage averaging + var/use_rolling_usage = FALSE + /// How long to run our rolling usage averaging + var/rolling_usage_length = 5 SECONDS /datum/controller/master/New() if(!config) @@ -151,12 +155,32 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie if(isnull(ui)) ui = new /datum/tgui(user, src, "ControllerOverview") ui.open() + use_rolling_usage = TRUE + +/datum/controller/master/ui_close(mob/user) + var/valid_found = FALSE + for(var/datum/tgui/open_ui as anything in open_uis) + if(open_ui.user == user) + continue + valid_found = TRUE + if(!valid_found) + use_rolling_usage = FALSE + return ..() /datum/controller/master/ui_data(mob/user) var/list/data = list() var/list/subsystem_data = list() for(var/datum/controller/subsystem/subsystem as anything in subsystems) + var/list/rolling_usage = subsystem.rolling_usage + subsystem.prune_rolling_usage() + + // Then we sum + var/sum = 0 + for(var/i in 2 to length(rolling_usage) step 2) + sum += rolling_usage[i] + var/average = sum / DS2TICKS(rolling_usage_length) + subsystem_data += list(list( "name" = subsystem.name, "ref" = REF(subsystem), @@ -167,6 +191,7 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie "doesnt_fire" = !!(subsystem.flags & SS_NO_FIRE), "cost_ms" = subsystem.cost, "tick_usage" = subsystem.tick_usage, + "usage_per_tick" = average, "tick_overrun" = subsystem.tick_overrun, "initialized" = subsystem.initialized, "initialization_failure_message" = subsystem.initialization_failure_message, @@ -175,6 +200,7 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie data["world_time"] = world.time data["map_cpu"] = world.map_cpu data["fast_update"] = overview_fast_update + data["rolling_length"] = rolling_usage_length return data @@ -187,6 +213,13 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie overview_fast_update = !overview_fast_update return TRUE + if("set_rolling_length") + var/length = text2num(params["rolling_length"]) + if(!length || length < 0) + return + rolling_usage_length = length SECONDS + return TRUE + if("view_variables") var/datum/controller/subsystem/subsystem = locate(params["ref"]) in subsystems if(isnull(subsystem)) @@ -278,7 +311,7 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie Initialize(20, TRUE, FALSE) // Please don't stuff random bullshit here, -// Make a subsystem, give it the SS_NO_FIRE flag, and do your work in it's Initialize() +// Make a subsystem, give it the SS_NO_FIRE flag, and do your work in its Initialize() /datum/controller/master/Initialize(delay, init_sss, tgs_prime) set waitfor = 0 @@ -764,6 +797,12 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie var/state = queue_node.ignite(queue_node_paused) tick_usage = TICK_USAGE - tick_usage + if(use_rolling_usage) + queue_node.prune_rolling_usage() + // Rolling usage is an unrolled list that we know the order off + // OPTIMIZATION POSTING + queue_node.rolling_usage += list(DS2TICKS(world.time), tick_usage) + if(queue_node.profiler_focused) world.Profile(PROFILE_STOP) @@ -903,3 +942,4 @@ ADMIN_VERB(cmd_controller_view_ui, R_SERVER|R_DEBUG, "Controller Overview", "Vie return FALSE last_profiled = REALTIMEOFDAY SSprofiler.DumpFile(allow_yield = FALSE) + diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index c9a2f07c4ee83..63bee7bb22ea9 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -63,6 +63,9 @@ /// Running average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing var/tick_overrun = 0 + /// Flat list of usage and time, every odd index is a log time, every even index is a usage + var/list/rolling_usage = list() + /// How much of a tick (in percents of a tick) were we allocated last fire. var/tick_allocation_last = 0 @@ -299,6 +302,15 @@ if (can_fire && cycles >= 1) postponed_fires += cycles +/// Prunes out of date entries in our rolling usage list +/datum/controller/subsystem/proc/prune_rolling_usage() + var/list/rolling_usage = src.rolling_usage + var/cut_to = 0 + while(cut_to + 2 <= length(rolling_usage) && rolling_usage[cut_to + 1] < DS2TICKS(world.time - Master.rolling_usage_length)) + cut_to += 2 + if(cut_to) + rolling_usage.Cut(1, cut_to + 1) + //usually called via datum/controller/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash) //should attempt to salvage what it can from the old instance of subsystem /datum/controller/subsystem/Recover() diff --git a/code/controllers/subsystem/ai_controllers.dm b/code/controllers/subsystem/ai_controllers.dm index a6badb44a3f0e..30d3c4986f2a2 100644 --- a/code/controllers/subsystem/ai_controllers.dm +++ b/code/controllers/subsystem/ai_controllers.dm @@ -6,40 +6,23 @@ SUBSYSTEM_DEF(ai_controllers) init_order = INIT_ORDER_AI_CONTROLLERS wait = 0.5 SECONDS //Plan every half second if required, not great not terrible. runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME - - ///List of all ai_subtree singletons, key is the typepath while assigned value is a newly created instance of the typepath. See setup_subtrees() - var/list/datum/ai_planning_subtree/ai_subtrees = list() - ///Assoc List of all AI statuses and all AI controllers with that status. - var/list/ai_controllers_by_status = list( - AI_STATUS_ON = list(), - AI_STATUS_OFF = list(), - AI_STATUS_IDLE = list(), - ) - ///Assoc List of all AI controllers and the Z level they are on, which we check when someone enters/leaves a Z level to turn them on/off. - var/list/ai_controllers_by_zlevel = list() + ///type of status we are interested in running + var/planning_status = AI_STATUS_ON /// The tick cost of all active AI, calculated on fire. - var/cost_on - /// The tick cost of all idle AI, calculated on fire. - var/cost_idle - + var/our_cost /datum/controller/subsystem/ai_controllers/Initialize() setup_subtrees() return SS_INIT_SUCCESS /datum/controller/subsystem/ai_controllers/stat_entry(msg) - var/list/active_list = ai_controllers_by_status[AI_STATUS_ON] - var/list/inactive_list = ai_controllers_by_status[AI_STATUS_OFF] - var/list/idle_list = ai_controllers_by_status[AI_STATUS_IDLE] - msg = "Active AIs:[length(active_list)]/[round(cost_on,1)]%|Inactive:[length(inactive_list)]|Idle:[length(idle_list)]/[round(cost_idle,1)]%" + var/list/planning_list = GLOB.ai_controllers_by_status[planning_status] + msg = "Planning AIs:[length(planning_list)]/[round(our_cost,1)]%" return ..() /datum/controller/subsystem/ai_controllers/fire(resumed) var/timer = TICK_USAGE_REAL - cost_idle = MC_AVERAGE(cost_idle, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) - - timer = TICK_USAGE_REAL - for(var/datum/ai_controller/ai_controller as anything in ai_controllers_by_status[AI_STATUS_ON]) + for(var/datum/ai_controller/ai_controller as anything in GLOB.ai_controllers_by_status[planning_status]) if(!COOLDOWN_FINISHED(ai_controller, failed_planning_cooldown)) continue @@ -49,18 +32,20 @@ SUBSYSTEM_DEF(ai_controllers) if(!LAZYLEN(ai_controller.current_behaviors)) //Still no plan COOLDOWN_START(ai_controller, failed_planning_cooldown, AI_FAILED_PLANNING_COOLDOWN) - cost_on = MC_AVERAGE(cost_on, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + our_cost = MC_AVERAGE(our_cost, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) ///Creates all instances of ai_subtrees and assigns them to the ai_subtrees list. /datum/controller/subsystem/ai_controllers/proc/setup_subtrees() + if(length(GLOB.ai_subtrees)) + return for(var/subtree_type in subtypesof(/datum/ai_planning_subtree)) var/datum/ai_planning_subtree/subtree = new subtree_type - ai_subtrees[subtree_type] = subtree + GLOB.ai_subtrees[subtree_type] = subtree ///Called when the max Z level was changed, updating our coverage. /datum/controller/subsystem/ai_controllers/proc/on_max_z_changed() - if (!islist(ai_controllers_by_zlevel)) - ai_controllers_by_zlevel = new /list(world.maxz,0) - while (SSai_controllers.ai_controllers_by_zlevel.len < world.maxz) - SSai_controllers.ai_controllers_by_zlevel.len++ - SSai_controllers.ai_controllers_by_zlevel[ai_controllers_by_zlevel.len] = list() + if(!length(GLOB.ai_controllers_by_zlevel)) + GLOB.ai_controllers_by_zlevel = new /list(world.maxz,0) + while (GLOB.ai_controllers_by_zlevel.len < world.maxz) + GLOB.ai_controllers_by_zlevel.len++ + GLOB.ai_controllers_by_zlevel[GLOB.ai_controllers_by_zlevel.len] = list() diff --git a/code/controllers/subsystem/ai_idle_controllers.dm b/code/controllers/subsystem/ai_idle_controllers.dm new file mode 100644 index 0000000000000..367a2c82ffc95 --- /dev/null +++ b/code/controllers/subsystem/ai_idle_controllers.dm @@ -0,0 +1,8 @@ +AI_CONTROLLER_SUBSYSTEM_DEF(ai_idle_controllers) + name = "AI Idle Controllers" + flags = SS_POST_FIRE_TIMING | SS_BACKGROUND + priority = FIRE_PRIORITY_IDLE_NPC + init_order = INIT_ORDER_AI_IDLE_CONTROLLERS + wait = 5 SECONDS + runlevels = RUNLEVEL_GAME + planning_status = AI_STATUS_IDLE diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 1cb3e2dec3783..4557e153db190 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -559,7 +559,7 @@ SUBSYSTEM_DEF(air) // If it's already been processed, then it's already talked to us if(enemy_tile.current_cycle == -INFINITE) continue - // .air instead of .return_air() because we can guarentee that the proc won't do anything + // .air instead of .return_air() because we can guarantee that the proc won't do anything if(potential_diff.air.compare(enemy_tile.air)) //testing("Active turf found. Return value of compare(): [T.air.compare(enemy_tile.air)]") if(!potential_diff.excited) @@ -707,7 +707,7 @@ SUBSYSTEM_DEF(air) CHECK_TICK //this can't be done with setup_atmos_machinery() because -// all atmos machinery has to initalize before the first +// all atmos machinery has to initialize before the first // pipenet can be built. /datum/controller/subsystem/air/proc/setup_pipenets() for (var/obj/machinery/atmospherics/AM in atmos_machinery) diff --git a/code/controllers/subsystem/ambience.dm b/code/controllers/subsystem/ambience.dm index cae5d85246d80..7258b0b16e948 100644 --- a/code/controllers/subsystem/ambience.dm +++ b/code/controllers/subsystem/ambience.dm @@ -124,7 +124,7 @@ SUBSYSTEM_DEF(ambience) client.current_ambient_sound = null return - //Station ambience is dependant on a functioning and charged APC with enviorment power enabled. + //Station ambience is dependent on a functioning and charged APC with environment power enabled. if(!is_mining_level(my_area.z) && ((!my_area.apc || !my_area.apc.operating || !my_area.apc.cell?.charge && my_area.requires_power || !my_area.power_environ))) SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ)) client.current_ambient_sound = null diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index 71eaed14ea23f..745410e6a27b0 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -57,7 +57,7 @@ SUBSYSTEM_DEF(atoms) //I hate that we need this if(QDELETED(A)) continue - A.LateInitialize() + A.LateInitialize(/* mapload = */ TRUE) testing("Late initialized [late_loaders.len] atoms") late_loaders.Cut() diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index bb4f3802d89b1..3ea1a9a40d88f 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -190,7 +190,7 @@ feedback data can be recorded in 5 formats: used to track the number of occurances of multiple related values i.e. how many times each type of gun is fired further calls to the same key will: add or subtract from the saved value of the data key if it already exists - append the key and it's value if it doesn't exist + append the key and its value if it doesn't exist calls: SSblackbox.record_feedback("tally", "example", 1, "sample data") SSblackbox.record_feedback("tally", "example", 4, "sample data") SSblackbox.record_feedback("tally", "example", 2, "other data") @@ -202,7 +202,7 @@ feedback data can be recorded in 5 formats: all data list elements must be strings further calls to the same key will: add or subtract from the saved value of the data key if it already exists in the same multi-dimensional position - append the key and it's value if it doesn't exist + append the key and its value if it doesn't exist calls: SSblackbox.record_feedback("nested tally", "example", 1, list("fruit", "orange", "apricot")) SSblackbox.record_feedback("nested tally", "example", 2, list("fruit", "orange", "orange")) SSblackbox.record_feedback("nested tally", "example", 3, list("fruit", "orange", "apricot")) diff --git a/code/controllers/subsystem/discord.dm b/code/controllers/subsystem/discord.dm index 7efdbfcda6a55..5fd1db1fd074d 100644 --- a/code/controllers/subsystem/discord.dm +++ b/code/controllers/subsystem/discord.dm @@ -140,9 +140,9 @@ SUBSYSTEM_DEF(discord) * ``` * * Notes: - * * The token is guaranteed to unique during it's validity period + * * The token is guaranteed to unique during its validity period * * The validity period is currently set at 4 hours - * * a token may not be unique outside it's validity window (to reduce conflicts) + * * a token may not be unique outside its validity window (to reduce conflicts) * * Arguments: * * ckey_for a string representing the ckey this token is for diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm index e34b0c7e446c0..66a06c230c646 100644 --- a/code/controllers/subsystem/dynamic/dynamic.dm +++ b/code/controllers/subsystem/dynamic/dynamic.dm @@ -999,7 +999,7 @@ SUBSYSTEM_DEF(dynamic) #define MAXIMUM_DYN_DISTANCE 5 /** - * Returns the comulative distribution of threat centre and width, and a random location of -0.5 to 0.5 + * Returns the comulative distribution of threat centre and width, and a random location of -5 to 5 * plus or minus the otherwise unattainable lower and upper percentiles. All multiplied by the maximum * threat and then rounded to the nearest interval. * rand() calls without arguments returns a value between 0 and 1, allowing for smaller intervals. diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm index d853876fed143..b204b62e965aa 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm @@ -167,7 +167,7 @@ /// Checks for revhead loss conditions and other antag datums. /datum/dynamic_ruleset/latejoin/provocateur/proc/check_eligible(datum/mind/M) var/turf/T = get_turf(M.current) - if(!considered_afk(M) && considered_alive(M) && is_station_level(T.z) && !M.antag_datums?.len && !HAS_TRAIT(M, TRAIT_MINDSHIELD)) + if(!considered_afk(M) && considered_alive(M) && is_station_level(T.z) && !M.antag_datums?.len && !HAS_MIND_TRAIT(M.current, TRAIT_UNCONVERTABLE)) return TRUE return FALSE diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm index 857a1babd3249..3476702e741ed 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm @@ -349,6 +349,7 @@ requirements = REQUIREMENTS_VERY_HIGH_THREAT_NEEDED flags = HIGH_IMPACT_RULESET ruleset_lazy_templates = list(LAZY_TEMPLATE_KEY_WIZARDDEN) + signup_item_path = /obj/item/clothing/head/wizard /datum/dynamic_ruleset/midround/from_ghosts/wizard/ready(forced = FALSE) if(!check_candidates()) @@ -388,6 +389,7 @@ requirements = REQUIREMENTS_VERY_HIGH_THREAT_NEEDED ruleset_lazy_templates = list(LAZY_TEMPLATE_KEY_NUKIEBASE) flags = HIGH_IMPACT_RULESET + signup_item_path = /obj/machinery/nuclearbomb var/list/operative_cap = list(2,2,3,3,4,5,5,5,5,5) @@ -433,6 +435,7 @@ cost = 8 minimum_players = 25 repeatable = TRUE + signup_item_path = /obj/structure/blob/normal /datum/dynamic_ruleset/midround/from_ghosts/blob/generate_ruleset_body(mob/applicant) var/body = applicant.become_overmind() @@ -506,6 +509,7 @@ cost = 10 minimum_players = 25 repeatable = TRUE + signup_item_path = /mob/living/basic/alien var/list/vents = list() /datum/dynamic_ruleset/midround/from_ghosts/xenomorph/forget_startup() @@ -554,6 +558,7 @@ cost = 5 minimum_players = 15 repeatable = TRUE + signup_item_path = /obj/item/light_eater /datum/dynamic_ruleset/midround/from_ghosts/nightmare/acceptable(population = 0, threat_level = 0) var/turf/spawn_loc = find_maintenance_spawn(atmos_sensitive = TRUE, require_darkness = TRUE) //Checks if there's a single safe, dark tile on station. @@ -590,6 +595,7 @@ cost = 7 minimum_players = 25 repeatable = TRUE + signup_item_path = /mob/living/basic/space_dragon var/list/spawn_locs = list() /datum/dynamic_ruleset/midround/from_ghosts/space_dragon/forget_startup() @@ -669,6 +675,7 @@ minimum_players = 30 repeatable = TRUE ruleset_lazy_templates = list(LAZY_TEMPLATE_KEY_NINJA_HOLDING_FACILITY) // I mean, no one uses the nets anymore but whateva + signup_item_path = /obj/item/energy_katana var/list/spawn_locs = list() @@ -728,6 +735,7 @@ cost = 5 minimum_players = 15 repeatable = TRUE + signup_item_path = /mob/living/basic/revenant var/dead_mobs_required = 20 var/need_extra_spawns_value = 15 var/list/spawn_locs = list() @@ -870,6 +878,7 @@ cost = 7 minimum_players = 15 repeatable = TRUE + signup_item_path = /obj/effect/meteor/meaty/changeling /datum/dynamic_ruleset/midround/from_ghosts/changeling_midround/generate_ruleset_body(mob/applicant) var/body = generate_changeling_meteor(applicant) @@ -949,3 +958,44 @@ #undef MALF_ION_PROB #undef REPLACE_LAW_WITH_ION_PROB + +/// Midround Voidwalker Ruleset (From Ghosts) +/datum/dynamic_ruleset/midround/from_ghosts/voidwalker + name = "Voidwalker" + midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + antag_datum = /datum/antagonist/voidwalker + antag_flag = ROLE_VOIDWALKER + antag_flag_override = ROLE_VOIDWALKER + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS + required_enemies = list(2,2,1,1,1,1,1,0,0,0) + required_candidates = 1 + weight = 2 + cost = 5 + minimum_players = 40 + repeatable = TRUE + signup_item_path = /obj/item/cosmic_skull + ruleset_lazy_templates = list(LAZY_TEMPLATE_KEY_VOIDWALKER_VOID) + /// The space turf we find in acceptable(), cached for ease + var/space_turf + +/datum/dynamic_ruleset/midround/from_ghosts/voidwalker/acceptable(population = 0, threat_level = 0) + space_turf = find_space_spawn() + // Space only antag and will die on planetary gravity. + if(SSmapping.is_planetary() || !space_turf) + return FALSE + return ..() + +/datum/dynamic_ruleset/midround/from_ghosts/voidwalker/generate_ruleset_body(mob/applicant) + var/datum/mind/player_mind = new /datum/mind(applicant.key) + player_mind.active = TRUE + + var/mob/living/carbon/human/voidwalker = new (space_turf) + player_mind.transfer_to(voidwalker) + player_mind.set_assigned_role(SSjob.GetJobType(/datum/job/voidwalker)) + player_mind.special_role = antag_flag + player_mind.add_antag_datum(antag_datum) + + playsound(voidwalker, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1) + message_admins("[ADMIN_LOOKUPFLW(voidwalker)] has been made into a Voidwalker by the midround ruleset.") + log_dynamic("[key_name(voidwalker)] was spawned as a Voidwalker by the midround ruleset.") + return voidwalker diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm index 72554a108e328..999cd156b18d8 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm @@ -574,7 +574,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) /// Checks for revhead loss conditions and other antag datums. /datum/dynamic_ruleset/roundstart/revs/proc/check_eligible(datum/mind/M) var/turf/T = get_turf(M.current) - if(!considered_afk(M) && considered_alive(M) && is_station_level(T.z) && !M.antag_datums?.len && !HAS_TRAIT(M, TRAIT_MINDSHIELD)) + if(!considered_afk(M) && considered_alive(M) && is_station_level(T.z) && !M.antag_datums?.len && !HAS_MIND_TRAIT(M.current, TRAIT_UNCONVERTABLE)) return TRUE return FALSE diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index b117a35718196..38fbdaa793bbb 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -8,7 +8,7 @@ SUBSYSTEM_DEF(events) var/list/running = list() ///cache of currently running events, for lag checking. var/list/currentrun = list() - ///The next world.time that a naturally occuring random event can be selected. + ///The next world.time that a naturally occurring random event can be selected. var/scheduled = 0 ///The lower bound for how soon another random event can be scheduled. var/frequency_lower = 2.5 MINUTES @@ -66,7 +66,7 @@ SUBSYSTEM_DEF(events) scheduled = world.time + rand(frequency_lower, max(frequency_lower,frequency_upper)) /** - * Selects a random event based on whether it can occur and it's 'weight'(probability) + * Selects a random event based on whether it can occur and its 'weight'(probability) * * Arguments: * * excluded_event - The event path we will be foregoing, if present. diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 706b4e51d690f..ad1b9e4132fed 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -346,6 +346,7 @@ SUBSYSTEM_DEF(garbage) /// Datums passed to this will be given a chance to clean up references to allow the GC to collect them. /proc/qdel(datum/to_delete, force = FALSE) if(!istype(to_delete)) + DREAMLUAU_CLEAR_REF_USERDATA(to_delete) del(to_delete) return diff --git a/code/controllers/subsystem/id_access.dm b/code/controllers/subsystem/id_access.dm index 38bf3b568a1f9..17cd3c85e0b30 100644 --- a/code/controllers/subsystem/id_access.dm +++ b/code/controllers/subsystem/id_access.dm @@ -398,6 +398,8 @@ SUBSYSTEM_DEF(id_access) id_card.clear_access() id_card.trim = trim + id_card.big_pointer = trim.big_pointer + id_card.pointer_color = trim.pointer_color if(copy_access) id_card.access = trim.access.Copy() @@ -441,6 +443,8 @@ SUBSYSTEM_DEF(id_access) id_card.department_color_override = trim.department_color id_card.department_state_override = trim.department_state id_card.subdepartment_color_override = trim.subdepartment_color + id_card.big_pointer = trim.big_pointer + id_card.pointer_color = trim.pointer_color if(!check_forged || !id_card.forged) id_card.assignment = trim.assignment @@ -461,6 +465,8 @@ SUBSYSTEM_DEF(id_access) id_card.department_color_override = null id_card.department_state_override = null id_card.subdepartment_color_override = null + id_card.big_pointer = id_card.trim.big_pointer + id_card.pointer_color = id_card.trim.pointer_color /** * Adds the accesses associated with a trim to an ID card. diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm index 65dc1e31a1e42..e4e12418a7576 100644 --- a/code/controllers/subsystem/input.dm +++ b/code/controllers/subsystem/input.dm @@ -19,7 +19,7 @@ VERB_MANAGER_SUBSYSTEM_DEF(input) ///running average of how many movement iterations from player input the server processes every second. used for the subsystem stat entry var/movements_per_second = 0 ///running average of the amount of real time clicks take to truly execute after the command is originally sent to the server. - ///if a click isnt delayed at all then it counts as 0 deciseconds. + ///if a click isn't delayed at all then it counts as 0 deciseconds. var/average_click_delay = 0 /datum/controller/subsystem/verb_manager/input/Initialize() @@ -31,7 +31,7 @@ VERB_MANAGER_SUBSYSTEM_DEF(input) return SS_INIT_SUCCESS -// This is for when macro sets are eventualy datumized +// This is for when macro sets are eventually datumized /datum/controller/subsystem/verb_manager/input/proc/setup_default_macro_sets() macro_set = list( "Any" = "\"KeyDown \[\[*\]\]\"", @@ -75,7 +75,7 @@ VERB_MANAGER_SUBSYSTEM_DEF(input) movements_per_second = MC_AVG_SECONDS(movements_per_second, moves_this_run, wait TICKS) /datum/controller/subsystem/verb_manager/input/run_verb_queue() - var/deferred_clicks_this_run = 0 //acts like current_clicks but doesnt count clicks that dont get processed by SSinput + var/deferred_clicks_this_run = 0 //acts like current_clicks but doesn't count clicks that don't get processed by SSinput for(var/datum/callback/verb_callback/queued_click as anything in verb_queue) if(!istype(queued_click)) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 697beaee19b39..b1629237dc6bf 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -741,9 +741,11 @@ SUBSYSTEM_DEF(job) if(!spawn_turf) SendToLateJoin(living_mob) else - var/obj/structure/closet/supplypod/centcompod/toLaunch = new() - living_mob.forceMove(toLaunch) - new /obj/effect/pod_landingzone(spawn_turf, toLaunch) + podspawn(list( + "target" = spawn_turf, + "path" = /obj/structure/closet/supplypod/centcompod, + "spawn" = living_mob + )) /// Returns a list of minds of all heads of staff who are alive /datum/controller/subsystem/job/proc/get_living_heads() diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm index 59ff294e959a2..24d871d2f09c4 100644 --- a/code/controllers/subsystem/lighting.dm +++ b/code/controllers/subsystem/lighting.dm @@ -26,6 +26,19 @@ SUBSYSTEM_DEF(lighting) return SS_INIT_SUCCESS + +/datum/controller/subsystem/lighting/proc/create_all_lighting_objects() + for(var/area/area as anything in GLOB.areas) + if(!area.static_lighting) + continue + for (var/list/zlevel_turfs as anything in area.get_zlevel_turf_lists()) + for(var/turf/area_turf as anything in zlevel_turfs) + if(area_turf.space_lit) + continue + new /datum/lighting_object(area_turf) + CHECK_TICK + CHECK_TICK + /datum/controller/subsystem/lighting/fire(resumed, init_tick_checks) MC_SPLIT_TICK_INIT(3) if(!init_tick_checks) diff --git a/code/controllers/subsystem/lua.dm b/code/controllers/subsystem/lua.dm index 1ab88a01746b7..99df8cf335490 100644 --- a/code/controllers/subsystem/lua.dm +++ b/code/controllers/subsystem/lua.dm @@ -2,7 +2,6 @@ SUBSYSTEM_DEF(lua) name = "Lua Scripting" runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT wait = 0.1 SECONDS - flags = SS_OK_TO_FAIL_INIT /// A list of all lua states var/list/datum/lua_state/states = list() @@ -18,31 +17,19 @@ SUBSYSTEM_DEF(lua) var/list/current_run = list() var/list/current_states_run = list() - /// Protects return values from getting GCed before getting converted to lua values - /// Gets cleared every tick. - var/list/gc_guard = list() + var/list/needs_gc_cycle = list() /datum/controller/subsystem/lua/Initialize() - if(!CONFIG_GET(flag/auxtools_enabled)) - warning("SSlua requires auxtools to be enabled to run.") - return SS_INIT_NO_NEED - - try - // Initialize the auxtools library - AUXTOOLS_CHECK(AUXLUA) - - // Set the wrappers for setting vars and calling procs - __lua_set_set_var_wrapper("/proc/wrap_lua_set_var") - __lua_set_datum_proc_call_wrapper("/proc/wrap_lua_datum_proc_call") - __lua_set_global_proc_call_wrapper("/proc/wrap_lua_global_proc_call") - __lua_set_print_wrapper("/proc/wrap_lua_print") - return SS_INIT_SUCCESS - catch(var/exception/e) - // Something went wrong, best not allow the subsystem to run - var/crash_message = "Error initializing SSlua: [e.name]" - initialization_failure_message = crash_message - warning(crash_message) - return SS_INIT_FAILURE + DREAMLUAU_SET_EXECUTION_LIMIT_SECS(5) + // Set wrappers to ensure that lua scripts are subject to the same safety restrictions as other admin tooling + DREAMLUAU_SET_NEW_WRAPPER("/proc/_new") + DREAMLUAU_SET_VAR_GET_WRAPPER("/proc/wrap_lua_get_var") + DREAMLUAU_SET_VAR_SET_WRAPPER("/proc/wrap_lua_set_var") + DREAMLUAU_SET_OBJECT_CALL_WRAPPER("/proc/wrap_lua_datum_proc_call") + DREAMLUAU_SET_GLOBAL_CALL_WRAPPER("/proc/wrap_lua_global_proc_call") + // Set the print wrapper, as otherwise, the print function is meaningless + DREAMLUAU_SET_PRINT_WRAPPER("/proc/wrap_lua_print") + return SS_INIT_SUCCESS /datum/controller/subsystem/lua/OnConfigLoad() // Read the paths from the config file @@ -52,9 +39,6 @@ SUBSYSTEM_DEF(lua) lua_path += path world.SetConfig("env", "LUAU_PATH", jointext(lua_path, ";")) -/datum/controller/subsystem/lua/Shutdown() - AUXTOOLS_FULL_SHUTDOWN(AUXLUA) - /datum/controller/subsystem/lua/proc/queue_resume(datum/lua_state/state, index, arguments) if(!initialized) return @@ -64,36 +48,33 @@ SUBSYSTEM_DEF(lua) arguments = list() else if(!islist(arguments)) arguments = list(arguments) + else + var/list/args_list = arguments + arguments = args_list.Copy() resumes += list(list("state" = state, "index" = index, "arguments" = arguments)) -/datum/controller/subsystem/lua/proc/kill_task(datum/lua_state/state, list/task_info) +/datum/controller/subsystem/lua/proc/kill_task(datum/lua_state/state, is_sleep, index) if(!istype(state)) return - if(!islist(task_info)) - return - if(!(istext(task_info["name"]) && istext(task_info["status"]) && isnum(task_info["index"]))) - return - switch(task_info["status"]) - if("sleep") - var/task_index = task_info["index"] - var/state_index = 1 - - // Get the nth sleep in the sleep list corresponding to the target state - for(var/i in 1 to length(sleeps)) - var/datum/lua_state/sleeping_state = sleeps[i] - if(sleeping_state == state) - if(state_index == task_index) - sleeps.Cut(i, i+1) - break - state_index++ - if("yield") - // Remove the resumt from the resumt list - for(var/i in 1 to length(resumes)) - var/resume = resumes[i] - if(resume["state"] == state && resume["index"] == task_info["index"]) - resumes.Cut(i, i+1) + if(is_sleep) + var/state_index = 1 + + // Get the nth sleep in the sleep list corresponding to the target state + for(var/i in 1 to length(sleeps)) + var/datum/lua_state/sleeping_state = sleeps[i] + if(sleeping_state == state) + if(state_index == index) + sleeps.Cut(i, i+1) break - state.kill_task(task_info) + state_index++ + else + // Remove the resumt from the resumt list + for(var/i in 1 to length(resumes)) + var/resume = resumes[i] + if(resume["state"] == state && resume["index"] == index) + resumes.Cut(i, i+1) + break + state.kill_task(is_sleep, index) /datum/controller/subsystem/lua/fire(resumed) // Each fire of SSlua awakens every sleeping task in the order they slept, @@ -104,7 +85,6 @@ SUBSYSTEM_DEF(lua) sleeps.Cut() resumes.Cut() - gc_guard.Cut() var/list/current_sleeps = current_run["sleeps"] var/list/affected_states = list() while(length(current_sleeps)) @@ -147,6 +127,32 @@ SUBSYSTEM_DEF(lua) if(MC_TICK_CHECK) break + while(length(needs_gc_cycle)) + var/datum/lua_state/state = needs_gc_cycle[needs_gc_cycle.len] + needs_gc_cycle.len-- + state.collect_garbage() + // Update every lua editor TGUI open for each state that had a task awakened or resumed for(var/datum/lua_state/state in affected_states) INVOKE_ASYNC(state, TYPE_PROC_REF(/datum/lua_state, update_editors)) + +/datum/controller/subsystem/lua/proc/log_involved_runtime(exception/runtime, list/desclines, list/lua_stacks) + var/list/json_data = list("status" = "runtime", "file" = runtime.file, "line" = runtime.line, "message" = runtime.name, "stack" = list()) + var/level = 1 + for(var/line in desclines) + line = copytext(line, 3) + if(starts_with_any(line, list( + "/datum/lua_state (/datum/lua_state): load script", + "/datum/lua_state (/datum/lua_state): call function", + "/datum/lua_state (/datum/lua_state): awaken", + "/datum/lua_state (/datum/lua_state): resume" + ))) + json_data["stack"] += lua_stacks[level] + level++ + json_data["stack"] += line + for(var/datum/weakref/state_ref as anything in GLOB.lua_state_stack) + var/datum/lua_state/state = state_ref.resolve() + if(!state) + continue + state.log_result(json_data) + return diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm index 3e07eca8a2e87..a9950f1f4d865 100644 --- a/code/controllers/subsystem/machines.dm +++ b/code/controllers/subsystem/machines.dm @@ -11,10 +11,19 @@ SUBSYSTEM_DEF(machines) VAR_PRIVATE/list/all_machines = list() var/list/processing = list() + var/list/processing_early = list() + var/list/processing_late = list() + var/list/processing_apcs = list() + var/list/currentrun = list() - var/list/apc_early_processing = list() - var/list/apc_late_processing = list() - var/current_part = SSMACHINES_APCS_EARLY + var/current_part = SSMACHINES_MACHINES_EARLY + var/list/apc_steps = list( + SSMACHINES_APCS_EARLY, + SSMACHINES_APCS_ENVIRONMENT, + SSMACHINES_APCS_LIGHTS, + SSMACHINES_APCS_EQUIPMENT, + SSMACHINES_APCS_LATE + ) ///List of all powernets on the server. var/list/datum/powernet/powernets = list() @@ -82,25 +91,53 @@ SUBSYSTEM_DEF(machines) if (!resumed) for(var/datum/powernet/powernet as anything in powernets) powernet.reset() //reset the power state. - current_part = SSMACHINES_APCS_EARLY - src.currentrun = apc_early_processing.Copy() + current_part = SSMACHINES_MACHINES_EARLY + src.currentrun = processing_early.Copy() - //APC early processing. Draws static power usages from their grids. - if(current_part == SSMACHINES_APCS_EARLY) + //Processing machines that get the priority power draw + if(current_part == SSMACHINES_MACHINES_EARLY) + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/obj/machinery/thing = currentrun[currentrun.len] + currentrun.len-- + if(QDELETED(thing) || thing.process_early(wait * 0.1) == PROCESS_KILL) + processing_early -= thing + thing.datum_flags &= ~DF_ISPROCESSING + if (MC_TICK_CHECK) + return + current_part = apc_steps[1] + src.currentrun = processing_apcs.Copy() + + //Processing APCs + while(current_part in apc_steps) //cache for sanic speed (lists are references anyways) var/list/currentrun = src.currentrun while(currentrun.len) var/obj/machinery/power/apc/apc = currentrun[currentrun.len] currentrun.len-- - if(QDELETED(apc) || apc.early_process(wait * 0.1) == PROCESS_KILL) - apc_early_processing -= apc + if(QDELETED(apc)) + processing_apcs -= apc apc.datum_flags &= ~DF_ISPROCESSING + switch(current_part) + if(SSMACHINES_APCS_EARLY) + apc.early_process(wait * 0.1) + if(SSMACHINES_APCS_LATE) + apc.charge_channel(null, wait * 0.1) + apc.late_process(wait * 0.1) + else + apc.charge_channel(current_part, wait * 0.1) if(MC_TICK_CHECK) return - current_part = SSMACHINES_MACHINES - src.currentrun = processing.Copy() - - //General machine processing. Their power usage can be dynamic and based on surplus power, so they come after static power usage have been applied. + var/next_index = apc_steps.Find(current_part) + 1 + if (next_index > apc_steps.len) + current_part = SSMACHINES_MACHINES + src.currentrun = processing.Copy() + break + current_part = apc_steps[next_index] + src.currentrun = processing_apcs.Copy() + + //Processing all machines if(current_part == SSMACHINES_MACHINES) //cache for sanic speed (lists are references anyways) var/list/currentrun = src.currentrun @@ -112,21 +149,20 @@ SUBSYSTEM_DEF(machines) thing.datum_flags &= ~DF_ISPROCESSING if (MC_TICK_CHECK) return - current_part = SSMACHINES_APCS_LATE - src.currentrun = apc_late_processing.Copy() + current_part = SSMACHINES_MACHINES_LATE + src.currentrun = processing_late.Copy() - //APC late processing. APCs will use the remaining power on the grid to charge their cells if needed. - //This is applied at the end so charging APCs don't cause others to discharge by taking all the power from the grid before machines use power. - if(current_part == SSMACHINES_APCS_LATE) + //Processing machines that record the power usage statistics + if(current_part == SSMACHINES_MACHINES_LATE) //cache for sanic speed (lists are references anyways) var/list/currentrun = src.currentrun while(currentrun.len) - var/obj/machinery/power/apc/apc = currentrun[currentrun.len] + var/obj/machinery/thing = currentrun[currentrun.len] currentrun.len-- - if(QDELETED(apc) || apc.late_process(wait * 0.1) == PROCESS_KILL) - apc_late_processing -= apc - apc.datum_flags &= ~DF_ISPROCESSING - if(MC_TICK_CHECK) + if(QDELETED(thing) || thing.process_late(wait * 0.1) == PROCESS_KILL) + processing_late -= thing + thing.datum_flags &= ~DF_ISPROCESSING + if (MC_TICK_CHECK) return /datum/controller/subsystem/machines/proc/setup_template_powernets(list/cables) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 548bd2cf1ed7e..4d9d9b142eeee 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -184,17 +184,20 @@ SUBSYSTEM_DEF(mapping) if(index) lists_to_reserve.Cut(1, index) return - var/turf/T = packet[packetlen] - T.empty(RESERVED_TURF_TYPE, RESERVED_TURF_TYPE, null, TRUE) - LAZYINITLIST(unused_turfs["[T.z]"]) - unused_turfs["[T.z]"] |= T - var/area/old_area = T.loc - LISTASSERTLEN(old_area.turfs_to_uncontain_by_zlevel, T.z, list()) - old_area.turfs_to_uncontain_by_zlevel[T.z] += T - T.turf_flags = UNUSED_RESERVATION_TURF - world_contents += T - LISTASSERTLEN(world_turf_contents_by_z, T.z, list()) - world_turf_contents_by_z[T.z] += T + var/turf/reserving_turf = packet[packetlen] + reserving_turf.empty(RESERVED_TURF_TYPE, RESERVED_TURF_TYPE, null, TRUE) + LAZYINITLIST(unused_turfs["[reserving_turf.z]"]) + unused_turfs["[reserving_turf.z]"] |= reserving_turf + var/area/old_area = reserving_turf.loc + LISTASSERTLEN(old_area.turfs_to_uncontain_by_zlevel, reserving_turf.z, list()) + old_area.turfs_to_uncontain_by_zlevel[reserving_turf.z] += reserving_turf + reserving_turf.turf_flags = UNUSED_RESERVATION_TURF + // reservation turfs are not allowed to interact with atmos at all + reserving_turf.blocks_air = TRUE + + world_contents += reserving_turf + LISTASSERTLEN(world_turf_contents_by_z, reserving_turf.z, list()) + world_turf_contents_by_z[reserving_turf.z] += reserving_turf packet.len-- packetlen = length(packet) @@ -731,6 +734,7 @@ ADMIN_VERB(load_away_mission, R_FUN, "Load Away Mission", "Load a specific away for(var/turf/T as anything in block) // No need to empty() these, because they just got created and are already /turf/open/space/basic. T.turf_flags = UNUSED_RESERVATION_TURF + T.blocks_air = TRUE CHECK_TICK // Gotta create these suckers if we've not done so already diff --git a/code/controllers/subsystem/blackmarket.dm b/code/controllers/subsystem/market.dm similarity index 65% rename from code/controllers/subsystem/blackmarket.dm rename to code/controllers/subsystem/market.dm index 5c88177583b2f..0c134d5691570 100644 --- a/code/controllers/subsystem/blackmarket.dm +++ b/code/controllers/subsystem/market.dm @@ -1,5 +1,5 @@ -SUBSYSTEM_DEF(blackmarket) - name = "Blackmarket" +SUBSYSTEM_DEF(market) + name = "Market" flags = SS_BACKGROUND init_order = INIT_ORDER_DEFAULT @@ -18,27 +18,27 @@ SUBSYSTEM_DEF(blackmarket) /// Currently queued purchases. var/list/queued_purchases = list() -/datum/controller/subsystem/blackmarket/Initialize() +/datum/controller/subsystem/market/Initialize() for(var/market in subtypesof(/datum/market)) markets[market] += new market - for(var/datum/market_item/item as anything in subtypesof(/datum/market_item)) - if(!initial(item.item)) - continue - if(!prob(initial(item.availability_prob))) - continue - - var/datum/market_item/item_instance = new item() - for(var/potential_market in item_instance.markets) - if(!markets[potential_market]) - stack_trace("SSblackmarket: Item [item_instance] available in market that does not exist.") - continue - // If this fails the market item will just be GC'd - markets[potential_market].add_item(item_instance) + for(var/path in subtypesof(/datum/market_item)) + initialize_item(path) return SS_INIT_SUCCESS -/datum/controller/subsystem/blackmarket/fire(resumed) +/datum/controller/subsystem/market/proc/initialize_item(datum/market_item/path, list/market_whitelist) + if(!path::item || !prob(path::availability_prob)) + return + var/datum/market_item/item_instance = new path() + for(var/potential_market in item_instance.markets) + if(!markets[potential_market]) + stack_trace("SSmarket: Item [item_instance] available in market that does not exist.") + continue + if(isnull(market_whitelist) || (potential_market in market_whitelist)) + markets[potential_market].add_item(item_instance) + +/datum/controller/subsystem/market/fire(resumed) while(length(queued_purchases)) var/datum/market_purchase/purchase = queued_purchases[1] queued_purchases.Cut(1,2) @@ -55,9 +55,9 @@ SUBSYSTEM_DEF(blackmarket) // The time left of the shortest cooldown amongst all telepads. var/lowest_timeleft = INFINITY for(var/obj/machinery/ltsrbt/pad as anything in telepads) - if(!COOLDOWN_FINISHED(pad, recharge_cooldown)) - var/timeleft = COOLDOWN_TIMELEFT(pad, recharge_cooldown) - if(timeleft < lowest_timeleft) + if(!COOLDOWN_FINISHED(pad, recharge_cooldown) || (pad.machine_stat & NOPOWER)) + var/timeleft = pad.machine_stat & NOPOWER ? INFINITY - 1 : COOLDOWN_TIMELEFT(pad, recharge_cooldown) + if(timeleft <= lowest_timeleft) lowest_cd_pad = pad lowest_timeleft = timeleft continue @@ -79,7 +79,7 @@ SUBSYSTEM_DEF(blackmarket) to_chat(buyer, span_notice("[purchase.uplink] flashes a message noting that the order is being teleported to [get_area(targetturf)] in 60 seconds.")) // do_teleport does not want to teleport items from nullspace, so it just forceMoves and does sparks. - addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/controller/subsystem/blackmarket, fake_teleport), purchase, targetturf), 60 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/controller/subsystem/market, fake_teleport), purchase, targetturf), 60 SECONDS) // Get the current location of the uplink if it exists, then throws the item from space at the station from a random direction. if(SHIPPING_METHOD_LAUNCH) @@ -95,9 +95,11 @@ SUBSYSTEM_DEF(blackmarket) qdel(purchase) if(SHIPPING_METHOD_SUPPLYPOD) - var/obj/structure/closet/supplypod/back_to_station/pod = new() - purchase.entry.spawn_item(pod, purchase) - new /obj/effect/pod_landingzone(get_turf(purchase.uplink), pod) + var/obj/structure/closet/supplypod/spawned_pod = podspawn(list( + "target" = get_turf(purchase.uplink), + "path" = /obj/structure/closet/supplypod/back_to_station, + )) + purchase.entry.spawn_item(spawned_pod, purchase) to_chat(buyer, span_notice("[purchase.uplink] flashes a message noting the order is being launched at your location. Right here, right now!")) qdel(purchase) @@ -106,7 +108,7 @@ SUBSYSTEM_DEF(blackmarket) break /// Used to make a teleportation effect as do_teleport does not like moving items from nullspace. -/datum/controller/subsystem/blackmarket/proc/fake_teleport(datum/market_purchase/purchase, turf/target) +/datum/controller/subsystem/market/proc/fake_teleport(datum/market_purchase/purchase, turf/target) // Oopsie, whoopsie, the item is gone. So long, and thanks for all the money. if(QDELETED(purchase)) return @@ -119,9 +121,31 @@ SUBSYSTEM_DEF(blackmarket) qdel(purchase) /// Used to add /datum/market_purchase to queued_purchases var. Returns TRUE when queued. -/datum/controller/subsystem/blackmarket/proc/queue_item(datum/market_purchase/purchase) +/datum/controller/subsystem/market/proc/queue_item(datum/market_purchase/purchase) if((purchase.method == SHIPPING_METHOD_LTSRBT && !telepads.len) || isnull(purchase.uplink)) qdel(purchase) return FALSE queued_purchases += purchase return TRUE + +///A proc that restocks one or more markets, or all if the market_whitelist is null. +/datum/controller/subsystem/market/proc/restock(list/market_whitelist) + var/market_name = "Markets" + if(market_whitelist && !islist(market_whitelist)) + var/datum/market/market_path = market_whitelist + market_name = market_path::name + market_whitelist = list(market_path) + + var/list/existing_types = list() + for(var/path in markets) + if(isnull(market_whitelist) || (path in market_whitelist)) + markets[path].restock(existing_types) + + for(var/datum/market_item/path as anything in (subtypesof(/datum/market_item) - existing_types)) + if(!path::restockable) + continue + initialize_item(path, market_whitelist) + + for(var/obj/machinery/ltsrbt/pad as anything in telepads) + pad.say("[market_name] restocked!") + playsound(src, 'sound/effects/cashregister.ogg', 40, FALSE) diff --git a/code/controllers/subsystem/minor_mapping.dm b/code/controllers/subsystem/minor_mapping.dm index 6acbbc1894e25..4aed29be350b6 100644 --- a/code/controllers/subsystem/minor_mapping.dm +++ b/code/controllers/subsystem/minor_mapping.dm @@ -49,6 +49,8 @@ SUBSYSTEM_DEF(minor_mapping) ///List of areas where satchels should not be placed. var/list/blacklisted_area_types = list( /area/station/holodeck, + /area/space/nearstation, + /area/station/solars, ) while(turfs.len && satchel_amount > 0) diff --git a/code/controllers/subsystem/modular_computers.dm b/code/controllers/subsystem/modular_computers.dm index c8efa4aa4ee24..0a985fc055c47 100644 --- a/code/controllers/subsystem/modular_computers.dm +++ b/code/controllers/subsystem/modular_computers.dm @@ -1,4 +1,4 @@ -s///The maximum amount of logs that can be generated before they start overwriting eachother. +s///The maximum amount of logs that can be generated before they start overwriting each other. #define MAX_LOG_COUNT 300 SUBSYSTEM_DEF(modular_computers) @@ -47,7 +47,7 @@ SUBSYSTEM_DEF(modular_computers) var/static/list/discounts = list("0.10" = 7, "0.15" = 16, "0.20" = 20, "0.25" = 16, "0.50" = 8, "0.66" = 1) var/static/list/flash_discounts = list("0.30" = 3, "0.40" = 8, "0.50" = 8, "0.66" = 2, "0.75" = 1) - ///Eliminates non-alphanumeri characters, as well as the word "Single-Pack" or "Pack" or "Crate" from the coupon code + ///Eliminates non-alphanumeric characters, as well as the word "Single-Pack" or "Pack" or "Crate" from the coupon code var/static/regex/strip_pack_name = regex("\[^a-zA-Z0-9]|(Single-)?Pack|Crate", "g") var/datum/supply_pack/discounted_pack = pick(GLOB.discountable_packs[pick_weight(GLOB.pack_discount_odds)]) diff --git a/code/controllers/subsystem/movement/movement_types.dm b/code/controllers/subsystem/movement/movement_types.dm index 50864f731e21a..ec0136bc8c178 100644 --- a/code/controllers/subsystem/movement/movement_types.dm +++ b/code/controllers/subsystem/movement/movement_types.dm @@ -703,7 +703,7 @@ y_rate = 1 /** - * Wrapper for walk_towards, not reccomended, as it's movement ends up being a bit stilted + * Wrapper for walk_towards, not reccomended, as its movement ends up being a bit stilted * * Returns TRUE if the loop sucessfully started, or FALSE if it failed * diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm index 212af9076bda6..28ebd80560f82 100644 --- a/code/controllers/subsystem/parallax.dm +++ b/code/controllers/subsystem/parallax.dm @@ -97,4 +97,12 @@ SUBSYSTEM_DEF(parallax) /datum/controller/subsystem/parallax/proc/post_station_setup() random_layer?.apply_global_effects() +/// Return the most dominant color, if we have a colored background (mostly nebula gas) +/datum/controller/subsystem/parallax/proc/get_parallax_color() + var/atom/movable/screen/parallax_layer/random/space_gas/gas = random_layer + if(!istype(gas)) + return + + return gas.parallax_color + #undef PARALLAX_NONE diff --git a/code/controllers/subsystem/persistence/_persistence.dm b/code/controllers/subsystem/persistence/_persistence.dm index 36679fa1d2a02..a8c42631488e5 100644 --- a/code/controllers/subsystem/persistence/_persistence.dm +++ b/code/controllers/subsystem/persistence/_persistence.dm @@ -43,8 +43,6 @@ SUBSYSTEM_DEF(persistence) /// List of persistene ids which piggy banks. var/list/queued_broken_piggy_ids - var/list/broken_piggy_banks - var/rounds_since_engine_exploded = 0 var/delam_highscore = 0 var/tram_hits_this_round = 0 diff --git a/code/controllers/subsystem/persistence/counter_tram_hits.dm b/code/controllers/subsystem/persistence/counter_tram_hits.dm index 806d5d5b5c2cc..8f1db7dd1524f 100644 --- a/code/controllers/subsystem/persistence/counter_tram_hits.dm +++ b/code/controllers/subsystem/persistence/counter_tram_hits.dm @@ -58,7 +58,7 @@ tram_hits_last_round = text2num(file2text(TRAM_COUNT_FILEPATH)) /datum/controller/subsystem/persistence/proc/save_tram_counter() - rustg_file_write("[tram_hits_this_round]", TRAM_COUNT_FILEPATH) + rustg_file_write("[tram_hits_this_round]", TRAM_COUNT_FILEPATH) #undef TRAM_COUNT_FILEPATH #undef MAX_TRAM_SAVES diff --git a/code/controllers/subsystem/persistent_paintings.dm b/code/controllers/subsystem/persistent_paintings.dm index af0644a9a0d52..7da30fd477239 100644 --- a/code/controllers/subsystem/persistent_paintings.dm +++ b/code/controllers/subsystem/persistent_paintings.dm @@ -1,14 +1,5 @@ #define PAINTINGS_DATA_FORMAT_VERSION 3 -// Patronage thresholds for paintings. Different cosmetic frames become available as more credits are spent on the patronage. -#define PATRONAGE_OK_FRAME (PAYCHECK_CREW * 3) // 150 credits, as of march 2022 -#define PATRONAGE_NICE_FRAME (PATRONAGE_OK_FRAME * 2.5) -#define PATRONAGE_GREAT_FRAME (PATRONAGE_NICE_FRAME * 2) -#define PATRONAGE_EXCELLENT_FRAME (PATRONAGE_GREAT_FRAME * 2) -#define PATRONAGE_AMAZING_FRAME (PATRONAGE_EXCELLENT_FRAME * 2) -#define PATRONAGE_SUPERB_FRAME (PATRONAGE_AMAZING_FRAME * 2) -#define PATRONAGE_LEGENDARY_FRAME (PATRONAGE_SUPERB_FRAME * 2) - /* { "version":2 @@ -334,11 +325,3 @@ SUBSYSTEM_DEF(persistent_paintings) cache_paintings() #undef PAINTINGS_DATA_FORMAT_VERSION -#undef PATRONAGE_OK_FRAME -#undef PATRONAGE_NICE_FRAME -#undef PATRONAGE_GREAT_FRAME -#undef PATRONAGE_EXCELLENT_FRAME -#undef PATRONAGE_AMAZING_FRAME -#undef PATRONAGE_SUPERB_FRAME -#undef PATRONAGE_LEGENDARY_FRAME - diff --git a/code/controllers/subsystem/polling.dm b/code/controllers/subsystem/polling.dm index cbbcca59fa6e2..fcd60ffc918fa 100644 --- a/code/controllers/subsystem/polling.dm +++ b/code/controllers/subsystem/polling.dm @@ -130,10 +130,9 @@ SUBSYSTEM_DEF(polling) // Image to display var/image/poll_image - if(ispath(alert_pic, /atom)) - poll_image = image(alert_pic) - else if(isatom(alert_pic)) + if(ispath(alert_pic, /atom) || isatom(alert_pic)) poll_image = new /mutable_appearance(alert_pic) + poll_image.pixel_z = 0 else if(!isnull(alert_pic)) poll_image = alert_pic else @@ -206,6 +205,12 @@ SUBSYSTEM_DEF(polling) return for(var/mob/dead/observer/ghost_player in GLOB.player_list) candidates += ghost_player + +#ifdef TESTING + for(var/mob/dude in GLOB.player_list) + candidates |= dude +#endif + return poll_candidates(question, role, check_jobban, poll_time, ignore_category, flashwindow, candidates, alert_pic, jump_target, role_name_text, custom_response_messages, start_signed_up, amount_to_pick, chat_text_border_icon, announce_chosen) /datum/controller/subsystem/polling/proc/poll_ghosts_for_target( diff --git a/code/controllers/subsystem/processing/ai_idle_behaviors.dm b/code/controllers/subsystem/processing/ai_idle_behaviors.dm new file mode 100644 index 0000000000000..cda3d354882f4 --- /dev/null +++ b/code/controllers/subsystem/processing/ai_idle_behaviors.dm @@ -0,0 +1,6 @@ +PROCESSING_SUBSYSTEM_DEF(idle_ai_behaviors) + name = "idle_ai_behaviors" + flags = SS_NO_INIT | SS_BACKGROUND + wait = 1.5 SECONDS + priority = FIRE_PRIORITY_IDLE_NPC + init_order = INIT_ORDER_AI_IDLE_CONTROLLERS //must execute only after ai behaviors are initialized diff --git a/code/controllers/subsystem/processing/fishing.dm b/code/controllers/subsystem/processing/fishing.dm index da10d3d631aef..ca54141de82a8 100644 --- a/code/controllers/subsystem/processing/fishing.dm +++ b/code/controllers/subsystem/processing/fishing.dm @@ -1,7 +1,4 @@ -/** - * So far, only used by the fishing minigame. Feel free to rename it to something like veryfastprocess - * if you need one that fires 10 times a second - */ +/// subsystem for the fishing minigame processing. PROCESSING_SUBSYSTEM_DEF(fishing) name = "Fishing" - wait = 0.1 SECONDS + wait = 0.05 SECONDS // If you raise it to 0.1 SECONDS, you better also modify [datum/fish_movement/move_fish()] diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index db3f9aa3a0db5..7bb83fa133d50 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -36,7 +36,7 @@ SUBSYSTEM_DEF(research) var/list/techweb_nodes_experimental = list() ///path = list(point type = value) var/list/techweb_point_items = list( - /obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = 10000) + /obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) ) var/list/errored_datums = list() ///Associated list of all point types that techwebs will have and their respective 'abbreviated' name. @@ -102,6 +102,14 @@ SUBSYSTEM_DEF(research) techweb_list.last_income = world.time + if(length(techweb_list.research_queue_nodes)) + techweb_list.research_node_id(techweb_list.research_queue_nodes[1]) // Attempt to research the first node in queue if possible + + for(var/node_id in techweb_list.research_queue_nodes) + var/datum/techweb_node/node = SSresearch.techweb_node_by_id(node_id) + if(node.is_free(techweb_list)) // Automatically research all free nodes in queue if any + techweb_list.research_node(node) + /datum/controller/subsystem/research/proc/autosort_categories() for(var/i in techweb_nodes) var/datum/techweb_node/I = techweb_nodes[i] diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index f8ee167befbf8..11a055d292ce2 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -1036,7 +1036,7 @@ SUBSYSTEM_DEF(shuttle) return data -/datum/controller/subsystem/shuttle/ui_act(action, params) +/datum/controller/subsystem/shuttle/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/controllers/subsystem/spatial_gridmap.dm b/code/controllers/subsystem/spatial_gridmap.dm index 76aa484bf92ce..65bcb0ec365b0 100644 --- a/code/controllers/subsystem/spatial_gridmap.dm +++ b/code/controllers/subsystem/spatial_gridmap.dm @@ -412,7 +412,7 @@ SUBSYSTEM_DEF(spatial_grid) return intersecting_cell /** - * find the spatial map cell that target used to belong to, then remove the target (and sometimes it's important_recusive_contents) from it. + * find the spatial map cell that target used to belong to, then remove the target (and sometimes its important_recusive_contents) from it. * make sure to provide the turf old_target used to be "in" * * * old_target - the thing we want to remove from the spatial grid cell diff --git a/code/controllers/subsystem/sprite_accessories.dm b/code/controllers/subsystem/sprite_accessories.dm index f381df80df6da..6fd80a8b78916 100644 --- a/code/controllers/subsystem/sprite_accessories.dm +++ b/code/controllers/subsystem/sprite_accessories.dm @@ -40,7 +40,6 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity var/list/horns_list var/list/frills_list var/list/spines_list - var/list/legs_list var/list/tail_spines_list //Mutant Human bits @@ -87,23 +86,22 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity socks_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/socks)[DEFAULT_SPRITE_LIST] - lizard_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/lizard_markings)[DEFAULT_SPRITE_LIST] + lizard_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/lizard_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST] tails_list_human = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, add_blank = TRUE)[DEFAULT_SPRITE_LIST] - tails_list_lizard = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, add_blank = TRUE)[DEFAULT_SPRITE_LIST] - tails_list_monkey = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + tails_list_lizard = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard)[DEFAULT_SPRITE_LIST] + tails_list_monkey = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey)[DEFAULT_SPRITE_LIST] snouts_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts)[DEFAULT_SPRITE_LIST] - horns_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/horns)[DEFAULT_SPRITE_LIST] - ears_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears)[DEFAULT_SPRITE_LIST] - wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings)[DEFAULT_SPRITE_LIST] + horns_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/horns, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + ears_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, add_blank = TRUE)[DEFAULT_SPRITE_LIST] wings_open_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open)[DEFAULT_SPRITE_LIST] - frills_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/frills)[DEFAULT_SPRITE_LIST] - spines_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/spines)[DEFAULT_SPRITE_LIST] - tail_spines_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/tail_spines)[DEFAULT_SPRITE_LIST] - legs_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/legs)[DEFAULT_SPRITE_LIST] + frills_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + spines_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + tail_spines_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/tail_spines, add_blank = TRUE)[DEFAULT_SPRITE_LIST] caps_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/caps)[DEFAULT_SPRITE_LIST] moth_wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings)[DEFAULT_SPRITE_LIST] moth_antennae_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae)[DEFAULT_SPRITE_LIST] - moth_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings)[DEFAULT_SPRITE_LIST] + moth_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST] pod_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair)[DEFAULT_SPRITE_LIST] /// This proc just intializes all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name diff --git a/code/controllers/subsystem/stock_market.dm b/code/controllers/subsystem/stock_market.dm index e486776a082c9..7d0e0ea9262ee 100644 --- a/code/controllers/subsystem/stock_market.dm +++ b/code/controllers/subsystem/stock_market.dm @@ -9,7 +9,7 @@ SUBSYSTEM_DEF(stock_market) var/list/materials_prices = list() /// Associated list of materials alongside their market trends. 1 is up, 0 is stable, -1 is down. var/list/materials_trends = list() - /// Associated list of materials alongside the life of it's current trend. After it's life is up, it will change to a new trend. + /// Associated list of materials alongside the life of its current trend. After its life is up, it will change to a new trend. var/list/materials_trend_life = list() /// Associated list of materials alongside their available quantity. This is used to determine how much of a material is available to buy, and how much buying and selling affects the price. var/list/materials_quantity = list() diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 6990a142e4e2d..69f9af0718dc3 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -53,7 +53,7 @@ SUBSYSTEM_DEF(throwing) var/target_zone ///The initial direction of the thrower of the thrownthing for building the trajectory of the throw. var/init_dir - ///The maximum number of turfs that the thrownthing will travel to reach it's target. + ///The maximum number of turfs that the thrownthing will travel to reach its target. var/maxrange ///Turfs to travel per tick var/speed @@ -90,8 +90,9 @@ SUBSYSTEM_DEF(throwing) ///The last world.time value stored when the thrownthing was moving. var/last_move = 0 -/datum/thrownthing/New(thrownthing, target, init_dir, maxrange, speed, thrower, diagonals_first, force, gentle, callback, target_zone) +/datum/thrownthing/New(atom/movable/thrownthing, target, init_dir, maxrange, speed, thrower, diagonals_first, force, gentle, callback, target_zone) . = ..() + thrownthing.pixel_z = thrownthing.base_pixel_z + DEPTH_OFFSET src.thrownthing = thrownthing RegisterSignal(thrownthing, COMSIG_QDELETING, PROC_REF(on_thrownthing_qdel)) src.starting_turf = get_turf(thrownthing) @@ -235,6 +236,8 @@ SUBSYSTEM_DEF(throwing) var/turf/landed_turf = get_turf(thrownthing) if(landed_turf) SEND_SIGNAL(landed_turf, COMSIG_TURF_MOVABLE_THROW_LANDED, thrownthing) + if(thrownthing.pixel_z >= DEPTH_OFFSET) + animate(thrownthing, pixel_z = thrownthing.base_pixel_z, easing = BACK_EASING|EASE_IN, time = 0.2 SECONDS) qdel(src) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index efca8dd19b5cc..ff76464bee56a 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -26,7 +26,7 @@ SUBSYSTEM_DEF(ticker) var/list/datum/mind/minds = list() //The characters in the game. Used for objective tracking. - var/delay_end = FALSE //if set true, the round will not restart on it's own + var/delay_end = FALSE //if set true, the round will not restart on its own var/admin_delay_notice = "" //a message to display to anyone who tries to restart the world after a delay var/ready_for_reboot = FALSE //all roundend preparation done with, all that's left is reboot diff --git a/code/controllers/subsystem/time_track.dm b/code/controllers/subsystem/time_track.dm index aaaf5520e0fc3..b3a4fe7e8698f 100644 --- a/code/controllers/subsystem/time_track.dm +++ b/code/controllers/subsystem/time_track.dm @@ -108,7 +108,7 @@ SUBSYSTEM_DEF(time_track) text2file(sendmaps_json,"bad_sendmaps.json") can_fire = FALSE return - var/send_maps_sort = send_maps_data.Copy() //Doing it like this guarentees us a properly sorted list + var/send_maps_sort = send_maps_data.Copy() //Doing it like this guarantees us a properly sorted list for(var/list/packet in send_maps_data) send_maps_sort[packet["name"]] = packet diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index bc894de9beee8..8ecb0c9dc6a56 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -645,7 +645,7 @@ SUBSYSTEM_DEF(timer) hash_timer.hash = null // but keep it from accidentally deleting us else if (flags & TIMER_OVERRIDE) - hash_timer.hash = null // no need having it delete it's hash if we are going to replace it + hash_timer.hash = null // no need having it delete its hash if we are going to replace it qdel(hash_timer) else if (hash_timer.flags & TIMER_STOPPABLE) diff --git a/code/controllers/subsystem/title.dm b/code/controllers/subsystem/title.dm index 1f40dd921dddf..dbaa7ddeb48c0 100644 --- a/code/controllers/subsystem/title.dm +++ b/code/controllers/subsystem/title.dm @@ -60,7 +60,7 @@ SUBSYSTEM_DEF(title) for(var/thing in GLOB.clients) if(!thing) continue - var/atom/movable/screen/splash/S = new(thing, FALSE) + var/atom/movable/screen/splash/S = new(null, thing, FALSE) S.Fade(FALSE,FALSE) /datum/controller/subsystem/title/Recover() diff --git a/code/controllers/subsystem/transport.dm b/code/controllers/subsystem/transport.dm index 2f870eb674035..928b6a03d58f2 100644 --- a/code/controllers/subsystem/transport.dm +++ b/code/controllers/subsystem/transport.dm @@ -98,7 +98,7 @@ PROCESSING_SUBSYSTEM_DEF(transport) // We've made it this far, tram is physically fine so let's trip plan // This is based on the destination nav beacon, the logical location // If Something Happens and the location the controller thinks it's at - // gets out of sync with it's actual physical location, it can be reset + // gets out of sync with its actual physical location, it can be reset // Since players can set the platform ID themselves, make sure it's a valid platform we're aware of var/network = LAZYACCESS(nav_beacons, transport_id) diff --git a/code/controllers/subsystem/vis_overlays.dm b/code/controllers/subsystem/vis_overlays.dm index 1afe1c62100c8..da15fee96d0bc 100644 --- a/code/controllers/subsystem/vis_overlays.dm +++ b/code/controllers/subsystem/vis_overlays.dm @@ -29,18 +29,18 @@ SUBSYSTEM_DEF(vis_overlays) return //the "thing" var can be anything with vis_contents which includes images - in the future someone should totally allow vis overlays to be passed in as an arg instead of all this bullshit -/datum/controller/subsystem/vis_overlays/proc/add_vis_overlay(atom/movable/thing, icon, iconstate, layer, plane, dir, alpha = 255, add_appearance_flags = NONE, unique = FALSE) +/datum/controller/subsystem/vis_overlays/proc/add_vis_overlay(atom/movable/thing, icon, iconstate, layer, plane, dir, alpha = 255, add_appearance_flags = NONE, pixel_x = 0, pixel_y = 0, pixel_z = 0, unique = FALSE) var/obj/effect/overlay/vis/overlay if(!unique) - . = "[icon]|[iconstate]|[layer]|[plane]|[dir]|[alpha]|[add_appearance_flags]" + . = "[icon]|[iconstate]|[layer]|[plane]|[dir]|[alpha]|[add_appearance_flags][pixel_x][pixel_y][pixel_z]" overlay = vis_overlay_cache[.] if(!overlay) - overlay = _create_new_vis_overlay(icon, iconstate, layer, plane, dir, alpha, add_appearance_flags) + overlay = _create_new_vis_overlay(icon, iconstate, layer, plane, dir, alpha, add_appearance_flags, pixel_x, pixel_y, pixel_z) vis_overlay_cache[.] = overlay else overlay.unused = 0 else - overlay = _create_new_vis_overlay(icon, iconstate, layer, plane, dir, alpha, add_appearance_flags) + overlay = _create_new_vis_overlay(icon, iconstate, layer, plane, dir, alpha, add_appearance_flags, pixel_x, pixel_y, pixel_z) overlay.cache_expiration = -1 var/cache_id = "[text_ref(overlay)]@{[world.time]}" vis_overlay_cache[cache_id] = overlay @@ -56,7 +56,7 @@ SUBSYSTEM_DEF(vis_overlays) thing.managed_vis_overlays += overlay return overlay -/datum/controller/subsystem/vis_overlays/proc/_create_new_vis_overlay(icon, iconstate, layer, plane, dir, alpha, add_appearance_flags) +/datum/controller/subsystem/vis_overlays/proc/_create_new_vis_overlay(icon, iconstate, layer, plane, dir, alpha, add_appearance_flags, pixel_x, pixel_y, pixel_z) var/obj/effect/overlay/vis/overlay = new overlay.icon = icon overlay.icon_state = iconstate @@ -65,6 +65,9 @@ SUBSYSTEM_DEF(vis_overlays) overlay.dir = dir overlay.alpha = alpha overlay.appearance_flags |= add_appearance_flags + overlay.pixel_x = pixel_x + overlay.pixel_y = pixel_y + overlay.pixel_z = pixel_z return overlay diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 1c519e8aff159..7bed63cc36fc8 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -356,7 +356,7 @@ SUBSYSTEM_DEF(vote) data["VoteCD"] = CONFIG_GET(number/vote_delay) return data -/datum/controller/subsystem/vote/ui_act(action, params) +/datum/controller/subsystem/vote/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/datums/achievements/_awards.dm b/code/datums/achievements/_awards.dm index d99659ea780f9..e7d18f98124ac 100644 --- a/code/datums/achievements/_awards.dm +++ b/code/datums/achievements/_awards.dm @@ -67,7 +67,7 @@ /datum/award/proc/parse_value(raw_value) return default_value -///Can be overriden for achievement specific events +///Can be overridden for achievement specific events /datum/award/proc/on_unlock(mob/user) return diff --git a/code/datums/actions/mobs/blood_warp.dm b/code/datums/actions/mobs/blood_warp.dm index 4b070eebfe781..1e48c6e5aa419 100644 --- a/code/datums/actions/mobs/blood_warp.dm +++ b/code/datums/actions/mobs/blood_warp.dm @@ -21,14 +21,21 @@ /datum/action/cooldown/mob_cooldown/blood_warp/proc/blood_warp(atom/target) if(owner.Adjacent(target)) return FALSE - var/list/can_jaunt = get_bloodcrawlable_pools(get_turf(owner), 1) + + var/turf/target_turf = get_turf(target) + var/turf/owner_turf = get_turf(owner) + + if (target_turf.z != owner_turf.z) + return FALSE + + var/list/can_jaunt = get_bloodcrawlable_pools(owner_turf, 1) if(!can_jaunt.len) return FALSE var/chosen_pick_range = get_pick_range() - var/list/pools = get_bloodcrawlable_pools(get_turf(target), chosen_pick_range) + var/list/pools = get_bloodcrawlable_pools(target_turf, chosen_pick_range) if(remove_inner_pools) - var/list/pools_to_remove = get_bloodcrawlable_pools(get_turf(target), chosen_pick_range - 1) + var/list/pools_to_remove = get_bloodcrawlable_pools(target_turf, chosen_pick_range - 1) pools -= pools_to_remove if(!pools.len) return FALSE @@ -42,16 +49,16 @@ qdel(DA) var/obj/effect/decal/cleanable/blood/found_bloodpool - pools = get_bloodcrawlable_pools(get_turf(target), chosen_pick_range) + pools = get_bloodcrawlable_pools(target_turf, chosen_pick_range) if(remove_inner_pools) - var/list/pools_to_remove = get_bloodcrawlable_pools(get_turf(target), chosen_pick_range - 1) + var/list/pools_to_remove = get_bloodcrawlable_pools(target_turf, chosen_pick_range - 1) pools -= pools_to_remove if(pools.len) shuffle_inplace(pools) found_bloodpool = pick(pools) if(found_bloodpool) owner.visible_message("[owner] sinks into the blood...") - playsound(get_turf(owner), 'sound/magic/enter_blood.ogg', 100, TRUE, -1) + playsound(owner_turf, 'sound/magic/enter_blood.ogg', 100, TRUE, -1) owner.forceMove(get_turf(found_bloodpool)) playsound(get_turf(owner), 'sound/magic/exit_blood.ogg', 100, TRUE, -1) owner.visible_message("And springs back out!") diff --git a/code/datums/actions/mobs/charge.dm b/code/datums/actions/mobs/charge.dm index 43fcbd57f69ba..43cbb05c939ff 100644 --- a/code/datums/actions/mobs/charge.dm +++ b/code/datums/actions/mobs/charge.dm @@ -227,14 +227,19 @@ id = "tired_post_charge" duration = 1 SECONDS alert_type = null + var/tired_movespeed = /datum/movespeed_modifier/status_effect/tired_post_charge /datum/status_effect/tired_post_charge/on_apply() . = ..() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/tired_post_charge) + owner.add_movespeed_modifier(tired_movespeed) /datum/status_effect/tired_post_charge/on_remove() . = ..() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/tired_post_charge) + owner.remove_movespeed_modifier(tired_movespeed) + +/datum/status_effect/tired_post_charge/lesser + id = "tired_post_charge_easy" + tired_movespeed = /datum/movespeed_modifier/status_effect/tired_post_charge/lesser /datum/action/cooldown/mob_cooldown/charge/triple_charge name = "Triple Charge" diff --git a/code/datums/actions/mobs/charge_apc.dm b/code/datums/actions/mobs/charge_apc.dm index 8086ba7220793..8e67ce5847077 100644 --- a/code/datums/actions/mobs/charge_apc.dm +++ b/code/datums/actions/mobs/charge_apc.dm @@ -3,8 +3,8 @@ /datum/action/cooldown/mob_cooldown/charge_apc name = "Charge APCs" - button_icon = 'icons/obj/machines/wallmounts.dmi' - button_icon_state = "apc0" + button_icon = 'icons/obj/machines/APC.dmi' + button_icon_state = "frame" desc = "Give off charge to an APC." cooldown_time = 5 SECONDS diff --git a/code/datums/actions/mobs/fire_breath.dm b/code/datums/actions/mobs/fire_breath.dm index e52fa14d0d905..ef3c7ca7cdcda 100644 --- a/code/datums/actions/mobs/fire_breath.dm +++ b/code/datums/actions/mobs/fire_breath.dm @@ -90,8 +90,8 @@ /// Shoot fire in a whole bunch of directions /datum/action/cooldown/mob_cooldown/fire_breath/mass_fire name = "Mass Fire" - button_icon = 'icons/effects/fire.dmi' - button_icon_state = "1" + button_icon = 'icons/effects/atmos/fire.dmi' + button_icon_state = "light" desc = "Breathe flames in all directions." cooldown_time = 10.5 SECONDS click_to_activate = FALSE diff --git a/code/datums/actions/mobs/ground_slam.dm b/code/datums/actions/mobs/ground_slam.dm index e00799196b589..4adadef04e7c7 100644 --- a/code/datums/actions/mobs/ground_slam.dm +++ b/code/datums/actions/mobs/ground_slam.dm @@ -6,7 +6,7 @@ cooldown_time = 10 SECONDS /// The range of the slam var/range = 5 - /// The delay before the shockwave expands it's range + /// The delay before the shockwave expands its range var/delay = 3 /// How far hit targets are thrown var/throw_range = 8 diff --git a/code/datums/actions/mobs/lava_swoop.dm b/code/datums/actions/mobs/lava_swoop.dm index 0b0735bc471c0..722e0c045b884 100644 --- a/code/datums/actions/mobs/lava_swoop.dm +++ b/code/datums/actions/mobs/lava_swoop.dm @@ -50,7 +50,7 @@ negative = FALSE else if(target.x == initial_x) //if their x is the same, pick a direction negative = prob(50) - var/obj/effect/temp_visual/dragon_flight/F = new /obj/effect/temp_visual/dragon_flight(owner.loc, negative) + var/obj/effect/temp_visual/dragon_flight/flight_vis = new /obj/effect/temp_visual/dragon_flight(owner.loc, negative) negative = !negative //invert it for the swoop down later @@ -60,7 +60,7 @@ for(var/i in 1 to 3) sleep(0.1 SECONDS) if(QDELETED(owner) || owner.stat == DEAD) //we got hit and died, rip us - qdel(F) + qdel(flight_vis) if(owner.stat == DEAD) swooping = FALSE animate(owner, alpha = 255, transform = oldtransform, time = 0, flags = ANIMATION_END_NOW) //reset immediately @@ -72,9 +72,11 @@ owner.mouse_opacity = MOUSE_OPACITY_TRANSPARENT SLEEP_CHECK_DEATH(7, owner) - while(target && owner.loc != get_turf(target)) - owner.forceMove(get_step(owner, get_dir(owner, target))) + var/turf/target_turf = get_turf(target) + while(!QDELETED(target) && owner.loc != target_turf && owner.z == target_turf.z) + owner.forceMove(get_step(owner, get_dir(owner, target_turf))) SLEEP_CHECK_DEATH(0.5, owner) + target_turf = get_turf(target) // Ash drake flies onto its target and rains fire down upon them var/descentTime = 10 @@ -82,7 +84,6 @@ if(lava_arena) lava_success = lava_arena(target) - //ensure swoop direction continuity. if(negative) if(ISINRANGE(owner.x, initial_x + 1, initial_x + SWOOP_DIRECTION_CHANGE_RANGE)) @@ -96,20 +97,20 @@ SLEEP_CHECK_DEATH(descentTime, owner) owner.mouse_opacity = initial(owner.mouse_opacity) playsound(owner.loc, 'sound/effects/meteorimpact.ogg', 200, TRUE) - for(var/mob/living/L in orange(1, owner) - owner) - L.adjustBruteLoss(75) - if(!QDELETED(L)) // Some mobs are deleted on death - var/throw_dir = get_dir(owner, L) - if(L.loc == owner.loc) + for(var/mob/living/victim in orange(1, owner) - owner) + victim.adjustBruteLoss(75) + if(!QDELETED(victim)) // Some mobs are deleted on death + var/throw_dir = get_dir(owner, victim) + if(victim.loc == owner.loc) throw_dir = pick(GLOB.alldirs) var/throwtarget = get_edge_target_turf(owner, throw_dir) - L.throw_at(throwtarget, 3) - owner.visible_message(span_warning("[L] is thrown clear of [owner]!")) - for(var/obj/vehicle/sealed/mecha/M in orange(1, owner)) - M.take_damage(75, BRUTE, MELEE, 1) + victim.throw_at(throwtarget, 3) + owner.visible_message(span_warning("[victim] is thrown clear of [owner]!")) + for(var/obj/vehicle/sealed/mecha/mech in orange(1, owner)) + mech.take_damage(75, BRUTE, MELEE, 1) - for(var/mob/M in range(7, owner)) - shake_camera(M, 15, 1) + for(var/mob/observer in range(7, owner)) + shake_camera(observer, 15, 1) REMOVE_TRAIT(owner, TRAIT_UNDENSE, SWOOPING_TRAIT) SLEEP_CHECK_DEATH(1, owner) @@ -126,15 +127,16 @@ while(amount > 0) if(QDELETED(target)) break - var/turf/TT = get_turf(target) - var/turf/T = pick(RANGE_TURFS(1,TT)) - var/obj/effect/temp_visual/lava_warning/LW = new /obj/effect/temp_visual/lava_warning(T, 60) // longer reset time for the lava - LW.owner = owner + var/turf/target_turf = get_turf(target) + var/turf/lava_turf = pick(RANGE_TURFS(1, target_turf)) + var/obj/effect/temp_visual/lava_warning/warn_effect = new /obj/effect/temp_visual/lava_warning(lava_turf, 60) // longer reset time for the lava + warn_effect.owner = owner amount-- SLEEP_CHECK_DEATH(delay, owner) /datum/action/cooldown/mob_cooldown/lava_swoop/proc/lava_arena(atom/target) - if(!target || !isliving(target)) + var/turf/target_turf = get_turf(target) + if(QDELETED(target) || !isliving(target) || target_turf.z != owner.z) return target.visible_message(span_boldwarning("[owner] encases you in an arena of fire!")) var/amount = 3 @@ -147,9 +149,7 @@ for(var/turf/T in RANGE_TURFS(2, center)) if(isindestructiblefloor(T)) continue - if(!isindestructiblewall(T)) - T.TerraformTurf(/turf/open/misc/asteroid/basalt/lava_land_surface, flags = CHANGETURF_INHERIT_AIR) - else + if(isindestructiblewall(T)) indestructible_turfs += T SLEEP_CHECK_DEATH(1 SECONDS, owner) // give them a bit of time to realize what attack is actually happening @@ -190,7 +190,6 @@ icon = 'icons/effects/96x96.dmi' icon_state = "landing" layer = BELOW_MOB_LAYER - plane = GAME_PLANE pixel_x = -32 pixel_y = -32 color = COLOR_RED diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm index 33b63f09a01dc..797deb134f21f 100644 --- a/code/datums/ai/_ai_controller.dm +++ b/code/datums/ai/_ai_controller.dm @@ -103,7 +103,7 @@ multiple modular subtrees with behaviors return var/list/temp_subtree_list = list() for(var/subtree in planning_subtrees) - var/subtree_instance = SSai_controllers.ai_subtrees[subtree] + var/subtree_instance = GLOB.ai_subtrees[subtree] temp_subtree_list += subtree_instance planning_subtrees = temp_subtree_list @@ -124,7 +124,7 @@ multiple modular subtrees with behaviors var/turf/pawn_turf = get_turf(pawn) if(pawn_turf) - SSai_controllers.ai_controllers_by_zlevel[pawn_turf.z] += src + GLOB.ai_controllers_by_zlevel[pawn_turf.z] += src SEND_SIGNAL(src, COMSIG_AI_CONTROLLER_POSSESSED_PAWN) @@ -248,14 +248,11 @@ multiple modular subtrees with behaviors if((mob_pawn?.client && !continue_processing_when_client)) return if(old_turf) - SSai_controllers.ai_controllers_by_zlevel[old_turf.z] -= src - if(new_turf) - SSai_controllers.ai_controllers_by_zlevel[new_turf.z] += src - var/new_level_clients = SSmobs.clients_by_zlevel[new_turf.z].len - if(new_level_clients) - set_ai_status(AI_STATUS_IDLE) - else - set_ai_status(AI_STATUS_OFF) + GLOB.ai_controllers_by_zlevel[old_turf.z] -= src + if(isnull(new_turf)) + return + GLOB.ai_controllers_by_zlevel[new_turf.z] += src + reset_ai_status() ///Abstract proc for initializing the pawn to the new controller /datum/ai_controller/proc/TryPossessPawn(atom/new_pawn) @@ -272,9 +269,9 @@ multiple modular subtrees with behaviors ai_movement.stop_moving_towards(src) var/turf/pawn_turf = get_turf(pawn) if(pawn_turf) - SSai_controllers.ai_controllers_by_zlevel[pawn_turf.z] -= src + GLOB.ai_controllers_by_zlevel[pawn_turf.z] -= src if(ai_status) - SSai_controllers.ai_controllers_by_status[ai_status] -= src + GLOB.ai_controllers_by_status[ai_status] -= src pawn.ai_controller = null pawn = null if(destroy) @@ -386,16 +383,26 @@ multiple modular subtrees with behaviors //remove old status, if we've got one if(ai_status) - SSai_controllers.ai_controllers_by_status[ai_status] -= src + GLOB.ai_controllers_by_status[ai_status] -= src + stop_previous_processing() ai_status = new_ai_status - SSai_controllers.ai_controllers_by_status[new_ai_status] += src + GLOB.ai_controllers_by_status[new_ai_status] += src switch(ai_status) if(AI_STATUS_ON) START_PROCESSING(SSai_behaviors, src) - if(AI_STATUS_OFF, AI_STATUS_IDLE) - STOP_PROCESSING(SSai_behaviors, src) + if(AI_STATUS_IDLE) + START_PROCESSING(SSidle_ai_behaviors, src) + CancelActions() + if(AI_STATUS_OFF) CancelActions() +/datum/ai_controller/proc/stop_previous_processing() + switch(ai_status) + if(AI_STATUS_ON) + STOP_PROCESSING(SSai_behaviors, src) + if(AI_STATUS_IDLE) + STOP_PROCESSING(SSidle_ai_behaviors, src) + /datum/ai_controller/proc/PauseAi(time) paused_until = world.time + time diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.dm index 2d2ad013aa2c6..c2e9fe515c40f 100644 --- a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.dm +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.dm @@ -50,8 +50,8 @@ * Attempts to move into the provided range and then use a mob's cooldown ability on a target */ /datum/ai_behavior/targeted_mob_ability/min_range - required_distance = 6 behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + required_distance = 6 /datum/ai_behavior/targeted_mob_ability/min_range/setup(datum/ai_controller/controller, ability_key, target_key) . = ..() @@ -59,3 +59,6 @@ if(QDELETED(target)) return FALSE set_movement_target(controller, target) + +/datum/ai_behavior/targeted_mob_ability/min_range/short + required_distance = 3 diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm index 4cf04039e8535..7673551a65319 100644 --- a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeting.dm @@ -152,3 +152,15 @@ GLOBAL_LIST_INIT(target_interested_atoms, typecacheof(list(/mob, /obj/machinery/ /// Returns the desired final target from the filtered list of targets /datum/ai_behavior/find_potential_targets/proc/pick_final_target(datum/ai_controller/controller, list/filtered_targets) return pick(filtered_targets) + +/// Targets with the trait specified by the BB_TARGET_PRIORITY_TRAIT blackboard key will be prioritized over the rest. +/datum/ai_behavior/find_potential_targets/prioritize_trait + +/datum/ai_behavior/find_potential_targets/prioritize_trait/pick_final_target(datum/ai_controller/controller, list/filtered_targets) + var/priority_targets = list() + for(var/atom/target as anything in filtered_targets) + if(HAS_TRAIT(target, controller.blackboard[BB_TARGET_PRIORITY_TRAIT])) + priority_targets += target + if(length(priority_targets)) + return pick(priority_targets) + return ..() diff --git a/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.dm b/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.dm index 44d7cb4fe480b..f78697b2b8132 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.dm @@ -44,6 +44,6 @@ other_mob.ai_controller.set_blackboard_key(BB_BASIC_MOB_REINFORCEMENT_TARGET, pawn_mob) controller.set_blackboard_key(BB_BASIC_MOB_REINFORCEMENTS_COOLDOWN, world.time + REINFORCEMENTS_COOLDOWN) - return AI_BEHAVIOR_DELAY + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED #undef REINFORCEMENTS_COOLDOWN diff --git a/code/datums/ai/basic_mobs/basic_subtrees/find_targets_prioritize_traits.dm b/code/datums/ai/basic_mobs/basic_subtrees/find_targets_prioritize_traits.dm new file mode 100644 index 0000000000000..6c83469960ad3 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/find_targets_prioritize_traits.dm @@ -0,0 +1,6 @@ +/// Find something with a specific trait to run from +/datum/ai_planning_subtree/find_target_prioritize_traits + +/datum/ai_planning_subtree/find_target_prioritize_traits/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + . = ..() + controller.queue_behavior(/datum/ai_behavior/find_potential_targets/prioritize_trait, BB_BASIC_MOB_CURRENT_TARGET, BB_TARGETING_STRATEGY, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION, BB_TARGET_PRIORITY_TRAIT) diff --git a/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm index 4a2f5b476c759..3ed8b2df2b26d 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm @@ -10,7 +10,7 @@ /datum/ai_planning_subtree/flee_target/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) . = ..() var/atom/flee_from = controller.blackboard[target_key] - if (controller.blackboard[BB_BASIC_MOB_STOP_FLEEING] || QDELETED(flee_from)) + if(!should_flee(controller, flee_from)) return var/flee_distance = controller.blackboard[BB_BASIC_MOB_FLEE_DISTANCE] || DEFAULT_BASIC_FLEE_DISTANCE if (get_dist(controller.pawn, flee_from) >= flee_distance) @@ -19,8 +19,21 @@ controller.queue_behavior(flee_behaviour, target_key, hiding_place_key) return SUBTREE_RETURN_FINISH_PLANNING //we gotta get out of here. +/datum/ai_planning_subtree/flee_target/proc/should_flee(datum/ai_controller/controller, atom/flee_from) + if (controller.blackboard[BB_BASIC_MOB_STOP_FLEEING] || QDELETED(flee_from)) + return FALSE + return TRUE + /// Try to escape from your current target, without performing any other actions. /// Reads from some fleeing-specific targeting keys rather than the current mob target. /datum/ai_planning_subtree/flee_target/from_flee_key target_key = BB_BASIC_MOB_FLEE_TARGET hiding_place_key = BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATION + +/// A subtype that forces the mob to flee from targets with the scary fisherman trait anyway. +/datum/ai_planning_subtree/flee_target/from_fisherman + +/datum/ai_planning_subtree/flee_target/from_fisherman/should_flee(datum/ai_controller/controller, atom/flee_from) + if (!QDELETED(flee_from) && HAS_TRAIT(flee_from, TRAIT_SCARY_FISHERMAN)) + return TRUE + return ..() diff --git a/code/datums/ai/basic_mobs/basic_subtrees/simple_attack_target.dm b/code/datums/ai/basic_mobs/basic_subtrees/simple_attack_target.dm index 5b1f5ffbff9ed..f764568d4ba74 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/simple_attack_target.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/simple_attack_target.dm @@ -22,3 +22,12 @@ return controller.queue_behavior(ranged_attack_behavior, BB_BASIC_MOB_CURRENT_TARGET, BB_TARGETING_STRATEGY, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION) return SUBTREE_RETURN_FINISH_PLANNING //we are going into battle...no distractions. + +/datum/ai_planning_subtree/basic_melee_attack_subtree/no_fisherman + +/datum/ai_planning_subtree/basic_melee_attack_subtree/no_fisherman/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/atom/movable/target = controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET] + if(QDELETED(target)) + return ..() + if(!HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN)) + return ..() diff --git a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm index d9e0d1e7fb9ff..83e514f327020 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm @@ -21,4 +21,5 @@ controller.queue_behavior(/datum/ai_behavior/target_from_retaliate_list/nearest, BB_BASIC_MOB_RETALIATE_LIST, target_key, targeting_key, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION) /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee/from_flee_key + target_key = BB_BASIC_MOB_FLEE_TARGET targeting_key = BB_FLEE_TARGETING_STRATEGY diff --git a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_target.dm b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_target.dm index 1c7d8de9120ba..759355283acd4 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_target.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_target.dm @@ -1,8 +1,10 @@ /datum/ai_planning_subtree/simple_find_target + /// Variable to store target in + var/target_key = BB_BASIC_MOB_CURRENT_TARGET /datum/ai_planning_subtree/simple_find_target/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) . = ..() - controller.queue_behavior(/datum/ai_behavior/find_potential_targets, BB_BASIC_MOB_CURRENT_TARGET, BB_TARGETING_STRATEGY, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION) + controller.queue_behavior(/datum/ai_behavior/find_potential_targets, target_key, BB_TARGETING_STRATEGY, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION) // Prevents finding a target if a human is nearby /datum/ai_planning_subtree/simple_find_target/not_while_observed @@ -13,3 +15,5 @@ return return ..() +/datum/ai_planning_subtree/simple_find_target/to_flee + target_key = BB_BASIC_MOB_FLEE_TARGET diff --git a/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.dm b/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.dm index 3c8c06b009962..c90ffa785900f 100644 --- a/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.dm +++ b/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.dm @@ -22,3 +22,18 @@ /datum/ai_behavior/pet_use_ability/finish_action(datum/ai_controller/controller, succeeded, ability_key, target_key) . = ..() controller.clear_blackboard_key(target_key) + +/datum/ai_behavior/pet_use_ability/then_attack + +/datum/ai_behavior/pet_use_ability/then_attack/finish_action(datum/ai_controller/controller, succeeded, ability_key, target_key) + . = ..() + if(succeeded) + controller.queue_behavior(/datum/ai_behavior/basic_melee_attack, target_key, BB_PET_TARGETING_STRATEGY) + +/datum/ai_behavior/pet_use_ability/then_attack/short_ranged + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + required_distance = 4 + +/datum/ai_behavior/pet_use_ability/then_attack/long_ranged + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT + required_distance = 8 diff --git a/code/datums/ai/basic_mobs/targeting_strategies/_targeting_strategy.dm b/code/datums/ai/basic_mobs/targeting_strategies/_targeting_strategy.dm new file mode 100644 index 0000000000000..dbd2028081b7e --- /dev/null +++ b/code/datums/ai/basic_mobs/targeting_strategies/_targeting_strategy.dm @@ -0,0 +1,20 @@ +///Datum for basic mobs to define what they can attack, +///Global, just like ai_behaviors +/datum/targeting_strategy + +///Returns true or false depending on if the target can be attacked by the mob +/datum/targeting_strategy/proc/can_attack(mob/living/living_mob, atom/target, vision_range) + return + +///Returns something the target might be hiding inside of +/datum/targeting_strategy/proc/find_hidden_mobs(mob/living/living_mob, atom/target) + var/atom/target_hiding_location + if(istype(target.loc, /obj/structure/closet) || istype(target.loc, /obj/machinery/disposal) || istype(target.loc, /obj/machinery/sleeper)) + target_hiding_location = target.loc + return target_hiding_location + +///A very simple targeting strategy that checks that the target is a valid fishing spot. +/datum/targeting_strategy/fishing + +/datum/targeting_strategy/fishing/can_attack(mob/living/living_mob, atom/target, vision_range) + return HAS_TRAIT(target, TRAIT_FISHING_SPOT) diff --git a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm index 07b544bc0a296..709acb8d5e892 100644 --- a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm +++ b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm @@ -1,18 +1,3 @@ -///Datum for basic mobs to define what they can attack.GET_TARGETING_STRATEGY\((/[^,]*)\), -///Global, just like ai_behaviors -/datum/targeting_strategy - -///Returns true or false depending on if the target can be attacked by the mob -/datum/targeting_strategy/proc/can_attack(mob/living/living_mob, atom/target, vision_range) - return - -///Returns something the target might be hiding inside of -/datum/targeting_strategy/proc/find_hidden_mobs(mob/living/living_mob, atom/target) - var/atom/target_hiding_location - if(istype(target.loc, /obj/structure/closet) || istype(target.loc, /obj/machinery/disposal) || istype(target.loc, /obj/machinery/sleeper)) - target_hiding_location = target.loc - return target_hiding_location - /datum/targeting_strategy/basic /// When we do our basic faction check, do we look for exact faction matches? var/check_factions_exactly = FALSE @@ -44,6 +29,9 @@ if(M.status_flags & GODMODE) return FALSE + if (vision_range && get_dist(living_mob, the_target) > vision_range) + return FALSE + if(!ignore_sight && !can_see(living_mob, the_target, vision_range)) //Target has moved behind cover and we have lost line of sight to it return FALSE @@ -100,6 +88,21 @@ // trust fall exercise return TRUE +/datum/targeting_strategy/basic/require_traits + +/datum/targeting_strategy/basic/require_traits/can_attack(mob/living/living_mob, atom/the_target, vision_range) + . = ..() + if (!.) + return FALSE + var/list/required_traits = living_mob.ai_controller.blackboard[BB_TARGET_ONLY_WITH_TRAITS] + if (!length(required_traits)) + return TRUE + + for (var/trait as anything in required_traits) + if (HAS_TRAIT(the_target, trait)) + return TRUE + return FALSE + /// Subtype which searches for mobs of a size relative to ours /datum/targeting_strategy/basic/of_size /// If true, we will return mobs which are smaller than us. If false, larger. diff --git a/code/datums/ai/hunting_behavior/hunting_behaviors.dm b/code/datums/ai/hunting_behavior/hunting_behaviors.dm index 609138c113270..ba2da1c2d04e8 100644 --- a/code/datums/ai/hunting_behavior/hunting_behaviors.dm +++ b/code/datums/ai/hunting_behavior/hunting_behaviors.dm @@ -139,6 +139,10 @@ /datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target always_reset_target = TRUE +/datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target_combat_mode + always_reset_target = TRUE + switch_combat_mode = TRUE + /datum/ai_behavior/hunt_target/use_ability_on_target always_reset_target = TRUE ///the ability we will use diff --git a/code/datums/ai/monkey/monkey_behaviors.dm b/code/datums/ai/monkey/monkey_behaviors.dm index a5febe03143f1..e6720d7d96a78 100644 --- a/code/datums/ai/monkey/monkey_behaviors.dm +++ b/code/datums/ai/monkey/monkey_behaviors.dm @@ -197,7 +197,7 @@ var/can_shoot = gun?.can_shoot() || FALSE if(gun && controller.blackboard[BB_MONKEY_GUN_WORKED] && prob(95)) // We attempt to attack even if we can't shoot so we get the effects of pulling the trigger - gun.melee_attack_chain(living_pawn, real_target) + gun.interact_with_atom(real_target, living_pawn) controller.set_blackboard_key(BB_MONKEY_GUN_WORKED, can_shoot ? TRUE : prob(80)) // Only 20% likely to notice it didn't work if(can_shoot) controller.set_blackboard_key(BB_MONKEY_GUN_NEURONS_ACTIVATED, TRUE) diff --git a/code/datums/ai/movement/_ai_movement.dm b/code/datums/ai/movement/_ai_movement.dm index d48166eeb23ac..35492c8269900 100644 --- a/code/datums/ai/movement/_ai_movement.dm +++ b/code/datums/ai/movement/_ai_movement.dm @@ -1,4 +1,4 @@ -///This datum is an abstract class that can be overriden for different types of movement +///This datum is an abstract class that can be overridden for different types of movement /datum/ai_movement ///Assoc list ist of controllers that are currently moving as key, and what they are moving to as value var/list/moving_controllers = list() diff --git a/code/datums/ai/oldhostile/hostile_tameable.dm b/code/datums/ai/oldhostile/hostile_tameable.dm index 1c30cb95487c1..0d68fe0abbeca 100644 --- a/code/datums/ai/oldhostile/hostile_tameable.dm +++ b/code/datums/ai/oldhostile/hostile_tameable.dm @@ -77,14 +77,14 @@ if(pawn.Adjacent(pawn, new_friend)) new_friend.visible_message("[pawn] looks at [new_friend] in a friendly manner!", span_notice("[pawn] looks at you in a friendly manner!")) set_blackboard_key(BB_HOSTILE_FRIEND, new_friend) - RegisterSignal(new_friend, COMSIG_MOB_POINTED, PROC_REF(check_point)) + RegisterSignal(new_friend, COMSIG_MOVABLE_POINTED, PROC_REF(check_point)) RegisterSignal(new_friend, COMSIG_MOB_SAY, PROC_REF(check_verbal_command)) /// Someone is being mean to us, take them off our friends (add actual enemies behavior later) /datum/ai_controller/hostile_friend/proc/unfriend() var/mob/living/old_friend = blackboard[BB_HOSTILE_FRIEND] if(old_friend) - UnregisterSignal(old_friend, list(COMSIG_MOB_POINTED, COMSIG_MOB_SAY)) + UnregisterSignal(old_friend, list(COMSIG_MOVABLE_POINTED, COMSIG_MOB_SAY)) clear_blackboard_key(BB_HOSTILE_FRIEND) /// Someone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend @@ -190,7 +190,7 @@ set_blackboard_key(BB_HOSTILE_ORDER_MODE, HOSTILE_COMMAND_ATTACK) /// Someone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them) -/datum/ai_controller/hostile_friend/proc/check_point(mob/pointing_friend, atom/movable/pointed_movable) +/datum/ai_controller/hostile_friend/proc/check_point(mob/pointing_friend, atom/movable/pointed_movable, obj/effect/temp_visual/point/point) SIGNAL_HANDLER var/mob/living/simple_animal/hostile/living_pawn = pawn diff --git a/code/datums/ai/robot_customer/robot_customer_behaviors.dm b/code/datums/ai/robot_customer/robot_customer_behaviors.dm index 7aa0f34f5207d..8712049901383 100644 --- a/code/datums/ai/robot_customer/robot_customer_behaviors.dm +++ b/code/datums/ai/robot_customer/robot_customer_behaviors.dm @@ -63,7 +63,7 @@ return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED controller.add_blackboard_key(BB_CUSTOMER_PATIENCE, seconds_per_tick * -1 SECONDS) // Convert seconds_per_tick to a SECONDS equivalent. - if(controller.blackboard[BB_CUSTOMER_PATIENCE] < 0 || controller.blackboard[BB_CUSTOMER_LEAVING]) // Check if we're leaving because sometthing mightve forced us to + if(controller.blackboard[BB_CUSTOMER_PATIENCE] < 0 || controller.blackboard[BB_CUSTOMER_LEAVING]) // Check if we're leaving because something might've forced us to return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED // SPT_PROB 1.5 is about a 40% chance that the tourist will have vocalised at least once every minute. @@ -78,7 +78,7 @@ if(my_seat) controller.pawn.setDir(my_seat.dir) //Sit in your seat - ///Now check if theres a meal infront of us. + ///Now check if there's a meal infront of us. var/datum/venue/attending_venue = controller.blackboard[BB_CUSTOMER_ATTENDING_VENUE] var/turf/infront_turf = get_step(controller.pawn, controller.pawn.dir) @@ -100,7 +100,7 @@ if(greytider || QDELETED(src) || QDELETED(customer_pawn)) return controller.set_blackboard_key(BB_CUSTOMER_LEAVING, TRUE) - customer_pawn.update_icon() //They might have a special leaving accesoiry (french flag) + customer_pawn.update_icon() //They might have a special leaving accessory (French flag) if(succeeded) customer_pawn.say(pick(customer_data.leave_happy_lines)) else diff --git a/code/datums/armor/_armor.dm b/code/datums/armor/_armor.dm index 616ad00c324ad..961c7827b1de4 100644 --- a/code/datums/armor/_armor.dm +++ b/code/datums/armor/_armor.dm @@ -139,15 +139,15 @@ GLOBAL_LIST_INIT(armor_by_type, generate_armor_type_cache()) /// Gets the rating of armor for the specified rating /datum/armor/proc/get_rating(rating) - // its not that I dont trust coders, its just that I don't trust coders + // its not that I don't trust coders, its just that I don't trust coders if(!(rating in ARMOR_LIST_ALL())) - CRASH("Attempted to get a rating '[rating]' that doesnt exist") + CRASH("Attempted to get a rating '[rating]' that doesn't exist") return vars[rating] /datum/armor/immune/get_rating(rating) return 100 -/// Converts all the ratings of the armor into a list, optionally inversed +/// Converts all the ratings of the armor into a list, optionally inverted /datum/armor/proc/get_rating_list(inverse = FALSE) var/ratings = list() for(var/rating in ARMOR_LIST_ALL()) diff --git a/code/datums/bodypart_overlays/bodypart_overlay.dm b/code/datums/bodypart_overlays/bodypart_overlay.dm index 22f2b15f2ccd0..4059e7968d481 100644 --- a/code/datums/bodypart_overlays/bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/bodypart_overlay.dm @@ -9,13 +9,24 @@ ///Key of the icon states of all the sprite_datums for easy caching var/cache_key = "" + /// Whether the overlay blocks emissive light + var/blocks_emissive = EMISSIVE_BLOCK_UNIQUE + ///Wrapper for getting the proper image, colored and everything /datum/bodypart_overlay/proc/get_overlay(layer, obj/item/bodypart/limb) layer = bitflag_to_layer(layer) - . = get_image(layer, limb) - color_image(., layer, limb) + var/image/main_image = get_image(layer, limb) + color_image(main_image, layer, limb) + if(blocks_emissive == EMISSIVE_BLOCK_NONE || !limb) + return main_image + + var/list/all_images = list( + main_image, + emissive_blocker(main_image.icon, main_image.icon_state, limb, layer = main_image.layer, alpha = main_image.alpha) + ) + return all_images -///Generate the image. Needs to be overriden +///Generate the image. Needs to be overridden /datum/bodypart_overlay/proc/get_image(layer, obj/item/bodypart/limb) CRASH("Get image needs to be overridden") @@ -31,7 +42,7 @@ /datum/bodypart_overlay/proc/removed_from_limb(obj/item/bodypart/limb) return -///Use this to change the appearance (and yes you must overwrite hahahahahah) (or dont use this, I just dont want people directly changing the image) +///Use this to change the appearance (and yes you must overwrite hahahahahah) (or don't use this, I just don't want people directly changing the image) /datum/bodypart_overlay/proc/set_appearance() CRASH("Update appearance needs to be overridden") @@ -68,3 +79,7 @@ ///Generate a unique identifier to cache with. If you change something about the image, but the icon cache stays the same, it'll simply pull the unchanged image out of the cache /datum/bodypart_overlay/proc/generate_icon_cache() return list() + +/// Additionally color or texture the limb +/datum/bodypart_overlay/proc/modify_bodypart_appearance(datum/appearance) + return diff --git a/code/datums/bodypart_overlays/markings_bodypart_overlay.dm b/code/datums/bodypart_overlays/markings_bodypart_overlay.dm index c2c6f54d861d3..5c11fe9f70334 100644 --- a/code/datums/bodypart_overlays/markings_bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/markings_bodypart_overlay.dm @@ -15,7 +15,7 @@ /datum/bodypart_overlay/simple/body_marking/get_image(layer, obj/item/bodypart/limb) var/gender_string = (use_gender && limb.is_dimorphic) ? (limb.gender == MALE ? MALE : FEMALE + "_") : "" //we only got male and female sprites - return image(icon, gender_string + icon_state + "_" + limb.body_zone, layer = layer) + return mutable_appearance(icon, gender_string + icon_state + "_" + limb.body_zone, layer = layer) /datum/bodypart_overlay/simple/body_marking/moth dna_feature_key = "moth_markings" diff --git a/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm b/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm index 57c11814c022d..d0250cce686eb 100644 --- a/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm @@ -8,11 +8,29 @@ ///The color this organ draws with. Updated by bodypart/inherit_color() var/draw_color - ///Where does this organ inherit it's color from? + ///Where does this organ inherit its color from? var/color_source = ORGAN_COLOR_INHERIT ///Take on the dna/preference from whoever we're gonna be inserted in var/imprint_on_next_insertion = TRUE +/datum/bodypart_overlay/mutant/New(obj/item/organ/attached_organ) + . = ..() + + RegisterSignal(attached_organ, COMSIG_ORGAN_IMPLANTED, PROC_REF(on_mob_insert)) + +/datum/bodypart_overlay/mutant/proc/on_mob_insert(obj/item/organ/parent, mob/living/carbon/receiver) + SIGNAL_HANDLER + + if(!should_visual_organ_apply_to(parent.type, receiver)) + stack_trace("adding a [parent.type] to a [receiver.type] when it shouldn't be!") + + if(imprint_on_next_insertion) //We only want this set *once* + var/feature_name = receiver.dna.features[feature_key] + if (isnull(feature_name)) + feature_name = receiver.dna.species.mutant_organs[parent.type] + set_appearance_from_name(feature_name) + imprint_on_next_insertion = FALSE + /datum/bodypart_overlay/mutant/get_overlay(layer, obj/item/bodypart/limb) inherit_color(limb) // If draw_color is not set yet, go ahead and do that return ..() @@ -28,13 +46,16 @@ sprite_datum = get_random_appearance() ///Grab a random appearance datum (thats not locked) -/datum/bodypart_overlay/mutant/proc/get_random_appearance() +/datum/bodypart_overlay/mutant/proc/get_random_appearance() as /datum/sprite_accessory + RETURN_TYPE(/datum/sprite_accessory) var/list/valid_restyles = list() var/list/feature_list = get_global_feature_list() for(var/accessory in feature_list) var/datum/sprite_accessory/accessory_datum = feature_list[accessory] if(initial(accessory_datum.locked)) //locked is for stuff that shouldn't appear here continue + if(!initial(accessory_datum.natural_spawn)) + continue valid_restyles += accessory_datum return pick(valid_restyles) @@ -64,7 +85,6 @@ return appearance /datum/bodypart_overlay/mutant/color_image(image/overlay, layer, obj/item/bodypart/limb) - overlay.color = sprite_datum.color_src ? draw_color : null /datum/bodypart_overlay/mutant/added_to_limb(obj/item/bodypart/limb) @@ -136,3 +156,4 @@ CRASH("External organ [type] couldn't find sprite accessory [accessory_name]!") else CRASH("External organ [type] had fetch_sprite_datum called with a null accessory name!") + diff --git a/code/datums/bodypart_overlays/simple_bodypart_overlay.dm b/code/datums/bodypart_overlays/simple_bodypart_overlay.dm index 7f52d21de5398..6c9eb4240ecd0 100644 --- a/code/datums/bodypart_overlays/simple_bodypart_overlay.dm +++ b/code/datums/bodypart_overlays/simple_bodypart_overlay.dm @@ -9,7 +9,7 @@ var/draw_color /datum/bodypart_overlay/simple/get_image(layer, obj/item/bodypart/limb) - return image(icon, icon_state, layer = layer) + return mutable_appearance(icon, icon_state, layer = layer) /datum/bodypart_overlay/simple/color_image(image/overlay, layer, obj/item/bodypart/limb) diff --git a/code/datums/bodypart_overlays/texture_bodypart_overlay.dm b/code/datums/bodypart_overlays/texture_bodypart_overlay.dm new file mode 100644 index 0000000000000..83c8ce5f12121 --- /dev/null +++ b/code/datums/bodypart_overlays/texture_bodypart_overlay.dm @@ -0,0 +1,24 @@ +/// Bodypart overlays focused on texturing limbs +/datum/bodypart_overlay/texture + /// icon file for the texture + var/texture_icon + /// icon state for the texture + var/texture_icon_state + /// Cache the icon so we dont have to make a new one each time + var/cached_texture_icon + +/datum/bodypart_overlay/texture/New() + . = ..() + + cached_texture_icon = icon(texture_icon, texture_icon_state) + +/datum/bodypart_overlay/texture/modify_bodypart_appearance(datum/appearance) + appearance.add_filter("bodypart_texture_[texture_icon_state]", 1, layering_filter(icon = cached_texture_icon,blend_mode = BLEND_INSET_OVERLAY)) + +/datum/bodypart_overlay/texture/generate_icon_cache() + return "[type]" + +/datum/bodypart_overlay/texture/spacey + blocks_emissive = EMISSIVE_BLOCK_NONE + texture_icon_state = "spacey" + texture_icon = 'icons/mob/human/textures.dmi' diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index f4c78bc9007e6..453b7ad93b6e0 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -263,7 +263,7 @@ speech_bubble_recipients.Add(user.client) var/image/bubble = image('icons/mob/effects/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER) - SET_PLANE_EXPLICIT(bubble, ABOVE_GAME_PLANE, src) + SET_PLANE_EXPLICIT(bubble, GAME_PLANE, src) bubble.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay_global), bubble, speech_bubble_recipients, 3 SECONDS) LAZYADD(update_on_z, bubble) diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 325203dbb350a..6d0f8fc565415 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -322,7 +322,7 @@ if(!. || !client) return FALSE to_chat(src, span_notice("You're the incredibly inebriated leftovers of your host's consciousness! Make sure to act the part and leave a trail of confusion and chaos in your wake.")) - to_chat(src, span_boldwarning("Do not commit suicide or put the body in danger, you have a minor liscense to grief just like a clown, do not kill anyone or create a situation leading to the body being in danger or in harm ways. While you're drunk, you're not suicidal.")) + to_chat(src, span_boldwarning("While you're drunk, you're not suicidal. Do not commit suicide or put the body in danger. You have a minor license to grief just like a clown, but do not kill anyone or create a situation leading to the body being put in danger or at risk of being harmed.")) #undef OWNER #undef STRANGER diff --git a/code/datums/browser.dm b/code/datums/browser.dm index f74ecf6c5a343..b9d859552389d 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -99,7 +99,7 @@ /datum/browser/proc/open(use_onclose = TRUE) if(isnull(window_id)) //null check because this can potentially nuke goonchat WARNING("Browser [title] tried to open with a null ID") - to_chat(user, span_userdanger("The [title] browser you tried to open failed a sanity check! Please report this on github!")) + to_chat(user, span_userdanger("The [title] browser you tried to open failed a sanity check! Please report this on GitHub!")) return var/window_size = "" if (width && height) diff --git a/code/datums/callback.dm b/code/datums/callback.dm index cf90582115dd6..c2941c9202986 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -26,7 +26,7 @@ * ## PROC TYPEPATH SHORTCUTS * (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...) * - * ### proc defined on current(src) object OR overridden at src or any of it's parents: + * ### proc defined on current(src) object OR overridden at src or any of its parents: * PROC_REF(procname) * * `CALLBACK(src, PROC_REF(some_proc_here))` @@ -111,7 +111,7 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer or the MC invokes a callback + if(usr != GLOB.AdminProcCallHandler && !(usr && usr?.client?.ckey)) //This happens when a timer or the MC invokes a callback return HandleUserlessProcCall(usr, object, delegate, calling_arguments) return WrapAdminProcCall(object, delegate, calling_arguments) if (object == GLOBAL_PROC) @@ -148,7 +148,7 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer or the MC invokes a callback + if(usr != GLOB.AdminProcCallHandler && !(usr && usr?.client?.ckey)) //This happens when a timer or the MC invokes a callback return HandleUserlessProcCall(usr, object, delegate, calling_arguments) return WrapAdminProcCall(object, delegate, calling_arguments) if (object == GLOBAL_PROC) diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index d300fcc371349..ee278cdae6212 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -314,7 +314,7 @@ speaker = v.source spans |= "virtual-speaker" - // Ignore virtual speaker (most often radio messages) from ourself + // Ignore virtual speaker (most often radio messages) from ourselves if (originalSpeaker != src && speaker == src) return @@ -324,59 +324,6 @@ else new /datum/chatmessage(raw_message, speaker, src, message_language, spans) -// Tweak these defines to change the available color ranges -#define CM_COLOR_SAT_MIN 0.6 -#define CM_COLOR_SAT_MAX 0.7 -#define CM_COLOR_LUM_MIN 0.65 -#define CM_COLOR_LUM_MAX 0.75 - -/** - * Gets a color for a name, will return the same color for a given string consistently within a round.atom - * - * Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map. - * - * Arguments: - * * name - The name to generate a color for - * * sat_shift - A value between 0 and 1 that will be multiplied against the saturation - * * lum_shift - A value between 0 and 1 that will be multiplied against the luminescence - */ -/datum/chatmessage/proc/colorize_string(name, sat_shift = 1, lum_shift = 1) - // seed to help randomness - var/static/rseed = rand(1,26) - - // get hsl using the selected 6 characters of the md5 hash - var/hash = copytext(md5(name + GLOB.round_id), rseed, rseed + 6) - var/h = hex2num(copytext(hash, 1, 3)) * (360 / 255) - var/s = (hex2num(copytext(hash, 3, 5)) >> 2) * ((CM_COLOR_SAT_MAX - CM_COLOR_SAT_MIN) / 63) + CM_COLOR_SAT_MIN - var/l = (hex2num(copytext(hash, 5, 7)) >> 2) * ((CM_COLOR_LUM_MAX - CM_COLOR_LUM_MIN) / 63) + CM_COLOR_LUM_MIN - - // adjust for shifts - s *= clamp(sat_shift, 0, 1) - l *= clamp(lum_shift, 0, 1) - - // convert to rgb - var/h_int = round(h/60) // mapping each section of H to 60 degree sections - var/c = (1 - abs(2 * l - 1)) * s - var/x = c * (1 - abs((h / 60) % 2 - 1)) - var/m = l - c * 0.5 - x = (x + m) * 255 - c = (c + m) * 255 - m *= 255 - switch(h_int) - if(0) - return "#[num2hex(c, 2)][num2hex(x, 2)][num2hex(m, 2)]" - if(1) - return "#[num2hex(x, 2)][num2hex(c, 2)][num2hex(m, 2)]" - if(2) - return "#[num2hex(m, 2)][num2hex(c, 2)][num2hex(x, 2)]" - if(3) - return "#[num2hex(m, 2)][num2hex(x, 2)][num2hex(c, 2)]" - if(4) - return "#[num2hex(x, 2)][num2hex(m, 2)][num2hex(c, 2)]" - if(5) - return "#[num2hex(c, 2)][num2hex(m, 2)][num2hex(x, 2)]" - - #undef CHAT_LAYER_MAX_Z #undef CHAT_LAYER_Z_STEP #undef CHAT_MESSAGE_APPROX_LHEIGHT @@ -388,7 +335,3 @@ #undef CHAT_MESSAGE_LIFESPAN #undef CHAT_MESSAGE_SPAWN_TIME #undef CHAT_MESSAGE_WIDTH -#undef CM_COLOR_LUM_MAX -#undef CM_COLOR_LUM_MIN -#undef CM_COLOR_SAT_MAX -#undef CM_COLOR_SAT_MIN diff --git a/code/datums/components/README.md b/code/datums/components/README.md index db8bf10a327f6..34aea1176e430 100644 --- a/code/datums/components/README.md +++ b/code/datums/components/README.md @@ -2,8 +2,8 @@ ## Concept -Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a `SendSignal()` call. Now every component that want's to can also know about this happening. +Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward its arguments with a `SendSignal()` call. Now every component that want's to can also know about this happening. -### [HackMD page for an introduction to the system as a whole.](https://hackmd.io/@tgstation/SignalsComponentsElements) +### [HackMD page for an introduction to the system as a whole.](https://hackmd.io/@tgstation/SignalsComponentsElements) ### See/Define signals and their arguments in [__DEFINES\components.dm](../../__DEFINES/components.dm) diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index b258abed65dda..f78e2af6be17d 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -4,7 +4,7 @@ * The component datum * * A component should be a single standalone unit - * of functionality, that works by receiving signals from it's parent + * of functionality, that works by receiving signals from its parent * object to provide some single functionality (i.e a slippery component) * that makes the object it's attached to cause people to slip over. * Useful when you want shared behaviour independent of type inheritance diff --git a/code/datums/components/acid.dm b/code/datums/components/acid.dm index fc60e0312fd72..74fa1b1ae7f88 100644 --- a/code/datums/components/acid.dm +++ b/code/datums/components/acid.dm @@ -148,7 +148,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e var/acid_used = min(acid_volume * 0.05, 20) * seconds_per_tick var/applied_targets = 0 for(var/atom/movable/target_movable as anything in target_turf) - // Dont apply acid to things under the turf + // Don't apply acid to things under the turf if(target_turf.underfloor_accessibility < UNDERFLOOR_INTERACTABLE && HAS_TRAIT(target_movable, TRAIT_T_RAY_VISIBLE)) continue // Ignore mobs if turf_acid_ignores_mobs is TRUE diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm index 48e5b10b25f19..e7d18f8208173 100644 --- a/code/datums/components/anti_magic.dm +++ b/code/datums/components/anti_magic.dm @@ -41,13 +41,27 @@ datum/callback/expiration, ) - if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) - RegisterSignals(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_ATOM), PROC_REF(on_attack)) - else if(ismob(parent)) - register_antimagic_signals(parent) - else + + var/atom/movable/movable = parent + if(!istype(movable)) + return COMPONENT_INCOMPATIBLE + + var/compatible = FALSE + if(isitem(movable)) + RegisterSignal(movable, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(movable, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignals(movable, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_ATOM), PROC_REF(on_attack)) + compatible = TRUE + else if(ismob(movable)) + register_antimagic_signals(movable) + compatible = TRUE + + if(movable.can_buckle) + RegisterSignal(movable, COMSIG_MOVABLE_BUCKLE, PROC_REF(on_buckle)) + RegisterSignal(movable, COMSIG_MOVABLE_UNBUCKLE, PROC_REF(on_unbuckle)) + compatible = TRUE + + if(!compatible) return COMPONENT_INCOMPATIBLE src.antimagic_flags = antimagic_flags @@ -68,6 +82,14 @@ /datum/component/anti_magic/proc/unregister_antimagic_signals(datum/on_what) UnregisterSignal(on_what, list(COMSIG_MOB_RECEIVE_MAGIC, COMSIG_MOB_RESTRICT_MAGIC)) +/datum/component/anti_magic/proc/on_buckle(atom/movable/source, mob/living/bucklee) + SIGNAL_HANDLER + register_antimagic_signals(bucklee) + +/datum/component/anti_magic/proc/on_unbuckle(atom/movable/source, mob/living/bucklee) + SIGNAL_HANDLER + unregister_antimagic_signals(bucklee) + /datum/component/anti_magic/proc/on_equip(atom/movable/source, mob/equipper, slot) SIGNAL_HANDLER diff --git a/code/datums/components/aquarium_content.dm b/code/datums/components/aquarium_content.dm index 21c6c75ca169a..3b395637a6c08 100644 --- a/code/datums/components/aquarium_content.dm +++ b/code/datums/components/aquarium_content.dm @@ -34,7 +34,7 @@ /// Icon used for in aquarium sprite - var/icon = 'icons/obj/aquarium/fish.dmi' + var/icon = 'icons/obj/structures/aquarium/fish.dmi' /// If this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied. var/icon_state /// Applied to vc object only for use with greyscaled icons. diff --git a/code/datums/components/bakeable.dm b/code/datums/components/bakeable.dm index afc71936f1b92..93e96f65d58fc 100644 --- a/code/datums/components/bakeable.dm +++ b/code/datums/components/bakeable.dm @@ -93,11 +93,11 @@ var/list/asomnia_hadders = list() for(var/mob/smeller in get_hearers_in_view(DEFAULT_MESSAGE_RANGE, used_oven)) if(HAS_TRAIT(smeller, TRAIT_ANOSMIA)) - asomnia_hadders += smeller + asomnia_hadders += smeller if(positive_result) used_oven.visible_message( - span_notice("You smell something great coming from [used_oven]."), + span_notice("You smell something great coming from [used_oven]."), blind_message = span_notice("You smell something great..."), ignored_mobs = asomnia_hadders, ) diff --git a/code/datums/components/banned_from_space.dm b/code/datums/components/banned_from_space.dm new file mode 100644 index 0000000000000..ae1d6701dd701 --- /dev/null +++ b/code/datums/components/banned_from_space.dm @@ -0,0 +1,37 @@ +/// Following recent tomfoolery, we've decided to ban you from space. +/datum/component/banned_from_space + /// List of recent tiles we walked on that aren't space + var/list/tiles = list() + /// The max amount of tiles we store + var/max_tile_list_size = 4 + +/datum/component/banned_from_space/Initialize(...) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(check_if_space)) + +/datum/component/banned_from_space/proc/check_if_space(atom/source, atom/new_location) + SIGNAL_HANDLER + + if(!isturf(new_location)) + return + + if(isspaceturf(new_location)) + send_back(parent) + + else + tiles.Add(new_location) + if(tiles.len > max_tile_list_size) + tiles.Cut(1, 2) + +/datum/component/banned_from_space/proc/send_back(atom/movable/parent) + var/new_turf + + if(tiles.len) + new_turf = tiles[1] + new /obj/effect/temp_visual/portal_animation(parent.loc, new_turf, parent) + else + new_turf = get_random_station_turf() + + parent.forceMove(new_turf) diff --git a/code/datums/components/boomerang.dm b/code/datums/components/boomerang.dm index eec7b4112aa69..23dd63d146712 100644 --- a/code/datums/components/boomerang.dm +++ b/code/datums/components/boomerang.dm @@ -1,7 +1,7 @@ -///The cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc. +///The cooldown period between last_boomerang_throw and its methods of implementing a rebound proc. #define BOOMERANG_REBOUND_INTERVAL (1 SECONDS) /** - * If an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. + * If an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting its target, or landing on the thrown tile. * Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range. */ /datum/component/boomerang diff --git a/code/datums/components/burning.dm b/code/datums/components/burning.dm index 2535a5b6f904c..776c2ef89dd1e 100644 --- a/code/datums/components/burning.dm +++ b/code/datums/components/burning.dm @@ -1,4 +1,4 @@ -GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/effects/fire.dmi', "fire", appearance_flags = RESET_COLOR)) +GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/effects/atmos/fire.dmi', "fire", appearance_flags = RESET_COLOR)) /** * Component representing an atom being on fire. diff --git a/code/datums/components/callouts.dm b/code/datums/components/callouts.dm new file mode 100644 index 0000000000000..98d489cc915a9 --- /dev/null +++ b/code/datums/components/callouts.dm @@ -0,0 +1,177 @@ +#define CALLOUT_TIME (5 SECONDS) +#define CALLOUT_COOLDOWN 3 SECONDS + +/// Component that allows its owner/owner's wearer to use callouts system - their pointing is replaced with a fancy radial which allows them to summon glowing markers +/datum/component/callouts + /// If parent is clothing, slot on which this component activates + var/item_slot + /// If we are currently active + var/active = TRUE + /// Current user of this component + var/mob/cur_user + /// Whenever the user should shout the voiceline + var/voiceline = FALSE + /// If voiceline is true, what prefix the user should use + var/radio_prefix = null + /// List of all callout options + var/static/list/callout_options = typecacheof(subtypesof(/datum/callout_option)) + /// Text displayed when parent is examined + var/examine_text = null + /// Cooldown for callouts + COOLDOWN_DECLARE(callout_cooldown) + +/datum/component/callouts/Initialize(item_slot = null, voiceline = FALSE, radio_prefix = null, examine_text = null) + if (!isitem(parent) && !ismob(parent)) + return COMPONENT_INCOMPATIBLE + src.item_slot = item_slot + src.voiceline = voiceline + src.radio_prefix = radio_prefix + src.examine_text = examine_text + + if (ismob(parent)) + cur_user = parent + return + + var/atom/atom_parent = parent + + if (!ismob(atom_parent.loc)) + return + + var/mob/user = atom_parent.loc + if (!isnull(item_slot) && user.get_item_by_slot(item_slot) != parent) + return + + RegisterSignal(atom_parent.loc, COMSIG_MOB_CLICKON, PROC_REF(on_click)) + cur_user = atom_parent.loc + +/datum/component/callouts/Destroy(force) + cur_user = null + . = ..() + +/datum/component/callouts/RegisterWithParent() + RegisterSignal(parent, COMSIG_MOB_CLICKON, PROC_REF(on_click)) + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_dropped)) + RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examines)) + RegisterSignal(parent, COMSIG_CLICK_CTRL, PROC_REF(on_ctrl_click)) + +/datum/component/callouts/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_MOB_CLICKON, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ATOM_EXAMINE, COMSIG_CLICK_CTRL)) + +/datum/component/callouts/proc/on_ctrl_click(datum/source, mob/living/user) + SIGNAL_HANDLER + + if(!isitem(parent)) + return + + var/obj/item/item_parent = parent + active = !active + item_parent.balloon_alert(user, active ? "callouts enabled" : "callouts disabled") + +/datum/component/callouts/proc/on_equipped(datum/source, mob/equipper, slot) + SIGNAL_HANDLER + + if (item_slot & slot) + RegisterSignal(equipper, COMSIG_MOB_CLICKON, PROC_REF(on_click)) + cur_user = equipper + else if (cur_user == equipper) + UnregisterSignal(cur_user, COMSIG_MOB_CLICKON, PROC_REF(on_click)) + cur_user = null + +/datum/component/callouts/proc/on_dropped(datum/source, mob/user) + SIGNAL_HANDLER + + if (cur_user == user) + UnregisterSignal(cur_user, COMSIG_MOB_CLICKON, PROC_REF(on_click)) + cur_user = null + +/datum/component/callouts/proc/on_examines(mob/source, mob/user, list/examine_list) + SIGNAL_HANDLER + if (!isnull(examine_text)) + examine_list += examine_text + +/datum/component/callouts/proc/on_click(mob/user, atom/clicked_atom, list/modifiers) + SIGNAL_HANDLER + + if (!LAZYACCESS(modifiers, SHIFT_CLICK) || !LAZYACCESS(modifiers, MIDDLE_CLICK)) + return + + if (!active) + return + + if (!COOLDOWN_FINISHED(src, callout_cooldown)) + clicked_atom.balloon_alert(user, "callout is on cooldown!") + return COMSIG_MOB_CANCEL_CLICKON + + INVOKE_ASYNC(src, PROC_REF(callout_picker), user, clicked_atom) + return COMSIG_MOB_CANCEL_CLICKON + +/datum/component/callouts/proc/callout_picker(mob/user, atom/clicked_atom) + var/list/callout_items = list() + for(var/datum/callout_option/callout_option as anything in callout_options) + callout_items[callout_option] = image(icon = 'icons/hud/radial.dmi', icon_state = callout_option::icon_state) + + var/datum/callout_option/selection = show_radial_menu(user, get_turf(clicked_atom), callout_items, entry_animation = FALSE, click_on_hover = TRUE, user_space = TRUE) + if (!selection) + return + + COOLDOWN_START(src, callout_cooldown, CALLOUT_COOLDOWN) + new /obj/effect/temp_visual/callout(get_turf(user), user, selection, clicked_atom) + SEND_SIGNAL(user, COMSIG_MOB_CREATED_CALLOUT, selection, clicked_atom) + if (voiceline) + user.say((!isnull(radio_prefix) ? radio_prefix : "") + selection::voiceline, forced = src) + +/obj/effect/temp_visual/callout + name = "callout" + icon = 'icons/effects/callouts.dmi' + icon_state = "point" + plane = ABOVE_LIGHTING_PLANE + duration = CALLOUT_TIME + +/obj/effect/temp_visual/callout/Initialize(mapload, mob/creator, datum/callout_option/callout, atom/target) + . = ..() + if (isnull(creator)) + return + icon_state = callout::icon_state + color = colorize_string(creator.GetVoice(), 2, 0.9) + update_appearance() + var/turf/target_loc = get_turf(target) + animate(src, pixel_x = (target_loc.x - loc.x) * world.icon_size + target.pixel_x, pixel_y = (target_loc.y - loc.y) * world.icon_size + target.pixel_y, time = 0.2 SECONDS, easing = EASE_OUT) + +/datum/callout_option + var/name = "ERROR" + var/icon_state = "point" + var/voiceline = "Something has gone wrong!" + +/datum/callout_option/point + name = "Point" + icon_state = "point" + voiceline = "Here!" + +/datum/callout_option/danger + name = "Danger" + icon_state = "danger" + voiceline = "Danger there!" + +/datum/callout_option/guard + name = "Guard" + icon_state = "guard" + voiceline = "Hold this position!" + +/datum/callout_option/attack + name = "Attack" + icon_state = "attack" + voiceline = "Attack there!" + +/datum/callout_option/mine + name = "Mine" + icon_state = "mine" + voiceline = "Dig here!" + +/datum/callout_option/move + name = "Move" + icon_state = "move" + voiceline = "Reposition there!" + +#undef CALLOUT_TIME +#undef CALLOUT_COOLDOWN diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm index 3f6bba15541b1..cd06bdb2a00d7 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -30,7 +30,7 @@ ///So we can update ant damage dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS -/datum/component/caltrop/Initialize(min_damage = 0, max_damage = 0, probability = 100, paralyze_duration = 6 SECONDS, flags = NONE, soundfile = null) +/datum/component/caltrop/Initialize(min_damage = 0, max_damage = 0, probability = 100, paralyze_duration = 2 SECONDS, flags = NONE, soundfile = null) . = ..() if(!isatom(parent)) return COMPONENT_INCOMPATIBLE diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index b4406857ac1e3..43d7201b1e469 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -212,6 +212,10 @@ REMOVE_TRAIT(fallen_mob, TRAIT_NO_TRANSFORM, REF(src)) if (fallen_mob.stat != DEAD) fallen_mob.investigate_log("has died from falling into a chasm.", INVESTIGATE_DEATHS) + if(issilicon(fallen_mob)) + //Silicons are held together by hopes and dreams, unfortunately, I'm having a nightmare + var/mob/living/silicon/robot/fallen_borg = fallen_mob + fallen_borg.mmi = null fallen_mob.death(TRUE) fallen_mob.apply_damage(300) diff --git a/code/datums/components/chuunibyou.dm b/code/datums/components/chuunibyou.dm index 57428bc422358..4e06f0fd47486 100644 --- a/code/datums/components/chuunibyou.dm +++ b/code/datums/components/chuunibyou.dm @@ -47,6 +47,7 @@ RegisterSignal(parent, COMSIG_MOB_PRE_INVOCATION, PROC_REF(on_pre_invocation)) RegisterSignal(parent, COMSIG_MOB_TRY_SPEECH, PROC_REF(on_try_speech)) RegisterSignal(parent, COMSIG_MOB_AFTER_SPELL_CAST, PROC_REF(on_after_spell_cast)) + ADD_TRAIT(parent, TRAIT_CHUUNIBYOU, REF(src)) /datum/component/chuunibyou/UnregisterFromParent() . = ..() @@ -56,6 +57,7 @@ COMSIG_MOB_TRY_SPEECH, COMSIG_MOB_AFTER_SPELL_CAST, )) + REMOVE_TRAIT(parent, TRAIT_CHUUNIBYOU, REF(src)) /// signal sent when the parent tries to speak. we let speech pass if we are casting a spell so mimes still chuuni their spellcasts /// (this may end in the mime dying) diff --git a/code/datums/components/cleaner.dm b/code/datums/components/cleaner.dm index 3001fde9837fb..02af5c735acf9 100644 --- a/code/datums/components/cleaner.dm +++ b/code/datums/components/cleaner.dm @@ -138,12 +138,12 @@ return // First, get rid of the old overlay var/mutable_appearance/old_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, GAME_PLANE) - var/mutable_appearance/old_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, old_turf, ABOVE_GAME_PLANE) + var/mutable_appearance/old_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", HIGH_BUBBLE_LAYER, old_turf, GAME_PLANE) source.cut_overlay(old_low_bubble) source.cut_overlay(old_high_bubble) // Now, add the new one var/mutable_appearance/new_low_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, GAME_PLANE) - var/mutable_appearance/new_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", FLOOR_CLEAN_LAYER, new_turf, ABOVE_GAME_PLANE) + var/mutable_appearance/new_high_bubble = mutable_appearance('icons/effects/effects.dmi', "bubbles", HIGH_BUBBLE_LAYER, new_turf, GAME_PLANE) source.add_overlay(new_low_bubble) source.add_overlay(new_high_bubble) diff --git a/code/datums/components/climb_walkable.dm b/code/datums/components/climb_walkable.dm new file mode 100644 index 0000000000000..fbfda4295ac6c --- /dev/null +++ b/code/datums/components/climb_walkable.dm @@ -0,0 +1,28 @@ +/// Allows objects that entered parent's tile to move freely through other objects with this component regardless of density +/datum/component/climb_walkable + +/datum/component/climb_walkable/RegisterWithParent() + var/static/list/turf_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_enter), + COMSIG_ATOM_EXITED = PROC_REF(on_exit), + ) + AddComponent(/datum/component/connect_loc_behalf, parent, turf_connections) + RegisterSignal(parent, COMSIG_ATOM_CAN_ALLOW_THROUGH, PROC_REF(can_allow_through)) + +/datum/component/climb_walkable/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ATOM_CAN_ALLOW_THROUGH) + for (var/atom/movable/climber in get_turf(parent)) + REMOVE_TRAIT(parent, TRAIT_ON_CLIMBABLE, REF(src)) + +/datum/component/climb_walkable/proc/on_enter(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) + SIGNAL_HANDLER + ADD_TRAIT(arrived, TRAIT_ON_CLIMBABLE, REF(src)) + +/datum/component/climb_walkable/proc/on_exit(datum/source, atom/movable/gone, direction) + SIGNAL_HANDLER + REMOVE_TRAIT(gone, TRAIT_ON_CLIMBABLE, REF(src)) + +/datum/component/climb_walkable/proc/can_allow_through(datum/source, atom/movable/mover, border_dir) + SIGNAL_HANDLER + if(HAS_TRAIT(mover, TRAIT_ON_CLIMBABLE)) + return COMSIG_FORCE_ALLOW_THROUGH diff --git a/code/datums/components/conditonally_transparent.dm b/code/datums/components/conditonally_transparent.dm new file mode 100644 index 0000000000000..be1a5c1d84ee1 --- /dev/null +++ b/code/datums/components/conditonally_transparent.dm @@ -0,0 +1,61 @@ +/datum/component/conditionally_transparent + /// Delay used before starting to fade in + var/transparency_delay + /// midpoint alpha to animate between when fading in + var/in_midpoint_alpha + /// alpha to use when invisible + var/transparent_alpha + /// Delay used before starting to fade in + var/opacity_delay + /// midpoint alpha to animate between when fading out + var/out_midpoint_alpha + +/datum/component/conditionally_transparent/Initialize( + list/transparent_signals, + list/opaque_signals, + start_transparent, + transparency_delay, + in_midpoint_alpha, + transparent_alpha, + opacity_delay, + out_midpoint_alpha, +) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + var/atom/atom_parent = parent + src.transparency_delay = transparency_delay + src.in_midpoint_alpha = in_midpoint_alpha + src.transparent_alpha = transparent_alpha + src.opacity_delay = opacity_delay + src.out_midpoint_alpha = out_midpoint_alpha + if(start_transparent) + atom_parent.alpha = transparent_alpha + atom_parent.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + RegisterSignals(atom_parent, transparent_signals, PROC_REF(make_transparent)) + RegisterSignals(atom_parent, opaque_signals, PROC_REF(make_opaque)) + +/datum/component/conditionally_transparent/Destroy(force) + var/atom/atom_parent = parent + if(atom_parent.alpha == transparent_alpha) + atom_parent.alpha = initial(atom_parent.alpha) + atom_parent.mouse_opacity = initial(atom_parent.mouse_opacity) + return ..() + +/datum/component/conditionally_transparent/proc/make_transparent(datum/source) + SIGNAL_HANDLER + var/atom/atom_parent = parent +// Current CI version of spaceman doesn't support delay and bumping it makes tgs mad so we're gonna do this till ci matches 1.9 +#ifndef SPACEMAN_DMM + animate(atom_parent, alpha = in_midpoint_alpha, easing = QUAD_EASING, time = 0.7 SECONDS, delay = transparency_delay) + animate(alpha = transparent_alpha, easing = QUAD_EASING, time = 0.3 SECONDS) +#endif + addtimer(VARSET_CALLBACK(atom_parent, mouse_opacity, MOUSE_OPACITY_TRANSPARENT), transparency_delay + (1 SECONDS)) + +/datum/component/conditionally_transparent/proc/make_opaque(datum/source) + SIGNAL_HANDLER + var/atom/atom_parent = parent +#ifndef SPACEMAN_DMM + animate(atom_parent, alpha = out_midpoint_alpha, easing = QUAD_EASING, time = 0.7 SECONDS, delay = opacity_delay) + animate(alpha = 255, easing = QUAD_EASING, time = 0.3 SECONDS) +#endif + addtimer(VARSET_CALLBACK(atom_parent, mouse_opacity, initial(atom_parent.mouse_opacity)), opacity_delay + (1 SECONDS)) diff --git a/code/datums/components/crafting/atmospheric.dm b/code/datums/components/crafting/atmospheric.dm index b2993012e82b0..6674ee1059a9f 100644 --- a/code/datums/components/crafting/atmospheric.dm +++ b/code/datums/components/crafting/atmospheric.dm @@ -359,3 +359,26 @@ /obj/item/stack/sheet/iron = 30, ) category = CAT_STRUCTURE + +/datum/crafting_recipe/airlock_pump + name = "External Airlock Pump" + tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) + result = /obj/item/pipe/directional/airlock_pump + reqs = list( + /obj/item/pipe = 1, + /obj/item/stack/sheet/iron = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/analyzer = 1, + ) + time = 2 SECONDS + category = CAT_ATMOSPHERIC + +/datum/crafting_recipe/airlock_pump/check_requirements(mob/user, list/collected_requirements) + return atmos_pipe_check(user, collected_requirements) + +/datum/crafting_recipe/airlock_pump/on_craft_completion(mob/user, atom/result) + var/obj/item/pipe/crafted_pipe = result + crafted_pipe.pipe_type = /obj/machinery/atmospherics/components/unary/airlock_pump + crafted_pipe.pipe_color = COLOR_VERY_LIGHT_GRAY + crafted_pipe.setDir(user.dir) + crafted_pipe.update() diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index 8f436faa9c6c4..3854c1ad013cf 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -345,7 +345,6 @@ RC.reagents.trans_to(holder, reagent_volume, target_id = path_key, no_react = TRUE) surroundings -= RC amt -= reagent_volume - SEND_SIGNAL(RC.reagents, COMSIG_REAGENTS_CRAFTING_PING) // - [] TODO: Make this entire thing less spaghetti else surroundings -= RC RC.update_appearance(UPDATE_ICON) @@ -537,7 +536,7 @@ return TRUE -/datum/component/personal_crafting/ui_act(action, params) +/datum/component/personal_crafting/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -611,6 +610,9 @@ data["name"] = "[data["name"]] [recipe.result_amount]x" data["desc"] = recipe.desc || initial(atom.desc) + if(ispath(recipe.result, /obj/item/food)) + var/obj/item/food/food = recipe.result + data["has_food_effect"] = !!food.crafted_food_buff // Crafting if(recipe.non_craftable) diff --git a/code/datums/components/crafting/equipment.dm b/code/datums/components/crafting/equipment.dm index eeea4205a4d29..dfd79e696224c 100644 --- a/code/datums/components/crafting/equipment.dm +++ b/code/datums/components/crafting/equipment.dm @@ -23,6 +23,17 @@ time = 4 SECONDS category = CAT_EQUIPMENT +/datum/crafting_recipe/moonflowershield + name = "Moonflower Shield" + result = /obj/item/shield/buckler/moonflower + reqs = list( + /obj/item/seeds/sunflower/moonflower = 3, + /obj/item/grown/log/steel = 3, + ) + time = 4 SECONDS + category = CAT_EQUIPMENT + + /datum/crafting_recipe/radiogloves name = "Radio Gloves" result = /obj/item/clothing/gloves/radio diff --git a/code/datums/components/crafting/melee_weapon.dm b/code/datums/components/crafting/melee_weapon.dm index 594ff7aefd387..018d99d870352 100644 --- a/code/datums/components/crafting/melee_weapon.dm +++ b/code/datums/components/crafting/melee_weapon.dm @@ -191,3 +191,13 @@ ) time = 10 SECONDS category = CAT_WEAPON_MELEE + +/datum/crafting_recipe/bambostaff + name = "Bamboo Bo Staff" + result = /obj/item/bambostaff + reqs = list( + /obj/item/stack/sheet/mineral/bamboo = 4, + /obj/item/grown/log/steel = 2, + ) + time = 8 SECONDS + category = CAT_WEAPON_MELEE diff --git a/code/datums/components/crafting/misc.dm b/code/datums/components/crafting/misc.dm index 606cf1fc29262..52c66253e824b 100644 --- a/code/datums/components/crafting/misc.dm +++ b/code/datums/components/crafting/misc.dm @@ -35,6 +35,17 @@ tool_paths = list(/obj/item/stamp/head/captain) category = CAT_MISC +/datum/crafting_recipe/clipboard + name = "Clipboard" + result = /obj/item/clipboard + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/rods = 1, + ) + tool_behaviors = list(TOOL_WIRECUTTER) + category = CAT_MISC + /datum/crafting_recipe/cardboard_id name = "Cardboard ID Card" tool_behaviors = list(TOOL_WIRECUTTER) diff --git a/code/datums/components/crafting/ranged_weapon.dm b/code/datums/components/crafting/ranged_weapon.dm index 0e3c7b119169b..174c0226a423e 100644 --- a/code/datums/components/crafting/ranged_weapon.dm +++ b/code/datums/components/crafting/ranged_weapon.dm @@ -77,7 +77,7 @@ reqs = list( /obj/item/assembly/signaler/anomaly/flux = 2, /obj/item/assembly/signaler/anomaly/grav = 1, - /obj/item/assembly/signaler/anomaly/vortex = MAX_CORES_VORTEX, + /obj/item/assembly/signaler/anomaly/vortex = (MAX_CORES_VORTEX - 1), /obj/item/assembly/signaler/anomaly/bluespace = 1, /obj/item/weaponcrafting/gunkit/beam_rifle = 1, ) diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm index 2bcec49aeb504..3c498f74416bd 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/tailoring.dm @@ -6,6 +6,61 @@ time = 5 SECONDS category = CAT_CLOTHING +/datum/crafting_recipe/durathread_robe + name = "Durathread Robe" + result = /obj/item/clothing/suit/wizrobe/durathread + reqs = list( + /obj/item/stack/sheet/durathread = 3, + /obj/item/stack/sheet/leather = 6, + ) + time = 5 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/durathread_robe_fire + name = "Durathread Pyromancer Robe" + result = /obj/item/clothing/suit/wizrobe/durathread/fire + reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1, + /obj/item/grown/novaflower = 1, + /obj/item/seeds/chili = 3) + time = 2 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/durathread_robe_ice + name = "Durathread Ice-o-mancer Robe" + result = /obj/item/clothing/suit/wizrobe/durathread/ice + reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1, + /obj/item/seeds/chili/ice = 1, + /obj/item/food/grown/herbs = 3) + time = 2 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/durathread_robe_electric + name = "Durathread Electromancer Robe" + result = /obj/item/clothing/suit/wizrobe/durathread/electric + reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1, + /obj/item/food/grown/mushroom/jupitercup = 1, + /obj/item/food/grown/sunflower = 3) + time = 2 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/durathread_robe_earth + name = "Durathread Geomancer Robe" + result = /obj/item/clothing/suit/wizrobe/durathread/earth + reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1, + /obj/item/food/grown/cahnroot = 1, + /obj/item/food/grown/potato = 3) + time = 2 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/durathread_robe_necro + name = "Durathread Necromancer Robe" + result = /obj/item/clothing/suit/wizrobe/durathread/necro + reqs = list(/obj/item/clothing/suit/wizrobe/durathread = 1, + /obj/item/food/grown/cannabis/death = 2, + /obj/item/food/grown/mushroom/angel = 2) + time = 2 SECONDS + category = CAT_CLOTHING + /datum/crafting_recipe/durathread_helmet name = "Durathread Helmet" result = /obj/item/clothing/head/helmet/durathread @@ -14,6 +69,62 @@ time = 4 SECONDS category = CAT_CLOTHING +/datum/crafting_recipe/watermelon_armour + name = "Watermelon Armour" + result = /obj/item/clothing/suit/armor/durability/watermelon + reqs = list(/obj/item/clothing/head/helmet/durability/watermelon = 3, + /obj/item/stack/sheet/durathread = 1) + time = 4 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/watermelon_armour_fr + name = "Watermelon Armour" + result = /obj/item/clothing/suit/armor/durability/watermelon/fire_resist + reqs = list(/obj/item/clothing/head/helmet/durability/watermelon/fire_resist = 3, + /obj/item/stack/sheet/durathread = 1) + time = 4 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/holymelon_armour + name = "Holymelon Armour" + result = /obj/item/clothing/suit/armor/durability/holymelon + reqs = list(/obj/item/clothing/head/helmet/durability/holymelon = 3, + /obj/item/stack/sheet/durathread = 1) + time = 4 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/holymelonmelon_armour_fr + name = "Holymelon Armour" + result = /obj/item/clothing/suit/armor/durability/holymelon/fire_resist + reqs = list(/obj/item/clothing/head/helmet/durability/holymelon/fire_resist = 3, + /obj/item/stack/sheet/durathread = 1) + time = 4 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/barrelmelon_armour + name = "Barrelmelon Armour" + result = /obj/item/clothing/suit/armor/durability/barrelmelon + reqs = list(/obj/item/clothing/head/helmet/durability/barrelmelon = 3, + /obj/item/stack/sheet/durathread = 1) + time = 4 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/barrelmelon_armour_fr + name = "Barrelmelon Armour" + result = /obj/item/clothing/suit/armor/durability/barrelmelon/fire_resist + reqs = list(/obj/item/clothing/head/helmet/durability/barrelmelon/fire_resist = 3, + /obj/item/stack/sheet/durathread = 1) + time = 4 SECONDS + category = CAT_CLOTHING + +/datum/crafting_recipe/grass_sheath + name = "Grass Sabre Sheath" + result = /obj/item/storage/belt/grass_sabre + reqs = list(/obj/item/food/grown/grass = 4, + /obj/item/food/grown/grass/fairy = 2) + time = 4 SECONDS + category = CAT_CONTAINERS + /datum/crafting_recipe/fannypack name = "Fannypack" result = /obj/item/storage/belt/fannypack diff --git a/code/datums/components/crafting/weapon_ammo.dm b/code/datums/components/crafting/weapon_ammo.dm index 2ba01802e7cdd..9a3448bc803a3 100644 --- a/code/datums/components/crafting/weapon_ammo.dm +++ b/code/datums/components/crafting/weapon_ammo.dm @@ -127,6 +127,28 @@ category = CAT_WEAPON_AMMO crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_MUST_BE_LEARNED +/datum/crafting_recipe/sticky_arrow + name = "Sticky arrow" + result = /obj/item/ammo_casing/arrow/sticky + reqs = list( + /obj/item/ammo_casing/arrow = 1, + /obj/item/food/honeycomb = 3, + ) + time = 5 SECONDS + category = CAT_WEAPON_AMMO + crafting_flags = CRAFT_CHECK_DENSITY + +/datum/crafting_recipe/poison_arrow + name = "Poison arrow" + result = /obj/item/ammo_casing/arrow/poison + reqs = list( + /obj/item/ammo_casing/arrow = 1, + /obj/item/food/grown/berries/poison = 5, + ) + time = 5 SECONDS + category = CAT_WEAPON_AMMO + crafting_flags = CRAFT_CHECK_DENSITY + /datum/crafting_recipe/plastic_arrow name = "Plastic Arrow" result = /obj/item/ammo_casing/arrow/plastic diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm index c7b3e3f2ff55b..fefa9d7e6bee8 100644 --- a/code/datums/components/dejavu.dm +++ b/code/datums/components/dejavu.dm @@ -2,6 +2,7 @@ * A component to reset the parent to its previous state after some time passes */ /datum/component/dejavu + dupe_mode = COMPONENT_DUPE_ALLOWED ///message sent when dejavu rewinds var/rewind_message = "You remember a time not so long ago..." @@ -16,6 +17,8 @@ var/rewinds_remaining /// How long to wait between each rewind var/rewind_interval + /// Do we add a new component before teleporting the target to they teleport to the place where *we* teleported them from? + var/repeating_component /// The starting value of toxin loss at the beginning of the effect var/tox_loss = 0 @@ -34,13 +37,14 @@ /// A list of body parts saved at the beginning of the effect var/list/datum/saved_bodypart/saved_bodyparts -/datum/component/dejavu/Initialize(rewinds = 1, interval = 10 SECONDS) +/datum/component/dejavu/Initialize(rewinds = 1, interval = 10 SECONDS, add_component = FALSE) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE starting_turf = get_turf(parent) rewinds_remaining = rewinds rewind_interval = interval + repeating_component = add_component if(isliving(parent)) var/mob/living/L = parent @@ -85,13 +89,16 @@ master.forceMove(starting_turf) rewinds_remaining -- - if(rewinds_remaining) + if(rewinds_remaining || rewinds_remaining < 0) addtimer(CALLBACK(src, rewind_type), rewind_interval) else to_chat(parent, span_notice(no_rewinds_message)) qdel(src) /datum/component/dejavu/proc/rewind_living() + if (rewinds_remaining == 1 && repeating_component && !iscarbon(parent) && !isanimal_or_basicmob(parent)) + parent.AddComponent(type, 1, rewind_interval, TRUE) + var/mob/living/master = parent master.setToxLoss(tox_loss) master.setOxyLoss(oxy_loss) @@ -100,18 +107,27 @@ rewind() /datum/component/dejavu/proc/rewind_carbon() + if (rewinds_remaining == 1 && repeating_component) + parent.AddComponent(type, 1, rewind_interval, TRUE) + if(saved_bodyparts) var/mob/living/carbon/master = parent master.apply_saved_bodyparts(saved_bodyparts) rewind_living() /datum/component/dejavu/proc/rewind_animal() + if (rewinds_remaining == 1 && repeating_component) + parent.AddComponent(type, 1, rewind_interval, TRUE) + var/mob/living/master = parent master.bruteloss = brute_loss master.updatehealth() rewind_living() /datum/component/dejavu/proc/rewind_obj() + if (rewinds_remaining == 1 && repeating_component) + parent.AddComponent(type, 1, rewind_interval, TRUE) + var/obj/master = parent master.update_integrity(integrity) rewind() @@ -124,3 +140,10 @@ /datum/component/dejavu/timeline/rewind() playsound(get_turf(parent), 'sound/items/modsuit/rewinder.ogg') . = ..() + +/datum/component/dejavu/wizard + rewind_message = "Your temporal ward activated, pulling you through spacetime!" + +/datum/component/dejavu/wizard/rewind() + playsound(get_turf(parent), 'sound/items/modsuit/rewinder.ogg') + . = ..() diff --git a/code/datums/components/drop_shadow.dm b/code/datums/components/drop_shadow.dm new file mode 100644 index 0000000000000..961f2760c9475 --- /dev/null +++ b/code/datums/components/drop_shadow.dm @@ -0,0 +1,165 @@ +/// Draws a shadow overlay under the attachee +/datum/component/drop_shadow + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + /// The overlay we are using + var/mutable_appearance/shadow + /// Extra offset to apply to the shadow + var/shadow_offset + /// Any temporary extra offsets we are tracking + var/additional_offset = 0 + /// Additional offset to apply while mob is dead + var/death_offset + /// Timer to make sure + var/unhide_shadow_timer + +/datum/component/drop_shadow/Initialize(icon = 'icons/mob/mob_shadows.dmi', icon_state = SHADOW_MEDIUM, shadow_offset_x = 0, shadow_offset_y = 0, death_offset = 0) + . = ..() + if (!ismovable(parent)) // Only being used for mobs at the moment but it seems reasonably likely that we'll want to put it on some effect some time + return COMPONENT_INCOMPATIBLE + + src.death_offset = death_offset + shadow_offset = shadow_offset_y + + var/atom/movable/movable_parent = parent + + shadow = mutable_appearance( + icon, + icon_state, + layer = BELOW_MOB_LAYER, + appearance_flags = KEEP_APART | RESET_TRANSFORM | RESET_COLOR + ) + shadow.pixel_x = shadow_offset_x - movable_parent.pixel_x + update_shadow_position() + +/datum/component/drop_shadow/InheritComponent(icon = 'icons/mob/mob_shadows.dmi', icon_state = SHADOW_MEDIUM, shadow_offset_x = 0, shadow_offset_y = 0, death_offset = 0) + var/changed_appearance = FALSE + + if (shadow.pixel_x != shadow_offset_x) + shadow.pixel_x = shadow_offset_x + changed_appearance = TRUE + + if (shadow.icon != icon) + shadow.icon = icon + changed_appearance = TRUE + + if (shadow.icon_state != icon_state) + shadow.icon_state = icon_state + changed_appearance = TRUE + + var/changed_offset = FALSE + + if (death_offset != src.death_offset) + if (src.death_offset == 0) + RegisterSignal(parent, COMSIG_MOB_STATCHANGE, PROC_REF(update_shadow_position)) + else if (death_offset == 0) + UnregisterSignal(parent, COMSIG_MOB_STATCHANGE, PROC_REF(update_shadow_position)) + src.death_offset = death_offset + changed_offset = TRUE + + if (shadow_offset_y != shadow_offset) + shadow_offset = shadow_offset_y + changed_offset = TRUE + + if (changed_offset) + update_shadow_position() // Calling this will also update the overlays so we can return here and safely apply any of the above changes too + return + + if (changed_appearance && !HAS_TRAIT(parent, TRAIT_SHADOWLESS)) // If we changed position this will get called anyway so don't do it twice + var/atom/atom_parent = parent + atom_parent.update_appearance(UPDATE_OVERLAYS) + +/datum/component/drop_shadow/RegisterWithParent() + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays)) + RegisterSignals(parent, list(COMSIG_ATOM_FULTON_BEGAN, COMSIG_ATOM_BEGAN_ORBITING), PROC_REF(hide_shadow)) + RegisterSignals(parent, list(COMSIG_ATOM_FULTON_LANDED, COMSIG_ATOM_STOPPED_ORBITING), PROC_REF(show_shadow)) + RegisterSignals(parent, list(SIGNAL_ADDTRAIT(TRAIT_SHADOWLESS), SIGNAL_REMOVETRAIT(TRAIT_SHADOWLESS)), PROC_REF(shadowless_trait_updated)) + + if (isliving(parent)) + RegisterSignal(parent, COMSIG_LIVING_POST_UPDATE_TRANSFORM, PROC_REF(on_transform_updated)) + RegisterSignal(parent, COMSIG_MOB_BUCKLED, PROC_REF(hide_shadow)) + RegisterSignal(parent, COMSIG_MOB_UNBUCKLED, PROC_REF(show_shadow)) + if (death_offset != 0) + RegisterSignal(parent, COMSIG_MOB_STATCHANGE, PROC_REF(update_shadow_position)) + + if (!HAS_TRAIT(parent, TRAIT_SHADOWLESS)) + var/atom/atom_parent = parent + atom_parent.update_appearance(UPDATE_OVERLAYS) + +/datum/component/drop_shadow/UnregisterFromParent() + UnregisterSignal(parent, list( + COMSIG_ATOM_UPDATE_OVERLAYS, + COMSIG_ATOM_FULTON_BEGAN, + COMSIG_ATOM_FULTON_LANDED, + COMSIG_ATOM_BEGAN_ORBITING, + COMSIG_ATOM_STOPPED_ORBITING, + COMSIG_LIVING_POST_UPDATE_TRANSFORM, + COMSIG_MOB_BUCKLED, + COMSIG_MOB_STATCHANGE, + COMSIG_MOB_UNBUCKLED, + SIGNAL_ADDTRAIT(TRAIT_SHADOWLESS), + SIGNAL_REMOVETRAIT(TRAIT_SHADOWLESS), + )) + +/// Repositions the shadow to try and stay under our mob should be at under current conditions +/datum/component/drop_shadow/proc/update_shadow_position() + SIGNAL_HANDLER + + var/living_offset = 0 + if (isliving(parent)) + var/mob/living/living_parent = parent + if (living_parent.rotate_on_lying && living_parent.body_position != STANDING_UP) + living_offset -= living_parent.body_position_pixel_y_offset + if (death_offset != 0 && living_parent.stat == DEAD) + living_offset += death_offset + shadow.transform = matrix() * living_parent.current_size + + shadow.pixel_z = -DEPTH_OFFSET - additional_offset + living_offset + shadow_offset + + if (!HAS_TRAIT(parent, TRAIT_SHADOWLESS)) + var/atom/atom_parent = parent + atom_parent.update_appearance(UPDATE_OVERLAYS) + +/// Handles actually displaying it +/datum/component/drop_shadow/proc/on_update_overlays(atom/source, list/overlays) + SIGNAL_HANDLER + if (!HAS_TRAIT(parent, TRAIT_SHADOWLESS)) + overlays += shadow + +/// Called when we gain or lose the "shadowless" trait +/datum/component/drop_shadow/proc/shadowless_trait_updated() + SIGNAL_HANDLER + var/atom/atom_parent = parent + atom_parent.update_appearance(UPDATE_OVERLAYS) + +/// Called when a mob is resized or rotated +/datum/component/drop_shadow/proc/on_transform_updated(mob/living/source, previous_size, lying_angle, is_opposite_angle, final_pixel_y, animate_time) + SIGNAL_HANDLER + additional_offset = final_pixel_y + update_shadow_position() + if (animate_time > 0) + temporarily_hide_shadow(animate_time) + +/// Make the shadow visible +/datum/component/drop_shadow/proc/show_shadow() + SIGNAL_HANDLER + shadow.alpha = 255 + deltimer(unhide_shadow_timer) + if (!HAS_TRAIT(parent, TRAIT_SHADOWLESS)) + var/atom/atom_parent = parent + atom_parent.update_appearance(UPDATE_OVERLAYS) + +/// Make the shadow invisible +/datum/component/drop_shadow/proc/hide_shadow() + SIGNAL_HANDLER + shadow.alpha = 0 + deltimer(unhide_shadow_timer) + if (!HAS_TRAIT(parent, TRAIT_SHADOWLESS)) + var/atom/atom_parent = parent + atom_parent.update_appearance(UPDATE_OVERLAYS) + +/// Hide shadow then display it again after a delay +/datum/component/drop_shadow/proc/temporarily_hide_shadow(show_in) + if (!show_in) + return + hide_shadow() + unhide_shadow_timer = addtimer(CALLBACK(src, PROC_REF(show_shadow)), show_in, TIMER_STOPPABLE | TIMER_UNIQUE | TIMER_DELETE_ME) diff --git a/code/datums/components/echolocation.dm b/code/datums/components/echolocation.dm index 020c47ad875e1..51ab89a2be564 100644 --- a/code/datums/components/echolocation.dm +++ b/code/datums/components/echolocation.dm @@ -32,7 +32,7 @@ /// Cooldown for the echolocation. COOLDOWN_DECLARE(cooldown_last) -/datum/component/echolocation/Initialize(echo_range, cooldown_time, image_expiry_time, fade_in_time, fade_out_time, images_are_static, blocking_trait, echo_group, echo_icon = "echo", color_path) +/datum/component/echolocation/Initialize(echo_range, cooldown_time, image_expiry_time, fade_in_time, fade_out_time, images_are_static, blocking_trait, echo_group, echo_icon, color_path) . = ..() var/mob/living/echolocator = parent if(!istype(echolocator)) diff --git a/code/datums/components/examine_balloon.dm b/code/datums/components/examine_balloon.dm new file mode 100644 index 0000000000000..199759e1b33a9 --- /dev/null +++ b/code/datums/components/examine_balloon.dm @@ -0,0 +1,94 @@ +/// Adds clickable balloons whenever someone holds the examine key (is it still shift in the future?) +/datum/component/examine_balloon + /// Offset applied on the hologram + var/pixel_y_offset + /// Our x and y size is multiplied by this, for small sprites like buttons + var/size_upscaling + + /// Offset applied on the bubble + var/pixel_y_offset_arrow = 16 + /// The alpha we apply to the hologram + var/hologram_alpha = 200 + /// Add a hologram when we're in these directions + var/draw_in_dirs = NORTH | EAST | WEST + /// Balloon holo that is actually displayed to players + var/obj/effect/abstract/balloon_hologram/balloon + +/datum/component/examine_balloon/Initialize(pixel_y_offset = 28, pixel_y_offset_arrow = 16, size_upscaling = 1) + . = ..() + + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + src.pixel_y_offset = pixel_y_offset + src.size_upscaling = size_upscaling + src.pixel_y_offset_arrow = pixel_y_offset_arrow + + var/atom/movable/atom_parent = parent + balloon = new(atom_parent, atom_parent, pixel_y_offset_arrow - pixel_y_offset) + balloon.pixel_y = pixel_y_offset + balloon.transform = balloon.transform.Scale(size_upscaling, size_upscaling) + atom_parent.vis_contents += balloon + + // We use UPDATED_ICON specifically because we need to be last in the icon chain, even if UPDATE_OVERLAYS would otherwise be more apt + RegisterSignal(atom_parent, COMSIG_ATOM_UPDATED_ICON, PROC_REF(on_updated_icon)) + atom_parent.update_appearance() + +/datum/component/examine_balloon/UnregisterFromParent() + var/atom/movable/atom_parent = parent + atom_parent.vis_contents -= balloon + qdel(balloon) + +/datum/component/examine_balloon/proc/on_updated_icon(atom/movable/source, updates) + SIGNAL_HANDLER + + // Generally south facing directions are already obvious, so we dont add a hologram (south is the default exception dont shoot me) + if(!(source.dir & draw_in_dirs)) + balloon.invisibility = INVISIBILITY_MAXIMUM + return + + balloon.invisibility = INVISIBILITY_NONE + balloon.icon = source.icon + balloon.icon_state = source.icon_state + balloon.pixel_y = pixel_y_offset + + // We need to set all our overlay's planes to the wallmount balloons plane, or we get stuff like emissives sticking through the lighting plane + var/list/new_overlays = list() + for(var/mutable_appearance/immutable_appearance as anything in source.overlays) + var/mutable_appearance/actually_mutable_appearance = new(immutable_appearance) + if(PLANE_TO_TRUE(actually_mutable_appearance.plane) != FLOAT_PLANE) + continue + new_overlays += actually_mutable_appearance + + var/mutable_appearance/examine_arrow = mutable_appearance('icons/effects/effects.dmi', "examine_arrow", appearance_flags = RESET_COLOR | RESET_TRANSFORM) + examine_arrow.pixel_y = pixel_y_offset_arrow - balloon.pixel_y + new_overlays += examine_arrow + + balloon.overlays = new_overlays + balloon.alpha = hologram_alpha + +/obj/effect/abstract/balloon_hologram + plane = EXAMINE_BALLOONS_PLANE + /// Atom that we're copying + var/atom/original + /// Y offset for our arrow + var/arrow_offset + +/obj/effect/abstract/balloon_hologram/Initialize(mapload, atom/to_copy, arrow_y) + . = ..() + if (isnull(to_copy)) + return + original = to_copy + name = original.name + desc = original.desc + arrow_offset = arrow_y + update_appearance() + +/obj/effect/abstract/balloon_hologram/Destroy(force) + original = null + return ..() + +/obj/effect/abstract/balloon_hologram/Click(location, control, params) + var/list/modifiers = params2list(params) + LAZYREMOVE(modifiers, SHIFT_CLICK) + original.Click(location, control, list2params(modifiers)) diff --git a/code/datums/components/fish_growth.dm b/code/datums/components/fish_growth.dm new file mode 100644 index 0000000000000..bc7c8a9869e44 --- /dev/null +++ b/code/datums/components/fish_growth.dm @@ -0,0 +1,57 @@ +///A simple component that manages raising things from aquarium fish. +/datum/component/fish_growth + dupe_mode = COMPONENT_DUPE_SELECTIVE + ///the type of the movable that's spawned when the fish grows up. + var/result_type + ///The progress, from 0 to 100 + var/maturation + ///How much maturation is gained per tick + var/growth_rate + ///Is the result moved on the nearest drop location? + var/use_drop_loc + ///Is the parent deleted once the result is spawned? + var/del_on_grow + +/datum/component/fish_growth/Initialize(result_type, growth_rate, use_drop_loc = TRUE, del_on_grow = TRUE) + . = ..() + if(!isfish(parent)) + return COMPONENT_INCOMPATIBLE + RegisterSignal(parent, COMSIG_FISH_LIFE, PROC_REF(on_fish_life)) + src.result_type = result_type + src.growth_rate = growth_rate + src.use_drop_loc = use_drop_loc + src.del_on_grow = del_on_grow + +/datum/component/fish_growth/CheckDupeComponent(result_type, growth_rate, use_drop_loc = TRUE, del_on_grow = TRUE) + if(result_type == src.result_type) + src.growth_rate = growth_rate + return TRUE //copy the growth rate and kill the new component + return FALSE + +/datum/component/fish_growth/proc/on_fish_life(obj/item/fish/source, seconds_per_tick) + SIGNAL_HANDLER + if(SEND_SIGNAL(source, COMSIG_FISH_BEFORE_GROWING, seconds_per_tick) & COMPONENT_DONT_GROW) + return + maturation += growth_rate * seconds_per_tick + if(maturation >= 100) + finish_growing(source) + +/datum/component/fish_growth/proc/finish_growing(obj/item/fish/source) + var/atom/location = use_drop_loc ? source.drop_location() : source.loc + var/atom/movable/result = new result_type (location) + if(location != source.loc) + result.visible_message(span_boldnotice("\A [result] jumps out of [source.loc]!")) + playsound(result, 'sound/effects/fish_splash.ogg', 60) + if(isbasicmob(result)) + for(var/trait_type in source.fish_traits) + var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] + trait.apply_to_mob(result) + + addtimer(CALLBACK(result, TYPE_PROC_REF(/mob/living/basic, hop_on_nearby_turf)), 0.1 SECONDS) + + SEND_SIGNAL(source, COMSIG_FISH_FINISH_GROWING, result) + + if(del_on_grow) + qdel(parent) + else + maturation = 0 diff --git a/code/datums/components/fishing_spot.dm b/code/datums/components/fishing_spot.dm index 481f965059f52..6638c822ff6a5 100644 --- a/code/datums/components/fishing_spot.dm +++ b/code/datums/components/fishing_spot.dm @@ -17,6 +17,8 @@ RegisterSignal(parent, COMSIG_FISHING_ROD_CAST, PROC_REF(handle_cast)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examined)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examined_more)) + RegisterSignal(parent, COMSIG_NPC_FISHING, PROC_REF(return_fishing_spot)) + RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(explosive_fishing)) ADD_TRAIT(parent, TRAIT_FISHING_SPOT, REF(src)) /datum/component/fishing_spot/Destroy() @@ -95,3 +97,10 @@ var/datum/fishing_challenge/challenge = new(src, result, rod, user) fish_source.pre_challenge_started(rod, user, challenge) challenge.start(user) + +/datum/component/fishing_spot/proc/return_fishing_spot(datum/source, list/fish_spot_container) + fish_spot_container[NPC_FISHING_SPOT] = fish_source + +/datum/component/fishing_spot/proc/explosive_fishing(atom/location, severity) + SIGNAL_HANDLER + fish_source.spawn_reward_from_explosion(location, severity) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index d4b80ea1dd8ab..cff5c2fb4fe18 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -523,13 +523,13 @@ Behavior that's still missing from this component that original food items had t /datum/component/edible/proc/apply_buff(mob/eater) var/buff var/recipe_complexity = get_recipe_complexity() - if(recipe_complexity == 0) + if(recipe_complexity <= 0) return var/obj/item/food/food = parent if(!isnull(food.crafted_food_buff)) buff = food.crafted_food_buff else - buff = pick_weight(GLOB.food_buffs[recipe_complexity]) + buff = pick_weight(GLOB.food_buffs[min(recipe_complexity, FOOD_COMPLEXITY_5)]) if(!isnull(buff)) var/mob/living/living_eater = eater var/atom/owner = parent @@ -590,10 +590,13 @@ Behavior that's still missing from this component that original food items had t /// Get the complexity of the crafted food /datum/component/edible/proc/get_recipe_complexity() + var/list/extra_complexity = list(0) + SEND_SIGNAL(parent, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, extra_complexity) + var/complexity_to_add = extra_complexity[1] if(!HAS_TRAIT(parent, TRAIT_FOOD_CHEF_MADE) || !istype(parent, /obj/item/food)) - return 0 // It is factory made. Soulless. + return complexity_to_add // It is factory made. Soulless. var/obj/item/food/food = parent - return food.crafting_complexity + return food.crafting_complexity + complexity_to_add /// Get food quality adjusted according to eater's preferences /datum/component/edible/proc/get_perceived_food_quality(mob/living/carbon/human/eater) @@ -641,6 +644,7 @@ Behavior that's still missing from this component that original food items had t ///Delete the item when it is fully eaten /datum/component/edible/proc/On_Consume(mob/living/eater, mob/living/feeder) SEND_SIGNAL(parent, COMSIG_FOOD_CONSUMED, eater, feeder) + SEND_SIGNAL(eater, COMSIG_LIVING_FINISH_EAT, parent, feeder) on_consume?.Invoke(eater, feeder) if (QDELETED(parent)) // might be destroyed by the callback diff --git a/code/datums/components/glass_passer.dm b/code/datums/components/glass_passer.dm new file mode 100644 index 0000000000000..d0dd9b23685da --- /dev/null +++ b/code/datums/components/glass_passer.dm @@ -0,0 +1,50 @@ +/// Allows us to move through glass but not electrified glass. Can also do a little slowdown before passing through +/datum/component/glass_passer + /// How long does it take us to move into glass? + var/pass_time = 0 SECONDS + +/datum/component/glass_passer/Initialize(pass_time) + if(!ismob(parent)) //if its not a mob then just directly use passwindow + return COMPONENT_INCOMPATIBLE + + src.pass_time = pass_time + + if(!pass_time) + passwindow_on(parent, type) + else + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(bumped)) + + var/mob/mobbers = parent + mobbers.generic_canpass = FALSE + RegisterSignal(parent, COMSIG_MOVABLE_CROSS_OVER, PROC_REF(cross_over)) + +/datum/component/glass_passer/Destroy() + . = ..() + if(parent) + passwindow_off(parent, type) + +/datum/component/glass_passer/proc/cross_over(mob/passer, atom/crosser) + SIGNAL_HANDLER + + if(istype(crosser, /obj/structure/window_frame)) + var/obj/structure/window_frame/framefriend = crosser + if(framefriend.is_shocked()) //prevent passage of shocked + crosser.balloon_alert(passer, "is shocked!") + return COMPONENT_BLOCK_CROSS + + return null + +/datum/component/glass_passer/proc/bumped(mob/living/owner, atom/bumpee) + SIGNAL_HANDLER + + if(!istype(bumpee, /obj/structure/window)) + return + + INVOKE_ASYNC(src, PROC_REF(phase_through_glass), owner, bumpee) + +/datum/component/glass_passer/proc/phase_through_glass(mob/living/owner, atom/bumpee) + if(!do_after(owner, pass_time, bumpee)) + return + passwindow_on(owner, type) + try_move_adjacent(owner, get_dir(owner, bumpee)) + passwindow_off(owner, type) diff --git a/code/datums/components/growth_and_differentiation.dm b/code/datums/components/growth_and_differentiation.dm index bcf6722492251..182fd9b28ef48 100644 --- a/code/datums/components/growth_and_differentiation.dm +++ b/code/datums/components/growth_and_differentiation.dm @@ -11,6 +11,8 @@ var/growth_time /// Integer - Probability we grow per SPT_PROB var/growth_probability + /// Stores the growth_probability the component had when it was Initialized + var/initial_growth_probability /// Integer - The lower bound for the percentage we have to grow before we can differentiate. var/lower_growth_value /// Integer - The upper bound for the percentage we have to grow before we can differentiate. @@ -47,7 +49,7 @@ src.growth_path = growth_path src.growth_time = growth_time - src.growth_probability = growth_probability + initial_growth_probability = src.growth_probability = growth_probability src.lower_growth_value = lower_growth_value src.upper_growth_value = upper_growth_value src.optional_checks = optional_checks @@ -56,10 +58,9 @@ if(islist(signals_to_kill_on)) src.signals_to_kill_on = signals_to_kill_on RegisterSignals(parent, src.signals_to_kill_on, PROC_REF(stop_component_processing_entirely)) - + if(scale_with_happiness) - if(!HAS_TRAIT(parent, TRAIT_MOB_RELAY_HAPPINESS)) - AddComponent(/datum/component/happiness) + parent.AddComponent(/datum/component/happiness) RegisterSignal(parent, COMSIG_MOB_HAPPINESS_CHANGE, PROC_REF(on_happiness_change)) // If we haven't started the round, we can't do timer stuff. Let's wait in case we're mapped in or something. @@ -117,13 +118,16 @@ return if(SPT_PROB(growth_probability, seconds_per_tick)) - percent_grown += rand(lower_growth_value, upper_growth_value) + if(lower_growth_value == upper_growth_value) + percent_grown += upper_growth_value + else + percent_grown += rand(lower_growth_value, upper_growth_value) /datum/component/growth_and_differentiation/proc/on_happiness_change(datum/source, happiness_percentage) SIGNAL_HANDLER - var/probability_to_add = initial(growth_probability) * happiness_percentage - growth_probability = min(initial(growth_probability) + probability_to_add, 100) + var/probability_to_add = initial_growth_probability * happiness_percentage + growth_probability = min(initial_growth_probability + probability_to_add, 100) /// Grows the mob into its new form. /datum/component/growth_and_differentiation/proc/grow(silent) diff --git a/code/datums/components/gunpoint.dm b/code/datums/components/gunpoint.dm index ed4142f41ceba..edde591c0c386 100644 --- a/code/datums/components/gunpoint.dm +++ b/code/datums/components/gunpoint.dm @@ -48,7 +48,7 @@ RegisterSignals(targ, list(COMSIG_LIVING_DISARM_HIT, COMSIG_LIVING_GET_PULLED), PROC_REF(cancel)) RegisterSignals(weapon, list(COMSIG_ITEM_DROPPED, COMSIG_ITEM_EQUIPPED), PROC_REF(cancel)) - var/distance = min(get_dist(shooter, target), 1) // treat 0 distance as adjacent + var/distance = max(get_dist(shooter, target), 1) // treat 0 distance as adjacent var/distance_description = (distance <= 1 ? "point blank " : "") shooter.visible_message(span_danger("[shooter] aims [weapon] [distance_description]at [target]!"), diff --git a/code/datums/components/happiness.dm b/code/datums/components/happiness.dm index 0a6274611923b..a131e86960eb3 100644 --- a/code/datums/components/happiness.dm +++ b/code/datums/components/happiness.dm @@ -6,6 +6,7 @@ * A component that allows mobs to have happiness levels */ /datum/component/happiness + dupe_mode = COMPONENT_DUPE_UNIQUE //Prioritize the old comp over, which may have callbacks and stuff specific to the mob. ///our current happiness level var/happiness_level ///our maximum happiness level @@ -53,11 +54,9 @@ if(on_eat_change) RegisterSignal(parent, COMSIG_MOB_ATE, PROC_REF(on_eat)) RegisterSignal(parent, COMSIG_SHIFT_CLICKED_ON, PROC_REF(view_happiness)) - ADD_TRAIT(parent, TRAIT_MOB_RELAY_HAPPINESS, REF(src)) /datum/component/happiness/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_HOSTILE_PRE_ATTACKINGTARGET, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_ATE)) - REMOVE_TRAIT(parent, TRAIT_MOB_RELAY_HAPPINESS, REF(src)) happiness_callback = null /datum/component/happiness/proc/on_eat(datum/source) @@ -69,6 +68,11 @@ SIGNAL_HANDLER if(!COOLDOWN_FINISHED(src, groom_cooldown)) return + + var/mob/living/living_parent = parent + if (living_parent.stat != CONSCIOUS) + return + COOLDOWN_START(src, groom_cooldown, GROOM_COOLDOWN) increase_happiness_level(on_groom_change) @@ -76,15 +80,12 @@ SIGNAL_HANDLER if(!LAZYACCESS(modifiers, LEFT_CLICK) || petter.combat_mode) return - pet_animal() -/datum/component/happiness/proc/on_animal_petted(datum/source, mob/living/petter) - SIGNAL_HANDLER - - if(petter.combat_mode) + var/mob/living/living_parent = parent + if (living_parent.stat != CONSCIOUS) return + pet_animal() - return COMSIG_BASIC_ATTACK_CANCEL_CHAIN /datum/component/happiness/proc/pet_animal() if(!COOLDOWN_FINISHED(src, pet_cooldown)) @@ -95,13 +96,14 @@ /datum/component/happiness/proc/increase_happiness_level(amount) happiness_level = min(happiness_level + amount, maximum_happiness) - var/mob/living/living_parent = parent - new /obj/effect/temp_visual/heart(living_parent.loc) - living_parent.spin(spintime = 2 SECONDS, speed = 1) + if(!HAS_TRAIT(parent, TRAIT_MOB_HIDE_HAPPINESS)) + var/mob/living/living_parent = parent + new /obj/effect/temp_visual/heart(living_parent.loc) + living_parent.spin(spintime = 2 SECONDS, speed = 1) START_PROCESSING(SSprocessing, src) /datum/component/happiness/proc/view_happiness(mob/living/source, mob/living/clicker) - if(!istype(clicker) || !COOLDOWN_FINISHED(src, happiness_inspect) || !clicker.CanReach(source)) + if(HAS_TRAIT(source, TRAIT_MOB_HIDE_HAPPINESS) || !istype(clicker) || !COOLDOWN_FINISHED(src, happiness_inspect) || !clicker.CanReach(source)) return var/list/offset_to_add = get_icon_dimensions(source.icon) var/y_position = offset_to_add["height"] + 1 diff --git a/code/datums/components/heart_eater.dm b/code/datums/components/heart_eater.dm new file mode 100644 index 0000000000000..507090b9452b0 --- /dev/null +++ b/code/datums/components/heart_eater.dm @@ -0,0 +1,121 @@ +/datum/component/heart_eater + /// Check if we fully ate whole heart and reset when we start eat new one. + var/bites_taken = 0 + /// Remember the number of species damage_modifier. + var/remember_modifier = 0 + /// Remember last heart we ate and reset bites_taken counter if we start eat new one + var/datum/weakref/last_heart_we_ate + /// List of all mutations allowed to get. + var/static/list/datum/mutation/human/mutations_list = list( + /datum/mutation/human/adaptation/cold, + /datum/mutation/human/adaptation/heat, + /datum/mutation/human/adaptation/pressure, + /datum/mutation/human/adaptation/thermal, + /datum/mutation/human/chameleon, + /datum/mutation/human/cryokinesis, + /datum/mutation/human/cryokinesis/pyrokinesis, + /datum/mutation/human/dwarfism, + /datum/mutation/human/geladikinesis/ash, + /datum/mutation/human/insulated, + /datum/mutation/human/telekinesis, + /datum/mutation/human/telepathy, + /datum/mutation/human/thermal, + /datum/mutation/human/tongue_spike, + /datum/mutation/human/webbing, + /datum/mutation/human/xray, + ) + +/datum/component/heart_eater/Initialize(...) + . = ..() + if(!ishuman(parent)) + return COMPONENT_INCOMPATIBLE + prepare_species(parent) + +/datum/component/heart_eater/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_SPECIES_GAIN, PROC_REF(on_species_change)) + RegisterSignal(parent, COMSIG_LIVING_FINISH_EAT, PROC_REF(eat_eat_eat)) + +/datum/component/heart_eater/UnregisterFromParent() + . = ..() + UnregisterSignal(parent, COMSIG_LIVING_FINISH_EAT) + UnregisterSignal(parent, COMSIG_SPECIES_GAIN) + +/datum/component/heart_eater/proc/prepare_species(mob/living/carbon/human/eater) + if(eater.get_liked_foodtypes() & GORE) + return + var/obj/item/organ/internal/tongue/eater_tongue = eater.get_organ_slot(ORGAN_SLOT_TONGUE) + if(!eater_tongue) + return + eater_tongue.disliked_foodtypes &= ~GORE + eater_tongue.liked_foodtypes |= GORE + +/datum/component/heart_eater/proc/on_species_change(mob/living/carbon/human/eater, datum/species/new_species, datum/species/old_species) + SIGNAL_HANDLER + + eater.dna?.species?.damage_modifier += remember_modifier + prepare_species(eater) + +/// Proc called when we finish eat somthing. +/datum/component/heart_eater/proc/eat_eat_eat(mob/living/carbon/human/eater, datum/what_we_ate) + SIGNAL_HANDLER + + if(get_area(eater) == GLOB.areas_by_type[/area/centcom/wizard_station]) + return + if(!istype(what_we_ate, /obj/item/organ/internal/heart)) + return + var/obj/item/organ/internal/heart/we_ate_heart = what_we_ate + var/obj/item/organ/internal/heart/previous_heart = last_heart_we_ate?.resolve() + if(we_ate_heart == previous_heart) + return + if (!HAS_TRAIT(we_ate_heart, TRAIT_USED_ORGAN)) + to_chat(eater, span_warning("This heart is utterly lifeless, you won't receive any boons from consuming it!")) + return + bites_taken = 0 + + last_heart_we_ate = WEAKREF(we_ate_heart) + bites_taken++ + if(bites_taken < (we_ate_heart.reagents.total_volume/2)) + return + if(prob(50)) + perfect_heart(eater) + return + not_perfect_heart(eater) + +///Perfect heart give our +10 damage modifier(Max. 80). +/datum/component/heart_eater/proc/perfect_heart(mob/living/carbon/human/eater) + if(eater.dna?.species?.damage_modifier >= 80) + healing_heart(eater) + return + eater.dna?.species?.damage_modifier += 10 + remember_modifier += 10 + healing_heart(eater) + to_chat(eater, span_warning("This heart is perfect. You feel a surge of vital energy.")) + +///Not Perfect heart give random mutation. +/datum/component/heart_eater/proc/not_perfect_heart(mob/living/carbon/human/eater) + var/datum/mutation/human/new_mutation + var/list/datum/mutation/human/shuffle_mutation_list = shuffle(mutations_list) + for(var/mutation_in_list in shuffle_mutation_list) + if(is_type_in_list(mutation_in_list, eater.dna.mutations)) + continue + new_mutation = mutation_in_list + break + if(isnull(new_mutation)) + healing_heart(eater) + return + eater.dna.add_mutation(new_mutation) + healing_heart(eater) + to_chat(eater, span_warning("This heart is not right for you. You now have [new_mutation.name] mutation.")) + +///Heart eater give also strong healing from hearts. +/datum/component/heart_eater/proc/healing_heart(mob/living/carbon/human/eater) + for(var/heal_organ in eater.organs) + eater.adjustOrganLoss(heal_organ, -50) + for(var/datum/wound/heal_wound in eater.all_wounds) + heal_wound.remove_wound() + eater.adjustBruteLoss(-50) + eater.adjustFireLoss(-50) + eater.adjustToxLoss(-50) + eater.adjustOxyLoss(-50) + eater.adjustStaminaLoss(-50) diff --git a/code/datums/components/hide_weather_planes.dm b/code/datums/components/hide_weather_planes.dm new file mode 100644 index 0000000000000..0540fc34288e6 --- /dev/null +++ b/code/datums/components/hide_weather_planes.dm @@ -0,0 +1,113 @@ +/// Component that manages a list of plane masters that are dependent on weather +/// Force hides/shows them depending on the weather activity of their z stack +/// Applied to the plane master group that owns them +/datum/component/hide_weather_planes + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + var/list/datum/weather/active_weather = list() + var/list/atom/movable/screen/plane_master/plane_masters = list() + +/datum/component/hide_weather_planes/Initialize(atom/movable/screen/plane_master/care_about) + if(!istype(parent, /datum/plane_master_group)) + return COMPONENT_INCOMPATIBLE + var/datum/plane_master_group/home = parent + plane_masters += care_about + RegisterSignal(care_about, COMSIG_QDELETING, PROC_REF(plane_master_deleted)) + + var/list/starting_signals = list() + var/list/ending_signals = list() + for(var/datum/weather/weather_type as anything in typesof(/datum/weather)) + starting_signals += COMSIG_WEATHER_TELEGRAPH(weather_type) + ending_signals += COMSIG_WEATHER_END(weather_type) + + RegisterSignals(SSdcs, starting_signals, PROC_REF(weather_started)) + RegisterSignals(SSdcs, ending_signals, PROC_REF(weather_finished)) + + if(home.our_hud) + attach_hud(home.our_hud) + else + RegisterSignal(home, COMSIG_GROUP_HUD_CHANGED, PROC_REF(new_hud_attached)) + +/datum/component/hide_weather_planes/Destroy(force) + hide_planes() + active_weather = null + plane_masters = null + return ..() + +/datum/component/hide_weather_planes/InheritComponent(datum/component/new_comp, i_am_original, atom/movable/screen/plane_master/care_about) + if(!i_am_original) + return + var/datum/plane_master_group/home = parent + var/mob/our_lad = home.our_hud?.mymob + plane_masters += care_about + RegisterSignal(care_about, COMSIG_QDELETING, PROC_REF(plane_master_deleted)) + if(length(active_weather)) + care_about.unhide_plane(our_lad) + else + care_about.hide_plane(our_lad) + +/datum/component/hide_weather_planes/proc/new_hud_attached(datum/source, datum/hud/new_hud) + SIGNAL_HANDLER + attach_hud(new_hud) + +/datum/component/hide_weather_planes/proc/attach_hud(datum/hud/new_hud) + RegisterSignal(new_hud, COMSIG_HUD_Z_CHANGED, PROC_REF(z_changed)) + var/mob/eye = new_hud?.mymob?.client?.eye + var/turf/eye_location = get_turf(eye) + z_changed(new_hud, eye_location?.z) + +/datum/component/hide_weather_planes/proc/plane_master_deleted(atom/movable/screen/plane_master/source) + SIGNAL_HANDLER + plane_masters -= source + +/datum/component/hide_weather_planes/proc/display_planes() + var/datum/plane_master_group/home = parent + var/mob/our_lad = home.our_hud?.mymob + for(var/atom/movable/screen/plane_master/weather_concious as anything in plane_masters) + if(weather_concious.force_hidden) + weather_concious.unhide_plane(our_lad) + +/datum/component/hide_weather_planes/proc/hide_planes() + var/datum/plane_master_group/home = parent + var/mob/our_lad = home.our_hud?.mymob + for(var/atom/movable/screen/plane_master/weather_concious as anything in plane_masters) + if(!weather_concious.force_hidden) + weather_concious.hide_plane(our_lad) + +/datum/component/hide_weather_planes/proc/z_changed(datum/source, new_z) + SIGNAL_HANDLER + active_weather = list() + if(!SSmapping.initialized) + return + var/list/connected_levels = SSmapping.get_connected_levels(new_z) + for(var/datum/weather/active as anything in SSweather.processing) + if(length(connected_levels & active.impacted_z_levels)) + active_weather += WEAKREF(active) + + if(length(active_weather)) + display_planes() + else + hide_planes() + +/datum/component/hide_weather_planes/proc/weather_started(datum/source, datum/weather/starting) + SIGNAL_HANDLER + var/datum/plane_master_group/home = parent + var/mob/eye = home.our_hud?.mymob?.client?.eye + var/turf/viewing_from = get_turf(eye) + if(!viewing_from) + return + + var/list/connected_levels = SSmapping.get_connected_levels(viewing_from) + if(length(connected_levels & starting.impacted_z_levels)) + active_weather += WEAKREF(starting) + + if(!length(active_weather)) + return + display_planes() + +/datum/component/hide_weather_planes/proc/weather_finished(datum/source, datum/weather/stopping) + SIGNAL_HANDLER + active_weather -= WEAKREF(stopping) + + if(length(active_weather)) + return + hide_planes() diff --git a/code/datums/components/leanable.dm b/code/datums/components/leanable.dm new file mode 100644 index 0000000000000..24dbcc601aeaa --- /dev/null +++ b/code/datums/components/leanable.dm @@ -0,0 +1,111 @@ +/// Things with this component can be leaned onto, optionally exclusive to RMB dragging +/datum/component/leanable + /// How much will mobs that lean onto this object be offset + var/leaning_offset = 11 + /// List of click modifiers that are required to be present for leaning to trigger + var/list/click_mods = null + /// Callback called for additional checks if a lean is valid + var/datum/callback/lean_check = null + /// Whenever this object can be leaned on from the same turf as its' own. Do not use without a custom lean_check! + var/same_turf = FALSE + /// List of mobs currently leaning on our parent + var/list/leaning_mobs = list() + +/datum/component/leanable/Initialize(leaning_offset = 11, list/click_mods = null, datum/callback/lean_check = null, same_turf = FALSE) + . = ..() + src.leaning_offset = leaning_offset + src.click_mods = click_mods + src.lean_check = lean_check + src.same_turf = same_turf + +/datum/component/leanable/RegisterWithParent() + RegisterSignal(parent, COMSIG_MOUSEDROPPED_ONTO, PROC_REF(mousedrop_receive)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + +/datum/component/leanable/Destroy(force) + for (var/mob/living/leaner as anything in leaning_mobs) + leaner.stop_leaning() + leaning_mobs = null + return ..() + +/datum/component/leanable/proc/on_moved(datum/source) + SIGNAL_HANDLER + for (var/mob/living/leaner as anything in leaning_mobs) + leaner.stop_leaning() + +/datum/component/leanable/proc/mousedrop_receive(atom/source, atom/movable/dropped, mob/user, params) + if (dropped != user) + return + if (islist(click_mods)) + var/list/modifiers = params2list(params) + for (var/modifier in click_mods) + if (!LAZYACCESS(modifiers, modifier)) + return + if (!iscarbon(dropped) && !iscyborg(dropped)) + return + var/mob/living/leaner = dropped + if (leaner.incapacitated(IGNORE_RESTRAINTS) || leaner.stat != CONSCIOUS || HAS_TRAIT(leaner, TRAIT_NO_TRANSFORM)) + return + if (HAS_TRAIT_FROM(leaner, TRAIT_UNDENSE, LEANING_TRAIT)) + return + var/turf/checked_turf = get_step(leaner, REVERSE_DIR(leaner.dir)) + if (checked_turf != get_turf(source) && (!same_turf || get_turf(source) != get_turf(leaner))) + return + if (!isnull(lean_check) && !lean_check.Invoke(dropped, params)) + return + leaner.start_leaning(source, leaning_offset) + leaning_mobs += leaner + RegisterSignals(leaner, list(COMSIG_LIVING_STOPPED_LEANING, COMSIG_QDELETING), PROC_REF(stopped_leaning)) + return COMPONENT_CANCEL_MOUSEDROPPED_ONTO + +/datum/component/leanable/proc/stopped_leaning(datum/source) + SIGNAL_HANDLER + leaning_mobs -= source + UnregisterSignal(source, list(COMSIG_LIVING_STOPPED_LEANING, COMSIG_QDELETING)) + +/mob/living/proc/start_leaning(atom/lean_target, leaning_offset) + var/new_y = base_pixel_y + pixel_y + var/new_x = base_pixel_x + pixel_x + switch(dir) + if(SOUTH) + new_y += leaning_offset + if(NORTH) + new_y -= leaning_offset + if(WEST) + new_x += leaning_offset + if(EAST) + new_x -= leaning_offset + + animate(src, 0.2 SECONDS, pixel_x = new_x, pixel_y = new_y) + add_traits(list(TRAIT_UNDENSE, TRAIT_EXPANDED_FOV), LEANING_TRAIT) + visible_message( + span_notice("[src] leans against [lean_target]."), + span_notice("You lean against [lean_target]."), + ) + RegisterSignals(src, list( + COMSIG_MOB_CLIENT_PRE_MOVE, + COMSIG_LIVING_DISARM_HIT, + COMSIG_LIVING_GET_PULLED, + COMSIG_MOVABLE_TELEPORTING, + ), PROC_REF(stop_leaning)) + RegisterSignal(src, COMSIG_ATOM_POST_DIR_CHANGE, PROC_REF(lean_dir_changed)) + update_fov() + +/mob/living/proc/stop_leaning() + SIGNAL_HANDLER + UnregisterSignal(src, list( + COMSIG_MOB_CLIENT_PRE_MOVE, + COMSIG_LIVING_DISARM_HIT, + COMSIG_LIVING_GET_PULLED, + COMSIG_MOVABLE_TELEPORTING, + COMSIG_ATOM_POST_DIR_CHANGE, + )) + animate(src, 0.2 SECONDS, pixel_x = base_pixel_x, pixel_y = base_pixel_y) + remove_traits(list(TRAIT_UNDENSE, TRAIT_EXPANDED_FOV), LEANING_TRAIT) + SEND_SIGNAL(src, COMSIG_LIVING_STOPPED_LEANING) + update_fov() + +/mob/living/proc/lean_dir_changed(atom/source, old_dir, new_dir) + SIGNAL_HANDLER + if (old_dir != new_dir) + INVOKE_ASYNC(src, PROC_REF(stop_leaning)) diff --git a/code/datums/components/material/material_container.dm b/code/datums/components/material/material_container.dm index 6ee50f5d78c94..7b3753cc71d76 100644 --- a/code/datums/components/material/material_container.dm +++ b/code/datums/components/material/material_container.dm @@ -259,7 +259,7 @@ * * user - the mob inserting this item * * context - the atom performing the operation, this is the last argument sent in COMSIG_MATCONTAINER_ITEM_CONSUMED and is used mostly for silo logging */ -/datum/component/material_container/proc/user_insert(obj/item/held_item, mob/living/user, atom/context = parent) +/datum/component/material_container/proc/user_insert(obj/item/held_item, mob/living/user, atom/context = parent, forced_type = FALSE) set waitfor = FALSE . = 0 @@ -297,7 +297,7 @@ if(SEND_SIGNAL(src, COMSIG_MATCONTAINER_PRE_USER_INSERT, target_item, user) & MATCONTAINER_BLOCK_INSERT) continue //item is either indestructible, not allowed for redemption or not in the allowed types - if((target_item.resistance_flags & INDESTRUCTIBLE) || (target_item.item_flags & NO_MAT_REDEMPTION) || (allowed_item_typecache && !is_type_in_typecache(target_item, allowed_item_typecache))) + if((target_item.resistance_flags & INDESTRUCTIBLE) || (target_item.item_flags & NO_MAT_REDEMPTION) || (allowed_item_typecache && !is_type_in_typecache(target_item, allowed_item_typecache) && !forced_type)) if(!(mat_container_flags & MATCONTAINER_SILENT)) var/list/status_data = chat_msgs["[MATERIAL_INSERT_ITEM_FAILURE]"] || list() var/list/item_data = status_data[target_item.name] || list() @@ -455,9 +455,9 @@ if(MATERIAL_INSERT_ITEM_SUCCESS) //no problems full item was consumed if(chat_data["stack"]) var/sheets = min(count, amount) //minimum between sheets inserted vs sheets consumed(values differ for alloys) - to_chat(user, span_notice("[sheets > 1 ? sheets : ""] [item_name][sheets > 1 ? "s were" : " was"] added to [parent].")) + to_chat(user, span_notice("[sheets > 1 ? "[sheets] " : ""][item_name][sheets > 1 ? "s were" : " was"] added to [parent].")) else - to_chat(user, span_notice("[count > 1 ? count : ""] [item_name][count > 1 ? "s" : ""], worth [amount] sheets, [count > 1 ? "were" : "was"] added to [parent].")) + to_chat(user, span_notice("[count > 1 ? "[count] " : ""][item_name][count > 1 ? "s" : ""], worth [amount] sheets, [count > 1 ? "were" : "was"] added to [parent].")) if(MATERIAL_INSERT_ITEM_NO_SPACE) //no space to_chat(user, span_warning("[parent] has no space to accept [item_name]!")) if(MATERIAL_INSERT_ITEM_NO_MATS) //no materials inside these items diff --git a/code/datums/components/material/remote_materials.dm b/code/datums/components/material/remote_materials.dm index d630ce8e77f9b..8ae52069c1bcb 100644 --- a/code/datums/components/material/remote_materials.dm +++ b/code/datums/components/material/remote_materials.dm @@ -23,13 +23,16 @@ handles linking back and forth. var/mat_container_flags = NONE ///List of signals to hook onto the local container var/list/mat_container_signals + ///Typecache for items that the silo will accept through this remote no matter what + var/list/whitelist_typecache /datum/component/remote_materials/Initialize( mapload, allow_standalone = TRUE, force_connect = FALSE, mat_container_flags = NONE, - list/mat_container_signals = null + list/mat_container_signals = null, + list/whitelist_typecache = null ) if (!isatom(parent)) return COMPONENT_INCOMPATIBLE @@ -37,6 +40,7 @@ handles linking back and forth. src.allow_standalone = allow_standalone src.mat_container_flags = mat_container_flags src.mat_container_signals = mat_container_signals + src.whitelist_typecache = whitelist_typecache RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(OnMultitool)) @@ -93,6 +97,9 @@ handles linking back and forth. allowed_items = /obj/item/stack \ ) + if (whitelist_typecache) + mat_container.allowed_item_typecache |= whitelist_typecache + /datum/component/remote_materials/proc/toggle_holding(force_hold = FALSE) if(isnull(silo)) return @@ -140,7 +147,7 @@ handles linking back and forth. return if(silo) - mat_container.user_insert(target, user, parent) + mat_container.user_insert(target, user, parent, (whitelist_typecache && is_type_in_typecache(target, whitelist_typecache))) return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/components/mind_linker.dm b/code/datums/components/mind_linker.dm index ba3f0a6841bee..4449a8fe36e8e 100644 --- a/code/datums/components/mind_linker.dm +++ b/code/datums/components/mind_linker.dm @@ -184,7 +184,7 @@ return ..() /datum/component/mind_linker/active_linking/link_mob(mob/living/to_link) - if(HAS_TRAIT(to_link, TRAIT_MINDSHIELD)) // Mindshield implant - no dice + if(HAS_MIND_TRAIT(to_link, TRAIT_UNCONVERTABLE)) // Protected mind, so they can't be added to the mindlink return FALSE if(to_link.can_block_magic(MAGIC_RESISTANCE_MIND, charge_cost = 0)) return FALSE diff --git a/code/datums/components/mob_chain.dm b/code/datums/components/mob_chain.dm index a258fe3f5be60..e2f90eed16ee8 100644 --- a/code/datums/components/mob_chain.dm +++ b/code/datums/components/mob_chain.dm @@ -88,7 +88,7 @@ var/mob/living/body = parent body.update_appearance(UPDATE_ICON_STATE) -/// Called when something sets us as IT'S front +/// Called when something sets us as ITS front /datum/component/mob_chain/proc/on_gained_tail(mob/living/body, mob/living/tail) SIGNAL_HANDLER back = tail diff --git a/code/datums/components/object_possession.dm b/code/datums/components/object_possession.dm index c62f0905068b1..2a423e0016c79 100644 --- a/code/datums/components/object_possession.dm +++ b/code/datums/components/object_possession.dm @@ -8,7 +8,7 @@ /** * back up of the real name during user possession * - * When a user possesses an object it's real name is set to the user name and this + * When a user possesses an object its real name is set to the user name and this * stores whatever the real name was previously. When possession ends, the real name * is reset to this value */ diff --git a/code/datums/components/on_hit_effect.dm b/code/datums/components/on_hit_effect.dm deleted file mode 100644 index 9d1d047429069..0000000000000 --- a/code/datums/components/on_hit_effect.dm +++ /dev/null @@ -1,93 +0,0 @@ -/** - * ## On Hit Effect Component! - * - * Component for other elements/components to rely on for on-hit effects without duplicating the on-hit code. - * See Lifesteal, or bane for examples. - * - * THIS COULD EASILY SUPPORT COMPONENT_DUPE_ALLOWED but the getcomponent makes it throw errors. if you can figure that out feel free to readd the dupe types - */ -/datum/component/on_hit_effect - ///callback used by other components to apply effects - var/datum/callback/on_hit_callback - ///callback optionally used for more checks - var/datum/callback/extra_check_callback - ///optionally should we also apply the effect if thrown at something? - var/thrown_effect - -/datum/component/on_hit_effect/Initialize(on_hit_callback, extra_check_callback, thrown_effect = FALSE) - src.on_hit_callback = on_hit_callback - src.extra_check_callback = extra_check_callback - if(!(ismachinery(parent) || isstructure(parent) || isgun(parent) || isprojectilespell(parent) || isitem(parent) || isanimal_or_basicmob(parent) || isprojectile(parent))) - return ELEMENT_INCOMPATIBLE - src.thrown_effect = thrown_effect - -/datum/component/on_hit_effect/Destroy(force) - on_hit_callback = null - extra_check_callback = null - return ..() - -/datum/component/on_hit_effect/RegisterWithParent() - if(ismachinery(parent) || isstructure(parent) || isgun(parent) || isprojectilespell(parent)) - RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, PROC_REF(on_projectile_hit)) - else if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) - else if(isanimal_or_basicmob(parent)) - RegisterSignal(parent, COMSIG_HOSTILE_POST_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) - else if(isprojectile(parent)) - RegisterSignal(parent, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(on_projectile_self_hit)) - - if(thrown_effect) - RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(on_thrown_hit)) - -/datum/component/on_hit_effect/UnregisterFromParent() - UnregisterSignal(parent, list( - COMSIG_PROJECTILE_ON_HIT, - COMSIG_ITEM_AFTERATTACK, - COMSIG_HOSTILE_POST_ATTACKINGTARGET, - COMSIG_PROJECTILE_SELF_ON_HIT, - COMSIG_MOVABLE_IMPACT, - )) - -/datum/component/on_hit_effect/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) - SIGNAL_HANDLER - - if(!proximity_flag) - return - - if(extra_check_callback) - if(!extra_check_callback.Invoke(user, target, source)) - return - on_hit_callback.Invoke(source, user, target, user.zone_selected) - -/datum/component/on_hit_effect/proc/hostile_attackingtarget(mob/living/attacker, atom/target, success) - SIGNAL_HANDLER - - if(!success) - return - - if(extra_check_callback) - if(!extra_check_callback.Invoke(attacker, target)) - return - on_hit_callback.Invoke(attacker, attacker, target, attacker.zone_selected) - -/datum/component/on_hit_effect/proc/on_projectile_hit(datum/fired_from, atom/movable/firer, atom/target, angle, body_zone) - SIGNAL_HANDLER - - if(extra_check_callback) - if(!extra_check_callback.Invoke(firer, target)) - return - on_hit_callback.Invoke(fired_from, firer, target, body_zone) - -/datum/component/on_hit_effect/proc/on_projectile_self_hit(datum/source, mob/firer, atom/target, angle, body_zone) - SIGNAL_HANDLER - - if(extra_check_callback) - if(!extra_check_callback.Invoke(firer, target)) - return - on_hit_callback.Invoke(source, firer, target, body_zone) - -/datum/component/on_hit_effect/proc/on_thrown_hit(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) - SIGNAL_HANDLER - if(extra_check_callback && !extra_check_callback.Invoke(source, hit_atom)) - return - on_hit_callback.Invoke(source, source, hit_atom, null) diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 71f391e599ad8..7ecdf9af50dfe 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -74,6 +74,7 @@ RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, PROC_REF(orbiter_move_react)) SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_BEGIN, orbiter) + SEND_SIGNAL(orbiter, COMSIG_ATOM_BEGAN_ORBITING, parent) var/matrix/initial_transform = matrix(orbiter.transform) orbiter_list[orbiter] = initial_transform @@ -108,7 +109,8 @@ return UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED) SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_STOP, orbiter) - orbiter.SpinAnimation(0, 0) + SEND_SIGNAL(orbiter, COMSIG_ATOM_STOPPED_ORBITING, parent) + orbiter.SpinAnimation(0, 0, parallel = FALSE) if(istype(orbiter_list[orbiter],/matrix)) //This is ugly. orbiter.transform = orbiter_list[orbiter] orbiter_list -= orbiter diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm index 19c7528db8bf3..258b8f87972e0 100644 --- a/code/datums/components/overlay_lighting.dm +++ b/code/datums/components/overlay_lighting.dm @@ -62,7 +62,7 @@ var/directional = FALSE ///Whether we're a beam light var/beam = FALSE - ///A cone overlay for directional light, it's alpha and color are dependant on the light + ///A cone overlay for directional light, its alpha and color are dependant on the light var/image/cone ///Current tracked direction for the directional cast behaviour var/current_direction diff --git a/code/datums/components/parry.dm b/code/datums/components/parry.dm index fedfcb77d15ea..a2cfe789cba4f 100644 --- a/code/datums/components/parry.dm +++ b/code/datums/components/parry.dm @@ -1,38 +1,121 @@ -/// Add to a living mob to allow them to "parry" projectiles by clicking on their tile, sending them back at the firer. -/datum/component/projectile_parry - /// typecache of valid projectiles to be able to parry - var/list/parryable_projectiles +/// Add to a projectile to allow it to be parried by mobs with a certain trait (TRAIT_MINING_PARRYING by default) +/datum/component/parriable_projectile + /// List of all turfs the projectile passed on its last loop and we assigned comsigs to + var/list/turf/parry_turfs = list() + /// List of all mobs who have clicked on a parry turf in last moveloop + var/list/mob/parriers = list() + /// When the projectile was created + var/fire_time = 0 + /// If this projectile has been parried + var/parried = FALSE + /// How much this projectile is sped up when parried + var/parry_speed_mult + /// How much this projectile's damage is increased when parried + var/parry_damage_mult + /// How much this projectile is sped up when boosted (parried by owner) + var/boost_speed_mult + /// How much this projectile's damage is increased when boosted (parried by owner) + var/boost_damage_mult + /// Trait required to be able to parry this projectile + var/parry_trait + /// For how long do valid tiles persist? Acts as clientside lag compensation + var/grace_period + /// Callback for special effects upon parrying + var/datum/callback/parry_callback - -/datum/component/projectile_parry/Initialize(list/projectiles_to_parry) - if(!isliving(parent)) +/datum/component/parriable_projectile/Initialize(parry_speed_mult = 0.8, parry_damage_mult = 1.15, boost_speed_mult = 0.6, boost_damage_mult = 1.5, parry_trait = TRAIT_MINING_PARRYING, grace_period = 0.25 SECONDS, datum/callback/parry_callback = null) + if(!isprojectile(parent)) return COMPONENT_INCOMPATIBLE + src.parry_speed_mult = parry_speed_mult + src.parry_damage_mult = parry_damage_mult + src.boost_speed_mult = boost_speed_mult + src.boost_damage_mult = boost_damage_mult + src.parry_trait = parry_trait + src.grace_period = grace_period + src.parry_callback = parry_callback + fire_time = world.time + +/datum/component/parriable_projectile/Destroy(force) + for (var/turf/parry_turf as anything in parry_turfs) + UnregisterSignal(parry_turf, COMSIG_CLICK) + . = ..() - parryable_projectiles = typecacheof(projectiles_to_parry) +/datum/component/parriable_projectile/RegisterWithParent() + RegisterSignal(parent, COMSIG_PROJECTILE_PIXEL_STEP, PROC_REF(on_moved)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(before_move)) + RegisterSignal(parent, COMSIG_PROJECTILE_BEFORE_MOVE, PROC_REF(before_move)) + RegisterSignal(parent, COMSIG_PROJECTILE_SELF_PREHIT, PROC_REF(before_hit)) +/datum/component/parriable_projectile/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_PROJECTILE_PIXEL_STEP, COMSIG_MOVABLE_MOVED, COMSIG_PROJECTILE_BEFORE_MOVE, COMSIG_PROJECTILE_SELF_PREHIT)) -/datum/component/projectile_parry/RegisterWithParent() - RegisterSignal(parent, COMSIG_LIVING_PROJECTILE_PARRYING, PROC_REF(parrying_projectile)) - RegisterSignal(parent, COMSIG_LIVING_PROJECTILE_PARRIED, PROC_REF(parried_projectile)) +/datum/component/parriable_projectile/proc/before_move(obj/projectile/source) + SIGNAL_HANDLER + var/list/turfs_to_remove = list() + for (var/turf/parry_turf as anything in parry_turfs) + if (parry_turfs[parry_turf] < world.time) + turfs_to_remove += parry_turf -/datum/component/projectile_parry/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_LIVING_PROJECTILE_PARRYING, COMSIG_LIVING_PROJECTILE_PARRIED)) + for (var/turf/parry_turf as anything in turfs_to_remove) + parry_turfs -= parry_turf + UnregisterSignal(parry_turf, COMSIG_CLICK) + var/list/parriers_to_remove = list() + for (var/mob/parrier as anything in parriers) + if (parriers[parrier] < world.time) + parriers_to_remove += parrier -/datum/component/projectile_parry/proc/parrying_projectile(datum/source, obj/projectile/parried_projectile) - SIGNAL_HANDLER + for (var/mob/parrier as anything in parriers_to_remove) + parriers_to_remove -= parrier - if(is_type_in_typecache(parried_projectile, parryable_projectiles)) - return ALLOW_PARRY +/datum/component/parriable_projectile/proc/on_moved(obj/projectile/source) + SIGNAL_HANDLER + if (!isturf(source.loc)) + return + parry_turfs[source.loc] = world.time + grace_period + RegisterSignal(source.loc, COMSIG_CLICK, PROC_REF(on_turf_click)) +/datum/component/parriable_projectile/proc/on_turf_click(turf/source, atom/location, control, list/params, mob/user) + SIGNAL_HANDLER + if (!HAS_TRAIT(user, parry_trait)) + return + var/obj/projectile/proj_parent = parent + if (proj_parent.firer == user && (fire_time + grace_period > world.time) && !parried) + attempt_parry(proj_parent, user) + return + parriers[user] = world.time + grace_period -/datum/component/projectile_parry/proc/parried_projectile(datum/source, obj/projectile/parried_projectile) +/datum/component/parriable_projectile/proc/before_hit(obj/projectile/source, list/bullet_args) SIGNAL_HANDLER - var/mob/living/living_parent = parent + var/mob/user = bullet_args[2] + if (!istype(user) || !parriers[user] || parried) + return + parriers -= user + attempt_parry(source, user) + +/datum/component/parriable_projectile/proc/attempt_parry(obj/projectile/source, mob/user) + if (SEND_SIGNAL(user, COMSIG_LIVING_PROJECTILE_PARRIED, source) & INTERCEPT_PARRY_EFFECTS) + return + + parried = TRUE + if (source.firer != user) + if (abs(source.Angle - dir2angle(user)) < 15) + source.set_angle((source.Angle + 180) % 360 + rand(-3, 3)) + else + source.set_angle(dir2angle(user) + rand(-3, 3)) + user.visible_message(span_warning("[user] expertly parries [source] with [user.p_their()] bare hand!"), span_warning("You parry [source] with your hand!")) + else + user.visible_message(span_warning("[user] boosts [source] with [user.p_their()] bare hand!"), span_warning("You boost [source] with your hand!")) + source.firer = user + source.speed *= (source.firer == user) ? boost_speed_mult : parry_speed_mult + source.damage *= (source.firer == user) ? boost_damage_mult : parry_damage_mult + source.add_atom_colour(COLOR_RED_LIGHT, TEMPORARY_COLOUR_PRIORITY) + if (!isnull(parry_callback)) + parry_callback.Invoke(user) - living_parent.playsound_local(get_turf(parried_projectile), 'sound/effects/parry.ogg', 50, TRUE) - living_parent.overlay_fullscreen("projectile_parry", /atom/movable/screen/fullscreen/crit/projectile_parry, 2) - addtimer(CALLBACK(living_parent, TYPE_PROC_REF(/mob, clear_fullscreen), "projectile_parry"), 0.25 SECONDS) - living_parent.visible_message(span_warning("[living_parent] expertly parries [parried_projectile] with [living_parent.p_their()] bare hand!"), span_warning("You parry [parried_projectile] with your hand!")) + user.playsound_local(source.loc, 'sound/effects/parry.ogg', 50, TRUE) + user.overlay_fullscreen("projectile_parry", /atom/movable/screen/fullscreen/crit/projectile_parry, 2) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, clear_fullscreen), "projectile_parry"), 0.25 SECONDS) + return PROJECTILE_INTERRUPT_HIT diff --git a/code/datums/components/pet_commands/pet_command.dm b/code/datums/components/pet_commands/pet_command.dm index cf376b21001e8..52b4cc8834920 100644 --- a/code/datums/components/pet_commands/pet_command.dm +++ b/code/datums/components/pet_commands/pet_command.dm @@ -18,6 +18,8 @@ var/radial_icon_state /// Speech strings to listen out for var/list/speech_commands = list() + /// Callout that triggers this command + var/callout_type /// Shown above the mob's head when it hears you var/command_feedback /// How close a mob needs to be to a target to respond to a command @@ -31,10 +33,11 @@ /datum/pet_command/proc/add_new_friend(mob/living/tamer) RegisterSignal(tamer, COMSIG_MOB_SAY, PROC_REF(respond_to_command)) RegisterSignal(tamer, COMSIG_MOB_AUTOMUTE_CHECK, PROC_REF(waive_automute)) + RegisterSignal(tamer, COMSIG_MOB_CREATED_CALLOUT, PROC_REF(respond_to_callout)) /// Stop listening to a guy /datum/pet_command/proc/remove_friend(mob/living/unfriended) - UnregisterSignal(unfriended, list(COMSIG_MOB_SAY, COMSIG_MOB_AUTOMUTE_CHECK)) + UnregisterSignal(unfriended, list(COMSIG_MOB_SAY, COMSIG_MOB_AUTOMUTE_CHECK, COMSIG_MOB_CREATED_CALLOUT)) /// Stop the automute from triggering for commands (unless the spoken text is suspiciously longer than the command) /datum/pet_command/proc/waive_automute(mob/living/speaker, client/client, last_message, mute_type) @@ -59,6 +62,34 @@ try_activate_command(speaker) +/// Respond to a callout +/datum/pet_command/proc/respond_to_callout(mob/living/caller, datum/callout_option/callout, atom/target) + SIGNAL_HANDLER + + if (isnull(callout_type) || !ispath(callout, callout_type)) + return + + var/mob/living/parent = weak_parent.resolve() + if (!parent) + return + + if (!valid_callout_target(caller, callout, target)) + var/found_new_target = FALSE + for (var/atom/new_target in range(2, target)) + if (valid_callout_target(caller, callout, new_target)) + target = new_target + found_new_target = TRUE + + if (!found_new_target) + return + + if (try_activate_command(caller)) + look_for_target(parent, target) + +/// Does this callout with this target trigger this command? +/datum/pet_command/proc/valid_callout_target(mob/living/caller, datum/callout_option/callout, atom/target) + return TRUE + /** * Returns true if we find any of our spoken commands in the text. * if check_verbosity is true, skip the match if there spoken_text is way longer than the match @@ -76,14 +107,35 @@ /datum/pet_command/proc/try_activate_command(mob/living/commander) var/mob/living/parent = weak_parent.resolve() if (!parent) - return + return FALSE if (!parent.ai_controller) // We stopped having a brain at some point - return + return FALSE if (IS_DEAD_OR_INCAP(parent)) // Probably can't hear them if we're dead - return + return FALSE if (parent.ai_controller.blackboard[BB_ACTIVE_PET_COMMAND] == src) // We're already doing it - return + return FALSE set_command_active(parent, commander) + return TRUE + +/// Target the pointed atom for actions +/datum/pet_command/proc/look_for_target(mob/living/friend, atom/pointed_atom) + var/mob/living/parent = weak_parent.resolve() + if (!parent) + return FALSE + if (!parent.ai_controller) + return FALSE + if (IS_DEAD_OR_INCAP(parent)) + return FALSE + if (parent.ai_controller.blackboard[BB_ACTIVE_PET_COMMAND] != src) // We're not listening right now + return FALSE + if (parent.ai_controller.blackboard[BB_CURRENT_PET_TARGET] == pointed_atom) // That's already our target + return FALSE + if (!can_see(parent, pointed_atom, sense_radius)) + return FALSE + + parent.ai_controller.CancelActions() + set_command_target(parent, pointed_atom) + return TRUE /// Activate the command, extend to add visible messages and the like /datum/pet_command/proc/set_command_active(mob/living/parent, mob/living/commander) @@ -97,6 +149,7 @@ /// Store the target for the AI blackboard /datum/pet_command/proc/set_command_target(mob/living/parent, atom/target) parent.ai_controller.set_blackboard_key(BB_CURRENT_PET_TARGET, target) + return TRUE /// Provide information about how to display this command in a radial menu /datum/pet_command/proc/provide_radial_data() @@ -133,33 +186,22 @@ /datum/pet_command/point_targeting/add_new_friend(mob/living/tamer) . = ..() - RegisterSignal(tamer, COMSIG_MOB_POINTED, PROC_REF(look_for_target)) + RegisterSignal(tamer, COMSIG_MOVABLE_POINTED, PROC_REF(on_point)) /datum/pet_command/point_targeting/remove_friend(mob/living/unfriended) . = ..() - UnregisterSignal(unfriended, COMSIG_MOB_POINTED) + UnregisterSignal(unfriended, COMSIG_MOVABLE_POINTED) /// Target the pointed atom for actions -/datum/pet_command/point_targeting/proc/look_for_target(mob/living/friend, atom/pointed_atom) +/datum/pet_command/point_targeting/proc/on_point(mob/living/friend, atom/pointed_atom, obj/effect/temp_visual/point/point) SIGNAL_HANDLER var/mob/living/parent = weak_parent.resolve() if (!parent) return FALSE - if (!parent.ai_controller) - return FALSE - if (IS_DEAD_OR_INCAP(parent)) - return FALSE - if (parent.ai_controller.blackboard[BB_ACTIVE_PET_COMMAND] != src) // We're not listening right now - return FALSE - if (parent.ai_controller.blackboard[BB_CURRENT_PET_TARGET] == pointed_atom) // That's already our target - return FALSE - if (!can_see(parent, pointed_atom, sense_radius)) - return FALSE parent.ai_controller.CancelActions() - // Deciding if they can actually do anything with this target is the behaviour's job - set_command_target(parent, pointed_atom) - // These are usually hostile actions so should have a record in chat - parent.visible_message(span_warning("[parent] follows [friend]'s gesture towards [pointed_atom] [pointed_reaction]!")) - return TRUE + if (look_for_target(friend, pointed_atom) && set_command_target(parent, pointed_atom)) + parent.visible_message(span_warning("[parent] follows [friend]'s gesture towards [pointed_atom] [pointed_reaction]!")) + return TRUE + return FALSE diff --git a/code/datums/components/pet_commands/pet_commands_basic.dm b/code/datums/components/pet_commands/pet_commands_basic.dm index d9ce0ccb56a46..ff73cf84eaf31 100644 --- a/code/datums/components/pet_commands/pet_commands_basic.dm +++ b/code/datums/components/pet_commands/pet_commands_basic.dm @@ -7,7 +7,7 @@ /datum/pet_command/idle command_name = "Stay" command_desc = "Command your pet to stay idle in this location." - radial_icon = 'icons/obj/bed.dmi' + radial_icon = 'icons/obj/structures/bed.dmi' radial_icon_state = "dogbed" speech_commands = list("sit", "stay", "stop") command_feedback = "sits" @@ -41,6 +41,7 @@ radial_icon = 'icons/testing/turf_analysis.dmi' radial_icon_state = "red_arrow" speech_commands = list("heel", "follow") + callout_type = /datum/callout_option/move ///the behavior we use to follow var/follow_behavior = /datum/ai_behavior/pet_follow_friend @@ -124,6 +125,7 @@ radial_icon = 'icons/effects/effects.dmi' radial_icon_state = "bite" + callout_type = /datum/callout_option/attack speech_commands = list("attack", "sic", "kill") command_feedback = "growl" pointed_reaction = "and growls" @@ -202,6 +204,8 @@ pointed_reaction = "and growls" /// Blackboard key where a reference to some kind of mob ability is stored var/pet_ability_key + /// The AI behavior to use for the ability + var/ability_behavior = /datum/ai_behavior/pet_use_ability /datum/pet_command/point_targeting/use_ability/execute_action(datum/ai_controller/controller) if (!pet_ability_key) @@ -211,13 +215,14 @@ return // We don't check if the target exists because we want to 'sit attentively' if we've been instructed to attack but not given one yet // We also don't check if the cooldown is over because there's no way a pet owner can know that, the behaviour will handle it - controller.queue_behavior(/datum/ai_behavior/pet_use_ability, pet_ability_key, BB_CURRENT_PET_TARGET) + controller.queue_behavior(ability_behavior, pet_ability_key, BB_CURRENT_PET_TARGET) return SUBTREE_RETURN_FINISH_PLANNING /datum/pet_command/protect_owner command_name = "Protect owner" command_desc = "Your pet will run to your aid." hidden = TRUE + callout_type = /datum/callout_option/guard ///the range our owner needs to be in for us to protect him var/protect_range = 9 ///the behavior we will use when he is attacked @@ -248,6 +253,9 @@ . = ..() set_command_target(parent, victim) +/datum/pet_command/protect_owner/valid_callout_target(mob/living/caller, datum/callout_option/callout, atom/target) + return target == caller || get_dist(caller, target) <= 1 + /datum/pet_command/protect_owner/proc/set_attacking_target(atom/source, mob/living/attacker) SIGNAL_HANDLER @@ -266,3 +274,29 @@ return if(isliving(attacker) && can_see(owner, attacker, protect_range)) set_command_active(owner, attacker) + +/** + * # Fish command: command the mob to fish at the next fishing spot you point at. Requires the profound fisher component + */ +/datum/pet_command/point_targeting/fish + command_name = "Fish" + command_desc = "Command your pet to try fishing at a nearby fishing spot." + radial_icon = 'icons/obj/structures/aquarium/fish.dmi' + radial_icon_state = "goldfish" + speech_commands = list("fish") + +// Refuse to target things we can't target, chiefly other friends +/datum/pet_command/point_targeting/fish/set_command_target(mob/living/parent, atom/target) + if (!target) + return + if(!parent.ai_controller || !HAS_TRAIT(parent, TRAIT_PROFOUND_FISHER)) + return + var/datum/targeting_strategy/targeter = GET_TARGETING_STRATEGY(/datum/targeting_strategy/fishing) + if (!targeter?.can_attack(parent, target)) + parent.balloon_alert_to_viewers("shakes head!") + return + return ..() + +/datum/pet_command/point_targeting/fish/execute_action(datum/ai_controller/controller) + controller.queue_behavior(/datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target_combat_mode, BB_CURRENT_PET_TARGET) + return SUBTREE_RETURN_FINISH_PLANNING diff --git a/code/datums/components/pinata.dm b/code/datums/components/pinata.dm index 064bc2de26b26..62e1a8e55527f 100644 --- a/code/datums/components/pinata.dm +++ b/code/datums/components/pinata.dm @@ -1,8 +1,8 @@ -///Objects or mobs with this componenet will drop items when taking damage. +///Objects or mobs with this component will drop items when taking damage. /datum/component/pinata ///How much damage does an attack need to do to have a chance to drop "candy" var/minimum_damage - ///What is the likelyhood some "candy" should drop when attacked. + ///What is the likelihood some "candy" should drop when attacked. var/drop_chance ///A list of "candy" items that can be dropped when taking damage var/candy diff --git a/code/datums/components/plumbing/_plumbing.dm b/code/datums/components/plumbing/_plumbing.dm index 490f88d39b25e..2893c6a8f4d55 100644 --- a/code/datums/components/plumbing/_plumbing.dm +++ b/code/datums/components/plumbing/_plumbing.dm @@ -28,7 +28,7 @@ var/extend_pipe_to_edge = FALSE ///turn_connects is for wheter or not we spin with the object to change our pipes -/datum/component/plumbing/Initialize(start=TRUE, ducting_layer, turn_connects=TRUE, datum/reagents/custom_receiver, extend_pipe_to_edge = FALSE) +/datum/component/plumbing/Initialize(start=TRUE, ducting_layer, turn_connects=TRUE, datum/reagents/custom_receiver, extend_pipe_to_edge = FALSE, invert_demand = FALSE) if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE @@ -45,9 +45,20 @@ set_recipient_reagents_holder(custom_receiver ? custom_receiver : parent_movable.reagents) + if(invert_demand) + var/new_demand_connects + var/new_supply_connects + for(var/direction in GLOB.cardinals) + if(direction & initial(demand_connects)) + new_demand_connects += turn(direction, 180) + if(direction & initial(supply_connects)) + new_supply_connects += turn(direction, 180) + demand_connects = new_demand_connects + supply_connects = new_supply_connects + if(start) - //We're registering here because I need to check whether we start active or not, and this is just easier - //Should be called after we finished. Done this way because other networks need to finish setting up aswell + // We're registering here because I need to check whether we start active or not, and this is just easier + // Should be called after we finished. Done this way because other networks need to finish setting up aswell RegisterSignal(parent, COMSIG_COMPONENT_ADDED, PROC_REF(enable)) /datum/component/plumbing/RegisterWithParent() @@ -302,7 +313,7 @@ demand_connects = new_demand_connects supply_connects = new_supply_connects -///Give the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH +///Give the direction of a pipe, and it'll return wich direction it originally was when its object pointed SOUTH /datum/component/plumbing/proc/get_original_direction(dir) var/atom/movable/parent_movable = parent return turn(dir, dir2angle(parent_movable.dir) - 180) diff --git a/code/datums/components/plumbing/simple_components.dm b/code/datums/components/plumbing/simple_components.dm index d1f8a4c3ca637..07002a69b6439 100644 --- a/code/datums/components/plumbing/simple_components.dm +++ b/code/datums/components/plumbing/simple_components.dm @@ -3,6 +3,9 @@ /datum/component/plumbing/simple_demand demand_connects = SOUTH +/datum/component/plumbing/inverted_simple_demand + demand_connects = NORTH + ///has one pipe output that only supplies. example is liquid pump and manual input pipe /datum/component/plumbing/simple_supply supply_connects = SOUTH diff --git a/code/datums/components/profound_fisher.dm b/code/datums/components/profound_fisher.dm index ec839e265f2f0..4485115db06e6 100644 --- a/code/datums/components/profound_fisher.dm +++ b/code/datums/components/profound_fisher.dm @@ -2,14 +2,11 @@ /datum/component/profound_fisher ///the fishing rod this mob will use var/obj/item/fishing_rod/mob_fisher/our_rod - ///if controlled by an AI, the things this mob can "pretend" fish - var/list/npc_fishing_preset /datum/component/profound_fisher/Initialize(list/npc_fishing_preset = list()) if(!isliving(parent)) return our_rod = new(parent) - src.npc_fishing_preset = npc_fishing_preset ADD_TRAIT(parent, TRAIT_PROFOUND_FISHER, REF(src)) /datum/component/profound_fisher/RegisterWithParent() @@ -29,7 +26,7 @@ if(!HAS_TRAIT(target, TRAIT_FISHING_SPOT)) return NONE var/mob/living/living_parent = parent - if(!living_parent.CanReach(target)) + if(living_parent.combat_mode || !living_parent.CanReach(target)) return NONE if(living_parent.client) INVOKE_ASYNC(our_rod, TYPE_PROC_REF(/obj/item, melee_attack_chain), parent, target) @@ -38,27 +35,29 @@ return COMPONENT_HOSTILE_NO_ATTACK /datum/component/profound_fisher/proc/pretend_fish(atom/target) - var/fishing_type - for(var/type in npc_fishing_preset) - if(!istype(target, type)) - continue - fishing_type = npc_fishing_preset[type] - break - var/datum/fish_source/fish_spot = GLOB.preset_fish_sources[fishing_type] + var/mob/living/living_parent = parent + if(DOING_INTERACTION_WITH_TARGET(living_parent, target)) + return + var/list/fish_spot_container[NPC_FISHING_SPOT] + SEND_SIGNAL(target, COMSIG_NPC_FISHING, fish_spot_container) + var/datum/fish_source/fish_spot = fish_spot_container[NPC_FISHING_SPOT] if(isnull(fish_spot)) return null var/obj/effect/fishing_lure/lure = new(get_turf(target), target) - var/mob/living/living_parent = parent - if(!do_after(living_parent, 10 SECONDS, target = target)) + playsound(lure, 'sound/effects/splash.ogg', 100) + var/happiness_percentage = living_parent.ai_controller?.blackboard[BB_BASIC_HAPPINESS] / 100 + var/fishing_speed = 10 SECONDS - round(4 SECONDS * happiness_percentage) + if(!do_after(living_parent, fishing_speed, target = target) && !QDELETED(fish_spot)) qdel(lure) return var/reward_loot = fish_spot.roll_reward(our_rod, parent) - if(ispath(reward_loot)) - fish_spot.dispense_reward(reward_loot, parent, target) + fish_spot.dispense_reward(reward_loot, parent, target) + playsound(lure, 'sound/effects/bigsplash.ogg', 100) qdel(lure) /obj/item/fishing_rod/mob_fisher display_fishing_line = FALSE line = /obj/item/fishing_line/reinforced + bait = /obj/item/food/bait/doughball/synthetic/unconsumable diff --git a/code/datums/components/reflection.dm b/code/datums/components/reflection.dm index d85960951aa56..29640af11962e 100644 --- a/code/datums/components/reflection.dm +++ b/code/datums/components/reflection.dm @@ -124,9 +124,7 @@ ///The filter is added to the reflection holder; the matrix is not, otherwise that'd go affecting the filter. if(reflection_matrix) reflection.transform = reflection_matrix - if(reflected_dir == NORTH) - reflection.transform = reflection.transform.Scale(1, -1) - else if(reflected_dir != SOUTH) + if(reflected_dir != NORTH && reflected_dir != SOUTH) reflection.transform = reflection.transform.Scale(-1, 1) LAZYSET(reflected_movables, target, reflection) reflection_holder.vis_contents += reflection diff --git a/code/datums/components/riding/riding.dm b/code/datums/components/riding/riding.dm index 7ead11012b024..cfdaf605878bf 100644 --- a/code/datums/components/riding/riding.dm +++ b/code/datums/components/riding/riding.dm @@ -9,7 +9,6 @@ /datum/component/riding dupe_mode = COMPONENT_DUPE_UNIQUE - var/last_move_diagonal = FALSE ///tick delay between movements, lower = faster, higher = slower var/vehicle_move_delay = 2 diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm index 50798fce50157..96d54ad92f196 100644 --- a/code/datums/components/riding/riding_mob.dm +++ b/code/datums/components/riding/riding_mob.dm @@ -105,9 +105,7 @@ to_chat(user, span_warning("You need a [initial(key.name)] to ride [movable_parent]!")) return COMPONENT_DRIVER_BLOCK_MOVE var/mob/living/living_parent = parent - var/turf/next = get_step(living_parent, direction) step(living_parent, direction) - last_move_diagonal = ((direction & (direction - 1)) && (living_parent.loc == next)) var/modified_move_cooldown = vehicle_move_cooldown var/modified_move_delay = vehicle_move_delay if(ishuman(user) && HAS_TRAIT(user, TRAIT_ROUGHRIDER)) // YEEHAW! @@ -133,7 +131,7 @@ if(SANITY_LEVEL_INSANE) modified_move_cooldown *= 1.2 modified_move_delay *= 1.2 - COOLDOWN_START(src, vehicle_move_cooldown = modified_move_cooldown, (last_move_diagonal ? 2 : 1) * modified_move_delay) + COOLDOWN_START(src, vehicle_move_cooldown = modified_move_cooldown, modified_move_delay) return ..() /// Yeets the rider off, used for animals and cyborgs, redefined for humans who shove their piggyback rider off @@ -515,9 +513,9 @@ /datum/component/riding/creature/leaper/Initialize(mob/living/riding_mob, force = FALSE, ride_check_flags = NONE, potion_boost = FALSE) . = ..() - RegisterSignal(riding_mob, COMSIG_MOB_POINTED, PROC_REF(attack_pointed)) + RegisterSignal(riding_mob, COMSIG_MOVABLE_POINTED, PROC_REF(attack_pointed)) -/datum/component/riding/creature/leaper/proc/attack_pointed(mob/living/rider, atom/pointed) +/datum/component/riding/creature/leaper/proc/attack_pointed(mob/living/rider, atom/pointed, obj/effect/temp_visual/point/point) SIGNAL_HANDLER if(!isclosedturf(pointed)) return @@ -529,7 +527,7 @@ /datum/component/riding/leaper/handle_unbuckle(mob/living/rider) . = ..() - UnregisterSignal(rider, COMSIG_MOB_POINTED) + UnregisterSignal(rider, COMSIG_MOVABLE_POINTED) /datum/component/riding/creature/raptor require_minigame = TRUE diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm index 561d0c87218d3..f7ee78673e057 100644 --- a/code/datums/components/riding/riding_vehicle.dm +++ b/code/datums/components/riding/riding_vehicle.dm @@ -97,8 +97,7 @@ return step(movable_parent, direction) - last_move_diagonal = ((direction & (direction - 1)) && (movable_parent.loc == next)) - COOLDOWN_START(src, vehicle_move_cooldown, (last_move_diagonal? 2 : 1) * vehicle_move_delay) + COOLDOWN_START(src, vehicle_move_cooldown, vehicle_move_delay) if(QDELETED(src)) return @@ -243,14 +242,53 @@ /datum/component/riding/vehicle/scooter/skateboard/hover/proc/hover_check(is_moving = FALSE) var/atom/movable/movable = parent if(!is_space_or_openspace(movable.loc)) - override_allow_spacemove = TRUE + on_hover_enabled() return var/turf/open/our_turf = movable.loc - var/turf/turf_below = GET_TURF_BELOW(our_turf) - if(our_turf.zPassOut(DOWN) && (isnull(turf_below) || (is_space_or_openspace(turf_below) && turf_below.zPassIn(DOWN) && turf_below.zPassOut(DOWN)))) - override_allow_spacemove = FALSE - if(turf_below) - our_turf.zFall(movable, falling_from_move = is_moving) + var/turf/below = GET_TURF_BELOW(our_turf) + + if(!check_space_turf(our_turf)) + on_hover_fail() + return + //it's open space without support and the turf below is null or space without lattice, or if it'd fall several z-levels. + if(isopenspaceturf(our_turf) && our_turf.zPassOut(DOWN) && (isnull(below) || !check_space_turf(below) || (below.zPassOut(DOWN) && below.zPassIn(DOWN)))) + on_hover_fail(our_turf, below, is_moving) + return + on_hover_enabled() + +///Part of the hover_check proc that returns false if it's a space turf without lattice or such. +/datum/component/riding/vehicle/scooter/skateboard/hover/proc/check_space_turf(turf/turf) + if(!isspaceturf(turf)) + return TRUE + for(var/obj/object in turf.contents) + if(object.obj_flags & BLOCK_Z_OUT_DOWN) + return TRUE + return FALSE + +///Called by hover_check() when the hoverboard is on a valid turf. +/datum/component/riding/vehicle/scooter/skateboard/hover/proc/on_hover_enabled() + override_allow_spacemove = TRUE + +///Called by hover_check() when the hoverboard is on space or open space turf without a support underneath it. +/datum/component/riding/vehicle/scooter/skateboard/hover/proc/on_hover_fail(turf/open/our_turf, turf/turf_below, is_moving) + override_allow_spacemove = FALSE + if(turf_below) + our_turf.zFall(parent, falling_from_move = is_moving) + +/datum/component/riding/vehicle/scooter/skateboard/hover/holy + var/is_slown_down = FALSE + +/datum/component/riding/vehicle/scooter/skateboard/hover/holy/on_hover_enabled() + if(!is_slown_down) + return + is_slown_down = FALSE + vehicle_move_delay -= 1 + +/datum/component/riding/vehicle/scooter/skateboard/hover/holy/on_hover_fail(turf/open/our_turf, turf/turf_below, is_moving) + if(is_slown_down) + return + is_slown_down = TRUE + vehicle_move_delay += 1 /datum/component/riding/vehicle/scooter/skateboard/wheelys vehicle_move_delay = 0 diff --git a/code/datums/components/slime_friends.dm b/code/datums/components/slime_friends.dm new file mode 100644 index 0000000000000..d2b751d092ea9 --- /dev/null +++ b/code/datums/components/slime_friends.dm @@ -0,0 +1,61 @@ +/datum/component/slime_friends + /// Slime maker timer. + var/timer + /// List to pick from when we need slime colour. + var/static/colours = list( + /datum/slime_type/adamantine, + /datum/slime_type/black, + /datum/slime_type/blue, + /datum/slime_type/bluespace, + /datum/slime_type/cerulean, + /datum/slime_type/darkblue, + /datum/slime_type/darkpurple, + /datum/slime_type/gold, + /datum/slime_type/green, + /datum/slime_type/grey, + /datum/slime_type/lightpink, + /datum/slime_type/metal, + /datum/slime_type/oil, + /datum/slime_type/orange, + /datum/slime_type/pink, + /datum/slime_type/purple, + /datum/slime_type/pyrite, + /datum/slime_type/rainbow, + /datum/slime_type/red, + /datum/slime_type/sepia, + /datum/slime_type/silver, + /datum/slime_type/yellow, + ) + +/datum/component/slime_friends/Initialize(...) + . = ..() + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + var/mob/living/living_parent = parent + living_parent.faction |= FACTION_SLIME + RegisterSignal(living_parent, COMSIG_ENTER_AREA, PROC_REF(start_slime_prodaction)) + +/datum/component/slime_friends/Destroy(force) + . = ..() + var/mob/living/living_parent = parent + living_parent.faction -= FACTION_SLIME + timer = null + +/// Start slime prodaction when we leave wizden. +/datum/component/slime_friends/proc/start_slime_prodaction(mob/living/friend, area/new_area) + if(new_area == GLOB.areas_by_type[/area/centcom/wizard_station]) + return + timer = addtimer(CALLBACK(src, PROC_REF(make_slime_friend), friend), 20 SECONDS) + UnregisterSignal(friend, COMSIG_ENTER_AREA) + +/// Slime prodactor proc. +/datum/component/slime_friends/proc/make_slime_friend(mob/living/friend) + timer = addtimer(CALLBACK(src, PROC_REF(make_slime_friend), friend), 20 SECONDS) + if(get_area(friend) == GLOB.areas_by_type[/area/centcom/wizard_station]) + return + var/turf/where = get_turf(friend) + var/new_colour = pick(colours) + var/mob/living/basic/slime/new_friend = new(where, new_colour, SLIME_LIFE_STAGE_ADULT) + new_friend.faction = friend.faction.Copy() + new_friend.set_enraged_behaviour() + friend.nutrition -= 50 diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index 74dbdd5642fe2..8a934cdd4c1d5 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -56,7 +56,7 @@ * * lube_flags - Controls the slip behaviour, they are listed starting [here][SLIDE] * * datum/callback/on_slip_callback - Callback to define further custom controls on when slipping is applied * * paralyze - length of time to paralyze the crossing mob for (Deciseconds) - * * force_drop - should the crossing mob drop items in it's hands or not + * * force_drop - should the crossing mob drop items in its hands or not * * slot_whitelist - flags controlling where on a mob this item can be equipped to make the parent mob slippery full list [here][ITEM_SLOT_OCLOTHING] * * datum/callback/on_slip_callback - Callback to add custom behaviours as the crossing mob is slipped */ diff --git a/code/datums/components/soapbox.dm b/code/datums/components/soapbox.dm new file mode 100644 index 0000000000000..4d4577d5e12c8 --- /dev/null +++ b/code/datums/components/soapbox.dm @@ -0,0 +1,44 @@ +/datum/component/soapbox + /// List of our current soapboxxer(s) who are gaining loud speech + var/list/soapboxers = list() + /// Gives atoms moving over us the soapbox speech and takes it away when they leave + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_loc_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_loc_exited), + ) + +/datum/component/soapbox/Initialize(...) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + add_connect_loc_behalf_to_parent() + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(parent_moved)) + +///Applies loud speech to our movable when entering the turf our parent is on +/datum/component/soapbox/proc/on_loc_entered(datum/source, atom/movable/soapbox_arrive) + SIGNAL_HANDLER + if(QDELETED(soapbox_arrive)) + return + RegisterSignal(soapbox_arrive, COMSIG_MOB_SAY, PROC_REF(soapbox_speech)) + soapboxers += soapbox_arrive + +///Takes away loud speech from our movable when it leaves the turf our parent is on +/datum/component/soapbox/proc/on_loc_exited(datum/source, atom/movable/soapbox_leave) + SIGNAL_HANDLER + if(soapbox_leave in soapboxers) + UnregisterSignal(soapbox_leave, COMSIG_MOB_SAY) + soapboxers -= soapbox_leave + +///We don't want our soapboxxer to keep their loud say if the parent is moved out from under them +/datum/component/soapbox/proc/parent_moved(datum/source) + SIGNAL_HANDLER + for(var/atom/movable/loud as anything in soapboxers) + UnregisterSignal(loud, COMSIG_MOB_SAY) + soapboxers.Cut() + +///Gives a mob a unique say span +/datum/component/soapbox/proc/soapbox_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + speech_args[SPEECH_SPANS] |= SPAN_SOAPBOX + +/datum/component/soapbox/proc/add_connect_loc_behalf_to_parent() + AddComponent(/datum/component/connect_loc_behalf, parent, loc_connections) diff --git a/code/datums/components/space_allaergy.dm b/code/datums/components/space_allaergy.dm new file mode 100644 index 0000000000000..d1bc334ce1f5f --- /dev/null +++ b/code/datums/components/space_allaergy.dm @@ -0,0 +1,14 @@ +/// Slowly kill the thing when iuts on a planet +/datum/component/planet_allergy/Initialize(...) + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_ENTER_AREA, PROC_REF(entered_area)) + +/datum/component/planet_allergy/proc/entered_area(mob/living/parent, area/new_area) + SIGNAL_HANDLER + + if(is_on_a_planet(parent) && parent.has_gravity()) + parent.apply_status_effect(/datum/status_effect/planet_allergy) //your gamer body cant stand real gravity + else + parent.remove_status_effect(/datum/status_effect/planet_allergy) diff --git a/code/datums/components/space_camo.dm b/code/datums/components/space_camo.dm new file mode 100644 index 0000000000000..08b6c10649443 --- /dev/null +++ b/code/datums/components/space_camo.dm @@ -0,0 +1,54 @@ +/// Camouflage us when we enter space by increasing alpha and or changing color +/datum/component/space_camo + /// Alpha we have in space + var/space_alpha + /// Alpha we have elsewhere + var/non_space_alpha + /// How long we can't enter camo after hitting or being hit + var/reveal_after_combat + /// The world time after we can camo again + VAR_PRIVATE/next_camo + +/datum/component/space_camo/Initialize(space_alpha, non_space_alpha, reveal_after_combat) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + + src.space_alpha = space_alpha + src.non_space_alpha = non_space_alpha + src.reveal_after_combat = reveal_after_combat + + RegisterSignal(parent, COMSIG_ATOM_ENTERING, PROC_REF(on_atom_entering)) + + if(isliving(parent)) + RegisterSignals(parent, list(COMSIG_ATOM_WAS_ATTACKED, COMSIG_MOB_ITEM_ATTACK, COMSIG_LIVING_UNARMED_ATTACK, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_REVEAL), PROC_REF(force_exit_camo)) + +/datum/component/space_camo/proc/on_atom_entering(atom/movable/entering, atom/entered) + SIGNAL_HANDLER + + if(!attempt_enter_camo()) + exit_camo(parent) + +/datum/component/space_camo/proc/attempt_enter_camo() + if(!isspaceturf(get_turf(parent)) || next_camo > world.time) + return FALSE + + enter_camo(parent) + return TRUE + +/datum/component/space_camo/proc/force_exit_camo() + SIGNAL_HANDLER + + exit_camo(parent) + next_camo = world.time + reveal_after_combat + addtimer(CALLBACK(src, PROC_REF(attempt_enter_camo)), reveal_after_combat, TIMER_OVERRIDE | TIMER_UNIQUE) + +/datum/component/space_camo/proc/enter_camo(atom/movable/parent) + if(parent.alpha != space_alpha) + animate(parent, alpha = space_alpha, time = 0.5 SECONDS) + parent.remove_from_all_data_huds() + parent.add_atom_colour(SSparallax.get_parallax_color(), TEMPORARY_COLOUR_PRIORITY) + +/datum/component/space_camo/proc/exit_camo(atom/movable/parent) + animate(parent, alpha = non_space_alpha, time = 0.5 SECONDS) + parent.add_to_all_human_data_huds() + parent.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY) diff --git a/code/datums/components/space_dive.dm b/code/datums/components/space_dive.dm new file mode 100644 index 0000000000000..bbbeb0bb16832 --- /dev/null +++ b/code/datums/components/space_dive.dm @@ -0,0 +1,84 @@ +/// Lets us dive under the station from space +/datum/component/space_dive + /// holder we use when we're in dive + var/jaunt_type = /obj/effect/dummy/phased_mob/space_dive + /// time it takes to enter the dive + var/dive_time = 3 SECONDS + /// the time it takes to exit our space dive + var/surface_time = 1 SECONDS + /// Traits added during phasing (and removed after) + var/static/phase_traits = list(TRAIT_MAGICALLY_PHASED, TRAIT_RUNECHAT_HIDDEN, TRAIT_WEATHER_IMMUNE) + +/datum/component/space_dive/Initialize(...) + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(bump)) + +/datum/component/space_dive/proc/bump(mob/living/parent, atom/bumped) + SIGNAL_HANDLER + + if(!isspaceturf(get_turf(parent))) + return + + if(ismovable(bumped)) + if(istype(bumped, /obj/machinery/door))//door check is kinda lame but it just plays better + return + + var/atom/movable/mover = bumped + if(!mover.anchored) + return + + INVOKE_ASYNC(src, PROC_REF(attempt_dive), parent, bumped) + +/datum/component/space_dive/proc/attempt_dive(mob/living/parent, atom/bumped) + if(!do_after(parent, dive_time, bumped)) + return + + dive(bumped) + +/datum/component/space_dive/proc/dive(atom/bumped) + var/obj/effect/dummy/phased_mob/jaunt = new jaunt_type(get_turf(bumped), parent) + + RegisterSignal(jaunt, COMSIG_MOB_EJECTED_FROM_JAUNT, PROC_REF(surface)) + RegisterSignal(jaunt, COMSIG_MOB_PHASED_CHECK, PROC_REF(move_check)) + parent.add_traits(phase_traits, REF(src)) + + // This needs to happen at the end, after all the traits and stuff is handled + SEND_SIGNAL(parent, COMSIG_MOB_ENTER_JAUNT, src, jaunt) + +/datum/component/space_dive/proc/move_check(obj/effect/dummy/phased_mob/jaunt, mob/living/parent, turf/new_turf) + SIGNAL_HANDLER + + if(!isspaceturf(new_turf)) + return + + INVOKE_ASYNC(src, PROC_REF(attempt_surface), parent, new_turf) + return COMPONENT_BLOCK_PHASED_MOVE + +/// try and surface by doing a do_after +/datum/component/space_dive/proc/attempt_surface(mob/living/parent, turf/new_turf) + if(do_after(parent, surface_time, new_turf, extra_checks = CALLBACK(src, PROC_REF(check_if_moved), parent, get_turf(parent)))) + surface(null, parent, new_turf) + +// we check if we moved for the do_after, since relayed movements arent caught that well by the do_after +/datum/component/space_dive/proc/check_if_moved(mob/living/parent, turf/do_after_turf) + return get_turf(parent) == do_after_turf + +/datum/component/space_dive/proc/surface(atom/holder, mob/living/parent, turf/target) + SIGNAL_HANDLER + + var/obj/effect/dummy/phased_mob/jaunt = parent.loc + if(!istype(jaunt)) + return FALSE + + parent.remove_traits(phase_traits, REF(src)) + + parent.forceMove(target || get_turf(parent)) + qdel(jaunt) + + // This needs to happen at the end, after all the traits and stuff is handled + SEND_SIGNAL(parent, COMSIG_MOB_AFTER_EXIT_JAUNT, src) + +/obj/effect/dummy/phased_mob/space_dive + movespeed = 1 diff --git a/code/datums/components/space_kidnap.dm b/code/datums/components/space_kidnap.dm new file mode 100644 index 0000000000000..8a1de2123d9d3 --- /dev/null +++ b/code/datums/components/space_kidnap.dm @@ -0,0 +1,69 @@ +/// Component that lets us space kidnap people as the voidwalker with our HAAAADS +/datum/component/space_kidnap + /// How long does it take to kidnap them? + var/kidnap_time = 6 SECONDS + /// Are we kidnapping right now? + var/kidnapping = FALSE + +/datum/component/space_kidnap/Initialize(...) + if(!ishuman(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(try_kidnap)) + +/datum/component/space_kidnap/proc/try_kidnap(mob/living/parent, atom/target) + SIGNAL_HANDLER + + if(!isliving(target)) + return + + var/mob/living/victim = target + + if(victim.stat == DEAD) + target.balloon_alert(parent, "is dead!") + return COMPONENT_CANCEL_ATTACK_CHAIN + + if(!victim.incapacitated()) + return + + if(!isspaceturf(get_turf(target))) + target.balloon_alert(parent, "not in space!") + return COMPONENT_CANCEL_ATTACK_CHAIN + + if(!kidnapping) + INVOKE_ASYNC(src, PROC_REF(kidnap), parent, target) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/datum/component/space_kidnap/proc/kidnap(mob/living/parent, mob/living/victim) + victim.Paralyze(kidnap_time) //so they don't get up if we already got em + var/obj/particles = new /obj/effect/abstract/particle_holder (victim, /particles/void_kidnap) + kidnapping = TRUE + + if(do_after(parent, kidnap_time, victim, extra_checks = CALLBACK(victim, TYPE_PROC_REF(/mob, incapacitated)))) + take_them(victim) + + qdel(particles) + kidnapping = FALSE + +/datum/component/space_kidnap/proc/take_them(mob/living/victim) + if(ishuman(victim)) + var/mob/living/carbon/human/hewmon = victim + hewmon.gain_trauma(/datum/brain_trauma/voided) + + victim.flash_act(INFINITY, override_blindness_check = TRUE, visual = TRUE, type = /atom/movable/screen/fullscreen/flash/black) + new /obj/effect/temp_visual/circle_wave/unsettle(get_turf(victim)) + + if(!SSmapping.lazy_load_template(LAZY_TEMPLATE_KEY_VOIDWALKER_VOID) || !GLOB.voidwalker_void.len) + victim.forceMove(get_random_station_turf()) + victim.heal_overall_damage(brute = 80, burn = 20) + CRASH("[victim] was instantly dumped after being voidwalker kidnapped due to a missing landmark!") + else + victim.heal_and_revive(90) + victim.adjustOxyLoss(-100, FALSE) + + var/obj/wisp = new /obj/effect/wisp_mobile (get_turf(pick(GLOB.voidwalker_void))) + victim.forceMove(wisp) + succesfully_kidnapped() + +/datum/component/space_kidnap/proc/succesfully_kidnapped(mob/living/carbon/human/kidnappee) + SEND_SIGNAL(parent, COMSIG_VOIDWALKER_SUCCESFUL_KIDNAP, kidnappee) diff --git a/code/datums/components/speechmod.dm b/code/datums/components/speechmod.dm index 71991c80d837c..8ffa3e8624e49 100644 --- a/code/datums/components/speechmod.dm +++ b/code/datums/components/speechmod.dm @@ -13,8 +13,10 @@ var/slots /// If set to true, turns all text to uppercase var/uppercase = FALSE + /// Any additional checks that we should do before applying the speech modification + var/datum/callback/should_modify_speech = null -/datum/component/speechmod/Initialize(replacements = list(), end_string = "", end_string_chance = 100, slots, uppercase = FALSE) +/datum/component/speechmod/Initialize(replacements = list(), end_string = "", end_string_chance = 100, slots, uppercase = FALSE, should_modify_speech) if (!ismob(parent) && !isitem(parent) && !istype(parent, /datum/mutation/human)) return COMPONENT_INCOMPATIBLE @@ -23,6 +25,7 @@ src.end_string_chance = end_string_chance src.slots = slots src.uppercase = uppercase + src.should_modify_speech = should_modify_speech if (istype(parent, /datum/mutation/human)) RegisterSignal(parent, COMSIG_MUTATION_GAINED, PROC_REF(on_mutation_gained)) @@ -31,6 +34,12 @@ var/atom/owner = parent + if (istype(parent, /datum/status_effect)) + var/datum/status_effect/effect = parent + targeted = effect.owner + RegisterSignal(targeted, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + return + if (ismob(parent)) targeted = parent RegisterSignal(targeted, COMSIG_MOB_SAY, PROC_REF(handle_speech)) @@ -51,6 +60,8 @@ var/message = speech_args[SPEECH_MESSAGE] if(message[1] == "*") return + if(!isnull(should_modify_speech) && !should_modify_speech.Invoke(source, speech_args)) + return for (var/to_replace in replacements) var/replacement = replacements[to_replace] @@ -123,3 +134,7 @@ return UnregisterSignal(targeted, COMSIG_MOB_SAY) targeted = null + +/datum/component/speechmod/Destroy() + should_modify_speech = null + return ..() diff --git a/code/datums/components/spirit_holding.dm b/code/datums/components/spirit_holding.dm index a7accc38352ee..b510fde3523a4 100644 --- a/code/datums/components/spirit_holding.dm +++ b/code/datums/components/spirit_holding.dm @@ -7,17 +7,20 @@ ///bool on if this component is currently polling for observers to inhabit the item var/attempting_awakening = FALSE /// Allows renaming the bound item - var/allow_renaming + var/allow_renaming = TRUE /// Allows channeling - var/allow_channeling + var/allow_channeling = TRUE + /// Allows exorcism + var/allow_exorcism ///mob contained in the item. var/mob/living/basic/shade/bound_spirit -/datum/component/spirit_holding/Initialize(datum/mind/soul_to_bind, mob/awakener, allow_renaming = TRUE, allow_channeling = TRUE) +/datum/component/spirit_holding/Initialize(datum/mind/soul_to_bind, mob/awakener, allow_renaming = TRUE, allow_channeling = TRUE, allow_exorcism = TRUE) if(!ismovable(parent)) //you may apply this to mobs, i take no responsibility for how that works out return COMPONENT_INCOMPATIBLE src.allow_renaming = allow_renaming src.allow_channeling = allow_channeling + src.allow_exorcism = allow_exorcism if(soul_to_bind) bind_the_soule(soul_to_bind, awakener, soul_to_bind.name) @@ -89,7 +92,7 @@ to_chat(ghost, span_userdanger("The new vessel for your spirit has been destroyed! You remain an unbound ghost.")) return - bind_the_soule(ghost, awakener) + bind_the_soule(ghost.mind, awakener) attempting_awakening = FALSE @@ -107,7 +110,8 @@ bound_spirit.get_language_holder().omnitongue = TRUE //Grants omnitongue RegisterSignal(parent, COMSIG_ATOM_RELAYMOVE, PROC_REF(block_buckle_message)) - RegisterSignal(parent, COMSIG_BIBLE_SMACKED, PROC_REF(on_bible_smacked)) + if(allow_exorcism) + RegisterSignal(parent, COMSIG_BIBLE_SMACKED, PROC_REF(on_bible_smacked)) /** * custom_name : Simply sends a tgui input text box to the blade asking what name they want to be called, and retries it if the input is invalid. @@ -115,11 +119,13 @@ * Arguments: * * awakener: user who interacted with the blade */ -/datum/component/spirit_holding/proc/custom_name(mob/awakener) +/datum/component/spirit_holding/proc/custom_name(mob/awakener, iteration = 1) + if(iteration > 5) + return "indecision" // The spirit of indecision var/chosen_name = sanitize_name(tgui_input_text(bound_spirit, "What are you named?", "Spectral Nomenclature", max_length = MAX_NAME_LEN)) if(!chosen_name) // with the way that sanitize_name works, it'll actually send the error message to the awakener as well. to_chat(awakener, span_warning("Your blade did not select a valid name! Please wait as they try again.")) // more verbose than what sanitize_name might pass in it's error message - return custom_name(awakener) + return custom_name(awakener, iteration++) return chosen_name ///signal fired from a mob moving inside the parent @@ -139,6 +145,8 @@ * * exorcist: user who is attempting to remove the spirit */ /datum/component/spirit_holding/proc/attempt_exorcism(mob/exorcist) + if(!allow_exorcism) + return // just in case var/atom/movable/exorcised_movable = parent to_chat(exorcist, span_notice("You begin to exorcise [parent]...")) playsound(parent, 'sound/hallucinations/veryfar_noise.ogg',40,TRUE) diff --git a/code/datums/components/splattercasting.dm b/code/datums/components/splattercasting.dm index b550f2b1221f4..eafc9629a8386 100644 --- a/code/datums/components/splattercasting.dm +++ b/code/datums/components/splattercasting.dm @@ -21,10 +21,12 @@ RegisterSignal(parent, COMSIG_MOB_SPELL_PROJECTILE, PROC_REF(on_spell_projectile)) RegisterSignal(parent, COMSIG_MOB_BEFORE_SPELL_CAST, PROC_REF(on_before_spell_cast)) RegisterSignal(parent, COMSIG_MOB_AFTER_SPELL_CAST, PROC_REF(on_after_spell_cast)) + ADD_TRAIT(parent, TRAIT_SPLATTERCASTER, REF(src)) /datum/component/splattercasting/UnregisterFromParent() . = ..() UnregisterSignal(parent, list(COMSIG_SPECIES_LOSS, COMSIG_MOB_SPELL_PROJECTILE, COMSIG_MOB_BEFORE_SPELL_CAST, COMSIG_MOB_AFTER_SPELL_CAST)) + REMOVE_TRAIT(parent, TRAIT_SPLATTERCASTER, REF(src)) ///signal sent when a spell casts a projectile /datum/component/splattercasting/proc/on_species_change(mob/living/carbon/source, datum/species/lost_species) diff --git a/code/datums/components/split_overlay.dm b/code/datums/components/split_overlay.dm new file mode 100644 index 0000000000000..e83cf9b266f3f --- /dev/null +++ b/code/datums/components/split_overlay.dm @@ -0,0 +1,133 @@ +/// Applies and maintains overlays for /datum/element/split_visibility'd atoms +/// This allows us to apply conditions, nick nacks, and animations to splitvis'd walls without massively bloating their DMIs (and thus leading to client performance issues) +/// Want to draw a cute animation on your wall but only if the SOUTH wall is exposed? this is how you do it (see also: hilbert doors) +/// Accepts an overlay to use, and a list of the directions to apply it in (see the icon_smoothing.dm defines for this list, which allow for angles to be specified seperately) +/// If the direction is blocked, the overlay won't draw. it'll also use as a dir the direction it's being drawn in +/// If the overlay has no plane/layer of its own, we'll give it ones that will at the least draw above wall splits, ensuring it actually renders +/datum/component/split_overlay + /// We draw this normally, in the splitvis form + var/mutable_appearance/standard + /// This is drawn hidden (IE: onto a separate plane and onto the wall itself to avoid seeing it through the void with mesons) + var/mutable_appearance/hidden + /// And then this one just exists to make sure we render right at z borders, drawing to ourselves if there is nothing around us + var/mutable_appearance/non_offset_standard + var/list/dirs_to_apply + +/datum/component/split_overlay/Initialize(mutable_appearance/overlay, list/dirs_to_apply) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + . = ..() + // Needs to use bitmask smoothing or we won't have anything to apply onto + var/atom/parent_atom = parent + if(!(parent_atom.smoothing_flags & (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS))) + CRASH("We tried to splitvis [parent.type] without bitmask smoothing. What?") + + // Ensure the overlay won't accidentially inherit stuff from the floor it's potentially applied to + overlay.appearance_flags |= TILE_BOUND | RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + // If no plane/layer is passed in then we default to a pair that will ensure this draws above splitvis stuff + if(overlay.plane == FLOAT_PLANE) + SET_PLANE_EXPLICIT(overlay, GAME_PLANE, parent_atom) + if(overlay.layer == FLOAT_LAYER) + overlay.layer = ON_WALL_LAYER + + // We do this to ensure the MAs, when overlayed onto turfs, retain the direction they're set to, rather then inheriting from the turf + standard = make_mutable_appearance_directional(overlay) + // Build a hidden overlay, for drawing to ourselves (if we're butted up against another splitvis smoothed wall) + var/mutable_appearance/hidden = new(standard) + SET_PLANE_EXPLICIT(hidden, HIDDEN_WALL_PLANE, parent_atom) + src.hidden = hidden + // We keep a non offset version of the standard overlay to make sure we work if there's nothing in a particular direction + non_offset_standard = new /mutable_appearance(standard) + + src.dirs_to_apply = dirs_to_apply + + if(ismovable(parent)) + RegisterSignal(parent, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(on_movable_junction_change)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + RegisterSignal(parent, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(on_z_change)) + var/turf/our_turf = get_turf(parent_atom) + add_split_overlay(our_turf, parent_atom.smoothing_junction) + else + RegisterSignal(parent, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(on_turf_junction_change)) + add_split_overlay(parent_atom, parent_atom.smoothing_junction) + +/datum/component/split_overlay/UnregisterFromParent() + . = ..() + var/atom/atom_parent = parent + remove_split_overlay(parent, atom_parent.smoothing_junction) + UnregisterSignal(parent, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE) + if(ismovable(parent)) + UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_Z_CHANGED)) + return ..() + +/datum/component/split_overlay/proc/add_split_overlay(turf/target_turf, junction) + apply_split_overlay(target_turf, junction, add_to_turfs = TRUE) + +/datum/component/split_overlay/proc/remove_split_overlay(turf/target_turf, junction) + apply_split_overlay(target_turf, junction, add_to_turfs = FALSE) + +/// Applies our overlays, taking the turf to act from, current smoothing junction, and if we should add or remove our overlays +/datum/component/split_overlay/proc/apply_split_overlay(turf/apply_to, working_junction, add_to_turfs = TRUE) + for(var/apply_in in dirs_to_apply) + if(working_junction & apply_in) + continue + // We ensure all our overlays have their dirs set to the direction this is being applied in (so they can look different if they'd like) + var/draw_in = reverse_ndir(apply_in) + standard.dir = draw_in + non_offset_standard.dir = draw_in + hidden.dir = draw_in + // Offset the standard overlay to match the dir we're working with here + standard.pixel_x = -DIR_TO_PIXEL_X(apply_in) + standard.pixel_y = -DIR_TO_PIXEL_Y(apply_in) + + // Get the turf below us (not guarenteed to return anything, if it doesn't we'll apply to ourselves) + var/turf/below = get_step(apply_to, draw_in) + + if(add_to_turfs) + // If there's no turf below, apply non offset to ourselves (so it's still drawn) + if(!below) + apply_to.add_overlay(non_offset_standard) + // If the turf below is using splitvis, then we'll just draw to ourselves (to avoid seeing through walls and shit) + else if(HAS_TRAIT(below, TRAIT_CONTAINS_SPLITVIS)) + // Using hidden so it's not seeable through walls + apply_to.add_overlay(hidden) + // Otherwise we'll draw to them, offset slightly + else + below.add_overlay(standard) + continue + // Remove our overlay from the turf below, to ensure it gets properly cleared out + if(below) + below.cut_overlay(standard) + // Clear from us too, just to be safe + apply_to.cut_overlay(hidden) + // If there's nothing below us, clear the non offset version too + if(!below) + apply_to.cut_overlay(non_offset_standard) + +/datum/component/split_overlay/proc/on_turf_junction_change(turf/source, new_junction) + SIGNAL_HANDLER + remove_split_overlay(source, source.smoothing_junction) + add_split_overlay(source, new_junction) + +/datum/component/split_overlay/proc/on_movable_junction_change(atom/movable/source, new_junction) + SIGNAL_HANDLER + if(isturf(source.loc)) + remove_split_overlay(source.loc, source.smoothing_junction) + add_split_overlay(source.loc, new_junction) + +/datum/component/split_overlay/proc/on_move(atom/source, atom/old_loc, dir, forced, list/old_locs) + SIGNAL_HANDLER + if(isturf(old_loc)) + remove_split_overlay(old_loc, source.smoothing_junction) // We trust that junction changing from us moving will create the new visuals. just gotta cover the old + +/// If the parent move z levels, then we need to regenerate our overlays (since they have set plane values) +/datum/component/split_overlay/proc/on_z_change(atom/source, turf/old_turf, turf/new_turf, same_z_layer) + SIGNAL_HANDLER + if(same_z_layer) + return + SET_PLANE_EXPLICIT(standard, PLANE_TO_TRUE(standard.plane), new_turf) + SET_PLANE_EXPLICIT(non_offset_standard, PLANE_TO_TRUE(non_offset_standard.plane), new_turf) + SET_PLANE_EXPLICIT(hidden, PLANE_TO_TRUE(hidden.plane), new_turf) + // Called after Moved() so we don't need to handle removing from the old + remove_split_overlay(source, source.smoothing_junction) + add_split_overlay(source, source.smoothing_junction) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index c5d42797ab433..94521486bcc5f 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -128,7 +128,7 @@ UnregisterSignal(user, COMSIG_QDELETING) holder = null -///just gets rid of the reference to holder in the case that theyre qdeleted +///just gets rid of the reference to holder in the case that they're qdeleted /datum/component/squeak/proc/holder_deleted(datum/source, datum/possible_holder) SIGNAL_HANDLER if(possible_holder == holder) @@ -138,7 +138,7 @@ /datum/component/squeak/proc/disposing_react(datum/source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/disposal_source) SIGNAL_HANDLER - //We don't need to worry about unregistering this signal as it will happen for us automaticaly when the holder is qdeleted + //We don't need to worry about unregistering this signal as it will happen for us automatically when the holder is qdeleted RegisterSignal(disposal_holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(holder_dir_change)) /datum/component/squeak/proc/holder_dir_change(datum/source, old_dir, new_dir) diff --git a/code/datums/components/style/style.dm b/code/datums/components/style/style.dm index f39379d636783..cc8b061fd353e 100644 --- a/code/datums/components/style/style.dm +++ b/code/datums/components/style/style.dm @@ -37,8 +37,6 @@ var/timerid /// Highest score attained by this component, to avoid as much overhead when considering to award a high score to the client var/high_score = 0 - /// Weakref to the added projectile parry component - var/datum/weakref/projectile_parry /// What rank, minimum, the user needs to be to hotswap items var/hotswap_rank = STYLE_BRUTAL /// If this is multitooled, making it make funny noises on the user's rank going up @@ -100,8 +98,7 @@ RegisterSignal(parent, COMSIG_USER_ITEM_INTERACTION, PROC_REF(hotswap)) RegisterSignal(parent, COMSIG_MOB_MINED, PROC_REF(on_mine)) RegisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(on_take_damage)) - RegisterSignal(parent, COMSIG_MOB_EMOTED("flip"), PROC_REF(on_flip)) - RegisterSignal(parent, COMSIG_MOB_EMOTED("spin"), PROC_REF(on_spin)) + RegisterSignal(parent, COMSIG_MOB_EMOTED("taunt"), PROC_REF(on_taunt)) RegisterSignal(parent, COMSIG_MOB_ITEM_ATTACK, PROC_REF(on_attack)) RegisterSignal(parent, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(on_punch)) RegisterSignal(SSdcs, COMSIG_GLOB_MOB_DEATH, PROC_REF(on_death)) @@ -110,26 +107,13 @@ RegisterSignal(parent, COMSIG_LIVING_DEFUSED_GIBTONITE, PROC_REF(on_gibtonite_defuse)) RegisterSignal(parent, COMSIG_LIVING_CRUSHER_DETONATE, PROC_REF(on_crusher_detonate)) RegisterSignal(parent, COMSIG_LIVING_DISCOVERED_GEYSER, PROC_REF(on_geyser_discover)) - - projectile_parry = WEAKREF(parent.AddComponent(\ - /datum/component/projectile_parry,\ - list(\ - /obj/projectile/colossus,\ - /obj/projectile/temp/watcher,\ - /obj/projectile/kinetic,\ - /obj/projectile/bileworm_acid,\ - /obj/projectile/herald,\ - /obj/projectile/kiss,\ - )\ - ) - ) - + ADD_TRAIT(parent, TRAIT_MINING_PARRYING, STYLE_TRAIT) /datum/component/style/UnregisterFromParent() UnregisterSignal(parent, COMSIG_USER_ITEM_INTERACTION) UnregisterSignal(parent, COMSIG_MOB_MINED) UnregisterSignal(parent, COMSIG_MOB_APPLY_DAMAGE) - UnregisterSignal(parent, list(COMSIG_MOB_EMOTED("flip"), COMSIG_MOB_EMOTED("spin"))) + UnregisterSignal(parent, COMSIG_MOB_EMOTED("taunt")) UnregisterSignal(parent, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_LIVING_UNARMED_ATTACK)) UnregisterSignal(SSdcs, COMSIG_GLOB_MOB_DEATH) UnregisterSignal(parent, COMSIG_LIVING_RESONATOR_BURST) @@ -137,10 +121,7 @@ UnregisterSignal(parent, COMSIG_LIVING_DEFUSED_GIBTONITE) UnregisterSignal(parent, COMSIG_LIVING_CRUSHER_DETONATE) UnregisterSignal(parent, COMSIG_LIVING_DISCOVERED_GEYSER) - - if(projectile_parry) - qdel(projectile_parry.resolve()) - + REMOVE_TRAIT(parent, TRAIT_MINING_PARRYING, STYLE_TRAIT) /datum/component/style/Destroy(force) STOP_PROCESSING(SSdcs, src) @@ -150,14 +131,11 @@ mob_parent.hud_used.show_hud(mob_parent.hud_used.hud_version) return ..() - /datum/component/style/process(seconds_per_tick) point_multiplier = round(max(point_multiplier - 0.2 * seconds_per_tick, 1), 0.1) change_points(-5 * seconds_per_tick * ROUND_UP((style_points + 1) / 200), use_multiplier = FALSE) update_screen() - - /datum/component/style/proc/add_action(action, amount) if(length(actions) > 9) actions.Cut(1, 2) @@ -219,7 +197,7 @@ rank = rank_changed meter.maptext = "[format_rank_string(rank)][generate_multiplier()][generate_actions()]" - meter.maptext_y = 100 - 9 * length(actions) + meter.maptext_y = 94 - 12 * length(actions) update_meter(point_to_rank(), go_back) /datum/component/style/proc/update_meter(new_rank, go_back) @@ -270,19 +248,15 @@ return "SPACED!" /datum/component/style/proc/format_rank_string(new_rank) - var/rank_string = rank_to_string(new_rank) - var/final_string = "" - final_string += "[rank_string[1]]" - final_string += "[copytext(rank_string, 2)]" - return final_string + return MAPTEXT_PIXELLARI("[rank_to_string(new_rank)]") /datum/component/style/proc/generate_multiplier() - return "
MULTIPLIER: [point_multiplier]X" + return "
" + MAPTEXT_GRAND9K("MULTIPLIER: [point_multiplier]X") /datum/component/style/proc/generate_actions() var/action_string = "" for(var/action in actions) - action_string += "
+ [actions[action]]" + action_string += "
" + MAPTEXT_GRAND9K("+ [actions[action]]") return action_string /datum/component/style/proc/action_to_color(action) @@ -432,19 +406,12 @@ // Emote-based multipliers -/datum/component/style/proc/on_flip() +/datum/component/style/proc/on_taunt() SIGNAL_HANDLER point_multiplier = round(min(point_multiplier + 0.5, 3), 0.1) update_screen() -/datum/component/style/proc/on_spin() - SIGNAL_HANDLER - - point_multiplier = round(min(point_multiplier + 0.3, 3), 0.1) - update_screen() - - // Negative effects /datum/component/style/proc/on_take_damage(...) SIGNAL_HANDLER diff --git a/code/datums/components/style/style_meter.dm b/code/datums/components/style/style_meter.dm index 94263700dda21..eb9ca3653fc82 100644 --- a/code/datums/components/style/style_meter.dm +++ b/code/datums/components/style/style_meter.dm @@ -98,6 +98,7 @@ clean_up(loc) forceMove(get_turf(src)) + INVOKE_ASYNC(user, TYPE_PROC_REF(/mob, put_in_hands), src) return CLICK_ACTION_SUCCESS /obj/item/style_meter/multitool_act(mob/living/user, obj/item/tool) @@ -115,9 +116,7 @@ /// Unregister signals and just generally clean up ourselves after being removed from glasses /obj/item/style_meter/proc/clean_up(atom/movable/old_location) old_location.cut_overlay(meter_appearance) - UnregisterSignal(old_location, COMSIG_ITEM_EQUIPPED) - UnregisterSignal(old_location, COMSIG_ITEM_DROPPED) - UnregisterSignal(old_location, COMSIG_ATOM_EXAMINE) + UnregisterSignal(old_location, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ATOM_EXAMINE, COMSIG_CLICK_ALT)) UnregisterSignal(old_location, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL)) if(!style_meter) return @@ -132,7 +131,7 @@ maptext_height = 120 maptext_width = 105 maptext_x = 5 - maptext_y = 100 + maptext_y = 94 maptext = "" layer = SCREENTIP_LAYER diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index b8621d382f6fb..8e902ced2fdbf 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -43,7 +43,7 @@ src.min_distance = min_distance var/mob/P = parent - to_chat(P, span_notice("You are now able to launch tackles! You can do so by activating throw mode, and clicking on your target with an empty hand.")) + to_chat(P, span_notice("You are now able to launch tackles! You can do so by activating throw mode, and ") + span_boldnotice("RIGHT-CLICKING on your target with an empty hand.")) addtimer(CALLBACK(src, PROC_REF(resetTackle)), base_knockdown, TIMER_STOPPABLE) @@ -74,6 +74,9 @@ if(modifiers[ALT_CLICK] || modifiers[SHIFT_CLICK] || modifiers[CTRL_CLICK] || modifiers[MIDDLE_CLICK]) return + if(!modifiers[RIGHT_CLICK]) + return + if(!user.throw_mode || user.get_active_held_item() || user.pulling || user.buckled || user.incapacitated()) return diff --git a/code/datums/components/tactical.dm b/code/datums/components/tactical.dm index 59df008b2b100..0fedf9da0f163 100644 --- a/code/datums/components/tactical.dm +++ b/code/datums/components/tactical.dm @@ -42,6 +42,9 @@ RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(unmodify)) RegisterSignal(parent, COMSIG_ATOM_UPDATED_ICON, PROC_REF(on_icon_update)) RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + RegisterSignal(user, COMSIG_HUMAN_GET_VISIBLE_NAME, PROC_REF(on_name_inquiry)) + RegisterSignal(user, COMSIG_HUMAN_GET_FORCED_NAME, PROC_REF(on_name_inquiry)) + ADD_TRAIT(user, TRAIT_UNKNOWN, REF(src)) current_slot = slot @@ -56,12 +59,32 @@ user.remove_alt_appearance("sneaking_mission[REF(src)]") var/obj/item/master = parent var/image/image = image(master, loc = user) + image.pixel_y -= source.base_pixel_y + image.pixel_z -= source.base_pixel_z image.copy_overlays(master) image.override = TRUE image.layer = ABOVE_MOB_LAYER image.plane = FLOAT_PLANE user.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, "sneaking_mission[REF(src)]", image) + +/datum/component/tactical/proc/on_name_inquiry(obj/item/source, list/identity) + SIGNAL_HANDLER + + var/tactical_disguise_power = INFINITY // it's a flawless plan: they'll never look behind this unassuming potted plant + if(identity[VISIBLE_NAME_FORCED]) + if(identity[VISIBLE_NAME_FORCED] >= tactical_disguise_power) // my disguise is too powerful for you, traveler! but seriously this is bad + stack_trace("A name forcing signal ([identity[VISIBLE_NAME_FACE]]) has a priority collision with [src].") + else + identity[VISIBLE_NAME_FORCED] = tactical_disguise_power + else + identity[VISIBLE_NAME_FORCED] = tactical_disguise_power + + var/obj/item/flawless_disguise = parent + identity[VISIBLE_NAME_FACE] = flawless_disguise.name + identity[VISIBLE_NAME_ID] = flawless_disguise.name // for Unknown (as 'potted plant') says + + /datum/component/tactical/proc/unmodify(obj/item/source, mob/user) SIGNAL_HANDLER if(!source) @@ -77,8 +100,14 @@ COMSIG_MOVABLE_MOVED, COMSIG_ATOM_UPDATED_ICON, )) + + UnregisterSignal(user, list( + COMSIG_HUMAN_GET_VISIBLE_NAME, + COMSIG_HUMAN_GET_FORCED_NAME, + )) current_slot = null user.remove_alt_appearance("sneaking_mission[REF(src)]") + REMOVE_TRAIT(user, TRAIT_UNKNOWN, REF(src)) ///Checks if a mob is holding us, and if so we will modify our appearance to properly match w/ the mob. /datum/component/tactical/proc/tactical_update(obj/item/source) diff --git a/code/datums/components/temporary_glass_shatter.dm b/code/datums/components/temporary_glass_shatter.dm new file mode 100644 index 0000000000000..f3e1c3c2c924e --- /dev/null +++ b/code/datums/components/temporary_glass_shatter.dm @@ -0,0 +1,30 @@ +/// Component to make an item temporarily break glass +/datum/component/temporary_glass_shatterer/Initialize(...) + . = ..() + + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_ITEM_INTERACTING_WITH_ATOM, PROC_REF(on_tap)) + +/datum/component/temporary_glass_shatterer/proc/on_tap(obj/item/parent, mob/tapper, atom/target) + SIGNAL_HANDLER + + if(istype(target, /obj/structure/window)) + var/obj/structure/window_frame/frame = locate(/obj/structure/grille) in get_turf(target) + if(frame?.is_shocked()) + target.balloon_alert(tapper, "is shocked!") + return COMPONENT_CANCEL_ATTACK_CHAIN + + var/obj/structure/window/window = target + window.temporary_shatter() + else if(istype(target, /obj/structure/window_frame)) + var/obj/structure/window_frame/frame = target + if(frame.is_shocked()) + target.balloon_alert(tapper, "is shocked!") + return COMPONENT_CANCEL_ATTACK_CHAIN + + frame.temporary_shatter() + else + return + return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/datums/components/trader/trader.dm b/code/datums/components/trader/trader.dm index b10041385277d..d623a9943b893 100644 --- a/code/datums/components/trader/trader.dm +++ b/code/datums/components/trader/trader.dm @@ -52,7 +52,7 @@ * Format; list(TYPEPATH = list(PRICE, QUANTITY, ADDITIONAL_DESCRIPTION)) * Associated list of items able to be sold to the NPC with the money given for them. * The price given should be the "base" price; any price manipulation based on variables should be done with apply_sell_price_mods() - * ADDITIONAL_DESCRIPTION is any additional text added to explain how the variables of the item effect the price; if it's stack based, it's final price depends how much is in the stack + * ADDITIONAL_DESCRIPTION is any additional text added to explain how the variables of the item effect the price; if it's stack based, its final price depends how much is in the stack * EX; /obj/item/stack/sheet/mineral/diamond = list(500, INFINITY, ", per 100 cm3 sheet of diamond") * This list is filled by Initialize(), if you want to change the starting wanted items, modify initial_wanteds() */ @@ -327,7 +327,7 @@ Can accept both a type path, and an instance of a datum. Type path has priority. return original_cost /** - * Handles modifying/deleting the items to ensure that a proper amount is converted into cash; put into it's own proc to make the children of this not override a 30+ line sell_item() + * Handles modifying/deleting the items to ensure that a proper amount is converted into cash; put into its own proc to make the children of this not override a 30+ line sell_item() * * Arguments: * * selling - (Item REF) this is the item being sold diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index 5a3ff4b4cb070..dcb8d63a3c43e 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -217,10 +217,11 @@ if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELD, user) & COMPONENT_TWOHANDED_BLOCK_WIELD) user.dropItemToGround(parent, force = TRUE) return COMPONENT_EQUIPPED_FAILED // blocked wield from item + if (wield_callback?.Invoke(parent, user) & COMPONENT_TWOHANDED_BLOCK_WIELD) + return wielded = TRUE ADD_TRAIT(parent, TRAIT_WIELDED, REF(src)) RegisterSignal(user, COMSIG_MOB_SWAPPING_HANDS, PROC_REF(on_swapping_hands)) - wield_callback?.Invoke(parent, user) // update item stats and name var/obj/item/parent_item = parent diff --git a/code/datums/components/unobserved_actor.dm b/code/datums/components/unobserved_actor.dm index 7956c9034772a..007d39a0ae845 100644 --- a/code/datums/components/unobserved_actor.dm +++ b/code/datums/components/unobserved_actor.dm @@ -6,16 +6,19 @@ /datum/component/unobserved_actor /// Dictates what behaviour you're blocked from while observed var/unobserved_flags = NONE + /// List of action types which cannot be used while observed. Applies to all actions if not set, and does nothing if NO_OBSERVED_ACTIONS flag isnt present + var/list/affected_actions = null /// Cooldown to prevent message spam when holding a move button COOLDOWN_DECLARE(message_cooldown) -/datum/component/unobserved_actor/Initialize(unobserved_flags = NONE) +/datum/component/unobserved_actor/Initialize(unobserved_flags = NONE, list/affected_actions = null) . = ..() if (!isliving(parent)) return ELEMENT_INCOMPATIBLE if (unobserved_flags == NONE) CRASH("No behaviour flags provided to unobserved actor element") src.unobserved_flags = unobserved_flags + src.affected_actions = affected_actions /datum/component/unobserved_actor/RegisterWithParent() if (unobserved_flags & NO_OBSERVED_MOVEMENT) @@ -52,17 +55,21 @@ return COMPONENT_ATOM_BLOCK_DIR_CHANGE /// Called when the mob tries to use an ability -/datum/component/unobserved_actor/proc/on_tried_ability(mob/living/source) +/datum/component/unobserved_actor/proc/on_tried_ability(mob/living/source, datum/action) SIGNAL_HANDLER if (!check_if_seen(source)) return + if (!isnull(affected_actions) && !(action.type in affected_actions)) + return return COMPONENT_BLOCK_ABILITY_START /// Called when the mob tries to cast a spell -/datum/component/unobserved_actor/proc/on_tried_spell(mob/living/source) +/datum/component/unobserved_actor/proc/on_tried_spell(mob/living/source, datum/action) SIGNAL_HANDLER if (!check_if_seen(source)) return + if (!isnull(affected_actions) && !(action.type in affected_actions)) + return return SPELL_CANCEL_CAST /// Called when the mob tries to attack @@ -92,7 +99,7 @@ // We aren't in darkness, loop for viewers. for(var/mob/living/mob_target in oview(my_turf, 7)) // They probably cannot see us if we cannot see them... can they? - if(mob_target.client && !mob_target.is_blind() && !mob_target.has_unlimited_silicon_privilege && !HAS_TRAIT(mob_target, TRAIT_UNOBSERVANT)) + if(mob_target.client && !mob_target.is_blind() && !HAS_TRAIT(mob_target, TRAIT_UNOBSERVANT)) return TRUE for(var/obj/vehicle/sealed/mecha/mecha_mob_target in oview(my_turf, 7)) for(var/mob/mechamob_target as anything in mecha_mob_target.occupants) diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index d62414a862b24..d64022d22b872 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -3,7 +3,7 @@ /** * Uplinks * - * All /obj/item(s) have a hidden_uplink var. By default it's null. Give the item one with 'new(src') (it must be in it's contents). Then add 'uses.' + * All /obj/item(s) have a hidden_uplink var. By default it's null. Give the item one with 'new(src') (it must be in its contents). Then add 'uses.' * Use whatever conditionals you want to check that the user has an uplink, and then call interact() on their uplink. * You might also want the uplink menu to open if active. Check if the uplink is 'active' and then interact() with it. **/ @@ -227,9 +227,12 @@ for(var/datum/uplink_item/item as anything in uplink_handler.extra_purchasable) if(item.stock_key in stock_list) extra_purchasable_stock[REF(item)] = stock_list[item.stock_key] + var/atom/actual_item = item.item extra_purchasable += list(list( "id" = item.type, "name" = item.name, + "icon" = actual_item.icon, + "icon_state" = actual_item.icon_state, "cost" = item.cost, "desc" = item.desc, "category" = item.category ? initial(item.category.name) : null, @@ -288,6 +291,13 @@ return item = SStraitor.uplink_items_by_type[item_path] uplink_handler.purchase_item(ui.user, item, parent) + if("buy_raw_tc") + if (uplink_handler.telecrystals <= 0) + return + var/desired_amount = tgui_input_number(ui.user, "How many raw telecrystals to buy?", "Buy Raw TC", default = uplink_handler.telecrystals, max_value = uplink_handler.telecrystals) + if(!desired_amount || desired_amount < 1) + return + uplink_handler.purchase_raw_tc(ui.user, desired_amount, parent) if("lock") if(!lockable) return TRUE diff --git a/code/datums/components/vacuum.dm b/code/datums/components/vacuum.dm index c471dc13a16bc..0bf7888ff47e3 100644 --- a/code/datums/components/vacuum.dm +++ b/code/datums/components/vacuum.dm @@ -53,7 +53,7 @@ if (!isitem(potential_item)) continue var/obj/item/item = potential_item - if (vacuum_bag?.attackby(item)) + if (vacuum_bag.atom_storage.attempt_insert(item)) sucked = TRUE // track that we successfully sucked up something // if we did indeed suck up something, play a funny noise diff --git a/code/datums/components/vis_block.dm b/code/datums/components/vis_block.dm new file mode 100644 index 0000000000000..c194161705418 --- /dev/null +++ b/code/datums/components/vis_block.dm @@ -0,0 +1,252 @@ +#define VIS_BLOCK_FLAGS (RESET_COLOR|RESET_ALPHA|RESET_TRANSFORM|NO_CLIENT_COLOR|KEEP_TOGETHER) +/// Abstract object that gets smoothed, +/// used to allow code to get smoothing junctions for more then one "class of thing" at a time +/// (while not breaking our existing system) +/// Bit of a hack but that's life atm +/obj/effect/abstract/finder + // To make smoothin work + anchored = TRUE + invisibility = INVISIBILITY_MAXIMUM + smoothing_flags = SMOOTH_BITMASK + +/obj/effect/abstract/finder/wall + canSmoothWith = SMOOTH_GROUP_TALL_WALLS + +/obj/effect/abstract/finder/vis_block + smoothing_groups = SMOOTH_GROUP_VIS_BLOCK + canSmoothWith = SMOOTH_GROUP_VIS_BLOCK + +/obj/effect/abstract/finder/Initialize(mapload) + . = ..() + if(smoothing_flags & (SMOOTH_BITMASK|SMOOTH_CORNERS|SMOOTH_BORDER_OBJECT) && isturf(loc)) + QUEUE_SMOOTH(src) + QUEUE_SMOOTH_NEIGHBORS(src) + +/obj/effect/abstract/finder/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + if(!(smoothing_flags & (SMOOTH_BITMASK|SMOOTH_CORNERS|SMOOTH_BORDER_OBJECT))) + return + if(isturf(old_loc)) + QUEUE_SMOOTH_NEIGHBORS(old_loc) + if(isturf(loc)) + QUEUE_SMOOTH(src) + QUEUE_SMOOTH_NEIGHBORS(src) + else + SSicon_smooth.remove_from_queues(src) + +/// Applies directional opacity through a series of "vis" overlays +/// (drawing darkness onto our main object, and masks of that darkness on the turfs around us) +/datum/component/vis_block + /// List of direction -> mask to display + var/list/mutable_appearance/direction_to_mask = list() + /// Abstract object we keep on our turf to use (with smoothing) to keep track of adjacent walls + var/obj/effect/abstract/finder/wall/stud_finder + /// Abstract object we keep on our turf to use (with smoothing) to keep track of other instances of active vis_block + var/obj/effect/abstract/finder/vis_block/us_finder + /// Are we applying partial inner darkness right now + var/partial_darkness = FALSE + /// Are we actively blocking sight right now or not + var/actively_blocking = FALSE + /// What directions in which we do not fully cover our darkness with masks + var/dir_mask = NONE + /// Similar to the above but used for cases where walls are adjacent + var/edge_dir_mask = NONE + /// Allows for full directional visibility + /// Icon state prefix to use for masks from vis_mask.dmi + var/inner_transparent_dirs = NONE + /// Hack to get around the offset we use to hack an issue with vis_contents and large objects + /// Shifts overlays (ON OUR PARENT)'s z position by this amount + var/parent_z_shift = 0 + /// Directions in which there is a wall + var/wall_junction = NONE + /// Directions in which there is another active source of vis_block + var/us_junction = NONE + +/datum/component/vis_block/Initialize(dir_mask, edge_dir_mask, inner_transparent_dirs = NONE, parent_z_shift = 0) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + var/atom/atom_parent = parent + src.dir_mask = dir_mask + src.edge_dir_mask = edge_dir_mask + src.inner_transparent_dirs = inner_transparent_dirs + src.parent_z_shift = parent_z_shift + RegisterSignal(atom_parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(dir_changing)) + RegisterSignal(atom_parent, COMSIG_ATOM_SET_OPACITY, PROC_REF(opacity_changing)) + RegisterSignal(atom_parent, COMSIG_MOVABLE_MOVED, PROC_REF(parent_moved)) + stud_finder = new(atom_parent.loc) + wall_junction = stud_finder.smoothing_junction + RegisterSignal(stud_finder, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(wall_state_changed)) + us_finder = new(null) + RegisterSignal(us_finder, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(vis_block_state_changed)) + handle_new_position() + +/datum/component/vis_block/Destroy(force) + var/atom/atom_parent = parent + clear_opacity(atom_parent) + QDEL_NULL(stud_finder) + QDEL_NULL(us_finder) + return ..() + +/datum/component/vis_block/proc/dir_changing(datum/source, old_dir, new_dir) + SIGNAL_HANDLER + var/atom/atom_parent = parent + regenerate_opacity(new_dir, atom_parent.opacity) + +/datum/component/vis_block/proc/opacity_changing(datum/source, new_opacity) + SIGNAL_HANDLER + var/atom/atom_parent = parent + regenerate_opacity(atom_parent.dir, new_opacity) + +/datum/component/vis_block/proc/parent_moved(datum/source, atom/old_loc, dir, forced, list/old_locs) + SIGNAL_HANDLER + UnregisterSignal(old_loc, SIGNAL_REMOVETRAIT(TRAIT_INNER_DARKNESS)) + if(inner_transparent_dirs) + REMOVE_TRAIT(old_loc, TRAIT_INNER_DARKNESS, WEAKREF(src)) + clear_opacity(old_loc) + handle_new_position() + +/datum/component/vis_block/proc/overlay_home_changing(turf/source, path, list/new_baseturfs, flags, list/post_change_callbacks) + SIGNAL_HANDLER + post_change_callbacks += CALLBACK(src, PROC_REF(overlay_home_changed), source) + +/datum/component/vis_block/proc/overlay_home_changed(turf/changed) + SHOULD_NOT_SLEEP(TRUE) + var/atom/atom_parent = parent + var/turf/home = get_turf(atom_parent) + var/mutable_appearance/overlay = direction_to_mask["[get_dir(home, changed)]"] + if(!overlay) + return + + // Rare case, avoids potential race condition + changed.cut_overlay(overlay) + changed.add_overlay(overlay) + +/datum/component/vis_block/proc/wall_state_changed(datum/source, new_junction) + SIGNAL_HANDLER + wall_junction = new_junction + var/atom/atom_parent = parent + regenerate_opacity(atom_parent.dir, atom_parent.opacity) + +/datum/component/vis_block/proc/vis_block_state_changed(datum/source, new_junction) + SIGNAL_HANDLER + us_junction = new_junction + var/atom/atom_parent = parent + regenerate_opacity(atom_parent.dir, atom_parent.opacity) + +/datum/component/vis_block/proc/inner_darkness_inactive(datum/source) + SIGNAL_HANDLER + if(!partial_darkness) + return + var/atom/atom_parent = parent + var/turf/home = atom_parent.loc + if(HAS_TRAIT(home, TRAIT_INNER_DARKNESS)) + return + regenerate_opacity(atom_parent.dir, atom_parent.opacity) + +/datum/component/vis_block/proc/handle_new_position() + var/atom/atom_parent = parent + stud_finder.forceMove(atom_parent.loc) + if(actively_blocking) + us_finder.forceMove(atom_parent.loc) + generate_opacity(atom_parent.dir, atom_parent.opacity) + RegisterSignal(atom_parent.loc, SIGNAL_REMOVETRAIT(TRAIT_INNER_DARKNESS), PROC_REF(inner_darkness_inactive)) + +/datum/component/vis_block/proc/regenerate_opacity(dir, opacity) + var/atom/atom_parent = parent + clear_opacity(atom_parent) + generate_opacity(dir, opacity) + +/datum/component/vis_block/proc/clear_opacity(atom/center) + var/atom/atom_parent = parent + var/turf/old_home = get_turf(center) + atom_parent.cut_overlay(direction_to_mask["0"]) + for(var/check_dir in GLOB.cardinals) + var/mutable_appearance/dir_overlay = direction_to_mask["[check_dir]"] + if(!dir_overlay) + continue + var/turf/in_direction = get_step(old_home, check_dir) + if(!in_direction) + continue + in_direction.cut_overlay(dir_overlay) + UnregisterSignal(in_direction, COMSIG_TURF_CHANGE) + if(partial_darkness) + partial_darkness = FALSE + REMOVE_TRAIT(atom_parent.loc, TRAIT_INNER_DARKNESS, WEAKREF(src)) + direction_to_mask = list() + +/datum/component/vis_block/proc/generate_opacity(dir, opacity) + var/atom/atom_parent = parent + if(!isturf(atom_parent.loc) || !opacity) + if(actively_blocking) + actively_blocking = FALSE + us_finder.moveToNullspace() + return + if(!actively_blocking) + actively_blocking = TRUE + us_finder.forceMove(atom_parent.loc) + var/turf/home = atom_parent.loc + + /// This is the darkness everything else will be masking out + var/mutable_appearance/darkness_base = mutable_appearance('icons/effects/vis_darkness.dmi', "[wall_junction]", offset_spokesman = atom_parent, plane = DARKNESS_MASK_PLANE, appearance_flags = VIS_BLOCK_FLAGS|KEEP_APART) + darkness_base.pixel_w = -5 + darkness_base.pixel_z = parent_z_shift + partial_darkness = FALSE + for(var/check_dir in GLOB.cardinals) + if(!(check_dir & (dir | REVERSE_DIR(dir)))) + // If we are not up against one of our own own, OR a wall + if(check_dir & (wall_junction|us_junction)) + continue + // AND we have holes in our darkness (an "inside") + if(inner_transparent_dirs == NONE) + continue + // Then we draw a mask on ourselves, on our OWN turf, to allow say the turf below some vertical headroom + darkness_base.add_overlay(mutable_appearance('icons/effects/vis_mask.dmi', "[edge_dir_mask]_dark_edge_[dir2text(check_dir)]", HIGHEST_GAME_LAYER, offset_spokesman = atom_parent, plane = DARKNESS_MASK_PLANE, appearance_flags = VIS_BLOCK_FLAGS)) + continue + var/turf/in_direction = get_step(home, check_dir) + if(!in_direction) + continue + + // Base mask applied to darkness, masks out only the side we can see (since we overlay it on the turf facing said side) + var/mutable_appearance/mask = mutable_appearance('icons/effects/vis_mask.dmi', dir_mask, HIGHEST_GAME_LAYER, offset_spokesman = atom_parent, plane = DARKNESS_MASK_PLANE, appearance_flags = VIS_BLOCK_FLAGS|KEEP_APART) + mask = make_mutable_appearance_directional(mask) + mask.dir = check_dir + mask.pixel_w = -5 + switch(check_dir) + if(NORTH) + mask.pixel_y = -32 + if(SOUTH) + mask.pixel_y = 32 + if(EAST) + mask.pixel_x = -32 + if(WEST) + mask.pixel_x = 32 + + // These handle connecting edges with walls + // (since they have different bounds and I want to show walls say, going in slightly in some cases without doing the same to connected blockers) + if(wall_junction & NORTH) + mask.add_overlay(mutable_appearance(mask.icon, "[edge_dir_mask]_edge_north", appearance_flags = VIS_BLOCK_FLAGS)) + if(wall_junction & SOUTH) + mask.add_overlay(mutable_appearance(mask.icon, "[edge_dir_mask]_edge_south", appearance_flags = VIS_BLOCK_FLAGS)) + if(wall_junction & EAST) + mask.add_overlay(mutable_appearance(mask.icon, "[edge_dir_mask]_edge_east", appearance_flags = VIS_BLOCK_FLAGS)) + if(wall_junction & WEST) + mask.add_overlay(mutable_appearance(mask.icon, "[edge_dir_mask]_edge_west", appearance_flags = VIS_BLOCK_FLAGS)) + // If our inside is transparent in this case, draw the standard darkness + // Using a half alpha and BLEND_SUBTRACT + // This way if both stack we'll get darkness and opacity, and if they don't nothing will happen + // Also only apply once per turf to avoid breaking on overlap + if(check_dir & inner_transparent_dirs) + partial_darkness = TRUE + if(!HAS_TRAIT(home, TRAIT_INNER_DARKNESS) || HAS_TRAIT_FROM(home, TRAIT_INNER_DARKNESS, WEAKREF(src))) + ADD_TRAIT(home, TRAIT_INNER_DARKNESS, WEAKREF(src)) + var/mutable_appearance/half_darken = mutable_appearance('icons/effects/vis_darkness.dmi', "[wall_junction]", alpha = 130, appearance_flags = VIS_BLOCK_FLAGS) + half_darken.blend_mode = BLEND_SUBTRACT + mask.add_overlay(half_darken) + + in_direction.add_overlay(mask) + direction_to_mask["[check_dir]"] = mask + RegisterSignal(in_direction, COMSIG_TURF_CHANGE, PROC_REF(overlay_home_changing)) + direction_to_mask["0"] = darkness_base + atom_parent.add_overlay(darkness_base) + +#undef VIS_BLOCK_FLAGS diff --git a/code/datums/components/wall_mounted.dm b/code/datums/components/wall_mounted.dm index a10fb2468334d..cada81a276c01 100644 --- a/code/datums/components/wall_mounted.dm +++ b/code/datums/components/wall_mounted.dm @@ -1,4 +1,9 @@ -// This element should be applied to wall-mounted machines/structures, so that if the wall it's "hanging" from is broken or deconstructed, the wall-hung structure will deconstruct. +/** + * This element should be applied to wall-mounted machines/structures, + * so that if the wall it's "hanging" from is broken or deconstructed, + * the wall-hung structure will deconstruct. + */ + /datum/component/wall_mounted dupe_mode = COMPONENT_DUPE_ALLOWED /// The wall our object is currently linked to. @@ -87,12 +92,13 @@ * @param directional If TRUE, will use the direction of the object to determine the wall to attach to. If FALSE, will use the object's loc. * @param custom_drop_callback If set, will use this callback instead of the default deconstruct callback. */ -/obj/proc/find_and_hang_on_wall(directional = TRUE, custom_drop_callback) +/obj/proc/find_and_hang_on_wall(directional = TRUE, custom_drop_callback, wall_layer = ON_WALL_LAYER) + AddElement(/datum/element/wall_mount, wall_layer) if(istype(get_area(src), /area/shuttle)) return FALSE //For now, we're going to keep the component off of shuttles to avoid the turf changing issue. We'll hit that later really; var/turf/attachable_wall if(directional) - attachable_wall = get_step(src, dir) + attachable_wall = get_step(src, REVERSE_DIR(dir)) else attachable_wall = loc ///Pull from the curent object loc if(!iswallturf(attachable_wall)) diff --git a/code/datums/components/window_smoothing.dm b/code/datums/components/window_smoothing.dm new file mode 100644 index 0000000000000..f60d55a3e4cea --- /dev/null +++ b/code/datums/components/window_smoothing.dm @@ -0,0 +1,145 @@ +// Yello +// This component mangages drawing windows, and their smoothing +// It mostly exists because of how windows need to "sorta" smooth with walls +// And the extra rules around that and frills +// Love you <3 + +/mutable_appearance/window_vis + +/mutable_appearance/window_vis/New() + . = ..() + // Need to do this here because it's overriden by the parent call + appearance_flags = TILE_BOUND | RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + +GLOBAL_LIST_EMPTY(window_appearances) + +/proc/get_window_appearance(z_offset, icon_path, junction, side, alt = FALSE, pixel_y = 0, plane = GAME_PLANE) + var/key = "[icon_path]-[junction]-[side]-[alt]-[pixel_y]-[plane]-[z_offset]" + var/mutable_appearance/split_vis/vis = GLOB.window_appearances[key] + if(vis) + return vis + + vis = new /mutable_appearance/split_vis() + vis.icon = icon_path + var/state = junction ? "[junction]-[side]" : "0-[side]" + if(alt) + state = "alt-[state]" + vis.icon_state = state + vis.pixel_y = pixel_y + SET_PLANE_W_SCALAR(vis, plane, z_offset) + + GLOB.window_appearances[key] = vis + return vis + +/datum/component/window_smoothing + var/icon_path + var/list/mutable_appearance/our_appearances = list() + var/mutable_appearance/appearance_above + var/turf/paired_turf + /// A type of turf to ignore when doing our closed check + /// Useful for cases where WE are a turf! *gasp of shock/fear* + var/turf/ignored_turf + +/datum/component/window_smoothing/Initialize(ignored_turf = null) + . = ..() + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + var/atom/parent_atom = parent + if(!(parent_atom.smoothing_flags & (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS))) + stack_trace("We tried to splitvis something without bitmask smoothing. What?") + return COMPONENT_INCOMPATIBLE + + reset_icon() + RegisterSignal(parent, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(on_junction_change)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, PROC_REF(update_icon)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) + +/datum/component/window_smoothing/proc/reset_icon() + var/atom/parent_atom = parent + if(!parent_atom.icon) + return + if(icon_path != parent_atom.icon) + if(icon_path) + remove_smoothing() + icon_path = parent_atom.icon + add_smoothing(parent_atom.smoothing_junction) + parent_atom.icon = "" + +/datum/component/window_smoothing/proc/add_smoothing(new_junction) + var/atom/parent = src.parent + + if(!parent.loc) //we shouldnt add frills if we're in nullspace + return + + var/junction = new_junction + + if(isnull(junction)) + junction = parent.smoothing_junction + + var/turf/our_turf = get_turf(parent) + var/offset = GET_Z_PLANE_OFFSET(our_turf.z) + // Alright. First we're gonna decide how to display our lower section + // So we'll start with "do we have a wall down there" + // we check to the south east and west too because action hates me + // OF NOTE: + // what we are checking here is if there's a wall below, OR if there's a wall to the south(east|west) and + // a SMOOTHING TARGET to the south. + // This ensures we only use the alt display if there's a wall there, AND we're smoothing into it + var/wall_below = (isclosedturf(get_step(our_turf, SOUTH)) && (!ignored_turf || !istype(get_step(our_turf, SOUTH), ignored_turf))) || \ + ((junction & SOUTH) && isclosedturf(get_step(our_turf, SOUTHEAST)) && (!ignored_turf || !istype(get_step(our_turf, SOUTHWEST), ignored_turf))) || \ + ((junction & SOUTH) && isclosedturf(get_step(our_turf, SOUTHWEST)) && (!ignored_turf || !istype(get_step(our_turf, SOUTHWEST), ignored_turf))) + // If there's a wall below us, we render different + our_appearances += get_window_appearance(offset, icon_path, junction, "lower", wall_below) + + if(paired_turf) + stack_trace("We tried to generate a connection to a turf while one already exists") + // Now we'll check above + // If there's nothin, we'll use a frill. Otherwise we won't + paired_turf = get_step(our_turf, NORTH) + // wallening TODO: ok this shit ain't working. Instead of trying to track walls like this, we should attach an effect object to the turf of our window that smooths for walls, and pass that into window logic + + // We only display an above state if there's a wall, OR if we're smoothing with nothing up there + if(isclosedturf(paired_turf) && (!ignored_turf || !istype(paired_turf, ignored_turf))) + our_appearances += get_window_appearance(offset, icon_path, junction, "upper", TRUE, pixel_y = 32) + UnregisterSignal(paired_turf, COMSIG_QDELETING) + else if(!(junction & NORTH)) + // Draw to the turf above you so this can be seen without seeing the window's turf. Oh and draw this as a frill + // We use the parent's pixel y as a part of this to ensure everything lines up proper when the parent is all shifted around + appearance_above = get_window_appearance(offset, icon_path, junction, "upper", FALSE, pixel_y = parent.pixel_y, plane = FRILL_PLANE) + paired_turf.add_overlay(appearance_above) + RegisterSignal(paired_turf, COMSIG_QDELETING, PROC_REF(tied_turf_deleted), override = TRUE) // Override because this could be called multiple times + else + UnregisterSignal(paired_turf, COMSIG_QDELETING) + + parent.add_overlay(our_appearances) + +/datum/component/window_smoothing/proc/remove_smoothing() + var/atom/atom_parent = parent + atom_parent.cut_overlay(our_appearances) + our_appearances.Cut() + + paired_turf.cut_overlay(appearance_above) + paired_turf = null + +/datum/component/window_smoothing/Destroy() + remove_smoothing() + return ..() + +/datum/component/window_smoothing/proc/on_junction_change(atom/source, new_junction) + SIGNAL_HANDLER + remove_smoothing() + add_smoothing(new_junction) + +/datum/component/window_smoothing/proc/update_icon(datum/source) + SIGNAL_HANDLER + reset_icon() + +/datum/component/window_smoothing/proc/tied_turf_deleted(turf/source) + SIGNAL_HANDLER + remove_smoothing() + add_smoothing() + +/datum/component/window_smoothing/proc/on_moved(atom/movable/parent, turf/old_turf, dir) + SIGNAL_HANDLER + remove_smoothing() + add_smoothing() diff --git a/code/datums/components/wormborn.dm b/code/datums/components/wormborn.dm new file mode 100644 index 0000000000000..6d49720701657 --- /dev/null +++ b/code/datums/components/wormborn.dm @@ -0,0 +1,77 @@ +/datum/component/wormborn + +/datum/component/wormborn/Initialize(...) + . = ..() + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + +/datum/component/wormborn/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(second_breath)) + +/datum/component/wormborn/UnregisterFromParent() + . = ..() + UnregisterSignal(parent, COMSIG_LIVING_DEATH) + +/datum/component/wormborn/proc/second_breath(mob/living/source) + SIGNAL_HANDLER + + if(get_area(source) == GLOB.areas_by_type[/area/centcom/wizard_station]) + return + source.buckled?.unbuckle_mob(source, force = TRUE) + + if(source.movement_type & VENTCRAWLING) + source.forceMove(get_turf(source)) + + var/mob/living/worm = new /mob/living/basic/wizard_worm(get_turf(source)) + source.mind?.transfer_to(worm) + source.forceMove(worm) + +/mob/living/basic/wizard_worm + SET_BASE_VISUAL_PIXEL(0, 6) + name = "Magic Worm" + desc = "Large blue worm. What happens if you put your hand in his mouth?." + icon = 'icons/mob/simple/mob.dmi' + icon_state = "wizard_start" + icon_living = "wizard_start" + base_icon_state = "wizard" + maxHealth = 800 + health = 800 + melee_damage_lower = 20 + melee_damage_upper = 30 + obj_damage = 200 + speed = 0 + move_force = MOVE_FORCE_OVERPOWERING + move_resist = MOVE_FORCE_OVERPOWERING + pull_force = MOVE_FORCE_OVERPOWERING + mob_size = MOB_SIZE_HUGE + sentience_type = SENTIENCE_BOSS + mob_biotypes = MOB_ORGANIC|MOB_SPECIAL + shadow_offset_y = 4 + shadow_type = SHADOW_LARGE + +/mob/living/basic/wizard_worm/has_gravity(turf/gravity_turf) + return TRUE + +/mob/living/basic/wizard_worm/can_be_pulled() + return FALSE + +/mob/living/basic/wizard_worm/Initialize(mapload, spawn_bodyparts = TRUE) + . = ..() + AddElement(/datum/element/wall_tearer) + + if(spawn_bodyparts) + build_tail() + +/mob/living/basic/wizard_worm/proc/build_tail(mob/living/tail) + AddComponent(/datum/component/mob_chain, vary_icon_state = TRUE) + var/mob/living/basic/wizard_worm/prev = src + for(var/i in 1 to 5) + prev = new_segment(behind = prev) + update_appearance(UPDATE_ICON_STATE) + +/mob/living/basic/wizard_worm/proc/new_segment(mob/living/basic/wizard_worm/behind) + var/mob/living/segment = new type(drop_location(), FALSE) + ADD_TRAIT(segment, TRAIT_PERMANENTLY_MORTAL, INNATE_TRAIT) + segment.AddComponent(/datum/component/mob_chain, front = behind, vary_icon_state = TRUE) + return segment diff --git a/code/datums/datum.dm b/code/datums/datum.dm index b7e11010e8fe5..3361229b92e43 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -93,7 +93,7 @@ * Default implementation of clean-up code. * * This should be overridden to remove all references pointing to the object being destroyed, if - * you do override it, make sure to call the parent and return it's return value by default + * you do override it, make sure to call the parent and return its return value by default * * Return an appropriate [QDEL_HINT][QDEL_HINT_QUEUE] to modify handling of your deletion; * in most cases this is [QDEL_HINT_QUEUE]. @@ -111,6 +111,9 @@ tag = null datum_flags &= ~DF_USE_TAG //In case something tries to REF us weak_reference = null //ensure prompt GCing of weakref. + if(!(datum_flags & DF_STATIC_OBJECT)) + DREAMLUAU_CLEAR_REF_USERDATA(vars) // vars ceases existing when src does, so we need to clear any lua refs to it that exist. + DREAMLUAU_CLEAR_REF_USERDATA(src) if(_active_timers) var/list/timers = _active_timers @@ -340,7 +343,7 @@ . = ..() update_item_action_buttons() -/** Update a filter's parameter to the new one. If the filter doesnt exist we won't do anything. +/** Update a filter's parameter to the new one. If the filter doesn't exist we won't do anything. * * Arguments: * * name - Filter name @@ -358,7 +361,7 @@ filter_data[name][thing] = new_params[thing] update_filters() -/** Update a filter's parameter and animate this change. If the filter doesnt exist we won't do anything. +/** Update a filter's parameter and animate this change. If the filter doesn't exist we won't do anything. * Basically a [datum/proc/modify_filter] call but with animations. Unmodified filter parameters are kept. * * Arguments: diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index aeea8b22cbaab..944532324af10 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -23,8 +23,8 @@ /** * Gets all the dropdown options in the vv menu. - * When overriding, make sure to call . = ..() first and appent to the result, that way parent items are always at the top and child items are further down. - * Add seperators by doing VV_DROPDOWN_OPTION("", "---") + * When overriding, make sure to call . = ..() first and append to the result, that way parent items are always at the top and child items are further down. + * Add separators by doing VV_DROPDOWN_OPTION("", "---") */ /datum/proc/vv_get_dropdown() SHOULD_CALL_PARENT(TRUE) @@ -44,7 +44,7 @@ /** * This proc is only called if everything topic-wise is verified. The only verifications that should happen here is things like permission checks! * href_list is a reference, modifying it in these procs WILL change the rest of the proc in topic.dm of admin/view_variables! - * This proc is for "high level" actions like admin heal/set species/etc/etc. The low level debugging things should go in admin/view_variables/topic_basic.dm incase this runtimes. + * This proc is for "high level" actions like admin heal/set species/etc/etc. The low level debugging things should go in admin/view_variables/topic_basic.dm in case this runtimes. */ /datum/proc/vv_do_topic(list/href_list) if(!usr || !usr.client || !usr.client.holder || !check_rights(NONE)) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 9560820f2f048..154027b8b9ae6 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -146,6 +146,8 @@ cycles_to_beat = max(DISEASE_RECOVERY_SCALING, DISEASE_CYCLES_HARMFUL) if(DISEASE_SEVERITY_BIOHAZARD) cycles_to_beat = max(DISEASE_RECOVERY_SCALING, DISEASE_CYCLES_BIOHAZARD) + else + cycles_to_beat = max(DISEASE_RECOVERY_SCALING, DISEASE_CYCLES_NONTHREAT) peaked_cycles += stage/max_stages //every cycle we spend sick counts towards eventually curing the virus, faster at higher stages recovery_prob += DISEASE_RECOVERY_CONSTANT + (peaked_cycles / (cycles_to_beat / DISEASE_RECOVERY_SCALING)) //more severe viruses are beaten back more aggressively after the peak if(stage_peaked) diff --git a/code/datums/diseases/adrenal_crisis.dm b/code/datums/diseases/adrenal_crisis.dm index cd9a2dd318010..aa9587c2e1ab9 100644 --- a/code/datums/diseases/adrenal_crisis.dm +++ b/code/datums/diseases/adrenal_crisis.dm @@ -8,7 +8,7 @@ agent = "Shitty Adrenal Glands" viable_mobtypes = list(/mob/living/carbon/human) spreading_modifier = 1 - desc = "If left untreated the subject will suffer from lethargy, dizziness and periodic loss of conciousness." + desc = "If left untreated the subject will suffer from lethargy, dizziness and periodic loss of consciousness." severity = DISEASE_SEVERITY_MEDIUM spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS spread_text = "Organ failure" diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 8c8e8e02169b4..82099a7532b52 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -265,7 +265,7 @@ properties["severity"] += round((properties["transmittable"] / 8), 1) properties["severity"] = round((properties["severity"] / 2), 1) properties["severity"] *= (symptoms.len / VIRUS_SYMPTOM_LIMIT) //fewer symptoms, less severity - properties["severity"] = clamp(properties["severity"], 1, 7) + properties["severity"] = round(clamp(properties["severity"], 1, 7), 1) properties["capacity"] = get_symptom_weights() // Assign the properties that are in the list. diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm index 47044068f242e..6ae9fe42b6e3a 100644 --- a/code/datums/diseases/advance/symptoms/choking.dm +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -74,7 +74,7 @@ Asphyxiation Very very noticable. Decreases stage speed. - Decreases transmittablity. + Decreases transmittability. Bonus Inflicts large spikes of oxyloss diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm index fad70aff23f72..79f0646a5c4b3 100644 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -14,7 +14,7 @@ stage_speed = -3 transmittable = -4 level = 6 - base_message_chance = 5 + base_message_chance = 3 symptom_delay_min = 1 symptom_delay_max = 1 required_organ = ORGAN_SLOT_LUNGS @@ -40,26 +40,32 @@ if(4, 5) infected_mob.losebreath = max(0, infected_mob.losebreath - 4) infected_mob.adjustOxyLoss(-7) + if(prob(base_message_chance)) + to_chat(infected_mob, span_notice("You realize you haven't been breathing.")) if(regenerate_blood && infected_mob.blood_volume < BLOOD_VOLUME_NORMAL) infected_mob.blood_volume += 1 else if(prob(base_message_chance)) - to_chat(infected_mob, span_notice("[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")) + to_chat(infected_mob, span_notice("Your lungs feel great.")) return -/datum/symptom/oxygen/on_stage_change(datum/disease/advance/A) +/datum/symptom/oxygen/on_stage_change(datum/disease/advance/advanced_disease) . = ..() if(!.) return FALSE - var/mob/living/carbon/M = A.affected_mob - if(A.stage >= 4) - ADD_TRAIT(M, TRAIT_NOBREATH, DISEASE_TRAIT) + var/mob/living/carbon/infected_mob = advanced_disease.affected_mob + if(advanced_disease.stage >= 4) + ADD_TRAIT(infected_mob, TRAIT_NOBREATH, DISEASE_TRAIT) + if(advanced_disease.stage == 4) + to_chat(infected_mob, span_notice("You don't feel the need to breathe anymore.")) else - REMOVE_TRAIT(M, TRAIT_NOBREATH, DISEASE_TRAIT) + REMOVE_TRAIT(infected_mob, TRAIT_NOBREATH, DISEASE_TRAIT) + if(advanced_disease.stage_peaked && advanced_disease.stage == 3) + to_chat(infected_mob, span_notice("You feel the need to breathe again.")) return TRUE -/datum/symptom/oxygen/End(datum/disease/advance/A) +/datum/symptom/oxygen/End(datum/disease/advance/advanced_disease) . = ..() if(!.) return - REMOVE_TRAIT(A.affected_mob, TRAIT_NOBREATH, DISEASE_TRAIT) + REMOVE_TRAIT(advanced_disease.affected_mob, TRAIT_NOBREATH, DISEASE_TRAIT) diff --git a/code/datums/diseases/chronic_illness.dm b/code/datums/diseases/chronic_illness.dm index d99d29e61a851..b1afd1d1939a9 100644 --- a/code/datums/diseases/chronic_illness.dm +++ b/code/datums/diseases/chronic_illness.dm @@ -1,7 +1,7 @@ /datum/disease/chronic_illness name = "Hereditary Manifold Sickness" max_stages = 5 - spread_text = "Unspread Illness" + spread_text = "Non-communicable disease" spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS disease_flags = CHRONIC infectable_biotypes = MOB_ORGANIC | MOB_MINERAL | MOB_ROBOTIC @@ -65,8 +65,8 @@ to_chat(affected_mob, span_danger("[pick("You feel as though your atoms are accelerating in place.", "You feel like you're being torn apart!")]")) affected_mob.emote("scream") need_mob_update += affected_mob.adjustBruteLoss(10, updating_health = FALSE) - if(need_mob_update) - affected_mob.updatehealth() + if(need_mob_update) + affected_mob.updatehealth() if(5) switch(rand(1,2)) if(1) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index e5d4657c17660..f16cf5bc50cf0 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) var/list/features = list("mcolor" = COLOR_WHITE) ///Stores the hashed values of the person's non-human features var/unique_features - ///Stores the real name of the person who originally got this dna datum. Used primarely for changelings, + ///Stores the real name of the person who originally got this dna datum. Used primarily for changelings, var/real_name ///All mutations are from now on here var/list/mutations = list() @@ -77,7 +77,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) ///List of the default genes from this mutation to allow DNA Scanner highlighting var/default_mutation_genes[DNA_MUTATION_BLOCKS] var/stability = 100 - ///Did we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers. + ///Did we take something like mutagen? In that case we can't get our genes scanned to instantly cheese all the powers. var/scrambled = FALSE /// Weighted list of nonlethal meltdowns var/static/list/nonfatal_meltdowns = list() @@ -216,8 +216,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) L[DNA_TAIL_BLOCK] = construct_block(SSaccessories.tails_list_human.Find(features["tail_cat"]), length(SSaccessories.tails_list_human)) if(features["tail_lizard"]) L[DNA_LIZARD_TAIL_BLOCK] = construct_block(SSaccessories.tails_list_lizard.Find(features["tail_lizard"]), length(SSaccessories.tails_list_lizard)) - if(features["tail_monkey"]) - L[DNA_MONKEY_TAIL_BLOCK] = construct_block(SSaccessories.tails_list_monkey.Find(features["tail_monkey"]), length(SSaccessories.tails_list_monkey)) if(features["snout"]) L[DNA_SNOUT_BLOCK] = construct_block(SSaccessories.snouts_list.Find(features["snout"]), length(SSaccessories.snouts_list)) if(features["horns"]) @@ -362,8 +360,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_human.Find(features["tail_cat"]), length(SSaccessories.tails_list_human))) if(DNA_LIZARD_TAIL_BLOCK) set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_lizard.Find(features["tail_lizard"]), length(SSaccessories.tails_list_lizard))) - if(DNA_MONKEY_TAIL_BLOCK) - set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_monkey.Find(features["tail_monkey"]), length(SSaccessories.tails_list_monkey))) if(DNA_SNOUT_BLOCK) set_uni_feature_block(blocknumber, construct_block(SSaccessories.snouts_list.Find(features["snout"]), length(SSaccessories.snouts_list))) if(DNA_HORNS_BLOCK) @@ -400,8 +396,9 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(holder && (human_mutation in mutations)) set_se(0, human_mutation) . = human_mutation.on_losing(holder) - qdel(human_mutation) // qdel mutations on removal - update_instability(FALSE) + if(!(human_mutation in mutations)) + qdel(human_mutation) // qdel mutations on removal + update_instability(FALSE) return /** @@ -668,8 +665,6 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) dna.features["tail_cat"] = SSaccessories.tails_list_human[deconstruct_block(get_uni_feature_block(features, DNA_TAIL_BLOCK), length(SSaccessories.tails_list_human))] if(dna.features["tail_lizard"]) dna.features["tail_lizard"] = SSaccessories.tails_list_lizard[deconstruct_block(get_uni_feature_block(features, DNA_LIZARD_TAIL_BLOCK), length(SSaccessories.tails_list_lizard))] - if(dna.features["tail_monkey"]) - dna.features["tail_monkey"] = SSaccessories.tails_list_monkey[deconstruct_block(get_uni_feature_block(features, DNA_MONKEY_TAIL_BLOCK), length(SSaccessories.tails_list_monkey))] if(dna.features["ears"]) dna.features["ears"] = SSaccessories.ears_list[deconstruct_block(get_uni_feature_block(features, DNA_EARS_BLOCK), length(SSaccessories.ears_list))] if(dna.features["moth_wings"]) @@ -687,8 +682,8 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(dna.features["pod_hair"]) dna.features["pod_hair"] = SSaccessories.pod_hair_list[deconstruct_block(get_uni_feature_block(features, DNA_POD_HAIR_BLOCK), length(SSaccessories.pod_hair_list))] - for(var/obj/item/organ/external/external_organ in organs) - external_organ.mutate_feature(features, src) + for(var/obj/item/organ/organ in organs) + organ.mutate_feature(features, src) if(icon_update) update_body(is_creating = mutcolor_update) @@ -748,7 +743,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(istype(mutation, /datum/mutation/human)) var/datum/mutation/human/M = mutation mutation_type = M.type - if(!mutation_in_sequence(mutation_type)) //cant activate what we dont have, use add_mutation + if(!mutation_in_sequence(mutation_type)) //can't activate what we don't have, use add_mutation return FALSE add_mutation(mutation, MUT_NORMAL) return TRUE diff --git a/code/datums/dog_fashion.dm b/code/datums/dog_fashion.dm index c2154736cc0f0..7aa7f120e7509 100644 --- a/code/datums/dog_fashion.dm +++ b/code/datums/dog_fashion.dm @@ -243,3 +243,18 @@ obj_icon_state = "eyepatch" emote_hear = list("sighs gruffly.", "groans.") emote_see = list("considers their own mortality.", "stares bleakly into the middle distance.", "ponders the horrors of warfare.") + +/datum/dog_fashion/head/watermelon + name = "Watermelon Warrior %REAL_NAME%" + desc = "5% safer than normal and ready to take on advantage!" + obj_icon_state = "watermelon" + +/datum/dog_fashion/head/holymelon + name = "Holymelon Paladin %REAL_NAME%" + desc = "Extraterrestial powers beware, %NAME% is here to smite you down!" + obj_icon_state = "holymelon" + +/datum/dog_fashion/head/barrelmelon + name = "Barrelmelon Berserk %REAL_NAME%" + desc = "Either the sturdiness of the helmet gave %REAL_NAME% a confidence boost, or its bit tight on their head..." + obj_icon_state = "barrelmelon" diff --git a/code/datums/ductnet.dm b/code/datums/ductnet.dm index e97add695d9a3..5cc241cce2b5b 100644 --- a/code/datums/ductnet.dm +++ b/code/datums/ductnet.dm @@ -35,7 +35,7 @@ demanders += P return TRUE -///remove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects +///remove a plumber. we don't delete ourselves because ductnets don't persist through plumbing objects /datum/ductnet/proc/remove_plumber(datum/component/plumbing/P) suppliers.Remove(P) //we're probably only in one of these, but Remove() is inherently sane so this is fine demanders.Remove(P) @@ -62,7 +62,7 @@ var/obj/machinery/duct/M = A M.duct = src //forget your old master - D.ducts.Cut() //clear this so the other network doesnt clear the ducts along with themselves (this took the life out of me) + D.ducts.Cut() //clear this so the other network doesn't clear the ducts along with themselves (this took the life out of me) D.destroy_network() ///destroy the network and tell all our ducts and plumbers we are gone @@ -72,5 +72,5 @@ for(var/A in ducts) var/obj/machinery/duct/D = A D.duct = null - if(delete) //I don't want code to run with qdeleted objects because that can never be good, so keep this in-case the ductnet has some business left to attend to before commiting suicide + if(delete) //I don't want code to run with qdeleted objects because that can never be good, so keep this in-case the ductnet has some business left to attend to before committing suicide qdel(src) diff --git a/code/datums/eigenstate.dm b/code/datums/eigenstate.dm index b25fa657eb6e4..8b113285b4b1a 100644 --- a/code/datums/eigenstate.dm +++ b/code/datums/eigenstate.dm @@ -25,7 +25,7 @@ GLOBAL_DATUM_INIT(eigenstate_manager, /datum/eigenstate_manager, new) targets -= target continue if(!subtle) - target.visible_message("[target] fizzes, collapsing it's unique wavefunction into the others!") //If we're in a eigenlink all on our own and are open to new friends + target.visible_message("[target] fizzes, collapsing its unique wavefunction into the others!") //If we're in a eigenlink all on our own and are open to new friends remove_eigen_entry(target) //clearup for new stuff //Do we still have targets? if(!length(targets)) diff --git a/code/datums/elements/bane.dm b/code/datums/elements/bane.dm index 6e62d15fc1648..110a755de23b0 100644 --- a/code/datums/elements/bane.dm +++ b/code/datums/elements/bane.dm @@ -1,6 +1,6 @@ /// Deals extra damage to mobs of a certain type, species, or biotype. -/// This doesn't directly modify the normal damage of the weapon, instead it applies it's own damage seperatedly ON TOP of normal damage -/// ie. a sword that does 10 damage with a bane elment attacthed that has a 0.5 damage_multiplier will do: +/// This doesn't directly modify the normal damage of the weapon, instead it applies its own damage separately ON TOP of normal damage +/// ie. a sword that does 10 damage with a bane element attached that has a 0.5 damage_multiplier will do: /// 10 damage from the swords normal attack + 5 damage (50%) from the bane element /datum/element/bane element_flags = ELEMENT_BESPOKE @@ -27,40 +27,20 @@ src.added_damage = added_damage src.requires_combat_mode = requires_combat_mode src.mob_biotypes = mob_biotypes - target.AddComponent(/datum/component/on_hit_effect, CALLBACK(src, PROC_REF(do_bane)), CALLBACK(src, PROC_REF(check_bane))) + target.AddElementTrait(TRAIT_ON_HIT_EFFECT, REF(src), /datum/element/on_hit_effect) + RegisterSignal(target, COMSIG_ON_HIT_EFFECT, PROC_REF(do_bane)) -/datum/element/bane/Detach(datum/target) - qdel(target.GetComponent(/datum/component/on_hit_effect)) +/datum/element/bane/Detach(datum/source) + UnregisterSignal(source, COMSIG_ON_HIT_EFFECT) + REMOVE_TRAIT(source, TRAIT_ON_HIT_EFFECT, REF(src)) return ..() -/datum/element/bane/proc/check_bane(bane_applier, target, bane_weapon) - if(!check_biotype_path(bane_applier, target)) +/datum/element/bane/proc/do_bane(datum/element_owner, mob/living/bane_applier, mob/living/baned_target, hit_zone, throw_hit) + if(!check_biotype_path(bane_applier, baned_target)) return - var/atom/movable/atom_owner = bane_weapon - if(SEND_SIGNAL(atom_owner, COMSIG_OBJECT_PRE_BANING, target) & COMPONENT_CANCEL_BANING) + if(SEND_SIGNAL(element_owner, COMSIG_OBJECT_PRE_BANING, baned_target) & COMPONENT_CANCEL_BANING) return - return TRUE -/** - * Checks typepaths and the mob's biotype, returning TRUE if correct and FALSE if wrong. - * Additionally checks if combat mode is required, and if so whether it's enabled or not. - */ -/datum/element/bane/proc/check_biotype_path(mob/living/bane_applier, atom/target) - if(!isliving(target)) - return FALSE - var/mob/living/living_target = target - if(bane_applier) - if(requires_combat_mode && !bane_applier.combat_mode) - return FALSE - var/is_correct_biotype = living_target.mob_biotypes & mob_biotypes - if(mob_biotypes && !(is_correct_biotype)) - return FALSE - if(ispath(target_type, /mob/living)) - return istype(living_target, target_type) - else //species type - return is_species(living_target, target_type) - -/datum/element/bane/proc/do_bane(datum/element_owner, mob/living/bane_applier, mob/living/baned_target, hit_zone) var/force_boosted var/applied_dam_type @@ -91,3 +71,22 @@ baned_target.apply_damage(extra_damage, applied_dam_type, hit_zone) SEND_SIGNAL(baned_target, COMSIG_LIVING_BANED, bane_applier, baned_target) // for extra effects when baned. SEND_SIGNAL(element_owner, COMSIG_OBJECT_ON_BANING, baned_target) + +/** + * Checks typepaths and the mob's biotype, returning TRUE if correct and FALSE if wrong. + * Additionally checks if combat mode is required, and if so whether it's enabled or not. + */ +/datum/element/bane/proc/check_biotype_path(mob/living/bane_applier, atom/target) + if(!isliving(target)) + return FALSE + var/mob/living/living_target = target + if(bane_applier) + if(requires_combat_mode && !bane_applier.combat_mode) + return FALSE + var/is_correct_biotype = living_target.mob_biotypes & mob_biotypes + if(mob_biotypes && !(is_correct_biotype)) + return FALSE + if(ispath(target_type, /mob/living)) + return istype(living_target, target_type) + else //species type + return is_species(living_target, target_type) diff --git a/code/datums/elements/climbable.dm b/code/datums/elements/climbable.dm index 113cc8aaa90ef..d9715a82107da 100644 --- a/code/datums/elements/climbable.dm +++ b/code/datums/elements/climbable.dm @@ -7,11 +7,14 @@ var/climb_stun ///Assoc list of object being climbed on - climbers. This allows us to check who needs to be shoved off a climbable object when its clicked on. var/list/current_climbers + ///Procpath of the proc to call if someone tries to climb onto our owner! + var/on_try_climb_procpath /datum/element/climbable/Attach( datum/target, climb_time = 2 SECONDS, climb_stun = 2 SECONDS, + on_try_climb_procpath, ) . = ..() @@ -19,6 +22,7 @@ return ELEMENT_INCOMPATIBLE src.climb_time = climb_time src.climb_stun = climb_stun + src.on_try_climb_procpath = on_try_climb_procpath RegisterSignal(target, COMSIG_ATOM_ATTACK_HAND, PROC_REF(attack_hand)) RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) @@ -75,6 +79,8 @@ adjusted_climb_time *= 1.5 adjusted_climb_stun *= 1.5 LAZYADDASSOCLIST(current_climbers, climbed_thing, user) + if(on_try_climb_procpath) + call(climbed_thing, on_try_climb_procpath)(user) if(do_after(user, adjusted_climb_time, climbed_thing)) if(QDELETED(climbed_thing)) //Checking if structure has been destroyed return @@ -97,13 +103,13 @@ if(!can_climb(climbed_thing, user)) return climbed_thing.set_density(FALSE) - var/dir_step = get_dir(user, climbed_thing.loc) - var/same_loc = climbed_thing.loc == user.loc + var/dir_step = get_dir(user, get_turf(climbed_thing)) + var/same_turf = get_turf(climbed_thing) == get_turf(user) // on-border objects can be vaulted over and into the next turf. // The reverse dir check is for when normal behavior should apply instead (e.g. John Doe hops east of a railing facing west, ending on the same turf as it). - if(climbed_thing.flags_1 & ON_BORDER_1 && (same_loc || !(dir_step & REVERSE_DIR(climbed_thing.dir)))) + if(climbed_thing.flags_1 & ON_BORDER_1 && (same_turf || !(dir_step & REVERSE_DIR(climbed_thing.dir)))) //it can be vaulted over in two different cardinal directions. we choose one. - if(ISDIAGONALDIR(climbed_thing.dir) && same_loc) + if(ISDIAGONALDIR(climbed_thing.dir) && same_turf) if(params) //we check the icon x and y parameters of the click-drag to determine step_dir. var/list/modifiers = params2list(params) var/x_dist = (text2num(LAZYACCESS(modifiers, ICON_X)) - world.icon_size/2) * (climbed_thing.dir & WEST ? -1 : 1) diff --git a/code/datums/elements/decals/_decal.dm b/code/datums/elements/decals/_decal.dm index ed28565d6c780..f33a00251305c 100644 --- a/code/datums/elements/decals/_decal.dm +++ b/code/datums/elements/decals/_decal.dm @@ -37,7 +37,7 @@ decal.Detach(source) for(var/result in resulting_decals_params) - source.AddElement(/datum/element/decal, result["icon"], result["icon_state"], result["dir"], PLANE_TO_TRUE(result["plane"]), result["layer"], result["alpha"], result["color"], result["smoothing"], result["cleanable"], result["desc"]) + source.AddElement(/datum/element/decal, result["icon"], result["icon_state"], result["dir"], PLANE_TO_TRUE(result["plane"]), result["layer"], result["alpha"], result["color"], result["pixel_w"], result["pixel_z"], result["smoothing"], result["cleanable"], result["desc"]) /datum/element/decal/proc/get_rotated_parameters(old_dir,new_dir) @@ -45,6 +45,7 @@ if(directional) //Even when the dirs are the same rotation is coming out as not 0 for some reason rotation = SIMPLIFY_DEGREES(dir2angle(new_dir)-dir2angle(old_dir)) new_dir = turn(pic.dir,-rotation) + var/list/pixels = rotate_pixel_offset(pic.pixel_w, pic.pixel_z, rotation) return list( "icon" = pic.icon, "icon_state" = base_icon_state, @@ -53,20 +54,20 @@ "layer" = pic.layer, "alpha" = pic.alpha, "color" = pic.color, + "pixel_w" = pixels[1], + "pixel_z" = pixels[2], "smoothing" = smoothing, "cleanable" = cleanable, "desc" = description ) - - -/datum/element/decal/Attach(atom/target, _icon, _icon_state, _dir, _plane=FLOAT_PLANE, _layer=FLOAT_LAYER, _alpha=255, _color, _smoothing, _cleanable=FALSE, _description, mutable_appearance/_pic) +/datum/element/decal/Attach(atom/target, _icon, _icon_state, _dir, _plane=FLOAT_PLANE, _layer=FLOAT_LAYER, _alpha=255, _color, _pixel_w = 0, _pixel_z = 0, _smoothing, _cleanable=FALSE, _description, mutable_appearance/_pic) . = ..() if(!isatom(target)) return ELEMENT_INCOMPATIBLE if(_pic) pic = _pic - else if(!generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _smoothing, target)) + else if(!generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _pixel_w, _pixel_z, _smoothing, target)) return ELEMENT_INCOMPATIBLE description = _description cleanable = _cleanable @@ -101,7 +102,7 @@ * all args are fed into creating an image, they are byond vars for images you'll recognize in the byond docs * (except source, source is the object whose appearance we're copying.) */ -/datum/element/decal/proc/generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _smoothing, source) +/datum/element/decal/proc/generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _pixel_w, _pixel_z, _smoothing, source) if(!_icon || !_icon_state) return FALSE var/temp_image = image(_icon, null, isnull(_smoothing) ? _icon_state : "[_icon_state]-[_smoothing]", _layer, _dir) @@ -110,6 +111,8 @@ SET_PLANE_EXPLICIT(pic, _plane, atom_source) pic.color = _color pic.alpha = _alpha + pic.pixel_w = _pixel_w + pic.pixel_z = _pixel_z return TRUE /datum/element/decal/Detach(atom/source) @@ -153,7 +156,7 @@ if(new_turf == source) return Detach(source) - new_turf.AddElement(type, pic.icon, base_icon_state, directional, pic.plane, pic.layer, pic.alpha, pic.color, smoothing, cleanable, description) + new_turf.AddElement(type, pic.icon, base_icon_state, directional, pic.plane, pic.layer, pic.alpha, pic.color, pic.pixel_w, pic.pixel_z, smoothing, cleanable, description) /datum/element/decal/proc/shuttle_rotate(datum/source, list/datum/element/decal/rotating) SIGNAL_HANDLER @@ -172,5 +175,5 @@ return NONE Detach(source) - source.AddElement(type, pic.icon, base_icon_state, directional, PLANE_TO_TRUE(pic.plane), pic.layer, pic.alpha, pic.color, smoothing_junction, cleanable, description) + source.AddElement(type, pic.icon, base_icon_state, directional, PLANE_TO_TRUE(pic.plane), pic.layer, pic.alpha, pic.color, pic.pixel_w, pic.pixel_z, smoothing_junction, cleanable, description) return NONE diff --git a/code/datums/elements/decals/blood.dm b/code/datums/elements/decals/blood.dm index 857b9e2b678ea..32f5787d0be9c 100644 --- a/code/datums/elements/decals/blood.dm +++ b/code/datums/elements/decals/blood.dm @@ -1,6 +1,6 @@ /datum/element/decal/blood -/datum/element/decal/blood/Attach(datum/target, _icon, _icon_state, _dir, _plane, _layer, _alpha, _color, _smoothing, _cleanable=CLEAN_TYPE_BLOOD, _description, mutable_appearance/_pic) +/datum/element/decal/blood/Attach(datum/target, _icon, _icon_state, _dir, _plane, _layer, _alpha, _color,_pixel_w, _pixel_z, _smoothing, _cleanable=CLEAN_TYPE_BLOOD, _description, mutable_appearance/_pic) if(!isitem(target)) return ELEMENT_INCOMPATIBLE @@ -14,7 +14,7 @@ REMOVE_KEEP_TOGETHER(source_item, type) return ..() -/datum/element/decal/blood/generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _smoothing, source) +/datum/element/decal/blood/generate_appearance(_icon, _icon_state, _dir, _plane, _layer, _color, _alpha, _pixel_w, _pixel_z, _smoothing, source) var/obj/item/I = source ADD_KEEP_TOGETHER(I, type) var/icon = I.icon @@ -30,6 +30,8 @@ blood_splatter.transform = blood_splatter.transform.Scale(scale_factor_x, scale_factor_y) blood_splatter.blend_mode = BLEND_INSET_OVERLAY blood_splatter.color = _color + blood_splatter.pixel_w = _pixel_w + blood_splatter.pixel_z = _pixel_z pic = blood_splatter return TRUE diff --git a/code/datums/elements/digitalcamo.dm b/code/datums/elements/digitalcamo.dm index 3f4db60de2d51..b8a9fa673e358 100644 --- a/code/datums/elements/digitalcamo.dm +++ b/code/datums/elements/digitalcamo.dm @@ -27,17 +27,15 @@ /datum/element/digitalcamo/proc/HideFromAIHuds(mob/living/target) for(var/mob/living/silicon/ai/AI in GLOB.ai_list) - var/datum/atom_hud/M = GLOB.huds[AI.med_hud] - M.hide_single_atomhud_from(AI,target) - var/datum/atom_hud/S = GLOB.huds[AI.sec_hud] - S.hide_single_atomhud_from(AI,target) + for (var/hud_type in AI.silicon_huds) + var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] + silicon_hud.hide_single_atomhud_from(AI,target) /datum/element/digitalcamo/proc/UnhideFromAIHuds(mob/living/target) for(var/mob/living/silicon/ai/AI in GLOB.ai_list) - var/datum/atom_hud/M = GLOB.huds[AI.med_hud] - M.unhide_single_atomhud_from(AI,target) - var/datum/atom_hud/S = GLOB.huds[AI.sec_hud] - S.unhide_single_atomhud_from(AI,target) + for (var/hud_type in AI.silicon_huds) + var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] + silicon_hud.unhide_single_atomhud_from(AI,target) /datum/element/digitalcamo/proc/on_examine(datum/source, mob/M) SIGNAL_HANDLER diff --git a/code/datums/elements/door_pryer.dm b/code/datums/elements/door_pryer.dm index b7f213b3856f6..9f01e8be2b6ab 100644 --- a/code/datums/elements/door_pryer.dm +++ b/code/datums/elements/door_pryer.dm @@ -35,12 +35,13 @@ attacker.balloon_alert(attacker, "busy!") return COMPONENT_CANCEL_ATTACK_CHAIN - if (airlock_target.locked || airlock_target.welded || airlock_target.seal) - if (!attacker.combat_mode) - airlock_target.balloon_alert(attacker, "it's sealed!") - return COMPONENT_CANCEL_ATTACK_CHAIN + if (attacker.combat_mode) return // Attack the door + if (airlock_target.locked || airlock_target.welded || airlock_target.seal) + airlock_target.balloon_alert(attacker, "it's sealed!") + return COMPONENT_CANCEL_ATTACK_CHAIN + INVOKE_ASYNC(src, PROC_REF(open_door), attacker, airlock_target) return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/datums/elements/dryable.dm b/code/datums/elements/dryable.dm index d0cdf2355231a..d66ea96d8c1f1 100644 --- a/code/datums/elements/dryable.dm +++ b/code/datums/elements/dryable.dm @@ -27,25 +27,24 @@ var/atom/movable/resulting_atom = dried_atom resulting_atom.add_atom_colour(COLOR_DRIED_TAN, FIXED_COLOUR_PRIORITY) apply_dried_status(resulting_atom, drying_user) - resulting_atom.forceMove(source.drop_location()) return else if(isstack(source)) //Check if its a sheet var/obj/item/stack/itemstack = dried_atom for(var/i in 1 to itemstack.amount) - var/atom/movable/resulting_atom = new dry_result(source.drop_location()) + var/atom/movable/resulting_atom = new dry_result(source.loc) apply_dried_status(resulting_atom, drying_user) qdel(source) return else if(istype(source, /obj/item/food) && ispath(dry_result, /obj/item/food)) var/obj/item/food/source_food = source - var/obj/item/food/resulting_food = new dry_result(source.drop_location()) + var/obj/item/food/resulting_food = new dry_result(source.loc) resulting_food.reagents.clear_reagents() source_food.reagents.trans_to(resulting_food, source_food.reagents.total_volume) apply_dried_status(resulting_food, drying_user) qdel(source) return else - var/atom/movable/resulting_atom = new dry_result(source.drop_location()) + var/atom/movable/resulting_atom = new dry_result(source.loc) apply_dried_status(resulting_atom, drying_user) qdel(source) diff --git a/code/datums/elements/elevation.dm b/code/datums/elements/elevation.dm index b83548c6b5f41..959fa14f79837 100644 --- a/code/datums/elements/elevation.dm +++ b/code/datums/elements/elevation.dm @@ -151,8 +151,8 @@ /datum/element/elevation_core/proc/on_initialized_on(turf/source, atom/movable/spawned) SIGNAL_HANDLER - if(isliving(spawned)) - elevate_mob(spawned) + if(isliving(spawned) && !HAS_TRAIT(spawned, TRAIT_ON_ELEVATED_SURFACE)) + on_entered(entered = spawned) /datum/element/elevation_core/proc/on_exited(turf/source, atom/movable/gone) SIGNAL_HANDLER diff --git a/code/datums/elements/fish_safe_storage.dm b/code/datums/elements/fish_safe_storage.dm new file mode 100644 index 0000000000000..bb7864ced0e6a --- /dev/null +++ b/code/datums/elements/fish_safe_storage.dm @@ -0,0 +1,53 @@ +///An element that puts in stasis any fish that enters the atom. +/datum/element/fish_safe_storage + element_flags = ELEMENT_DETACH_ON_HOST_DESTROY + var/list/tracked_fish = list() + +/datum/element/fish_safe_storage/New() + . = ..() + START_PROCESSING(SSprocessing, src) + +/datum/element/fish_safe_storage/Attach(atom/target) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_ATOM_ENTERED, PROC_REF(on_enter)) + RegisterSignal(target, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) + RegisterSignal(target, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, PROC_REF(on_init_on)) + for(var/obj/item/fish/fish in target) + tracked_fish |= fish + fish.enter_stasis() + +/datum/element/fish_safe_storage/Detach(atom/source) + for(var/obj/item/fish/fish in source) + tracked_fish -= fish + fish.exit_stasis() + UnregisterSignal(source, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_EXITED, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON)) + return ..() + +/datum/element/fish_safe_storage/proc/on_enter(datum/source, obj/item/fish/arrived) + SIGNAL_HANDLER + if(isfish(arrived)) + tracked_fish |= arrived + arrived.enter_stasis() + +/datum/element/fish_safe_storage/proc/on_init_on(datum/source, obj/item/fish/created) + SIGNAL_HANDLER + if(isfish(created) && !QDELETED(created)) + tracked_fish |= created + created.enter_stasis() + +/datum/element/fish_safe_storage/proc/on_exit(datum/source, obj/item/fish/gone) + SIGNAL_HANDLER + if(isfish(gone)) + tracked_fish -= gone + gone.exit_stasis() + +/datum/element/fish_safe_storage/process(seconds_per_tick) + for(var/obj/item/fish/fish as anything in tracked_fish) + ///Keep delaying hunger and breeding while in stasis, and also heal them. + fish.last_feeding += seconds_per_tick SECONDS + fish.breeding_wait += seconds_per_tick SECONDS + if(fish.health < initial(fish.health) * 0.65) + fish.adjust_health(fish.health + 0.75 * seconds_per_tick) diff --git a/code/datums/elements/food/grilled_item.dm b/code/datums/elements/food/grilled_item.dm index de6c2ef41c1b9..74e772eb73c92 100644 --- a/code/datums/elements/food/grilled_item.dm +++ b/code/datums/elements/food/grilled_item.dm @@ -28,6 +28,8 @@ if(grill_time > 30 SECONDS && isnull(this_food.GetComponent(/datum/component/edible))) this_food.AddComponent(/datum/component/edible, foodtypes = FRIED) + SEND_SIGNAL(this_food, COMSIG_ITEM_BARBEQUE_GRILLED) + /datum/element/grilled_item/Detach(atom/source, ...) source.name = initial(source.name) source.desc = initial(source.desc) diff --git a/code/datums/elements/food/microwavable.dm b/code/datums/elements/food/microwavable.dm index 8e7305545c0b0..5fdd4c084add1 100644 --- a/code/datums/elements/food/microwavable.dm +++ b/code/datums/elements/food/microwavable.dm @@ -44,6 +44,7 @@ var/efficiency = istype(used_microwave) ? used_microwave.efficiency : 1 SEND_SIGNAL(result, COMSIG_ITEM_MICROWAVE_COOKED, source, efficiency) + SEND_SIGNAL(source, COMSIG_ITEM_MICROWAVE_COOKED_FROM, result, efficiency) if(IS_EDIBLE(result) && (result_typepath != default_typepath)) BLACKBOX_LOG_FOOD_MADE(result.type) diff --git a/code/datums/elements/gags_recolorable.dm b/code/datums/elements/gags_recolorable.dm index 93b21c5d31d4e..c59b314ee96c1 100644 --- a/code/datums/elements/gags_recolorable.dm +++ b/code/datums/elements/gags_recolorable.dm @@ -10,7 +10,7 @@ /datum/element/gags_recolorable/proc/on_examine(atom/source, mob/user, list/examine_text) SIGNAL_HANDLER - examine_text += span_notice("Now utilising PPP recolouring technology, capable of absorbing paint and pigments for changing it's colours!") + examine_text += span_notice("Now utilising PPP recolouring technology, capable of absorbing paint and pigments for changing its colours!") /datum/element/gags_recolorable/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user) SIGNAL_HANDLER diff --git a/code/datums/elements/glass_pacifist.dm b/code/datums/elements/glass_pacifist.dm new file mode 100644 index 0000000000000..76204201c601e --- /dev/null +++ b/code/datums/elements/glass_pacifist.dm @@ -0,0 +1,18 @@ +/// Prevents the living from attacking windows +/datum/element/glass_pacifist + +/datum/element/glass_pacifist/Attach(datum/target) + . = ..() + + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_LIVING_ATTACK_ATOM, PROC_REF(check_if_glass)) + +/datum/element/glass_pacifist/proc/check_if_glass(mob/living/owner, atom/hit) + SIGNAL_HANDLER + + if(istype(hit, /obj/structure/window)) + owner.visible_message(span_notice("[owner.name] nuzzles the [hit.name]!")) + new /obj/effect/temp_visual/heart(hit.loc) + return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/datums/elements/immerse.dm b/code/datums/elements/immerse.dm index 89148fad7e2a3..65f7d45b9ab77 100644 --- a/code/datums/elements/immerse.dm +++ b/code/datums/elements/immerse.dm @@ -107,6 +107,8 @@ */ /datum/element/immerse/proc/on_init_or_entered(turf/source, atom/movable/movable) SIGNAL_HANDLER + if(QDELETED(movable)) + return if(HAS_TRAIT(movable, TRAIT_IMMERSED)) return if(movable.layer >= ABOVE_ALL_MOB_LAYER || !ISINRANGE(movable.plane, MUTATE_PLANE(FLOOR_PLANE, source), MUTATE_PLANE(GAME_PLANE, source))) diff --git a/code/datums/elements/lazy_fishing_spot.dm b/code/datums/elements/lazy_fishing_spot.dm index 901b163af1538..1ba296bfe730d 100644 --- a/code/datums/elements/lazy_fishing_spot.dm +++ b/code/datums/elements/lazy_fishing_spot.dm @@ -16,9 +16,14 @@ src.configuration = configuration ADD_TRAIT(target, TRAIT_FISHING_SPOT, REF(src)) RegisterSignal(target, COMSIG_PRE_FISHING, PROC_REF(create_fishing_spot)) + RegisterSignal(target, COMSIG_NPC_FISHING, PROC_REF(return_glob_fishing_spot)) + RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examined)) + RegisterSignal(target, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examined_more)) + RegisterSignal(target, COMSIG_ATOM_EX_ACT, PROC_REF(explosive_fishing)) /datum/element/lazy_fishing_spot/Detach(datum/target) - UnregisterSignal(target, COMSIG_PRE_FISHING) + UnregisterSignal(target, list(COMSIG_PRE_FISHING, COMSIG_ATOM_EXAMINE, COMSIG_ATOM_EXAMINE_MORE, COMSIG_ATOM_EX_ACT)) + UnregisterSignal(target, list(COMSIG_PRE_FISHING, COMSIG_NPC_FISHING)) REMOVE_TRAIT(target, TRAIT_FISHING_SPOT, REF(src)) return ..() @@ -27,3 +32,52 @@ source.AddComponent(/datum/component/fishing_spot, GLOB.preset_fish_sources[configuration]) Detach(source) + +///If the fish source has fishes that are shown in the +/datum/element/lazy_fishing_spot/proc/on_examined(datum/source, mob/user, list/examine_text) + SIGNAL_HANDLER + if(!HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISHING_SPOT)) + return + + var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] + + var/has_known_fishes = FALSE + for(var/reward in fish_source.fish_table) + if(!ispath(reward, /obj/item/fish)) + continue + var/obj/item/fish/prototype = reward + if(initial(prototype.show_in_catalog)) + has_known_fishes = TRUE + break + if(!has_known_fishes) + return + + examine_text += span_tinynoticeital("This is a fishing spot. You can look again to list its fishes...") + +/datum/element/lazy_fishing_spot/proc/on_examined_more(datum/source, mob/user, list/examine_text) + SIGNAL_HANDLER + if(!HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISHING_SPOT)) + return + + var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] + + var/list/known_fishes = list() + for(var/reward in fish_source.fish_table) + if(!ispath(reward, /obj/item/fish)) + continue + var/obj/item/fish/prototype = reward + if(initial(prototype.show_in_catalog)) + known_fishes += initial(prototype.name) + + if(!length(known_fishes)) + return + + examine_text += span_info("You can catch the following fish here: [english_list(known_fishes)].") + +/datum/element/lazy_fishing_spot/proc/explosive_fishing(atom/location, severity) + SIGNAL_HANDLER + var/datum/fish_source/fish_source = GLOB.preset_fish_sources[configuration] + fish_source.spawn_reward_from_explosion(location, severity) + +/datum/element/lazy_fishing_spot/proc/return_glob_fishing_spot(datum/source, list/fish_spot_container) + fish_spot_container[NPC_FISHING_SPOT] = GLOB.preset_fish_sources[configuration] diff --git a/code/datums/elements/lifesteal.dm b/code/datums/elements/lifesteal.dm index 48f812fc1f1fa..ed607c34976b3 100644 --- a/code/datums/elements/lifesteal.dm +++ b/code/datums/elements/lifesteal.dm @@ -13,13 +13,16 @@ /datum/element/lifesteal/Attach(datum/target, flat_heal = 10) . = ..() src.flat_heal = flat_heal - target.AddComponent(/datum/component/on_hit_effect, CALLBACK(src, PROC_REF(do_lifesteal))) + target.AddElementTrait(TRAIT_ON_HIT_EFFECT, REF(src), /datum/element/on_hit_effect) + RegisterSignal(target, COMSIG_ON_HIT_EFFECT, PROC_REF(do_lifesteal)) -/datum/element/lifesteal/Detach(datum/target) - qdel(target.GetComponent(/datum/component/on_hit_effect)) +/datum/element/lifesteal/Detach(datum/source) + UnregisterSignal(source, COMSIG_ON_HIT_EFFECT) + REMOVE_TRAIT(source, TRAIT_ON_HIT_EFFECT, REF(src)) return ..() -/datum/element/lifesteal/proc/do_lifesteal(datum/element_owner, atom/heal_target, atom/damage_target, hit_zone) +/datum/element/lifesteal/proc/do_lifesteal(datum/source, atom/heal_target, atom/damage_target, hit_zone, throw_hit) + SIGNAL_HANDLER if(isliving(heal_target) && isliving(damage_target)) var/mob/living/healing = heal_target var/mob/living/damaging = damage_target diff --git a/code/datums/elements/light_blocking.dm b/code/datums/elements/light_blocking.dm index 673838ad4f80c..40bdc315fecbf 100644 --- a/code/datums/elements/light_blocking.dm +++ b/code/datums/elements/light_blocking.dm @@ -9,7 +9,7 @@ . = ..() if(!ismovable(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_target_move)) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_target_move), override = TRUE) var/atom/movable/movable_target = target if(!isturf(movable_target.loc)) return diff --git a/code/datums/elements/movetype_handler.dm b/code/datums/elements/movetype_handler.dm index 6d730d345e284..2825fb4b01cdc 100644 --- a/code/datums/elements/movetype_handler.dm +++ b/code/datums/elements/movetype_handler.dm @@ -28,7 +28,7 @@ if(movable_target.movement_type & (FLOATING|FLYING) && !HAS_TRAIT(movable_target, TRAIT_NO_FLOATING_ANIM)) DO_FLOATING_ANIM(movable_target) -/datum/element/movetype_handler/Detach(datum/source) +/datum/element/movetype_handler/Detach(atom/movable/source) var/list/signals_to_remove = list( SIGNAL_ADDTRAIT(TRAIT_NO_FLOATING_ANIM), SIGNAL_REMOVETRAIT(TRAIT_NO_FLOATING_ANIM), diff --git a/code/datums/elements/no_crit_hitting.dm b/code/datums/elements/no_crit_hitting.dm new file mode 100644 index 0000000000000..416a6e70b87a2 --- /dev/null +++ b/code/datums/elements/no_crit_hitting.dm @@ -0,0 +1,21 @@ +/// Stops a mob from hitting someone in crit. doesn't account for projectiles or spells +/datum/element/no_crit_hitting + +/datum/element/no_crit_hitting/Attach(datum/target) + . = ..() + + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignals(target, list(COMSIG_MOB_ITEM_ATTACK), PROC_REF(check_attack)) + +/datum/element/no_crit_hitting/proc/check_attack(mob/living/attacker, atom/attacked) + SIGNAL_HANDLER + + if(!isliving(attacked)) + return + + var/mob/living/liver = attacked + if(liver.stat == HARD_CRIT) + liver.balloon_alert(attacker, "they're in crit!") + return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/datums/elements/on_hit_effect.dm b/code/datums/elements/on_hit_effect.dm new file mode 100644 index 0000000000000..f84a6cafa6f44 --- /dev/null +++ b/code/datums/elements/on_hit_effect.dm @@ -0,0 +1,65 @@ +/** + * ## On Hit Effect Component! + * + * Component for other elements/components to rely on for on-hit effects without duplicating the on-hit code. + * See Lifesteal, or bane for examples. + */ +/datum/element/on_hit_effect + +/datum/element/on_hit_effect/Attach(datum/target) + . = ..() + if(!HAS_TRAIT(target, TRAIT_ON_HIT_EFFECT)) + stack_trace("[type] added to [target] without adding TRAIT_ON_HIT_EFFECT first. Please use AddElementTrait instead.") + if(ismachinery(target) || isstructure(target) || isgun(target) || isprojectilespell(target)) + RegisterSignal(target, COMSIG_PROJECTILE_ON_HIT, PROC_REF(on_projectile_hit)) + else if(isitem(target)) + RegisterSignal(target, COMSIG_ITEM_AFTERATTACK, PROC_REF(item_afterattack)) + else if(isanimal_or_basicmob(target)) + RegisterSignal(target, COMSIG_HOSTILE_POST_ATTACKINGTARGET, PROC_REF(hostile_attackingtarget)) + else if(isprojectile(target)) + RegisterSignal(target, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(on_projectile_self_hit)) + else + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(on_thrown_hit)) + +/datum/element/on_hit_effect/Detach(datum/source) + UnregisterSignal(source, list( + COMSIG_PROJECTILE_ON_HIT, + COMSIG_ITEM_AFTERATTACK, + COMSIG_HOSTILE_POST_ATTACKINGTARGET, + COMSIG_PROJECTILE_SELF_ON_HIT, + COMSIG_MOVABLE_IMPACT, + )) + return ..() + +/datum/element/on_hit_effect/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + SIGNAL_HANDLER + + if(!proximity_flag) + return + + on_hit(source, user, target, user.zone_selected) + +/datum/element/on_hit_effect/proc/hostile_attackingtarget(mob/living/attacker, atom/target, success) + SIGNAL_HANDLER + + if(!success) + return + + on_hit(attacker, attacker, target, attacker.zone_selected) + +/datum/element/on_hit_effect/proc/on_projectile_hit(datum/fired_from, atom/movable/firer, atom/target, angle, body_zone) + SIGNAL_HANDLER + on_hit(fired_from, firer, target, body_zone) + +/datum/element/on_hit_effect/proc/on_projectile_self_hit(datum/source, mob/firer, atom/target, angle, body_zone) + SIGNAL_HANDLER + on_hit(source, firer, target, body_zone) + +/datum/element/on_hit_effect/proc/on_thrown_hit(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) + SIGNAL_HANDLER + on_hit(source, source, hit_atom, null, TRUE) + +/datum/element/on_hit_effect/proc/on_hit(atom/source, atom/movable/attacker, atom/target, body_zone, throw_hit = FALSE) + SEND_SIGNAL(source, COMSIG_ON_HIT_EFFECT, attacker, target, body_zone, throw_hit) diff --git a/code/datums/elements/only_pull_living.dm b/code/datums/elements/only_pull_living.dm new file mode 100644 index 0000000000000..8113a66a73021 --- /dev/null +++ b/code/datums/elements/only_pull_living.dm @@ -0,0 +1,16 @@ +/// Element for only letting a living pull other livings +/datum/element/only_pull_living + +/datum/element/only_pull_living/Attach(datum/target) + . = ..() + + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_LIVING_TRY_PULL, PROC_REF(try_pull)) + +/datum/element/only_pull_living/proc/try_pull(mob/living/owner, atom/movable/pulled) + SIGNAL_HANDLER + + if(!isliving(pulled)) + return COMSIG_LIVING_CANCEL_PULL diff --git a/code/datums/elements/pet_collar.dm b/code/datums/elements/pet_collar.dm new file mode 100644 index 0000000000000..5c49de2eceb5b --- /dev/null +++ b/code/datums/elements/pet_collar.dm @@ -0,0 +1,95 @@ +/datum/element/wears_collar + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + ///our icon's pathfile + var/collar_icon + ///our collar's icon state + var/collar_icon_state + ///iconstate of our collar while resting + var/collar_resting_icon_state + +/datum/element/wears_collar/Attach(datum/target, collar_icon = 'icons/mob/simple/pets.dmi', collar_resting_icon_state = FALSE, collar_icon_state) + . = ..() + + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + + src.collar_icon = collar_icon + src.collar_icon_state = collar_icon_state + src.collar_resting_icon_state = collar_resting_icon_state + + RegisterSignal(target, COMSIG_ATOM_ATTACKBY, PROC_REF(attach_collar)) + RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_overlays_updated)) + RegisterSignal(target, COMSIG_ATOM_EXITED, PROC_REF(on_content_exit)) + RegisterSignal(target, COMSIG_ATOM_ENTERED, PROC_REF(on_content_enter)) + RegisterSignal(target, COMSIG_LIVING_RESTING, PROC_REF(on_rest)) + RegisterSignal(target, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change)) + +/datum/element/wears_collar/Detach(datum/target) + . = ..() + UnregisterSignal(target, list( + COMSIG_ATOM_ATTACKBY, + COMSIG_ATOM_UPDATE_OVERLAYS, + COMSIG_ATOM_EXITED, + COMSIG_ATOM_ENTERED, + COMSIG_LIVING_RESTING, + COMSIG_MOB_STATCHANGE, + )) + +/datum/element/wears_collar/proc/on_stat_change(mob/living/source) + SIGNAL_HANDLER + + if(collar_icon_state) + source.update_icon(UPDATE_OVERLAYS) + +/datum/element/wears_collar/proc/on_content_exit(mob/living/source, atom/moved) + SIGNAL_HANDLER + + if(!istype(moved, /obj/item/clothing/neck/petcollar)) + return + source.fully_replace_character_name(null, source::name) + if(collar_icon_state) + source.update_appearance() + +/datum/element/wears_collar/proc/on_content_enter(mob/living/source, obj/item/clothing/neck/petcollar/new_collar) + SIGNAL_HANDLER + + if(!istype(new_collar)) + return + + source.fully_replace_character_name(null, "\proper [new_collar.tagname]") + if(collar_icon_state) + source.update_appearance() + +/datum/element/wears_collar/proc/attach_collar(atom/source, atom/movable/attacking_item, atom/user, params) + SIGNAL_HANDLER + + if(!istype(attacking_item, /obj/item/clothing/neck/petcollar)) + return NONE + if(locate(/obj/item/clothing/neck/petcollar) in source) + user.balloon_alert(source, "already wearing a collar!") + return NONE + attacking_item.forceMove(source) + return COMPONENT_NO_AFTERATTACK + +/datum/element/wears_collar/proc/on_overlays_updated(mob/living/source, list/overlays) + SIGNAL_HANDLER + + if(!locate(/obj/item/clothing/neck/petcollar) in source) + return + + var/icon_tag = "" + + if(source.stat == DEAD || HAS_TRAIT(source, TRAIT_FAKEDEATH)) + icon_tag = "_dead" + else if(collar_resting_icon_state && source.resting) + icon_tag = "_rest" + + overlays += mutable_appearance(collar_icon, "[collar_icon_state][icon_tag]collar") + overlays += mutable_appearance(collar_icon, "[collar_icon_state][icon_tag]tag") + + +/datum/element/wears_collar/proc/on_rest(atom/movable/source) + SIGNAL_HANDLER + + source.update_icon(UPDATE_OVERLAYS) diff --git a/code/datums/elements/pet_cult.dm b/code/datums/elements/pet_cult.dm new file mode 100644 index 0000000000000..36941e7b74299 --- /dev/null +++ b/code/datums/elements/pet_cult.dm @@ -0,0 +1,127 @@ +#define PET_CULT_ATTACK_UPPER 15 +#define PET_CULT_HEALTH 50 + +/datum/element/cultist_pet + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + ///our pet cult icon's pathfile + var/pet_cult_icon + ///our pet cult icon state + var/pet_cult_icon_state + +/datum/element/cultist_pet/Attach(datum/target, pet_cult_icon = 'icons/mob/simple/pets.dmi', pet_cult_icon_state) + . = ..() + + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + + src.pet_cult_icon = pet_cult_icon + src.pet_cult_icon_state = pet_cult_icon_state + + RegisterSignal(target, COMSIG_LIVING_CULT_SACRIFICED, PROC_REF(become_cultist)) + RegisterSignal(target, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(on_login)) + RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON_STATE, PROC_REF(on_icon_state_updated)) + RegisterSignal(target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_overlays_updated)) + +/datum/element/cultist_pet/Detach(datum/target) + . = ..() + UnregisterSignal(target, list( + COMSIG_MOB_LOGIN, + COMSIG_LIVING_CULT_SACRIFICED, + COMSIG_ATOM_UPDATE_ICON_STATE, + COMSIG_ATOM_UPDATE_OVERLAYS, + )) + +/datum/element/cultist_pet/proc/on_overlays_updated(mob/living/basic/source, list/overlays) + SIGNAL_HANDLER + + if(isnull(source.mind) && (FACTION_CULT in source.faction)) //cult indicator we show for non sentient pets + var/image/cult_indicator = image(icon = 'icons/mob/simple/pets.dmi', icon_state = "pet_cult_indicator", layer = ABOVE_GAME_PLANE) + overlays += cult_indicator + +/datum/element/cultist_pet/proc/on_icon_state_updated(mob/living/basic/source) + SIGNAL_HANDLER + + if(pet_cult_icon_state && (FACTION_CULT in source.faction)) + source.icon_state = pet_cult_icon_state + source.icon_living = pet_cult_icon_state + +///turn into terrifying beasts +/datum/element/cultist_pet/proc/become_cultist(mob/living/basic/source, list/invokers, datum/team) + SIGNAL_HANDLER + + if(source.stat == DEAD) + return + + if(FACTION_CULT in source.faction) + return STOP_SACRIFICE + + source.mind?.add_antag_datum(/datum/antagonist/cult, team) + qdel(source.GetComponent(/datum/component/obeys_commands)) //if we obey commands previously, forget about them + source.melee_damage_lower = max(PET_CULT_ATTACK_UPPER - 5, source::melee_damage_lower) + source.melee_damage_upper = max(PET_CULT_ATTACK_UPPER, source::melee_damage_upper) + source.maxHealth = max(PET_CULT_HEALTH, source::maxHealth) + source.fully_heal() + + source.faction = list(FACTION_CULT) //we only serve the cult + + if(isnull(pet_cult_icon_state)) + source.add_atom_colour(RUNE_COLOR_MEDIUMRED, FIXED_COLOUR_PRIORITY) + + var/static/list/cult_appetite = list( + /obj/item/organ, + /obj/effect/decal/cleanable/blood, + ) + + var/static/list/death_loot = list( + /obj/effect/gibspawner/generic, + /obj/item/soulstone, + ) + + source.AddElement(/datum/element/basic_eating, heal_amt = 15, food_types = cult_appetite) + source.AddElement(/datum/element/death_drops, death_loot) + + source.basic_mob_flags &= DEL_ON_DEATH + qdel(source.ai_controller) + source.ai_controller = new /datum/ai_controller/basic_controller/pet_cult(source) + var/datum/action/cooldown/spell/conjure/revive_rune/rune_ability = new(source) + rune_ability.Grant(source) + source.ai_controller.set_blackboard_key(BB_RUNE_ABILITY, rune_ability) + source.ai_controller.set_blackboard_key(BB_CULT_TEAM, team) + + var/static/list/new_pet_commands = list( + /datum/pet_command/point_targeting/attack, + /datum/pet_command/follow, + /datum/pet_command/free, + /datum/pet_command/idle, + /datum/pet_command/untargeted_ability/draw_rune, + ) + source.AddComponent(/datum/component/obeys_commands, new_pet_commands) + RegisterSignal(source, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(activate_rune)) + source.update_appearance() + return STOP_SACRIFICE + + +/datum/element/cultist_pet/proc/activate_rune(datum/source, atom/target) + SIGNAL_HANDLER + + if(!istype(target, /obj/effect/rune/raise_dead)) //we can only revive people... + return NONE + + INVOKE_ASYNC(target, TYPE_PROC_REF(/atom, attack_hand), source) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/datum/element/cultist_pet/proc/on_login(mob/living/source) + SIGNAL_HANDLER + + if(!(FACTION_CULT in source.faction)) + return + var/datum/team/cult_team = source.ai_controller.blackboard[BB_CULT_TEAM] + if(isnull(cult_team)) + return + source.mind.add_antag_datum(/datum/antagonist/cult, cult_team) + source.update_appearance(UPDATE_OVERLAYS) + + +#undef PET_CULT_ATTACK_UPPER +#undef PET_CULT_HEALTH diff --git a/code/datums/elements/quality_food_ingredient.dm b/code/datums/elements/quality_food_ingredient.dm new file mode 100644 index 0000000000000..e9bfec246c52c --- /dev/null +++ b/code/datums/elements/quality_food_ingredient.dm @@ -0,0 +1,71 @@ +///An element that adds extra food quality to any edible that was made from an atom with this attached. +/datum/element/quality_food_ingredient + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + ///The increase of recipe complexity (basically hardcoded food quality) of edibles made with this. + var/complexity_increase = 0 + +/datum/element/quality_food_ingredient/Attach(datum/target, complexity_increase) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + if(HAS_TRAIT_FROM(target, TRAIT_QUALITY_FOOD_INGREDIENT, REF(src))) //It already has this element attached. + return + + src.complexity_increase = complexity_increase + + RegisterSignal(target, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(used_in_craft)) + RegisterSignal(target, COMSIG_ITEM_BAKED, PROC_REF(item_baked)) + RegisterSignal(target, COMSIG_ITEM_MICROWAVE_COOKED_FROM, PROC_REF(microwaved_from)) + RegisterSignal(target, COMSIG_ITEM_GRILLED, PROC_REF(item_grilled)) + RegisterSignals(target, list(COMSIG_ITEM_BARBEQUE_GRILLED, COMSIG_ITEM_FRIED), PROC_REF(simply_cooked)) + RegisterSignal(target, COMSIG_ITEM_USED_AS_INGREDIENT, PROC_REF(used_as_ingredient)) + +/datum/element/quality_food_ingredient/Detach(datum/source) + UnregisterSignal(source, list( + COMSIG_ATOM_USED_IN_CRAFT, + COMSIG_ITEM_BAKED, + COMSIG_ITEM_MICROWAVE_COOKED_FROM, + COMSIG_ITEM_GRILLED, + COMSIG_ITEM_BARBEQUE_GRILLED, + COMSIG_ITEM_FRIED, + COMSIG_ITEM_USED_AS_INGREDIENT, + COMSIG_FOOD_GET_EXTRA_COMPLEXITY, + )) + REMOVE_TRAIT(source, TRAIT_QUALITY_FOOD_INGREDIENT, REF(src)) + return ..() + +/datum/element/quality_food_ingredient/proc/used_in_craft(datum/source, atom/result) + SIGNAL_HANDLER + add_quality(result) + +/datum/element/quality_food_ingredient/proc/item_baked(datum/source, atom/baked_result) + SIGNAL_HANDLER + add_quality(baked_result) + +/datum/element/quality_food_ingredient/proc/microwaved_from(datum/source, atom/result) + SIGNAL_HANDLER + add_quality(result) + +/datum/element/quality_food_ingredient/proc/item_grilled(datum/source, atom/grill_result) + SIGNAL_HANDLER + add_quality(grill_result) + +/datum/element/quality_food_ingredient/proc/simply_cooked(datum/source) + SIGNAL_HANDLER + //The target of the food quality and the source are the same, there's no need to re-add the whole element. + RegisterSignal(source, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, PROC_REF(add_complexity), TRUE) + ADD_TRAIT(source, TRAIT_QUALITY_FOOD_INGREDIENT, REF(src)) + +/datum/element/quality_food_ingredient/proc/used_as_ingredient(datum/source, atom/container) + SIGNAL_HANDLER + add_quality(container) + +/datum/element/quality_food_ingredient/proc/add_quality(atom/target) + target.AddElement(/datum/element/quality_food_ingredient, complexity_increase) + RegisterSignal(target, COMSIG_FOOD_GET_EXTRA_COMPLEXITY, PROC_REF(add_complexity), TRUE) + ADD_TRAIT(target, TRAIT_QUALITY_FOOD_INGREDIENT, REF(src)) + +/datum/element/quality_food_ingredient/proc/add_complexity(datum/source, list/extra_complexity) + SIGNAL_HANDLER + extra_complexity[1] += complexity_increase diff --git a/code/datums/elements/render_over_keep_hitbox.dm b/code/datums/elements/render_over_keep_hitbox.dm new file mode 100644 index 0000000000000..1962db28457f3 --- /dev/null +++ b/code/datums/elements/render_over_keep_hitbox.dm @@ -0,0 +1,149 @@ +/** + * # Render over, Keep hitbox element! + * + * Makes atoms render over mobs, but still allow you to attack the mob's hitbox! + * Used in plastic flaps, and directional windows! + * If you want to use position layering, you can toggle that with an arg. It's recomended for directional objects (thindows) + * We accept an optional bitfield of directions to consider "high" (Stuff that renders on the top end of a turf) + * Also accept the layer our clickcatching object should use. Anything below this won't be clickable through + */ +/datum/element/render_over_keep_hitbox + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + /// The layer to use for our hitbox, typically quite low + /// IIIII do not know how well this works, sidemap do be kinda fuckin us over + var/hitbox_layer = 0 + /// If we should act as if the source object is directional or not + var/use_position_layering = FALSE + /// If we ARE acting directional, what directions count as "UP" for purposes of layering + var/high_directions = NONE + +/datum/element/render_over_keep_hitbox/Attach(datum/target, hitbox_layer = 0, use_position_layering = FALSE, high_directions = NORTH) + . = ..() + if(!ismovable(target)) + return ELEMENT_INCOMPATIBLE + var/atom/movable/atom_target = target + atom_target.appearance_flags |= KEEP_TOGETHER + + src.hitbox_layer = hitbox_layer + src.use_position_layering = use_position_layering + src.high_directions = high_directions + // the update_overlays hook only exists because the vis_contents helper clears on update_icon + // If it weren't for that, we could get away with totally ignoring it :( + RegisterSignal(atom_target, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(update_overlay)) + RegisterSignal(atom_target, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(on_changed_z_level)) + if(use_position_layering) + // Even though it's being render relayed to nothing, the target will still cause position rendering issues + // This avoids that by banishing it to the background layer + atom_target.layer = BACKGROUND_LAYER + RegisterSignal(atom_target, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_changed_dir)) + atom_target.update_appearance() + +/datum/element/render_over_keep_hitbox/Detach(atom/movable/target, ...) + UnregisterSignal(target, list(COMSIG_MOVABLE_Z_CHANGED, COMSIG_ATOM_DIR_CHANGE, COMSIG_ATOM_UPDATE_OVERLAYS)) + SSvis_overlays.remove_vis_overlay(target, target.managed_vis_overlays) + if(use_position_layering) + target.layer = initial(target.layer) + return ..() + +/datum/element/render_over_keep_hitbox/proc/update_overlay(atom/movable/target, list/new_overlays) + gen_overlay(target) + +/datum/element/render_over_keep_hitbox/proc/on_changed_z_level(atom/movable/target, turf/old_turf, turf/new_turf, same_z_layer) + SIGNAL_HANDLER + + if(same_z_layer) + return + SSvis_overlays.remove_vis_overlay(target, target.managed_vis_overlays) + gen_overlay(target) + +/datum/element/render_over_keep_hitbox/proc/on_changed_dir(atom/movable/target, old_dir, new_dir) + SIGNAL_HANDLER + SSvis_overlays.remove_vis_overlay(target, target.managed_vis_overlays) + gen_directional_overlay(target, new_dir) + +/datum/element/render_over_keep_hitbox/proc/gen_overlay(atom/movable/target) + if(use_position_layering) + gen_directional_overlay(target, target.dir) + else + gen_square_overlay(target) + +/datum/element/render_over_keep_hitbox/proc/gen_square_overlay(atom/movable/target) + var/turf/our_turf = get_turf(target) + if(!target.render_target || target.render_target[1] != "*") + target.render_target = "*[REF(target)]" + + // This one offsets physical but not visual position to do the same + var/atom/movable/visible = SSvis_overlays.add_vis_overlay( + target, + plane = MUTATE_PLANE(GAME_PLANE, target), + add_appearance_flags = KEEP_APART, + unique = TRUE + ) + visible.render_source = target.render_target + visible.vis_flags |= VIS_INHERIT_LAYER + var/atom/movable/click_catch = SSvis_overlays.add_vis_overlay( + target, + layer = hitbox_layer, + plane = MUTATE_PLANE(GAME_PLANE, our_turf), + add_appearance_flags = KEEP_APART, + unique = TRUE + ) + click_catch.render_source = target.render_target + click_catch.alpha = 0 + click_catch.mouse_opacity = MOUSE_OPACITY_ICON + click_catch.vis_flags |= VIS_INHERIT_ID + +// OK, so, this makes windows render properly. +// We're using side_map to handle layering for us +// So things decides layering based on (simplifying) +// Plane +// Position (x and y + pixel_x/y, NOT the position of pixels on the sprite) blocked out in chunks of 32x32 because we're using tile movement +// Layer +// What we're doing here is shifting south windows DOWN onto the tile below them both visually and positionally +// Then shifting them back up ONLY visually, so they layer as if they were below us +// And since windows draw above mobs, this just WORKS +// More details in the proc itself +/datum/element/render_over_keep_hitbox/proc/gen_directional_overlay(atom/movable/target, direction) + var/turf/our_turf = get_turf(target) + //you see mobs under it, but you hit them like they are above it + var/click_offset = 0 + var/layer = 0 + // If we're to the north, offset our structure up + // But if we're to the south, offset our overlay down + // We want north things to draw over things above them, but not below them + click_offset = 32 + if(direction & high_directions) + // Low layer so we render below anyone on our turf + layer = ON_WALL_LAYER + else + // High layer so we render above anyone on our turf + layer = HIGHEST_GAME_LAYER + + // We're gonna disable our own rendering, and rely on the two vis_contents lads to do it for us + if(!target.render_target || target.render_target[1] != "*") + target.render_target = "*[REF(target)]" + + // This one offsets physical but not visual position to do the same + var/atom/movable/visible = SSvis_overlays.add_vis_overlay( + target, + layer = layer, + plane = MUTATE_PLANE(GAME_PLANE, our_turf), + add_appearance_flags = KEEP_APART, + unique = TRUE + ) + visible.render_source = target.render_target + var/atom/movable/click_catch = SSvis_overlays.add_vis_overlay( + target, + layer = hitbox_layer, + plane = MUTATE_PLANE(GAME_PLANE, our_turf), + add_appearance_flags = KEEP_APART, + pixel_y = click_offset, + pixel_z = -click_offset, + unique = TRUE + ) + click_catch.render_source = target.render_target + click_catch.alpha = 0 + // Make it clickable, and direct all clicks to the source object + click_catch.mouse_opacity = MOUSE_OPACITY_ICON + click_catch.vis_flags |= VIS_INHERIT_ID diff --git a/code/datums/elements/ridable.dm b/code/datums/elements/ridable.dm index e68653b3d4a07..4640194dd6a1c 100644 --- a/code/datums/elements/ridable.dm +++ b/code/datums/elements/ridable.dm @@ -20,6 +20,10 @@ if(!ismovable(target)) return COMPONENT_INCOMPATIBLE + if(!isliving(target)) + target.pixel_z = DEPTH_OFFSET + target.base_pixel_z = DEPTH_OFFSET + if(component_type == /datum/component/riding) stack_trace("Tried attaching a ridable element to [target] with basic/abstract /datum/component/riding component type. Please designate a specific riding component subtype when adding the ridable element.") return COMPONENT_INCOMPATIBLE @@ -35,6 +39,10 @@ RegisterSignal(target, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change)) /datum/element/ridable/Detach(atom/movable/target) + if(!isliving(target)) + target.pixel_z = target::pixel_z + target.base_pixel_z = target::base_pixel_z + target.can_buckle = initial(target.can_buckle) UnregisterSignal(target, list(COMSIG_MOVABLE_PREBUCKLE, COMSIG_SPEED_POTION_APPLIED, COMSIG_MOB_STATCHANGE)) return ..() diff --git a/code/datums/elements/simple_flying.dm b/code/datums/elements/simple_flying.dm index 49b8771687bd9..e6d8f42db838b 100644 --- a/code/datums/elements/simple_flying.dm +++ b/code/datums/elements/simple_flying.dm @@ -17,6 +17,7 @@ /datum/element/simple_flying/Detach(datum/target) . = ..() UnregisterSignal(target, COMSIG_MOB_STATCHANGE) + REMOVE_TRAIT(target, TRAIT_MOVE_FLYING, ELEMENT_TRAIT(type)) ///signal called by the stat of the target changing /datum/element/simple_flying/proc/on_stat_change(mob/living/target, new_stat) diff --git a/code/datums/elements/split_visibility.dm b/code/datums/elements/split_visibility.dm new file mode 100644 index 0000000000000..e0217fd055b85 --- /dev/null +++ b/code/datums/elements/split_visibility.dm @@ -0,0 +1,261 @@ +/// Lookup table for diagonal -> junction +GLOBAL_LIST_INIT(diagonal_junctions, generate_splitvis_lookup()) + +/proc/generate_splitvis_lookup() + // It should be as long as all 4 directions combined, so it can act as a lookup for all of them + var/list/diagonal_to_junction = new /list(NORTH|SOUTH|EAST|WEST) + // Set defaults + for(var/i in 1 to length(diagonal_to_junction)) + diagonal_to_junction[i] = NONE + diagonal_to_junction[NORTH|EAST] = dir_to_junction(NORTH|EAST) + diagonal_to_junction[SOUTH|EAST] = dir_to_junction(SOUTH|EAST) + diagonal_to_junction[SOUTH|WEST] = dir_to_junction(SOUTH|WEST) + diagonal_to_junction[NORTH|WEST] = dir_to_junction(NORTH|WEST) + return diagonal_to_junction + +/mutable_appearance/split_vis + +/mutable_appearance/split_vis/New() + . = ..() + // Need to do this here because it's overriden by the parent call + appearance_flags = TILE_BOUND | RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + +// Thinking on it, we really only need to generate a copy for each direction accounting for frill, and then just set the overlay based off that +// Except that doesn't work with frills, but frills don't vary by direction, and frills could inherit icon/state from the parent with appearance flags +/proc/get_splitvis_object(z_offset, icon_path, junction, dir, color, pixel_x = 0, pixel_y = 0, plane = GAME_PLANE, layer = WALL_LAYER, cache = TRUE) + var/key = "[icon_path]-[junction]-[dir]-[color]-[pixel_x]-[pixel_y]-[plane]-[layer]-[z_offset]" + // FUCKING GLOBAL CONTEXT + var/static/list/split_visibility_objects = list() + var/mutable_appearance/split_vis/vis = split_visibility_objects[key] + if(vis && cache) + return vis + + vis = new /mutable_appearance/split_vis() + vis.icon = icon_path + vis.icon_state = "[junction || "0"]-[dir]" + vis.color = color + vis.pixel_x = pixel_x + vis.pixel_y = pixel_y + SET_PLANE_W_SCALAR(vis, plane, z_offset) + vis.layer = layer + + if(cache) + split_visibility_objects[key] = vis + return vis + +/// Generates a mutable appearance of the passed in junction +/// Needs to be kept in parity with the non offsetting bits of [/datum/element/split_vis/proc/apply_splitvis_objs] +/// I'm sorry bros +/proc/generate_joined_wall(icon_path, junction, color, draw_darkness = TRUE) + var/list/overlays = list() + if(draw_darkness) + overlays += mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background", layer = FLOAT_LAYER - 1, appearance_flags = TILE_BOUND | RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM) + + // This lets us do O(1) logic down later, and ensure logic works as we'd like + var/static/list/diagonal_to_junction = generate_splitvis_lookup() + // You might ask "lemon why are you using lists of directions here instead of the GLOBs" + // it's because we use this proc in a global context, so it cannot rely on OTHER globals. I hate byond + for(var/direction in list(NORTH, SOUTH, EAST, WEST)) + // If we're connected in this direction, please don't draw a wall side + if((junction & direction) == direction) + continue + overlays += get_splitvis_object(0, icon_path, junction, direction, color, plane = FLOAT_PLANE, layer = FLOAT_LAYER, cache = FALSE) + + for(var/direction in list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)) + // If we're connected in the two components of this direction + if((junction & direction) != direction) + continue + // AND if we're not connected to anything in the SUM of those directions + var/diagonal_junction = diagonal_to_junction[direction] + if((junction & diagonal_junction) == diagonal_junction) + continue + + overlays += get_splitvis_object(0, icon_path, "innercorner", direction, color, plane = FLOAT_PLANE, layer = FLOAT_LAYER, cache = FALSE) + + var/mutable_appearance/holder = mutable_appearance(appearance_flags = KEEP_TOGETHER) + holder.overlays += overlays + return holder + +// Hello lads +// This element exists so sides of a turf "pop off" it visually, preventing weird popin when you walk below it +// It also ensures you can't see anything but the side visible to you, which makes walking in say, maint a lot nicer +/datum/element/split_visibility + element_flags = ELEMENT_DETACH_ON_HOST_DESTROY | ELEMENT_BESPOKE + argument_hash_start_idx = 2 + var/icon_path + var/color + +/datum/element/split_visibility/Attach(datum/target, icon_path, color) + if(!isatom(target)) // Turfs only cause this would do wacky shit on things that can move + return ELEMENT_INCOMPATIBLE + . = ..() + var/atom/target_atom = target + if(!(target_atom.smoothing_flags & (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS))) + CRASH("We tried to splitvis [target.type] without bitmask smoothing. What?") + + target_atom.add_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background", UNDER_WALL_LAYER, target_atom, GAME_PLANE)) + // We draw a copy to the wall plane so we can use it to mask byond darkness, that's all + target_atom.add_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background", UNDER_WALL_LAYER, target_atom, WALL_PLANE)) + // Ensures when you try to click on a turf, you actually click on the turf, and not the adjacent things holding it + target_atom.add_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_clickcatcher", WALL_CLICKCATCH_LAYER, target_atom, GAME_PLANE)) + + src.icon_path = icon_path + src.color = color + + if(ismovable(target)) + RegisterSignal(target, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(on_movable_junction_change)) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + if(isturf(target_atom.loc)) + var/ref = REF(target) + ADD_TRAIT(target_atom.loc, TRAIT_CONTAINS_SPLITVIS, ref) + if(!HAS_TRAIT(target_atom.loc, TRAIT_CONTAINS_SPLITVIS)) + RegisterSignal(target_atom.loc, COMSIG_TURF_CHANGE, PROC_REF(on_movable_turf_change)) + add_split_vis_objects(target_atom.loc, target_atom.smoothing_junction) + else + ADD_TRAIT(target, TRAIT_CONTAINS_SPLITVIS, UNLINT(src)) // We use src here because this code is hot, and we assert that bespoke elements cannot self delete. Not a good pattern but fast + RegisterSignal(target, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE, PROC_REF(on_turf_junction_change)) + add_split_vis_objects(target_atom, target_atom.smoothing_junction) + + +/datum/element/split_visibility/proc/add_split_vis_objects(turf/target_turf, junction) + apply_splitvis_objs(target_turf, junction) + target_turf.set_lighting_state("[junction]") + +/datum/element/split_visibility/proc/remove_split_vis_objects(turf/target_turf, junction) + apply_splitvis_objs(target_turf, junction, add_to_turfs = FALSE) + target_turf.set_lighting_state("lighting") + +/datum/element/split_visibility/proc/apply_splitvis_objs(turf/target_turf, junction, add_to_turfs = TRUE) + // cache for sonic speed + var/icon_path = src.icon_path + var/color = src.color + + var/offset = GET_Z_PLANE_OFFSET(target_turf.z) + + // This lets us do O(1) logic down later, and ensure logic works as we'd like + var/list/diagonal_to_junction = GLOB.diagonal_junctions + + for(var/direction in GLOB.cardinals) + // If we're connected in this direction, please don't draw a wall side + if((junction & direction) == direction) + continue + + var/active_plane = GAME_PLANE + if(direction & NORTH) + active_plane = FRILL_PLANE + + var/turf/operating_turf = get_step(target_turf, direction) + // Right up against an edge of the map eh? + if(!operating_turf) + continue + + if(add_to_turfs) + var/mutable_appearance/split_vis/vis + // If we're trying to draw to something with splitvis, just draw to yourself, and use the hidden wall plane + if(HAS_TRAIT(operating_turf, TRAIT_CONTAINS_SPLITVIS)) + vis = get_splitvis_object(offset, icon_path, junction, direction, color, 0, 0, HIDDEN_WALL_PLANE) + target_turf.overlays += vis + else + vis = get_splitvis_object(offset, icon_path, junction, direction, color, -DIR_TO_PIXEL_X(direction), -DIR_TO_PIXEL_Y(direction), active_plane) + operating_turf.overlays += vis + else + // I HATE the code duping, but we need to try both to ensure it's properly cleared + var/mutable_appearance/split_vis/vis + vis = get_splitvis_object(offset, icon_path, junction, direction, color, 0, 0, HIDDEN_WALL_PLANE) + target_turf.overlays -= vis + vis = get_splitvis_object(offset, icon_path, junction, direction, color, -DIR_TO_PIXEL_X(direction), -DIR_TO_PIXEL_Y(direction), active_plane) + operating_turf.overlays -= vis + + for(var/direction in GLOB.diagonals) + // If we're connected in the two components of this direction + if((junction & direction) != direction) + continue + // AND if we're not connected to anything in the SUM of those directions + var/diagonal_junction = diagonal_to_junction[direction] + if((junction & diagonal_junction) == diagonal_junction) + continue + + var/turf/operating_turf = get_step(target_turf, direction) + // Right up against an edge of the map eh? + if(!operating_turf) + continue + + if(!add_to_turfs) + // I HATE the code duping, but we need to try both to ensure it's properly cleared + var/mutable_appearance/split_vis/vis + vis = get_splitvis_object(offset, icon_path, "innercorner", direction, color, 0, 0, HIDDEN_WALL_PLANE, ABOVE_WALL_LAYER) + target_turf.overlays -= vis + vis = get_splitvis_object(offset, icon_path, "innercorner", direction, color, -DIR_TO_PIXEL_X(direction), -DIR_TO_PIXEL_Y(direction), layer = ABOVE_WALL_LAYER) + operating_turf.overlays -= vis + continue + var/mutable_appearance/split_vis/vis + // If we're trying to draw to something with splitvis, just draw to yourself, and use the hidden wall plane + // Wallening todo: Frills should block emissives + if(HAS_TRAIT(operating_turf, TRAIT_CONTAINS_SPLITVIS)) + vis = get_splitvis_object(offset, icon_path, "innercorner", direction, color, 0, 0, HIDDEN_WALL_PLANE, ABOVE_WALL_LAYER) + target_turf.overlays += vis + else + vis = get_splitvis_object(offset, icon_path, "innercorner", direction, color, -DIR_TO_PIXEL_X(direction), -DIR_TO_PIXEL_Y(direction), layer = ABOVE_WALL_LAYER) + operating_turf.overlays += vis + + +/datum/element/split_visibility/Detach(atom/target) + target.cut_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background", UNDER_WALL_LAYER, target, GAME_PLANE)) + // We draw a copy to the wall plane so we can use it to mask byond darkness, that's all + target.cut_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background", UNDER_WALL_LAYER, target, WALL_PLANE)) + // Ensures when you try to click on a turf, you actually click on the turf, and not the adjacent things holding it + target.cut_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_clickcatcher", WALL_CLICKCATCH_LAYER, target, GAME_PLANE)) + UnregisterSignal(target, COMSIG_ATOM_SET_SMOOTHED_ICON_STATE) + if(ismovable(target)) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + if(isturf(target.loc)) + remove_split_vis_objects(target.loc, target.smoothing_junction) + var/ref = REF(target) + REMOVE_TRAIT(target.loc, TRAIT_CONTAINS_SPLITVIS, ref) + if(!HAS_TRAIT(target.loc, TRAIT_CONTAINS_SPLITVIS)) + UnregisterSignal(target.loc, COMSIG_TURF_CHANGE) + + else + remove_split_vis_objects(target, target.smoothing_junction) + REMOVE_TRAIT(target, TRAIT_CONTAINS_SPLITVIS, UNLINT(src)) // We use src here because this code is hot, and we assert that bespoke elements cannot self delete. Not a good pattern but fast + return ..() + +/datum/element/split_visibility/proc/on_turf_junction_change(turf/source, new_junction) + SIGNAL_HANDLER + remove_split_vis_objects(source, source.smoothing_junction) + add_split_vis_objects(source, new_junction) + +/datum/element/split_visibility/proc/on_movable_junction_change(atom/movable/source, new_junction) + SIGNAL_HANDLER + if(isturf(source.loc)) + remove_split_vis_objects(source.loc, source.smoothing_junction) + add_split_vis_objects(source.loc, new_junction) + +/datum/element/split_visibility/proc/on_movable_turf_change(turf/source, list/new_baseturfs, flags, list/post_change_callbacks) + SIGNAL_HANDLER + // I am EVEN MORE SORRY FUCKKKKK + // This is a wacko case, traits as lists AHHHHH + for(var/ref in GET_TRAIT_SOURCES(source, TRAIT_CONTAINS_SPLITVIS)) + var/atom/thing = locate(ref) + if(thing.loc != source) + continue + post_change_callbacks += CALLBACK(src, PROC_REF(movable_post_turf_change), thing) + +/datum/element/split_visibility/proc/movable_post_turf_change(atom/movable/parent, turf/changed) + changed.set_lighting_state("[parent.smoothing_junction]") + +/datum/element/split_visibility/proc/on_move(atom/source, atom/old_loc, dir, forced, list/old_locs) + SIGNAL_HANDLER + var/ref = REF(source) + if(isturf(old_loc)) + remove_split_vis_objects(old_loc, source.smoothing_junction) // We trust that junction changing will create the new visuals. just gotta cover the old + QUEUE_SMOOTH_NEIGHBORS(old_loc) + REMOVE_TRAIT(old_loc, TRAIT_CONTAINS_SPLITVIS, ref) + if(!HAS_TRAIT(old_loc, TRAIT_CONTAINS_SPLITVIS)) + UnregisterSignal(old_loc, COMSIG_TURF_CHANGE) + QUEUE_SMOOTH(source) + QUEUE_SMOOTH_NEIGHBORS(source) + if(isturf(source.loc)) + ADD_TRAIT(source.loc, TRAIT_CONTAINS_SPLITVIS, ref) + if(!HAS_TRAIT(source.loc, TRAIT_CONTAINS_SPLITVIS)) + RegisterSignal(source.loc, COMSIG_TURF_CHANGE, PROC_REF(on_movable_turf_change)) diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index 1b932ce066590..14cdda8e4cf52 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -43,15 +43,21 @@ if(!user.can_perform_action(source, FORBID_TELEKINESIS_REACH | ALLOW_RESTING)) return - // Cyborgs buckle people by dragging them onto them, unless in combat mode. + // Snowflake for cyborgs buckling people by dragging them onto them, unless in combat mode. if (iscyborg(user)) var/mob/living/silicon/robot/cyborg_user = user if (!cyborg_user.combat_mode) return + // Snowflake for xeno consumption code + if (isalienadult(user)) + var/mob/living/carbon/alien/adult/alien = user + if (alien.grab_state == GRAB_AGGRESSIVE && alien.pulling == source) + return if (!isnull(should_strip_proc_path) && !call(source, should_strip_proc_path)(user)) return + // Snowflake for mob scooping if (isliving(source)) var/mob/living/mob = source if (mob.can_be_held && (user.grab_state == GRAB_AGGRESSIVE) && (user.pulling == source)) diff --git a/code/datums/elements/turf_transparency.dm b/code/datums/elements/turf_transparency.dm index c9fb667cff922..595b7825368f7 100644 --- a/code/datums/elements/turf_transparency.dm +++ b/code/datums/elements/turf_transparency.dm @@ -219,7 +219,7 @@ GLOBAL_LIST_EMPTY(pillars_by_z) // it will make them look significantly nicer, and should let you tie into their logic more easily // Just please don't break behavior yeah? thanks, I love you <3 if(isclosedturf(our_turf)) //Show girders below closed turfs - var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures.dmi', "girder", layer = BELOW_CLOSED_TURF_LAYER) + var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures/tall.dmi', "girder", layer = BELOW_CLOSED_TURF_LAYER) girder_underlay.appearance_flags = RESET_ALPHA | RESET_COLOR our_turf.underlays += girder_underlay var/mutable_appearance/plating_underlay = mutable_appearance('icons/turf/floors.dmi', "plating", layer = LOW_FLOOR_LAYER, offset_spokesman = our_turf, plane = FLOOR_PLANE) @@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(pillars_by_z) our_turf.underlays -= get_baseturf_underlay(our_turf) if(isclosedturf(our_turf)) //Show girders below closed turfs - var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures.dmi', "girder", layer = BELOW_CLOSED_TURF_LAYER) + var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures/tall.dmi', "girder", layer = BELOW_CLOSED_TURF_LAYER) girder_underlay.appearance_flags = RESET_ALPHA | RESET_COLOR our_turf.underlays -= girder_underlay var/mutable_appearance/plating_underlay = mutable_appearance('icons/turf/floors.dmi', "plating", layer = LOW_FLOOR_LAYER, offset_spokesman = our_turf, plane = FLOOR_PLANE) diff --git a/code/datums/elements/undertile.dm b/code/datums/elements/undertile.dm index ed901b196c1aa..229b292b31ae9 100644 --- a/code/datums/elements/undertile.dm +++ b/code/datums/elements/undertile.dm @@ -43,8 +43,13 @@ var/turf/T = get_turf(source) if(underfloor_accessibility < UNDERFLOOR_INTERACTABLE) - SET_PLANE_IMPLICIT(source, FLOOR_PLANE) // We do this so that turfs that allow you to see what's underneath them don't have to be on the game plane (which causes ambient occlusion weirdness) - source.layer = ABOVE_OPEN_TURF_LAYER + // We only want to change the layer/plane for things that aren't already on the floor plane, + // as overriding the settings for those would cause layering issues + if(PLANE_TO_TRUE(source.plane) != FLOOR_PLANE) + // We do this so that turfs that allow you to see what's underneath them don't have to be on the game plane (which causes ambient occlusion weirdness) + SET_PLANE_IMPLICIT(source, FLOOR_PLANE) + source.layer = ABOVE_OPEN_TURF_LAYER + ADD_TRAIT(source, TRAIT_UNDERFLOOR, REF(src)) if(tile_overlay) @@ -77,6 +82,8 @@ if(use_anchor) source.set_anchored(FALSE) + SEND_SIGNAL(source, COMSIG_UNDERTILE_UPDATED) + /datum/element/undertile/Detach(atom/movable/source, visibility_trait, invisibility_level = INVISIBILITY_MAXIMUM) . = ..() diff --git a/code/datums/elements/venomous.dm b/code/datums/elements/venomous.dm index ba4e088750cd1..9f9e4940df13e 100644 --- a/code/datums/elements/venomous.dm +++ b/code/datums/elements/venomous.dm @@ -12,24 +12,25 @@ var/injection_flags ///How much of the reagent added. if it's a list, it'll pick a range with the range being list(lower_value, upper_value) var/list/amount_added + ///Does this trigger when thrown? + var/thrown_effect = FALSE /datum/element/venomous/Attach(datum/target, poison_type, amount_added, injection_flags = NONE, thrown_effect = FALSE) . = ..() src.poison_type = poison_type src.amount_added = amount_added src.injection_flags = injection_flags - target.AddComponent(\ - /datum/component/on_hit_effect,\ - on_hit_callback = CALLBACK(src, PROC_REF(do_venom)),\ - thrown_effect = thrown_effect,\ - ) + src.thrown_effect = thrown_effect + target.AddElementTrait(TRAIT_ON_HIT_EFFECT, REF(src), /datum/element/on_hit_effect) + RegisterSignal(target, COMSIG_ON_HIT_EFFECT, PROC_REF(do_venom)) -/datum/element/venomous/Detach(datum/target) - qdel(target.GetComponent(/datum/component/on_hit_effect)) +/datum/element/venomous/Detach(datum/source) + UnregisterSignal(source, COMSIG_ON_HIT_EFFECT) + REMOVE_TRAIT(source, TRAIT_ON_HIT_EFFECT, REF(src)) return ..() -/datum/element/venomous/proc/do_venom(datum/element_owner, atom/venom_source, mob/living/target, hit_zone) - if(!istype(target)) +/datum/element/venomous/proc/do_venom(datum/element_owner, atom/venom_source, mob/living/target, hit_zone, throw_hit) + if((throw_hit && !thrown_effect) || !istype(target)) return if(target.stat == DEAD) return diff --git a/code/datums/elements/wall_mount.dm b/code/datums/elements/wall_mount.dm new file mode 100644 index 0000000000000..64843b5815fff --- /dev/null +++ b/code/datums/elements/wall_mount.dm @@ -0,0 +1,33 @@ +/datum/element/wall_mount + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + /// What layer the object should be on when wall-mounted + var/wall_layer + +/datum/element/wall_mount/Attach(datum/target, wall_layer) + if(!ismovable(target)) + return ELEMENT_INCOMPATIBLE + . = ..() + var/atom/movable/real_target = target + src.wall_layer = wall_layer + RegisterSignal(target, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_dir_changed)) + on_dir_changed(real_target, null, real_target.dir) + +/datum/element/wall_mount/Detach(datum/source) + . = ..() + UnregisterSignal(source, COMSIG_ATOM_DIR_CHANGE) + +/datum/element/wall_mount/proc/on_dir_changed(datum/target, olddir, newdir) + SIGNAL_HANDLER + + if(olddir == newdir) + return + + var/atom/movable/real_target = target + var/new_plane = OVER_FRILL_PLANE + if(real_target.wall_mount_common_plane(newdir)) + new_plane = initial(real_target.plane) + SET_PLANE_EXPLICIT(real_target, new_plane, real_target) + real_target.layer = wall_layer || ON_WALL_LAYER + real_target.wall_mount_offset(newdir) + real_target.update_appearance() diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 7006d6d6daa71..8d77c6fc6bdbb 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -44,6 +44,8 @@ var/list/mob_type_blacklist_typecache /// Types that can use this emote regardless of their state. var/list/mob_type_ignore_stat_typecache + /// Trait that is required to use this emote. + var/trait_required /// In which state can you use this emote? (Check stat.dm for a full list of them) var/stat_allowed = CONSCIOUS /// Sound to play when emote is called. @@ -58,6 +60,8 @@ 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 + /// Does this emote's sound ignore walls? + var/sound_wall_ignore = FALSE /datum/emote/New() switch(mob_type_allowed_typecache) @@ -83,27 +87,22 @@ * * type_override - Override to the current emote_type. * * intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE). * - * Returns TRUE if it was able to run the emote, FALSE otherwise. */ /datum/emote/proc/run_emote(mob/user, params, type_override, intentional = FALSE) - if(!can_run_emote(user, TRUE, intentional)) - return FALSE - if(SEND_SIGNAL(user, COMSIG_MOB_PRE_EMOTED, key, params, type_override, intentional, src) & COMPONENT_CANT_EMOTE) - return TRUE // We don't return FALSE because the error output would be incorrect, provide your own if necessary. var/msg = select_message_type(user, message, intentional) if(params && message_param) msg = select_param(user, params) msg = replace_pronoun(user, msg) if(!msg) - return TRUE + return user.log_message(msg, LOG_EMOTE) var/tmp_sound = get_sound(user) if(tmp_sound && should_play_sound(user, intentional) && TIMER_COOLDOWN_FINISHED(user, type)) TIMER_COOLDOWN_START(user, type, audio_cooldown) - playsound(user, tmp_sound, 50, vary) + playsound(source = user,soundin = tmp_sound,vol = 50, vary = vary, ignore_walls = sound_wall_ignore) var/is_important = emote_type & EMOTE_IMPORTANT var/is_visual = emote_type & EMOTE_VISIBLE @@ -136,7 +135,7 @@ viewer.show_message("[user] [msg]", MSG_AUDIBLE) else if(is_visual) viewer.show_message("[user] [msg]", MSG_VISUAL) - return TRUE // Early exit so no dchat message + return // Early exit so no dchat message // The emote has some important information, and should always be shown to the user else if(is_important) @@ -183,7 +182,7 @@ continue to_chat(ghost, "[FOLLOW_LINK(ghost, user)] [dchatmsg]") - return TRUE + return @@ -293,10 +292,13 @@ * * user - Person that is trying to send the emote. * * status_check - Bool that says whether we should check their stat or not. * * intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE). + * * params - Parameters added after the emote. * * Returns a bool about whether or not the user can run the emote. */ -/datum/emote/proc/can_run_emote(mob/user, status_check = TRUE, intentional = FALSE) +/datum/emote/proc/can_run_emote(mob/user, status_check = TRUE, intentional = FALSE, params) + if(trait_required && !HAS_TRAIT(user, trait_required)) + return FALSE if(!is_type_in_typecache(user, mob_type_allowed_typecache)) return FALSE if(is_type_in_typecache(user, mob_type_blacklist_typecache)) diff --git a/code/datums/ert.dm b/code/datums/ert.dm index 7e358b38cecb4..58500bb3cc33c 100644 --- a/code/datums/ert.dm +++ b/code/datums/ert.dm @@ -1,5 +1,4 @@ /datum/ert - var/mobtype = /mob/living/carbon/human var/team = /datum/team/ert var/opendoors = TRUE var/leader_role = /datum/antagonist/ert/commander @@ -20,6 +19,8 @@ var/datum/map_template/ert_template /// If we should actually _use_ the ert_template custom shuttle var/use_custom_shuttle = TRUE + /// Used for spawning bodies for your ERT. Unless customized in the Summon-ERT verb settings, will be overridden and should not be defined at the datum level. + var/mob/living/carbon/human/mob_type /datum/ert/New() if (!polldesc) diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm index 377a2fa16938e..bdc2a7d2928c5 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm @@ -276,6 +276,11 @@ icon_file = 'icons/mob/inhands/clothing/suits_righthand.dmi' json_config = 'code/datums/greyscale/json_configs/jumpsuit_prison_inhand.json' +/datum/greyscale_config/jumpsuit/worn_digi + name = "Jumpsuit Worn (Digitigrate)" + icon_file = 'icons/mob/clothing/under/digi_template.dmi' + json_config = 'code/datums/greyscale/json_configs/jumpsuit_worn_digilegs.json' + /datum/greyscale_config/eth_tunic name = "Ethereal Tunic" icon_file = 'icons/obj/clothing/under/ethereal.dmi' diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm index 34db9013a893d..91cfb618c210f 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_effects.dm @@ -2,3 +2,8 @@ name = "Transmutation Rune" icon_file = 'icons/effects/96x96.dmi' json_config = 'code/datums/greyscale/json_configs/heretic_rune.json' + +/datum/greyscale_config/manipulator_hand + name = "Manipulator Hand" + icon_file = 'icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi' + json_config = 'code/datums/greyscale/json_configs/manipulator_hand.json' diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm index 7202c41ecc540..0956c40564c27 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_objects.dm @@ -1,7 +1,28 @@ -/datum/greyscale_config/material_airlock - name = "Material Airlock" - icon_file = 'icons/obj/doors/airlocks/material/material.dmi' - json_config = 'code/datums/greyscale/json_configs/material_airlock.json' +/** + * Airlock configurations. + * Airlocks with no decorations are under /airlocks + * Airlocks with see-through windows are under .../window + * Airlocks with decorative color bands are under .../custom + */ + +/datum/greyscale_config/airlocks + name = "Solid Airlock" + icon_file = 'icons/obj/doors/airlocks/greyscale_template.dmi' + json_config = 'code/datums/greyscale/json_configs/airlock_plain.json' + +/datum/greyscale_config/airlocks/window + name = "Airlock with Window" + json_config = 'code/datums/greyscale/json_configs/airlock_window.json' + +/datum/greyscale_config/airlocks/custom + name = "Airlock with Decorations" + json_config = 'code/datums/greyscale/json_configs/airlock_custom.json' + + +/datum/greyscale_config/big_manipulator + name = "Big Manipulator" + icon_file = 'icons/obj/machines/big_manipulator_parts/big_manipulator_core.dmi' + json_config = 'code/datums/greyscale/json_configs/big_manipulator.json' // // BENCHES @@ -9,27 +30,27 @@ /datum/greyscale_config/bench_solo name = "Bench Solo" - icon_file = 'icons/obj/chairs_wide.dmi' + icon_file = 'icons/obj/structures/chairs_wide.dmi' json_config = 'code/datums/greyscale/json_configs/bench_solo.json' /datum/greyscale_config/bench_middle name = "Bench Middle" - icon_file = 'icons/obj/chairs_wide.dmi' + icon_file = 'icons/obj/structures/chairs_wide.dmi' json_config = 'code/datums/greyscale/json_configs/bench_middle.json' /datum/greyscale_config/bench_left name = "Bench Left" - icon_file = 'icons/obj/chairs_wide.dmi' + icon_file = 'icons/obj/structures/chairs_wide.dmi' json_config = 'code/datums/greyscale/json_configs/bench_left.json' /datum/greyscale_config/bench_right name = "Bench Right" - icon_file = 'icons/obj/chairs_wide.dmi' + icon_file = 'icons/obj/structures/chairs_wide.dmi' json_config = 'code/datums/greyscale/json_configs/bench_right.json' /datum/greyscale_config/bench_corner name = "Bench Corner" - icon_file = 'icons/obj/chairs_wide.dmi' + icon_file = 'icons/obj/structures/chairs_wide.dmi' json_config = 'code/datums/greyscale/json_configs/bench_corner.json' // diff --git a/code/datums/greyscale/json_configs/airlock_custom.json b/code/datums/greyscale/json_configs/airlock_custom.json new file mode 100644 index 0000000000000..8e898dc865ed5 --- /dev/null +++ b/code/datums/greyscale/json_configs/airlock_custom.json @@ -0,0 +1,266 @@ +{ + "closed": [ + { + "type": "icon_state", + "icon_state": "left_door_panel", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band", + "blend_mode": "overlay", + "color_ids": [ 6 ] + }, + { + "type": "icon_state", + "icon_state": "fill_closed", + "blend_mode": "overlay", + "color_ids": [ 7 ] + } + ], + "opening": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_opening", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_opening", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_opening", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_opening", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_opening", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_opening", + "blend_mode": "overlay", + "color_ids": [ 6 ] + }, + { + "type": "icon_state", + "icon_state": "fill_opening", + "blend_mode": "overlay", + "color_ids": [ 7 ] + } + ], + "open_top": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_open_top", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_open_top", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_open_top", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_open_top", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_open", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_open", + "blend_mode": "overlay", + "color_ids": [ 6 ] + }, + { + "type": "icon_state", + "icon_state": "fill_open", + "blend_mode": "overlay", + "color_ids": [ 7 ] + } + ], + "open_bottom": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_open", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_open", + "blend_mode": "overlay", + "color_ids": [ 6 ] + }, + { + "type": "icon_state", + "icon_state": "fill_open", + "blend_mode": "overlay", + "color_ids": [ 7 ] + } + ], + "closing": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_closing", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_closing", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_closing", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_closing", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_closing", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_closing", + "blend_mode": "overlay", + "color_ids": [ 6 ] + }, + { + "type": "icon_state", + "icon_state": "fill_closing", + "blend_mode": "overlay", + "color_ids": [ 7 ] + } + ], + "construction": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_construction", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_construction", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_construction", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_construction", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_construction", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_construction", + "blend_mode": "overlay", + "color_ids": [ 6 ] + }, + { + "type": "icon_state", + "icon_state": "fill_construction", + "blend_mode": "overlay", + "color_ids": [ 7 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/airlock_plain.json b/code/datums/greyscale/json_configs/airlock_plain.json new file mode 100644 index 0000000000000..0f68b2c4e2413 --- /dev/null +++ b/code/datums/greyscale/json_configs/airlock_plain.json @@ -0,0 +1,194 @@ +{ + "closed": [ + { + "type": "icon_state", + "icon_state": "left_door_panel", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "fill_closed", + "blend_mode": "overlay", + "color_ids": [ 5 ] + } + ], + "opening": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_opening", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_opening", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_opening", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_opening", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "fill_opening", + "blend_mode": "overlay", + "color_ids": [ 5 ] + } + ], + "open_bottom": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "fill_open", + "blend_mode": "overlay", + "color_ids": [ 5 ] + } + ], + "open_top": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_open_top", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_open_top", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_open_top", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_open_top", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "fill_open", + "blend_mode": "overlay", + "color_ids": [ 5 ] + } + ], + "closing": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_closing", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_closing", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_closing", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_closing", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "fill_closing", + "blend_mode": "overlay", + "color_ids": [ 5 ] + } + ], + "construction": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_construction", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_construction", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_construction", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_construction", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "fill_construction", + "blend_mode": "overlay", + "color_ids": [ 5 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/airlock_window.json b/code/datums/greyscale/json_configs/airlock_window.json new file mode 100644 index 0000000000000..dfc9bcd406731 --- /dev/null +++ b/code/datums/greyscale/json_configs/airlock_window.json @@ -0,0 +1,230 @@ +{ + "closed": [ + { + "type": "icon_state", + "icon_state": "left_door_panel", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band", + "blend_mode": "overlay", + "color_ids": [ 6 ] + } + ], + "opening": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_opening", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_opening", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_opening", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_opening", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_opening", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_opening", + "blend_mode": "overlay", + "color_ids": [ 6 ] + } + ], + "open_top": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_open_top", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_open_top", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_open_top", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_open_top", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_open", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_open", + "blend_mode": "overlay", + "color_ids": [ 6 ] + } + ], + "open_bottom": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_open_bottom", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_open", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_open", + "blend_mode": "overlay", + "color_ids": [ 6 ] + } + ], + "closing": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_closing", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_closing", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_closing", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_closing", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_closing", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_closing", + "blend_mode": "overlay", + "color_ids": [ 6 ] + } + ], + "construction": [ + { + "type": "icon_state", + "icon_state": "left_door_panel_construction", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "right_door_panel_construction", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "top_right_rim_construction", + "blend_mode": "overlay", + "color_ids": [ 3 ] + }, + { + "type": "icon_state", + "icon_state": "top_left_rim_construction", + "blend_mode": "overlay", + "color_ids": [ 4 ] + }, + { + "type": "icon_state", + "icon_state": "left_band_construction", + "blend_mode": "overlay", + "color_ids": [ 5 ] + }, + { + "type": "icon_state", + "icon_state": "right_band_construction", + "blend_mode": "overlay", + "color_ids": [ 6 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/big_manipulator.json b/code/datums/greyscale/json_configs/big_manipulator.json new file mode 100644 index 0000000000000..c7f96bac2abaa --- /dev/null +++ b/code/datums/greyscale/json_configs/big_manipulator.json @@ -0,0 +1,15 @@ +{ + "core": [ + { + "type": "icon_state", + "icon_state": "core", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "core_colour", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/jumpsuit_worn_digilegs.json b/code/datums/greyscale/json_configs/jumpsuit_worn_digilegs.json new file mode 100644 index 0000000000000..9aa201cece3c1 --- /dev/null +++ b/code/datums/greyscale/json_configs/jumpsuit_worn_digilegs.json @@ -0,0 +1,10 @@ +{ + "": [ + { + "type": "icon_state", + "icon_state": "jumpsuit", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/manipulator_hand.json b/code/datums/greyscale/json_configs/manipulator_hand.json new file mode 100644 index 0000000000000..be7c96df62b64 --- /dev/null +++ b/code/datums/greyscale/json_configs/manipulator_hand.json @@ -0,0 +1,15 @@ +{ + "hand": [ + { + "type": "icon_state", + "icon_state": "hand", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "hand_colour", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/material_airlock.json b/code/datums/greyscale/json_configs/material_airlock.json deleted file mode 100644 index 12934c4946d4c..0000000000000 --- a/code/datums/greyscale/json_configs/material_airlock.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "closed": [ - { - "type": "icon_state", - "icon_state": "base_closed", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "frame_closed", - "blend_mode": "overlay" - } - ], - "open": [ - { - "type": "icon_state", - "icon_state": "base_open", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "frame_open", - "blend_mode": "overlay" - } - ], - "opening": [ - { - "type": "icon_state", - "icon_state": "base_opening", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "frame_opening", - "blend_mode": "overlay" - } - ], - "closing": [ - { - "type": "icon_state", - "icon_state": "base_closing", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "frame_closing", - "blend_mode": "overlay" - } - ], - "construction": [ - { - "type": "icon_state", - "icon_state": "base_construction", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "frame_construction", - "blend_mode": "overlay" - } - ], - "fill_closed": [ - { - "type": "icon_state", - "icon_state": "fill_closed", - "blend_mode": "overlay", - "color_ids": [ 1 ] - } - ], - "fill_open": [ - { - "type": "icon_state", - "icon_state": "fill_open", - "blend_mode": "overlay", - "color_ids": [ 1 ] - } - ], - "fill_opening": [ - { - "type": "icon_state", - "icon_state": "fill_opening", - "blend_mode": "overlay", - "color_ids": [ 1 ] - } - ], - "fill_closing": [ - { - "type": "icon_state", - "icon_state": "fill_closing", - "blend_mode": "overlay", - "color_ids": [ 1 ] - } - ], - "fill_construction": [ - { - "type": "icon_state", - "icon_state": "fill_construction", - "blend_mode": "overlay", - "color_ids": [ 1 ] - } - ], - "" : [ - { - "type": "icon_state", - "icon_state": "fill_open", - "blend_mode": "overlay" - } - ] -} diff --git a/code/datums/greyscale/json_configs/meter.json b/code/datums/greyscale/json_configs/meter.json index 73cfb73995955..344500c2a9dcc 100644 --- a/code/datums/greyscale/json_configs/meter.json +++ b/code/datums/greyscale/json_configs/meter.json @@ -2,26 +2,26 @@ "meter": [ { "type": "icon_state", - "icon_state": "pressure_off", + "icon_state": "meter_base", "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", + "icon_state": "pressure_off", "blend_mode": "overlay" } ], "meter0": [ { "type": "icon_state", - "icon_state": "pressure0", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure0", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -32,14 +32,14 @@ "meter1_1": [ { "type": "icon_state", - "icon_state": "pressure1_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure1_1", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -50,14 +50,14 @@ "meter1_2": [ { "type": "icon_state", - "icon_state": "pressure1_2", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure1_2", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -68,14 +68,14 @@ "meter1_3": [ { "type": "icon_state", - "icon_state": "pressure1_3", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure1_3", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -86,14 +86,14 @@ "meter1_4": [ { "type": "icon_state", - "icon_state": "pressure1_4", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure1_4", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -104,14 +104,14 @@ "meter1_5": [ { "type": "icon_state", - "icon_state": "pressure1_5", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure1_5", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -122,14 +122,14 @@ "meter1_6": [ { "type": "icon_state", - "icon_state": "pressure1_6", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure1_6", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -140,14 +140,14 @@ "meter2_1": [ { "type": "icon_state", - "icon_state": "pressure2_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure2_1", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -158,14 +158,14 @@ "meter2_2": [ { "type": "icon_state", - "icon_state": "pressure2_2", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure2_2", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -176,14 +176,14 @@ "meter2_3": [ { "type": "icon_state", - "icon_state": "pressure2_3", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure2_3", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -194,14 +194,14 @@ "meter2_4": [ { "type": "icon_state", - "icon_state": "pressure2_4", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure2_4", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -212,14 +212,14 @@ "meter2_5": [ { "type": "icon_state", - "icon_state": "pressure2_5", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure2_5", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -230,14 +230,14 @@ "meter2_6": [ { "type": "icon_state", - "icon_state": "pressure2_6", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure2_6", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -248,14 +248,14 @@ "meter3_1": [ { "type": "icon_state", - "icon_state": "pressure3_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure3_1", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -266,14 +266,14 @@ "meter3_2": [ { "type": "icon_state", - "icon_state": "pressure3_2", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure3_2", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -284,14 +284,14 @@ "meter3_3": [ { "type": "icon_state", - "icon_state": "pressure3_3", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure3_3", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -302,14 +302,14 @@ "meter3_4": [ { "type": "icon_state", - "icon_state": "pressure3_4", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure3_4", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -320,14 +320,14 @@ "meter3_5": [ { "type": "icon_state", - "icon_state": "pressure3_5", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure3_5", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -338,14 +338,14 @@ "meter3_6": [ { "type": "icon_state", - "icon_state": "pressure3_6", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure3_6", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", @@ -356,14 +356,14 @@ "meter4": [ { "type": "icon_state", - "icon_state": "pressure4", - "blend_mode": "overlay", - "color_ids": [ 1 ] + "icon_state": "meter_base", + "blend_mode": "overlay" }, { "type": "icon_state", - "icon_state": "meter_base", - "blend_mode": "overlay" + "icon_state": "pressure4", + "blend_mode": "overlay", + "color_ids": [ 1 ] }, { "type": "icon_state", diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 78ec5f133066c..c69a279938dd1 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -11,7 +11,7 @@ user.reset_perspective(null) user.remote_control = null -//this datum manages it's own references +//this datum manages its own references /datum/holocall ///the one that called diff --git a/code/datums/hud.dm b/code/datums/hud.dm index c0e90994af520..10a623b394e8b 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -8,17 +8,24 @@ GLOBAL_LIST_EMPTY(huds_by_category) //GLOBAL HUD LIST GLOBAL_LIST_INIT(huds, list( - DATA_HUD_SECURITY_BASIC = new/datum/atom_hud/data/human/security/basic(), - DATA_HUD_SECURITY_ADVANCED = new/datum/atom_hud/data/human/security/advanced(), - DATA_HUD_MEDICAL_BASIC = new/datum/atom_hud/data/human/medical/basic(), - DATA_HUD_MEDICAL_ADVANCED = new/datum/atom_hud/data/human/medical/advanced(), - DATA_HUD_DIAGNOSTIC_BASIC = new/datum/atom_hud/data/diagnostic/basic(), - DATA_HUD_DIAGNOSTIC_ADVANCED = new/datum/atom_hud/data/diagnostic/advanced(), - DATA_HUD_ABDUCTOR = new/datum/atom_hud/abductor(), - DATA_HUD_SENTIENT_DISEASE = new/datum/atom_hud/sentient_disease(), - DATA_HUD_AI_DETECT = new/datum/atom_hud/ai_detector(), - DATA_HUD_FAN = new/datum/atom_hud/data/human/fan_hud(), - DATA_HUD_MALF_APC = new/datum/atom_hud/data/malf_apc(), + DATA_HUD_SECURITY_BASIC = new /datum/atom_hud/data/human/security/basic(), + DATA_HUD_SECURITY_ADVANCED = new /datum/atom_hud/data/human/security/advanced(), + DATA_HUD_MEDICAL_BASIC = new /datum/atom_hud/data/human/medical/basic(), + DATA_HUD_MEDICAL_ADVANCED = new /datum/atom_hud/data/human/medical/advanced(), + DATA_HUD_DIAGNOSTIC = new /datum/atom_hud/data/diagnostic(), + DATA_HUD_BOT_PATH = new /datum/atom_hud/data/bot_path(), + DATA_HUD_ABDUCTOR = new /datum/atom_hud/abductor(), + DATA_HUD_SENTIENT_DISEASE = new /datum/atom_hud/sentient_disease(), + DATA_HUD_AI_DETECT = new /datum/atom_hud/ai_detector(), + DATA_HUD_FAN = new /datum/atom_hud/data/human/fan_hud(), + DATA_HUD_MALF_APC = new /datum/atom_hud/data/malf_apc(), +)) + +GLOBAL_LIST_INIT(trait_to_hud, list( + TRAIT_SECURITY_HUD = DATA_HUD_SECURITY_ADVANCED, + TRAIT_MEDICAL_HUD = DATA_HUD_MEDICAL_ADVANCED, + TRAIT_DIAGNOSTIC_HUD = DATA_HUD_DIAGNOSTIC, + TRAIT_BOT_PATH_HUD = DATA_HUD_BOT_PATH, )) /datum/atom_hud diff --git a/code/datums/id_trim/_id_trim.dm b/code/datums/id_trim/_id_trim.dm index 067e2e3826390..562232214b3d1 100644 --- a/code/datums/id_trim/_id_trim.dm +++ b/code/datums/id_trim/_id_trim.dm @@ -24,6 +24,11 @@ /// Accesses that this trim unlocks on a card that require wildcard slots to apply. If a card cannot accept all a trim's wildcard accesses, the card is incompatible with the trim. var/list/wildcard_access = list() + ///If true, IDs with this trim will grant wearers with bigger arrows when pointing + var/big_pointer = FALSE + ///If set, IDs with this trim will give wearers arrows of different colors when pointing + var/pointer_color + /// Returns the SecHUD job icon state for whatever this object's ID card is, if it has one. /obj/item/proc/get_sechud_job_icon_state() var/obj/item/card/id/id_card = GetID() diff --git a/code/datums/id_trim/admin.dm b/code/datums/id_trim/admin.dm index 9de155c9a0468..ee0cf1b977e0a 100644 --- a/code/datums/id_trim/admin.dm +++ b/code/datums/id_trim/admin.dm @@ -5,6 +5,8 @@ department_color = COLOR_CENTCOM_BLUE subdepartment_color = COLOR_SERVICE_LIME threat_modifier = -INFINITY + big_pointer = TRUE + pointer_color = COLOR_GREEN /datum/id_trim/admin/New() . = ..() diff --git a/code/datums/id_trim/centcom.dm b/code/datums/id_trim/centcom.dm index 5cc24f4bd6e19..498a4de254e3b 100644 --- a/code/datums/id_trim/centcom.dm +++ b/code/datums/id_trim/centcom.dm @@ -7,6 +7,8 @@ department_color = COLOR_CENTCOM_BLUE subdepartment_color = COLOR_CENTCOM_BLUE threat_modifier = -10 // Centcom are legally allowed to do whatever they want + big_pointer = TRUE + pointer_color = COLOR_CENTCOM_BLUE /// Trim for Centcom VIPs /datum/id_trim/centcom/vip @@ -20,6 +22,7 @@ trim_state = "trim_janitor" department_color = COLOR_CENTCOM_BLUE subdepartment_color = COLOR_SERVICE_LIME + big_pointer = FALSE /// Trim for Centcom Thunderdome Overseers. /datum/id_trim/centcom/thunderdome_overseer @@ -35,10 +38,12 @@ /datum/id_trim/centcom/intern access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_WEAPONS) assignment = "CentCom Intern" + big_pointer = FALSE /// Trim for Centcom Head Interns. Different assignment, common station access added on. /datum/id_trim/centcom/intern/head assignment = "CentCom Head Intern" + big_pointer = TRUE /datum/id_trim/centcom/intern/head/New() . = ..() @@ -49,11 +54,13 @@ /datum/id_trim/centcom/bounty_hunter access = list(ACCESS_CENT_GENERAL) assignment = "Bounty Hunter" + big_pointer = FALSE /// Trim for Centcom Bartenders. /datum/id_trim/centcom/bartender access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_BAR) assignment = JOB_CENTCOM_BARTENDER + big_pointer = FALSE /// Trim for Centcom Medical Officers. /datum/id_trim/centcom/medical_officer @@ -68,6 +75,7 @@ /// Trim for Centcom Specops Officers. All Centcom and Station Access. /datum/id_trim/centcom/specops_officer assignment = JOB_CENTCOM_SPECIAL_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/specops_officer/New() . = ..() @@ -129,6 +137,7 @@ trim_state = "trim_securityofficer" subdepartment_color = COLOR_SECURITY_RED sechud_icon_state = SECHUD_SECURITY_RESPONSE_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/ert/security/New() . = ..() @@ -141,6 +150,7 @@ trim_state = "trim_stationengineer" subdepartment_color = COLOR_ENGINEERING_ORANGE sechud_icon_state = SECHUD_ENGINEERING_RESPONSE_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/ert/engineer/New() . = ..() @@ -153,6 +163,7 @@ trim_state = "trim_medicaldoctor" subdepartment_color = COLOR_MEDICAL_BLUE sechud_icon_state = SECHUD_MEDICAL_RESPONSE_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/ert/medical/New() . = ..() @@ -165,6 +176,7 @@ trim_state = "trim_chaplain" subdepartment_color = COLOR_SERVICE_LIME sechud_icon_state = SECHUD_RELIGIOUS_RESPONSE_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/ert/chaplain/New() . = ..() @@ -177,6 +189,7 @@ trim_state = "trim_ert_janitor" subdepartment_color = COLOR_SERVICE_LIME sechud_icon_state = SECHUD_JANITORIAL_RESPONSE_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/ert/janitor/New() . = ..() @@ -189,6 +202,7 @@ trim_state = "trim_clown" subdepartment_color = COLOR_MAGENTA sechud_icon_state = SECHUD_ENTERTAINMENT_RESPONSE_OFFICER + big_pointer = FALSE /datum/id_trim/centcom/ert/clown/New() . = ..() @@ -197,6 +211,8 @@ /datum/id_trim/centcom/ert/militia assignment = "Frontier Militia" + big_pointer = FALSE /datum/id_trim/centcom/ert/militia/general assignment = "Frontier Militia General" + big_pointer = TRUE diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index 190c4a38a299c..a42018406b2a5 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -238,6 +238,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/captain + big_pointer = TRUE + pointer_color = COLOR_COMMAND_BLUE /// Captain gets all station accesses hardcoded in because it's the Captain. /datum/id_trim/job/captain/New() @@ -360,6 +362,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/chief_engineer + big_pointer = TRUE + pointer_color = COLOR_ENGINEERING_ORANGE /datum/id_trim/job/chief_medical_officer assignment = JOB_CHIEF_MEDICAL_OFFICER @@ -399,6 +403,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/chief_medical_officer + big_pointer = TRUE + pointer_color = COLOR_MEDICAL_BLUE /datum/id_trim/job/clown assignment = JOB_CLOWN @@ -612,6 +618,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/head_of_personnel + big_pointer = TRUE + pointer_color = COLOR_SERVICE_LIME /datum/id_trim/job/head_of_security assignment = JOB_HEAD_OF_SECURITY @@ -661,6 +669,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/head_of_security + big_pointer = TRUE + pointer_color = COLOR_SECURITY_RED /datum/id_trim/job/head_of_security/refresh_trim_access() . = ..() @@ -893,6 +903,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/quartermaster + big_pointer = TRUE + pointer_color = COLOR_CARGO_BROWN /datum/id_trim/job/research_director assignment = JOB_RESEARCH_DIRECTOR @@ -941,6 +953,8 @@ ACCESS_CHANGE_IDS, ) job = /datum/job/research_director + big_pointer = TRUE + pointer_color = COLOR_SCIENCE_PINK /datum/id_trim/job/roboticist assignment = JOB_ROBOTICIST @@ -957,13 +971,13 @@ ACCESS_ROBOTICS, ACCESS_SCIENCE, ACCESS_TECH_STORAGE, + ACCESS_ORDNANCE, + ACCESS_ORDNANCE_STORAGE, ) extra_access = list( ACCESS_GENETICS, ACCESS_XENOBIOLOGY, ACCESS_MORGUE_SECURE, - ACCESS_ORDNANCE, - ACCESS_ORDNANCE_STORAGE, ) template_access = list( ACCESS_CAPTAIN, @@ -1206,6 +1220,7 @@ extra_access = list() template_access = list() job = /datum/job/veteran_advisor + big_pointer = TRUE /datum/id_trim/job/veteran_advisor/refresh_trim_access() . = ..() @@ -1275,3 +1290,5 @@ extra_access = list() template_access = list() job = /datum/job/human_ai + big_pointer = TRUE + pointer_color = COLOR_MODERATE_BLUE diff --git a/code/datums/id_trim/ruins.dm b/code/datums/id_trim/ruins.dm index 36284e06b72c4..0b0591e54292d 100644 --- a/code/datums/id_trim/ruins.dm +++ b/code/datums/id_trim/ruins.dm @@ -72,6 +72,7 @@ /datum/id_trim/centcom/corpse/commander assignment = "Commander" access = list(ACCESS_CENT_CAPTAIN, ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_STORAGE) + big_pointer = TRUE /// Trim for various Centcom corpses. /datum/id_trim/centcom/corpse/private_security @@ -115,12 +116,14 @@ /datum/id_trim/pirate/captain assignment = "Pirate Captain" trim_state = "trim_captain" + big_pointer = TRUE /datum/id_trim/pirate/silverscale assignment = "Silver Scale Member" /datum/id_trim/pirate/captain/silverscale assignment = "Silver Scale VIP" + big_pointer = TRUE //Trims for Dangerous Research, used in ``dangerous_research.dm`` /datum/id_trim/away/dangerous_research @@ -130,6 +133,7 @@ /datum/id_trim/away/dangerous_research/head_occultist assignment = "Head Occultist" access = list(ACCESS_AWAY_SCIENCE, ACCESS_AWAY_COMMAND) + big_pointer = TRUE //Trims for waystation.dmm space ruin /datum/id_trim/away/waystation/cargo_technician @@ -143,6 +147,7 @@ trim_state = "trim_quartermaster" department_color = COLOR_CARGO_BROWN access = list(ACCESS_AWAY_SUPPLY, ACCESS_AWAY_COMMAND) + big_pointer = TRUE /datum/id_trim/away/waystation/security assignment = "Waystation Security Officer" @@ -162,3 +167,17 @@ /datum/id_trim/away/the_outlet/mad_manager assignment = "The Mad Manager" access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_MEDICAL, ACCESS_AWAY_SEC) + big_pointer = TRUE + +//Haunted Trading Post IDs +/datum/id_trim/away/hauntedtradingpost + assignment = "Donk Co. Employee" + department_color = COLOR_ENGINEERING_ORANGE + sechud_icon_state = SECHUD_SYNDICATE + threat_modifier = 5 + access = list(ACCESS_SYNDICATE) + +/datum/id_trim/away/hauntedtradingpost/boss + assignment = "Donk Co. Executive" + access = list(ACCESS_SYNDICATE, ACCESS_AWAY_COMMAND) + big_pointer = TRUE diff --git a/code/datums/id_trim/syndicate.dm b/code/datums/id_trim/syndicate.dm index 9a3e0c5fc9173..41c76aaf3784c 100644 --- a/code/datums/id_trim/syndicate.dm +++ b/code/datums/id_trim/syndicate.dm @@ -7,11 +7,14 @@ sechud_icon_state = SECHUD_SYNDICATE access = list(ACCESS_SYNDICATE) threat_modifier = 5 // Bad guy on deck + big_pointer = TRUE + pointer_color = COLOR_SYNDIE_RED /// Trim for Syndicate mobs, outfits and corpses. /datum/id_trim/syndicom/crew assignment = "Syndicate Operative" access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS) + big_pointer = FALSE /// Interdyne medical Staff /datum/id_trim/syndicom/Interdyne/pharmacist @@ -19,6 +22,8 @@ trim_state = "trim_medicaldoctor" sechud_icon_state = SECHUD_SYNDICATE_INTERDYNE access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SURGERY) + big_pointer = FALSE + pointer_color = null /// Interdyne head medical Staff /datum/id_trim/syndicom/Interdyne/pharmacist_director @@ -28,6 +33,8 @@ subdepartment_color = COLOR_SYNDIE_RED_HEAD sechud_icon_state = SECHUD_SYNDICATE_INTERDYNE_HEAD access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SURGERY) + big_pointer = TRUE + pointer_color = COLOR_SYNDIE_RED_HEAD /// Trim for the space IRS agents (why are they syndie access? I wouldn't worry about it.) /datum/id_trim/syndicom/irs @@ -37,11 +44,14 @@ subdepartment_color = COLOR_COMMAND_BLUE sechud_icon_state = SECHUD_DEATH_COMMANDO access = list(ACCESS_SYNDICATE, ACCESS_MAINT_TUNNELS) + big_pointer = FALSE + pointer_color = null /datum/id_trim/syndicom/irs/auditor assignment = "Internal Revenue Service Head Auditor" trim_state = "trim_quartermaster" sechud_icon_state = SECHUD_QUARTERMASTER + big_pointer = TRUE /// Trim for Syndicate mobs, outfits and corpses. /datum/id_trim/syndicom/captain @@ -60,6 +70,8 @@ /datum/id_trim/battlecruiser/captain assignment = "Syndicate Battlecruiser Captain" access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + big_pointer = TRUE + pointer_color = COLOR_SYNDIE_RED /// Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards. /datum/id_trim/chameleon @@ -79,6 +91,8 @@ /datum/id_trim/chameleon/operative/nuke_leader assignment = "Syndicate Operative Leader" access = list(ACCESS_MAINT_TUNNELS, ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + big_pointer = TRUE + pointer_color = COLOR_SYNDIE_RED /// Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards. /datum/id_trim/chameleon/operative/clown @@ -89,3 +103,5 @@ /datum/id_trim/chameleon/operative/clown_leader assignment = "Syndicate Entertainment Operative Leader" access = list(ACCESS_MAINT_TUNNELS, ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + big_pointer = TRUE + pointer_color = COLOR_SYNDIE_RED diff --git a/code/datums/keybinding/living.dm b/code/datums/keybinding/living.dm index 390fd427f5ff4..c2f37aaacd44e 100644 --- a/code/datums/keybinding/living.dm +++ b/code/datums/keybinding/living.dm @@ -152,3 +152,24 @@ var/mob/living/M = user.mob M.toggle_move_intent() return TRUE + +/datum/keybinding/living/toggle_examine_balloons + hotkey_keys = list("Shift") + name = "toggle_examine_balloons" + full_name = "Examine wallmounts" + description = "Held down to view wallmounts more closely, release to stop" + keybind_signal = COMSIG_KB_LIVING_TOGGLEMOVEINTENT_DOWN + +/datum/keybinding/living/toggle_examine_balloons/down(client/user) + . = ..() + + var/datum/hud/our_hud = user.mob.hud_used + for(var/atom/movable/screen/plane_master/examine_balloons/balloons in our_hud.get_true_plane_masters(EXAMINE_BALLOONS_PLANE)) + balloons.fade_in() + +/datum/keybinding/living/toggle_examine_balloons/up(client/user) + . = ..() + + var/datum/hud/our_hud = user.mob.hud_used + for(var/atom/movable/screen/plane_master/examine_balloons/balloons in our_hud.get_true_plane_masters(EXAMINE_BALLOONS_PLANE)) + balloons.fade_out() diff --git a/code/datums/lazy_template.dm b/code/datums/lazy_template.dm index 7b18ff7225f03..3faefc0cc78b4 100644 --- a/code/datums/lazy_template.dm +++ b/code/datums/lazy_template.dm @@ -130,3 +130,7 @@ /datum/lazy_template/heretic_sacrifice_room key = LAZY_TEMPLATE_KEY_HERETIC_SACRIFICE map_name = "heretic_sacrifice" + +/datum/lazy_template/voidwalker_void + key = LAZY_TEMPLATE_KEY_VOIDWALKER_VOID + map_name = "voidwalker_void" diff --git a/code/datums/looping_sounds/breathing.dm b/code/datums/looping_sounds/breathing.dm index 82b33ee8311b1..73474149ae4bb 100644 --- a/code/datums/looping_sounds/breathing.dm +++ b/code/datums/looping_sounds/breathing.dm @@ -1,8 +1,19 @@ /datum/looping_sound/breathing - mid_sounds = 'sound/voice/breathing.ogg' + mid_sounds = list( + 'sound/voice/breathing/internals_breathing1.ogg' = 1, + 'sound/voice/breathing/internals_breathing2.ogg' = 1, + 'sound/voice/breathing/internals_breathing3.ogg' = 1, + 'sound/voice/breathing/internals_breathing4.ogg' = 1, + 'sound/voice/breathing/internals_breathing5.ogg' = 1, + 'sound/voice/breathing/internals_breathing6.ogg' = 1, + 'sound/voice/breathing/internals_breathing7.ogg' = 1, + 'sound/voice/breathing/internals_breathing8.ogg' = 1, + ) //Calculated this by using the average breathing time of an adult (12 to 20 per minute, which on average is 16 per minute) - mid_length = 3.75 SECONDS - mid_length_vary = 0.2 SECONDS + // realism is overrated, make it longer to reduce ear fatigue + mid_length = 7 SECONDS + mid_length_vary = 0.7 SECONDS //spess station- - volume = 13 + volume = 7 pressure_affected = FALSE + vary = TRUE diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 8116084127ecf..83c73dda0f6ba 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -9,7 +9,7 @@ help_verb = /mob/living/proc/sleeping_carp_help display_combos = TRUE /// List of traits applied to users of this martial art. - var/list/scarp_traits = list(TRAIT_NOGUNS, TRAIT_HARDLY_WOUNDED, TRAIT_NODISMEMBER, TRAIT_HEAVY_SLEEPER) + var/list/scarp_traits = list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD, TRAIT_HARDLY_WOUNDED, TRAIT_NODISMEMBER, TRAIT_HEAVY_SLEEPER) /datum/martial_art/the_sleeping_carp/on_teach(mob/living/new_holder) . = ..() @@ -188,8 +188,7 @@ return FALSE if(!(carp_user.mobility_flags & MOBILITY_USE)) //NO UNABLE TO USE return FALSE - var/datum/dna/dna = carp_user.has_dna() - if(dna?.check_mutation(/datum/mutation/human/hulk)) //NO HULK + if(HAS_TRAIT(carp_user, TRAIT_HULK)) //NO HULK return FALSE if(!isturf(carp_user.loc)) //NO MOTHERFLIPPIN MECHS! return FALSE @@ -264,11 +263,10 @@ AddComponent(/datum/component/two_handed, \ force_unwielded = 10, \ force_wielded = 24, \ - icon_wielded = "[base_icon_state]1", \ ) /obj/item/staff/bostaff/update_icon_state() - icon_state = "[base_icon_state]0" + icon_state = inhand_icon_state = "[base_icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]" return ..() /obj/item/staff/bostaff/attack(mob/target, mob/living/user, params) diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm index b340d95e90fbd..b03e01a4e1157 100644 --- a/code/datums/materials/_material.dm +++ b/code/datums/materials/_material.dm @@ -159,7 +159,7 @@ Simple datum which is instanced once per type and is used for every object of sa O.barefootstep = turf_sound_override + "barefoot" O.clawfootstep = turf_sound_override + "claw" O.heavyfootstep = FOOTSTEP_GENERIC_HEAVY - if(alpha < 255) + if(alpha < 255 && !iswallturf(T)) T.AddElement(/datum/element/turf_z_transparency) setup_glow(T) T.rust_resistance = mat_rust_resistance diff --git a/code/datums/materials/meat.dm b/code/datums/materials/meat.dm index a742a9c71296e..552fa7a84cdf2 100644 --- a/code/datums/materials/meat.dm +++ b/code/datums/materials/meat.dm @@ -1,4 +1,4 @@ -///It's gross, gets the name of it's owner, and is all kinds of fucked up +///It's gross, gets the name of its owner, and is all kinds of fucked up /datum/material/meat name = "meat" desc = "Meat" diff --git a/code/datums/mind/_mind.dm b/code/datums/mind/_mind.dm index f7597da54cc48..36e9d7ba6d024 100644 --- a/code/datums/mind/_mind.dm +++ b/code/datums/mind/_mind.dm @@ -64,7 +64,6 @@ ///If this mind's master is another mob (i.e. adamantine golems). Weakref of a /living. var/datum/weakref/enslaved_to - var/unconvertable = FALSE var/late_joiner = FALSE /// has this mind ever been an AI var/has_ever_been_ai = FALSE diff --git a/code/datums/mind/antag.dm b/code/datums/mind/antag.dm index 4aaab464f5e8f..11340ae56a6b4 100644 --- a/code/datums/mind/antag.dm +++ b/code/datums/mind/antag.dm @@ -214,9 +214,10 @@ N.nukeop_outfit = null add_antag_datum(N,converter.nuke_team) - enslaved_to = WEAKREF(creator) + SEND_SIGNAL(current, COMSIG_MOB_ENSLAVED_TO, creator) + current.faction |= creator.faction creator.faction |= "[REF(current)]" diff --git a/code/datums/mood.dm b/code/datums/mood.dm index 8193f9c1c15c9..3834ea866b8da 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -288,7 +288,7 @@ if (SANITY_LEVEL_INSANE) mood_screen_object.color = "#f15d36" - if (!conflicting_moodies.len) // theres no special icons, use the normal icon states + if (!conflicting_moodies.len) // there's no special icons, use the normal icon states mood_screen_object.icon_state = "mood[mood_level]" return diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index db5acbca388b6..f0fa6a37d1a54 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -49,3 +49,12 @@ check_topdown_validity(appearance) return appearance + +/// Takes an input mutable appearance, returns a copy of it with the hidden flag flipped to avoid inheriting dir from what it's drawn on +/// This inheriting thing is handled by a hidden flag on the /image (MAs are subtypes of /image) +/proc/make_mutable_appearance_directional(mutable_appearance/to_process, dir = NORTH) + // We use the image() proc in combo with a manually set dir to flip this flag + // We can then copy the image's appearance to retain the flag, even on MAs and such + var/image/holder = image(to_process, dir = dir) + return new /mutable_appearance(holder) + diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 72dccc755013c..60551f73911d1 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -258,8 +258,8 @@ /datum/mutation/human/race name = "Monkified" desc = "A strange genome, believing to be what differentiates monkeys from humans." - text_gain_indication = "You feel unusually monkey-like." - text_lose_indication = "You feel like your old self." + text_gain_indication = span_green("You feel unusually monkey-like.") + text_lose_indication = span_notice("You feel like your old self.") quality = NEGATIVE instability = NEGATIVE_STABILITY_MAJOR // mmmonky remove_on_aheal = FALSE @@ -269,18 +269,26 @@ var/original_name /datum/mutation/human/race/on_acquiring(mob/living/carbon/human/owner) - if(..()) + . = ..() + if(.) return - if(!ismonkey(owner)) - original_species = owner.dna.species.type - original_name = owner.real_name - owner.fully_replace_character_name(null, "monkey ([rand(1,999)])") - . = owner.monkeyize() + if(ismonkey(owner)) + return + original_species = owner.dna.species.type + original_name = owner.real_name + owner.monkeyize() /datum/mutation/human/race/on_losing(mob/living/carbon/human/owner) - if(!QDELETED(owner) && owner.stat != DEAD && (owner.dna.mutations.Remove(src)) && ismonkey(owner)) - owner.fully_replace_character_name(null, original_name) - . = owner.humanize(original_species) + if(owner.stat == DEAD) + return + . = ..() + if(.) + return + if(QDELETED(owner)) + return + + owner.fully_replace_character_name(null, original_name) + owner.humanize(original_species) /datum/mutation/human/glow name = "Glowy" diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index dbe91091ab89c..4bc6c77a9fe81 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -17,7 +17,6 @@ mutation_traits = list( TRAIT_CHUNKYFINGERS, TRAIT_HULK, - TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE, ) @@ -38,6 +37,7 @@ owner.add_mood_event("hulk", /datum/mood_event/hulk) RegisterSignal(owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK, PROC_REF(on_attack_hand)) RegisterSignal(owner, COMSIG_MOB_CLICKON, PROC_REF(check_swing)) + owner.add_movespeed_mod_immunities("hulk", /datum/movespeed_modifier/damage_slowdown) /datum/mutation/human/hulk/proc/on_attack_hand(mob/living/carbon/human/source, atom/target, proximity, modifiers) SIGNAL_HANDLER @@ -99,6 +99,7 @@ owner.clear_mood_event("hulk") UnregisterSignal(owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK) UnregisterSignal(owner, COMSIG_MOB_CLICKON) + owner.remove_movespeed_mod_immunities("hulk", /datum/movespeed_modifier/damage_slowdown) /// How many steps it takes to throw the mob #define HULK_TAILTHROW_STEPS 28 @@ -257,6 +258,7 @@ log_combat(the_hulk, yeeted_person, "has thrown by tail") /datum/mutation/human/hulk/wizardly + name = "Hulk (Magical)" species_allowed = null //yes skeleton/lizard hulk - note that species that dont have skintone changing (like skellies) get custom handling health_req = 0 instability = 0 @@ -264,19 +266,18 @@ /// List of traits to add/remove when someone gets this mutation. mutation_traits = list( TRAIT_HULK, - TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PUSHIMMUNE, TRAIT_STUNIMMUNE, ) // no chunk /datum/mutation/human/hulk/superhuman + name = "Hulk (Super)" health_req = 0 instability = 0 /// List of traits to add/remove when someone gets this mutation. mutation_traits = list( TRAIT_CHUNKYFINGERS, TRAIT_HULK, - TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_NOSOFTCRIT, TRAIT_NOHARDCRIT, TRAIT_PUSHIMMUNE, diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index d6b6f714e5964..b9367cfdcdc81 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -2,9 +2,6 @@ //Individual ones aren't commented since their functions should be evident at a glance // no they arent bro -#define ALPHABET list("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z") -#define VOWELS list("a", "e", "i", "o", "u") -#define CONSONANTS (ALPHABET - VOWELS) /datum/mutation/human/nervousness name = "Nervousness" @@ -300,7 +297,3 @@ var/spoken_message = speech_args[SPEECH_MESSAGE] spoken_message = piglatin_sentence(spoken_message) speech_args[SPEECH_MESSAGE] = spoken_message - -#undef ALPHABET -#undef VOWELS -#undef CONSONANTS diff --git a/code/datums/mutations/touch.dm b/code/datums/mutations/touch.dm index 98d3d18807fea..2483ef2e0fa1a 100644 --- a/code/datums/mutations/touch.dm +++ b/code/datums/mutations/touch.dm @@ -51,7 +51,7 @@ /datum/action/cooldown/spell/touch/shock/cast_on_hand_hit(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/caster) if(iscarbon(victim)) var/mob/living/carbon/carbon_victim = victim - if(carbon_victim.electrocute_act(15, caster, 1, SHOCK_NOGLOVES | SHOCK_NOSTUN))//doesnt stun. never let this stun + if(carbon_victim.electrocute_act(15, caster, 1, SHOCK_NOGLOVES | SHOCK_NOSTUN))//doesn't stun. never let this stun carbon_victim.dropItemToGround(carbon_victim.get_active_held_item()) carbon_victim.dropItemToGround(carbon_victim.get_inactive_held_item()) carbon_victim.adjust_confusion(15 SECONDS) @@ -156,7 +156,7 @@ heal_multiplier = initial(heal_multiplier) * power_coefficient pain_multiplier = initial(pain_multiplier) * synchronizer_coefficient - // Message to show on a succesful heal if the healer has a special pacifism interaction with the mutation. + // Message to show on a successful heal if the healer has a special pacifism interaction with the mutation. var/peaceful_message = null // Heal more, hurt a bit more. @@ -340,7 +340,7 @@ /obj/item/melee/touch_attack/lay_on_hands name = "mending touch" - desc = "Unlike in your favorite tabletop games, you sadly can't cast this on yourself, so you can't use that as a Scapegoat." // mayus is reference. if you get it youre cool + desc = "Unlike in your favorite tabletop games, you sadly can't cast this on yourself, so you can't use that as a Scapegoat." // mayus is reference. if you get it you're cool icon = 'icons/obj/weapons/hand.dmi' icon_state = "greyscale" color = COLOR_VERY_PALE_LIME_GREEN diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm index e427b2994f066..eea7c7c26d048 100644 --- a/code/datums/outfit.dm +++ b/code/datums/outfit.dm @@ -49,6 +49,13 @@ /// Type path of item to go in belt slot var/belt = null + /** + * list of items that should go in the belt of the user + * + * Format of this list should be: list(path=count,otherpath=count) + */ + var/list/belt_contents = null + /// Type path of item to go in ears slot var/ears = null @@ -252,6 +259,14 @@ for(var/i in 1 to number) EQUIP_OUTFIT_ITEM(path, ITEM_SLOT_BACKPACK) + if(belt_contents) + for(var/path in belt_contents) + var/number = belt_contents[path] + if(!isnum(number))//Default to 1 + number = 1 + for(var/i in 1 to number) + EQUIP_OUTFIT_ITEM(path, ITEM_SLOT_BELTPACK) + post_equip(user, visualsOnly) if(!visualsOnly) @@ -354,8 +369,15 @@ preload += suit_store preload += back //Load in backpack gear and shit - for(var/datum/type_to_load in backpack_contents) - for(var/i in 1 to backpack_contents[type_to_load]) + for(var/type_to_load in backpack_contents) + var/num_to_load = backpack_contents[type_to_load] + if(!isnum(num_to_load)) + num_to_load = 1 + for(var/i in 1 to num_to_load) + preload += type_to_load + //Load in belt gear and shit + for(var/datum/type_to_load in belt_contents) + for(var/i in 1 to belt_contents[type_to_load]) preload += type_to_load preload += belt preload += ears @@ -403,6 +425,7 @@ .["l_hand"] = l_hand .["internals_slot"] = internals_slot .["backpack_contents"] = backpack_contents + .["belt_contents"] = belt_contents .["box"] = box .["implants"] = implants .["accessory"] = accessory @@ -430,6 +453,7 @@ l_hand = target.l_hand internals_slot = target.internals_slot backpack_contents = target.backpack_contents + belt_contents = target.belt_contents box = target.box implants = target.implants accessory = target.accessory @@ -473,6 +497,12 @@ var/itype = text2path(item) if(itype) backpack_contents[itype] = backpack[item] + var/list/beltpack = outfit_data["belt_contents"] + belt_contents = list() + for(var/item in beltpack) + var/itype = text2path(item) + if(itype) + belt_contents[itype] = belt[item] box = text2path(outfit_data["box"]) var/list/impl = outfit_data["implants"] implants = list() diff --git a/code/datums/pod_style.dm b/code/datums/pod_style.dm new file mode 100644 index 0000000000000..853d7e058785b --- /dev/null +++ b/code/datums/pod_style.dm @@ -0,0 +1,151 @@ +/// Datum holding information about pod type visuals, VFX, name and description +/// These are not created anywhere and thus should not be assigned procs, only being used as data storage +/datum/pod_style + /// Name that pods of this style will be named by default + var/name = "supply pod" + /// Name that is displayed to admins in pod config panel + var/ui_name = "Standard" + /// Description assigned to droppods of this style + var/desc = "A Nanotrasen supply drop pod." + /// Determines if this pod can use animations/masking/overlays + var/shape = POD_SHAPE_NORMAL + /// Base icon state assigned to this pod + var/icon_state = "pod" + /// Whenever this pod should have a door overlay added to it. Uses [icon_state]_door sprite + var/has_door = TRUE + /// Decals added to this pod, if any + var/decal_icon = "default" + /// Color that this pod glows when landing + var/glow_color = "yellow" + /// Type of rubble that this pod creates upon landing + var/rubble_type = RUBBLE_NORMAL + /// ID for TGUI data + var/id = "standard" + +/datum/pod_style/advanced + name = "bluespace supply pod" + ui_name = "Advanced" + desc = "A Nanotrasen Bluespace supply pod. Teleports back to CentCom after delivery." + decal_icon = "bluespace" + glow_color = "blue" + id = "bluespace" + +/datum/pod_style/centcom + name = "\improper CentCom supply pod" + ui_name = "Nanotrasen" + desc = "A Nanotrasen supply pod, this one has been marked with Central Command's designations. Teleports back to CentCom after delivery." + decal_icon = "centcom" + glow_color = "blue" + id = "centcom" + +/datum/pod_style/syndicate + name = "blood-red supply pod" + ui_name = "Syndicate" + desc = "An intimidating supply pod, covered in the blood-red markings of the Syndicate. It's probably best to stand back from this." + icon_state = "darkpod" + decal_icon = "syndicate" + glow_color = "red" + id = "syndicate" + +/datum/pod_style/deathsquad + name = "\improper Deathsquad drop pod" + ui_name = "Deathsquad" + desc = "A Nanotrasen drop pod. This one has been marked the markings of Nanotrasen's elite strike team." + icon_state = "darkpod" + decal_icon = "deathsquad" + glow_color = "blue" + id = "deathsquad" + +/datum/pod_style/cultist + name = "bloody supply pod" + ui_name = "Cultist" + desc = "A Nanotrasen supply pod covered in scratch-marks, blood, and strange runes." + decal_icon = "cultist" + glow_color = "red" + id = "cultist" + +/datum/pod_style/missile + name = "cruise missile" + ui_name = "Missile" + desc = "A big ass missile that didn't seem to fully detonate. It was likely launched from some far-off deep space missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible." + shape = POD_SHAPE_OTHER + icon_state = "missile" + has_door = FALSE + decal_icon = null + glow_color = null + rubble_type = RUBBLE_THIN + id = "missile" + +/datum/pod_style/missile/syndicate + name = "\improper Syndicate cruise missile" + ui_name = "Syndie Missile" + desc = "A big ass, blood-red missile that didn't seem to fully detonate. It was likely launched from some deep space Syndicate missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible." + icon_state = "smissile" + id = "syndie_missile" + +/datum/pod_style/box + name = "\improper Aussec supply crate" + ui_name = "Supply Box" + desc = "An incredibly sturdy supply crate, designed to withstand orbital re-entry. Has 'Aussec Armory - 2532' engraved on the side." + shape = POD_SHAPE_OTHER + icon_state = "box" + decal_icon = null + glow_color = null + rubble_type = RUBBLE_WIDE + id = "supply_box" + +/datum/pod_style/clown + name = "\improper HONK pod" + ui_name = "Clown Pod" + desc = "A brightly-colored supply pod. It likely originated from the Clown Federation." + icon_state = "clownpod" + decal_icon = "clown" + glow_color = "green" + id = "clown" + +/datum/pod_style/orange + name = "\improper Orange" + ui_name = "Fruit" + desc = "An angry orange." + shape = POD_SHAPE_OTHER + icon_state = "orange" + decal_icon = null + glow_color = null + rubble_type = RUBBLE_WIDE + id = "orange" + +/datum/pod_style/invisible + name = "\improper S.T.E.A.L.T.H. pod MKVII" + ui_name = "Invisible" + desc = "A supply pod that, under normal circumstances, is completely invisible to conventional methods of detection. How are you even seeing this?" + shape = POD_SHAPE_OTHER + has_door = FALSE + icon_state = null + decal_icon = null + glow_color = null + rubble_type = RUBBLE_NONE + id = "invisible" + +/datum/pod_style/gondola + name = "gondola" + ui_name = "Gondola" + desc = "The silent walker. This one seems to be part of a delivery agency." + shape = POD_SHAPE_OTHER + icon_state = "gondola" + has_door = FALSE + decal_icon = null + glow_color = null + rubble_type = RUBBLE_NONE + id = "gondola" + +/datum/pod_style/seethrough + name = null + ui_name = "Seethrough" + desc = null + shape = POD_SHAPE_OTHER + has_door = FALSE + icon_state = null + decal_icon = null + glow_color = null + rubble_type = RUBBLE_NONE + id = "seethrough" diff --git a/code/datums/proximity_monitor/fields/gravity.dm b/code/datums/proximity_monitor/fields/gravity.dm index b7e22840041dc..745072d69e10a 100644 --- a/code/datums/proximity_monitor/fields/gravity.dm +++ b/code/datums/proximity_monitor/fields/gravity.dm @@ -63,3 +63,63 @@ /datum/proximity_monitor/advanced/gravity/warns_on_entrance/proc/clear_recent_warning(mob_ref_key) LAZYREMOVE(recently_warned, mob_ref_key) + +/obj/gravity_fluff_field + icon = 'icons/obj/smooth_structures/grav_field.dmi' + icon_state = "grav_field-0" + base_icon_state = "grav_field" + obj_flags = NONE + anchored = TRUE + move_resist = INFINITY + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + pass_flags_self = LETPASSCLICKS + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_GRAV_FIELD + canSmoothWith = SMOOTH_GROUP_GRAV_FIELD + alpha = 200 + /// our emissive appearance + var/mutable_appearance/emissive + +/obj/gravity_fluff_field/Initialize(mapload, strength) + . = ..() + if(isnull(strength)) + return INITIALIZE_HINT_QDEL + QUEUE_SMOOTH(src) + QUEUE_SMOOTH_NEIGHBORS(src) + switch(strength) + if(2 to INFINITY) + particles = new /particles/grav_field_down/strong() + if(1 to 2) + particles = new /particles/grav_field_down() + if(0 to 1) + particles = new /particles/grav_field_float() + if(-INFINITY to -1) + particles = new /particles/grav_field_up() + color = particles.color + RegisterSignal(src, COMSIG_ATOM_SMOOTHED_ICON, PROC_REF(smoothed)) + +/obj/gravity_fluff_field/Destroy(force) + . = ..() + QDEL_NULL(particles) + emissive = null + +/obj/gravity_fluff_field/proc/smoothed(datum/source) + SIGNAL_HANDLER + cut_overlay(emissive) + // because it uses a different name + emissive = emissive_appearance('icons/obj/smooth_structures/grav_field_emissive.dmi', "grav_field_emissive-[splittext(icon_state, "-")[2]]", src) + add_overlay(emissive) + +// Subtype which adds a subtle overlay to all turfs +/datum/proximity_monitor/advanced/gravity/subtle_effect + +/datum/proximity_monitor/advanced/gravity/subtle_effect/setup_field_turf(turf/target) + . = ..() + if(!isopenturf(target)) + return + new /obj/gravity_fluff_field(target, gravity_value) + +/datum/proximity_monitor/advanced/gravity/subtle_effect/cleanup_field_turf(turf/target) + . = ..() + qdel(locate(/obj/gravity_fluff_field) in target) diff --git a/code/datums/proximity_monitor/fields/projectile_dampener.dm b/code/datums/proximity_monitor/fields/projectile_dampener.dm index fe23fe0be33e5..91bf27f92e4f2 100644 --- a/code/datums/proximity_monitor/fields/projectile_dampener.dm +++ b/code/datums/proximity_monitor/fields/projectile_dampener.dm @@ -48,7 +48,6 @@ effect.icon_state = overlay.icon_state effect.mouse_opacity = MOUSE_OPACITY_TRANSPARENT effect.layer = ABOVE_ALL_MOB_LAYER - SET_PLANE(effect, ABOVE_GAME_PLANE, target) LAZYSET(edgeturf_effects, target, effect) /datum/proximity_monitor/advanced/projectile_dampener/on_z_change(datum/source) diff --git a/code/datums/proximity_monitor/fields/timestop.dm b/code/datums/proximity_monitor/fields/timestop.dm index 79996dee2dd36..4152122dac4de 100644 --- a/code/datums/proximity_monitor/fields/timestop.dm +++ b/code/datums/proximity_monitor/fields/timestop.dm @@ -6,7 +6,6 @@ icon = 'icons/effects/160x160.dmi' icon_state = "time" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE pixel_x = -64 pixel_y = -64 mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/datums/quirks/_quirk.dm b/code/datums/quirks/_quirk.dm index 7fb8e9a5cc237..12396387e9e1c 100644 --- a/code/datums/quirks/_quirk.dm +++ b/code/datums/quirks/_quirk.dm @@ -124,10 +124,10 @@ * Used when the quirk has been gained and no client is attached to the mob. */ /datum/quirk/proc/on_quirk_holder_first_login(mob/living/source) - SIGNAL_HANDLER + SIGNAL_HANDLER - UnregisterSignal(source, COMSIG_MOB_LOGIN) - post_add() + UnregisterSignal(source, COMSIG_MOB_LOGIN) + post_add() /// Any effect that should be applied every single time the quirk is added to any mob, even when transferred. /datum/quirk/proc/add(client/client_source) diff --git a/code/datums/quirks/negative_quirks/indebted.dm b/code/datums/quirks/negative_quirks/indebted.dm index 1e30e7800d6d3..eac2cdf5192dd 100644 --- a/code/datums/quirks/negative_quirks/indebted.dm +++ b/code/datums/quirks/negative_quirks/indebted.dm @@ -30,7 +30,7 @@ quirk_holder.client.give_award(/datum/award/achievement/misc/debt_extinguished, quirk_holder) podspawn(list( "target" = get_turf(quirk_holder), - "style" = STYLE_BLUESPACE, + "style" = /datum/pod_style/advanced, "spawn" = /obj/item/clothing/accessory/debt_payer_pin, )) diff --git a/code/datums/quirks/negative_quirks/paraplegic.dm b/code/datums/quirks/negative_quirks/paraplegic.dm index 58e1c4ba31e87..1cbb2dbac1017 100644 --- a/code/datums/quirks/negative_quirks/paraplegic.dm +++ b/code/datums/quirks/negative_quirks/paraplegic.dm @@ -9,6 +9,10 @@ hardcore_value = 15 mail_goodies = list(/obj/vehicle/ridden/wheelchair/motorized) //yes a fullsized unfolded motorized wheelchair does fit +/datum/quirk_constant_data/paraplegic + associated_typepath = /datum/quirk/paraplegic + customization_options = list(/datum/preference/choiced/paraplegic) + /datum/quirk/paraplegic/add_unique(client/client_source) if(quirk_holder.buckled) // Handle late joins being buckled to arrival shuttle chairs. quirk_holder.buckled.unbuckle_mob(quirk_holder) @@ -32,6 +36,16 @@ if(dropped_item.fingerprintslast == quirk_holder.ckey) quirk_holder.put_in_hands(dropped_item) + // Finally, removes their legs if they have opted as such, deleting the shoes + var/amputee = GLOB.paraplegic_choice[client_source?.prefs?.read_preference(/datum/preference/choiced/paraplegic)] + if(amputee) + delete_legs(quirk_holder) + +/datum/quirk/paraplegic/proc/delete_legs(mob/living/carbon/human/human_holder) + qdel(human_holder.get_item_by_slot(ITEM_SLOT_FEET)) + qdel(human_holder.get_bodypart(BODY_ZONE_L_LEG)) + qdel(human_holder.get_bodypart(BODY_ZONE_R_LEG)) + /datum/quirk/paraplegic/add(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder human_holder.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic, TRAUMA_RESILIENCE_ABSOLUTE) diff --git a/code/datums/quirks/neutral_quirks/transhumanist.dm b/code/datums/quirks/neutral_quirks/transhumanist.dm index ea6494a6b327b..aa8ae075df395 100644 --- a/code/datums/quirks/neutral_quirks/transhumanist.dm +++ b/code/datums/quirks/neutral_quirks/transhumanist.dm @@ -127,10 +127,10 @@ else if(isorgan(new_part)) var/obj/item/organ/new_organ = new_part old_part = human_holder.get_organ_slot(new_organ.slot) - if(new_organ.Insert(human_holder, special = TRUE)) - old_part.moveToNullspace() - STOP_PROCESSING(SSobj, old_part) - slot_string = new_organ.name + new_organ.Insert(human_holder, special = TRUE) + old_part.moveToNullspace() + STOP_PROCESSING(SSobj, old_part) + slot_string = new_organ.name /datum/quirk/transhumanist/post_add() if(!slot_string) diff --git a/code/datums/quirks/positive_quirks/friendly.dm b/code/datums/quirks/positive_quirks/friendly.dm index 8ab0003639bc3..943bc2c4b8457 100644 --- a/code/datums/quirks/positive_quirks/friendly.dm +++ b/code/datums/quirks/positive_quirks/friendly.dm @@ -9,3 +9,15 @@ quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_MOODLET_BASED medical_record_text = "Patient demonstrates low-inhibitions for physical contact and well-developed arms. Requesting another doctor take over this case." mail_goodies = list(/obj/item/storage/box/hug) + +/datum/quirk/friendly/add_unique(client/client_source) + var/mob/living/carbon/human/human_quirkholder = quirk_holder + var/obj/item/organ/internal/heart/holder_heart = human_quirkholder.get_organ_slot(ORGAN_SLOT_HEART) + if(isnull(holder_heart) || isnull(holder_heart.reagents)) + return + holder_heart.reagents.maximum_volume = 20 + // We have a bigger heart full of love! + holder_heart.reagents.add_reagent(/datum/reagent/love, 2.5) + // Like, physically bigger. + holder_heart.reagents.add_reagent(/datum/reagent/consumable/nutriment, 5) + holder_heart.transform = holder_heart.transform.Scale(1.5) diff --git a/code/datums/records/crime.dm b/code/datums/records/crime.dm index a22ce7c816ad2..729b85c56b8e3 100644 --- a/code/datums/records/crime.dm +++ b/code/datums/records/crime.dm @@ -12,6 +12,8 @@ var/time /// Whether the crime is active or not var/valid = TRUE + /// Player that marked the crime as invalid + var/voider /datum/crime/New(name = "Crime", details = "No details provided.", author = "Anonymous") src.author = author diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index 14909ab0861f5..2445b4da242e6 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -167,7 +167,7 @@ suffix = "icemoon_underground_frozen_comms.dmm" /datum/map_template/ruin/icemoon/underground/comms_agent - name = "Icemoon Listening Post" + name = "Ice-Ruin Listening Post" id = "icemoon_comms_agent" description = "Radio signals are being detected and the source is this completely innocent pile of snow." suffix = "icemoon_underground_comms_agent.dmm" diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 2cde66f187d14..bb5f58500e2d1 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -323,3 +323,10 @@ description = "Not every shuttle makes it back to CentCom." suffix = "lavaland_surface_shuttle_wreckage.dmm" allow_duplicates = FALSE + +/datum/map_template/ruin/lavaland/crashsite + name = "Lava-Ruin Pod Crashsite" + id = "crashsite" + description = "They launched too early" + suffix = "lavaland_surface_crashsite.dmm" + allow_duplicates = FALSE diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 76ac14cef5c92..e3ff61fad6c25 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -508,3 +508,8 @@ name = "Space-Ruin Decommissioned Garbage Truck NX4" description = "An NX-760 interstellar transport barge. At the end of their life cycle, they are often filled with trash and launched into unexplored space to become someone else's problem. This one is full of commercial trash, and spiders." +/datum/map_template/ruin/space/hauntedtradingpost + id = "hauntedtradingpost" + suffix = "hauntedtradingpost.dmm" + name = "Space-Ruin Donk Co. Interstellar Trading Post 6016" + description = "A small station for trading ships to dock at. It's been abandoned for some time, but its security systems have kept looters away. Rumored to be haunted." diff --git a/code/datums/shuttles/emergency.dm b/code/datums/shuttles/emergency.dm index 0f45a0c6a08b4..42e3566ccfef1 100644 --- a/code/datums/shuttles/emergency.dm +++ b/code/datums/shuttles/emergency.dm @@ -432,7 +432,7 @@ /datum/map_template/shuttle/emergency/lance suffix = "lance" name = "The Lance Crew Evacuation System" - description = "A brand new shuttle by Nanotrasen's finest in shuttle-engineering, it's designed to tactically slam into a destroyed station, dispatching threats and saving crew at the same time! Be careful to stay out of it's path." + description = "A brand new shuttle by Nanotrasen's finest in shuttle-engineering, it's designed to tactically slam into a destroyed station, dispatching threats and saving crew at the same time! Be careful to stay out of its path." admin_notes = "WARNING: This shuttle is designed to crash into the station. It has turrets, similar to the raven." credit_cost = CARGO_CRATE_VALUE * 70 occupancy_limit = "50" diff --git a/code/datums/signals.dm b/code/datums/signals.dm index 01ca02e41c264..4a3b9448e22f4 100644 --- a/code/datums/signals.dm +++ b/code/datums/signals.dm @@ -4,7 +4,7 @@ * This sets up a listening relationship such that when the target object emits a signal * the source datum this proc is called upon, will receive a callback to the given proctype * Use PROC_REF(procname), TYPE_PROC_REF(type,procname) or GLOBAL_PROC_REF(procname) macros to validate the passed in proc at compile time. - * PROC_REF for procs defined on current type or it's ancestors, TYPE_PROC_REF for procs defined on unrelated type and GLOBAL_PROC_REF for global procs. + * PROC_REF for procs defined on current type or its ancestors, TYPE_PROC_REF for procs defined on unrelated type and GLOBAL_PROC_REF for global procs. * Return values from procs registered must be a bitfield * * Arguments: diff --git a/code/datums/skills/_skill.dm b/code/datums/skills/_skill.dm index b8438c67927ca..30acf90381f03 100644 --- a/code/datums/skills/_skill.dm +++ b/code/datums/skills/_skill.dm @@ -78,7 +78,7 @@ GLOBAL_LIST_INIT(skill_types, subtypesof(/datum/skill)) return podspawn(list( "target" = get_turf(mind.current), - "style" = STYLE_BLUESPACE, + "style" = /datum/pod_style/advanced, "spawn" = skill_item_path, "delays" = list(POD_TRANSIT = 150, POD_FALLING = 4, POD_OPENING = 30, POD_LEAVING = 30) )) diff --git a/code/datums/skills/fishing.dm b/code/datums/skills/fishing.dm index cfd14a4ce3ba6..93c1a57d44175 100644 --- a/code/datums/skills/fishing.dm +++ b/code/datums/skills/fishing.dm @@ -6,16 +6,22 @@ name = "Fishing" title = "Angler" desc = "How empty and alone you are on this barren Earth." - modifiers = list(SKILL_VALUE_MODIFIER = list(1, 1, 0, -1, -2, -4, -6)) + modifiers = list(SKILL_VALUE_MODIFIER = list(1, 0, -1, -3, -5, -7, -10)) skill_item_path = /obj/item/clothing/head/soft/fishing_hat /datum/skill/fishing/New() . = ..() + levelUpMessages[SKILL_LEVEL_NOVICE] = span_nicegreen("I'm starting to figure out what [name] really is! I can guess a fish size and weight at a glance.") + levelUpMessages[SKILL_LEVEL_APPRENTICE] = span_nicegreen("I'm getting a little better at [name]! I can tell if a fish is hungry, dying and otherwise.") levelUpMessages[SKILL_LEVEL_JOURNEYMAN] = span_nicegreen("I feel like I've become quite proficient at [name]! I can tell what fishes I can catch at any given fishing spot.") levelUpMessages[SKILL_LEVEL_MASTER] = span_nicegreen("I've begun to truly understand the surprising depth behind [name]. As a master [title], I can guess what I'm going to catch now!") /datum/skill/fishing/level_gained(datum/mind/mind, new_level, old_level, silent) . = ..() + if(new_level >= SKILL_LEVEL_NOVICE && old_level < SKILL_LEVEL_NOVICE) + ADD_TRAIT(mind, TRAIT_EXAMINE_FISH, SKILL_TRAIT) + if(new_level >= SKILL_LEVEL_APPRENTICE && old_level < SKILL_LEVEL_APPRENTICE) + ADD_TRAIT(mind, TRAIT_EXAMINE_DEEPER_FISH, SKILL_TRAIT) if(new_level >= SKILL_LEVEL_JOURNEYMAN && old_level < SKILL_LEVEL_JOURNEYMAN) ADD_TRAIT(mind, TRAIT_EXAMINE_FISHING_SPOT, SKILL_TRAIT) if(new_level >= SKILL_LEVEL_MASTER && old_level < SKILL_LEVEL_MASTER) @@ -27,3 +33,7 @@ REMOVE_TRAIT(mind, TRAIT_REVEAL_FISH, SKILL_TRAIT) if(old_level >= SKILL_LEVEL_JOURNEYMAN && new_level < SKILL_LEVEL_JOURNEYMAN) REMOVE_TRAIT(mind, TRAIT_EXAMINE_FISHING_SPOT, SKILL_TRAIT) + if(old_level >= SKILL_LEVEL_APPRENTICE && new_level < SKILL_LEVEL_APPRENTICE) + REMOVE_TRAIT(mind, TRAIT_EXAMINE_DEEPER_FISH, SKILL_TRAIT) + if(old_level >= SKILL_LEVEL_NOVICE && new_level < SKILL_LEVEL_NOVICE) + REMOVE_TRAIT(mind, TRAIT_EXAMINE_FISH, SKILL_TRAIT) diff --git a/code/datums/sprite_accessories.dm b/code/datums/sprite_accessories.dm index eccb2161c73bb..a4394b64d52e5 100644 --- a/code/datums/sprite_accessories.dm +++ b/code/datums/sprite_accessories.dm @@ -34,8 +34,6 @@ * This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none. */ var/color_src = MUTANT_COLOR - /// Decides if this sprite has an "inner" part, such as the fleshy parts on ears. - var/hasinner = FALSE /// Is this part locked from roundstart selection? Used for parts that apply effects. var/locked = FALSE /// Should we center the sprite? @@ -51,7 +49,7 @@ var/natural_spawn = TRUE /datum/sprite_accessory/blank - name = "None" + name = SPRITE_ACCESSORY_NONE icon_state = "None" ////////////////////// @@ -835,7 +833,7 @@ var/gradient_category = GRADIENT_APPLIES_TO_HAIR|GRADIENT_APPLIES_TO_FACIAL_HAIR /datum/sprite_accessory/gradient/none - name = "None" + name = SPRITE_ACCESSORY_NONE icon_state = "none" /datum/sprite_accessory/gradient/full @@ -1726,10 +1724,6 @@ /datum/sprite_accessory/lizard_markings icon = 'icons/mob/human/species/lizard/lizard_markings.dmi' -/datum/sprite_accessory/lizard_markings/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/lizard_markings/dtiger name = "Dark Tiger Body" icon_state = "dtiger" @@ -1754,6 +1748,11 @@ icon = 'icons/mob/human/species/lizard/lizard_tails.dmi' spine_key = SPINE_KEY_LIZARD +/datum/sprite_accessory/tails/lizard/none + name = SPRITE_ACCESSORY_NONE + icon_state = "none" + natural_spawn = FALSE + /datum/sprite_accessory/tails/lizard/smooth name = "Smooth" icon_state = "smooth" @@ -1781,6 +1780,13 @@ icon_state = "default" color_src = HAIR_COLOR +/datum/sprite_accessory/tails/monkey + +/datum/sprite_accessory/tails/monkey/none + name = SPRITE_ACCESSORY_NONE + icon_state = "none" + natural_spawn = FALSE + /datum/sprite_accessory/tails/monkey/default name = "Monkey" icon = 'icons/mob/human/species/monkey/monkey_tail.dmi' @@ -1855,10 +1861,6 @@ icon = 'icons/mob/human/species/lizard/lizard_misc.dmi' em_block = TRUE -/datum/sprite_accessory/horns/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/horns/simple name = "Simple" icon_state = "simple" @@ -1883,14 +1885,9 @@ icon = 'icons/mob/human/cat_features.dmi' em_block = TRUE -/datum/sprite_accessory/ears/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/ears/cat name = "Cat" icon_state = "cat" - hasinner = TRUE color_src = HAIR_COLOR /datum/sprite_accessory/ears/cat/big @@ -1917,14 +1914,9 @@ icon = 'icons/mob/human/fox_features.dmi' name = "Fox" icon_state = "fox" - hasinner = TRUE color_src = HAIR_COLOR locked = TRUE -/datum/sprite_accessory/wings/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/wings icon = 'icons/mob/human/species/wings.dmi' em_block = TRUE @@ -2068,10 +2060,6 @@ /datum/sprite_accessory/frills icon = 'icons/mob/human/species/lizard/lizard_misc.dmi' -/datum/sprite_accessory/frills/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/frills/simple name = "Simple" icon_state = "simple" @@ -2092,14 +2080,6 @@ icon = 'icons/mob/human/species/lizard/lizard_spines.dmi' em_block = TRUE -/datum/sprite_accessory/spines/none - name = "None" - icon_state = "none" - -/datum/sprite_accessory/tail_spines/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/spines/short name = "Short" icon_state = "short" @@ -2140,16 +2120,6 @@ name = "Aquatic" icon_state = "aqua" -/datum/sprite_accessory/legs //legs are a special case, they aren't actually sprite_accessories but are updated with them. - icon = null //These datums exist for selecting legs on preference, and little else - em_block = TRUE - -/datum/sprite_accessory/legs/none - name = "Normal Legs" - -/datum/sprite_accessory/legs/digitigrade_lizard - name = DIGITIGRADE_LEGS - /datum/sprite_accessory/caps icon = 'icons/mob/human/species/mush_cap.dmi' color_src = HAIR_COLOR @@ -2360,10 +2330,6 @@ icon = 'icons/mob/human/species/moth/moth_markings.dmi' color_src = null -/datum/sprite_accessory/moth_markings/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/moth_markings/reddish name = "Reddish" icon_state = "reddish" diff --git a/code/datums/station_alert.dm b/code/datums/station_alert.dm index 5b969afb00513..4c5f3ca7c51c5 100644 --- a/code/datums/station_alert.dm +++ b/code/datums/station_alert.dm @@ -61,7 +61,7 @@ data["alarms"] += list(nominal_category) return data -/datum/station_alert/ui_act(action, params) +/datum/station_alert/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/datums/station_traits/_station_trait.dm b/code/datums/station_traits/_station_trait.dm index 174b127b2d474..ef91a183d9f27 100644 --- a/code/datums/station_traits/_station_trait.dm +++ b/code/datums/station_traits/_station_trait.dm @@ -95,6 +95,7 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) /// Apply any additional handling we need to our lobby button /datum/station_trait/proc/setup_lobby_button(atom/movable/screen/lobby/button/sign_up/lobby_button) SHOULD_CALL_PARENT(TRUE) + lobby_button.name = name lobby_buttons |= lobby_button RegisterSignal(lobby_button, COMSIG_ATOM_UPDATE_ICON, PROC_REF(on_lobby_button_update_icon)) RegisterSignal(lobby_button, COMSIG_SCREEN_ELEMENT_CLICK, PROC_REF(on_lobby_button_click)) diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm index 727f487bd3ede..83d1bfa14f4c9 100644 --- a/code/datums/station_traits/negative_traits.dm +++ b/code/datums/station_traits/negative_traits.dm @@ -246,6 +246,9 @@ weapon?.add_mob_blood(punpun) punpun.add_mob_blood(punpun) + if(!isnull(punpun.ai_controller)) // In case punpun somehow lacks AI + QDEL_NULL(punpun.ai_controller) + new /datum/ai_controller/monkey/angry(punpun) var/area/place = get_area(punpun) @@ -615,8 +618,14 @@ send_supply_pod_to_area(supply_pack_shielding.generate(null), /area/station/command/bridge, /obj/structure/closet/supplypod/centcompod) // Let medical know resistence is futile - send_fax_to_area(new /obj/item/paper/fluff/radiation_nebula_virologist(), /area/station/medical/virology, "NT Virology Department", \ - force = TRUE, force_pod_type = /obj/structure/closet/supplypod/centcompod) + if (/area/station/medical/virology in GLOB.areas_by_type) + send_fax_to_area( + new /obj/item/paper/fluff/radiation_nebula_virologist, + /area/station/medical/virology, + "NT Virology Department", + force = TRUE, + force_pod_type = /obj/structure/closet/supplypod/centcompod, + ) //Disables radstorms, they don't really make sense since we already have the nebula causing storms var/datum/round_event_control/modified_event = locate(/datum/round_event_control/radiation_storm) in SSevents.control diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index 9ed43f43696bc..3069e644d6e1b 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -383,30 +383,17 @@ /datum/station_trait/linked_closets/on_round_start() . = ..() - var/list/roundstart_non_secure_closets = GLOB.roundstart_station_closets.Copy() - for(var/obj/structure/closet/closet in roundstart_non_secure_closets) - if(closet.secure) - roundstart_non_secure_closets -= closet + var/list/roundstart_closets = GLOB.roundstart_station_closets.Copy() /** - * The number of links to perform. - * Combined with 50/50 the probability of the link being triangular, the boundaries of any given - * on-station, non-secure closet being linked are as high as 1 in 7/8 and as low as 1 in 16-17, - * nearing an a mean of 1 in 9 to 11/12 the more repetitions are done. - * - * There are more than 220 roundstart closets on meta, around 150 of which aren't secure, - * so, about 13 to 17 closets will be affected by this most of the times. + * The number of links to perform. the chance of a closet being linked are about 1 in 10 + * There are more than 220 roundstart closets on meta, so, about 22 closets will be affected on average. */ - var/number_of_links = round(length(roundstart_non_secure_closets) * (rand(350, 450)*0.0001), 1) + var/number_of_links = round(length(roundstart_closets) * (rand(400, 430)*0.0001), 1) for(var/repetition in 1 to number_of_links) - var/closets_left = length(roundstart_non_secure_closets) - if(closets_left < 2) - return var/list/targets = list() - for(var/how_many in 1 to min(closets_left, rand(2,3))) - targets += pick_n_take(roundstart_non_secure_closets) - if(closets_left == 1) //there's only one closet left. Let's not leave it alone. - targets += roundstart_non_secure_closets[1] + for(var/how_many in 1 to rand(2,3)) + targets += pick_n_take(roundstart_closets) GLOB.eigenstate_manager.create_new_link(targets) diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index 1af74533775fa..945fbe06934bc 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -20,15 +20,23 @@ COOLDOWN_START(src, party_cooldown, rand(PARTY_COOLDOWN_LENGTH_MIN, PARTY_COOLDOWN_LENGTH_MAX)) - var/area/area_to_spawn_in = pick(GLOB.bar_areas) - var/turf/T = pick(area_to_spawn_in.contents) - - var/obj/structure/closet/supplypod/centcompod/toLaunch = new() - var/obj/item/pizzabox/pizza_to_spawn = pick(list(/obj/item/pizzabox/margherita, /obj/item/pizzabox/mushroom, /obj/item/pizzabox/meat, /obj/item/pizzabox/vegetable, /obj/item/pizzabox/pineapple)) - new pizza_to_spawn(toLaunch) - for(var/i in 1 to 6) - new /obj/item/reagent_containers/cup/glass/bottle/beer(toLaunch) - new /obj/effect/pod_landingzone(T, toLaunch) + var/pizza_type_to_spawn = pick(list( + /obj/item/pizzabox/margherita, + /obj/item/pizzabox/mushroom, + /obj/item/pizzabox/meat, + /obj/item/pizzabox/vegetable, + /obj/item/pizzabox/pineapple + )) + + var/area/bar_area = pick(GLOB.bar_areas) + podspawn(list( + "target" = pick(bar_area.contents), + "path" = /obj/structure/closet/supplypod/centcompod, + "spawn" = list( + pizza_type_to_spawn, + /obj/item/reagent_containers/cup/glass/bottle/beer = 6 + ) + )) #undef PARTY_COOLDOWN_LENGTH_MIN #undef PARTY_COOLDOWN_LENGTH_MAX diff --git a/code/datums/status_effects/_status_effect_helpers.dm b/code/datums/status_effects/_status_effect_helpers.dm index f887afd91428e..a5743d2e93ad7 100644 --- a/code/datums/status_effects/_status_effect_helpers.dm +++ b/code/datums/status_effects/_status_effect_helpers.dm @@ -65,7 +65,7 @@ /** * Checks if this mob has a status effect that shares the passed effect's ID * - * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath + * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not its typepath * * Returns an instance of a status effect, or NULL if none were found. */ @@ -99,7 +99,7 @@ * Checks if this mob has a status effect that shares the passed effect's ID * and has the passed sources are in its list of sources (ONLY works for grouped efects!) * - * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath + * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not its typepath * * Returns an instance of a status effect, or NULL if none were found. */ @@ -128,7 +128,7 @@ /** * Returns a list of all status effects that share the passed effect type's ID * - * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath + * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not its typepath * * Returns a list */ diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 04ab2ee8f1783..68462f1ae2ef2 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -84,7 +84,7 @@ icon_state = "blooddrunk" /datum/status_effect/blooddrunk/on_apply() - ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, BLOODDRUNK_TRAIT) + owner.add_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.brute_mod *= 0.1 @@ -104,7 +104,7 @@ human_owner.physiology.tox_mod *= 10 human_owner.physiology.oxy_mod *= 10 human_owner.physiology.stamina_mod *= 10 - REMOVE_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, BLOODDRUNK_TRAIT) + owner.remove_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) owner.remove_stun_absorption(id) //Used by changelings to rapidly heal @@ -383,7 +383,7 @@ show_duration = TRUE /datum/status_effect/regenerative_core/on_apply() - ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, STATUS_EFFECT_TRAIT) + owner.add_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) owner.adjustBruteLoss(-25) owner.adjustFireLoss(-25) owner.fully_heal(HEAL_CC_STATUS) @@ -394,7 +394,7 @@ return TRUE /datum/status_effect/regenerative_core/on_remove() - REMOVE_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, STATUS_EFFECT_TRAIT) + owner.remove_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) /datum/status_effect/lightningorb id = "Lightning Orb" @@ -570,7 +570,8 @@ owner.AddElement(/datum/element/forced_gravity, 0) owner.AddElement(/datum/element/simple_flying) owner.add_stun_absorption(source = id, priority = 4) - owner.add_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_FREE_HYPERSPACE_MOVEMENT), MAD_WIZARD_TRAIT) + owner.add_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) + ADD_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, id) owner.playsound_local(get_turf(owner), 'sound/chemistry/ahaha.ogg', vol = 100, vary = TRUE, use_reverb = TRUE) return TRUE @@ -587,7 +588,8 @@ owner.RemoveElement(/datum/element/forced_gravity, 0) owner.RemoveElement(/datum/element/simple_flying) owner.remove_stun_absorption(id) - owner.remove_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_FREE_HYPERSPACE_MOVEMENT), MAD_WIZARD_TRAIT) + owner.remove_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) + REMOVE_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, id) /// Gives you a brief period of anti-gravity /datum/status_effect/jump_jet @@ -622,3 +624,30 @@ name = "Radiation shielding" desc = "You're immune to radiation, get settled quick!" icon_state = "radiation_shield" + +/// Heal in darkness and potentially trigger other effects, persists for a short duration after leaving +/datum/status_effect/shadow_regeneration + id = "shadow_regeneration" + duration = 2 SECONDS + status_type = STATUS_EFFECT_REFRESH + alert_type = /atom/movable/screen/alert/status_effect/shadow_regeneration + +/datum/status_effect/shadow_regeneration/on_apply() + . = ..() + if (!.) + return FALSE + heal_owner() + return TRUE + +/datum/status_effect/shadow_regeneration/refresh(effect) + . = ..() + heal_owner() + +/// Regenerate health whenever this status effect is applied or reapplied +/datum/status_effect/shadow_regeneration/proc/heal_owner() + owner.heal_overall_damage(brute = 1, burn = 1, required_bodytype = BODYTYPE_ORGANIC) + +/atom/movable/screen/alert/status_effect/shadow_regeneration + name = "Shadow Regeneration" + desc = "Bathed in soothing darkness, you will slowly heal yourself." + icon_state = "lightless" diff --git a/code/datums/status_effects/food_effects.dm b/code/datums/status_effects/buffs/food/_food_effect.dm similarity index 64% rename from code/datums/status_effects/food_effects.dm rename to code/datums/status_effects/buffs/food/_food_effect.dm index f36f1e2034d9c..fe63df29e3a8a 100644 --- a/code/datums/status_effects/food_effects.dm +++ b/code/datums/status_effects/buffs/food/_food_effect.dm @@ -1,19 +1,18 @@ /// Buffs given by eating hand-crafted food. The duration scales with consumable reagents purity. /datum/status_effect/food - id = "food_buff" + id = "food_effect" duration = 5 MINUTES // Same as food mood buffs status_type = STATUS_EFFECT_REPLACE // Only one food buff allowed alert_type = /atom/movable/screen/alert/status_effect/food show_duration = TRUE - /// Buff power + /// Buff power equal to food complexity (1 to 5) var/strength /datum/status_effect/food/on_creation(mob/living/new_owner, timeout_mod = 1, strength = 1) + . = ..() src.strength = strength - //Generate alert when not specified if(isnum(timeout_mod)) duration *= timeout_mod - . = ..() if(istype(linked_alert, /atom/movable/screen/alert/status_effect/food)) linked_alert.icon_state = "[linked_alert.base_icon_state]_[strength]" @@ -22,19 +21,3 @@ desc = "Eating it made me feel better." icon_state = "food_buff_1" base_icon_state = "food_buff" - -/// Makes you gain a trait -/datum/status_effect/food/trait - var/trait = TRAIT_DUMB // You need to override this - -/datum/status_effect/food/trait/on_apply() - ADD_TRAIT(owner, trait, type) - return ..() - -/datum/status_effect/food/trait/be_replaced() - REMOVE_TRAIT(owner, trait, type) - return ..() - -/datum/status_effect/food/trait/on_remove() - REMOVE_TRAIT(owner, trait, type) - return ..() diff --git a/code/datums/status_effects/buffs/food/food_traits.dm b/code/datums/status_effects/buffs/food/food_traits.dm deleted file mode 100644 index dfd0b888aa096..0000000000000 --- a/code/datums/status_effects/buffs/food/food_traits.dm +++ /dev/null @@ -1,7 +0,0 @@ -/datum/status_effect/food/trait/shockimmune - alert_type = /atom/movable/screen/alert/status_effect/food/trait_shockimmune - trait = TRAIT_SHOCKIMMUNE - -/atom/movable/screen/alert/status_effect/food/trait_shockimmune - name = "Grounded" - desc = "That meal made me feel like a superconductor..." diff --git a/code/datums/status_effects/buffs/food/grant_trait.dm b/code/datums/status_effects/buffs/food/grant_trait.dm new file mode 100644 index 0000000000000..f25be3b0b3bfd --- /dev/null +++ b/code/datums/status_effects/buffs/food/grant_trait.dm @@ -0,0 +1,56 @@ +/// Makes you gain a trait +/datum/status_effect/food/trait + var/trait = TRAIT_DUMB // You need to override this + +/datum/status_effect/food/trait/on_apply() + if(!HAS_TRAIT_FROM(owner, trait, type)) // Check if trait was already applied + ADD_TRAIT(owner, trait, type) + return ..() + +/datum/status_effect/food/trait/be_replaced() + REMOVE_TRAIT(owner, trait, type) + return ..() + +/datum/status_effect/food/trait/on_remove() + REMOVE_TRAIT(owner, trait, type) + return ..() + +/datum/status_effect/food/trait/shockimmune + alert_type = /atom/movable/screen/alert/status_effect/shockimmune + trait = TRAIT_SHOCKIMMUNE + +/atom/movable/screen/alert/status_effect/shockimmune + name = "Grounded" + desc = "That meal made me feel like a superconductor..." + icon_state = "shock_immune" + +/datum/status_effect/food/trait/mute + alert_type = /atom/movable/screen/alert/status_effect/mute + trait = TRAIT_MUTE + +/atom/movable/screen/alert/status_effect/mute + name = "..." + desc = "..." + icon_state = "mute" + +/datum/status_effect/food/trait/ashstorm_immune + alert_type = /atom/movable/screen/alert/status_effect/ashstorm_immune + trait = TRAIT_ASHSTORM_IMMUNE + +/atom/movable/screen/alert/status_effect/ashstorm_immune + name = "Ashstorm-proof" + desc = "That meal makes me feel born on Lavaland." + icon_state = "ashstorm_immune" + +/datum/status_effect/food/trait/waddle + alert_type = /atom/movable/screen/alert/status_effect/waddle + trait = TRAIT_WADDLING + +/datum/status_effect/food/trait/waddle/on_apply() + owner.AddElementTrait(trait, type, /datum/element/waddling) + return ..() + +/atom/movable/screen/alert/status_effect/waddle + name = "Waddling" + desc = "That meal makes me want to joke around." + icon_state = "waddle" diff --git a/code/datums/status_effects/buffs/food/speech.dm b/code/datums/status_effects/buffs/food/speech.dm new file mode 100644 index 0000000000000..634fd739709b3 --- /dev/null +++ b/code/datums/status_effects/buffs/food/speech.dm @@ -0,0 +1,45 @@ +///Temporary modifies the speech using the /datum/component/speechmod +/datum/status_effect/food/speech + +/datum/status_effect/food/speech/italian + alert_type = /atom/movable/screen/alert/status_effect/italian_speech + +/datum/status_effect/food/speech/italian/on_apply() + AddComponent( \ + /datum/component/speechmod, \ + replacements = strings("italian_replacement.json", "italian"), \ + end_string = list( + " Ravioli, ravioli, give me the formuoli!", + " Mamma-mia!", + " Mamma-mia! That's a spicy meat-ball!", + " La la la la la funiculi funicula!" + ), \ + end_string_chance = 3 \ + ) + return ..() + +/atom/movable/screen/alert/status_effect/italian_speech + name = "Linguini Embrace" + desc = "You feel a sudden urge to gesticulate wildly." + icon_state = "food_italian" + +/datum/status_effect/food/speech/french + alert_type = /atom/movable/screen/alert/status_effect/french_speech + +/datum/status_effect/food/speech/french/on_apply() + AddComponent( \ + /datum/component/speechmod, \ + replacements = strings("french_replacement.json", "french"), \ + end_string = list( + " Honh honh honh!", + " Honh!", + " Zut Alors!" + ), \ + end_string_chance = 3, \ + ) + return ..() + +/atom/movable/screen/alert/status_effect/french_speech + name = "Café Chic" + desc = "Suddenly, everything seems worthy of a passionate debate." + icon_state = "food_french" diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 83d99461fce57..df93089633629 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -345,20 +345,18 @@ /datum/status_effect/crusher_mark id = "crusher_mark" duration = 300 //if you leave for 30 seconds you lose the mark, deal with it - status_type = STATUS_EFFECT_MULTIPLE + status_type = STATUS_EFFECT_REFRESH alert_type = null var/mutable_appearance/marked_underlay - var/obj/item/kinetic_crusher/hammer_synced - + var/boosted = FALSE -/datum/status_effect/crusher_mark/on_creation(mob/living/new_owner, obj/item/kinetic_crusher/new_hammer_synced) +/datum/status_effect/crusher_mark/on_creation(mob/living/new_owner, was_boosted) . = ..() - if(.) - hammer_synced = new_hammer_synced + boosted = was_boosted /datum/status_effect/crusher_mark/on_apply() if(owner.mob_size >= MOB_SIZE_LARGE) - marked_underlay = mutable_appearance('icons/effects/effects.dmi', "shield2") + marked_underlay = mutable_appearance('icons/effects/effects.dmi', boosted ? "shield" : "shield2") marked_underlay.pixel_x = -owner.pixel_x marked_underlay.pixel_y = -owner.pixel_y owner.underlays += marked_underlay @@ -366,16 +364,11 @@ return FALSE /datum/status_effect/crusher_mark/Destroy() - hammer_synced = null if(owner) owner.underlays -= marked_underlay QDEL_NULL(marked_underlay) return ..() -//we will only clear ourselves if the crusher is the one that owns us. -/datum/status_effect/crusher_mark/before_remove(obj/item/kinetic_crusher/attacking_hammer) - return (attacking_hammer == hammer_synced) - /datum/status_effect/stacking/saw_bleed id = "saw_bleed" tick_interval = 0.6 SECONDS diff --git a/code/datums/stock_market_events.dm b/code/datums/stock_market_events.dm index 4907bf784f63a..b29e52ab0ee11 100644 --- a/code/datums/stock_market_events.dm +++ b/code/datums/stock_market_events.dm @@ -23,7 +23,7 @@ /// When this event is ongoing, what direction will the price trend in? var/trend_value - /// When this event is triggered, for how long will it's effects last? + /// When this event is triggered, for how long will its effects last? var/trend_duration /** diff --git a/code/datums/storage/storage.dm b/code/datums/storage/storage.dm index 8c98d7d56bd16..abf63eb3c7522 100644 --- a/code/datums/storage/storage.dm +++ b/code/datums/storage/storage.dm @@ -43,7 +43,13 @@ /// Determines whether we play a rustle animation when inserting/removing items. var/animated = TRUE /// Determines whether we play a rustle sound when inserting/removing items. - var/rustle_sound = TRUE + var/do_rustle = TRUE + var/rustle_vary = TRUE + /// Path for the item's rustle sound. + var/rustle_sound = SFX_RUSTLE + /// The sound to play when we open/access the storage + var/open_sound + var/open_sound_vary = TRUE /// The maximum amount of items that can be inserted into this storage. var/max_slots = 7 @@ -444,13 +450,40 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(!can_insert(to_insert, user, messages = messages, force = force)) return FALSE - SEND_SIGNAL(parent, COMSIG_STORAGE_STORED_ITEM, to_insert, user, force) + SEND_SIGNAL(parent, COMSIG_ATOM_STORED_ITEM, to_insert, user, force) SEND_SIGNAL(src, COMSIG_STORAGE_STORED_ITEM, to_insert, user, force) + RegisterSignal(to_insert, COMSIG_MOUSEDROPPED_ONTO, PROC_REF(mousedrop_receive)) to_insert.forceMove(real_location) item_insertion_feedback(user, to_insert, override) parent.update_appearance() return TRUE +/// Since items inside storages ignore transparency for QOL reasons, we're tracking when things are dropped onto them instead of our UI elements +/datum/storage/proc/mousedrop_receive(atom/dropped_onto, atom/movable/target, mob/user, params) + SIGNAL_HANDLER + + if (src != user.active_storage) + return + + if (!user.can_perform_action(parent, FORBID_TELEKINESIS_REACH)) + return + + if (target.loc != real_location) // what even + UnregisterSignal(target, COMSIG_MOUSEDROPPED_ONTO) + return + + if(numerical_stacking) + return + + var/drop_index = real_location.contents.Find(dropped_onto) + real_location.contents -= target + // Use an empty list if we're dropping onto the last item + var/list/to_move = real_location.contents.len >= drop_index ? real_location.contents.Copy(drop_index) : list() + real_location.contents -= to_move + real_location.contents += target + real_location.contents += to_move + refresh_views() + /** * Inserts every item in a given list, with a progress bar * @@ -499,8 +532,8 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(silent) return - if(rustle_sound) - playsound(parent, SFX_RUSTLE, 50, TRUE, -5) + if(do_rustle) + playsound(parent, rustle_sound, 50, rustle_vary, -5) if(!silent_for_user) to_chat(user, span_notice("You put [thing] [insert_preposition]to [parent].")) @@ -530,7 +563,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) reset_item(thing) thing.forceMove(remove_to_loc) - if(rustle_sound && !silent) + if(do_rustle && !silent) playsound(parent, SFX_RUSTLE, 50, TRUE, -5) else thing.moveToNullspace() @@ -541,6 +574,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) refresh_views() parent.update_appearance() + UnregisterSignal(thing, COMSIG_MOUSEDROPPED_ONTO) SEND_SIGNAL(parent, COMSIG_ATOM_REMOVED_ITEM, thing, remove_to_loc, silent) SEND_SIGNAL(src, COMSIG_STORAGE_REMOVED_ITEM, thing, remove_to_loc, silent) return TRUE @@ -716,7 +750,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) parent.add_fingerprint(user) return COMPONENT_CANCEL_MOUSEDROP_ONTO - else if(ismob(over_object)) + if(ismob(over_object)) if(over_object != user || !user.can_perform_action(parent, FORBID_TELEKINESIS_REACH | ALLOW_RESTING)) return @@ -724,13 +758,24 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) INVOKE_ASYNC(src, PROC_REF(open_storage), user) return COMPONENT_CANCEL_MOUSEDROP_ONTO - else if(!istype(over_object, /atom/movable/screen)) - if(!user.can_perform_action(over_object, FORBID_TELEKINESIS_REACH)) - return + if(istype(over_object, /atom/movable/screen)) + return - parent.add_fingerprint(user) - INVOKE_ASYNC(src, PROC_REF(dump_content_at), over_object, user) - return COMPONENT_CANCEL_MOUSEDROP_ONTO + if(!user.can_perform_action(over_object, FORBID_TELEKINESIS_REACH)) + return + + parent.add_fingerprint(user) + + var/atom/dump_loc = over_object.get_dumping_location() + if(isnull(dump_loc)) + return + + /// Don't dump *onto* objects in the same storage as ourselves + if (over_object.loc == parent.loc && !isnull(parent.loc.atom_storage) && isnull(over_object.atom_storage)) + return + + INVOKE_ASYNC(src, PROC_REF(dump_content_at), over_object, dump_loc, user) + return COMPONENT_CANCEL_MOUSEDROP_ONTO /** * Dumps all of our contents at a specific location. @@ -738,7 +783,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) * @param atom/dest_object where to dump to * @param mob/user the user who is dumping the contents */ -/datum/storage/proc/dump_content_at(atom/dest_object, mob/user) +/datum/storage/proc/dump_content_at(atom/dest_object, dump_loc, mob/user) if(locked) user.balloon_alert(user, "closed!") return @@ -752,7 +797,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(dest_object.atom_storage) to_chat(user, span_notice("You dump the contents of [parent] into [dest_object].")) - if(rustle_sound) + if(do_rustle) playsound(parent, SFX_RUSTLE, 50, TRUE, -5) for(var/obj/item/to_dump in real_location) @@ -761,10 +806,6 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) SEND_SIGNAL(src, COMSIG_STORAGE_DUMP_POST_TRANSFER, dest_object, user) return - var/atom/dump_loc = dest_object.get_dumping_location() - if(isnull(dump_loc)) - return - // Storage to loc transfer requires a do_after to_chat(user, span_notice("You start dumping out the contents of [parent] onto [dest_object]...")) if(!do_after(user, 2 SECONDS, target = dest_object)) @@ -919,8 +960,8 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(animated) animate_parent() - if(rustle_sound) - playsound(parent, SFX_RUSTLE, 50, TRUE, -5) + if(do_rustle && !silent) + playsound(parent, (open_sound ? open_sound : SFX_RUSTLE), 50, open_sound_vary, -5) return TRUE @@ -1024,7 +1065,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) var/atom/movable/movable_loc = real_location movable_loc.lose_active_storage(src) - if (isnull(storage_interfaces[to_hide])) + if (!length(storage_interfaces) || isnull(storage_interfaces[to_hide])) return TRUE is_using -= to_hide diff --git a/code/datums/storage/storage_interface.dm b/code/datums/storage/storage_interface.dm index cd28b9eb3f7a1..c0cab0dd7952c 100644 --- a/code/datums/storage/storage_interface.dm +++ b/code/datums/storage/storage_interface.dm @@ -2,7 +2,7 @@ /datum/storage_interface /// UI elements for this theme var/atom/movable/screen/close/closer - var/atom/movable/screen/storage/cells + var/atom/movable/screen/storage/cell/cells var/atom/movable/screen/storage/corner/corner_top_left var/atom/movable/screen/storage/corner/top_right/corner_top_right var/atom/movable/screen/storage/corner/bottom_left/corner_bottom_left diff --git a/code/datums/storage/subtypes/bag_of_holding.dm b/code/datums/storage/subtypes/bag_of_holding.dm index aa812f5d1e007..4028d4f789c6b 100644 --- a/code/datums/storage/subtypes/bag_of_holding.dm +++ b/code/datums/storage/subtypes/bag_of_holding.dm @@ -16,6 +16,7 @@ return ..() /datum/storage/bag_of_holding/proc/recursive_insertion(obj/item/to_insert, mob/living/user) + var/area/bag_area = get_area(user) var/safety = tgui_alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [to_insert.name]?", list("Proceed", "Abort")) if(safety != "Proceed" \ || QDELETED(to_insert) \ @@ -24,6 +25,7 @@ || QDELETED(user) \ || !user.can_perform_action(parent, NEED_DEXTERITY) \ || !can_insert(to_insert, user) \ + || (bag_area.area_flags & NO_BOH) \ ) return diff --git a/code/datums/storage/subtypes/extract_inventory.dm b/code/datums/storage/subtypes/extract_inventory.dm index 9d75b6eb1d336..621e44654511c 100644 --- a/code/datums/storage/subtypes/extract_inventory.dm +++ b/code/datums/storage/subtypes/extract_inventory.dm @@ -5,7 +5,7 @@ attack_hand_interact = FALSE quickdraw = FALSE locked = STORAGE_FULLY_LOCKED - rustle_sound = FALSE + do_rustle = FALSE silent = TRUE // Snowflake so you can feed it insert_on_attack = FALSE diff --git a/code/datums/storage/subtypes/fish_case.dm b/code/datums/storage/subtypes/fish_case.dm index 82733d37ad985..47103e931b1f8 100644 --- a/code/datums/storage/subtypes/fish_case.dm +++ b/code/datums/storage/subtypes/fish_case.dm @@ -1,6 +1,6 @@ /datum/storage/fish_case max_slots = 1 - max_specific_storage = WEIGHT_CLASS_HUGE + max_specific_storage = WEIGHT_CLASS_GIGANTIC can_hold_description = "Fish and aquarium equipment" /datum/storage/fish_case/can_insert(obj/item/to_insert, mob/user, messages, force) @@ -13,11 +13,13 @@ return FALSE return . +/datum/storage/fish_case/adjust_size + /* * Change the size of the storage item to match the inserted item's * Because of that, we also check if conditions to keep it inside another storage or pockets are still met. */ -/datum/storage/fish_case/handle_enter(datum/source, obj/item/arrived) +/datum/storage/fish_case/adjust_size/handle_enter(datum/source, obj/item/arrived) . = ..() if(!isitem(parent) || !istype(arrived)) return @@ -26,7 +28,7 @@ return item_parent.update_weight_class(arrived.w_class) -/datum/storage/fish_case/handle_exit(datum/source, obj/item/gone) +/datum/storage/fish_case/adjust_size/handle_exit(datum/source, obj/item/gone) . = ..() if(!isitem(parent) || !istype(gone)) return diff --git a/code/datums/storage/subtypes/pockets.dm b/code/datums/storage/subtypes/pockets.dm index edf3816c274ee..4e0e233121a28 100644 --- a/code/datums/storage/subtypes/pockets.dm +++ b/code/datums/storage/subtypes/pockets.dm @@ -2,7 +2,7 @@ max_slots = 2 max_specific_storage = WEIGHT_CLASS_SMALL max_total_storage = 50 - rustle_sound = FALSE + do_rustle = FALSE /datum/storage/pockets/attempt_insert(obj/item/to_insert, mob/user, override, force, messages) . = ..() diff --git a/code/datums/storage/subtypes/portable_chem_mixer.dm b/code/datums/storage/subtypes/portable_chem_mixer.dm new file mode 100644 index 0000000000000..fcf5c6ec412bc --- /dev/null +++ b/code/datums/storage/subtypes/portable_chem_mixer.dm @@ -0,0 +1,16 @@ +/datum/storage/portable_chem_mixer + max_total_storage = 200 + max_slots = 50 + +/datum/storage/portable_chem_mixer/New(atom/parent, max_slots, max_specific_storage, max_total_storage) + . = ..() + + var/static/list/obj/item/reagent_containers/containers = list( + /obj/item/reagent_containers/cup/beaker, + /obj/item/reagent_containers/cup/bottle, + /obj/item/reagent_containers/cup/tube, + /obj/item/reagent_containers/cup/glass/waterbottle, + /obj/item/reagent_containers/condiment, + ) + + set_holdable(containers) diff --git a/code/datums/view.dm b/code/datums/view.dm index 19ba66c390040..90d07c667967c 100644 --- a/code/datums/view.dm +++ b/code/datums/view.dm @@ -1,19 +1,19 @@ //This is intended to be a full wrapper. DO NOT directly modify its values ///Container for client viewsize /datum/view_data - /// Width offset to apply to the default view string if we're not supressed for some reason + /// Width offset to apply to the default view string if we're not suppressed for some reason var/width = 0 /// Height offset to apply to the default view string, see above var/height = 0 /// This client's current "default" view, in the format "WidthxHeight" /// We add/remove from this when we want to change their window size var/default = "" - /// This client's current zoom level, if it's not being supressed + /// This client's current zoom level, if it's not being suppressed /// If it's 0, we autoscale to the size of the window. Otherwise it's treated as the ratio between /// the pixels on the map and output pixels. Only looks proper nice in increments of whole numbers (iirc) /// Stored here so other parts of the code have a non blocking way of getting a user's functional zoom var/zoom = 0 - /// If the view is currently being supressed by some other "monitor" + /// If the view is currently being suppressed by some other "monitor" /// For when you want to own the client's eye without fucking with their viewport /// Doesn't make sense for a binocoler to effect your view in a camera console var/is_suppressed = FALSE @@ -73,7 +73,7 @@ apply() /datum/view_data/proc/setTo(toAdd) - var/list/shitcode = getviewsize(toAdd) //Backward compatability to account + var/list/shitcode = getviewsize(toAdd) //Backward compatibility to account width = shitcode[1] //for a change in how sizes get calculated. we used to include world.view in height = shitcode[2] //this, but it was jank, so I had to move it apply() diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm index 16ffb326f8a86..6c286952e471c 100644 --- a/code/datums/weather/weather.dm +++ b/code/datums/weather/weather.dm @@ -59,7 +59,10 @@ /// Since it's above everything else, this is the layer used by default. var/overlay_layer = AREA_LAYER /// Plane for the overlay - var/overlay_plane = AREA_PLANE + var/overlay_plane = WEATHER_PLANE + /// Should the weather draw with frills? + /// If so it needs to operate on the WEATHER_PLANE + var/has_frills = TRUE /// If the weather has no purpose other than looks var/aesthetic = FALSE /// Used by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather. @@ -88,6 +91,8 @@ /datum/weather/New(z_levels) ..() impacted_z_levels = z_levels + if(has_frills && overlay_plane != WEATHER_PLANE) + stack_trace("[type] created with frills but not on the area plane, this will break to hell") /** * Telegraphs the beginning of the weather on the impacted z levels @@ -99,7 +104,7 @@ /datum/weather/proc/telegraph() if(stage == STARTUP_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_TELEGRAPH(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_TELEGRAPH(type), src) stage = STARTUP_STAGE var/list/affectareas = list() for(var/V in get_areas(area_type)) @@ -129,14 +134,14 @@ /datum/weather/proc/start() if(stage >= MAIN_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_START(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_START(type), src) stage = MAIN_STAGE update_areas() send_alert(weather_message, weather_sound) if(!perpetual) addtimer(CALLBACK(src, PROC_REF(wind_down)), weather_duration) for(var/area/impacted_area as anything in impacted_areas) - SEND_SIGNAL(impacted_area, COMSIG_WEATHER_BEGAN_IN_AREA(type)) + SEND_SIGNAL(impacted_area, COMSIG_WEATHER_BEGAN_IN_AREA(type), src) /** * Weather enters the winding down phase, stops effects @@ -148,7 +153,7 @@ /datum/weather/proc/wind_down() if(stage >= WIND_DOWN_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_WINDDOWN(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_WINDDOWN(type), src) stage = WIND_DOWN_STAGE update_areas() send_alert(end_message, end_sound) @@ -164,12 +169,12 @@ /datum/weather/proc/end() if(stage == END_STAGE) return - SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_END(type)) + SEND_GLOBAL_SIGNAL(COMSIG_WEATHER_END(type), src) stage = END_STAGE SSweather.processing -= src update_areas() for(var/area/impacted_area as anything in impacted_areas) - SEND_SIGNAL(impacted_area, COMSIG_WEATHER_ENDED_IN_AREA(type)) + SEND_SIGNAL(impacted_area, COMSIG_WEATHER_ENDED_IN_AREA(type), src) // handles sending all alerts /datum/weather/proc/send_alert(alert_msg, alert_sfx) @@ -260,9 +265,23 @@ // I prefer it to creating 2 extra plane masters however, so it's a cost I'm willing to pay // LU if(use_glow) - var/mutable_appearance/glow_overlay = mutable_appearance('icons/effects/glow_weather.dmi', weather_state, overlay_layer, null, ABOVE_LIGHTING_PLANE, 100, offset_const = offset) + var/mutable_appearance/glow_overlay = mutable_appearance('icons/effects/glow_weather.dmi', weather_state, overlay_layer, null, WEATHER_GLOW_PLANE, 100, offset_const = offset) glow_overlay.color = weather_color gen_overlay_cache += glow_overlay + if(has_frills) + var/mutable_appearance/glow_frill_overlay = mutable_appearance('icons/effects/glow_weather.dmi', "[weather_state]_top", overlay_layer, null, WEATHER_FRILL_GLOW_PLANE, 100, offset_const = offset) + glow_frill_overlay.color = weather_color + glow_frill_overlay.pixel_z = 32 + gen_overlay_cache += glow_frill_overlay + + if(has_frills) + var/mutable_appearance/weather_frill_overlay = mutable_appearance('icons/effects/weather_effects.dmi', "[weather_state]_top", overlay_layer, plane = WEATHER_FRILL_PLANE, offset_const = offset) + weather_frill_overlay.color = weather_color + weather_frill_overlay.pixel_z = 32 + gen_overlay_cache += weather_frill_overlay + // draw before main overlay so we don't render above it + var/mutable_appearance/weather_frill_mask = mutable_appearance('icons/effects/alphacolors.dmi', "white", overlay_layer, plane = WEATHER_MASK_PLANE, offset_const = offset) + gen_overlay_cache += weather_frill_mask var/mutable_appearance/weather_overlay = mutable_appearance('icons/effects/weather_effects.dmi', weather_state, overlay_layer, plane = overlay_plane, offset_const = offset) weather_overlay.color = weather_color diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm index 03ed0c68c311a..a376bbc11a86c 100644 --- a/code/datums/weather/weather_types/floor_is_lava.dm +++ b/code/datums/weather/weather_types/floor_is_lava.dm @@ -20,6 +20,7 @@ overlay_layer = ABOVE_OPEN_TURF_LAYER //Covers floors only overlay_plane = FLOOR_PLANE + has_frills = FALSE immunity_type = TRAIT_LAVA_IMMUNE /// We don't draw on walls, so this ends up lookin weird /// Can't really use like, the emissive system here because I am not about to make diff --git a/code/datums/weather/weather_types/void_storm.dm b/code/datums/weather/weather_types/void_storm.dm index 4d3638c582711..90cc7d44cfbe1 100644 --- a/code/datums/weather/weather_types/void_storm.dm +++ b/code/datums/weather/weather_types/void_storm.dm @@ -34,8 +34,8 @@ /datum/weather/void_storm/weather_act(mob/living/victim) var/need_mob_update = FALSE - victim.adjustFireLoss(1, updating_health = FALSE) - victim.adjustOxyLoss(rand(1, 3), updating_health = FALSE) + need_mob_update += victim.adjustFireLoss(1, updating_health = FALSE) + need_mob_update += victim.adjustOxyLoss(rand(1, 3), updating_health = FALSE) if(need_mob_update) victim.updatehealth() victim.adjust_eye_blur(rand(0 SECONDS, 2 SECONDS)) diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm index c3c8a1c0e93e1..73bdc511ee4ba 100644 --- a/code/datums/wires/_wires.dm +++ b/code/datums/wires/_wires.dm @@ -348,7 +348,7 @@ data["proper_name"] = (proper_name != "Unknown") ? proper_name : null return data -/datum/wires/ui_act(action, params) +/datum/wires/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(. || !interactable(usr)) return diff --git a/code/datums/wires/mecha.dm b/code/datums/wires/mecha.dm index 4e11eda65f7f6..2fe8f19517403 100644 --- a/code/datums/wires/mecha.dm +++ b/code/datums/wires/mecha.dm @@ -95,12 +95,13 @@ if(mecha.Adjacent(target) && !TIMER_COOLDOWN_RUNNING(mecha, COOLDOWN_MECHA_MELEE_ATTACK) && target.mech_melee_attack(mecha)) TIMER_COOLDOWN_START(mecha, COOLDOWN_MECHA_MELEE_ATTACK, mecha.melee_cooldown) -/datum/wires/mecha/ui_act(action, params) +/datum/wires/mecha/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return + var/mob/user = ui.user var/obj/vehicle/sealed/mecha/mecha = holder - if(!HAS_SILICON_ACCESS(usr) && mecha.internal_damage & MECHA_INT_SHORT_CIRCUIT && mecha.shock(usr)) + if(!HAS_SILICON_ACCESS(user) && mecha.internal_damage & MECHA_INT_SHORT_CIRCUIT && mecha.shock(usr)) return FALSE /datum/wires/mecha/can_reveal_wires(mob/user) diff --git a/code/datums/wires/mod.dm b/code/datums/wires/mod.dm index 00d836a52eba4..8250bc45f69c9 100644 --- a/code/datums/wires/mod.dm +++ b/code/datums/wires/mod.dm @@ -50,9 +50,10 @@ if(WIRE_INTERFACE) mod.interface_break = !mend -/datum/wires/mod/ui_act(action, params) +/datum/wires/mod/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) var/obj/item/mod/control/mod = holder - if(!HAS_SILICON_ACCESS(usr) && mod.seconds_electrified && mod.shock(usr)) + var/mob/user = ui.user + if(!HAS_SILICON_ACCESS(user) && mod.seconds_electrified && mod.shock(user)) return FALSE return ..() diff --git a/code/datums/wires/vending.dm b/code/datums/wires/vending.dm index 873d092e4f622..37ed5ab5caef7 100644 --- a/code/datums/wires/vending.dm +++ b/code/datums/wires/vending.dm @@ -15,7 +15,7 @@ var/datum/language_holder/vending_languages = vending_machine.get_language_holder() if(!length(vending_languages.spoken_languages)) - CRASH("Vending machine [vending_machine] does not have any spoken languages in it's language holder.") + CRASH("Vending machine [vending_machine] does not have any spoken languages in its language holder.") // synch the current language to the language_iterator for(var/i in vending_languages.spoken_languages) diff --git a/code/datums/wounds/pierce.dm b/code/datums/wounds/pierce.dm index c6aaffe8483ab..4454b0024e441 100644 --- a/code/datums/wounds/pierce.dm +++ b/code/datums/wounds/pierce.dm @@ -55,7 +55,7 @@ victim.add_splatter_floor(get_step(victim.loc, victim.dir)) /datum/wound/pierce/bleed/get_bleed_rate_of_change() - //basically if a species doesn't bleed, the wound is stagnant and will not heal on it's own (nor get worse) + //basically if a species doesn't bleed, the wound is stagnant and will not heal on its own (nor get worse) if(!limb.can_bleed()) return BLOOD_FLOW_STEADY if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index e8f77e603be99..dd41d48620e99 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -122,7 +122,7 @@ return bleed_amt /datum/wound/slash/flesh/get_bleed_rate_of_change() - //basically if a species doesn't bleed, the wound is stagnant and will not heal on it's own (nor get worse) + //basically if a species doesn't bleed, the wound is stagnant and will not heal on its own (nor get worse) if(!limb.can_bleed()) return BLOOD_FLOW_STEADY if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) @@ -137,7 +137,7 @@ if (!victim || HAS_TRAIT(victim, TRAIT_STASIS)) return - // in case the victim has the NOBLOOD trait, the wound will simply not clot on it's own + // in case the victim has the NOBLOOD trait, the wound will simply not clot on its own if(limb.can_bleed()) set_blood_flow(min(blood_flow, WOUND_SLASH_MAX_BLOODFLOW)) diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm index ded38af6201ab..5e2219ef857e0 100644 --- a/code/game/area/areas/away_content.dm +++ b/code/game/area/areas/away_content.dm @@ -13,16 +13,6 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" sound_environment = SOUND_ENVIRONMENT_ROOM area_flags = UNIQUE_AREA -/area/awaymission/beach - name = "Beach" - icon_state = "away" - static_lighting = FALSE - base_lighting_alpha = 255 - base_lighting_color = "#FFFFCC" - requires_power = FALSE - has_gravity = STANDARD_GRAVITY - ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg','sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg') - /area/awaymission/museum name = "Nanotrasen Museum" icon_state = "awaycontent28" diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm index ff8e22b17b8fa..031a6dd5039d7 100644 --- a/code/game/area/areas/mining.dm +++ b/code/game/area/areas/mining.dm @@ -18,6 +18,10 @@ name = "Mining Station Public Storage" icon_state = "mining_storage" +/area/mine/lobby/raptor + name = "Nanotrasen Raptor Farm" + icon_state = "mining_storage" + /area/mine/production name = "Mining Station Production Wing" icon_state = "mining_production" diff --git a/code/game/area/areas/ruins/icemoon.dm b/code/game/area/areas/ruins/icemoon.dm index fd983f763a3a2..a62e29ab38123 100644 --- a/code/game/area/areas/ruins/icemoon.dm +++ b/code/game/area/areas/ruins/icemoon.dm @@ -13,11 +13,7 @@ /turf/closed/wall/bathhouse desc = "It's cool to the touch, pleasantly so." - icon = 'icons/turf/shuttleold.dmi' - icon_state = "block" - base_icon_state = "block" - smoothing_flags = NONE - canSmoothWith = null + icon = 'icons/turf/walls/bathroom_wall.dmi' rust_resistance = RUST_RESISTANCE_BASIC /area/ruin/powered/mailroom diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index f9c57510132f6..b20a9e3428614 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -86,6 +86,9 @@ /area/ruin/syndicate_lava_base/telecomms name = "\improper Syndicate Lavaland Telecommunications" +/area/ruin/syndicate_lava_base/hydroponics + name = "\improper Syndicate Lavaland Hydroponics" + //Xeno Nest /area/ruin/unpowered/xenonest diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index ceb8cac18c009..5eac7addb4ec2 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -695,7 +695,71 @@ name = "Decommissioned Garbage Truck" sound_environment = SOUND_AREA_SMALL_ENCLOSED ambience_index = AMBIENCE_MAINT + /area/ruin/space/has_grav/garbagetruck/foodwaste + /area/ruin/space/has_grav/garbagetruck/medicalwaste + /area/ruin/space/has_grav/garbagetruck/squat + /area/ruin/space/has_grav/garbagetruck/toystore + +//Donk Co trading outpost +/area/ruin/space/has_grav/hauntedtradingpost + name = "\improper Donk Co. Trading Outpost" + icon_state = "donk_public" + sound_environment = SOUND_AREA_STANDARD_STATION + +/area/ruin/space/has_grav/hauntedtradingpost/public + name = "\improper Donk Co. Trading Outpost Public Meeting Area And Cafeteria" + +/area/ruin/space/has_grav/hauntedtradingpost/public/corridor + name = "\improper Donk Co. Trading Outpost Public Docks And Corridors" + sound_environment = SOUND_AREA_LARGE_ENCLOSED + +/area/ruin/space/has_grav/hauntedtradingpost/employees + name = "\improper Donk Co. Trading Outpost Employees Lounge" + icon_state = "donk_employees" + airlock_wires = /datum/wires/airlock/engineering + sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR + +/area/ruin/space/has_grav/hauntedtradingpost/employees/workstation + name = "\improper Donk Co. Trading Outpost Engineering Station" + +/area/ruin/space/has_grav/hauntedtradingpost/employees/corridor + name = "\improper Donk Co. Trading Outpost Secure Corridor" + icon_state = "donk_command" + +/area/ruin/space/has_grav/hauntedtradingpost/employees/breakroom + name = "\improper Donk Co. Trading Outpost Break Room" + +/area/ruin/space/has_grav/hauntedtradingpost/maint + name = "\improper Donk Co. Trading Outpost Auxiliary Storage Room" + icon_state = "donk_maints" + airlock_wires = /datum/wires/airlock/maint + sound_environment = SOUND_AREA_TUNNEL_ENCLOSED + ambience_index = AMBIENCE_MAINT + +/area/ruin/space/has_grav/hauntedtradingpost/maint/toolstorage + +/area/ruin/space/has_grav/hauntedtradingpost/maint/toystorage + +/area/ruin/space/has_grav/hauntedtradingpost/maint/disposals + name = "\improper Donk Co. Trading Outpost Waste Management Station" + sound_environment = SOUND_AREA_SMALL_ENCLOSED + +/area/ruin/space/has_grav/hauntedtradingpost/office + name = "\improper Donk Co. Trading Outpost Captains Office" + icon_state = "donk_command" + airlock_wires = /datum/wires/airlock/cargo + sound_environment = SOUND_ENVIRONMENT_ROOM + +/area/ruin/space/has_grav/hauntedtradingpost/office/meetingroom + name = "\improper Donk Co. Trading Outpost Board Room" + +/area/ruin/space/has_grav/hauntedtradingpost/aicore + name = "\improper Cybersun AI Core" + icon_state = "donk_command" + airlock_wires = /datum/wires/airlock/security + sound_environment = SOUND_AREA_SMALL_ENCLOSED + ambience_index = AMBIENCE_DANGER diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index 4a398a635a73c..faab874ba5db5 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -127,6 +127,8 @@ ///AI controller that controls this atom. type on init, then turned into an instance during runtime var/datum/ai_controller/ai_controller + ///Should we ignore any attempts to auto align? Mappers should edit this + var/manual_align = FALSE /// forensics datum, contains fingerprints, fibres, blood_dna and hiddenprints on this atom var/datum/forensics/forensics @@ -141,6 +143,10 @@ /// Flags to check for in can_perform_action for mouse drag & drop checks. To bypass checks see interaction_flags_atom mouse drop flags var/interaction_flags_mouse_drop = NONE + /// if truthy, rcd spritesheets will use this as the key to this atom's cached icon + /// instead of its name. + var/rcd_spritesheet_override = "" + /** * Top level of the destroy chain for most atoms * @@ -166,6 +172,9 @@ if(atom_storage) QDEL_NULL(atom_storage) + if(wires) + QDEL_NULL(wires) + orbiters = null // The component is attached to us normaly and will be deleted elsewhere // Checking length(overlays) before cutting has significant speed benefits @@ -183,6 +192,13 @@ if(smoothing_flags & SMOOTH_QUEUED) SSicon_smooth.remove_from_queues(src) + // These lists cease existing when src does, so we need to clear any lua refs to them that exist. + if(!(datum_flags & DF_STATIC_OBJECT)) + DREAMLUAU_CLEAR_REF_USERDATA(contents) + DREAMLUAU_CLEAR_REF_USERDATA(filters) + DREAMLUAU_CLEAR_REF_USERDATA(overlays) + DREAMLUAU_CLEAR_REF_USERDATA(underlays) + return ..() /atom/proc/handle_ricochet(obj/projectile/ricocheting_projectile) @@ -221,6 +237,8 @@ return TRUE if(mover.throwing && (pass_flags_self & LETPASSTHROW)) return TRUE + if(SEND_SIGNAL(src, COMSIG_ATOM_CAN_ALLOW_THROUGH, mover, border_dir) & COMSIG_FORCE_ALLOW_THROUGH) + return TRUE return !density /** @@ -860,7 +878,6 @@ active_hud.screentip_text.maptext = "" return - active_hud.screentip_text.maptext_y = 10 // 10px lines us up with the action buttons top left corner var/lmb_rmb_line = "" var/ctrl_lmb_ctrl_rmb_line = "" var/alt_lmb_alt_rmb_line = "" @@ -930,14 +947,26 @@ if(extra_lines) extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]" - //first extra line pushes atom name line up 11px, subsequent lines push it up 9px, this offsets that and keeps the first line in the same place - active_hud.screentip_text.maptext_y = -1 + (extra_lines - 1) * -9 + var/new_maptext if (screentips_enabled == SCREENTIP_PREFERENCE_CONTEXT_ONLY && extra_context == "") - active_hud.screentip_text.maptext = "" + new_maptext = "" else //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this - active_hud.screentip_text.maptext = "[name][extra_context]" + new_maptext = "[name][extra_context]" + + if (length(name) * 10 > active_hud.screentip_text.maptext_width) + INVOKE_ASYNC(src, PROC_REF(set_hover_maptext), client, active_hud, new_maptext) + return + + active_hud.screentip_text.maptext = new_maptext + active_hud.screentip_text.maptext_y = 10 - (extra_lines > 0 ? 11 + 9 * (extra_lines - 1): 0) + +/atom/proc/set_hover_maptext(client/client, datum/hud/active_hud, new_maptext) + var/map_height + WXH_TO_HEIGHT(client.MeasureText(new_maptext, null, active_hud.screentip_text.maptext_width), map_height) + active_hud.screentip_text.maptext = new_maptext + active_hud.screentip_text.maptext_y = 26 - map_height /** * This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system. @@ -958,3 +987,66 @@ if(pass_info.pass_flags & pass_flags_self) return TRUE . = !density + +/* +Some details about how to use these lists +We're essentially trying to predict how doors/doorlike things will be placed/surounded, and use that to set their direction +It's a little finiky, and you may need to override the lists or worst case senario manually edit something's dir +But it should behave like you expect +*/ + +///What to connect with by default. Used by /atom/proc/auto_align(). This can be overriden +GLOBAL_LIST_INIT(default_connectables, typecacheof(list( + /obj/machinery/door/airlock, + /obj/machinery/door/poddoor, + /obj/machinery/smartfridge, + /obj/structure/girder/reinforced, + /obj/structure/plasticflaps, + /obj/machinery/power/shieldwallgen, + /obj/structure/door_assembly, +))) + +///What to connect with at a lower priority by default. Used for stuff that we want to consider, but only if we don't find anything else +GLOBAL_LIST_INIT(lower_priority_connectables, typecacheof(list( + /obj/machinery/door/firedoor, + /obj/machinery/door/window, + /obj/structure/table, + /obj/structure/window, + /obj/structure/girder, +))) + +/// Ok so this whole proc is about finding tiles that we could in theory be connected to, and blocking off that direction right? +/// It's not perfect, and it can make mistakes, but it does a pretty good job predicting a mapper's intentions +/// Maybe someday every door will have its dir set properly, but we'll keep this until then +/atom/proc/auto_align(connectables_typecache, lower_priority_typecache) + if(manual_align) + return + if(!connectables_typecache) + connectables_typecache = GLOB.default_connectables + if(!lower_priority_typecache) + lower_priority_typecache = GLOB.lower_priority_connectables + + var/list/dirs_usable = GLOB.cardinals.Copy() + var/list/dirs_secondary_priority = GLOB.cardinals.Copy() + for(var/dir_to_check in GLOB.cardinals) + var/turf/turf_to_check = get_step(src, dir_to_check) + if(turf_to_check.density) //Dense turfs are connectable + dirs_usable -= dir_to_check + continue + for(var/atom/movable/thing_to_check as anything in turf_to_check) + if(is_type_in_typecache(thing_to_check, connectables_typecache)) + dirs_usable -= dir_to_check //So are things in the default typecache + break + if(is_type_in_typecache(thing_to_check, lower_priority_typecache)) + dirs_secondary_priority -= dir_to_check //Assuming we find nothing else, note down the secondary priority stuff + + var/dirs_avalible = length(dirs_usable) + //Only continue if we've got ourself either a corner or a side piece. Only side pieces really work well here, since corners aren't really something we can fudge handling for + if(dirs_avalible && dirs_avalible <= 2) + setDir(dirs_usable[1]) //Just take the first dir avalible + return + dirs_usable &= dirs_secondary_priority //Only consider dirs we both share + dirs_avalible = length(dirs_usable) + if(dirs_avalible && dirs_avalible <= 2) + setDir(dirs_usable[1]) + return diff --git a/code/game/atom/atom_act.dm b/code/game/atom/atom_act.dm index acd33976e51b6..37745c2a1e17d 100644 --- a/code/game/atom/atom_act.dm +++ b/code/game/atom/atom_act.dm @@ -208,7 +208,7 @@ ///wrapper proc that passes our mob's rust_strength to the target we are rusting /mob/living/proc/do_rust_heretic_act(atom/target) - var/datum/antagonist/heretic/heretic_data = IS_HERETIC(src) + var/datum/antagonist/heretic/heretic_data = GET_HERETIC(src) target.rust_heretic_act(heretic_data?.rust_strength) /mob/living/basic/heretic_summon/rust_walker/do_rust_heretic_act(atom/target) @@ -224,7 +224,7 @@ * Default behaviour is to send [COMSIG_ATOM_RCD_ACT] and return FALSE */ /atom/proc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - SEND_SIGNAL(src, COMSIG_ATOM_RCD_ACT, user, the_rcd, rcd_data["[RCD_DESIGN_MODE]"]) + SEND_SIGNAL(src, COMSIG_ATOM_RCD_ACT, user, the_rcd, rcd_data[RCD_DESIGN_MODE]) return FALSE ///Return the values you get when an RCD eats you? diff --git a/code/game/atom/atom_examine.dm b/code/game/atom/atom_examine.dm index ad1d832227780..ab94c73856365 100644 --- a/code/game/atom/atom_examine.dm +++ b/code/game/atom/atom_examine.dm @@ -5,7 +5,7 @@ /** * Called when a mob examines (shift click or verb) this atom * - * Default behaviour is to get the name and icon of the object and it's reagents where + * Default behaviour is to get the name and icon of the object and its reagents where * the [TRANSPARENT] flag is set on the reagents holder * * Produces a signal [COMSIG_ATOM_EXAMINE] @@ -105,5 +105,6 @@ return name_chaser /// Used by mobs to determine the name for someone wearing a mask, or with a disfigured or missing face. By default just returns the atom's name. add_id_name will control whether or not we append "(as [id_name])". -/atom/proc/get_visible_name(add_id_name) +/// force_real_name will always return real_name and add (as face_name/id_name) if it doesn't match their appearance +/atom/proc/get_visible_name(add_id_name, force_real_name) return name diff --git a/code/game/atom/atoms_initializing_EXPENSIVE.dm b/code/game/atom/atoms_initializing_EXPENSIVE.dm index c603ae5514810..cdbefc0908bc1 100644 --- a/code/game/atom/atoms_initializing_EXPENSIVE.dm +++ b/code/game/atom/atoms_initializing_EXPENSIVE.dm @@ -30,7 +30,7 @@ if(arguments[1]) //mapload late_loaders += A else - A.LateInitialize() + A.LateInitialize(/* mapload = */ FALSE) if(INITIALIZE_HINT_QDEL) qdel(A) qdeleted = TRUE @@ -159,8 +159,11 @@ * useful for doing things like finding other machines on GLOB.machines because you can guarantee * that all atoms will actually exist in the "WORLD" at this time and that all their Intialization * code has been run + * + * mapload: This parameter behaves the same as what you may have seen in [/atom/proc/Initialize] + * It's true if the object is loading in from a map file, and false otherwise */ -/atom/proc/LateInitialize() +/atom/proc/LateInitialize(mapload) set waitfor = FALSE SHOULD_CALL_PARENT(FALSE) stack_trace("[src] ([type]) called LateInitialize but has nothing on it!") diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 8135a3af59346..e85bf1db6e1ab 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -66,7 +66,7 @@ /** * In case you have multiple types, you automatically use the most useful one. * IE: Skating on ice, flippers on water, flying over chasm/space, etc. - * I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs. + * I recommend you use the movetype_handler system and not modify this directly, especially for living mobs. */ var/movement_type = GROUND @@ -130,7 +130,7 @@ /mutable_appearance/emissive_blocker/New() . = ..() - // Need to do this here because it's overriden by the parent call + // Need to do this here because it's overridden by the parent call color = EM_BLOCK_COLOR appearance_flags = EMISSIVE_APPEARANCE_FLAGS @@ -142,7 +142,7 @@ #endif #if EMISSIVE_BLOCK_GENERIC != 0 - #error EMISSIVE_BLOCK_GENERIC is expected to be 0 to faciliate a weird optimization hack where we rely on it being the most common. + #error EMISSIVE_BLOCK_GENERIC is expected to be 0 to facilitate a weird optimization hack where we rely on it being the most common. #error Read the comment in code/game/atoms_movable.dm for details. #endif @@ -231,6 +231,10 @@ LAZYNULL(client_mobs_in_contents) + // These lists cease existing when src does, so we need to clear any lua refs to them that exist. + DREAMLUAU_CLEAR_REF_USERDATA(vis_contents) + DREAMLUAU_CLEAR_REF_USERDATA(vis_locs) + . = ..() for(var/movable_content in contents) @@ -261,8 +265,10 @@ if (blocks_emissive == EMISSIVE_BLOCK_UNIQUE) if(em_block) SET_PLANE(em_block, EMISSIVE_PLANE, src) + em_block.render_source = render_target else if(!QDELETED(src)) - render_target = ref(src) + if(!render_target) + render_target = ref(src) em_block = new(null, src) return em_block // Implied else if (blocks_emissive == EMISSIVE_BLOCK_NONE) -> return @@ -628,7 +634,7 @@ if(!newloc || newloc == loc) return - // A mid-movement... movement... occured, resolve that first. + // A mid-movement... movement... occurred, resolve that first. RESOLVE_ACTIVE_MOVEMENT if(!direction) @@ -795,7 +801,7 @@ if (pulledby) if (pulledby.currently_z_moving) check_pulling(z_allowed = TRUE) - //dont call check_pulling() here at all if there is a pulledby that is not currently z moving + //don't call check_pulling() here at all if there is a pulledby that is not currently z moving //because it breaks stair conga lines, for some fucking reason. //it's fine because the pull will be checked when this whole proc is called by the mob doing the pulling anyways else @@ -879,9 +885,10 @@ // Make sure you know what you're doing if you call this // You probably want CanPass() /atom/movable/Cross(atom/movable/crossed_atom) - . = TRUE - SEND_SIGNAL(src, COMSIG_MOVABLE_CROSS, crossed_atom) - SEND_SIGNAL(crossed_atom, COMSIG_MOVABLE_CROSS_OVER, src) + if(SEND_SIGNAL(src, COMSIG_MOVABLE_CROSS, crossed_atom) & COMPONENT_BLOCK_CROSS) + return FALSE + if(SEND_SIGNAL(crossed_atom, COMSIG_MOVABLE_CROSS_OVER, src) & COMPONENT_BLOCK_CROSS) + return FALSE return CanPass(crossed_atom, get_dir(src, crossed_atom)) ///default byond proc that is deprecated for us in lieu of signals. do not call @@ -926,7 +933,8 @@ /atom/movable/Bump(atom/bumped_atom) if(!bumped_atom) CRASH("Bump was called with no argument.") - SEND_SIGNAL(src, COMSIG_MOVABLE_BUMP, bumped_atom) + if(SEND_SIGNAL(src, COMSIG_MOVABLE_BUMP, bumped_atom) & COMPONENT_INTERCEPT_BUMPED) + return . = ..() if(!QDELETED(throwing)) throwing.finalize(hit = TRUE, target = bumped_atom) @@ -1080,7 +1088,7 @@ for(var/atom/movable/location as anything in get_nested_locs(src) + src) LAZYREMOVEASSOC(location.important_recursive_contents, RECURSIVE_CONTENTS_ACTIVE_STORAGE, src) -///Sets the anchored var and returns if it was sucessfully changed or not. +///Sets the anchored var and returns if it was successfully changed or not. /atom/movable/proc/set_anchored(anchorvalue) SHOULD_CALL_PARENT(TRUE) if(anchored == anchorvalue) @@ -1420,7 +1428,15 @@ /atom/movable/proc/CanPassThrough(atom/blocker, movement_dir, blocker_opinion) SHOULD_CALL_PARENT(TRUE) SHOULD_BE_PURE(TRUE) - return blocker_opinion + + var/blocking_signal = SEND_SIGNAL(src, COMSIG_MOVABLE_CAN_PASS_THROUGH, blocker, movement_dir) + if(!blocking_signal) + return blocker_opinion + + if(blocking_signal & COMSIG_COMPONENT_PERMIT_PASSAGE) + return TRUE + else //we have a COMSIG_COMPONENT_REFUSE_PASSAGE but like its either this or that, unlike someone wanna adds half-passing through but fuck you + return FALSE /// called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. /atom/movable/proc/on_exit_storage(datum/storage/master_storage) @@ -1713,3 +1729,17 @@ if(!("[REF(target)]" in faction_src)) faction_target -= "[REF(target)]" //same thing here. return faction_check(faction_src, faction_target, TRUE) + +/// Offsets this movable based on dir (in context of wallmounts) +/// Yes yes mothblocks I know this is not modular but I don't want to make the element bespoke +/// Insert ranting about element key generation here +/// This proc is filled in by the directional macros, should not need to manually touch it unless something is wrong +/atom/movable/proc/wall_mount_offset(direction) + return + +/// Returns true if we should layer in common with the general game +/// If false, render over the frill plane insted +/atom/movable/proc/wall_mount_common_plane(direction) + if(direction == SOUTH) + return TRUE + return FALSE diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index a4d59d668ae11..e39ce9bd92d37 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -53,18 +53,14 @@ hud_icons = list(FAN_HUD) /datum/atom_hud/data/diagnostic - -/datum/atom_hud/data/diagnostic/basic hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD, DIAG_CAMERA_HUD, DIAG_AIRLOCK_HUD, DIAG_LAUNCHPAD_HUD) -/datum/atom_hud/data/diagnostic/advanced - hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD, DIAG_CAMERA_HUD, DIAG_AIRLOCK_HUD, DIAG_LAUNCHPAD_HUD, DIAG_PATH_HUD) - /datum/atom_hud/data/bot_path - // This hud exists so the bot can see itself, that's all - uses_global_hud_category = FALSE hud_icons = list(DIAG_PATH_HUD) +/datum/atom_hud/data/bot_path/private + uses_global_hud_category = FALSE + /datum/atom_hud/abductor hud_icons = list(GLAND_HUD) @@ -282,7 +278,7 @@ Security HUDs! Basic mode shows only the job. /mob/living/proc/sec_hud_set_implants() var/image/holder - for(var/i in list(IMPSEC_FIRST_HUD, IMPLOYAL_HUD, IMPSEC_SECOND_HUD)) + for(var/i in (list(IMPSEC_FIRST_HUD, IMPLOYAL_HUD, IMPSEC_SECOND_HUD) & hud_list)) holder = hud_list[i] holder.icon_state = null set_hud_image_inactive(i) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 8894403586836..bce9ed3bb9375 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -210,7 +210,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list if(LAZYLEN(our_mind.failed_special_equipment)) podspawn(list( "target" = get_turf(owner), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = our_mind.failed_special_equipment, )) our_mind.failed_special_equipment = null diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 679a3182a57cd..bacd3d749ea97 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -1,5 +1,6 @@ /// Basic machine used to paint PDAs and re-trim ID cards. /obj/machinery/pdapainter + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "\improper Tablet & ID Painter" desc = "A painting machine that can be used to paint PDAs and trim IDs. To use, simply insert the item and choose the desired preset." icon = 'icons/obj/machines/pda.dmi' @@ -279,7 +280,7 @@ return data -/obj/machinery/pdapainter/ui_act(action, params) +/obj/machinery/pdapainter/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 40d9ef556dc56..81610797bd34f 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -183,9 +183,9 @@ return INITIALIZE_HINT_LATELOAD -/obj/machinery/LateInitialize() +/obj/machinery/LateInitialize(mapload) SHOULD_NOT_OVERRIDE(TRUE) - post_machine_initialize() + post_machine_initialize(/* mapload = */ mapload) /obj/machinery/Destroy(force) SSmachines.unregister_machine(src) @@ -202,7 +202,7 @@ * ensuring power works on all machines unless exempted with NO_POWER_USE. * This is the proc to override if you want to do anything in LateInitialize. */ -/obj/machinery/proc/post_machine_initialize() +/obj/machinery/proc/post_machine_initialize(mapload) SHOULD_CALL_PARENT(TRUE) power_change() if(use_power == NO_POWER_USE) @@ -284,10 +284,21 @@ /obj/machinery/proc/locate_machinery() return +///Early process for machines added to SSmachines.processing_early to prioritize power draw +/obj/machinery/proc/process_early() + set waitfor = FALSE + return PROCESS_KILL + /obj/machinery/process()//If you dont use process or power why are you here return PROCESS_KILL +///Late process for machines added to SSmachines.processing_late to gather accurate recordings +/obj/machinery/proc/process_late() + set waitfor = FALSE + return PROCESS_KILL + /obj/machinery/proc/process_atmos()//If you dont use process why are you here + set waitfor = FALSE return PROCESS_KILL ///Called when we want to change the value of the machine_stat variable. Holds bitflags. @@ -405,6 +416,10 @@ /obj/machinery/proc/close_machine(atom/movable/target, density_to_set = TRUE) state_open = FALSE set_density(density_to_set) + if (!density) + update_appearance() + return + if(!target) for(var/atom in loc) if (!(can_be_occupant(atom))) @@ -671,10 +686,11 @@ return ..() /obj/machinery/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - add_fingerprint(usr) - update_last_used(usr) - if(HAS_AI_ACCESS(usr) && !GLOB.cameranet.checkTurfVis(get_turf(src))) //We check if they're an AI specifically here, so borgs can still access off-camera stuff. - to_chat(usr, span_warning("You can no longer connect to this device!")) + var/mob/user = ui.user + add_fingerprint(user) + update_last_used(user) + if(isAI(user) && !GLOB.cameranet.checkTurfVis(get_turf(src))) //We check if they're an AI specifically here, so borgs/adminghosts/human wand can still access off-camera stuff. + to_chat(user, span_warning("You can no longer connect to this device!")) return FALSE return ..() diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index f4d1b29da186f..8108a9cd0e5cd 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -32,7 +32,7 @@ return ..() /obj/machinery/airlock_sensor - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/airlock_machines.dmi' icon_state = "airlock_sensor_off" base_icon_state = "airlock_sensor" name = "airlock sensor" @@ -45,6 +45,10 @@ var/on = TRUE var/alert = FALSE +/obj/machinery/airlock_sensor/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + /obj/machinery/airlock_sensor/incinerator_ordmix id_tag = INCINERATOR_ORDMIX_AIRLOCK_SENSOR master_tag = INCINERATOR_ORDMIX_AIRLOCK_CONTROLLER @@ -57,6 +61,8 @@ id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/airlock_sensor/incinerator_syndicatelava) + /obj/machinery/airlock_sensor/update_icon_state() if(!on) icon_state = "[base_icon_state]_off" diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index d1025b52b321f..d83a222c10844 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -1,4 +1,5 @@ /obj/machinery/autolathe + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "autolathe" desc = "It produces items using iron, glass, plastic and maybe some more." icon = 'icons/obj/machines/lathes.dmi' @@ -53,7 +54,6 @@ /obj/machinery/autolathe/Destroy() QDEL_NULL(print_sound) materials = null - QDEL_NULL(wires) return ..() /obj/machinery/autolathe/examine(mob/user) @@ -101,7 +101,7 @@ /obj/machinery/autolathe/proc/AfterMaterialInsert(container, obj/item/item_inserted, last_inserted_id, mats_consumed, amount_inserted, atom/context) SIGNAL_HANDLER - //we use initial(active_power_usage) because higher tier parts will have higher active usage but we have no benifit from it + //we use initial(active_power_usage) because higher tier parts will have higher active usage but we have no benefit from it if(directly_use_energy(ROUND_UP((amount_inserted / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * 0.4 * initial(active_power_usage)))) flick_overlay_view(mutable_appearance('icons/obj/machines/lathes.dmi', "autolathe_mat"), 1 SECONDS) diff --git a/code/game/machinery/barsigns.dm b/code/game/machinery/barsigns.dm index e59de18ffcb18..1e2ed3fcf6326 100644 --- a/code/game/machinery/barsigns.dm +++ b/code/game/machinery/barsigns.dm @@ -30,7 +30,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32) //Roundstart/map specific barsigns "belong" in their area and should be renaming it, signs created from wallmounts will not. change_area_name = mapload set_sign(new /datum/barsign/hiddensigns/signoff) - find_and_hang_on_wall() + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) /obj/machinery/barsign/proc/set_sign(datum/barsign/sign) if(!istype(sign)) @@ -43,6 +43,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32) chosen_sign = sign update_appearance() +/obj/machinery/barsign/wall_mount_common_plane(direction) + return TRUE + /obj/machinery/barsign/update_icon_state() if(!(machine_stat & BROKEN) && (!(machine_stat & NOPOWER) || machine_stat & EMPED) && chosen_sign && chosen_sign.icon_state) icon_state = chosen_sign.icon_state @@ -425,7 +428,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign, 32) /datum/barsign/maltroach name = "Maltroach" icon_state = "maltroach" - desc = "Mothroaches politely greet you into the bar, or are they greeting eachother?" + desc = "Mothroaches politely greet you into the bar, or are they greeting each other?" neon_color = "#649e8a" /datum/barsign/rock_bottom @@ -540,7 +543,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/barsign/all_access, 32) custom_materials = list( /datum/material/iron = SHEET_MATERIAL_AMOUNT, ) - pixel_shift = 32 /obj/item/wallframe/barsign/Initialize(mapload) . = ..() diff --git a/code/game/machinery/big_manipulator.dm b/code/game/machinery/big_manipulator.dm new file mode 100644 index 0000000000000..d81c9d222a6c8 --- /dev/null +++ b/code/game/machinery/big_manipulator.dm @@ -0,0 +1,282 @@ +/// Manipulator Core. Main part of the mechanism that carries out the entire process. +/obj/machinery/big_manipulator + name = "Big Manipulator" + desc = "Take and drop objects. Innovation..." + icon = 'icons/obj/machines/big_manipulator_parts/big_manipulator_core.dmi' + icon_state = "core" + density = TRUE + circuit = /obj/item/circuitboard/machine/big_manipulator + greyscale_colors = "#d8ce13" + greyscale_config = /datum/greyscale_config/big_manipulator + /// How many time manipulator need to take and drop item. + var/working_speed = 2 SECONDS + /// Using high tier manipulators speeds up big manipulator and requires more energy. + var/power_use_lvl = 0.2 + /// When manipulator already working with item inside he don't take any new items. + var/on_work = FALSE + /// Activate mechanism. + var/on = FALSE + /// Dir to get turf where we take items. + var/take_here = NORTH + /// Dir to get turf where we drop items. + var/drop_here = SOUTH + /// Turf where we take items. + var/turf/take_turf + /// Turf where we drop items. + var/turf/drop_turf + /// Obj inside manipulator. + var/datum/weakref/containment_obj + /// Other manipulator component. + var/obj/effect/manipulator_hand + +/obj/machinery/big_manipulator/Initialize(mapload) + . = ..() + take_and_drop_turfs_check() + create_manipulator_hand() + RegisterSignal(manipulator_hand, COMSIG_QDELETING, PROC_REF(on_hand_qdel)) + manipulator_lvl() + if(on) + press_on(pressed_by = null) + +/obj/machinery/big_manipulator/examine(mob/user) + . = ..() + . += "You can change direction with alternative wrench usage." + +/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)) + +/obj/machinery/big_manipulator/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + take_and_drop_turfs_check() + if(isnull(get_turf(src))) + qdel(manipulator_hand) + return + if(!manipulator_hand) + create_manipulator_hand() + manipulator_hand.forceMove(get_turf(src)) + +/obj/machinery/big_manipulator/wrench_act(mob/living/user, obj/item/tool) + . = ..() + default_unfasten_wrench(user, tool, time = 1 SECONDS) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/big_manipulator/wrench_act_secondary(mob/living/user, obj/item/tool) + . = ..() + if(on_work || on) + to_chat(user, span_warning("[src] is activated!")) + return ITEM_INTERACT_BLOCKING + rotate_big_hand() + playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/big_manipulator/can_be_unfasten_wrench(mob/user, silent) + if(on_work || on) + to_chat(user, span_warning("[src] is activated!")) + return FAILED_UNFASTEN + return ..() + +/obj/machinery/big_manipulator/default_unfasten_wrench(mob/user, obj/item/wrench, time) + . = ..() + if(. == SUCCESSFUL_UNFASTEN) + take_and_drop_turfs_check() + +/obj/machinery/big_manipulator/screwdriver_act(mob/living/user, obj/item/tool) + if(default_deconstruction_screwdriver(user, icon_state, icon_state, tool)) + return ITEM_INTERACT_SUCCESS + return ITEM_INTERACT_BLOCKING + +/obj/machinery/big_manipulator/crowbar_act(mob/living/user, obj/item/tool) + . = ..() + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS + return ITEM_INTERACT_BLOCKING + +/obj/machinery/big_manipulator/RefreshParts() + . = ..() + + manipulator_lvl() + +/// Creat manipulator hand effect on manipulator core. +/obj/machinery/big_manipulator/proc/create_manipulator_hand() + manipulator_hand = new/obj/effect/big_manipulator_hand(get_turf(src)) + manipulator_hand.dir = take_here + +/// Check servo tier and change manipulator speed, power_use and colour. +/obj/machinery/big_manipulator/proc/manipulator_lvl() + var/datum/stock_part/servo/locate_servo = locate() in component_parts + if(!locate_servo) + return + switch(locate_servo.tier) + if(-INFINITY to 1) + working_speed = 2 SECONDS + power_use_lvl = 0.2 + set_greyscale(COLOR_YELLOW) + manipulator_hand?.set_greyscale(COLOR_YELLOW) + if(2) + working_speed = 1.4 SECONDS + power_use_lvl = 0.4 + set_greyscale(COLOR_ORANGE) + manipulator_hand?.set_greyscale(COLOR_ORANGE) + if(3) + working_speed = 0.8 SECONDS + power_use_lvl = 0.6 + set_greyscale(COLOR_RED) + manipulator_hand?.set_greyscale(COLOR_RED) + if(4 to INFINITY) + working_speed = 0.2 SECONDS + power_use_lvl = 0.8 + set_greyscale(COLOR_PURPLE) + manipulator_hand?.set_greyscale(COLOR_PURPLE) + + active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * power_use_lvl + +/// Changing take and drop turf tiles when we anchore manipulator or if manipulator not in turf. +/obj/machinery/big_manipulator/proc/take_and_drop_turfs_check() + if(anchored && isturf(src.loc)) + take_turf = get_step(src, take_here) + drop_turf = get_step(src, drop_here) + else + take_turf = null + drop_turf = null + +/// Changing take and drop turf dirs and also changing manipulator hand sprite dir. +/obj/machinery/big_manipulator/proc/rotate_big_hand() + switch(take_here) + if(NORTH) + take_here = EAST + drop_here = WEST + if(EAST) + take_here = SOUTH + drop_here = NORTH + if(SOUTH) + take_here = WEST + drop_here = EAST + if(WEST) + take_here = NORTH + drop_here = SOUTH + manipulator_hand.dir = take_here + take_and_drop_turfs_check() + +/// Deliting hand will destroy our manipulator core. +/obj/machinery/big_manipulator/proc/on_hand_qdel() + SIGNAL_HANDLER + + deconstruct(TRUE) + +/// Pre take and drop proc from [take and drop procs loop]: +/// Check if we can start take and drop loop +/obj/machinery/big_manipulator/proc/is_work_check() + if(isclosedturf(drop_turf)) + on = !on + say("Output blocked") + return FALSE + for(var/obj/item/take_item in take_turf.contents) + try_take_thing(take_turf, take_item) + break + + return TRUE + +/// First take and drop proc from [take and drop procs loop]: +/// Check if we can take item from take_turf to work with him. This proc also calling from ATOM_ENTERED signal. +/obj/machinery/big_manipulator/proc/try_take_thing(datum/source, atom/movable/target) + SIGNAL_HANDLER + + if(!on) + return + if(!anchored) + return + if(QDELETED(source) || QDELETED(target)) + return + if(!isturf(target.loc)) + return + if(on_work) + return + if(!use_energy(active_power_usage, force = FALSE)) + on = FALSE + say("Not enough energy!") + return + if(isitem(target)) + 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) + 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. +/obj/machinery/big_manipulator/proc/drop_thing(atom/movable/target) + target.forceMove(drop_turf) + do_rotate_animation(0) + addtimer(CALLBACK(src, PROC_REF(end_work)), working_speed) + +/// Fourth and last take and drop proc from [take and drop procs loop]: +/// Finishes work and begins to look for a new item for [take and drop procs loop]. +/obj/machinery/big_manipulator/proc/end_work() + on_work = FALSE + is_work_check() + +/// Rotates manipulator hand 90 degrees. +/obj/machinery/big_manipulator/proc/do_rotate_animation(backward) + animate(manipulator_hand, transform = matrix(90, MATRIX_ROTATE), working_speed*0.5) + addtimer(CALLBACK(src, PROC_REF(finish_rotate_animation), backward), working_speed*0.5) + +/// Rotates manipulator hand from 90 degrees to 180 or 0 if backward. +/obj/machinery/big_manipulator/proc/finish_rotate_animation(backward) + animate(manipulator_hand, transform = matrix(180 * backward, MATRIX_ROTATE), working_speed*0.5) + +/// Proc call when we press on/off button +/obj/machinery/big_manipulator/proc/press_on(pressed_by) + if(pressed_by) + on = !on + if(!is_work_check()) + return + if(on) + RegisterSignal(take_turf, COMSIG_ATOM_ENTERED, PROC_REF(try_take_thing)) + else + UnregisterSignal(take_turf, COMSIG_ATOM_ENTERED) + +/obj/machinery/big_manipulator/ui_interact(mob/user, datum/tgui/ui) + if(!anchored) + to_chat(user, span_warning("[src] isn't attached to the ground!")) + ui?.close() + return + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "BigManipulator") + ui.open() + +/obj/machinery/big_manipulator/ui_data(mob/user) + var/list/data = list() + data["active"] = on + return data + +/obj/machinery/big_manipulator/ui_act(action, params, datum/tgui/ui) + . = ..() + if(.) + return + switch(action) + if("on") + press_on(pressed_by = TRUE) + return TRUE + +/// Manipulator hand. Effect we animate to show that the manipulator is working and moving something. +/obj/effect/big_manipulator_hand + name = "Manipulator claw" + desc = "Take and drop objects. Innovation..." + icon = 'icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi' + icon_state = "hand" + layer = LOW_ITEM_LAYER + anchored = TRUE + greyscale_config = /datum/greyscale_config/manipulator_hand + pixel_x = -32 + pixel_y = -32 diff --git a/code/game/machinery/botlaunchpad.dm b/code/game/machinery/botlaunchpad.dm index fecca2a25489f..e044bb1e29688 100644 --- a/code/game/machinery/botlaunchpad.dm +++ b/code/game/machinery/botlaunchpad.dm @@ -49,7 +49,7 @@ podspawn(list( "target" = get_turf(src), "path" = /obj/structure/closet/supplypod/botpod, - "style" = STYLE_SEETHROUGH, + "style" = /datum/pod_style/seethrough, "reverse_dropoff_coords" = list(reverse_turf.x, reverse_turf.y, reverse_turf.z) )) @@ -67,7 +67,7 @@ simple_bot.call_bot(src, get_turf(src)) /obj/structure/closet/supplypod/botpod - style = STYLE_SEETHROUGH + style = /datum/pod_style/seethrough explosionSize = list(0,0,0,0) reversing = TRUE reverse_option_list = list("Mobs"=TRUE,"Objects"=FALSE,"Anchored"=FALSE,"Underfloor"=FALSE,"Wallmounted"=FALSE,"Floors"=FALSE,"Walls"=FALSE,"Mecha"=FALSE) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 7b66872f52bb1..5b90989d2494a 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -1,10 +1,18 @@ /obj/machinery/button name = "button" desc = "A remote control switch." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/button.dmi' base_icon_state = "button" icon_state = "button" power_channel = AREA_USAGE_ENVIRON + /// How long to animate our success for + var/success_delay = 1 SECONDS + /// How long to animate failure to activate for + var/deny_delay = 3 SECONDS + /// Mutable appearance that holds our current emissive state + var/mutable_appearance/glow + /// Timer id of the current animation that's running, if any exists + var/animation_timer light_power = 0.5 // Minimums, we want the button to glow if it has a mask, not light an area light_range = 1.5 light_color = LIGHT_COLOR_VIVID_GREEN @@ -23,10 +31,16 @@ var/id = null var/initialized_button = FALSE var/silicon_access_disabled = FALSE + // Is this button meant to draw on a table + var/on_table = FALSE + +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button) /obj/machinery/button/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/indestructible) + /datum/armor/machinery_button melee = 50 bullet = 50 @@ -61,7 +75,10 @@ board.accesses = req_one_access setup_device() - find_and_hang_on_wall() + update_glow() + if(!on_table) + find_and_hang_on_wall() + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 24, pixel_y_offset_arrow = 0, size_upscaling = 2) register_context() /obj/machinery/button/Destroy() @@ -86,7 +103,10 @@ */ /obj/machinery/button/update_icon_state() - icon_state = "[base_icon_state][skin]" + if(!(panel_open && machine_stat & (NOPOWER|BROKEN))) + return ..() + halt_animation() + icon_state = "[base_icon_state]" if(panel_open) icon_state += "-open" else if(machine_stat & (NOPOWER|BROKEN)) @@ -105,15 +125,36 @@ . = ..() if(panel_open && board) - . += "[base_icon_state]-overlay-board" + . += "[base_icon_state]-board" if(panel_open && device) if(istype(device, /obj/item/assembly/signaler)) - . += "[base_icon_state]-overlay-signaler" + . += "[base_icon_state]-signaler" else - . += "[base_icon_state]-overlay-device" + . += "[base_icon_state]-device" if(!(machine_stat & (NOPOWER|BROKEN)) && !panel_open) - . += emissive_appearance(icon, "[base_icon_state]-light-mask", src, alpha = src.alpha) + . += glow + +/obj/machinery/button/proc/update_glow() + make_glow() + update_appearance() + +/obj/machinery/button/proc/make_glow() + // Icon state so this works for success/failure cases. The sprites finish forever on the base sprite so it's... fine this way + glow = emissive_appearance(icon, "[icon_state]-mask", src, alpha = src.alpha) + +/obj/machinery/button/proc/start_animation(delay) + halt_animation() + animation_timer = addtimer(CALLBACK(src, PROC_REF(halt_animation)), delay, TIMER_CLIENT_TIME|TIMER_STOPPABLE|TIMER_UNIQUE) + +/obj/machinery/button/proc/halt_animation() + if(!animation_timer) + return + deltimer(animation_timer) + animation_timer = null + icon_state = base_icon_state + update_glow() + update_appearance() /obj/machinery/button/on_set_panel_open(old_value) if(panel_open) // Only allow renaming while the panel is open @@ -169,12 +210,14 @@ /obj/machinery/button/screwdriver_act(mob/living/user, obj/item/tool) if(panel_open || allowed(user)) - default_deconstruction_screwdriver(user, "[base_icon_state][skin]-open", "[base_icon_state][skin]", tool) + default_deconstruction_screwdriver(user, "[base_icon_state]-open", base_icon_state, tool) update_appearance() return ITEM_INTERACT_SUCCESS balloon_alert(user, "access denied") - flick_overlay_view("[base_icon_state]-overlay-error", 1 SECONDS) + icon_state = "[base_icon_state]-denied" + update_glow() + start_animation(deny_delay) return ITEM_INTERACT_BLOCKING /obj/machinery/button/wrench_act(mob/living/user, obj/item/tool) @@ -295,11 +338,13 @@ if(!allowed(user)) balloon_alert(user, "access denied") - flick_overlay_view("[base_icon_state]-overlay-error", 1 SECONDS) + icon_state = "[base_icon_state]-denied" + update_glow() + start_animation(deny_delay) return FALSE use_energy(5 JOULES) - flick_overlay_view("[base_icon_state]-overlay-success", 1 SECONDS) + start_animation(success_delay) if(device) device.pulsed(user) @@ -388,11 +433,13 @@ var/specialfunctions = OPEN // Bitflag, see assembly file var/sync_doors = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/door, 24) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door) /obj/machinery/button/door/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/indestructible) + /obj/machinery/button/door/setup_device() if(!device) if(normaldoorcontrol) @@ -410,84 +457,118 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/door, 24) id = INCINERATOR_ORDMIX_VENT req_access = list(ACCESS_ORDNANCE) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/incinerator_vent_ordmix) + /obj/machinery/button/door/incinerator_vent_atmos_main name = "turbine vent control" id = INCINERATOR_ATMOS_MAINVENT req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/incinerator_vent_atmos_main) + /obj/machinery/button/door/incinerator_vent_atmos_aux name = "combustion chamber vent control" id = INCINERATOR_ATMOS_AUXVENT req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/incinerator_vent_atmos_aux) + /obj/machinery/button/door/atmos_test_room_mainvent_1 name = "test chamber 1 vent control" id = TEST_ROOM_ATMOS_MAINVENT_1 req_one_access = list(ACCESS_ATMOSPHERICS) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/atmos_test_room_mainvent_1) + /obj/machinery/button/door/atmos_test_room_mainvent_2 name = "test chamber 2 vent control" id = TEST_ROOM_ATMOS_MAINVENT_2 req_one_access = list(ACCESS_ATMOSPHERICS) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/atmos_test_room_mainvent_2) + /obj/machinery/button/door/incinerator_vent_syndicatelava_main name = "turbine vent control" id = INCINERATOR_SYNDICATELAVA_MAINVENT req_access = list(ACCESS_SYNDICATE) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/incinerator_vent_syndicatelava_main) + /obj/machinery/button/door/incinerator_vent_syndicatelava_aux name = "combustion chamber vent control" id = INCINERATOR_SYNDICATELAVA_AUXVENT req_access = list(ACCESS_SYNDICATE) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/door/incinerator_vent_syndicatelava_aux) + /obj/machinery/button/massdriver name = "mass driver button" desc = "A remote control switch for a mass driver." - icon_state= "button-warning" - skin = "-warning" + icon_state = "launcher" + base_icon_state = "launcher" device_type = /obj/item/assembly/control/massdriver +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/massdriver) + /obj/machinery/button/massdriver/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/massdriver/indestructible) + /obj/machinery/button/ignition name = "ignition switch" desc = "A remote control switch for a mounted igniter." - icon_state= "button-warning" - skin = "-warning" + icon_state = "launcher" + base_icon_state = "launcher" device_type = /obj/item/assembly/control/igniter +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ignition) + /obj/machinery/button/ignition/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ignition/indestructible) + /obj/machinery/button/ignition/incinerator name = "combustion chamber ignition switch" desc = "A remote control switch for the combustion chamber's igniter." +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ignition/incinerator) + /obj/machinery/button/ignition/incinerator/ordmix id = INCINERATOR_ORDMIX_IGNITER +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ignition/incinerator/ordmix) + /obj/machinery/button/ignition/incinerator/atmos id = INCINERATOR_ATMOS_IGNITER +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ignition/incinerator/atmos) + /obj/machinery/button/ignition/incinerator/syndicatelava id = INCINERATOR_SYNDICATELAVA_IGNITER +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ignition/incinerator/syndicatelava) + /obj/machinery/button/flasher name = "flasher button" desc = "A remote control switch for a mounted flasher." - icon_state= "button-warning" - skin = "-warning" + icon_state = "launcher" + base_icon_state = "launcher" device_type = /obj/item/assembly/control/flasher +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/flasher) + /obj/machinery/button/flasher/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/flasher/indestructible) + /obj/machinery/button/curtain name = "curtain button" desc = "A remote control switch for a mechanical curtain." - icon_state= "button-warning" - skin = "-warning" + icon_state = "launcher" + base_icon_state = "launcher" device_type = /obj/item/assembly/control/curtain var/sync_doors = TRUE @@ -496,22 +577,28 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/door, 24) curtain.sync_doors = sync_doors return ..() +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/curtain) + /obj/machinery/button/crematorium name = "crematorium igniter" desc = "Burn baby burn!" - icon_state= "button-warning" - skin = "-warning" + icon_state = "launcher" + base_icon_state = "launcher" device_type = /obj/item/assembly/control/crematorium req_access = list() id = 1 +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/crematorium) + /obj/machinery/button/crematorium/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/crematorium/indestructible) + /obj/item/wallframe/button name = "button frame" desc = "Used for building buttons." + icon = 'icons/obj/machines/button.dmi' icon_state = "button" result_path = /obj/machinery/button custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT) - pixel_shift = 24 diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6f21e9303fc5a..bbac50a5c2318 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -29,6 +29,8 @@ max_integrity = 100 integrity_failure = 0.5 + /// Does this camera try to attach to the wall? + var/should_wallmount = TRUE ///An analyzer in the camera being used for x-ray upgrade. var/obj/item/analyzer/xray_module ///used to keep from revealing malf AI upgrades for user facing isXRay() checks when they use Upgrade Camera Network ability @@ -88,12 +90,12 @@ var/area/station/ai_monitored/area_motion = null var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm() -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/autoname, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/autoname/motion, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/emp_proof, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/motion, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) +CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera) +CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera/autoname) +CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera/autoname/motion) +CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera/emp_proof) +CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera/motion) +CAMERA_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray) /datum/armor/machinery_camera melee = 50 @@ -130,8 +132,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) #endif alarm_manager = new(src) - find_and_hang_on_wall(directional = TRUE, \ - custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), FALSE)) + if(should_wallmount) + find_and_hang_on_wall(directional = TRUE, custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), FALSE), wall_layer = HIGH_ON_WALL_LAYER) RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) @@ -338,6 +340,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) icon_state = "[xray_module][base_icon_state][in_use_lights ? "_in_use" : ""]" return ..() +/obj/machinery/camera/wall_mount_common_plane(direction) + if(direction == SOUTH || direction == NORTHEAST) + return TRUE + return FALSE + /obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = TRUE) camera_enabled = !camera_enabled if(can_use()) diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index ba5e793d68cef..741930bb39d81 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -68,6 +68,13 @@ network = list(CAMERANET_NETWORK_THUNDERDOME) c_tag = "Arena" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF + should_wallmount = FALSE + +/obj/machinery/camera/motion/thunderdome/red_team + c_tag = "Red Team" + +/obj/machinery/camera/motion/thunderdome/green_team + c_tag = "Green Team" /obj/machinery/camera/motion/thunderdome/Initialize(mapload) . = ..() diff --git a/code/game/machinery/civilian_bounties.dm b/code/game/machinery/civilian_bounties.dm index fa0d28c999c88..bd005119c5d1e 100644 --- a/code/game/machinery/civilian_bounties.dm +++ b/code/game/machinery/civilian_bounties.dm @@ -203,7 +203,7 @@ return data -/obj/machinery/computer/piratepad_control/civilian/ui_act(action, params) +/obj/machinery/computer/piratepad_control/civilian/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 3292cbf977b5f..6fcf4177df4e6 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -1,4 +1,5 @@ /obj/machinery/computer + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "computer" icon = 'icons/obj/machines/computer.dmi' icon_state = "computer" @@ -135,6 +136,12 @@ . = ..() update_use_power(ACTIVE_POWER_USE) +/obj/machinery/computer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + SHOULD_CALL_PARENT(TRUE) + . = ..() + if(!issilicon(ui.user)) + playsound(src, SFX_KEYBOARD_CLICKS, 10, TRUE, FALSE) + /obj/machinery/computer/ui_close(mob/user) SHOULD_CALL_PARENT(TRUE) . = ..() diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index ba3041cc4840c..e0a7f36460041 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -46,7 +46,7 @@ return data -/obj/machinery/computer/aifixer/ui_act(action, params) +/obj/machinery/computer/aifixer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/arcade/_arcade.dm b/code/game/machinery/computer/arcade/_arcade.dm index 69994634fc3b1..bd0a206d6a4be 100644 --- a/code/game/machinery/computer/arcade/_arcade.dm +++ b/code/game/machinery/computer/arcade/_arcade.dm @@ -1,4 +1,5 @@ /obj/machinery/computer/arcade + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "\proper the arcade cabinet which shouldn't exist" desc = "This arcade cabinet has no games installed, and in fact, should not exist. \ Report the location of this machine to your local diety." diff --git a/code/game/machinery/computer/arcade/orion.dm b/code/game/machinery/computer/arcade/orion.dm index 85bebddd25c6d..3300370d18e49 100644 --- a/code/game/machinery/computer/arcade/orion.dm +++ b/code/game/machinery/computer/arcade/orion.dm @@ -181,7 +181,7 @@ return static_data -/obj/machinery/computer/arcade/orion_trail/ui_act(action, list/params) +/obj/machinery/computer/arcade/orion_trail/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 5f3d7dd6e9e9d..3ed359a006296 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -28,7 +28,7 @@ return data -/obj/machinery/computer/atmos_alert/ui_act(action, params) +/obj/machinery/computer/atmos_alert/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/atmos_computers/__identifiers.dm b/code/game/machinery/computer/atmos_computers/__identifiers.dm index 653f0fbaa3868..be1f01aecb549 100644 --- a/code/game/machinery/computer/atmos_computers/__identifiers.dm +++ b/code/game/machinery/computer/atmos_computers/__identifiers.dm @@ -1,7 +1,7 @@ // ATMOSIA GAS MONITOR SUITE TAGS // Things that use these include atmos control monitors, sensors, inputs, and outlets. // They last three adds _sensor, _in, and _out respectively to the id_tag variable. -// Dont put underscores here, we use them as delimiters. +// Don't put underscores here, we use them as delimiters. #define ATMOS_GAS_MONITOR_O2 GAS_O2 #define ATMOS_GAS_MONITOR_PLAS GAS_PLASMA diff --git a/code/game/machinery/computer/atmos_computers/_air_sensor.dm b/code/game/machinery/computer/atmos_computers/_air_sensor.dm index 1c365dd087649..f66b9179fa5a2 100644 --- a/code/game/machinery/computer/atmos_computers/_air_sensor.dm +++ b/code/game/machinery/computer/atmos_computers/_air_sensor.dm @@ -2,7 +2,7 @@ /// These always hook to monitors, be mindful of them /obj/machinery/air_sensor name = "gas sensor" - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/wallmounts.dmi' icon_state = "gsensor1" resistance_flags = FIRE_PROOF power_channel = AREA_USAGE_ENVIRON @@ -57,7 +57,7 @@ /obj/machinery/air_sensor/examine(mob/user) . = ..() - . += span_notice("Use multitool to link it to an injector/vent or reset it's ports") + . += span_notice("Use multitool to link it to an injector/vent or reset its ports") . += span_notice("Click with hand to turn it off.") /obj/machinery/air_sensor/attack_hand(mob/living/user, list/modifiers) @@ -123,7 +123,7 @@ /obj/item/air_sensor name = "Air Sensor" desc = "A device designed to detect gases and their concentration in an area." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/wallmounts.dmi' icon_state = "gsensor0" custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT, /datum/material/glass = SMALL_MATERIAL_AMOUNT) /// The injector linked with this sensor @@ -196,7 +196,7 @@ if(initial(sensor.chamber_id) != target_chamber) continue - //make real air sensor in it's place + //make real air sensor in its place var/obj/machinery/air_sensor/new_sensor = new sensor(get_turf(src)) new_sensor.inlet_id = input_id new_sensor.outlet_id = output_id diff --git a/code/game/machinery/computer/atmos_computers/_atmos_control.dm b/code/game/machinery/computer/atmos_computers/_atmos_control.dm index 094f12e36e36a..25e51738611f1 100644 --- a/code/game/machinery/computer/atmos_computers/_atmos_control.dm +++ b/code/game/machinery/computer/atmos_computers/_atmos_control.dm @@ -19,7 +19,7 @@ /// Whether we are allowed to reconnect. var/reconnecting = TRUE - /// Was this computer multitooled before. If so copy the list connected_sensors as it now mantain's it's own sensors independent of the map loaded one's + /// Was this computer multitooled before. If so copy the list connected_sensors as it now maintain's its own sensors independent of the map loaded one's var/was_multi_tooled = FALSE /// list of all sensors[key is chamber id, value is id of air sensor linked to this chamber] monitered by this computer @@ -96,7 +96,7 @@ if(!was_multi_tooled) connected_sensors = connected_sensors.Copy() was_multi_tooled = TRUE - //register the sensor's unique ID with it's assositated chamber + //register the sensor's unique ID with its assositated chamber connected_sensors[sensor.chamber_id] = sensor.id_tag user.balloon_alert(user, "sensor connected to [src]") return ITEM_INTERACT_SUCCESS @@ -152,7 +152,7 @@ data["chambers"] += list(chamber_info) return data -/obj/machinery/computer/atmos_control/ui_act(action, params) +/obj/machinery/computer/atmos_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(. || !(control || reconnecting)) return diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 220870cb11981..ad541eaf37dcc 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -1,4 +1,5 @@ /obj/structure/frame/computer + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "computer frame" desc = "A frame for constructing your own computer. Or console. Whichever name you prefer." icon_state = "0" diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 670d8d33fd81c..2d8fd7e7dcaed 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -108,7 +108,7 @@ return data -/obj/machinery/computer/security/ui_act(action, params) +/obj/machinery/computer/security/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -116,7 +116,6 @@ if(action == "switch_camera") var/obj/machinery/camera/selected_camera = locate(params["camera"]) in GLOB.cameranet.cameras active_camera = selected_camera - playsound(src, SFX_TERMINAL_TYPE, 25, FALSE) if(isnull(active_camera)) return TRUE @@ -133,7 +132,7 @@ var/list/visible_turfs = list() - // Get the camera's turf to correctly gather what's visible from it's turf, in case it's located in a moving object (borgs / mechs) + // Get the camera's turf to correctly gather what's visible from its turf, in case it's located in a moving object (borgs / mechs) var/new_cam_turf = get_turf(active_camera) // If we're not forcing an update for some reason and the cameras are in the same location, diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 45bfeb9fcef36..8add50c5994b2 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -60,7 +60,7 @@ return ..() /obj/machinery/computer/camera_advanced/process() - if(!can_use(current_user) || (issilicon(current_user) && !current_user.has_unlimited_silicon_privilege)) + if(!can_use(current_user) || (issilicon(current_user) && !HAS_SILICON_ACCESS(current_user))) unset_machine() return PROCESS_KILL @@ -234,7 +234,7 @@ if(eye_user.client) eye_user.client.images -= user_image user_image = image(icon,loc,icon_state, FLY_LAYER) - SET_PLANE(user_image, ABOVE_GAME_PLANE, destination) + SET_PLANE(user_image, GAME_PLANE, destination) eye_user.client.images += user_image /mob/camera/ai_eye/remote/relaymove(mob/living/user, direction) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 8fb1e71f05ed7..d48b62977893c 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -142,7 +142,7 @@ playsound(src, 'sound/machines/terminal_alert.ogg', 50, FALSE) return TRUE -/obj/machinery/computer/communications/ui_act(action, list/params) +/obj/machinery/computer/communications/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) var/static/list/approved_states = list(STATE_BUYING_SHUTTLE, STATE_CHANGING_STATUS, STATE_MAIN, STATE_MESSAGES) . = ..() @@ -152,11 +152,12 @@ if (!has_communication()) return + var/mob/user = ui.user . = TRUE switch (action) if ("answerMessage") - if (!authenticated(usr)) + if (!authenticated(user)) return var/answer_index = params["answer"] @@ -164,7 +165,7 @@ // If either of these aren't numbers, then bad voodoo. if(!isnum(answer_index) || !isnum(message_index)) - message_admins("[ADMIN_LOOKUPFLW(usr)] provided an invalid index type when replying to a message on [src] [ADMIN_JMP(src)]. This should not happen. Please check with a maintainer and/or consult tgui logs.") + message_admins("[ADMIN_LOOKUPFLW(user)] provided an invalid index type when replying to a message on [src] [ADMIN_JMP(src)]. This should not happen. Please check with a maintainer and/or consult tgui logs.") CRASH("Non-numeric index provided when answering comms console message.") if (!answer_index || !message_index || answer_index < 1 || message_index < 1) @@ -175,27 +176,27 @@ message.answered = answer_index message.answer_callback.InvokeAsync() if ("callShuttle") - if (!authenticated(usr) || syndicate) + if (!authenticated(user) || syndicate) return var/reason = trim(params["reason"], MAX_MESSAGE_LEN) if (length(reason) < CALL_SHUTTLE_REASON_LENGTH) return - SSshuttle.requestEvac(usr, reason) + SSshuttle.requestEvac(user, reason) post_status("shuttle") if ("changeSecurityLevel") - if (!authenticated_as_silicon_or_captain(usr)) + if (!authenticated_as_silicon_or_captain(user)) return // Check if they have - if (!HAS_SILICON_ACCESS(usr)) - var/obj/item/held_item = usr.get_active_held_item() + if (!HAS_SILICON_ACCESS(user)) + var/obj/item/held_item = user.get_active_held_item() var/obj/item/card/id/id_card = held_item?.GetID() if (!istype(id_card)) - to_chat(usr, span_warning("You need to swipe your ID!")) + to_chat(user, span_warning("You need to swipe your ID!")) playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return if (!(ACCESS_CAPTAIN in id_card.access)) - to_chat(usr, span_warning("You are not authorized to do this!")) + to_chat(user, span_warning("You are not authorized to do this!")) playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return @@ -207,28 +208,28 @@ SSsecurity_level.set_level(new_sec_level) - to_chat(usr, span_notice("Authorization confirmed. Modifying security level.")) + to_chat(user, span_notice("Authorization confirmed. Modifying security level.")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) // Only notify people if an actual change happened - usr.log_message("changed the security level to [params["newSecurityLevel"]] with [src].", LOG_GAME) - message_admins("[ADMIN_LOOKUPFLW(usr)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(usr)].") - deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type=DEADCHAT_ANNOUNCEMENT) + user.log_message("changed the security level to [params["newSecurityLevel"]] with [src].", LOG_GAME) + message_admins("[ADMIN_LOOKUPFLW(user)] has changed the security level to [params["newSecurityLevel"]] with [src] at [AREACOORD(user)].") + deadchat_broadcast(" has changed the security level to [params["newSecurityLevel"]] with [src] at [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) alert_level_tick += 1 if ("deleteMessage") - if (!authenticated(usr)) + if (!authenticated(user)) return var/message_index = text2num(params["message"]) if (!message_index) return LAZYREMOVE(messages, LAZYACCESS(messages, message_index)) if ("makePriorityAnnouncement") - if (!authenticated_as_silicon_or_captain(usr) && !syndicate) + if (!authenticated_as_silicon_or_captain(user) && !syndicate) return - make_announcement(usr) + make_announcement(user) if ("messageAssociates") - if (!authenticated_as_non_silicon_captain(usr)) + if (!authenticated_as_non_silicon_captain(user)) return if (!COOLDOWN_FINISHED(src, important_action_cooldown)) return @@ -238,24 +239,24 @@ var/emagged = obj_flags & EMAGGED if (emagged) - message_syndicate(message, usr) - to_chat(usr, span_danger("SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.")) + message_syndicate(message, user) + to_chat(user, span_danger("SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.")) else if(syndicate) - message_syndicate(message, usr) - to_chat(usr, span_danger("Message transmitted to Syndicate Command.")) + message_syndicate(message, user) + to_chat(user, span_danger("Message transmitted to Syndicate Command.")) else - message_centcom(message, usr) - to_chat(usr, span_notice("Message transmitted to Central Command.")) + message_centcom(message, user) + to_chat(user, span_notice("Message transmitted to Central Command.")) var/associates = (emagged || syndicate) ? "the Syndicate": "CentCom" - usr.log_talk(message, LOG_SAY, tag = "message to [associates]") - deadchat_broadcast(" has messaged [associates], \"[message]\" at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) + user.log_talk(message, LOG_SAY, tag = "message to [associates]") + deadchat_broadcast(" has messaged [associates], \"[message]\" at [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type = DEADCHAT_ANNOUNCEMENT) COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN) if ("purchaseShuttle") - var/can_buy_shuttles_or_fail_reason = can_buy_shuttles(usr) + var/can_buy_shuttles_or_fail_reason = can_buy_shuttles(user) if (can_buy_shuttles_or_fail_reason != TRUE) if (can_buy_shuttles_or_fail_reason != FALSE) - to_chat(usr, span_alert("[can_buy_shuttles_or_fail_reason]")) + to_chat(user, span_alert("[can_buy_shuttles_or_fail_reason]")) return var/list/shuttles = flatten_list(SSmapping.shuttle_templates) var/datum/map_template/shuttle/shuttle = locate(params["shuttle"]) in shuttles @@ -264,7 +265,7 @@ if (!can_purchase_this_shuttle(shuttle)) return if (!shuttle.prerequisites_met()) - to_chat(usr, span_alert("You have not met the requirements for purchasing this shuttle.")) + to_chat(user, span_alert("You have not met the requirements for purchasing this shuttle.")) return var/datum/bank_account/bank_account = SSeconomy.get_dep_account(ACCOUNT_CAR) if (bank_account.account_balance < shuttle.credit_cost) @@ -277,42 +278,42 @@ SSshuttle.action_load(shuttle, replace = TRUE) bank_account.adjust_money(-shuttle.credit_cost) - var/purchaser_name = (obj_flags & EMAGGED) ? scramble_message_replace_chars("AUTHENTICATION FAILURE: CVE-2018-17107", 60) : usr.real_name + var/purchaser_name = (obj_flags & EMAGGED) ? scramble_message_replace_chars("AUTHENTICATION FAILURE: CVE-2018-17107", 60) : user.real_name minor_announce("[purchaser_name] has purchased [shuttle.name] for [shuttle.credit_cost] credits.[shuttle.extra_desc ? " [shuttle.extra_desc]" : ""]" , "Shuttle Purchase") - message_admins("[ADMIN_LOOKUPFLW(usr)] purchased [shuttle.name].") - log_shuttle("[key_name(usr)] has purchased [shuttle.name].") + message_admins("[ADMIN_LOOKUPFLW(user)] purchased [shuttle.name].") + log_shuttle("[key_name(user)] has purchased [shuttle.name].") SSblackbox.record_feedback("text", "shuttle_purchase", 1, shuttle.name) state = STATE_MAIN if ("recallShuttle") // AIs cannot recall the shuttle - if (!authenticated(usr) || HAS_SILICON_ACCESS(usr) || syndicate) + if (!authenticated(user) || HAS_SILICON_ACCESS(user) || syndicate) return - SSshuttle.cancelEvac(usr) + SSshuttle.cancelEvac(user) if ("requestNukeCodes") - if (!authenticated_as_non_silicon_captain(usr)) + if (!authenticated_as_non_silicon_captain(user)) return if (!COOLDOWN_FINISHED(src, important_action_cooldown)) return var/reason = trim(html_encode(params["reason"]), MAX_MESSAGE_LEN) - nuke_request(reason, usr) - to_chat(usr, span_notice("Request sent.")) - usr.log_message("has requested the nuclear codes from CentCom with reason \"[reason]\"", LOG_SAY) - priority_announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self-Destruct Codes Requested", SSstation.announcer.get_rand_report_sound()) + nuke_request(reason, user) + to_chat(user, span_notice("Request sent.")) + user.log_message("has requested the nuclear codes from CentCom with reason \"[reason]\"", LOG_SAY) + priority_announce("The codes for the on-station nuclear self-destruct have been requested by [user]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self-Destruct Codes Requested", SSstation.announcer.get_rand_report_sound()) playsound(src, 'sound/machines/terminal_prompt.ogg', 50, FALSE) COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN) if ("restoreBackupRoutingData") - if (!authenticated_as_non_silicon_captain(usr)) + if (!authenticated_as_non_silicon_captain(user)) return if (!(obj_flags & EMAGGED)) return - to_chat(usr, span_notice("Backup routing data restored.")) + to_chat(user, span_notice("Backup routing data restored.")) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) obj_flags &= ~EMAGGED if ("sendToOtherSector") - if (!authenticated_as_non_silicon_captain(usr)) + if (!authenticated_as_non_silicon_captain(user)) return - if (!can_send_messages_to_other_sectors(usr)) + if (!can_send_messages_to_other_sectors(user)) return if (!COOLDOWN_FINISHED(src, important_action_cooldown)) return @@ -324,54 +325,52 @@ GLOB.communications_controller.soft_filtering = FALSE var/list/hard_filter_result = is_ic_filtered(message) if(hard_filter_result) - tgui_alert(usr, "Your message contains: (\"[hard_filter_result[CHAT_FILTER_INDEX_WORD]]\"), which is not allowed on this server.") + tgui_alert(user, "Your message contains: (\"[hard_filter_result[CHAT_FILTER_INDEX_WORD]]\"), which is not allowed on this server.") return var/list/soft_filter_result = is_soft_ooc_filtered(message) if(soft_filter_result) - if(tgui_alert(usr,"Your message contains \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". \"[soft_filter_result[CHAT_FILTER_INDEX_REASON]]\", Are you sure you want to use it?", "Soft Blocked Word", list("Yes", "No")) != "Yes") + if(tgui_alert(user,"Your message contains \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". \"[soft_filter_result[CHAT_FILTER_INDEX_REASON]]\", Are you sure you want to use it?", "Soft Blocked Word", list("Yes", "No")) != "Yes") return - message_admins("[ADMIN_LOOKUPFLW(usr)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". They may be using a disallowed term for a cross-station message. Increasing delay time to reject.\n\n Message: \"[html_encode(message)]\"") - log_admin_private("[key_name(usr)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". They may be using a disallowed term for a cross-station message. Increasing delay time to reject.\n\n Message: \"[message]\"") + message_admins("[ADMIN_LOOKUPFLW(user)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". They may be using a disallowed term for a cross-station message. Increasing delay time to reject.\n\n Message: \"[html_encode(message)]\"") + log_admin_private("[key_name(user)] has passed the soft filter for \"[soft_filter_result[CHAT_FILTER_INDEX_WORD]]\". They may be using a disallowed term for a cross-station message. Increasing delay time to reject.\n\n Message: \"[message]\"") GLOB.communications_controller.soft_filtering = TRUE playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) var/destination = params["destination"] - usr.log_message("is about to send the following message to [destination]: [message]", LOG_GAME) + user.log_message("is about to send the following message to [destination]: [message]", LOG_GAME) to_chat( GLOB.admins, span_adminnotice( \ - "CROSS-SECTOR MESSAGE (OUTGOING): [ADMIN_LOOKUPFLW(usr)] is about to send \ + "CROSS-SECTOR MESSAGE (OUTGOING): [ADMIN_LOOKUPFLW(user)] is about to send \ the following message to [destination] (will autoapprove in [GLOB.communications_controller.soft_filtering ? DisplayTimeText(EXTENDED_CROSS_SECTOR_CANCEL_TIME) : DisplayTimeText(CROSS_SECTOR_CANCEL_TIME)]): \ REJECT
\ [html_encode(message)]" \ ) ) - send_cross_comms_message_timer = addtimer(CALLBACK(src, PROC_REF(send_cross_comms_message), usr, destination, message), GLOB.communications_controller.soft_filtering ? EXTENDED_CROSS_SECTOR_CANCEL_TIME : CROSS_SECTOR_CANCEL_TIME, TIMER_STOPPABLE) + send_cross_comms_message_timer = addtimer(CALLBACK(src, PROC_REF(send_cross_comms_message), user, destination, message), GLOB.communications_controller.soft_filtering ? EXTENDED_CROSS_SECTOR_CANCEL_TIME : CROSS_SECTOR_CANCEL_TIME, TIMER_STOPPABLE) COOLDOWN_START(src, important_action_cooldown, IMPORTANT_ACTION_COOLDOWN) if ("setState") - if (!authenticated(usr)) + if (!authenticated(user)) return if (!(params["state"] in approved_states)) return - if (state == STATE_BUYING_SHUTTLE && can_buy_shuttles(usr) != TRUE) + if (state == STATE_BUYING_SHUTTLE && can_buy_shuttles(user) != TRUE) return set_state(usr, params["state"]) - playsound(src, SFX_TERMINAL_TYPE, 50, FALSE) if ("setStatusMessage") - if (!authenticated(usr)) + if (!authenticated(user)) return var/line_one = reject_bad_text(params["upperText"] || "", MAX_STATUS_LINE_LENGTH) var/line_two = reject_bad_text(params["lowerText"] || "", MAX_STATUS_LINE_LENGTH) post_status("message", line_one, line_two) last_status_display = list(line_one, line_two) - playsound(src, SFX_TERMINAL_TYPE, 50, FALSE) if ("setStatusPicture") - if (!authenticated(usr)) + if (!authenticated(user)) return var/picture = params["picture"] if (!(picture in GLOB.status_display_approved_pictures)) @@ -384,7 +383,6 @@ else post_status("alert", picture) - playsound(src, SFX_TERMINAL_TYPE, 50, FALSE) if ("toggleAuthentication") // Log out if we're logged in if (authorize_name) @@ -398,10 +396,10 @@ authenticated = TRUE authorize_access = SSid_access.get_region_access_list(list(REGION_ALL_STATION)) authorize_name = "Unknown" - to_chat(usr, span_warning("[src] lets out a quiet alarm as its login is overridden.")) + to_chat(user, span_warning("[src] lets out a quiet alarm as its login is overridden.")) playsound(src, 'sound/machines/terminal_alert.ogg', 25, FALSE) - else if(isliving(usr)) - var/mob/living/L = usr + else if(isliving(user)) + var/mob/living/L = user var/obj/item/card/id/id_card = L.get_idcard(hand_first = TRUE) if (check_access(id_card)) authenticated = TRUE @@ -413,36 +411,36 @@ imprint_gps(gps_tag = "Encrypted Communications Channel") if ("toggleEmergencyAccess") - if(emergency_access_cooldown(usr)) //if were in cooldown, dont allow the following code + if(emergency_access_cooldown(user)) //if were in cooldown, dont allow the following code return - if (!authenticated_as_silicon_or_captain(usr)) + if (!authenticated_as_silicon_or_captain(user)) return if (GLOB.emergency_access) revoke_maint_all_access() - usr.log_message("disabled emergency maintenance access.", LOG_GAME) - message_admins("[ADMIN_LOOKUPFLW(usr)] disabled emergency maintenance access.") - deadchat_broadcast(" disabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) + user.log_message("disabled emergency maintenance access.", LOG_GAME) + message_admins("[ADMIN_LOOKUPFLW(user)] disabled emergency maintenance access.") + deadchat_broadcast(" disabled emergency maintenance access at [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type = DEADCHAT_ANNOUNCEMENT) else make_maint_all_access() - usr.log_message("enabled emergency maintenance access.", LOG_GAME) - message_admins("[ADMIN_LOOKUPFLW(usr)] enabled emergency maintenance access.") - deadchat_broadcast(" enabled emergency maintenance access at [span_name("[get_area_name(usr, TRUE)]")].", span_name("[usr.real_name]"), usr, message_type = DEADCHAT_ANNOUNCEMENT) + user.log_message("enabled emergency maintenance access.", LOG_GAME) + message_admins("[ADMIN_LOOKUPFLW(user)] enabled emergency maintenance access.") + deadchat_broadcast(" enabled emergency maintenance access at [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type = DEADCHAT_ANNOUNCEMENT) // Request codes for the Captain's Spare ID safe. if("requestSafeCodes") if(SSjob.assigned_captain) - to_chat(usr, span_warning("There is already an assigned Captain or Acting Captain on deck!")) + to_chat(user, span_warning("There is already an assigned Captain or Acting Captain on deck!")) return if(SSjob.safe_code_timer_id) - to_chat(usr, span_warning("The safe code has already been requested and is being delivered to your station!")) + to_chat(user, span_warning("The safe code has already been requested and is being delivered to your station!")) return if(SSjob.safe_code_requested) - to_chat(usr, span_warning("The safe code has already been requested and delivered to your station!")) + to_chat(user, span_warning("The safe code has already been requested and delivered to your station!")) return if(!SSid_access.spare_id_safe_code) - to_chat(usr, span_warning("There is no safe code to deliver to your station!")) + to_chat(user, span_warning("There is no safe code to deliver to your station!")) return var/turf/pod_location = get_turf(src) @@ -475,7 +473,7 @@ var/list/payload = list() - payload["sender_ckey"] = usr.ckey + payload["sender_ckey"] = user.ckey var/network_name = CONFIG_GET(string/cross_comms_network) if(network_name) payload["network"] = network_name @@ -484,9 +482,9 @@ send2otherserver(html_decode(station_name()), message, "Comms_Console", destination == "all" ? null : list(destination), additional_data = payload) minor_announce(message, title = "Outgoing message to allied station") - usr.log_talk(message, LOG_SAY, tag = "message to the other server") - message_admins("[ADMIN_LOOKUPFLW(usr)] has sent a message to the other server\[s].") - deadchat_broadcast(" has sent an outgoing message to the other station(s).", "[usr.real_name]", usr, message_type = DEADCHAT_ANNOUNCEMENT) + user.log_talk(message, LOG_SAY, tag = "message to the other server") + message_admins("[ADMIN_LOOKUPFLW(user)] has sent a message to the other server\[s].") + deadchat_broadcast(" has sent an outgoing message to the other station(s).", "[user.real_name]", user, message_type = DEADCHAT_ANNOUNCEMENT) GLOB.communications_controller.soft_filtering = FALSE // set it to false at the end of the proc to ensure that everything prior reads as intended /obj/machinery/computer/communications/ui_data(mob/user) @@ -742,7 +740,7 @@ var/list/players = get_communication_players() GLOB.communications_controller.make_announcement(user, is_ai, input, syndicate || (obj_flags & EMAGGED), players) - deadchat_broadcast(" made a priority announcement from [span_name("[get_area_name(usr, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) + deadchat_broadcast(" made a priority announcement from [span_name("[get_area_name(user, TRUE)]")].", span_name("[user.real_name]"), user, message_type=DEADCHAT_ANNOUNCEMENT) /obj/machinery/computer/communications/proc/get_communication_players() return GLOB.player_list diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 268b675871ab2..b5e5a915ce2bf 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -182,7 +182,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) z = T.z . = list( "sensors" = update_data(z), - "link_allowed" = HAS_AI_ACCESS(user) + "link_allowed" = HAS_AI_ACCESS(user), ) /datum/crewmonitor/proc/update_data(z) @@ -274,7 +274,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) return results -/datum/crewmonitor/ui_act(action, params) +/datum/crewmonitor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 9028d6d367d91..e1612ae7ef2e5 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -35,7 +35,7 @@ #define GENETIC_DAMAGE_ACCURACY_MULTIPLIER 3 /// Special status indicating a scanner occupant is transforming eg. from monkey to human -#define STATUS_TRANSFORMING 4 +#define STATUS_TRANSFORMING 5 /// Multiplier for how much genetic damage received from DNA Console functionality #define GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIER 1 @@ -398,7 +398,7 @@ return data -/obj/machinery/computer/scan_consolenew/ui_act(action, list/params) +/obj/machinery/computer/scan_consolenew/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) var/static/list/gene_letters = list("A", "T", "C", "G"); var/static/gene_letter_count = length(gene_letters) diff --git a/code/game/machinery/computer/launchpad_control.dm b/code/game/machinery/computer/launchpad_control.dm index 7c6d1307b76b1..1502e5af50621 100644 --- a/code/game/machinery/computer/launchpad_control.dm +++ b/code/game/machinery/computer/launchpad_control.dm @@ -116,7 +116,7 @@ return data -/obj/machinery/computer/launchpad/ui_act(action, params) +/obj/machinery/computer/launchpad/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/mechlaunchpad.dm b/code/game/machinery/computer/mechlaunchpad.dm index 46c0045fb3568..050f3447a8ce4 100644 --- a/code/game/machinery/computer/mechlaunchpad.dm +++ b/code/game/machinery/computer/mechlaunchpad.dm @@ -205,7 +205,7 @@ data["mechonly"] = current_pad.mech_only return data -/obj/machinery/computer/mechpad/ui_act(action, params) +/obj/machinery/computer/mechpad/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/operating_computer.dm b/code/game/machinery/computer/operating_computer.dm index d67cea367e9a6..0354806d85ebd 100644 --- a/code/game/machinery/computer/operating_computer.dm +++ b/code/game/machinery/computer/operating_computer.dm @@ -143,11 +143,13 @@ var/chems_needed = surgery_step.get_chem_list() var/alternative_step var/alt_chems_needed = "" + var/alt_chems_present = FALSE if(surgery_step.repeatable) var/datum/surgery_step/next_step = procedure.get_surgery_next_step() if(next_step) alternative_step = capitalize(next_step.name) alt_chems_needed = next_step.get_chem_list() + alt_chems_present = next_step.chem_check(patient) else alternative_step = "Finish operation" data["procedures"] += list(list( @@ -155,11 +157,13 @@ "next_step" = capitalize(surgery_step.name), "chems_needed" = chems_needed, "alternative_step" = alternative_step, - "alt_chems_needed" = alt_chems_needed + "alt_chems_needed" = alt_chems_needed, + "chems_present" = surgery_step.chem_check(patient), + "alt_chems_present" = alt_chems_present )) return data -/obj/machinery/computer/operating/ui_act(action, params) +/obj/machinery/computer/operating/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/orders/order_computer/mining_order.dm b/code/game/machinery/computer/orders/order_computer/mining_order.dm index 7e7eabcc1bfd5..a2c3be147676c 100644 --- a/code/game/machinery/computer/orders/order_computer/mining_order.dm +++ b/code/game/machinery/computer/orders/order_computer/mining_order.dm @@ -62,7 +62,7 @@ /obj/machinery/computer/order_console/mining/retrieve_points(obj/item/card/id/id_card) return round(id_card.registered_account.mining_points) -/obj/machinery/computer/order_console/mining/ui_act(action, params) +/obj/machinery/computer/order_console/mining/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(!.) flick("mining-deny", src) @@ -134,7 +134,7 @@ /obj/item/mining_voucher name = "mining voucher" desc = "A token to redeem a piece of equipment. Use it on a mining equipment vendor." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "mining_voucher" w_class = WEIGHT_CLASS_TINY diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm index 770897a2fe4fb..9098d5aeb090b 100644 --- a/code/game/machinery/computer/orders/order_computer/order_computer.dm +++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm @@ -124,7 +124,7 @@ GLOBAL_LIST_EMPTY(order_console_products) )) return data -/obj/machinery/computer/order_console/ui_act(action, params) +/obj/machinery/computer/order_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -201,7 +201,7 @@ GLOBAL_LIST_EMPTY(order_console_products) ordered_paths += item.item_path podspawn(list( "target" = get_turf(living_user), - "style" = STYLE_BLUESPACE, + "style" = /datum/pod_style/advanced, "spawn" = ordered_paths, )) grocery_list.Cut() diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 4cc32401704d2..37642ddd7d07b 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -78,7 +78,7 @@ break return data -/obj/machinery/computer/pod/ui_act(action, list/params) +/obj/machinery/computer/pod/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -139,11 +139,17 @@ /obj/machinery/computer/pod/old/mass_driver_controller name = "\improper Mass Driver Controller" - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/airlock_machines.dmi' icon_state = "airlock_control_standby" icon_screen = null density = FALSE +/obj/machinery/computer/pod/old/mass_driver_controller/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/computer/pod/old/mass_driver_controller) + /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver id = MASSDRIVER_ORDNANCE diff --git a/code/game/machinery/computer/prisoner/gulag_teleporter.dm b/code/game/machinery/computer/prisoner/gulag_teleporter.dm index 4c2f4dacde3f2..f03c08a8d821b 100644 --- a/code/game/machinery/computer/prisoner/gulag_teleporter.dm +++ b/code/game/machinery/computer/prisoner/gulag_teleporter.dm @@ -67,7 +67,7 @@ return data -/obj/machinery/computer/prisoner/gulag_teleporter_computer/ui_act(action, list/params) +/obj/machinery/computer/prisoner/gulag_teleporter_computer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/prisoner/management.dm b/code/game/machinery/computer/prisoner/management.dm index ada71bad02304..32c2ddba984df 100644 --- a/code/game/machinery/computer/prisoner/management.dm +++ b/code/game/machinery/computer/prisoner/management.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY_TYPED(tracked_implants, /obj/item/implant) /obj/machinery/computer/prisoner/management/ui_data(mob/user) var/list/data = list() - data["authorized"] = (authenticated && isliving(user)) || isAdminGhostAI(user) || issilicon(user) + data["authorized"] = (authenticated && isliving(user)) || HAS_SILICON_ACCESS(user) data["inserted_id"] = null if(!isnull(contained_id)) data["inserted_id"] = list( @@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY_TYPED(tracked_implants, /obj/item/implant) return data -/obj/machinery/computer/prisoner/management/ui_act(action, list/params) +/obj/machinery/computer/prisoner/management/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/records/records.dm b/code/game/machinery/computer/records/records.dm index e8d8beef854dd..d53895300438d 100644 --- a/code/game/machinery/computer/records/records.dm +++ b/code/game/machinery/computer/records/records.dm @@ -100,7 +100,6 @@ if(!target) return FALSE - playsound(src, SFX_TERMINAL_TYPE, 50, TRUE) update_preview(user, params["assigned_view"], target) return TRUE diff --git a/code/game/machinery/computer/records/security.dm b/code/game/machinery/computer/records/security.dm index dac62612a4c74..bdfa996dad68f 100644 --- a/code/game/machinery/computer/records/security.dm +++ b/code/game/machinery/computer/records/security.dm @@ -102,6 +102,7 @@ paid = warrant.paid, time = warrant.time, valid = warrant.valid, + voider = warrant.voider, )) var/list/crimes = list() @@ -113,6 +114,7 @@ name = crime.name, time = crime.time, valid = crime.valid, + voider = crime.voider, )) records += list(list( @@ -250,8 +252,8 @@ editing_crime.name = new_name return TRUE - if(params["details"] && length(params["description"]) > 2 && params["name"] != editing_crime.name) - var/new_details = strip_html_full(params["details"], MAX_MESSAGE_LEN) + if(params["description"] && length(params["description"]) > 2 && params["name"] != editing_crime.name) + var/new_details = strip_html_full(params["description"], MAX_MESSAGE_LEN) investigate_log("[user] edited crime \"[editing_crime.name]\" for target: \"[target.name]\", changing the details to: \"[new_details]\" from: \"[editing_crime.details]\".", INVESTIGATE_RECORDS) editing_crime.details = new_details return TRUE @@ -269,6 +271,9 @@ /// Only qualified personnel can edit records. /obj/machinery/computer/records/security/proc/has_armory_access(mob/user) + if (HAS_SILICON_ACCESS(user)) + return TRUE + if(!isliving(user)) return FALSE var/mob/living/player = user @@ -284,16 +289,22 @@ /// Voids crimes, or sets someone to discharged if they have none left. /obj/machinery/computer/records/security/proc/invalidate_crime(mob/user, datum/record/crew/target, list/params) - if(!has_armory_access(user)) - return FALSE var/datum/crime/to_void = locate(params["crime_ref"]) in target.crimes + var/acquitted = TRUE if(!to_void) + to_void = locate(params["crime_ref"]) in target.citations + // No need to change status after invalidatation of citation + acquitted = FALSE + if(!to_void) + return FALSE + + if(user != to_void.author && !has_armory_access(user)) return FALSE to_void.valid = FALSE + to_void.voider = user investigate_log("[key_name(user)] has invalidated [target.name]'s crime: [to_void.name]", INVESTIGATE_RECORDS) - var/acquitted = TRUE for(var/datum/crime/incident in target.crimes) if(!incident.valid) continue diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 0c8b6e58d6e7e..12aa1c3ce0362 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -81,7 +81,7 @@ return data -/obj/machinery/computer/robotics/ui_act(action, params) +/obj/machinery/computer/robotics/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/teleporter.dm b/code/game/machinery/computer/teleporter.dm index d00c5824d8bd3..8cd12610c748b 100644 --- a/code/game/machinery/computer/teleporter.dm +++ b/code/game/machinery/computer/teleporter.dm @@ -84,7 +84,7 @@ power_station.teleporter_hub.update_appearance() power_station.teleporter_hub.calibrated = FALSE -/obj/machinery/computer/teleporter/ui_act(action, params) +/obj/machinery/computer/teleporter/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/computer/telescreen.dm b/code/game/machinery/computer/telescreen.dm index c421ca0c90308..6bb8a9c917f8e 100644 --- a/code/game/machinery/computer/telescreen.dm +++ b/code/game/machinery/computer/telescreen.dm @@ -1,10 +1,11 @@ /obj/machinery/computer/security/telescreen name = "\improper Telescreen" desc = "Used for watching an empty arena." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/machines/telescreens.dmi' icon_state = "telescreen" - icon_keyboard = null + base_icon_state = "telescreen" icon_screen = null + icon_keyboard = null layer = SIGN_LAYER network = list(CAMERANET_NETWORK_THUNDERDOME) density = FALSE @@ -16,10 +17,15 @@ /obj/item/wallframe/telescreen name = "telescreen frame" desc = "A wall-mountable telescreen frame. Apply to wall to use." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/machines/telescreens.dmi' icon_state = "telescreen" result_path = /obj/machinery/computer/security/telescreen - pixel_shift = 32 + +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen) + +/obj/machinery/computer/security/telescreen/Initialize(mapload) + . = ..() + find_and_hang_on_wall() /obj/machinery/computer/security/telescreen/on_deconstruction(disassembled) new frame_type(loc) @@ -30,31 +36,34 @@ icon_state += "b" return ..() + /obj/machinery/computer/security/telescreen/entertainment name = "entertainment monitor" desc = "Damn, they better have the /tg/ channel on these things." - icon = 'icons/obj/machines/status_display.dmi' - icon_state = "entertainment_blank" + icon = 'icons/obj/machines/telescreens.dmi' + icon_state = "telescreen" // wallening todo - Should this be merged back into telescreens or keep using status display icons? Icon needs updating regardless. network = list() density = FALSE circuit = null interaction_flags_atom = INTERACT_ATOM_UI_INTERACT | INTERACT_ATOM_NO_FINGERPRINT_INTERACT | INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND | INTERACT_MACHINE_REQUIRES_SIGHT frame_type = /obj/item/wallframe/telescreen/entertainment - var/icon_state_off = "entertainment_blank" - var/icon_state_on = "entertainment" - -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertainment, 32) /obj/item/wallframe/telescreen/entertainment name = "entertainment telescreen frame" - icon = 'icons/obj/machines/status_display.dmi' - icon_state = "entertainment_blank" + icon = 'icons/obj/machines/telescreens.dmi' + icon_state = "telescreen" result_path = /obj/machinery/computer/security/telescreen/entertainment +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertainment) // Wallening todo: Depending on the comment on icon_state, adjust offset. Keep wall_mount element in mind. + /obj/machinery/computer/security/telescreen/entertainment/Initialize(mapload) . = ..() RegisterSignal(src, COMSIG_CLICK, PROC_REF(BigClick)) - find_and_hang_on_wall() + update_appearance() + +/obj/machinery/computer/security/telescreen/on_set_machine_stat(old_value) + . = ..() + update_appearance() // Bypass clickchain to allow humans to use the telescreen from a distance /obj/machinery/computer/security/telescreen/entertainment/proc/BigClick() @@ -68,13 +77,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai ///Sets the monitor's icon to the selected state, and says an announcement /obj/machinery/computer/security/telescreen/entertainment/proc/notify(on, announcement) - if(on && icon_state == icon_state_off) - icon_state = icon_state_on - else - icon_state = icon_state_off if(announcement) say(announcement) +// Wallening todo: does this show when it should, and hide when it shouldn't? +/obj/machinery/computer/security/telescreen/entertainment/update_overlays() + . = ..() + if(machine_stat & (NOPOWER|BROKEN)) + return + . += "[base_icon_state]_program[rand(1,4)]" + . += emissive_appearance(icon, "[base_icon_state]_emissive", src, alpha = src.alpha) + /// Adds a camera network ID to the entertainment monitor, and turns off the monitor if network list is empty /obj/machinery/computer/security/telescreen/entertainment/proc/update_shows(is_show_active, tv_show_id, announcement) if(!network) @@ -148,12 +161,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai ) frame_type = /obj/item/wallframe/telescreen/rd -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/rd, 32) - /obj/item/wallframe/telescreen/rd name = "\improper Research Director's telescreen frame" result_path = /obj/machinery/computer/security/telescreen/rd +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/rd) + /obj/machinery/computer/security/telescreen/research name = "research telescreen" desc = "A telescreen with access to the research division's camera network." @@ -164,7 +177,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/rd, 32) name = "research telescreen frame" result_path = /obj/machinery/computer/security/telescreen/research -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/research, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/research) /obj/machinery/computer/security/telescreen/ce name = "\improper Chief Engineer's telescreen" @@ -176,7 +189,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/research name = "\improper Chief Engineer's telescreen frame" result_path = /obj/machinery/computer/security/telescreen/ce -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ce, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ce) /obj/machinery/computer/security/telescreen/cmo name = "\improper Chief Medical Officer's telescreen" @@ -185,10 +198,22 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ce, 32) frame_type = /obj/item/wallframe/telescreen/cmo /obj/item/wallframe/telescreen/cmo - name = "\improper Chief Engineer'stelescreen frame" + name = "\improper Chief Medical Officer's telescreen frame" result_path = /obj/machinery/computer/security/telescreen/cmo -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cmo, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cmo) + +/obj/machinery/computer/security/telescreen/med_sec + name = "\improper medical telescreen" + desc = "A telescreen with access to the medbay's camera network." + network = list(CAMERANET_NETWORK_MEDBAY) + frame_type = /obj/item/wallframe/telescreen/med_sec + +/obj/item/wallframe/telescreen/med_sec + name = "\improper medical telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/med_sec + +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/med_sec) /obj/machinery/computer/security/telescreen/vault name = "vault monitor" @@ -200,7 +225,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cmo, 32) name = "vault telescreen frame" result_path = /obj/machinery/computer/security/telescreen/vault -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/vault, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/vault) /obj/machinery/computer/security/telescreen/ordnance name = "bomb test site monitor" @@ -212,7 +237,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/vault, 3 name = "bomb test site telescreen frame" result_path = /obj/machinery/computer/security/telescreen/ordnance -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ordnance, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ordnance) /obj/machinery/computer/security/telescreen/engine name = "engine monitor" @@ -224,7 +249,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ordnance name = "engine telescreen frame" result_path = /obj/machinery/computer/security/telescreen/engine -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine) /obj/machinery/computer/security/telescreen/turbine name = "turbine monitor" @@ -236,7 +261,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine, name = "turbine telescreen frame" result_path = /obj/machinery/computer/security/telescreen/turbine -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/turbine, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/turbine) /obj/machinery/computer/security/telescreen/interrogation name = "interrogation room monitor" @@ -248,7 +273,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/turbine, name = "interrogation telescreen frame" result_path = /obj/machinery/computer/security/telescreen/interrogation -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/interrogation, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/interrogation) /obj/machinery/computer/security/telescreen/prison name = "prison monitor" @@ -260,7 +285,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/interrog name = "prison telescreen frame" result_path = /obj/machinery/computer/security/telescreen/prison -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/prison, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/prison) /obj/machinery/computer/security/telescreen/auxbase name = "auxiliary base monitor" @@ -272,7 +297,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/prison, name = "auxiliary base telescreen frame" result_path = /obj/machinery/computer/security/telescreen/auxbase -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/auxbase, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/auxbase) /obj/machinery/computer/security/telescreen/minisat name = "minisat monitor" @@ -284,7 +309,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/auxbase, name = "minisat telescreen frame" result_path = /obj/machinery/computer/security/telescreen/minisat -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/minisat, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/minisat) /obj/machinery/computer/security/telescreen/aiupload name = "\improper AI upload monitor" @@ -296,7 +321,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/minisat, name = "\improper AI upload telescreen frame" result_path = /obj/machinery/computer/security/telescreen/aiupload -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/aiupload, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/aiupload) /obj/machinery/computer/security/telescreen/bar name = "bar monitor" @@ -308,7 +333,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/aiupload name = "bar telescreen frame" result_path = /obj/machinery/computer/security/telescreen/bar -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/bar, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/bar) /obj/machinery/computer/security/telescreen/isolation name = "isolation cell monitor" @@ -320,7 +345,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/bar, 32) name = "isolation telescreen frame" result_path = /obj/machinery/computer/security/telescreen/isolation -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/isolation, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/isolation) /obj/machinery/computer/security/telescreen/normal name = "security camera monitor" @@ -332,7 +357,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/isolatio name = "security camera telescreen frame" result_path = /obj/machinery/computer/security/telescreen/normal -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/normal, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/normal) /obj/machinery/computer/security/telescreen/tcomms name = "tcomms camera monitor" @@ -344,7 +369,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/normal, name = "tcomms camera telescreen frame" result_path = /obj/machinery/computer/security/telescreen/tcomms -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/tcomms, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/tcomms) /obj/machinery/computer/security/telescreen/test_chamber name = "xenobiology test chamber camera monitor" @@ -356,7 +381,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/tcomms, name = "xenobiology test chamber camera telescreen frame" result_path = /obj/machinery/computer/security/telescreen/test_chamber -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/test_chamber, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/test_chamber) /obj/machinery/computer/security/telescreen/engine_waste name = "\improper Engine Waste Monitor" @@ -368,7 +393,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/test_cha name = "\improper Engine Waste telescreen frame" result_path = /obj/machinery/computer/security/telescreen/engine_waste -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine_waste, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine_waste) /obj/machinery/computer/security/telescreen/cargo_sec name = "cargo camera monitor" @@ -382,7 +407,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine_w name = "cargo telescreen frame" result_path = /obj/machinery/computer/security/telescreen/cargo_sec -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cargo_sec, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cargo_sec) // This is used in moonoutpost19.dmm /obj/machinery/computer/security/telescreen/moon_outpost @@ -394,14 +419,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cargo_se CAMERANET_NETWORK_MOON19_XENO, ) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_outpost/research, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_outpost/research) /obj/machinery/computer/security/telescreen/moon_outpost/xenobio name = "xenobiology monitor" desc = "Used for watching the contents of the xenobiology containment pen." network = list(CAMERANET_NETWORK_MOON19_XENO) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_outpost/xenobio, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_outpost/xenobio) // This is used in undergroundoutpost45.dmm /obj/machinery/computer/security/telescreen/underground_outpost @@ -411,7 +436,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_out desc = "Used for monitoring the research division and the labs within." network = list(CAMERANET_NETWORK_UGO45_RESEARCH) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/underground_outpost/research, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/underground_outpost/research) // This is used in forgottenship.dmm /obj/machinery/computer/security/telescreen/forgotten_ship @@ -421,7 +446,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/undergro network = list(CAMERANET_NETWORK_FSCI) req_access = list("syndicate") -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/forgotten_ship/sci, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/forgotten_ship/sci) // This is used in deepstorage.dmm /obj/machinery/computer/security/telescreen/deep_storage @@ -430,12 +455,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/forgotte name = "Bunker Entrance monitor" network = list(CAMERA_NETWORK_BUNKER) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/deep_storage/bunker, 32) +TELESCREEN_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/deep_storage/bunker) /// A button that adds a camera network to the entertainment monitors /obj/machinery/button/showtime name = "thunderdome showtime button" desc = "Use this button to allow entertainment monitors to broadcast the big game." + base_icon_state = "button_table" + icon_state = "button_table" device_type = /obj/item/assembly/control/showtime req_access = list() id = "showtime_1" diff --git a/code/game/machinery/computer/warrant.dm b/code/game/machinery/computer/warrant.dm index 1e3557f76f046..3b73a8b75bfea 100644 --- a/code/game/machinery/computer/warrant.dm +++ b/code/game/machinery/computer/warrant.dm @@ -133,6 +133,7 @@ return TRUE warrant.alert_owner(user, src, target.name, "One of your outstanding warrants has been completely paid.") + warrant.valid = FALSE return TRUE /// Finishes printing, resets the printer. diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 45daa1966a635..d2e3c895ebd1d 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -67,7 +67,7 @@ /obj/machinery/jukebox/ui_data(mob/user) return music_player.get_ui_data() -/obj/machinery/jukebox/ui_act(action, list/params) +/obj/machinery/jukebox/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 47729c5c0cbac..fabecc5f42988 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -19,14 +19,14 @@ /// the type of wallframe it 'disassembles' into var/wallframe_type = /obj/item/wallframe/defib_mount -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount, 28) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount) /obj/machinery/defibrillator_mount/loaded/Initialize(mapload) //loaded subtype for mapping use . = ..() defib = new/obj/item/defibrillator/loaded(src) find_and_hang_on_wall() -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount, 28) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount/loaded) /obj/machinery/defibrillator_mount/Destroy() QDEL_NULL(defib) @@ -210,7 +210,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount, 28) custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 3, /datum/material/glass = SMALL_MATERIAL_AMOUNT) w_class = WEIGHT_CLASS_BULKY result_path = /obj/machinery/defibrillator_mount - pixel_shift = 28 /obj/item/wallframe/defib_mount/charging name = "unhooked PENLITE defibrillator mount" diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 4f78fbf3a52ee..d2a6a2b3c6b38 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -56,7 +56,7 @@ /obj/structure/barricade/wooden name = "wooden barricade" desc = "This space is blocked off by a wooden barricade." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "woodenbarricade" resistance_flags = FLAMMABLE bar_material = WOOD @@ -99,7 +99,8 @@ /obj/structure/barricade/wooden/crude name = "crude plank barricade" desc = "This space is blocked off by a crude assortment of planks." - icon_state = "plankbarricade" + icon = 'icons/obj/structures/tall.dmi' + icon_state = "woodenbarricade" drop_amount = 1 max_integrity = 50 proj_pass_rate = 65 @@ -107,7 +108,8 @@ /obj/structure/barricade/wooden/crude/snow desc = "This space is blocked off by a crude assortment of planks. It seems to be covered in a layer of snow." - icon_state = "plankbarricade_snow" + icon = 'icons/obj/structures/tall.dmi' + icon_state = "woodenbarricade_snow" max_integrity = 75 /obj/structure/barricade/wooden/make_debris() @@ -116,7 +118,7 @@ /obj/structure/barricade/sandbags name = "sandbags" desc = "Bags of sand. Self explanatory." - icon = 'icons/obj/smooth_structures/sandbags.dmi' + icon = 'icons/obj/structures/smooth/sandbags.dmi' icon_state = "sandbags-0" base_icon_state = "sandbags" max_integrity = 280 @@ -135,7 +137,7 @@ /obj/structure/barricade/security name = "security barrier" desc = "A deployable barrier. Provides good cover in fire fights." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "barrier0" density = FALSE anchored = FALSE diff --git a/code/game/machinery/digital_clock.dm b/code/game/machinery/digital_clock.dm index febc6a4b09100..1c8cadecf24f9 100644 --- a/code/game/machinery/digital_clock.dm +++ b/code/game/machinery/digital_clock.dm @@ -2,7 +2,7 @@ name = "digital clock" desc = "An ultra-futuristic, sleek, advanced, next-gen normal digital clock that tells the time. Powered by bluespace. Despite supposedly being better in every way to classic clocks, it just doesn't feel the same. They just don't make them the way they used to..." icon_state = "digital_clock_base" - icon = 'icons/obj/digital_clock.dmi' + icon = 'icons/obj/machines/digital_clock.dmi' verb_say = "beeps" verb_ask = "bloops" verb_exclaim = "blares" @@ -14,10 +14,9 @@ name = "digital clock frame" desc = "Used to build digital clocks, just secure to the wall." icon_state = "digital_clock_base" - icon = 'icons/obj/digital_clock.dmi' + icon = 'icons/obj/machines/digital_clock.dmi' custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 7, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 4) result_path = /obj/machinery/digital_clock - pixel_shift = 28 /obj/machinery/digital_clock/wrench_act_secondary(mob/living/user, obj/item/tool) . = ..() @@ -133,25 +132,25 @@ var/return_overlays = list() - var/mutable_appearance/minute_one_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_minute_one]") + var/mutable_appearance/minute_one_overlay = mutable_appearance('icons/obj/machines/digital_clock.dmi', "+[station_minute_one]") minute_one_overlay.pixel_w = 0 return_overlays += minute_one_overlay - var/mutable_appearance/minute_tenth_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_minute_tenth]") + var/mutable_appearance/minute_tenth_overlay = mutable_appearance('icons/obj/machines/digital_clock.dmi', "+[station_minute_tenth]") minute_tenth_overlay.pixel_w = -4 return_overlays += minute_tenth_overlay - var/mutable_appearance/separator = mutable_appearance('icons/obj/digital_clock.dmi', "+separator") + var/mutable_appearance/separator = mutable_appearance('icons/obj/machines/digital_clock.dmi', "+separator") return_overlays += separator - var/mutable_appearance/hour_one_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_hours_one]") + var/mutable_appearance/hour_one_overlay = mutable_appearance('icons/obj/machines/digital_clock.dmi', "+[station_hours_one]") hour_one_overlay.pixel_w = -10 return_overlays += hour_one_overlay - var/mutable_appearance/hour_tenth_overlay = mutable_appearance('icons/obj/digital_clock.dmi', "+[station_hours_tenth]") + var/mutable_appearance/hour_tenth_overlay = mutable_appearance('icons/obj/machines/digital_clock.dmi', "+[station_hours_tenth]") hour_tenth_overlay.pixel_w = -14 return_overlays += hour_tenth_overlay return return_overlays -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/digital_clock, 28) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/digital_clock) diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index b386ebb376f57..74ca492657b6e 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -12,7 +12,6 @@ interaction_flags_click = ALLOW_SILICON_REACH /// List of dishes the drive can hold var/static/list/collectable_items = list( - /obj/item/trash/waffles, /obj/item/broken_bottle, /obj/item/kitchen/fork, /obj/item/plate, @@ -24,7 +23,6 @@ ) /// List of items the drive detects as trash var/static/list/disposable_items = list( - /obj/item/trash/waffles, /obj/item/broken_bottle, /obj/item/plate_shard, /obj/item/shard, 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 0c181ad043e77..10fcae90a9591 100644 --- a/code/game/machinery/dna_infuser/organ_sets/carp_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/carp_organs.dm @@ -58,11 +58,12 @@ var/datum/species/rec_species = human_receiver.dna.species rec_species.update_no_equip_flags(tongue_owner, rec_species.no_equip_flags | ITEM_SLOT_MASK) -/obj/item/organ/internal/tongue/carp/on_bodypart_insert(obj/item/bodypart/limb) +/obj/item/organ/internal/tongue/carp/on_bodypart_insert(obj/item/bodypart/head) . = ..() - limb.unarmed_damage_low = 10 - limb.unarmed_damage_high = 15 - limb.unarmed_effectiveness = 15 + head.unarmed_damage_low = 10 + head.unarmed_damage_high = 15 + head.unarmed_effectiveness = 15 + head.unarmed_attack_effect = ATTACK_EFFECT_BITE /obj/item/organ/internal/tongue/carp/on_mob_remove(mob/living/carbon/tongue_owner) . = ..() @@ -76,10 +77,10 @@ /obj/item/organ/internal/tongue/carp/on_bodypart_remove(obj/item/bodypart/head) . = ..() - head.unarmed_damage_low = initial(head.unarmed_damage_low) head.unarmed_damage_high = initial(head.unarmed_damage_high) head.unarmed_effectiveness = initial(head.unarmed_effectiveness) + head.unarmed_attack_effect = initial(head.unarmed_attack_effect) /obj/item/organ/internal/tongue/carp/on_life(seconds_per_tick, times_fired) . = ..() @@ -104,6 +105,7 @@ icon_state = "brain" greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = CARP_COLORS + can_smoothen_out = FALSE ///Timer counting down. When finished, the owner gets a bad moodlet. var/cooldown_timer diff --git a/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm index 34d50fc3fc26b..4786bf5753c9f 100644 --- a/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm @@ -51,7 +51,7 @@ /obj/item/organ/internal/tongue/fly/New(class, timer, datum/mutation/human/copymut) . = ..() - AddComponent(/datum/component/speechmod, replacements = speech_replacements) + AddComponent(/datum/component/speechmod, replacements = speech_replacements, should_modify_speech = CALLBACK(src, PROC_REF(should_modify_speech))) /obj/item/organ/internal/tongue/fly/Initialize(mapload) . = ..() @@ -125,7 +125,6 @@ //useless organs we throw in just to fuck with surgeons a bit more. they aren't part of a bonus, just the (absolute) state of flies /obj/item/organ/internal/fly desc = FLY_INFUSED_ORGAN_DESC - visual = FALSE /obj/item/organ/internal/fly/Initialize(mapload) . = ..() diff --git a/code/game/machinery/dna_infuser/organ_sets/fox_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fox_organs.dm index ab33c1ad57ef3..3fecac3bb6dbf 100644 --- a/code/game/machinery/dna_infuser/organ_sets/fox_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/fox_organs.dm @@ -6,17 +6,4 @@ visual = TRUE damage_multiplier = 2 -/obj/item/organ/internal/ears/fox/on_mob_insert(mob/living/carbon/human/ear_owner) - . = ..() - if(istype(ear_owner) && ear_owner.dna) - color = ear_owner.hair_color - ear_owner.dna.features["ears"] = ear_owner.dna.species.mutant_bodyparts["ears"] = "Fox" - ear_owner.dna.update_uf_block(DNA_EARS_BLOCK) - ear_owner.update_body() - -/obj/item/organ/internal/ears/fox/on_mob_remove(mob/living/carbon/human/ear_owner) - . = ..() - if(istype(ear_owner) && ear_owner.dna) - color = ear_owner.hair_color - ear_owner.dna.species.mutant_bodyparts -= "ears" - ear_owner.update_body() + sprite_accessory_override = /datum/sprite_accessory/ears/fox diff --git a/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm b/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm index ac3dae39b7019..385878cb255a4 100644 --- a/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm @@ -58,6 +58,7 @@ icon_state = "brain" greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = GOLIATH_COLORS + can_smoothen_out = FALSE var/obj/item/goliath_infuser_hammer/hammer diff --git a/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm b/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm index 797c7839b2c29..9fcf7e483bba9 100644 --- a/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm @@ -34,7 +34,7 @@ Fluoride Stare: After someone says 5 words, blah blah blah... AddElement(/datum/element/noticable_organ, "%PRONOUN_They radiate%PRONOUN_s an aura of serenity.") AddElement(/datum/element/update_icon_blocker) -/obj/item/organ/internal/heart/gondola/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/internal/heart/gondola/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() if(!(FACTION_HOSTILE in receiver.faction)) factions_to_remove += FACTION_HOSTILE @@ -42,7 +42,7 @@ Fluoride Stare: After someone says 5 words, blah blah blah... factions_to_remove += FACTION_MINING receiver.faction |= list(FACTION_HOSTILE, FACTION_MINING) -/obj/item/organ/internal/heart/gondola/Remove(mob/living/carbon/heartless, special, movement_flags) +/obj/item/organ/internal/heart/gondola/mob_remove(mob/living/carbon/heartless, special, movement_flags) . = ..() for(var/faction in factions_to_remove) heartless.faction -= faction @@ -64,11 +64,11 @@ Fluoride Stare: After someone says 5 words, blah blah blah... AddElement(/datum/element/noticable_organ, "%PRONOUN_Their mouth is permanently affixed into a relaxed smile.", BODY_ZONE_PRECISE_MOUTH) AddElement(/datum/element/organ_set_bonus, /datum/status_effect/organ_set_bonus/gondola) -/obj/item/organ/internal/tongue/gondola/Insert(mob/living/carbon/tongue_owner, special, movement_flags) +/obj/item/organ/internal/tongue/gondola/mob_insert(mob/living/carbon/tongue_owner, special, movement_flags) . = ..() tongue_owner.add_mood_event("gondola_zen", /datum/mood_event/gondola_serenity) -/obj/item/organ/internal/tongue/gondola/Remove(mob/living/carbon/tongue_owner, special, movement_flags) +/obj/item/organ/internal/tongue/gondola/mob_remove(mob/living/carbon/tongue_owner, special, movement_flags) tongue_owner.clear_mood_event("gondola_zen") return ..() @@ -87,7 +87,7 @@ Fluoride Stare: After someone says 5 words, blah blah blah... AddElement(/datum/element/noticable_organ, "%PRONOUN_Their left arm has small needles breaching the skin all over it.", BODY_ZONE_L_ARM) AddElement(/datum/element/noticable_organ, "%PRONOUN_Their right arm has small needles breaching the skin all over it.", BODY_ZONE_R_ARM) -/obj/item/organ/internal/liver/gondola/Insert(mob/living/carbon/liver_owner, special, movement_flags) +/obj/item/organ/internal/liver/gondola/mob_insert(mob/living/carbon/liver_owner, special, movement_flags) . = ..() var/has_left = liver_owner.has_left_hand(check_disabled = FALSE) var/has_right = liver_owner.has_right_hand(check_disabled = FALSE) @@ -102,7 +102,7 @@ Fluoride Stare: After someone says 5 words, blah blah blah... RegisterSignal(liver_owner, COMSIG_LIVING_TRY_PULL, PROC_REF(on_owner_try_pull)) RegisterSignal(liver_owner, COMSIG_CARBON_HELPED, PROC_REF(on_hug)) -/obj/item/organ/internal/liver/gondola/Remove(mob/living/carbon/liver_owner, special, movement_flags) +/obj/item/organ/internal/liver/gondola/mob_remove(mob/living/carbon/liver_owner, special, movement_flags) . = ..() UnregisterSignal(liver_owner, list(COMSIG_HUMAN_EQUIPPING_ITEM, COMSIG_LIVING_TRY_PULL, COMSIG_CARBON_HELPED)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 33465809f4270..eaa97d6ab451e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -74,7 +74,7 @@ /obj/machinery/door/airlock name = "Airlock" - icon = 'icons/obj/doors/airlocks/station/public.dmi' + icon = 'icons/obj/doors/airlocks/tall/maintenance.dmi' icon_state = "closed" max_integrity = 300 var/normal_integrity = AIRLOCK_INTEGRITY_N @@ -83,10 +83,11 @@ autoclose = TRUE explosion_block = 1 hud_possible = list(DIAG_AIRLOCK_HUD) - smoothing_groups = SMOOTH_GROUP_AIRLOCK - interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_OPEN interaction_flags_click = ALLOW_SILICON_REACH + interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_OPEN + greyscale_config = /datum/greyscale_config/airlocks/custom + greyscale_colors = "#a5a7ac#a5a7ac#969696#969696#5ea52c#6d6565#777777" blocks_emissive = EMISSIVE_BLOCK_NONE // Custom emissive blocker. We don't want the normal behavior. ///The type of door frame to drop during deconstruction @@ -134,10 +135,17 @@ /// What airlock assembly mineral plating was applied to var/previous_airlock = /obj/structure/door_assembly /// Material of inner filling; if its an airlock with glass, this should be set to "glass" - var/airlock_material - var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + var/airlock_material = "fill" + var/overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' /// Used for papers and photos pinned to the airlock - var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + var/note_overlay_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' + /// Do we use the old style of airlock rendering + /// This exists as legacy to allow "small" airlocks to render properly until they are resprited + /// This style is deprecated and support will be removed once all existing users are fixed + var/short_rendering = FALSE + + /// Airlock pump that overrides airlock controlls when set up for cycling + var/obj/machinery/atmospherics/components/unary/airlock_pump/cycle_pump var/cyclelinkeddir = 0 var/obj/machinery/door/airlock/cyclelinkedairlock @@ -156,11 +164,17 @@ rad_insulation = RAD_MEDIUM_INSULATION /obj/machinery/door/airlock/Initialize(mapload) + // Here we check the style of greyscale_config, then cut down the number of colors passed along to 6 colors for window airlocks, or 5 for solids. + // This way we only need to pass along the full 7 color set when making a new airlock pattern. + if(!ispath(greyscale_config, /datum/greyscale_config/airlocks/custom)) + if(glass) + greyscale_colors = (copytext(greyscale_colors, 1, 43)) + else if(ispath(greyscale_config, /datum/greyscale_config/airlocks)) + greyscale_colors = (copytext(greyscale_colors, 1, 36)) . = ..() set_wires(get_wires()) - if(glass) - airlock_material = "glass" + if(security_level > AIRLOCK_SECURITY_IRON) atom_integrity = normal_integrity * AIRLOCK_INTEGRITY_MULTIPLIER max_integrity = normal_integrity * AIRLOCK_INTEGRITY_MULTIPLIER @@ -179,10 +193,24 @@ // Click on the floor to close airlocks AddComponent(/datum/component/redirect_attack_hand_from_turf) - RegisterSignal(src, COMSIG_MACHINERY_BROKEN, PROC_REF(on_break)) + // copied from windoors, because fuck you and connect loc + var/static/list/loc_connections = list( + COMSIG_ATOM_EXIT = PROC_REF(on_exit), + ) + AddElement(/datum/element/connect_loc, loc_connections) + RegisterSignal(src, COMSIG_MACHINERY_BROKEN, PROC_REF(on_break)) RegisterSignal(SSdcs, COMSIG_GLOB_GREY_TIDE, PROC_REF(grey_tide)) + if(mapload) + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/door/airlock/post_machine_initialize(mapload) + . = ..() + if(mapload) + auto_align() + update_appearance() + /obj/machinery/door/airlock/proc/grey_tide(datum/source, list/grey_tide_areas) SIGNAL_HANDLER @@ -286,7 +314,6 @@ qdel(src) /obj/machinery/door/airlock/Destroy() - QDEL_NULL(wires) QDEL_NULL(electronics) if (cyclelinkedairlock) if (cyclelinkedairlock.cyclelinkedairlock == src) @@ -494,23 +521,27 @@ /obj/machinery/door/airlock/proc/is_secure() return (security_level > 0) -/obj/machinery/door/airlock/update_icon(updates=ALL, state=0, override=FALSE) - if(operating && !override) - return - +/obj/machinery/door/airlock/update_icon(updates=ALL, state=0) if(!state) state = density ? AIRLOCK_CLOSED : AIRLOCK_OPEN - airlock_state = state + // operating is "doing an animtion" + // FUCK + if(!operating || (state == AIRLOCK_OPENING || state == AIRLOCK_CLOSING || state == AIRLOCK_EMAG)) + airlock_state = state . = ..() /obj/machinery/door/airlock/update_icon_state() . = ..() switch(airlock_state) - if(AIRLOCK_OPEN, AIRLOCK_CLOSED) - icon_state = "" - if(AIRLOCK_DENY, AIRLOCK_OPENING, AIRLOCK_CLOSING, AIRLOCK_EMAG) - icon_state = "nonexistenticonstate" //MADNESS + if(AIRLOCK_OPEN) + icon_state = short_rendering ? "open" : "open_top" + if(AIRLOCK_CLOSED, AIRLOCK_DENY, AIRLOCK_EMAG) + icon_state = "closed" + if(AIRLOCK_OPENING) + icon_state = "opening" + if(AIRLOCK_CLOSING) + icon_state = "closing" /obj/machinery/door/airlock/update_overlays() . = ..() @@ -524,6 +555,8 @@ light_state = AIRLOCK_LIGHT_BOLTS else if(emergency) light_state = AIRLOCK_LIGHT_EMERGENCY + if(!greyscale_config) + . += get_airlock_overlay("[airlock_material]_closed", icon , src) if(AIRLOCK_DENY) frame_state = AIRLOCK_FRAME_CLOSED light_state = AIRLOCK_LIGHT_DENIED @@ -532,20 +565,21 @@ if(AIRLOCK_CLOSING) frame_state = AIRLOCK_FRAME_CLOSING light_state = AIRLOCK_LIGHT_CLOSING + if(!greyscale_config) + . += get_airlock_overlay("[airlock_material]_closing", icon , src) if(AIRLOCK_OPEN) frame_state = AIRLOCK_FRAME_OPEN + // If we're open we layer the bit below us "above" any mobs so they can walk through + if(!short_rendering) + . += mutable_appearance(icon, "open_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, "open_bottom", src, ABOVE_MOB_LAYER) + if(!greyscale_config) + . += get_airlock_overlay("[airlock_material]_open", icon , src) if(AIRLOCK_OPENING) frame_state = AIRLOCK_FRAME_OPENING light_state = AIRLOCK_LIGHT_OPENING - - . += get_airlock_overlay(frame_state, icon, src, em_block = TRUE) - if(airlock_material) - . += get_airlock_overlay("[airlock_material]_[frame_state]", overlays_file, src, em_block = TRUE) - else - . += get_airlock_overlay("fill_[frame_state]", icon, src, em_block = TRUE) - - if(lights && hasPower()) - . += get_airlock_overlay("lights_[light_state]", overlays_file, src, em_block = FALSE) + if(!greyscale_config) + . += get_airlock_overlay("[airlock_material]_opening", icon , src) if(panel_open) . += get_airlock_overlay("panel_[frame_state][security_level ? "_protected" : null]", overlays_file, src, em_block = TRUE) @@ -555,7 +589,18 @@ if(airlock_state == AIRLOCK_EMAG) . += get_airlock_overlay("sparks", overlays_file, src, em_block = FALSE) - if(hasPower()) + if(hasPower()) //Indicator Lights section + + if(unres_sides && airlock_state == AIRLOCK_CLOSED) //Unrestricted access side. This is the lowest priority light, so we do it first + for(var/heading in list(dir,turn(dir, 180))) //Only check the door's dir and the flip + if(!(unres_sides & heading)) + continue + for(var/mutable_appearance/bluelight in get_airlock_overlay("lights_unres", overlays_file, src, em_block = FALSE)) + . += make_mutable_appearance_directional(bluelight, heading) + + if(lights) //bolt lights + . += get_airlock_overlay("lights_[light_state]", overlays_file, src, em_block = FALSE) + if(frame_state == AIRLOCK_FRAME_CLOSED) if(atom_integrity < integrity_failure * max_integrity) . += get_airlock_overlay("sparks_broken", overlays_file, src, em_block = FALSE) @@ -571,26 +616,9 @@ if(frame_state == AIRLOCK_FRAME_CLOSED && seal) . += get_airlock_overlay("sealed", overlays_file, src, em_block = TRUE) - if(hasPower() && unres_sides) - for(var/heading in list(NORTH,SOUTH,EAST,WEST)) - if(!(unres_sides & heading)) - continue - var/mutable_appearance/floorlight = mutable_appearance('icons/obj/doors/airlocks/station/overlays.dmi', "unres_[heading]", FLOAT_LAYER, src, ABOVE_LIGHTING_PLANE) - switch (heading) - if (NORTH) - floorlight.pixel_x = 0 - floorlight.pixel_y = 32 - if (SOUTH) - floorlight.pixel_x = 0 - floorlight.pixel_y = -32 - if (EAST) - floorlight.pixel_x = 32 - floorlight.pixel_y = 0 - if (WEST) - floorlight.pixel_x = -32 - floorlight.pixel_y = 0 - . += floorlight + update_greyscale() +// I HATE AIRLOCKS AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH /obj/machinery/door/airlock/run_animation(animation) switch(animation) if(DOOR_OPENING_ANIMATION) @@ -726,12 +754,16 @@ context[SCREENTIP_CONTEXT_LMB] = "Repair" return CONTEXTUAL_SCREENTIP_SET - if(istype(held_item, /obj/item/wrench/bolter)) - if(locked) - context[SCREENTIP_CONTEXT_LMB] = "Raise bolts" - return CONTEXTUAL_SCREENTIP_SET - return CONTEXTUAL_SCREENTIP_SET + if(TOOL_WRENCH) + if(panel_open && security_level == AIRLOCK_SECURITY_NONE) + if(istype(held_item, /obj/item/wrench/bolter)) + if(locked) + context[SCREENTIP_CONTEXT_LMB] = "Raise bolts" + return CONTEXTUAL_SCREENTIP_SET + context[SCREENTIP_CONTEXT_LMB] = "Change orientation" + return CONTEXTUAL_SCREENTIP_SET + return . /obj/machinery/door/airlock/attack_ai(mob/user) @@ -865,6 +897,31 @@ update_appearance() return ITEM_INTERACT_SUCCESS +/obj/machinery/door/airlock/wrench_act(mob/living/user, obj/item/tool) + if(!panel_open || !density) + return ..() + + if(security_level != AIRLOCK_SECURITY_NONE) + balloon_alert(user, "cannot access!") + return TRUE + + if(shock(user, 100)) + return TRUE + + if(locked) + if(!istype(tool, /obj/item/wrench/bolter)) + balloon_alert(user, "bolted!") + else + return do_bolter_unbolt(user, tool) + return TRUE + + if(!tool.use_tool(src, user, 2 SECONDS, volume = 50)) + return TRUE + + setDir(turn(dir, 90)) + balloon_alert(user, "changed orientation [dir2text(dir)]") + return TRUE + /obj/machinery/door/airlock/wirecutter_act(mob/living/user, obj/item/tool) if(panel_open && security_level == AIRLOCK_SECURITY_PLASTEEL) . = ITEM_INTERACT_SUCCESS // everything after this shouldn't result in attackby @@ -926,22 +983,11 @@ update_appearance() return ITEM_INTERACT_SUCCESS -/obj/machinery/door/airlock/wrench_act(mob/living/user, obj/item/tool) - if(!locked) - return - if(!panel_open) - balloon_alert(user, "panel is closed!") +/obj/machinery/door/airlock/proc/do_bolter_unbolt(mob/living/user, /obj/item/wrench/bolter/bolter) + balloon_alert(user, "raising bolts...") + if(!do_after(user, 5 SECONDS, src)) return - if(security_level != AIRLOCK_SECURITY_NONE) - balloon_alert(user, "airlock is reinforced!") - return - - if(istype(tool, /obj/item/wrench/bolter)) - balloon_alert(user, "raising bolts...") - if(!do_after(user, 5 SECONDS, src)) - return - unbolt() - + unbolt() return ITEM_INTERACT_SUCCESS /obj/machinery/door/airlock/welder_act(mob/living/user, obj/item/tool) @@ -1222,6 +1268,10 @@ INVOKE_ASYNC(src, density ? PROC_REF(open) : PROC_REF(close), BYPASS_DOOR_CHECKS) /obj/machinery/door/airlock/open(forced = DEFAULT_DOOR_CHECKS) + if(cycle_pump && !operating && !welded && !seal && locked && density) + cycle_pump.airlock_act(src) + return FALSE // The rest will be handled by the pump + if( operating || welded || locked || seal ) return FALSE @@ -1255,7 +1305,7 @@ SEND_SIGNAL(src, COMSIG_AIRLOCK_OPEN, forced) operating = TRUE - update_icon(ALL, AIRLOCK_OPENING, TRUE) + update_icon(ALL, AIRLOCK_OPENING) var/transparent_delay = animation_segment_delay(AIRLOCK_OPENING_TRANSPARENT) sleep(transparent_delay) set_opacity(0) @@ -1272,8 +1322,8 @@ var/open_delay = animation_segment_delay(AIRLOCK_OPENING_FINISHED) - transparent_delay - passable_delay sleep(open_delay) layer = OPEN_DOOR_LAYER - update_icon(ALL, AIRLOCK_OPEN, TRUE) operating = FALSE + update_icon(ALL, AIRLOCK_OPEN) if(delayed_close_requested) delayed_close_requested = FALSE addtimer(CALLBACK(src, PROC_REF(close)), FORCING_DOOR_CHECKS) @@ -1331,7 +1381,7 @@ SSexplosions.med_mov_atom += killthis SEND_SIGNAL(src, COMSIG_AIRLOCK_CLOSE, forced) operating = TRUE - update_icon(ALL, AIRLOCK_CLOSING, 1) + update_icon(ALL, AIRLOCK_CLOSING) layer = CLOSED_DOOR_LAYER if(air_tight) set_density(TRUE) @@ -1360,6 +1410,7 @@ sleep(close_delay) update_icon(ALL, AIRLOCK_CLOSED, 1) operating = FALSE + update_icon(ALL, AIRLOCK_CLOSED) delayed_close_requested = FALSE if(!dangerous_close) CheckForMobs() @@ -1432,7 +1483,7 @@ var/obj/item/card/emag/doorjack/doorjack_card = emag_card doorjack_card.use_charge(user) operating = TRUE - update_icon(ALL, AIRLOCK_EMAG, 1) + update_icon(ALL, AIRLOCK_EMAG) addtimer(CALLBACK(src, PROC_REF(finish_emag_act)), 0.6 SECONDS) return TRUE return FALSE @@ -1456,9 +1507,9 @@ return if(!density) //Already open return ..() + if(user.combat_mode) + return ..() if(locked || welded || seal) //Extremely generic, as aliens only understand the basics of how airlocks work. - if(user.combat_mode) - return ..() to_chat(user, span_warning("[src] refuses to budge!")) return add_fingerprint(user) @@ -1495,6 +1546,27 @@ open() safe = TRUE +/// Returns true if a directional move is valid, false otherwise +/obj/machinery/door/airlock/proc/allow_movement_for(atom/movable/passing_through, direction) + if(passing_through.movement_type & PHASING) + return TRUE + if(density && !operating) + return TRUE // to prevent people from getting stuck in doors + if(locate(/obj/machinery/door/airlock) in get_step(src, direction)) + return TRUE // going from one airlock to another + return (direction == dir || direction == turn(dir, 180)) + +/obj/machinery/door/airlock/CanAllowThrough(atom/movable/mover, border_dir) + if(allow_movement_for(mover, border_dir)) + return ..() // only allow movement if they are coming in or out the same direction of the airlock + + return FALSE // lmao theres a wall there fucko + +/obj/machinery/door/airlock/proc/on_exit(datum/source, atom/movable/leaving, direction) + SIGNAL_HANDLER + + if(!allow_movement_for(leaving, direction)) + return COMPONENT_ATOM_BLOCK_EXIT /obj/machinery/door/airlock/proc/on_break() SIGNAL_HANDLER @@ -1539,7 +1611,9 @@ /obj/machinery/door/airlock/proc/prepare_deconstruction_assembly(obj/structure/door_assembly/assembly) assembly.heat_proof_finished = heat_proof //tracks whether there's rglass in assembly.set_anchored(TRUE) + assembly.setDir(dir) assembly.glass = glass + assembly.set_greyscale(greyscale_colors, greyscale_config) assembly.state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS assembly.created_name = name assembly.previous_assembly = previous_airlock @@ -1587,7 +1661,7 @@ return FALSE /obj/machinery/door/airlock/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_DECONSTRUCT) qdel(src) return TRUE @@ -1654,7 +1728,7 @@ data["wires"] = wire return data -/obj/machinery/door/airlock/ui_act(action, params) +/obj/machinery/door/airlock/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -1822,6 +1896,17 @@ /obj/structure/fluff/airlock_filler/singularity_pull(S, current_size) return +/obj/machinery/door/airlock/proc/set_cycle_pump(obj/machinery/atmospherics/components/unary/airlock_pump/pump) + RegisterSignal(pump, COMSIG_QDELETING, PROC_REF(unset_cycle_pump)) + cycle_pump = pump + +/obj/machinery/door/airlock/proc/unset_cycle_pump() + SIGNAL_HANDLER + if(locked) + unbolt() + say("Link broken, unbolting.") + cycle_pump = null + // Station Airlocks Regular /obj/machinery/door/airlock/command @@ -1829,23 +1914,29 @@ icon = 'icons/obj/doors/airlocks/station/command.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_com normal_integrity = 450 + greyscale_colors = "#3e7bc1#3e7bc1#2a5b94#2a5b94#369de5#6d6565#2c5280" /obj/machinery/door/airlock/security name = "security airlock" - icon = 'icons/obj/doors/airlocks/station/security.dmi' - var/id = null + icon = 'icons/obj/doors/airlocks/tall/department/security.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_sec normal_integrity = 450 + greyscale_config = null + greyscale_colors = null + var/id = null /obj/machinery/door/airlock/engineering name = "engineering airlock" icon = 'icons/obj/doors/airlocks/station/engineering.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_eng + greyscale_colors = "#d8a81b#d8a81b#c2940d#c2940d#7f292f#6d6565#997715" /obj/machinery/door/airlock/medical name = "medical airlock" icon = 'icons/obj/doors/airlocks/station/medical.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_med + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#66ccff#6d6565#ffffff" /obj/machinery/door/airlock/hydroponics //Hydroponics front doors! name = "hydroponics airlock" @@ -1854,44 +1945,57 @@ /obj/machinery/door/airlock/maintenance name = "maintenance access" - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' + icon = 'icons/obj/doors/airlocks/tall/maintenance.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_mai normal_integrity = 250 + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/maintenance/external name = "external airlock access" icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_extmai + greyscale_config = /datum/greyscale_config/airlocks/custom + greyscale_colors = "#585858#585858#5f5f5f#6d6b6b#ae4e26#ae4e26#4a4a4a" /obj/machinery/door/airlock/mining name = "mining airlock" icon = 'icons/obj/doors/airlocks/station/mining.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_min + greyscale_colors = "#c39344#c39344#b3863c#b3863c#78430d#6d6565#967032" /obj/machinery/door/airlock/atmos name = "atmospherics airlock" - icon = 'icons/obj/doors/airlocks/station/atmos.dmi' + icon = 'icons/obj/doors/airlocks/tall/department/atmos.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_atmo + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/research name = "research airlock" icon = 'icons/obj/doors/airlocks/station/research.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_research + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#974cdc#6d6565#ffffff" /obj/machinery/door/airlock/freezer name = "freezer airlock" icon = 'icons/obj/doors/airlocks/station/freezer.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_fre + greyscale_colors = "#ffffff#ffffff#eaeaea#eaeaea#808080#6d6565#ffffff" /obj/machinery/door/airlock/science name = "science airlock" icon = 'icons/obj/doors/airlocks/station/science.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_science + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#9966ff#6d6565#ffffff" /obj/machinery/door/airlock/virology name = "virology airlock" icon = 'icons/obj/doors/airlocks/station/virology.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_viro + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#006600#6d6565#ffffff" // Station Airlocks Glass @@ -1899,11 +2003,15 @@ name = "glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#a5a7ac#a5a7ac#969696#969696#5ea52c#6d6565" + /obj/machinery/door/airlock/glass/incinerator autoclose = FALSE heat_proof = TRUE req_access = list(ACCESS_SYNDICATE) + greyscale_colors = "#a5a7ac#a5a7ac#969696#969696#5ea52c#6d6565" /obj/machinery/door/airlock/glass/incinerator/syndicatelava_interior name = "Turbine Interior Airlock" @@ -1918,11 +2026,15 @@ opacity = FALSE glass = TRUE normal_integrity = 400 + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#3e7bc1#3e7bc1#2a5b94#2a5b94#369de5#6d6565" /obj/machinery/door/airlock/engineering/glass name = "engineering glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#d8a81b#d8a81b#c2940d#c2940d#7f292f#6d6565" /obj/machinery/door/airlock/engineering/glass/critical critical_machine = TRUE //stops greytide virus from opening & bolting doors in critical positions, such as the SM chamber. @@ -1932,21 +2044,28 @@ opacity = FALSE glass = TRUE normal_integrity = 400 + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/medical/glass name = "medical glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#66ccff#6d6565" /obj/machinery/door/airlock/hydroponics/glass //Uses same icon as medical/glass, maybe update it with its own unique icon one day? name = "hydroponics glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#a5a7ac#a5a7ac#969696#969696#5ea52c#6d6565" /obj/machinery/door/airlock/research/glass name = "research glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#974cdc#6d6565" /obj/machinery/door/airlock/research/glass/incinerator autoclose = FALSE @@ -1964,11 +2083,14 @@ name = "mining glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#c39344#c39344#b3863c#b3863c#78430d#6d6565" /obj/machinery/door/airlock/atmos/glass name = "atmospheric glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/atmos/glass/critical critical_machine = TRUE //stops greytide virus from opening & bolting doors in critical positions, such as the SM chamber. @@ -1977,29 +2099,38 @@ name = "science glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#9966ff#6d6565" /obj/machinery/door/airlock/virology/glass name = "virology glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#ffffff#ffffff#ffffff#ffffff#006600#6d6565" /obj/machinery/door/airlock/maintenance/glass name = "maintainence glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/maintenance/external/glass name = "maintainence external glass airlock" opacity = FALSE glass = TRUE normal_integrity = 200 + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#585858#585858#5f5f5f#6d6b6b#ae4e26#ae4e26" // Station Airlocks Mineral /obj/machinery/door/airlock/gold name = "gold airlock" - icon = 'icons/obj/doors/airlocks/station/gold.dmi' + icon = 'icons/obj/doors/airlocks/tall/mineral/gold.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_gold + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/gold/discoinferno heat_proof = TRUE @@ -2018,32 +2149,65 @@ /obj/machinery/door/airlock/gold/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/silver name = "silver airlock" - icon = 'icons/obj/doors/airlocks/station/silver.dmi' + icon = 'icons/obj/doors/airlocks/tall/mineral/silver.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_silver + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/silver/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/diamond name = "diamond airlock" - icon = 'icons/obj/doors/airlocks/station/diamond.dmi' + icon = 'icons/obj/doors/airlocks/tall/mineral/diamond.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/mineral/diamond_overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_diamond normal_integrity = 1000 explosion_block = 2 + greyscale_config = null + greyscale_colors = null + +/obj/machinery/door/airlock/diamond/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 0.6 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 0.6 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/diamond/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 0.2 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 0.5 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 0.6 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.3 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.5 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 0.6 SECONDS /obj/machinery/door/airlock/diamond/glass normal_integrity = 950 opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/uranium name = "uranium airlock" icon = 'icons/obj/doors/airlocks/station/uranium.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_uranium + greyscale_colors = "#003300#003300#004400#004400#003300#6d6565#003300" var/last_event = 0 //Is this airlock actually radioactive? var/actually_radioactive = TRUE @@ -2066,18 +2230,22 @@ /obj/machinery/door/airlock/uranium/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#003300#003300#004400#004400#003300#6d6565" /obj/machinery/door/airlock/uranium/safe actually_radioactive = FALSE /obj/machinery/door/airlock/uranium/glass/safe actually_radioactive = FALSE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/plasma name = "plasma airlock" desc = "No way this can end badly." icon = 'icons/obj/doors/airlocks/station/plasma.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_plasma + greyscale_colors = "#890e89#890e89#660066#660066#660066#6d6565#5d035d" material_flags = MATERIAL_EFFECTS material_modifier = 0.25 @@ -2091,6 +2259,8 @@ /obj/machinery/door/airlock/plasma/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#890e89#890e89#660066#660066#660066#6d6565" /obj/machinery/door/airlock/bananium name = "bananium airlock" @@ -2098,40 +2268,52 @@ icon = 'icons/obj/doors/airlocks/station/bananium.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_bananium doorOpen = 'sound/items/bikehorn.ogg' + greyscale_colors = "#ffff00#ffff00#ffff00#ffff00#ffff00#ffff00#ffff00" /obj/machinery/door/airlock/bananium/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#ffff00#ffff00#ffff00#ffff00#ffff00#ffff00" /obj/machinery/door/airlock/sandstone name = "sandstone airlock" icon = 'icons/obj/doors/airlocks/station/sandstone.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_sandstone + greyscale_colors = "#876f57#876f57#877869#877869#978471#6d6565#876f57" /obj/machinery/door/airlock/sandstone/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#876f57#876f57#877869#877869#978471#6d6565" /obj/machinery/door/airlock/wood name = "wooden airlock" - icon = 'icons/obj/doors/airlocks/station/wood.dmi' + icon = 'icons/obj/doors/airlocks/tall/wood.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_wood + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/wood/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/titanium name = "shuttle airlock" assemblytype = /obj/structure/door_assembly/door_assembly_titanium - icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' + icon = 'icons/obj/doors/airlocks/tall/shuttle/shuttle.dmi' overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' normal_integrity = 400 + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/titanium/glass normal_integrity = 350 opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/bronze name = "bronze airlock" @@ -2152,11 +2334,14 @@ icon = 'icons/obj/doors/airlocks/public/glass.dmi' overlays_file = 'icons/obj/doors/airlocks/public/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_public + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/public/glass name = "public glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/public/glass/incinerator autoclose = FALSE @@ -2174,11 +2359,12 @@ /obj/machinery/door/airlock/external name = "external airlock" - icon = 'icons/obj/doors/airlocks/external/external.dmi' + icon = 'icons/obj/doors/airlocks/tall/external/external.dmi' overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_ext - + greyscale_config = null + greyscale_colors = null /// Whether or not the airlock can be opened without access from a certain direction while powered, or with bare hands from any direction while unpowered OR pressurized. var/space_dir = null @@ -2221,6 +2407,30 @@ return ..() +/obj/machinery/door/airlock/external/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 0.6 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 0.6 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/external/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 0.2 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 0.5 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 0.6 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.3 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.5 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 0.6 SECONDS + // Access free external airlocks /obj/machinery/door/airlock/external/ruin @@ -2228,22 +2438,25 @@ name = "external glass airlock" opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/external/glass/ruin // CentCom Airlocks /obj/machinery/door/airlock/centcom //Use grunge as a station side version, as these have special effects related to them via phobias and such. - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/centcom.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_centcom normal_integrity = 1000 security_level = 6 explosion_block = 2 + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/grunge - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/centcom.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_grunge @@ -2251,59 +2464,167 @@ /obj/machinery/door/airlock/vault name = "vault door" - icon = 'icons/obj/doors/airlocks/vault/vault.dmi' + icon = 'icons/obj/doors/airlocks/tall/vault/vault.dmi' overlays_file = 'icons/obj/doors/airlocks/vault/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_vault explosion_block = 2 normal_integrity = 400 // reverse engieneerd: 400 * 1.5 (sec lvl 6) = 600 = original security_level = 6 + greyscale_config = null + greyscale_colors = null +/obj/machinery/door/airlock/vault/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 1.9 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 1.9 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/vault/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 1.3 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 1.8 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 1.9 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.3 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.6 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 1.9 SECONDS // Hatch Airlocks /obj/machinery/door/airlock/hatch name = "airtight hatch" - icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi' - overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' - note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/hatch/centcom.dmi' + //overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' + //note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_hatch + greyscale_config = null + greyscale_colors = null -/obj/machinery/door/airlock/maintenance_hatch +/obj/machinery/door/airlock/hatch/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 0.95 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 0.95 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/hatch/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 0.25 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 0.75 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 0.95 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.5 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.75 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 0.95 SECONDS + +/obj/machinery/door/airlock/maintenance_hatch //Please dear fucking LORD make this a subtype of the above, they're the SAME GOD DAMN THING name = "maintenance hatch" - icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi' - overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' - note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/hatch/maintenance.dmi' + //overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' + //note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_mhatch + greyscale_config = null + greyscale_colors = null + +/obj/machinery/door/airlock/maintenance_hatch/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 0.9 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 0.9 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/maintenance_hatch/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 0.2 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 0.6 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 0.9 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.4 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.8 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 0.9 SECONDS // High Security Airlocks /obj/machinery/door/airlock/highsecurity name = "high tech security airlock" - icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi' + icon = 'icons/obj/doors/airlocks/tall/secure/highsec.dmi' overlays_file = 'icons/obj/doors/airlocks/highsec/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_highsecurity explosion_block = 2 normal_integrity = 500 security_level = 1 damage_deflection = 30 + greyscale_config = null + greyscale_colors = null + +/obj/machinery/door/airlock/highsecurity/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 1.7 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 1.7 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/highsecurity/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 1.2 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 1.6 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 1.7 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.3 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.7 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 1.7 SECONDS // Shuttle Airlocks /obj/machinery/door/airlock/shuttle name = "shuttle airlock" - icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' + icon = 'icons/obj/doors/airlocks/tall/shuttle/shuttle.dmi' overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_shuttle + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/shuttle/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/abductor name = "alien airlock" desc = "With humanity's current technological level, it could take years to hack this advanced airlock... or maybe we should give a screwdriver a try?" icon = 'icons/obj/doors/airlocks/abductor/abductor_airlock.dmi' overlays_file = 'icons/obj/doors/airlocks/abductor/overlays.dmi' + // YET TO BE UPDATED TO 3/4ths + short_rendering = TRUE assemblytype = /obj/structure/door_assembly/door_assembly_abductor note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi' damage_deflection = 30 @@ -2312,18 +2633,21 @@ aiControlDisabled = AI_WIRE_DISABLED normal_integrity = 700 security_level = 1 + greyscale_config = null + greyscale_colors = null // Cult Airlocks /obj/machinery/door/airlock/cult name = "cult airlock" - icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/cult/cult_runed.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_cult hackProof = TRUE aiControlDisabled = AI_WIRE_DISABLED req_access = list(ACCESS_BLOODCULT) damage_deflection = 10 + greyscale_config = null + greyscale_colors = null var/openingoverlaytype = /obj/effect/temp_visual/cult/door var/friendly = FALSE var/stealthy = FALSE @@ -2363,9 +2687,33 @@ L.throw_at(throwtarget, 5, 1) return FALSE +/obj/machinery/door/airlock/cult/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 1.6 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 1.6 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS + +/obj/machinery/door/airlock/cult/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 1.3 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 1.4 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 1.6 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.9 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 1.1 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 1.6 SECONDS + /obj/machinery/door/airlock/cult/proc/conceal() - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/maintenance.dmi' + overlays_file = 'icons/obj/doors/airlocks/tall/overlays.dmi' name = "Airlock" desc = "It opens and closes." stealthy = TRUE @@ -2388,13 +2736,13 @@ /obj/machinery/door/airlock/cult/glass glass = TRUE opacity = FALSE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/cult/glass/friendly friendly = TRUE /obj/machinery/door/airlock/cult/unruned - icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' + icon = 'icons/obj/doors/airlocks/tall/cult/cult.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned @@ -2404,6 +2752,7 @@ /obj/machinery/door/airlock/cult/unruned/glass glass = TRUE opacity = FALSE + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/cult/unruned/glass/friendly friendly = TRUE @@ -2420,9 +2769,37 @@ /obj/machinery/door/airlock/material name = "Airlock" material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_GREYSCALE | MATERIAL_AFFECT_STATISTICS - greyscale_config = /datum/greyscale_config/material_airlock + greyscale_config = /datum/greyscale_config/airlocks + greyscale_colors = "#a5a7ac#a5a7ac#a5a7ac#a5a7ac#a5a7ac" assemblytype = /obj/structure/door_assembly/door_assembly_material +/obj/machinery/door/airlock/material/Initialize(mapload) + greyscale_colors = extend_colors(greyscale_colors) + return ..() + +/obj/machinery/door/airlock/material/set_greyscale(list/colors, new_config) + colors = extend_colors(colors) + return ..() + +/// Takes our greyscale colors, if we don't have enough add copies on till we do +/obj/machinery/door/airlock/material/proc/extend_colors(grey_colors) + var/target = 7 // Colors required for custom, the longest config + if(!ispath(greyscale_config, /datum/greyscale_config/airlocks/custom)) + if(glass) + target = 6 + else if(ispath(greyscale_config, /datum/greyscale_config/airlocks)) + target = 5 + + if(islist(grey_colors)) + var/list/grey_list = grey_colors + grey_colors = grey_list.Join("") + var/list/split_greyscale = splittext(grey_colors, "#") + // 6 comes from the required length for /datum/greyscale_config/airlocks/window, our worst case scenario + // - 1 because the first # sections between nothing and the first color + for(var/i in 1 to (target - (length(split_greyscale) - 1))) + split_greyscale += split_greyscale[2] // backfill with the first color + return split_greyscale.Join("#") + /obj/machinery/door/airlock/material/close(forced, force_crush) . = ..() if(!.) @@ -2439,31 +2816,25 @@ /obj/machinery/door/airlock/material/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#a5a7ac#a5a7ac#a5a7ac#a5a7ac#a5a7ac#a5a7ac" // Multi-tile (Large) Airlocks /obj/machinery/door/airlock/multi_tile icon = 'icons/obj/doors/airlocks/multi_tile/public/glass.dmi' overlays_file = 'icons/obj/doors/airlocks/multi_tile/public/overlays.dmi' + // YET TO BE UPDATED TO 3/4ths + short_rendering = TRUE assemblytype = /obj/structure/door_assembly/multi_tile/door_assembly_public multi_tile = TRUE opacity = FALSE glass = TRUE - -/obj/structure/fluff/airlock_filler - name = "airlock fluff" - desc = "You shouldn't be able to see this fluff!" - icon = null - icon_state = null - density = TRUE - opacity = TRUE - anchored = TRUE - invisibility = INVISIBILITY_MAXIMUM - can_atmos_pass = ATMOS_PASS_DENSITY - /// The door/airlock this fluff panel is attached to - var/obj/machinery/door/filled_airlock + greyscale_config = null + greyscale_colors = null /obj/machinery/door/airlock/multi_tile/public/glass + greyscale_config = /datum/greyscale_config/airlocks/window /obj/machinery/door/airlock/multi_tile/narsie_act() return @@ -2492,6 +2863,19 @@ operating = FALSE return TRUE +/obj/structure/fluff/airlock_filler + name = "airlock fluff" + desc = "You shouldn't be able to see this fluff!" + icon = null + icon_state = null + density = TRUE + opacity = TRUE + anchored = TRUE + invisibility = INVISIBILITY_MAXIMUM + can_atmos_pass = ATMOS_PASS_DENSITY + /// The door/airlock this fluff panel is attached to + var/obj/machinery/door/filled_airlock + #undef AIRLOCK_SECURITY_NONE #undef AIRLOCK_SECURITY_IRON #undef AIRLOCK_SECURITY_PLASTEEL_I_S diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 73ae0994eb517..2973579153a84 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -109,7 +109,7 @@ var/new_cycle_id = trim(params["passedCycleId"], 30) passed_cycle_id = new_cycle_id -/obj/item/electronics/airlock/ui_act(action, params) +/obj/item/electronics/airlock/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 26dc09204a70c..572462b84d5e2 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -14,8 +14,8 @@ desc = "A remote control for a door." current_mode = SD_MESSAGE req_access = list(ACCESS_SECURITY) - text_color = "#F44" - header_text_color = "#F88" + text_color = "#FF4444" + header_text_color = "#FF8888" /// ID of linked machinery/lockers. var/id = null @@ -34,6 +34,8 @@ ///needed to send messages to sec radio var/obj/item/radio/sec_radio +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/door_timer) + /obj/machinery/status_display/door_timer/Initialize(mapload) . = ..() @@ -214,7 +216,7 @@ break return data -/obj/machinery/status_display/door_timer/ui_act(action, params) +/obj/machinery/status_display/door_timer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index c6ed9f94a99f0..66cfbe8543e47 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -68,6 +68,13 @@ var/elevator_status /// What specific lift ID do we link with? var/transport_linked_id + /// Icon state prefix to use for masks from vis_mask.dmi + var/dir_mask = "standard" + /// Similar to the above but used for cases where walls are adjacent + var/edge_dir_mask = "standard" + /// What directions in which we do not fully cover our darkness with masks + /// Allows for full directional visibility + var/inner_transparent_dirs = NONE /datum/armor/machinery_door melee = 30 @@ -102,6 +109,8 @@ else flags_1 &= ~PREVENT_CLICK_UNDER_1 + if(glass) + passwindow_on(src, INNATE_TRAIT) //doors only block while dense though so we have to use the proc real_explosion_block = explosion_block update_explosive_block() @@ -112,6 +121,12 @@ ) AddElement(/datum/element/connect_loc, loc_connections) AddElement(/datum/element/can_barricade) + make_dir_opaque() + +/obj/machinery/door/proc/make_dir_opaque() + if(!dir_mask || !edge_dir_mask) + return + AddComponent(/datum/component/vis_block, dir_mask, edge_dir_mask, inner_transparent_dirs) /obj/machinery/door/examine(mob/user) . = ..() @@ -369,6 +384,12 @@ return TRUE return ..() +/obj/machinery/door/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) + // allows you to crowbar doors while in combat mode + if(user.combat_mode && tool.tool_behaviour == TOOL_CROWBAR) + return crowbar_act_secondary(user, tool) + return ..() + /obj/machinery/door/welder_act_secondary(mob/living/user, obj/item/tool) try_to_weld_secondary(tool, user) return ITEM_INTERACT_SUCCESS @@ -411,24 +432,20 @@ switch(animation) if(DOOR_OPENING_ANIMATION) if(panel_open) - icon_state = "o_door_opening" + icon_state = "o_doorc0" else - icon_state = "door_opening" + icon_state = "doorc0" if(DOOR_CLOSING_ANIMATION) if(panel_open) - icon_state = "o_door_closing" + icon_state = "o_doorc1" else - icon_state = "door_closing" + icon_state = "doorc1" if(DOOR_DENY_ANIMATION) if(!machine_stat) icon_state = "door_deny" else - icon_state = "[base_icon_state]_[density ? "closed" : "open"]" - -/obj/machinery/door/update_overlays() - . = ..() - if(panel_open) - . += mutable_appearance(icon, "panel_open") + icon_state = "[base_icon_state][density]" + return ..() /// Returns the delay to use for the passed in animation /// We'll do our cleanup once the delay runs out @@ -478,6 +495,7 @@ if(operating) return FALSE operating = TRUE + SEND_SIGNAL(src, COSMIG_DOOR_OPENING) use_energy(active_power_usage) run_animation(DOOR_OPENING_ANIMATION) set_opacity(0) @@ -517,6 +535,7 @@ return FALSE operating = TRUE + SEND_SIGNAL(src, COSMIG_DOOR_CLOSING) run_animation(DOOR_CLOSING_ANIMATION) layer = closingLayer @@ -602,6 +621,21 @@ /obj/machinery/door/morgue icon = 'icons/obj/doors/doormorgue.dmi' + icon_state = "closed" + +/obj/machinery/door/morgue/update_icon_state() + . = ..() + if(animation && animation != "deny") + icon_state = animation + else + icon_state = density ? "closed" : "open_top" + +/obj/machinery/door/morgue/update_overlays() + . = ..() + if(!density) + // If we're open we layer the bit below us "above" any mobs so they can walk through + . += mutable_appearance(icon, "open_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, "open_bottom", src, ABOVE_MOB_LAYER) /obj/machinery/door/get_dumping_location() return null @@ -609,9 +643,9 @@ /obj/machinery/door/morgue/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.5 SECONDS + return 2.04 SECONDS if(DOOR_CLOSING_ANIMATION) - return 1.5 SECONDS + return 1.64 SECONDS if(DOOR_DENY_ANIMATION) return 0.1 SECONDS @@ -620,11 +654,11 @@ if(DOOR_OPENING_PASSABLE) return 1.4 SECONDS if(DOOR_OPENING_FINISHED) - return 1.5 SECONDS + return 2.04 SECONDS if(DOOR_CLOSING_UNPASSABLE) - return 0.2 SECONDS + return 0.54 SECONDS if(DOOR_CLOSING_FINISHED) - return 1.5 SECONDS + return 1.64 SECONDS /obj/machinery/door/proc/lock() return diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 1de24c94a02a2..d22bfb2cca698 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -7,7 +7,10 @@ name = "firelock" desc = "Apply crowbar." icon = 'icons/obj/doors/doorfireglass.dmi' - icon_state = "door_open" + icon_state = "door_open_map" + dir_mask = "firelock_mask" + edge_dir_mask = "shutter" + inner_transparent_dirs = EAST|WEST opacity = FALSE density = FALSE max_integrity = 300 @@ -24,6 +27,8 @@ COOLDOWN_DECLARE(activation_cooldown) + ///If we split up our sprite into top and bottom parts or not + var/use_split_sprites = TRUE ///X offset for the overlay lights, so that they line up with the thin border firelocks var/light_xoffset = 0 ///Y offset for the overlay lights, so that they line up with the thin border firelocks @@ -89,9 +94,37 @@ RegisterSignal(src, COMSIG_MACHINERY_POWER_RESTORED, PROC_REF(on_power_restore)) RegisterSignal(src, COMSIG_MACHINERY_POWER_LOST, PROC_REF(on_power_loss)) + AddComponent(/datum/component/conditionally_transparent, \ + transparent_signals = list(COSMIG_DOOR_OPENING), \ + opaque_signals = list(COSMIG_DOOR_CLOSING), \ + start_transparent = !density, \ + transparency_delay = 0 SECONDS, \ + in_midpoint_alpha = 215, \ + transparent_alpha = 64, \ + opacity_delay = 0 SECONDS, \ + out_midpoint_alpha = 104, \ + ) return INITIALIZE_HINT_LATELOAD -/obj/machinery/door/firedoor/post_machine_initialize() +/obj/machinery/door/firedoor/setDir(new_dir) + . = ..() + update_layering() + +/obj/machinery/door/firedoor/proc/update_layering() + switch(dir) + if(NORTH) + layer = BELOW_OPEN_DOOR_LAYER + closingLayer = CLOSED_FIREDOOR_LAYER + else + layer = ABOVE_MOB_LAYER + closingLayer = ABOVE_MOB_LAYER + +/obj/machinery/door/firedoor/set_init_door_layer() + update_layering() + if(density) + layer = closingLayer + +/obj/machinery/door/firedoor/post_machine_initialize(mapload) . = ..() RegisterSignal(src, COMSIG_MERGER_ADDING, PROC_REF(merger_adding)) RegisterSignal(src, COMSIG_MERGER_REMOVING, PROC_REF(merger_removing)) @@ -101,13 +134,8 @@ if(alarm_type) // Fucking subtypes fucking mappers fucking hhhhhhhh start_activation_process(alarm_type) -/** - * Sets the offset for the warning lights. - * - * Used for special firelocks with light overlays that don't line up to their sprite. - */ -/obj/machinery/door/firedoor/proc/adjust_lights_starting_offset() - return + if(mapload) + auto_align() /obj/machinery/door/firedoor/Destroy() remove_from_areas() @@ -431,6 +459,10 @@ ignore_alarms = FALSE if(!alarm_type || active) // If we have no alarm type, or are already active, go away return + // Do we even care about temperature? + for(var/area/place in affecting_areas) + if(!place.fire_detect) // If any area is set to disable detection + return // Otherwise, reactivate ourselves start_activation_process(alarm_type) @@ -546,7 +578,7 @@ if(density) being_held_open = TRUE - user.balloon_alert_to_viewers("holding [src] open", "holding [src] open") + user.balloon_alert_to_viewers("holding firelock open", "holding firelock open") COOLDOWN_START(src, activation_cooldown, REACTIVATION_DELAY) open() if(QDELETED(user)) @@ -583,7 +615,7 @@ UnregisterSignal(user, COMSIG_LIVING_SET_BODY_POSITION) UnregisterSignal(user, COMSIG_QDELETING) if(user) - user.balloon_alert_to_viewers("released [src]", "released [src]") + user.balloon_alert_to_viewers("released firelock", "released firelock") /obj/machinery/door/firedoor/attack_ai(mob/user) add_fingerprint(user) @@ -603,58 +635,66 @@ /obj/machinery/door/firedoor/attack_alien(mob/user, list/modifiers) add_fingerprint(user) if(welded) - to_chat(user, span_warning("[src] refuses to budge!")) + balloon_alert(user, "refuses to budge!") return open() if(active) addtimer(CALLBACK(src, PROC_REF(correct_state)), 2 SECONDS, TIMER_UNIQUE) +/// Returns the base icon state we're currently using +/obj/machinery/door/firedoor/proc/get_base_state() + if(animation) + return "[base_icon_state]_[animation]" + return "[base_icon_state]_[density ? "closed" : "open"]" + /obj/machinery/door/firedoor/update_icon_state() . = ..() - switch(animation) - if(DOOR_OPENING_ANIMATION) - icon_state = "[base_icon_state]_opening" - if(DOOR_CLOSING_ANIMATION) - icon_state = "[base_icon_state]_closing" - if(DOOR_DENY_ANIMATION) - icon_state = "[base_icon_state]_deny" - else - icon_state = "[base_icon_state]_[density ? "closed" : "open"]" + if(use_split_sprites) + icon_state = "[get_base_state()]_top" + else + icon_state = get_base_state() + +/obj/machinery/door/firedoor/update_overlays() + . = ..() + + if(use_split_sprites) + var/working_icon_state = "[get_base_state()]_bottom" + . += mutable_appearance(icon, working_icon_state, ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, working_icon_state, src, ABOVE_MOB_LAYER) + + if(welded) + . += mutable_appearance(icon, density ? "welded_bottom" : "welded_top") + + if(alarm_type && powered() && !ignore_alarms) + var/mutable_appearance/hazards + hazards = mutable_appearance(icon, "[(obj_flags & EMAGGED) ? "firelock_alarm_type_emag" : alarm_type]") + hazards.pixel_x = light_xoffset + hazards.pixel_y = light_yoffset + . += hazards + hazards = emissive_appearance(icon, "[(obj_flags & EMAGGED) ? "firelock_alarm_type_emag" : alarm_type]", src, alpha = src.alpha) + hazards.pixel_x = light_xoffset + hazards.pixel_y = light_yoffset + . += hazards /obj/machinery/door/firedoor/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.2 SECONDS + return 0.9 SECONDS if(DOOR_CLOSING_ANIMATION) - return 1.2 SECONDS + return 1.1 SECONDS if(DOOR_DENY_ANIMATION) return 0.3 SECONDS /obj/machinery/door/firedoor/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 1.0 SECONDS + return 0.6 SECONDS if(DOOR_OPENING_FINISHED) - return 1.2 SECONDS + return 0.9 SECONDS if(DOOR_CLOSING_UNPASSABLE) return 0.2 SECONDS if(DOOR_CLOSING_FINISHED) - return 1.2 SECONDS - -/obj/machinery/door/firedoor/update_overlays() - . = ..() - if(welded) - . += density ? "welded" : "welded_open" - if(alarm_type && powered() && !ignore_alarms) - var/mutable_appearance/hazards - hazards = mutable_appearance(icon, "[(obj_flags & EMAGGED) ? "firelock_alarm_type_emag" : alarm_type]") - hazards.pixel_x = light_xoffset - hazards.pixel_y = light_yoffset - . += hazards - hazards = emissive_appearance(icon, "[(obj_flags & EMAGGED) ? "firelock_alarm_type_emag" : alarm_type]", src, alpha = src.alpha) - hazards.pixel_x = light_xoffset - hazards.pixel_y = light_yoffset - . += hazards + return 1.1 SECONDS /** * Corrects the current state of the door, based on its activity. @@ -709,15 +749,20 @@ register_adjacent_turfs() /obj/machinery/door/firedoor/closed - icon_state = "door_closed" + icon_state = "door_closed_map" density = TRUE alarm_type = FIRELOCK_ALARM_TYPE_GENERIC /obj/machinery/door/firedoor/border_only icon = 'icons/obj/doors/edge_Doorfire.dmi' + icon_state = "door_open" + // Disable directional opacity please (we are always transparent) + dir_mask = "" + edge_dir_mask = "" can_crush = FALSE flags_1 = ON_BORDER_1 can_atmos_pass = ATMOS_PASS_PROC + use_split_sprites = FALSE /obj/machinery/door/firedoor/border_only/closed icon_state = "door_closed" @@ -726,30 +771,35 @@ /obj/machinery/door/firedoor/border_only/Initialize(mapload) . = ..() - adjust_lights_starting_offset() var/static/list/loc_connections = list( COMSIG_ATOM_EXIT = PROC_REF(on_exit), ) + // Needed because render targets seem to shift larger then 32x32 icons down constantly. This is a known side effect that should? be changed by 516 + pixel_y = 0 + pixel_z = 12 + AddElement(/datum/element/render_over_keep_hitbox, 0, /* use_position_layering = */ TRUE, NORTH|WEST|EAST) AddElement(/datum/element/connect_loc, loc_connections) -/obj/machinery/door/firedoor/border_only/adjust_lights_starting_offset() - light_xoffset = 0 - light_yoffset = 0 - switch(dir) - if(NORTH) - light_yoffset = 2 - if(SOUTH) - light_yoffset = -2 - if(EAST) - light_xoffset = 2 - if(WEST) - light_xoffset = -2 - update_appearance(UPDATE_ICON) - -/obj/machinery/door/firedoor/border_only/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) - . = ..() - adjust_lights_starting_offset() +/obj/machinery/door/firedoor/border_only/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 0.7 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 0.7 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.4 SECONDS + +/obj/machinery/door/firedoor/border_only/animation_segment_delay(animation) + switch(animation) + if(DOOR_OPENING_PASSABLE) + return 0.6 SECONDS + if(DOOR_OPENING_FINISHED) + return 0.7 SECONDS + if(DOOR_CLOSING_UNPASSABLE) + return 0.2 SECONDS + if(DOOR_CLOSING_FINISHED) + return 0.2 SECONDS /obj/machinery/door/firedoor/border_only/CanAllowThrough(atom/movable/mover, border_dir) . = ..() @@ -794,7 +844,7 @@ name = "firelock frame" desc = "A partially completed firelock." icon = 'icons/obj/doors/Doorfire.dmi' - icon_state = "frame1" + icon_state = "frame1_map" base_icon_state = "frame" anchored = FALSE density = TRUE @@ -812,9 +862,15 @@ . += span_notice("There are no firelock electronics in the frame. The frame could be welded apart .") /obj/structure/firelock_frame/update_icon_state() - icon_state = "[base_icon_state][constructionStep]" + icon_state = "[base_icon_state][constructionStep]_top" return ..() +/obj/structure/firelock_frame/update_overlays() + . = ..() + var/working_icon_state = "[base_icon_state][constructionStep]_bottom" + . += mutable_appearance(icon, working_icon_state, ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, working_icon_state, src, ABOVE_MOB_LAYER) + /obj/structure/firelock_frame/attackby(obj/item/attacking_object, mob/user) switch(constructionStep) if(CONSTRUCTION_PANEL_OPEN) @@ -924,7 +980,7 @@ return FALSE /obj/structure/firelock_frame/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_UPGRADE_SIMPLE_CIRCUITS) user.balloon_alert(user, "circuit installed") constructionStep = CONSTRUCTION_PANEL_OPEN diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index bccc243381ba4..f833353247d94 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -67,31 +67,36 @@ /obj/machinery/door/password/update_icon_state() . = ..() //Deny animation would be nice to have. - switch(animation) - if(DOOR_OPENING_ANIMATION) - icon_state = "opening" - if(DOOR_CLOSING_ANIMATION) - icon_state = "closing" - else - icon_state = density ? "closed" : "open" + if(animation && animation != DOOR_DENY_ANIMATION) + icon_state = animation + else + icon_state = density ? "closed" : "open_top" + +/obj/machinery/door/password/update_overlays() + . = ..() + if(density) + return + // If we're open we layer the bit below us "above" any mobs so they can walk through + . += mutable_appearance(icon, "open_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, "open_bottom", src, ABOVE_MOB_LAYER) /obj/machinery/door/password/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.1 SECONDS + return 0.9 SECONDS if(DOOR_CLOSING_ANIMATION) - return 1.1 SECONDS + return 0.8 SECONDS /obj/machinery/door/password/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 0.5 SECONDS + return 0.6 SECONDS if(DOOR_OPENING_FINISHED) - return 1.1 SECONDS + return 0.9 SECONDS if(DOOR_CLOSING_UNPASSABLE) - return 0.2 SECONDS + return 0.3 SECONDS if(DOOR_CLOSING_FINISHED) - return 1.1 SECONDS + return 0.8 SECONDS /obj/machinery/door/password/animation_effects(animation) switch(animation) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index ab18a63361c97..3c510d48d5d27 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -32,6 +32,26 @@ fire = 100 acid = 70 +/obj/machinery/door/poddoor/Initialize(mapload) + . = ..() + AddComponent(/datum/component/conditionally_transparent, \ + transparent_signals = list(COSMIG_DOOR_OPENING), \ + opaque_signals = list(COSMIG_DOOR_CLOSING), \ + start_transparent = !density, \ + transparency_delay = 0 SECONDS, \ + in_midpoint_alpha = 215, \ + transparent_alpha = 64, \ + opacity_delay = 0 SECONDS, \ + out_midpoint_alpha = 104, \ + ) + if(mapload) + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/door/poddoor/post_machine_initialize(mapload) + . = ..() + if(mapload) + auto_align() + /obj/machinery/door/poddoor/get_save_vars() return ..() + NAMEOF(src, id) @@ -213,33 +233,43 @@ /obj/machinery/door/poddoor/update_icon_state() . = ..() - switch(animation) - if(DOOR_OPENING_ANIMATION) - icon_state = "opening" - if(DOOR_CLOSING_ANIMATION) - icon_state = "closing" - if(DOOR_DENY_ANIMATION) - icon_state = "deny" - else - icon_state = density ? "closed" : "open" + if(animation) + icon_state = animation + else + icon_state = density ? "closed" : "open_top" + +/obj/machinery/door/poddoor/update_overlays() + . = ..() + var/list/mutable_appearance/lower = get_lower_overlays() + if(length(lower)) + . += lower + +/obj/machinery/door/poddoor/proc/get_lower_overlays() + if(density) + return + var/list/hand_back = list() + // If we're open we layer the bit below us "above" any mobs so they can walk through + hand_back += mutable_appearance(icon, "open_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + hand_back += emissive_blocker(icon, "open_bottom", src, ABOVE_MOB_LAYER) + return hand_back /obj/machinery/door/poddoor/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.1 SECONDS + return 0.9 SECONDS if(DOOR_CLOSING_ANIMATION) - return 1.1 SECONDS + return 0.8 SECONDS /obj/machinery/door/poddoor/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 0.5 SECONDS + return 0.6 SECONDS if(DOOR_OPENING_FINISHED) - return 1.1 SECONDS + return 0.9 SECONDS if(DOOR_CLOSING_UNPASSABLE) - return 0.2 SECONDS + return 0.3 SECONDS if(DOOR_CLOSING_FINISHED) - return 1.1 SECONDS + return 0.8 SECONDS /obj/machinery/door/poddoor/animation_effects(animation) switch(animation) @@ -268,7 +298,7 @@ return ..() /obj/machinery/door/poddoor/preopen - icon_state = "open" + icon_state = "open_map" density = FALSE opacity = FALSE diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 56e2f5a9743b2..ffd5478aea6d8 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -3,34 +3,64 @@ name = "shutters" desc = "Heavy duty mechanical shutters with an atmospheric seal that keeps them airtight once closed." icon = 'icons/obj/doors/shutters.dmi' + icon_state = "closed_map" layer = SHUTTER_LAYER closingLayer = SHUTTER_LAYER + dir_mask = "shutter" + edge_dir_mask = "shutter" + inner_transparent_dirs = EAST|WEST damage_deflection = 20 armor_type = /datum/armor/poddoor_shutters max_integrity = 100 recipe_type = /datum/crafting_recipe/shutters animation_sound = 'sound/machines/shutter.ogg' +/obj/machinery/door/poddoor/shutters/proc/get_working_state() + if(animation) + return animation + return density ? "closed" : "open" + +/obj/machinery/door/poddoor/shutters/update_icon_state() + . = ..() + icon_state = "[get_working_state()]_top" + +/obj/machinery/door/poddoor/shutters/update_overlays() + . = ..() + . += emissive_appearance(icon, "emissives", src, alpha = 100) + +/obj/machinery/door/poddoor/shutters/get_lower_overlays() + var/list/hand_back = list() + hand_back += mutable_appearance(icon, "[get_working_state()]_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + hand_back += emissive_blocker(icon, "[get_working_state()]_bottom", src, ABOVE_MOB_LAYER) + return hand_back + /obj/machinery/door/poddoor/shutters/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.388 SECONDS + return 0.7 SECONDS if(DOOR_CLOSING_ANIMATION) - return 1.388 SECONDS + return 0.7 SECONDS /obj/machinery/door/poddoor/shutters/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 0.76 SECONDS + return 0.5 SECONDS if(DOOR_OPENING_FINISHED) - return 1.388 SECONDS + return 0.7 SECONDS if(DOOR_CLOSING_UNPASSABLE) - return 0.152 SECONDS + return 0.3 SECONDS if(DOOR_CLOSING_FINISHED) - return 1.388 SECONDS + return 0.7 SECONDS + +/obj/machinery/door/poddoor/shutters/animation_effects(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + playsound(src, animation_sound, 50, TRUE) + if(DOOR_CLOSING_ANIMATION) + playsound(src, animation_sound, 50, TRUE) /obj/machinery/door/poddoor/shutters/preopen - icon_state = "open" + icon_state = "open_bottom" density = FALSE opacity = FALSE @@ -42,7 +72,7 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/machinery/door/poddoor/shutters/indestructible/preopen - icon_state = "open" + icon_state = "open_bottom" density = FALSE opacity = FALSE @@ -50,11 +80,28 @@ name = "radiation shutters" desc = "Lead-lined shutters with a radiation hazard symbol. Whilst this won't stop you getting irradiated, especially by a supermatter crystal, it will stop radiation travelling as far." icon = 'icons/obj/doors/shutters_radiation.dmi' - icon_state = "closed" rad_insulation = RAD_EXTREME_INSULATION +/obj/machinery/door/poddoor/shutters/radiation/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 1.01 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 0.76 SECONDS + +/obj/machinery/door/poddoor/shutters/radiation/animation_segment_delay(animation) + switch(animation) + if(DOOR_OPENING_PASSABLE) + return 0.78 SECONDS + if(DOOR_OPENING_FINISHED) + return 1.01 SECONDS + if(DOOR_CLOSING_UNPASSABLE) + return 0.26 SECONDS + if(DOOR_CLOSING_FINISHED) + return 0.76 SECONDS + /obj/machinery/door/poddoor/shutters/radiation/preopen - icon_state = "open" + icon_state = "open_bottom" density = FALSE opacity = FALSE rad_insulation = RAD_NO_INSULATION @@ -80,12 +127,29 @@ name = "windowed shutters" desc = "A shutter with a thick see-through polycarbonate window." icon = 'icons/obj/doors/shutters_window.dmi' - icon_state = "closed" opacity = FALSE glass = TRUE +/obj/machinery/door/poddoor/shutters/window/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 1.01 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 1.01 SECONDS + +/obj/machinery/door/poddoor/shutters/window/animation_segment_delay(animation) + switch(animation) + if(DOOR_OPENING_PASSABLE) + return 0.78 SECONDS + if(DOOR_OPENING_FINISHED) + return 1.01 SECONDS + if(DOOR_CLOSING_UNPASSABLE) + return 0.23 SECONDS + if(DOOR_CLOSING_FINISHED) + return 1.01 SECONDS + /obj/machinery/door/poddoor/shutters/window/preopen - icon_state = "open" + icon_state = "open_bottom" density = FALSE /obj/machinery/door/poddoor/shutters/window/indestructible @@ -93,6 +157,6 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/machinery/door/poddoor/shutters/window/indestructible/preopen - icon_state = "open" + icon_state = "open_bottom" density = FALSE opacity = FALSE diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 0c897c6809666..4fd116a0053d8 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -19,6 +19,8 @@ interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN set_dir_on_move = FALSE opens_with_door_remote = TRUE + var/use_hitbox_render = TRUE + var/hitbox_up_directions = NONE /// Reference to the airlock electronics inside for determining window access. var/obj/item/electronics/airlock/electronics = null /// If the door is considered reinforced. If TRUE, the door will resist twice as much heat (1600 deg C vs 800 deg C). @@ -67,6 +69,7 @@ AddElement(/datum/element/connect_loc, loc_connections) AddElement(/datum/element/atmos_sensitive, mapload) + refresh_hitbox_rendering() /obj/machinery/door/window/Destroy() set_density(FALSE) @@ -76,15 +79,11 @@ /obj/machinery/door/window/update_icon_state() . = ..() - switch(animation) - if(DOOR_OPENING_ANIMATION) - icon_state = "[base_state]opening" - if(DOOR_CLOSING_ANIMATION) - icon_state = "[base_state]closing" - if(DOOR_DENY_ANIMATION) - icon_state = "[base_state]deny" - else - icon_state = "[base_state][density ? null : "open"]" + if(animation) + icon_state = "[base_state]_[animation]" + else + icon_state = "[base_state][density ? null : "_open"]" + refresh_hitbox_rendering() if(hasPower() && unres_sides) set_light(l_range = 2, l_power = 1) @@ -98,11 +97,13 @@ return 0.9 SECONDS if(DOOR_CLOSING_ANIMATION) return 0.9 SECONDS + if(DOOR_DENY_ANIMATION) + return 0.3 SECONDS /obj/machinery/door/window/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 0.7 SECONDS + return 0.8 SECONDS if(DOOR_OPENING_FINISHED) return 0.9 SECONDS if(DOOR_CLOSING_UNPASSABLE) @@ -136,6 +137,41 @@ side_overlay.pixel_x = dir == EAST ? -6 : -31 . += side_overlay +/obj/machinery/door/window/setDir(newdir) + . = ..() + refresh_hitbox_rendering() + +/obj/machinery/door/window/set_density(new_value) + . = ..() + refresh_hitbox_rendering() + +/obj/machinery/door/window/proc/refresh_hitbox_rendering() + if(QDELETED(src)) + return + if(!use_hitbox_render) + return + var/old_hitbox_directions = hitbox_up_directions + // yes this is horrible, I am sorry + hitbox_up_directions = NORTH + // We only render "up" on side dirs if we're fully open, otherwise we can have layering issues + if(!density) + // If we're facing left, then our "base" will face up when facing sideways on the WEST dir + if(findtext(base_state, "left")) + hitbox_up_directions |= WEST + else + hitbox_up_directions |= EAST + + // Needed because render targets seem to shift larger then 32x32 icons down constantly. No idea why + pixel_y = 0 + pixel_z = 16 + + if(old_hitbox_directions == hitbox_up_directions) + return + + if(old_hitbox_directions) + RemoveElement(/datum/element/render_over_keep_hitbox, BELOW_OBJ_LAYER, /* use_position_layering = */ TRUE, old_hitbox_directions) + AddElement(/datum/element/render_over_keep_hitbox, BELOW_OBJ_LAYER, /* use_position_layering = */ TRUE, hitbox_up_directions) + /obj/machinery/door/window/proc/open_and_close() if(!open()) return @@ -294,6 +330,7 @@ var/unpassable_delay = animation_segment_delay(DOOR_CLOSING_UNPASSABLE) sleep(unpassable_delay) set_density(TRUE) + refresh_hitbox_rendering() air_update_turf(TRUE, TRUE) update_freelook_sight() var/close_delay = animation_segment_delay(DOOR_CLOSING_FINISHED) - unpassable_delay @@ -415,10 +452,10 @@ windoor_assembly.facing = "l" if("right") windoor_assembly.facing = "r" - if("leftsecure") + if("left_secure") windoor_assembly.facing = "l" windoor_assembly.secure = TRUE - if("rightsecure") + if("right_secure") windoor_assembly.facing = "r" windoor_assembly.secure = TRUE windoor_assembly.set_anchored(TRUE) @@ -475,15 +512,15 @@ return FALSE /obj/machinery/door/window/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_DECONSTRUCT) + if(rcd_data[RCD_DESIGN_MODE] == RCD_DECONSTRUCT) qdel(src) return TRUE return FALSE /obj/machinery/door/window/brigdoor name = "secure door" - icon_state = "leftsecure" - base_state = "leftsecure" + icon_state = "left_secure" + base_state = "left_secure" var/id = null max_integrity = 300 //Stronger doors for prison (regular window door health is 200) reinf = 1 @@ -498,30 +535,44 @@ name = "holding cell door" req_one_access = list(ACCESS_SECURITY) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/left, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/right, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/left) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/right) /obj/machinery/door/window/right icon_state = "right" base_state = "right" -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/brigdoor/left, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/brigdoor/right, 0) + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/half/left) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/half/right) + +/obj/machinery/door/window/half + can_atmos_pass = ATMOS_PASS_YES + icon = 'icons/obj/doors/windoor_half.dmi' + rcd_spritesheet_override = "half window" + +/obj/machinery/door/window/half/right + icon_state = "right" + base_state = "right" + + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/brigdoor/left) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/brigdoor/right) /obj/machinery/door/window/brigdoor/right - icon_state = "rightsecure" - base_state = "rightsecure" + icon_state = "right_secure" + base_state = "right_secure" -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/brigdoor/security/cell/left, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/brigdoor/security/cell/right, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/brigdoor/security/cell/left) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/brigdoor/security/cell/right) /obj/machinery/door/window/brigdoor/security/cell/right - icon_state = "rightsecure" - base_state = "rightsecure" + icon_state = "right_secure" + base_state = "right_secure" -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/brigdoor/security/holding/left, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/brigdoor/security/holding/right, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/brigdoor/security/holding/left) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/brigdoor/security/holding/right) /obj/machinery/door/window/brigdoor/security/holding/right - icon_state = "rightsecure" - base_state = "rightsecure" + icon_state = "right_secure" + base_state = "right_secure" diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 83b1626900286..b39af4b4b1087 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -31,7 +31,7 @@ return TRUE /obj/machinery/door_buttons/access_button - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/airlock_machines.dmi' icon_state = "access_button_standby" base_icon_state = "access_button" name = "access button" @@ -41,6 +41,12 @@ var/obj/machinery/door_buttons/airlock_controller/controller var/busy +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/door_buttons/access_button) + +/obj/machinery/door_buttons/access_button/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + /obj/machinery/door_buttons/access_button/find_objects_by_tag() for(var/obj/machinery/door_buttons/airlock_controller/A as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/door_buttons/airlock_controller)) if(A.idSelf == idSelf) @@ -105,7 +111,7 @@ /obj/machinery/door_buttons/airlock_controller name = "access console" desc = "A small console that can cycle opening between two airlocks." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/airlock_machines.dmi' icon_state = "access_control_standby" base_icon_state = "access_control" interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN|INTERACT_MACHINE_ALLOW_SILICON|INTERACT_MACHINE_OPEN_SILICON @@ -120,6 +126,12 @@ ///our exterior airlock var/obj/machinery/door/airlock/exterior_airlock +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/door_buttons/airlock_controller) + +/obj/machinery/door_buttons/airlock_controller/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + ///set our doors to null upon deletion /obj/machinery/door_buttons/airlock_controller/proc/remove_door(datum/source) SIGNAL_HANDLER diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index a1cc608c2ec9d..a1cf7081812dc 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -6,7 +6,7 @@ #define AIRLOCK_STATE_OUTOPEN "outopen" /obj/machinery/airlock_controller - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/airlock_machines.dmi' icon_state = "airlock_control_standby" base_icon_state = "airlock_control" @@ -21,7 +21,6 @@ var/airpump_tag var/sensor_tag var/sanitize_external - var/datum/weakref/interior_door_ref var/datum/weakref/exterior_door_ref var/datum/weakref/pump_ref @@ -34,9 +33,14 @@ var/processing = FALSE -/obj/machinery/airlock_controller/post_machine_initialize() +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/airlock_controller) + +/obj/machinery/airlock_controller/Initialize(mapload) . = ..() + find_and_hang_on_wall() +/obj/machinery/airlock_controller/post_machine_initialize() + . = ..() var/obj/machinery/door/interior_door = GLOB.objects_by_id_tag[interior_door_tag] if (!isnull(interior_door_tag) && !istype(interior_door)) stack_trace("interior_door_tag is set to [interior_door_tag], which is not a door ([interior_door || "null"])") @@ -244,7 +248,7 @@ return data -/obj/machinery/airlock_controller/ui_act(action, params) +/obj/machinery/airlock_controller/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -305,6 +309,8 @@ sanitize_external = TRUE sensor_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/airlock_controller/incinerator_syndicatelava) + /obj/machinery/airlock_controller/update_icon_state() icon_state = "[base_icon_state]_[processing ? "process" : "standby"]" return ..() diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index a852ea019c697..959f126a6348f 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -5,15 +5,14 @@ /obj/item/wallframe/firealarm name = "fire alarm frame" desc = "Used for building fire alarms." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/firealarm.dmi' icon_state = "fire_bitem" result_path = /obj/machinery/firealarm - pixel_shift = 26 /obj/machinery/firealarm name = "fire alarm" desc = "Pull this in case of emergency. Thus, keep pulling it forever." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/firealarm.dmi' icon_state = "fire0" max_integrity = 250 integrity_failure = 0.4 @@ -80,6 +79,7 @@ ) AddElement(/datum/element/contextual_screentip_mob_typechecks, hovering_mob_typechecks) find_and_hang_on_wall() + AddComponent(/datum/component/examine_balloon) update_appearance() @@ -162,40 +162,34 @@ /obj/machinery/firealarm/update_overlays() . = ..() - if(machine_stat & NOPOWER) - return - - if(panel_open) + if(machine_stat & NOPOWER || panel_open) return if(obj_flags & EMAGGED) . += mutable_appearance(icon, "fire_emag") - . += emissive_appearance(icon, "fire_emag_e", src, alpha = src.alpha) + . += emissive_appearance(icon, "fire_emag", src, alpha = src.alpha) set_light(l_color = LIGHT_COLOR_BLUE) - else if(!(my_area?.fire || LAZYLEN(my_area?.active_firelocks))) - if(my_area?.fire_detect) //If this is false, someone disabled it. Leave the light missing, a good hint to anyone paying attention. + if(my_area?.fire_detect) //If this is false, leave the green light missing. A good hint to anyone paying attention. if(is_station_level(z)) var/current_level = SSsecurity_level.get_current_level_as_number() . += mutable_appearance(icon, "fire_[current_level]") - . += emissive_appearance(icon, "fire_level_e", src, alpha = src.alpha) + . += emissive_appearance(icon, "fire_[current_level]", src, alpha = src.alpha) set_light(l_color = SSsecurity_level?.current_security_level?.fire_alarm_light_color || LIGHT_COLOR_BLUEGREEN) else - . += mutable_appearance(icon, "fire_offstation") - . += emissive_appearance(icon, "fire_level_e", src, alpha = src.alpha) + . += mutable_appearance(icon, "fire_0") + . += emissive_appearance(icon, "fire_0", src, alpha = src.alpha) set_light(l_color = LIGHT_COLOR_FAINT_BLUE) else - . += mutable_appearance(icon, "fire_disabled") - . += emissive_appearance(icon, "fire_level_e", src, alpha = src.alpha) set_light(l_color = COLOR_WHITE) - else if(my_area?.fire_detect && my_area?.fire) - . += mutable_appearance(icon, "fire_alerting") - . += emissive_appearance(icon, "fire_alerting_e", src, alpha = src.alpha) + else if(my_area?.fire_detect && my_area?.fire) // If there's an actual fire + . += mutable_appearance(icon, "fire_actual") + . += emissive_appearance(icon, "fire_actual", src, alpha = src.alpha) set_light(l_color = LIGHT_COLOR_INTENSE_RED) - else - . += mutable_appearance(icon, "fire_alerting") - . += emissive_appearance(icon, "fire_alerting_e", src, alpha = src.alpha) + else // Someone's just pulled the alarm + . += mutable_appearance(icon, "fire_pulled") + . += emissive_appearance(icon, "fire_pulled", src, alpha = src.alpha) set_light(l_color = LIGHT_COLOR_INTENSE_RED) /obj/machinery/firealarm/emp_act(severity) @@ -257,6 +251,7 @@ soundloop.start() //Manually pulled fire alarms will make the sound, rather than the doors. SEND_SIGNAL(src, COMSIG_FIREALARM_ON_TRIGGER) update_use_power(ACTIVE_POWER_USE) + update_appearance() /** * Resets all firelocks in the area. Also tells the area to disable alarm lighting, if it was enabled. @@ -278,6 +273,7 @@ soundloop.stop() SEND_SIGNAL(src, COMSIG_FIREALARM_ON_RESET) update_use_power(IDLE_POWER_USE) + update_appearance() /obj/machinery/firealarm/attack_hand(mob/user, list/modifiers) if(buildstage != FIRE_ALARM_BUILD_SECURED) @@ -410,7 +406,7 @@ return FALSE /obj/machinery/firealarm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_WALLFRAME) balloon_alert(user, "circuit installed") buildstage = FIRE_ALARM_BUILD_NO_WIRES @@ -477,11 +473,14 @@ my_area.fire_detect = !my_area.fire_detect for(var/obj/machinery/firealarm/fire_panel in my_area.firealarms) fire_panel.update_icon() + // Used to force all the firelocks to update, if the zone is not manually activated + if (my_area.fault_status != AREA_FAULT_MANUAL) + reset() // Don't send user to prevent double balloon_alert() and the action is already logged in this proc. if (user) balloon_alert(user, "thermal sensors [my_area.fire_detect ? "enabled" : "disabled"]") user.log_message("[ my_area.fire_detect ? "enabled" : "disabled" ] firelock sensors using [src].", LOG_GAME) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/firealarm, 26) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/firealarm) /* * Return of Party button diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 94612b8c9db35..3e67b6d6f4bde 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -3,16 +3,17 @@ /obj/machinery/flasher name = "mounted flash" desc = "A wall-mounted flashbulb device." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/machines/flash.dmi' icon_state = "mflash1" base_icon_state = "mflash" max_integrity = 250 integrity_failure = 0.4 damage_deflection = 10 + /// Does this flasher try to attach to the wall? + var/should_wallmount = TRUE ///The contained flash. Mostly just handles the bulb burning out & needing placement. var/obj/item/assembly/flash/handheld/bulb var/id = null - /// How far this flash reaches. Affects both proximity distance and the actual stun effect. var/flash_range = 2 //this is roughly the size of a brig cell. /// How strong Paralyze()'d targets are when flashed. @@ -22,13 +23,20 @@ /// Duration of time between flashes. var/flash_cooldown_duration = 15 SECONDS -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/flasher) + +// Variant of the flasher that's used in the thunderdome. +/obj/machinery/flasher/thunderdome + should_wallmount = FALSE + id = "tdomeflash" + name = "Thunderdome Flash" /obj/machinery/flasher/Initialize(mapload, ndir = 0, built = 0) - . = ..() // ..() is EXTREMELY IMPORTANT, never forget to add it + . = ..() if(!built) bulb = new(src) - find_and_hang_on_wall() + if(should_wallmount) + find_and_hang_on_wall() /obj/machinery/flasher/vv_edit_var(vname, vval) . = ..() @@ -156,6 +164,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26) new /obj/item/stack/sheet/iron (loc, 2) /obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "portable flasher" desc = "A portable flashing device. Wrench to activate and deactivate. Cannot detect slow movements." icon = 'icons/obj/machines/sec.dmi' @@ -208,11 +217,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26) /obj/item/wallframe/flasher name = "mounted flash frame" desc = "Used for building wall-mounted flashers." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/machines/flash.dmi' icon_state = "mflash_frame" result_path = /obj/machinery/flasher var/id = null - pixel_shift = 28 /obj/item/wallframe/flasher/examine(mob/user) . = ..() diff --git a/code/game/machinery/flatpacker.dm b/code/game/machinery/flatpacker.dm index 182db1edc08d9..fe67ae5b65035 100644 --- a/code/game/machinery/flatpacker.dm +++ b/code/game/machinery/flatpacker.dm @@ -412,7 +412,7 @@ /obj/structure/flatpack_cart name = "flatpack cart" desc = "A cart specifically made to hold flatpacks from a flatpacker, evenly distributing weight. Convenient!" - icon = 'icons/obj/structures.dmi' + icon = 'icons/mob/rideables/vehicles.dmi' icon_state = "flatcart" density = TRUE opacity = FALSE diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm index 72ac0e746f4b0..dffe94068ab42 100644 --- a/code/game/machinery/gulag_item_reclaimer.dm +++ b/code/game/machinery/gulag_item_reclaimer.dm @@ -1,7 +1,7 @@ /obj/machinery/gulag_item_reclaimer name = "equipment reclaimer station" desc = "Used to reclaim your items after you finish your sentence at the labor camp." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/gulag_computer.dmi' icon_state = "gulag_off" req_access = list(ACCESS_BRIG) //REQACCESS TO ACCESS ALL STORED ITEMS density = FALSE @@ -11,6 +11,8 @@ ///Icon of the current screen status var/screen_icon = "gulag_on" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/gulag_item_reclaimer) + /obj/machinery/gulag_item_reclaimer/Exited(atom/movable/gone, direction) . = ..() for(var/person in stored_items) @@ -82,7 +84,7 @@ return data -/obj/machinery/gulag_item_reclaimer/ui_act(action, params) +/obj/machinery/gulag_item_reclaimer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index cbb7eede250b9..191845a9d1519 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -39,7 +39,6 @@ Possible to do for anyone motivated enough: icon = 'icons/obj/machines/floor.dmi' icon_state = "holopad0" base_icon_state = "holopad" - /// The plane is set such that it shows up without being covered by pipes/wires in a map editor, we change this on initialize. layer = MAP_SWITCH(ABOVE_OPEN_TURF_LAYER, LOW_OBJ_LAYER) plane = MAP_SWITCH(FLOOR_PLANE, GAME_PLANE) req_access = list(ACCESS_KEYCARD_AUTH) //Used to allow for forced connecting to other (not secure) holopads. Anyone can make a call, though. @@ -308,7 +307,7 @@ Possible to do for anyone motivated enough: data["holo_calls"] += list(call_data) return data -/obj/machinery/holopad/ui_act(action, list/params) +/obj/machinery/holopad/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -554,7 +553,6 @@ Possible to do for anyone motivated enough: hologram.Impersonation = user hologram.mouse_opacity = MOUSE_OPACITY_TRANSPARENT//So you can't click on it. hologram.layer = FLY_LAYER //Above all the other objects/mobs. Or the vast majority of them. - SET_PLANE_EXPLICIT(hologram, ABOVE_GAME_PLANE, src) hologram.set_anchored(TRUE)//So space wind cannot drag it. hologram.name = "[user.name] (Hologram)"//If someone decides to right click. set_holo(user, hologram) @@ -742,7 +740,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ holder.selected_language = record.language hologram.mouse_opacity = MOUSE_OPACITY_TRANSPARENT//So you can't click on it. hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them. - SET_PLANE_EXPLICIT(hologram, ABOVE_GAME_PLANE, src) hologram.set_anchored(TRUE)//So space wind cannot drag it. hologram.name = "[record.caller_name] (Hologram)"//If someone decides to right click. set_holo(record, hologram) @@ -875,7 +872,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ icon = 'icons/effects/96x96.dmi' icon_state = "holoray" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE density = FALSE anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index f8f3ed49be598..b5ec2c58b3870 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -63,7 +63,7 @@ return data -/obj/machinery/hypnochair/ui_act(action, params) +/obj/machinery/hypnochair/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 3fa7d25767f2f..86f632d809008 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -91,6 +91,8 @@ fire = 100 acid = 70 +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/igniter) + /// turns the igniter on/off /obj/machinery/igniter/proc/toggle() on = !( on ) @@ -134,15 +136,15 @@ /obj/item/wallframe/sparker name = "Sparker WallFrame" desc = "An unmounted sparker. Attach it to a wall to use." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/machines/igniter.dmi' icon_state = "migniter" result_path = /obj/machinery/sparker - pixel_shift = 26 + custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT) /obj/machinery/sparker name = "mounted igniter" desc = "A wall-mounted ignition device." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/machines/igniter.dmi' icon_state = "migniter" base_icon_state = "migniter" resistance_flags = FIRE_PROOF @@ -151,7 +153,7 @@ var/last_spark = 0 var/datum/effect_system/spark_spread/spark_system -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/sparker, 26) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/sparker) /obj/machinery/sparker/ordmix id = INCINERATOR_ORDMIX_IGNITER diff --git a/code/game/machinery/incident_display.dm b/code/game/machinery/incident_display.dm index 77194a26dd7ba..52faa35dfb728 100644 --- a/code/game/machinery/incident_display.dm +++ b/code/game/machinery/incident_display.dm @@ -94,6 +94,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/tram, 32) /obj/machinery/incident_display/Initialize(mapload) ..() register_context() + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) return INITIALIZE_HINT_LATELOAD /obj/machinery/incident_display/post_machine_initialize() @@ -108,6 +109,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/incident_display/tram, 32) GLOB.map_incident_displays -= src return ..() +/obj/machinery/incident_display/wall_mount_common_plane(direction) + return TRUE + /obj/machinery/incident_display/process() if(!isnull(configured_advert) && COOLDOWN_FINISHED(src, advert_cooldown))// time to show an advert show_advert(advert = configured_advert, duration = configured_advert_duration) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 4ac2a177e76bc..9b2ffd9a60d54 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -15,6 +15,7 @@ ///Universal IV that can drain blood or feed reagents over a period of time from or to a replaceable container /obj/machinery/iv_drip + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "\improper IV drip" desc = "An IV drip with an advanced infusion pump that can both drain blood into and inject liquids from attached containers." icon = 'icons/obj/medical/iv_drip.dmi' @@ -106,7 +107,7 @@ .["containerMaxVolume"] = drip_reagents.maximum_volume .["containerReagentColor"] = mix_color_from_reagents(drip_reagents.reagent_list) -/obj/machinery/iv_drip/ui_act(action, params) +/obj/machinery/iv_drip/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index 8733ca548632e..67ad91681506d 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -417,7 +417,7 @@ return pad.doteleport(user, sending) -/obj/item/launchpad_remote/ui_act(action, params) +/obj/item/launchpad_remote/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 04883800f31ef..fbe3dd27411f9 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -1,7 +1,7 @@ /// The light switch. Can have multiple per area. /obj/machinery/light_switch name = "light switch" - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/lightswitch.dmi' icon_state = "light-nopower" base_icon_state = "light" desc = "Make dark." @@ -15,7 +15,7 @@ /// Should this lightswitch automatically rename itself to match the area it's in? var/autoname = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light_switch) /obj/machinery/light_switch/Initialize(mapload) . = ..() @@ -36,6 +36,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), TRUE)) register_context() update_appearance() + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 24, pixel_y_offset_arrow = 8) /obj/machinery/light_switch/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() @@ -57,14 +58,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) if(machine_stat & NOPOWER) icon_state += "-nopower" return ..() - icon_state += "[area.lightswitch ? "-on" : "-off"]" + icon_state += area.lightswitch ? "-on" : "-off" return ..() /obj/machinery/light_switch/update_overlays() . = ..() if(machine_stat & NOPOWER) return ..() - . += emissive_appearance(icon, "[base_icon_state]-emissive[area.lightswitch ? "-on" : "-off"]", src, alpha = src.alpha) + . += emissive_appearance(icon, "[base_icon_state]-glow", src, alpha = src.alpha) /obj/machinery/light_switch/examine(mob/user) . = ..() @@ -116,10 +117,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) /obj/item/wallframe/light_switch name = "light switch" desc = "An unmounted light switch. Attach it to a wall to use." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/lightswitch.dmi' icon_state = "light-nopower" result_path = /obj/machinery/light_switch - pixel_shift = 26 + custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT) /obj/item/circuit_component/light_switch display_name = "Light Switch" diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index b63d13648eb76..cd36dcce09ad0 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -149,7 +149,7 @@ if(user.combat_mode) //so we can hit the machine return ..() -/obj/machinery/limbgrower/ui_act(action, list/params) +/obj/machinery/limbgrower/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -233,7 +233,7 @@ */ /obj/machinery/limbgrower/proc/build_limb(buildpath) /// The limb we're making with our buildpath, so we can edit it. - //i need to create a body part manually using a set icon (otherwise it doesnt appear) + //i need to create a body part manually using a set icon (otherwise it doesn't appear) var/obj/item/bodypart/limb limb = new buildpath(loc) limb.name = "\improper synthetic [selected_category] [limb.plaintext_zone]" diff --git a/code/game/machinery/machine_frame.dm b/code/game/machinery/machine_frame.dm index ccdcddc87052d..d39d065232426 100644 --- a/code/game/machinery/machine_frame.dm +++ b/code/game/machinery/machine_frame.dm @@ -454,7 +454,7 @@ var/obj/item/circuitboard/machine/leaving_circuit = circuit circuit = null // Assign the circuit & parts & move them all at once into the machine - // no need to seperatly move circuit board as its already part of the components list + // no need to separately move circuit board as its already part of the components list new_machine.circuit = leaving_circuit new_machine.component_parts = components for (var/obj/new_part in components) diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index 5f534ec95b4ed..401245613e1b0 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -31,7 +31,6 @@ for(var/obj/machinery/computer/pod/control as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/computer/pod)) if(control.id == id) control.connected = null - QDEL_NULL(wires) return ..() /obj/machinery/mass_driver/connect_to_shuttle(mapload, obj/docking_port/mobile/port, obj/docking_port/stationary/dock) diff --git a/code/game/machinery/mechlaunchpad.dm b/code/game/machinery/mechlaunchpad.dm index cbdc34d864800..70d075a551024 100644 --- a/code/game/machinery/mechlaunchpad.dm +++ b/code/game/machinery/mechlaunchpad.dm @@ -56,13 +56,13 @@ podspawn(list( "target" = get_turf(src), "path" = /obj/structure/closet/supplypod/mechpod, - "style" = STYLE_SEETHROUGH, + "style" = /datum/pod_style/seethrough, "reverse_dropoff_coords" = list(reverse_turf.x, reverse_turf.y, reverse_turf.z) )) use_energy(active_power_usage) /obj/structure/closet/supplypod/mechpod - style = STYLE_SEETHROUGH + style = /datum/pod_style/seethrough explosionSize = list(0,0,0,0) reversing = TRUE reverse_option_list = list("Mobs"=FALSE,"Objects"=FALSE,"Anchored"=FALSE,"Underfloor"=FALSE,"Wallmounted"=FALSE,"Floors"=FALSE,"Walls"=FALSE,"Mecha"=TRUE) diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index 6a63f07e5f51d..53c8c9cbd68a2 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -13,6 +13,7 @@ /obj/machinery/medical_kiosk + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "medical kiosk" desc = "A freestanding medical kiosk, which can provide a wide range of medical analysis for diagnosis." icon = 'icons/obj/machines/medical_kiosk.dmi' @@ -318,7 +319,7 @@ patient_status = pick( "The only kiosk is kiosk, but is the only patient, patient?", "Breathing manually.", - "Constact NTOS site admin.", + "Contact NTOS site admin.", "97% carbon, 3% natural flavoring", "The ebb and flow wears us all in time.", "It's Lupus. You have Lupus.", diff --git a/code/game/machinery/modular_shield.dm b/code/game/machinery/modular_shield.dm index cac65a032dff4..b4fa6bed17bb0 100644 --- a/code/game/machinery/modular_shield.dm +++ b/code/game/machinery/modular_shield.dm @@ -1,22 +1,22 @@ /obj/machinery/modular_shield_generator name = "modular shield generator" - desc = "A forcefield generator, it seems more stationary than its cousins. It cant handle G-force and will require frequent reboots when built on mobile craft." + desc = "A forcefield generator, it seems more stationary than its cousins. It can't handle G-force and will require frequent reboots when built on mobile craft." icon = 'icons/obj/machines/modular_shield_generator.dmi' icon_state = "gen_recovering_closed" density = TRUE circuit = /obj/item/circuitboard/machine/modular_shield_generator processing_flags = START_PROCESSING_ON_INIT - ///Doesnt actually control it, just tells us if its running or not, you can control by calling procs activate_shields and deactivate_shields + ///Doesn't actually control it, just tells us if its running or not, you can control by calling procs activate_shields and deactivate_shields var/active = FALSE ///If the generator is currently spawning the forcefield in var/initiating = FALSE - ///Determins if we can turn it on or not, no longer recovering when back to max strength + ///Determines if we can turn it on or not, no longer recovering when back to max strength var/recovering = TRUE - ///Determins max health of the shield + ///Determines max health of the shield var/max_strength = 40 ///Current health of shield @@ -28,13 +28,13 @@ ///The regeneration that the shield can support var/current_regeneration - ///Determins the max radius the shield can support + ///Determines the max radius the shield can support var/max_radius = 3 ///Current radius the shield is set to, minimum 3 var/radius = 3 - ///Determins if we only generate a shield on space turfs or not + ///Determines if we only generate a shield on space turfs or not var/exterior_only = FALSE ///The lazy list of shields that are ours @@ -276,7 +276,7 @@ data["initiating_field"] = initiating return data -/obj/machinery/modular_shield_generator/ui_act(action, params) +/obj/machinery/modular_shield_generator/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -286,7 +286,7 @@ return var/change_radius = max(1,(text2num(params["new_radius"]))) if(change_radius >= 10) - radius = round(change_radius)//if its over 10 we dont allow decimals + radius = round(change_radius)//if its over 10 we don't allow decimals return radius = change_radius @@ -370,7 +370,7 @@ recovering = FALSE calculate_regeneration() update_icon_state() - end_processing() //we dont care about continuing to update the alpha, we want to show history of damage to show its unstable + end_processing() //we don't care about continuing to update the alpha, we want to show history of damage to show its unstable if (active) var/random_num = rand(1,deployed_shields.len) var/obj/structure/emergency_shield/modular/random_shield = deployed_shields[random_num] @@ -383,7 +383,7 @@ /obj/machinery/modular_shield/module name = "modular shield debugger" //Filler name and sprite for testing - desc = "This is filler for testing you shouldn`t see this." + desc = "This is filler for testing you shouldn't see this." icon = 'icons/obj/machines/mech_bay.dmi' icon_state = "recharge_port" density = TRUE @@ -677,7 +677,7 @@ color = "#00ffff" density = FALSE alpha = 100 - resistance_flags = INDESTRUCTIBLE //the shield itself is indestructible or atleast should be + resistance_flags = INDESTRUCTIBLE //the shield itself is indestructible or at least should be no_damage_feedback = "weakening the generator sustaining it" ///The shield generator sustaining us diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index c15421cbf5abb..f6f4270835ca0 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -181,16 +181,17 @@ data["static_controls"] = static_controls return data -/obj/machinery/navbeacon/ui_act(action, params) +/obj/machinery/navbeacon/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return + var/mob/user = ui.user - if(action == "lock" && allowed(usr)) + if(action == "lock" && allowed(user)) controls_locked = !controls_locked return TRUE - if(controls_locked && !HAS_SILICON_ACCESS(usr)) + if(controls_locked && !HAS_SILICON_ACCESS(user)) return switch(action) @@ -210,7 +211,7 @@ toggle_code(NAVBEACON_DELIVERY_MODE) return TRUE if("set_location") - var/input_text = tgui_input_text(usr, "Enter the beacon's location tag", "Beacon Location", location, 20) + var/input_text = tgui_input_text(user, "Enter the beacon's location tag", "Beacon Location", location, 20) if (!input_text || location == input_text) return glob_lists_deregister() @@ -219,7 +220,7 @@ return TRUE if("set_patrol_next") var/next_patrol = codes[NAVBEACON_PATROL_NEXT] - var/input_text = tgui_input_text(usr, "Enter the tag of the next patrol location", "Beacon Location", next_patrol, 20) + var/input_text = tgui_input_text(user, "Enter the tag of the next patrol location", "Beacon Location", next_patrol, 20) if (!input_text || location == input_text) return codes[NAVBEACON_PATROL_NEXT] = input_text diff --git a/code/game/machinery/nebula_shielding.dm b/code/game/machinery/nebula_shielding.dm index 10306177ebf5a..cb3965cf5d2ff 100644 --- a/code/game/machinery/nebula_shielding.dm +++ b/code/game/machinery/nebula_shielding.dm @@ -6,7 +6,6 @@ pixel_x = -16 layer = FLY_LAYER - plane = ABOVE_GAME_PLANE ///Strength of the shield we apply var/shielding_strength diff --git a/code/game/machinery/newscaster/newscaster_data.dm b/code/game/machinery/newscaster/newscaster_data.dm index 94449808857e1..89e491532c458 100644 --- a/code/game/machinery/newscaster/newscaster_data.dm +++ b/code/game/machinery/newscaster/newscaster_data.dm @@ -107,17 +107,17 @@ GLOBAL_LIST_EMPTY(request_list) channel_ID = random_channel_id_setup() /** - * This proc assigns each feed_channel a random integer, from 1-999 as a unique identifer. + * This proc assigns each feed_channel a random integer, from 1-999 as a unique identifier. * Using this value, the TGUI window has a unique identifier to attach to messages that can be used to reattach them * to their parent channels back in dreammaker. - * Based on implementation, we're limiting outselves to only 998 player made channels maximum. How we'd use all of them, I don't know. + * Based on implementation, we're limiting ourselves to only 998 player made channels maximum. How we'd use all of them, I don't know. */ /datum/feed_channel/proc/random_channel_id_setup() if(!GLOB.news_network) return //Should only apply to channels made before setup is finished, use hardset_channel for these if(!GLOB.news_network.channel_IDs) GLOB.news_network.channel_IDs += rand(1,999) - return //This will almost always be the station annoucements channel here. + return //This will almost always be the station announcements channel here. var/channel_id for(var/i in 1 to 10000) channel_id = rand(1, 999) @@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(request_list) var/active /// What is the criminal in question's name? Not a mob reference as this is a text field. var/criminal - /// Message body used to describe what crime has been comitted. + /// Message body used to describe what crime has been committed. var/body /// Who was it that created this wanted message? var/scanned_user @@ -181,7 +181,7 @@ GLOBAL_LIST_EMPTY(request_list) var/message_count = 0 /datum/feed_network/New() - create_feed_channel("Station Announcements", "SS13", "Company news, staff annoucements, and all the latest information. Have a secure shift!", locked = TRUE, hardset_channel = 1000) + create_feed_channel("Station Announcements", "SS13", "Company news, staff announcements, and all the latest information. Have a secure shift!", locked = TRUE, hardset_channel = 1000) wanted_issue = new /datum/wanted_message /datum/feed_network/proc/create_feed_channel(channel_name, author, desc, locked, adminChannel = FALSE, hardset_channel) diff --git a/code/game/machinery/newscaster/newscaster_machine.dm b/code/game/machinery/newscaster/newscaster_machine.dm index 7f3d8ea806f46..45c9d9db00136 100644 --- a/code/game/machinery/newscaster/newscaster_machine.dm +++ b/code/game/machinery/newscaster/newscaster_machine.dm @@ -3,7 +3,7 @@ /obj/machinery/newscaster name = "newscaster" desc = "A standard Nanotrasen-licensed newsfeed handler for use in commercial space stations. All the news you absolutely have no use for, in one place!" - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/newscaster.dmi' icon_state = "newscaster_off" base_icon_state = "newscaster" verb_say = "beeps" @@ -66,7 +66,7 @@ /obj/machinery/newscaster/pai/ui_state(mob/user) return GLOB.reverse_contained_state -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/newscaster) /obj/machinery/newscaster/Initialize(mapload, ndir, building) . = ..() @@ -74,6 +74,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) GLOB.allbountyboards += src update_appearance() find_and_hang_on_wall() + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 42) /obj/machinery/newscaster/Destroy() GLOB.allCasters -= src @@ -264,7 +265,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) return data -/obj/machinery/newscaster/ui_act(action, params) +/obj/machinery/newscaster/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -804,9 +805,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster, 30) /obj/item/wallframe/newscaster name = "newscaster frame" desc = "Used to build newscasters, just secure to the wall." + icon = 'icons/obj/machines/newscaster.dmi' icon_state = "newscaster_assembly" custom_materials = list(/datum/material/iron= SHEET_MATERIAL_AMOUNT * 7, /datum/material/glass= SHEET_MATERIAL_AMOUNT * 4) result_path = /obj/machinery/newscaster - pixel_shift = 30 #undef ALERT_DELAY diff --git a/code/game/machinery/newscaster/newspaper.dm b/code/game/machinery/newscaster/newspaper.dm index 2bd8187b9f8c0..c381f2f506304 100644 --- a/code/game/machinery/newscaster/newspaper.dm +++ b/code/game/machinery/newscaster/newspaper.dm @@ -132,6 +132,15 @@ /// Called when someone tries to figure out what our identity is, but they can't see it because of the newspaper /obj/item/newspaper/proc/holder_checked_name(mob/living/carbon/human/source, list/identity) SIGNAL_HANDLER + + var/newspaper_obscurity_priority = 100 // how powerful obscuring your appearance with a newspaper is + if(identity[VISIBLE_NAME_FORCED]) + if(identity[VISIBLE_NAME_FORCED] > newspaper_obscurity_priority) // the other set forced name is forcier than breaking news + return + else if(identity[VISIBLE_NAME_FORCED] == newspaper_obscurity_priority) + stack_trace("A name-setting signal operation ([identity[VISIBLE_NAME_FACE]]) has a priority collision with [src].") + else + identity[VISIBLE_NAME_FORCED] = newspaper_obscurity_priority identity[VISIBLE_NAME_FACE] = "" identity[VISIBLE_NAME_ID] = "" diff --git a/code/game/machinery/photobooth.dm b/code/game/machinery/photobooth.dm index 321ae7efd6e76..aa40eba00558f 100644 --- a/code/game/machinery/photobooth.dm +++ b/code/game/machinery/photobooth.dm @@ -5,6 +5,7 @@ * Links to buttons for remote control. */ /obj/machinery/photobooth + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "photobooth" desc = "A machine with some drapes and a camera, used to update security record photos. Requires Law Office access to use." icon = 'icons/obj/machines/photobooth.dmi' @@ -195,6 +196,8 @@ controller.id = null balloon_alert(user, "linked to [tool.buffer]") +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/photobooth) + /obj/item/assembly/control/photobooth_control name = "photobooth controller" desc = "A remote controller for the HoP's photobooth." diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 929383b178c62..ef18dc6b068ae 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -36,9 +36,11 @@ Buildable meters icon_state_preview = "junction" pipe_type = /obj/machinery/atmospherics/pipe/heat_exchanging/junction /obj/item/pipe/directional/vent + name = "air vent fitting" icon_state_preview = "uvent" pipe_type = /obj/machinery/atmospherics/components/unary/vent_pump /obj/item/pipe/directional/scrubber + name = "air scrubber fitting" icon_state_preview = "scrubber" pipe_type = /obj/machinery/atmospherics/components/unary/vent_scrubber /obj/item/pipe/directional/connector @@ -53,6 +55,9 @@ Buildable meters /obj/item/pipe/directional/he_exchanger icon_state_preview = "heunary" pipe_type = /obj/machinery/atmospherics/components/unary/heat_exchanger +/obj/item/pipe/directional/airlock_pump + icon_state_preview = "airlock_pump" + pipe_type = /obj/machinery/atmospherics/components/unary/airlock_pump /obj/item/pipe/binary RPD_type = PIPE_STRAIGHT /obj/item/pipe/binary/layer_adapter @@ -75,6 +80,7 @@ Buildable meters RPD_type = PIPE_TRIN_M var/flipped = FALSE /obj/item/pipe/trinary/flippable/filter + name = "gas filter fitting" icon_state_preview = "filter" pipe_type = /obj/machinery/atmospherics/components/trinary/filter /obj/item/pipe/trinary/flippable/mixer diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index eb5b499bce79e..8d8d0b7d2dbbe 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -3,6 +3,7 @@ #define TRANSIT_PIPEDISPENSER 2 /obj/machinery/pipedispenser + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "pipe dispenser" icon = 'icons/obj/machines/lathes.dmi' icon_state = "pipe_d" @@ -62,7 +63,7 @@ data["init_directions"] = init_directions return data -/obj/machinery/pipedispenser/ui_act(action, params) +/obj/machinery/pipedispenser/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) if(..()) return switch(action) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index c9694730a3f8a..79482bbf79db6 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -25,6 +25,7 @@ DEFINE_BITFIELD(turret_flags, list( )) /obj/machinery/porta_turret + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "turret" icon = 'icons/obj/weapons/turrets.dmi' icon_state = "turretCover" @@ -264,7 +265,7 @@ DEFINE_BITFIELD(turret_flags, list( data["allow_manual_control"] = TRUE return data -/obj/machinery/porta_turret/ui_act(action, list/params) +/obj/machinery/porta_turret/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -914,12 +915,13 @@ DEFINE_BITFIELD(turret_flags, list( name = "turret control panel" desc = "Used to control a room's automated defenses." icon = 'icons/obj/machines/turret_control.dmi' - icon_state = "control_standby" + icon_state = "control" base_icon_state = "control" density = FALSE req_access = list(ACCESS_AI_UPLOAD) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF interaction_flags_click = ALLOW_SILICON_REACH + pixel_y = -5 // Shift it down far enough to fit the south facing state correctly /// Variable dictating if linked turrets are active and will shoot targets var/enabled = TRUE /// Variable dictating if linked turrets will shoot lethal projectiles @@ -1025,34 +1027,36 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/turretid/ui_data(mob/user) var/list/data = list() data["locked"] = locked - data["siliconUser"] = user.has_unlimited_silicon_privilege + data["siliconUser"] = HAS_SILICON_ACCESS(user) data["enabled"] = enabled data["lethal"] = lethal data["shootCyborgs"] = shoot_cyborgs return data -/obj/machinery/turretid/ui_act(action, list/params) +/obj/machinery/turretid/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return + var/mob/user = ui.user + switch(action) if("lock") - if(!usr.has_unlimited_silicon_privilege) + if(!HAS_SILICON_ACCESS(user)) return if((obj_flags & EMAGGED) || (machine_stat & BROKEN)) - to_chat(usr, span_warning("The turret control is unresponsive!")) + to_chat(user, span_warning("The turret control is unresponsive!")) return locked = !locked return TRUE if("power") - toggle_on(usr) + toggle_on(user) return TRUE if("mode") - toggle_lethal(usr) + toggle_lethal(user) return TRUE if("shoot_silicons") - shoot_silicons(usr) + shoot_silicons(user) return TRUE /obj/machinery/turretid/proc/toggle_lethal(mob/user) @@ -1091,15 +1095,18 @@ DEFINE_BITFIELD(turret_flags, list( turret.setState(enabled, lethal, shoot_cyborgs) update_appearance() -/obj/machinery/turretid/update_icon_state() +/obj/machinery/turretid/update_overlays() + . = ..() if(machine_stat & NOPOWER) - icon_state = "[base_icon_state]_off" - return ..() - if (enabled) - icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" - return ..() - icon_state = "[base_icon_state]_standby" - return ..() + return + if(enabled) + . += mutable_appearance(icon, "[base_icon_state]_[lethal ? "kill" : "stun"]") + . += emissive_appearance(icon, "[base_icon_state]_[lethal ? "kill" : "stun"]", src, alpha = src.alpha) + else + . += mutable_appearance(icon, "[base_icon_state]_standby") + . += emissive_appearance(icon, "[base_icon_state]_standby", src, alpha = src.alpha) + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/turretid) /obj/item/wallframe/turret_control name = "turret control frame" @@ -1108,7 +1115,6 @@ DEFINE_BITFIELD(turret_flags, list( icon_state = "control_frame" result_path = /obj/machinery/turretid custom_materials = list(/datum/material/iron= SHEET_MATERIAL_AMOUNT) - pixel_shift = 29 /obj/item/gun/proc/get_turret_properties() . = list() diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm index ad3111b330bdc..9affb28f1cd25 100644 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ b/code/game/machinery/porta_turret/portable_turret_cover.dm @@ -4,6 +4,7 @@ ************************/ /obj/machinery/porta_turret_cover + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "turret" icon = 'icons/obj/weapons/turrets.dmi' icon_state = "turretCover" diff --git a/code/game/machinery/portagrav.dm b/code/game/machinery/portagrav.dm new file mode 100644 index 0000000000000..c970fa5f8f1c6 --- /dev/null +++ b/code/game/machinery/portagrav.dm @@ -0,0 +1,268 @@ +/obj/machinery/power/portagrav + anchored = FALSE + density = TRUE + interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON + icon = 'icons/obj/machines/gravity_generator.dmi' + icon_state = "portagrav" + base_icon_state = "portagrav" + name = "Portable Gravity Unit" + desc = "Generates gravity around itself. Powered by wire or cell. Must be anchored before use." + max_integrity = 250 + circuit = /obj/item/circuitboard/machine/portagrav + armor_type = /datum/armor/portable_gravity + interaction_flags_click = ALLOW_SILICON_REACH + //We don't use area power + use_power = NO_POWER_USE + ///The cell we spawn with + var/obj/item/stock_parts/power_store/cell/cell = /obj/item/stock_parts/power_store/cell/high + ///Is the machine on? + var/on = FALSE + /// do we use power from wire instead + var/wire_mode = FALSE + /// our gravity field + var/datum/proximity_monitor/advanced/gravity/subtle_effect/gravity_field + /// strength of our gravity + var/grav_strength = STANDARD_GRAVITY + /// gravity range + var/range = 4 + /// max gravity range + var/max_range = 6 + /// draw per range + var/draw_per_range = BASE_MACHINE_ACTIVE_CONSUMPTION + +/datum/armor/portable_gravity + fire = 100 + melee = 10 + bomb = 40 + +/obj/machinery/power/portagrav/Initialize(mapload) + . = ..() + if(ispath(cell)) + cell = new cell(src) + if(anchored && wire_mode) + connect_to_network() + + AddElement( \ + /datum/element/contextual_screentip_bare_hands, \ + rmb_text = "Toggle power", \ + ) + + var/static/list/tool_behaviors = list( + TOOL_WRENCH = list( + SCREENTIP_CONTEXT_LMB = "Anchor", + ), + ) + AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) + +/obj/machinery/power/portagrav/Destroy() + . = ..() + cell = null + +/obj/machinery/power/portagrav/update_overlays() + . = ..() + if(anchored) + . += "portagrav_anchors" + if(on) + . += "portagrav_o" + . += "activated" + +/obj/machinery/power/portagrav/examine(mob/user) + . = ..() + . += "It is [on ? "on" : "off"]." + . += "The charge meter reads: [!isnull(cell) ? "[round(cell.percent(), 1)]%" : "NO CELL"]." + . += "It is[anchored ? "" : " not"] anchored." + if(in_range(user, src) || isobserver(user)) + . += span_notice("Right-click to toggle [on ? "off" : "on"].") + +/obj/machinery/power/portagrav/RefreshParts() + . = ..() + var/power_usage = initial(draw_per_range) + for(var/datum/stock_part/micro_laser/laser in component_parts) + power_usage -= BASE_MACHINE_ACTIVE_CONSUMPTION / 10 * (laser.tier - 1) + draw_per_range = power_usage + var/new_range = 4 + for(var/datum/stock_part/capacitor/capacitor in component_parts) + new_range += capacitor.tier + max_range = new_range + update_field() + +/obj/machinery/power/portagrav/screwdriver_act(mob/living/user, obj/item/tool) + . = NONE + if(default_deconstruction_screwdriver(user, "[base_icon_state]_o", base_icon_state, tool)) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/power/portagrav/crowbar_act(mob/living/user, obj/item/tool) + . = NONE + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/power/portagrav/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = NONE + if(!istype(tool, /obj/item/stock_parts/power_store/cell)) + return + if(!panel_open) + balloon_alert(user, "must open panel!") + return ITEM_INTERACT_BLOCKING + if(cell) + balloon_alert(user, "already has a cell!") + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(tool, src)) + return ITEM_INTERACT_FAILURE + cell = tool + return ITEM_INTERACT_SUCCESS + +/obj/machinery/power/portagrav/should_have_node() + return anchored + +/obj/machinery/power/portagrav/connect_to_network() + if(!anchored) + return FALSE + . = ..() + +/obj/machinery/power/portagrav/wrench_act(mob/living/user, obj/item/tool) + . = ..() + if(on) + balloon_alert(user, "turn off first!") + return + default_unfasten_wrench(user, tool) + if(anchored && wire_mode) + connect_to_network() + else + disconnect_from_network() + update_appearance() + return ITEM_INTERACT_SUCCESS + +/obj/machinery/power/portagrav/get_cell() + return cell + +/obj/machinery/power/portagrav/attack_hand(mob/living/carbon/user, list/modifiers) + . = ..() + if(!panel_open || isnull(cell) || !istype(user) || user.combat_mode) + return + if(user.put_in_hands(cell)) + cell = null + +/obj/machinery/power/portagrav/attack_hand_secondary(mob/user, list/modifiers) + if(!can_interact(user)) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + toggle_on(user) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + +/obj/machinery/power/portagrav/emag_act(mob/user, obj/item/card/emag/emag_card) + if(obj_flags & EMAGGED) + return FALSE + obj_flags |= EMAGGED + visible_message(span_warning("Sparks fly out of [src]!")) + if(user) + balloon_alert(user, "unsafe gravity unlocked") + user.log_message("emagged [src].", LOG_ATTACK) + playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + return TRUE + +/obj/machinery/power/portagrav/proc/toggle_on(mob/user) + if(on) + turn_off(user) + else + turn_on(user) + +/obj/machinery/power/portagrav/proc/turn_on(mob/user) + if(!anchored) + if(!isnull(user)) + balloon_alert(user, "not anchored!") + return FALSE + if((!wire_mode && cell?.charge < draw_per_range * range) || (wire_mode && surplus() < draw_per_range * range)) + if(!isnull(user)) + balloon_alert(user, "not enough power!") + return FALSE + if(!isnull(user)) + balloon_alert(user, "turned on") + on = TRUE + START_PROCESSING(SSmachines, src) + gravity_field = new(src, range = src.range, gravity = grav_strength) + update_appearance() + +/obj/machinery/power/portagrav/proc/turn_off(mob/user) + on = FALSE + if(!isnull(user)) + balloon_alert(user, "turned off") + STOP_PROCESSING(SSmachines, src) + QDEL_NULL(gravity_field) + update_appearance() + +/obj/machinery/power/portagrav/process(seconds_per_tick) + if(!on || !anchored) + return PROCESS_KILL + if(wire_mode) + if(powernet && surplus() >= draw_per_range * range) + add_load(draw_per_range * range) + else + turn_off() + else + if(!cell?.use(draw_per_range * range)) + turn_off() + +/obj/machinery/power/portagrav/proc/update_field() + if(isnull(gravity_field)) + return + gravity_field.set_range(range) + gravity_field.gravity_value = grav_strength + gravity_field.recalculate_field(full_recalc = TRUE) + +/obj/machinery/power/portagrav/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Portagrav", name) + ui.open() + +/obj/machinery/power/portagrav/ui_data(mob/user) + . = list() + if(!isnull(cell)) + .["percentage"] = (cell.charge / cell.maxcharge) * 100 + .["gravity"] = grav_strength + .["range"] = range + .["maxrange"] = max_range + .["on"] = on + .["wiremode"] = wire_mode + .["draw"] = display_power(draw_per_range * range) + +/obj/machinery/power/portagrav/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + playsound(src, 'sound/machines/terminal_button07.ogg', 45, TRUE) + switch(action) + if("adjust_grav") + var/adjustment = text2num(params["adjustment"]) + if(isnull(adjustment)) + return + var/bonus = (obj_flags & EMAGGED) ? 2 : 0 + // REPLACE 0 with NEGATIVE_GRAVITY ONCE NEGATIVE GRAVITY IS SOMETHING ACTUALLY FUNCTIONAL + var/result = clamp(grav_strength + adjustment, 0, GRAVITY_DAMAGE_THRESHOLD - 1 + bonus) + if(result == grav_strength) + return + grav_strength = result + update_field() + return TRUE + if("toggle_power") + toggle_on(usr) + return TRUE + if("toggle_wire") + wire_mode = !wire_mode + if(wire_mode && anchored) + connect_to_network() + else + disconnect_from_network() + return TRUE + if("adjust_range") + var/adjustment = text2num(params["adjustment"]) + if(isnull(adjustment)) + return + var/result = clamp(range + adjustment, 0, max_range) + if(result == range) + return + range = result + update_field() + return TRUE + +/obj/machinery/power/portagrav/anchored + anchored = TRUE diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm index aaf1e6a342eaa..690d65ba62d48 100644 --- a/code/game/machinery/prisonlabor.dm +++ b/code/game/machinery/prisonlabor.dm @@ -1,4 +1,5 @@ /obj/machinery/plate_press + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "license plate press" desc = "You know, we're making a lot of license plates for a station with literally no cars in it." icon = 'icons/obj/machines/prison.dmi' diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 45610b47e7a42..e4ea88bc61312 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -1,4 +1,5 @@ /obj/machinery/recharge_station + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "recharging station" desc = "This device recharges energy dependent lifeforms, like cyborgs, ethereals and MODsuit users." icon = 'icons/obj/machines/borg_charger.dmi' diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 28aae48886621..fd3795ec09aff 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -6,7 +6,6 @@ icon = 'icons/obj/machines/recycling.dmi' icon_state = "grinder-o0" layer = ABOVE_ALL_MOB_LAYER // Overhead - plane = ABOVE_GAME_PLANE density = TRUE circuit = /obj/item/circuitboard/machine/recycler var/safety_mode = FALSE // Temporarily stops machine if it detects a mob @@ -133,33 +132,55 @@ qdel(morsel) return - var/list/to_eat = (issilicon(morsel) ? list(morsel) : morsel.get_all_contents()) //eating borg contents leads to many bad things + var/list/atom/to_eat = list(morsel) var/living_detected = FALSE //technically includes silicons as well but eh var/list/nom = list() var/list/crunchy_nom = list() //Mobs have to be handled differently so they get a different list instead of checking them multiple times. + var/not_eaten = 0 - for(var/thing in to_eat) - var/obj/as_object = thing - if(istype(as_object)) - if(as_object.resistance_flags & INDESTRUCTIBLE) - if(!isturf(as_object.loc) && !isliving(as_object.loc)) - as_object.forceMove(loc) // so you still cant shove it in a locker - continue - var/obj/item/bodypart/head/as_head = thing - var/obj/item/mmi/as_mmi = thing - if(istype(thing, /obj/item/organ/internal/brain) || (istype(as_head) && locate(/obj/item/organ/internal/brain) in as_head) || (istype(as_mmi) && as_mmi.brain) || istype(thing, /obj/item/dullahan_relay)) - living_detected = TRUE - if(isitem(as_object)) - var/obj/item/as_item = as_object - if(as_item.item_flags & ABSTRACT) //also catches organs and bodyparts *stares* - continue - nom += thing - else if(isliving(thing)) + while (to_eat.len) + var/atom/movable/thing = to_eat[1] + to_eat -= thing + + if (thing.flags_1 & HOLOGRAM_1) + qdel(thing) + continue + + if (thing.resistance_flags & INDESTRUCTIBLE) + if (!isturf(thing.loc) && !isliving(thing.loc)) + thing.forceMove(loc) + not_eaten += 1 + continue + + if (isliving(thing)) living_detected = TRUE crunchy_nom += thing + if (!issilicon(thing)) + to_eat |= thing.contents + continue + + if (!isobj(thing)) + not_eaten += 1 + continue + + if (isitem(thing)) + var/obj/item/as_item = thing + if (as_item.item_flags & ABSTRACT) + not_eaten += 1 + continue + + if (istype(thing, /obj/item/organ/internal/brain) || istype(thing, /obj/item/dullahan_relay)) + living_detected = TRUE + + if (istype(thing, /obj/item/mmi)) + var/obj/item/mmi/mmi = thing + if (!isnull(mmi.brain)) + living_detected = TRUE + + nom += thing + to_eat |= thing.contents - var/not_eaten = to_eat.len - nom.len - crunchy_nom.len if(living_detected) // First, check if we have any living beings detected. if(obj_flags & EMAGGED) for(var/CRUNCH in crunchy_nom) // Eat them and keep going because we don't care about safety. @@ -174,7 +195,7 @@ /** * we process the list in reverse so that atoms without parents/contents are deleted first & their parents are deleted next & so on. - * this is the reverse order in which get_all_contents() returns it's list + * this is the reverse order in which get_all_contents() returns its list * if we delete an atom containing stuff then all its stuff are deleted with it as well so we will end recycling deleted items down the list and gain nothing from them */ for(var/i = length(nom); i >= 1; i--) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 4a764872a8a2a..dd5e106db3d1b 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) /obj/machinery/requests_console name = "requests console" desc = "A console intended to send requests to different departments on the station." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/request_console.dmi' icon_state = "req_comp_off" base_icon_state = "req_comp" active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.15 @@ -128,6 +128,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) radio = new /obj/item/radio(src) radio.set_listening(FALSE) find_and_hang_on_wall() + AddComponent(/datum/component/examine_balloon) /obj/machinery/requests_console/Destroy() QDEL_NULL(radio) @@ -401,16 +402,15 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) /obj/machinery/requests_console/auto_name // Register an autoname variant and then make the directional helpers before undefing all the magic bits auto_name = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/requests_console, 30) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/requests_console/auto_name, 30) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/requests_console) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/requests_console/auto_name) /obj/item/wallframe/requests_console name = "requests console" desc = "An unmounted requests console. Attach it to a wall to use." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/request_console.dmi' icon_state = "req_comp_off" result_path = /obj/machinery/requests_console/auto_name - pixel_shift = 30 #undef REQ_EMERGENCY_SECURITY #undef REQ_EMERGENCY_ENGINEERING diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index ba4a5136a8978..bb43b7a46db9e 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -98,7 +98,7 @@ return data -/obj/machinery/roulette/ui_act(action, params) +/obj/machinery/roulette/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -277,7 +277,7 @@ var/value = coin_values[coin_type] //Change this to use initial value once we change to mat datum coins. var/coin_count = round(remaining_payout / value) - if(!coin_count) //Cant make coins of this type, as we can't reach it's value. + if(!coin_count) //Cant make coins of this type, as we can't reach its value. continue remaining_payout -= value * coin_count @@ -451,11 +451,12 @@ addtimer(CALLBACK(src, PROC_REF(launch_payload)), 4 SECONDS) /obj/item/roulette_wheel_beacon/proc/launch_payload() - var/obj/structure/closet/supplypod/centcompod/toLaunch = new() - - new /obj/machinery/roulette(toLaunch) - - new /obj/effect/pod_landingzone(drop_location(), toLaunch) + podspawn(list( + "target" = drop_location(), + "path" = /obj/structure/closet/supplypod/centcompod, + "spawn" = /obj/machinery/roulette + )) + qdel(src) #undef ROULETTE_DOZ_COL_PAYOUT diff --git a/code/game/machinery/satellite/satellite_control.dm b/code/game/machinery/satellite/satellite_control.dm index c0875d9e26a6b..9983cc439e366 100644 --- a/code/game/machinery/satellite/satellite_control.dm +++ b/code/game/machinery/satellite/satellite_control.dm @@ -11,7 +11,7 @@ ui = new(user, src, "SatelliteControl", name) ui.open() -/obj/machinery/computer/sat_control/ui_act(action, params) +/obj/machinery/computer/sat_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/scanner_gate.dm b/code/game/machinery/scanner_gate.dm index 860a5b1bc05b1..85d816543926b 100644 --- a/code/game/machinery/scanner_gate.dm +++ b/code/game/machinery/scanner_gate.dm @@ -23,11 +23,11 @@ desc = "A gate able to perform mid-depth scans on any organisms who pass under it." icon = 'icons/obj/machines/scangate.dmi' icon_state = "scangate" + layer = ABOVE_MOB_LAYER circuit = /obj/item/circuitboard/machine/scanner_gate + COOLDOWN_DECLARE(next_beep) var/scanline_timer - ///Internal timer to prevent audio spam. - var/next_beep = 0 ///Bool to check if the scanner's controls are locked by an ID. var/locked = FALSE ///Which setting is the scanner checking for? See defines in scanner_gate.dm for the list. @@ -46,6 +46,10 @@ var/light_fail = FALSE ///Does the scanner ignore light_pass and light_fail for sending signals? var/ignore_signals = FALSE + ///Modifier to the chance of scanner being false positive/negative + var/minus_false_beep = 0 + ///Base false positive/negative chance + var/base_false_beep = 5 ///Is an n-spect scanner attached to the gate? Enables contraband scanning. var/obj/item/inspector/n_spect = null @@ -60,10 +64,10 @@ AddElement(/datum/element/connect_loc, loc_connections) register_context() -/obj/machinery/scanner_gate/Destroy() - qdel(wires) - set_wires(null) +/obj/machinery/scanner_gate/RefreshParts() . = ..() + for(var/datum/stock_part/scanning_module/scanning_module in component_parts) + minus_false_beep = scanning_module.tier //The better are scanninning modules - the lower is chance of False Positives /obj/machinery/scanner_gate/atom_deconstruct(disassembled) . = ..() @@ -73,6 +77,8 @@ /obj/machinery/scanner_gate/examine(mob/user) . = ..() + + . += span_notice("It's set to scan for [span_boldnotice(scangate_mode)].") if(locked) . += span_notice("The control panel is ID-locked. Swipe a valid ID to unlock it.") else @@ -90,13 +96,13 @@ return CONTEXTUAL_SCREENTIP_SET -/obj/machinery/scanner_gate/proc/on_entered(datum/source, atom/movable/AM) +/obj/machinery/scanner_gate/proc/on_entered(datum/source, atom/movable/thing) SIGNAL_HANDLER - INVOKE_ASYNC(src, PROC_REF(auto_scan), AM) + INVOKE_ASYNC(src, PROC_REF(auto_scan), thing) -/obj/machinery/scanner_gate/proc/auto_scan(atom/movable/AM) - if(!(machine_stat & (BROKEN|NOPOWER)) && isliving(AM) & (!panel_open)) - perform_scan(AM) +/obj/machinery/scanner_gate/proc/auto_scan(atom/movable/thing) + if(!(machine_stat & (BROKEN|NOPOWER)) && anchored && !panel_open) + perform_scan(thing) /obj/machinery/scanner_gate/proc/set_scanline(type, duration) cut_overlays() @@ -118,8 +124,8 @@ return ITEM_INTERACT_SUCCESS return NONE -/obj/machinery/scanner_gate/attackby(obj/item/W, mob/user, params) - var/obj/item/card/id/card = W.GetID() +/obj/machinery/scanner_gate/attackby(obj/item/attacking_item, mob/user, params) + var/obj/item/card/id/card = attacking_item.GetID() if(card) if(locked) if(allowed(user)) @@ -127,22 +133,26 @@ req_access = list() to_chat(user, span_notice("You unlock [src].")) else if(!(obj_flags & EMAGGED)) - to_chat(user, span_notice("You lock [src] with [W].")) - var/list/access = W.GetAccess() + to_chat(user, span_notice("You lock [src] with [attacking_item].")) + var/list/access = attacking_item.GetAccess() req_access = access locked = TRUE else - to_chat(user, span_warning("You try to lock [src] with [W], but nothing happens.")) + to_chat(user, span_warning("You try to lock [src] with [attacking_item], but nothing happens.")) else - if(!locked && default_deconstruction_screwdriver(user, "[initial(icon_state)]_open", initial(icon_state), W)) + if(!locked && default_deconstruction_screwdriver(user, "[initial(icon_state)]_open", initial(icon_state), attacking_item)) return - if(panel_open && is_wire_tool(W)) + if(panel_open && is_wire_tool(attacking_item)) wires.interact(user) return ..() /obj/machinery/scanner_gate/crowbar_act(mob/living/user, obj/item/tool) . = ..() if(n_spect) + if(locked) + balloon_alert(user, "locked!") + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("You uninstall [n_spect] from [src].")) n_spect.forceMove(drop_location()) return ITEM_INTERACT_SUCCESS @@ -163,69 +173,102 @@ balloon_alert(user, "id checker disabled") return TRUE -/obj/machinery/scanner_gate/proc/perform_scan(mob/living/M) +/obj/machinery/scanner_gate/proc/perform_scan(atom/movable/thing) var/beep = FALSE var/color = null + var/detected_thing = null switch(scangate_mode) if(SCANGATE_NONE) return if(SCANGATE_WANTED) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - var/perpname = H.get_face_name(H.get_id_name()) + if(ishuman(thing)) + detected_thing = "Warrant" + var/mob/living/carbon/human/scanned_human = thing + var/perpname = scanned_human.get_face_name(scanned_human.get_id_name()) var/datum/record/crew/target = find_record(perpname) if(!target || (target.wanted_status == WANTED_ARREST)) beep = TRUE if(SCANGATE_MINDSHIELD) - if(HAS_TRAIT(M, TRAIT_MINDSHIELD)) - beep = TRUE + detected_thing = "Mindshield" + if(ishuman(thing)) + var/mob/living/carbon/human/scanned_human = thing + if(HAS_TRAIT(scanned_human, TRAIT_MINDSHIELD)) + beep = TRUE if(SCANGATE_DISEASE) - if(iscarbon(M)) - var/mob/living/carbon/C = M - if(get_disease_severity_value(C.check_virus()) >= get_disease_severity_value(disease_threshold)) + detected_thing = "[disease_threshold] infection" + if(iscarbon(thing)) + var/mob/living/carbon/scanned_carbon = thing + if(get_disease_severity_value(scanned_carbon.check_virus()) >= get_disease_severity_value(disease_threshold)) beep = TRUE if(SCANGATE_SPECIES) - if(ishuman(M)) - var/mob/living/carbon/human/H = M + if(ishuman(thing)) + var/mob/living/carbon/human/scanned_human = thing var/datum/species/scan_species = /datum/species/human switch(detect_species) if(SCANGATE_LIZARD) + detected_thing = "Lizardperson" scan_species = /datum/species/lizard if(SCANGATE_FLY) + detected_thing = "Flyperson" scan_species = /datum/species/fly if(SCANGATE_FELINID) + detected_thing = "Felinid" scan_species = /datum/species/human/felinid if(SCANGATE_PLASMAMAN) + detected_thing = "Plasmaman" scan_species = /datum/species/plasmaman if(SCANGATE_MOTH) + detected_thing = "Mothperson" scan_species = /datum/species/moth if(SCANGATE_JELLY) + detected_thing = "Jellyperson" scan_species = /datum/species/jelly if(SCANGATE_POD) + detected_thing = "Podperson" scan_species = /datum/species/pod if(SCANGATE_GOLEM) + detected_thing = "Golem" scan_species = /datum/species/golem if(SCANGATE_ZOMBIE) + detected_thing = "Zombie" scan_species = /datum/species/zombie - if(is_species(H, scan_species)) + if(is_species(scanned_human, scan_species)) beep = TRUE if(detect_species == SCANGATE_ZOMBIE) //Can detect dormant zombies - if(H.get_organ_slot(ORGAN_SLOT_ZOMBIE)) + detected_thing = "Romerol infection" + if(scanned_human.get_organ_slot(ORGAN_SLOT_ZOMBIE)) beep = TRUE if(SCANGATE_GUNS) - for(var/I in M.get_contents()) - if(isgun(I)) - beep = TRUE - break + detected_thing = "Weapons" + if(isgun(thing)) + beep = TRUE + else if(ishuman(thing)) + var/mob/living/carbon/human/scanned_human = thing + var/obj/item/card/id/idcard = scanned_human.get_idcard(hand_first = FALSE) + for(var/obj/item/scanned_item in scanned_human.get_all_contents_skipping_traits(TRAIT_CONTRABAND_BLOCKER)) + if(isgun(scanned_item)) + if((!HAS_TRAIT(scanned_human, TRAIT_MINDSHIELD)) && (isnull(idcard) || !(ACCESS_WEAPONS in idcard.access))) // mindshield or ID card with weapons access, like bartender + beep = TRUE + break + say("[detected_thing] detection bypassed.") + break + else + for(var/obj/item/content in thing.get_all_contents_skipping_traits(TRAIT_CONTRABAND_BLOCKER)) + if(isgun(content)) + beep = TRUE + break if(SCANGATE_NUTRITION) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.nutrition <= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_STARVING) + if(ishuman(thing)) + var/mob/living/carbon/human/scanned_human = thing + if(scanned_human.nutrition <= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_STARVING) beep = TRUE - if(H.nutrition >= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_FAT) + detected_thing = "Starvation" + if(scanned_human.nutrition >= detect_nutrition && detect_nutrition == NUTRITION_LEVEL_FAT) beep = TRUE + detected_thing = "Obesity" if(SCANGATE_CONTRABAND) - for(var/obj/item/content in M.get_all_contents_skipping_traits(TRAIT_CONTRABAND_BLOCKER)) + for(var/obj/item/content in thing.get_all_contents_skipping_traits(TRAIT_CONTRABAND_BLOCKER)) + detected_thing = "Contraband" if(content.is_contraband()) beep = TRUE break @@ -234,29 +277,36 @@ if(reverse) beep = !beep + + if(prob(base_false_beep - minus_false_beep)) //False positive/negative + beep = prob(50) + if(beep) - alarm_beep() - SEND_SIGNAL(src, COMSIG_SCANGATE_PASS_TRIGGER, M) + alarm_beep(detected_thing) + SEND_SIGNAL(src, COMSIG_SCANGATE_PASS_TRIGGER, thing) if(!ignore_signals) color = wires.get_color_of_wire(WIRE_ACCEPT) var/obj/item/assembly/assembly = wires.get_attached(color) assembly?.activate() else - SEND_SIGNAL(src, COMSIG_SCANGATE_PASS_NO_TRIGGER, M) + SEND_SIGNAL(src, COMSIG_SCANGATE_PASS_NO_TRIGGER, thing) if(!ignore_signals) color = wires.get_color_of_wire(WIRE_DENY) var/obj/item/assembly/assembly = wires.get_attached(color) assembly?.activate() - set_scanline("scanning", 10) + set_scanline("scanning", 1 SECONDS) use_energy(active_power_usage) -/obj/machinery/scanner_gate/proc/alarm_beep() - if(next_beep <= world.time) - next_beep = world.time + (2 SECONDS) - playsound(src, 'sound/machines/scanbuzz.ogg', 100, FALSE) - var/mutable_appearance/alarm_display = mutable_appearance(icon, "alarm_light") - flick_overlay_view(alarm_display, 2 SECONDS) +/obj/machinery/scanner_gate/proc/alarm_beep(detected_thing) + if(!COOLDOWN_FINISHED(src, next_beep)) + return + + if(detected_thing) + say("[detected_thing][reverse ? " not " : " "]detected!!") + + COOLDOWN_START(src, next_beep, 2 SECONDS) + playsound(source = src, soundin = 'sound/machines/scanbuzz.ogg', vol = 30, vary = FALSE, extrarange = MEDIUM_RANGE_SOUND_EXTRARANGE, falloff_distance = 4) set_scanline("alarm", 2 SECONDS) /obj/machinery/scanner_gate/can_interact(mob/user) @@ -281,7 +331,7 @@ data["contraband_enabled"] = !!n_spect return data -/obj/machinery/scanner_gate/ui_act(action, params) +/obj/machinery/scanner_gate/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -321,6 +371,11 @@ detect_nutrition = NUTRITION_LEVEL_FAT . = TRUE +/obj/machinery/scanner_gate/preset_guns + locked = TRUE + req_access = ACCESS_SECURITY + scangate_mode = SCANGATE_GUNS + #undef SCANGATE_NONE #undef SCANGATE_MINDSHIELD #undef SCANGATE_DISEASE diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index d961c68dc8ed6..d865253191f51 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -136,6 +136,7 @@ RemoveInvisibility(type) /obj/machinery/shieldgen + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "anti-breach shielding projector" desc = "Used to seal minor hull breaches." icon = 'icons/obj/machines/shield_generator.dmi' @@ -281,11 +282,13 @@ #define ACTIVE_SETUPFIELDS 1 #define ACTIVE_HASFIELDS 2 /obj/machinery/power/shieldwallgen + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "shield wall generator" desc = "A shield generator." icon = 'icons/obj/machines/shield_generator.dmi' icon_state = "shield_wall_gen" base_icon_state = "shield_wall_gen" + layer = SHIELD_GENERATOR_LAYER light_on = FALSE light_range = 2.5 light_power = 2 @@ -298,6 +301,8 @@ active_power_usage = 150 circuit = /obj/item/circuitboard/machine/shieldwallgen max_integrity = 300 + /// List of directions in which we have active walls + var/list/active_directions = list() /// whether the shield generator is active, ACTIVE_SETUPFIELDS will make it search for generators on process, and if that is successful, is set to ACTIVE_HASFIELDS var/active = FALSE /// are we locked? @@ -324,6 +329,8 @@ /obj/machinery/power/shieldwallgen/Initialize(mapload) . = ..() + //Add to the early process queue to prioritize power draw + SSmachines.processing_early += src if(anchored) connect_to_network() RegisterSignal(src, COMSIG_ATOM_SINGULARITY_TRY_MOVE, PROC_REF(block_singularity_if_active)) @@ -334,14 +341,34 @@ set_light(l_on = !!active) /obj/machinery/power/shieldwallgen/update_icon_state() - icon_state = "[base_icon_state][active ? "_on" : ""]" + if(anchored) + icon_state = "[base_icon_state]_anchored" + else + icon_state = "[base_icon_state]" return ..() /obj/machinery/power/shieldwallgen/update_overlays() . = ..() - if(!panel_open) + if(panel_open) + . += mutable_appearance(icon, "shieldgen_wires") return - . += "shieldgen_wires" + if(active) + . += mutable_appearance(icon, "shield_wall_gen_on_overlay") + . += emissive_appearance(icon, "shield_wall_gen_on_overlay", src) + + for(var/direction in active_directions) + // don't draw cause the gen would cut it off anyhow + if(direction == NORTH) + continue + // we draw an edge overlay with vis_contents (both to avoid expanding visual bounds and to make dirsetting easier) + var/obj/effect/overlay/vis/edge_overlay = SSvis_overlays.add_vis_overlay(src, 'icons/effects/effects.dmi', "shieldwall-edge", layer, plane, dir = direction, unique = TRUE) + edge_overlay.vis_flags = NONE + if(direction == SOUTH) + // Physically shift down to overlay over stuff below us + edge_overlay.pixel_y = -16 + edge_overlay.pixel_z = 16 + edge_overlay.add_overlay(emissive_appearance('icons/effects/effects.dmi', "shieldwall-edge", src, alpha = 200)) + edge_overlay.add_overlay(mutable_appearance('icons/effects/effects.dmi', "shieldwall-edge", offset_spokesman = src, plane = FRILL_MASK_PLANE, appearance_flags = KEEP_APART)) /obj/machinery/power/shieldwallgen/Destroy() for(var/d in GLOB.cardinals) @@ -356,7 +383,7 @@ return FALSE . = ..() -/obj/machinery/power/shieldwallgen/process() +/obj/machinery/power/shieldwallgen/process_early() if(active) if(active == ACTIVE_SETUPFIELDS) var/fields = 0 @@ -385,45 +412,55 @@ return var/turf/T = loc - var/obj/machinery/power/shieldwallgen/G + var/obj/machinery/power/shieldwallgen/paired var/steps = 0 var/opposite_direction = REVERSE_DIR(direction) for(var/i in 1 to shield_range) //checks out to 8 tiles away for another generator T = get_step(T, direction) - G = locate(/obj/machinery/power/shieldwallgen) in T - if(G) - if(!G.active) + paired = locate(/obj/machinery/power/shieldwallgen) in T + if(paired) + if(!paired.active) return - G.cleanup_field(opposite_direction) + paired.cleanup_field(opposite_direction) break else steps++ - if(!G || !steps) //no shield gen or no tiles between us and the gen + if(!paired || !steps) //no shield gen or no tiles between us and the gen return for(var/i in 1 to steps) //creates each field tile T = get_step(T, opposite_direction) - new/obj/machinery/shieldwall(T, src, G) + new /obj/machinery/shieldwall(T, src, paired) + + active_directions += direction + paired.active_directions += opposite_direction + update_appearance() + paired.update_appearance() return TRUE /// cleans up fields in the specified direction if they belong to this generator /obj/machinery/power/shieldwallgen/proc/cleanup_field(direction) var/obj/machinery/shieldwall/F - var/obj/machinery/power/shieldwallgen/G + var/obj/machinery/power/shieldwallgen/paired var/turf/T = loc for(var/i in 1 to shield_range) T = get_step(T, direction) - G = (locate(/obj/machinery/power/shieldwallgen) in T) - if(G && !G.active) + paired = (locate(/obj/machinery/power/shieldwallgen) in T) + if(paired && !paired.active) break F = (locate(/obj/machinery/shieldwall) in T) if(F && (F.gen_primary == src || F.gen_secondary == src)) //it's ours, kill it. qdel(F) + active_directions -= direction + update_appearance() + if(paired) + paired.active_directions -= REVERSE_DIR(direction) + paired.update_appearance() /obj/machinery/power/shieldwallgen/proc/block_singularity_if_active() SIGNAL_HANDLER @@ -444,13 +481,14 @@ update_cable_icons_on_turf(get_turf(src)) if(unfasten_result == SUCCESSFUL_UNFASTEN && anchored) connect_to_network() + update_appearance() return ITEM_INTERACT_SUCCESS /obj/machinery/power/shieldwallgen/screwdriver_act(mob/user, obj/item/tool) if(!panel_open && locked) balloon_alert(user, "unlock first!") return - update_appearance(UPDATE_OVERLAYS) + update_appearance() return default_deconstruction_screwdriver(user, icon_state, icon_state, tool) /obj/machinery/power/shieldwallgen/crowbar_act(mob/user, obj/item/tool) @@ -537,7 +575,15 @@ icon = 'icons/effects/effects.dmi' icon_state = "shieldwall" density = TRUE + layer = SHIELD_WALL_LAYER + // Phsyically shift down to get the "over everything above us" effect we want + SET_BASE_PIXEL_NOMAP(0, -16) + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET + 16) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_SHIELD_GEN_WALL + canSmoothWith = SMOOTH_GROUP_SHIELD_GEN_WALL light_range = 2.5 light_power = 0.7 light_color = LIGHT_COLOR_BLUE @@ -547,27 +593,60 @@ var/obj/machinery/power/shieldwallgen/gen_secondary /obj/machinery/shieldwall/Initialize(mapload, obj/machinery/power/shieldwallgen/first_gen, obj/machinery/power/shieldwallgen/second_gen) + primary_direction = dir . = ..() gen_primary = first_gen gen_secondary = second_gen if(gen_primary && gen_secondary) needs_power = TRUE - setDir(get_dir(gen_primary, gen_secondary)) + primary_direction = get_dir(gen_primary, gen_secondary) + setDir(primary_direction) for(var/mob/living/L in get_turf(src)) visible_message(span_danger("\The [src] is suddenly occupying the same space as \the [L]!")) L.investigate_log("has been gibbed by [src].", INVESTIGATE_DEATHS) L.gib(DROP_ALL_REMAINS) RegisterSignal(src, COMSIG_ATOM_SINGULARITY_TRY_MOVE, PROC_REF(block_singularity)) AddElement(/datum/element/give_turf_traits, string_list(list(TRAIT_CONTAINMENT_FIELD))) + AddElement(/datum/element/render_over_keep_hitbox) + if(smoothing_flags & (SMOOTH_BITMASK|SMOOTH_CORNERS|SMOOTH_BORDER_OBJECT)) + QUEUE_SMOOTH(src) + QUEUE_SMOOTH_NEIGHBORS(src) /obj/machinery/shieldwall/Destroy() gen_primary = null gen_secondary = null return ..() +/obj/machinery/shieldwall/set_smoothed_icon_state(new_junction) + smoothing_junction = new_junction + icon_state = initial(icon_state) + var/default_junctions = dir_to_junction(primary_direction) | dir_to_junction(REVERSE_DIR(primary_direction)) + // What edges were we expecting to fill but have not? + var/dropped_junction = default_junctions & ~new_junction + + // Nothing missing? act like a line piece + if(!dropped_junction) + setDir(primary_direction) + update_appearance() + return + + // If we are missing an edge we get to check for smoothing + // Only if we're facing EAST/WEST though, NORTH/SOUTH just goes with the flow + if(primary_direction & (EAST|WEST)) + var/working_dir = NONE + // Goal here is to make a big ass circle you know? + if(new_junction & NORTH) + working_dir = dropped_junction|NORTH + else if(new_junction & SOUTH) + working_dir = dropped_junction|SOUTH + if(working_dir) + setDir(working_dir) + update_appearance() + /obj/machinery/shieldwall/update_overlays() . = ..() . += emissive_appearance(icon, icon_state, src, alpha = 200) + . += mutable_appearance(icon, icon_state, offset_spokesman = src, plane = FRILL_MASK_PLANE) /obj/machinery/shieldwall/process() if(needs_power) diff --git a/code/game/machinery/sleepers.dm b/code/game/machinery/sleepers.dm index 63291035e784f..5116b920971dd 100644 --- a/code/game/machinery/sleepers.dm +++ b/code/game/machinery/sleepers.dm @@ -237,7 +237,7 @@ return data -/obj/machinery/sleeper/ui_act(action, params) +/obj/machinery/sleeper/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index bb93b7d00f5b6..e7ca8a4fc01a4 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -15,6 +15,7 @@ #define COIN 2 /obj/machinery/computer/slot_machine + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "slot machine" desc = "Gambling for the antisocial." icon = 'icons/obj/machines/computer.dmi' diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 1c69dbecb7ea0..4789f2127957b 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -2,9 +2,10 @@ #define HEATER_MODE_HEAT "heat" #define HEATER_MODE_COOL "cool" #define HEATER_MODE_AUTO "auto" -#define BASE_HEATING_ENERGY (STANDARD_CELL_RATE * 4) +#define BASE_HEATING_ENERGY (40 KILO JOULES) /obj/machinery/space_heater + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) anchored = FALSE density = TRUE interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN @@ -32,7 +33,7 @@ ///How much heat/cold we can deliver var/heating_energy = BASE_HEATING_ENERGY ///How efficiently we can deliver that heat/cold (higher indicates less cell consumption) - var/efficiency = 200 + var/efficiency = 20 MEGA JOULES / STANDARD_CELL_CHARGE ///The amount of degrees above and below the target temperature for us to change mode to heater or cooler var/temperature_tolerance = 1 ///What's the middle point of our settable temperature (30 °C) @@ -176,7 +177,7 @@ for(var/datum/stock_part/capacitor/capacitor in component_parts) cap += capacitor.tier - heating_energy = laser * BASE_HEATING_ENERGY + heating_energy = laser * initial(heating_energy) settable_temperature_range = cap * initial(settable_temperature_range) efficiency = (cap + 1) * initial(efficiency) * 0.5 @@ -262,7 +263,7 @@ data["currentTemp"] = round(current_temperature - T0C, 1) return data -/obj/machinery/space_heater/ui_act(action, params) +/obj/machinery/space_heater/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -295,7 +296,14 @@ on = !on mode = HEATER_MODE_STANDBY if(!isnull(user)) - balloon_alert(user, "turned [on ? "on" : "off"]") + if(QDELETED(cell)) + balloon_alert(user, "no cell!") + else if(!cell.charge()) + balloon_alert(user, "no charge!") + else if(!is_operational) + balloon_alert(user, "not operational!") + else + balloon_alert(user, "turned [on ? "on" : "off"]") update_appearance() if(on) SSair.start_processing_machine(src) @@ -310,11 +318,18 @@ //We inherit the cell from the heater prior cell = null interaction_flags_click = FORBID_TELEKINESIS_REACH + display_panel = FALSE + settable_temperature_range = 50 ///The beaker within the heater var/obj/item/reagent_containers/beaker = null - ///How powerful the heating is, upgrades with parts. (ala chem_heater.dm's method, basically the same level of heating, but this is restricted) - var/chem_heating_power = 1 - display_panel = FALSE + /// How quickly it delivers heat to the reagents. In watts per joule of the thermal energy difference of the reagent from the temperature difference of the current and target temperatures. + var/beaker_conduction_power = 0.1 + /// The subsystem we're being processed by. + var/datum/controller/subsystem/processing/our_subsystem + +/obj/machinery/space_heater/improvised_chem_heater/Initialize(mapload) + our_subsystem = locate(subsystem_type) in Master.subsystems + . = ..() /obj/machinery/space_heater/improvised_chem_heater/Destroy() . = ..() @@ -322,11 +337,10 @@ /obj/machinery/space_heater/improvised_chem_heater/heating_examine() . = ..() - - var/power_mod = 0.1 * chem_heating_power - if(set_mode == HEATER_MODE_AUTO) - power_mod *= 0.5 - . += span_notice("Heating power for beaker: [display_power(heating_energy * power_mod, convert = TRUE)]") + // Conducted energy per joule of thermal energy difference in a tick. + var/conduction_energy = beaker_conduction_power * (set_mode == HEATER_MODE_AUTO ? 0.5 : 1) * our_subsystem.wait / (1 SECONDS) + // This accounts for the timestep inaccuracy. + . += span_notice("Reagent conduction power: [conduction_energy < 1 ? display_power(-log(1 - conduction_energy) SECONDS / our_subsystem.wait, convert = FALSE) : "∞W"]/J") /obj/machinery/space_heater/improvised_chem_heater/toggle_power(user) . = ..() @@ -341,10 +355,10 @@ return PROCESS_KILL if(beaker.reagents.total_volume) - var/power_mod = 0.1 * chem_heating_power + var/conduction_modifier = beaker_conduction_power switch(set_mode) if(HEATER_MODE_AUTO) - power_mod *= 0.5 + conduction_modifier *= 0.5 if(HEATER_MODE_HEAT) if(target_temperature < beaker.reagents.chem_temp) return @@ -352,7 +366,7 @@ if(target_temperature > beaker.reagents.chem_temp) return - var/required_energy = abs(target_temperature - beaker.reagents.chem_temp) * power_mod * seconds_per_tick * beaker.reagents.heat_capacity() + var/required_energy = abs(target_temperature - beaker.reagents.chem_temp) * conduction_modifier * seconds_per_tick * beaker.reagents.heat_capacity() required_energy = min(required_energy, heating_energy, cell.charge * efficiency) if(required_energy < 1) return @@ -374,7 +388,7 @@ .["beaker"] = beaker .["currentTemp"] = beaker ? (round(beaker.reagents.chem_temp - T0C)) : "N/A" -/obj/machinery/space_heater/improvised_chem_heater/ui_act(action, params) +/obj/machinery/space_heater/improvised_chem_heater/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -468,16 +482,17 @@ for(var/datum/stock_part/capacitor/capacitor in component_parts) capacitors_rating += capacitor.tier - heating_energy = lasers_rating * BASE_HEATING_ENERGY + heating_energy = lasers_rating * initial(heating_energy) - settable_temperature_range = capacitors_rating * 50 //-20 - 80 at base - efficiency = (capacitors_rating + 1) * 10 + settable_temperature_range = capacitors_rating * initial(settable_temperature_range) //-20 - 80 at base + efficiency = (capacitors_rating + 1) * initial(efficiency) * 0.5 target_temperature = clamp(target_temperature, max(settable_temperature_median - settable_temperature_range, TCMB), settable_temperature_median + settable_temperature_range) - chem_heating_power = efficiency / 20 + // No time integration is used, so we should clamp this to prevent being able to overshoot if there was a subtype with a high initial value. + beaker_conduction_power = min((capacitors_rating + 1) * 0.5 * initial(beaker_conduction_power), 1 SECONDS / our_subsystem.wait) #undef HEATER_MODE_STANDBY #undef HEATER_MODE_HEAT diff --git a/code/game/machinery/stasis.dm b/code/game/machinery/stasis.dm index 9ef3d8e3a99a9..cb12882bfd37a 100644 --- a/code/game/machinery/stasis.dm +++ b/code/game/machinery/stasis.dm @@ -1,5 +1,6 @@ #define STASIS_TOGGLE_COOLDOWN 50 /obj/machinery/stasis + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "lifeform stasis unit" desc = "A not so comfortable looking bed with some nozzles at the top and bottom. It will keep someone in stasis." icon = 'icons/obj/machines/stasis.dmi' diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index cdc3109c346fb..9ceffa2c6d5fd 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -10,6 +10,11 @@ #define LINE2_Y -11 GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12pt()) +/// Alphas for "projection" mode +#define PROJECTION_FLOOR_ALPHA 128 +#define PROJECTION_BEAM_ALPHA 32 +#define PROJECTION_TEXT_ALPHA 192 + /// Status display which can show images and scrolling text. /obj/machinery/status_display name = "status display" @@ -22,6 +27,10 @@ GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12 density = FALSE layer = ABOVE_WINDOW_LAYER + light_range = 1.7 + light_power = 0.7 + light_color = LIGHT_COLOR_BLUE + // We store overlays as keys, so multiple displays can use the same object safely /// String key we use to index the first effect overlay displayed on us var/message_key_1 @@ -37,17 +46,46 @@ GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12 /// Color for headers, eg. "- ETA -" var/header_text_color = COLOR_DISPLAY_PURPLE + /// Transforms for the projection effects + var/static/list/matrix/floor_projections = list( + TEXT_NORTH = matrix(1, 0, 0, 0, 1, 32), // translation. Realistically these should be mirrored but for readability they're not. + TEXT_EAST = matrix(0, 1, 18, -1, 0, -6), // 90 deg turn, 3/4 squish + TEXT_WEST = matrix(0, -1, -18, 1, 0, -6), // -90 deg turn, 3/4 squish + ) + + /// Transforms for the beam between the floor projection and the actual screen. + var/static/list/matrix/beam_projections = list( + TEXT_NORTH = matrix(1, 0, 0, 0, 1.3125, 30), // stretch towards display. + TEXT_EAST = matrix(0, 1.3125, 16, -1, -0.45, -5), // Tilted. + TEXT_WEST = matrix(0, -1.3125, -16, 1, -0.45, -5), // Tilted. + ) + + /// Where to place the emmissive mask for projection mode + var/static/list/list/projection_emissive_offsets = list( + TEXT_NORTH = list(0, 32), + TEXT_EAST = list(18, -4), + TEXT_WEST = list(-18, -4), + ) + /obj/item/wallframe/status_display name = "status display frame" desc = "Used to build status displays, just secure to the wall." icon_state = "unanchoredstatusdisplay" custom_materials = list(/datum/material/iron= SHEET_MATERIAL_AMOUNT * 7, /datum/material/glass= SHEET_MATERIAL_AMOUNT * 4) result_path = /obj/machinery/status_display/evac - pixel_shift = 32 //makes it go on the wall when built /obj/machinery/status_display/Initialize(mapload, ndir, building) . = ..() + find_and_hang_on_wall() + update_appearance() + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 40) + +/obj/machinery/status_display/setDir(newdir) + . = ..() + + // Force cached visuals to update. + remove_messages() update_appearance() /obj/machinery/status_display/wrench_act_secondary(mob/living/user, obj/item/tool) @@ -87,6 +125,8 @@ GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12 /obj/machinery/status_display/proc/set_picture(state) if(state != current_picture) current_picture = state + message1 = "" + message2 = "" update_appearance() @@ -96,11 +136,11 @@ GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12 line2 = uppertext(line2) var/message_changed = FALSE - if(line1 != message1) + if(line1 != message1 || !message_key_1) message1 = line1 message_changed = TRUE - if(line2 != message2) + if(line2 != message2 || !message_key_2) message2 = line2 message_changed = TRUE @@ -122,11 +162,11 @@ GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12 // List in the form key -> status display that shows said key GLOBAL_LIST_EMPTY(key_to_status_display) -/proc/generate_status_text(line_y, message, x_offset, text_color, header_text_color, line_pair) - var/key = "[line_y]-[message]-[x_offset]-[text_color]-[header_text_color]-[line_pair]" +/proc/generate_status_text(line_y, message, x_offset, text_color, header_text_color, line_pair, alpha, matrix/transform) + var/key = "[line_y]-[message]-[x_offset]-[text_color]-[header_text_color]-[line_pair]-[alpha]-[json_encode(transform.tolist())]" var/obj/effect/overlay/status_display_text/new_overlay = GLOB.key_to_status_display[key] if(!new_overlay) - new_overlay = new(null, line_y, message, text_color, header_text_color, x_offset, line_pair, key) + new_overlay = new(null, line_y, message, text_color, header_text_color, x_offset, line_pair, alpha, transform, key) GLOB.key_to_status_display[key] = new_overlay return new_overlay @@ -138,15 +178,21 @@ GLOBAL_LIST_EMPTY(key_to_status_display) * They must be handled as real objects for the animation to run. * Don't call this in subclasses. * Arguments: - * * overlay - the current /obj/effect/overlay/status_display_text instance + * * current_key - key representing the current /obj/effect/overlay/status_display_text instance * * line_y - The Y offset to render the text. * * x_offset - Used to offset the text on the X coordinates, not usually needed. * * message - the new message text. * Returns new /obj/effect/overlay/status_display_text or null if unchanged. */ /obj/machinery/status_display/proc/update_message(current_key, line_y, message, x_offset, line_pair) + var/matrix/working_transform = matrix() + var/working_alpha = alpha + if(dir != SOUTH) + // Translate the text seperately, since they are vis_contents. + working_transform = floor_projections["[dir]"] + working_alpha = PROJECTION_TEXT_ALPHA var/obj/effect/overlay/status_display_text/current_overlay = get_status_text(current_key) - var/obj/effect/overlay/status_display_text/new_overlay = generate_status_text(line_y, message, x_offset, text_color, header_text_color, line_pair) + var/obj/effect/overlay/status_display_text/new_overlay = generate_status_text(line_y, message, x_offset, text_color, header_text_color, line_pair, working_alpha, working_transform) if(current_overlay == new_overlay) return current_key @@ -162,27 +208,103 @@ GLOBAL_LIST_EMPTY(key_to_status_display) (current_mode == SD_BLANK) || \ (current_mode != SD_PICTURE && message1 == "" && message2 == "") \ ) - set_light(0) + set_light(l_on = FALSE) return - set_light(1.5, 0.7, LIGHT_COLOR_FAINT_CYAN) // blue light + + set_light(l_color = text_color, l_on = TRUE) /obj/machinery/status_display/update_overlays(updates) . = ..() + // Facing south, we render traditionally. + if(dir == SOUTH) + add_screen_visuals(.) + return + + // Otherwise, we render a projection on the floor. + + // Get screen overlays and return if it's off. + var/list/projected_overlays = list() + var/anything_displayed = add_screen_visuals(projected_overlays, projection_only = TRUE) + + if(!anything_displayed) + return + + // Both of these are vis contents that will receive 1 or more overlays themselves. + + // Matrices to transform the content given the direction + var/matrix/floor_matrix = floor_projections["[dir]"] + var/matrix/beam_matrix = beam_projections["[dir]"] + + // Make the 2 vis overlays. + generate_projection_overlay(floor_matrix, projected_overlays, alpha = PROJECTION_FLOOR_ALPHA) + generate_projection_overlay(beam_matrix, projected_overlays, alpha = PROJECTION_BEAM_ALPHA) + + // Impossible for this to look good as an actual emissive since the emissive plane crushes alpha to all or nothing. + // We don't really want anything blocking it anyway since the projection would shine over people. + var/mutable_appearance/projection_emissive = mutable_appearance(icon, "projection-mask", offset_spokesman = src, plane = LIGHTING_PLANE) + var/list/emissive_offsets = projection_emissive_offsets["[dir]"] + projection_emissive.pixel_x = emissive_offsets[1] + projection_emissive.pixel_y = emissive_offsets[2] + projection_emissive.blend_mode = BLEND_ADD + . += projection_emissive + +/** + * Generate a set of vis contents objects for the overlays. + * + * Needs to be vis contents so that they're mouse transparent. + * + * Arguments: + * * overlay_transform - The matrix transform to apply. + * * sub_overlays - The list of sub-overlays to apply. + * * alpha - the alpha for the mutable appearance. + */ +/obj/machinery/status_display/proc/generate_projection_overlay(matrix/overlay_transform, list/sub_overlays, alpha) + PRIVATE_PROC(TRUE) + + var/obj/effect/overlay/new_overlay = SSvis_overlays.add_vis_overlay( + src, + layer = layer - 0.01, // make sure we're under the text vis objects + plane = plane, + alpha = alpha, + add_appearance_flags = KEEP_TOGETHER, + unique = TRUE + ) + + new_overlay.transform = overlay_transform + new_overlay.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + new_overlay.add_overlay(sub_overlays) + + return new_overlay + +/** + * Generate mutable_appearances for the screen. Has an optional offset to shift it around. + * + * Returns whether the the screen is conceptually on. + * + * Arguments: + * * screen_overlays - the overlays list to add to + * * projection_only - only add overlays that are transformed for the projection effect + */ +/obj/machinery/status_display/proc/add_screen_visuals(list/screen_overlays, projection_only = FALSE) + // Always have a base screen, or frame. + var/screen_icon_state = AI_DISPLAY_DONT_GLOW + // Is this screen emissive? + var/backlight_on = TRUE + if(machine_stat & (NOPOWER|BROKEN)) remove_messages() - return + backlight_on = FALSE switch(current_mode) if(SD_BLANK) remove_messages() - // Turn off backlight. - return + backlight_on = FALSE if(SD_PICTURE) remove_messages() - . += mutable_appearance(icon, current_picture) - if(current_picture == AI_DISPLAY_DONT_GLOW) // If the thing's off, don't display the emissive yeah? - return . + screen_icon_state = current_picture + if(current_picture == AI_DISPLAY_DONT_GLOW) + backlight_on = FALSE else var/line1_metric var/line2_metric @@ -196,9 +318,18 @@ GLOBAL_LIST_EMPTY(key_to_status_display) // Turn off backlight if message is blank if(message1 == "" && message2 == "") - return + backlight_on = FALSE + + var/mutable_appearance/mutable_screen = mutable_appearance(icon, screen_icon_state) + screen_overlays += mutable_screen + + if(!backlight_on || projection_only) + return backlight_on - . += emissive_appearance(icon, "outline", src, alpha = src.alpha) + var/mutable_appearance/emissive_screen = emissive_appearance(icon, AI_DISPLAY_DONT_GLOW, src) + screen_overlays += emissive_screen + + return TRUE // Timed process - performs nothing in the base class /obj/machinery/status_display/process() @@ -230,10 +361,10 @@ GLOBAL_LIST_EMPTY(key_to_status_display) var/obj/effect/overlay/status_display_text/message2_overlay = get_status_text(message_key_2) if (message1_overlay || message2_overlay) . += "The display says:" - if (message1_overlay.message) - . += "\t[html_encode(message1_overlay.message)]" - if (message2_overlay.message) - . += "\t[html_encode(message2_overlay.message)]" + if (message1) + . += "\t[html_encode(message1)]" + if (message2) + . += "\t[html_encode(message2)]" // Helper procs for child display types. /obj/machinery/status_display/proc/display_shuttle_status(obj/docking_port/mobile/shuttle) @@ -274,12 +405,14 @@ GLOBAL_LIST_EMPTY(key_to_status_display) // If the line is short enough to not marquee, and it matches this, it's a header. var/static/regex/header_regex = regex("^-.*-$") -/obj/effect/overlay/status_display_text/Initialize(mapload, maptext_y, message, text_color, header_text_color, xoffset = 0, line_pair, status_key) +/obj/effect/overlay/status_display_text/Initialize(mapload, maptext_y, message, text_color, header_text_color, xoffset = 0, line_pair, alpha, matrix/transform, status_key) . = ..() src.maptext_y = maptext_y src.message = message src.status_key = status_key + src.alpha = alpha + src.transform = transform var/line_width = GLOB.status_font.get_metrics(message) @@ -297,7 +430,7 @@ GLOBAL_LIST_EMPTY(key_to_status_display) maptext_x = 0 // Mask off to fit in screen. - add_filter("mask", 1, alpha_mask_filter(icon = icon(icon, "outline"))) + add_filter("mask", 1, alpha_mask_filter(icon = icon(icon, AI_DISPLAY_DONT_GLOW))) // Scroll. var/time = line_pair * SCROLL_RATE @@ -344,7 +477,7 @@ GLOBAL_LIST_EMPTY(key_to_status_display) var/friendc = FALSE // track if Friend Computer mode var/last_picture // For when Friend Computer mode is undone -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac) /obj/machinery/status_display/evac/Initialize(mapload) . = ..() @@ -354,7 +487,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) AddComponent(/datum/component/usb_port, list( /obj/item/circuit_component/status_display, )) - find_and_hang_on_wall() /obj/machinery/status_display/evac/Destroy() SSradio.remove_object(src,frequency) @@ -412,6 +544,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) text_color = COLOR_DISPLAY_ORANGE header_text_color = COLOR_DISPLAY_YELLOW +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/supply) + /obj/machinery/status_display/supply/process() if(machine_stat & NOPOWER) // No power, no processing. @@ -447,6 +581,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) text_color = COLOR_DISPLAY_GREEN header_text_color = COLOR_DISPLAY_CYAN +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/shuttle) + /obj/machinery/status_display/shuttle/process() if(!shuttle_id || (machine_stat & NOPOWER)) // No power, no processing. @@ -476,7 +612,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/evac, 32) current_mode = SD_PICTURE var/emotion = AI_DISPLAY_DONT_GLOW -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/ai, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/ai) /obj/machinery/status_display/ai/attack_ai(mob/living/silicon/ai/user) if(!isAI(user)) @@ -591,7 +727,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/ai, 32) message2 = firstline_to_secondline[message1] return ..() // status displays call update appearance on init so i suppose we should set the messages before calling parent as to not call it twice -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/random_message, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/status_display/random_message) #undef MAX_STATIC_WIDTH #undef FONT_STYLE @@ -600,4 +736,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/random_message, 32) #undef LINE1_Y #undef LINE2_X #undef LINE2_Y +#undef PROJECTION_TEXT_ALPHA +#undef PROJECTION_FLOOR_ALPHA +#undef PROJECTION_BEAM_ALPHA #undef SCROLL_PADDING diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 6b04b2c6f340d..5f16eb007e156 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -1,6 +1,7 @@ // SUIT STORAGE UNIT ///////////////// /obj/machinery/suit_storage_unit + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "suit storage unit" desc = "An industrial unit made to hold and decontaminate irradiated equipment. It comes with a built-in UV cauterization mechanism. A small warning label advises that organic matter should not be placed into the unit." icon = 'icons/obj/machines/suit_storage.dmi' diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index c9ed74caa02a9..c0c921f1a977c 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -2,6 +2,7 @@ //Singularity beacon //////////////////////////////////////// /obj/machinery/power/singularity_beacon + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "ominous beacon" desc = "This looks suspicious..." icon = 'icons/obj/machines/engine/singularity.dmi' diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index e4f7b0a8338b8..3a7cc849acd30 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -107,7 +107,6 @@ end_processing() /obj/machinery/syndicatebomb/Destroy() - QDEL_NULL(wires) QDEL_NULL(countdown) end_processing() return ..() diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index 4c53cc5e4189d..06d390e5f2e27 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -13,6 +13,10 @@ /// If this list contains `0`, then it will be receivable on every single /// z-level. var/list/levels + /// Blacklisted spans we don't want being put into comms by anything, ever - a place to put any new spans we want to make without letting them annoy people on comms + var/list/blacklisted_spans = list( + SPAN_SOAPBOX, + ) /datum/signal/subspace/New(data) src.data = data || list() @@ -74,7 +78,7 @@ datum/language/language, // the language of the message message, // the text content of the message spans, // the list of spans applied to the message - list/message_mods // the list of modification applied to the message. Whispering, singing, ect + list/message_mods, // the list of modification applied to the message. Whispering, singing, ect ) src.source = source src.frequency = frequency @@ -88,7 +92,7 @@ "compression" = rand(COMPRESSION_VOCAL_SIGNAL_MIN, COMPRESSION_VOCAL_SIGNAL_MAX), "language" = lang_instance.name, "spans" = spans, - "mods" = message_mods + "mods" = message_mods, ) levels = SSmapping.get_connected_levels(get_turf(source)) @@ -151,7 +155,7 @@ if (TRANSMISSION_SUPERSPACE) // Only radios which are independent for(var/obj/item/radio/independent_radio in GLOB.all_radios["[frequency]"]) - if(independent_radio.independent && independent_radio.can_receive(frequency, signal_reaches_every_z_level)) + if((independent_radio.special_channels & RADIO_SPECIAL_CENTCOM) && independent_radio.can_receive(frequency, signal_reaches_every_z_level)) radios += independent_radio for(var/obj/item/radio/called_radio as anything in radios) @@ -175,7 +179,7 @@ if(!hearer) stack_trace("null found in the hearers list returned by the spatial grid. this is bad") continue - + spans -= blacklisted_spans hearer.Hear(rendered, virt, language, message, frequency, spans, message_mods, message_range = INFINITY) // This following recording is intended for research and feedback in the use of department radio channels diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index 25b5ddd212710..22a41a6ada66b 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -95,7 +95,7 @@ return data -/obj/machinery/computer/telecomms/server/ui_act(action, params) +/obj/machinery/computer/telecomms/server/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index a38f18231fb76..05186da8bc08c 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -117,7 +117,7 @@ data["requests"] = request_list return data -/obj/machinery/computer/message_monitor/ui_act(action, params) +/obj/machinery/computer/message_monitor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return . diff --git a/code/game/machinery/telecomms/computers/telemonitor.dm b/code/game/machinery/telecomms/computers/telemonitor.dm index abc2b7dbdbff4..e70c7f7de172a 100644 --- a/code/game/machinery/telecomms/computers/telemonitor.dm +++ b/code/game/machinery/telecomms/computers/telemonitor.dm @@ -81,7 +81,7 @@ return data -/obj/machinery/computer/telecomms/monitor/ui_act(action, params) +/obj/machinery/computer/telecomms/monitor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index fb68631b76676..c9694c8591077 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -2,6 +2,7 @@ // of basic interactions with the machines. /obj/machinery/telecomms + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) /// The current temporary frequency used to add new filtered frequencies /// options. var/tempfreq = FREQ_COMMON @@ -82,7 +83,7 @@ return data -/obj/machinery/telecomms/ui_act(action, params) +/obj/machinery/telecomms/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/machinery/telecomms/machines/hub.dm b/code/game/machinery/telecomms/machines/hub.dm index 83d0f6e3209a0..8136aed843514 100644 --- a/code/game/machinery/telecomms/machines/hub.dm +++ b/code/game/machinery/telecomms/machines/hub.dm @@ -63,7 +63,6 @@ "s_relay", "m_relay", "r_relay", - "h_relay", "science", "medical", "supply", diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index c46f6b351543d..ddb6f27e0aa2a 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -1,4 +1,5 @@ /obj/machinery/teleport + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "teleport" icon = 'icons/obj/machines/teleporter.dmi' density = TRUE diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 238994004ded0..dcb1113a1fb98 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -6,7 +6,6 @@ icon = 'icons/obj/machines/recycling.dmi' icon_state = "separator-AO1" layer = ABOVE_ALL_MOB_LAYER // Overhead - plane = ABOVE_GAME_PLANE density = FALSE active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 5 /// Whether this machine transforms dead mobs into cyborgs diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 21804def7e361..c1711e85e8db8 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_QM = /obj/item/clothing/gloves/color/brown, DYE_CAPTAIN = /obj/item/clothing/gloves/captain, DYE_HOP = /obj/item/clothing/gloves/color/grey, - DYE_HOS = /obj/item/clothing/gloves/color/black, + DYE_HOS = /obj/item/clothing/gloves/color/black/security, DYE_CE = /obj/item/clothing/gloves/chief_engineer, DYE_RD = /obj/item/clothing/gloves/color/grey, DYE_CMO = /obj/item/clothing/gloves/latex/nitrile, @@ -174,6 +174,7 @@ GLOBAL_LIST_INIT(dye_registry, list( )) /obj/machinery/washing_machine + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "washing machine" desc = "Gets rid of those pesky bloodstains, or your money back!" icon = 'icons/obj/machines/washing_machine.dmi' diff --git a/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm b/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm index 2e2039dfaec81..27c02fb9d1806 100644 --- a/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm +++ b/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm @@ -24,7 +24,7 @@ if(!COOLDOWN_FINISHED(src, pulse_cooldown)) return - new /obj/effect/temp_visual/bioscrambler_wave(get_turf(src)) + new /obj/effect/temp_visual/circle_wave/bioscrambler(get_turf(src)) playsound(src, 'sound/magic/cosmic_energy.ogg', vol = 50, vary = TRUE) COOLDOWN_START(src, pulse_cooldown, pulse_delay) for(var/mob/living/carbon/nearby in hearers(range, src)) @@ -81,7 +81,7 @@ return /// Visual effect spawned when the bioscrambler scrambles your bio -/obj/effect/temp_visual/bioscrambler_wave +/obj/effect/temp_visual/circle_wave icon = 'icons/effects/64x64.dmi' icon_state = "circle_wave" pixel_x = -16 @@ -90,7 +90,7 @@ color = COLOR_LIME var/max_alpha = 255 -/obj/effect/temp_visual/bioscrambler_wave/Initialize(mapload) +/obj/effect/temp_visual/circle_wave/Initialize(mapload) transform = matrix().Scale(0.1) animate(src, transform = matrix().Scale(2), time = duration, flags = ANIMATION_PARALLEL) animate(src, alpha = max_alpha, time = duration * 0.6, flags = ANIMATION_PARALLEL) @@ -98,5 +98,9 @@ apply_wibbly_filters(src) return ..() -/obj/effect/temp_visual/bioscrambler_wave/light +/obj/effect/temp_visual/circle_wave/bioscrambler + color = COLOR_LIME + +/obj/effect/temp_visual/circle_wave/bioscrambler/light max_alpha = 128 + diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.dm b/code/game/objects/effects/anomalies/anomalies_bluespace.dm index 2ed19adb4f2c8..0a71427776eea 100644 --- a/code/game/objects/effects/anomalies/anomalies_bluespace.dm +++ b/code/game/objects/effects/anomalies/anomalies_bluespace.dm @@ -31,8 +31,16 @@ // Calculate new position (searches through beacons in world) var/obj/item/beacon/chosen var/list/possible = list() - for(var/obj/item/beacon/W in GLOB.teleportbeacons) - possible += W + for(var/obj/item/beacon/beacon in GLOB.teleportbeacons) + var/turf/turf = get_turf(beacon) + if(!turf) + continue + if(is_centcom_level(turf.z) || is_away_level(turf.z)) + continue + var/area/area = get_area(turf) + if(!area || (area.area_flags & NOTELEPORT)) + continue + possible += beacon if(possible.len > 0) chosen = pick(possible) diff --git a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm index 6832b07d12568..a37ae88cf7ff0 100644 --- a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm +++ b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm @@ -236,12 +236,14 @@ icon = 'icons/obj/stack_objects.dmi' icon_state = "sheet-gold_2" material = /datum/material/gold + replace_walls = /turf/closed/wall/mineral/gold /datum/dimension_theme/plasma name = "Plasma" icon = 'icons/obj/clothing/masks.dmi' icon_state = "gas_alt" material = /datum/material/plasma + replace_walls = /turf/closed/wall/mineral/plasma /datum/dimension_theme/clown name = "Clown" @@ -249,13 +251,15 @@ icon_state = "clown" material = /datum/material/bananium sound = 'sound/items/bikehorn.ogg' + replace_walls = /turf/closed/wall/mineral/bananium /datum/dimension_theme/radioactive name = "Radioactive" - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' icon_state = "uranium" material = /datum/material/uranium sound = 'sound/items/welder.ogg' + replace_walls = /turf/closed/wall/mineral/uranium /datum/dimension_theme/meat name = "Meat" @@ -263,6 +267,7 @@ icon_state = "meat" material = /datum/material/meat sound = 'sound/items/eatfood.ogg' + replace_walls = /turf/closed/wall/mineral/meat /datum/dimension_theme/pizza name = "Pizza" @@ -270,6 +275,7 @@ icon_state = "pizzamargherita" material = /datum/material/pizza sound = 'sound/items/eatfood.ogg' + replace_walls = /turf/closed/wall/mineral/pizza /datum/dimension_theme/natural name = "Natural" @@ -316,7 +322,7 @@ name = "Winter Cabin" icon = 'icons/obj/clothing/shoes.dmi' icon_state = "iceboots" - replace_walls = /turf/closed/wall/mineral/wood + replace_walls = /turf/closed/wall/mineral/wood/nonmetal replace_objs = list( /obj/structure/chair = list(/obj/structure/chair/wood = 1), /obj/machinery/door/airlock = list(/obj/machinery/door/airlock/wood = 1), @@ -349,6 +355,7 @@ icon = 'icons/obj/debris.dmi' icon_state = "small" material = /datum/material/glass + replace_walls = /turf/closed/wall/mineral/titanium/survival // Until we decide what glass walls actually do replace_floors = list(/turf/open/floor/glass = 1) sound = SFX_SHATTER @@ -400,8 +407,9 @@ /datum/dimension_theme/disco name = "Disco" - icon = 'icons/obj/lighting.dmi' - icon_state = "lbulb" + icon = 'icons/obj/service/janitor.dmi' + icon_state = "bulb" + replace_walls = /turf/closed/wall/fake_hierophant material = /datum/material/glass replace_floors = list(/turf/open/floor/light = 1) @@ -419,7 +427,7 @@ icon_state = "tile_grass" sound = SFX_CRUNCHY_BUSH_WHACK replace_floors = list(/turf/open/floor/grass = 1) - replace_walls = /turf/closed/wall/mineral/wood + replace_walls = /turf/closed/wall/mineral/wood/nonmetal replace_objs = list( /obj/structure/chair = list(/obj/structure/chair/wood = 1), /obj/machinery/door/airlock = list(/obj/machinery/door/airlock/wood = 1), @@ -449,3 +457,23 @@ /obj/structure/table = list(/obj/structure/table/greyscale = 9, /obj/structure/table/abductor = 1), /obj/structure/toilet = list(/obj/structure/toilet/greyscale = 1), ) + +/datum/dimension_theme/bronze + name = "Bronze" + icon = 'icons/obj/weapons/spear.dmi' + icon_state = "ratvarian_spear" + material = /datum/material/bronze + replace_walls = /turf/closed/wall/mineral/bronze + replace_floors = list(/turf/open/floor/bronze = 1, /turf/open/floor/bronze/flat = 1, /turf/open/floor/bronze/filled = 1) + replace_objs = list( + /obj/structure/girder = list(/obj/structure/girder/bronze = 1), + /obj/structure/window/fulltile = list(/obj/structure/window/bronze/fulltile = 1), + /obj/structure/window = list(/obj/structure/window/bronze = 1), + /obj/structure/statue = list(/obj/structure/statue/bronze/marx = 1), // karl marx was a servant of ratvar + /obj/structure/table = list(/obj/structure/table/bronze = 1), + /obj/structure/toilet = list(/obj/structure/toilet/greyscale = 1), + /obj/structure/chair = list(/obj/structure/chair/bronze = 1), + /obj/item/reagent_containers/cup/glass/trophy = list(/obj/item/reagent_containers/cup/glass/trophy/bronze_cup = 1), + /obj/machinery/door/airlock = list(/obj/machinery/door/airlock/bronze = 1), + ) + sound = 'sound/magic/clockwork/fellowship_armory.ogg' diff --git a/code/game/objects/effects/anomalies/anomalies_gravity.dm b/code/game/objects/effects/anomalies/anomalies_gravity.dm index 08becc48c7531..82b55542246c7 100644 --- a/code/game/objects/effects/anomalies/anomalies_gravity.dm +++ b/code/game/objects/effects/anomalies/anomalies_gravity.dm @@ -61,7 +61,7 @@ if(target && !target.stat) O.throw_at(target, 5, 10) - //anomaly quickly contracts then slowly expands it's ring + //anomaly quickly contracts then slowly expands its ring animate(warp, time = seconds_per_tick*3, transform = matrix().Scale(0.5,0.5)) animate(time = seconds_per_tick*7, transform = matrix()) diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index f3fbf0b817caa..6e8169763d0b1 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -141,6 +141,7 @@ ) /obj/effect/decal/cleanable/cobweb + SET_BASE_PIXEL(0, 24) name = "cobweb" desc = "Somebody should remove that." gender = NEUTER @@ -272,22 +273,54 @@ /obj/effect/decal/cleanable/glitter name = "generic glitter pile" desc = "The herpes of arts and crafts." - icon = 'icons/effects/atmospherics.dmi' + icon = 'icons/effects/atmos/atmospherics.dmi' icon_state = "plasma_old" gender = NEUTER mouse_opacity = MOUSE_OPACITY_TRANSPARENT +/obj/effect/decal/cleanable/glitter/Initialize(mapload, list/datum/disease/diseases) + . = ..() + if(smoothing_flags & USES_SMOOTHING) + QUEUE_SMOOTH(src) + QUEUE_SMOOTH_NEIGHBORS(src) + +/obj/effect/decal/cleanable/glitter/set_smoothed_icon_state(new_junction) + // we always want to smooth as if we were connected to the north, to give the impression of being "flat" on the floor + new_junction |= NORTH_JUNCTION + . = ..() + // If we have a connection down offset physically down so we render correctly + if(new_junction & SOUTH) + // this ensures things physically below us but visually overlapping us render how we would want + pixel_y = -16 + pixel_z = 16 + // Otherwise render normally, to avoid weird layering + else + pixel_y = 0 + pixel_z = 0 + /obj/effect/decal/cleanable/glitter/pink name = "pink glitter" - icon_state = "plasma" + icon = 'icons/effects/atmos/plasma.dmi' + icon_state = "-0" + smoothing_flags = SMOOTH_BITMASK_CARDINALS + smoothing_groups = SMOOTH_GROUP_GLITTER_PINK + canSmoothWith = SMOOTH_GROUP_GLITTER_PINK /obj/effect/decal/cleanable/glitter/white name = "white glitter" - icon_state = "nitrous_oxide" + icon = 'icons/effects/atmos/nitrous_oxide.dmi' + icon_state = "-0" + smoothing_flags = SMOOTH_BITMASK_CARDINALS + smoothing_groups = SMOOTH_GROUP_GLITTER_WHITE + canSmoothWith = SMOOTH_GROUP_GLITTER_WHITE /obj/effect/decal/cleanable/glitter/blue name = "blue glitter" - icon_state = "freon" + icon = 'icons/effects/atmos/freon.dmi' + icon_state = "-0" + smoothing_flags = SMOOTH_BITMASK_CARDINALS + smoothing_groups = SMOOTH_GROUP_GLITTER_BLUE + canSmoothWith = SMOOTH_GROUP_GLITTER_BLUE /obj/effect/decal/cleanable/plasma name = "stabilized plasma" @@ -331,6 +364,9 @@ /obj/effect/decal/cleanable/wrapping/pinata/syndie icon_state = "syndie_pinata_shreds" +/obj/effect/decal/cleanable/wrapping/pinata/donk + icon_state = "donk_pinata_shreds" + /obj/effect/decal/cleanable/garbage name = "decomposing garbage" desc = "A split open garbage bag, its stinking content seems to be partially liquified. Yuck!" diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index e42ee4d491fd2..eced2fb66f1ee 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -11,11 +11,14 @@ var/rotation = 0 var/paint_colour = COLOR_WHITE -/obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null) +/obj/effect/decal/cleanable/crayon/Initialize(mapload, main, type, e_name, graf_rot, alt_icon = null, desc_override = null) . = ..() if(e_name) name = e_name - desc = "A [name] vandalizing the station." + if(desc_override) + desc = "[desc_override]" + else + desc = "A [name] vandalizing the station." if(alt_icon) icon = alt_icon if(type) diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm index 646713a21d74a..dbf6e41d5485b 100644 --- a/code/game/objects/effects/decals/decal.dm +++ b/code/game/objects/effects/decals/decal.dm @@ -74,7 +74,8 @@ var/turf/T = loc if(!istype(T)) //you know this will happen somehow CRASH("Turf decal initialized in an object/nullspace") - T.AddElement(/datum/element/decal, icon, icon_state, dir, null, layer, alpha, color, null, FALSE, null) + + T.AddElement(/datum/element/decal, icon, icon_state, dir, null, layer, alpha, color, pixel_x, pixel_y, null, FALSE, null) return INITIALIZE_HINT_QDEL /obj/effect/turf_decal/Destroy(force) @@ -84,7 +85,7 @@ // I hate it too bestie if(GLOB.running_create_and_destroy) var/turf/T = loc - T.RemoveElement(/datum/element/decal, icon, icon_state, dir, null, layer, alpha, color, null, FALSE, null) + T.RemoveElement(/datum/element/decal, icon, icon_state, dir, null, layer, alpha, color, pixel_x, pixel_y, null, FALSE, null) #endif // Intentionally used over moveToNullspace(), which calls doMove(), which fires // off an enormous amount of procs, signals, etc, that this temporary effect object diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 112f3b228dc47..caa7637c0970a 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/medical/chempuff.dmi' pass_flags = PASSTABLE | PASSGRILLE layer = FLY_LAYER - plane = ABOVE_GAME_PLANE + plane = GAME_PLANE ///The mob who sourced this puff, if one exists var/mob/user ///The sprayer who fired this puff @@ -99,6 +99,6 @@ /obj/effect/decal/fakelattice name = "lattice" desc = "A lightweight support lattice." - icon = 'icons/obj/smooth_structures/lattice.dmi' + icon = 'icons/obj/structures/smooth/lattice.dmi' icon_state = "lattice-255" density = TRUE diff --git a/code/game/objects/effects/decals/turfdecal/markings.dm b/code/game/objects/effects/decals/turfdecal/markings.dm index 0fe434d0db1fc..dcd3f4a16342c 100644 --- a/code/game/objects/effects/decals/turfdecal/markings.dm +++ b/code/game/objects/effects/decals/turfdecal/markings.dm @@ -13,6 +13,9 @@ /obj/effect/turf_decal/stripes/full icon_state = "warn_full" +/obj/effect/turf_decal/stripes/threshold + icon_state = "warningline_threshold" + /obj/effect/turf_decal/stripes/asteroid/line icon_state = "ast_warn" @@ -549,3 +552,7 @@ /obj/effect/turf_decal/board_letter/h icon_state = "board_h" +//Decals for door thresholds +/obj/effect/turf_decal/door_threshold + icon_state = "threshold" + diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm index a8a3431ef9c68..601be59f7d7ba 100644 --- a/code/game/objects/effects/effect_system/effects_explosion.dm +++ b/code/game/objects/effects/effect_system/effects_explosion.dm @@ -34,7 +34,6 @@ opacity = TRUE anchored = TRUE layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT pixel_x = -32 pixel_y = -32 diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm index 6d968574c686c..c6bfb8d7749ea 100644 --- a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm @@ -291,7 +291,7 @@ /// FOAM STRUCTURE. Formed by metal foams. Dense and opaque, but easy to break /obj/structure/foamedmetal - icon = 'icons/effects/effects.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "metalfoam" density = TRUE opacity = TRUE // changed in New() diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm b/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm index e651c8a3e2402..dbd8d2fc92fe5 100644 --- a/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm @@ -8,7 +8,6 @@ pixel_x = -32 pixel_y = -32 opacity = TRUE - plane = ABOVE_GAME_PLANE layer = FLY_LAYER anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index e9a6263286e59..0b1fe1ed70653 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -7,7 +7,7 @@ GLOBAL_VAR_INIT(glowshrooms, 0) anchored = TRUE opacity = FALSE density = FALSE - icon = 'icons/obj/lighting.dmi' + icon = 'icons/turf/overlays.dmi' icon_state = "glowshroom" //replaced in New layer = ABOVE_NORMAL_TURF_LAYER max_integrity = GLOWSHROOM_BASE_INTEGRITY @@ -38,6 +38,8 @@ GLOBAL_VAR_INIT(glowshrooms, 0) /turf/open/water, )) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/glowshroom) + /obj/structure/glowshroom/glowcap name = "glowcap" desc = "Mycena Ruthenia, a species of mushroom that, while it does glow in the dark, is not actually bioluminescent." @@ -50,6 +52,8 @@ GLOBAL_VAR_INIT(glowshrooms, 0) icon_state = "shadowshroom" myseed = /obj/item/seeds/glowshroom/shadowshroom +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/glowshroom/single) + /// Mapping object, a glowshroom that doesn't spread or die /obj/structure/glowshroom/single @@ -94,15 +98,7 @@ GLOBAL_VAR_INIT(glowshrooms, 0) setDir(calc_dir()) base_icon_state = initial(icon_state) if(!floor) - switch(dir) //offset to make it be on the wall rather than on the floor - if(NORTH) - pixel_y = 32 - if(SOUTH) - pixel_y = -32 - if(EAST) - pixel_x = 32 - if(WEST) - pixel_x = -32 + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) icon_state = "[base_icon_state][rand(1,3)]" else //if on the floor, glowshroom on-floor sprite icon_state = base_icon_state diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 64c0afe188a8a..5e6176d88cf61 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -29,6 +29,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) icon = 'icons/mob/landmarks.dmi' icon_state = "x" anchored = TRUE + plane = GAME_PLANE layer = MOB_LAYER var/jobspawn_override = FALSE var/delete_after_roundstart = TRUE diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 075e927d65328..f2a5b9c4f7576 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -71,7 +71,6 @@ anchored = TRUE icon_state = "wave3" layer = RIPPLE_LAYER - plane = ABOVE_GAME_PLANE /obj/effect/abstract/marker/Initialize(mapload) . = ..() diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 24fae3f613917..4f83d3e9c04aa 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -27,10 +27,9 @@ /obj/effect/overlay/thermite name = "thermite" desc = "Looks hot." - icon = 'icons/effects/fire.dmi' - icon_state = "2" //what? + icon = 'icons/effects/atmos/fire.dmi' + icon_state = "medium" anchored = TRUE - plane = ABOVE_GAME_PLANE layer = FLY_LAYER mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/effects/particles/fire.dm b/code/game/objects/effects/particles/fire.dm index 9d90d0d29c29a..9904685807364 100644 --- a/code/game/objects/effects/particles/fire.dm +++ b/code/game/objects/effects/particles/fire.dm @@ -33,3 +33,21 @@ drift = generator(GEN_VECTOR, list(-0.1,0), list(0.1,0.025), UNIFORM_RAND) spin = generator(GEN_NUM, list(-15,15), NORMAL_RAND) scale = generator(GEN_VECTOR, list(0.5,0.5), list(2,2), NORMAL_RAND) + +/particles/embers/spark + count = 3 + spawning = 2 + gradient = list("#FBAF4D", "#FCE6B6", "#FFFFFF") + lifespan = 1.5 SECONDS + fade = 1 SECONDS + fadein = 0.1 SECONDS + grow = -0.1 + velocity = generator(GEN_CIRCLE, 3, 3, SQUARE_RAND) + position = generator(GEN_SPHERE, 0, 0, LINEAR_RAND) + scale = generator(GEN_VECTOR, list(0.5, 0.5), list(1,1), NORMAL_RAND) + drift = list(0) + +/particles/embers/spark/severe + count = 10 + spawning = 5 + gradient = list("#FCE6B6", "#FFFFFF") diff --git a/code/game/objects/effects/particles/gravity.dm b/code/game/objects/effects/particles/gravity.dm new file mode 100644 index 0000000000000..0d74896e20a7b --- /dev/null +++ b/code/game/objects/effects/particles/gravity.dm @@ -0,0 +1,44 @@ +/particles/grav_field_down + icon = 'icons/effects/particles/generic.dmi' + icon_state = "cross" + width = 100 + height = 100 + count = 5 + spawning = 1 + lifespan = 0.6 SECONDS + fade = 0.5 SECONDS + fadein = 0.2 SECONDS + position = generator(GEN_CIRCLE, 0, 16, UNIFORM_RAND) + gravity = list(0, -0.75) + color = "#FF0000" + +/particles/grav_field_down/strong + gravity = list(0, -1.75) + +/particles/grav_field_up + icon = 'icons/effects/particles/generic.dmi' + icon_state = "cross" + width = 100 + height = 100 + count = 5 + spawning = 1 + lifespan = 0.6 SECONDS + fade = 0.5 SECONDS + fadein = 0.2 SECONDS + position = generator(GEN_CIRCLE, 0, 16, UNIFORM_RAND) + gravity = list(0, 0.75) + color = "#0077ff" + +/particles/grav_field_float + icon = 'icons/effects/particles/generic.dmi' + icon_state = "cross" + width = 100 + height = 100 + count = 5 + spawning = 1 + lifespan = 0.6 SECONDS + fade = 0.5 SECONDS + fadein = 0.2 SECONDS + position = generator(GEN_CIRCLE, 0, 16, UNIFORM_RAND) + velocity = generator(GEN_VECTOR, list(2,0), list(-2,0), UNIFORM_RAND) + color = "#FFFF00" diff --git a/code/game/objects/effects/particles/smoke.dm b/code/game/objects/effects/particles/smoke.dm index 27249c65a683e..776c90534a957 100644 --- a/code/game/objects/effects/particles/smoke.dm +++ b/code/game/objects/effects/particles/smoke.dm @@ -84,3 +84,16 @@ grow = 0.05 spin = 2 color = "#fcffff77" + +/particles/smoke/cyborg + count = 5 + spawning = 1 + lifespan = 1 SECONDS + fade = 1.8 SECONDS + position = list(0, 0, 0) + scale = list(0.5, 0.5) + grow = 0.1 + +/particles/smoke/cyborg/heavy_damage + lifespan = 0.8 SECONDS + fade = 0.8 SECONDS diff --git a/code/game/objects/effects/phased_mob.dm b/code/game/objects/effects/phased_mob.dm index dcd4e39189c87..b1df969b45c92 100644 --- a/code/game/objects/effects/phased_mob.dm +++ b/code/game/objects/effects/phased_mob.dm @@ -84,11 +84,15 @@ return var/area/destination_area = newloc.loc movedelay = world.time + movespeed + + if(SEND_SIGNAL(src, COMSIG_MOB_PHASED_CHECK, user, newloc) & COMPONENT_BLOCK_PHASED_MOVE) + return null + if(newloc.turf_flags & NOJAUNT) to_chat(user, span_warning("Some strange aura is blocking the way.")) return if(destination_area.area_flags & NOTELEPORT || SSmapping.level_trait(newloc.z, ZTRAIT_NOPHASE)) - to_chat(user, span_danger("Some dull, universal force is blocking the way. It's overwhelmingly oppressive force feels dangerous.")) + to_chat(user, span_danger("Some dull, universal force is blocking the way. Its overwhelmingly oppressive force feels dangerous.")) return if (direction == UP || direction == DOWN) newloc = can_z_move(direction, get_turf(src), newloc, ZMOVE_INCAPACITATED_CHECKS | ZMOVE_FEEDBACK | ZMOVE_ALLOW_ANCHORED, user) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 255f34eff51dd..de73edd795e2f 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -53,7 +53,6 @@ icon = 'icons/obj/anomaly.dmi' icon_state = "anom" layer = RIPPLE_LAYER - plane = ABOVE_GAME_PLANE mech_sized = TRUE teleport_channel = TELEPORT_CHANNEL_WORMHOLE light_on = FALSE diff --git a/code/game/objects/effects/posters/contraband.dm b/code/game/objects/effects/posters/contraband.dm index 04bc790daea83..488d643fc62a0 100644 --- a/code/game/objects/effects/posters/contraband.dm +++ b/code/game/objects/effects/posters/contraband.dm @@ -19,7 +19,7 @@ never_random = TRUE random_basetype = /obj/structure/sign/poster/contraband -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/contraband/random, 32) +INVERT_MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/contraband/random, 32) /obj/structure/sign/poster/contraband/free_tonto name = "Free Tonto" diff --git a/code/game/objects/effects/posters/official.dm b/code/game/objects/effects/posters/official.dm index ed2a18b396b88..c15736d01609f 100644 --- a/code/game/objects/effects/posters/official.dm +++ b/code/game/objects/effects/posters/official.dm @@ -15,7 +15,7 @@ icon_state = "random_official" never_random = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/random, 32) +INVERT_MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/random, 32) //This is being hardcoded here to ensure we don't print directionals from the library management computer because they act wierd as a poster item /obj/structure/sign/poster/official/random/directional printable = FALSE diff --git a/code/game/objects/effects/posters/poster.dm b/code/game/objects/effects/posters/poster.dm index 4ced5babbbfa8..0b6262fe9175f 100644 --- a/code/game/objects/effects/posters/poster.dm +++ b/code/game/objects/effects/posters/poster.dm @@ -118,6 +118,7 @@ desc = "A large piece of space-resistant printed paper. [desc]" AddElement(/datum/element/beauty, 300) + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 40, pixel_y_offset_arrow = 12) /// Adds contextual screentips /obj/structure/sign/poster/add_context(atom/source, list/context, obj/item/held_item, mob/user) @@ -295,6 +296,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/ripped, 32) /obj/structure/sign/poster/abductor, ) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/random, 32) +INVERT_MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/random, 32) #undef PLACE_SPEED diff --git a/code/game/objects/effects/rcd.dm b/code/game/objects/effects/rcd.dm index 17ea3e44a10a1..59ff080465697 100644 --- a/code/game/objects/effects/rcd.dm +++ b/code/game/objects/effects/rcd.dm @@ -28,15 +28,17 @@ if(skip_to_next_turf) continue - var/hologram_icon + var/mutable_appearance/hologram_appearance switch(rcd_memory) if(RCD_MEMORY_WALL) - hologram_icon = GLOB.icon_holographic_wall + hologram_appearance = GLOB.holographic_wall if(RCD_MEMORY_WINDOWGRILLE) - hologram_icon = GLOB.icon_holographic_window + hologram_appearance = GLOB.holographic_window var/obj/effect/rcd_hologram/hologram = new(surrounding_turf) - hologram.icon = hologram_icon + hologram.icon = hologram_appearance.icon + hologram.icon_state = hologram_appearance.icon_state + hologram.overlays = hologram_appearance.overlays hologram.makeHologram() animate(hologram, alpha = 0, time = fade_time, easing = CIRCULAR_EASING | EASE_IN) diff --git a/code/game/objects/effects/spawners/random/decoration.dm b/code/game/objects/effects/spawners/random/decoration.dm index 6116d22873317..6d2cf3021ef38 100644 --- a/code/game/objects/effects/spawners/random/decoration.dm +++ b/code/game/objects/effects/spawners/random/decoration.dm @@ -114,6 +114,26 @@ /obj/item/flashlight/glowstick/pink, ) +/obj/effect/spawner/random/decoration/glowstick/on + name = "random colored glowstick (on)" + icon_state = "glowstick" + loot = list( + /obj/item/flashlight/glowstick, + /obj/item/flashlight/glowstick/red, + /obj/item/flashlight/glowstick/blue, + /obj/item/flashlight/glowstick/cyan, + /obj/item/flashlight/glowstick/orange, + /obj/item/flashlight/glowstick/yellow, + /obj/item/flashlight/glowstick/pink, + ) + +/obj/effect/spawner/random/decoration/glowstick/on/make_item(spawn_loc, type_path_to_make) + . = ..() + + var/obj/item/flashlight/glowstick = . + + glowstick.set_light_on(TRUE) + /obj/effect/spawner/random/decoration/paint name = "paint spawner" icon_state = "paint" diff --git a/code/game/objects/effects/spawners/random/exotic.dm b/code/game/objects/effects/spawners/random/exotic.dm index e802e30056f4f..cb43d6f06ae4f 100644 --- a/code/game/objects/effects/spawners/random/exotic.dm +++ b/code/game/objects/effects/spawners/random/exotic.dm @@ -16,8 +16,9 @@ name = "language book spawner" icon_state = "book" loot = list( // A single roundstart species language book. - /obj/item/language_manual/roundstart_species = 100, + /obj/item/language_manual/roundstart_species = 96, /obj/item/book/granter/sign_language = 10, + /obj/item/language_manual/piratespeak = 4, /obj/item/language_manual/roundstart_species/five = 3, /obj/item/language_manual/roundstart_species/unlimited = 1, ) diff --git a/code/game/objects/effects/spawners/random/food_or_drink.dm b/code/game/objects/effects/spawners/random/food_or_drink.dm index 192914b6e3db6..4ff47f08fe994 100644 --- a/code/game/objects/effects/spawners/random/food_or_drink.dm +++ b/code/game/objects/effects/spawners/random/food_or_drink.dm @@ -167,6 +167,7 @@ /obj/item/reagent_containers/cup/glass/bottle/lizardwine = 1, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka = 1, /obj/item/reagent_containers/cup/glass/bottle/trappist = 1, + /obj/item/reagent_containers/cup/glass/bottle/rum/aged = 1, ) /obj/effect/spawner/random/food_or_drink/pizzaparty diff --git a/code/game/objects/effects/spawners/random/maintenance.dm b/code/game/objects/effects/spawners/random/maintenance.dm index 997c3bb1f0cdb..e5bebdef672f1 100644 --- a/code/game/objects/effects/spawners/random/maintenance.dm +++ b/code/game/objects/effects/spawners/random/maintenance.dm @@ -9,6 +9,11 @@ /// decals such as ashes will cause NeverShouldHaveComeHere() to fail on such turfs, which creates annoying rng based CI failures /obj/effect/spawner/random/maintenance/no_decals +/obj/effect/spawner/random/maintenance/no_decals/can_spawn(loot) + if(ispath(loot, /obj/effect/decal)) + return FALSE + return ..() + /obj/effect/spawner/random/maintenance/examine(mob/user) . = ..() . += span_info("This spawner has an effective loot count of [get_effective_lootcount()].") diff --git a/code/game/objects/effects/spawners/random/trash.dm b/code/game/objects/effects/spawners/random/trash.dm index dfac8e4c0c814..9cf00c20ee3ec 100644 --- a/code/game/objects/effects/spawners/random/trash.dm +++ b/code/game/objects/effects/spawners/random/trash.dm @@ -89,7 +89,6 @@ /obj/item/trash/cnds = 1, /obj/item/trash/syndi_cakes = 1, /obj/item/trash/shrimp_chips = 1, - /obj/item/trash/waffles = 1, /obj/item/trash/tray = 1, ) diff --git a/code/game/objects/effects/spawners/structure.dm b/code/game/objects/effects/spawners/structure.dm index 8048e9d96d94b..536edf14b2533 100644 --- a/code/game/objects/effects/spawners/structure.dm +++ b/code/game/objects/effects/spawners/structure.dm @@ -6,6 +6,7 @@ again. /obj/effect/spawner/structure name = "map structure spawner" + icon = 'icons/obj/structures_spawners.dmi' var/list/spawn_list /obj/effect/spawner/structure/Initialize(mapload) @@ -16,10 +17,9 @@ again. //normal windows /obj/effect/spawner/structure/window - icon = 'icons/obj/structures_spawners.dmi' icon_state = "window_spawner" name = "window spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/fulltile) + spawn_list = list(/obj/structure/window_frame/grille_and_window) dir = SOUTH /obj/effect/spawner/structure/window/Initialize(mapload) @@ -87,7 +87,7 @@ again. /obj/effect/spawner/structure/window/reinforced name = "reinforced window spawner" icon_state = "rwindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/fulltile) + spawn_list = list(/obj/structure/window_frame/reinforced/grille_and_window) /obj/effect/spawner/structure/window/hollow/reinforced name = "hollow reinforced window spawner" @@ -143,47 +143,56 @@ again. spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west) return ..() +/obj/effect/spawner/structure/window/reinforced/damaged + name = "damaged reinforced window spawner" + spawn_list = list(/obj/structure/window_frame/reinforced/damaged/grille_and_window) + //tinted /obj/effect/spawner/structure/window/reinforced/tinted name = "tinted reinforced window spawner" icon_state = "twindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/tinted/fulltile) + spawn_list = list(/obj/structure/window_frame/iron, /obj/structure/window/reinforced/tinted/fulltile) //bronze /obj/effect/spawner/structure/window/bronze name = "bronze window spawner" icon_state = "bronzewindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/bronze/fulltile) - + spawn_list = list(/obj/structure/window_frame/bronze, /obj/structure/window/bronze/fulltile) //shuttle window /obj/effect/spawner/structure/window/reinforced/shuttle name = "shuttle window spawner" icon_state = "swindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/shuttle) + spawn_list = list(/obj/structure/window_frame/titanium/grille_and_window) /obj/effect/spawner/structure/window/reinforced/shuttle/indestructible name = "indestructible shuttle window spawner" icon_state = "swindow_spawner" - spawn_list = list(/obj/structure/grille/indestructible, /obj/structure/window/reinforced/shuttle/indestructible) + spawn_list = list(/obj/structure/window_frame/titanium/grille, /obj/structure/window/reinforced/shuttle/indestructible) //plastitanium window /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium name = "plastitanium window spawner" icon_state = "plastitaniumwindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/plasma/plastitanium) + spawn_list = list(/obj/structure/window_frame/plastitanium/grille_and_window) + +//paper window +/obj/effect/spawner/structure/window/paper + name = "paper window spawner" + icon_state = "paperwindow_spawner" + spawn_list = list(/obj/structure/window_frame/paperframe/grille_and_window) //ice window /obj/effect/spawner/structure/window/ice name = "ice window spawner" icon_state = "icewindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice) + spawn_list = list(/obj/structure/window_frame/iron, /obj/structure/window/reinforced/fulltile/ice) //survival pod window @@ -191,7 +200,7 @@ again. /obj/effect/spawner/structure/window/survival_pod name = "pod window spawner" icon_state = "podwindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/shuttle/survival_pod) + spawn_list = list(/obj/structure/window_frame/iron, /obj/structure/window/reinforced/shuttle/survival_pod) /obj/effect/spawner/structure/window/hollow/survival_pod name = "hollow pod window spawner" @@ -253,7 +262,7 @@ again. /obj/effect/spawner/structure/window/plasma name = "plasma window spawner" icon_state = "pwindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/plasma/fulltile) + spawn_list = list(/obj/structure/window_frame/plastitanium, /obj/structure/window/plasma/fulltile) /obj/effect/spawner/structure/window/hollow/plasma name = "hollow plasma window spawner" @@ -314,7 +323,7 @@ again. /obj/effect/spawner/structure/window/reinforced/plasma name = "reinforced plasma window spawner" icon_state = "prwindow_spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/plasma/fulltile) + spawn_list = list(/obj/structure/window_frame/plastitanium, /obj/structure/window/reinforced/plasma/fulltile) /obj/effect/spawner/structure/window/hollow/reinforced/plasma name = "hollow reinforced plasma window spawner" @@ -372,6 +381,5 @@ again. /obj/effect/spawner/structure/electrified_grille name = "electrified grill spawner" - icon = 'icons/obj/structures_spawners.dmi' icon_state = "electrified_grille" spawn_list = list(/obj/structure/grille, /obj/structure/cable) diff --git a/code/game/objects/effects/spiderwebs.dm b/code/game/objects/effects/spiderwebs.dm index 2d0f1b9b14de2..18b1a7f78b59b 100644 --- a/code/game/objects/effects/spiderwebs.dm +++ b/code/game/objects/effects/spiderwebs.dm @@ -34,7 +34,7 @@ /obj/structure/spider/stickyweb plane = FLOOR_PLANE layer = MID_TURF_LAYER - icon = 'icons/obj/smooth_structures/stickyweb.dmi' + icon = 'icons/obj/structures/smooth/stickyweb.dmi' base_icon_state = "stickyweb" icon_state = "stickyweb-0" smoothing_flags = SMOOTH_BITMASK @@ -149,7 +149,7 @@ /obj/structure/spider/stickyweb/sealed name = "sealed web" desc = "A solid wall of web, dense enough to block air flow." - icon = 'icons/obj/smooth_structures/webwall.dmi' + icon = 'icons/obj/structures/smooth/webwall.dmi' base_icon_state = "webwall" icon_state = "webwall-0" smoothing_groups = SMOOTH_GROUP_SPIDER_WEB_WALL @@ -168,7 +168,7 @@ /obj/structure/spider/stickyweb/sealed/reflector name = "reflective silk screen" desc = "Hardened webbing treated with special chemicals which cause it to repel projectiles." - icon = 'icons/obj/smooth_structures/webwall_reflector.dmi' + icon = 'icons/obj/structures/smooth/webwall_reflector.dmi' base_icon_state = "webwall_reflector" icon_state = "webwall_reflector-0" smoothing_groups = SMOOTH_GROUP_SPIDER_WEB_WALL_MIRROR @@ -182,7 +182,7 @@ /obj/structure/spider/stickyweb/sealed/tough name = "hardened web" desc = "Webbing hardened through a chemical process into a durable barrier." - icon = 'icons/obj/smooth_structures/webwall_dark.dmi' + icon = 'icons/obj/structures/smooth/webwall_dark.dmi' base_icon_state = "webwall_dark" icon_state = "webwall_dark-0" smoothing_groups = SMOOTH_GROUP_SPIDER_WEB_WALL_TOUGH @@ -196,7 +196,7 @@ /obj/structure/spider/passage name = "web passage" desc = "An opaque curtain of web which seals in air but doesn't impede passage." - icon = 'icons/obj/smooth_structures/stickyweb_rotated.dmi' + icon = 'icons/obj/structures/smooth/stickyweb_rotated.dmi' base_icon_state = "stickyweb_rotated" icon_state = "stickyweb_rotated-0" smoothing_flags = SMOOTH_BITMASK @@ -250,7 +250,7 @@ desc = "Silk hardened into small yet deadly spikes." plane = FLOOR_PLANE layer = MID_TURF_LAYER - icon = 'icons/obj/smooth_structures/stickyweb_spikes.dmi' + icon = 'icons/obj/structures/smooth/stickyweb_spikes.dmi' base_icon_state = "stickyweb_spikes" icon_state = "stickyweb_spikes-0" smoothing_flags = SMOOTH_BITMASK diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 9cb926fd19756..de1c7e266197e 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -145,7 +145,6 @@ /obj/effect/temp_visual/dir_setting/curse/grasp_portal icon = 'icons/effects/64x64.dmi' layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE pixel_y = -16 pixel_x = -16 duration = 32 @@ -165,7 +164,6 @@ icon = 'icons/effects/beam_splash.dmi' icon_state = "beam_splash_e" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE pixel_y = -16 duration = 50 @@ -244,8 +242,8 @@ duration = 5 /obj/effect/temp_visual/fire - icon = 'icons/effects/fire.dmi' - icon_state = "3" + icon = 'icons/effects/atmos/fire.dmi' + icon_state = "heavy" light_range = LIGHT_RANGE_FIRE light_color = LIGHT_COLOR_FIRE duration = 10 @@ -329,7 +327,6 @@ icon = 'icons/obj/weapons/guns/projectiles.dmi' icon_state = "kinetic_blast" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE duration = 4 /obj/effect/temp_visual/explosion @@ -495,7 +492,6 @@ icon = 'icons/effects/rcd.dmi' icon_state = "" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE anchored = TRUE obj_flags = CAN_BE_HIT mouse_opacity = MOUSE_OPACITY_OPAQUE diff --git a/code/game/objects/effects/wanted_poster.dm b/code/game/objects/effects/wanted_poster.dm index ab3661139fbd8..d70362e2f7d51 100644 --- a/code/game/objects/effects/wanted_poster.dm +++ b/code/game/objects/effects/wanted_poster.dm @@ -81,17 +81,17 @@ color: This set the text color: #ff00ff */ /obj/structure/sign/poster/wanted/proc/print_across_top(icon/poster_icon, text, color) - var/textLen = min(length(text), 7) - var/startX = 16 - (2*textLen) + var/text_len = min(length(text), 7) + var/start_x = 16 - (2*text_len) var/i - for(i=1; i <= textLen, i++) + for(i=1; i <= text_len, i++) var/letter = uppertext(text[i]) var/icon/letter_icon = icon("icon" = 'icons/testing/Font_Minimal.dmi', "icon_state" = letter) - letter_icon.Shift(EAST, startX) //16 - (2*n) + letter_icon.Shift(EAST, start_x) //16 - (2*n) letter_icon.Shift(SOUTH, 2) letter_icon.SwapColor(rgb(255,255,255), color) poster_icon.Blend(letter_icon, ICON_OVERLAY) - startX = startX + 4 + start_x = start_x + 4 /obj/structure/sign/poster/wanted/roll_and_drop(atom/location, mob/user) pixel_x = 0 diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f18da132af0b6..35e09d8eb452d 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -39,6 +39,12 @@ ///The config type to use for greyscaled belt overlays. Both this and greyscale_colors must be assigned to work. var/greyscale_config_belt + /// Greyscale config used when generating digitigrade versions of the sprite. + var/digitigrade_greyscale_config_worn + /// Greyscale colors used when generating digitigrade versions of the sprite. + /// Optional - If not set it will default to normal greyscale colors, or approximate them if those are unset as well + var/digitigrade_greyscale_colors + /* !!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!! IF YOU ADD MORE ICON CRAP TO THIS @@ -79,6 +85,8 @@ var/pickup_sound ///Sound uses when dropping the item, or when its thrown. var/drop_sound + ///Do the drop and pickup sounds vary? + var/sound_vary = FALSE ///Whether or not we use stealthy audio levels for this item's attack sounds var/stealthy_audio = FALSE ///Sound which is produced when blocking an attack @@ -677,7 +685,7 @@ item_flags &= ~IN_INVENTORY SEND_SIGNAL(src, COMSIG_ITEM_DROPPED, user) if(!silent) - playsound(src, drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE) + playsound(src, drop_sound, DROP_SOUND_VOLUME, vary = sound_vary, ignore_walls = FALSE) user?.update_equipment_speed_mods() /// called just as an item is picked up (loc is not yet changed) @@ -703,7 +711,7 @@ /obj/item/proc/on_equipped(mob/user, slot, initial = FALSE) SHOULD_NOT_OVERRIDE(TRUE) equipped(user, slot, initial) - if(SEND_SIGNAL(src, COMSIG_ITEM_POST_EQUIPPED, user, slot) && COMPONENT_EQUIPPED_FAILED) + if(SEND_SIGNAL(src, COMSIG_ITEM_POST_EQUIPPED, user, slot) & COMPONENT_EQUIPPED_FAILED) return FALSE return TRUE @@ -1266,7 +1274,7 @@ if((item_flags & ABSTRACT) || HAS_TRAIT(src, TRAIT_NODROP)) return user.dropItemToGround(src, silent = TRUE) - if(throwforce && HAS_TRAIT(user, TRAIT_PACIFISM)) + if(throwforce && (HAS_TRAIT(user, TRAIT_PACIFISM)) || HAS_TRAIT(user, TRAIT_NO_THROWING)) to_chat(user, span_notice("You set [src] down gently on the ground.")) return return src @@ -1454,8 +1462,8 @@ pickup_animation.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA var/direction = get_dir(source, target) - var/to_x = target.base_pixel_x - var/to_y = target.base_pixel_y + var/to_x = target.base_pixel_x + target.base_pixel_w + var/to_y = target.base_pixel_y + target.base_pixel_z if(direction & NORTH) to_y += 32 @@ -1729,7 +1737,7 @@ return FALSE return TRUE return FALSE - + /// Fetches embedding data /obj/item/proc/get_embed() RETURN_TYPE(/datum/embed_data) diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index 3365a24650a5b..0d359a279bc39 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -234,7 +234,7 @@ * * target - The turf being painted to */ /obj/item/airlock_painter/decal/proc/paint_floor(turf/open/floor/target) - target.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, null, null, alpha, color, null, FALSE, null) + target.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, null, null, alpha, color, null, null, null, FALSE, null) /** * Return the final icon_state for the given decal options @@ -298,7 +298,7 @@ .["current_dir"] = stored_dir .["current_custom_color"] = stored_custom_color -/obj/item/airlock_painter/decal/ui_act(action, list/params) +/obj/item/airlock_painter/decal/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -438,7 +438,7 @@ decal_color = rgba_regex.group[1] decal_alpha = text2num(rgba_regex.group[2], 16) - target.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', source_decal, source_dir, null, null, decal_alpha, decal_color, null, FALSE, null) + target.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', source_decal, source_dir, null, null, decal_alpha, decal_color, null, null, null, FALSE, null) /datum/asset/spritesheet/decals/tiles name = "floor_tile_decals" diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index 39388da561b06..b742a3a89c0c5 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -2,7 +2,8 @@ /obj/item/wallframe/apc name = "\improper APC frame" desc = "Used for repairing or building APCs." - icon_state = "apc" + icon = 'icons/obj/machines/APC.dmi' + icon_state = "frame" result_path = /obj/machinery/power/apc/auto_name /obj/item/wallframe/apc/try_build(turf/on_wall, user) diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm index d244d8c55cc16..d8b48e0789b21 100644 --- a/code/game/objects/items/body_egg.dm +++ b/code/game/objects/items/body_egg.dm @@ -15,15 +15,14 @@ if(iscarbon(loc)) Insert(loc) -/obj/item/organ/internal/body_egg/Insert(mob/living/carbon/egg_owner, special = FALSE, movement_flags = DELETE_IF_REPLACED) +/obj/item/organ/internal/body_egg/mob_insert(mob/living/carbon/egg_owner, special = FALSE, movement_flags = DELETE_IF_REPLACED) . = ..() - if(!.) - return + egg_owner.add_traits(list(TRAIT_XENO_HOST, TRAIT_XENO_IMMUNE), ORGAN_TRAIT) egg_owner.med_hud_set_status() INVOKE_ASYNC(src, PROC_REF(AddInfectionImages), egg_owner) -/obj/item/organ/internal/body_egg/Remove(mob/living/carbon/egg_owner, special, movement_flags) +/obj/item/organ/internal/body_egg/mob_remove(mob/living/carbon/egg_owner, special, movement_flags) . = ..() egg_owner.remove_traits(list(TRAIT_XENO_HOST, TRAIT_XENO_IMMUNE), ORGAN_TRAIT) egg_owner.med_hud_set_status() diff --git a/code/game/objects/items/busts_and_figurines.dm b/code/game/objects/items/busts_and_figurines.dm index afc4a58334e90..53af3228ffd36 100644 --- a/code/game/objects/items/busts_and_figurines.dm +++ b/code/game/objects/items/busts_and_figurines.dm @@ -50,16 +50,12 @@ ..() if(!(slot & ITEM_SLOT_HANDS)) return - var/datum/atom_hud/our_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - our_hud.show_to(user) ADD_TRAIT(user, TRAIT_MEDICAL_HUD, type) /obj/item/statuebust/hippocratic/dropped(mob/living/carbon/human/user) ..() if(HAS_TRAIT_NOT_FROM(user, TRAIT_MEDICAL_HUD, type)) return - var/datum/atom_hud/our_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - our_hud.hide_from(user) REMOVE_TRAIT(user, TRAIT_MEDICAL_HUD, type) /obj/item/statuebust/hippocratic/attack_self(mob/user) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 5dc826e8fd51e..0f716c84f68a7 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -104,6 +104,11 @@ /// Boolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated. var/is_intern = FALSE + ///If true, the wearer will have bigger arrow when pointing at things. Passed down by trims. + var/big_pointer = FALSE + ///If set, the arrow will have a different color. + var/pointer_color + /datum/armor/card_id fire = 100 acid = 100 @@ -144,6 +149,29 @@ QDEL_NULL(my_store) return ..() +/obj/item/card/id/equipped(mob/user, slot) + . = ..() + if(slot == ITEM_SLOT_ID) + RegisterSignal(user, COMSIG_MOVABLE_POINTED, PROC_REF(on_pointed)) + +/obj/item/card/id/proc/on_pointed(mob/living/user, atom/pointed, obj/effect/temp_visual/point/point) + SIGNAL_HANDLER + if((!big_pointer && !pointer_color) || HAS_TRAIT(user, TRAIT_UNKNOWN)) + return + if(point.icon_state != /obj/effect/temp_visual/point::icon_state) //it differs from the original icon_state already. + return + if(big_pointer) + point.icon_state = "arrow_large" + if(pointer_color) + point.icon_state = "[point.icon_state]_white" + point.color = pointer_color + var/mutable_appearance/highlight = mutable_appearance(point.icon, "[point.icon_state]_highlights", appearance_flags = RESET_COLOR) + point.add_overlay(highlight) + +/obj/item/card/id/dropped(mob/user) + UnregisterSignal(user, COMSIG_MOVABLE_POINTED) + return ..() + /obj/item/card/id/get_id_examine_strings(mob/user) . = ..() . += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "bigicon")]") @@ -835,6 +863,11 @@ /obj/item/card/id/proc/get_trim_sechud_icon_state() return trim?.sechud_icon_state || SECHUD_UNKNOWN +/obj/item/card/id/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(iscash(interacting_with)) + return insert_money(interacting_with, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING + return NONE + /obj/item/card/id/away name = "\proper a perfectly generic identification card" desc = "A perfectly generic identification card. Looks like it could use some flavor." @@ -1437,7 +1470,7 @@ theft_target = WEAKREF(interacting_with) ui_interact(user) return ITEM_INTERACT_SUCCESS - return NONE + return ..() /obj/item/card/id/advanced/chameleon/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) // If we're attacking a human, we want it to be covert. We're not ATTACKING them, we're trying @@ -1549,7 +1582,7 @@ return data -/obj/item/card/id/advanced/chameleon/ui_act(action, list/params) +/obj/item/card/id/advanced/chameleon/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/choice_beacon.dm b/code/game/objects/items/choice_beacon.dm index 75a3f35c80b97..6bd6472d9c8f1 100644 --- a/code/game/objects/items/choice_beacon.dm +++ b/code/game/objects/items/choice_beacon.dm @@ -64,7 +64,7 @@ /obj/item/choice_beacon/proc/spawn_option(obj/choice_path, mob/living/user) podspawn(list( "target" = get_turf(src), - "style" = STYLE_BLUESPACE, + "style" = /datum/pod_style/advanced, "spawn" = choice_path, )) diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index f4168b7b37747..e0c48b6098d14 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -329,7 +329,7 @@ /obj/item/circuitboard/machine/scanner_gate name = "Scanner Gate" - greyscale_colors = CIRCUIT_COLOR_ENGINEERING + greyscale_colors = CIRCUIT_COLOR_SECURITY build_path = /obj/machinery/scanner_gate req_components = list( /datum/stock_part/scanning_module = 3) @@ -572,6 +572,11 @@ return . += span_info("[src] is set to [fridges_name_paths[build_path]]. You can use a screwdriver to reconfigure it.") +/obj/item/circuitboard/machine/dehydrator + name = "Dehydrator" + build_path = /obj/machinery/smartfridge/drying + req_components = list(/datum/stock_part/matter_bin = 1) + needs_anchored = FALSE /obj/item/circuitboard/machine/space_heater name = "Space Heater" @@ -626,6 +631,7 @@ /obj/machinery/vending/coffee = "Solar's Best Hot Drinks", /obj/machinery/vending/cola = "Robust Softdrinks", /obj/machinery/vending/custom = "Custom Vendor", + /obj/machinery/vending/cytopro = "CytoPro", /obj/machinery/vending/dinnerware = "Plasteel Chef's Dinnerware Vendor", /obj/machinery/vending/drugs = "NanoDrug Plus", /obj/machinery/vending/engineering = "Robco Tool Maker", @@ -703,6 +709,13 @@ /obj/item/stack/sheet/glass = 1, /obj/item/vending_refill/donksoft = 1) +/obj/item/circuitboard/machine/vending/donksnackvendor + name = "Donk Co Snack Vendor" + build_path = /obj/machinery/vending/donksnack + req_components = list( + /obj/item/stack/sheet/glass = 1, + /obj/item/vending_refill/donksnackvendor = 1) + /obj/item/circuitboard/machine/bountypad name = "Civilian Bounty Pad" greyscale_colors = CIRCUIT_COLOR_GENERIC @@ -1274,6 +1287,15 @@ /obj/item/stack/sheet/glass = 1) needs_anchored = FALSE +/obj/item/circuitboard/machine/hydroponics/fullupgrade + build_path = /obj/machinery/hydroponics/constructable/fullupgrade + specific_parts = TRUE + req_components = list( + /datum/stock_part/matter_bin/tier4 = 2, + /datum/stock_part/servo/tier4 = 1, + /obj/item/stack/sheet/glass = 1 + ) + /obj/item/circuitboard/machine/microwave name = "Microwave" greyscale_colors = CIRCUIT_COLOR_SERVICE @@ -1360,6 +1382,10 @@ /datum/stock_part/capacitor = 1) needs_anchored = FALSE +/obj/item/circuitboard/machine/fishing_portal_generator/emagged + name = "Emagged Fishing Portal Generator" + build_path = /obj/machinery/fishing_portal_generator + //Supply /obj/item/circuitboard/machine/ore_redemption name = "Ore Redemption" @@ -1669,3 +1695,20 @@ req_components = list( /obj/item/pipe/trinary/flippable/filter = 1, ) + +/obj/item/circuitboard/machine/portagrav + name = "Portable Gravity Unit" + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/power/portagrav + req_components = list( + /datum/stock_part/capacitor = 2, + /datum/stock_part/micro_laser = 2, + /obj/item/stack/sheet/glass = 1) + +/obj/item/circuitboard/machine/big_manipulator + name = "Big Manipulator" + greyscale_colors = CIRCUIT_COLOR_ENGINEERING + build_path = /obj/machinery/big_manipulator + req_components = list( + /datum/stock_part/servo = 1, + ) diff --git a/code/game/objects/items/climbingrope.dm b/code/game/objects/items/climbingrope.dm index e68e508771248..a699c8e4d39d2 100644 --- a/code/game/objects/items/climbingrope.dm +++ b/code/game/objects/items/climbingrope.dm @@ -1,7 +1,7 @@ /obj/item/climbing_hook name = "climbing hook" desc = "Standard hook with rope to scale up holes. The rope is of average quality, but due to your weight amongst other factors, may not withstand extreme use." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "climbingrope" inhand_icon_state = "crowbar_brass" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 3d817d24ccf2b..15f51e83b2d3f 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -14,7 +14,7 @@ name = "soap" desc = "A cheap bar of soap. Doesn't smell." gender = PLURAL - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/cosmetic.dmi' icon_state = "soap" inhand_icon_state = "soap" worn_icon_state = "soap" @@ -74,7 +74,7 @@ /obj/item/soap/nanotrasen/cyborg /obj/item/soap/deluxe - desc = "A deluxe Waffle Co. brand bar of soap. Smells of high-class luxury." + desc = "A deluxe Waffle Corporation brand bar of soap. Smells of high-class luxury." grind_results = list(/datum/reagent/consumable/aloejuice = 10, /datum/reagent/lye = 10) icon_state = "soapdeluxe" inhand_icon_state = "soapdeluxe" @@ -89,6 +89,13 @@ worn_icon_state = "soapsyndie" cleanspeed = 0.5 SECONDS //faster than mops so it's useful for traitors who want to clean crime scenes +/obj/item/soap/drone + name = "\improper integrated soap module" + inhand_icon_state = "soapnt" + worn_icon_state = "soapnt" + cleanspeed = 0.5 SECONDS //can be changed if someone isn't happy + uses = INFINITY + /obj/item/soap/omega name = "\improper Omega soap" desc = "The most advanced soap known to mankind. The beginning of the end for germs." @@ -250,7 +257,7 @@ /obj/item/bikehorn/rubberducky name = "rubber ducky" desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/toys/toy.dmi' icon_state = "rubberducky" inhand_icon_state = "rubberducky" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index b16cf3a6ef61a..f2f77649ed457 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -8,6 +8,7 @@ desc = "A generic brand of lipstick." icon = 'icons/obj/cosmetic.dmi' icon_state = "lipstick" + base_icon_state = "lipstick" inhand_icon_state = "lipstick" w_class = WEIGHT_CLASS_TINY interaction_flags_click = NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING @@ -18,6 +19,8 @@ var/style = "lipstick" /// A trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed var/lipstick_trait + /// Can this lipstick spawn randomly + var/random_spawn = TRUE /obj/item/lipstick/Initialize(mapload) . = ..() @@ -34,8 +37,8 @@ . += "Alt-click to change the style." /obj/item/lipstick/update_icon_state() - icon_state = "lipstick[open ? "_uncap" : null]" - inhand_icon_state = "lipstick[open ? "open" : null]" + icon_state = "[base_icon_state][open ? "_uncap" : null]" + inhand_icon_state = "[base_icon_state][open ? "open" : null]" return ..() /obj/item/lipstick/update_overlays() @@ -104,6 +107,16 @@ name = "\improper Kiss of Death" desc = "An incredibly potent tube of lipstick made from the venom of the dreaded Yellow Spotted Space Lizard, as deadly as it is chic. Try not to smear it!" lipstick_trait = TRAIT_KISS_OF_DEATH + random_spawn = FALSE + +/obj/item/lipstick/syndie + name = "syndie lipstick" + desc = "Syndicate branded lipstick with a killer dose of kisses. Observe safety regulations!" + icon_state = "slipstick" + base_icon_state = "slipstick" + lipstick_color = COLOR_SYNDIE_RED + lipstick_trait = TRAIT_SYNDIE_KISS + random_spawn = FALSE /obj/item/lipstick/random name = "lipstick" @@ -116,7 +129,7 @@ if(!possible_colors) possible_colors = list() for(var/obj/item/lipstick/lipstick_path as anything in (typesof(/obj/item/lipstick) - src.type)) - if(!initial(lipstick_path.lipstick_color)) + if(!initial(lipstick_path.lipstick_color) || !initial(lipstick_path.random_spawn)) continue possible_colors[initial(lipstick_path.lipstick_color)] = initial(lipstick_path.name) lipstick_color = pick(possible_colors) diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 45bb25285ef24..bb598d8857829 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -43,7 +43,6 @@ icon = 'icons/obj/machines/money_machine.dmi' icon_state = "bogdanoff" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF density = TRUE pixel_z = -8 @@ -221,7 +220,6 @@ pixel_z = 300 desc = "Get out of the way!" layer = FLY_LAYER//that wasn't flying, that was falling with style! - plane = ABOVE_GAME_PLANE icon_state = "missile_blur" /obj/effect/dumpeet_target diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 9bc86d0c7f96b..788c14381d119 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -372,7 +372,7 @@ .["selected_color"] = GLOB.pipe_color_name[paint_color] || paint_color .["paint_colors"] = GLOB.pipe_paint_colors -/obj/item/toy/crayon/ui_act(action, list/params) +/obj/item/toy/crayon/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -458,6 +458,12 @@ if(RANDOM_ANY) drawing = pick(all_drawables) + if(drawing in graffiti_large_h) + paint_mode = PAINT_LARGE_HORIZONTAL + text_buffer = "" + else + paint_mode = PAINT_NORMAL + var/istagger = HAS_TRAIT(user, TRAIT_TAGGER) var/cost = all_drawables[drawing] || CRAYON_COST_DEFAULT if(istype(target, /obj/item/canvas)) @@ -645,13 +651,38 @@ dye_color = DYE_BLACK /obj/item/toy/crayon/white - name = "white crayon" + name = "stick of chalk" + desc = "A stark-white stick of chalk." icon_state = "crayonwhite" paint_color = COLOR_WHITE crayon_color = "white" reagent_contents = list(/datum/reagent/consumable/nutriment = 0.5, /datum/reagent/colorful_reagent/powder/white/crayon = 1.5) dye_color = DYE_WHITE +/obj/item/toy/crayon/white/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + /// Wherein, we draw a chalk body outline vaguely around the dead or "dead" mob + if(!ishuman(interacting_with) || user.combat_mode) + return ..() + + var/mob/living/carbon/human/pwned_human = interacting_with + + if(!(pwned_human.stat == DEAD || HAS_TRAIT(pwned_human, TRAIT_FAKEDEATH))) + balloon_alert_to_viewers("FEEDING TIME") + return ..() + + balloon_alert_to_viewers("drawing outline...") + if(!do_after(user, DRAW_TIME, target = pwned_human, max_interact_count = 4)) + return NONE + if(!use_charges(user, 1)) + return NONE + + var/decal_rotation = GET_LYING_ANGLE(pwned_human) - 90 + var/obj/effect/decal/cleanable/crayon/chalk_line = new(get_turf(pwned_human), paint_color, "body", "chalk outline", decal_rotation, null, "A vaguely [pwned_human] shaped outline of a body.") + to_chat(user, span_notice("You draw a chalk outline around [pwned_human].")) + chalk_line.pixel_y = (pwned_human.pixel_y + pwned_human.pixel_z) + rand(-2, 2) + chalk_line.pixel_x = (pwned_human.pixel_x + pwned_human.pixel_w) + rand(-1, 1) + return ITEM_INTERACT_SUCCESS + /obj/item/toy/crayon/mime name = "mime crayon" icon_state = "crayonmime" @@ -860,7 +891,7 @@ if(carbon_target.client) carbon_target.set_eye_blur_if_lower(6 SECONDS) carbon_target.adjust_temp_blindness(2 SECONDS) - if(carbon_target.get_eye_protection() <= 0) // no eye protection? ARGH IT BURNS. Warning: don't add a stun here. It's a roundstart item with some quirks. + if(carbon_target.get_eye_protection() <= 0 || carbon_target.is_eyes_covered()) // no eye protection? ARGH IT BURNS. Warning: don't add a stun here. It's a roundstart item with some quirks. added redundancy because gas masks don't give you eye protection carbon_target.adjust_jitter(1 SECONDS) carbon_target.adjust_eye_blur(0.5 SECONDS) flash_color(carbon_target, flash_color=paint_color, flash_time=40) diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm index 071561d57a095..24dc0950d1856 100644 --- a/code/game/objects/items/debug_items.dm +++ b/code/game/objects/items/debug_items.dm @@ -84,8 +84,8 @@ "Wrench" = image(icon = 'icons/obj/tools.dmi', icon_state = "wrench"), "Welding Tool" = image(icon = 'icons/obj/tools.dmi', icon_state = "miniwelder"), "Analyzer" = image(icon = 'icons/obj/devices/scanner.dmi', icon_state = "analyzer"), - "Pickaxe" = image(icon = 'icons/obj/mining.dmi', icon_state = "minipick"), - "Shovel" = image(icon = 'icons/obj/mining.dmi', icon_state = "shovel"), + "Pickaxe" = image(icon = 'icons/obj/mining_zones/equipment.dmi', icon_state = "minipick"), + "Shovel" = image(icon = 'icons/obj/mining_zones/equipment.dmi', icon_state = "shovel"), "Retractor" = image(icon = 'icons/obj/medical/surgery_tools.dmi', icon_state = "retractor"), "Hemostat" = image(icon = 'icons/obj/medical/surgery_tools.dmi', icon_state = "hemostat"), "Cautery" = image(icon = 'icons/obj/medical/surgery_tools.dmi', icon_state = "cautery"), diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index dc68175cafc63..02934d1a03eaa 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -147,7 +147,6 @@ if(!cell || !cell_removable) return FALSE - cell.update_appearance() cell.forceMove(get_turf(src)) balloon_alert(user, "removed [cell]") cell = null @@ -252,7 +251,7 @@ update_power() /obj/item/defibrillator/proc/cooldowncheck() - addtimer(CALLBACK(src, PROC_REF(finish_charging)), cooldown_duration) + addtimer(CALLBACK(src, PROC_REF(finish_charging)), cooldown_duration) /obj/item/defibrillator/proc/finish_charging() if(cell) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index c619f7d7018e0..867183b5e33a1 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -1,7 +1,7 @@ /obj/item/aicard name = "intelliCard" desc = "A storage device for AIs. Patent pending." - icon = 'icons/obj/aicards.dmi' + icon = 'icons/obj/devices/aicards.dmi' icon_state = "aicard" // aicard-full base_icon_state = "aicard" inhand_icon_state = "electronic" diff --git a/code/game/objects/items/devices/aicard_evil.dm b/code/game/objects/items/devices/aicard_evil.dm index 3e8c56ce940fd..530daa46886c7 100644 --- a/code/game/objects/items/devices/aicard_evil.dm +++ b/code/game/objects/items/devices/aicard_evil.dm @@ -2,7 +2,7 @@ /obj/item/aicard/syndie name = "syndiCard" desc = "A storage device for AIs. Nanotrasen forgot to make the patent, so the Syndicate made their own version!" - icon = 'icons/obj/aicards.dmi' + icon = 'icons/obj/devices/aicards.dmi' icon_state = "syndicard" base_icon_state = "syndicard" item_flags = null diff --git a/code/game/objects/items/devices/battle_royale.dm b/code/game/objects/items/devices/battle_royale.dm index ab871520465a5..70ae0a8f85b2d 100644 --- a/code/game/objects/items/devices/battle_royale.dm +++ b/code/game/objects/items/devices/battle_royale.dm @@ -295,7 +295,7 @@ GLOBAL_DATUM_INIT(battle_royale_master, /datum/battle_royale_master, new) if (!isnull(winner)) podspawn(list( "target" = get_turf(winner), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = /obj/item/food/roast_dinner, )) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e684c1b4959e5..54665a38b5ec7 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -7,7 +7,7 @@ name = "flashlight" desc = "A hand-held emergency light." custom_price = PAYCHECK_CREW - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/devices/lighting.dmi' dir = WEST icon_state = "flashlight" inhand_icon_state = "flashlight" @@ -297,6 +297,7 @@ name = "penlight" desc = "A pen-sized light, used by medical staff. It can also be used to create a hologram to alert people of incoming medical assistance." dir = EAST + icon = 'icons/obj/service/bureaucracy.dmi' icon_state = "penlight" inhand_icon_state = "" worn_icon_state = "pen" @@ -694,11 +695,14 @@ color = LIGHT_COLOR_GREEN light_color = LIGHT_COLOR_GREEN +/obj/item/flashlight/lantern/jade/on + start_on = TRUE + /obj/item/flashlight/slime gender = PLURAL name = "glowing slime extract" desc = "Extract from a yellow slime. It emits a strong light when squeezed." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/science/slimecrossing.dmi' icon_state = "slime" inhand_icon_state = null w_class = WEIGHT_CLASS_SMALL @@ -773,6 +777,7 @@ light_power = 2 light_system = OVERLAY_LIGHT color = LIGHT_COLOR_GREEN + icon = 'icons/obj/toys/toy.dmi' icon_state = "glowstick" base_icon_state = "glowstick" inhand_icon_state = null @@ -959,14 +964,10 @@ var/dark_light_range = 2.5 ///Variable to preserve old lighting behavior in flashlights, to handle darkness. var/dark_light_power = -3 - var/on = FALSE /obj/item/flashlight/flashdark/update_brightness() . = ..() - if(on) - set_light(dark_light_range, dark_light_power) - else - set_light(0) + set_light(dark_light_range, dark_light_power) //type and subtypes spawned and used to give some eyes lights, /obj/item/flashlight/eyelight diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index 5d40d40a4d925..53216e00f08e1 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -100,7 +100,6 @@ icon = 'icons/effects/effects.dmi' icon_state = "forcefield" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE anchored = TRUE pass_flags_self = PASSGLASS density = TRUE diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 554db2beb5399..4211e2f507990 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -277,7 +277,7 @@ target_felinid.setDir(get_dir(target_felinid, targloc)) // kitty always looks at the light if(prob(effectchance * diode.rating)) target_felinid.visible_message(span_warning("[target_felinid] makes a grab for the light!"), span_userdanger("LIGHT!")) - target_felinid.Move(targloc) + target_felinid.Move(targloc, get_dir(target_felinid, targloc)) log_combat(user, target_felinid, "moved with a laser pointer", src) else target_felinid.visible_message(span_notice("[target_felinid] looks briefly distracted by the light."), span_warning("You're briefly tempted by the shiny light...")) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 07a1db55a9c98..4039b412ebe78 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -133,7 +133,7 @@ if(src.uses >= max_uses) break - //consume the item only if it's an light tube,bulb or shard + //consume the item only if it's a light tube, bulb or shard loaded = FALSE if(istype(item_to_check, /obj/item/light)) var/obj/item/light/found_light = item_to_check diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 7ae17c5343ad6..718f3ac721979 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -17,26 +17,39 @@ user.say("AAAAAAAAAAAARGHHHHH", forced="megaphone suicide")//he must have died while coding this return OXYLOSS -/obj/item/megaphone/equipped(mob/M, slot) +/obj/item/megaphone/equipped(mob/equipper, slot) . = ..() - if ((slot & ITEM_SLOT_HANDS) && !HAS_TRAIT(M, TRAIT_SIGN_LANG)) - RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - else - UnregisterSignal(M, COMSIG_MOB_SAY) + if ((slot & ITEM_SLOT_HANDS)) + RegisterSignal(equipper, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + RegisterSignal(equipper, COMSIG_LIVING_TREAT_MESSAGE, PROC_REF(add_tts_filter)) -/obj/item/megaphone/dropped(mob/M) +/obj/item/megaphone/dropped(mob/dropper) . = ..() - UnregisterSignal(M, COMSIG_MOB_SAY) + UnregisterSignal(dropper, list(COMSIG_MOB_SAY, COMSIG_LIVING_TREAT_MESSAGE)) + +/obj/item/megaphone/proc/handle_speech(mob/living/user, list/speech_args) + SIGNAL_HANDLER + if(HAS_TRAIT(user, TRAIT_SIGN_LANG) || user.get_active_held_item() != src) + return + if(spamcheck > world.time) + to_chat(user, span_warning("\The [src] needs to recharge!")) + else + playsound(loc, 'sound/items/megaphone.ogg', 100, FALSE, TRUE) + speech_args[SPEECH_SPANS] |= voicespan -/obj/item/megaphone/proc/handle_speech(mob/living/carbon/user, list/speech_args) +/obj/item/megaphone/proc/add_tts_filter(mob/living/carbon/user, list/message_args) SIGNAL_HANDLER - if (user.get_active_held_item() == src) - if(spamcheck > world.time) - to_chat(user, span_warning("\The [src] needs to recharge!")) - else - playsound(loc, 'sound/items/megaphone.ogg', 100, FALSE, TRUE) - spamcheck = world.time + 50 - speech_args[SPEECH_SPANS] |= voicespan + if(HAS_TRAIT(user, TRAIT_SIGN_LANG) || user.get_active_held_item() != src) + return + if(spamcheck > world.time) + return + spamcheck = world.time + 5 SECONDS + if(obj_flags & EMAGGED) + ///somewhat compressed and ear-grating, crusty and noisy with a bit of echo. + message_args[TREAT_TTS_FILTER_ARG] += "acrusher=samples=9:level_out=7,aecho=delays=100:decays=0.4,aemphasis=type=emi,crystalizer=i=6,acontrast=60,rubberband=pitch=0.9" + else + ///A sharper and louder sound with a bit of echo + message_args[TREAT_TTS_FILTER_ARG] += "acrusher=samples=2:level_out=6,aecho=delays=90:decays=0.3,aemphasis=type=cd,acontrast=30,crystalizer=i=5" /obj/item/megaphone/emag_act(mob/user, obj/item/card/emag/emag_card) if(obj_flags & EMAGGED) diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index f6fb14c2f19ba..d8b81f4a0903a 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -59,7 +59,7 @@ /obj/item/multitool/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_theyre()] trying to pulse [user.p_their()] heart off!")) - return OXYLOSS//theres a reason it wasn't recommended by doctors + return OXYLOSS//there's a reason it wasn't recommended by doctors /** * Sets the multitool internal object buffer @@ -142,7 +142,7 @@ if(distance < rangealert) //ai should be able to see us detect_state = PROXIMITY_ON_SCREEN break - if(distance < rangewarning) //ai cant see us but is close + if(distance < rangewarning) //ai can't see us but is close detect_state = PROXIMITY_NEAR /datum/action/item_action/toggle_multitool @@ -169,7 +169,7 @@ /obj/item/multitool/cyborg name = "electronic multitool" desc = "Optimised version of a regular multitool. Streamlines processes handled by its internal microchip." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_multitool" toolspeed = 0.5 diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index af19c6cd4f5da..b127a650e2d26 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -104,7 +104,7 @@ data["maxFrequency"] = MAX_FREE_FREQ return data -/obj/item/electropack/ui_act(action, params) +/obj/item/electropack/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 88c9251d5b2bc..5bdb28d0ede28 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -4,26 +4,22 @@ icon = 'icons/obj/devices/circuitry_n_data.dmi' icon_state = "cypherkey_basic" w_class = WEIGHT_CLASS_TINY - /// Can this radio key access the binary radio channel? - var/translate_binary = FALSE - /// Decrypts Syndicate radio transmissions. - var/syndie = FALSE - /// If true, the radio can say/hear on the special CentCom channel. - var/independent = FALSE /// What channels does this encryption key grant to the parent headset. var/list/channels = list() + /// Flags for which "special" radio networks should be accessible + var/special_channels = NONE var/datum/language/translated_language greyscale_config = /datum/greyscale_config/encryptionkey_basic greyscale_colors = "#820a16#3758c4" /obj/item/encryptionkey/examine(mob/user) . = ..() - if(LAZYLEN(channels) || translate_binary) + if(LAZYLEN(channels) || special_channels & RADIO_SPECIAL_BINARY) var/list/examine_text_list = list() for(var/i in channels) examine_text_list += "[GLOB.channel_tokens[i]] - [LOWER_TEXT(i)]" - if(translate_binary) + if(special_channels & RADIO_SPECIAL_BINARY) examine_text_list += "[GLOB.channel_tokens[MODE_BINARY]] - [MODE_BINARY]" . += span_notice("It can access the following channels; [jointext(examine_text_list, ", ")].") @@ -34,14 +30,14 @@ name = "syndicate encryption key" icon_state = "cypherkey_syndicate" channels = list(RADIO_CHANNEL_SYNDICATE = 1) - syndie = TRUE + special_channels = RADIO_SPECIAL_SYNDIE greyscale_config = /datum/greyscale_config/encryptionkey_syndicate greyscale_colors = "#171717#990000" /obj/item/encryptionkey/binary name = "binary translator key" icon_state = "cypherkey_basic" - translate_binary = TRUE + special_channels = RADIO_SPECIAL_BINARY translated_language = /datum/language/machine greyscale_config = /datum/greyscale_config/encryptionkey_basic greyscale_colors = "#24a157#3758c4" @@ -182,7 +178,7 @@ /obj/item/encryptionkey/headset_cent name = "\improper CentCom radio encryption key" icon_state = "cypherkey_centcom" - independent = TRUE + special_channels = RADIO_SPECIAL_CENTCOM channels = list(RADIO_CHANNEL_CENTCOM = 1) greyscale_config = /datum/greyscale_config/encryptionkey_centcom greyscale_colors = "#24a157#dca01b" @@ -211,14 +207,14 @@ RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_AI_PRIVATE = 1, ) - translate_binary = TRUE + special_channels = RADIO_SPECIAL_BINARY translated_language = /datum/language/machine /obj/item/encryptionkey/ai/evil //ported from NT, this goes 'inside' the AI. name = "syndicate binary encryption key" icon_state = "cypherkey_syndicate" channels = list(RADIO_CHANNEL_SYNDICATE = 1) - syndie = TRUE + special_channels = RADIO_SPECIAL_SYNDIE greyscale_config = /datum/greyscale_config/encryptionkey_syndicate greyscale_colors = "#171717#990000" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 1f2cd37a5ccef..68ae0b1d9397a 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -49,7 +49,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( if(item_flags & IN_INVENTORY && loc == user) // construction of frequency description var/list/avail_chans = list("Use [RADIO_KEY_COMMON] for the currently tuned frequency") - if(translate_binary) + if(special_channels & RADIO_SPECIAL_BINARY) avail_chans += "use [MODE_TOKEN_BINARY] for [MODE_BINARY]" if(length(channels)) for(var/i in 1 to length(channels)) @@ -299,7 +299,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( /obj/item/radio/headset/headset_cargo/mining name = "mining radio headset" - desc = "Headset used by shaft miners." + desc = "Headset used by shaft miners. It has a mining network uplink which allows the user to quickly transmit commands to their comrades and amplifies their voice in low-pressure environments." icon_state = "mine_headset" worn_icon_state = "mine_headset" // "puts the antenna down" while the headset is off @@ -307,6 +307,19 @@ GLOBAL_LIST_INIT(channel_tokens, list( overlay_mic_idle = "headset_up" keyslot = /obj/item/encryptionkey/headset_mining +/obj/item/radio/headset/headset_cargo/mining/Initialize(mapload) + . = ..() + AddComponent(/datum/component/callouts, ITEM_SLOT_EARS, examine_text = span_info("Use ctrl-click to enable or disable callouts.")) + +/obj/item/radio/headset/headset_cargo/mining/equipped(mob/living/carbon/human/user, slot) + . = ..() + if(slot & ITEM_SLOT_EARS) + ADD_TRAIT(user, TRAIT_SPEECH_BOOSTER, CLOTHING_TRAIT) + +/obj/item/radio/headset/headset_cargo/mining/dropped(mob/living/carbon/human/user) + . = ..() + REMOVE_TRAIT(user, TRAIT_SPEECH_BOOSTER, CLOTHING_TRAIT) + /obj/item/radio/headset/headset_srv name = "service radio headset" desc = "Headset used by the service staff, tasked with keeping the station full, happy and clean." @@ -417,12 +430,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( if(!(ch_name in src.channels)) LAZYSET(channels, ch_name, keyslot2.channels[ch_name]) - if(keyslot2.translate_binary) - translate_binary = TRUE - if(keyslot2.syndie) - syndie = TRUE - if(keyslot2.independent) - independent = TRUE + special_channels |= keyslot2.special_channels for(var/ch_name in channels) secure_radio_connections[ch_name] = add_radio(src, GLOB.radiochannels[ch_name]) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 504f547b5cb78..fa2fb36a02fab 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -1,7 +1,7 @@ /obj/item/radio/intercom name = "station intercom" desc = "A trusty station intercom, ready to spring into action even when the headsets go silent." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/intercom.dmi' icon_state = "intercom" anchored = TRUE w_class = WEIGHT_CLASS_BULKY @@ -42,6 +42,7 @@ if(!unscrewed) find_and_hang_on_wall(directional = TRUE, \ custom_drop_callback = CALLBACK(src, PROC_REF(knock_down))) + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 36) /obj/item/radio/intercom/Destroy() . = ..() @@ -118,7 +119,7 @@ return FALSE if(freq == FREQ_SYNDICATE) - if(!(syndie)) + if(!(special_channels &= RADIO_SPECIAL_SYNDIE)) return FALSE//Prevents broadcast of messages over devices lacking the encryption return TRUE @@ -192,13 +193,12 @@ /obj/item/wallframe/intercom name = "intercom frame" desc = "A ready-to-go intercom. Just slap it on a wall and screw it in!" - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/intercom.dmi' icon_state = "intercom" result_path = /obj/item/radio/intercom/unscrewed - pixel_shift = 26 custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.75, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 0.25) -MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 27) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/radio/intercom) /obj/item/radio/intercom/chapel name = "Confessional intercom" @@ -219,6 +219,19 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 27) command = TRUE icon_off = "intercom_command-p" -MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/prison, 27) -MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/chapel, 27) -MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/command, 27) +/obj/item/radio/intercom/syndicate + name = "syndicate intercom" + desc = "Talk smack through this." + command = TRUE + special_channels = RADIO_SPECIAL_SYNDIE + +/obj/item/radio/intercom/syndicate/freerange + name = "syndicate wide-band intercom" + desc = "A custom-made Syndicate-issue intercom used to transmit on all Nanotrasen frequencies. Particularly expensive." + freerange = TRUE + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/prison) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/chapel) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/command) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/syndicate) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/radio/intercom/syndicate/freerange) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 912e1d66b0929..03bd127175e68 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -19,7 +19,7 @@ w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT * 0.75, /datum/material/glass=SMALL_MATERIAL_AMOUNT * 0.25) - ///if FALSE, broadcasting and listening dont matter and this radio shouldnt do anything + ///if FALSE, broadcasting and listening don't matter and this radio shouldn't do anything VAR_PRIVATE/on = TRUE ///the "default" radio frequency this radio is set to, listens and transmits to this frequency by default. wont work if the channel is encrypted VAR_PRIVATE/frequency = FREQ_COMMON @@ -63,12 +63,8 @@ /// Encryption key handling var/obj/item/encryptionkey/keyslot - /// If true, can hear the special binary channel. - var/translate_binary = FALSE - /// If true, can say/hear on the special CentCom channel. - var/independent = FALSE - /// If true, hears all well-known channels automatically, and can say/hear on the Syndicate channel. Also protects from radio jammers. - var/syndie = FALSE + /// Flags for which "special" radio networks should be accessible + var/special_channels = NONE /// associative list of the encrypted radio channels this radio is currently set to listen/broadcast to, of the form: list(channel name = TRUE or FALSE) var/list/channels /// associative list of the encrypted radio channels this radio can listen/broadcast to, of the form: list(channel name = channel frequency) @@ -81,7 +77,7 @@ /// overlay when mic is on var/overlay_mic_idle = "m_idle" - /// overlay when speaking a message (is displayed simultaniously with speaker_active) + /// overlay when speaking a message (is displayed simultaneously with speaker_active) var/overlay_mic_active = "m_active" /// When set to FALSE, will avoid calling update_icon() in set_broadcasting and co. @@ -91,6 +87,11 @@ /// If TRUE, will set the icon in initializations. VAR_PRIVATE/should_update_icon = FALSE + /// A very brief cooldown to prevent regular radio sounds from overlapping. + COOLDOWN_DECLARE(audio_cooldown) + /// A very brief cooldown to prevent "important" radio sounds from overlapping. + COOLDOWN_DECLARE(important_audio_cooldown) + /obj/item/radio/Initialize(mapload) set_wires(new /datum/wires/radio(src)) secure_radio_connections = list() @@ -104,7 +105,7 @@ perform_update_icon = FALSE set_listening(listening) set_broadcasting(broadcasting) - set_frequency(sanitize_frequency(frequency, freerange, syndie)) + set_frequency(sanitize_frequency(frequency, freerange, (special_channels & RADIO_SPECIAL_SYNDIE))) set_on(on) perform_update_icon = TRUE @@ -122,7 +123,6 @@ /obj/item/radio/Destroy() remove_radio_all(src) //Just to be sure - QDEL_NULL(wires) if(istype(keyslot)) QDEL_NULL(keyslot) return ..() @@ -150,23 +150,19 @@ if(!(channel_name in channels)) channels[channel_name] = keyslot.channels[channel_name] - if(keyslot.translate_binary) - translate_binary = TRUE - if(keyslot.syndie) - syndie = TRUE - if(keyslot.independent) - independent = TRUE + special_channels = keyslot.special_channels for(var/channel_name in channels) secure_radio_connections[channel_name] = add_radio(src, GLOB.radiochannels[channel_name]) + if(!listening) + remove_radio_all(src) + // Used for cyborg override /obj/item/radio/proc/resetChannels() channels = list() secure_radio_connections = list() - translate_binary = FALSE - syndie = FALSE - independent = FALSE + special_channels = NONE ///goes through all radio channels we should be listening for and readds them to the global list /obj/item/radio/proc/readd_listening_radio_channels() @@ -178,7 +174,7 @@ /obj/item/radio/proc/make_syndie() // Turns normal radios into Syndicate radios! qdel(keyslot) keyslot = new /obj/item/encryptionkey/syndicate() - syndie = TRUE + special_channels |= RADIO_SPECIAL_SYNDIE recalculateChannels() /obj/item/radio/interact(mob/user) @@ -189,7 +185,7 @@ ..() //simple getters only because i NEED to enforce complex setter use for these vars for caching purposes but VAR_PROTECTED requires getter usage as well. -//if another decorator is made that doesnt require getters feel free to nuke these and change these vars over to that +//if another decorator is made that doesn't require getters feel free to nuke these and change these vars over to that ///simple getter for the on variable. necessary due to VAR_PROTECTED /obj/item/radio/proc/is_on() @@ -244,7 +240,7 @@ if(actual_setting) should_be_broadcasting = broadcasting - if(broadcasting && on) //we dont need hearing sensitivity if we arent broadcasting, because talk_into doesnt care about hearing + if(broadcasting && on) //we don't need hearing sensitivity if we aren't broadcasting, because talk_into doesn't care about hearing become_hearing_sensitive(INNATE_TRAIT) else if(!broadcasting) lose_hearing_sensitivity(INNATE_TRAIT) @@ -260,7 +256,7 @@ on = new_on if(on) - set_broadcasting(should_be_broadcasting)//set them to whatever theyre supposed to be + set_broadcasting(should_be_broadcasting)//set them to whatever they're supposed to be set_listening(should_be_listening) else set_broadcasting(FALSE, actual_setting = FALSE)//fake set them to off @@ -335,7 +331,7 @@ channel = null // Nearby active jammers prevent the message from transmitting - if(is_within_radio_jammer_range(src) && !syndie) + if(is_within_radio_jammer_range(src) && !(special_channels & RADIO_SPECIAL_SYNDIE)) return // Determine the identity information which will be attached to the signal. @@ -345,13 +341,19 @@ var/datum/signal/subspace/vocal/signal = new(src, freq, speaker, language, radio_message, spans, message_mods) // Independent radios, on the CentCom frequency, reach all independent radios - if (independent && (freq == FREQ_CENTCOM || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE || freq == FREQ_CTF_GREEN || freq == FREQ_CTF_YELLOW)) + if (special_channels & RADIO_SPECIAL_CENTCOM && (freq == FREQ_CENTCOM || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE || freq == FREQ_CTF_GREEN || freq == FREQ_CTF_YELLOW)) signal.data["compression"] = 0 signal.transmission_method = TRANSMISSION_SUPERSPACE signal.levels = list(0) signal.broadcast() return + + if(isliving(talking_movable)) + var/mob/living/talking_living = talking_movable + if(talking_living.client?.prefs.read_preference(/datum/preference/toggle/radio_noise) && !HAS_TRAIT(talking_living, TRAIT_DEAF)) + SEND_SOUND(talking_living, 'sound/misc/radio_talk.ogg') + // All radios make an attempt to use the subspace system first signal.send_to_receivers() @@ -397,7 +399,6 @@ // left hands are odd slots if (idx && (idx % 2) == (message_mods[RADIO_EXTENSION] == MODE_L_HAND)) return - talk_into(speaker, raw_message, , spans, language=message_language, message_mods=filtered_mods) /// Checks if this radio can receive on the given frequency. @@ -408,7 +409,7 @@ if(!position || !(position.z in levels)) return FALSE - if (input_frequency == FREQ_SYNDICATE && !syndie) + if (input_frequency == FREQ_SYNDICATE && !(special_channels & RADIO_SPECIAL_SYNDIE)) return FALSE // allow checks: are we listening on that frequency? @@ -416,7 +417,7 @@ return TRUE for(var/ch_name in channels) if(channels[ch_name] & FREQ_LISTENING) - if(GLOB.radiochannels[ch_name] == text2num(input_frequency) || syndie) + if(GLOB.radiochannels[ch_name] == text2num(input_frequency) || special_channels & RADIO_SPECIAL_SYNDIE) return TRUE return FALSE @@ -424,6 +425,21 @@ SEND_SIGNAL(src, COMSIG_RADIO_RECEIVE_MESSAGE, data) flick_overlay_view(overlay_speaker_active, 5 SECONDS) + if(!isliving(loc)) + return + + var/mob/living/holder = loc + if(!holder.client?.prefs.read_preference(/datum/preference/toggle/radio_noise) && !HAS_TRAIT(holder, TRAIT_DEAF)) + return + + var/list/spans = data["spans"] + if(COOLDOWN_FINISHED(src, audio_cooldown)) + COOLDOWN_START(src, audio_cooldown, 0.5 SECONDS) + SEND_SOUND(holder, 'sound/misc/radio_receive.ogg') + if((SPAN_COMMAND in spans) && COOLDOWN_FINISHED(src, important_audio_cooldown)) + COOLDOWN_START(src, important_audio_cooldown, 0.5 SECONDS) + SEND_SOUND(holder, 'sound/misc/radio_important.ogg') + /obj/item/radio/ui_state(mob/user) return GLOB.inventory_state @@ -472,7 +488,7 @@ tune = tune * 10 . = TRUE if(.) - set_frequency(sanitize_frequency(tune, freerange, syndie)) + set_frequency(sanitize_frequency(tune, freerange, (special_channels & RADIO_SPECIAL_SYNDIE))) if("listen") set_listening(!listening) . = TRUE @@ -500,10 +516,6 @@ recalculateChannels() . = TRUE -/obj/item/radio/suicide_act(mob/living/user) - user.visible_message(span_suicide("[user] starts bouncing [src] off [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) - return BRUTELOSS - /obj/item/radio/examine(mob/user) . = ..() if (frequency && in_range(src, user)) @@ -575,7 +587,7 @@ channels[ch_name] = TRUE /obj/item/radio/borg/syndicate - syndie = TRUE + special_channels = RADIO_SPECIAL_SYNDIE keyslot = /obj/item/encryptionkey/syndicate /obj/item/radio/borg/syndicate/Initialize(mapload) diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index c8c76c583e103..bebafbdab83b7 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -320,7 +320,7 @@ // Hulk and body temperature var/datum/species/targetspecies = humantarget.dna.species - var/mutant = humantarget.dna.check_mutation(/datum/mutation/human/hulk) + var/mutant = HAS_TRAIT(humantarget, TRAIT_HULK) render_list += "Species: [targetspecies.name][mutant ? "-derived mutant" : ""]\n" var/core_temperature_message = "Core temperature: [round(humantarget.coretemperature-T0C, 0.1)] °C ([round(humantarget.coretemperature*1.8-459.67,0.1)] °F)" diff --git a/code/game/objects/items/devices/spyglasses.dm b/code/game/objects/items/devices/spyglasses.dm index 8be7666bf96ae..8d70f3de29215 100644 --- a/code/game/objects/items/devices/spyglasses.dm +++ b/code/game/objects/items/devices/spyglasses.dm @@ -20,7 +20,7 @@ /obj/item/clothing/glasses/sunglasses/spy/proc/on_screen_clear(client/source, window) SIGNAL_HANDLER - linked_bug.cam_screen.hide_from(source.mob) + linked_bug.cam_screen.hide_from_client(source) /obj/item/clothing/glasses/sunglasses/spy/equipped(mob/user, slot) . = ..() @@ -92,7 +92,7 @@ default_raw_text = @{" Thank you for your purchase of the Nerd Co SpySpeks tm, this paper will be your quick-start guide to violating the privacy of your crewmates in three easy steps!

Step One: Nerd Co SpySpeks tm upon your face.
-Step Two: Place the included "ProfitProtektor tm" camera assembly in a place of your choosing - make sure to make heavy use of it's inconspicous design! +Step Two: Place the included "ProfitProtektor tm" camera assembly in a place of your choosing - make sure to make heavy use of its inconspicous design! Step Three: Press the "Activate Remote View" Button on the side of your SpySpeks tm to open a movable camera display in the corner of your vision, it's just that easy!


TROUBLESHOOTING
My SpySpeks tm Make a shrill beep while attempting to use! diff --git a/code/game/objects/items/devices/swapper.dm b/code/game/objects/items/devices/swapper.dm index dee9198c93296..fc5a9d39f9742 100644 --- a/code/game/objects/items/devices/swapper.dm +++ b/code/game/objects/items/devices/swapper.dm @@ -97,7 +97,7 @@ return teleportable /obj/item/swapper/proc/swap(mob/user) - if(QDELETED(linked_swapper) || world.time < linked_swapper.cooldown) + if(QDELETED(linked_swapper) || isnull(linked_swapper.loc) || world.time < linked_swapper.cooldown) return var/atom/movable/A = get_teleportable_container() diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 0dc69cb9c8117..8327e185ea612 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -138,7 +138,7 @@ effective or pretty fucking useless. data["cooldown"] = DisplayTimeText(get_cooldown()) return data -/obj/item/healthanalyzer/rad_laser/ui_act(action, params) +/obj/item/healthanalyzer/rad_laser/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 598c16c9041a8..d17530c801085 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -291,7 +291,7 @@ data["valve"] = valve_open return data -/obj/item/transfer_valve/ui_act(action, params) +/obj/item/transfer_valve/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index f32b2ee30ec21..b06dd737654d0 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -181,7 +181,7 @@ name = "knucklebones rules" default_raw_text = "How to play knucklebones
\
    \ -
  • Make two 3x3 grids right next to eachother using anything you can find to mark the ground. I like using the bartenders hologram projector.
  • \ +
  • Make two 3x3 grids right next to each other using anything you can find to mark the ground. I like using the bartenders hologram projector.
  • \
  • Take turns rolling the dice and moving the dice into one of the three rows on your 3x3 grid.
  • \
  • Your goal is to get the most points by putting die of the same number in the same row.
  • \
  • If you have two of the same die in the same row, you will add them together and then times the sum by two. Then add that to the rest of the die.
  • \ diff --git a/code/game/objects/items/dna_probe.dm b/code/game/objects/items/dna_probe.dm index ee6a32766522f..57718ca217e0b 100644 --- a/code/game/objects/items/dna_probe.dm +++ b/code/game/objects/items/dna_probe.dm @@ -17,8 +17,6 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' icon_state = "sampler" item_flags = NOBLUDGEON - ///Whether we have Carp DNA - var/carp_dna_loaded = FALSE ///What sources of DNA this sampler can extract from. var/allowed_scans = DNA_PROBE_SCAN_PLANTS | DNA_PROBE_SCAN_ANIMALS | DNA_PROBE_SCAN_HUMANS ///List of all Animal DNA scanned with this sampler. @@ -35,10 +33,14 @@ if(dna_vault_ref?.resolve()) // Weirdly we can upload to any existing DNA vault so long as we're linked to any other existing DNA vault. return try_upload_dna(interacting_with, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING - else - return try_linking_vault(interacting_with, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING + return try_linking_vault(interacting_with, user) ? ITEM_INTERACT_SUCCESS : ITEM_INTERACT_BLOCKING + + if (!valid_scan_target(interacting_with)) + return NONE + + if (scan_dna(interacting_with, user)) + return ITEM_INTERACT_SUCCESS - scan_dna(interacting_with, user) return ITEM_INTERACT_BLOCKING /obj/item/dna_probe/proc/try_linking_vault(obj/machinery/dna_vault/target, mob/user) @@ -78,7 +80,7 @@ playsound(user, 'sound/machines/buzz-sigh.ogg', 50) balloon_alert(user, "need database!") return - if((allowed_scans & DNA_PROBE_SCAN_PLANTS) && istype(target, /obj/machinery/hydroponics)) + if(istype(target, /obj/machinery/hydroponics)) var/obj/machinery/hydroponics/hydro_tray = target if(!hydro_tray.myseed) return @@ -90,11 +92,12 @@ return if(hydro_tray.plant_status != HYDROTRAY_PLANT_HARVESTABLE) // So it's bit harder. to_chat(user, span_alert("Plant needs to be ready to harvest to perform full data scan.")) //Because space dna is actually magic - return . + return stored_dna_plants[hydro_tray.myseed.type] = TRUE playsound(src, 'sound/misc/compiler-stage2.ogg', 50) balloon_alert(user, "data added") - else if((allowed_scans & DNA_PROBE_SCAN_HUMANS) && ishuman(target)) + return TRUE + else if(ishuman(target)) var/mob/living/carbon/human/human_target = target if(our_vault.human_dna[human_target.dna.unique_identity]) to_chat(user, span_notice("Humanoid data already present in vault storage.")) @@ -108,23 +111,40 @@ stored_dna_human[human_target.dna.unique_identity] = TRUE playsound(src, 'sound/misc/compiler-stage2.ogg', 50) balloon_alert(user, "data added") + return TRUE + + if(!isliving(target)) + return + + var/static/list/non_simple_animals = typecacheof(list(/mob/living/carbon/alien)) + if(!isanimal_or_basicmob(target) && !is_type_in_typecache(target, non_simple_animals) && !ismonkey(target)) + return + + var/mob/living/living_target = target + if(our_vault.animal_dna[living_target.type]) + to_chat(user, span_notice("Animal data already present in vault storage.")) + return + if(stored_dna_animal[living_target.type]) + to_chat(user, span_notice("Animal data already present in local storage.")) + return + if(!(living_target.mob_biotypes & MOB_ORGANIC)) + to_chat(user, span_alert("No compatible DNA detected.")) + return . + stored_dna_animal[living_target.type] = TRUE + playsound(src, 'sound/misc/compiler-stage2.ogg', 50) + balloon_alert(user, "data added") + return TRUE - else if((allowed_scans & DNA_PROBE_SCAN_ANIMALS) && isliving(target)) +/obj/item/dna_probe/proc/valid_scan_target(atom/target) + if((allowed_scans & DNA_PROBE_SCAN_PLANTS) && istype(target, /obj/machinery/hydroponics)) + return TRUE + if((allowed_scans & DNA_PROBE_SCAN_HUMANS) && ishuman(target)) + return TRUE + if((allowed_scans & DNA_PROBE_SCAN_ANIMALS) && isliving(target)) var/static/list/non_simple_animals = typecacheof(list(/mob/living/carbon/alien)) if(isanimal_or_basicmob(target) || is_type_in_typecache(target, non_simple_animals) || ismonkey(target)) - var/mob/living/living_target = target - if(our_vault.animal_dna[living_target.type]) - to_chat(user, span_notice("Animal data already present in vault storage.")) - return - if(stored_dna_animal[living_target.type]) - to_chat(user, span_notice("Animal data already present in local storage.")) - return - if(!(living_target.mob_biotypes & MOB_ORGANIC)) - to_chat(user, span_alert("No compatible DNA detected.")) - return . - stored_dna_animal[living_target.type] = TRUE - playsound(src, 'sound/misc/compiler-stage2.ogg', 50) - balloon_alert(user, "data added") + return TRUE + return FALSE #define CARP_MIX_DNA_TIMER (15 SECONDS) @@ -132,6 +152,8 @@ /obj/item/dna_probe/carp_scanner name = "Carp DNA Sampler" desc = "Can be used to take chemical and genetic samples of animals." + ///Whether we have Carp DNA + var/carp_dna_loaded = FALSE /obj/item/dna_probe/carp_scanner/examine_more(mob/user) . = ..() @@ -145,6 +167,11 @@ else return ..() +/obj/item/dna_probe/carp_scanner/valid_scan_target(atom/target) + if (istype(target, /mob/living/basic/carp)) + return TRUE + return ..() + /obj/item/dna_probe/carp_scanner/attack_self(mob/user, modifiers) . = ..() if(!carp_dna_loaded) diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 8f838c0c0412f..86b99e8c47e4e 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -56,10 +56,9 @@ /// Triggered on wield of two handed item /// Specific hulk checks due to reflection chance for balance issues and switches hitsounds. /obj/item/dualsaber/proc/on_wield(obj/item/source, mob/living/carbon/user) - if(user?.has_dna()) - if(user.dna.check_mutation(/datum/mutation/human/hulk)) - to_chat(user, span_warning("You lack the grace to wield this!")) - return COMPONENT_TWOHANDED_BLOCK_WIELD + if(user && HAS_TRAIT(user, TRAIT_HULK)) + to_chat(user, span_warning("You lack the grace to wield this!")) + return COMPONENT_TWOHANDED_BLOCK_WIELD update_weight_class(w_class_on) hitsound = 'sound/weapons/blade1.ogg' START_PROCESSING(SSobj, src) @@ -123,12 +122,11 @@ . = ..() /obj/item/dualsaber/attack(mob/target, mob/living/carbon/human/user) - if(user.has_dna()) - if(user.dna.check_mutation(/datum/mutation/human/hulk)) - to_chat(user, span_warning("You grip the blade too hard and accidentally drop it!")) - if(HAS_TRAIT(src, TRAIT_WIELDED)) - user.dropItemToGround(src, force=TRUE) - return + if(HAS_TRAIT(user, TRAIT_HULK)) + to_chat(user, span_warning("You grip the blade too hard and accidentally drop it!")) + if(HAS_TRAIT(src, TRAIT_WIELDED)) + user.dropItemToGround(src, force=TRUE) + return ..() if(!HAS_TRAIT(src, TRAIT_WIELDED)) return diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 719789b2a936c..4445cdd1b7277 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -63,7 +63,9 @@ shaking = TRUE - start_shaking(user) + if (!start_shaking(user)) + return + if(do_after(user, shake_time)) say(get_answer()) @@ -73,7 +75,7 @@ shaking = FALSE /obj/item/toy/eightball/proc/start_shaking(mob/user) - return + return TRUE /obj/item/toy/eightball/proc/get_answer() return pick(possible_answers) @@ -98,8 +100,7 @@ /obj/item/toy/eightball/haunted shake_time = 30 SECONDS cooldown_time = 3 MINUTES - var/last_message = "Nothing!" - var/selected_message + var/selected_message = "Nothing!" //these kind of store the same thing but one is easier to work with. var/list/votes = list() var/list/voted = list() @@ -137,7 +138,6 @@ for (var/answer in haunted_answers) votes[answer] = 0 SSpoints_of_interest.make_point_of_interest(src) - become_hearing_sensitive() /obj/item/toy/eightball/haunted/MakeHaunted() return FALSE @@ -150,20 +150,19 @@ interact(user) return ..() -/obj/item/toy/eightball/haunted/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods = list(), message_range) - . = ..() - last_message = raw_message - /obj/item/toy/eightball/haunted/start_shaking(mob/user) // notify ghosts that someone's shaking a haunted eightball // and inform them of the message, (hopefully a yes/no question) - selected_message = last_message + selected_message = tgui_input_text(user, "What is your question?", "Eightball") || initial(selected_message) + if (!(src in user.held_items)) + return FALSE notify_ghosts( "[user] is shaking [src], hoping to get an answer to \"[selected_message]\"", source = src, header = "Magic eightball", click_interact = TRUE, ) + return TRUE /obj/item/toy/eightball/haunted/get_answer() var/top_amount = 0 @@ -211,16 +210,16 @@ data["question"] = selected_message data["answers"] = list() - for(var/pa in haunted_answers) - var/list/L = list() - L["answer"] = pa - L["amount"] = votes[pa] - L["selected"] = voted[user.ckey] + for(var/vote in haunted_answers) + var/list/answer_data = list() + answer_data["answer"] = vote + answer_data["amount"] = votes[vote] + answer_data["selected"] = voted[user.ckey] - data["answers"] += list(L) + data["answers"] += list(answer_data) return data -/obj/item/toy/eightball/haunted/ui_act(action, params) +/obj/item/toy/eightball/haunted/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 764e2fc6173bf..433b528fbcebd 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -47,6 +47,8 @@ var/cooling_power = 2 /// Icon state when inside a tank holder. var/tank_holder_icon_state = "holder_extinguisher" + ///Icon state when inside an extinguisher cabinet. + var/cabinet_icon_state = "extinguisher_common" /obj/item/extinguisher/Initialize(mapload) . = ..() @@ -84,6 +86,7 @@ max_water = 30 sprite_name = "miniFE" dog_fashion = null + cabinet_icon_state = "extinguisher_mini" /obj/item/extinguisher/mini/empty starting_water = FALSE @@ -141,6 +144,7 @@ ) sprite_name = "foam_extinguisher" precision = TRUE + cabinet_icon_state = "extinguisher_adv" max_water = 100 /obj/item/extinguisher/advanced/empty diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 38e4c840694f5..8a8f26b2c8995 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -77,7 +77,7 @@ icon_state = "metalh2_axe0" base_icon_state = "metalh2_axe" name = "metallic hydrogen axe" - desc = "A lightweight crowbar with an extreme sharp fire axe head attached. It trades it's hefty as a weapon by making it easier to carry around when holstered to suits without having to sacrifice your backpack." + desc = "A lightweight crowbar with an extreme sharp fire axe head attached. It trades its heft as a weapon by making it easier to carry around when holstered to suits without having to sacrifice your backpack." force_unwielded = 5 force_wielded = 15 demolition_mod = 2 diff --git a/code/game/objects/items/food/bait.dm b/code/game/objects/items/food/bait.dm index 047a8a7cd58ce..f31eb44f308eb 100644 --- a/code/game/objects/items/food/bait.dm +++ b/code/game/objects/items/food/bait.dm @@ -60,9 +60,23 @@ */ /obj/item/food/bait/doughball/synthetic name = "synthetic doughball" - icon_state = "doughball" + icon_state = "doughball_blue" preserved_food = TRUE /obj/item/food/bait/doughball/synthetic/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_OMNI_BAIT, INNATE_TRAIT) + +///Found in the can of omni-baits, only available from the super fishing toolbox, from the fishing mystery box. +/obj/item/food/bait/doughball/synthetic/super + name = "super-doughball" + desc = "No fish will be able to resist this." + bait_quality = TRAIT_GREAT_QUALITY_BAIT + +///Used by the advanced fishing rod +/obj/item/food/bait/doughball/syntethic/unconsumable + +/obj/item/food/bait/doughball/synthetic/unconsumable/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_BAIT_UNCONSUMABLE, INNATE_TRAIT) + diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm index 0b443554bb3b6..3bcb35376ab88 100644 --- a/code/game/objects/items/food/cake.dm +++ b/code/game/objects/items/food/cake.dm @@ -521,6 +521,7 @@ foodtypes = GRAIN | SUGAR | DAIRY slice_type = /obj/item/food/cakeslice/clown_slice crafting_complexity = FOOD_COMPLEXITY_5 + crafted_food_buff = /datum/status_effect/food/trait/waddle /obj/item/food/cakeslice/clown_slice name = "clown cake slice" @@ -534,6 +535,7 @@ tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) foodtypes = GRAIN | SUGAR | DAIRY crafting_complexity = FOOD_COMPLEXITY_5 + crafted_food_buff = /datum/status_effect/food/trait/waddle /obj/item/food/cake/trumpet name = "spaceman's cake" diff --git a/code/game/objects/items/food/donkpocket.dm b/code/game/objects/items/food/donkpocket.dm index d4b4636f15c9b..b21149da8d044 100644 --- a/code/game/objects/items/food/donkpocket.dm +++ b/code/game/objects/items/food/donkpocket.dm @@ -259,3 +259,105 @@ ) tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1) foodtypes = GRAIN + +/obj/item/food/donkpocket/deluxe + name = "\improper Donk-pocket Deluxe" + desc = "Donk Co's latest product. Its recipe is a closely guarded secret." + icon_state = "donkpocketdeluxe" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/protein = 2, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/medicine/omnizine = 2, + ) + tastes = list("quality meat" = 2, "dough" = 2, "raw fanciness" = 1) + foodtypes = GRAIN | MEAT + crafting_complexity = FOOD_COMPLEXITY_4 + + warm_type = /obj/item/food/donkpocket/warm/deluxe + var/static/list/deluxe_added_reagents = list( + /datum/reagent/medicine/omnizine = 8, + ) + +/obj/item/food/donkpocket/deluxe/make_bakeable() + AddComponent(/datum/component/bakeable, warm_type, rand(baking_time_short, baking_time_long), TRUE, TRUE, deluxe_added_reagents) + +/obj/item/food/donkpocket/deluxe/make_microwaveable() + AddElement(/datum/element/microwavable, warm_type, deluxe_added_reagents) + +/obj/item/food/donkpocket/warm/deluxe + name = "warm Donk-pocket Deluxe" + desc = "Donk Co's latest product. It's crispy warm and oh-so perfectly toasted. Damn, that's a good looking Donk." + icon_state = "donkpocketdeluxe" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/protein = 2, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/medicine/omnizine = 10, + ) + tastes = list("quality meat" = 2, "dough" = 2, "fanciness" = 1) + foodtypes = GRAIN | MEAT | FRIED + +/obj/item/food/donkpocket/deluxe/nocarb + name = "/improper Meat-pocket" + desc = "The food of choice for the carnivorous traitor." + icon_state = "donkpocketdeluxenocarb" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/protein = 3, + /datum/reagent/medicine/omnizine = 2, + ) + tastes = list("raw meat" = 2, "more meat" = 2, "no carbs" = 1) + foodtypes = MEAT | RAW + crafting_complexity = FOOD_COMPLEXITY_4 + + warm_type = /obj/item/food/donkpocket/warm/deluxe/nocarb + +/obj/item/food/donkpocket/deluxe/meat/make_bakeable() + AddComponent(/datum/component/bakeable, warm_type, rand(baking_time_short, baking_time_long), TRUE, TRUE, deluxe_added_reagents) + +/obj/item/food/donkpocket/deluxe/meat/make_microwaveable() + AddElement(/datum/element/microwavable, warm_type, deluxe_added_reagents) + +/obj/item/food/donkpocket/warm/deluxe/nocarb + name = "warm Meat-pocket" + desc = "The warm food of choice for the carnivorous traitor." + icon_state = "donkpocketdeluxenocarb" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/protein = 3, + /datum/reagent/medicine/omnizine = 10, + ) + tastes = list("meat" = 2, "more meat" = 2, "no carbs" = 1) + foodtypes = MEAT + +/obj/item/food/donkpocket/deluxe/vegan + name = "/improper Donk-roll" + desc = "The classic station snack, now with rice! Certified vegan and cruelty free by the Animal Liberation Front." + icon_state = "donkpocketdeluxevegan" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 3, + /datum/reagent/medicine/omnizine = 2, + ) + tastes = list("rice patty" = 2, "dough" = 2, "peppery kick" = 1) + foodtypes = GRAIN | VEGETABLES + crafting_complexity = FOOD_COMPLEXITY_4 + +/obj/item/food/donkpocket/deluxe/vegan/make_bakeable() + AddComponent(/datum/component/bakeable, warm_type, rand(baking_time_short, baking_time_long), TRUE, TRUE, deluxe_added_reagents) + +/obj/item/food/donkpocket/deluxe/vegan/make_microwaveable() + AddElement(/datum/element/microwavable, warm_type, deluxe_added_reagents) + +/obj/item/food/donkpocket/warm/deluxe/vegan + name = "warm Donk-roll" + desc = "The classic station snack, now with rice! It's been fried to perfection." + icon_state = "donkpocketdeluxevegan" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 3, + /datum/reagent/medicine/omnizine = 10, + ) + tastes = list("rice patty" = 2, "fried dough" = 2, "peppery kick" = 1) + foodtypes = GRAIN | VEGETABLES diff --git a/code/game/objects/items/food/egg.dm b/code/game/objects/items/food/egg.dm index b669e16b103cd..bcc61e721e211 100644 --- a/code/game/objects/items/food/egg.dm +++ b/code/game/objects/items/food/egg.dm @@ -277,6 +277,7 @@ GLOBAL_VAR_INIT(chicks_from_eggs, 0) foodtypes = MEAT | BREAKFAST | DAIRY venue_value = FOOD_PRICE_CHEAP crafting_complexity = FOOD_COMPLEXITY_2 + crafted_food_buff = /datum/status_effect/food/speech/french /obj/item/food/omelette/attackby(obj/item/item, mob/user, params) if(istype(item, /obj/item/kitchen/fork)) diff --git a/code/game/objects/items/food/lizard.dm b/code/game/objects/items/food/lizard.dm index 47b5ff7510916..2048c997ef9ad 100644 --- a/code/game/objects/items/food/lizard.dm +++ b/code/game/objects/items/food/lizard.dm @@ -156,6 +156,7 @@ desc = "Another example of cultural crossover between lizards and humans, desert snail escargot is closer to the Roman dish cocleas than the contemporary French escargot. It's a common street food in the desert cities." icon = 'icons/obj/food/lizard.dmi' icon_state = "lizard_escargot" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/nutriment/vitamin = 4, @@ -188,6 +189,7 @@ desc = "One of the many human foods to make its way to the lizards was french fries, which are called poms-franzisks in Draconic. When topped with barbecued meat and sauce, they make a hearty meal." icon = 'icons/obj/food/lizard.dmi' icon_state = "lizard_fries" + trash_type = /obj/item/plate food_reagents = list( /datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/protein = 6, @@ -887,7 +889,7 @@ /obj/item/food/burger/rootrib name = "rootrib" - desc = "An elusive rib shaped burger with limited availablity across the galaxy. Now meeting subhuman requirements." + desc = "An elusive rib shaped burger with limited availability across the galaxy. Now meeting subhuman requirements." icon_state = "rootrib" icon = 'icons/obj/food/lizard.dmi' food_reagents = list( diff --git a/code/game/objects/items/food/martian.dm b/code/game/objects/items/food/martian.dm index 7ceaf1878176c..748610457ec41 100644 --- a/code/game/objects/items/food/martian.dm +++ b/code/game/objects/items/food/martian.dm @@ -102,6 +102,7 @@ desc = "A spice paste from Indonesia, used widely in cooking throughout South East Asia." icon = 'icons/obj/food/martian.dmi' icon_state = "sambal" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment/vitamin = 5, /datum/reagent/consumable/capsaicin = 2 @@ -519,7 +520,7 @@ crafting_complexity = FOOD_COMPLEXITY_3 /obj/item/food/takoyaki/russian - name = "russian takoyaki" + name = "Russian takoyaki" desc = "A dangerous twist on a classic dish, that makes for the perfect cover for evading the police." icon = 'icons/obj/food/martian.dmi' icon_state = "russian_takoyaki" @@ -535,7 +536,7 @@ /obj/item/food/takoyaki/taco name = "tacoyaki" - desc = "Straight outta Mars' most innovative street food stands, it's tacoyaki- trading octopus for taco meat and corn, and worcestershire sauce for queso. ¡Tan sabroso!" + desc = "Straight outta Mars' most innovative street food stands, it's tacoyaki- trading octopus for taco meat and corn, and Worcestershire sauce for queso. ¡Tan sabroso!" icon = 'icons/obj/food/martian.dmi' icon_state = "tacoyaki" food_reagents = list( diff --git a/code/game/objects/items/food/meatdish.dm b/code/game/objects/items/food/meatdish.dm index 537c7688d2dd4..298ab54c78204 100644 --- a/code/game/objects/items/food/meatdish.dm +++ b/code/game/objects/items/food/meatdish.dm @@ -34,6 +34,37 @@ foodtypes = SEAFOOD eatverbs = list("bite", "chew", "gnaw", "swallow", "chomp") w_class = WEIGHT_CLASS_SMALL + starting_reagent_purity = 1.0 + +/obj/item/food/fishmeat/quality + name = "quality fish fillet" + desc = "A fillet of some precious fish meat." + food_reagents = list( + /datum/reagent/consumable/nutriment/protein = 4, + /datum/reagent/consumable/nutriment/vitamin = 3, + ) + bite_consumption = 7 + crafting_complexity = FOOD_COMPLEXITY_1 + +/obj/item/food/fishmeat/quality/Initialize(mapload) + . = ..() + AddElement(/datum/element/quality_food_ingredient, FOOD_COMPLEXITY_1) + +/obj/item/food/fishmeat/salmon + name = "salmon fillet" + desc = "a chunky, fatty fillet of salmon meat." + icon_state = "salmon" + food_reagents = list( + /datum/reagent/consumable/nutriment/protein = 4, + /datum/reagent/consumable/nutriment/vitamin = 3, + /datum/reagent/consumable/nutriment/fat/oil = 2, + ) + bite_consumption = 4.5 + crafting_complexity = FOOD_COMPLEXITY_1 + +/obj/item/food/fishmeat/salmon/Initialize(mapload) + . = ..() + AddElement(/datum/element/quality_food_ingredient, FOOD_COMPLEXITY_1) /obj/item/food/fishmeat/carp name = "carp fillet" @@ -88,6 +119,7 @@ name = "donkfillet" desc = "The dreaded donkfish fillet. No sane spaceman would eat this, and it does not get better when cooked." icon_state = "donkfillet" + starting_reagent_purity = 0.3 /obj/item/food/fishmeat/octopus name = "octopus tentacle" @@ -498,7 +530,7 @@ w_class = WEIGHT_CLASS_SMALL crafting_complexity = FOOD_COMPLEXITY_1 -///Exists purely for the crafting recipe (because itll take subtypes) +///Exists purely for the crafting recipe (because it'll take subtypes) /obj/item/food/patty/plain /obj/item/food/patty/human @@ -893,9 +925,10 @@ /obj/item/food/beef_stroganoff name = "beef stroganoff" - desc = "A russian dish that consists of beef and sauce. Really popular in japan, or at least that's what my animes would allude to." + desc = "A Russian dish that consists of beef and sauce. Really popular in Japan, or at least that's what my animes would allude to." icon = 'icons/obj/food/meat.dmi' icon_state = "beefstroganoff" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment/protein = 16, /datum/reagent/consumable/nutriment/vitamin = 4, @@ -1074,7 +1107,7 @@ crafting_complexity = FOOD_COMPLEXITY_5 /obj/item/food/full_english - name = "full english breakfast" + name = "full English breakfast" desc = "A hearty plate with all the trimmings, representing the pinnacle of the breakfast art." icon = 'icons/obj/food/meat.dmi' icon_state = "full_english" diff --git a/code/game/objects/items/food/meatslab.dm b/code/game/objects/items/food/meatslab.dm index a5fe073e56f3f..ed391a57bd255 100644 --- a/code/game/objects/items/food/meatslab.dm +++ b/code/game/objects/items/food/meatslab.dm @@ -150,7 +150,7 @@ blood_decal_type = null /obj/item/food/meat/slab/human/mutant/skeleton/make_processable() - return //skeletons dont have cutlets + return //skeletons don't have cutlets /obj/item/food/meat/slab/human/mutant/zombie name = "meat (rotten)" @@ -353,7 +353,7 @@ /obj/item/food/meat/rawbacon name = "raw piece of bacon" desc = "A raw piece of bacon." - icon_state = "baconb" + icon_state = "bacon" bite_consumption = 2 food_reagents = list( /datum/reagent/consumable/nutriment/protein = 2, @@ -369,7 +369,7 @@ /obj/item/food/meat/bacon name = "piece of bacon" desc = "A delicious piece of bacon." - icon_state = "baconcookedb" + icon_state = "baconcooked" food_reagents = list( /datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/consumable/nutriment/vitamin = 1, diff --git a/code/game/objects/items/food/mexican.dm b/code/game/objects/items/food/mexican.dm index 396e351ff4bde..fa66db1450c8f 100644 --- a/code/game/objects/items/food/mexican.dm +++ b/code/game/objects/items/food/mexican.dm @@ -196,12 +196,14 @@ w_class = WEIGHT_CLASS_SMALL venue_value = FOOD_PRICE_LEGENDARY crafting_complexity = FOOD_COMPLEXITY_5 + crafted_food_buff = /datum/status_effect/food/trait/ashstorm_immune /obj/item/food/chipsandsalsa name = "chips and salsa" desc = "Some tortilla chips with a cup of zesty salsa. Highly addictive!" icon = 'icons/obj/food/mexican.dmi' icon_state = "chipsandsalsa" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/capsaicin = 2, @@ -331,6 +333,7 @@ desc = "A not-so liquid salsa made of pineapples, tomatoes, onions, and chilis. Makes for delightfully contrasting flavors." icon = 'icons/obj/food/mexican.dmi' icon_state = "pineapple_salsa" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 6, diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm index 31ac87c0ff690..26852066bae28 100644 --- a/code/game/objects/items/food/misc.dm +++ b/code/game/objects/items/food/misc.dm @@ -16,6 +16,87 @@ juice_typepath = /datum/reagent/consumable/watermelonjuice w_class = WEIGHT_CLASS_SMALL +/obj/item/food/watermelonmush + name = "watermelon mush" + desc = "A plop of watery goodness." + icon = 'icons/obj/service/hydroponics/harvest.dmi' + icon_state = "watermelonpulp" + food_reagents = list( + /datum/reagent/water = 2, + /datum/reagent/consumable/nutriment/vitamin = 0.1, + /datum/reagent/consumable/nutriment = 0.5, + ) + tastes = list("watermelon" = 1) + foodtypes = FRUIT + food_flags = FOOD_FINGER_FOOD + juice_typepath = /datum/reagent/consumable/watermelonjuice + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/holymelonslice + name = "holymelon slice" + desc = "A slice of holy goodness." + icon = 'icons/obj/service/hydroponics/harvest.dmi' + icon_state = "holymelonslice" + food_reagents = list( + /datum/reagent/water/holywater = 0.5, + /datum/reagent/consumable/nutriment/vitamin = 0.2, + /datum/reagent/consumable/nutriment = 1, + ) + tastes = list("holymelon" = 1) + foodtypes = FRUIT + food_flags = FOOD_FINGER_FOOD + juice_typepath = /datum/reagent/water/holywater + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/holymelonmush + name = "holymelon mush" + desc = "A plop of holy goodness." + icon = 'icons/obj/service/hydroponics/harvest.dmi' + icon_state = "holymelonpulp" + food_reagents = list( + /datum/reagent/water/holywater = 1, + /datum/reagent/consumable/nutriment/vitamin = 0.1, + /datum/reagent/consumable/nutriment = 0.5, + ) + tastes = list("holymelon" = 1) + foodtypes = FRUIT + food_flags = FOOD_FINGER_FOOD + juice_typepath = /datum/reagent/water/holywater + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/barrelmelonslice + name = "barrelmelon slice" + desc = "A slice of beery goodness." + icon = 'icons/obj/service/hydroponics/harvest.dmi' + icon_state = "barrelmelonslice" + food_reagents = list( + /datum/reagent/consumable/ethanol/beer = 1, + /datum/reagent/consumable/nutriment/vitamin = 0.2, + /datum/reagent/consumable/nutriment = 1, + ) + tastes = list("beer" = 1) + foodtypes = FRUIT + food_flags = FOOD_FINGER_FOOD + juice_typepath = /datum/reagent/consumable/ethanol/beer + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/barrelmelonmush + name = "barrelmelon mush" + desc = "A plop of beery goodness." + icon = 'icons/obj/service/hydroponics/harvest.dmi' + icon_state = "barrelmelonpulp" + food_reagents = list( + /datum/reagent/consumable/ethanol/beer = 2, + /datum/reagent/consumable/nutriment/vitamin = 0.1, + /datum/reagent/consumable/nutriment = 0.5, + ) + tastes = list("beer" = 1) + foodtypes = FRUIT + food_flags = FOOD_FINGER_FOOD + juice_typepath = /datum/reagent/consumable/ethanol/beer + w_class = WEIGHT_CLASS_SMALL + + /obj/item/food/appleslice name = "apple slice" desc = "The perfect after-school snack." diff --git a/code/game/objects/items/food/monkeycube.dm b/code/game/objects/items/food/monkeycube.dm index a364a251a8344..02882bb3776f4 100644 --- a/code/game/objects/items/food/monkeycube.dm +++ b/code/game/objects/items/food/monkeycube.dm @@ -82,7 +82,7 @@ /obj/item/food/monkeycube/gorilla name = "gorilla cube" - desc = "A Waffle Co. brand gorilla cube. Now with extra molecules!" + desc = "A Waffle Corp. brand gorilla cube. Now with extra molecules!" bite_consumption = 20 food_reagents = list( /datum/reagent/monkey_powder = 30, diff --git a/code/game/objects/items/food/moth.dm b/code/game/objects/items/food/moth.dm index b2d9dfdb8fe37..367a3f29b5cc4 100644 --- a/code/game/objects/items/food/moth.dm +++ b/code/game/objects/items/food/moth.dm @@ -9,6 +9,7 @@ Herbs are one such addition, and are particularly beloved." icon = 'icons/obj/food/moth.dmi' icon_state = "herby_cheese" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list(/datum/reagent/consumable/nutriment/protein = 6) tastes = list("cheese" = 1, "herbs" = 1) foodtypes = DAIRY | VEGETABLES @@ -461,6 +462,7 @@ it's just sorta what it's always been called." icon = 'icons/obj/food/moth.dmi' icon_state = "hua_mulan_congee" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 10, @@ -476,6 +478,7 @@ desc = "Polenta loaded with cheese, served with a few discs of fried eggplant and some tomato sauce. Lække!" icon = 'icons/obj/food/moth.dmi' icon_state = "fried_eggplant_polenta" + trash_type = /obj/item/reagent_containers/cup/bowl food_reagents = list( /datum/reagent/consumable/nutriment/protein = 12, /datum/reagent/consumable/nutriment/vitamin = 6, diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm index 1024e44c625f3..0b96101a99d51 100644 --- a/code/game/objects/items/food/pastries.dm +++ b/code/game/objects/items/food/pastries.dm @@ -67,7 +67,6 @@ name = "waffles" desc = "Mmm, waffles." icon_state = "waffles" - trash_type = /obj/item/trash/waffles food_reagents = list( /datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 2, @@ -85,7 +84,6 @@ name = "\improper Soylent Green" desc = "Not made of people. Honest." //Totally people. icon_state = "soylent_green" - trash_type = /obj/item/trash/waffles food_reagents = list( /datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2, @@ -100,7 +98,6 @@ name = "\improper Soylent Virdians" desc = "Not made of people. Honest." //Actually honest for once. icon_state = "soylent_yellow" - trash_type = /obj/item/trash/waffles food_reagents = list( /datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2, @@ -115,7 +112,6 @@ name = "roffle waffles" desc = "Waffles from Roffle. Co." icon_state = "rofflewaffles" - trash_type = /obj/item/trash/waffles bite_consumption = 4 food_reagents = list( /datum/reagent/consumable/nutriment = 8, @@ -327,6 +323,20 @@ tastes = list("cake" = 3, "blue cherry" = 1) crafting_complexity = FOOD_COMPLEXITY_3 +/obj/item/food/jupitercupcake + name = "jupiter-cup-cake" + desc = "A static dessert." + icon_state = "jupitercupcake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/nutriment/vitamin = 2, + /datum/reagent/consumable/caramel = 3, + /datum/reagent/consumable/liquidelectricity/enriched = 3, + ) + tastes = list("cake" = 3, "caramel" = 2, "zap" = 1) + crafting_complexity = FOOD_COMPLEXITY_3 + crafted_food_buff = /datum/status_effect/food/trait/shockimmune + /obj/item/food/honeybun name = "honey bun" desc = "A sticky pastry bun glazed with honey." diff --git a/code/game/objects/items/food/pie.dm b/code/game/objects/items/food/pie.dm index e57759915208d..4a44f5e5cb6fd 100644 --- a/code/game/objects/items/food/pie.dm +++ b/code/game/objects/items/food/pie.dm @@ -11,7 +11,7 @@ crafting_complexity = FOOD_COMPLEXITY_2 /// type is spawned 5 at a time and replaces this pie when processed by cutting tool var/obj/item/food/pieslice/slice_type - /// so that the yield can change if it isnt 5 + /// so that the yield can change if it isn't 5 var/yield = 5 /obj/item/food/pie/make_processable() @@ -316,6 +316,7 @@ ) tastes = list("nothing" = 3) foodtypes = GRAIN + crafted_food_buff = /datum/status_effect/food/trait/mute /obj/item/food/pie/berrytart name = "berry tart" diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm index 71dd87af8e183..bdaab0a72851f 100644 --- a/code/game/objects/items/food/pizza.dm +++ b/code/game/objects/items/food/pizza.dm @@ -169,7 +169,7 @@ /obj/item/food/pizza/vegetable name = "vegetable pizza" - desc = "No one of Tomatos Sapiens were harmed during making this pizza." + desc = "No one of Tomatoes Sapiens were harmed during making this pizza." icon_state = "vegetablepizza" food_reagents = list( /datum/reagent/consumable/nutriment = 25, diff --git a/code/game/objects/items/food/snacks.dm b/code/game/objects/items/food/snacks.dm index cb64c6df52204..722663cf265e0 100644 --- a/code/game/objects/items/food/snacks.dm +++ b/code/game/objects/items/food/snacks.dm @@ -400,7 +400,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types()) /obj/item/food/semki name = "\improper Semki Sunflower Seeds" - desc = "A pack of roasted sunflower seeds. Beloved by space russians and babushka alike." + desc = "A pack of roasted sunflower seeds. Beloved by space Russians and babushka alike." icon_state = "semki" trash_type = /obj/item/trash/semki food_reagents = list( diff --git a/code/game/objects/items/food/spaghetti.dm b/code/game/objects/items/food/spaghetti.dm index cab4a62a29f3b..bf1fca9332a08 100644 --- a/code/game/objects/items/food/spaghetti.dm +++ b/code/game/objects/items/food/spaghetti.dm @@ -249,3 +249,17 @@ tastes = list("noodles" = 5, "fried tofu" = 4, "lime" = 2, "peanut" = 3, "onion" = 2) foodtypes = GRAIN | VEGETABLES | NUTS | FRUIT crafting_complexity = FOOD_COMPLEXITY_4 + +/obj/item/food/spaghetti/carbonara + name = "spaghetti carbonara" + desc = "Silky eggs, crispy pork, cheesy bliss. Mamma mia!" + icon_state = "carbonara" + food_reagents = list( + /datum/reagent/consumable/nutriment = 10, + /datum/reagent/consumable/nutriment/protein = 6, + /datum/reagent/consumable/nutriment/vitamin = 4, + ) + tastes = list("spaghetti" = 1, "parmigiano reggiano" = 1, "guanciale" = 1) + foodtypes = GRAIN | MEAT | DAIRY + crafting_complexity = FOOD_COMPLEXITY_4 + crafted_food_buff = /datum/status_effect/food/speech/italian diff --git a/code/game/objects/items/granters/crafting/advanced_donk_recipes.dm b/code/game/objects/items/granters/crafting/advanced_donk_recipes.dm new file mode 100644 index 0000000000000..1ba2502f37eec --- /dev/null +++ b/code/game/objects/items/granters/crafting/advanced_donk_recipes.dm @@ -0,0 +1,21 @@ + +/obj/item/book/granter/crafting_recipe/donk_secret_recipe + name = "Donk Co. Secret Recipe" + desc = "Documents detailing how to make several Donk Co. branded prototypes." + crafting_recipe_types = list( + /datum/crafting_recipe/food/donkpocket/deluxe, + /datum/crafting_recipe/food/donkpocket/deluxe/nocarb, + /datum/crafting_recipe/food/donkpocket/deluxe/vegan, + ) + icon = 'icons/obj/service/bureaucracy.dmi' + icon_state = "docs_part" + uses = INFINITY + remarks = list( + "It's written in code...", + "Decyphering...", + "Studying...", + "Got to get the steps in order...", + "The six basic food groups...", + "The secret formula!", + "Three different variants...", + ) diff --git a/code/game/objects/items/granters/magic/knock.dm b/code/game/objects/items/granters/magic/knock.dm index 11bdfeeadbfa2..0e4aaf9ee6c4d 100644 --- a/code/game/objects/items/granters/magic/knock.dm +++ b/code/game/objects/items/granters/magic/knock.dm @@ -9,7 +9,7 @@ "Slow down, book. I still haven't finished this page...", "The book won't stop moving!", "I think this is hurting the spine of the book...", - "I can't get to the next page, it's stuck t- I'm good, it just turned to the next page on it's own.", + "I can't get to the next page, it's stuck t- I'm good, it just turned to the next page on its own.", "Yeah, staff of doors does the same thing. Go figure...", ) diff --git a/code/game/objects/items/granters/magic/lightning_bolt.dm b/code/game/objects/items/granters/magic/lightning_bolt.dm index 3e3cbade46fa6..9fb6494bcc38c 100644 --- a/code/game/objects/items/granters/magic/lightning_bolt.dm +++ b/code/game/objects/items/granters/magic/lightning_bolt.dm @@ -13,4 +13,3 @@ "UNLIMITED power? Well... maybe if I practice...", "Wait until they're grouped up...", ) - diff --git a/code/game/objects/items/grenades/_grenade.dm b/code/game/objects/items/grenades/_grenade.dm index ec16b4c22fe95..a9fe7e65809ab 100644 --- a/code/game/objects/items/grenades/_grenade.dm +++ b/code/game/objects/items/grenades/_grenade.dm @@ -17,15 +17,17 @@ obj_flags = CONDUCTS_ELECTRICITY slot_flags = ITEM_SLOT_BELT max_integrity = 40 + pickup_sound = 'sound/items/grenade_pick_up.ogg' + drop_sound = 'sound/items/grenade_drop.ogg' /// Bitfields which prevent the grenade from detonating if set. Includes ([GRENADE_DUD]|[GRENADE_USED]) var/dud_flags = NONE ///Is this grenade currently armed? var/active = FALSE - ///Is it a cluster grenade? We dont wanna spam admin logs with these. + ///Is it a cluster grenade? We don't wanna spam admin logs with these. var/type_cluster = FALSE ///How long it takes for a grenade to explode after being armed var/det_time = 5 SECONDS - ///Will this state what it's det_time is when examined? + ///Will this state what its det_time is when examined? var/display_timer = TRUE ///Used in botch_check to determine how a user's clumsiness affects that user's ability to prime a grenade correctly. var/clumsy_check = GRENADE_CLUMSY_FUMBLE @@ -46,7 +48,7 @@ var/shrapnel_type /// the higher this number, the more projectiles are created as shrapnel var/shrapnel_radius - ///Did we add the component responsible for spawning sharpnel to this? + ///Did we add the component responsible for spawning shrapnel to this? var/shrapnel_initialized /obj/item/grenade/Initialize(mapload) @@ -59,7 +61,7 @@ playsound(src, 'sound/items/eatfood.ogg', 50, TRUE) arm_grenade(user, det_time) user.transferItemToLoc(src, user, TRUE)//>eat a grenade set to 5 seconds >rush captain - sleep(det_time)//so you dont die instantly + sleep(det_time)//so you don't die instantly return dud_flags ? SHAME : BRUTELOSS /obj/item/grenade/atom_deconstruct(disassembled = TRUE) diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 2c01ad53edee9..5aadc9fbb3f23 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -35,7 +35,6 @@ set_wires(new /datum/wires/explosive/chem_grenade(src)) /obj/item/grenade/chem_grenade/Destroy(force) - QDEL_NULL(wires) QDEL_NULL(landminemode) QDEL_LIST(beakers) return ..() @@ -502,7 +501,7 @@ /obj/item/grenade/chem_grenade/ez_clean name = "cleaner grenade" - desc = "Waffle Co.-brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." + desc = "Waffle Corp. brand foaming space cleaner. In a special applicator for rapid cleaning of wide areas." stage = GRENADE_READY /obj/item/grenade/chem_grenade/ez_clean/Initialize(mapload) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 49f66b06896b8..c9090912cc7e6 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -51,8 +51,6 @@ set_wires(new /datum/wires/explosive/c4(src)) /obj/item/grenade/c4/Destroy() - qdel(wires) - set_wires(null) target = null return ..() diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm index 371ecee6ff803..cf752bf82accb 100644 --- a/code/game/objects/items/hand_items.dm +++ b/code/game/objects/items/hand_items.dm @@ -143,7 +143,7 @@ affix_desc = "on [target.p_their()] sensitive antennae" affix_desc_target = "on your highly sensitive antennae" brutal_noogie = TRUE - if(user.dna?.check_mutation(/datum/mutation/human/hulk)) + if(HAS_TRAIT(user, TRAIT_HULK)) prefix_desc = "sickeningly brutal" brutal_noogie = TRUE @@ -178,7 +178,7 @@ var/damage = rand(1, 5) if(HAS_TRAIT(target, TRAIT_ANTENNAE)) damage += rand(3,7) - if(user.dna?.check_mutation(/datum/mutation/human/hulk)) + if(HAS_TRAIT(user, TRAIT_HULK)) damage += rand(3,7) if(damage >= 5) @@ -532,6 +532,12 @@ color = COLOR_BLACK kiss_type = /obj/projectile/kiss/death +/obj/item/hand_item/kisser/syndie + name = "syndie kiss" + desc = "oooooo you like syndicate ur a syndiekisser" + color = COLOR_SYNDIE_RED + kiss_type = /obj/projectile/kiss/syndie + /obj/projectile/kiss name = "kiss" icon = 'icons/mob/simple/animal.dmi' @@ -543,13 +549,21 @@ damage_type = BRUTE damage = 0 // love can't actually hurt you armour_penetration = 100 // but if it could, it would cut through even the thickest plate + var/silent_blown = FALSE + +/obj/projectile/kiss/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile) /obj/projectile/kiss/fire(angle, atom/direct_target) - if(firer) + if(firer && !silent_blown) name = "[name] blown by [firer]" + return ..() /obj/projectile/kiss/Impact(atom/A) + def_zone = BODY_ZONE_HEAD // let's keep it PG, people + if(damage > 0 || !isliving(A)) // if we do damage or we hit a nonliving thing, we don't have to worry about a harmless hit because we can't wrongly do damage anyway return ..() @@ -603,7 +617,6 @@ living_target.visible_message("[living_target] [other_msg]", span_userdanger("Whoa! [self_msg]")) /obj/projectile/kiss/on_hit(atom/target, blocked, pierce_hit) - def_zone = BODY_ZONE_HEAD // let's keep it PG, people . = ..() if(isliving(target)) var/mob/living/living_target = target @@ -625,6 +638,18 @@ var/obj/item/organ/internal/heart/dont_go_breakin_my_heart = heartbreakee.get_organ_slot(ORGAN_SLOT_HEART) dont_go_breakin_my_heart.apply_organ_damage(999) +// Based on energy gun characteristics +/obj/projectile/kiss/syndie + name = "syndie kiss" + color = COLOR_SYNDIE_RED + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser + damage_type = BURN + armor_flag = LASER + armour_penetration = 0 + damage = 25 + wound_bonus = -20 + bare_wound_bonus = 40 + silent_blown = TRUE /obj/projectile/kiss/french name = "french kiss (is that a hint of garlic?)" diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index c5a68260abade..7edc000920454 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -48,6 +48,8 @@ breakouttime = 1 MINUTES armor_type = /datum/armor/restraints_handcuffs custom_price = PAYCHECK_COMMAND * 0.35 + pickup_sound = 'sound/items/handcuffs_pick_up.ogg' + drop_sound = 'sound/items/handcuffs_drop.ogg' ///How long it takes to handcuff someone var/handcuff_time = 4 SECONDS @@ -55,6 +57,8 @@ var/handcuff_time_mod = 1 ///Sound that plays when starting to put handcuffs on someone var/cuffsound = 'sound/weapons/handcuffs.ogg' + ///Sound that plays when restrain is successful + var/cuffsuccesssound = 'sound/items/handcuff_finish.ogg' ///If set, handcuffs will be destroyed on application and leave behind whatever this is set to. var/trashtype = null /// How strong the cuffs are. Weak cuffs can be broken with wirecutters or boxcutters. @@ -120,6 +124,7 @@ return apply_cuffs(victim, user, dispense = iscyborg(user)) + playsound(loc, cuffsuccesssound, 30, TRUE, -2) victim.visible_message( span_notice("[user] handcuffs [victim]."), @@ -195,6 +200,8 @@ custom_materials = list(/datum/material/iron= SMALL_MATERIAL_AMOUNT * 1.5, /datum/material/glass= SMALL_MATERIAL_AMOUNT * 0.75) breakouttime = 30 SECONDS cuffsound = 'sound/weapons/cablecuff.ogg' + pickup_sound = null + drop_sound = null restraint_strength = HANDCUFFS_TYPE_WEAK /obj/item/restraints/handcuffs/cable/Initialize(mapload, new_color) diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index 926131151e92b..049ea8928feff 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -38,10 +38,11 @@ /obj/item/holosign_creator/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!check_allowed_items(interacting_with, not_inside = TRUE)) return NONE + var/turf/target_turf = get_turf(interacting_with) var/obj/structure/holosign/target_holosign = locate(holosign_type) in target_turf + if(target_holosign) - qdel(target_holosign) return ITEM_INTERACT_BLOCKING if(target_turf.is_blocked_turf(TRUE)) //can't put holograms on a tile that has dense stuff return ITEM_INTERACT_BLOCKING @@ -51,7 +52,9 @@ if(LAZYLEN(signs) >= max_signs) balloon_alert(user, "max capacity!") return ITEM_INTERACT_BLOCKING + playsound(src, 'sound/machines/click.ogg', 20, TRUE) + if(creation_time) holocreator_busy = TRUE if(!do_after(user, creation_time, target = interacting_with)) @@ -62,6 +65,7 @@ return ITEM_INTERACT_BLOCKING if(target_turf.is_blocked_turf(TRUE)) //don't try to sneak dense stuff on our tile during the wait. return ITEM_INTERACT_BLOCKING + target_holosign = create_holosign(interacting_with, user) return ITEM_INTERACT_SUCCESS @@ -105,15 +109,15 @@ /obj/item/holosign_creator/security name = "security holobarrier projector" - desc = "A holographic projector that creates holographic security barriers." + desc = "A holographic projector that creates holographic security barriers. You can remotely open barriers with it." icon_state = "signmaker_sec" holosign_type = /obj/structure/holosign/barrier - creation_time = 3 SECONDS + creation_time = 2 SECONDS max_signs = 6 /obj/item/holosign_creator/engineering name = "engineering holobarrier projector" - desc = "A holographic projector that creates holographic engineering barriers." + desc = "A holographic projector that creates holographic engineering barriers. You can remotely open barriers with it." icon_state = "signmaker_engi" holosign_type = /obj/structure/holosign/barrier/engineering creation_time = 1 SECONDS diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index 687b8db014e04..b8f55b0085529 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -109,7 +109,7 @@ /** * Merges two explosive implants together, adding the stats of the latter to the former before qdeling the latter implant. * kept_implant = the implant that is kept - * stat_implant = the implant which has it's stats added to kept_implant, before being deleted. + * stat_implant = the implant which has its stats added to kept_implant, before being deleted. */ /obj/item/implant/explosive/proc/merge_implants(obj/item/implant/explosive/kept_implant, obj/item/implant/explosive/stat_implant) kept_implant.explosion_devastate += stat_implant.explosion_devastate diff --git a/code/game/objects/items/implants/implant_mindshield.dm b/code/game/objects/items/implants/implant_mindshield.dm index 67b1f4c6d92ff..9f7e507f1c343 100644 --- a/code/game/objects/items/implants/implant_mindshield.dm +++ b/code/game/objects/items/implants/implant_mindshield.dm @@ -20,7 +20,7 @@ if(!.) return FALSE if(target.mind) - if((SEND_SIGNAL(target.mind, COMSIG_PRE_MINDSHIELD_IMPLANT, user) & COMPONENT_MINDSHIELD_RESISTED) || target.mind.unconvertable) + if((SEND_SIGNAL(target.mind, COMSIG_PRE_MINDSHIELD_IMPLANT, user) & COMPONENT_MINDSHIELD_RESISTED)) if(!silent) target.visible_message(span_warning("[target] seems to resist the implant!"), span_warning("You feel something interfering with your mental conditioning, but you resist it!")) removed(target, TRUE) @@ -30,7 +30,7 @@ if(prob(1) || check_holidays(APRIL_FOOLS)) target.say("I'm out! I quit! Whose kidneys are these?", forced = "They're out! They quit! Whose kidneys do they have?") - ADD_TRAIT(target, TRAIT_MINDSHIELD, IMPLANT_TRAIT) + target.add_traits(list(TRAIT_MINDSHIELD, TRAIT_UNCONVERTABLE), IMPLANT_TRAIT) target.sec_hud_set_implants() if(!silent) to_chat(target, span_notice("You feel a sense of peace and security. You are now protected from brainwashing.")) @@ -42,7 +42,7 @@ return FALSE if(isliving(target)) var/mob/living/L = target - REMOVE_TRAIT(L, TRAIT_MINDSHIELD, IMPLANT_TRAIT) + target.remove_traits(list(TRAIT_MINDSHIELD, TRAIT_UNCONVERTABLE), IMPLANT_TRAIT) L.sec_hud_set_implants() if(target.stat != DEAD && !silent) to_chat(target, span_boldnotice("Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing.")) diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index 5f833e3264875..50302173a796f 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -55,7 +55,7 @@ return data -/obj/machinery/implantchair/ui_act(action, params) +/obj/machinery/implantchair/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -191,7 +191,7 @@ objective = tgui_input_text(user, "What order do you want to imprint on [C]?", "Brainwashing", max_length = 120) message_admins("[ADMIN_LOOKUPFLW(user)] set brainwash machine objective to '[objective]'.") user.log_message("set brainwash machine objective to '[objective]'.", LOG_GAME) - if(HAS_TRAIT(C, TRAIT_MINDSHIELD)) + if(HAS_MIND_TRAIT(C, TRAIT_UNCONVERTABLE)) return FALSE brainwash(C, objective) message_admins("[ADMIN_LOOKUPFLW(user)] brainwashed [key_name_admin(C)] with objective '[objective]'.") diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index d74bb7aa8d10e..2404974d69970 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -81,9 +81,9 @@ return /obj/item/inducer/attackby(obj/item/used_item, mob/user) + var/obj/item/stock_parts/power_store/our_cell = get_cell() if(istype(used_item, /obj/item/stock_parts/power_store)) if(opened) - var/obj/item/stock_parts/power_store/our_cell = get_cell() if(isnull(our_cell)) if(!user.transferItemToLoc(used_item, src)) return @@ -95,6 +95,15 @@ to_chat(user, span_warning("[src] already has \a [our_cell] installed!")) return + if (istype(used_item, /obj/item/stack/sheet/mineral/plasma) && !isnull(our_cell)) + if(our_cell.charge == our_cell.maxcharge) + balloon_alert(user, "already fully charged!") + return + used_item.use(1) + our_cell.give(1.5 * STANDARD_CELL_CHARGE) + balloon_alert(user, "cell recharged") + return + if(cantbeused(user)) return @@ -187,7 +196,7 @@ opened = TRUE /obj/item/inducer/orderable - cell_type = /obj/item/stock_parts/power_store/cell/inducer_supply + cell_type = /obj/item/stock_parts/power_store/battery/upgraded opened = FALSE /obj/item/inducer/sci diff --git a/code/game/objects/items/inspector.dm b/code/game/objects/items/inspector.dm index b73917bfba8b6..4aff1f03388ab 100644 --- a/code/game/objects/items/inspector.dm +++ b/code/game/objects/items/inspector.dm @@ -8,7 +8,7 @@ */ /obj/item/inspector name = "\improper N-spect scanner" - desc = "Central Command standard issue inspection device. Can perform either wide area scans that central command can use to verify the security of the station, or detailed scans to determine if an item is contraband." + desc = "Central Command standard issue inspection device. Can perform either wide area scans that central command can use to verify the security of the station, or detailed scan. Can scan people for contraband on their person or items being contraband." icon = 'icons/obj/devices/scanner.dmi' icon_state = "inspector" worn_icon_state = "salestagger" @@ -20,6 +20,7 @@ interaction_flags_click = NEED_DEXTERITY throw_range = 1 throw_speed = 1 + COOLDOWN_DECLARE(scanning_person) //Cooldown for scanning a carbon ///How long it takes to print on time each mode, ordered NORMAL, FAST, HONK var/list/time_list = list(5 SECONDS, 1 SECONDS, 0.1 SECONDS) ///Which print time mode we're on. @@ -91,7 +92,7 @@ if(!cell_cover_open) . += "Its cell cover is closed. It looks like it could be pried out, but doing so would require an appropriate tool." return - . += "It's cell cover is open, exposing the cell slot. It looks like it could be pried in, but doing so would require an appropriate tool." + . += "Its cell cover is open, exposing the cell slot. It looks like it could be pried in, but doing so would require an appropriate tool." if(!cell) . += "The slot for a cell is empty." else @@ -106,18 +107,28 @@ if(!cell || !cell.use(INSPECTOR_ENERGY_USAGE_LOW)) balloon_alert(user, "check cell!") return ITEM_INTERACT_BLOCKING - if(!isitem(interacting_with)) - return ITEM_INTERACT_BLOCKING - var/obj/item/contraband_item = interacting_with - var/contraband_status = contraband_item.is_contraband() - if((!contraband_status && scans_correctly) || (contraband_status && !scans_correctly)) + + if(iscarbon(interacting_with)) //Prevents insta scanning people + if(!COOLDOWN_FINISHED(src, scanning_person)) + return ITEM_INTERACT_BLOCKING + + visible_message(span_warning("[user] starts scanning [interacting_with] with [src]")) + to_chat(interacting_with, span_userdanger("[user] is trying to scan you for contraband!")) + balloon_alert_to_viewers("scanning...") + playsound(src, 'sound/effects/genetics.ogg', 40, FALSE) + COOLDOWN_START(src, scanning_person, 4 SECONDS) + if(!do_after(user, 4 SECONDS, interacting_with)) + return ITEM_INTERACT_BLOCKING + + if(contraband_scan(interacting_with, user)) + playsound(src, 'sound/machines/uplinkerror.ogg', 40) + balloon_alert(user, "contraband detected!") + return ITEM_INTERACT_SUCCESS + else playsound(src, 'sound/machines/ping.ogg', 20) balloon_alert(user, "clear") return ITEM_INTERACT_SUCCESS - playsound(src, 'sound/machines/uplinkerror.ogg', 40) - balloon_alert(user, "contraband detected!") - return ITEM_INTERACT_SUCCESS /obj/item/inspector/add_context(atom/source, list/context, obj/item/held_item, mob/user) var/update_context = FALSE @@ -145,6 +156,29 @@ return CONTEXTUAL_SCREENTIP_SET return NONE +/** + * Scans the carbon or item for contraband. + * + * Arguments: + * - scanned - what or who is scanned? + * - user - who is performing the scanning? + */ +/obj/item/inspector/proc/contraband_scan(scanned, user) + if(iscarbon(scanned)) + var/mob/living/carbon/scanned_carbon = scanned + for(var/obj/item/content in scanned_carbon.get_all_contents_skipping_traits(TRAIT_CONTRABAND_BLOCKER)) + var/contraband_content = content.is_contraband() + if((contraband_content && scans_correctly) || (!contraband_content && !scans_correctly)) + return TRUE + + if(isitem(scanned)) + var/obj/item/contraband_item = scanned + var/contraband_status = contraband_item.is_contraband() + if((contraband_status && scans_correctly) || (!contraband_status && !scans_correctly)) + return TRUE + + return FALSE + /** * Create our report * diff --git a/code/game/objects/items/kirby_plants/kirbyplants.dm b/code/game/objects/items/kirby_plants/kirbyplants.dm index 26199bcd42c9c..3f2e007f05ba1 100644 --- a/code/game/objects/items/kirby_plants/kirbyplants.dm +++ b/code/game/objects/items/kirby_plants/kirbyplants.dm @@ -1,5 +1,5 @@ - /obj/item/kirbyplants + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "potted plant" icon = 'icons/obj/fluff/flora/plants.dmi' icon_state = "plant-01" diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 9a55b1cd57464..d3011e8680364 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -104,7 +104,7 @@ /obj/item/knife/kitchen/silicon name = "Kitchen Toolset" - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "sili_knife" desc = "A breakthrough in synthetic engineering, this tool is a knife programmed to dull when not used for cooking purposes, and can exchange the blade for a rolling pin" force = 0 diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm index 1a16b08eb866b..6ea12e72f347c 100644 --- a/code/game/objects/items/knives.dm +++ b/code/game/objects/items/knives.dm @@ -166,6 +166,19 @@ force = 15 throwforce = 15 +/obj/item/knife/combat/root + name = "cahn'root dagger" + icon = 'icons/obj/weapons/stabby.dmi' + icon_state = "rootdagger" + worn_icon_state = "root_dagger" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + inhand_icon_state = "rootshiv" + embed_type = /datum/embed_data/combat_knife/weak + desc = "A root dagger, deceptively sharp. Perfect to hide and stab someone with, or make a couple and throw them at enemies." + force = 15 + throwforce = 15 + /obj/item/knife/combat/bone name = "bone dagger" inhand_icon_state = "bone_dagger" @@ -177,7 +190,6 @@ desc = "A sharpened bone. The bare minimum in survival." embed_type = /datum/embed_data/combat_knife/weak obj_flags = parent_type::obj_flags & ~CONDUCTS_ELECTRICITY - slot_flags = NONE force = 15 throwforce = 15 custom_materials = null @@ -187,9 +199,11 @@ /obj/item/knife/combat/cyborg name = "cyborg knife" - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "knife_cyborg" + worn_icon_state = "knife_cyborg" //error sprite - this shouldn't have been dropped desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." + slot_flags = NONE //you can't put this in your mouth /obj/item/knife/shiv name = "glass shiv" @@ -279,3 +293,18 @@ /obj/item/knife/shiv/carrot/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] forcefully drives \the [src] into [user.p_their()] eye! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS + +/obj/item/knife/shiv/parsnip + name = "parsnip shiv" + icon_state = "parsnipshiv" + inhand_icon_state = "parsnipshiv" + desc = "Truly putting 'snip' in the 'parsnip', and it's not sub-par either!" + custom_materials = null + +/obj/item/knife/shiv/root + name = "cahn'root shiv" + icon_state = "rootshiv" + inhand_icon_state = "rootshiv" + desc = "A root sharpened into a shiv. A root source of someone's stab wounds soon, most likely." + custom_materials = null + diff --git a/code/game/objects/items/machine_wand.dm b/code/game/objects/items/machine_wand.dm index fd0c730fff811..75c765730f78b 100644 --- a/code/game/objects/items/machine_wand.dm +++ b/code/game/objects/items/machine_wand.dm @@ -24,6 +24,18 @@ bug_appearance = mutable_appearance('icons/effects/effects.dmi', "fly-surrounding", ABOVE_WINDOW_LAYER) register_context() +/obj/item/machine_remote/equipped(mob/user, slot, initial) + . = ..() + if(user.get_active_held_item() == src) + ADD_TRAIT(user, TRAIT_AI_ACCESS, HELD_ITEM_TRAIT) + ADD_TRAIT(user, TRAIT_SILICON_ACCESS, HELD_ITEM_TRAIT) + +/obj/item/machine_remote/dropped(mob/user, silent) + . = ..() + if(user.get_active_held_item() != src) + REMOVE_TRAIT(user, TRAIT_AI_ACCESS, HELD_ITEM_TRAIT) + REMOVE_TRAIT(user, TRAIT_SILICON_ACCESS, HELD_ITEM_TRAIT) + /obj/item/machine_remote/Destroy(force) . = ..() if(controlling_machine_or_bot) diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 253a40be69d54..4af5c4c923e75 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -318,6 +318,8 @@ bare_wound_bonus = 5 clumsy_knockdown_time = 15 SECONDS active = FALSE + pickup_sound = 'sound/items/stun_baton_pick_up.ogg' + drop_sound = 'sound/items/stun_baton_drop.ogg' /// The sound effecte played when our baton is extended. var/on_sound = 'sound/weapons/batonextend.ogg' @@ -436,6 +438,8 @@ light_on = FALSE light_color = LIGHT_COLOR_ORANGE light_power = 0.5 + pickup_sound = 'sound/items/stun_baton_pick_up.ogg' + drop_sound = 'sound/items/stun_baton_drop.ogg' var/throw_stun_chance = 35 @@ -504,7 +508,6 @@ /obj/item/melee/baton/security/Exited(atom/movable/mov_content) . = ..() if(mov_content == cell) - cell.update_appearance() cell = null active = FALSE update_appearance() diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 80b1e66b2e3e9..855484c3066d4 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -164,6 +164,47 @@ user.death(FALSE) REMOVE_TRAIT(src, TRAIT_NODROP, SABRE_SUICIDE_TRAIT) + +/obj/item/melee/parsnip_sabre + name = "parsnip sabre" + desc = "A weird, yet elegant weapon. Suprisingly sharp for something made from a parsnip." + icon = 'icons/obj/weapons/sword.dmi' + icon_state = "parsnip_sabre" + inhand_icon_state = "parsnip_sabre" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + force = 15 + throwforce = 10 + demolition_mod = 0.3 + w_class = WEIGHT_CLASS_BULKY + block_chance = 40 + armour_penetration = 40 + sharpness = SHARP_EDGED + attack_verb_continuous = list("slashes", "cuts") + attack_verb_simple = list("slash", "cut") + block_sound = 'sound/weapons/parry.ogg' + hitsound = 'sound/weapons/rapierhit.ogg' + custom_materials = null + wound_bonus = 5 + bare_wound_bonus = 15 + +/obj/item/melee/sabre/Initialize(mapload) + . = ..() + AddComponent(/datum/component/jousting) + +/obj/item/melee/parsnip_sabre/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) + if(attack_type == PROJECTILE_ATTACK || attack_type == LEAP_ATTACK) + final_block_chance = 0 //Don't bring a sword to a gunfight, and also you aren't going to really block someone full body tackling you with a sword + return ..() + +/obj/item/melee/parsnip_sabre/on_exit_storage(datum/storage/container) + . = ..() + playsound(container.parent, 'sound/items/unsheath.ogg', 25, TRUE) + +/obj/item/melee/parsnip_sabre/on_enter_storage(datum/storage/container) + . = ..() + playsound(container.parent, 'sound/items/sheath.ogg', 25, TRUE) + /obj/item/melee/beesword name = "The Stinger" desc = "Taken from a giant bee and folded over one thousand times in pure honey. Can sting through anything." diff --git a/code/game/objects/items/nitrium_crystals.dm b/code/game/objects/items/nitrium_crystals.dm deleted file mode 100644 index 828f437ade2fd..0000000000000 --- a/code/game/objects/items/nitrium_crystals.dm +++ /dev/null @@ -1,18 +0,0 @@ -/obj/item/nitrium_crystal - desc = "A weird brown crystal, it smokes when broken" - name = "nitrium crystal" - icon = 'icons/obj/pipes_n_cables/atmos.dmi' - icon_state = "nitrium_crystal" - var/cloud_size = 1 - -/obj/item/nitrium_crystal/attack_self(mob/user) - . = ..() - var/datum/effect_system/fluid_spread/smoke/chem/smoke = new - var/turf/location = get_turf(src) - create_reagents(5) - reagents.add_reagent(/datum/reagent/nitrium_low_metabolization, 3) - reagents.add_reagent(/datum/reagent/nitrium_high_metabolization, 2) - smoke.attach(location) - smoke.set_up(cloud_size, holder = src, location = location, carry = reagents, silent = TRUE) - smoke.start() - qdel(src) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 2e2e622ff6c1b..8f17704b8c776 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -5,7 +5,7 @@ /obj/item/pet_carrier name = "pet carrier" desc = "A big white-and-blue pet carrier. Good for carrying meat to the chef cute animals around." - icon = 'icons/obj/pet_carrier.dmi' + icon = 'icons/obj/storage/pet_carrier.dmi' base_icon_state = "pet_carrier" icon_state = "pet_carrier_open" inhand_icon_state = "pet_carrier" diff --git a/code/game/objects/items/pillow.dm b/code/game/objects/items/pillow.dm index f699dd34b3bfa..d92c317356ce2 100644 --- a/code/game/objects/items/pillow.dm +++ b/code/game/objects/items/pillow.dm @@ -2,7 +2,7 @@ /obj/item/pillow name = "pillow" desc = "A soft and fluffy pillow. You can smack someone with this!" - icon = 'icons/obj/bed.dmi' + icon = 'icons/obj/structures/bed.dmi' icon_state = "pillow_1_t" inhand_icon_state = "pillow_t" lefthand_file = 'icons/mob/inhands/items/pillow_lefthand.dmi' @@ -131,7 +131,7 @@ icon_state = "pillow_[variation]_t" inhand_icon_state = "pillow_t" -/// Puts a brick inside the pillow, increasing it's damage +/// Puts a brick inside the pillow, increasing its damage /obj/item/pillow/proc/become_bricked() bricked = TRUE var/datum/component/two_handed/two_handed = GetComponent(/datum/component/two_handed) @@ -166,7 +166,7 @@ body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET cold_protection = CHEST|GROIN|ARMS|LEGS //a pillow suit must be hella warm allowed = list(/obj/item/pillow) //moar pillow carnage - icon = 'icons/obj/bed.dmi' + icon = 'icons/obj/structures/bed.dmi' worn_icon = 'icons/mob/clothing/suits/pillow.dmi' icon_state = "pillow_suit" armor_type = /datum/armor/suit_pillow_suit @@ -189,7 +189,7 @@ name = "pillow hood" desc = "The final piece of the pillow juggernaut" body_parts_covered = HEAD - icon = 'icons/obj/bed.dmi' + icon = 'icons/obj/structures/bed.dmi' worn_icon = 'icons/mob/clothing/suits/pillow.dmi' icon_state = "pillowcase_hat" body_parts_covered = HEAD @@ -203,7 +203,7 @@ /obj/item/clothing/neck/pillow_tag name = "pillow tag" desc = "A price tag for the pillow. It appears to have space to fill names in." - icon = 'icons/obj/bed.dmi' + icon = 'icons/obj/structures/bed.dmi' icon_state = "pillow_tag" worn_icon = 'icons/mob/clothing/neck.dmi' worn_icon_state = "pillow_tag" diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 35e4c7ff72e9f..95f46da2e10ce 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -44,7 +44,7 @@ /obj/item/toy/plush/Initialize(mapload) . = ..() AddComponent(/datum/component/squeak, squeak_override) - AddElement(/datum/element/bed_tuckable, mapload, 6, -5, 90) + AddElement(/datum/element/bed_tuckable, mapload, 6, 7, 90) AddElement(/datum/element/toy_talk) //have we decided if Pinocchio goes in the blue or pink aisle yet? @@ -793,3 +793,10 @@ inhand_icon_state = "blahaj" attack_verb_continuous = list("gnaws", "gnashes", "chews") attack_verb_simple = list("gnaw", "gnash", "chew") + +/obj/item/toy/plush/donkpocket + name = "donk pocket plushie" + desc = "The stuffed companion of choice for the seasoned traitor." + icon_state = "donkpocket" + attack_verb_continuous = list("donks") + attack_verb_simple = list("donk") diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 7e7076e842c64..46b3d16dba475 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -40,7 +40,7 @@ name = "locked door" desc = "This door only opens under certain conditions. It looks virtually indestructible." icon = 'icons/obj/doors/puzzledoor/default.dmi' - icon_state = "door_closed" + icon_state = "closed" explosion_block = 3 heat_proof = TRUE max_integrity = 600 @@ -75,6 +75,24 @@ if(!isnull(puzzle_id) && uses_queuelinks) SSqueuelinks.add_to_queue(src, puzzle_id) AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) + update_appearance() + +/obj/machinery/door/puzzle/update_icon_state() + . = ..() + switch(animation) + if("opening") + icon_state = "opening" + if("closing") + icon_state = "closing" + else + icon_state = density ? "closed" : "open_top" + +/obj/machinery/door/puzzle/update_overlays() + . = ..() + if(!density) + // If we're open we layer the bit below us "above" any mobs so they can walk through + . += mutable_appearance(icon, "open_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, "open_bottom", src, ABOVE_MOB_LAYER) /obj/machinery/door/puzzle/MatchedLinks(id, list/partners) for(var/partner in partners) @@ -89,14 +107,14 @@ /obj/machinery/door/puzzle/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.0 SECONDS + return 0.7 SECONDS /obj/machinery/door/puzzle/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 0.8 SECONDS + return 0.5 SECONDS if(DOOR_OPENING_FINISHED) - return 1.0 SECONDS + return 0.7 SECONDS /obj/machinery/door/puzzle/Bumped(atom/movable/AM) return !density && ..() @@ -169,7 +187,7 @@ trigger_item = TRUE specific_item = /obj/structure/holobox removable_signaller = FALSE //Being a pressure plate subtype, this can also use signals. - roundstart_signaller_freq = FREQ_HOLOGRID_SOLUTION //Frequency is kept on it's own default channel however. + roundstart_signaller_freq = FREQ_HOLOGRID_SOLUTION //Frequency is kept on its own default channel however. active = TRUE trigger_delay = 10 protected = TRUE @@ -502,7 +520,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/puzzle/password/pin, 32) /obj/structure/puzzle_blockade/oneway name = "one-way gate" desc = "A wall of solid light, likely defending something important. Virtually indestructible." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "oneway" base_icon_state = "oneway" light_color = COLOR_BIOLUMINESCENCE_BLUE diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index cf254e447818d..2a815a9b02e02 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -16,6 +16,9 @@ item_flags = NO_MAT_REDEMPTION | NOBLUDGEON has_ammobar = TRUE actions_types = list(/datum/action/item_action/rcd_scan) + drop_sound = 'sound/items/handling/rcd_drop.ogg' + pickup_sound = 'sound/items/handling/rcd_pickup.ogg' + sound_vary = TRUE /// main category of currently selected design[Structures, Airlocks, Airlock Access] var/root_category @@ -29,7 +32,8 @@ var/construction_mode /// The path of the structure the rcd is currently creating var/atom/movable/rcd_design_path - + ///our currently selected direction + var/selected_direction /// Owner of this rcd. It can either be a construction console, player, or mech. var/atom/owner /// used by arcd, can this rcd work from a range @@ -65,8 +69,9 @@ var/list/design = GLOB.rcd_designs[root_category][design_category][1] rcd_design_path = design["[RCD_DESIGN_PATH]"] - design_title = initial(rcd_design_path.name) + design_title = RCD_SPRITESHEET_PATH_KEY(rcd_design_path) mode = design["[RCD_DESIGN_MODE]"] + construction_mode = mode GLOB.rcd_list += src @@ -77,6 +82,10 @@ GLOB.rcd_list -= src . = ..() +/obj/item/construction/rcd/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + playsound(src, SFX_TOOL_SWITCH, 20, TRUE) + /obj/item/construction/rcd/ui_action_click(mob/user, actiontype) if (!COOLDOWN_FINISHED(src, destructive_scan_cooldown)) to_chat(user, span_warning("[src] lets out a low buzz.")) @@ -95,15 +104,15 @@ mode = RCD_TURF user.visible_message(span_suicide("[user] sets the RCD to 'Wall' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide!")) if(checkResource(16, user)) // It takes 16 resources to construct a wall - var/success = T.rcd_act(user, src, list("[RCD_DESIGN_MODE]" = RCD_TURF, "[RCD_DESIGN_PATH]" = /turf/open/floor/plating/rcd)) + var/success = T.rcd_act(user, src, list(RCD_DESIGN_MODE = RCD_TURF, RCD_DESIGN_PATH = /turf/open/floor/plating/rcd, RCD_BUILD_DIRECTION = selected_direction)) T = get_turf(user) // If the RCD placed a floor instead of a wall, having a wall without plating under it is cursed // There isn't an easy programmatical way to check if rcd_act will place a floor or a wall, so just repeat using it for free if(success && isopenturf(T)) - T.rcd_act(user, src, list("[RCD_DESIGN_MODE]" = RCD_TURF, "[RCD_DESIGN_PATH]" = /turf/open/floor/plating/rcd)) + T.rcd_act(user, src, list(RCD_DESIGN_MODE = RCD_TURF, RCD_DESIGN_PATH = /turf/open/floor/plating/rcd)) useResource(16, user) activate() - playsound(loc, 'sound/machines/click.ogg', 50, 1) + playsound(get_turf(user), SFX_TOOL_SWITCH, 20, TRUE) user.gib(DROP_ALL_REMAINS) return MANUAL_SUICIDE @@ -119,8 +128,8 @@ * * [mob][user]- the user */ /obj/item/construction/rcd/proc/can_place(atom/target, list/rcd_results, mob/user) - var/rcd_mode = rcd_results["[RCD_DESIGN_MODE]"] - var/atom/movable/rcd_structure = rcd_results["[RCD_DESIGN_PATH]"] + var/rcd_mode = rcd_results[RCD_DESIGN_MODE] + var/atom/movable/rcd_structure = rcd_results[RCD_DESIGN_PATH] /** *For anything that does not go an a wall we have to make sure that turf is clear for us to put the structure on it *If we are just trying to destory something then this check is not nessassary @@ -134,17 +143,17 @@ var/is_full_tile = initial(window_type.fulltile) var/list/structures_to_ignore - if(istype(target, /obj/structure/grille)) + if(istype(target, /obj/structure/window_frame)) if(is_full_tile) //if we are trying to build full-tile windows we ignore the grille - structures_to_ignore = list(/obj/structure/grille) + structures_to_ignore = list(/obj/structure/window_frame) else //when building directional windows we ignore the grill and other directional windows - structures_to_ignore = list(/obj/structure/grille, /obj/structure/window) + structures_to_ignore = list(/obj/structure/window_frame, /obj/structure/window) else //for directional windows we ignore other directional windows as they can be in diffrent directions on the turf. structures_to_ignore = list(/obj/structure/window) //check if we can build our window on the grill if(target_turf.is_blocked_turf(exclude_mobs = !is_full_tile, source_atom = null, ignore_atoms = structures_to_ignore, type_list = TRUE)) - playsound(loc, 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(user), SFX_TOOL_SWITCH, 20, TRUE) balloon_alert(user, "something is blocking the turf") return FALSE @@ -155,7 +164,7 @@ else if(rcd_mode == RCD_TURF && rcd_structure == /turf/open/floor/plating/rcd && (!istype(target_turf, /turf/open/floor) || istype(target, /obj/structure/girder))) //if a player builds a wallgirder on top of himself manually with iron sheets he can't finish the wall if he is still on the girder. Exclude the girder itself when checking for other dense objects on the turf if(istype(target, /obj/structure/girder) && target_turf.is_blocked_turf(exclude_mobs = FALSE, source_atom = null, ignore_atoms = list(target))) - playsound(loc, 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(user), SFX_TOOL_SWITCH, 20, TRUE) balloon_alert(user, "something is on the girder!") return FALSE @@ -190,7 +199,7 @@ //check if the structure can fit on this turf if(target_turf.is_blocked_turf(exclude_mobs = ignore_mobs, source_atom = null, ignore_atoms = ignored_types, type_list = TRUE)) - playsound(loc, 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(user), SFX_TOOL_SWITCH, 20, TRUE) balloon_alert(user, "something is on the tile!") return FALSE @@ -213,8 +222,9 @@ var/list/rcd_results = target.rcd_vals(user, src) if(!rcd_results) return FALSE - rcd_results["[RCD_DESIGN_MODE]"] = mode - rcd_results["[RCD_DESIGN_PATH]"] = rcd_design_path + rcd_results[RCD_DESIGN_MODE] = mode + rcd_results[RCD_DESIGN_PATH] = rcd_design_path + rcd_results[RCD_BUILD_DIRECTION] = selected_direction var/delay = rcd_results["delay"] * delay_mod if ( @@ -228,10 +238,10 @@ var/target_name = target.name //Store this information before it gets mutated by the rcd. var/target_path = target.type - var/atom/design_path = rcd_results["[RCD_DESIGN_PATH]"] + var/atom/design_path = rcd_results[RCD_DESIGN_PATH] var/location = AREACOORD(target) if(_rcd_create_effect(target, user, delay, rcd_results)) - log_tool("[key_name(user)] used [src] to [rcd_results["[RCD_DESIGN_MODE]"] != RCD_DECONSTRUCT ? "construct [initial(design_path.name)]([design_path])" : "deconstruct [target_name]([target_path])"] at [location]") + log_tool("[key_name(user)] used [src] to [rcd_results[RCD_DESIGN_MODE] != RCD_DECONSTRUCT ? "construct [initial(design_path.name)]([design_path])" : "deconstruct [target_name]([target_path])"] at [location]") current_active_effects -= 1 @@ -245,7 +255,7 @@ * * rcd_results- list of params which contains the cost & build mode to create the structure */ /obj/item/construction/rcd/proc/_rcd_create_effect(atom/target, mob/user, delay, list/rcd_results) - var/obj/effect/constructing_effect/rcd_effect = new(get_turf(target), delay, rcd_results["[RCD_DESIGN_MODE]"], upgrade) + var/obj/effect/constructing_effect/rcd_effect = new(get_turf(target), delay, rcd_results[RCD_DESIGN_MODE], upgrade) //resource & structure placement sanity checks before & after delay along with beam effects if(!checkResource(rcd_results["cost"], user) || !can_place(target, rcd_results, user)) @@ -303,6 +313,8 @@ data["root_categories"] += category data["selected_root"] = root_category + var/datum/asset/spritesheet/rcd/rcd_sheet = get_asset_datum(/datum/asset/spritesheet/rcd) + data["categories"] = list() for(var/sub_category as anything in GLOB.rcd_designs[root_category]) var/list/target_category = GLOB.rcd_designs[root_category][sub_category] @@ -319,9 +331,9 @@ for(var/list/design as anything in target_category) var/atom/movable/design_path = design[RCD_DESIGN_PATH] - var/design_name = initial(design_path.name) - - designs += list(list("title" = design_name, "icon" = sanitize_css_class_name(design_name))) + var/design_name = RCD_SPRITESHEET_PATH_KEY(design_path) + var/icon_id = rcd_sheet.icon_size_id(sanitize_css_class_name(design_name)) + designs += list(list("title" = design_name, "icon" = sanitize_css_class_name(design_name), "icon_id" = icon_id)) data["categories"] += list(list("cat_name" = sub_category, "designs" = designs)) return data @@ -332,6 +344,7 @@ //main categories data["selected_category"] = design_category data["selected_design"] = design_title + data["selected_direction"] = dir2text(selected_direction) //merge airlock_electronics ui data with this var/list/airlock_data = airlock_electronics.ui_data(user) @@ -349,6 +362,11 @@ root_category = new_root update_static_data_for_all_viewers() + if("select_direction") + var/new_dir = text2dir(params["selected_direction"]) + selected_direction = (isnull(new_dir) || new_dir == selected_direction || !(new_dir in GLOB.cardinals)) ? null : new_dir + return TRUE + if("design") //read and validate params from UI var/category_name = params["category"] @@ -376,10 +394,10 @@ if(design == null) //not a valid design return TRUE design_category = category_name - mode = design["[RCD_DESIGN_MODE]"] + mode = design[RCD_DESIGN_MODE] construction_mode = mode - rcd_design_path = design["[RCD_DESIGN_PATH]"] - design_title = initial(rcd_design_path.name) + rcd_design_path = design[RCD_DESIGN_PATH] + design_title = RCD_SPRITESHEET_PATH_KEY(rcd_design_path) blueprint_changed = TRUE else diff --git a/code/game/objects/items/rcd/RLD.dm b/code/game/objects/items/rcd/RLD.dm index 2a99f535f42b5..510fe43a33321 100644 --- a/code/game/objects/items/rcd/RLD.dm +++ b/code/game/objects/items/rcd/RLD.dm @@ -36,9 +36,9 @@ ///reference to thr original icons var/static/list/original_options = list( "Color Pick" = icon(icon = 'icons/hud/radial.dmi', icon_state = "omni"), - "Glow Stick" = icon(icon = 'icons/obj/lighting.dmi', icon_state = "glowstick"), + "Glow Stick" = icon(icon = 'icons/obj/toys/toy.dmi', icon_state = "glowstick"), "Deconstruct" = icon(icon = 'icons/obj/tools.dmi', icon_state = "wrench"), - "Light Fixture" = icon(icon = 'icons/obj/lighting.dmi', icon_state = "ltube"), + "Light Fixture" = icon(icon = 'icons/obj/service/janitor.dmi', icon_state = "tube"), ) ///will contain the original icons modified with the color choice var/list/display_options = list() @@ -166,7 +166,7 @@ return ITEM_INTERACT_BLOCKING activate() var/obj/machinery/light/L = new /obj/machinery/light(get_turf(winner)) - L.setDir(get_dir(winner, interacting_with)) + L.setDir(get_dir(interacting_with, winner)) L.color = color_choice L.set_light_color(color_choice) return ITEM_INTERACT_SUCCESS diff --git a/code/game/objects/items/rcd/RPD.dm b/code/game/objects/items/rcd/RPD.dm index 41a962ed7e7de..cd97911c28df6 100644 --- a/code/game/objects/items/rcd/RPD.dm +++ b/code/game/objects/items/rcd/RPD.dm @@ -142,6 +142,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( /datum/pipe_info/meter icon_state = "meter" dirtype = PIPE_ONEDIR + all_layers = TRUE /datum/pipe_info/meter/New(label) name = label @@ -182,6 +183,9 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*37.5, /datum/material/glass=SHEET_MATERIAL_AMOUNT*18.75) armor_type = /datum/armor/item_pipe_dispenser resistance_flags = FIRE_PROOF + drop_sound = 'sound/items/handling/rpd_drop.ogg' + pickup_sound = 'sound/items/handling/rpd_pickup.ogg' + sound_vary = TRUE ///Sparks system used when changing device in the UI var/datum/effect_system/spark_spread/spark_system ///Direction of the device we are going to spawn, set up in the UI @@ -293,7 +297,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( /obj/item/pipe_dispenser/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] points the end of the RPD down [user.p_their()] throat and presses a button! It looks like [user.p_theyre()] trying to commit suicide...")) - playsound(get_turf(user), 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(user), SFX_TOOL_SWITCH, 20, TRUE) playsound(get_turf(user), RPD_USE_SOUND, 50, TRUE) return BRUTELOSS @@ -357,8 +361,9 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( data["init_directions"] = init_directions return data -/obj/item/pipe_dispenser/ui_act(action, params) +/obj/item/pipe_dispenser/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() + playsound(src, SFX_TOOL_SWITCH, 20, TRUE) if(.) return @@ -456,7 +461,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( . = TRUE if((mode & DESTROY_MODE) && istype(attack_target, /obj/item/pipe) || istype(attack_target, /obj/structure/disposalconstruct) || istype(attack_target, /obj/structure/c_transit_tube) || istype(attack_target, /obj/structure/c_transit_tube_pod) || istype(attack_target, /obj/item/pipe_meter) || istype(attack_target, /obj/structure/disposalpipe/broken)) - playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(src), SFX_TOOL_SWITCH, 20, TRUE) playsound(get_turf(src), RPD_USE_SOUND, 50, TRUE) qdel(attack_target) return @@ -478,7 +483,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( balloon_alert(user, "already configured for its directions!") return - playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(src), SFX_TOOL_SWITCH, 20, TRUE) // Something else could have changed the target's state while we were waiting in do_after // Most of the edge cases don't matter, but atmos components being able to have live connections not described by initializable directions sounds like a headache at best and an exploit at worst @@ -542,7 +547,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( if(isclosedturf(attack_target)) balloon_alert(user, "target is blocked!") return - playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(src), SFX_TOOL_SWITCH, 20, TRUE) if(do_after(user, disposal_build_speed, target = attack_target)) var/obj/structure/disposalconstruct/new_disposals_segment = new (attack_target, queued_pipe_type, queued_pipe_dir, queued_pipe_flipped) @@ -572,7 +577,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( balloon_alert(user, "something in the way!") return - playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) + playsound(get_turf(src), SFX_TOOL_SWITCH, 20, TRUE) if(do_after(user, transit_build_speed, target = attack_target)) playsound(get_turf(src), RPD_USE_SOUND, 50, TRUE) if(queued_pipe_type == /obj/structure/c_transit_tube_pod) @@ -619,7 +624,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( return FALSE if(!can_make_pipe) return FALSE - playsound(get_turf(src), 'sound/machines/click.ogg', 50, vary = TRUE) + playsound(get_turf(src), SFX_TOOL_SWITCH, 20, vary = TRUE) if(!continued_build && !do_after(user, atmos_build_speed, target = atom_to_target)) return FALSE if(!recipe.all_layers && (layer_to_build == 1 || layer_to_build == 5)) diff --git a/code/game/objects/items/rcd/RPLD.dm b/code/game/objects/items/rcd/RPLD.dm index 56452e2e452b1..e9a5fcc66dbc9 100644 --- a/code/game/objects/items/rcd/RPLD.dm +++ b/code/game/objects/items/rcd/RPLD.dm @@ -152,6 +152,10 @@ return data +/obj/item/construction/plumbing/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + playsound(src, SFX_TOOL_SWITCH, 20, TRUE) + /obj/item/construction/plumbing/handle_ui_act(action, params, datum/tgui/ui, datum/ui_state/state) switch(action) if("color") @@ -178,8 +182,6 @@ blueprint = design blueprint_changed = TRUE - playsound(src, 'sound/effects/pop.ogg', 50, vary = FALSE) - return TRUE diff --git a/code/game/objects/items/rcd/RSF.dm b/code/game/objects/items/rcd/RSF.dm index ef0be22acc476..ee85994143a00 100644 --- a/code/game/objects/items/rcd/RSF.dm +++ b/code/game/objects/items/rcd/RSF.dm @@ -30,7 +30,7 @@ RSF ///The cost of the object we are going to dispense var/dispense_cost = 0 w_class = WEIGHT_CLASS_NORMAL - ///An associated list of atoms and charge costs. This can contain a separate list, as long as it's associated item is an object + ///An associated list of atoms and charge costs. This can contain a separate list, as long as its associated item is an object ///The RSF item list below shows in the player facing ui in this order, this is why it isn't in alphabetical order, but instead sorted by category var/list/cost_by_item = list( /obj/item/reagent_containers/cup/glass/drinkingglass = 20, @@ -47,7 +47,7 @@ RSF /obj/item/pen = 50, /obj/item/cigarette = 10, ) - ///An associated list of fuel and it's value + ///An associated list of fuel and its value var/list/matter_by_item = list(/obj/item/rcd_ammo = 10,) ///A list of surfaces that we are allowed to place things on. var/list/allowed_surfaces = list(/turf/open/floor, /obj/structure/table) diff --git a/code/game/objects/items/rcd/RTD.dm b/code/game/objects/items/rcd/RTD.dm index 45b9c9e3687dd..52fd723691b87 100644 --- a/code/game/objects/items/rcd/RTD.dm +++ b/code/game/objects/items/rcd/RTD.dm @@ -135,7 +135,7 @@ /// re create the appearance /datum/overlay_info/proc/add_decal(turf/the_turf) - the_turf.AddElement(/datum/element/decal, icon, icon_state, direction, null, null, alpha, color, null, FALSE, null) + the_turf.AddElement(/datum/element/decal, icon, icon_state, direction, null, null, alpha, color, null, null, null, FALSE, null) /obj/item/construction/rtd/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index f25c022b5808a..232de4c461930 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -386,6 +386,7 @@ icon_state = "crusader" w_class = WEIGHT_CLASS_NORMAL armor_type = /datum/armor/shoes_plate + body_parts_covered = FEET|LEGS clothing_traits = list(TRAIT_NO_SLIP_WATER) cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT diff --git a/code/game/objects/items/robot/items/hypo.dm b/code/game/objects/items/robot/items/hypo.dm index 9a29ccbd9ef97..96a0c0d36b220 100644 --- a/code/game/objects/items/robot/items/hypo.dm +++ b/code/game/objects/items/robot/items/hypo.dm @@ -90,6 +90,9 @@ /datum/reagent/consumable/ethanol/fernet,\ ) +#define REAGENT_CONTAINER_INTERNAL "internal_beaker" +#define REAGENT_CONTAINER_BEVAPPARATUS "beverage_apparatus" + ///Borg Hypospray /obj/item/reagent_containers/borghypo name = "cyborg hypospray" @@ -222,7 +225,7 @@ /obj/item/reagent_containers/borghypo/attack_self(mob/user) ui_interact(user) -/obj/item/reagent_containers/borghypo/ui_act(action, params) +/obj/item/reagent_containers/borghypo/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -325,6 +328,7 @@ dispensed_temperature = WATER_MATTERSTATE_CHANGE_TEMP //Water stays wet, ice stays ice default_reagent_types = BASE_SERVICE_REAGENTS expanded_reagent_types = EXPANDED_SERVICE_REAGENTS + var/reagent_search_container = REAGENT_CONTAINER_BEVAPPARATUS /obj/item/reagent_containers/borghypo/borgshaker/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -332,6 +336,27 @@ ui = new(user, src, "BorgShaker", name) ui.open() +/obj/item/reagent_containers/borghypo/borgshaker/ui_act(action, params) + . = ..() + if(.) + return + var/mob/living/silicon/robot/user = usr + switch(action) + if("reaction_lookup") + if(!iscyborg(usr)) + return + if (reagent_search_container == REAGENT_CONTAINER_BEVAPPARATUS) + var/obj/item/borg/apparatus/beaker/service/beverage_apparatus = (locate() in user.model.modules) || (locate() in user.held_items) + if (!isnull(beverage_apparatus) && !isnull(beverage_apparatus.stored)) + beverage_apparatus.stored.reagents.ui_interact(user) + else if (reagent_search_container == REAGENT_CONTAINER_INTERNAL) + var/obj/item/reagent_containers/cup/beaker/large/internal_beaker = (locate() in user.model.modules) || (locate() in user.held_items) + if (!isnull(internal_beaker)) + internal_beaker.reagents.ui_interact(user) + if ("set_preferred_container") + reagent_search_container = params["value"] + return TRUE + /obj/item/reagent_containers/borghypo/borgshaker/ui_data(mob/user) var/list/drink_reagents = list() var/list/alcohol_reagents = list() @@ -354,6 +379,17 @@ data["sodas"] = drink_reagents data["alcohols"] = alcohol_reagents data["selectedReagent"] = selected_reagent?.name + data["reagentSearchContainer"] = reagent_search_container + + if(iscyborg(user)) + var/mob/living/silicon/robot/cyborg = user + var/obj/item/borg/apparatus/beaker/service/beverage_apparatus = (locate() in cyborg.model.modules) || (locate() in cyborg.held_items) + + if (isnull(beverage_apparatus)) + to_chat(user, span_warning("This unit has no beverage apparatus. This shouldn't be possible. Delete yourself, NOW!")) + data["apparatusHasItem"] = FALSE + else + data["apparatusHasItem"] = !isnull(beverage_apparatus.stored) return data /obj/item/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user) @@ -452,6 +488,8 @@ dispensed_temperature = WATER_MATTERSTATE_CHANGE_TEMP default_reagent_types = HACKED_SERVICE_REAGENTS +#undef REAGENT_CONTAINER_INTERNAL +#undef REAGENT_CONTAINER_BEVAPPARATUS #undef BASE_MEDICAL_REAGENTS #undef EXPANDED_MEDICAL_REAGENTS #undef HACKED_MEDICAL_REAGENTS diff --git a/code/game/objects/items/robot/items/storage.dm b/code/game/objects/items/robot/items/storage.dm index 2d91128adb68d..3e030a9bd8f23 100644 --- a/code/game/objects/items/robot/items/storage.dm +++ b/code/game/objects/items/robot/items/storage.dm @@ -41,6 +41,11 @@ stored.forceMove(get_turf(usr)) return +/obj/item/borg/apparatus/get_proxy_attacker_for(atom/target, mob/user) + if(stored) // Use the stored item if available + return stored + return ..() + /** * Attack_self will pass for the stored item. */ @@ -57,10 +62,6 @@ return CLICK_ACTION_SUCCESS /obj/item/borg/apparatus/pre_attack(atom/atom, mob/living/user, params) - if(stored) - stored.melee_attack_chain(user, atom, params) - return TRUE - if(istype(atom.loc, /mob/living/silicon/robot) || istype(atom.loc, /obj/item/robot_model) || HAS_TRAIT(atom, TRAIT_NODROP)) return ..() // Borgs should not be grabbing their own modules @@ -132,7 +133,6 @@ else . += "Nothing." - . += span_notice(" Right-clicking will splash the beaker on the ground.") . += span_notice(" Alt-click will drop the currently stored beaker. ") /obj/item/borg/apparatus/beaker/update_overlays() @@ -151,15 +151,6 @@ arm.pixel_y = arm.pixel_y - 5 . += arm -/// Secondary attack spills the content of the beaker. -/obj/item/borg/apparatus/beaker/pre_attack_secondary(atom/target, mob/living/silicon/robot/user) - var/obj/item/reagent_containers/stored_beaker = stored - if(!stored_beaker) - return ..() - stored_beaker.SplashReagents(drop_location(user)) - loc.visible_message(span_notice("[user] spills the contents of [stored_beaker] all over the ground.")) - return ..() - /obj/item/borg/apparatus/beaker/extra name = "secondary beaker storage apparatus" desc = "A supplementary beaker storage apparatus." diff --git a/code/game/objects/items/robot/items/tools.dm b/code/game/objects/items/robot/items/tools.dm index f16cd0844901d..fcdc43818dca7 100644 --- a/code/game/objects/items/robot/items/tools.dm +++ b/code/game/objects/items/robot/items/tools.dm @@ -288,7 +288,7 @@ /obj/item/borg/cyborg_omnitool/engineering name = "engineering omni-toolset" desc = "A set of engineering tools used by cyborgs to conduct various engineering tasks." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg" omni_toolkit = list( diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 25c83d1b9635a..7a8196799d87d 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -30,7 +30,7 @@ /// If the cyborg starts movement free and not under lockdown var/locomotion = TRUE - /// If the cyborg synchronizes it's laws with it's master AI + /// If the cyborg synchronizes its laws with its master AI var/lawsync = TRUE /// If the cyborg starts with a master AI var/aisync = TRUE @@ -409,7 +409,7 @@ data["lawsync"] = lawsync return data -/obj/item/robot_suit/ui_act(action, list/params) +/obj/item/robot_suit/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 9a3e45fac4213..e10f6778038b6 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -2,10 +2,10 @@ // Contains various borg upgrades. /obj/item/borg/upgrade - name = "borg upgrade module." + name = "borg upgrade module" desc = "Protected by FRM." - icon = 'icons/obj/devices/circuitry_n_data.dmi' - icon_state = "cyborg_upgrade" + icon = 'icons/mob/silicon/robot_items.dmi' + icon_state = "module_general" w_class = WEIGHT_CLASS_SMALL var/locked = FALSE var/installed = FALSE @@ -73,6 +73,7 @@ /obj/item/borg/upgrade/rename name = "cyborg reclassification board" desc = "Used to rename a cyborg." + icon = 'icons/obj/devices/circuitry_n_data.dmi' icon_state = "cyborg_upgrade1" var/heldname = "" one_use = TRUE @@ -99,7 +100,7 @@ /obj/item/borg/upgrade/disablercooler name = "cyborg rapid disabler cooling module" desc = "Used to cool a mounted disabler, increasing the potential current in it and thus its recharge rate." - icon_state = "cyborg_upgrade3" + icon_state = "module_security" require_model = TRUE model_type = list(/obj/item/robot_model/security) model_flags = BORG_MODEL_SECURITY @@ -134,7 +135,7 @@ /obj/item/borg/upgrade/thrusters name = "ion thruster upgrade" desc = "An energy-operated thruster system for cyborgs." - icon_state = "cyborg_upgrade3" + icon_state = "module_general" /obj/item/borg/upgrade/thrusters/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() @@ -156,7 +157,7 @@ /obj/item/borg/upgrade/diamond_drill name = "mining cyborg diamond drill" desc = "A diamond drill replacement for the mining model's standard drill." - icon_state = "cyborg_upgrade3" + icon_state = "module_miner" require_model = TRUE model_type = list(/obj/item/robot_model/miner) model_flags = BORG_MODEL_MINER @@ -167,7 +168,7 @@ /obj/item/borg/upgrade/soh name = "mining cyborg satchel of holding" desc = "A satchel of holding replacement for mining cyborg's ore satchel module." - icon_state = "cyborg_upgrade3" + icon_state = "module_miner" require_model = TRUE model_type = list(/obj/item/robot_model/miner) model_flags = BORG_MODEL_MINER @@ -178,7 +179,7 @@ /obj/item/borg/upgrade/tboh name = "janitor cyborg trash bag of holding" desc = "A trash bag of holding replacement for the janiborg's standard trash bag." - icon_state = "cyborg_upgrade3" + icon_state = "module_janitor" require_model = TRUE model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR @@ -189,7 +190,7 @@ /obj/item/borg/upgrade/amop name = "janitor cyborg advanced mop" desc = "An advanced mop replacement for the janiborg's standard mop." - icon_state = "cyborg_upgrade3" + icon_state = "module_janitor" require_model = TRUE model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR @@ -200,17 +201,27 @@ /obj/item/borg/upgrade/prt name = "janitor cyborg plating repair tool" desc = "A tiny heating device to repair burnt and damaged hull platings with." - icon_state = "cyborg_upgrade3" + icon_state = "module_janitor" require_model = TRUE model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR items_to_add = list(/obj/item/cautery/prt) +/obj/item/borg/upgrade/plunger + name = "janitor cyborg plunging tool" + desc = "An integrated cyborg retractable plunger. It's meant for plunging things, duh." + icon_state = "module_janitor" + require_model = TRUE + model_type = list(/obj/item/robot_model/janitor) + model_flags = BORG_MODEL_JANITOR + + items_to_add = list(/obj/item/plunger/cyborg) + /obj/item/borg/upgrade/syndicate name = "illegal equipment module" desc = "Unlocks the hidden, deadlier functions of a cyborg." - icon_state = "cyborg_upgrade3" + icon_state = "module_illegal" require_model = TRUE /obj/item/borg/upgrade/syndicate/Initialize(mapload) @@ -239,7 +250,7 @@ /obj/item/borg/upgrade/lavaproof name = "mining cyborg lavaproof chassis" desc = "An upgrade kit to apply specialized coolant systems and insulation layers to a mining cyborg's chassis, enabling them to withstand exposure to molten rock and liquid plasma." - icon_state = "cyborg_ash_tracks" + icon_state = "module_miner" resistance_flags = LAVA_PROOF | FIRE_PROOF | FREEZE_PROOF require_model = TRUE model_type = list(/obj/item/robot_model/miner) @@ -260,7 +271,7 @@ /obj/item/borg/upgrade/selfrepair name = "self-repair module" desc = "This module will repair the cyborg over time." - icon_state = "cyborg_upgrade5" + icon_state = "module_general" require_model = TRUE var/repair_amount = -1 /// world.time of next repair @@ -360,7 +371,7 @@ name = "medical cyborg hypospray advanced synthesiser" desc = "An upgrade to the Medical model cyborg's hypospray, allowing it \ to produce more advanced and complex medical reagents." - icon_state = "cyborg_upgrade3" + icon_state = "module_medical" require_model = TRUE model_type = list(/obj/item/robot_model/medical) model_flags = BORG_MODEL_MEDICAL @@ -389,7 +400,7 @@ name = "cyborg piercing hypospray" desc = "An upgrade to a cyborg's hypospray, allowing it to \ pierce armor and thick material." - icon_state = "cyborg_upgrade3" + icon_state = "module_medical" /obj/item/borg/upgrade/piercing_hypospray/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() @@ -419,8 +430,9 @@ /obj/item/borg/upgrade/surgery_omnitool name = "cyborg surgical omni-tool upgrade" desc = "An upgrade to the Medical model, upgrading the built-in \ - surgical omnitool, to be on par with advanced surgical tools" - icon_state = "cyborg_upgrade3" + surgical omnitool, to be on par with advanced surgical tools, allowing for faster surgery. \ + It also upgrades their scanner." + icon_state = "module_medical" require_model = TRUE model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL @@ -452,7 +464,7 @@ name = "cyborg engineering omni-tool upgrade" desc = "An upgrade to the Engineering model, upgrading the built-in \ engineering omnitool, to be on par with advanced engineering tools" - icon_state = "cyborg_upgrade3" + icon_state = "module_engineer" require_model = TRUE model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING @@ -479,7 +491,7 @@ name = "medical cyborg defibrillator" desc = "An upgrade to the Medical model, installing a built-in \ defibrillator, for on the scene revival." - icon_state = "cyborg_upgrade3" + icon_state = "module_medical" require_model = TRUE model_type = list(/obj/item/robot_model/medical) model_flags = BORG_MODEL_MEDICAL @@ -530,7 +542,7 @@ desc = "An upgrade to the Medical model, installing a processor \ capable of scanning surgery disks and carrying \ out procedures" - icon_state = "cyborg_upgrade3" + icon_state = "module_medical" require_model = TRUE model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL @@ -540,6 +552,7 @@ /obj/item/borg/upgrade/ai name = "B.O.R.I.S. module" desc = "Bluespace Optimized Remote Intelligence Synchronization. An uplink device which takes the place of an MMI in cyborg endoskeletons, creating a robotic shell controlled by an AI." + icon = 'icons/obj/devices/circuitry_n_data.dmi' icon_state = "boris" /obj/item/borg/upgrade/ai/action(mob/living/silicon/robot/borg, mob/living/user = usr) @@ -563,7 +576,7 @@ /obj/item/borg/upgrade/expand name = "borg expander" desc = "A cyborg resizer, it makes a cyborg huge." - icon_state = "cyborg_upgrade3" + icon_state = "module_general" /obj/item/borg/upgrade/expand/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() @@ -603,8 +616,7 @@ /obj/item/borg/upgrade/rped name = "engineering cyborg RPED" desc = "A rapid part exchange device for the engineering cyborg." - icon = 'icons/obj/storage/storage.dmi' - icon_state = "borgrped" + icon_state = "module_engineer" require_model = TRUE model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING @@ -614,6 +626,7 @@ /obj/item/borg/upgrade/inducer name = "engineering integrated power inducer" desc = "An integrated inducer that can charge a device's internal cell from power provided by the cyborg." + icon_state = "module_engineer" require_model = TRUE model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING @@ -638,8 +651,7 @@ /obj/item/borg/upgrade/pinpointer name = "medical cyborg crew pinpointer" desc = "A crew pinpointer module for the medical cyborg. Permits remote access to the crew monitor." - icon = 'icons/obj/devices/tracker.dmi' - icon_state = "pinpointer_crew" + icon_state = "module_medical" require_model = TRUE model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL @@ -676,7 +688,7 @@ /obj/item/borg/upgrade/transform name = "borg model picker (Standard)" desc = "Allows you to to turn a cyborg into a standard cyborg." - icon_state = "cyborg_upgrade3" + icon_state = "module_general" var/obj/item/robot_model/new_model = null /obj/item/borg/upgrade/transform/action(mob/living/silicon/robot/borg, mob/living/user = usr) @@ -687,13 +699,13 @@ /obj/item/borg/upgrade/transform/clown name = "borg model picker (Clown)" desc = "Allows you to to turn a cyborg into a clown, honk." - icon_state = "cyborg_upgrade3" + icon_state = "module_honk" new_model = /obj/item/robot_model/clown /obj/item/borg/upgrade/circuit_app name = "circuit manipulation apparatus" desc = "An engineering cyborg upgrade allowing for manipulation of circuit boards." - icon_state = "cyborg_upgrade3" + icon_state = "module_engineer" require_model = TRUE model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING @@ -703,7 +715,7 @@ /obj/item/borg/upgrade/beaker_app name = "beaker storage apparatus" desc = "A supplementary beaker storage apparatus for medical cyborgs." - icon_state = "cyborg_upgrade3" + icon_state = "module_medical" require_model = TRUE model_type = list(/obj/item/robot_model/medical) model_flags = BORG_MODEL_MEDICAL @@ -713,7 +725,7 @@ /obj/item/borg/upgrade/drink_app name = "glass storage apparatus" desc = "A supplementary drinking glass storage apparatus for service cyborgs." - icon_state = "cyborg_upgrade3" + icon_state = "module_service" require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE @@ -723,7 +735,7 @@ /obj/item/borg/upgrade/broomer name = "experimental push broom" desc = "An experimental push broom used for efficiently pushing refuse." - icon_state = "cyborg_upgrade3" + icon_state = "module_janitor" require_model = TRUE model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR @@ -733,7 +745,7 @@ /obj/item/borg/upgrade/condiment_synthesizer name = "Service Cyborg Condiment Synthesiser" desc = "An upgrade to the service model cyborg, allowing it to produce solid condiments." - icon_state = "cyborg_upgrade3" + icon_state = "module_service" require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE @@ -743,7 +755,7 @@ /obj/item/borg/upgrade/silicon_knife name = "Service Cyborg Kitchen Toolset" desc = "An upgrade to the service model cyborg, to help process foods." - icon_state = "cyborg_upgrade3" + icon_state = "module_service" require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE @@ -753,7 +765,7 @@ /obj/item/borg/upgrade/service_apparatus name = "Service Cyborg Service Apparatus" desc = "An upgrade to the service model cyborg, to help handle foods and paper." - icon_state = "cyborg_upgrade3" + icon_state = "module_service" require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE @@ -763,7 +775,7 @@ /obj/item/borg/upgrade/rolling_table name = "Service Cyborg Rolling Table Dock" desc = "An upgrade to the service model cyborg, to help provide mobile service." - icon_state = "cyborg_upgrade3" + icon_state = "module_service" require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE @@ -773,7 +785,7 @@ /obj/item/borg/upgrade/service_cookbook name = "Service Cyborg Cookbook" desc = "An upgrade to the service model cyborg, that lets them create more foods." - icon_state = "cyborg_upgrade3" + icon_state = "module_service" require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE diff --git a/code/game/objects/items/rollertable_dock.dm b/code/game/objects/items/rollertable_dock.dm index d0067e8c67596..a140d64d80f3c 100644 --- a/code/game/objects/items/rollertable_dock.dm +++ b/code/game/objects/items/rollertable_dock.dm @@ -1,7 +1,7 @@ /obj/item/rolling_table_dock name = "rolling table dock" desc = "A collapsed roller table that can be ejected for service on the go. Must be collected or replaced after use." - icon = 'icons/obj/smooth_structures/rollingtable.dmi' + icon = 'icons/obj/structures/smooth/rollingtable.dmi' icon_state = "rollingtable" var/obj/structure/table/rolling/loaded = null diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index a0f41574e4b47..709747efc6663 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -3,7 +3,7 @@ * * Items used for sharpening stuff * -* Whetstones can be used to increase an item's force, throw_force and wound_bonus and it's change it's sharpness to SHARP_EDGED. Whetstones do not work with energy weapons. Two-handed weapons will only get the throw_force bonus. A whetstone can only be used once. +* Whetstones can be used to increase an item's force, throw_force and wound_bonus and it changes its sharpness to SHARP_EDGED. Whetstones do not work with energy weapons. Two-handed weapons will only get the throw_force bonus. A whetstone can only be used once. * */ /obj/item/sharpener diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 1553f0e9c8f29..c980fe0dbb359 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -99,6 +99,15 @@ max_integrity = 55 w_class = WEIGHT_CLASS_NORMAL +/obj/item/shield/buckler/moonflower + name = "moonflower buckler" + desc = "A buckler made from a steel-cap reinforced moonflower." + icon_state = "moonflower_buckler" + inhand_icon_state = "moonflower_buckler" + block_chance = 40 + max_integrity = 40 + w_class = WEIGHT_CLASS_NORMAL + /obj/item/shield/kite name = "kite shield" desc = "Protect your internal organs with this almond shaped shield." @@ -140,6 +149,8 @@ shield_break_sound = 'sound/effects/glassbr3.ogg' shield_break_leftover = /obj/item/shard armor_type = /datum/armor/item_shield/riot + pickup_sound = 'sound/items/plastic_shield_pick_up.ogg' + drop_sound = 'sound/items/plastic_shield_drop.ogg' /obj/item/shield/riot/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index ff08886e7d3ed..dd2ab6008245c 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -1,7 +1,8 @@ /obj/item/target + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "shooting target" desc = "A shooting target." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/art/cardboard_cutout.dmi' icon_state = "target_h" density = FALSE max_integrity = 1800 diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index 96fbde554b79e..53e307e31d6e0 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -221,7 +221,7 @@ icon_state = "military_spear0" base_icon_state = "military_spear0" icon_prefix = "military_spear" - name = "military Javelin" + name = "military javelin" desc = "A stick with a seemingly blunt spearhead on its end. Looks like it might break bones easily." attack_verb_continuous = list("attacks", "pokes", "jabs") attack_verb_simple = list("attack", "poke", "jab") diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index 410724862f3b5..20c974ad0632c 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -2,7 +2,7 @@ /obj/item/stack/ore/bluespace_crystal name = "bluespace crystal" desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate." - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' icon_state = "bluespace_crystal" singular_name = "bluespace crystal" dye_color = DYE_COSMIC @@ -21,6 +21,8 @@ points = 0 refined_type = null merge_type = /obj/item/stack/ore/bluespace_crystal/refined + drop_sound = null //till I make a better one + pickup_sound = null /obj/item/stack/ore/bluespace_crystal/Initialize(mapload, new_amount, merge = TRUE, list/mat_override=null, mat_amt=1) . = ..() @@ -60,6 +62,8 @@ refined_type = null grind_results = list(/datum/reagent/bluespace = 10, /datum/reagent/silicon = 20) merge_type = /obj/item/stack/ore/bluespace_crystal/artificial + drop_sound = null //till I make a better one + pickup_sound = null //Polycrystals, aka stacks /obj/item/stack/sheet/bluespace_crystal @@ -79,6 +83,7 @@ material_type = /datum/material/bluespace var/crystal_type = /obj/item/stack/ore/bluespace_crystal/refined + /obj/item/stack/sheet/bluespace_crystal/attack_self(mob/user)// to prevent the construction menu from ever happening to_chat(user, span_warning("You cannot crush the polycrystal in-hand, try breaking one off.")) diff --git a/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm b/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm index e4b65e033975e..fbae20ead1d74 100644 --- a/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm +++ b/code/game/objects/items/stacks/golem_food/golem_hand_actions.dm @@ -7,7 +7,7 @@ /obj/item/gibtonite_hand name = "stabilised gibtonite fist" desc = "You had better launch this at something before it comes out the other end of your body." - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' icon_state = "Gibtonite ore" lefthand_file = 'icons/mob/inhands/golem_lefthand.dmi' righthand_file = 'icons/mob/inhands/golem_righthand.dmi' diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 5a8e1361c28c3..69dbe87cd5cc9 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -39,6 +39,9 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ cost = HALF_SHEET_MATERIAL_AMOUNT source = /datum/robot_energy_storage/material/iron merge_type = /obj/item/stack/rods + pickup_sound = 'sound/items/iron_rod_pick_up.ogg' + drop_sound = 'sound/items/metal_drop.ogg' + sound_vary = TRUE /datum/embed_data/rods embed_chance = 50 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index a9d71fa127abb..cb711105995bc 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -10,6 +10,7 @@ */ GLOBAL_LIST_INIT(glass_recipes, list ( \ new/datum/stack_recipe("directional window", /obj/structure/window/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \ + new/datum/stack_recipe("short directional window", /obj/structure/window/half/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \ new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \ new/datum/stack_recipe("glass shard", /obj/item/shard, time = 0, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC), \ new/datum/stack_recipe("glass tile", /obj/item/stack/tile/glass, 1, 4, 20, category = CAT_TILES) \ @@ -32,6 +33,8 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ cost = SHEET_MATERIAL_AMOUNT source = /datum/robot_energy_storage/material/glass sniffable = TRUE + pickup_sound = 'sound/items/glass_pick_up.ogg' + drop_sound = 'sound/items/glass_drop.ogg' /datum/armor/sheet_glass fire = 50 @@ -102,6 +105,8 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10) material_flags = NONE tableVariant = /obj/structure/table/glass/plasmaglass + pickup_sound = 'sound/items/glass_pick_up.ogg' + drop_sound = 'sound/items/glass_drop.ogg' /obj/item/stack/sheet/plasmaglass/fifty amount = 50 @@ -139,8 +144,10 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ */ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ new/datum/stack_recipe("windoor frame", /obj/structure/windoor_assembly, 5, time = 0, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \ + new/datum/stack_recipe("short windoor frame", /obj/structure/windoor_assembly/half, 5, time = 0, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \ null, \ new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \ + new/datum/stack_recipe("short directional reinforced window", /obj/structure/window/reinforced/half/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \ new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 2 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \ new/datum/stack_recipe("glass shard", /obj/item/shard, time = 10, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC), \ new/datum/stack_recipe("reinforced glass tile", /obj/item/stack/tile/rglass, 1, 4, 20, category = CAT_TILES) \ @@ -160,6 +167,8 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10) matter_amount = 6 tableVariant = /obj/structure/table/reinforced/rglass + pickup_sound = 'sound/items/glass_pick_up.ogg' + drop_sound = 'sound/items/glass_drop.ogg' /obj/item/stack/sheet/rglass/fifty amount = 50 @@ -198,6 +207,8 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ gulag_valid = TRUE matter_amount = 8 tableVariant = /obj/structure/table/reinforced/plasmarglass + pickup_sound = 'sound/items/glass_pick_up.ogg' + drop_sound = 'sound/items/glass_drop.ogg' /datum/armor/sheet_plasmarglass melee = 20 @@ -228,6 +239,8 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass tableVariant = /obj/structure/table/reinforced/titaniumglass + pickup_sound = 'sound/items/glass_pick_up.ogg' + drop_sound = 'sound/items/glass_drop.ogg' /obj/item/stack/sheet/titaniumglass/fifty amount = 50 @@ -258,6 +271,8 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass tableVariant = /obj/structure/table/reinforced/plastitaniumglass + pickup_sound = 'sound/items/glass_pick_up.ogg' + drop_sound = 'sound/items/glass_drop.ogg' /obj/item/stack/sheet/plastitaniumglass/fifty amount = 50 diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index fbd69dbd20d4b..10ce7e7fa1c12 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -5,6 +5,8 @@ inhand_icon_state = null novariants = TRUE merge_type = /obj/item/stack/sheet/animalhide + pickup_sound = 'sound/items/skin_pick_up.ogg' + drop_sound = 'sound/items/skin_drop.ogg' /obj/item/stack/sheet/animalhide/human name = "human skin" @@ -191,6 +193,8 @@ GLOBAL_LIST_INIT(carp_recipes, list ( \ icon_state = "sheet-leather" inhand_icon_state = null merge_type = /obj/item/stack/sheet/leather + pickup_sound = 'sound/items/skin_pick_up.ogg' + drop_sound = 'sound/items/skin_drop.ogg' GLOBAL_LIST_INIT(leather_recipes, list ( \ new/datum/stack_recipe("wallet", /obj/item/storage/wallet, 1, crafting_flags = NONE, category = CAT_CONTAINERS), \ @@ -235,12 +239,14 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ */ /obj/item/stack/sheet/sinew name = "watcher sinew" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' desc = "Long stringy filaments which presumably came from a watcher's wings." singular_name = "watcher sinew" icon_state = "sinew" novariants = TRUE merge_type = /obj/item/stack/sheet/sinew + drop_sound = 'sound/effects/meatslap.ogg' + pickup_sound = 'sound/effects/meatslap.ogg' /obj/item/stack/sheet/sinew/Initialize(mapload, new_amount, merge, list/mat_override, mat_amt) . = ..() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 0d4393efea6a4..114222b4312d0 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -444,7 +444,7 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \ /obj/item/stack/sheet/mineral/coal name = "coal" desc = "Someone's gotten on the naughty list." - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' icon_state = "slag" singular_name = "coal lump" merge_type = /obj/item/stack/sheet/mineral/coal diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 0ec790fe74349..ba0c10bc9f514 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -20,6 +20,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("bed", /obj/structure/bed, 2, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("double bed", /obj/structure/bed/double, 4, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ null, \ + new/datum/stack_recipe("window frame", /obj/structure/window_frame, 2, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND | CRAFT_APPLIES_MATS), \ new/datum/stack_recipe_list("office chairs", list( \ new/datum/stack_recipe("dark office chair", /obj/structure/chair/office, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("light office chair", /obj/structure/chair/office/light, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ @@ -124,7 +125,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/airalarm, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ - new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("extinguisher rack frame", /obj/item/wallframe/extinguisher_cabinet, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("light switch frame", /obj/item/wallframe/light_switch, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("sparker frame", /obj/item/wallframe/sparker, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ @@ -328,7 +329,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("cat house", /obj/structure/cat_house, 5, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ - new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ + new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying/rack, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ new/datum/stack_recipe("wooden barrel", /obj/structure/fermenting_barrel, 8, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_CONTAINERS), \ new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ @@ -385,6 +386,8 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ grind_results = list(/datum/reagent/cellulose = 20) //no lignocellulose or lignin reagents yet, walltype = /turf/closed/wall/mineral/wood stairs_type = /obj/structure/stairs/wood + pickup_sound = 'sound/items/wood_pick_up.ogg' + drop_sound = 'sound/items/wood_drop.ogg' /datum/armor/mineral_wood fire = 50 @@ -448,6 +451,8 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ grind_results = list(/datum/reagent/cellulose = 10) material_type = /datum/material/bamboo walltype = /turf/closed/wall/mineral/bamboo + drop_sound = null + pickup_sound = null /datum/armor/mineral_bamboo fire = 50 @@ -573,6 +578,8 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ grind_results = list(/datum/reagent/cellulose = 20) var/loom_result = /obj/item/stack/sheet/cloth var/loom_time = 1 SECONDS + drop_sound = 'sound/items/handling/cloth_drop.ogg' + pickup_sound = 'sound/items/handling/cloth_pickup.ogg' /obj/item/stack/sheet/cotton/Initialize(mapload) . = ..() @@ -678,6 +685,8 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ merge_type = /obj/item/stack/sheet/cardboard grind_results = list(/datum/reagent/cellulose = 10) material_type = /datum/material/cardboard + pickup_sound = 'sound/items/cardboard_pick_up.ogg' + drop_sound = 'sound/items/cardboard_drop.ogg' /obj/item/stack/sheet/cardboard/Initialize(mapload, new_amount, merge, list/mat_override, mat_amt) . = ..() @@ -809,6 +818,8 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ grind_results = list(/datum/reagent/carbon = 10) merge_type = /obj/item/stack/sheet/bone material_type = /datum/material/bone + drop_sound = null + pickup_sound = null /obj/item/stack/sheet/bone/Initialize(mapload, new_amount, merge, list/mat_override, mat_amt) . = ..() @@ -853,6 +864,8 @@ GLOBAL_LIST_INIT(plastic_recipes, list( throwforce = 7 material_type = /datum/material/plastic merge_type = /obj/item/stack/sheet/plastic + pickup_sound = 'sound/items/plastic_pick_up.ogg' + drop_sound = 'sound/items/plastic_drop.ogg' /obj/item/stack/sheet/plastic/fifty amount = 50 @@ -879,6 +892,8 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra resistance_flags = FLAMMABLE grind_results = list(/datum/reagent/cellulose = 20) material_type = /datum/material/paper + drop_sound = null + pickup_sound = null /obj/item/stack/sheet/paperframes/get_main_recipes() . = ..() @@ -900,6 +915,9 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra merge_type = /obj/item/stack/sheet/meat material_type = /datum/material/meat material_modifier = 1 //None of that wussy stuff + drop_sound = null + pickup_sound = null + walltype = /turf/closed/wall/mineral/meat /obj/item/stack/sheet/meat/fifty amount = 50 @@ -917,6 +935,9 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra merge_type = /obj/item/stack/sheet/pizza material_type = /datum/material/pizza material_modifier = 1 + drop_sound = null + pickup_sound = null + walltype = /turf/closed/wall/mineral/pizza /obj/item/stack/sheet/pizza/fifty amount = 50 @@ -934,6 +955,8 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra merge_type = /obj/item/stack/sheet/sandblock material_type = /datum/material/sand material_modifier = 1 + drop_sound = SFX_STONE_DROP + pickup_sound = SFX_STONE_PICKUP /obj/item/stack/sheet/sandblock/fifty amount = 50 diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 8b81953528ee1..568fd2f49aa29 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -13,6 +13,8 @@ attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "smash") novariants = FALSE material_flags = MATERIAL_EFFECTS + pickup_sound = 'sound/items/metal_pick_up.ogg' + drop_sound = 'sound/items/metal_drop.ogg' var/sheettype = null //this is used for girders in the creation of walls/false walls ///If true, this is worth points in the gulag labour stacker var/gulag_valid = FALSE @@ -22,6 +24,8 @@ var/walltype /// whether this sheet can be sniffed by the material sniffer var/sniffable = FALSE + /// this makes pickup and drop sounds vary + sound_vary = TRUE /obj/item/stack/sheet/Initialize(mapload, new_amount, merge = TRUE, list/mat_override=null, mat_amt=1) . = ..() diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index c748ba4c494a1..6246136d2687b 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -34,7 +34,7 @@ var/merge_type = null /// The weight class the stack has at amount > 2/3rds max_amount var/full_w_class = WEIGHT_CLASS_NORMAL - /// Determines whether the item should update it's sprites based on amount. + /// Determines whether the item should update its sprites based on amount. var/novariants = TRUE /// List that tells you how much is in a single unit. var/list/mats_per_unit @@ -302,7 +302,7 @@ data["recipes"] = recursively_build_recipes(recipes) return data -/obj/item/stack/ui_act(action, params) +/obj/item/stack/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm index 0e054ba8d1062..acfc59b64d037 100644 --- a/code/game/objects/items/stacks/tape.dm +++ b/code/game/objects/items/stacks/tape.dm @@ -127,12 +127,15 @@ singular_name = "surgical tape" desc = "Made for patching broken bones back together alongside bone gel, not for playing pranks." prefix = "surgical" - conferred_embed = list("embed_chance" = 30, "pain_mult" = 0, "jostle_pain_mult" = 0, "ignore_throwspeed_threshold" = TRUE) + conferred_embed = /datum/embed_data/sticky_tape/surgical splint_factor = 0.5 custom_price = PAYCHECK_CREW merge_type = /obj/item/stack/sticky_tape/surgical greyscale_colors = "#70BAE7#BD6A62" tape_gag = /obj/item/clothing/mask/muzzle/tape/surgical +/datum/embed_data/sticky_tape/surgical + embed_chance = 30 + /obj/item/stack/sticky_tape/surgical/get_surgery_tool_overlay(tray_extended) return "tape" + (tray_extended ? "" : "_out") diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 77ca77e8ba0bf..a88da6537b64e 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -377,7 +377,7 @@ /obj/item/storage/backpack/satchel/flat name = "smuggler's satchel" - desc = "A very slim satchel that can easily fit into tight spaces." + desc = "A very slim satchel that can easily fit into tight spaces. Its contents cannot be detected by contraband scanners." icon_state = "satchel-flat" inhand_icon_state = "satchel-flat" w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself. diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 996cd933647a1..5c4037577c258 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -119,7 +119,7 @@ /obj/item/storage/bag/ore name = "mining satchel" desc = "This little bugger can be used to store and transport ores." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "satchel" worn_icon_state = "satchel" slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_POCKETS @@ -286,7 +286,7 @@ /obj/item/storage/bag/sheetsnatcher name = "sheet snatcher" desc = "A patented Nanotrasen storage system designed for any kind of mineral sheet." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "sheetsnatcher" worn_icon_state = "satchel" diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 1bf97712ec566..1235ab3afbd9d 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -79,7 +79,7 @@ )) /obj/item/storage/belt/utility/chief - name = "\improper Chief Engineer's toolbelt" //"the Chief Engineer's toolbelt", because "Chief Engineer's toolbelt" is not a proper noun + name = "chief engineer's toolbelt" desc = "Holds tools, looks snazzy." icon_state = "utility_ce" inhand_icon_state = "utility_ce" @@ -373,6 +373,9 @@ /obj/item/restraints/handcuffs, /obj/item/restraints/legcuffs/bola, )) + atom_storage.open_sound = 'sound/items/holster.ogg' + atom_storage.open_sound_vary = TRUE + atom_storage.rustle_sound = FALSE /obj/item/storage/belt/security/full/PopulateContents() new /obj/item/reagent_containers/spray/pepper(src) @@ -529,7 +532,7 @@ /obj/item/storage/belt/military/snack/Initialize(mapload) . = ..() - var/sponsor = pick("Donk Co.", "Waffle Co.", "Roffle Co.", "Gorlax Marauders", "Tiger Cooperative") + var/sponsor = pick("Donk Co.", "Waffle Corp.", "Roffle Co.", "Gorlex Marauders", "Tiger Cooperative") desc = "A set of snack-tical webbing worn by athletes of the [sponsor] VR sports division." atom_storage.max_slots = 6 atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL @@ -821,7 +824,7 @@ AddElement(/datum/element/update_icon_updates_onmob) atom_storage.max_slots = 1 - atom_storage.rustle_sound = FALSE + atom_storage.do_rustle = FALSE atom_storage.max_specific_storage = WEIGHT_CLASS_BULKY atom_storage.set_holdable(/obj/item/melee/sabre) atom_storage.click_alt_open = FALSE @@ -855,6 +858,50 @@ new /obj/item/melee/sabre(src) update_appearance() +/obj/item/storage/belt/grass_sabre + name = "sabre sheath" + desc = "An simple grass sheath designed to hold a sabre of... some sort. Actual metal one might be too sharp, though..." + icon_state = "grass_sheath" + inhand_icon_state = "grass_sheath" + worn_icon_state = "grass_sheath" + w_class = WEIGHT_CLASS_BULKY + interaction_flags_click = parent_type::interaction_flags_click | NEED_DEXTERITY | NEED_HANDS + +/obj/item/storage/belt/grass_sabre/Initialize(mapload) + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + + atom_storage.max_slots = 1 + atom_storage.do_rustle = FALSE + atom_storage.max_specific_storage = WEIGHT_CLASS_BULKY + atom_storage.set_holdable(/obj/item/melee/parsnip_sabre) + atom_storage.click_alt_open = FALSE + +/obj/item/storage/belt/grass_sabre/examine(mob/user) + . = ..() + if(length(contents)) + . += span_notice("Alt-click it to quickly draw the blade.") + +/obj/item/storage/belt/grass_sabre/click_alt(mob/user) + if(length(contents)) + var/obj/item/I = contents[1] + user.visible_message(span_notice("[user] takes [I] out of [src]."), span_notice("You take [I] out of [src].")) + user.put_in_hands(I) + update_appearance() + else + balloon_alert(user, "it's empty!") + return CLICK_ACTION_SUCCESS + +/obj/item/storage/belt/grass_sabre/update_icon_state() + icon_state = initial(inhand_icon_state) + inhand_icon_state = initial(inhand_icon_state) + worn_icon_state = initial(worn_icon_state) + if(contents.len) + icon_state += "-sabre" + inhand_icon_state += "-sabre" + worn_icon_state += "-sabre" + return ..() + /obj/item/storage/belt/plant name = "botanical belt" desc = "A sturdy leather belt used to hold most hydroponics supplies." diff --git a/code/game/objects/items/storage/boxes/_boxes.dm b/code/game/objects/items/storage/boxes/_boxes.dm index 56915d8a5fced..9401527299689 100644 --- a/code/game/objects/items/storage/boxes/_boxes.dm +++ b/code/game/objects/items/storage/boxes/_boxes.dm @@ -19,6 +19,8 @@ . = ..() atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL update_appearance() + atom_storage.open_sound = 'sound/items/cardboard_box_open.ogg' + atom_storage.rustle_sound = 'sound/items/cardboard_box_rustle.ogg' /obj/item/storage/box/suicide_act(mob/living/carbon/user) var/obj/item/bodypart/head/myhead = user.get_bodypart(BODY_ZONE_HEAD) diff --git a/code/game/objects/items/storage/boxes/job_boxes.dm b/code/game/objects/items/storage/boxes/job_boxes.dm index ea9189cc5f2b0..a8ced4fdad48e 100644 --- a/code/game/objects/items/storage/boxes/job_boxes.dm +++ b/code/game/objects/items/storage/boxes/job_boxes.dm @@ -43,7 +43,7 @@ if(HAS_TRAIT(SSstation, STATION_TRAIT_RADIOACTIVE_NEBULA)) new /obj/item/storage/pill_bottle/potassiodide(src) - if(SSmapping.is_planetary() && LAZYLEN(SSmapping.multiz_levels)) + if(length(SSmapping.levels_by_trait(ZTRAIT_STATION)) > 1) new /obj/item/climbing_hook/emergency(src) /obj/item/storage/box/survival/radio/PopulateContents() diff --git a/code/game/objects/items/storage/boxes/science_boxes.dm b/code/game/objects/items/storage/boxes/science_boxes.dm index f0654cdf024bc..63e1c1ee3762d 100644 --- a/code/game/objects/items/storage/boxes/science_boxes.dm +++ b/code/game/objects/items/storage/boxes/science_boxes.dm @@ -39,6 +39,7 @@ illustration = null /// Which type of cube are we spawning in this box? var/cube_type = /obj/item/food/monkeycube + custom_price = PAYCHECK_CREW * 2 /obj/item/storage/box/monkeycubes/Initialize(mapload) . = ..() @@ -50,12 +51,12 @@ new cube_type(src) /obj/item/storage/box/monkeycubes/syndicate - desc = "Waffle Co. brand monkey cubes. Just add water and a dash of subterfuge!" + desc = "Waffle Corp. brand monkey cubes. Just add water and a dash of subterfuge!" cube_type = /obj/item/food/monkeycube/syndicate /obj/item/storage/box/gorillacubes name = "gorilla cube box" - desc = "Waffle Co. brand gorilla cubes. Do not taunt." + desc = "Waffle Corp. brand gorilla cubes. Do not taunt." icon_state = "monkeycubebox" illustration = null diff --git a/code/game/objects/items/storage/boxes/security_boxes.dm b/code/game/objects/items/storage/boxes/security_boxes.dm index 459c0ab7ce29e..935ead8f93e95 100644 --- a/code/game/objects/items/storage/boxes/security_boxes.dm +++ b/code/game/objects/items/storage/boxes/security_boxes.dm @@ -204,6 +204,16 @@ for(var/i in 1 to 7) new /obj/item/ammo_casing/shotgun/breacher(src) +/obj/item/storage/box/large_dart + name = "box of XL shotgun darts" + name = "A box full of shotgun darts with increased chemical storage capacity." + icon_state = "shotdart_box" + illustration = null + +/obj/item/storage/box/large_dart/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/dart/large(src) + /obj/item/storage/box/emptysandbags name = "box of empty sandbags" illustration = "sandbag" diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index afb7b0f750b26..f8dee3afdc7f4 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -33,6 +33,8 @@ /obj/item/gun/energy/laser/captain, /obj/item/gun/energy/e_gun/hos, )) + atom_storage.open_sound = 'sound/items/holster.ogg' + atom_storage.open_sound_vary = TRUE /obj/item/storage/belt/holster/energy name = "energy shoulder holsters" diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index a1dbe0e690c71..8fa147252514c 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -199,7 +199,7 @@ req_access = list(ACCESS_QM) /obj/item/storage/lockbox/medal/cargo/PopulateContents() - new /obj/item/clothing/accessory/medal/ribbon/cargo(src) + new /obj/item/clothing/accessory/medal/ribbon/cargo(src) /obj/item/storage/lockbox/medal/service name = "service award box" @@ -207,7 +207,7 @@ req_access = list(ACCESS_HOP) /obj/item/storage/lockbox/medal/service/PopulateContents() - new /obj/item/clothing/accessory/medal/silver/excellence(src) + new /obj/item/clothing/accessory/medal/silver/excellence(src) /obj/item/storage/lockbox/medal/sci name = "science medal box" diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index 944289598d17b..368ef9c0b406a 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -18,6 +18,9 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' throw_speed = 3 throw_range = 7 + drop_sound = 'sound/items/medkit_drop.ogg' + pickup_sound = 'sound/items/medkit_pick_up.ogg' + sound_vary = TRUE var/empty = FALSE /// Defines damage type of the medkit. General ones stay null. Used for medibot healing bonuses var/damagetype_healed @@ -79,6 +82,9 @@ /obj/item/storage/medkit/Initialize(mapload) . = ..() atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL + atom_storage.open_sound = 'sound/items/medkit_open.ogg' + atom_storage.open_sound_vary = TRUE + atom_storage.rustle_sound = 'sound/items/medkit_rustle.ogg' /obj/item/storage/medkit/regular icon_state = "medkit" @@ -454,6 +460,8 @@ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' w_class = WEIGHT_CLASS_SMALL + pickup_sound = 'sound/items/handling/pill_bottle_pickup.ogg' + drop_sound = 'sound/items/handling/pill_bottle_place.ogg' /obj/item/storage/pill_bottle/Initialize(mapload) . = ..() @@ -462,6 +470,8 @@ /obj/item/reagent_containers/pill, /obj/item/food/bait/natural, )) + atom_storage.open_sound = 'sound/items/handling/pill_bottle_open.ogg' + atom_storage.open_sound_vary = FALSE /obj/item/storage/pill_bottle/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is trying to get the cap off [src]! It looks like [user.p_theyre()] trying to commit suicide!")) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 7c5bc74e07550..d2bb90e69e445 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -33,7 +33,8 @@ if(prob(1)) latches = "triple_latch" update_appearance() - + atom_storage.open_sound = 'sound/items/toolbox_open.ogg' + atom_storage.rustle_sound = 'sound/items/toolbox_rustle.ogg' AddElement(/datum/element/falling_hazard, damage = force, wound_bonus = wound_bonus, hardhat_safety = TRUE, crushes = FALSE, impact_sound = hitsound) /obj/item/storage/toolbox/update_overlays() @@ -348,6 +349,11 @@ weapon_to_spawn = /obj/item/gun/ballistic/automatic/c20r extra_to_spawn = /obj/item/ammo_box/magazine/smgm45 +/obj/item/storage/toolbox/guncase/smartgun + name = "adielle smartgun case" + weapon_to_spawn = /obj/item/gun/ballistic/automatic/smartgun + extra_to_spawn = /obj/item/ammo_box/magazine/smartgun + /obj/item/storage/toolbox/guncase/clandestine name = "clandestine gun case" weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/clandestine @@ -442,12 +448,6 @@ weapon_to_spawn = /obj/effect/spawner/random/sakhno extra_to_spawn = /obj/effect/spawner/random/sakhno/ammo -/obj/item/storage/toolbox/guncase/soviet/plastikov - name = "ancient surplus gun case" - desc = "A gun case. Has the symbol of the Third Soviet Union stamped on the side." - weapon_to_spawn = /obj/item/gun/ballistic/automatic/plastikov - extra_to_spawn = /obj/item/food/rationpack //sorry comrade, cannot get you more ammo, here, have lunch - /obj/item/storage/toolbox/guncase/monkeycase name = "monkey gun case" desc = "Everything a monkey needs to truly go ape-shit. There's a paw-shaped hand scanner lock on the front of the case." diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index d3e41b21a986b..acbe9c017aaae 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -267,7 +267,7 @@ if(KIT_MR_FREEZE) new /obj/item/clothing/glasses/cold(src) - new /obj/item/clothing/gloves/color/black(src) + new /obj/item/clothing/gloves/color/black/security/blu(src) new /obj/item/clothing/mask/chameleon(src) new /obj/item/clothing/suit/hooded/wintercoat(src) new /obj/item/clothing/shoes/winterboots(src) @@ -584,6 +584,7 @@ new /obj/item/storage/backpack/satchel(src) new /obj/item/modular_computer/pda/heads(src) new /obj/item/clipboard(src) + new /obj/item/skillchip/big_pointer(src) /obj/item/storage/box/syndie_kit/chameleon/broken/PopulateContents() new /obj/item/clothing/under/chameleon/broken(src) diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index e485d6997f05f..e8c1fc6d19245 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -9,6 +9,7 @@ var/obj/item/card/id/front_id = null var/list/combined_access var/cached_flat_icon + var/overlay_icon_state = "wallet_overlay" /obj/item/storage/wallet/Initialize(mapload) . = ..() @@ -103,7 +104,7 @@ return . += mutable_appearance(front_id.icon, front_id.icon_state) . += front_id.overlays - . += mutable_appearance(icon, "wallet_overlay") + . += mutable_appearance(icon, overlay_icon_state) /obj/item/storage/wallet/proc/get_cached_flat_icon() if(!cached_flat_icon) @@ -117,9 +118,9 @@ /obj/item/storage/wallet/proc/update_label() if(front_id) - name = "wallet displaying [front_id]" + name = "[src::name] displaying [front_id]" else - name = "wallet" + name = src::name /obj/item/storage/wallet/examine() . = ..() diff --git a/code/game/objects/items/surgery_tray.dm b/code/game/objects/items/surgery_tray.dm index e156bf8a0a862..4e84bd3ac3559 100644 --- a/code/game/objects/items/surgery_tray.dm +++ b/code/game/objects/items/surgery_tray.dm @@ -42,7 +42,7 @@ . = ..() if(is_portable) desc = "The wheels and bottom storage of this medical cart have been stowed away, \ - leaving a cumbersome tray in it's place." + leaving a cumbersome tray in its place." else desc = initial(desc) diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index bdbfa79001ddf..9c7138e00dee0 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -22,6 +22,9 @@ slot_flags = ITEM_SLOT_BACK worn_icon = 'icons/mob/clothing/back.dmi' //since these can also get thrown into suit storage slots. if something goes on the belt, set this to null. hitsound = 'sound/weapons/smash.ogg' + pickup_sound = 'sound/items/gas_tank_pick_up.ogg' + drop_sound = 'sound/items/gas_tank_drop.ogg' + sound_vary = TRUE pressure_resistance = ONE_ATMOSPHERE * 5 force = 5 throwforce = 10 @@ -69,7 +72,7 @@ if (QDELETED(breathing_mob)) breathing_mob = null return - // Close open air tank if it got dropped by it's current user. + // Close open air tank if it got dropped by its current user. if (loc != breathing_mob) breathing_mob.cutoff_internals() @@ -253,7 +256,7 @@ if(istype(carbon_user) && (carbon_user.external == src || carbon_user.internal == src)) .["connected"] = TRUE -/obj/item/tank/ui_act(action, params) +/obj/item/tank/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index c6b0d52cdc1c3..776dd16d78175 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -189,9 +189,9 @@ /obj/item/crowbar/cyborg name = "hydraulic crowbar" desc = "A hydraulic prying tool, simple but powerful." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_crowbar" - worn_icon_state = "crowbar" + worn_icon_state = "toolkit_engiborg_crowbar" //error sprite - this shouldn't have been dropped usesound = 'sound/items/jaws_pry.ogg' force = 10 toolspeed = 0.5 diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index b9e0d15e69f6e..63ee56be7f17c 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -148,7 +148,7 @@ /obj/item/screwdriver/cyborg name = "automated screwdriver" desc = "A powerful automated screwdriver, designed to be both precise and quick." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_screwdriver" hitsound = 'sound/items/drill_hit.ogg' usesound = 'sound/items/drill_use.ogg' diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index b2b0109c04c88..a0a3c33fff34d 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -145,22 +145,31 @@ if(user.combat_mode) return NONE + return try_heal_loop(interacting_with, user) + +/obj/item/weldingtool/proc/try_heal_loop(atom/interacting_with, mob/living/user, repeating = FALSE) var/mob/living/carbon/human/attacked_humanoid = interacting_with var/obj/item/bodypart/affecting = attacked_humanoid.get_bodypart(check_zone(user.zone_selected)) if(isnull(affecting) || !IS_ROBOTIC_LIMB(affecting)) return NONE - var/use_delay = 0 + if (!affecting.brute_dam) + balloon_alert(user, "limb not damaged") + return ITEM_INTERACT_BLOCKING + user.visible_message(span_notice("[user] starts to fix some of the dents on [attacked_humanoid == user ? user.p_their() : "[attacked_humanoid]'s"] [affecting.name]."), + span_notice("You start fixing some of the dents on [attacked_humanoid == user ? "your" : "[attacked_humanoid]'s"] [affecting.name].")) + var/use_delay = repeating ? 1 SECONDS : 0 if(user == attacked_humanoid) - user.visible_message(span_notice("[user] starts to fix some of the dents on [attacked_humanoid]'s [affecting.name]."), - span_notice("You start fixing some of the dents on [attacked_humanoid == user ? "your" : "[attacked_humanoid]'s"] [affecting.name].")) use_delay = 5 SECONDS if(!use_tool(attacked_humanoid, user, use_delay, volume=50, amount=1)) return ITEM_INTERACT_BLOCKING - attacked_humanoid.item_heal(user, brute_heal = 15, burn_heal = 0, heal_message_brute = "dents", heal_message_burn = "burnt wires", required_bodytype = BODYTYPE_ROBOTIC) + if (!attacked_humanoid.item_heal(user, brute_heal = 15, burn_heal = 0, heal_message_brute = "dents", heal_message_burn = "burnt wires", required_bodytype = BODYTYPE_ROBOTIC)) + return ITEM_INTERACT_BLOCKING + + INVOKE_ASYNC(src, PROC_REF(try_heal_loop), interacting_with, user, TRUE) return ITEM_INTERACT_SUCCESS /obj/item/weldingtool/afterattack(atom/target, mob/user, click_parameters) @@ -332,7 +341,7 @@ /obj/item/weldingtool/largetank/cyborg name = "integrated welding tool" desc = "An advanced welder designed to be used in robotic systems. Custom framework doubles the speed of welding." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "indwelder_cyborg" toolspeed = 0.5 diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 7f2b11777d8f5..9ce1bc2409132 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -77,7 +77,7 @@ /obj/item/wirecutters/cyborg name = "powered wirecutters" desc = "Cuts wires with the power of ELECTRICITY. Faster than normal wirecutters." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_cutters" worn_icon_state = "cutters" toolspeed = 0.5 diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index aa72b5d257ac6..fce0a6b16f518 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -87,7 +87,7 @@ /obj/item/wrench/cyborg name = "hydraulic wrench" desc = "An advanced robotic wrench, powered by internal hydraulics. Twice as fast as the handheld version." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_wrench" toolspeed = 0.5 diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index c50908738fe94..1b3367032c190 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -606,7 +606,7 @@ /obj/item/toy/mecha/deathripley/super_special_attack(obj/item/toy/mecha/victim) playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 20, TRUE) - if(victim.combat_health < combat_health) //Instantly kills the other mech if it's health is below our's. + if(victim.combat_health < combat_health) //Instantly kills the other mech if its health is below ours. say("EXECUTE!!") victim.combat_health = 0 else //Otherwise, just deal one damage. diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index ff540932f31b7..daafdd447b646 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -85,10 +85,6 @@ desc = "In the Mothic Fleet every individual wrapper is carefully recycled and repurposed into fresh material. Over here they are more commonly dropped directly onto the floor." icon_state = "moth_ration" -/obj/item/trash/waffles - name = "waffles tray" - icon_state = "waffles" - /obj/item/trash/pistachios name = "pistachios pack" icon_state = "pistachios_pack" @@ -113,7 +109,7 @@ /obj/item/trash/flare name = "burnt flare" - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/devices/lighting.dmi' icon_state = "flare-empty" /obj/item/trash/can diff --git a/code/game/objects/items/wall_mounted.dm b/code/game/objects/items/wall_mounted.dm index ef19205cf8063..b5a9ec28355a6 100644 --- a/code/game/objects/items/wall_mounted.dm +++ b/code/game/objects/items/wall_mounted.dm @@ -6,9 +6,14 @@ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' w_class = WEIGHT_CLASS_SMALL + /// What do we create? var/result_path - var/wall_external = FALSE // For frames that are external to the wall they are placed on, like light fixtures and cameras. - var/pixel_shift //The amount of pixels + /// For frames that are external to the wall they are placed on, like light fixtures and cameras. + var/wall_external = FALSE + /// Do we used inverse directionals? + var/inverse_dir = TRUE + /// Can we only hang this on walls North of us? Preferably don't enable unless you absolutely have to + var/north_only = FALSE /obj/item/wallframe/proc/try_build(turf/on_wall, mob/user) if(get_dist(on_wall,user) > 1) @@ -18,6 +23,11 @@ if(!(floor_to_wall in GLOB.cardinals)) balloon_alert(user, "stand in line with wall!") return + + if (north_only && floor_to_wall != NORTH) + balloon_alert(user, "cannot place here!") + return + var/turf/T = get_turf(user) var/area/A = get_area(T) if(!isfloorturf(T)) @@ -38,20 +48,13 @@ user.visible_message(span_notice("[user.name] attaches [src] to the wall."), span_notice("You attach [src] to the wall."), span_hear("You hear clicking.")) - var/floor_to_wall = get_dir(user, on_wall) + var/facing_dir = get_dir(user, on_wall) + + if(inverse_dir) // I'm sorry about this switch, O.turn wouldn't work for whatever reason. + facing_dir = REVERSE_DIR(facing_dir) + var/obj/hanging_object = new result_path(get_turf(user), facing_dir, TRUE) + hanging_object.setDir(facing_dir) - var/obj/hanging_object = new result_path(get_turf(user), floor_to_wall, TRUE) - hanging_object.setDir(floor_to_wall) - if(pixel_shift) - switch(floor_to_wall) - if(NORTH) - hanging_object.pixel_y = pixel_shift - if(SOUTH) - hanging_object.pixel_y = -pixel_shift - if(EAST) - hanging_object.pixel_x = pixel_shift - if(WEST) - hanging_object.pixel_x = -pixel_shift after_attach(hanging_object) qdel(src) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 5384a11cf3bbe..6b6e8f3d28eeb 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -160,9 +160,17 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throw_range = 5 armour_penetration = 35 +/obj/item/claymore/cutlass/old + name = "old cutlass" + desc = parent_type::desc + " This one seems a tad old." + force = 24 + throwforce = 17 + armour_penetration = 20 + block_chance = 30 + /obj/item/claymore/carrot name = "carrot sword" - desc = "A full-sized carrot sword. Definitely \not\ good for the eyes, not anymore." + desc = "A full-sized carrot sword. Definitely not good for the eyes, not anymore." icon_state = "carrot_sword" inhand_icon_state = "carrot_sword" worn_icon_state = "carrot_sword" @@ -327,7 +335,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 playsound(user, 'sound/items/screwdriver2.ogg', 50, TRUE) /obj/item/claymore/highlander/robot //BLOODTHIRSTY BORGS NOW COME IN PLAID - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "claymore_cyborg" var/mob/living/silicon/robot/robot @@ -505,6 +513,36 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]'s cord! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS +/obj/item/bambostaff + name = "Bamboo Staff" + desc = "A long bamboo-made staff with steel-capped ends. It is rumoured that initiates of Spider Clan train with such before getting to learn how to use a katana." + force = 10 + block_chance = 45 + block_sound = 'sound/weapons/genhit.ogg' + slot_flags = ITEM_SLOT_BACK + w_class = WEIGHT_CLASS_BULKY + hitsound = SFX_SWING_HIT + attack_verb_continuous = list("smashes", "slams", "whacks", "thwacks") + attack_verb_simple = list("smash", "slam", "whack", "thwack") + icon = 'icons/obj/weapons/staff.dmi' + icon_state = "bambostaff0" + base_icon_state = "bambostaff" + inhand_icon_state = "bambostaff0" + worn_icon_state = "bambostaff0" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' + +/obj/item/bambostaff/Initialize(mapload) + . = ..() + AddComponent(/datum/component/two_handed, \ + force_unwielded = 10, \ + force_wielded = 14, \ + ) + +/obj/item/bambostaff/update_icon_state() + icon_state = inhand_icon_state = "[base_icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]" + return ..() + /obj/item/cane name = "cane" desc = "A cane used by a true gentleman. Or a clown." @@ -1202,7 +1240,6 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 alpha = 150 duration = 0.5 SECONDS layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE /obj/effect/temp_visual/slash/Initialize(mapload, atom/target, x_slashed, y_slashed, slash_color) . = ..() diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index d07f7ad21c5f5..be4924de56226 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -1,4 +1,3 @@ - /obj/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) ..() take_damage(AM.throwforce, BRUTE, MELEE, 1, get_dir(src, AM)) @@ -96,7 +95,7 @@ /obj/proc/collision_damage(atom/movable/pusher, force = MOVE_FORCE_DEFAULT, direction) var/amt = max(0, ((force - (move_resist * MOVE_FORCE_CRUSH_RATIO)) / (move_resist * MOVE_FORCE_CRUSH_RATIO)) * 10) - take_damage(amt, BRUTE) + take_damage(amt, BRUTE, attack_dir = REVERSE_DIR(direction)) /obj/singularity_act() SSexplosions.high_mov_atom += src diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index bfdd0f71426c5..1b9282be66182 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -7,12 +7,12 @@ /// Extra examine line to describe controls, such as right-clicking, left-clicking, etc. var/desc_controls - /// The context returned when an attack against this object doesnt deal any traditional damage to the object. + /// The context returned when an attack against this object doesn't deal any traditional damage to the object. var/no_damage_feedback = "without leaving a mark" /// Icon to use as a 32x32 preview in crafting menus and such var/icon_preview var/icon_state_preview - /// The vertical pixel offset applied when the object is anchored on a tile with table + /// The vertical pixel_z offset applied when the object is anchored on a tile with table /// Ignored when set to 0 - to avoid shifting directional wall-mounted objects above tables var/anchored_tabletop_offset = 0 @@ -24,7 +24,7 @@ /// If this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh var/bare_wound_bonus = 0 - /// A multiplier to an objecet's force when used against a stucture, vechicle, machine, or robot. + /// A multiplier to an object's force when used against a structure, vehicle, machine, or robot. var/demolition_mod = 1 /// Custom fire overlay icon, will just use the default overlay if this is null @@ -32,7 +32,7 @@ /// Particles this obj uses when burning, if any var/burning_particles - var/drag_slowdown // Amont of multiplicative slowdown applied if pulled. >1 makes you slower, <1 makes you faster. + var/drag_slowdown // Amount of multiplicative slowdown applied if pulled. >1 makes you slower, <1 makes you faster. /// Map tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. /// Next pr after the network fix will have me refactor door interactions, so help me god. @@ -70,7 +70,7 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) var/total_force = (attacking_item.force * attacking_item.demolition_mod) - var/damage = take_damage(total_force, attacking_item.damtype, MELEE, 1) + var/damage = take_damage(total_force, attacking_item.damtype, MELEE, 1, get_dir(src, user)) var/damage_verb = "hit" @@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) /obj/proc/plunger_act(obj/item/plunger/attacking_plunger, mob/living/user, reinforced) return SEND_SIGNAL(src, COMSIG_PLUNGER_ACT, attacking_plunger, user, reinforced) -// Should move all contained objects to it's location. +// Should move all contained objects to its location. /obj/proc/dump_contents() SHOULD_CALL_PARENT(FALSE) CRASH("Unimplemented.") @@ -278,7 +278,14 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) return FALSE return TRUE -/// Adjusts the vertical pixel offset when the object is anchored on a tile with table +/// Adjusts the vertical pixel_z offset when the object is anchored on a tile with table /obj/proc/check_on_table() - if(anchored_tabletop_offset != 0 && !istype(src, /obj/structure/table) && locate(/obj/structure/table) in loc) - pixel_y = anchored ? anchored_tabletop_offset : initial(pixel_y) + if(anchored_tabletop_offset == 0) + return + if(istype(src, /obj/structure/table)) + return + + if(anchored && locate(/obj/structure/table) in loc) + pixel_z = anchored_tabletop_offset + else + pixel_z = initial(pixel_z) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index ff6e6e171bb06..0484b823fd281 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -1,6 +1,6 @@ /// Inert structures, such as girders, machine frames, and crates/lockers. /obj/structure - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' pressure_resistance = 8 max_integrity = 300 interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT @@ -32,7 +32,7 @@ QUEUE_SMOOTH_NEIGHBORS(src) return ..() -/obj/structure/ui_act(action, params) +/obj/structure/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) add_fingerprint(usr) return ..() diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index f0c855e7c74d9..a550efd48032b 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -50,15 +50,13 @@ /obj/structure/alien/resin name = "resin" desc = "Looks like some kind of thick resin." - icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi' - icon_state = "resin_wall-0" - base_icon_state = "resin_wall" + icon = 'icons/obj/structures/smooth/alien/resin_wall_1.dmi' density = TRUE opacity = TRUE anchored = TRUE smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_ALIEN_RESIN - canSmoothWith = SMOOTH_GROUP_ALIEN_RESIN + smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_TALL_WALLS + canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS max_integrity = 200 var/resintype = null can_atmos_pass = ATMOS_PASS_DENSITY @@ -66,7 +64,9 @@ /obj/structure/alien/resin/Initialize(mapload) . = ..() + icon = get_icon() air_update_turf(TRUE, TRUE) + make_splitvis() /obj/structure/alien/resin/Destroy() air_update_turf(TRUE, FALSE) @@ -77,15 +77,17 @@ . = ..() move_update_air(T) +/obj/structure/alien/resin/proc/make_splitvis() + AddElement(/datum/element/split_visibility, icon, color) + +/obj/structure/alien/resin/proc/get_icon() + if(prob(50)) + return 'icons/obj/structures/smooth/alien/resin_wall_1.dmi' + return 'icons/obj/structures/smooth/alien/resin_wall_2.dmi' + /obj/structure/alien/resin/wall name = "resin wall" desc = "Thick resin solidified into a wall." - icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi' - icon_state = "resin_wall-0" - base_icon_state = "resin_wall" - resintype = "wall" - smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_ALIEN_RESIN - canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS /obj/structure/alien/resin/wall/block_superconductivity() return 1 @@ -103,15 +105,21 @@ /obj/structure/alien/resin/membrane name = "resin membrane" desc = "Resin just thin enough to let light pass through." - icon = 'icons/obj/smooth_structures/alien/resin_membrane.dmi' + icon = 'icons/obj/structures/smooth/alien/resin_membrane.dmi' icon_state = "resin_membrane-0" base_icon_state = "resin_membrane" opacity = FALSE max_integrity = 160 resintype = "membrane" - smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_ALIEN_RESIN + smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS +/obj/structure/alien/resin/membrane/make_splitvis() + return + +/obj/structure/alien/resin/membrane/get_icon() + return 'icons/obj/structures/smooth/alien/resin_membrane.dmi' + /obj/structure/alien/resin/attack_paw(mob/user, list/modifiers) return attack_hand(user, modifiers) @@ -135,12 +143,12 @@ density = FALSE layer = MID_TURF_LAYER plane = FLOOR_PLANE - icon = 'icons/obj/smooth_structures/alien/weeds1.dmi' + icon = 'icons/obj/structures/smooth/alien/weeds1.dmi' icon_state = "weeds1-0" base_icon_state = "weeds1" max_integrity = 15 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_ALIEN_WEEDS + SMOOTH_GROUP_ALIEN_RESIN + smoothing_groups = SMOOTH_GROUP_ALIEN_WEEDS canSmoothWith = SMOOTH_GROUP_ALIEN_WEEDS + SMOOTH_GROUP_WALLS ///the range of the weeds going to be affected by the node var/node_range = NODERANGE @@ -177,13 +185,13 @@ . = base_icon_state switch(rand(1,3)) if(1) - icon = 'icons/obj/smooth_structures/alien/weeds1.dmi' + icon = 'icons/obj/structures/smooth/alien/weeds1.dmi' base_icon_state = "weeds1" if(2) - icon = 'icons/obj/smooth_structures/alien/weeds2.dmi' + icon = 'icons/obj/structures/smooth/alien/weeds2.dmi' base_icon_state = "weeds2" if(3) - icon = 'icons/obj/smooth_structures/alien/weeds3.dmi' + icon = 'icons/obj/structures/smooth/alien/weeds3.dmi' base_icon_state = "weeds3" set_smoothed_icon_state(smoothing_junction) @@ -253,7 +261,7 @@ /obj/structure/alien/weeds/node name = "glowing resin" desc = "Blue bioluminescence shines from beneath the surface." - icon = 'icons/obj/smooth_structures/alien/weednode.dmi' + icon = 'icons/obj/structures/smooth/alien/weednode.dmi' icon_state = "weednode-0" base_icon_state = "weednode" light_color = LIGHT_COLOR_BLUE diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm index 77759c9e309b0..a7e5c68a2bc9f 100644 --- a/code/game/objects/structures/beds_chairs/alien_nest.dm +++ b/code/game/objects/structures/beds_chairs/alien_nest.dm @@ -3,7 +3,7 @@ /obj/structure/bed/nest name = "alien nest" desc = "It's a gruesome pile of thick, sticky resin shaped like a nest." - icon = 'icons/obj/smooth_structures/alien/nest.dmi' + icon = 'icons/obj/structures/smooth/alien/nest.dmi' icon_state = "nest-0" base_icon_state = "nest" max_integrity = 120 @@ -13,6 +13,7 @@ canSmoothWith = SMOOTH_GROUP_ALIEN_NEST build_stack_type = null elevation = 0 + can_deconstruct = FALSE var/static/mutable_appearance/nest_overlay = mutable_appearance('icons/mob/nonhuman-player/alien.dmi', "nestoverlay", LYING_MOB_LAYER) /obj/structure/bed/nest/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) @@ -21,10 +22,6 @@ return ..() -/obj/structure/bed/nest/wrench_act_secondary(mob/living/user, obj/item/weapon) - return ITEM_INTERACT_BLOCKING - - /obj/structure/bed/nest/user_unbuckle_mob(mob/living/captive, mob/living/hero) if(!length(buckled_mobs)) return @@ -41,7 +38,7 @@ unbuckle_mob(captive) add_fingerprint(hero) return - + captive.visible_message(span_warning("[captive.name] struggles to break free from the gelatinous resin!"), span_notice("You struggle to break free from the gelatinous resin... (Stay still for about a minute and a half.)"), span_hear("You hear squelching...")) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 4cfd6355eb0b2..cb57446dc301a 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -8,10 +8,11 @@ /// Beds /obj/structure/bed + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "bed" desc = "This is used to lie in, sleep in or strap on." icon_state = "bed" - icon = 'icons/obj/bed.dmi' + icon = 'icons/obj/structures/bed.dmi' anchored = TRUE can_buckle = TRUE buckle_lying = 90 @@ -24,6 +25,8 @@ var/build_stack_amount = 2 /// Mobs standing on it are nudged up by this amount. Also used to align the person back when buckled to it after init. var/elevation = 8 + /// If this bed can be deconstructed using a wrench + var/can_deconstruct = TRUE /obj/structure/bed/Initialize(mapload) . = ..() @@ -34,7 +37,8 @@ /obj/structure/bed/examine(mob/user) . = ..() - . += span_notice("It's held together by a couple of bolts.") + if (can_deconstruct) + . += span_notice("It's held together by a couple of bolts.") /obj/structure/bed/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) if(held_item) @@ -56,6 +60,8 @@ return attack_hand(user, modifiers) /obj/structure/bed/wrench_act_secondary(mob/living/user, obj/item/weapon) + if (!can_deconstruct) + return NONE ..() weapon.play_tool_sound(src) deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 1783d4b236a63..b36790ec7846b 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -1,7 +1,8 @@ /obj/structure/chair + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "chair" desc = "You sit in this. Either by will or force." - icon = 'icons/obj/chairs.dmi' + icon = 'icons/obj/structures/chairs.dmi' icon_state = "chair" anchored = TRUE can_buckle = TRUE @@ -66,7 +67,7 @@ if(!user.temporarilyRemoveItemFromInventory(input_shock_kit)) return if(!overlays_from_child_procs || overlays_from_child_procs.len == 0) - var/image/echair_over_overlay = image('icons/obj/chairs.dmi', loc, "echair_over") + var/image/echair_over_overlay = image('icons/obj/structures/chairs.dmi', loc, "echair_over") AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), input_shock_kit, list(echair_over_overlay), FALSE) else AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), input_shock_kit, overlays_from_child_procs, FALSE) @@ -158,14 +159,6 @@ gen_armrest() return ..() -/obj/structure/chair/comfy/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer) - return ..() - cut_overlay(armrest) - QDEL_NULL(armrest) - gen_armrest() - return ..() - /obj/structure/chair/comfy/proc/gen_armrest() armrest = GetArmrest() armrest.layer = ABOVE_MOB_LAYER @@ -215,7 +208,7 @@ /obj/structure/chair/comfy/shuttle/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) if(!overlays_from_child_procs) - overlays_from_child_procs = list(image('icons/obj/chairs.dmi', loc, "echair_over", pixel_x = -1)) + overlays_from_child_procs = list(image('icons/obj/structures/chairs.dmi', loc, "echair_over", pixel_x = -1)) . = ..() /obj/structure/chair/comfy/shuttle/tactical @@ -239,7 +232,7 @@ /obj/structure/chair/office/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) if(!overlays_from_child_procs) - overlays_from_child_procs = list(image('icons/obj/chairs.dmi', loc, "echair_over", pixel_x = -1)) + overlays_from_child_procs = list(image('icons/obj/structures/chairs.dmi', loc, "echair_over", pixel_x = -1)) . = ..() /obj/structure/chair/office/tactical @@ -258,21 +251,22 @@ buildstackamount = 1 item_chair = /obj/item/chair/stool -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/chair/stool) /obj/structure/chair/stool/narsie_act() return /obj/structure/chair/mouse_drop_dragged(atom/over_object, mob/user, src_location, over_location, params) - if(over_object == user) - if(!item_chair || has_buckled_mobs()) - return - user.visible_message(span_notice("[user] grabs \the [src.name]."), span_notice("You grab \the [src.name].")) - var/obj/item/C = new item_chair(loc) - C.set_custom_materials(custom_materials) - TransferComponents(C) - user.put_in_hands(C) - qdel(src) + if(!isliving(user) || over_object != user) + return + if(!item_chair || has_buckled_mobs()) + return + user.visible_message(span_notice("[user] grabs \the [src.name]."), span_notice("You grab \the [src.name].")) + var/obj/item/C = new item_chair(loc) + C.set_custom_materials(custom_materials) + TransferComponents(C) + user.put_in_hands(C) + qdel(src) /obj/structure/chair/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE) return ..() @@ -282,8 +276,15 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool, 0) desc = "It has some unsavory stains on it..." icon_state = "bar" item_chair = /obj/item/chair/stool/bar + can_buckle = TRUE + +/obj/structure/chair/stool/bar/post_buckle_mob(mob/living/M) + M.pixel_y += 4 + +/obj/structure/chair/stool/bar/post_unbuckle_mob(mob/living/M) + M.pixel_y -= 4 -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/chair/stool/bar) /obj/structure/chair/stool/bamboo name = "bamboo stool" @@ -298,7 +299,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) /obj/item/chair name = "chair" desc = "Bar brawl essential." - icon = 'icons/obj/chairs.dmi' + icon = 'icons/obj/structures/chairs.dmi' icon_state = "chair_toppled" inhand_icon_state = "chair" lefthand_file = 'icons/mob/inhands/items/chairs_lefthand.dmi' @@ -424,6 +425,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) origin_type = /obj/structure/chair/wood/wings /obj/structure/chair/old + SET_BASE_VISUAL_PIXEL(0, 0) name = "strange chair" desc = "You sit in this. Either by will or force. Looks REALLY uncomfortable." icon_state = "chairold" @@ -518,7 +520,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) /obj/item/chair/plastic name = "folding plastic chair" desc = "Somehow, you can always find one under the wrestling ring." - icon = 'icons/obj/chairs.dmi' + icon = 'icons/obj/structures/chairs.dmi' icon_state = "folded_chair" inhand_icon_state = "folded_chair" lefthand_file = 'icons/mob/inhands/items/chairs_lefthand.dmi' diff --git a/code/game/objects/structures/beds_chairs/pew.dm b/code/game/objects/structures/beds_chairs/pew.dm index 6388247e8c426..31915aba2d0eb 100644 --- a/code/game/objects/structures/beds_chairs/pew.dm +++ b/code/game/objects/structures/beds_chairs/pew.dm @@ -1,7 +1,7 @@ /obj/structure/chair/pew name = "wooden pew" desc = "Kneel here and pray." - icon = 'icons/obj/chairs_wide.dmi' + icon = 'icons/obj/structures/chairs_wide.dmi' icon_state = "pewmiddle" resistance_flags = FLAMMABLE max_integrity = 70 @@ -22,21 +22,13 @@ gen_armrest() return ..() -/obj/structure/chair/pew/left/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer) - return ..() - cut_overlay(leftpewarmrest) - QDEL_NULL(leftpewarmrest) - gen_armrest() - return ..() - /obj/structure/chair/pew/left/proc/gen_armrest() leftpewarmrest = GetLeftPewArmrest() leftpewarmrest.layer = ABOVE_MOB_LAYER update_leftpewarmrest() /obj/structure/chair/pew/left/proc/GetLeftPewArmrest() - return mutable_appearance('icons/obj/chairs_wide.dmi', "pewend_left_armrest") + return mutable_appearance('icons/obj/structures/chairs_wide.dmi', "pewend_left_armrest") /obj/structure/chair/pew/left/Destroy() QDEL_NULL(leftpewarmrest) @@ -65,19 +57,13 @@ gen_armrest() return ..() -/obj/structure/chair/pew/right/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - cut_overlay(rightpewarmrest) - QDEL_NULL(rightpewarmrest) - gen_armrest() - return ..() - /obj/structure/chair/pew/right/proc/gen_armrest() rightpewarmrest = GetRightPewArmrest() rightpewarmrest.layer = ABOVE_MOB_LAYER update_rightpewarmrest() /obj/structure/chair/pew/right/proc/GetRightPewArmrest() - return mutable_appearance('icons/obj/chairs_wide.dmi', "pewend_right_armrest") + return mutable_appearance('icons/obj/structures/chairs_wide.dmi', "pewend_right_armrest") /obj/structure/chair/pew/right/Destroy() QDEL_NULL(rightpewarmrest) diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm index bf9a221929b67..6701529eeb3cc 100644 --- a/code/game/objects/structures/beds_chairs/sofa.dm +++ b/code/game/objects/structures/beds_chairs/sofa.dm @@ -16,7 +16,7 @@ path/corner/color_name {\ /obj/structure/chair/sofa name = "old ratty sofa" icon_state = "error" - icon = 'icons/obj/chairs_wide.dmi' + icon = 'icons/obj/structures/chairs_wide.dmi' buildstackamount = 1 item_chair = null var/mutable_appearance/armrest @@ -26,21 +26,13 @@ path/corner/color_name {\ gen_armrest() AddElement(/datum/element/soft_landing) -/obj/structure/chair/sofa/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer) - return ..() - cut_overlay(armrest) - QDEL_NULL(armrest) - gen_armrest() - return ..() - /obj/structure/chair/sofa/proc/gen_armrest() armrest = mutable_appearance(initial(icon), "[icon_state]_armrest", ABOVE_MOB_LAYER) update_armrest() /obj/structure/chair/sofa/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) if(!overlays_from_child_procs) - overlays_from_child_procs = list(image('icons/obj/chairs.dmi', loc, "echair_over", pixel_x = -1)) + overlays_from_child_procs = list(image('icons/obj/structures/chairs.dmi', loc, "echair_over", pixel_x = -1)) . = ..() /obj/structure/chair/sofa/post_buckle_mob(mob/living/M) diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index a843c3e3e4bff..a8faf485478d7 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -38,12 +38,16 @@ LINEN BINS /obj/item/bedsheet/Initialize(mapload) . = ..() AddComponent(/datum/component/surgery_initiator) - AddElement(/datum/element/bed_tuckable, mapload, 0, 0, 0) + AddElement(/datum/element/bed_tuckable, mapload, 0, 12, 0) if(bedsheet_type == BEDSHEET_DOUBLE) stack_amount *= 2 dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET register_context() register_item_context() + for(var/stuff as anything in loc) + if(istype(stuff, /obj/structure/bed)) + pixel_y = DEPTH_OFFSET + return /obj/item/bedsheet/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) if(istype(held_item) && (held_item.tool_behaviour == TOOL_WIRECUTTER || held_item.get_sharpness())) @@ -69,6 +73,7 @@ LINEN BINS return ITEM_INTERACT_BLOCKING forceMove(get_turf(to_cover)) + pixel_z = to_cover.pixel_z balloon_alert(user, "covered") coverup(to_cover) add_fingerprint(user) @@ -131,7 +136,6 @@ LINEN BINS UnregisterSignal(sleeper, COMSIG_QDELETING) balloon_alert(sleeper, "smoothed sheets") layer = initial(layer) - SET_PLANE_IMPLICIT(src, initial(plane)) pixel_z = 0 signal_sleeper = null @@ -574,7 +578,7 @@ LINEN BINS /obj/structure/bedsheetbin name = "linen bin" desc = "It looks rather cosy." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "linenbin-full" base_icon_state = "linenbin" anchored = TRUE diff --git a/code/game/objects/structures/billboard.dm b/code/game/objects/structures/billboard.dm index c6786dd84e4a1..8f831854c8937 100644 --- a/code/game/objects/structures/billboard.dm +++ b/code/game/objects/structures/billboard.dm @@ -3,7 +3,6 @@ desc = "A blank billboard, with space for all kinds of advertising." icon = 'icons/obj/fluff/billboard.dmi' icon_state = "billboard_blank" - plane = ABOVE_GAME_PLANE max_integrity = 1000 bound_width = 96 bound_height = 32 diff --git a/code/game/objects/structures/broken_flooring.dm b/code/game/objects/structures/broken_flooring.dm index 9b2e47290802f..1b0953d365389 100644 --- a/code/game/objects/structures/broken_flooring.dm +++ b/code/game/objects/structures/broken_flooring.dm @@ -63,13 +63,13 @@ /obj/structure/broken_flooring/plating/always_floorplane always_floorplane = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/singular, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/pile, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/side, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/corner, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/plating, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/singular/always_floorplane, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/pile/always_floorplane, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/side/always_floorplane, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/corner/always_floorplane, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/broken_flooring/plating/always_floorplane, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/singular) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/pile) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/side) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/corner) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/plating) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/singular/always_floorplane) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/pile/always_floorplane) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/side/always_floorplane) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/corner/always_floorplane) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/broken_flooring/plating/always_floorplane) diff --git a/code/game/objects/structures/cannons/cannon.dm b/code/game/objects/structures/cannons/cannon.dm index 3408ade8283d0..3a10cc17189f8 100644 --- a/code/game/objects/structures/cannons/cannon.dm +++ b/code/game/objects/structures/cannons/cannon.dm @@ -140,5 +140,17 @@ new /obj/item/stack/rods(src.loc) . = ..() +///A cannon found from the fishing mystery box. +/obj/structure/cannon/mystery_box + icon_state = "mystery_box_cannon" //east facing sprite for the presented item, it'll be changed back to normal on init + dir = EAST + anchored = FALSE + +/obj/structure/cannon/mystery_box/Initialize(mapload) + . = ..() + icon_state = "falconet_patina" + reagents.add_reagent(/datum/reagent/gunpowder, charge_size) + loaded_cannonball = new(src) + #undef BAD_FUEL_DAMAGE_TAX #undef BAD_FUEL_EXPLODE_PROBABILTY diff --git a/code/game/objects/structures/cat_house.dm b/code/game/objects/structures/cat_house.dm index bfaa464ff6d09..5283d77c6deac 100644 --- a/code/game/objects/structures/cat_house.dm +++ b/code/game/objects/structures/cat_house.dm @@ -1,4 +1,5 @@ /obj/structure/cat_house + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "cat house" desc = "Cozy home for cats." icon = 'icons/mob/simple/pets.dmi' diff --git a/code/game/objects/structures/construction_console/construction_console.dm b/code/game/objects/structures/construction_console/construction_console.dm index d3ae2984e3170..fabb8c8068e61 100644 --- a/code/game/objects/structures/construction_console/construction_console.dm +++ b/code/game/objects/structures/construction_console/construction_console.dm @@ -99,7 +99,7 @@ name = "construction holo-drone" //Allows any curious crew to watch the base after it leaves. (This is safe as the base cannot be modified once it leaves) move_on_shuttle = TRUE - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "construction_drone" invisibility = INVISIBILITY_MAXIMUM ///Reference to the camera console controlling this drone @@ -119,7 +119,7 @@ return ..() /mob/camera/ai_eye/remote/base_construction/relaymove(mob/living/user, direction) - //This camera eye is visible, and as such needs to keep it's dir updated + //This camera eye is visible, and as such needs to keep its dir updated dir = direction return ..() diff --git a/code/game/objects/structures/containers.dm b/code/game/objects/structures/containers.dm index bf56f7850f82d..87e6e4d5010a3 100644 --- a/code/game/objects/structures/containers.dm +++ b/code/game/objects/structures/containers.dm @@ -9,7 +9,6 @@ density = TRUE anchored = TRUE layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE /obj/structure/shipping_container/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 4484e3c512ef3..9a872b27b79a4 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -5,6 +5,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /obj/structure/closet + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "closet" desc = "It's a basic storage unit." icon = 'icons/obj/storage/closet.dmi' @@ -457,6 +458,8 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) var/atom/L = drop_location() for(var/atom/movable/AM in src) AM.forceMove(L) + AM.pixel_w = pixel_w + AM.pixel_z = pixel_z if(throwing) // you keep some momentum when getting out of a thrown closet step(AM, dir) if(throwing) @@ -1193,6 +1196,8 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) if(!toggle()) return if(was_opened) + if (!target.Move(get_turf(src), get_dir(target, src))) + return target.forceMove(src) else target.Knockdown(SHOVE_KNOCKDOWN_SOLID) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index baf239284ac2f..7b64b6569d6cc 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -62,6 +62,7 @@ ) if(paint_jobs) paint_jobs = crate_paint_jobs + AddComponent(/datum/component/soapbox) /obj/structure/closet/crate/Destroy() QDEL_NULL(manifest) diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 81f7b97a3c159..1a102fdb512fd 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -122,6 +122,28 @@ icon_state = "robo_secure" base_icon_state = "robo_secure" +/obj/structure/closet/crate/secure/trashcart + desc = "A heavy, metal trashcart with wheels. It has an electronic lock on it." + name = "secure trash cart" + max_integrity = 250 + damage_deflection = 10 + icon_state = "securetrashcart" + base_icon_state = "securetrashcart" + paint_jobs = null + req_access = list(ACCESS_JANITOR) + +/obj/structure/closet/crate/secure/trashcart/filled + +/obj/structure/closet/crate/secure/trashcart/filled/PopulateContents() + . = ..() + for(var/i in 1 to rand(8,12)) + new /obj/effect/spawner/random/trash/deluxe_garbage(src) + if(prob(35)) + new /obj/effect/spawner/random/trash/garbage(src) + for(var/i in 1 to rand(4,6)) + if(prob(30)) + new /obj/item/storage/bag/trash/filled(src) + /obj/structure/closet/crate/secure/owned name = "private crate" desc = "A crate cover designed to only open for who purchased its contents." diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index aead6fafb017c..1282864aa3381 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -4,7 +4,7 @@ /obj/structure/curtain name = "curtain" desc = "Contains less than 1% mercury." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "bathroom-open" color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it. alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through @@ -146,7 +146,7 @@ set_opacity(TRUE) /obj/structure/curtain/cloth/fancy/mechanical/attack_hand(mob/user, list/modifiers) - return + return /obj/structure/curtain/cloth/fancy/mechanical/start_closed icon_state = "cur_fancy-closed" diff --git a/code/game/objects/structures/deployable_turret.dm b/code/game/objects/structures/deployable_turret.dm index f24df392dedef..2b1a90500ccf8 100644 --- a/code/game/objects/structures/deployable_turret.dm +++ b/code/game/objects/structures/deployable_turret.dm @@ -213,7 +213,7 @@ /obj/machinery/deployable_turret/hmg name = "heavy machine gun turret" - desc = "A heavy caliber machine gun commonly used by Nanotrasen forces, famed for it's ability to give people on the receiving end more holes than normal." + desc = "A heavy caliber machine gun commonly used by Nanotrasen forces, famed for its ability to give people on the receiving end more holes than normal." icon_state = "hmg" max_integrity = 250 projectile_type = /obj/projectile/bullet/manned_turret/hmg diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 012e8e8a544e9..6577e2e667785 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -1,6 +1,7 @@ /obj/structure/displaycase + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "display case" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/storage/storage.dmi' icon_state = "glassbox" desc = "A display case for prized possessions." density = TRUE @@ -222,7 +223,7 @@ /obj/structure/displaycase_chassis name = "display case chassis" desc = "The wooden base of a display case." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/storage/storage.dmi' icon_state = "glassbox_chassis" resistance_flags = FLAMMABLE anchored = TRUE @@ -411,7 +412,7 @@ data["showpiece_icon"] = icon2base64(getFlatIcon(showpiece, no_anim=TRUE)) return data -/obj/structure/displaycase/trophy/ui_act(action, params) +/obj/structure/displaycase/trophy/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -526,7 +527,7 @@ data["product_icon"] = showpiece ? icon2base64(getFlatIcon(showpiece, no_anim=TRUE)) : null return data -/obj/structure/displaycase/forsale/ui_act(action, params) +/obj/structure/displaycase/forsale/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 9493a7c941407..9b54afa10f93e 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -6,16 +6,17 @@ anchored = FALSE density = TRUE max_integrity = 200 + greyscale_config = /datum/greyscale_config/airlocks/custom /// Airlock's current construction state var/state = AIRLOCK_ASSEMBLY_NEEDS_WIRES - var/base_name = "Airlock" + var/base_name = null var/created_name = null var/mineral = null var/obj/item/electronics/airlock/electronics = null /// Do we perform the extra checks required for multi-tile (large) airlocks var/multi_tile = FALSE /// The type path of the airlock once completed (solid version) - var/airlock_type = /obj/machinery/door/airlock + var/obj/machinery/door/airlock/airlock_type = /obj/machinery/door/airlock /// The type path of the airlock once completed (glass version) var/glass_type = /obj/machinery/door/airlock/glass /// FALSE = glass can be installed. TRUE = glass is already installed. @@ -35,9 +36,7 @@ /obj/structure/door_assembly/multi_tile name = "large airlock assembly" - icon = 'icons/obj/doors/airlocks/multi_tile/public/glass.dmi' - overlays_file = 'icons/obj/doors/airlocks/multi_tile/public/overlays.dmi' - base_name = "large airlock" + icon = /obj/machinery/door/airlock/multi_tile/public/glass::icon glass_type = /obj/machinery/door/airlock/multi_tile/public/glass airlock_type = /obj/machinery/door/airlock/multi_tile/public/glass dir = EAST @@ -47,6 +46,8 @@ material_amt = 8 /obj/structure/door_assembly/Initialize(mapload) + base_name = base_name || initial(airlock_type.name) || "Airlock" + overlays_file = initial(airlock_type.overlays_file) . = ..() update_appearance() update_name() @@ -325,14 +326,6 @@ qdel(src) return door -/obj/structure/door_assembly/update_overlays() - . = ..() - if(!glass) - . += get_airlock_overlay("fill_construction", icon, src, TRUE) - else - . += get_airlock_overlay("glass_construction", overlays_file, src, TRUE) - . += get_airlock_overlay("panel_c[state+1]", overlays_file, src, TRUE) - /obj/structure/door_assembly/update_name() name = "" switch(state) @@ -384,7 +377,7 @@ return FALSE /obj/structure/door_assembly/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_DECONSTRUCT) + if(rcd_data[RCD_DESIGN_MODE] == RCD_DECONSTRUCT) qdel(src) return TRUE return FALSE diff --git a/code/game/objects/structures/door_assembly_types.dm b/code/game/objects/structures/door_assembly_types.dm index d62fb1bec7676..febdff708689a 100644 --- a/code/game/objects/structures/door_assembly_types.dm +++ b/code/game/objects/structures/door_assembly_types.dm @@ -1,123 +1,102 @@ /obj/structure/door_assembly/door_assembly_public name = "public airlock assembly" - icon = 'icons/obj/doors/airlocks/public/glass.dmi' - overlays_file = 'icons/obj/doors/airlocks/public/overlays.dmi' + icon = /obj/machinery/door/airlock/public::icon glass_type = /obj/machinery/door/airlock/public/glass airlock_type = /obj/machinery/door/airlock/public /obj/structure/door_assembly/door_assembly_com name = "command airlock assembly" - icon = 'icons/obj/doors/airlocks/station/command.dmi' - base_name = "command airlock" + icon = /obj/machinery/door/airlock/command::icon glass_type = /obj/machinery/door/airlock/command/glass airlock_type = /obj/machinery/door/airlock/command /obj/structure/door_assembly/door_assembly_sec name = "security airlock assembly" - icon = 'icons/obj/doors/airlocks/station/security.dmi' - base_name = "security airlock" + icon = /obj/machinery/door/airlock/security::icon glass_type = /obj/machinery/door/airlock/security/glass airlock_type = /obj/machinery/door/airlock/security /obj/structure/door_assembly/door_assembly_eng name = "engineering airlock assembly" - icon = 'icons/obj/doors/airlocks/station/engineering.dmi' - base_name = "engineering airlock" + icon = /obj/machinery/door/airlock/engineering::icon glass_type = /obj/machinery/door/airlock/engineering/glass airlock_type = /obj/machinery/door/airlock/engineering /obj/structure/door_assembly/door_assembly_min name = "mining airlock assembly" - icon = 'icons/obj/doors/airlocks/station/mining.dmi' - base_name = "mining airlock" + icon = /obj/machinery/door/airlock/mining::icon glass_type = /obj/machinery/door/airlock/mining/glass airlock_type = /obj/machinery/door/airlock/mining /obj/structure/door_assembly/door_assembly_atmo name = "atmospherics airlock assembly" - icon = 'icons/obj/doors/airlocks/station/atmos.dmi' - base_name = "atmospherics airlock" + icon = /obj/machinery/door/airlock/atmos::icon glass_type = /obj/machinery/door/airlock/atmos/glass airlock_type = /obj/machinery/door/airlock/atmos /obj/structure/door_assembly/door_assembly_research name = "research airlock assembly" - icon = 'icons/obj/doors/airlocks/station/research.dmi' - base_name = "research airlock" + icon = /obj/machinery/door/airlock/research::icon glass_type = /obj/machinery/door/airlock/research/glass airlock_type = /obj/machinery/door/airlock/research /obj/structure/door_assembly/door_assembly_science name = "science airlock assembly" - icon = 'icons/obj/doors/airlocks/station/science.dmi' - base_name = "science airlock" + icon = /obj/machinery/door/airlock/science::icon glass_type = /obj/machinery/door/airlock/science/glass airlock_type = /obj/machinery/door/airlock/science /obj/structure/door_assembly/door_assembly_med name = "medical airlock assembly" - icon = 'icons/obj/doors/airlocks/station/medical.dmi' - base_name = "medical airlock" + icon = /obj/machinery/door/airlock/medical::icon glass_type = /obj/machinery/door/airlock/medical/glass airlock_type = /obj/machinery/door/airlock/medical /obj/structure/door_assembly/door_assembly_hydro name = "hydroponics airlock assembly" - icon = 'icons/obj/doors/airlocks/station/hydroponics.dmi' - base_name = "hydroponics airlock" + icon = /obj/machinery/door/airlock/hydroponics::icon glass_type = /obj/machinery/door/airlock/hydroponics/glass airlock_type = /obj/machinery/door/airlock/hydroponics /obj/structure/door_assembly/door_assembly_mai name = "maintenance airlock assembly" - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - base_name = "maintenance airlock" + icon = /obj/machinery/door/airlock/maintenance::icon glass_type = /obj/machinery/door/airlock/maintenance/glass airlock_type = /obj/machinery/door/airlock/maintenance /obj/structure/door_assembly/door_assembly_extmai name = "external maintenance airlock assembly" - icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi' - base_name = "external maintenance airlock" + icon = /obj/machinery/door/airlock/maintenance/external::icon glass_type = /obj/machinery/door/airlock/maintenance/external/glass airlock_type = /obj/machinery/door/airlock/maintenance/external /obj/structure/door_assembly/door_assembly_ext name = "external airlock assembly" - icon = 'icons/obj/doors/airlocks/external/external.dmi' - base_name = "external airlock" - overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' + icon = /obj/machinery/door/airlock/external::icon glass_type = /obj/machinery/door/airlock/external/glass airlock_type = /obj/machinery/door/airlock/external /obj/structure/door_assembly/door_assembly_fre name = "freezer airlock assembly" - icon = 'icons/obj/doors/airlocks/station/freezer.dmi' - base_name = "freezer airlock" + icon = /obj/machinery/door/airlock/freezer::icon airlock_type = /obj/machinery/door/airlock/freezer noglass = TRUE /obj/structure/door_assembly/door_assembly_hatch name = "airtight hatch assembly" - icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi' - base_name = "airtight hatch" - overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' + icon = /obj/machinery/door/airlock/hatch::icon airlock_type = /obj/machinery/door/airlock/hatch noglass = TRUE /obj/structure/door_assembly/door_assembly_mhatch name = "maintenance hatch assembly" - icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi' - base_name = "maintenance hatch" - overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' + icon = /obj/machinery/door/airlock/maintenance_hatch::icon airlock_type = /obj/machinery/door/airlock/maintenance_hatch noglass = TRUE /obj/structure/door_assembly/door_assembly_highsecurity name = "high security airlock assembly" - icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi' - base_name = "high security airlock" - overlays_file = 'icons/obj/doors/airlocks/highsec/overlays.dmi' + icon = /obj/machinery/door/airlock/highsecurity::icon airlock_type = /obj/machinery/door/airlock/highsecurity noglass = TRUE material_type = /obj/item/stack/sheet/plasteel @@ -125,9 +104,7 @@ /obj/structure/door_assembly/door_assembly_vault name = "vault door assembly" - icon = 'icons/obj/doors/airlocks/vault/vault.dmi' - base_name = "vault door" - overlays_file = 'icons/obj/doors/airlocks/vault/overlays.dmi' + icon = /obj/machinery/door/airlock/vault::icon airlock_type = /obj/machinery/door/airlock/vault noglass = TRUE material_type = /obj/item/stack/sheet/plasteel @@ -135,81 +112,68 @@ /obj/structure/door_assembly/door_assembly_shuttle name = "shuttle airlock assembly" - icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' - base_name = "shuttle airlock" - overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' + icon = /obj/machinery/door/airlock/shuttle::icon airlock_type = /obj/machinery/door/airlock/shuttle glass_type = /obj/machinery/door/airlock/shuttle/glass /obj/structure/door_assembly/door_assembly_cult name = "cult airlock assembly" - icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - base_name = "cult airlock" - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' + icon = /obj/machinery/door/airlock/cult::icon airlock_type = /obj/machinery/door/airlock/cult glass_type = /obj/machinery/door/airlock/cult/glass /obj/structure/door_assembly/door_assembly_cult/unruned - icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' + icon = /obj/machinery/door/airlock/cult/unruned::icon airlock_type = /obj/machinery/door/airlock/cult/unruned glass_type = /obj/machinery/door/airlock/cult/unruned/glass /obj/structure/door_assembly/door_assembly_viro name = "virology airlock assembly" - icon = 'icons/obj/doors/airlocks/station/virology.dmi' - base_name = "virology airlock" + icon = /obj/machinery/door/airlock/virology::icon glass_type = /obj/machinery/door/airlock/virology/glass airlock_type = /obj/machinery/door/airlock/virology /obj/structure/door_assembly/door_assembly_centcom - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' + icon = /obj/machinery/door/airlock/centcom::icon airlock_type = /obj/machinery/door/airlock/centcom noglass = TRUE /obj/structure/door_assembly/door_assembly_grunge - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' + icon = /obj/machinery/door/airlock/grunge::icon airlock_type = /obj/machinery/door/airlock/grunge noglass = TRUE /obj/structure/door_assembly/door_assembly_gold name = "gold airlock assembly" - icon = 'icons/obj/doors/airlocks/station/gold.dmi' - base_name = "gold airlock" + icon = /obj/machinery/door/airlock/gold::icon airlock_type = /obj/machinery/door/airlock/gold mineral = "gold" glass_type = /obj/machinery/door/airlock/gold/glass /obj/structure/door_assembly/door_assembly_silver name = "silver airlock assembly" - icon = 'icons/obj/doors/airlocks/station/silver.dmi' - base_name = "silver airlock" + icon = /obj/machinery/door/airlock/silver::icon airlock_type = /obj/machinery/door/airlock/silver mineral = "silver" glass_type = /obj/machinery/door/airlock/silver/glass /obj/structure/door_assembly/door_assembly_diamond name = "diamond airlock assembly" - icon = 'icons/obj/doors/airlocks/station/diamond.dmi' - base_name = "diamond airlock" + icon = /obj/machinery/door/airlock/diamond::icon airlock_type = /obj/machinery/door/airlock/diamond mineral = "diamond" glass_type = /obj/machinery/door/airlock/diamond/glass /obj/structure/door_assembly/door_assembly_uranium name = "uranium airlock assembly" - icon = 'icons/obj/doors/airlocks/station/uranium.dmi' - base_name = "uranium airlock" + icon = /obj/machinery/door/airlock/uranium::icon airlock_type = /obj/machinery/door/airlock/uranium mineral = "uranium" glass_type = /obj/machinery/door/airlock/uranium/glass /obj/structure/door_assembly/door_assembly_plasma name = "plasma airlock assembly" - icon = 'icons/obj/doors/airlocks/station/plasma.dmi' - base_name = "plasma airlock" + icon = /obj/machinery/door/airlock/plasma::icon airlock_type = /obj/machinery/door/airlock/plasma mineral = "plasma" glass_type = /obj/machinery/door/airlock/plasma/glass @@ -217,41 +181,35 @@ /obj/structure/door_assembly/door_assembly_bananium name = "bananium airlock assembly" desc = "Honk." - icon = 'icons/obj/doors/airlocks/station/bananium.dmi' - base_name = "bananium airlock" + icon = /obj/machinery/door/airlock/bananium::icon airlock_type = /obj/machinery/door/airlock/bananium mineral = "bananium" glass_type = /obj/machinery/door/airlock/bananium/glass /obj/structure/door_assembly/door_assembly_sandstone name = "sandstone airlock assembly" - icon = 'icons/obj/doors/airlocks/station/sandstone.dmi' - base_name = "sandstone airlock" + icon = /obj/machinery/door/airlock/sandstone::icon airlock_type = /obj/machinery/door/airlock/sandstone mineral = "sandstone" glass_type = /obj/machinery/door/airlock/sandstone/glass /obj/structure/door_assembly/door_assembly_titanium name = "titanium airlock assembly" - icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' - base_name = "shuttle airlock" - overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' + icon = /obj/machinery/door/airlock/titanium::icon glass_type = /obj/machinery/door/airlock/titanium/glass airlock_type = /obj/machinery/door/airlock/titanium mineral = "titanium" /obj/structure/door_assembly/door_assembly_wood name = "wooden airlock assembly" - icon = 'icons/obj/doors/airlocks/station/wood.dmi' - base_name = "wooden airlock" + icon = /obj/machinery/door/airlock/wood::icon airlock_type = /obj/machinery/door/airlock/wood mineral = "wood" glass_type = /obj/machinery/door/airlock/wood/glass /obj/structure/door_assembly/door_assembly_bronze name = "bronze airlock assembly" - icon = 'icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi' - base_name = "bronze airlock" + icon = /obj/machinery/door/airlock/bronze::icon airlock_type = /obj/machinery/door/airlock/bronze noglass = TRUE material_type = /obj/item/stack/sheet/bronze @@ -259,21 +217,21 @@ /obj/structure/door_assembly/door_assembly_bronze/seethru airlock_type = /obj/machinery/door/airlock/bronze/seethru +/obj/structure/door_assembly/multi_tile/door_assembly_public + name = "large public airlock assembly" + base_name = "large public airlock" + /obj/structure/door_assembly/door_assembly_material name = "airlock assembly" + icon = /obj/machinery/door/airlock/material::icon airlock_type = /obj/machinery/door/airlock/material glass_type = /obj/machinery/door/airlock/material/glass - greyscale_config = /datum/greyscale_config/material_airlock nomineral = TRUE material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_GREYSCALE | MATERIAL_AFFECT_STATISTICS -/obj/structure/door_assembly/multi_tile/door_assembly_public - name = "large public airlock assembly" - base_name = "large public airlock" - /obj/structure/door_assembly/multi_tile/door_assembly_tram name = "tram door assembly" - icon = 'icons/obj/doors/airlocks/tram/tram.dmi' + icon = /obj/machinery/door/airlock/tram::icon base_name = "tram door" overlays_file = 'icons/obj/doors/airlocks/tram/tram-overlays.dmi' glass_type = /obj/machinery/door/airlock/tram diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index cf3864b140059..fc5126612d922 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -1,4 +1,5 @@ /obj/structure/dresser + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "dresser" desc = "A nicely-crafted wooden dresser. It's filled with lots of undies." icon = 'icons/obj/fluff/general.dmi' diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index 8d7be60a4f9ec..f6b46915c0f59 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -9,7 +9,7 @@ /obj/structure/chair/e_chair/Initialize(mapload) . = ..() var/obj/item/assembly/shock_kit/stored_kit = new(contents) - var/image/export_to_component = image('icons/obj/chairs.dmi', loc, "echair_over") + var/image/export_to_component = image('icons/obj/structures/chairs.dmi', loc, "echair_over") AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), stored_kit, list(export_to_component)) /obj/structure/chair/e_chair/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index e78b71f14e963..72188fe6eca1a 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -1,34 +1,31 @@ /obj/structure/extinguisher_cabinet - name = "extinguisher cabinet" - desc = "A small wall mounted cabinet designed to hold a fire extinguisher." - icon = 'icons/obj/wallmounts.dmi' - icon_state = "extinguisher_closed" + name = "extinguisher rack" + desc = "A small wall mounted rack designed to hold a fire extinguisher." + icon = 'icons/obj/structures/cabinet.dmi' + icon_state = "rack" anchored = TRUE density = FALSE max_integrity = 200 integrity_failure = 0.25 var/obj/item/extinguisher/stored_extinguisher - var/opened = FALSE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet) /obj/structure/extinguisher_cabinet/Initialize(mapload, ndir, building) . = ..() - if(building) - opened = TRUE - else + if(!building) stored_extinguisher = new /obj/item/extinguisher(src) update_appearance(UPDATE_ICON) register_context() find_and_hang_on_wall() + AddComponent(/datum/component/examine_balloon, pixel_y_offset = 36) /obj/structure/extinguisher_cabinet/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() if(isnull(held_item)) - context[SCREENTIP_CONTEXT_RMB] = opened ? "Close" : "Open" if(stored_extinguisher) - context[SCREENTIP_CONTEXT_LMB] = "Take extinguisher" //Yes, this shows whether or not it's open! Extinguishers are taken immediately on LMB click when closed + context[SCREENTIP_CONTEXT_LMB] = "Take extinguisher" return CONTEXTUAL_SCREENTIP_SET if(stored_extinguisher) @@ -37,10 +34,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) if(held_item.tool_behaviour == TOOL_WRENCH) context[SCREENTIP_CONTEXT_LMB] = "Disassemble cabinet" return CONTEXTUAL_SCREENTIP_SET - if(istype(held_item, /obj/item/extinguisher) && opened) + if(istype(held_item, /obj/item/extinguisher)) context[SCREENTIP_CONTEXT_LMB] = "Insert extinguisher" return CONTEXTUAL_SCREENTIP_SET - return . /obj/structure/extinguisher_cabinet/Destroy() @@ -67,18 +63,18 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) /obj/structure/extinguisher_cabinet/attackby(obj/item/used_item, mob/living/user, params) if(used_item.tool_behaviour == TOOL_WRENCH && !stored_extinguisher) - user.balloon_alert(user, "deconstructing cabinet...") + user.balloon_alert(user, "deconstructing rack...") used_item.play_tool_sound(src) if(used_item.use_tool(src, user, 60)) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - user.balloon_alert(user, "cabinet deconstructed") + user.balloon_alert(user, "rack deconstructed") deconstruct(TRUE) return if(iscyborg(user) || isalien(user)) return if(istype(used_item, /obj/item/extinguisher)) - if(!stored_extinguisher && opened) + if(!stored_extinguisher) if(!user.transferItemToLoc(used_item, src)) return stored_extinguisher = used_item @@ -86,9 +82,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) update_appearance(UPDATE_ICON) return TRUE else - toggle_cabinet(user) - else if(!user.combat_mode) - toggle_cabinet(user) + return else return ..() @@ -102,18 +96,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) if(stored_extinguisher) user.put_in_hands(stored_extinguisher) user.balloon_alert(user, "extinguisher removed") - if(!opened) - opened = 1 - playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) - update_appearance(UPDATE_ICON) - else - toggle_cabinet(user) - -/obj/structure/extinguisher_cabinet/attack_hand_secondary(mob/living/user) - if(!user.can_perform_action(src, NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING)) - return ..() - toggle_cabinet(user) - return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /obj/structure/extinguisher_cabinet/attack_tk(mob/user) . = COMPONENT_CANCEL_ATTACK_CHAIN @@ -121,54 +103,21 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) stored_extinguisher.forceMove(loc) to_chat(user, span_notice("You telekinetically remove [stored_extinguisher] from [src].")) stored_extinguisher = null - opened = TRUE - playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) update_appearance(UPDATE_ICON) return - toggle_cabinet(user) - /obj/structure/extinguisher_cabinet/attack_paw(mob/user, list/modifiers) return attack_hand(user, modifiers) -/obj/structure/extinguisher_cabinet/proc/toggle_cabinet(mob/user) - if(opened && broken) - user.balloon_alert(user, "it's broken!") - else - playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) - opened = !opened - update_appearance(UPDATE_ICON) - -/obj/structure/extinguisher_cabinet/update_icon_state() - icon_state = "extinguisher" - - if(isnull(stored_extinguisher)) - icon_state += "" - else if(istype(stored_extinguisher, /obj/item/extinguisher/mini)) - icon_state += "_mini" - else if(istype(stored_extinguisher, /obj/item/extinguisher/advanced)) - icon_state += "_advanced" - else if(istype(stored_extinguisher, /obj/item/extinguisher/crafted)) - icon_state += "_crafted" - else if(istype(stored_extinguisher, /obj/item/extinguisher)) - icon_state += "_default" - - if(!opened) - icon_state += "_closed" - - return ..() - /obj/structure/extinguisher_cabinet/atom_break(damage_flag) . = ..() if(!broken) broken = 1 - opened = 1 if(stored_extinguisher) stored_extinguisher.forceMove(loc) stored_extinguisher = null update_appearance(UPDATE_ICON) - /obj/structure/extinguisher_cabinet/atom_deconstruct(disassembled = TRUE) if(disassembled) new /obj/item/wallframe/extinguisher_cabinet(loc) @@ -178,10 +127,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) stored_extinguisher.forceMove(loc) stored_extinguisher = null +/obj/structure/extinguisher_cabinet/update_overlays() + . = ..() + if(stored_extinguisher) + . += stored_extinguisher.cabinet_icon_state + /obj/item/wallframe/extinguisher_cabinet - name = "extinguisher cabinet frame" + name = "extinguisher rack frame" desc = "Used for building wall-mounted extinguisher cabinets." - icon = 'icons/obj/wallmounts.dmi' - icon_state = "extinguisher_assembly" + icon = 'icons/obj/structures/cabinet.dmi' + icon_state = "rack" result_path = /obj/structure/extinguisher_cabinet - pixel_shift = 29 diff --git a/code/game/objects/structures/fake_stairs.dm b/code/game/objects/structures/fake_stairs.dm index 1152a8c02dcca..57d492822789a 100644 --- a/code/game/objects/structures/fake_stairs.dm +++ b/code/game/objects/structures/fake_stairs.dm @@ -1,7 +1,7 @@ /// Stairs but they are FAKE and dont have any of the Z-changing behavior. DO NOT MAP THESE NEXT TO REAL STAIRS /obj/structure/fake_stairs name = "stairs" - icon = 'icons/obj/stairs.dmi' + icon = 'icons/obj/structures/stairs.dmi' icon_state = "stairs" anchored = TRUE move_resist = INFINITY @@ -9,12 +9,12 @@ layer = ABOVE_OPEN_TURF_LAYER plane = FLOOR_PLANE //one with the floor -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fake_stairs, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/fake_stairs) /obj/structure/fake_stairs/wood icon_state = "stairs_wood" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fake_stairs/wood, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/fake_stairs/wood) /obj/structure/fake_stairs/stone icon_state = "stairs_stone" diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 0564223a7c759..ea8922b3c31ac 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -1,40 +1,142 @@ /* * False Walls */ + +/// Stores a list of icon -> icon but with all fullblack pixels fully transparent +/// I would LOVE to do this with colormatrix bullshit but alpha does NOT cap at 1 on some GPUs for some stupid reason +GLOBAL_LIST_INIT(falsewall_alpha_icons, generate_transparent_falsewalls()) + +/proc/generate_transparent_falsewalls() + var/list/icon_alphas = list() + for(var/obj/structure/falsewall/false_type as anything in typesof(/obj/structure/falsewall)) + var/icon/make_transparent = initial(false_type.fake_icon) + if(icon_alphas[make_transparent]) + continue + var/icon/alpha_icon = icon(make_transparent) + // I am SO sorry (makes any full black pixels transparent) + alpha_icon.SwapColor("#000000FF", rgb(0, 0, 0, 0)) + icon_alphas[make_transparent] = alpha_icon + return icon_alphas + +/// Static mask we use to hide the bits of falsewalls that would be "below" the floor when opening/closing +/obj/effect/falsewall_mask + icon = 'icons/effects/32x48.dmi' + icon_state = "white" + vis_flags = VIS_INHERIT_ID + appearance_flags = parent_type::appearance_flags | KEEP_TOGETHER | RESET_TRANSFORM + +/obj/effect/falsewall_mask/Initialize(mapload) + . = ..() + render_target = "*falsewall_mask" + +/// Duplicates our parent falsewall's rendering behavior +/// But renders walls as overlays instead of with splitvis +/// In viscontents to make separation of concerns easier +/obj/effect/falsewall_floating + vis_flags = VIS_INHERIT_PLANE|VIS_INHERIT_ID + appearance_flags = parent_type::appearance_flags | KEEP_TOGETHER | RESET_ALPHA + /// The icon to fake ourselves as + var/icon/fake_icon + /// If darkness in our sprite is visible or not + /// Exists so we can make falsewalls fall "into" the floor + /// Potentially breaks art but the usecase is so minimal I will accept it + var/opaque_darkness = TRUE + var/static/obj/effect/falsewall_mask/trim + +/obj/effect/falsewall_floating/proc/set_fake_icon(icon/fake_icon) + if(src.fake_icon == fake_icon) + return + src.fake_icon = fake_icon + update_appearance() + +/obj/effect/falsewall_floating/proc/set_darkness_opacity(opaque_darkness) + if(src.opaque_darkness == opaque_darkness) + return + src.opaque_darkness = opaque_darkness + update_appearance() + +/obj/effect/falsewall_floating/set_smoothed_icon_state(new_junction) + . = ..() + update_appearance() + +/// Runs an animation that masks off the bottom of our sprite +/obj/effect/falsewall_floating/proc/trim_base(delay) + if(!trim) + trim = new(src) + vis_contents += trim + add_filter("trim_mask", 1, alpha_mask_filter(y = -40, render_source = trim.render_target, flags = MASK_INVERSE)) + transition_filter("trim_mask", alpha_mask_filter(y = -16, render_source = trim.render_target, flags = MASK_INVERSE), time = delay) + +/// Runs an animation that slowly reveals the bottom of our sprite +/obj/effect/falsewall_floating/proc/untrim_base(delay) + if(!trim) + trim = new(src) + vis_contents += trim + add_filter("trim_mask", 1, alpha_mask_filter(y = -16, render_source = trim.render_target, flags = MASK_INVERSE)) + transition_filter("trim_mask", alpha_mask_filter(y = -40, render_source = trim.render_target, flags = MASK_INVERSE), time = delay) + +/obj/effect/falsewall_floating/update_overlays() + . = ..() + // If we smooth north then as we open there's gonna be a weird hole left by the lack of blackness from above. this should help? compensate for that. + if(smoothing_junction & NORTH_JUNCTION && opaque_darkness) + var/mutable_appearance/black_backdrop = mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background") + black_backdrop.pixel_z = 16 + . += black_backdrop + + var/icon/working_fake_icon = opaque_darkness ? fake_icon : GLOB.falsewall_alpha_icons[fake_icon] + . += generate_joined_wall(working_fake_icon, smoothing_junction, draw_darkness = opaque_darkness) + /obj/structure/falsewall name = "wall" desc = "A huge chunk of metal used to separate rooms." anchored = TRUE icon = 'icons/turf/walls/false_walls.dmi' - icon_state = "wall-open" + icon_state = "wall" base_icon_state = "wall" layer = LOW_OBJ_LAYER density = TRUE opacity = TRUE max_integrity = 100 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_WALLS can_be_unanchored = FALSE can_atmos_pass = ATMOS_PASS_DENSITY rad_insulation = RAD_MEDIUM_INSULATION material_flags = MATERIAL_EFFECTS + // Complex appearance gotta use render targets + blocks_emissive = EMISSIVE_BLOCK_UNIQUE + /// The object we are using to fake being a wall + var/obj/effect/falsewall_floating/visuals + /// Our usual smoothing groups + var/list/usual_groups /// The icon this falsewall is faking being. we'll switch out our icon with this when we're in fake mode - var/fake_icon = 'icons/turf/walls/wall.dmi' + var/fake_icon = 'icons/turf/walls/metal_wall.dmi' var/mineral = /obj/item/stack/sheet/iron var/mineral_amount = 2 var/walltype = /turf/closed/wall var/girder_type = /obj/structure/girder/displaced var/opening = FALSE - /obj/structure/falsewall/Initialize(mapload) . = ..() + visuals = new(src) + visuals.set_fake_icon(fake_icon) + AddElement(/datum/element/split_visibility, fake_icon, color) var/obj/item/stack/initialized_mineral = new mineral // Okay this kinda sucks. set_custom_materials(initialized_mineral.mats_per_unit, mineral_amount) qdel(initialized_mineral) + set_opacity(TRUE) // walls cannot be transparent fuck u materials air_update_turf(TRUE, TRUE) +/obj/structure/falsewall/Destroy(force) + QDEL_NULL(visuals) + return ..() + +/obj/structure/falsewall/set_smoothed_icon_state(new_junction) + . = ..() + visuals.set_smoothed_icon_state(new_junction) + /obj/structure/falsewall/attack_hand(mob/user, list/modifiers) if(opening) return @@ -42,47 +144,55 @@ if(.) return - opening = TRUE if(!density) var/srcturf = get_turf(src) for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield - opening = FALSE return - update_appearance() - addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/structure/falsewall, toggle_open)), 0.5 SECONDS) + INVOKE_ASYNC(src, PROC_REF(toggle_open)) /obj/structure/falsewall/proc/toggle_open() - if(!QDELETED(src)) - set_density(!density) - set_opacity(density) - opening = FALSE - update_appearance() - air_update_turf(TRUE, !density) - -/obj/structure/falsewall/update_icon(updates=ALL)//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open - . = ..() - if(!density || !(updates & UPDATE_SMOOTHING)) - return - - if(opening) - smoothing_flags = NONE - clear_smooth_overlays() - else - smoothing_flags = SMOOTH_BITMASK - QUEUE_SMOOTH(src) - -/obj/structure/falsewall/update_icon_state() - if(opening) - icon = initial(icon) - icon_state = "[base_icon_state]-[density ? "opening" : "closing"]" - return ..() + opening = TRUE if(density) - icon = fake_icon - icon_state = "[base_icon_state]-[smoothing_junction]" + open() else - icon = initial(icon) - icon_state = "[base_icon_state]-open" - return ..() + close() + opening = FALSE + +/obj/structure/falsewall/proc/open() + vis_contents += visuals + RemoveElement(/datum/element/split_visibility, fake_icon, color) + visuals.trim_base(1 SECONDS) + animate(src, pixel_z = -24, time = 1 SECONDS) + usual_groups = smoothing_groups + smoothing_groups = list() + QUEUE_SMOOTH_NEIGHBORS(src) // Update any walls around us + sleep(0.2 SECONDS) + set_opacity(FALSE) + sleep(0.8 SECONDS) + visuals.set_darkness_opacity(FALSE) + set_density(FALSE) + air_update_turf(TRUE, TRUE) + +/obj/structure/falsewall/proc/close() + set_density(TRUE) + air_update_turf(TRUE, FALSE) + visuals.untrim_base(1 SECONDS) + animate(src, pixel_z = 0, time = 1 SECONDS) + visuals.set_darkness_opacity(TRUE) + sleep(0.3 SECONDS) + set_opacity(TRUE) + smoothing_groups = usual_groups + usual_groups = null + QUEUE_SMOOTH_NEIGHBORS(src) + sleep(0.7 SECONDS) + vis_contents -= visuals + AddElement(/datum/element/split_visibility, fake_icon, color) + +/obj/structure/falsewall/update_icon(updates=ALL) + . = ..() + if(!(updates & UPDATE_SMOOTHING)) + return + QUEUE_SMOOTH(src) /obj/structure/falsewall/proc/ChangeToWall(delete = 1) var/turf/T = get_turf(src) @@ -155,7 +265,7 @@ name = "reinforced wall" desc = "A huge chunk of reinforced metal used to separate rooms." fake_icon = 'icons/turf/walls/reinforced_wall.dmi' - icon_state = "reinforced_wall-open" + icon_state = "reinforced_wall" base_icon_state = "reinforced_wall" walltype = /turf/closed/wall/r_wall mineral = /obj/item/stack/sheet/plasteel @@ -178,12 +288,12 @@ name = "uranium wall" desc = "A wall with uranium plating. This is probably a bad idea." fake_icon = 'icons/turf/walls/uranium_wall.dmi' - icon_state = "uranium_wall-open" + icon_state = "uranium_wall" base_icon_state = "uranium_wall" mineral = /obj/item/stack/sheet/mineral/uranium walltype = /turf/closed/wall/mineral/uranium smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_URANIUM_WALLS /// Mutex to prevent infinite recursion when propagating radiation pulses @@ -229,36 +339,36 @@ name = "gold wall" desc = "A wall with gold plating. Swag!" fake_icon = 'icons/turf/walls/gold_wall.dmi' - icon_state = "gold_wall-open" + icon_state = "gold_wall" base_icon_state = "gold_wall" mineral = /obj/item/stack/sheet/mineral/gold walltype = /turf/closed/wall/mineral/gold smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_GOLD_WALLS /obj/structure/falsewall/silver name = "silver wall" desc = "A wall with silver plating. Shiny." fake_icon = 'icons/turf/walls/silver_wall.dmi' - icon_state = "silver_wall-open" + icon_state = "silver_wall" base_icon_state = "silver_wall" mineral = /obj/item/stack/sheet/mineral/silver walltype = /turf/closed/wall/mineral/silver smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_SILVER_WALLS /obj/structure/falsewall/diamond name = "diamond wall" desc = "A wall with diamond plating. You monster." fake_icon = 'icons/turf/walls/diamond_wall.dmi' - icon_state = "diamond_wall-open" + icon_state = "diamond_wall" base_icon_state = "diamond_wall" mineral = /obj/item/stack/sheet/mineral/diamond walltype = /turf/closed/wall/mineral/diamond smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_DIAMOND_WALLS max_integrity = 800 @@ -266,24 +376,24 @@ name = "plasma wall" desc = "A wall with plasma plating. This is definitely a bad idea." fake_icon = 'icons/turf/walls/plasma_wall.dmi' - icon_state = "plasma_wall-open" + icon_state = "plasma_wall" base_icon_state = "plasma_wall" mineral = /obj/item/stack/sheet/mineral/plasma walltype = /turf/closed/wall/mineral/plasma smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_PLASMA_WALLS /obj/structure/falsewall/bananium name = "bananium wall" desc = "A wall with bananium plating. Honk!" fake_icon = 'icons/turf/walls/bananium_wall.dmi' - icon_state = "bananium_wall-open" + icon_state = "bananium_wall" base_icon_state = "bananium_wall" mineral = /obj/item/stack/sheet/mineral/bananium walltype = /turf/closed/wall/mineral/bananium smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_BANANIUM_WALLS @@ -291,97 +401,121 @@ name = "sandstone wall" desc = "A wall with sandstone plating. Rough." fake_icon = 'icons/turf/walls/sandstone_wall.dmi' - icon_state = "sandstone_wall-open" + icon_state = "sandstone_wall" base_icon_state = "sandstone_wall" mineral = /obj/item/stack/sheet/mineral/sandstone walltype = /turf/closed/wall/mineral/sandstone smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_SANDSTONE_WALLS /obj/structure/falsewall/wood name = "wooden wall" desc = "A wall with wooden plating. Stiff." fake_icon = 'icons/turf/walls/wood_wall.dmi' - icon_state = "wood_wall-open" + icon_state = "wood_wall" base_icon_state = "wood_wall" mineral = /obj/item/stack/sheet/mineral/wood walltype = /turf/closed/wall/mineral/wood smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_WOOD_WALLS /obj/structure/falsewall/bamboo name = "bamboo wall" desc = "A wall with bamboo finish. Zen." fake_icon = 'icons/turf/walls/bamboo_wall.dmi' - icon_state = "bamboo_wall-open" + icon_state = "bamboo_wall" base_icon_state = "bamboo_wall" mineral = /obj/item/stack/sheet/mineral/bamboo walltype = /turf/closed/wall/mineral/bamboo smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_BAMBOO_WALLS +/obj/structure/falsewall/meat + name = "meat wall" + desc = "A wall of somone's compacted meat." + fake_icon = 'icons/turf/walls/meat_wall.dmi' + icon_state = "meat_wall" + base_icon_state = "meat_wall" + mineral = /obj/item/stack/sheet/meat + walltype = /turf/closed/wall/mineral/meat + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_MEAT_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_MEAT_WALLS + +/obj/structure/falsewall/pizza + name = "pepperoni wallzza" + desc = "It's a delicious pepperoni wallzza!" + fake_icon = 'icons/turf/walls/pizza_wall.dmi' + icon_state = "pizza_wall" + base_icon_state = "pizza_wall" + mineral = /obj/item/stack/sheet/pizza + walltype = /turf/closed/wall/mineral/pizza + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_PIZZA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_PIZZA_WALLS + /obj/structure/falsewall/iron name = "rough iron wall" desc = "A wall with rough metal plating." fake_icon = 'icons/turf/walls/iron_wall.dmi' - icon_state = "iron_wall-open" + icon_state = "iron_wall" base_icon_state = "iron_wall" mineral = /obj/item/stack/rods mineral_amount = 5 walltype = /turf/closed/wall/mineral/iron base_icon_state = "iron_wall" smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_IRON_WALLS /obj/structure/falsewall/abductor name = "alien wall" desc = "A wall with alien alloy plating." fake_icon = 'icons/turf/walls/abductor_wall.dmi' - icon_state = "abductor_wall-open" + icon_state = "abductor_wall" base_icon_state = "abductor_wall" mineral = /obj/item/stack/sheet/mineral/abductor walltype = /turf/closed/wall/mineral/abductor smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS /obj/structure/falsewall/titanium name = "wall" desc = "A light-weight titanium wall used in shuttles." fake_icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "shuttle_wall-open" + icon_state = "shuttle_wall" base_icon_state = "shuttle_wall" mineral = /obj/item/stack/sheet/mineral/titanium walltype = /turf/closed/wall/mineral/titanium smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_TITANIUM_WALLS + smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_TALL_WALLS + canSmoothWith = SMOOTH_GROUP_TITANIUM_WALLS /obj/structure/falsewall/plastitanium name = "wall" desc = "An evil wall of plasma and titanium." fake_icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-open" + icon_state = "plastitanium_wall" base_icon_state = "plastitanium_wall" mineral = /obj/item/stack/sheet/mineral/plastitanium walltype = /turf/closed/wall/mineral/plastitanium smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_TALL_WALLS + canSmoothWith = SMOOTH_GROUP_PLASTITANIUM_WALLS /obj/structure/falsewall/material name = "wall" desc = "A huge chunk of material used to separate rooms." fake_icon = 'icons/turf/walls/material_wall.dmi' - icon_state = "material_wall-open" + icon_state = "material_wall" base_icon_state = "material_wall" walltype = /turf/closed/wall/material smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS canSmoothWith = SMOOTH_GROUP_MATERIAL_WALLS material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS @@ -395,19 +529,7 @@ /obj/structure/falsewall/material/mat_update_desc(mat) desc = "A huge chunk of [mat] used to separate rooms." -/obj/structure/falsewall/material/toggle_open() - if(!QDELETED(src)) - set_density(!density) - var/mat_opacity = TRUE - for(var/datum/material/mat in custom_materials) - if(mat.alpha < 255) - mat_opacity = FALSE - break - set_opacity(density && mat_opacity) - opening = FALSE - update_appearance() - air_update_turf(TRUE, !density) - +// wallening todo: does this work?? /obj/structure/falsewall/material/ChangeToWall(delete = 1) var/turf/current_turf = get_turf(src) var/turf/closed/wall/material/new_wall = current_turf.place_on_top(/turf/closed/wall/material) @@ -416,6 +538,8 @@ qdel(src) return current_turf +// Wallening todo: do we want this? +/* /obj/structure/falsewall/material/update_icon(updates) . = ..() for(var/datum/material/mat in custom_materials) @@ -433,3 +557,6 @@ var/mutable_appearance/girder_underlay = mutable_appearance('icons/obj/structures.dmi', girder_icon_state, layer = LOW_OBJ_LAYER-0.01) girder_underlay.appearance_flags = RESET_ALPHA | RESET_COLOR underlays += girder_underlay +*/ + + diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index 95c725868ca1a..4496f5681ef03 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -16,7 +16,7 @@ density = TRUE anchored = TRUE - icon = 'icons/obj/fence.dmi' + icon = 'icons/obj/structures/fence.dmi' icon_state = "straight" var/cuttable = TRUE diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index ab69b7bc7a41e..c154d45e345cb 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -1,7 +1,7 @@ /obj/structure/fireaxecabinet name = "fire axe cabinet" desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/cabinet.dmi' icon_state = "fireaxe" anchored = TRUE density = FALSE @@ -21,7 +21,7 @@ /// Whether we should populate our own contents on Initialize() var/populate_contents = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet) /datum/armor/structure_fireaxecabinet melee = 50 @@ -209,15 +209,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32) /obj/structure/fireaxecabinet/empty populate_contents = FALSE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/empty, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/empty) /obj/item/wallframe/fireaxecabinet name = "fire axe cabinet" desc = "Home to a window's greatest nightmare. Apply to wall to use." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/cabinet.dmi' icon_state = "fireaxe" result_path = /obj/structure/fireaxecabinet/empty - pixel_shift = 32 /obj/structure/fireaxecabinet/mechremoval name = "mech removal tool cabinet" @@ -226,7 +225,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/empty, 32) item_path = /obj/item/crowbar/mechremoval item_overlay = "crowbar" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/mechremoval, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/mechremoval) /obj/structure/fireaxecabinet/mechremoval/atom_deconstruct(disassembled = TRUE) if(held_item && loc) @@ -236,7 +235,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/mechremoval, 32) /obj/structure/fireaxecabinet/mechremoval/empty populate_contents = FALSE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/mechremoval/empty, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/mechremoval/empty) /obj/item/wallframe/fireaxecabinet/mechremoval name = "mech removal tool cabinet" diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 49a230d6bdc48..8a557f1fb8921 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -2,7 +2,7 @@ name = "flora" desc = "Some sort of plant." resistance_flags = FLAMMABLE - max_integrity = 150 + max_integrity = 100 anchored = TRUE drag_slowdown = 1.3 @@ -113,6 +113,12 @@ if(harvest(user)) after_harvest(user) +/obj/structure/flora/run_atom_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) + if(damage_flag == MELEE) + if(damage_type == BURN) + damage_amount *= 4 + return ..() + /obj/structure/flora/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) var/use_default_sound = TRUE //Because I don't wanna do unnecessary bitflag checks in a single if statement, while also allowing for multiple sounds to be played if(flora_flags & FLORA_HERBAL) @@ -278,9 +284,9 @@ name = "tree" desc = "A large tree." density = TRUE + max_integrity = 150 pixel_x = -16 layer = FLY_LAYER - plane = ABOVE_GAME_PLANE drag_slowdown = 1.5 product_types = list(/obj/item/grown/log/tree = 1) harvest_amount_low = 6 @@ -948,7 +954,6 @@ pixel_x = -16 pixel_y = -12 layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE /obj/structure/flora/bush/large/style_2 icon_state = "bush2" diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index 7acfa65f62577..2f4ca5a929822 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -115,7 +115,6 @@ icon_state = "frontwalltop" density = FALSE layer = ABOVE_ALL_MOB_LAYER //except for the stairs tile, which should be set to OBJ_LAYER aka 3. - plane = ABOVE_GAME_PLANE /obj/structure/fluff/bus/passable/seat @@ -207,12 +206,11 @@ density = TRUE deconstructible = FALSE layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE /obj/structure/fluff/beach_towel name = "beach towel" desc = "A towel decorated in various beach-themed designs." - icon = 'icons/obj/railings.dmi' + icon = 'icons/obj/structures/railings.dmi' icon_state = "railing" density = FALSE anchored = TRUE @@ -283,7 +281,7 @@ /obj/structure/fluff/tram_rail name = "tram rail" desc = "Great for trams, not so great for skating." - icon = 'icons/obj/tram/tram_rails.dmi' + icon = 'icons/obj/structures/tram/tram_rails.dmi' icon_state = "rail" layer = TRAM_RAIL_LAYER plane = FLOOR_PLANE diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 0f20f87e0b547..7d1a715029685 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -1,5 +1,6 @@ /obj/structure/girder name = "girder" + icon = 'icons/obj/structures/tall.dmi' icon_state = "girder" desc = "A large structural assembly made out of metal; It requires a layer of iron before it can be considered a wall." anchored = TRUE @@ -330,6 +331,7 @@ if(state != GIRDER_REINF) return state = GIRDER_REINF_STRUTS + update_icon() return TRUE else if(state == GIRDER_REINF_STRUTS) @@ -338,6 +340,7 @@ if(state != GIRDER_REINF_STRUTS) return state = GIRDER_REINF + update_icon() return TRUE // Wirecutter behavior for girders @@ -388,6 +391,18 @@ var/remains = pick(/obj/item/stack/rods, /obj/item/stack/sheet/iron) new remains(loc) +/obj/structure/girder/update_icon_state() + . = ..() + switch(state) + if(GIRDER_NORMAL) + icon_state = "girder" + if(GIRDER_DISPLACED) + icon_state = "displaced" + if(GIRDER_REINF) + icon_state = "reinforced" + if(GIRDER_REINF_STRUTS) + icon_state = "reinforced_struts" + /obj/structure/girder/narsie_act() new /obj/structure/girder/cult(loc) qdel(src) @@ -410,6 +425,7 @@ /obj/structure/girder/tram name = "tram girder" desc = "Titanium framework to construct tram walls. Can be plated with titanium glass or other wall materials." + icon = 'icons/obj/structures/tall.dmi' icon_state = "tram" state = GIRDER_TRAM obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN @@ -422,8 +438,7 @@ /obj/structure/girder/cult name = "runed girder" desc = "Framework made of a strange and shockingly cold metal. It doesn't seem to have any bolts." - icon = 'icons/obj/antags/cult/structures.dmi' - icon_state= "cultgirder" + icon_state = "cultgirder" can_displace = FALSE /obj/structure/girder/cult/attackby(obj/item/W, mob/user, params) @@ -477,7 +492,7 @@ return FALSE /obj/structure/girder/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_TURF) if(the_rcd.rcd_design_path != /turf/open/floor/plating/rcd) return FALSE diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 3bd3e00cc273b..2e570e51f3311 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -4,8 +4,8 @@ /obj/structure/grille desc = "A flimsy framework of iron rods." name = "grille" - icon = 'icons/obj/structures.dmi' - icon_state = "grille" + icon = 'icons/obj/structures/smooth/grille.dmi' + icon_state = "grille-0" base_icon_state = "grille" density = TRUE anchored = TRUE @@ -15,6 +15,9 @@ armor_type = /datum/armor/structure_grille max_integrity = 50 integrity_failure = 0.4 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_GRILLE + canSmoothWith = SMOOTH_GROUP_GRILLE var/rods_type = /obj/item/stack/rods var/rods_amount = 2 @@ -37,17 +40,44 @@ . = ..() update_appearance() -/obj/structure/grille/update_appearance(updates) - if(QDELETED(src) || broken) +/obj/structure/grille/update_icon(updates=ALL) + if(QDELETED(src)) return + var/old_base_state = base_icon_state + var/ratio = atom_integrity / max_integrity + if(ratio <= 0.7) + icon = 'icons/obj/structures/smooth/grille_damaged.dmi' + base_icon_state = "grille_damaged" + else + icon = 'icons/obj/structures/smooth/grille.dmi' + base_icon_state = "grille" + + if(old_base_state != base_icon_state) + icon_state = "[base_icon_state]-[smoothing_junction]" + + var/old_smoothing_flags = smoothing_flags + if(broken) + icon = 'icons/obj/structures/smooth/tall_structure_variations.dmi' + icon_state = "grille-broken" + base_icon_state = "grille-broken" + smoothing_flags = NONE + smoothing_groups = null + canSmoothWith = null + else + smoothing_flags = initial(smoothing_flags) + smoothing_groups = initial(smoothing_groups) + canSmoothWith = initial(canSmoothWith) + SETUP_SMOOTHING() . = ..() - if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) - QUEUE_SMOOTH(src) -/obj/structure/grille/update_icon_state() - icon_state = "[base_icon_state][((atom_integrity / max_integrity) <= 0.5) ? "50_[rand(0, 3)]" : null]" - return ..() + if(!(updates & UPDATE_SMOOTHING)) + return + if(old_smoothing_flags == smoothing_flags && (smoothing_flags & USES_SMOOTHING)) + return + // If our flags changed, update EVERYBODY + QUEUE_SMOOTH(src) + QUEUE_SMOOTH_NEIGHBORS(src) /obj/structure/grille/examine(mob/user) . = ..() @@ -87,7 +117,7 @@ return FALSE /obj/structure/grille/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_DECONSTRUCT) qdel(src) return TRUE @@ -101,18 +131,19 @@ if(!clear_tile(user)) return FALSE - var/obj/structure/window/window_path = rcd_data["[RCD_DESIGN_PATH]"] + var/obj/structure/window/window_path = rcd_data[RCD_DESIGN_PATH] if(!ispath(window_path)) CRASH("Invalid window path type in RCD: [window_path]") + var/window_direction = rcd_data[RCD_BUILD_DIRECTION] || user.dir //checks if its a valid build direction if(!initial(window_path.fulltile)) - if(!valid_build_direction(loc, user.dir, is_fulltile = FALSE)) + if(!valid_build_direction(loc, window_direction , is_fulltile = FALSE)) balloon_alert(user, "window already here!") return FALSE - var/obj/structure/window/WD = new window_path(T, user.dir) - WD.set_anchored(TRUE) + var/obj/structure/window/window = new window_path(T, window_direction ) + window.set_anchored(TRUE) return TRUE return FALSE @@ -296,21 +327,21 @@ /obj/structure/grille/atom_break() . = ..() if(!broken) - icon_state = "brokengrille" set_density(FALSE) atom_integrity = 20 broken = TRUE rods_amount = 1 var/obj/item/dropped_rods = new rods_type(drop_location(), rods_amount) transfer_fingerprints_to(dropped_rods) + update_appearance() /obj/structure/grille/proc/repair_grille() if(broken) - icon_state = "grille" set_density(TRUE) atom_integrity = max_integrity broken = FALSE rods_amount = 2 + update_appearance() return TRUE return FALSE @@ -366,10 +397,14 @@ return null /obj/structure/grille/broken // Pre-broken grilles for map placement - icon_state = "brokengrille" + icon = 'icons/obj/structures/smooth/tall_structure_variations.dmi' + icon_state = "grille-broken" density = FALSE broken = TRUE rods_amount = 1 + smoothing_flags = null + smoothing_groups = null + canSmoothWith = null /obj/structure/grille/broken/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index a51e82498e2bc..8501ce40bf1d7 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -31,7 +31,7 @@ /obj/structure/guillotine name = "guillotine" desc = "A large structure used to remove the heads of traitors and treasonists." - icon = 'icons/obj/guillotine.dmi' + icon = 'icons/obj/structures/guillotine.dmi' icon_state = "guillotine_raised" icon_preview = 'icons/obj/fluff/previews.dmi' icon_state_preview = "guilliotine" diff --git a/code/game/objects/structures/gym/punching_bag.dm b/code/game/objects/structures/gym/punching_bag.dm index 59ccf6f23c2c3..65028d4038bc8 100644 --- a/code/game/objects/structures/gym/punching_bag.dm +++ b/code/game/objects/structures/gym/punching_bag.dm @@ -1,4 +1,5 @@ /obj/structure/punching_bag + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "punching bag" desc = "A punching bag. Can you get to speed level 4???" icon = 'icons/obj/fluff/gym_equipment.dmi' diff --git a/code/game/objects/structures/gym/weight_machine.dm b/code/game/objects/structures/gym/weight_machine.dm index 352ef65ff0050..357c4359be7e9 100644 --- a/code/game/objects/structures/gym/weight_machine.dm +++ b/code/game/objects/structures/gym/weight_machine.dm @@ -3,6 +3,7 @@ #define SAFE_DRUNK_LEVEL 39 /obj/structure/weightmachine + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "chest press machine" desc = "Just looking at this thing makes you feel tired." icon = 'icons/obj/fluff/gym_equipment.dmi' diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index fca325744554d..4d26332a275d6 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -1,7 +1,7 @@ /obj/structure/headpike name = "spooky head on a spear" desc = "When you really want to send a message." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/weapons/spear.dmi' icon_state = "headpike" density = FALSE anchored = TRUE diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 1d7fc470afff8..30983c5088d67 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -3,7 +3,7 @@ /obj/structure/holosign name = "holo sign" - icon = 'icons/effects/effects.dmi' + icon = 'icons/effects/holosigns.dmi' anchored = TRUE max_integrity = 1 armor_type = /datum/armor/structure_holosign @@ -21,10 +21,7 @@ /obj/structure/holosign/Initialize(mapload, source_projector) . = ..() - var/turf/our_turf = get_turf(src) - if(use_vis_overlay) - alpha = 0 - SSvis_overlays.add_vis_overlay(src, icon, icon_state, ABOVE_MOB_LAYER, MUTATE_PLANE(GAME_PLANE, our_turf), dir, add_appearance_flags = RESET_ALPHA) //you see mobs under it, but you hit them like they are above it + create_vis_overlay() if(source_projector) projector = source_projector LAZYADD(projector.signs, src) @@ -41,6 +38,11 @@ return attack_holosign(user, modifiers) +/obj/structure/holosign/CanAllowThrough(atom/movable/mover, border_dir) + . = ..() + if(!. && isprojectile(mover)) // Its short enough to be shot over + return TRUE + /obj/structure/holosign/proc/attack_holosign(mob/living/user, list/modifiers) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) user.changeNext_move(CLICK_CD_MELEE) @@ -54,38 +56,100 @@ if(BURN) playsound(loc, 'sound/weapons/egloves.ogg', 80, TRUE) +/obj/structure/holosign/proc/create_vis_overlay() + var/turf/our_turf = get_turf(src) + if(use_vis_overlay) + alpha = 0 + SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) + SSvis_overlays.add_vis_overlay(src, icon, icon_state, ABOVE_MOB_LAYER, MUTATE_PLANE(GAME_PLANE, our_turf), dir, add_appearance_flags = RESET_ALPHA) //you see mobs under it, but you hit them like they are above it + /obj/structure/holosign/wetsign name = "wet floor sign" desc = "The words flicker as if they mean nothing." - icon = 'icons/effects/effects.dmi' icon_state = "holosign" /obj/structure/holosign/barrier - name = "holobarrier" - desc = "A short holographic barrier which can only be passed by walking." + name = "security holobarrier" + desc = "A strong short security holographic barrier used for crowd control and blocking crime scenes. Can only be passed by walking." icon_state = "holosign_sec" + base_icon_state = "holosign_sec" pass_flags_self = PASSTABLE | PASSGRILLE | PASSGLASS | LETPASSTHROW density = TRUE max_integrity = 20 - var/allow_walk = TRUE //can we pass through it on walk intent + COOLDOWN_DECLARE(cooldown_open) + ///Can we pass through it on walk intent? + var/allow_walk = TRUE + ///Can it be temporarily opened with the holosign projector? + var/openable = TRUE + ///Is it opened? + var/opened = FALSE + ///What is the icon of opened holobarrier? + var/pass_icon_state = "holosign_pass" /obj/structure/holosign/barrier/CanAllowThrough(atom/movable/mover, border_dir) . = ..() if(.) return + + if(opened) + return TRUE + if(iscarbon(mover)) - var/mob/living/carbon/C = mover - if(C.stat) // Lets not prevent dragging unconscious/dead people. + var/mob/living/carbon/moving_carbon = mover + if(moving_carbon.stat) // Lets not prevent dragging unconscious/dead people. return TRUE - if(allow_walk && C.move_intent == MOVE_INTENT_WALK) + if(allow_walk && moving_carbon.move_intent == MOVE_INTENT_WALK) return TRUE +/obj/structure/holosign/barrier/ranged_item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = ..() + if(tool != projector) + return + if(openable) + open(user) + +/obj/structure/holosign/barrier/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = ..() + if(tool != projector) + return + qdel(src) + +/obj/structure/holosign/barrier/update_icon_state() + if(!opened) + icon_state = base_icon_state + else + icon_state = pass_icon_state + + create_vis_overlay() + . = ..() + +/obj/structure/holosign/barrier/proc/open(user) + if(!openable) + balloon_alert(user, "unable!") + return + + if(!COOLDOWN_FINISHED(src, cooldown_open)) + balloon_alert(user, "on cooldown!") + return + + if(!opened) + density = FALSE + opened = TRUE + playsound(src, 'sound/machines/door_open.ogg', 50, TRUE) + else + density = TRUE + opened = FALSE + playsound(src, 'sound/machines/door_close.ogg', 50, TRUE) + + update_icon_state() + COOLDOWN_START(src, cooldown_open, 1 SECONDS) + /obj/structure/holosign/barrier/wetsign name = "wet floor holobarrier" - desc = "When it says walk it means walk." - icon = 'icons/effects/effects.dmi' - icon_state = "holosign" + desc = "When it says walk it means WALK!" + icon_state = "holosign_dense" max_integrity = 1 + openable = FALSE /obj/structure/holosign/barrier/wetsign/CanAllowThrough(atom/movable/mover, border_dir) . = ..() @@ -97,7 +161,10 @@ return FALSE /obj/structure/holosign/barrier/engineering + name = "engineering holobarrier" + desc = "A short engineering holographic barrier used for designating hazardous zones, slightly blocks radiation. Can only be passed by walking." icon_state = "holosign_engi" + base_icon_state = "holosign_engi" rad_insulation = RAD_LIGHT_INSULATION max_integrity = 1 @@ -105,6 +172,7 @@ name = "holofirelock" desc = "A holographic barrier resembling a firelock. Though it does not prevent solid objects from passing through, gas is kept out." icon_state = "holo_firelock" + openable = FALSE density = FALSE anchored = TRUE can_atmos_pass = ATMOS_PASS_NO @@ -129,11 +197,13 @@ /obj/structure/holosign/barrier/atmos/sturdy name = "sturdy holofirelock" max_integrity = 150 + openable = FALSE /obj/structure/holosign/barrier/atmos/tram name = "tram atmos barrier" max_integrity = 150 icon_state = "holo_tram" + openable = FALSE /obj/structure/holosign/barrier/atmos/Initialize(mapload) . = ..() @@ -166,9 +236,10 @@ name = "\improper PENLITE holobarrier" desc = "A holobarrier that uses biometrics to detect human viruses. Denies passing to personnel with easily-detected, malicious viruses. Good for quarantines." icon_state = "holo_medical" - alpha = 125 //lazy :) + base_icon_state = "holo_medical" max_integrity = 1 - var/buzzcd = 0 + openable = FALSE + COOLDOWN_DECLARE(virus_detected) /obj/structure/holosign/barrier/medical/CanAllowThrough(atom/movable/mover, border_dir) . = ..() @@ -183,12 +254,18 @@ /obj/structure/holosign/barrier/medical/Bumped(atom/movable/AM) . = ..() - icon_state = "holo_medical" - if(ishuman(AM) && !CheckHuman(AM)) - if(buzzcd < world.time) - playsound(get_turf(src),'sound/machines/buzz-sigh.ogg',65,TRUE,4) - buzzcd = (world.time + 60) - icon_state = "holo_medical-deny" + icon_state = base_icon_state + update_icon_state() + if(!ishuman(AM) && CheckHuman(AM)) + return + + if(!COOLDOWN_FINISHED(src, virus_detected)) + return + + playsound(get_turf(src),'sound/machines/buzz-sigh.ogg', 65, TRUE, 4) + COOLDOWN_START(src, virus_detected, 1 SECONDS) + icon_state = "holo_medical-deny" + update_icon_state() /obj/structure/holosign/barrier/medical/proc/CheckHuman(mob/living/carbon/human/sickboi) var/threat = sickboi.check_virus() diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 314539aa2b412..79acf784663c5 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -2,7 +2,7 @@ /obj/structure/ladder name = "ladder" desc = "A sturdy metal ladder." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "ladder11" anchored = TRUE obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index cf6fe65abe274..5f1d138b90b67 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -1,7 +1,7 @@ /obj/structure/lattice name = "lattice" desc = "A lightweight support lattice. These hold our station together." - icon = 'icons/obj/smooth_structures/lattice.dmi' + icon = 'icons/obj/structures/smooth/lattice.dmi' icon_state = "lattice-255" base_icon_state = "lattice" density = FALSE @@ -23,6 +23,7 @@ if(length(give_turf_traits)) give_turf_traits = string_list(give_turf_traits) AddElement(/datum/element/give_turf_traits, give_turf_traits) + AddElement(/datum/element/footstep_override, footstep = FOOTSTEP_CATWALK) /datum/armor/structure_lattice melee = 50 @@ -66,8 +67,8 @@ return FALSE /obj/structure/lattice/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF) - var/design_structure = rcd_data["[RCD_DESIGN_PATH]"] + if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF) + var/design_structure = rcd_data[RCD_DESIGN_PATH] if(design_structure == /turf/open/floor/plating) var/turf/T = src.loc if(isgroundlessturf(T)) @@ -88,7 +89,7 @@ /obj/structure/lattice/catwalk name = "catwalk" desc = "A catwalk for easier EVA maneuvering and cable placement." - icon = 'icons/obj/smooth_structures/catwalk.dmi' + icon = 'icons/obj/structures/smooth/catwalk.dmi' icon_state = "catwalk-0" base_icon_state = "catwalk" number_of_mats = 2 @@ -98,10 +99,6 @@ obj_flags = CAN_BE_HIT | BLOCK_Z_OUT_DOWN | BLOCK_Z_IN_UP give_turf_traits = list(TRAIT_TURF_IGNORE_SLOWDOWN, TRAIT_LAVA_STOPPED, TRAIT_CHASM_STOPPED, TRAIT_IMMERSE_STOPPED, TRAIT_HYPERSPACE_STOPPED) -/obj/structure/lattice/catwalk/Initialize(mapload) - . = ..() - AddElement(/datum/element/footstep_override, footstep = FOOTSTEP_CATWALK) - /obj/structure/lattice/catwalk/deconstruction_hints(mob/user) return span_notice("The supporting rods look like they could be cut.") @@ -141,7 +138,7 @@ /obj/structure/lattice/lava name = "heatproof support lattice" desc = "A specialized support beam for building across lava. Watch your step." - icon = 'icons/obj/smooth_structures/catwalk.dmi' + icon = 'icons/obj/structures/smooth/catwalk.dmi' icon_state = "catwalk-0" base_icon_state = "catwalk" number_of_mats = 1 diff --git a/code/game/objects/structures/lavaland/geyser.dm b/code/game/objects/structures/lavaland/geyser.dm index 7ef40423e0d44..48601a3ec98a9 100644 --- a/code/game/objects/structures/lavaland/geyser.dm +++ b/code/game/objects/structures/lavaland/geyser.dm @@ -45,7 +45,7 @@ ///start making those CHHHHHEEEEEEMS. Called whenever chems are removed, it's fine because START_PROCESSING checks if we arent already processing /obj/structure/geyser/proc/start_chemming() - START_PROCESSING(SSplumbing, src) //It's main function is to be plumbed, so use SSplumbing + START_PROCESSING(SSplumbing, src) //Its main function is to be plumbed, so use SSplumbing ///We're full so stop processing /obj/structure/geyser/proc/stop_chemming() @@ -117,7 +117,7 @@ /obj/item/plunger name = "plunger" desc = "It's a plunger for plunging." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "plunger" worn_icon_state = "plunger" @@ -185,3 +185,7 @@ layer_mode_sprite = "reinforced_plunger_layer" custom_premium_price = PAYCHECK_CREW * 8 + +/obj/item/plunger/cyborg/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT) diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index cb9d203e3f2c7..f9214b989b95c 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -39,6 +39,7 @@ MEDIUM_VENT_TYPE = 5, SMALL_VENT_TYPE = 7, ) + var/wave_timer = WAVE_DURATION_SMALL /// What string do we use to warn the player about the excavation event? var/excavation_warning = "Are you ready to excavate this ore vent?" @@ -159,7 +160,7 @@ * This proc is called when the ore vent is initialized, in order to determine what minerals boulders it spawns can contain. * The materials available are determined by SSore_generation.ore_vent_minerals, which is a list of all minerals that can be contained in ore vents for a given cave generation. * As a result, minerals use a weighted list as seen by ore_vent_minerals_lavaland, which is then copied to ore_vent_minerals. - * Once a material is picked from the weighted list, it's removed from ore_vent_minerals, so that it can't be picked again and provided it's own internal weight used when assigning minerals to boulders spawned by this vent. + * Once a material is picked from the weighted list, it's removed from ore_vent_minerals, so that it can't be picked again and provided its own internal weight used when assigning minerals to boulders spawned by this vent. * May also be called after the fact, as seen in SSore_generation's initialize, to add more minerals to an existing vent. * * The above applies only when spawning in at mapload, otherwise we pick randomly from ore_vent_minerals_lavaland. @@ -219,6 +220,9 @@ node.arrive(src) RegisterSignal(node, COMSIG_QDELETING, PROC_REF(handle_wave_conclusion)) RegisterSignal(node, COMSIG_MOVABLE_MOVED, PROC_REF(handle_wave_conclusion)) + addtimer(CALLBACK(node, TYPE_PROC_REF(/atom, update_appearance)), wave_timer * 0.25) + addtimer(CALLBACK(node, TYPE_PROC_REF(/atom, update_appearance)), wave_timer * 0.5) + addtimer(CALLBACK(node, TYPE_PROC_REF(/atom, update_appearance)), wave_timer * 0.75) particles = new /particles/smoke/ash() for(var/i in 1 to 5) // Clears the surroundings of the ore vent before starting wave defense. for(var/turf/closed/mineral/rock in oview(i)) @@ -247,11 +251,6 @@ spawn_distance = 4, \ spawn_distance_exclude = 3, \ ) - var/wave_timer = 60 SECONDS - if(boulder_size == BOULDER_SIZE_MEDIUM) - wave_timer = 90 SECONDS - else if(boulder_size == BOULDER_SIZE_LARGE) - wave_timer = 150 SECONDS COOLDOWN_START(src, wave_cooldown, wave_timer) addtimer(CALLBACK(src, PROC_REF(handle_wave_conclusion)), wave_timer) icon_state = icon_state_tapped @@ -290,6 +289,7 @@ icon_state = icon_state_tapped update_appearance(UPDATE_ICON_STATE) qdel(GetComponent(/datum/component/gps)) + UnregisterSignal(node, COMSIG_QDELETING) else visible_message(span_danger("\the [src] creaks and groans as the mining attempt fails, and the vent closes back up.")) icon_state = initial(icon_state) @@ -474,18 +474,22 @@ switch(string_boulder_size) if(LARGE_VENT_TYPE) boulder_size = BOULDER_SIZE_LARGE + wave_timer = WAVE_DURATION_LARGE if(mapload) GLOB.ore_vent_sizes["large"] += 1 if(MEDIUM_VENT_TYPE) boulder_size = BOULDER_SIZE_MEDIUM + wave_timer = WAVE_DURATION_MEDIUM if(mapload) GLOB.ore_vent_sizes["medium"] += 1 if(SMALL_VENT_TYPE) boulder_size = BOULDER_SIZE_SMALL + wave_timer = WAVE_DURATION_SMALL if(mapload) GLOB.ore_vent_sizes["small"] += 1 else boulder_size = BOULDER_SIZE_SMALL //Might as well set a default value + wave_timer = WAVE_DURATION_SMALL name = initial(name) diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm index ecd6f54d2557a..4a66a46375755 100644 --- a/code/game/objects/structures/maintenance.dm +++ b/code/game/objects/structures/maintenance.dm @@ -2,8 +2,10 @@ as well as a location where a hidden item can somtimes be retrieved at the cost of risking a vicious bite.**/ /obj/structure/moisture_trap + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "moisture trap" desc = "A device installed in order to control moisture in poorly ventilated areas.\nThe stagnant water inside basin seems to produce serious biofouling issues when improperly maintained.\nThis unit in particular seems to be teeming with life!\nWho thought mother Gaia could assert herself so vigoriously in this sterile and desolate place?" + icon = 'icons/obj/maintenance_loot.dmi' icon_state = "moisture_trap" anchored = TRUE density = FALSE @@ -31,7 +33,7 @@ at the cost of risking a vicious bite.**/ /obj/structure/moisture_trap/Initialize(mapload) . = ..() - ADD_TRAIT(src, TRAIT_FISH_SAFE_STORAGE, TRAIT_GENERIC) + AddElement(/datum/element/fish_safe_storage) AddElement(/datum/element/swabable, CELL_LINE_TABLE_MOIST, CELL_VIRUS_TABLE_GENERIC, rand(2,4), 20) if(prob(40)) critter_infested = FALSE @@ -81,7 +83,7 @@ at the cost of risking a vicious bite.**/ if(critter_infested && prob(50) && iscarbon(user)) var/mob/living/carbon/bite_victim = user var/obj/item/bodypart/affecting = bite_victim.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") - to_chat(user, span_danger("You feel a sharp pain as an unseen creature sinks it's [pick("fangs", "beak", "proboscis")] into your arm!")) + to_chat(user, span_danger("You feel a sharp pain as an unseen creature sinks its [pick("fangs", "beak", "proboscis")] into your arm!")) if(affecting?.receive_damage(30)) bite_victim.update_damage_overlays() playsound(src,'sound/weapons/bite.ogg', 70, TRUE) @@ -248,6 +250,7 @@ at the cost of risking a vicious bite.**/ /obj/structure/steam_vent name = "steam vent" desc = "A device periodically filtering out moisture particles from the nearby walls and windows. It's only possible due to the moisture traps nearby." + icon = 'icons/obj/maintenance_loot.dmi' icon_state = "steam_vent" anchored = TRUE density = FALSE diff --git a/code/game/objects/structures/mannequin.dm b/code/game/objects/structures/mannequin.dm index a47802273d5a0..b53de86d5eec3 100644 --- a/code/game/objects/structures/mannequin.dm +++ b/code/game/objects/structures/mannequin.dm @@ -15,7 +15,6 @@ pixel_y = 3 base_pixel_y = 3 layer = ABOVE_MOB_LAYER - plane = ABOVE_GAME_PLANE /// Which body type we use, male or female? var/body_type /// Material we're used of, wood or plastic? @@ -98,15 +97,15 @@ var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[underwear_name] if(underwear) if(body_type == FEMALE && underwear.gender == MALE) - . += wear_female_version(underwear.icon_state, underwear.icon, BODY_LAYER, FEMALE_UNIFORM_FULL) + . += mutable_appearance(wear_female_version(underwear.icon_state, underwear.icon, FEMALE_UNIFORM_FULL), layer = -BODY_LAYER) else - . += mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) + . += mutable_appearance(underwear.icon, underwear.icon_state, layer = -BODY_LAYER) var/datum/sprite_accessory/undershirt/undershirt = SSaccessories.undershirt_list[undershirt_name] if(undershirt) if(body_type == FEMALE) - . += wear_female_version(undershirt.icon_state, undershirt.icon, BODY_LAYER) + . += mutable_appearance(wear_female_version(undershirt.icon_state, undershirt.icon), layer = -BODY_LAYER) else - . += mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER) + . += mutable_appearance(undershirt.icon, undershirt.icon_state, layer = -BODY_LAYER) var/datum/sprite_accessory/socks/socks = SSaccessories.socks_list[socks_name] if(socks) . += mutable_appearance(socks.icon, socks.icon_state, -BODY_LAYER) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index d67f61e9442bb..af616412916a5 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -41,6 +41,11 @@ set_custom_materials(initialized_mineral.mats_per_unit, sheetAmount) qdel(initialized_mineral) air_update_turf(TRUE, TRUE) + return INITIALIZE_HINT_LATELOAD + +/obj/structure/mineral_door/LateInitialize(mapload) + if(mapload) + auto_align() /obj/structure/mineral_door/Destroy() if(!door_opened) @@ -103,9 +108,8 @@ /obj/structure/mineral_door/proc/Open() isSwitchingStates = TRUE playsound(src, openSound, 100, TRUE) + sleep(0.8 SECONDS) set_opacity(FALSE) - flick("[initial(icon_state)]opening",src) - sleep(1 SECONDS) set_density(FALSE) door_opened = TRUE layer = OPEN_DOOR_LAYER @@ -124,8 +128,7 @@ return isSwitchingStates = TRUE playsound(src, closeSound, 100, TRUE) - flick("[initial(icon_state)]closing",src) - sleep(1 SECONDS) + sleep(0.8 SECONDS) set_density(TRUE) set_opacity(TRUE) door_opened = FALSE @@ -135,9 +138,16 @@ isSwitchingStates = FALSE /obj/structure/mineral_door/update_icon_state() - icon_state = "[initial(icon_state)][door_opened ? "open":""]" + icon_state = "[initial(icon_state)][door_opened ? "_open_top":""]" return ..() +/obj/structure/mineral_door/update_overlays() + . = ..() + if(!density) + // If we're open we layer the bit below us "above" any mobs so they can walk through + . += mutable_appearance(icon, "[initial(icon_state)]_open_bottom", ABOVE_MOB_LAYER, appearance_flags = KEEP_APART) + . += emissive_blocker(icon, "[initial(icon_state)]_open_bottom", src, ABOVE_MOB_LAYER) + /obj/structure/mineral_door/attackby(obj/item/I, mob/living/user) if(pickaxe_door(user, I)) return diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 7ea2330281413..d8e73252319af 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -18,7 +18,7 @@ /obj/structure/mirror name = "mirror" desc = "Mirror mirror on the wall, who's the most robust of them all?" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "mirror" movement_type = FLOATING density = FALSE @@ -31,10 +31,20 @@ var/race_flags = MIRROR_MAGIC ///List of all Races that can be chosen, decided by its Initialize. var/list/selectable_races = list() + ///Per-dir reflection filters + var/static/list/list/reflection_filters /obj/structure/mirror/Initialize(mapload) . = ..() - update_choices() + var/static/matrix/reflection_matrix = matrix(0.75, 0, 0, 0, 0.75, 0) + var/datum/callback/can_reflect = CALLBACK(src, PROC_REF(can_reflect)) + var/list/update_signals = list(COMSIG_ATOM_BREAK) + if (isnull(reflection_filters)) + reflection_filters = list() + for (var/car_dir in GLOB.cardinals) + reflection_filters["[car_dir]"] = alpha_mask_filter(icon = icon('icons/obj/structures/watercloset.dmi', "mirror_mask", dir = car_dir)) + AddComponent(/datum/component/reflection, reflection_filter = reflection_filters["[dir]"], reflection_matrix = reflection_matrix, can_reflect = can_reflect, update_signals = update_signals) + AddComponent(/datum/component/examine_balloon) /obj/structure/mirror/Destroy() mirror_options = null @@ -45,9 +55,11 @@ for(var/i in mirror_options) mirror_options[i] = icon('icons/hud/radial.dmi', i) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/mirror) + /obj/structure/mirror/Initialize(mapload) . = ..() - var/static/list/reflection_filter = alpha_mask_filter(icon = icon('icons/obj/watercloset.dmi', "mirror_mask")) + var/static/list/reflection_filter = alpha_mask_filter(icon = icon('icons/obj/structures/watercloset.dmi', "mirror_mask")) var/static/matrix/reflection_matrix = matrix(0.75, 0, 0, 0, 0.75, 0) var/datum/callback/can_reflect = CALLBACK(src, PROC_REF(can_reflect)) var/list/update_signals = list(COMSIG_ATOM_BREAK) @@ -61,11 +73,9 @@ return FALSE return TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) - /obj/structure/mirror/Initialize(mapload) . = ..() - find_and_hang_on_wall() + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) /obj/structure/mirror/broken icon_state = "mirror_broke" @@ -74,7 +84,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) . = ..() atom_break(null, mapload) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken) /obj/structure/mirror/attack_hand(mob/living/carbon/human/user) . = ..() @@ -305,14 +315,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28) /obj/item/wallframe/mirror name = "mirror" desc = "An unmounted mirror. Attach it to a wall to use." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "mirror" custom_materials = list( /datum/material/glass = SHEET_MATERIAL_AMOUNT, /datum/material/silver = SHEET_MATERIAL_AMOUNT, ) result_path = /obj/structure/mirror - pixel_shift = 28 /obj/structure/mirror/magic name = "magic mirror" @@ -320,6 +329,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28) icon_state = "magic_mirror" mirror_options = MAGIC_MIRROR_OPTIONS +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/mirror/magic) + /obj/structure/mirror/magic/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index b80cee093fc66..76a2c71848a61 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -31,7 +31,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants and other ghosties. /obj/structure/bodycontainer - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/storage/storage.dmi' icon_state = "morgue1" density = TRUE anchored = TRUE @@ -594,7 +594,7 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/tray/m_tray name = "morgue tray" desc = "Apply corpse before closing." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/storage/storage.dmi' icon_state = "morguet" pass_flags_self = PASSTABLE | LETPASSTHROW layer = /obj/structure/bodycontainer/morgue::layer - 0.03 diff --git a/code/game/objects/structures/mystery_box.dm b/code/game/objects/structures/mystery_box.dm index e165c2e295c93..9bb51ba09cbef 100644 --- a/code/game/objects/structures/mystery_box.dm +++ b/code/game/objects/structures/mystery_box.dm @@ -19,7 +19,6 @@ #define MBOX_DURATION_STANDBY (2.7 SECONDS) GLOBAL_LIST_INIT(mystery_box_guns, list( - /obj/item/gun/energy/lasercannon, /obj/item/gun/energy/recharge/ebow/large, /obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/nuclear, @@ -45,6 +44,7 @@ GLOBAL_LIST_INIT(mystery_box_guns, list( /obj/item/gun/ballistic/automatic/m90/unrestricted, /obj/item/gun/ballistic/automatic/tommygun, /obj/item/gun/ballistic/automatic/wt550, + /obj/item/gun/ballistic/automatic/smartgun, /obj/item/gun/ballistic/rifle/sniper_rifle, /obj/item/gun/ballistic/rifle/boltaction, )) @@ -85,6 +85,30 @@ GLOBAL_LIST_INIT(mystery_magic, list( /obj/item/runic_vendor_scepter, )) +GLOBAL_LIST_INIT(mystery_fishing, list( + /obj/item/storage/toolbox/fishing/master, + /obj/item/storage/box/fish_revival_kit, + /obj/item/circuitboard/machine/fishing_portal_generator/emagged, + /obj/item/fishing_rod/telescopic/master, + /obj/item/bait_can/super_baits, + /obj/item/storage/fish_case/tiziran, + /obj/item/storage/fish_case/syndicate, + /obj/item/claymore/cutlass/old, + /obj/item/gun/energy/laser/retro/old, + /obj/item/gun/energy/laser/musket, + /obj/item/gun/energy/disabler/smoothbore, + /obj/item/gun/ballistic/rifle/boltaction/surplus, + /obj/item/food/rationpack, + /obj/item/food/canned/squid_ink, + /obj/item/reagent_containers/cup/glass/bottle/rum/aged, + /obj/item/storage/bag/money/dutchmen, + /obj/item/language_manual/piratespeak, + /obj/item/clothing/head/costume/pirate/armored, + /obj/item/clothing/suit/costume/pirate/armored, + /obj/structure/cannon/mystery_box, + /obj/item/stack/cannonball/trashball/four, + /obj/item/stack/cannonball/four, +)) /obj/structure/mystery_box name = "mystery box" @@ -117,6 +141,10 @@ GLOBAL_LIST_INIT(mystery_magic, list( var/grant_extra_mag = TRUE /// Stores the current sound channel we're using so we can cut off our own sounds as needed. Randomized after each roll var/current_sound_channel + /// How many time can it still be used? + var/uses_left + /// A list of weakrefs to mind datums of people that opened it and how many times. + var/list/datum/weakref/minds_that_opened_us /obj/structure/mystery_box/Initialize(mapload) . = ..() @@ -126,6 +154,7 @@ GLOBAL_LIST_INIT(mystery_magic, list( QDEL_NULL(presented_item) if(current_sound_channel) SSsounds.free_sound_channel(current_sound_channel) + minds_that_opened_us = null return ..() /obj/structure/mystery_box/attack_hand(mob/living/user, list/modifiers) @@ -163,6 +192,11 @@ GLOBAL_LIST_INIT(mystery_magic, list( current_sound_channel = SSsounds.reserve_sound_channel(src) playsound(src, open_sound, 70, FALSE, channel = current_sound_channel, falloff_exponent = 10) playsound(src, crate_open_sound, 80) + if(user.mind) + LAZYINITLIST(minds_that_opened_us) + var/datum/weakref/ref = WEAKREF(user.mind) + minds_that_opened_us[ref] += 1 + uses_left-- /// The box has finished choosing, mark it as available for grabbing /obj/structure/mystery_box/proc/present_weapon() @@ -186,6 +220,9 @@ GLOBAL_LIST_INIT(mystery_magic, list( box_close_timer = null box_expire_timer = null addtimer(CALLBACK(src, PROC_REF(ready_again)), MBOX_DURATION_STANDBY) + if(uses_left <= 0) + visible_message("[src] breaks down.") + deconstruct(disassembled = FALSE) /// The cooldown between activations has finished, shake to show that /obj/structure/mystery_box/proc/ready_again() @@ -196,22 +233,26 @@ GLOBAL_LIST_INIT(mystery_magic, list( /// Someone attacked the box with an empty hand, spawn the shown prize and give it to them, then close the box /obj/structure/mystery_box/proc/grant_weapon(mob/living/user) - var/obj/item/instantiated_weapon = new presented_item.selected_path(src) - user.put_in_hands(instantiated_weapon) - - if(isgun(instantiated_weapon)) // handle pins + possibly extra ammo - var/obj/item/gun/instantiated_gun = instantiated_weapon - instantiated_gun.unlock() - if(grant_extra_mag && istype(instantiated_gun, /obj/item/gun/ballistic)) - var/obj/item/gun/ballistic/instantiated_ballistic = instantiated_gun - if(!instantiated_ballistic.internal_magazine) - var/obj/item/ammo_box/magazine/extra_mag = new instantiated_ballistic.spawn_magazine_type(loc) - user.put_in_hands(extra_mag) - + var/atom/movable/instantiated_weapon = new presented_item.selected_path(loc) user.visible_message(span_notice("[user] takes [presented_item] from [src]."), span_notice("You take [presented_item] from [src]."), vision_distance = COMBAT_MESSAGE_RANGE) playsound(src, grant_sound, 70, FALSE, channel = current_sound_channel, falloff_exponent = 10) close_box() + if(!isitem(instantiated_weapon)) + return + user.put_in_hands(instantiated_weapon) + + if(!isgun(instantiated_weapon)) + return + // handle pins + possibly extra ammo + var/obj/item/gun/instantiated_gun = instantiated_weapon + instantiated_gun.unlock() + if(!grant_extra_mag || !istype(instantiated_gun, /obj/item/gun/ballistic)) + return + var/obj/item/gun/ballistic/instantiated_ballistic = instantiated_gun + if(!instantiated_ballistic.internal_magazine) + var/obj/item/ammo_box/magazine/extra_mag = new instantiated_ballistic.spawn_magazine_type(loc) + user.put_in_hands(extra_mag) /obj/structure/mystery_box/guns desc = "A wooden crate that seems equally magical and mysterious, capable of granting the user all kinds of different pieces of gear. This one seems focused on firearms." @@ -231,6 +272,28 @@ GLOBAL_LIST_INIT(mystery_magic, list( /obj/structure/mystery_box/wands/generate_valid_types() valid_types = GLOB.mystery_magic +///One of a kind, rarely found by fishing in the ocean. +/obj/structure/mystery_box/fishing + name = "treasure chest" + desc = "A pirate-y chest that seems equally magial and mysterious, capable of granting the user different pieces of gear." + icon_state = "treasure" + uses_left = 18 + max_integrity = 100 + damage_deflection = 30 + grant_extra_mag = FALSE + +/obj/structure/mystery_box/handle_deconstruct(disassembled) + new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) + return ..() + +/obj/structure/mystery_box/fishing/generate_valid_types() + valid_types = GLOB.mystery_fishing + +/obj/structure/mystery_box/fishing/activate(mob/living/user) + if(user.mind && minds_that_opened_us?[WEAKREF(user.mind)] >= 3) + to_chat(user, span_warning("[src] refuses to open to you anymore. Perhaps you should present it to someone else...")) + return + return ..() /// This represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable. /obj/mystery_box_item @@ -290,14 +353,14 @@ GLOBAL_LIST_INIT(mystery_magic, list( /// animate() isn't up to the task for queueing up icon changes, so this is the proc we call with timers to update our icon /obj/mystery_box_item/proc/update_random_icon(new_item_type) - var/obj/item/new_item = new_item_type - icon = initial(new_item.icon) - icon_state = initial(new_item.icon_state) + var/atom/movable/new_item = new_item_type + icon = new_item::icon + icon_state = new_item::icon_state /obj/mystery_box_item/proc/present_item() - var/obj/item/selected_item = selected_path + var/atom/movable/selected_item = selected_path add_filter("ready_outline", 2, list("type" = "outline", "color" = COLOR_VIVID_YELLOW, "size" = 0.2)) - name = initial(selected_item.name) + name = selected_item::name parent_box.present_weapon() claimable = TRUE diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 841da89972599..9669be7364b88 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -3,7 +3,7 @@ /obj/structure/noticeboard name = "notice board" desc = "A board for pinning important notices upon. It is made of the finest Spanish cork." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/wallmounts.dmi' icon_state = "noticeboard" density = FALSE anchored = TRUE @@ -11,7 +11,7 @@ /// Current number of a pinned notices var/notices = 0 -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/noticeboard) /obj/structure/noticeboard/Initialize(mapload) . = ..() @@ -26,7 +26,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32) I.forceMove(src) notices++ update_appearance(UPDATE_ICON) - find_and_hang_on_wall() + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) //attaching papers!! /obj/structure/noticeboard/attackby(obj/item/O, mob/user, params) @@ -66,7 +66,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32) data["items"] += list(content_data) return data -/obj/structure/noticeboard/ui_act(action, params) +/obj/structure/noticeboard/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -118,17 +118,21 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/noticeboard, 32) for(var/obj/item/content in contents) remove_item(content) +/obj/structure/noticeboard/update_overlays() + . = ..() + if(notices) + . += "notices_[notices]" + /obj/item/wallframe/noticeboard name = "notice board" desc = "Right now it's more of a clipboard. Attach to a wall to use." - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/wallmounts.dmi' icon_state = "noticeboard" custom_materials = list( /datum/material/wood = SHEET_MATERIAL_AMOUNT, ) resistance_flags = FLAMMABLE result_path = /obj/structure/noticeboard - pixel_shift = 32 // Notice boards for the heads of staff (plus the qm) diff --git a/code/game/objects/structures/pinatas.dm b/code/game/objects/structures/pinatas.dm index 63502f12ad5e2..6483d39b1a26c 100644 --- a/code/game/objects/structures/pinatas.dm +++ b/code/game/objects/structures/pinatas.dm @@ -89,3 +89,28 @@ desc = "A papier-mâché corgi that contains various candy and explosives, must be set up before you can smash it." icon_state = "pinata_syndie" pinata_type = /obj/structure/pinata/syndie + +/obj/structure/pinata/donk + name = "donk corgi pinata" + desc = "A papier-mâché representation of a corgi that contains all sorts of savory treats." + icon_state = "pinata_donk_placed" + base_icon_state = "pinata_donk_placed" + debris = /obj/effect/decal/cleanable/wrapping/pinata/donk + candy_options = list( + /obj/item/food/donkpocket/warm, + /obj/item/food/donkpocket/warm/pizza, + /obj/item/food/donkpocket/warm/honk, + /obj/item/food/donkpocket/warm/berry, + /obj/item/food/donkpocket/warm, + /obj/item/food/tatortot, + /obj/item/gun/ballistic/automatic/pistol/toy, + /obj/item/hot_potato/harmless/toy, + /obj/item/storage/box/donkpockets, + /obj/item/toy/plush/donkpocket, + ) + +/obj/item/pinata/donk + name = "\improper Donk Co. pinata assembly kit" + desc = "A papier-mâché corgi that contains various foodstuff and toys, must be set up before you can smash it." + icon_state = "pinata_donk" + pinata_type = /obj/structure/pinata/donk diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index 1277869dbf67f..cc9c556021c97 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -13,6 +13,8 @@ ///Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. Static plaques are already engraved. var/engraved = FALSE +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque) + /datum/armor/structure_plaque melee = 50 fire = 50 @@ -20,6 +22,7 @@ /obj/structure/plaque/Initialize(mapload) . = ..() + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) register_context() /obj/structure/plaque/add_context(atom/source, list/context, obj/item/held_item, mob/user) @@ -103,6 +106,7 @@ engraved = TRUE //The plaque now has a name, description, and can't be altered again. user.visible_message(span_notice("[user] engraves [src]."), \ span_notice("You engrave [src].")) + icon_state = "goldenplaque" return if(istype(I, /obj/item/pen)) if(engraved) @@ -193,14 +197,6 @@ var/obj/structure/plaque/placed_plaque = new plaque_path(user_turf) //We place the plaque on the turf the user is standing, and pixel shift it to the target wall, as below. //This is to mimic how signs and other wall objects are usually placed by mappers, and so they're only visible from one side of a wall. var/dir = get_dir(user_turf, target_turf) - if(dir & NORTH) - placed_plaque.pixel_y = 32 - else if(dir & SOUTH) - placed_plaque.pixel_y = -32 - if(dir & EAST) - placed_plaque.pixel_x = 32 - else if(dir & WEST) - placed_plaque.pixel_x = -32 user.visible_message(span_notice("[user] fastens [src] to [target_turf]."), \ span_notice("You attach [src] to [target_turf].")) playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm index 3ae3b66b71b66..7fade5654645f 100644 --- a/code/game/objects/structures/plaques/static_plaques.dm +++ b/code/game/objects/structures/plaques/static_plaques.dm @@ -2,23 +2,35 @@ /obj/structure/plaque/static_plaque engraved = TRUE + icon_state = "goldenplaque" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque) /obj/structure/plaque/static_plaque/atmos name = "\improper FEA Atmospherics Division plaque" desc = "This plaque commemorates the fall of the Atmos FEA division. For all the charred, dizzy, and brittle men who have died in its hands." + icon_state = "employeeplaque" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/atmos) /obj/structure/plaque/static_plaque/thunderdome name = "Thunderdome Plaque" desc = "This plaque commemorates those who have fallen in glorious combat. For all the charred, dizzy, and beaten men who have died in its hands." +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/thunderdome) + /obj/structure/plaque/static_plaque/golden name = "The Most Robust Men Award for Robustness" desc = "To be Robust is not an action or a way of life, but a mental state. Only those with the force of Will strong enough to act during a crisis, saving friend from foe, are truly Robust. Stay Robust my friends." - icon_state = "goldenplaque" + icon_state = "employeeplaque" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden) /obj/structure/plaque/static_plaque/golden/captain name = "The Most Robust Captain Award for Robustness" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/captain) + /obj/structure/plaque/static_plaque/tram /// The tram we have info about var/specific_transport_id = TRAMSTATION_LINE_1 @@ -30,6 +42,10 @@ icon_state = "commission_tram" custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT) layer = SIGN_LAYER + pixel_y = -29 + pixel_z = 29 + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/tram) /obj/structure/plaque/static_plaque/tram/Initialize(mapload) . = ..() @@ -107,90 +123,132 @@ icon_state = "commission_nt" layer = BELOW_OPEN_DOOR_LAYER +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission) + //Current stations // Icebox Station: added May 13, 2020 (#51090) /obj/structure/plaque/static_plaque/golden/commission/icebox desc = "Spinward Sector Station SS-13\n'Box' Class Outpost (Revision 2.2: 'Icebox')\nCommissioned 13/05/2560\n'Cold Reliable'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/icebox) + // Metastation: added Mar 11, 2013 (best estimate, pre-git) /obj/structure/plaque/static_plaque/golden/commission/meta desc = "Spinward Sector Station SS-13\n'Meta' Class Outpost\nCommissioned 11/03/2553\n'Theseus' Station'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/meta) + // Deltastation: added Dec 17, 2016 (#22066) /obj/structure/plaque/static_plaque/golden/commission/delta desc = "Spinward Sector Station SS-13\n'Delta' Class Outpost\nCommissioned 17/12/2556\n'Efficiency Through Redundancy'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/delta) + // Tramstation: added Mar 11, 2021 (#56509) /obj/structure/plaque/static_plaque/golden/commission/tram desc = "Spinward Sector Station SS-13\n'Tram' Class Outpost\nCommissioned 11/03/2561\n'Making Moves'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/tram) + // Wawastation: added add date here /obj/structure/plaque/static_plaque/golden/commission/wawa desc = "Spinward Sector Station SS-13\n'Wawa' Class Outpost\nCommissioned 11/03/add here\n'Forever Vertical'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/wawa) + // North Star: added Apr 13, 2023 (#74371) /obj/structure/plaque/static_plaque/golden/commission/northstar desc = "Spinward Sector Ship SS-13\n'North Star' Class Vessel\nCommissioned 13/04/2563\n'New Opportunities'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/northstar) + // Birdshot: added Apr 29, 2023 (#74371) /obj/structure/plaque/static_plaque/golden/commission/birdshot desc = "Spinward Sector Station SS-13\n'Birdshot' Class Outpost\nCommissioned 29/04/2563\n'Shooting for the Stars'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/birdshot) + //Removed stations // Asteroidstation: added Oct 17, 2015 (169ab09f7b52254ee505e54cdea681fab287647b), removed Jun 19, 2016 (#18661)- 8 months, 2 days /obj/structure/plaque/static_plaque/golden/commission/asteroid desc = "Spinward Sector Station SS-12\n'Asteroid' Class Outpost\nCommissioned 13/10/2555\nDecommissioned 19/06/2556\n'A Meteoric Success'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/asteroid) + // Birdboat Station: added Sep 17, 2015 (#11829), removed Feb 09, 2017 (#23754)- 1 year, 4 months, 23 days /obj/structure/plaque/static_plaque/golden/commission/birdboat desc = "Spinward Sector Station SS-03\n'Birdboat' Class Outpost\nCommissioned 17/09/2555\nDecommissioned 09/02/2557\n'Rocking the Boat'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/birdboat) + // Boxstation: added Nov 15, 2010 (pre-git), removed Jul 06, 2020 (#52017)- 9 years, 7 months, 21 days /obj/structure/plaque/static_plaque/golden/commission/box desc = "Spinward Sector Station SS-02\n'Box' Class Outpost\nCommissioned 15/11/2550\nDecommissioned 06/07/2560\n'Old Faithful'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/box) + // Pubbystation: added Oct 19, 2016 (#20925), removed Dec 10, 2020 (#54588)- 4 years, 1 month, 21 days /obj/structure/plaque/static_plaque/golden/commission/pubby desc = "Spinward Sector Station SS-06\n'Pubby' Class Outpost\nCommissioned 19/10/2556\nDecommissioned 10/12/2560\n'No Law But Ours'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/pubby) + // Cerestation: added Mar 29, 2017 (#24665), removed Aug 26th, 2017 (#30196)- 4 months, 28 days /obj/structure/plaque/static_plaque/golden/commission/cere desc = "Spinward Sector Station SS-10\n'Cere' Class Outpost\nCommissioned 29/03/2557\nDecommissioned 26/08/2557\n'Take a Hike'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/cere) + // Discstation: added Sep 21, 2015 (#11923), removed Jan 31, 2016 (#15069)- 4 months, 10 days /obj/structure/plaque/static_plaque/golden/commission/disc desc = "Spinward Sector Station SS-05\n'Disc' Class Outpost\nCommissioned 21/09/2555\nDecommissioned 31/01/2556\n'Sleep Tight'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/disc) + // Donutstation: added Dec 16, 2018 (#41099), removed Apr 28, 2020 (#50730)- 1 year, 4 months, 12 days /obj/structure/plaque/static_plaque/golden/commission/donut desc = "Spinward Sector Station SS-11\n'Donut' Class Outpost\nCommissioned 16/12/2558\nDecommissioned 28/04/2560\n'Hail the Lord'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/donut) + // Dreamstation: added Oct 06, 2015 (#12154), removed Dec 22, 2016 (#22305)- 1 year, 2 months, 16 days /obj/structure/plaque/static_plaque/golden/commission/dream desc = "Spinward Sector Station SS-04\n'Dream' Class Outpost\nCommissioned 06/10/2555\nDecommissioned 22/12/2556\n'Aiming High'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/dream) + // Efficiencystation: added Jan 28, 2016 (46f64266cfb8b40e35faa8a4d9a2d3aeec689943), removed Dec 20, 2016 (#22306)- 10 months, 22 days /obj/structure/plaque/static_plaque/golden/commission/efficiency desc = "Spinward Sector Station SS-07\n'Efficiency' Class Outpost\nCommissioned 28/01/2556\nDecommissioned 20/12/2556\n'Work Smarter, Not Harder'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/efficiency) + // Kilostation: added Nov 13, 2019 (#46968), removed /obj/structure/plaque/static_plaque/golden/commission/kilo desc = "Spinward Sector Station SS-13\n'Kilo' Class Outpost\nCommissioned 13/11/2559\nDecommissioned \n'Forever Different'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/kilo) + // Ministation: added Jan 29, 2014 (7a76e9456b782e6626bf81e27a912d8232c76b18), removed Dec 27, 2016 (#22453)- 2 years, 10 months, 28 days /obj/structure/plaque/static_plaque/golden/commission/mini desc = "Spinward Sector Station SS-08\n'Mini' Class Outpost\nCommissioned 29/01/2554\nDecommissioned 27/12/2556\n'The Littlest Station'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/mini) + // Omegastation: added Dec 27, 2016 (#22453), removed Sep 20, 2018 (#40352)- 1 year, 8 months, 24 days /obj/structure/plaque/static_plaque/golden/commission/omega desc = "Spinward Sector Station SS-09\n'Omega' Class Outpost\nCommissioned 27/12/2556\nDecommissioned 20/09/2558\n'Tiny Take Two'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/omega) + // Uterusstation: added Sep 03, 2011 (bbd6db9ce2d6341892b89a620593fc8877f5a817), removed Jun 21, 2012 (72d72f7ce522c2d2ad4863f44ee9f5054413c489)- 9 months, 18 days /obj/structure/plaque/static_plaque/golden/commission/uterus desc = "Spinward Sector Station SS-01\n'Uterus' Class Outpost\nCommissioned 03/09/2551\nDecommissioned 21/06/2552\n'Humanity's Vanguard'" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/uterus) + // Other Stations // Space Station 13, Developer Class Outpost, Station Commissioned 30.12.2322, For the Glory of the Workers of the Third Soviet Union @@ -199,6 +257,8 @@ desc = "космическая-станция-13\nфорпост класса разработчика\nстанция сдана 30.12.2322\nво славу тружеников третьего советского союза" icon_state = "commission_commie" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/plaque/static_plaque/golden/commission/ks13) + //These are plaques that aren't made of metal, so we'll just consider them signs. Those are made of plastic (default) or wood, not gold. //See: code>game>objects>structures>signs>_signs.dm @@ -207,26 +267,40 @@ desc = "Next to the extremely long list of names and job titles, there is a drawing of a little child. The child appears to be disabled. Beneath the image, someone has scratched the word \"PACKETS\"." icon_state = "kiddieplaque" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie) + /obj/structure/sign/plaques/kiddie/devils_tooth name = "\improper Devil's Tooth Plaque" desc = "A plaque commemorating the fallen souls who had to die tunneling out this segment of the frozen ice planet that surrounds it. It's named \"Devil's Tooth\" because those who laid down their life here surely thought they were in hell." +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie/devils_tooth) + /obj/structure/sign/plaques/kiddie/badger name = "\improper Remembrance Plaque" desc = "A plaque commemorating the fallen, may they rest in peace, forever asleep amongst the stars. Someone has drawn a picture of a crying badger at the bottom." +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie/badger) + /obj/structure/sign/plaques/kiddie/library name = "\improper Library Rules Sign" desc = "A long list of rules to be followed when in the library, extolling the virtues of being quiet at all times and threatening those who would dare eat hot food inside." +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie/library) + /obj/structure/sign/plaques/kiddie/perfect_man name = "\improper 'Perfect Man' sign" desc = "A guide to the exhibit, explaining how recent developments in mindshield implant and cloning technologies by Nanotrasen Corporation have led to the development and the effective immortality of the 'perfect man', the loyal Nanotrasen Employee." +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie/perfect_man) + /obj/structure/sign/plaques/kiddie/perfect_drone name = "\improper 'Perfect Drone' sign" desc = "A guide to the drone shell dispenser, detailing the constructive and destructive applications of modern repair drones, as well as the development of the incorruptible cyborg servants of tomorrow, available today." +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie/perfect_drone) + /obj/structure/sign/plaques/kiddie/gameoflife name = "\improper Conway's The Game Of Life plaque" desc = "A plaque detailing the historical significance of The Game Of Life in the field of computer science, and that the mural underfoot is a representation of the game in action." + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/plaques/kiddie/gameoflife) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index a5ed048153c41..e7c753f2fbde4 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -2,7 +2,7 @@ name = "airtight plastic flaps" desc = "Heavy duty, airtight, plastic flaps. Definitely can't get past those. No way." gender = PLURAL - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "plasticflaps" armor_type = /datum/armor/structure_plasticflaps density = FALSE @@ -24,20 +24,24 @@ /obj/structure/plasticflaps/Initialize(mapload) . = ..() - alpha = 0 - gen_overlay() + // Render targeting big icons shifts em down, lets counteract + pixel_z = 16 + AddElement(/datum/element/render_over_keep_hitbox) + // We need to shift overlays drawn to use down to counteract the counteraction. I hate byond + AddComponent(/datum/component/vis_block, "standard", "standard", parent_z_shift = -16) air_update_turf(TRUE, TRUE) + if(mapload) + return INITIALIZE_HINT_LATELOAD -/obj/structure/plasticflaps/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer) - return ..() - SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - gen_overlay() - return ..() +/obj/structure/plasticflaps/LateInitialize(mapload) + if(mapload) + auto_align() -/obj/structure/plasticflaps/proc/gen_overlay() - var/turf/our_turf = get_turf(src) - SSvis_overlays.add_vis_overlay(src, icon, icon_state, ABOVE_MOB_LAYER, MUTATE_PLANE(GAME_PLANE, our_turf), dir, add_appearance_flags = RESET_ALPHA) //you see mobs under it, but you hit them like they are above it +/obj/structure/plasticflaps/Destroy() + var/atom/oldloc = loc + . = ..() + if (oldloc) + oldloc.air_update_turf(TRUE, FALSE) /obj/structure/plasticflaps/examine(mob/user) . = ..() @@ -124,12 +128,5 @@ if(living_mover.body_position == STANDING_UP && living_mover.mob_size != MOB_SIZE_TINY && !(HAS_TRAIT(living_mover, TRAIT_VENTCRAWLER_ALWAYS) || HAS_TRAIT(living_mover, TRAIT_VENTCRAWLER_NUDE))) return FALSE //If you're not laying down, or a small creature, or a ventcrawler, then no pass. - /obj/structure/plasticflaps/atom_deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/plastic/five(loc) - -/obj/structure/plasticflaps/Destroy() - var/atom/oldloc = loc - . = ..() - if (oldloc) - oldloc.air_update_turf(TRUE, FALSE) diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index c3d9b115f01de..897135cdd7669 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -1,7 +1,7 @@ /obj/structure/railing name = "railing" desc = "Basic railing meant to protect idiots like you from falling." - icon = 'icons/obj/railings.dmi' + icon = 'icons/obj/structures/railings.dmi' icon_state = "railing" flags_1 = ON_BORDER_1 obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR @@ -25,17 +25,29 @@ energy = 100 bomb = 10 +/obj/structure/railing/unbreakable + resistance_flags = INDESTRUCTIBLE + /obj/structure/railing/corner //aesthetic corner sharp edges hurt oof ouch icon_state = "railing_corner" density = FALSE climbable = FALSE +/obj/structure/railing/corner/unbreakable + resistance_flags = INDESTRUCTIBLE + /obj/structure/railing/corner/end //end of a segment of railing without making a loop icon_state = "railing_end" +/obj/structure/railing/corner/end/unbreakable + resistance_flags = INDESTRUCTIBLE + /obj/structure/railing/corner/end/flip //same as above but flipped around icon_state = "railing_end_flip" +/obj/structure/railing/corner/end/flip/unbreakable + resistance_flags = INDESTRUCTIBLE + /obj/structure/railing/Initialize(mapload) . = ..() if(climbable) @@ -61,6 +73,11 @@ AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) AddComponent(/datum/component/simple_rotation, ROTATION_NEEDS_ROOM) + update_appearance() + +/obj/structure/railing/update_appearance(updates) + . = ..() + update_layering() /obj/structure/railing/examine(mob/user) . = ..() @@ -119,6 +136,15 @@ return TRUE return ..() +/obj/structure/railing/proc/update_layering() + // If we're on a north edge, render as if we were "higher" then we are + if(dir & NORTH) + pixel_y = 32 + pixel_z = -32 + else + pixel_y = 0 + pixel_z = 0 + /obj/structure/railing/proc/on_exit(datum/source, atom/movable/leaving, direction) SIGNAL_HANDLER @@ -151,10 +177,11 @@ /obj/structure/railing/wooden_fence name = "wooden fence" desc = "wooden fence meant to keep animals in." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/railings.dmi' icon_state = "wooden_railing" item_deconstruct = /obj/item/stack/sheet/mineral/wood layer = ABOVE_MOB_LAYER + plane = GAME_PLANE /obj/structure/railing/wooden_fence/Initialize(mapload) . = ..() @@ -167,13 +194,12 @@ /obj/structure/railing/wooden_fence/proc/adjust_dir_layer(direction) layer = (direction & NORTH) ? MOB_LAYER : initial(layer) - plane = (direction & NORTH) ? GAME_PLANE : initial(plane) /obj/structure/railing/corner/end/wooden_fence - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/railings.dmi' icon_state = "wooden_railing_corner" /obj/structure/railing/corner/end/flip/wooden_fence - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/railings.dmi' icon_state = "wooden_railing_corner_flipped" diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm index e27f5fcf42b40..aed8693c2b81d 100644 --- a/code/game/objects/structures/reflector.dm +++ b/code/game/objects/structures/reflector.dm @@ -1,6 +1,6 @@ /obj/structure/reflector name = "reflector base" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/machines/engine/reflector.dmi' icon_state = "reflector_map" desc = "A base for reflector assemblies." anchored = FALSE @@ -311,7 +311,7 @@ return data -/obj/structure/reflector/ui_act(action, params) +/obj/structure/reflector/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index bcc9d1386955b..3fff77faf89e8 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -13,7 +13,7 @@ FLOOR SAFES /obj/structure/safe name = "safe" desc = "A huge chunk of metal with a dial embedded in it. Fine print on the dial reads \"Scarborough Arms - 2 tumbler safe, guaranteed thermite resistant, explosion resistant, and assistant resistant.\"" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/storage/storage.dmi' icon_state = "safe" anchored = TRUE density = TRUE @@ -129,7 +129,7 @@ FLOOR SAFES return data -/obj/structure/safe/ui_act(action, params) +/obj/structure/safe/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/structures/secure_safe.dm b/code/game/objects/structures/secure_safe.dm index 9e1bf9b5adef9..e91e27da058f9 100644 --- a/code/game/objects/structures/secure_safe.dm +++ b/code/game/objects/structures/secure_safe.dm @@ -5,7 +5,6 @@ icon_state = "wall_safe" base_icon_state = "wall_safe" result_path = /obj/structure/secure_safe - pixel_shift = 32 /obj/item/wallframe/secure_safe/Initialize(mapload) . = ..() @@ -34,7 +33,7 @@ anchored = TRUE density = FALSE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/secure_safe) /obj/structure/secure_safe/Initialize(mapload) . = ..() @@ -55,9 +54,33 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) new /obj/item/paper(src) new /obj/item/pen(src) +/obj/structure/secure_safe/update_icon() + ..() + if(!atom_storage) + return + if(atom_storage.locked) + icon_state = "[initial(icon_state)]_locked" + else + icon_state = "[initial(icon_state)]_open" + +/obj/structure/secure_safe/update_overlays() + . = ..() + if(!atom_storage) + return + if(atom_storage.locked) //No door if we're locked. + return + var/mutable_appearance/door_overlay = mutable_appearance(icon, "[initial(icon_state)]_door") // Wallening todo: This needs attention for wall safes. + if(dir == SOUTH) + door_overlay.pixel_y = -1 + else if(dir == WEST) + door_overlay.pixel_y = -6 + . += door_overlay + /obj/structure/secure_safe/hos name = "head of security's safe" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/secure_safe/hos) + /** * This safe is meant to be damn robust. To break in, you're supposed to get creative, or use acid or an explosion. * @@ -73,7 +96,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) It is made out of the same material as the station's Black Box and is designed to resist all conventional weaponry. \ There appears to be a small amount of surface corrosion. It doesn't look like it could withstand much of an explosion.\ Due to the expensive material, it was made incredibly small to cut corners, leaving only enough room to fit something as slim as an ID card." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/storage/storage.dmi' icon_state = "spare_safe" base_icon_state = "spare_safe" armor_type = /datum/armor/safe_caps_spare diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 350adcb11f1ab..bc204d773084f 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -4,7 +4,7 @@ #define SHOWER_NORMAL_TEMP 300 #define SHOWER_BOILING "boiling" #define SHOWER_BOILING_TEMP 400 -/// The volume of it's internal reagents the shower applies to everything it sprays. +/// The volume of its internal reagents the shower applies to everything it sprays. #define SHOWER_SPRAY_VOLUME 5 /// How much the volume of the shower's spay reagents are amplified by when it sprays something. #define SHOWER_EXPOSURE_MULTIPLIER 2 // Showers effectively double exposed reagents @@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(shower_mode_descriptions, list( /obj/machinery/shower name = "shower" desc = "The HS-452. Installed in the 2550s by the Nanotrasen Hygiene Division, now with 2560 lead compliance! Passively replenishes itself with water when not in use." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "shower" density = FALSE layer = ABOVE_WINDOW_LAYER @@ -49,16 +49,14 @@ GLOBAL_LIST_INIT(shower_mode_descriptions, list( var/reagent_capacity = 200 ///How many units the shower refills every second. var/refill_rate = 0.5 - ///Does the shower have a water recycler to recollect it's water supply? + ///Does the shower have a water recycler to recollect its water supply? var/has_water_reclaimer = TRUE ///Which mode the shower is operating in. var/mode = SHOWER_MODE_UNTIL_EMPTY ///The cooldown for SHOWER_MODE_TIMED mode. COOLDOWN_DECLARE(timed_cooldown) - ///How far to shift the sprite when placing. - var/pixel_shift = 16 -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) +SHOWER_DIRECTIONAL_HELPERS(/obj/machinery/shower) /obj/machinery/shower/Initialize(mapload, ndir = 0, has_water_reclaimer = null) . = ..() @@ -69,29 +67,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) if(has_water_reclaimer != null) src.has_water_reclaimer = has_water_reclaimer - switch(dir) - if(NORTH) - pixel_x = 0 - pixel_y = -pixel_shift - if(SOUTH) - pixel_x = 0 - pixel_y = pixel_shift - if(EAST) - pixel_x = -pixel_shift - pixel_y = 0 - if(WEST) - pixel_x = pixel_shift - pixel_y = 0 - create_reagents(reagent_capacity) if(src.has_water_reclaimer) reagents.add_reagent(reagent_id, reagent_capacity) soundloop = new(src, FALSE) - AddComponent(/datum/component/plumbing/simple_demand, extend_pipe_to_edge = TRUE) + AddComponent(/datum/component/plumbing/inverted_simple_demand, extend_pipe_to_edge = TRUE, invert_demand = TRUE) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) + find_and_hang_on_wall() /obj/machinery/shower/examine(mob/user) . = ..() @@ -188,21 +173,23 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) deconstruct() return TRUE +/obj/machinery/shower/setDir(newdir) + . = ..() + update_appearance(UPDATE_OVERLAYS) + /obj/machinery/shower/update_overlays() . = ..() if(!actually_on) return - var/mutable_appearance/water_falling = mutable_appearance('icons/obj/watercloset.dmi', "water", ABOVE_MOB_LAYER) + var/mutable_appearance/water_falling = mutable_appearance('icons/obj/structures/watercloset.dmi', "water", ABOVE_MOB_LAYER) water_falling.color = mix_color_from_reagents(reagents.reagent_list) switch(dir) - if(NORTH) - water_falling.pixel_y += pixel_shift if(SOUTH) - water_falling.pixel_y -= pixel_shift + water_falling.pixel_z -= 24 if(EAST) - water_falling.pixel_x += pixel_shift + water_falling.pixel_w += 16 if(WEST) - water_falling.pixel_x -= pixel_shift + water_falling.pixel_w -= 16 . += water_falling /obj/machinery/shower/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) @@ -333,7 +320,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) /obj/structure/showerframe name = "shower frame" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "shower_frame" desc = "A shower frame, that needs a water recycler to finish construction." anchored = FALSE @@ -369,10 +356,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16)) /obj/effect/mist name = "mist" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "mist" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 9268cb9c059ce..2d84aada386d0 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -22,11 +22,18 @@ fire = 50 acid = 50 +/obj/structure/sign/blank //This subtype is necessary for now because some other things (posters, picture frames, paintings) inheret from the parent type. + icon_state = "backing" + name = "sign backing" + desc = "A plastic sign backing, use a pen to change the decal. It can be detached from the wall with a wrench." + is_editable = TRUE + sign_change_name = "Blank Sign" + /obj/structure/sign/Initialize(mapload) . = ..() register_context() knock_down_callback = CALLBACK(src, PROC_REF(knock_down)) - find_and_hang_on_wall(custom_drop_callback = knock_down_callback) + find_and_hang_on_wall(custom_drop_callback = knock_down_callback, wall_layer = FLAT_ON_WALL_LAYER) /obj/structure/sign/Destroy() . = ..() @@ -217,14 +224,6 @@ var/obj/structure/sign/placed_sign = new sign_path(user_turf) //We place the sign on the turf the user is standing, and pixel shift it to the target wall, as below. //This is to mimic how signs and other wall objects are usually placed by mappers, and so they're only visible from one side of a wall. var/dir = get_dir(user_turf, target_turf) - if(dir & NORTH) - placed_sign.pixel_y = 32 - else if(dir & SOUTH) - placed_sign.pixel_y = -32 - if(dir & EAST) - placed_sign.pixel_x = 32 - else if(dir & WEST) - placed_sign.pixel_x = -32 user.visible_message(span_notice("[user] fastens [src] to [target_turf]."), \ span_notice("You attach the sign to [target_turf].")) playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) diff --git a/code/game/objects/structures/signs/signs_departments.dm b/code/game/objects/structures/signs/signs_departments.dm index 532cbcfc426ad..f6967195662e0 100644 --- a/code/game/objects/structures/signs/signs_departments.dm +++ b/code/game/objects/structures/signs/signs_departments.dm @@ -1,7 +1,30 @@ + //departmental signs /obj/structure/sign/departments + icon = 'icons/obj/structures/departmental_signs.dmi' is_editable = TRUE + var/emissive_type + +/obj/structure/sign/departments/Initialize(mapload) + . = ..() + if (!emissive_type) + return + var/area/cur_area = get_area(src) + if (!isnull(cur_area)) + RegisterSignal(cur_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(power_check)) + +/obj/structure/sign/departments/proc/power_check() + SIGNAL_HANDLER + update_appearance() + +/obj/structure/sign/departments/update_overlays() + . = ..() + if (!emissive_type) + return + var/area/cur_area = get_area(src) + if (!isnull(cur_area) && cur_area.power_light) + . += emissive_appearance(icon, emissive_type, src) ///////MEDBAY @@ -11,14 +34,14 @@ desc = "A sign labelling an area of the medical department." icon_state = "med" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med) /obj/structure/sign/departments/med_alt name = "\improper Medbay sign" sign_change_name = "Department - Medbay Alt" icon_state = "medbay" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med_alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med_alt) /obj/structure/sign/departments/medbay name = "\improper Medbay sign" @@ -26,14 +49,15 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med_alt, 32) desc = "The intergalactic symbol of medical institutions. You'll probably get help here." icon_state = "bluecross" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/medbay, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/medbay) /obj/structure/sign/departments/medbay/alt name = "\improper Medbay sign" sign_change_name = "Generic Medical Alt" - icon_state = "bluecross2" + icon_state = "department_med" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/medbay/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/medbay/alt) /obj/structure/sign/departments/exam_room name = "\improper Exam Room sign" @@ -41,37 +65,40 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/medbay/alt, 32) desc = "A guidance sign which reads 'Exam Room'." icon_state = "examroom" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/exam_room, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/exam_room) /obj/structure/sign/departments/chemistry name = "\improper Chemistry sign" sign_change_name = "Department - Medbay: Chemistry" desc = "A sign labelling an area containing chemical equipment." - icon_state = "chemistry1" + icon_state = "department_chem" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/chemistry, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/chemistry) /obj/structure/sign/departments/chemistry/alt sign_change_name = "Department - Medbay: Chemistry Alt" icon_state = "chemistry2" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/chemistry/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/chemistry/alt) /obj/structure/sign/departments/chemistry/pharmacy name = "\improper Pharmacy sign" sign_change_name = "Department - Medbay: Pharmacy" desc = "A sign labelling an area containing pharmacy equipment." - icon_state = "pharmacy" + icon_state = "department_chem" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/chemistry/pharmacy, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/chemistry/pharmacy) /obj/structure/sign/departments/psychology name = "\improper Psychology sign" sign_change_name = "Department - Medbay: Psychology" desc = "A sign labelling an area where the Psychologist works, they can probably help you get your head straight." - icon_state = "psychology" + icon_state = "department_psych" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/psychology, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/psychology) /obj/structure/sign/departments/virology name = "\improper Virology sign" @@ -79,7 +106,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/psychology, 32) desc = "A sign labelling an area where the virologist's laboratory is located." icon_state = "pharmacy" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/virology, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/virology) /obj/structure/sign/departments/morgue name = "\improper Morgue sign" @@ -87,7 +114,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/virology, 32) desc = "A sign labelling an area where the station stores its ever-piling bodies." icon_state = "morgue" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/morgue, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/morgue) ///////ENGINEERING @@ -95,9 +122,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/morgue, 32) name = "\improper Engineering sign" sign_change_name = "Department - Engineering" desc = "A sign labelling an area where engineers work." - icon_state = "engine" + icon_state = "department_engi" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/engineering, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/engineering) ///////SCIENCE @@ -105,45 +133,49 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/engineering, 32) name = "\improper Science sign" sign_change_name = "Department - Science" desc = "A sign labelling an area where research and science is performed." - icon_state = "science1" + icon_state = "department_sci" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/science, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/science) /obj/structure/sign/departments/science/alt sign_change_name = "Department - Science Alt" icon_state = "science2" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/science/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/science/alt) + /obj/structure/sign/departments/xenobio name = "\improper Xenobiology sign" sign_change_name = "Department - Science: Xenobiology" desc = "A sign labelling an area where xenobiological entities are researched." - icon_state = "xenobio1" + icon_state = "department_xeno" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/xenobio, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/xenobio) +// Wallening todo: we need a new sprite for this /obj/structure/sign/departments/xenobio/alt sign_change_name = "Department - Science: Xenobiology Alt" icon_state = "xenobio2" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/xenobio/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/xenobio/alt) +// Wallening todo: new sprite for htis, clear it out of signs.dmi /obj/structure/sign/departments/genetics name = "\improper Genetics sign" sign_change_name = "Department - Science: Genetics" desc = "A sign labelling an area where the field of genetics is researched." icon_state = "gene" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/genetics, 32) - +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/genetics) /obj/structure/sign/departments/rndserver name ="\improper R&D Server sign" sign_change_name = "Department - Science: R&D Server" desc = "A sign labelling an area where scientific data is stored." icon_state = "rndserver" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/rndserver, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/rndserver) ///////SERVICE @@ -151,27 +183,28 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/rndserver, 32) name = "\improper Botany sign" sign_change_name = "Department - Botany (Flower)" desc = "A sign labelling an area as a place where plants are grown." - icon_state = "hydro1" + icon_state = "department_hydro" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany) /obj/structure/sign/departments/botany/alt1 sign_change_name = "Department - Botany (Tray)" icon_state = "hydro2" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt1, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt1) /obj/structure/sign/departments/botany/alt2 sign_change_name = "Department - Botany (Watering Can)" icon_state = "hydro3" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt2, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt2) /obj/structure/sign/departments/botany/botany/alt3 sign_change_name = "Department - Botany (Tray) Alt" icon_state = "botany" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt3, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt3) /obj/structure/sign/departments/custodian name = "\improper Janitor sign" @@ -179,15 +212,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/botany/alt3, 32) desc = "A sign labelling an area where the janitor works." icon_state = "custodian" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/custodian, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/custodian) /obj/structure/sign/departments/holy name = "\improper Chapel sign" sign_change_name = "Department - Chapel" desc = "A sign labelling a religious area." - icon_state = "holy" + icon_state = "department_chapel" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/holy, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/holy) /obj/structure/sign/departments/holy_alt name = "\improper Chapel sign" @@ -195,15 +229,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/holy, 32) desc = "A sign labelling a religious area." icon_state = "chapel" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/holy, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/holy) /obj/structure/sign/departments/lawyer name = "\improper Legal Department sign" sign_change_name = "Department - Legal" desc = "A sign labelling an area where the Lawyers work, apply here for arrivals shuttle whiplash settlement." - icon_state = "lawyer" + icon_state = "department_lawyer" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/lawyer, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/lawyer) ///////SUPPLY @@ -211,9 +246,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/lawyer, 32) name = "\improper Cargo sign" sign_change_name = "Department - Cargo" desc = "A sign labelling an area where cargo ships dock." - icon_state = "cargo" + icon_state = "department_cargo" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/cargo, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/cargo) /obj/structure/sign/departments/exodrone name = "\improper Exodrone sign" @@ -221,7 +257,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/cargo, 32) desc = "A sign labelling an area where exodrones are used." icon_state = "exodrone" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/exodrone, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/exodrone) ///////SECURITY @@ -229,9 +265,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/exodrone, 32) name = "\improper Security sign" sign_change_name = "Department - Security" desc = "A sign labelling an area where the law is law." - icon_state = "security" + icon_state = "department_sec" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/security, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/security) ////MISC LOCATIONS @@ -239,9 +276,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/security, 32) name = "\improper Restroom sign" sign_change_name = "Location - Restroom" desc = "A sign labelling a restroom." - icon_state = "restroom" + icon_state = "department_wc" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/restroom, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/restroom) /obj/structure/sign/departments/maint name = "\improper Maintenance Tunnel sign" @@ -249,7 +287,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/restroom, 32) desc = "A sign labelling an area where the departments of the station are linked together." icon_state = "mait1" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/maint, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/maint) /obj/structure/sign/departments/maint/alt name = "\improper Maintenance Tunnel sign" @@ -257,15 +295,38 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/maint, 32) desc = "A sign labelling an area where the departments of the station are linked together." icon_state = "mait2" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/maint/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/maint/alt) /obj/structure/sign/departments/evac name = "\improper Evacuation sign" sign_change_name = "Location - Evacuation" desc = "A sign labelling an area where evacuation procedures take place." - icon_state = "evac" + icon_state = "department_evac" + emissive_type = "department_evac_e" + is_editable = TRUE + ///This var detemines which arrow overlay to use. + var/arrow_direction_state = "evac_overlay_f" + +/obj/structure/sign/departments/evac/Initialize(mapload) + . = ..() + add_overlay(arrow_direction_state) + +/obj/structure/sign/departments/evac/fore + arrow_direction_state = "evac_overlay_f" + +/obj/structure/sign/departments/evac/aft + arrow_direction_state = "evac_overlay_a" + +/obj/structure/sign/departments/evac/starboard + arrow_direction_state = "evac_overlay_s" + +/obj/structure/sign/departments/evac/port + arrow_direction_state = "evac_overlay_p" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/evac, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/evac/fore) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/evac/aft) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/evac/starboard) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/evac/port) /obj/structure/sign/departments/drop name = "\improper Drop Pods sign" @@ -273,29 +334,31 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/evac, 32) desc = "A sign labelling an area where drop pod loading procedures take place." icon_state = "drop" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/drop, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/drop) /obj/structure/sign/departments/court name = "\improper Courtroom sign" sign_change_name = "Location - Courtroom" desc = "A sign labelling the courtroom, where the ever sacred Space Law is upheld." - icon_state = "court" + icon_state = "department_law" + emissive_type = "department_e" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/court, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/court) +// Wallening todo: here down, too /obj/structure/sign/departments/telecomms name = "\improper Telecommunications sign" sign_change_name = "Location - Telecommunications" desc = "A sign labelling an area where the station's radio and NTnet servers are stored." icon_state = "telecomms" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/telecomms, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/telecomms) /obj/structure/sign/departments/telecomms/alt icon_state = "telecomms2" sign_change_name = "Location - Telecommunications Alt" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/telecomms/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/telecomms/alt) /obj/structure/sign/departments/aiupload name = "\improper AI Upload sign" @@ -303,7 +366,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/telecomms/alt, 32) desc = "A sign labelling an area where laws are uploaded to the station's AI and cyborgs." icon_state = "aiupload" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/aiupload, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/aiupload) /obj/structure/sign/departments/aisat name = "\improper AI Satellite sign" @@ -311,7 +374,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/aiupload, 32) desc = "A sign labelling the AI's heavily-fortified satellite." icon_state = "aisat" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/aisat, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/aisat) /obj/structure/sign/departments/vault name = "\improper Vault sign" @@ -319,4 +382,4 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/aisat, 32) desc = "A sign labelling a saferoom where the station's resources and self-destruct are secured." icon_state = "vault" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/vault, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/vault) diff --git a/code/game/objects/structures/signs/signs_flags.dm b/code/game/objects/structures/signs/signs_flags.dm index 64a9d7225bbac..33a6496d32b97 100644 --- a/code/game/objects/structures/signs/signs_flags.dm +++ b/code/game/objects/structures/signs/signs_flags.dm @@ -9,39 +9,39 @@ desc = "The official corporate flag of Nanotrasen. Mostly flown as a ceremonial piece, or to mark land on a new frontier." icon_state = "flag_nt" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/nanotrasen, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/nanotrasen) /obj/structure/sign/flag/ssc name = "flag of the Spinward Stellar Coalition" desc = "The flag of the Independent Coalition of the Spinward Sector. The colours represent panslavism, and the three stars represent the three central systems of the SSC." icon_state = "flag_ssc" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/ssc, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/ssc) /obj/structure/sign/flag/terragov name = "flag of TerraGov" desc = "The flag of TerraGov. It's a symbol of humanity no matter where they go, or how much they wish it wasn't." icon_state = "flag_terragov" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/terragov, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/terragov) /obj/structure/sign/flag/tizira name = "flag of the Tiziran Empire" desc = "The flag of the Great Empire of Tizira. Depending on who you ask, it represents strength or being stuck in the past." icon_state = "flag_tizira" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/tizira, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/tizira) /obj/structure/sign/flag/mothic name = "flag of the Grand Nomad Fleet" desc = "The flag of the Mothic Grand Nomad Fleet. A classic naval ensign, its use has superceded the old national flag which can be seen in its canton." icon_state = "flag_mothic" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/mothic, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/mothic) /obj/structure/sign/flag/mars name = "flag of the Martian Republic" desc = "The flag of Mars. Originally a revolutionary flag during the Martian Rebellions, it has since been adopted as the official flag of the planet, as a reminder of how Mars fought for representation and democracy." icon_state = "flag_mars" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/mars, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/flag/mars) diff --git a/code/game/objects/structures/signs/signs_interactive.dm b/code/game/objects/structures/signs/signs_interactive.dm index 1e407034f4a71..b5f14362289b4 100644 --- a/code/game/objects/structures/signs/signs_interactive.dm +++ b/code/game/objects/structures/signs/signs_interactive.dm @@ -3,7 +3,7 @@ desc = "It's your run-of-the-mill wall clock showing both the local Coalition Standard Time and the galactic Treaty Coordinated Time. Perfect for staring at instead of working." icon_state = "clock" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/clock, 32) +_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/clock, 35, 0, -8, 24, -24, 16) /obj/structure/sign/clock/examine(mob/user) . = ..() @@ -15,7 +15,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/clock, 32) desc = "It's an old-school wall calendar. Sure, it might be obsolete with modern technology, but it's still hard to imagine an office without one." icon_state = "calendar" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/calendar, 32) +_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/calendar, 35, 0, -8, 24, -24, 16) /obj/structure/sign/calendar/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/signs/signs_maps.dm b/code/game/objects/structures/signs/signs_maps.dm index 2ed5cfa934161..dd4e81e076f2c 100644 --- a/code/game/objects/structures/signs/signs_maps.dm +++ b/code/game/objects/structures/signs/signs_maps.dm @@ -1,96 +1,271 @@ -//map and direction signs +// //map and direction signs /obj/structure/sign/map name = "station map" desc = "A navigational chart of the station." max_integrity = 500 +/// Cerestation Map +/obj/structure/sign/map/cerestation + icon_state = "map-CS" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/map/cerestation) + +/// Pubbystation Map +/obj/structure/sign/map/Pubbystation + icon_state = "map-pubby" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/map/Pubbystation) + +/// Boxstation Map /obj/structure/sign/map/left icon_state = "map-left" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/map/left) + /obj/structure/sign/map/right icon_state = "map-right" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/map/right) + +/// Metastation Map +/obj/structure/sign/map/left/metastation + icon_state = "map-left-MS" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/map/left/metastation) + +/obj/structure/sign/map/right/metastation + icon_state = "map-right-MS" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/map/right/metastation) + +/obj/structure/sign/directions + icon = 'icons/obj/structures/directional_signs.dmi' + /// What direction is the arrow on the sign pointing? + var/sign_arrow_direction = null + /// If this sign has a support on the left or right, which side? null if niether + var/support_side = null + +/obj/structure/sign/directions/Initialize(mapload) + . = ..() + update_appearance() + +/obj/structure/sign/directions/update_icon_state() + . = ..() + if(support_side) + icon_state = "[initial(icon_state)]_[support_side]" + else + icon_state = "[initial(icon_state)]" + +/obj/structure/sign/directions/update_overlays() + . = ..() + if(sign_arrow_direction) + . += "arrow_[sign_arrow_direction]" + /obj/structure/sign/directions/science name = "science department sign" desc = "A direction sign, pointing out which way the Science department is." icon_state = "direction_sci" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/science, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/science) + +/obj/structure/sign/directions/science/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/science/right) +/obj/structure/sign/directions/science/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/science/left) /obj/structure/sign/directions/engineering name = "engineering department sign" desc = "A direction sign, pointing out which way the Engineering department is." icon_state = "direction_eng" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/engineering, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/engineering) + +/obj/structure/sign/directions/engineering/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/engineering/right) +/obj/structure/sign/directions/engineering/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/engineering/left) /obj/structure/sign/directions/security name = "security department sign" desc = "A direction sign, pointing out which way the Security department is." icon_state = "direction_sec" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/security, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/security) + +/obj/structure/sign/directions/security/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/security/right) +/obj/structure/sign/directions/security/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/security/left) /obj/structure/sign/directions/medical name = "medbay sign" desc = "A direction sign, pointing out which way the Medbay is." icon_state = "direction_med" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/medical, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/medical) + +/obj/structure/sign/directions/medical/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/medical/right) +/obj/structure/sign/directions/medical/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/medical/left) /obj/structure/sign/directions/evac name = "evacuation sign" desc = "A direction sign, pointing out which way the escape shuttle dock is." icon_state = "direction_evac" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/evac, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/evac) + +/obj/structure/sign/directions/evac/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/evac/right) +/obj/structure/sign/directions/evac/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/evac/left) /obj/structure/sign/directions/supply name = "cargo sign" desc = "A direction sign, pointing out which way the Cargo Bay is." icon_state = "direction_supply" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/supply, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/supply) + +/obj/structure/sign/directions/supply/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/supply/right) +/obj/structure/sign/directions/supply/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/supply/left) /obj/structure/sign/directions/command name = "command department sign" desc = "A direction sign, pointing out which way the Command department is." icon_state = "direction_bridge" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/command, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/command) + +/obj/structure/sign/directions/command/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/command/right) +/obj/structure/sign/directions/command/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/command/left) /obj/structure/sign/directions/vault name = "vault sign" desc = "A direction sign, pointing out which way the station's Vault is." icon_state = "direction_vault" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/vault, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/vault) + +/obj/structure/sign/directions/vault/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/vault/right) +/obj/structure/sign/directions/vault/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/vault/left) /obj/structure/sign/directions/upload name = "upload sign" desc = "A direction sign, pointing out which way the station's AI Upload is." icon_state = "direction_upload" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/upload, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/upload) + +/obj/structure/sign/directions/upload/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/upload/right) +/obj/structure/sign/directions/upload/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/upload/left) /obj/structure/sign/directions/dorms name = "dormitories sign" desc = "A direction sign, pointing out which way the dormitories are." icon_state = "direction_dorms" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/dorms, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/dorms) + +/obj/structure/sign/directions/dorms/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/dorms/right) +/obj/structure/sign/directions/dorms/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/dorms/left) /obj/structure/sign/directions/lavaland name = "lava sign" desc = "A direction sign, pointing out which way the hot stuff is." icon_state = "direction_lavaland" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/lavaland, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/lavaland) + +/obj/structure/sign/directions/lavaland/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/lavaland/right) +/obj/structure/sign/directions/lavaland/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/lavaland/left) /obj/structure/sign/directions/arrival name = "arrivals sign" desc = "A direction sign, pointing out which way the arrivals shuttle dock is." icon_state = "direction_arrival" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/arrival, 32) +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/arrival) + +/obj/structure/sign/directions/arrival/right + support_side = SUPPORT_RIGHT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/arrival/right) +/obj/structure/sign/directions/arrival/left + support_side = SUPPORT_LEFT + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/arrival/left) + +/obj/structure/sign/directions/doornum + name = "room number sign" + desc = "A sign that states the labeled room's number." + icon_state = "direction_doornum" + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/doornum) + +/obj/structure/sign/directions/doornum/right + icon_state = "direction_doornum_right" + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/doornum/right) +/obj/structure/sign/directions/doornum/left + icon_state = "direction_doornum_left" + +DIRECTIONAL_SIGNS_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/doornum/left) diff --git a/code/game/objects/structures/signs/signs_misc.dm b/code/game/objects/structures/signs/signs_misc.dm index 0b0348977df77..12b60baf139cd 100644 --- a/code/game/objects/structures/signs/signs_misc.dm +++ b/code/game/objects/structures/signs/signs_misc.dm @@ -26,4 +26,4 @@ icon = 'icons/obj/machines/barsigns.dmi' desc = "85cr for a iced lactose-free caramel frappe?! Who buys that?!" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/xenobio_guide, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/xenobio_guide) diff --git a/code/game/objects/structures/signs/signs_warning.dm b/code/game/objects/structures/signs/signs_warning.dm index db44c75669d8a..0c86c626095cf 100644 --- a/code/game/objects/structures/signs/signs_warning.dm +++ b/code/game/objects/structures/signs/signs_warning.dm @@ -10,21 +10,21 @@ icon_state = "securearea" is_editable = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning) /obj/structure/sign/warning/secure_area name = "\improper SECURE AREA sign" sign_change_name = "Warning - Secure Area" desc = "A warning sign which reads 'SECURE AREA'." -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/secure_area, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/secure_area) /obj/structure/sign/warning/docking name = "\improper KEEP CLEAR: DOCKING AREA sign" sign_change_name = "Warning - Docking Area" desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'." -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/docking, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/docking) /obj/structure/sign/warning/biohazard name = "\improper BIOHAZARD sign" @@ -32,7 +32,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/docking, 32) desc = "A warning sign which reads 'BIOHAZARD'." icon_state = "bio" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/biohazard, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/biohazard) /obj/structure/sign/warning/electric_shock name = "\improper HIGH VOLTAGE sign" @@ -40,7 +40,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/biohazard, 32) desc = "A warning sign which reads 'HIGH VOLTAGE'." icon_state = "shock" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/electric_shock, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/electric_shock) /obj/structure/sign/warning/vacuum name = "\improper HARD VACUUM AHEAD sign" @@ -48,7 +48,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/electric_shock, 32) desc = "A warning sign which reads 'HARD VACUUM AHEAD'." icon_state = "space" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/vacuum, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/vacuum) /obj/structure/sign/warning/vacuum/external name = "\improper EXTERNAL AIRLOCK sign" @@ -56,7 +56,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/vacuum, 32) desc = "A warning sign which reads 'EXTERNAL AIRLOCK'." layer = MOB_LAYER -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/vacuum/external, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/vacuum/external) /obj/structure/sign/warning/deathsposal name = "\improper DISPOSAL: LEADS TO SPACE sign" @@ -64,7 +64,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/vacuum/external, 32) desc = "A warning sign which reads 'DISPOSAL: LEADS TO SPACE'." icon_state = "deathsposal" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/deathsposal, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/deathsposal) /obj/structure/sign/warning/bodysposal name = "\improper DISPOSAL: LEADS TO MORGUE sign" @@ -72,7 +72,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/deathsposal, 32) desc = "A warning sign which reads 'DISPOSAL: LEADS TO MORGUE'." icon_state = "bodysposal" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/bodysposal, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/bodysposal) /obj/structure/sign/warning/fire name = "\improper DANGER: FIRE sign" @@ -81,7 +81,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/bodysposal, 32) icon_state = "fire" resistance_flags = FIRE_PROOF -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/fire, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/fire) /obj/structure/sign/warning/no_smoking name = "\improper NO SMOKING sign" @@ -90,7 +90,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/fire, 32) icon_state = "nosmoking2" resistance_flags = FLAMMABLE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/no_smoking, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/no_smoking) /obj/structure/sign/warning/no_smoking/circle name = "\improper NO SMOKING sign" @@ -98,7 +98,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/no_smoking, 32) desc = "A warning sign which reads 'NO SMOKING'." icon_state = "nosmoking" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/no_smoking/circle, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/no_smoking/circle) /obj/structure/sign/warning/yes_smoking/circle name = "\improper YES SMOKING sign" @@ -106,7 +106,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/no_smoking/circle, 32) desc = "A warning sign which reads 'YES SMOKING'." icon_state = "yessmoking" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/yes_smoking/circle, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/yes_smoking/circle) /obj/structure/sign/warning/radiation name = "\improper HAZARDOUS RADIATION sign" @@ -114,14 +114,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/yes_smoking/circle, 32) desc = "A warning sign alerting the user of potential radiation hazards." icon_state = "radiation" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/radiation, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/radiation) /obj/structure/sign/warning/radiation/rad_area name = "\improper RADIOACTIVE AREA sign" sign_change_name = "Warning - Radioactive Area" desc = "A warning sign which reads 'RADIOACTIVE AREA'." -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/radiation/rad_area, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/radiation/rad_area) /obj/structure/sign/warning/xeno_mining name = "\improper DANGEROUS ALIEN LIFE sign" @@ -130,7 +130,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/radiation/rad_area, 32) icon = 'icons/obj/signs.dmi' icon_state = "xeno_warning" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/xeno_mining, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/xeno_mining) /obj/structure/sign/warning/engine_safety name = "\improper ENGINEERING SAFETY sign" @@ -138,7 +138,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/xeno_mining, 32) desc = "A sign detailing the various safety protocols when working on-site to ensure a safe shift." icon_state = "safety" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/engine_safety, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/engine_safety) /obj/structure/sign/warning/explosives name = "\improper HIGH EXPLOSIVES sign" @@ -146,7 +146,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/engine_safety, 32) desc = "A warning sign which reads 'HIGH EXPLOSIVES'." icon_state = "explosives" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/explosives, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/explosives) /obj/structure/sign/warning/explosives/alt name = "\improper HIGH EXPLOSIVES sign" @@ -154,7 +154,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/explosives, 32) desc = "A warning sign which reads 'HIGH EXPLOSIVES'." icon_state = "explosives2" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/explosives/alt, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/explosives/alt) /obj/structure/sign/warning/test_chamber name = "\improper TESTING AREA sign" @@ -162,7 +162,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/explosives/alt, 32) desc = "A sign that warns of high-power testing equipment in the area." icon_state = "testchamber" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/test_chamber, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/test_chamber) /obj/structure/sign/warning/firing_range name = "\improper FIRING RANGE sign" @@ -170,7 +170,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/test_chamber, 32) desc = "A sign reminding you to remain behind the firing line, and to wear ear protection." icon_state = "firingrange" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/firing_range, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/firing_range) /obj/structure/sign/warning/cold_temp name = "\improper FREEZING AIR sign" @@ -178,7 +178,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/firing_range, 32) desc = "A sign that warns of extremely cold air in the vicinity." icon_state = "cold" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/cold_temp, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/cold_temp) /obj/structure/sign/warning/hot_temp name = "\improper SUPERHEATED AIR sign" @@ -186,7 +186,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/cold_temp, 32) desc = "A sign that warns of extremely hot air in the vicinity." icon_state = "heat" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/hot_temp, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/hot_temp) /obj/structure/sign/warning/gas_mask name = "\improper CONTAMINATED AIR sign" @@ -194,7 +194,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/hot_temp, 32) desc = "A sign that warns of dangerous particulates or gasses in the air, instructing you to wear internals." icon_state = "gasmask" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/gas_mask, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/gas_mask) /obj/structure/sign/warning/chem_diamond name = "\improper REACTIVE CHEMICALS sign" @@ -202,7 +202,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/gas_mask, 32) desc = "A sign that warns of potentially reactive chemicals nearby, be they explosive, flammable, or acidic." icon_state = "chemdiamond" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/chem_diamond, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/chem_diamond) /obj/structure/sign/warning/doors name = "\improper BLAST DOORS sign" @@ -220,7 +220,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/doors, 32) desc = "A warning sign which reads 'ESCAPE PODS'." icon_state = "pods" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/pods, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/pods) /obj/structure/sign/warning/rad_shelter name = "\improper RADSTORM SHELTER sign" @@ -228,4 +228,4 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/pods, 32) desc = "A warning sign which reads 'RADSTORM SHELTER'." icon_state = "radshelter" -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/rad_shelter, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/rad_shelter) diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index e8882251237fd..c10eded8bdd3b 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -1,7 +1,7 @@ /obj/structure/spirit_board name = "spirit board" desc = "A wooden board with letters etched into it, used in seances." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "spirit_board" resistance_flags = FLAMMABLE density = TRUE diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index a26354211dc27..99a2f8971f859 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -8,7 +8,7 @@ /obj/structure/stairs name = "stairs" - icon = 'icons/obj/stairs.dmi' + icon = 'icons/obj/structures/stairs.dmi' icon_state = "stairs" anchored = TRUE move_resist = INFINITY @@ -162,7 +162,7 @@ /obj/structure/stairs_frame name = "stairs frame" desc = "Everything you need to call something a staircase, aside from the stuff you actually step on." - icon = 'icons/obj/stairs.dmi' + icon = 'icons/obj/structures/stairs.dmi' icon_state = "stairs_frame" density = FALSE anchored = FALSE diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index cb45eb18e75eb..556276319c6dc 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -12,7 +12,7 @@ /obj/structure/table_frame name = "table frame" desc = "Four metal legs with four framing rods for a table. You could easily pass through this." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/smooth/table_singles.dmi' icon_state = "table_frame" density = FALSE anchored = FALSE diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 546b6ad796827..98f4d500f088c 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -13,9 +13,12 @@ */ /obj/structure/table + // Shift tables down to avoid layering headaches + SET_BASE_PIXEL_NOMAP(0, -8) + SET_BASE_VISUAL_PIXEL(0, 8) name = "table" desc = "A square piece of iron standing on four metal legs. It can not move." - icon = 'icons/obj/smooth_structures/table.dmi' + icon = 'icons/obj/structures/smooth/table.dmi' icon_state = "table-0" base_icon_state = "table" density = TRUE @@ -37,6 +40,10 @@ var/buildstackamount = 1 var/framestackamount = 2 var/deconstruction_ready = TRUE + var/bottom_placable_y = 9 + var/top_placable_y = 37 + var/bottom_placable_x = 4 + var/top_placable_x = 28 /obj/structure/table/Initialize(mapload, _buildstack) . = ..() @@ -58,6 +65,7 @@ ///Adds the element used to make the object climbable, and also the one that shift the mob buckled to it up. /obj/structure/table/proc/make_climbable() AddElement(/datum/element/climbable) + AddComponent(/datum/component/climb_walkable) AddElement(/datum/element/elevation, pixel_shift = 12) /obj/structure/table/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) @@ -142,15 +150,6 @@ /obj/structure/table/attack_tk(mob/user) return -/obj/structure/table/CanAllowThrough(atom/movable/mover, border_dir) - . = ..() - if(.) - return - if(mover.throwing) - return TRUE - if(locate(/obj/structure/table) in get_turf(mover)) - return TRUE - /obj/structure/table/CanAStarPass(to_dir, datum/can_pass_info/pass_info) if(!density) return TRUE @@ -228,75 +227,103 @@ if(istype(tool, /obj/item/construction/rcd)) return NONE + var/deck_act_value = NONE if(istype(tool, /obj/item/toy/cards/deck)) - var/obj/item/toy/cards/deck/dealer_deck = tool - if(HAS_TRAIT(dealer_deck, TRAIT_WIELDED)) // deal a card faceup on the table - var/obj/item/toy/singlecard/card = dealer_deck.draw(user) - if(card) - card.Flip() - attackby(card, user, list2params(modifiers)) - return ITEM_INTERACT_SUCCESS + deck_act_value = deck_act(user, tool, modifiers, TRUE) + // Continue to placing if we don't do anything else + if(deck_act_value != NONE) + return deck_act_value + + if(!user.combat_mode) + return table_place_act(user, tool, modifiers) - return item_interaction(user, tool, modifiers) + return NONE /obj/structure/table/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = NONE if(istype(tool, /obj/item/storage/bag/tray)) - var/obj/item/storage/bag/tray/tray = tool - if(tray.contents.len > 0) // If the tray isn't empty - for(var/obj/item/thing in tray.contents) - AfterPutItemOnTable(thing, user) - tool.atom_storage.remove_all(drop_location()) - user.visible_message(span_notice("[user] empties [tool] on [src].")) - return ITEM_INTERACT_SUCCESS - // If the tray IS empty, continue on (tray will be placed on the table like other items) + . = tray_act(user, tool) + else if(istype(tool, /obj/item/toy/cards/deck)) + . = deck_act(user, tool, modifiers, FALSE) + else if(istype(tool, /obj/item/riding_offhand)) + . = riding_offhand_act(user, tool) - if(istype(tool, /obj/item/toy/cards/deck)) - var/obj/item/toy/cards/deck/dealer_deck = tool - if(HAS_TRAIT(dealer_deck, TRAIT_WIELDED)) // deal a card facedown on the table - var/obj/item/toy/singlecard/card = dealer_deck.draw(user) - if(card) - attackby(card, user, list2params(modifiers)) - return ITEM_INTERACT_SUCCESS - - if(istype(tool, /obj/item/riding_offhand)) - var/obj/item/riding_offhand/riding_item = tool - var/mob/living/carried_mob = riding_item.rider - if(carried_mob == user) //Piggyback user. - return NONE - if(user.combat_mode) - user.unbuckle_mob(carried_mob) - tablelimbsmash(user, carried_mob) - else - var/tableplace_delay = 3.5 SECONDS - var/skills_space = "" - if(HAS_TRAIT(user, TRAIT_QUICKER_CARRY)) - tableplace_delay = 2 SECONDS - skills_space = " expertly" - else if(HAS_TRAIT(user, TRAIT_QUICK_CARRY)) - tableplace_delay = 2.75 SECONDS - skills_space = " quickly" - - var/obj/item/organ/internal/cyberimp/chest/spine/potential_spine = user.get_organ_slot(ORGAN_SLOT_SPINE) - if(istype(potential_spine)) - tableplace_delay *= potential_spine.athletics_boost_multiplier - - carried_mob.visible_message(span_notice("[user] begins to[skills_space] place [carried_mob] onto [src]..."), - span_userdanger("[user] begins to[skills_space] place [carried_mob] onto [src]...")) - if(do_after(user, tableplace_delay, target = carried_mob)) - user.unbuckle_mob(carried_mob) - tableplace(user, carried_mob) - return ITEM_INTERACT_SUCCESS + // Continue to placing if we don't do anything else + if(. != NONE) + return . - // Where putting things on tables is handled. - if(!user.combat_mode && !(tool.item_flags & ABSTRACT) && user.transferItemToLoc(tool, drop_location(), silent = FALSE)) - //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) - tool.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) - tool.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) - AfterPutItemOnTable(tool, user) - return ITEM_INTERACT_SUCCESS + if(!user.combat_mode) + return table_place_act(user, tool, modifiers) return NONE +/obj/structure/table/proc/tray_act(mob/living/user, obj/item/storage/bag/tray/used_tray) + if(used_tray.contents.len <= 0) + return NONE // If the tray IS empty, continue on (tray will be placed on the table like other items) + + for(var/obj/item/thing in used_tray.contents) + AfterPutItemOnTable(thing, user) + used_tray.atom_storage.remove_all(drop_location()) + user.visible_message(span_notice("[user] empties [used_tray] on [src].")) + return ITEM_INTERACT_SUCCESS + +/obj/structure/table/proc/deck_act(mob/living/user, obj/item/toy/cards/deck/dealer_deck, list/modifiers, flip) + if(!HAS_TRAIT(dealer_deck, TRAIT_WIELDED)) + return NONE + + var/obj/item/toy/singlecard/card = dealer_deck.draw(user) + if(isnull(card)) + return ITEM_INTERACT_BLOCKING + if(flip) + card.Flip() + return table_place_act(user, card, modifiers) + +/obj/structure/table/proc/riding_offhand_act(mob/living/user, obj/item/riding_offhand/riding_item) + var/mob/living/carried_mob = riding_item.rider + if(carried_mob == user) //Piggyback user. + return NONE + + if(user.combat_mode) + user.unbuckle_mob(carried_mob) + tablelimbsmash(user, carried_mob) + return ITEM_INTERACT_SUCCESS + + var/tableplace_delay = 3.5 SECONDS + var/skills_space = "" + if(HAS_TRAIT(user, TRAIT_QUICKER_CARRY)) + tableplace_delay = 2 SECONDS + skills_space = " expertly" + else if(HAS_TRAIT(user, TRAIT_QUICK_CARRY)) + tableplace_delay = 2.75 SECONDS + skills_space = " quickly" + + var/obj/item/organ/internal/cyberimp/chest/spine/potential_spine = user.get_organ_slot(ORGAN_SLOT_SPINE) + if(istype(potential_spine)) + tableplace_delay *= potential_spine.athletics_boost_multiplier + + carried_mob.visible_message(span_notice("[user] begins to[skills_space] place [carried_mob] onto [src]..."), + span_userdanger("[user] begins to[skills_space] place [carried_mob] onto [src]...")) + if(!do_after(user, tableplace_delay, target = carried_mob)) + return ITEM_INTERACT_BLOCKING + user.unbuckle_mob(carried_mob) + tableplace(user, carried_mob) + return ITEM_INTERACT_SUCCESS + +// Where putting things on tables is handled. +/obj/structure/table/proc/table_place_act(mob/living/user, obj/item/tool, list/modifiers) + if(tool.item_flags & ABSTRACT) + return NONE + if(!user.transferItemToLoc(tool, drop_location(), silent = FALSE)) + return ITEM_INTERACT_BLOCKING + // Items are centered by default, but we move them if click ICON_X and ICON_Y are available + if(LAZYACCESS(modifiers, ICON_X) && LAZYACCESS(modifiers, ICON_Y)) + //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) + // +- 8 to bound it to a typical item hitbox (16x16) instead of the assumed max of 32x32 + tool.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, bottom_placable_x - 8, top_placable_x + 8) + tool.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, bottom_placable_y - 8, top_placable_y + 8) + AfterPutItemOnTable(tool, user) + return ITEM_INTERACT_SUCCESS + /obj/structure/table/proc/AfterPutItemOnTable(obj/item/thing, mob/living/user) return @@ -319,16 +346,33 @@ return FALSE /obj/structure/table/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_DECONSTRUCT) + if(rcd_data[RCD_DESIGN_MODE] == RCD_DECONSTRUCT) qdel(src) return TRUE return FALSE +/obj/structure/table/set_smoothed_icon_state(new_junction) + . = ..() + bottom_placable_x = initial(bottom_placable_x) + bottom_placable_y = initial(bottom_placable_y) + top_placable_x = initial(top_placable_x) + top_placable_y = initial(top_placable_y) + // Allow free movement if we smooth in a direction, while handling bounding + if(new_junction & NORTH) + top_placable_y = 32 + 8 + if(new_junction & SOUTH) + bottom_placable_y = 0 - 8 + if(new_junction & EAST) + top_placable_x = 32 + 8 + if(new_junction & WEST) + bottom_placable_x = 0 - 8 + /obj/structure/table/proc/table_living(datum/source, mob/living/shover, mob/living/target, shove_flags, obj/item/weapon) SIGNAL_HANDLER if((shove_flags & SHOVE_KNOCKDOWN_BLOCKED) || !(shove_flags & SHOVE_BLOCKED)) return target.Knockdown(SHOVE_KNOCKDOWN_TABLE) + target.apply_status_effect(/datum/status_effect/next_shove_stuns) target.visible_message(span_danger("[shover.name] shoves [target.name] onto \the [src]!"), span_userdanger("You're shoved onto \the [src] by [shover.name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, shover) to_chat(shover, span_danger("You shove [target.name] onto \the [src]!")) @@ -337,7 +381,7 @@ return COMSIG_LIVING_SHOVE_HANDLED /obj/structure/table/greyscale - icon = 'icons/obj/smooth_structures/table_greyscale.dmi' + icon = 'icons/obj/structures/smooth/table_greyscale.dmi' icon_state = "table_greyscale-0" base_icon_state = "table_greyscale" material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS @@ -353,14 +397,21 @@ ///Table on wheels /obj/structure/table/rolling + SET_BASE_PIXEL(0, 0) + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "Rolling table" desc = "An NT brand \"Rolly poly\" rolling table. It can and will move." anchored = FALSE smoothing_flags = NONE smoothing_groups = null canSmoothWith = null - icon = 'icons/obj/smooth_structures/rollingtable.dmi' + icon = 'icons/obj/structures/smooth/rollingtable.dmi' icon_state = "rollingtable" + // this one's 32x32 so it uses different clickable bounds + bottom_placable_y = 12 + top_placable_y = 29 + bottom_placable_x = 4 + top_placable_x = 28 /// Lazylist of the items that we have on our surface. var/list/attached_items = null @@ -414,7 +465,7 @@ /obj/structure/table/glass name = "glass table" desc = "What did I say about leaning on the glass tables? Now you need surgery." - icon = 'icons/obj/smooth_structures/glass_table.dmi' + icon = 'icons/obj/structures/smooth/glass_table.dmi' icon_state = "glass_table-0" base_icon_state = "glass_table" custom_materials = list(/datum/material/glass =SHEET_MATERIAL_AMOUNT) @@ -486,7 +537,7 @@ /obj/structure/table/glass/plasmaglass name = "plasma glass table" desc = "Someone thought this was a good idea." - icon = 'icons/obj/smooth_structures/plasmaglass_table.dmi' + icon = 'icons/obj/structures/smooth/plasmaglass_table.dmi' icon_state = "plasmaglass_table-0" base_icon_state = "plasmaglass_table" custom_materials = list(/datum/material/alloy/plasmaglass =SHEET_MATERIAL_AMOUNT) @@ -501,7 +552,7 @@ /obj/structure/table/wood name = "wooden table" desc = "Do not apply fire to this. Rumour says it burns easily." - icon = 'icons/obj/smooth_structures/wood_table.dmi' + icon = 'icons/obj/structures/smooth/wood_table.dmi' icon_state = "wood_table-0" base_icon_state = "wood_table" frame = /obj/structure/table_frame/wood @@ -519,7 +570,7 @@ /obj/structure/table/wood/poker //No specialties, Just a mapping object. name = "gambling table" desc = "A seedy table for seedy dealings in seedy places." - icon = 'icons/obj/smooth_structures/poker_table.dmi' + icon = 'icons/obj/structures/smooth/poker_table.dmi' icon_state = "poker_table-0" base_icon_state = "poker_table" buildstack = /obj/item/stack/tile/carpet @@ -530,7 +581,7 @@ /obj/structure/table/wood/fancy name = "fancy table" desc = "A standard metal table frame covered with an amazingly fancy, patterned cloth." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/smooth/table_singles.dmi' icon_state = "fancy_table" base_icon_state = "fancy_table" frame = /obj/structure/table_frame @@ -538,7 +589,7 @@ buildstack = /obj/item/stack/tile/carpet smoothing_groups = SMOOTH_GROUP_FANCY_WOOD_TABLES //Don't smooth with SMOOTH_GROUP_TABLES or SMOOTH_GROUP_WOOD_TABLES canSmoothWith = SMOOTH_GROUP_FANCY_WOOD_TABLES - var/smooth_icon = 'icons/obj/smooth_structures/fancy_table.dmi' // see Initialize() + var/smooth_icon = 'icons/obj/structures/smooth/fancy_table.dmi' // see Initialize() /obj/structure/table/wood/fancy/Initialize(mapload) . = ..() @@ -552,55 +603,55 @@ icon_state = "fancy_table_black" base_icon_state = "fancy_table_black" buildstack = /obj/item/stack/tile/carpet/black - smooth_icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_black.dmi' /obj/structure/table/wood/fancy/blue icon_state = "fancy_table_blue" base_icon_state = "fancy_table_blue" buildstack = /obj/item/stack/tile/carpet/blue - smooth_icon = 'icons/obj/smooth_structures/fancy_table_blue.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_blue.dmi' /obj/structure/table/wood/fancy/cyan icon_state = "fancy_table_cyan" base_icon_state = "fancy_table_cyan" buildstack = /obj/item/stack/tile/carpet/cyan - smooth_icon = 'icons/obj/smooth_structures/fancy_table_cyan.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_cyan.dmi' /obj/structure/table/wood/fancy/green icon_state = "fancy_table_green" base_icon_state = "fancy_table_green" buildstack = /obj/item/stack/tile/carpet/green - smooth_icon = 'icons/obj/smooth_structures/fancy_table_green.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_green.dmi' /obj/structure/table/wood/fancy/orange icon_state = "fancy_table_orange" base_icon_state = "fancy_table_orange" buildstack = /obj/item/stack/tile/carpet/orange - smooth_icon = 'icons/obj/smooth_structures/fancy_table_orange.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_orange.dmi' /obj/structure/table/wood/fancy/purple icon_state = "fancy_table_purple" base_icon_state = "fancy_table_purple" buildstack = /obj/item/stack/tile/carpet/purple - smooth_icon = 'icons/obj/smooth_structures/fancy_table_purple.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_purple.dmi' /obj/structure/table/wood/fancy/red icon_state = "fancy_table_red" base_icon_state = "fancy_table_red" buildstack = /obj/item/stack/tile/carpet/red - smooth_icon = 'icons/obj/smooth_structures/fancy_table_red.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_red.dmi' /obj/structure/table/wood/fancy/royalblack icon_state = "fancy_table_royalblack" base_icon_state = "fancy_table_royalblack" buildstack = /obj/item/stack/tile/carpet/royalblack - smooth_icon = 'icons/obj/smooth_structures/fancy_table_royalblack.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_royalblack.dmi' /obj/structure/table/wood/fancy/royalblue icon_state = "fancy_table_royalblue" base_icon_state = "fancy_table_royalblue" buildstack = /obj/item/stack/tile/carpet/royalblue - smooth_icon = 'icons/obj/smooth_structures/fancy_table_royalblue.dmi' + smooth_icon = 'icons/obj/structures/smooth/fancy_table_royalblue.dmi' /* * Reinforced tables @@ -608,7 +659,7 @@ /obj/structure/table/reinforced name = "reinforced table" desc = "A reinforced version of the four legged table." - icon = 'icons/obj/smooth_structures/reinforced_table.dmi' + icon = 'icons/obj/structures/smooth/reinforced_table.dmi' icon_state = "reinforced_table-0" base_icon_state = "reinforced_table" deconstruction_ready = FALSE @@ -669,7 +720,7 @@ /obj/structure/table/bronze name = "bronze table" desc = "A solid table made out of bronze." - icon = 'icons/obj/smooth_structures/brass_table.dmi' + icon = 'icons/obj/structures/smooth/brass_table.dmi' icon_state = "brass_table-0" base_icon_state = "brass_table" resistance_flags = FIRE_PROOF | ACID_PROOF @@ -684,7 +735,7 @@ /obj/structure/table/reinforced/rglass name = "reinforced glass table" desc = "A reinforced version of the glass table." - icon = 'icons/obj/smooth_structures/rglass_table.dmi' + icon = 'icons/obj/structures/smooth/rglass_table.dmi' icon_state = "rglass_table-0" base_icon_state = "rglass_table" custom_materials = list(/datum/material/glass =SHEET_MATERIAL_AMOUNT, /datum/material/iron =SHEET_MATERIAL_AMOUNT) @@ -694,7 +745,7 @@ /obj/structure/table/reinforced/plasmarglass name = "reinforced plasma glass table" desc = "A reinforced version of the plasma glass table." - icon = 'icons/obj/smooth_structures/rplasmaglass_table.dmi' + icon = 'icons/obj/structures/smooth/rplasmaglass_table.dmi' icon_state = "rplasmaglass_table-0" base_icon_state = "rplasmaglass_table" custom_materials = list(/datum/material/alloy/plasmaglass =SHEET_MATERIAL_AMOUNT, /datum/material/iron =SHEET_MATERIAL_AMOUNT) @@ -703,7 +754,7 @@ /obj/structure/table/reinforced/titaniumglass name = "titanium glass table" desc = "A titanium reinforced glass table, with a fresh coat of NT white paint." - icon = 'icons/obj/smooth_structures/titaniumglass_table.dmi' + icon = 'icons/obj/structures/smooth/titaniumglass_table.dmi' icon_state = "titaniumglass_table-0" base_icon_state = "titaniumglass_table" custom_materials = list(/datum/material/alloy/titaniumglass =SHEET_MATERIAL_AMOUNT) @@ -713,7 +764,7 @@ /obj/structure/table/reinforced/plastitaniumglass name = "plastitanium glass table" desc = "A table made of titanium reinforced silica-plasma composite. About as durable as it sounds." - icon = 'icons/obj/smooth_structures/plastitaniumglass_table.dmi' + icon = 'icons/obj/structures/smooth/plastitaniumglass_table.dmi' icon_state = "plastitaniumglass_table-0" base_icon_state = "plastitaniumglass_table" custom_materials = list(/datum/material/alloy/plastitaniumglass =SHEET_MATERIAL_AMOUNT) @@ -725,6 +776,7 @@ */ /obj/structure/table/optable + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "operating table" desc = "Used for advanced medical procedures." icon = 'icons/obj/medical/surgery_table.dmi' @@ -766,16 +818,6 @@ pushed_mob.set_resting(TRUE, TRUE) visible_message(span_notice("[user] lays [pushed_mob] on [src].")) -///Align the mob with the table when buckled. -/obj/structure/table/optable/post_buckle_mob(mob/living/buckled) - . = ..() - buckled.pixel_y += 6 - -///Disalign the mob with the table when unbuckled. -/obj/structure/table/optable/post_unbuckle_mob(mob/living/buckled) - . = ..() - buckled.pixel_y -= 6 - /// Any mob that enters our tile will be marked as a potential patient. They will be turned into a patient if they lie down. /obj/structure/table/optable/proc/mark_patient(datum/source, mob/living/carbon/potential_patient) SIGNAL_HANDLER @@ -818,12 +860,12 @@ /obj/structure/rack name = "rack" desc = "Different from the Middle Ages version." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "rack" layer = TABLE_LAYER density = TRUE anchored = TRUE - pass_flags_self = LETPASSTHROW //You can throw objects over this, despite it's density. + pass_flags_self = LETPASSTHROW //You can throw objects over this, despite its density. max_integrity = 20 /obj/structure/rack/skeletal @@ -912,7 +954,7 @@ /obj/item/rack_parts name = "rack parts" desc = "Parts of a rack." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "rack_parts" inhand_icon_state = "rack_parts" obj_flags = CONDUCTS_ELECTRICITY diff --git a/code/game/objects/structures/tall_stairs.dm b/code/game/objects/structures/tall_stairs.dm new file mode 100644 index 0000000000000..1a1cd6f5e64a5 --- /dev/null +++ b/code/game/objects/structures/tall_stairs.dm @@ -0,0 +1,143 @@ +/obj/structure/tall_stairs + name = "stairs" + icon = 'icons/obj/structures/tall.dmi' + icon_state = "stairs_start" + anchored = TRUE + move_resist = INFINITY + + /// Our paired stairs, used for tracking destruction + var/obj/structure/tall_stairs/paired + /// Should we destroy our paired stairs? + var/destroy_paired = TRUE + +/obj/structure/tall_stairs/Initialize(mapload) + . = ..() + AddComponent(/datum/component/climb_walkable) + locate_pair() + +/obj/structure/tall_stairs/proc/locate_pair() + return + +/obj/structure/tall_stairs/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + if (!isnull(paired)) + paired.paired = null + paired = null + locate_pair() + +/obj/structure/tall_stairs/Destroy(force) + . = ..() + if (!QDELETED(paired) && destroy_paired) + paired.destroy_paired = FALSE + QDEL_NULL(paired) + +/obj/structure/tall_stairs/start + icon_state = "stairs_start" + +/obj/structure/tall_stairs/start/Initialize(mapload) + . = ..() + AddElement(/datum/element/elevation, pixel_shift = 8) + +/obj/structure/tall_stairs/start/locate_pair() + if (paired) + return + paired = locate(/obj/structure/tall_stairs/end) in get_step(src, dir) + if (paired) + paired.paired = src + +/obj/structure/tall_stairs/end + icon_state = "stairs_end" + +/obj/structure/tall_stairs/end/Initialize(mapload) + . = ..() + AddElement(/datum/element/elevation, pixel_shift = 20) + var/static/list/loc_connections = list( + COMSIG_ATOM_EXIT = PROC_REF(on_exit), + ) + AddElement(/datum/element/connect_loc, loc_connections) + +/obj/structure/tall_stairs/end/intercept_zImpact(list/falling_movables, levels = 1) + . = ..() + if (levels > 1) + return + for(var/mob/living/fallen_mob in falling_movables) + if (fallen_mob.get_timed_status_effect_duration(/datum/status_effect/staggered) || HAS_TRAIT(fallen_mob, TRAIT_WADDLING) && prob(5)) + addtimer(CALLBACK(src, PROC_REF(flop), fallen_mob), 1) + + . |= FALL_INTERCEPTED | FALL_NO_MESSAGE | FALL_RETAIN_PULL + +/obj/structure/tall_stairs/end/proc/flop(mob/living/fallen_mob) + var/turf/target_turf = get_step(get_step(src, REVERSE_DIR(dir)), REVERSE_DIR(dir)) + fallen_mob.throw_at(target_turf, 2, 1, spin = TRUE) + fallen_mob.visible_message(span_warning("[fallen_mob] falls down [src]!"), span_userdanger("You painfully fall down [src]!")) + fallen_mob.Knockdown(5 SECONDS) + fallen_mob.apply_damage(5, BRUTE) + +/obj/structure/tall_stairs/end/proc/on_exit(datum/source, atom/movable/leaving, direction) + SIGNAL_HANDLER + + if(leaving == src) + return + + if(isobserver(leaving)) + return + + if (direction & dir) + leaving.set_currently_z_moving(CURRENTLY_Z_ASCENDING) + INVOKE_ASYNC(src, PROC_REF(stair_ascend), leaving) + leaving.Bump(src) + return COMPONENT_ATOM_BLOCK_EXIT + + if (!isliving(leaving) || (locate(/obj/structure/tall_stairs) in get_step(src, direction))) + return + + var/mob/living/loser = leaving + var/graceful_landing = FALSE + if(!loser.incapacitated(IGNORE_RESTRAINTS)) + var/obj/item/organ/external/wings/gliders = loser.get_organ_by_type(/obj/item/organ/external/wings) + if(HAS_TRAIT(loser, TRAIT_FREERUNNING) || gliders?.can_soften_fall()) + graceful_landing = HAS_TRAIT(loser, TRAIT_CATLIKE_GRACE) + + if(graceful_landing) + loser.add_movespeed_modifier(/datum/movespeed_modifier/landed_on_feet) + addtimer(CALLBACK(loser, TYPE_PROC_REF(/mob, remove_movespeed_modifier), /datum/movespeed_modifier/landed_on_feet), 2 SECONDS) + new /obj/effect/temp_visual/mook_dust/small(get_step(src, direction)) + else + loser.Knockdown(3 SECONDS) + + loser.visible_message(span_warning("[loser] falls from [src]!"), span_warning("You fall from [src]!")) + +/obj/structure/tall_stairs/end/proc/stair_ascend(atom/movable/climber) + var/turf/checking = get_step_multiz(get_turf(src), UP) + if(!istype(checking)) + return + // I'm only interested in if the pass is unobstructed, not if the mob will actually make it + if(!climber.can_z_move(UP, get_turf(src), checking, z_move_flags = ZMOVE_ALLOW_BUCKLED)) + return + var/turf/target = get_step_multiz(get_turf(src), (dir|UP)) + if(istype(target) && !climber.can_z_move(DOWN, target, z_move_flags = ZMOVE_FALL_FLAGS)) //Don't throw them into a tile that will just dump them back down. + climber.zMove(target = target, z_move_flags = ZMOVE_STAIRS_FLAGS) + /// Moves anything that's being dragged by src or anything buckled to it to the stairs turf. + climber.pulling?.move_from_pull(climber, loc, climber.glide_size) + for(var/mob/living/buckled as anything in climber.buckled_mobs) + buckled.pulling?.move_from_pull(buckled, loc, buckled.glide_size) + +/obj/structure/tall_stairs/end/locate_pair() + if (paired) + return + paired = locate(/obj/structure/tall_stairs/start) in get_step(src, REVERSE_DIR(dir)) + if (paired) + paired.paired = src + +/obj/structure/tall_stairs/end/CanAllowThrough(atom/movable/mover, border_dir) + if (isnull(locate(/obj/structure/tall_stairs) in get_turf(mover))) + return FALSE + return ..() + +/obj/structure/tall_stairs/small + icon_state = "stairs_small" + destroy_paired = FALSE + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/tall_stairs/start) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/tall_stairs/end) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/tall_stairs/small) diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 2d16ea30a69e4..79217f2373eb2 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -1,9 +1,10 @@ #define TANK_DISPENSER_CAPACITY 10 /obj/structure/tank_dispenser + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "tank dispenser" desc = "A simple yet bulky storage device for gas tanks." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/canisters.dmi' icon_state = "dispenser" density = TRUE anchored = TRUE diff --git a/code/game/objects/structures/tank_holder.dm b/code/game/objects/structures/tank_holder.dm index 34284b1f1dd0d..c71eac0188fb2 100644 --- a/code/game/objects/structures/tank_holder.dm +++ b/code/game/objects/structures/tank_holder.dm @@ -1,5 +1,6 @@ ///? /obj/structure/tank_holder + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "tank holder" desc = "A metallic frame that can hold tanks and extinguishers." icon = 'icons/obj/canisters.dmi' diff --git a/code/game/objects/structures/toiletbong.dm b/code/game/objects/structures/toiletbong.dm index 0ea21e9ff8480..a348835af38b5 100644 --- a/code/game/objects/structures/toiletbong.dm +++ b/code/game/objects/structures/toiletbong.dm @@ -1,7 +1,7 @@ /obj/structure/toiletbong name = "toilet bong" desc = "A repurposed toilet with re-arranged piping and an attached flamethrower. Why would anyone build this?" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "toiletbong" base_icon_state = "toiletbong" density = FALSE @@ -15,10 +15,10 @@ AddComponent(/datum/component/simple_rotation, post_rotation = CALLBACK(src, PROC_REF(post_rotation))) create_storage(max_total_storage = 100, max_slots = 12, canhold = /obj/item/food) atom_storage.attack_hand_interact = FALSE - atom_storage.rustle_sound = FALSE + atom_storage.do_rustle = FALSE atom_storage.animated = FALSE - weed_overlay = mutable_appearance('icons/obj/watercloset.dmi', "[base_icon_state]_overlay") + weed_overlay = mutable_appearance('icons/obj/structures/watercloset.dmi', "[base_icon_state]_overlay") START_PROCESSING(SSobj, src) /obj/structure/toiletbong/update_overlays() diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm index bed4c4805cca6..c1963ea38a3ef 100644 --- a/code/game/objects/structures/training_machine.dm +++ b/code/game/objects/structures/training_machine.dm @@ -79,7 +79,7 @@ * * Will not respond if moving and emagged, so once you set it to go it can't be stopped! */ -/obj/structure/training_machine/ui_act(action, params) +/obj/structure/training_machine/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/game/objects/structures/water_structures/sink.dm b/code/game/objects/structures/water_structures/sink.dm index 24cb2e806965f..059dbac499390 100644 --- a/code/game/objects/structures/water_structures/sink.dm +++ b/code/game/objects/structures/water_structures/sink.dm @@ -1,6 +1,6 @@ /obj/structure/sink name = "sink" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "sink" desc = "A sink used for washing one's hands and face. Passively reclaims water over time." anchored = TRUE @@ -14,14 +14,12 @@ var/buildstacktype = /obj/item/stack/sheet/iron ///Number of sheets of material to drop when broken or deconstructed. var/buildstackamount = 1 - ///Does the sink have a water recycler to recollect it's water supply? + ///Does the sink have a water recycler to recollect its water supply? var/has_water_reclaimer = TRUE ///Units of water to reclaim per second var/reclaim_rate = 0.5 - ///Amount of shift the pixel for placement - var/pixel_shift = 14 -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) +SINK_DIRECTIONAL_HELPERS(/obj/structure/sink) /obj/structure/sink/Initialize(mapload, ndir = 0, has_water_reclaimer = null) . = ..() @@ -32,24 +30,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) if(has_water_reclaimer != null) src.has_water_reclaimer = has_water_reclaimer - switch(dir) - if(NORTH) - pixel_x = 0 - pixel_y = -pixel_shift - if(SOUTH) - pixel_x = 0 - pixel_y = pixel_shift - if(EAST) - pixel_x = -pixel_shift - pixel_y = 0 - if(WEST) - pixel_x = pixel_shift - pixel_y = 0 - create_reagents(100, NO_REACT) if(src.has_water_reclaimer) reagents.add_reagent(dispensedreagent, 100) - AddComponent(/datum/component/plumbing/simple_demand, extend_pipe_to_edge = TRUE) + AddComponent(/datum/component/plumbing/inverted_simple_demand, extend_pipe_to_edge = TRUE, invert_demand = TRUE) + find_and_hang_on_wall() /obj/structure/sink/examine(mob/user) . = ..() @@ -246,9 +231,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) name = "kitchen sink" icon_state = "sink_alt" pixel_z = 4 - pixel_shift = 16 -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16)) +SINK_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen) /obj/structure/sink/gasstation name = "plasma fuel station" @@ -264,7 +248,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16)) /obj/structure/sinkframe name = "sink frame" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "sink_frame" desc = "A sink frame, that needs a water recycler to finish construction." anchored = FALSE diff --git a/code/game/objects/structures/water_structures/toilet.dm b/code/game/objects/structures/water_structures/toilet.dm index 7a64404a238a9..615134a745871 100644 --- a/code/game/objects/structures/water_structures/toilet.dm +++ b/code/game/objects/structures/water_structures/toilet.dm @@ -1,7 +1,8 @@ /obj/structure/toilet + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "toilet" desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one seems remarkably clean." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "toilet00" //The first number represents if the toilet lid is up, the second is if the cistern is open. base_icon_state = "toilet" density = FALSE @@ -36,6 +37,7 @@ update_appearance(UPDATE_ICON) if(mapload && SSmapping.level_trait(z, ZTRAIT_STATION)) AddElement(/datum/element/lazy_fishing_spot, /datum/fish_source/toilet) + AddElement(/datum/element/fish_safe_storage) register_context() /obj/structure/toilet/add_context(atom/source, list/context, obj/item/held_item, mob/user) diff --git a/code/game/objects/structures/water_structures/urinal.dm b/code/game/objects/structures/water_structures/urinal.dm index 3b34e2cc0e5b8..2fae415892e9d 100644 --- a/code/game/objects/structures/water_structures/urinal.dm +++ b/code/game/objects/structures/water_structures/urinal.dm @@ -1,7 +1,7 @@ /obj/structure/urinal name = "urinal" desc = "The HU-452, an experimental urinal. Comes complete with experimental urinal cake." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "urinal" density = FALSE anchored = TRUE @@ -10,13 +10,13 @@ /// What's in the urinal var/obj/item/hidden_item -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/urinal) /obj/structure/urinal/Initialize(mapload) . = ..() if(mapload) hidden_item = new /obj/item/food/urinalcake(src) - find_and_hang_on_wall() + find_and_hang_on_wall(wall_layer = FLAT_ON_WALL_LAYER) /obj/structure/urinal/Exited(atom/movable/gone, direction) . = ..() @@ -92,15 +92,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32) /obj/item/wallframe/urinal name = "urinal frame" desc = "An unmounted urinal. Attach it to a wall to use." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "urinal" result_path = /obj/structure/urinal - pixel_shift = 32 /obj/item/food/urinalcake name = "urinal cake" desc = "The noble urinal cake, protecting the station's pipes from the station's pee. Do not eat." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/maintenance_loot.dmi' icon_state = "urinalcake" w_class = WEIGHT_CLASS_TINY food_reagents = list( diff --git a/code/game/objects/structures/water_structures/water_source.dm b/code/game/objects/structures/water_structures/water_source.dm index b7ad26a65ea7e..69d4056b8d0e5 100644 --- a/code/game/objects/structures/water_structures/water_source.dm +++ b/code/game/objects/structures/water_structures/water_source.dm @@ -1,7 +1,7 @@ //Water source, use the type water_source for unlimited water sources like classic sinks. /obj/structure/water_source name = "Water Source" - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/structures/watercloset.dmi' icon_state = "sink" desc = "A sink used for washing one's hands and face. This one seems to be infinite!" anchored = TRUE @@ -133,10 +133,20 @@ /obj/structure/water_source/puddle //splishy splashy ^_^ name = "puddle" desc = "A puddle used for washing one's hands and face." + icon = 'icons/obj/mining_zones/terrain.dmi' icon_state = "puddle" base_icon_state = "puddle" resistance_flags = UNACIDABLE +/obj/structure/water_source/puddle/Initialize(mapload) + . = ..() + register_context() + +/obj/structure/water_source/puddle/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + if(isnull(held_item)) + context[SCREENTIP_CONTEXT_RMB] = "Scoop Tadpoles" + //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/water_source/puddle/attack_hand(mob/user, list/modifiers) icon_state = "[base_icon_state]-splash" @@ -147,3 +157,20 @@ icon_state = "[base_icon_state]-splash" . = ..() icon_state = base_icon_state + +/obj/structure/water_source/puddle/attack_hand_secondary(mob/living/carbon/human/user, list/modifiers) + . = ..() + if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) + return + if(DOING_INTERACTION_WITH_TARGET(user, src)) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + icon_state = "[base_icon_state]-splash" + balloon_alert(user, "scooping tadpoles...") + if(do_after(user, 5 SECONDS, src)) + playsound(loc, 'sound/effects/slosh.ogg', 15, TRUE) + balloon_alert(user, "got a tadpole") + var/obj/item/fish/tadpole/tadpole = new(loc) + tadpole.randomize_size_and_weight() + user.put_in_hands(tadpole) + icon_state = base_icon_state + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 4c22cbf01b29d..c369fb3fc8e81 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -20,7 +20,9 @@ //Vars to help with the icon's name ///Does the windoor open to the left or right? var/facing = "l" - ///Whether or not this creates a secure windoor + /// Whether this can make a secure windoor at all + var/can_secure = TRUE + /// Whether or not this creates a secure windoor var/secure = FALSE /** * Windoor (window door) assembly -Nodrak @@ -160,7 +162,7 @@ name = "windoor assembly" //Adding plasteel makes the assembly a secure windoor assembly. Step 2 (optional) complete. - else if(istype(W, /obj/item/stack/sheet/plasteel) && !secure) + else if(istype(W, /obj/item/stack/sheet/plasteel) && can_secure && !secure) var/obj/item/stack/sheet/plasteel/P = W if(P.get_amount() < 2) to_chat(user, span_warning("You need more plasteel to do this!")) @@ -301,22 +303,23 @@ /obj/structure/windoor_assembly/proc/finish_door() var/obj/machinery/door/window/windoor + + var/created_type = get_created_type() + windoor = new created_type(loc) + if(secure) - windoor = new /obj/machinery/door/window/brigdoor(loc) if(facing == "l") - windoor.icon_state = "leftsecureopen" - windoor.base_state = "leftsecure" + windoor.icon_state = "left_secure_open" + windoor.base_state = "left_secure" else - windoor.icon_state = "rightsecureopen" - windoor.base_state = "rightsecure" - + windoor.icon_state = "right_secure_open" + windoor.base_state = "right_secure" else - windoor = new /obj/machinery/door/window(loc) if(facing == "l") - windoor.icon_state = "leftopen" + windoor.icon_state = "left_open" windoor.base_state = "left" else - windoor.icon_state = "rightopen" + windoor.icon_state = "right_open" windoor.base_state = "right" windoor.setDir(dir) @@ -347,6 +350,9 @@ qdel(src) +/// Returns the typepath of windoor to make +/obj/structure/windoor_assembly/proc/get_created_type() + return secure ? /obj/machinery/door/window/brigdoor : /obj/machinery/door/window //Flips the windoor assembly, determines whather the door opens to the left or the right /obj/structure/windoor_assembly/verb/flip() @@ -370,3 +376,11 @@ update_appearance() return + +/obj/structure/windoor_assembly/half + icon = 'icons/obj/doors/windoor_half.dmi' + name = "short windoor Assembly" + can_secure = FALSE + +/obj/structure/windoor_assembly/half/get_created_type() + return /obj/machinery/door/window/half diff --git a/code/game/objects/structures/window_frames.dm b/code/game/objects/structures/window_frames.dm new file mode 100644 index 0000000000000..48dce958c6778 --- /dev/null +++ b/code/game/objects/structures/window_frames.dm @@ -0,0 +1,589 @@ +/obj/structure/window_frame + name = "window frame" + desc = "A frame section to place a window on top." + icon = 'icons/obj/structures/smooth/window_frames/window_frame_normal.dmi' + icon_state = "window_frame_normal-0" + base_icon_state = "window_frame_normal" + smoothing_flags = SMOOTH_BITMASK|SMOOTH_OBJ + smoothing_groups = SMOOTH_GROUP_WINDOW_FRAMES + canSmoothWith = SMOOTH_GROUP_WINDOW_FRAMES + pass_flags_self = PASSTABLE | LETPASSTHROW | PASSGRILLE | PASSWINDOW + opacity = FALSE + density = TRUE + rad_insulation = null + armor_type = /datum/armor/window_frame + max_integrity = 50 + anchored = TRUE + + ///whether we currently have a grille + var/has_grille = FALSE + ///whether we spawn a window structure with us on mapload + var/start_with_window = FALSE + ///Icon used by grilles for this window frame + var/grille_icon = 'icons/obj/structures/smooth/window_grille.dmi' + + var/grille_black_icon = 'icons/obj/structures/smooth/window_grille_black.dmi' + ///Icon state used by grilles for this window frame. + var/grille_icon_state = "window_grille" + + var/frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.dmi' + + ///whether or not this window is reinforced and thus doesnt use the default attackby() behavior + var/is_reinforced = FALSE + + ///typepath. creates a corresponding window for this frame. + ///is either a material sheet typepath (eg /obj/item/stack/sheet/glass) or a fulltile window typepath (eg /obj/structure/window/fulltile) + var/window_type = /obj/item/stack/sheet/glass + + var/sheet_type = /obj/item/stack/sheet/iron + var/sheet_amount = 2 + + /// Whether or not we're disappearing but dramatically + var/dramatically_disappearing = FALSE + +/datum/armor/window_frame + melee = 50 + bullet = 70 + laser = 70 + energy = 100 + bomb = 10 + bio = 100 + fire = 0 + acid = 0 + +/obj/structure/window_frame/Initialize(mapload) + . = ..() + + update_appearance() + AddComponent(/datum/component/climb_walkable) + AddElement(/datum/element/climbable, on_try_climb_procpath = TYPE_PROC_REF(/obj/structure/window_frame, on_try_climb)) + + if(mapload && start_with_window) + create_structure_window(window_type) + + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + ) + AddElement(/datum/element/connect_loc, loc_connections) + +///helper proc to check if we already have a window +/obj/structure/window_frame/proc/has_window() + SHOULD_BE_PURE(TRUE) + + for(var/obj/structure/window/window in loc) + if(window.fulltile) + return TRUE + + return FALSE + +///Called by the climbable element if you try climb up. Better hope you're well protected against shocks! XD +/obj/structure/window_frame/proc/on_try_climb(mob/climber) + try_shock(climber, 100) + +///Gives the user a shock if they get unlucky (Based on shock chance) +/obj/structure/window_frame/proc/try_shock(mob/user, shock_chance) + var/turf/my_turf = get_turf(src) + var/obj/structure/cable/underlaying_cable = my_turf.get_cable_node() + if(!has_grille) // no grille? dont shock. + return FALSE + if(!underlaying_cable) + return FALSE + if(!prob(shock_chance)) + return FALSE + if(!in_range(src, user))//To prevent TK and mech users from getting shocked + return FALSE + if(electrocute_mob(user, underlaying_cable, src, 1, TRUE)) + var/datum/effect_system/spark_spread/spark_effect = new /datum/effect_system/spark_spread + spark_effect.set_up(3, 1, src) + spark_effect.start() + return TRUE + return FALSE + +/obj/structure/window_frame/proc/on_entered(datum/source, atom/movable/AM) + SIGNAL_HANDLER + if(!isliving(AM)) + return + var/mob/living/potential_victim = AM + if(potential_victim.movement_type & MOVETYPES_NOT_TOUCHING_GROUND) + return + try_shock(potential_victim, 100) + + +/obj/structure/window_frame/attack_animal(mob/user, list/modifiers) + . = ..() + if(!.) + return + if(!try_shock(user, 70) && !QDELETED(src)) //Last hit still shocks but shouldn't deal damage to the grille + take_damage(rand(5,10), BRUTE, MELEE, 1) + +/obj/structure/window_frame/attack_hulk(mob/living/carbon/human/user) + if(try_shock(user, 70)) + return + . = ..() + +/obj/structure/window_frame/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(.) + return + user.changeNext_move(CLICK_CD_MELEE) + user.do_attack_animation(src, ATTACK_EFFECT_KICK) + user.visible_message(span_warning("[user] hits [src]."), null, null, COMBAT_MESSAGE_RANGE) + log_combat(user, src, "hit") + if(!try_shock(user, 70)) + take_damage(rand(5,10), BRUTE, MELEE, 1) + +/obj/structure/window_frame/attack_alien(mob/living/user, list/modifiers) + user.do_attack_animation(src) + user.changeNext_move(CLICK_CD_MELEE) + user.visible_message(span_warning("[user] mangles [src]."), null, null, COMBAT_MESSAGE_RANGE) + if(!try_shock(user, 70)) + take_damage(20, BRUTE, MELEE, 1) + +/obj/structure/window_frame/wirecutter_act(mob/living/user, obj/item/tool) + add_fingerprint(user) + if(try_shock(user, 100)) + return + if(!has_grille) + return + if(!tool.use_tool(src, user, 0, volume = 50)) + return + tool.play_tool_sound(src, 100) + balloon_alert(user, "grille cut!") + has_grille = FALSE + update_appearance() + return ITEM_INTERACT_SUCCESS + + +/obj/structure/window_frame/welder_act_secondary(mob/living/user, obj/item/tool) + . = ..() + + add_fingerprint(user) + + if(!tool.tool_start_check(user, amount = 0)) + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "cutting...") + if(!tool.use_tool(src, user, 70, volume = 50)) + return ITEM_INTERACT_BLOCKING + + balloon_alert(user, "deconstructed") + deconstruct(TRUE) + + return ITEM_INTERACT_SUCCESS + +/obj/structure/window_frame/welder_act(mob/living/user, obj/item/tool) + . = ..() + add_fingerprint(user) + + if(atom_integrity >= max_integrity) + to_chat(user, span_warning("[src] is already in good condition!")) + return ITEM_INTERACT_BLOCKING + if(!tool.tool_start_check(user, amount = 0)) + return ITEM_INTERACT_BLOCKING + + balloon_alert(user, "repairing...") + if(!tool.use_tool(src, user, 40, volume = 50)) + return ITEM_INTERACT_BLOCKING + + atom_integrity = max_integrity + balloon_alert(user, "repaired!") + update_appearance() + return ITEM_INTERACT_SUCCESS + +///creates a window from the typepath given from window_type, which is either a glass sheet typepath or a /obj/structure/window subtype +/obj/structure/window_frame/proc/create_structure_window(window_material_type) + var/obj/structure/window/our_window + + if(ispath(window_material_type, /obj/structure/window)) + our_window = new window_material_type(loc) + if(!our_window.fulltile) + stack_trace("Window frames can't use non fulltile windows!") + + //window_material_type isnt a window typepath, so check if its a material typepath + if(ispath(window_material_type, /obj/item/stack/sheet/glass)) + our_window = new /obj/structure/window/fulltile(loc) + + if(ispath(window_material_type, /obj/item/stack/sheet/rglass)) + our_window = new /obj/structure/window/reinforced/fulltile(loc) + + if(ispath(window_material_type, /obj/item/stack/sheet/plasmaglass)) + our_window = new /obj/structure/window/plasma/fulltile(loc) + + if(ispath(window_material_type, /obj/item/stack/sheet/plasmarglass)) + our_window = new /obj/structure/window/reinforced/plasma/fulltile(loc) + + if(ispath(window_material_type, /obj/item/stack/sheet/titaniumglass)) + our_window = new /obj/structure/window/reinforced/shuttle(loc) + + if(ispath(window_material_type, /obj/item/stack/sheet/plastitaniumglass)) + our_window = new /obj/structure/window/reinforced/plasma/plastitanium(loc) + + if(ispath(window_material_type, /obj/item/stack/sheet/paperframes)) + our_window = new /obj/structure/window/paperframe(loc) + + our_window.update_appearance() + return our_window + +/obj/structure/window_frame/attackby(obj/item/attacking_item, mob/living/user, params) + add_fingerprint(user) + if(isstack(attacking_item)) + var/obj/item/stack/adding_stack = attacking_item + var/stack_name = "[adding_stack]" // in case the stack gets deleted after use() + + if(is_glass_sheet(adding_stack) && !(has_window()) && adding_stack.use(sheet_amount)) + to_chat(user, "You start to add [stack_name] to [src].") + if(!do_after(user, 2 SECONDS, src)) + return + + to_chat(user, "You add [stack_name] to [src].") + var/obj/structure/window/our_window = create_structure_window(adding_stack.type) + our_window.state = WINDOW_OUT_OF_FRAME + our_window.set_anchored(FALSE) + + else if(istype(adding_stack, /obj/item/stack/rods) && !has_grille && adding_stack.use(sheet_amount)) + has_grille = TRUE + to_chat(user, "You add [stack_name] to [src]") + update_appearance() + + else if((attacking_item.obj_flags & CONDUCTS_ELECTRICITY) && try_shock(user, 70)) + return + + return ..() + +/obj/structure/window_frame/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = NONE) + switch(damage_type) + if(BRUTE) + if(damage_amount) + playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE) + else + playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 80, TRUE) + +/obj/structure/window_frame/attack_paw(mob/user, list/modifiers) + return attack_hand(user, modifiers) + +/obj/structure/window_frame/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) + switch(the_rcd.mode) + if(RCD_DECONSTRUCT) + return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 5) + if(RCD_WINDOWGRILLE) + var/cost = 0 + var/delay = 0 + + if(!has_grille) + return rcd_result_with_memory( + list("delay" = 2 SECONDS, "cost" = 2), + get_turf(src), RCD_MEMORY_WINDOWGRILLE + ) + + var/obj/structure/window/window_path = the_rcd.rcd_design_path + if(!ispath(window_path)) + stack_trace("invalid window path passed to rcd_vals: [window_path]") + return FALSE + + if(initial(window_path.fulltile)) + cost = 8 + delay = 3 SECONDS + else + cost = 4 + delay = 2 SECONDS + + if(initial(window_path.reinf)) + cost *= 1.5 + delay *= 1.5 + + if(!cost) + return FALSE + + return rcd_result_with_memory( + list("delay" = delay, "cost" = cost), + get_turf(src), RCD_MEMORY_WINDOWGRILLE + ) + + return FALSE + +/obj/structure/window_frame/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) + switch(rcd_data["[RCD_DESIGN_MODE]"]) + if(RCD_DECONSTRUCT) + var/turf/home = get_turf(src) + // No thing to display on if we get deleted + home.balloon_alert(user, "deconstructed!") + qdel(src) + return TRUE + if(RCD_WINDOWGRILLE) + if(!isturf(loc)) + return FALSE + + if(!has_grille) + balloon_alert(user, "grill added!") + has_grille = TRUE + update_appearance() + return TRUE + + var/obj/structure/window/window_path = rcd_data["[RCD_DESIGN_PATH]"] + if(!ispath(window_path)) + CRASH("Invalid window path type in RCD: [window_path]") + + if(!initial(window_path.fulltile)) + if(!valid_build_direction(loc, user.dir, is_fulltile = FALSE)) + balloon_alert(user, "window already here!") + return FALSE + + var/obj/structure/window/window = new window_path(loc, user.dir) + window.set_anchored(TRUE) + return TRUE + + return FALSE + +/obj/structure/window_frame/examine(mob/user) + . = ..() + if(has_window() && has_grille) + . += "The window is fully constructed." + else if(has_window()) + . += "The window set into the frame has no reinforcement." + else if(has_grille) + . += "The window frame only has a grille set into it." + else + . += "The window frame is empty" + +///delightfully devilous seymour +/obj/structure/window_frame/set_smoothed_icon_state(new_junction) + . = ..() + update_icon() + +/// if this frame has a grill, creates both the overlay for the grill (that goes over cables) and the black overlay beneath it (goes over us, but not cables) +/obj/structure/window_frame/proc/create_grill_overlays(list/return_list) + if(!has_grille || !return_list) + return + + return_list += mutable_appearance(grille_black_icon, "[grille_icon_state]_black-[smoothing_junction]") + return_list += mutable_appearance(grille_icon, "[grille_icon_state]-[smoothing_junction]") + +/// if this frame has a valid frame icon, creates it. this is what obscures the cable if it goes through the frame +/obj/structure/window_frame/proc/create_frame_overlay(list/return_list) + if(!frame_icon || !return_list) + return + return_list += mutable_appearance(frame_icon, "[base_icon_state]-[smoothing_junction]", appearance_flags = KEEP_APART) + +/obj/structure/window_frame/update_overlays() + . = ..() + create_grill_overlays(.) + create_frame_overlay(.) + +/obj/structure/window_frame/proc/temporary_shatter(time_to_go = 0 SECONDS, time_to_return = 4 SECONDS) + if(dramatically_disappearing) + return + + //dissapear in 1 second + dramatically_disappearing = TRUE + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, moveToNullspace)), time_to_go) //woosh + + // come back in 1 + 4 seconds + addtimer(VARSET_CALLBACK(src, atom_integrity, atom_integrity), time_to_go + time_to_return) //set the health back (icon is updated on move) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, forceMove), loc), time_to_go + time_to_return) //we back boys + addtimer(VARSET_CALLBACK(src, dramatically_disappearing, FALSE), time_to_go + time_to_return) //also set the var back + +/// Do some very specific checks to see if we *would* get shocked. Returns TRUE if it's shocked +/obj/structure/window_frame/proc/is_shocked() + var/turf/turf = get_turf(src) + var/obj/structure/cable/cable = turf.get_cable_node() + var/list/powernet_info = get_powernet_info_from_source(cable) + + if(!powernet_info) + return FALSE + + var/datum/powernet/powernet = powernet_info["powernet"] + return !!powernet.get_electrocute_damage() + +/obj/structure/window_frame/grille + has_grille = TRUE + +/obj/structure/window_frame/grille_and_window + has_grille = TRUE + start_with_window = TRUE + +/obj/structure/window_frame/reinforced + name = "reinforced window frame" + window_type = /obj/item/stack/sheet/rglass + armor_type = /datum/armor/window_frame_reinforced + max_integrity = 150 + damage_deflection = 11 + +/datum/armor/window_frame_reinforced + melee = 80 + bomb = 25 + bio = 100 + fire = 80 + acid = 100 + +/obj/structure/window_frame/reinforced/grille_and_window + has_grille = TRUE + start_with_window = TRUE + +/obj/structure/window_frame/reinforced/damaged + var/integrity_min_factor = 0.2 + var/integrity_max_factor = 0.8 + +/obj/structure/window_frame/reinforced/damaged/Initialize(mapload) + . = ..() + var/obj/structure/window/our_window = locate() in get_turf(src) + if(!our_window) + return + + our_window.update_integrity(rand(max_integrity * integrity_min_factor, max_integrity * integrity_max_factor)) + +/obj/structure/window_frame/reinforced/damaged/grille_and_window + has_grille = TRUE + start_with_window = TRUE + +/obj/structure/window_frame/titanium + name = "shuttle window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_shuttle.dmi' + icon_state = "window_frame_shuttle-0" + base_icon_state = "window_frame_shuttle" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.dmi' + sheet_type = /obj/item/stack/sheet/mineral/titanium + window_type = /obj/item/stack/sheet/titaniumglass + custom_materials = list(/datum/material/titanium = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/titanium/grille_and_window + has_grille = TRUE + start_with_window = TRUE + +/obj/structure/window_frame/titanium/grille + has_grille = TRUE + +/obj/structure/window_frame/plastitanium + name = "plastitanium window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_plastitanium.dmi' + icon_state = "window_frame_plastitanium-0" + base_icon_state = "window_frame_plastitanium" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.dmi' + sheet_type = /obj/item/stack/sheet/mineral/plastitanium + window_type = /obj/item/stack/sheet/plastitaniumglass + custom_materials = list(/datum/material/alloy/plastitanium = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/plastitanium/grille_and_window + has_grille = TRUE + start_with_window = TRUE + +/obj/structure/window_frame/wood + name = "wooden platform" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_wood.dmi' + icon_state = "window_frame_wood-0" + base_icon_state = "window_frame_wood" + frame_icon = null //no walls above the center + sheet_type = /obj/item/stack/sheet/mineral/wood + custom_materials = list(/datum/material/wood = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/uranium + name = "uranium window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_uranium.dmi' + icon_state = "window_frame_uranium-0" + base_icon_state = "window_frame_uranium" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.dmi' + sheet_type = /obj/item/stack/sheet/mineral/uranium + custom_materials = list(/datum/material/uranium = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/iron + name = "rough iron window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_iron.dmi' + icon_state = "window_frame_iron-0" + base_icon_state = "window_frame_iron" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.dmi' + sheet_type = /obj/item/stack/sheet/iron + custom_materials = list(/datum/material/iron = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/silver + name = "silver window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_silver.dmi' + icon_state = "window_frame_silver-0" + base_icon_state = "window_frame_silver" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.dmi' + sheet_type = /obj/item/stack/sheet/mineral/silver + custom_materials = list(/datum/material/silver = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/gold + name = "gold window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_gold.dmi' + icon_state = "window_frame_gold-0" + base_icon_state = "window_frame_gold" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.dmi' + sheet_type = /obj/item/stack/sheet/mineral/gold + custom_materials = list(/datum/material/gold = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/bronze + name = "clockwork window mount" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_bronze.dmi' + icon_state = "window_frame_bronze-0" + base_icon_state = "window_frame_bronze" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.dmi' + sheet_type = /obj/item/stack/sheet/bronze + custom_materials = list(/datum/material/bronze = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/cult + name = "rune-scarred window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_cult.dmi' + icon_state = "window_frame_cult-0" + base_icon_state = "window_frame_cult" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.dmi' + sheet_type = /obj/item/stack/sheet/runed_metal + custom_materials = list(/datum/material/runedmetal = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/hotel + name = "hotel window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_hotel.dmi' + icon_state = "window_frame_hotel-0" + base_icon_state = "window_frame_hotel" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.dmi' + sheet_type = /obj/item/stack/sheet/mineral/wood + custom_materials = list(/datum/material/wood = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/material + name = "material window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_material.dmi' + icon_state = "window_frame_material-0" + base_icon_state = "window_frame_material" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.dmi' + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + +/obj/structure/window_frame/rusty + name = "rusty window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_rusty.dmi' + icon_state = "window_frame_rusty-0" + base_icon_state = "window_frame_rusty" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.dmi' + sheet_type = /obj/item/stack/sheet/iron + custom_materials = list(/datum/material/iron = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/sandstone + name = "sandstone plinth" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_sandstone.dmi' + icon_state = "window_frame_sandstone-0" + base_icon_state = "window_frame_sandstone" + frame_icon = null //no walls above center + sheet_type = /obj/item/stack/sheet/mineral/sandstone + custom_materials = list(/datum/material/sandstone = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/bamboo + name = "bamboo platform" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_bamboo.dmi' + icon_state = "window_frame_bamboo-0" + base_icon_state = "window_frame_bamboo" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.dmi' + sheet_type = /obj/item/stack/sheet/mineral/bamboo + custom_materials = list(/datum/material/bamboo = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/paperframe + name = "japanese window frame" + icon = 'icons/obj/structures/smooth/window_frames/window_frame_paperframe.dmi' + icon_state = "window_frame_paperframe-0" + base_icon_state = "window_frame_paperframe" + frame_icon = 'icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.dmi' + sheet_type = /obj/item/stack/sheet/paperframes + window_type = /obj/item/stack/sheet/paperframes + custom_materials = list(/datum/material/paper = WINDOW_FRAME_BASE_MATERIAL_AMOUNT) + +/obj/structure/window_frame/paperframe/grille_and_window + has_grille = TRUE + start_with_window = TRUE diff --git a/code/game/objects/structures/windows/fulltile_windows.dm b/code/game/objects/structures/windows/fulltile_windows.dm new file mode 100644 index 0000000000000..7dfb1a0d49ef8 --- /dev/null +++ b/code/game/objects/structures/windows/fulltile_windows.dm @@ -0,0 +1,275 @@ +/obj/structure/window/fulltile + icon = 'icons/obj/structures/smooth/windows/normal_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + max_integrity = 50 + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + smoothing_flags = SMOOTH_BITMASK | SMOOTH_OBJ + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE + glass_amount = 2 + rcd_spritesheet_override = "full tile window" + +/obj/structure/window/fulltile/unanchored + anchored = FALSE + +/obj/structure/window/plasma/fulltile + icon = 'icons/obj/structures/smooth/windows/plasma_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + max_integrity = 300 + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE + glass_amount = 2 + +/obj/structure/window/plasma/fulltile/unanchored + anchored = FALSE + +/obj/structure/window/reinforced/plasma/fulltile + icon = 'icons/obj/structures/smooth/windows/plasma_reinforced_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + state = RWINDOW_SECURE + max_integrity = 1000 + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE + glass_amount = 2 + +/obj/structure/window/reinforced/plasma/fulltile/unanchored + anchored = FALSE + state = WINDOW_OUT_OF_FRAME + +/obj/structure/window/reinforced/fulltile + icon = 'icons/obj/structures/smooth/windows/reinforced_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + max_integrity = 150 + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + state = RWINDOW_SECURE + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE + glass_amount = 2 + rcd_spritesheet_override = "reinforced full tile window" + +/obj/structure/window/reinforced/fulltile/unanchored + anchored = FALSE + state = WINDOW_OUT_OF_FRAME + +/obj/structure/window/reinforced/fulltile/damaged + var/integrity_min_factor = 0.2 + var/integrity_max_factor = 0.8 + +/obj/structure/window/reinforced/fulltile/damaged/Initialize(mapload) + . = ..() + atom_integrity = rand(max_integrity * integrity_min_factor, max_integrity * integrity_max_factor) + +/obj/structure/window/reinforced/tinted/fulltile + icon = 'icons/obj/structures/smooth/windows/tinted_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE + glass_amount = 2 + +/obj/structure/window/reinforced/fulltile/ice + icon = 'icons/obj/structures/smooth/windows/frosted_window.dmi' + max_integrity = 150 + glass_amount = 2 + +//there is a sub shuttle window in survival_pod.dm for mining pods +/obj/structure/window/reinforced/shuttle//this is called reinforced because it is reinforced w/titanium + name = "shuttle window" + desc = "A reinforced, air-locked pod window." + icon = 'icons/obj/structures/smooth/windows/titanium_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + max_integrity = 150 + wtype = "shuttle" + reinf = TRUE + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + reinf = TRUE + heat_resistance = 1600 + armor_type = /datum/armor/reinforced_shuttle + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + explosion_block = 3 + glass_type = /obj/item/stack/sheet/titaniumglass + glass_amount = 2 + receive_ricochet_chance_mod = 1.2 + +/datum/armor/reinforced_shuttle + melee = 90 + bomb = 50 + fire = 80 + acid = 100 + +/obj/structure/window/reinforced/shuttle/narsie_act() + add_atom_colour("#3C3434", FIXED_COLOUR_PRIORITY) + +/obj/structure/window/reinforced/shuttle/tinted + opacity = TRUE + +/obj/structure/window/reinforced/shuttle/unanchored + anchored = FALSE + +/obj/structure/window/reinforced/shuttle/indestructible + name = "hardened shuttle window" + obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + +/obj/structure/window/reinforced/shuttle/indestructible/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) + return FALSE + +/obj/structure/window/reinforced/plasma/plastitanium + name = "plastitanium window" + desc = "A durable looking window made of an alloy of of plasma and titanium." + icon = 'icons/obj/structures/smooth/windows/plastitanium_window.dmi' + icon_state = "0-lower" + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + max_integrity = 1200 + wtype = "shuttle" + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + heat_resistance = 1600 + armor_type = /datum/armor/plasma_plastitanium + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = 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_HEAVY_INSULATION + +/datum/armor/plasma_plastitanium + melee = 95 + bomb = 50 + fire = 80 + acid = 100 + +/obj/structure/window/reinforced/plasma/plastitanium/unanchored + anchored = FALSE + state = WINDOW_OUT_OF_FRAME + +/obj/structure/window/paperframe + name = "paper frame" + desc = "A fragile separator made of thin wood and paper." + icon = 'icons/obj/structures/smooth/windows/paper_window.dmi' + icon_state = null + opacity = TRUE + max_integrity = 15 + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_PAPERFRAME + canSmoothWith = SMOOTH_GROUP_PAPERFRAME + glass_amount = 2 + glass_type = /obj/item/stack/sheet/paperframes + heat_resistance = 233 + decon_speed = 10 + can_atmos_pass = ATMOS_PASS_YES + resistance_flags = FLAMMABLE + armor_type = /datum/armor/none + knock_sound = "pageturn" + bash_sound = 'sound/weapons/slashmiss.ogg' + break_sound = 'sound/items/poster_ripped.ogg' + hit_sound = 'sound/weapons/slashmiss.ogg' + +/obj/structure/window/paperframe/Initialize(mapload) + . = ..() + update_appearance() + +/obj/structure/window/paperframe/examine(mob/user) + . = ..() + if(atom_integrity < max_integrity) + . += span_info("It looks a bit damaged, you may be able to fix it with some paper.") + +/obj/structure/window/paperframe/spawn_debris(location) + . = list(new /obj/item/stack/sheet/mineral/wood(location)) + for (var/i in 1 to rand(1,4)) + . += new /obj/item/paper/natural(location) + +/obj/structure/window/paperframe/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(.) + return + if(user.combat_mode) + take_damage(4, BRUTE, MELEE, 0) + if(!QDELETED(src)) + update_appearance() + +/obj/structure/window/paperframe/update_appearance(updates) + . = ..() + set_opacity(atom_integrity >= max_integrity) + +/obj/structure/window/paperframe/update_icon(updates=ALL) + if(atom_integrity >= max_integrity) + icon = 'icons/obj/structures/smooth/windows/paper_window.dmi' + else + icon = 'icons/obj/structures/smooth/windows/paper_window_torn.dmi' + . = ..() + if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) + QUEUE_SMOOTH(src) + +/obj/structure/window/paperframe/attackby(obj/item/W, mob/living/user) + if(W.get_temperature()) + fire_act(W.get_temperature()) + return + if(user.combat_mode) + return ..() + if(istype(W, /obj/item/paper) && atom_integrity < max_integrity) + user.visible_message(span_notice("[user] starts to patch the holes in \the [src].")) + if(do_after(user, 20, target = src)) + atom_integrity = min(atom_integrity+4,max_integrity) + qdel(W) + user.visible_message(span_notice("[user] patches some of the holes in \the [src].")) + if(atom_integrity == max_integrity) + update_appearance() + return + ..() + update_appearance() + + +/obj/structure/window/bronze + name = "brass window" + desc = "A paper-thin pane of translucent yet reinforced brass. Nevermind, this is just weak bronze!" + icon = 'icons/obj/structures/smooth/structure_variations.dmi' + icon_state = "clockwork_window-single" + glass_type = /obj/item/stack/sheet/bronze + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/bronze/spawner) + +/obj/structure/window/bronze/unanchored + anchored = FALSE + +/obj/structure/window/bronze/fulltile + icon = 'icons/obj/structures/smooth/clockwork_window.dmi' + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + icon_state = "clockwork_window-0" + base_icon_state = "clockwork_window" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE + SMOOTH_GROUP_WINDOW_FULLTILE + canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE + fulltile = TRUE + flags_1 = PREVENT_CLICK_UNDER_1 + obj_flags = CAN_BE_HIT + max_integrity = 50 + glass_amount = 2 + +/obj/structure/window/bronze/fulltile/unanchored + anchored = FALSE + diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/windows/window.dm similarity index 62% rename from code/game/objects/structures/window.dm rename to code/game/objects/structures/windows/window.dm index 6c41b2f8b157d..7d2a024820001 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/windows/window.dm @@ -1,15 +1,16 @@ /obj/structure/window name = "window" desc = "A directional window." + icon = 'icons/obj/structures/smooth/windows/normal_thindow.dmi' icon_state = "window" density = TRUE layer = ABOVE_OBJ_LAYER //Just above doors + can_be_unanchored = TRUE pressure_resistance = 4*ONE_ATMOSPHERE anchored = TRUE //initially is 0 for tile smoothing flags_1 = ON_BORDER_1 obj_flags = CAN_BE_HIT | BLOCKS_CONSTRUCTION_DIR | IGNORE_DENSITY max_integrity = 50 - can_be_unanchored = TRUE resistance_flags = ACID_PROOF armor_type = /datum/armor/structure_window can_atmos_pass = ATMOS_PASS_PROC @@ -18,6 +19,8 @@ set_dir_on_move = FALSE flags_ricochet = RICOCHET_HARD receive_ricochet_chance_mod = 0.5 + canSmoothWith = SMOOTH_GROUP_THINDOWS + smoothing_groups = SMOOTH_GROUP_THINDOWS var/state = WINDOW_OUT_OF_FRAME var/reinf = FALSE var/heat_resistance = 800 @@ -25,6 +28,7 @@ var/wtype = "glass" var/fulltile = FALSE var/glass_type = /obj/item/stack/sheet/glass + var/shard_type = /obj/item/shard var/glass_amount = 1 var/real_explosion_block //ignore this, just use explosion_block var/break_sound = SFX_SHATTER @@ -35,6 +39,10 @@ var/bloodied = FALSE ///Datum that the shard and debris type is pulled from for when the glass is broken. var/datum/material/glass_material_datum = /datum/material/glass + /// Whether or not we're disappearing but dramatically + var/dramatically_disappearing = FALSE + /// If we added a leaning component to ourselves + var/added_leaning = FALSE /datum/armor/structure_window melee = 50 @@ -43,6 +51,8 @@ /obj/structure/window/Initialize(mapload, direct) AddElement(/datum/element/blocks_explosives) + if(!fulltile) + blocks_emissive = EMISSIVE_BLOCK_NONE . = ..() if(direct) setDir(direct) @@ -55,10 +65,16 @@ air_update_turf(TRUE, TRUE) if(fulltile) - setDir() + setDir(direct) obj_flags &= ~BLOCKS_CONSTRUCTION_DIR obj_flags &= ~IGNORE_DENSITY + update_icon_state() AddElement(/datum/element/can_barricade) + AddComponent(/datum/component/window_smoothing) + else + smoothing_flags = SMOOTH_BITMASK|SMOOTH_BORDER_OBJECT|SMOOTH_OBJ + setDir(dir) + AddElement(/datum/element/render_over_keep_hitbox, BELOW_OBJ_LAYER, /* use_position_layering = */ TRUE) //windows only block while reinforced and fulltile if(!reinf || !fulltile) @@ -76,6 +92,35 @@ if (flags_1 & ON_BORDER_1) AddElement(/datum/element/connect_loc, loc_connections) +/obj/structure/window/mouse_drop_receive(atom/dropping, mob/user, params) + . = ..() + if (added_leaning) + return + /// For performance reasons and to cut down on init times we are "lazy-loading" the leaning component when someone drags their sprite onto us, and then calling dragging code again to trigger the component + AddComponent(/datum/component/leanable, 11, same_turf = (flags_1 & ON_BORDER_1), lean_check = CALLBACK(src, PROC_REF(lean_check))) + added_leaning = TRUE + dropping.base_mouse_drop_handler(src, null, null, params) + +/obj/structure/window/proc/lean_check(mob/living/leaner, list/modifiers) + if (!(flags_1 & ON_BORDER_1)) + return TRUE + + if (leaner.loc == loc) + return dir == REVERSE_DIR(leaner.dir) + + return get_dir(src, leaner) == dir && leaner.dir == dir + +/obj/structure/window/setDir(newdir) + . = ..() + if(fulltile) + return + // Needed because render targets seem to shift larger then 32x32 icons down constantly. No idea why + pixel_y = 0 + pixel_z = 16 + if(smoothing_flags & SMOOTH_BORDER_OBJECT) + QUEUE_SMOOTH_NEIGHBORS(src) + QUEUE_SMOOTH(src) + /obj/structure/window/examine(mob/user) . = ..() @@ -90,13 +135,18 @@ else . += span_notice("The window is unscrewed from the floor, and could be deconstructed by wrenching.") +/obj/structure/window/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) + . = ..() + if(fulltile) + update_icon_state() + /obj/structure/window/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) if(the_rcd.mode == RCD_DECONSTRUCT) return list("delay" = 2 SECONDS, "cost" = 5) return FALSE /obj/structure/window/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_DECONSTRUCT) + if(rcd_data[RCD_DESIGN_MODE] == RCD_DECONSTRUCT) qdel(src) return TRUE return FALSE @@ -260,6 +310,7 @@ if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = WINDOW_OUT_OF_FRAME to_chat(user, span_notice("You pry the window out of the frame.")) + set_anchored(FALSE) if(WINDOW_OUT_OF_FRAME) to_chat(user, span_notice("You begin to lever the window back into the frame...")) if(tool.use_tool(src, user, 5 SECONDS, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) @@ -279,7 +330,7 @@ /obj/structure/window/set_anchored(anchorvalue) - ..() + . = ..() air_update_turf(TRUE, anchorvalue) update_nearby_icons() @@ -359,6 +410,8 @@ else set_opacity(initial(opacity)) + + /obj/structure/window/wash(clean_types) . = ..() if(!(clean_types & CLEAN_SCRUB)) @@ -396,20 +449,223 @@ if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) -//merges adjacent full-tile windows into one +/obj/structure/window/update_icon_state() + . = ..() + if(fulltile) + if(locate(/obj/structure/window_frame) in loc) + pixel_y = WINDOW_ON_FRAME_Y_OFFSET + else + pixel_y = WINDOW_OFF_FRAME_Y_OFFSET + else + switch(dir) + if(NORTH) + icon_state = "body-t" + if(SOUTH) + icon_state = "body-b" + if(EAST) + icon_state = "body-r" + if(WEST) + icon_state = "body-l" + +//merges adjacent windows, handle cracking for fulltiles /obj/structure/window/update_overlays(updates=ALL) . = ..() - if(QDELETED(src) || !fulltile) + if(QDELETED(src)) return if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) QUEUE_SMOOTH(src) - var/ratio = atom_integrity / max_integrity - ratio = CEILING(ratio*4, 1) * 25 - if(ratio > 75) - return - . += mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer+0.1)) + if(fulltile) + var/ratio = atom_integrity / max_integrity + ratio = CEILING(ratio*4, 1) + var/broken_icon = null + switch(ratio) + if(3) + broken_icon = 'icons/obj/structures/smooth/windows/window_broken_light.dmi' + if(2) + broken_icon = 'icons/obj/structures/smooth/windows/window_broken_medium.dmi' + if(1) + broken_icon = 'icons/obj/structures/smooth/windows/window_broken_heavy.dmi' + + if(broken_icon) + . += mutable_appearance(broken_icon, "[smoothing_junction]", -(layer+0.1)) + return . + + var/list/states_to_apply = list() + var/handled_junctions = NONE + if(smoothing_junction & NORTHEAST_JUNCTION && smoothing_junction & SOUTHEAST_JUNCTION && smoothing_junction & EAST_JUNCTION) + handled_junctions |= NORTHEAST_JUNCTION | SOUTHEAST_JUNCTION | EAST_JUNCTION + switch(dir) + if(NORTH) + states_to_apply += "quad-tr" + if(SOUTH) + states_to_apply += "quad-br" + if(smoothing_junction & NORTHWEST_JUNCTION && smoothing_junction & SOUTHWEST_JUNCTION && smoothing_junction & WEST_JUNCTION) + handled_junctions |= NORTHWEST_JUNCTION | SOUTHWEST_JUNCTION | WEST_JUNCTION + switch(dir) + if(NORTH) + states_to_apply += "quad-tl" + if(SOUTH) + states_to_apply += "quad-bl" + if(smoothing_junction & SOUTHWEST_JUNCTION && smoothing_junction & SOUTHEAST_JUNCTION && smoothing_junction & SOUTH_JUNCTION) + handled_junctions |= SOUTHWEST_JUNCTION | SOUTHEAST_JUNCTION | SOUTH_JUNCTION + if(smoothing_junction & NORTHWEST_JUNCTION && smoothing_junction & NORTHEAST_JUNCTION && smoothing_junction & NORTH_JUNCTION) + handled_junctions |= NORTHWEST_JUNCTION | NORTHEAST_JUNCTION | NORTH_JUNCTION + + if(smoothing_junction & NORTHWEST_JUNCTION && smoothing_junction & WEST_JUNCTION && !(handled_junctions & (NORTHWEST_JUNCTION|WEST_JUNCTION))) + switch(dir) + if(SOUTH) + handled_junctions |= NORTHWEST_JUNCTION | WEST_JUNCTION + states_to_apply += "up-triple-bl" + if(smoothing_junction & NORTHEAST_JUNCTION && smoothing_junction & EAST_JUNCTION && !(handled_junctions & (NORTHEAST_JUNCTION|EAST_JUNCTION))) + switch(dir) + if(SOUTH) + handled_junctions |= NORTHEAST_JUNCTION | EAST_JUNCTION + states_to_apply += "up-triple-br" + if(smoothing_junction & SOUTHWEST_JUNCTION && smoothing_junction & WEST_JUNCTION && !(handled_junctions & (SOUTHWEST_JUNCTION|WEST_JUNCTION))) + switch(dir) + if(NORTH) + handled_junctions |= SOUTHWEST_JUNCTION | WEST_JUNCTION + states_to_apply += "down-triple-tl" + if(smoothing_junction & SOUTHEAST_JUNCTION && smoothing_junction & EAST_JUNCTION && !(handled_junctions & (SOUTHEAST_JUNCTION|EAST_JUNCTION))) + switch(dir) + if(NORTH) + handled_junctions |= SOUTHEAST_JUNCTION | EAST_JUNCTION + states_to_apply += "down-triple-tr" + + if(smoothing_junction & SOUTHEAST_JUNCTION && smoothing_junction & SOUTH_JUNCTION && !(handled_junctions & (SOUTHEAST_JUNCTION|SOUTH_JUNCTION))) + switch(dir) + if(WEST) + handled_junctions |= SOUTHEAST_JUNCTION | SOUTH_JUNCTION | EAST_JUNCTION + states_to_apply += "right-triple-bl" + if(smoothing_junction & SOUTHWEST_JUNCTION && smoothing_junction & SOUTH_JUNCTION && !(handled_junctions & (SOUTHWEST_JUNCTION|SOUTH_JUNCTION))) + switch(dir) + if(EAST) + handled_junctions |= SOUTHWEST_JUNCTION | SOUTH_JUNCTION | WEST_JUNCTION + states_to_apply += "left-triple-br" + + if(smoothing_junction & NORTHEAST_JUNCTION && smoothing_junction & NORTH_JUNCTION && !(handled_junctions & (NORTHEAST_JUNCTION|NORTH_JUNCTION))) + switch(dir) + if(WEST) + handled_junctions |= NORTHEAST_JUNCTION | NORTH_JUNCTION | EAST_JUNCTION + states_to_apply += "right-triple-tl" + if(smoothing_junction & NORTHWEST_JUNCTION && smoothing_junction & NORTH_JUNCTION && !(handled_junctions & (NORTHWEST_JUNCTION|NORTH_JUNCTION))) + switch(dir) + if(EAST) + handled_junctions |= NORTHWEST_JUNCTION | NORTH_JUNCTION | WEST_JUNCTION + states_to_apply += "left-triple-tr" + + // These cases exist JUST to eat diagonal smooths for NORTH/SOUTH windows + if(smoothing_junction & SOUTHWEST_JUNCTION && smoothing_junction & NORTHWEST_JUNCTION) + switch(dir) + if(NORTH, SOUTH) + handled_junctions |= SOUTHWEST_JUNCTION | NORTHWEST_JUNCTION | WEST_JUNCTION | NORTH_JUNCTION | SOUTH_JUNCTION + if(smoothing_junction & SOUTHEAST_JUNCTION && smoothing_junction & NORTHEAST_JUNCTION) + switch(dir) + if(NORTH, SOUTH) + handled_junctions |= SOUTHEAST_JUNCTION | NORTHEAST_JUNCTION | EAST_JUNCTION | NORTH_JUNCTION | SOUTH_JUNCTION + + // filter out everything on the tile opposing us + handled_junctions |= dir_to_all_junctions(dir) + + if(smoothing_junction & NORTHWEST_JUNCTION && !(handled_junctions & NORTHWEST_JUNCTION)) + handled_junctions |= NORTH_JUNCTION | WEST_JUNCTION + // Only gonna define dirs that allow a body to exist sanely + // So South is acceptable + // Also want to avoid double application + // hhhh + switch(dir) + if(SOUTH) + states_to_apply += "up-right-corner-bl" + if(smoothing_junction & NORTHEAST_JUNCTION && !(handled_junctions & NORTHEAST_JUNCTION)) + handled_junctions |= NORTH_JUNCTION | EAST_JUNCTION + switch(dir) + if(SOUTH) + states_to_apply += "up-left-corner-br" + if(smoothing_junction & SOUTHWEST_JUNCTION && !(handled_junctions & SOUTHWEST_JUNCTION)) + handled_junctions |= SOUTH_JUNCTION | WEST_JUNCTION + switch(dir) + if(NORTH) + states_to_apply += "down-right-corner-tl" + if(smoothing_junction & SOUTHEAST_JUNCTION && !(handled_junctions & SOUTHEAST_JUNCTION)) + handled_junctions |= SOUTH_JUNCTION | EAST_JUNCTION + switch(dir) + if(NORTH) + states_to_apply += "down-left-corner-tr" + + if(!(handled_junctions & WEST_JUNCTION)) + if(smoothing_junction & WEST_JUNCTION) + switch(dir) + if(NORTH) + states_to_apply += "horizontal-cont-tl" + if(SOUTH) + states_to_apply += "horizontal-cont-bl" + else + switch(dir) + if(NORTH) + states_to_apply += "horizontal-edge-tl" + if(SOUTH) + states_to_apply += "horizontal-edge-bl" + + if(!(handled_junctions & EAST_JUNCTION)) + if(smoothing_junction & EAST_JUNCTION) + switch(dir) + if(NORTH) + states_to_apply += "horizontal-cont-tr" + if(SOUTH) + states_to_apply += "horizontal-cont-br" + else + switch(dir) + if(NORTH) + states_to_apply += "horizontal-edge-tr" + if(SOUTH) + states_to_apply += "horizontal-edge-br" + + if(!(handled_junctions & SOUTH_JUNCTION)) + if(smoothing_junction & SOUTH_JUNCTION) + switch(dir) + if(EAST) + states_to_apply += "vertical-cont-br" + if(WEST) + states_to_apply += "vertical-cont-bl" + else + switch(dir) + if(EAST) + states_to_apply += "vertical-edge-br" + if(WEST) + states_to_apply += "vertical-edge-bl" + + if(!(handled_junctions & NORTH_JUNCTION)) + if(smoothing_junction & NORTH_JUNCTION) + switch(dir) + if(EAST) + states_to_apply += "vertical-cont-tr" + if(WEST) + states_to_apply += "vertical-cont-tl" + else + switch(dir) + if(EAST) + states_to_apply += "vertical-edge-tr" + if(WEST) + states_to_apply += "vertical-edge-tl" + + for(var/window_state in states_to_apply) + . += mutable_appearance(icon, window_state) + + // We can't use typical emissive blocking because of the pixel offset, remove when that's fixed please + var/list/states_to_block = states_to_apply + icon_state + for(var/blocked_state in states_to_block) + // Cancels out the pixel offset we apply to the parent + // (Which is needed because render_target is bugged) + var/mutable_appearance/blocker = emissive_blocker(icon, blocked_state, offset_spokesman = src) + blocker.pixel_z = -pixel_z + . += blocker + +/obj/structure/window/set_smoothed_icon_state(new_junction) + if(fulltile) + return ..() + smoothing_junction = new_junction /obj/structure/window/should_atmos_process(datum/gas_mixture/air, exposed_temperature) return exposed_temperature > T0C + heat_resistance @@ -428,17 +684,61 @@ return TRUE +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/spawner) + +/obj/structure/window/proc/temporary_shatter(time_to_go = 1 SECONDS, time_to_return = 4 SECONDS, take_grill = TRUE) + if(dramatically_disappearing) + return + + // do a cute breaking animation + var/static/time_interval = 2 DECISECONDS //per how many steps should we do damage? + for(var/damage_step in 1 to (floor(time_to_go / time_interval) - 1)) //10 ds / 2 ds = 5 damage steps, minus 1 so we dont actually break it + // slowly drain our total health for the illusion of shattering + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, take_damage), floor(atom_integrity / (time_to_go / time_interval))), time_interval * damage_step) + + //dissapear in 1 second + dramatically_disappearing = TRUE + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), loc, break_sound, 70, TRUE), time_to_go) //SHATTER SOUND + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, moveToNullspace)), time_to_go) //woosh + + // come back in 1 + 4 seconds + addtimer(VARSET_CALLBACK(src, atom_integrity, atom_integrity), time_to_go + time_to_return) //set the health back (icon is updated on move) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, forceMove), loc), time_to_go + time_to_return) //we back boys + addtimer(VARSET_CALLBACK(src, dramatically_disappearing, FALSE), time_to_go + time_to_return) //also set the var back + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), get_turf(src), 'sound/effects/glass_reverse.ogg', 70, TRUE), time_to_go + time_to_return) + + var/obj/structure/window_frame/frame = take_grill ? (locate(/obj/structure/window_frame) in loc) : null + if(frame) + frame.temporary_shatter(time_to_go, time_to_return) + +/obj/structure/window/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + + if(loc) + update_nearby_icons() + MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/spawner, 0) /obj/structure/window/unanchored anchored = FALSE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/unanchored/spawner) + +/obj/structure/window/half + can_atmos_pass = ATMOS_PASS_YES + icon = 'icons/obj/structures/smooth/windows/half_thindow.dmi' + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/half) + +/obj/structure/window/half/unanchored + anchored = FALSE + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/half/unanchored) /obj/structure/window/reinforced name = "reinforced window" desc = "A window that is reinforced with metal rods." - icon_state = "rwindow" + icon = 'icons/obj/structures/smooth/windows/reinforced_thindow.dmi' reinf = TRUE heat_resistance = 1600 armor_type = /datum/armor/window_reinforced @@ -560,13 +860,25 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) if(RWINDOW_BARS_CUT) . += span_notice("The main pane can be easily moved out of the way to reveal some bolts holding the frame in.") -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/spawner, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/spawner) /obj/structure/window/reinforced/unanchored anchored = FALSE state = WINDOW_OUT_OF_FRAME -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/unanchored/spawner, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/unanchored/spawner) + +/obj/structure/window/reinforced/half + can_atmos_pass = ATMOS_PASS_YES + icon = 'icons/obj/structures/smooth/windows/reinforced_half_thindow.dmi' + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/half) + +/obj/structure/window/reinforced/half/unanchored + anchored = FALSE + state = WINDOW_OUT_OF_FRAME + +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/half/unanchored) // You can't rust glass! So only reinforced glass can be impacted. /obj/structure/window/reinforced/rust_heretic_act() @@ -579,7 +891,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/unanchored/spawner, /obj/structure/window/plasma name = "plasma window" desc = "A window made out of a plasma-silicate alloy. It looks insanely tough to break and burn through." - icon_state = "plasmawindow" + icon = 'icons/obj/structures/smooth/windows/plasma_thindow.dmi' reinf = FALSE heat_resistance = 25000 armor_type = /datum/armor/window_plasma @@ -600,7 +912,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/unanchored/spawner, . = ..() RemoveElement(/datum/element/atmos_sensitive) -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/plasma/spawner, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/plasma/spawner) /obj/structure/window/plasma/unanchored anchored = FALSE @@ -608,7 +920,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/plasma/spawner, 0) /obj/structure/window/reinforced/plasma name = "reinforced plasma window" desc = "A window made out of a plasma-silicate alloy and a rod matrix. It looks hopelessly tough to break and is most likely nigh fireproof." - icon_state = "plasmarwindow" + icon = 'icons/obj/structures/smooth/windows/plasma_reinforced_thindow.dmi' reinf = TRUE heat_resistance = 50000 armor_type = /datum/armor/reinforced_plasma @@ -629,7 +941,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/plasma/spawner, 0) /obj/structure/window/reinforced/plasma/block_superconductivity() return TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/plasma/spawner, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/plasma/spawner) /obj/structure/window/reinforced/plasma/unanchored anchored = FALSE @@ -637,319 +949,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/plasma/spawner, 0) /obj/structure/window/reinforced/tinted name = "tinted window" - icon_state = "twindow" - -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/spawner, 0) - -/obj/structure/window/reinforced/tinted/frosted - name = "frosted window" - icon_state = "fwindow" - -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spawner, 0) - -/* Full Tile Windows (more atom_integrity) */ - -/obj/structure/window/fulltile - name = "full tile window" - desc = "A full tile window." - icon = 'icons/obj/smooth_structures/window.dmi' - icon_state = "window-0" - base_icon_state = "window" - max_integrity = 100 - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE - glass_amount = 2 - -/obj/structure/window/fulltile/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) - if(the_rcd.mode == RCD_DECONSTRUCT) - return list("delay" = 2.5 SECONDS, "cost" = 10) - return FALSE + icon = 'icons/obj/structures/smooth/windows/tinted_thindow.dmi' -/obj/structure/window/fulltile/unanchored - anchored = FALSE - -/obj/structure/window/plasma/fulltile - icon = 'icons/obj/smooth_structures/plasma_window.dmi' - icon_state = "plasma_window-0" - base_icon_state = "plasma_window" - max_integrity = 400 - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE - glass_amount = 2 - -/obj/structure/window/plasma/fulltile/unanchored - anchored = FALSE - -/obj/structure/window/reinforced/plasma/fulltile - icon = 'icons/obj/smooth_structures/rplasma_window.dmi' - icon_state = "rplasma_window-0" - base_icon_state = "rplasma_window" - state = RWINDOW_SECURE - max_integrity = 1000 - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE - glass_amount = 2 - -/obj/structure/window/reinforced/plasma/fulltile/unanchored - anchored = FALSE - state = WINDOW_OUT_OF_FRAME - -/obj/structure/window/reinforced/fulltile - name = "full tile reinforced window" - desc = "A full tile window that is reinforced with metal rods." - icon = 'icons/obj/smooth_structures/reinforced_window.dmi' - icon_state = "reinforced_window-0" - base_icon_state = "reinforced_window" - max_integrity = 150 - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - state = RWINDOW_SECURE - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE - glass_amount = 2 - -/obj/structure/window/reinforced/fulltile/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) - if(the_rcd.mode == RCD_DECONSTRUCT) - return list("mode" = RCD_DECONSTRUCT, "delay" = 4 SECONDS, "cost" = 20) - return FALSE - -/obj/structure/window/reinforced/fulltile/unanchored - anchored = FALSE - state = WINDOW_OUT_OF_FRAME - -/obj/structure/window/reinforced/tinted/fulltile - icon = 'icons/obj/smooth_structures/tinted_window.dmi' - icon_state = "tinted_window-0" - base_icon_state = "tinted_window" - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE - glass_amount = 2 - // Not on the parent because directional opacity does NOT WORK - opacity = TRUE - -/obj/structure/window/reinforced/fulltile/ice - icon = 'icons/obj/smooth_structures/rice_window.dmi' - icon_state = "rice_window-0" - base_icon_state = "rice_window" - max_integrity = 150 - glass_amount = 2 - -//there is a sub shuttle window in survival_pod.dm for mining pods -/obj/structure/window/reinforced/shuttle//this is called reinforced because it is reinforced w/titanium - name = "shuttle window" - desc = "A reinforced, air-locked pod window." - icon = 'icons/obj/smooth_structures/shuttle_window.dmi' - icon_state = "shuttle_window-0" - base_icon_state = "shuttle_window" - max_integrity = 150 - wtype = "shuttle" - reinf = TRUE - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - reinf = TRUE - heat_resistance = 1600 - armor_type = /datum/armor/reinforced_shuttle - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE - explosion_block = 3 - glass_type = /obj/item/stack/sheet/titaniumglass - glass_amount = 2 - receive_ricochet_chance_mod = 1.2 - rad_insulation = RAD_MEDIUM_INSULATION - glass_material_datum = /datum/material/alloy/titaniumglass - -/datum/armor/reinforced_shuttle - melee = 90 - bomb = 50 - fire = 80 - acid = 100 - -/obj/structure/window/reinforced/shuttle/narsie_act() - add_atom_colour("#3C3434", FIXED_COLOUR_PRIORITY) - -/obj/structure/window/reinforced/shuttle/tinted - opacity = TRUE - -/obj/structure/window/reinforced/shuttle/unanchored - anchored = FALSE - state = WINDOW_OUT_OF_FRAME - -/obj/structure/window/reinforced/shuttle/indestructible - name = "hardened shuttle window" - flags_1 = PREVENT_CLICK_UNDER_1 - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - -/obj/structure/window/reinforced/shuttle/indestructible/welder_act(mob/living/user, obj/item/tool) - return NONE - -/obj/structure/window/reinforced/shuttle/indestructible/screwdriver_act(mob/living/user, obj/item/tool) - return NONE - -/obj/structure/window/reinforced/shuttle/indestructible/wrench_act(mob/living/user, obj/item/tool) - return NONE - -/obj/structure/window/reinforced/shuttle/indestructible/crowbar_act(mob/living/user, obj/item/tool) - return NONE - -/obj/structure/window/reinforced/plasma/plastitanium - 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 - -/datum/armor/plasma_plastitanium - melee = 95 - bomb = 50 - fire = 80 - acid = 100 - -/obj/structure/window/reinforced/plasma/plastitanium/unanchored - anchored = FALSE - state = WINDOW_OUT_OF_FRAME - -/obj/structure/window/paperframe - name = "paper frame" - desc = "A fragile separator made of thin wood and paper." - icon = 'icons/obj/smooth_structures/paperframes.dmi' - icon_state = "paperframes-0" - base_icon_state = "paperframes" - opacity = TRUE - max_integrity = 15 - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PAPERFRAME - canSmoothWith = SMOOTH_GROUP_PAPERFRAME - glass_amount = 2 - glass_type = /obj/item/stack/sheet/paperframes - heat_resistance = 233 - decon_speed = 10 - can_atmos_pass = ATMOS_PASS_YES - resistance_flags = FLAMMABLE - armor_type = /datum/armor/none - knock_sound = SFX_PAGE_TURN - bash_sound = 'sound/weapons/slashmiss.ogg' - break_sound = 'sound/items/poster_ripped.ogg' - hit_sound = 'sound/weapons/slashmiss.ogg' - var/static/mutable_appearance/torn = mutable_appearance('icons/obj/smooth_structures/structure_variations.dmi',icon_state = "paper-torn", layer = ABOVE_OBJ_LAYER - 0.1) - var/static/mutable_appearance/paper = mutable_appearance('icons/obj/smooth_structures/structure_variations.dmi',icon_state = "paper-whole", layer = ABOVE_OBJ_LAYER - 0.1) - -/obj/structure/window/paperframe/Initialize(mapload) +/obj/structure/window/reinforced/tinted/Initialize(mapload, direct) . = ..() - update_appearance() - -/obj/structure/window/paperframe/examine(mob/user) - . = ..() - if(atom_integrity < max_integrity) - . += span_info("It looks a bit damaged, you may be able to fix it with some paper.") - -/obj/structure/window/paperframe/spawn_debris(location) - . = list(new /obj/item/stack/sheet/mineral/wood(location)) - for (var/i in 1 to rand(1,4)) - . += new /obj/item/paper/natural(location) - -/obj/structure/window/paperframe/attack_hand(mob/living/user, list/modifiers) - . = ..() - if(.) - return - if(user.combat_mode) - take_damage(4, BRUTE, MELEE, 0) - if(!QDELETED(src)) - update_appearance() - -/obj/structure/window/paperframe/update_appearance(updates) - . = ..() - set_opacity(atom_integrity >= max_integrity) - -/obj/structure/window/paperframe/update_icon(updates=ALL) - . = ..() - if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) - QUEUE_SMOOTH(src) - -/obj/structure/window/paperframe/update_overlays() - . = ..() - . += (atom_integrity < max_integrity) ? torn : paper - -/obj/structure/window/paperframe/attackby(obj/item/W, mob/living/user) - if(W.get_temperature()) - fire_act(W.get_temperature()) - return - if(user.combat_mode) - return ..() - if(istype(W, /obj/item/paper) && atom_integrity < max_integrity) - user.visible_message(span_notice("[user] starts to patch the holes in \the [src].")) - if(do_after(user, 2 SECONDS, target = src)) - atom_integrity = min(atom_integrity+4,max_integrity) - qdel(W) - user.visible_message(span_notice("[user] patches some of the holes in \the [src].")) - if(atom_integrity == max_integrity) - update_appearance() - return - ..() - update_appearance() - -/obj/structure/window/bronze - name = "brass window" - desc = "A paper-thin pane of translucent yet reinforced brass. Nevermind, this is just weak bronze!" - icon = 'icons/obj/smooth_structures/structure_variations.dmi' - icon_state = "clockwork_window-single" - glass_type = /obj/item/stack/sheet/bronze - -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/bronze/spawner, 0) + if(fulltile) + set_opacity(TRUE) -/obj/structure/window/bronze/unanchored - anchored = FALSE +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/tinted/spawner) -/obj/structure/window/bronze/fulltile - icon = 'icons/obj/smooth_structures/clockwork_window.dmi' - icon_state = "clockwork_window-0" - base_icon_state = "clockwork_window" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE + SMOOTH_GROUP_WINDOW_FULLTILE - canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE - fulltile = TRUE - flags_1 = PREVENT_CLICK_UNDER_1 - obj_flags = CAN_BE_HIT - max_integrity = 50 - glass_amount = 2 +/obj/structure/window/reinforced/tinted/frosted + name = "frosted window" + icon = 'icons/obj/structures/smooth/windows/frosted_thindow.dmi' -/obj/structure/window/bronze/fulltile/unanchored - anchored = FALSE +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/tinted/frosted/spawner) diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 8ddae94231d31..94cab53ea2fa5 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -7,9 +7,8 @@ /obj/machinery/power/shuttle_engine name = "engine" desc = "A bluespace engine used to make shuttles move." - icon = 'icons/turf/shuttle.dmi' + icon = 'icons/turf/engines.dmi' resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS armor_type = /datum/armor/power_shuttle_engine can_atmos_pass = ATMOS_PASS_DENSITY max_integrity = 500 @@ -150,6 +149,7 @@ /obj/machinery/power/shuttle_engine/heater name = "engine heater" desc = "Directs energy into compressed particles in order to power engines." + icon = 'icons/turf/shuttle.dmi' icon_state = "heater" circuit = /obj/item/circuitboard/machine/engine/heater engine_power = 0 // todo make these into 2x1 parts diff --git a/code/game/sound.dm b/code/game/sound.dm index 7c9784bcc7f61..0181bc3d0419f 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -472,4 +472,27 @@ 'sound/creatures/monkey/monkey_screech_6.ogg', 'sound/creatures/monkey/monkey_screech_7.ogg', ) + if(SFX_TOOL_SWITCH) + soundin = 'sound/items/handling/tool_switch.ogg' + if(SFX_KEYBOARD_CLICKS) + soundin = pick( + 'sound/machines/computer/keyboard_clicks_1.ogg', + 'sound/machines/computer/keyboard_clicks_2.ogg', + 'sound/machines/computer/keyboard_clicks_3.ogg', + 'sound/machines/computer/keyboard_clicks_4.ogg', + 'sound/machines/computer/keyboard_clicks_5.ogg', + 'sound/machines/computer/keyboard_clicks_6.ogg', + 'sound/machines/computer/keyboard_clicks_7.ogg', + ) + if(SFX_STONE_DROP) + soundin = pick( + 'sound/items/stones/stone_drop1.ogg', + 'sound/items/stones/stone_drop2.ogg', + 'sound/items/stones/stone_drop3.ogg', + ) + if(SFX_STONE_PICKUP) + soundin = pick( + 'sound/items/stones/stone_pick_up1.ogg', + 'sound/items/stones/stone_pick_up2.ogg', + ) return soundin diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index 8ccaabc46c0af..888b85d84692b 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -1,6 +1,6 @@ /turf/closed + plane = GAME_PLANE layer = CLOSED_TURF_LAYER - plane = WALL_PLANE turf_flags = IS_SOLID opacity = TRUE density = TRUE @@ -8,6 +8,20 @@ init_air = FALSE rad_insulation = RAD_MEDIUM_INSULATION pass_flags_self = PASSCLOSEDTURF + var/use_splitvis = TRUE + +/turf/closed/Initialize(mapload) + . = ..() + if(use_splitvis) + // Micro-op to avoid needing to hash a bunch of nulls + if(color) + AddElement(/datum/element/split_visibility, icon, color) + else + AddElement(/datum/element/split_visibility, icon) + else + // We draw a copy to the wall plane so we can use it to mask byond darkness, that's all + add_overlay(mutable_appearance('icons/turf/walls/wall_blackness.dmi', "wall_background", UNDER_WALL_LAYER, src, WALL_PLANE)) + /turf/closed/AfterChange() . = ..() diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm index 4b5e51b8f3b72..78b402e25ac47 100644 --- a/code/game/turfs/closed/indestructible.dm +++ b/code/game/turfs/closed/indestructible.dm @@ -1,8 +1,12 @@ /turf/closed/indestructible name = "wall" desc = "Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls.dmi' + icon = 'icons/turf/walls/metal_wall.dmi' + icon_state = "0-2" explosive_resistance = 50 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_WALLS rust_resistance = RUST_RESISTANCE_ABSOLUTE /turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE) @@ -28,34 +32,25 @@ name = "strange shuttle wall" icon = 'icons/turf/shuttleold.dmi' icon_state = "block" + use_splitvis = FALSE + smoothing_flags = NONE + smoothing_groups = null + canSmoothWith = null /turf/closed/indestructible/weeb name = "paper wall" desc = "Reinforced paper walling. Someone really doesn't want you to leave." - icon = 'icons/obj/smooth_structures/paperframes.dmi' - icon_state = "paperframes-0" - base_icon_state = "paperframes" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PAPERFRAME - canSmoothWith = SMOOTH_GROUP_PAPERFRAME - var/static/mutable_appearance/indestructible_paper = mutable_appearance('icons/obj/smooth_structures/structure_variations.dmi',icon_state = "paper-whole", layer = CLOSED_TURF_LAYER - 0.1) - -/turf/closed/indestructible/weeb/Initialize(mapload) - . = ..() - update_appearance() - -/turf/closed/indestructible/weeb/update_overlays() - . = ..() - . += indestructible_paper + icon = 'icons/turf/walls/paperframe_wall.dmi' + smoothing_groups = SMOOTH_GROUP_PAPERFRAME + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_PAPERFRAME + SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/sandstone name = "sandstone wall" desc = "A wall with sandstone plating. Rough." icon = 'icons/turf/walls/sandstone_wall.dmi' - icon_state = "sandstone_wall-0" - base_icon_state = "sandstone_wall" baseturfs = /turf/closed/indestructible/sandstone - smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/oldshuttle/corner icon_state = "corner" @@ -63,10 +58,15 @@ /turf/closed/indestructible/splashscreen name = "Space Station 13" desc = null + baseturfs = /turf/cordon icon = 'icons/blanks/blank_title.png' icon_state = "" pixel_x = -64 plane = SPLASHSCREEN_PLANE + use_splitvis = FALSE + smoothing_flags = NONE + smoothing_groups = null + canSmoothWith = null bullet_bounce_sound = null INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) @@ -99,74 +99,48 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) desc = pick(strings(SPLASH_FILE, "splashes")) return ..() -/turf/closed/indestructible/start_area - name = null - desc = null - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - /turf/closed/indestructible/reinforced name = "reinforced wall" desc = "A huge chunk of reinforced metal used to separate rooms. Effectively impervious to conventional methods of destruction." icon = 'icons/turf/walls/reinforced_wall.dmi' - icon_state = "reinforced_wall-0" - base_icon_state = "reinforced_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS - canSmoothWith = SMOOTH_GROUP_WALLS /turf/closed/indestructible/reinforced/titanium name = "reinforced titanium imitation wall" desc = "A huge chunk of reinforced metal used to separate rooms. Naturally, to cut down on costs, this is just a really good paint job to resemble titanium. Effectively impervious to conventional methods of destruction." icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "shuttle_wall-0" base_icon_state = "shuttle_wall" /turf/closed/indestructible/reinforced/titanium/nodiagonal - icon_state = "shuttle_wall-15" + icon_state = "12-2" smoothing_flags = SMOOTH_BITMASK /turf/closed/indestructible/riveted - icon = 'icons/turf/walls/riveted.dmi' - icon_state = "riveted-0" - base_icon_state = "riveted" - smoothing_flags = SMOOTH_BITMASK + icon = 'icons/turf/walls/riveted_wall.dmi' smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/syndicate icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-0" - base_icon_state = "plastitanium_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = 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 + smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_SYNDICATE_WALLS + canSmoothWith = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS /turf/closed/indestructible/riveted/uranium icon = 'icons/turf/walls/uranium_wall.dmi' - icon_state = "uranium_wall-0" - base_icon_state = "uranium_wall" - smoothing_flags = SMOOTH_BITMASK /turf/closed/indestructible/riveted/plastinum name = "plastinum wall" desc = "A luxurious wall made out of a plasma-platinum alloy. Effectively impervious to conventional methods of destruction." icon = 'icons/turf/walls/plastinum_wall.dmi' - icon_state = "plastinum_wall-0" - base_icon_state = "plastinum_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_PLASTINUM_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_PLASTINUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_PLASTINUM_WALLS +// Wallening todo: remove /turf/closed/indestructible/riveted/plastinum/nodiagonal - icon_state = "map-shuttle_nd" - smoothing_flags = SMOOTH_BITMASK /turf/closed/indestructible/wood icon = 'icons/turf/walls/wood_wall.dmi' - icon_state = "wood_wall-0" - base_icon_state = "wood_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_WOOD_WALLS @@ -174,119 +148,157 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) name = "alien wall" desc = "A wall with alien alloy plating." icon = 'icons/turf/walls/abductor_wall.dmi' - icon_state = "abductor_wall-0" - base_icon_state = "abductor_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS +/turf/closed/indestructible/alien/nodiagonal + icon_state = "12-2" + smoothing_flags = SMOOTH_BITMASK /turf/closed/indestructible/cult name = "runed metal wall" desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound. Effectively impervious to conventional methods of destruction." icon = 'icons/turf/walls/cult_wall.dmi' - icon_state = "cult_wall-0" - base_icon_state = "cult_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_WALLS /turf/closed/indestructible/abductor - icon_state = "alien1" + name = "alien wall" + icon = 'icons/turf/walls/abductor_wall.dmi' + smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS /turf/closed/indestructible/opshuttle - icon_state = "wall3" - + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/fakeglass name = "window" - icon = MAP_SWITCH('icons/obj/smooth_structures/reinforced_window.dmi', 'icons/obj/smooth_structures/structure_variations.dmi') - icon_state = MAP_SWITCH("reinforced_window-0", "fake_window") - base_icon_state = "reinforced_window" + icon = MAP_SWITCH('icons/obj/structures/smooth/windows/reinforced_window.dmi', 'icons/obj/structures/smooth/structure_variations.dmi') + icon_state = MAP_SWITCH("0-lower", "plastitanium_window-0") + layer = ABOVE_OBJ_LAYER opacity = FALSE - smoothing_flags = SMOOTH_BITMASK + use_splitvis = FALSE smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE /turf/closed/indestructible/fakeglass/Initialize(mapload) . = ..() - underlays += mutable_appearance('icons/obj/structures.dmi', "grille", layer - 0.01) //add a grille underlay - underlays += mutable_appearance('icons/turf/floors.dmi', "plating", layer - 0.02) //add the plating underlay, below the grille + AddComponent(/datum/component/window_smoothing, /turf/closed/indestructible/fakeglass) + underlays += mutable_appearance('icons/turf/floors.dmi', "plating", LOW_FLOOR_LAYER, offset_spokesman = src, plane = FLOOR_PLANE) + +/turf/closed/indestructible/fakeglass/smooth_icon() + . = ..() + update_appearance(~UPDATE_SMOOTHING) + +/turf/closed/indestructible/fakeglass/update_overlays() + . = ..() + . += mutable_appearance('icons/obj/structures/smooth/window_grille_black.dmi', "window_grille_black-[smoothing_junction]", BELOW_OBJ_LAYER) + . += mutable_appearance('icons/obj/structures/smooth/window_grille.dmi', "window_grille-[smoothing_junction]", BELOW_OBJ_LAYER) + . += mutable_appearance('icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.dmi', "window_frame_normal-[smoothing_junction]", BELOW_OBJ_LAYER, appearance_flags = KEEP_APART) /turf/closed/indestructible/opsglass name = "window" - icon = 'icons/obj/smooth_structures/plastitanium_window.dmi' - icon_state = "plastitanium_window-0" - base_icon_state = "plastitanium_window" + icon = MAP_SWITCH('icons/obj/structures/smooth/windows/plastitanium_window.dmi', 'icons/obj/structures_spawners.dmi') + icon_state = MAP_SWITCH("0-lower", "plastitaniumwindow_spawner") + layer = ABOVE_OBJ_LAYER opacity = FALSE - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM + use_splitvis = FALSE + smoothing_groups = SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM canSmoothWith = SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM /turf/closed/indestructible/opsglass/Initialize(mapload) . = ..() - icon_state = null - underlays += mutable_appearance('icons/obj/structures.dmi', "grille", layer - 0.01) - underlays += mutable_appearance('icons/turf/floors.dmi', "plating", layer - 0.02) + AddComponent(/datum/component/window_smoothing, /turf/closed/indestructible/opsglass) + underlays += mutable_appearance('icons/turf/floors.dmi', "plating", LOW_FLOOR_LAYER, offset_spokesman = src, plane = FLOOR_PLANE) + +/turf/closed/indestructible/opsglass/smooth_icon() + . = ..() + update_appearance(~UPDATE_SMOOTHING) + +/turf/closed/indestructible/opsglass/update_overlays() + . = ..() + . += mutable_appearance('icons/obj/structures/smooth/window_grille_black.dmi', "window_grille_black-[smoothing_junction]", BELOW_OBJ_LAYER) + . += mutable_appearance('icons/obj/structures/smooth/window_grille.dmi', "window_grille-[smoothing_junction]", BELOW_OBJ_LAYER) + . += mutable_appearance('icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.dmi', "window_frame_plastitanium-[smoothing_junction]", BELOW_OBJ_LAYER, appearance_flags = KEEP_APART) /turf/closed/indestructible/fakedoor name = "airlock" - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' + icon = 'icons/obj/doors/airlocks/tall/centcom.dmi' icon_state = "fake_door" + use_splitvis = FALSE + smoothing_flags = NONE + canSmoothWith = null + smoothing_groups = null + /// What kind of turf should be visually represented under this door? + var/turf/floor_to_copy = /turf/open/floor/plating + +/turf/closed/indestructible/fakedoor/Initialize(mapload) + . = ..() + underlays += mutable_appearance(initial(floor_to_copy.icon), initial(floor_to_copy.icon_state), initial(floor_to_copy.layer), offset_spokesman = src, plane = FLOOR_PLANE) /turf/closed/indestructible/fakedoor/maintenance - icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi' + icon = 'icons/obj/doors/airlocks/tall/hatch/maintenance.dmi' + icon_state = "closed" // Should probably be given it's own fake_door state too /turf/closed/indestructible/fakedoor/glass_airlock - icon = 'icons/obj/doors/airlocks/external/external.dmi' + icon = 'icons/obj/doors/airlocks/tall/external/external.dmi' + icon_state = "closed" // Ditto opacity = FALSE +/// WALLENING TODO: Needs additional work; the base airlock it's meant to mimic is a GAGS-Generated sprite. /turf/closed/indestructible/fakedoor/engineering icon = 'icons/obj/doors/airlocks/station/engineering.dmi' + icon_state = "closed" /turf/closed/indestructible/rock name = "dense rock" desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this." - icon = 'icons/turf/mining.dmi' - icon_state = "rock" + icon = 'icons/turf/walls/rock_wall2.dmi' + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/rock/snow name = "mountainside" desc = "An extremely densely-packed rock, sheeted over with centuries worth of ice and snow." - icon = 'icons/turf/walls.dmi' - icon_state = "snowrock" + icon = MAP_SWITCH('icons/turf/walls/mountain_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR + icon_state = "mountainrock" +#endif bullet_sizzle = TRUE bullet_bounce_sound = null /turf/closed/indestructible/rock/snow/ice + icon = 'icons/turf/walls/icerock_wall.dmi' name = "iced rock" + icon_state = null desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold." - icon = 'icons/turf/walls.dmi' - icon_state = "icerock" - -/turf/closed/indestructible/rock/snow/ice/ore - icon = 'icons/turf/walls/icerock_wall.dmi' - icon_state = "icerock_wall-0" - base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS - pixel_x = -4 - pixel_y = -4 +// Is it ok that this looks the same as its parent? why does it exist? +// Something is wrong here huh +// rock/snow used to have a unique state, do we need to put it back? +// also we need a sprite for /rock, I think? need to dig more +// wallening todo, replace with /turf/closed/indestructible/rock/snow/ice, it is essentially redundant since we didn't make a unique state for that one state in mining.dmi +/turf/closed/indestructible/rock/snow/ice/ore /turf/closed/indestructible/paper name = "thick paper wall" desc = "A wall layered with impenetrable sheets of paper." - icon = 'icons/turf/walls.dmi' - icon_state = "paperwall" + icon = 'icons/turf/walls/paper_wall.dmi' + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/necropolis name = "necropolis wall" desc = "A seemingly impenetrable wall." - icon = 'icons/turf/walls.dmi' - icon_state = "necro" + icon = 'icons/turf/walls/necro_wall.dmi' explosive_resistance = 50 baseturfs = /turf/closed/indestructible/necropolis + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS /turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) underlay_appearance.icon = 'icons/turf/floors.dmi' @@ -297,10 +309,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) name = "impervious iron wall" desc = "A wall with tough iron plating." icon = 'icons/turf/walls/iron_wall.dmi' - icon_state = "iron_wall-0" - base_icon_state = "iron_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_IRON_WALLS opacity = FALSE @@ -308,14 +317,12 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) name = "necropolis wall" desc = "A thick, seemingly indestructible stone wall." icon = 'icons/turf/walls/boss_wall.dmi' - icon_state = "boss_wall-0" - base_icon_state = "boss_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_BOSS_WALLS - canSmoothWith = SMOOTH_GROUP_BOSS_WALLS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_BOSS_WALLS + canSmoothWith = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BOSS_WALLS explosive_resistance = 50 baseturfs = /turf/closed/indestructible/riveted/boss +/// To avoid confusion; this is used as a bombable tile. It's justified; I checked. /turf/closed/indestructible/riveted/boss/wasteland baseturfs = /turf/open/misc/asteroid/basalt/wasteland @@ -327,31 +334,28 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) underlay_appearance.icon_state = "basalt" return TRUE + /turf/closed/indestructible/riveted/hierophant name = "wall" desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." icon = 'icons/turf/walls/hierophant_wall.dmi' - icon_state = "wall" - smoothing_flags = SMOOTH_CORNERS - smoothing_groups = SMOOTH_GROUP_HIERO_WALL + smoothing_groups = SMOOTH_GROUP_HIERO_WALL + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_HIERO_WALL /turf/closed/indestructible/resin name = "resin wall" - icon = 'icons/obj/smooth_structures/alien/resin_wall.dmi' - icon_state = "resin_wall-0" - base_icon_state = "resin_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_ALIEN_RESIN + icon = 'icons/obj/structures/smooth/alien/resin_wall_1.dmi' + smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS /turf/closed/indestructible/resin/membrane name = "resin membrane" - icon = 'icons/obj/smooth_structures/alien/resin_membrane.dmi' + icon = 'icons/obj/structures/smooth/alien/resin_membrane.dmi' icon_state = "resin_membrane-0" base_icon_state = "resin_membrane" opacity = FALSE - smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS + SMOOTH_GROUP_ALIEN_RESIN + use_splitvis = FALSE + smoothing_groups = SMOOTH_GROUP_ALIEN_WALLS canSmoothWith = SMOOTH_GROUP_ALIEN_WALLS /turf/closed/indestructible/resin/membrane/Initialize(mapload) @@ -360,9 +364,14 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) /turf/closed/indestructible/grille name = "grille" - icon = 'icons/obj/structures.dmi' - icon_state = "grille" + desc = "A flimsy framework of iron rods." + icon = 'icons/obj/structures/smooth/grille.dmi' + icon_state = "grille-0" base_icon_state = "grille" + use_splitvis = FALSE + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_GRILLE + canSmoothWith = SMOOTH_GROUP_GRILLE /turf/closed/indestructible/grille/Initialize(mapload) . = ..() @@ -372,8 +381,5 @@ INITIALIZE_IMMEDIATE(/turf/closed/indestructible/splashscreen) name = "dense meat wall" desc = "A huge chunk of dense, packed meat. Effectively impervious to conventional methods of destruction." icon = 'icons/turf/walls/meat_wall.dmi' - icon_state = "meat_wall-0" - base_icon_state = "meat_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_WALLS diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 3ec5ee06e581f..782b6101f6ca5 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -4,8 +4,10 @@ /turf/closed/mineral //wall piece name = "rock" - icon = MAP_SWITCH('icons/turf/smoothrocks.dmi', 'icons/turf/mining.dmi') + icon = MAP_SWITCH('icons/turf/walls/rock_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "rock" +#endif smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MINERAL_WALLS canSmoothWith = SMOOTH_GROUP_MINERAL_WALLS smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER @@ -13,16 +15,7 @@ initial_gas_mix = AIRLESS_ATMOS opacity = TRUE density = TRUE - // We're a BIG wall, larger then 32x32, so we need to be on the game plane - // Otherwise we'll draw under shit in weird ways - plane = GAME_PLANE layer = EDGED_TURF_LAYER - base_icon_state = "smoothrocks" - - // This is static - // Done like this to avoid needing to make it dynamic and save cpu time - // 4 to the left, 4 down - transform = MAP_SWITCH(TRANSLATE_MATRIX(-4, -4), matrix()) temperature = TCMB var/turf/open/floor/plating/turf_type = /turf/open/misc/asteroid/airless @@ -43,18 +36,6 @@ /// How long it takes to mine this turf without tools, if it's weak. var/hand_mine_speed = 15 SECONDS - -/turf/closed/mineral/Initialize(mapload) - . = ..() - // Mineral turfs are big, so they need to be on the game plane at a high layer - // But they're also turfs, so we need to cut them out from the light mask plane - // So we draw them as if they were on the game plane, and then overlay a copy onto - // The wall plane (so emissives/light masks behave) - // I am so sorry - var/static/mutable_appearance/wall_overlay = mutable_appearance('icons/turf/mining.dmi', "rock", appearance_flags = RESET_TRANSFORM) - wall_overlay.plane = MUTATE_PLANE(WALL_PLANE, src) - overlays += wall_overlay - // Inlined version of the bump click element. way faster this way, the element's nice but it's too much overhead /turf/closed/mineral/Bumped(atom/movable/bumped_atom) . = ..() @@ -276,7 +257,7 @@ /turf/closed/mineral/random /// What are the base odds that this turf spawns a mineral in the wall on initialize? var/mineralChance = 13 - /// Does this mineral determine it's random chance and mineral contents based on proximity to a vent? Overrides mineralChance and mineralAmt. + /// Does this mineral determine its random chance and mineral contents based on proximity to a vent? Overrides mineralChance and mineralAmt. var/proximity_based = FALSE /// Returns a list of the chances for minerals to spawn. @@ -423,8 +404,9 @@ /turf/closed/mineral/random/snow name = "snowy mountainside" icon = MAP_SWITCH('icons/turf/walls/mountain_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "mountainrock" - base_icon_state = "mountain_wall" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS defer_change = TRUE @@ -438,9 +420,8 @@ . = ..() if(mineralType) icon = 'icons/turf/walls/icerock_wall.dmi' - icon_state = "icerock_wall-0" - base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER + QUEUE_SMOOTH(src) /turf/closed/mineral/random/snow/mineral_chances() return list( @@ -519,8 +500,9 @@ /turf/closed/mineral/random/labormineral/ice name = "snowy mountainside" icon = MAP_SWITCH('icons/turf/walls/mountain_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "mountainrock" - base_icon_state = "mountain_wall" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS defer_change = TRUE @@ -539,9 +521,8 @@ . = ..() if(mineralType) icon = 'icons/turf/walls/icerock_wall.dmi' - icon_state = "icerock_wall-0" - base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER + QUEUE_SMOOTH(src) /turf/closed/mineral/iron mineralType = /obj/item/stack/ore/iron @@ -554,9 +535,10 @@ defer_change = TRUE /turf/closed/mineral/iron/ice - icon_state = "icerock_iron" icon = MAP_SWITCH('icons/turf/walls/icerock_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "icerock_wall" +#ifdef MAP_EDITOR + icon_state = "icerock_iron" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER turf_type = /turf/open/misc/asteroid/snow/ice baseturfs = /turf/open/misc/asteroid/snow/ice @@ -584,9 +566,10 @@ defer_change = TRUE /turf/closed/mineral/diamond/ice - icon_state = "icerock_iron" icon = MAP_SWITCH('icons/turf/walls/icerock_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "icerock_wall" +#ifdef MAP_EDITOR + icon_state = "icerock_iron" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER turf_type = /turf/open/misc/asteroid/snow/ice baseturfs = /turf/open/misc/asteroid/snow/ice @@ -639,9 +622,10 @@ defer_change = TRUE /turf/closed/mineral/plasma/ice - icon_state = "icerock_plasma" icon = MAP_SWITCH('icons/turf/walls/icerock_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "icerock_wall" +#ifdef MAP_EDITOR + icon_state = "icerock_plasma" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER turf_type = /turf/open/misc/asteroid/snow/ice baseturfs = /turf/open/misc/asteroid/snow/ice @@ -682,10 +666,10 @@ /turf/closed/mineral/ash_rock //wall piece name = "rock" - icon = 'icons/turf/mining.dmi' - icon = MAP_SWITCH('icons/turf/walls/rock_wall.dmi', 'icons/turf/mining.dmi') + icon = MAP_SWITCH('icons/turf/walls/rock_wall2.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "rock2" - base_icon_state = "rock_wall" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS baseturfs = /turf/open/misc/ashplanet/wateryrock @@ -697,8 +681,9 @@ /turf/closed/mineral/snowmountain name = "snowy mountainside" icon = MAP_SWITCH('icons/turf/walls/mountain_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "mountainrock" - base_icon_state = "mountain_wall" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER canSmoothWith = SMOOTH_GROUP_CLOSED_TURFS baseturfs = /turf/open/misc/asteroid/snow @@ -720,8 +705,9 @@ /turf/closed/mineral/snowmountain/cavern name = "ice cavern rock" icon = MAP_SWITCH('icons/turf/walls/icerock_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "icerock" - base_icon_state = "icerock_wall" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER baseturfs = /turf/open/misc/asteroid/snow/ice turf_type = /turf/open/misc/asteroid/snow/ice @@ -741,14 +727,14 @@ /turf/closed/mineral/asteroid name = "iron rock" + icon = MAP_SWITCH('icons/turf/walls/red_rock_wall.dmi', 'icons/turf/mining.dmi') +#ifdef MAP_EDITOR icon_state = "redrock" - icon = MAP_SWITCH('icons/turf/walls/red_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "red_wall" +#endif /turf/closed/mineral/random/stationside/asteroid name = "iron rock" - icon = MAP_SWITCH('icons/turf/walls/red_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "red_wall" + icon = MAP_SWITCH('icons/turf/walls/red_rock_wall.dmi', 'icons/turf/mining.dmi') /turf/closed/mineral/random/stationside/asteroid/porus name = "porous iron rock" @@ -764,7 +750,9 @@ /turf/closed/mineral/gibtonite mineralAmt = 1 - MAP_SWITCH(, icon_state = "rock_Gibtonite_inactive") +#ifdef MAP_EDITOR + icon_state = "rock_Gibtonite_inactive" +#endif scan_state = "rock_Gibtonite" var/det_time = 8 //Countdown till explosion, but also rewards the player for how close you were to detonation when you defuse it var/stage = GIBTONITE_UNSTRUCK //How far into the lifecycle of gibtonite we are @@ -789,6 +777,8 @@ /turf/closed/mineral/gibtonite/proc/explosive_reaction(mob/user = null) if(stage == GIBTONITE_UNSTRUCK) + // Wallening todo: the layer of this is also weird. change if you change mineral walls + // Oh and we need to figure out this sprite activated_overlay = mutable_appearance('icons/turf/smoothrocks_overlays.dmi', "rock_Gibtonite_inactive", ON_EDGED_TURF_LAYER) //shows in gaps between pulses if there are any add_overlay(activated_overlay) name = "gibtonite deposit" @@ -868,9 +858,10 @@ defer_change = TRUE /turf/closed/mineral/gibtonite/ice - MAP_SWITCH(, icon_state = "icerock_Gibtonite_inactive") icon = MAP_SWITCH('icons/turf/walls/icerock_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "icerock_wall" +#ifdef MAP_EDITOR + icon_state = "icerock_Gibtonite_inactive" +#endif smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER turf_type = /turf/open/misc/asteroid/snow/ice baseturfs = /turf/open/misc/asteroid/snow/ice @@ -889,9 +880,8 @@ baseturfs = /turf/open/misc/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 - icon = MAP_SWITCH('icons/turf/walls/rock_wall.dmi', 'icons/turf/mining.dmi') - base_icon_state = "rock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER + icon = MAP_SWITCH('icons/turf/walls/rock_wall2.dmi', 'icons/turf/mining.dmi') + smoothing_flags = SMOOTH_BITMASK /turf/closed/mineral/strong/attackby(obj/item/I, mob/user, params) if(!ishuman(user)) diff --git a/code/game/turfs/closed/wall/material_walls.dm b/code/game/turfs/closed/wall/material_walls.dm index 5f16a68584f3e..004fe241cf699 100644 --- a/code/game/turfs/closed/wall/material_walls.dm +++ b/code/game/turfs/closed/wall/material_walls.dm @@ -2,10 +2,8 @@ name = "wall" desc = "A huge chunk of material used to separate rooms." icon = 'icons/turf/walls/material_wall.dmi' - icon_state = "material_wall-0" - base_icon_state = "material_wall" smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_MATERIAL_WALLS canSmoothWith = SMOOTH_GROUP_MATERIAL_WALLS rcd_memory = null material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS diff --git a/code/game/turfs/closed/wall/mineral_walls.dm b/code/game/turfs/closed/wall/mineral_walls.dm index 347e9af8f0d24..b6760a116ccdf 100644 --- a/code/game/turfs/closed/wall/mineral_walls.dm +++ b/code/game/turfs/closed/wall/mineral_walls.dm @@ -1,9 +1,7 @@ /turf/closed/wall/mineral name = "mineral wall" desc = "This shouldn't exist" - icon_state = "" smoothing_flags = SMOOTH_BITMASK - canSmoothWith = null rcd_memory = null material_flags = MATERIAL_EFFECTS rust_resistance = RUST_RESISTANCE_BASIC @@ -12,12 +10,10 @@ name = "gold wall" desc = "A wall with gold plating. Swag!" icon = 'icons/turf/walls/gold_wall.dmi' - icon_state = "gold_wall-0" - base_icon_state = "gold_wall" sheet_type = /obj/item/stack/sheet/mineral/gold hardness = 65 //gold is soft explosive_resistance = 0 //gold is a soft metal you dingus. - smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_GOLD_WALLS custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_BASIC @@ -26,12 +22,10 @@ name = "silver wall" desc = "A wall with silver plating. Shiny!" icon = 'icons/turf/walls/silver_wall.dmi' - icon_state = "silver_wall-0" - base_icon_state = "silver_wall" sheet_type = /obj/item/stack/sheet/mineral/silver hardness = 65 //silver is also soft according to moh's scale smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_SILVER_WALLS custom_materials = list(/datum/material/silver = SHEET_MATERIAL_AMOUNT*2) @@ -39,14 +33,12 @@ name = "diamond wall" desc = "A wall with diamond plating. You monster." icon = 'icons/turf/walls/diamond_wall.dmi' - icon_state = "diamond_wall-0" - base_icon_state = "diamond_wall" sheet_type = /obj/item/stack/sheet/mineral/diamond hardness = 5 //diamond is very hard slicing_duration = 200 //diamond wall takes twice as much time to slice explosive_resistance = 3 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_DIAMOND_WALLS custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_REINFORCED @@ -58,12 +50,10 @@ name = "bananium wall" desc = "A wall with bananium plating. Honk!" icon = 'icons/turf/walls/bananium_wall.dmi' - icon_state = "bananium_wall-0" - base_icon_state = "bananium_wall" sheet_type = /obj/item/stack/sheet/mineral/bananium hardness = 70 //it's banana smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_BANANIUM_WALLS custom_materials = list(/datum/material/bananium = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_BASIC @@ -72,13 +62,11 @@ name = "sandstone wall" desc = "A wall with sandstone plating. Rough." icon = 'icons/turf/walls/sandstone_wall.dmi' - icon_state = "sandstone_wall-0" - base_icon_state = "sandstone_wall" sheet_type = /obj/item/stack/sheet/mineral/sandstone hardness = 50 //moh says this is apparently 6-7 on it's scale explosive_resistance = 0 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_SANDSTONE_WALLS custom_materials = list(/datum/material/sandstone = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_BASIC @@ -88,12 +76,10 @@ name = "uranium wall" desc = "A wall with uranium plating. This is probably a bad idea." icon = 'icons/turf/walls/uranium_wall.dmi' - icon_state = "uranium_wall-0" - base_icon_state = "uranium_wall" sheet_type = /obj/item/stack/sheet/mineral/uranium hardness = 40 //uranium is a 6 on moh's scale smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_URANIUM_WALLS custom_materials = list(/datum/material/uranium = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_REINFORCED @@ -145,13 +131,11 @@ name = "plasma wall" desc = "A wall with plasma plating. This is definitely a bad idea." icon = 'icons/turf/walls/plasma_wall.dmi' - icon_state = "plasma_wall-0" - base_icon_state = "plasma_wall" sheet_type = /obj/item/stack/sheet/mineral/plasma hardness = 70 // I'll tentatively compare it to Bismuth thermal_conductivity = 0.04 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_PLASMA_WALLS custom_materials = list(/datum/material/plasma = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_BASIC @@ -160,14 +144,12 @@ name = "wooden wall" desc = "A wall with wooden plating. Stiff." icon = 'icons/turf/walls/wood_wall.dmi' - icon_state = "wood_wall-0" - base_icon_state = "wood_wall" sheet_type = /obj/item/stack/sheet/mineral/wood hardness = 80 turf_flags = IS_SOLID explosive_resistance = 0 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_WOOD_WALLS custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_BASIC @@ -194,10 +176,8 @@ name = "bamboo wall" desc = "A wall with a bamboo finish." icon = 'icons/turf/walls/bamboo_wall.dmi' - icon_state = "bamboo_wall-0" - base_icon_state = "bamboo_wall" smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_BAMBOO_WALLS sheet_type = /obj/item/stack/sheet/mineral/bamboo hardness = 80 //it's not a mineral... @@ -207,13 +187,11 @@ name = "rough iron wall" desc = "A wall with rough iron plating." icon = 'icons/turf/walls/iron_wall.dmi' - icon_state = "iron_wall-0" - base_icon_state = "iron_wall" sheet_type = /obj/item/stack/rods hardness = 60 sheet_amount = 5 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_IRON_WALLS custom_materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT * 2.5) rust_resistance = RUST_RESISTANCE_BASIC @@ -222,14 +200,13 @@ name = "packed snow wall" desc = "A wall made of densely packed snow blocks." icon = 'icons/turf/walls/snow_wall.dmi' - icon_state = "snow_wall-0" - base_icon_state = "snow_wall" smoothing_flags = SMOOTH_BITMASK hardness = 80 explosive_resistance = 0 slicing_duration = 30 sheet_type = /obj/item/stack/sheet/mineral/snow - canSmoothWith = null + smoothing_groups = SMOOTH_GROUP_SNOW_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_SNOW_WALLS girder_type = null bullet_sizzle = TRUE bullet_bounce_sound = null @@ -243,34 +220,54 @@ name = "alien wall" desc = "A wall with alien alloy plating." icon = 'icons/turf/walls/abductor_wall.dmi' - icon_state = "abductor_wall-0" - base_icon_state = "abductor_wall" sheet_type = /obj/item/stack/sheet/mineral/abductor hardness = 10 slicing_duration = 200 //alien wall takes twice as much time to slice explosive_resistance = 3 smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS custom_materials = list(/datum/material/alloy/alien = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_ORGANIC +/turf/closed/wall/mineral/meat + name = "meat wall" + desc = "A wall of somone's compacted meat." + icon = 'icons/turf/walls/meat_wall.dmi' + sheet_type = /obj/item/stack/sheet/meat + hardness = 50 + explosive_resistance = 0 + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_MEAT_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_MEAT_WALLS + custom_materials = list(/datum/material/meat = 4000) + +/turf/closed/wall/mineral/pizza + name = "pepperoni wallzza" + desc = "It's a delicious pepperoni wallzza!" + icon = 'icons/turf/walls/pizza_wall.dmi' + sheet_type = /obj/item/stack/sheet/pizza + hardness = 70 // idk what you were expecting + explosive_resistance = 0 + smoothing_groups = SMOOTH_GROUP_PIZZA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_PIZZA_WALLS + custom_materials = list(/datum/material/pizza = SHEET_MATERIAL_AMOUNT*2) + rust_resistance = RUST_RESISTANCE_ORGANIC + /////////////////////Titanium walls///////////////////// /turf/closed/wall/mineral/titanium //has to use this path due to how building walls works name = "wall" desc = "A light-weight titanium wall used in shuttles." icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "shuttle_wall-0" - base_icon_state = "shuttle_wall" explosive_resistance = 3 flags_1 = CAN_BE_DIRTY_1 flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD sheet_type = /obj/item/stack/sheet/mineral/titanium hardness = 40 //6 on moh's scale - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_TITANIUM_WALLS + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_TALL_WALLS + canSmoothWith = SMOOTH_GROUP_TITANIUM_WALLS custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_TITANIUM @@ -281,13 +278,9 @@ return ..() /turf/closed/wall/mineral/titanium/nodiagonal - icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "map-shuttle_nd" - base_icon_state = "shuttle_wall" smoothing_flags = SMOOTH_BITMASK /turf/closed/wall/mineral/titanium/overspace - icon_state = "map-overspace" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS fixed_underlay = list("space" = TRUE) @@ -302,22 +295,18 @@ /turf/closed/wall/mineral/titanium/survival name = "pod wall" desc = "An easily-compressable wall used for temporary shelter." - icon = 'icons/turf/walls/survival_pod_walls.dmi' - icon_state = "survival_pod_walls-0" - base_icon_state = "survival_pod_walls" + icon = 'icons/turf/walls/survival_pod_wall.dmi' smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_TITANIUM_WALLS + canSmoothWith = SMOOTH_GROUP_TITANIUM_WALLS rust_resistance = RUST_RESISTANCE_TITANIUM /turf/closed/wall/mineral/titanium/survival/nodiagonal - icon = 'icons/turf/walls/survival_pod_walls.dmi' - icon_state = "survival_pod_walls-0" - base_icon_state = "survival_pod_walls" + icon = 'icons/turf/walls/survival_pod_wall.dmi' smoothing_flags = SMOOTH_BITMASK rust_resistance = RUST_RESISTANCE_TITANIUM /turf/closed/wall/mineral/titanium/survival/pod - smoothing_groups = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD rust_resistance = RUST_RESISTANCE_TITANIUM @@ -333,14 +322,12 @@ name = "wall" desc = "A durable wall made of an alloy of plasma and titanium." icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-0" - base_icon_state = "plastitanium_wall" explosive_resistance = 4 sheet_type = /obj/item/stack/sheet/mineral/plastitanium hardness = 25 //upgrade on titanium smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS + smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_SYNDICATE_WALLS + canSmoothWith = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS custom_materials = list(/datum/material/alloy/plastitanium = SHEET_MATERIAL_AMOUNT*2) rust_resistance = RUST_RESISTANCE_TITANIUM @@ -352,14 +339,10 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal - icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "map-shuttle_nd" - base_icon_state = "plastitanium_wall" smoothing_flags = SMOOTH_BITMASK rust_resistance = RUST_RESISTANCE_TITANIUM /turf/closed/wall/mineral/plastitanium/overspace - icon_state = "map-overspace" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS fixed_underlay = list("space" = TRUE) rust_resistance = RUST_RESISTANCE_TITANIUM diff --git a/code/game/turfs/closed/wall/misc_walls.dm b/code/game/turfs/closed/wall/misc_walls.dm index be4b6ca7ad295..c7c0508695e59 100644 --- a/code/game/turfs/closed/wall/misc_walls.dm +++ b/code/game/turfs/closed/wall/misc_walls.dm @@ -2,11 +2,9 @@ name = "runed metal wall" desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound." icon = 'icons/turf/walls/cult_wall.dmi' - icon_state = "cult_wall-0" - base_icon_state = "cult_wall" turf_flags = IS_SOLID - smoothing_flags = SMOOTH_BITMASK - canSmoothWith = null + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_BOSS_WALLS + canSmoothWith = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BOSS_WALLS sheet_type = /obj/item/stack/sheet/runed_metal sheet_amount = 1 girder_type = /obj/structure/girder/cult @@ -30,19 +28,20 @@ new /obj/effect/temp_visual/cult/turf(get_turf(src)) /turf/closed/wall/ice - icon = 'icons/turf/walls/icedmetal_wall.dmi' - icon_state = "icedmetal_wall-0" - base_icon_state = "icedmetal_wall" + icon = 'icons/turf/walls/iced_metal_wall.dmi' desc = "A wall covered in a thick sheet of ice." turf_flags = IS_SOLID - smoothing_flags = SMOOTH_BITMASK - canSmoothWith = null rcd_memory = null hardness = 35 slicing_duration = 150 //welding through the ice+metal bullet_sizzle = TRUE /turf/closed/wall/rust + name = "rusted wall" + desc = "A rusted metal wall." + icon = 'icons/turf/walls/rusty_wall.dmi' + smoothing_flags = SMOOTH_BITMASK + hardness = 45 //SDMM supports colors, this is simply for easier mapping //and should be removed on initialize color = MAP_SWITCH(null, COLOR_ORANGE_BROWN) @@ -51,34 +50,48 @@ . = ..() AddElement(/datum/element/rust) +/turf/closed/wall/heretic_rust + color = MAP_SWITCH(null, COLOR_GREEN_GRAY) + +/turf/closed/wall/heretic_rust/Initialize(mapload) + . = ..() + AddElement(/datum/element/rust/heretic) + /turf/closed/wall/r_wall/rust - //SDMM supports colors, this is simply for easier mapping - //and should be removed on initialize - color = MAP_SWITCH(null, COLOR_ORANGE_BROWN) - base_decon_state = "rusty_r_wall" + name = "rusted reinforced wall" + desc = "A huge chunk of rusted reinforced metal." + icon = 'icons/turf/walls/rusty_reinforced_wall.dmi' + smoothing_flags = SMOOTH_BITMASK + hardness = 15 /turf/closed/wall/r_wall/rust/Initialize(mapload) . = ..() AddElement(/datum/element/rust) +/turf/closed/wall/r_wall/heretic_rust + color = MAP_SWITCH(null, COLOR_GREEN_GRAY) + icon = 'icons/turf/walls/rusty_reinforced_wall.dmi' + +/turf/closed/wall/r_wall/heretic_rust/Initialize(mapload) + . = ..() + AddElement(/datum/element/rust/heretic) + /turf/closed/wall/mineral/bronze name = "clockwork wall" desc = "A huge chunk of bronze, decorated like gears and cogs." icon = 'icons/turf/walls/clockwork_wall.dmi' - icon_state = "clockwork_wall-0" - base_icon_state = "clockwork_wall" turf_flags = IS_SOLID smoothing_flags = SMOOTH_BITMASK sheet_type = /obj/item/stack/sheet/bronze sheet_amount = 2 girder_type = /obj/structure/girder/bronze + smoothing_groups = SMOOTH_GROUP_CLOCK_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + canSmoothWith = SMOOTH_GROUP_CLOCK_WALLS /turf/closed/wall/rock name = "reinforced rock" desc = "It has metal struts that need to be welded away before it can be mined." - icon = 'icons/turf/walls/reinforced_rock.dmi' - icon_state = "porous_rock-0" - base_icon_state = "porous_rock" + icon = 'icons/turf/walls/reinforced_red_rock_wall.dmi' turf_flags = NO_RUST sheet_amount = 1 hardness = 50 @@ -99,6 +112,14 @@ smoothing_flags = NONE canSmoothWith = null smoothing_groups = null + use_splitvis = FALSE + +/turf/closed/wall/fake_hierophant + name = "vibrant wall" + desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." + icon = 'icons/turf/walls/hierophant_wall.dmi' + smoothing_groups = SMOOTH_GROUP_HIERO_WALL + SMOOTH_GROUP_TALL_WALLS + canSmoothWith = SMOOTH_GROUP_HIERO_WALL /turf/closed/wall/material/meat name = "living wall" diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index e94a31eeafef4..aadff1b4c8682 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -2,8 +2,6 @@ name = "reinforced wall" desc = "A huge chunk of reinforced metal used to separate rooms." icon = 'icons/turf/walls/reinforced_wall.dmi' - icon_state = "reinforced_wall-0" - base_icon_state = "reinforced_wall" opacity = TRUE density = TRUE turf_flags = IS_SOLID @@ -18,8 +16,15 @@ heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall. also indicates the temperature at wich the wall will melt (currently only able to melt with H/E pipes) ///Dismantled state, related to deconstruction. var/d_state = INTACT - ///Base icon state to use for deconstruction - var/base_decon_state = "r_wall" + ///List of icons for deconstruction steps, indexed by d_state + var/static/list/decon_icons = list( + SUPPORT_LINES = 'icons/turf/walls/reinforced_wall_decon1.dmi', + COVER = 'icons/turf/walls/reinforced_wall_decon2.dmi', + CUT_COVER = 'icons/turf/walls/reinforced_wall_decon3.dmi', + ANCHOR_BOLTS = 'icons/turf/walls/reinforced_wall_decon4.dmi', + SUPPORT_RODS = 'icons/turf/walls/reinforced_wall_decon5.dmi', + SHEATH = 'icons/turf/walls/reinforced_wall_decon6.dmi', + ) /turf/closed/wall/r_wall/deconstruction_hints(mob/user) switch(d_state) @@ -45,14 +50,13 @@ /turf/closed/wall/r_wall/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 41) return ..() -/turf/closed/wall/r_wall/try_decon(obj/item/W, mob/user, turf/T) +/turf/closed/wall/r_wall/try_decon(obj/item/W, mob/user) //DECONSTRUCTION switch(d_state) if(INTACT) if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) - d_state = SUPPORT_LINES - update_appearance() + decon_change(SUPPORT_LINES) to_chat(user, span_notice("You cut the outer grille.")) return TRUE @@ -62,15 +66,13 @@ if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) return TRUE - d_state = COVER - update_appearance() + decon_change(COVER) to_chat(user, span_notice("You unsecure the support lines.")) return TRUE else if(W.tool_behaviour == TOOL_WIRECUTTER) W.play_tool_sound(src, 100) - d_state = INTACT - update_appearance() + decon_change(INTACT) to_chat(user, span_notice("You repair the outer grille.")) return TRUE @@ -82,8 +84,7 @@ if(W.use_tool(src, user, 60, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return TRUE - d_state = CUT_COVER - update_appearance() + decon_change(CUT_COVER) to_chat(user, span_notice("You press firmly on the cover, dislodging it.")) return TRUE @@ -92,8 +93,7 @@ if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return TRUE - d_state = SUPPORT_LINES - update_appearance() + decon_change(SUPPORT_LINES) to_chat(user, span_notice("The support lines have been secured.")) return TRUE @@ -103,8 +103,7 @@ if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE - d_state = ANCHOR_BOLTS - update_appearance() + decon_change(ANCHOR_BOLTS) to_chat(user, span_notice("You pry off the cover.")) return TRUE @@ -115,8 +114,7 @@ if(W.use_tool(src, user, 60, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE - d_state = COVER - update_appearance() + decon_change(COVER) to_chat(user, span_notice("The metal cover has been welded securely to the frame.")) return TRUE @@ -126,8 +124,7 @@ if(W.use_tool(src, user, 40, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return TRUE - d_state = SUPPORT_RODS - update_appearance() + decon_change(SUPPORT_RODS) to_chat(user, span_notice("You remove the bolts anchoring the support rods.")) return TRUE @@ -136,8 +133,7 @@ if(W.use_tool(src, user, 20, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return TRUE - d_state = CUT_COVER - update_appearance() + decon_change(CUT_COVER) to_chat(user, span_notice("The metal cover has been pried back into place.")) return TRUE @@ -149,8 +145,7 @@ if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return TRUE - d_state = SHEATH - update_appearance() + decon_change(SHEATH) to_chat(user, span_notice("You slice through the support rods.")) return TRUE @@ -160,8 +155,7 @@ if(W.use_tool(src, user, 40)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return TRUE - d_state = ANCHOR_BOLTS - update_appearance() + decon_change(ANCHOR_BOLTS) to_chat(user, span_notice("You tighten the bolts anchoring the support rods.")) return TRUE @@ -182,32 +176,24 @@ if(W.use_tool(src, user, 100, volume=100)) if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE - d_state = SUPPORT_RODS - update_appearance() + decon_change(SUPPORT_RODS) to_chat(user, span_notice("You weld the support rods back together.")) return TRUE return FALSE -/turf/closed/wall/r_wall/update_icon(updates=ALL) - . = ..() - if(d_state != INTACT) - smoothing_flags = NONE +/turf/closed/wall/r_wall/proc/decon_change(new_state) + if (d_state == new_state) return - if (!(updates & UPDATE_SMOOTHING)) - return - smoothing_flags = SMOOTH_BITMASK - QUEUE_SMOOTH_NEIGHBORS(src) - QUEUE_SMOOTH(src) - -// We don't react to smoothing changing here because this else exists only to "revert" intact changes -/turf/closed/wall/r_wall/update_icon_state() - if(d_state != INTACT) - icon = 'icons/turf/walls/reinforced_states.dmi' - icon_state = "[base_decon_state]-[d_state]" + if(color) + RemoveElement(/datum/element/split_visibility, icon, color) else - icon = 'icons/turf/walls/reinforced_wall.dmi' - icon_state = "[base_icon_state]-[smoothing_junction]" - return ..() + RemoveElement(/datum/element/split_visibility, icon) + d_state = new_state + icon = (d_state != INTACT ? decon_icons[d_state] : initial(icon)) + if(color) + AddElement(/datum/element/split_visibility, icon, color) + else + AddElement(/datum/element/split_visibility, icon) /turf/closed/wall/r_wall/wall_singularity_pull(current_size) if(current_size >= STAGE_FIVE) @@ -220,7 +206,7 @@ /turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(the_rcd.canRturf || rcd_data["[RCD_DESIGN_MODE]"] == RCD_WALLFRAME) + if(the_rcd.canRturf || rcd_data[RCD_DESIGN_MODE] == RCD_WALLFRAME) return ..() /turf/closed/wall/r_wall/rust_turf() @@ -229,31 +215,28 @@ return return ..() + /turf/closed/wall/r_wall/syndicate name = "hull" desc = "The armored hull of an ominous looking ship." icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-0" - base_icon_state = "plastitanium_wall" explosive_resistance = 20 sheet_type = /obj/item/stack/sheet/mineral/plastitanium hardness = 25 //plastitanium turf_flags = IS_SOLID smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - 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 + smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_SYNDICATE_WALLS + canSmoothWith = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_SYNDICATE_WALLS rust_resistance = RUST_RESISTANCE_TITANIUM + /turf/closed/wall/r_wall/syndicate/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) return FALSE /turf/closed/wall/r_wall/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/wall/r_wall/syndicate/overspace - icon_state = "map-overspace" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS fixed_underlay = list("space" = TRUE) diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index ed31138bb19f8..27b320a1a0cf2 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -1,11 +1,8 @@ -#define LEANING_OFFSET 11 - /turf/closed/wall name = "wall" desc = "A huge chunk of iron used to separate rooms." - icon = 'icons/turf/walls/wall.dmi' - icon_state = "wall-0" - base_icon_state = "wall" + icon = 'icons/turf/walls/metal_wall.dmi' + icon_state = "0-2" explosive_resistance = 1 rust_resistance = RUST_RESISTANCE_BASIC @@ -17,7 +14,7 @@ flags_ricochet = RICOCHET_HARD smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_WALLS rcd_memory = RCD_MEMORY_WALL @@ -31,67 +28,11 @@ var/girder_type = /obj/structure/girder /// A turf that will replace this turf when this turf is destroyed var/decon_type + /// If we added a leaning component to ourselves + var/added_leaning = FALSE var/list/dent_decals -/turf/closed/wall/mouse_drop_receive(atom/dropping, mob/user, params) - if(dropping != user) - return - if(!iscarbon(dropping) && !iscyborg(dropping)) - return - var/mob/living/leaner = dropping - if(leaner.incapacitated(IGNORE_RESTRAINTS) || leaner.stat != CONSCIOUS || HAS_TRAIT(leaner, TRAIT_NO_TRANSFORM)) - return - if(!leaner.density || leaner.pulledby || leaner.buckled || !(leaner.mobility_flags & MOBILITY_STAND)) - return - if(HAS_TRAIT_FROM(leaner, TRAIT_UNDENSE, LEANING_TRAIT)) - return - var/turf/checked_turf = get_step(leaner, REVERSE_DIR(leaner.dir)) - if(checked_turf != src) - return - leaner.start_leaning(src) - -/mob/living/proc/start_leaning(turf/closed/wall/wall) - var/new_y = base_pixel_y + pixel_y - var/new_x = base_pixel_x + pixel_x - switch(dir) - if(SOUTH) - new_y += LEANING_OFFSET - if(NORTH) - new_y -= LEANING_OFFSET - if(WEST) - new_x += LEANING_OFFSET - if(EAST) - new_x -= LEANING_OFFSET - - animate(src, 0.2 SECONDS, pixel_x = new_x, pixel_y = new_y) - add_traits(list(TRAIT_UNDENSE, TRAIT_EXPANDED_FOV), LEANING_TRAIT) - visible_message( - span_notice("[src] leans against [wall]."), - span_notice("You lean against [wall]."), - ) - RegisterSignals(src, list( - COMSIG_MOB_CLIENT_PRE_MOVE, - COMSIG_LIVING_DISARM_HIT, - COMSIG_LIVING_GET_PULLED, - COMSIG_MOVABLE_TELEPORTING, - COMSIG_ATOM_DIR_CHANGE, - ), PROC_REF(stop_leaning)) - update_fov() - -/mob/living/proc/stop_leaning() - SIGNAL_HANDLER - UnregisterSignal(src, list( - COMSIG_MOB_CLIENT_PRE_MOVE, - COMSIG_LIVING_DISARM_HIT, - COMSIG_LIVING_GET_PULLED, - COMSIG_MOVABLE_TELEPORTING, - COMSIG_ATOM_DIR_CHANGE, - )) - animate(src, 0.2 SECONDS, pixel_x = base_pixel_x, pixel_y = base_pixel_y) - remove_traits(list(TRAIT_UNDENSE, TRAIT_EXPANDED_FOV), LEANING_TRAIT) - update_fov() - /turf/closed/wall/Initialize(mapload) . = ..() if(!can_engrave) @@ -108,6 +49,15 @@ fixed_underlay = string_assoc_list(fixed_underlay) underlays += underlay_appearance +/turf/closed/wall/mouse_drop_receive(atom/dropping, mob/user, params) + . = ..() + if (added_leaning) + return + /// For performance reasons and to cut down on init times we are "lazy-loading" the leaning component when someone drags their sprite onto us, and then calling dragging code again to trigger the component + AddComponent(/datum/component/leanable, 11) + added_leaning = TRUE + dropping.base_mouse_drop_handler(src, null, null, params) + /turf/closed/wall/atom_destruction(damage_flag) . = ..() dismantle_wall(TRUE, FALSE) @@ -157,6 +107,9 @@ if(girder_type) new /obj/item/stack/sheet/iron(src) +/turf/attacked_by(obj/item/attacking_item, mob/living/user) + return + /turf/closed/wall/ex_act(severity, target) if(target == src) dismantle_wall(1,1) @@ -252,7 +205,7 @@ //the istype cascade has been spread among various procs for easy overriding if(try_clean(W, user) || try_wallmount(W, user) || try_decon(W, user)) - return + return TRUE return ..() @@ -302,6 +255,9 @@ return FALSE +/turf/closed/wall/proc/try_damage(obj/item/attacking_item, mob/user, turf/user_turf) + return //by default walls dont work like this + /turf/closed/wall/singularity_pull(S, current_size) ..() wall_singularity_pull(current_size) @@ -335,9 +291,9 @@ return FALSE /turf/closed/wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_WALLFRAME) - var/obj/item/wallframe/wallmount = rcd_data["[RCD_DESIGN_PATH]"] + var/obj/item/wallframe/wallmount = rcd_data[RCD_DESIGN_PATH] var/obj/item/wallframe/new_wallmount = new wallmount(user.drop_location()) return try_wallmount(new_wallmount, user, src) if(RCD_DECONSTRUCT) @@ -384,5 +340,3 @@ /turf/closed/wall/Exited(atom/movable/gone, direction) . = ..() SEND_SIGNAL(gone, COMSIG_LIVING_WALL_EXITED, src) - -#undef LEANING_OFFSET diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 147e123c8af28..6b92681825a1e 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -225,13 +225,20 @@ /turf/open/indestructible/hierophant icon = 'icons/turf/floors/hierophant_floor.dmi' + icon_state = "hierophant_floor-255" + base_icon_state = "hierophant_floor" planetary_atmos = TRUE initial_gas_mix = LAVALAND_DEFAULT_ATMOS baseturfs = /turf/open/indestructible/hierophant - smoothing_flags = SMOOTH_CORNERS + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_HIEROPHANT + canSmoothWith = SMOOTH_GROUP_HIEROPHANT tiled_dirt = FALSE /turf/open/indestructible/hierophant/two + icon = 'icons/turf/floors/hierophant_floor_alt.dmi' + icon_state = "hierophant_floor_alt-255" + base_icon_state = "hierophant_floor_alt" /turf/open/indestructible/hierophant/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE diff --git a/code/game/turfs/open/asteroid.dm b/code/game/turfs/open/asteroid.dm index cf28cdc3a4631..d0234b826a219 100644 --- a/code/game/turfs/open/asteroid.dm +++ b/code/game/turfs/open/asteroid.dm @@ -151,7 +151,7 @@ GLOBAL_LIST_EMPTY(dug_up_basalt) /turf/open/misc/asteroid/basalt/refill_dug() . = ..() GLOB.dug_up_basalt -= src - set_basalt_light(src) + set_basalt_light() /turf/open/misc/asteroid/basalt/lava //lava underneath baseturfs = /turf/open/lava/smooth @@ -162,14 +162,14 @@ GLOBAL_LIST_EMPTY(dug_up_basalt) /turf/open/misc/asteroid/basalt/Initialize(mapload) . = ..() - set_basalt_light(src) + set_basalt_light() -/proc/set_basalt_light(turf/open/floor/B) - switch(B.icon_state) +/turf/open/misc/asteroid/basalt/proc/set_basalt_light() + switch(icon_state) if("basalt1", "basalt2", "basalt3") - B.set_light(2, 0.6, LIGHT_COLOR_LAVA) //more light + set_light(BASALT_LIGHT_RANGE_BRIGHT, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) //more light if("basalt5", "basalt9") - B.set_light(1.4, 0.6, LIGHT_COLOR_LAVA) //barely anything! + set_light(BASALT_LIGHT_RANGE_DIM, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) //barely anything! ///////Surface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground. diff --git a/code/game/turfs/open/basalt.dm b/code/game/turfs/open/basalt.dm index e52a6053a6efe..e1a423d3c47f6 100644 --- a/code/game/turfs/open/basalt.dm +++ b/code/game/turfs/open/basalt.dm @@ -11,7 +11,11 @@ AddElement(/datum/element/diggable, /obj/item/stack/ore/glass/basalt, 2) if(prob(15)) icon_state = "basalt[rand(0, 12)]" - set_basalt_light(src) + switch(icon_state) + if("basalt1", "basalt2", "basalt3") + set_light(BASALT_LIGHT_RANGE_BRIGHT, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) + if("basalt5", "basalt9") + set_light(BASALT_LIGHT_RANGE_DIM, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) /turf/open/misc/basalt/safe planetary_atmos = FALSE diff --git a/code/game/turfs/open/chasm.dm b/code/game/turfs/open/chasm.dm index 504e876d536ce..1fad08dc4ece2 100644 --- a/code/game/turfs/open/chasm.dm +++ b/code/game/turfs/open/chasm.dm @@ -42,7 +42,7 @@ return FALSE /turf/open/chasm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF && rcd_data["[RCD_DESIGN_PATH]"] == /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF && rcd_data[RCD_DESIGN_PATH] == /turf/open/floor/plating/rcd) place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/open/cliff.dm b/code/game/turfs/open/cliff.dm index 1417e527e643d..1496cb16ec1d0 100644 --- a/code/game/turfs/open/cliff.dm +++ b/code/game/turfs/open/cliff.dm @@ -82,7 +82,7 @@ // We can walk infront of the bottom cliff turf, so check that here if(!iscliffturf(get_step(src, fall_direction)) && !(get_dir(arrived, src) & fall_direction)) return FALSE - + // gravity // marked in UNLINT due to a spacemandmm bug: https://github.com/SpaceManiac/SpacemanDMM/issues/382 (REMOVE ONCE FIXED!) if(UNLINT(!arrived.has_gravity(src))) @@ -125,15 +125,7 @@ smoothing_groups = SMOOTH_GROUP_TURF_OPEN_CLIFF canSmoothWith = SMOOTH_GROUP_TURF_OPEN_CLIFF layer = EDGED_TURF_LAYER - plane = WALL_PLANE - - // This is static - // Done like this to avoid needing to make it dynamic and save cpu time - // 4 to the left, 4 down - transform = MAP_SWITCH(TRANSLATE_MATRIX(-4, -4), matrix()) - - undertile_pixel_x = 4 - undertile_pixel_y = 4 + plane = GAME_PLANE initial_gas_mix = ICEMOON_DEFAULT_ATMOS planetary_atmos = TRUE diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 84b9ac26e9b8d..1ecf54f7963b4 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -264,9 +264,10 @@ /// if you are updating this make to to update /turf/open/misc/rcd_act() too /turf/open/floor/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - switch(rcd_data["[RCD_DESIGN_MODE]"]) + var/selected_direction = rcd_data[RCD_BUILD_DIRECTION] || user.dir + switch(rcd_data[RCD_DESIGN_MODE]) if(RCD_TURF) - if(rcd_data["[RCD_DESIGN_PATH]"] != /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_PATH] != /turf/open/floor/plating/rcd) return FALSE var/obj/structure/girder/girder = locate() in src @@ -277,30 +278,28 @@ return TRUE if(RCD_WINDOWGRILLE) //check if we are building a window - var/obj/structure/window/window_path = rcd_data["[RCD_DESIGN_PATH]"] + var/obj/structure/window/window_path = rcd_data[RCD_DESIGN_PATH] if(!ispath(window_path)) CRASH("Invalid window path type in RCD: [window_path]") //allow directional windows to be built without grills if(!initial(window_path.fulltile)) - if(!valid_build_direction(src, user.dir, is_fulltile = FALSE)) + if(!valid_build_direction(src, selected_direction, is_fulltile = FALSE)) balloon_alert(user, "window already here!") return FALSE - var/obj/structure/window/WD = new window_path(src, user.dir) + var/obj/structure/window/WD = new window_path(src, selected_direction) WD.set_anchored(TRUE) return TRUE - //build grills to deal with full tile windows - if(locate(/obj/structure/grille) in src) + if(locate(/obj/structure/window_frame) in src) return FALSE - var/obj/structure/grille/new_grille = new(src) - new_grille.set_anchored(TRUE) + new /obj/structure/window_frame(src) return TRUE if(RCD_AIRLOCK) - var/obj/machinery/door/airlock_type = rcd_data["[RCD_DESIGN_PATH]"] + var/obj/machinery/door/airlock_type = rcd_data[RCD_DESIGN_PATH] if(ispath(airlock_type, /obj/machinery/door/window)) - if(!valid_build_direction(src, user.dir, is_fulltile = FALSE)) + if(!valid_build_direction(src, selected_direction, is_fulltile = FALSE)) balloon_alert(user, "there's already a windoor!") return FALSE for(var/obj/machinery/door/door in src) @@ -309,7 +308,7 @@ balloon_alert(user, "there's already a door!") return FALSE //create the assembly and let it finish itself - var/obj/structure/windoor_assembly/assembly = new (src, user.dir) + var/obj/structure/windoor_assembly/assembly = new (src, selected_direction) assembly.secure = ispath(airlock_type, /obj/machinery/door/window/brigdoor) assembly.electronics = the_rcd.airlock_electronics.create_copy(assembly) assembly.finish_door() @@ -328,10 +327,12 @@ else assembly.airlock_type = airlock_type assembly.electronics = the_rcd.airlock_electronics.create_copy(assembly) - assembly.finish_door() + var/atom/new_door = assembly.finish_door() + new_door?.setDir(selected_direction) return TRUE + if(RCD_STRUCTURE) - var/atom/movable/design_type = rcd_data["[RCD_DESIGN_PATH]"] + var/atom/movable/design_type = rcd_data[RCD_DESIGN_PATH] //map absolute types to basic subtypes var/atom/movable/locate_type = design_type @@ -352,7 +353,7 @@ /obj/structure/bed, ) if(is_path_in_list(locate_type, dir_types)) - design.setDir(user.dir) + design.setDir(selected_direction) return TRUE if(RCD_DECONSTRUCT) if(rcd_proof) diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index e672b7f7294fa..bc87c25201b54 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -242,7 +242,11 @@ AddElement(/datum/element/diggable, /obj/item/stack/ore/glass/basalt, 2, worm_chance = 0) if(prob(15)) icon_state = "basalt[rand(0, 12)]" - set_basalt_light(src) + switch(icon_state) + if("basalt1", "basalt2", "basalt3") + set_light(BASALT_LIGHT_RANGE_BRIGHT, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) + if("basalt5", "basalt9") + set_light(BASALT_LIGHT_RANGE_DIM, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) /turf/open/floor/carpet name = "carpet" @@ -487,8 +491,8 @@ /turf/open/floor/carpet/neon/Initialize(mapload) . = ..() - AddElement(/datum/element/decal, neon_icon || icon, neon_icon_state || base_icon_state, dir, null, null, alpha, neon_color, smoothing_junction) - AddElement(/datum/element/decal, neon_icon || icon, neon_icon_state || base_icon_state, dir, EMISSIVE_PLANE, null, emissive_alpha, GLOB.emissive_color, smoothing_junction) + AddElement(/datum/element/decal, neon_icon || icon, neon_icon_state || base_icon_state, dir, null, null, alpha, neon_color, null, null, smoothing_junction) + AddElement(/datum/element/decal, neon_icon || icon, neon_icon_state || base_icon_state, dir, EMISSIVE_PLANE, null, emissive_alpha, GLOB.emissive_color, null, null, smoothing_junction) /turf/open/floor/carpet/neon/simple name = "simple neon carpet" diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm index e8be1331378ab..a8cf2a6f37d07 100644 --- a/code/game/turfs/open/floor/mineral_floor.dm +++ b/code/game/turfs/open/floor/mineral_floor.dm @@ -97,6 +97,10 @@ /turf/open/floor/mineral/titanium/blue/airless initial_gas_mix = AIRLESS_ATMOS +/turf/open/floor/mineral/titanium/blue/lavaland_atmos + initial_gas_mix = LAVALAND_DEFAULT_ATMOS + planetary_atmos = TRUE + /turf/open/floor/mineral/titanium/white icon_state = "titanium_white" floor_tile = /obj/item/stack/tile/mineral/titanium/white diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index 7c4428c4823ec..8f8d5fbf1b08e 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -17,12 +17,17 @@ /turf/open/floor/circuit/Initialize(mapload) SSmapping.nuke_tiles += src RegisterSignal(loc, COMSIG_AREA_POWER_CHANGE, PROC_REF(handle_powerchange)) - handle_powerchange(loc) + var/area/cur_area = get_area(src) + if (!isnull(cur_area)) + handle_powerchange(cur_area, TRUE) . = ..() /turf/open/floor/circuit/Destroy() SSmapping.nuke_tiles -= src UnregisterSignal(loc, COMSIG_AREA_POWER_CHANGE) + var/area/cur_area = get_area(src) + if(on && !isnull(cur_area)) + cur_area.removeStaticPower(CIRCUIT_FLOOR_POWERUSE, AREA_USAGE_STATIC_LIGHT) return ..() /turf/open/floor/circuit/update_appearance(updates) @@ -47,7 +52,7 @@ handle_powerchange(new_area) /// Enables/disables our lighting based off our source area -/turf/open/floor/circuit/proc/handle_powerchange(area/source) +/turf/open/floor/circuit/proc/handle_powerchange(area/source, mapload = FALSE) SIGNAL_HANDLER var/old_on = on if(always_off) @@ -59,7 +64,7 @@ if(on) source.addStaticPower(CIRCUIT_FLOOR_POWERUSE, AREA_USAGE_STATIC_LIGHT) - else + else if (!mapload) source.removeStaticPower(CIRCUIT_FLOOR_POWERUSE, AREA_USAGE_STATIC_LIGHT) update_appearance() @@ -253,6 +258,14 @@ AddElement(/datum/element/rust) color = null +/turf/open/floor/plating/heretic_rust + color = COLOR_GREEN_GRAY + +/turf/open/floor/plating/heretic_rust/Initialize(mapload) + . = ..() + AddElement(/datum/element/rust/heretic) + color = null + /turf/open/floor/plating/plasma initial_gas_mix = ATMOS_TANK_PLASMA diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index 6e4834773c325..6139440db0c34 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -166,7 +166,7 @@ return list("delay" = 0, "cost" = 1) /turf/open/floor/plating/foam/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF && rcd_data["[RCD_DESIGN_PATH]"] == /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF && rcd_data[RCD_DESIGN_PATH] == /turf/open/floor/plating/rcd) ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/open/ice.dm b/code/game/turfs/open/ice.dm index 481dcb6b84732..dbfff2efc8f91 100644 --- a/code/game/turfs/open/ice.dm +++ b/code/game/turfs/open/ice.dm @@ -15,10 +15,21 @@ clawfootstep = FOOTSTEP_HARD_CLAW heavyfootstep = FOOTSTEP_GENERIC_HEAVY rust_resistance = RUST_RESISTANCE_ORGANIC + var/can_make_hole = TRUE + var/static/list/tool_screentips = list( + TOOL_SHOVEL = list( + SCREENTIP_CONTEXT_LMB = "Dig fishing hole", + ), + TOOL_MINING = list( + SCREENTIP_CONTEXT_LMB = "Dig fishing hole", + ), + ) /turf/open/misc/ice/Initialize(mapload) . = ..() MakeSlippery(TURF_WET_PERMAFROST, INFINITY, 0, INFINITY, TRUE, FALSE) + if(can_make_hole) + AddElement(/datum/element/contextual_screentip_tools, tool_screentips) /turf/open/misc/ice/break_tile() return @@ -26,6 +37,28 @@ /turf/open/misc/ice/burn_tile() return +/turf/open/misc/ice/examine(mob/user) + . = ..() + if(can_make_hole) + . += span_info("You could use a [EXAMINE_HINT("shovel")] or a [EXAMINE_HINT("pick")] to dig a fishing hole here.") + +/turf/open/misc/ice/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!can_make_hole) + return NONE + if(tool.tool_behaviour != TOOL_SHOVEL && tool.tool_behaviour != TOOL_MINING) + return NONE + balloon_alert(user, "digging...") + playsound(src, 'sound/effects/shovel_dig.ogg', 50, TRUE) + if(!do_after(user, 5 SECONDS, src)) + return NONE + balloon_alert(user, "dug hole") + AddComponent(/datum/component/fishing_spot, GLOB.preset_fish_sources[/datum/fish_source/ice_fishing]) + add_overlay(mutable_appearance('icons/turf/overlays.dmi', "ice_hole")) + can_make_hole = FALSE + RemoveElement(/datum/element/contextual_screentip_tools, tool_screentips) + flags_1 &= ~HAS_CONTEXTUAL_SCREENTIPS_1 + return ITEM_INTERACT_SUCCESS + /turf/open/misc/ice/smooth icon_state = "ice_turf-255" base_icon_state = "ice_turf" @@ -40,11 +73,13 @@ /turf/open/misc/ice/icemoon/no_planet_atmos planetary_atmos = FALSE + can_make_hole = FALSE /turf/open/misc/ice/temperate baseturfs = /turf/open/misc/ice/temperate desc = "Somehow, it is not melting under these conditions. Must be some very thick ice. Just as slippery too." initial_gas_mix = COLD_ATMOS //it works with /turf/open/misc/asteroid/snow/temperatre + can_make_hole = FALSE //For when you want real, genuine ice in your kitchen's cold room. /turf/open/misc/ice/coldroom diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index 23e2b6b38db84..0cc6978cc5242 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -165,7 +165,7 @@ return FALSE /turf/open/lava/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF && rcd_data["[RCD_DESIGN_PATH]"] == /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF && rcd_data[RCD_DESIGN_PATH] == /turf/open/floor/plating/rcd) place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/open/misc.dm b/code/game/turfs/open/misc.dm index 02de7489786f9..da045c1b6f2f7 100644 --- a/code/game/turfs/open/misc.dm +++ b/code/game/turfs/open/misc.dm @@ -84,8 +84,8 @@ return FALSE /turf/open/misc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF) - if(rcd_data["[RCD_DESIGN_PATH]"] != /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF) + if(rcd_data[RCD_DESIGN_PATH] != /turf/open/floor/plating/rcd) return FALSE place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) diff --git a/code/game/turfs/open/openspace.dm b/code/game/turfs/open/openspace.dm index 1af42be3071cd..70748fb9d8557 100644 --- a/code/game/turfs/open/openspace.dm +++ b/code/game/turfs/open/openspace.dm @@ -145,7 +145,7 @@ return FALSE /turf/open/openspace/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF && rcd_data["[RCD_DESIGN_PATH]"] == /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_MODE] == RCD_TURF && rcd_data[RCD_DESIGN_PATH] == /turf/open/floor/plating/rcd) place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE diff --git a/code/game/turfs/open/planet.dm b/code/game/turfs/open/planet.dm index 893942fc49c52..e0fe7e842b941 100644 --- a/code/game/turfs/open/planet.dm +++ b/code/game/turfs/open/planet.dm @@ -78,6 +78,9 @@ /turf/open/misc/grass/jungle/lavaland initial_gas_mix = LAVALAND_DEFAULT_ATMOS +/turf/open/misc/grass/jungle/station + baseturfs = /turf/open/misc/dirt/station + /turf/closed/mineral/random/jungle baseturfs = /turf/open/misc/dirt/dark/jungle diff --git a/code/game/turfs/open/sand.dm b/code/game/turfs/open/sand.dm index c863e28231d35..fb10d297e18ef 100644 --- a/code/game/turfs/open/sand.dm +++ b/code/game/turfs/open/sand.dm @@ -10,6 +10,10 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY rust_resistance = RUST_RESISTANCE_ORGANIC +/turf/open/misc/beach/Initialize(mapload) + . = ..() + AddElement(/datum/element/lazy_fishing_spot, /datum/fish_source/sand) + /turf/open/misc/beach/ex_act(severity, target) return FALSE diff --git a/code/game/turfs/open/space/space.dm b/code/game/turfs/open/space/space.dm index 28f7cfde8aceb..9da22b6337b8a 100644 --- a/code/game/turfs/open/space/space.dm +++ b/code/game/turfs/open/space/space.dm @@ -229,10 +229,10 @@ GLOBAL_LIST_EMPTY(starlight) /turf/open/space/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) if(the_rcd.mode == RCD_TURF) - if(rcd_data["[RCD_DESIGN_PATH]"] == /turf/open/floor/plating/rcd) + if(rcd_data[RCD_DESIGN_PATH] == /turf/open/floor/plating/rcd) place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE - else if(rcd_data["[RCD_DESIGN_PATH]"] == /obj/structure/lattice/catwalk) + else if(rcd_data[RCD_DESIGN_PATH] == /obj/structure/lattice/catwalk) var/obj/structure/lattice/lattice = locate(/obj/structure/lattice, src) if(lattice) qdel(lattice) diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm index 5dcfa85961d20..20c6215209a13 100644 --- a/code/game/turfs/open/water.dm +++ b/code/game/turfs/open/water.dm @@ -21,7 +21,7 @@ var/immerse_overlay_color = "#5AAA88" /// Fishing element for this specific water tile - var/datum/fish_source/fishing_datum = /datum/fish_source/portal + var/datum/fish_source/fishing_datum = /datum/fish_source/river /turf/open/water/Initialize(mapload) . = ..() @@ -42,3 +42,7 @@ baseturfs = /turf/open/water/beach immerse_overlay_color = "#7799AA" fishing_datum = /datum/fish_source/ocean/beach + +/turf/open/water/lavaland_atmos + initial_gas_mix = LAVALAND_DEFAULT_ATMOS + planetary_atmos = TRUE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 10165f869174f..f95008d793c7e 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -3,6 +3,7 @@ GLOBAL_LIST_EMPTY(station_turfs) /// Any floor or wall. What makes up the station and the rest of the map. /turf icon = 'icons/turf/floors.dmi' + datum_flags = DF_STATIC_OBJECT vis_flags = VIS_INHERIT_ID // Important for interaction with and visualization of openspace. luminosity = 1 light_height = LIGHTING_HEIGHT_FLOOR @@ -52,6 +53,8 @@ GLOBAL_LIST_EMPTY(station_turfs) var/tiled_dirt = FALSE // use smooth tiled dirt decal + /// The prefix to use (from lighting_object.dmi) as our lighting underlay + var/lighting_state = "lighting" ///Icon-smoothing variable to map a diagonal wall corner with a fixed underlay. var/list/fixed_underlay = null @@ -769,6 +772,12 @@ GLOBAL_LIST_EMPTY(station_turfs) inherent_explosive_resistance = explosion_block explosive_resistance += get_explosive_block() +/turf/proc/set_lighting_state(new_state) + lighting_state = new_state + if (lighting_object && !lighting_object.needs_update) + lighting_object.needs_update = TRUE + SSlighting.objects_queue += lighting_object + /// Returns whether it is safe for an atom to move across this turf /turf/proc/can_cross_safely(atom/movable/crossing) return TRUE diff --git a/code/game/world.dm b/code/game/world.dm index 9e57dbba343c5..72082c735d71c 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -1,11 +1,13 @@ #define RESTART_COUNTER_PATH "data/round_counter.txt" - +/// Load byond-tracy. If USE_BYOND_TRACY is defined, then this is ignored and byond-tracy is always loaded. +#define USE_TRACY_PARAMETER "tracy" /// Force the log directory to be something specific in the data/logs folder #define OVERRIDE_LOG_DIRECTORY_PARAMETER "log-directory" /// Prevent the master controller from starting automatically #define NO_INIT_PARAMETER "no-init" GLOBAL_VAR(restart_counter) +GLOBAL_VAR(tracy_log) /** * WORLD INITIALIZATION @@ -67,10 +69,12 @@ GLOBAL_VAR(restart_counter) #ifdef USE_BYOND_TRACY #warn USE_BYOND_TRACY is enabled if(!tracy_initialized) - init_byond_tracy() +#else + if(!tracy_initialized && (USE_TRACY_PARAMETER in params)) +#endif + GLOB.tracy_log = init_byond_tracy() Genesis(tracy_initialized = TRUE) return -#endif Profile(PROFILE_RESTART) Profile(PROFILE_RESTART, type = "sendmaps") @@ -217,6 +221,9 @@ GLOBAL_VAR(restart_counter) logger.init_logging() + if(GLOB.tracy_log) + rustg_file_write("[GLOB.tracy_log]", "[GLOB.log_directory]/tracy.loc") + var/latest_changelog = file("[global.config.directory]/../html/changelogs/archive/" + time2text(world.timeofday, "YYYY-MM") + ".yml") GLOB.changelog_hash = fexists(latest_changelog) ? md5(latest_changelog) : 0 //for telling if the changelog has changed recently @@ -339,7 +346,6 @@ GLOBAL_VAR(restart_counter) #endif /world/proc/auxcleanup() - AUXTOOLS_FULL_SHUTDOWN(AUXLUA) var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (debug_server) call_ext(debug_server, "auxtools_shutdown")() @@ -472,6 +478,7 @@ GLOBAL_VAR(restart_counter) /world/proc/on_tickrate_change() SStimer?.reset_buckets() + DREAMLUAU_SET_EXECUTION_LIMIT_MILLIS(tick_lag * 100) /world/proc/init_byond_tracy() var/library @@ -485,7 +492,9 @@ GLOBAL_VAR(restart_counter) CRASH("Unsupported platform: [system_type]") var/init_result = call_ext(library, "init")("block") - if (init_result != "0") + if(length(init_result) != 0 && init_result[1] == ".") // if first character is ., then it returned the output filename + return init_result + else if(init_result != "0") CRASH("Error initializing byond-tracy: [init_result]") /world/proc/init_debugger() @@ -500,4 +509,5 @@ GLOBAL_VAR(restart_counter) #undef NO_INIT_PARAMETER #undef OVERRIDE_LOG_DIRECTORY_PARAMETER +#undef USE_TRACY_PARAMETER #undef RESTART_COUNTER_PATH diff --git a/code/modules/NTNet/relays.dm b/code/modules/NTNet/relays.dm index a2db78a175b4d..f36a89e72e1ff 100644 --- a/code/modules/NTNet/relays.dm +++ b/code/modules/NTNet/relays.dm @@ -113,7 +113,7 @@ data["dos_crashed"] = dos_failure return data -/obj/machinery/ntnet_relay/ui_act(action, params) +/obj/machinery/ntnet_relay/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index fa1b832ecc31a..52c9c65e5b917 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -1,6 +1,6 @@ //Blocks an attempt to connect before even creating our client datum thing. -//How many new ckey matches before we revert the stickyban to it's roundstart state +//How many new ckey matches before we revert the stickyban to its roundstart state //These are exclusive, so once it goes over one of these numbers, it reverts the ban #define STICKYBAN_MAX_MATCHES 15 #define STICKYBAN_MAX_EXISTING_USER_MATCHES 3 //ie, users who were connected before the ban triggered diff --git a/code/modules/admin/admin_fax_panel.dm b/code/modules/admin/admin_fax_panel.dm index 8874b6f38eb5a..cc88f1949f2e1 100644 --- a/code/modules/admin/admin_fax_panel.dm +++ b/code/modules/admin/admin_fax_panel.dm @@ -20,6 +20,8 @@ ADMIN_VERB(fax_panel, R_ADMIN, "Fax Panel", "View and respond to faxes sent to C /datum/fax_panel_interface/New() //Get all faxes, and save them to our list. for(var/obj/machinery/fax/fax as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax)) + if(istype(fax, /obj/machinery/fax/admin)) + continue available_faxes += WEAKREF(fax) //Get all stamps diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 0f7d7a3f39b30..68096367ef80b 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -484,12 +484,14 @@ ADMIN_VERB(populate_world, R_DEBUG, "Populate World", "Populate the world with t testing("Spawned test mob at [get_area_name(tile, TRUE)] ([tile.x],[tile.y],[tile.z])") ADMIN_VERB(toggle_ai_interact, R_ADMIN, "Toggle Admin AI Interact", "Allows you to interact with most machines as an AI would as a ghost.", ADMIN_CATEGORY_GAME) - user.AI_Interact = !user.AI_Interact - if(user.mob && isAdminGhostAI(user.mob)) - user.mob.has_unlimited_silicon_privilege = user.AI_Interact + var/doesnt_have_silicon_access = !HAS_TRAIT_FROM(user, TRAIT_AI_ACCESS, ADMIN_TRAIT) + if(doesnt_have_silicon_access) + ADD_TRAIT(user, TRAIT_AI_ACCESS, ADMIN_TRAIT) + else + REMOVE_TRAIT(user, TRAIT_AI_ACCESS, ADMIN_TRAIT) - log_admin("[key_name(user)] has [user.AI_Interact ? "activated" : "deactivated"] Admin AI Interact") - message_admins("[key_name_admin(user)] has [user.AI_Interact ? "activated" : "deactivated"] their AI interaction") + log_admin("[key_name(user)] has [doesnt_have_silicon_access ? "activated" : "deactivated"] Admin AI Interact") + message_admins("[key_name_admin(user)] has [doesnt_have_silicon_access ? "activated" : "deactivated"] their AI interaction") ADMIN_VERB(debug_statpanel, R_DEBUG, "Debug Stat Panel", "Toggles local debug of the stat panel", ADMIN_CATEGORY_DEBUG) user.stat_panel.send_message("create_debug") diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index 877bebffe9509..ca7b45649d159 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -80,6 +80,8 @@ GLOBAL_VAR(antag_prototypes) result += "No body!" if(current && HAS_TRAIT(current, TRAIT_MINDSHIELD)) result += "Mindshielded" + if(current && HAS_MIND_TRAIT(current, TRAIT_UNCONVERTABLE)) + result += "Unconvertable" //Move these to mob if(iscyborg(current)) var/mob/living/silicon/robot/robot = current diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index 7a56d63da2309..f619bd8aaba87 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -64,7 +64,7 @@ return UI_INTERACTIVE return ..() -/obj/effect/fun_balloon/sentience/ui_act(action, list/params) +/obj/effect/fun_balloon/sentience/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/greyscale_modify_menu.dm b/code/modules/admin/greyscale_modify_menu.dm index f96ecb7c590b6..0bc1ec01f5d4f 100644 --- a/code/modules/admin/greyscale_modify_menu.dm +++ b/code/modules/admin/greyscale_modify_menu.dm @@ -120,7 +120,7 @@ data["sprites"] = sprite_data return data -/datum/greyscale_modify_menu/ui_act(action, params) +/datum/greyscale_modify_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/outfit_manager.dm b/code/modules/admin/outfit_manager.dm index f3ef7d2685c22..c5f14db8ae3e8 100644 --- a/code/modules/admin/outfit_manager.dm +++ b/code/modules/admin/outfit_manager.dm @@ -7,9 +7,6 @@ ADMIN_VERB(outfit_manager, R_DEBUG|R_ADMIN, "Outfit Manager", "View and edit out /datum/outfit_manager/ui_state(mob/user) return GLOB.admin_state -/datum/outfit_manager/ui_close(mob/user) - qdel(src) - /datum/outfit_manager/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) diff --git a/code/modules/admin/skill_panel.dm b/code/modules/admin/skill_panel.dm index ec80768276dce..b1ba4d10910a0 100644 --- a/code/modules/admin/skill_panel.dm +++ b/code/modules/admin/skill_panel.dm @@ -35,7 +35,7 @@ var/exp_percent = exp / SKILL_EXP_LIST[SKILL_LEVEL_LEGENDARY] .["skills"] += list(list("playername" = targetmind.current, "path" = type, "name" = S.name, "desc" = S.desc, "lvlnum" = lvl_num, "lvl" = lvl_name, "exp" = exp, "exp_prog" = xp_req_to_level - xp_prog_to_level, "exp_req" = xp_req_to_level, "exp_percent" = exp_percent, "max_exp" = SKILL_EXP_LIST[length(SKILL_EXP_LIST)])) -/datum/skill_panel/ui_act(action, params) +/datum/skill_panel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/smites/supply_pod_quick.dm b/code/modules/admin/smites/supply_pod_quick.dm index 6012e84ccac43..f222857860e39 100644 --- a/code/modules/admin/smites/supply_pod_quick.dm +++ b/code/modules/admin/smites/supply_pod_quick.dm @@ -37,7 +37,7 @@ podspawn(list( "target" = get_turf(target), "path" = /obj/structure/closet/supplypod/centcompod, - "style" = STYLE_CENTCOM, + "style" = /datum/pod_style/centcom, "spawn" = target_path, "damage" = SUPPLY_POD_QUICK_DAMAGE, "explosionSize" = list(0, 0, 0, SUPPLY_POD_QUICK_FIRE_RANGE), diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index 9a713588abd6d..74955324dffd4 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -396,6 +396,7 @@ ROLE_SYNDICATE, ROLE_TRAITOR, ROLE_WIZARD, + ROLE_VOIDWALKER, ), ) for(var/department in long_job_lists) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 13f5b3544b2a0..6a2666eef9bed 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1722,6 +1722,17 @@ if(!paper_to_show) return paper_to_show.ui_interact(usr) + + else if (href_list["print_fax"]) + if(!check_rights(R_ADMIN)) + return + + for(var/obj/machinery/fax/admin/FAX as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax/admin)) + if(FAX.fax_id != href_list["destination"]) + continue + FAX.receive(locate(href_list["print_fax"]), href_list["sender_name"]) + + else if(href_list["play_internet"]) if(!check_rights(R_SOUND)) return diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm index bc74347475ae9..1305e5a660d6e 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm @@ -51,6 +51,9 @@ /proc/_get_step(Ref, Dir) return get_step(Ref, Dir) +/proc/_hascall(object, procname) + return hascall(object, procname) + /proc/_hearers(Depth = world.view, Center = usr) return hearers(Depth, Center) diff --git a/code/modules/admin/verbs/admin_newscaster.dm b/code/modules/admin/verbs/admin_newscaster.dm index 0439cfa8811ac..4cb7b5c3344e2 100644 --- a/code/modules/admin/verbs/admin_newscaster.dm +++ b/code/modules/admin/verbs/admin_newscaster.dm @@ -134,7 +134,7 @@ ADMIN_VERB(access_news_network, R_ADMIN, "Access Newscaster Network", "Allows yo data["wanted"] = wanted_info return data -/datum/newspanel/ui_act(action, params) +/datum/newspanel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/verbs/adminevents.dm b/code/modules/admin/verbs/adminevents.dm index 4bf32dedb41c1..214cf653d4e1f 100644 --- a/code/modules/admin/verbs/adminevents.dm +++ b/code/modules/admin/verbs/adminevents.dm @@ -218,9 +218,15 @@ ADMIN_VERB(hostile_environment, R_ADMIN, "Hostile Environment", "Disable the shu SSshuttle.hostile_environments.Cut() SSshuttle.checkHostileEnvironment() -ADMIN_VERB(toggle_nuke, R_DEBUG|R_ADMIN, "Toggle Nuke", "Arm or disarm a nuke.", ADMIN_CATEGORY_EVENTS, obj/machinery/nuclearbomb/nuke in world) +ADMIN_VERB(toggle_nuke, R_DEBUG|R_ADMIN, "Toggle Nuke", "Arm or disarm a nuke.", ADMIN_CATEGORY_EVENTS) + var/list/nukes = list() + for (var/obj/machinery/nuclearbomb/bomb in world) + nukes += bomb + var/obj/machinery/nuclearbomb/nuke = tgui_input_list(user, "", "Toggle Nuke", nukes) + if (isnull(nuke)) + return if(!nuke.timing) - var/newtime = input(user, "Set activation timer.", "Activate Nuke", "[nuke.timer_set]") as num|null + var/newtime = tgui_input_number(user, "Set activation timer.", "Activate Nuke", nuke.timer_set) if(!newtime) return nuke.timer_set = newtime diff --git a/code/modules/admin/verbs/adminfun.dm b/code/modules/admin/verbs/adminfun.dm index 8bc7a611b35d4..c7acd1cba4624 100644 --- a/code/modules/admin/verbs/adminfun.dm +++ b/code/modules/admin/verbs/adminfun.dm @@ -154,7 +154,7 @@ ADMIN_VERB(polymorph_all, R_ADMIN, "Polymorph All", "Applies the effects of the message_admins("Mass polymorph started by [who_did_it] is complete.") ADMIN_VERB_AND_CONTEXT_MENU(admin_smite, R_ADMIN|R_FUN, "Smite", "Smite a player with divine power.", ADMIN_CATEGORY_FUN, mob/living/target in world) - var/punishment = input(user, "Choose a punishment", "DIVINE SMITING") as null|anything in GLOB.smites + var/punishment = tgui_input_list(user, "Choose a punishment", "DIVINE SMITING", GLOB.smites) if(QDELETED(target) || !punishment) return diff --git a/code/modules/admin/verbs/admingame.dm b/code/modules/admin/verbs/admingame.dm index 0e1e6809daae0..57311446961ed 100644 --- a/code/modules/admin/verbs/admingame.dm +++ b/code/modules/admin/verbs/admingame.dm @@ -361,7 +361,7 @@ ADMIN_VERB(combo_hud, R_ADMIN, "Toggle Combo HUD", "Toggles the Admin Combo HUD. combo_hud_enabled = TRUE - for (var/hudtype in list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED)) + for (var/hudtype in list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC, DATA_HUD_BOT_PATH)) var/datum/atom_hud/atom_hud = GLOB.huds[hudtype] atom_hud.show_to(mob) @@ -377,7 +377,7 @@ ADMIN_VERB(combo_hud, R_ADMIN, "Toggle Combo HUD", "Toggles the Admin Combo HUD. combo_hud_enabled = FALSE - for (var/hudtype in list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED)) + for (var/hudtype in list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC, DATA_HUD_BOT_PATH)) var/datum/atom_hud/atom_hud = GLOB.huds[hudtype] atom_hud.hide_from(mob) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 0e8053c7ab06e..8540ff99e5733 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -246,7 +246,7 @@ ADMIN_VERB(cmd_admin_pm_panel, R_NONE, "Admin PM", "Show a list of clients to PM request = "[request] an Administrator." else request = "[request] [recipient_print_key]." - //get message text, limit it's length.and clean/escape html + //get message text, limit its length.and clean/escape html msg = input(src,"Message:", request) as message|null msg = trim(msg) diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm index ffeb1cce2731c..97f690f2a5aad 100644 --- a/code/modules/admin/verbs/borgpanel.dm +++ b/code/modules/admin/verbs/borgpanel.dm @@ -64,7 +64,7 @@ ADMIN_VERB(borg_panel, R_ADMIN, "Show Borg Panel", ADMIN_VERB_NO_DESCRIPTION, AD .["ais"] += list(list("name" = ai.name, "ref" = REF(ai), "connected" = (borg.connected_ai == ai))) -/datum/borgpanel/ui_act(action, params) +/datum/borgpanel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -153,15 +153,15 @@ ADMIN_VERB(borg_panel, R_ADMIN, "Show Borg Panel", ADMIN_VERB_NO_DESCRIPTION, AD if (!borg.radio.keyslot) // There's no encryption key. This shouldn't happen but we can cope borg.radio.channels -= channel if (channel == RADIO_CHANNEL_SYNDICATE) - borg.radio.syndie = FALSE + borg.radio.special_channels &= ~RADIO_SPECIAL_SYNDIE else if (channel == "CentCom") - borg.radio.independent = FALSE + borg.radio.special_channels &= ~RADIO_SPECIAL_CENTCOM else borg.radio.keyslot.channels -= channel if (channel == RADIO_CHANNEL_SYNDICATE) - borg.radio.keyslot.syndie = FALSE + borg.radio.keyslot.special_channels &= ~RADIO_SPECIAL_SYNDIE else if (channel == "CentCom") - borg.radio.keyslot.independent = FALSE + borg.radio.keyslot.special_channels &= ~RADIO_SPECIAL_CENTCOM message_admins("[key_name_admin(user)] removed the [channel] radio channel from [ADMIN_LOOKUPFLW(borg)].") log_silicon("[key_name(user)] removed the [channel] radio channel from [key_name(borg)].") else // We're adding a channel @@ -169,9 +169,9 @@ ADMIN_VERB(borg_panel, R_ADMIN, "Show Borg Panel", ADMIN_VERB_NO_DESCRIPTION, AD borg.radio.keyslot = new() borg.radio.keyslot.channels[channel] = 1 if (channel == RADIO_CHANNEL_SYNDICATE) - borg.radio.keyslot.syndie = TRUE + borg.radio.keyslot.special_channels |= RADIO_SPECIAL_SYNDIE else if (channel == "CentCom") - borg.radio.keyslot.independent = TRUE + borg.radio.keyslot.special_channels |= RADIO_SPECIAL_CENTCOM message_admins("[key_name_admin(user)] added the [channel] radio channel to [ADMIN_LOOKUPFLW(borg)].") log_silicon("[key_name(user)] added the [channel] radio channel to [key_name(borg)].") borg.radio.recalculateChannels() diff --git a/code/modules/admin/verbs/ert.dm b/code/modules/admin/verbs/ert.dm index 2d1ba075a4795..441a5d0dd56fe 100644 --- a/code/modules/admin/verbs/ert.dm +++ b/code/modules/admin/verbs/ert.dm @@ -90,6 +90,7 @@ "random_names" = list("desc" = "Randomize names", "type" = "boolean", "value" = "[(ertemplate.random_names ? "Yes" : "No")]"), "spawn_admin" = list("desc" = "Spawn yourself as briefing officer", "type" = "boolean", "value" = "[(ertemplate.spawn_admin ? "Yes" : "No")]"), "use_custom_shuttle" = list("desc" = "Use the ERT's custom shuttle (if it has one)", "type" = "boolean", "value" = "[(ertemplate.use_custom_shuttle ? "Yes" : "No")]"), + "mob_type" = list("desc" = "Base Species", "callback" = CALLBACK(src, PROC_REF(makeERTTemplateModified)), "type" = "datum", "path" = "/mob/living/carbon/human", "subtypesonly" = TRUE, "value" = ertemplate.mob_type), ) ) @@ -117,6 +118,7 @@ ertemplate.random_names = prefs["random_names"]["value"] == "Yes" ertemplate.spawn_admin = prefs["spawn_admin"]["value"] == "Yes" ertemplate.use_custom_shuttle = prefs["use_custom_shuttle"]["value"] == "Yes" + ertemplate.mob_type = prefs["mob_type"]["value"] var/list/spawnpoints = GLOB.emergencyresponseteamspawn var/index = 0 @@ -222,11 +224,15 @@ continue //Spawn the body - var/mob/living/carbon/human/ert_operative = new ertemplate.mobtype(spawnloc) - chosen_candidate.client.prefs.safe_transfer_prefs_to(ert_operative, is_antag = TRUE) + var/mob/living/carbon/human/ert_operative + if(ertemplate.mob_type) + ert_operative = new ertemplate.mob_type(spawnloc) + else + ert_operative = new /mob/living/carbon/human(spawnloc) + chosen_candidate.client.prefs.safe_transfer_prefs_to(ert_operative, is_antag = TRUE) ert_operative.key = chosen_candidate.key - if(ertemplate.enforce_human || !(ert_operative.dna.species.changesource_flags & ERT_SPAWN)) // Don't want any exploding plasmemes + if(ertemplate.enforce_human || !(ert_operative.dna.species.changesource_flags & ERT_SPAWN)) ert_operative.set_species(/datum/species/human) //Give antag datum diff --git a/code/modules/admin/verbs/ghost_pool_protection.dm b/code/modules/admin/verbs/ghost_pool_protection.dm index 439f4a37b897d..ed31d124a7de0 100644 --- a/code/modules/admin/verbs/ghost_pool_protection.dm +++ b/code/modules/admin/verbs/ghost_pool_protection.dm @@ -50,7 +50,7 @@ ADMIN_VERB(ghost_pool_protection, R_ADMIN, "Ghost Pool Protection", "Choose whic data["minigames"] = (new_role_flags & GHOSTROLE_MINIGAME) return data -/datum/ghost_pool_menu/ui_act(action, params) +/datum/ghost_pool_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/verbs/lua/README.md b/code/modules/admin/verbs/lua/README.md index 707184d4d772b..9b9bfbe05f93f 100644 --- a/code/modules/admin/verbs/lua/README.md +++ b/code/modules/admin/verbs/lua/README.md @@ -1,150 +1,225 @@ -# Auxlua +# Objects ---- +Datums, lists, typepaths, static appearances, and some other objects are represented in Luau as userdata. Certain operations can be performed on these types of objects. -## Datums +## Common metamethods -DM datums are treated as lua userdata, and can be stored in fields. Due to fundamental limitations in lua, userdata is inherently truthy. Since datum userdata can correspond to a deleted datum, which would evaluate to `null` in DM, the function [`datum:is_null()`](#datumisnull) is provided to offer a truthiness test consistent with DM. +The following metamethods are defined for all objects. -Keep in mind that BYOND can't see that a datum is referenced in a lua field, and will garbage collect it if it is not referenced anywhere in DM. +### \_\_tostring(): string -### datum:get_var(var) +Returns the string representation of the object. This uses BYOND's internal string conversion function. -Equivalent to DM's `datum.var` +### \_\_eq(other: any): boolean -### datum:set_var(var, value) +Compare the equality of two objects. While passing the same object into luau twice will return two references to the same userdata, some DM projects may override the equality operator using an `__operator==` proc definition. -Equivalent to DM's `datum.var = value` +## Datum-like Objects -### datum:call_proc(procName, ...) +Datum-like objects include datums themselves, clients (if they have not been redefined to be children of `/datum`), static appearances, and the world. -Equivalent to DM's `datum.procName(...)` +### \_\_index(index: string): any -### datum:is_null() +Access the member specified by `index`. -This function is used to evaluate the truthiness of a DM var. The lua statement `if datum:is_null() then` is equivalent to the DM statement `if(datum)`. +If `index` is a valid var for the object, the index operation will return that var's value. +If the var getting wrapper proc is set, the operation will instead call that proc with the arguments `(object, index)`. -### datum.vars +For objects other than static appearances, if `index` is a valid proc for the object, the operation will return a wrapper for that proc that can be invoked using call syntax (e.g. `object:proc(...arguments)`). If the object proc calling wrapper is set, calling the returned function will instead call the wrapper proc with the arguments `(object, proc, {...arguments})`. Note that vars will be shadowed by procs with the same name. To work around this, use the `dm.get_var` function. -Returns a userdatum that allows you to access and modifiy the vars of a DM datum by index. `datum.vars.foo` is equivalent to `datum:get_var("foo")`, while `datum.vars.foo = bar` is equivalent to `datum:set_var("foo", bar)` +### \_\_newindex(index: string, value: any): () ---- +Set the var specified by `index` to `value`, if that var exists on the object. + +If the var setting wrapper proc is set, the operation will instead call that proc with the arguments `(object, index, value)`. ## Lists -In order to allow lists to be modified in-place across the DM-to-lua language barrier, lists are treated as userdata. Whenever running code that expects a DM value, auxlua will attempt to convert tables into lists. +Lists are syntactically similar to tables, with one crucial difference. +Unlike tables, numeric indices must be non-zero integers within the bounds of the list. + +### \_\_index(index: any): any + +Read the list at `index`. This works both for numeric indices and assoc keys. +Vars lists cannot be directly read this way if the var getting wrapper proc is set. + +### \_\_newindex(index: any, value: any): any + +Write `value` to the list at `index`. This works both for writing numeric indices and assoc keys. +Vars lists cannot be directly written this way if the var setting wrapper proc is set. + +### \_\_len(): integer + +Returns the length of the list, similarly to the `length` builtin in DM. + +### Iteration + +Lists support Luau's generalized iteration. Iteration this way returns pairs of numeric indices and list values. +For example, the statement `for _, v in L do` is logically equivalent to the DM statement `for(var/v in L)`. + +# Global Fields and Modules + +In addition to the full extent of Luau's standard library modules, some extra functions and modules have been added. + +## Global-Level Fields + +### sleep(): () + +Yields the active thread, without worrying about passing data into or out of the state. + +Threads yielded this way are placed at the end of a queue. Call the `awaken` hook function from DM to execute the thread at the front of the queue. + +### loadstring(code: string): function + +Luau does not inherently include the `loadstring` function common to a number of other versions of lua. This is an effective reimplementation of `loadstring`. + +### print(...any): () + +Calls the print wrapper with the passed in arguments. +Raises an error if no print wrapper is set, as that means there is nothing to print with. + +### \_state_id: integer + +The handle to the underlying luau state in the dreamluau binary. + +## \_exec + +The `_exec` module includes volatile fields related to the current execution context. + +### \_next_yield_index: integer + +When yielding a thread with `coroutine.yield`, it will be inserted into an internal table at the first open integer index. +This field corresponds to that first open integer index. + +### \_limit: integer? + +If set, the execution limit, rounded to the nearest millisecond. + +### \_time: integer + +The length of successive time luau code has been executed, including recursive calls to DM and back into luau, rounded to the nearest millisecond. + +## dm -List references are subject to the same limitations as datum userdata, but you are less likely to encounter these limitations for regular lists. +The `dm` module includes fields and functions for basic interaction with DM. -Some lists (`vars`, `contents`, `overlays`, `underlays`, `vis_contents`, and `vis_locs`) are inherently attached to datums, and as such, their corresponding userdata contains a weak reference to the containing datum. Use [`list:is_null`](#listisnull) to validate these types of lists. +### world: userdata -### list.len +A static reference to the DM `world`. -Equivalent to DM's `list.len` +### global_vars: userdata -### list:get(index) +A static reference that functions like the DM keyword `global`. This can be indexed to read/write global vars. -Equivalent to DM's `list[index]` +### global_procs: table -### list:set(index, value) +A table that can be indexed by string for functions that wrap global procs. -Equivalent to DM's `list[index] = value` +Due to BYOND limitations, attempting to index an invalid proc returns a function logically equivalent to a no-op. -### list:add(value) +### get_var(object: userdata, var: string): function -Equivalent to DM's `list.Add(value)` +Reads the var `var` on `object`. This function can be used to get vars that are shadowed by procs declared with the same name. -### list:remove(value) +### new(path: string, ...any): userdata -Equivalent to DM's `list.Remove(value)` +Creates an instance of the object specified by `path`, with `...` as its arguments. +If the "new" wrapper is set, that proc will be called instead, with the arguments `(path, {...})`. -### list:to_table() +### is_valid_ref(ref: any): boolean -Converts a DM list into a lua table. +Returns true if the value passed in corresponds to a valid reference-counted DM object. -### list:of_type(type_path) +### usr: userdata? -Will extract only values of type `type_path`. +Corresponds to the DM var `usr`. -### list:is_null() +## list -A similar truthiness test to [`datum:is_null()`](#datumisnull). This function only has the possibility of returning `false` for lists that are inherently attached to a datum (`vars`, `contents`, `overlays`, `underlays`, `vis_contents`, and `vis_locs`). +The `list` module contains wrappers for the builtin list procs, along with several other utility functions for working with lists. -### list.entries +### add(list: userdata, ...any): () -Returns a userdatum that allows you to access and modifiy the entries of the list by index. `list.entries.foo` is equivalent to `list:get("foo")`, while `list.entries.foo = bar` is equivalent to `list:set("foo", bar)` +Logically equivalent to the DM statement `list.Add(...)`. ---- +### copy(list: userdata, start?: integer, end?: integer): userdata -## The dm table +Logically equivalent to the DM statement `list.Copy(start, end)`. -The `dm` table consists of the basic hooks into the DM language. +### cut(list: userdata, start?: integer, end?: integer): userdata -### dm.state_id +Logically equivalent to the DM statement `list.Cut(start, end)`. -The address of the lua state in memory. This is a copy of the internal value used by auxlua to locate the lua state in a global hash map. `state_id` is a registry value that is indirectly obtained using the `dm` table's `__index` metamethod. +### find(list: userdata, item: any, start?: integer, end?: integer): integer -### dm.global_proc(proc, ...) -Calls the global proc `/proc/[proc]` with `...` as its arguments. +Logically equivalent to the DM statement `list.Find(item, start, end)`. -### dm.world -A reference to DM's `world`, in the form of datum userdata. This reference is always valid, since `world` always exists. +### insert(list: userdata, index: integer, ...any): integer -Due to limitations inherent in the wrapper functions used on tgstation, `world:set_var` and `world:call_proc` will raise an error. +Logically equivalent to the DM statement `list.Insert(item, ...)`. -### dm.global_vars -A reference to DM's `global`, in the form of datum userdata. Subject to the same limitations as `dm.world` +### join(list: userdata, glue: string, start?: integer, end?: integer): string -### dm.usr -A weak reference to DM's `usr`. As a rule of thumb, this is a reference to the mob of the client who triggered the chain of procs leading to the execution of Lua code. The following is a list of what `usr` is for the most common ways of executing Lua code: -- For resumes and awakens, which are generally executed by the MC, `usr` is (most likely) null. -- `SS13.wait` queues a resume, which gets executed by the MC. Therefore, `usr` is null after `SS13.wait` finishes. -- For chunk loads, `usr` is generally the current mob of the admin that loaded that chunk. -- For function calls done from the Lua editor, `usr` is the current mob of the admin calling the function. -- `SS13.register_signal` creates a `/datum/callback` that gets executed by the `SEND_SIGNAL` macro for the corresponding signal. As such, `usr` is the mob that triggered the chain of procs leading to the invocation of `SEND_SIGNAL`. +Logically equivalent to the statement `list.Join(glue, start, end)`. ---- +### remove(list: userdata, ...any): integer -## Execution Limit +Logically equivalent to the DM statement `list.Remove(...)`. -In order to prevent freezing the server with infinite loops, auxlua enforces an execution limit, defaulting to 100ms. When a single lua state has been executing for longer than this limit, it will eventually stop and produce an error. +### remove_all(list: userdata, ...any): integer -To avoid exceeding the execution limit, call `sleep()` or `coroutine.yield()` before the execution limit is reached. +Logically equivalent to the DM statement `list.RemoveAll(...)`. -### over_exec_usage(fraction = 0.95) +### splice(list: userdata, start?: integer, end?: integer, ...any): () -This function returns whether the current run of the Lua VM has executed for longer than the specified fraction of the execution limit. You can use this function to branch to a call to `sleep()` or `coroutine.yield()` to maximize the amount of work done in a single run of the Lua VM. If nil, `fraction` will default to 0.95, otherwise, it will be clamped to the range \[0, 1\]. +Logically equivalent to the DM statement `list.Splice(start, end, ...)`. ---- +### swap(list: userdata, index_1: integer, index_2: integer): () -## Task management -The Lua Scripting subsystem manages the execution of tasks for each Lua state. A single fire of the subsystem behaves as follows: -- All tasks that slept since the last fire are resumed in the order they slept. -- For each queued resume, the corresponding task is resumed. +Logically equivalent to the DM statement `list.Swap(index_1, index_2)`. -### sleep() -Yields the current thread, scheduling it to be resumed during the next fire of SSlua. Use this function to prevent your Lua code from exceeding its allowed execution duration. Under the hood, `sleep` performs the following: +### to_table(list: userdata, deep?: boolean): table -- Sets the [`sleep_flag`](#sleep_flag) -- Calls `coroutine.yield()` -- Clears the sleep flag when determining whether the task slept or yielded -- Ignores the return values of `coroutine.yield()` once resumed +Creates a table that is a copy of `list`. If `deep` is true, `to_table` will be called on any lists inside that list. ---- +### from_table(table: table): userdata -## The SS13 package +Creates a list that is a copy of `table`. This is not strictly necessary, as tables are automatically converted to lists when passed back into DM, using the same internal logic as `from_table`. + +### filter(list: userdata, path: string): userdata + +Returns a copy of `list`, containing only elements that are objects descended from `path`. + +## pointer + +The `pointer` module contains utility functions for interacting with pointers. +Keep in mind that passing DM pointers into luau and manipulating them in this way can bypass wrapper procs. + +### read(pointer: userdata): any + +Gets the underlying data the pointer references. + +### write(pointer: userdata, value: any): () + +Writes `value` to the underlying data the pointer references. + +### unwrap(possible_pointer: any): any + +If `possible_pointer` is a pointer, reads it. Otherwise, it is returned as-is. + +# The SS13 package The `SS13` package contains various helper functions that use code specific to tgstation. -### SS13.state +## SS13.state A reference to the state datum (`/datum/lua_state`) handling this Lua state. -### SS13.get_runner_ckey() +## SS13.get_runner_ckey() The ckey of the user who ran the lua script in the current context. Can be unreliable if accessed after sleeping. -### SS13.get_runner_client() +## SS13.get_runner_client() Returns the client of the user who ran the lua script in the current context. Can be unreliable if accessed after sleeping. -### SS13.global_proc +## SS13.global_proc A wrapper for the magic string used to tell `WrapAdminProcCall` to call a global proc. For instance, `/datum/callback` must be instantiated with `SS13.global_proc` as its first argument to specify that it will be invoking a global proc. The following example declares a callback which will execute the global proc `to_chat`: @@ -152,25 +227,18 @@ The following example declares a callback which will execute the global proc `to local callback = SS13.new("/datum/callback", SS13.global_proc, "to_chat", dm.world, "Hello World") ``` -### SS13.istype(thing, type) +## SS13.istype(thing, type) Equivalent to the DM statement `istype(thing, text2path(type))`. -### SS13.new(type, ...) -Instantiates a datum of type `type` with `...` as the arguments passed to `/proc/_new` -The following example spawns a singularity at the caller's current turf: -```lua -SS13.new("/obj/singularity", dm.global_proc("_get_step", dm.usr, 0)) -``` - -### SS13.new_untracked(type, ...) -Works exactly like SS13.new but it does not store the value to the lua state's `references` list variable. This means that the variable could end up deleted if nothing holds a reference to it. +## SS13.new(type, ...) +An alias for `dm.new` -### SS13.is_valid(datum) +## SS13.is_valid(datum) Can be used to determine if the datum passed is not nil, not undefined and not qdel'd all in one. A helper function that allows you to check the validity from only one function. Example usage: ```lua local datum = SS13.new("/datum") -dm.global_proc("qdel", datum) +dm.global_procs.qdel(datum) print(SS13.is_valid(datum)) -- false local null = nil @@ -180,13 +248,13 @@ local datum = SS13.new("/datum") print(SS13.is_valid(datum)) -- true ``` -### SS13.type(string) -Converts a string into a type. Equivalent to doing `dm.global_proc("_text2path", "/path/to/type")` +## SS13.type(string) +Converts a string into a typepath. Equivalent to doing `dm.global_proc("_text2path", "/path/to/type")` -### SS13.qdel(datum) +## SS13.qdel(datum) Deletes a datum. You shouldn't try to reference it after calling this function. Equivalent to doing `dm.global_proc("qdel", datum)` -### SS13.await(thing_to_call, proc_to_call, ...) +## SS13.await(thing_to_call, proc_to_call, ...) Calls `proc_to_call` on `thing_to_call`, with `...` as its arguments, and sleeps until that proc returns. Returns two return values - the first is the return value of the proc, and the second is the message of any runtime exception thrown by the called proc. The following example calls and awaits the return of `poll_ghost_candidates`: @@ -194,59 +262,59 @@ The following example calls and awaits the return of `poll_ghost_candidates`: local ghosts, runtime = SS13.await(SS13.global_proc, "poll_ghost_candidates", "Would you like to be considered for something?") ``` -### SS13.wait(time, timer) +## SS13.wait(time, timer) Waits for a number of **seconds** specified with the `time` argument. You can optionally specify a timer subsystem using the `timer` argument. Internally, this function creates a timer that will resume the current task after `time` seconds, then yields the current task by calling `coroutine.yield` with no arguments and ignores the return values. If the task is prematurely resumed, the timer will be safely deleted. -### SS13.register_signal(datum, signal, func, make_easy_clear_function) +## SS13.register_signal(datum, signal, func) Registers the Lua function `func` as a handler for `signal` on `datum`. Like with signal handlers written in DM, Lua signal handlers should not sleep (either by calling `sleep` or `coroutine.yield`). -If `make_easy_clear_function` is truthy, a member function taking no arguments will be created in the `SS13` table to easily unregister the signal handler. - -This function returns the `/datum/callback` created to call `func` from DM. +This function returns whether the signal registration was successful. The following example defines a function which will register a signal that makes `target` make a honking sound any time it moves: ```lua function honk(target) SS13.register_signal(target, "movable_moved", function(source) - dm.global_proc("playsound", target, "sound/items/bikehorn.ogg", 100, true) + dm.global_procs.playsound(target, "sound/items/bikehorn.ogg", 100, true) end) end ``` -### SS13.unregister_signal(datum, signal, callback) -Unregister a signal previously registered using `SS13.register_signal`. `callback` should be a `datum/callback` previously returned by `SS13.register_signal`. If `callback` is not specified, **ALL** signal handlers registered on `datum` for `signal` will be unregistered. +NOTE: if `func` is an anonymous function declared inside the call to `SS13.register_signal`, it cannot be referenced in order to unregister that signal with `SS13.unregister_signal` -### SS13.set_timeout(time, func) +## SS13.unregister_signal(datum, signal, func) +Unregister a signal previously registered using `SS13.register_signal`. `func` must be a function for which a handler for the specified signal has already been registered. If `func` is `nil`, all handlers for that signal will be unregistered. + +## SS13.set_timeout(time, func) Creates a timer which will execute `func` after `time` **seconds**. `func` should not expect to be passed any arguments, as it will not be passed any. Unlike `SS13.wait`, `SS13.set_timeout` does not yield or sleep the current task, making it suitable for use in signal handlers for `SS13.register_signal` The following example will output a message to chat after 5 seconds: ```lua SS13.set_timeout(5, function() - dm.global_proc("to_chat", dm.world, "Hello World!") + dm.global_procs.to_chat(dm.world, "Hello World!") end) ``` -### SS13.start_loop(time, amount, func) +## SS13.start_loop(time, amount, func) Creates a timer which will execute `func` after `time` **seconds**. `func` should not expect to be passed any arguments, as it will not be passed any. Works exactly the same as `SS13.set_timeout` except it will loop the timer `amount` times. If `amount` is set to -1, it will loop indefinitely. Returns a number value, which represents the timer's id. Can be stopped with `SS13.end_loop` Returns a number, the timer id, which is needed to stop indefinite timers. The following example will output a message to chat every 5 seconds, repeating 10 times: ```lua SS13.start_loop(5, 10, function() - dm.global_proc("to_chat", dm.world, "Hello World!") + dm.global_procs.to_chat(dm.world, "Hello World!") end) ``` The following example will output a message to chat every 5 seconds, until `SS13.end_loop(timerid)` is called: ```lua local timerid = SS13.start_loop(5, -1, function() - dm.global_proc("to_chat", dm.world, "Hello World!") + dm.global_proc.to_chat(dm.world, "Hello World!") end) ``` -### SS13.end_loop(id) +## SS13.end_loop(id) Prematurely ends a loop that hasn't ended yet, created with `SS13.start_loop`. Silently fails if there is no started loop with the specified id. The following example will output a message to chat every 5 seconds and delete it after it has repeated 20 times: ```lua @@ -254,7 +322,7 @@ local repeated_amount = 0 -- timerid won't be in the looping function's scope if declared before the function is declared. local timerid timerid = SS13.start_loop(5, -1, function() - dm.global_proc("to_chat", dm.world, "Hello World!") + dm.global_procs.to_chat(dm.world, "Hello World!") repeated_amount += 1 if repeated_amount >= 20 then SS13.end_loop(timerid) @@ -262,35 +330,6 @@ timerid = SS13.start_loop(5, -1, function() end) ``` -### SS13.stop_all_loops() +## SS13.stop_all_loops() Stops all current running loops that haven't ended yet. Useful in case you accidentally left a indefinite loop running without storing the id anywhere. - -### SS13.stop_tracking(datum) -Stops tracking a datum that was created via `SS13.new` so that it can be garbage collected and deleted without having to qdel. Should be used for things like callbacks and other such datums where the reference to the variable is no longer needed. - ---- - -## Internal globals - -Auxlua defines several registry values for each state. Note that there is no way to access registry values from lua code. - -### sleep_flag - -This flag is used to designate that a yielding task should be put in the sleep queue instead of the yield table. Once auxlua determines that a task should sleep, `sleep_flag` is cleared. - -### sleep_queue - -A sequence of threads, each corresponding to a task that has slept. When calling `/proc/__lua_awaken`, auxlua will dequeue the first thread from the sequence and resume it. - -### yield_table - -A table of threads, each corresponding to a coroutine that has yielded. When calling `/proc/__lua_resume`, auxlua will look for a thread at the index specified in the `index` argument, and resume it with the arguments specified in the `arguments` argument. - -### task_info - -A table of key-value-pairs, where the keys are threads, and the values are tables consisting of the following fields: - -- name: A string containing the name of the task -- status: A string, either "sleep" or "yield" -- index: The task's index in `sleep_queue` or `yield_table` diff --git a/code/modules/admin/verbs/lua/_hooks.dm b/code/modules/admin/verbs/lua/_hooks.dm deleted file mode 100644 index a092947e06ec9..0000000000000 --- a/code/modules/admin/verbs/lua/_hooks.dm +++ /dev/null @@ -1,239 +0,0 @@ -/datum - var/__auxtools_weakref_id //used by auxtools for weak references - -/** - * Sets a global proc to call in place of just outright setting a datum's var to a given value - * - * The proc will be called with the arguments (datum/datum_to_modify, var_name, value) - * - * required wrapper text the name of the proc to use as the wrapper - */ -/proc/__lua_set_set_var_wrapper(wrapper) - CRASH("auxlua not loaded") - -/** - * Sets a global proc to call in place of just outright calling a given proc on a datum - * - * The proc will be called with the arguments (datum/thing_to_call, proc_to_call, list/arguments) - * - * required wrapper text the name of the proc to use as the wrapper - */ -/proc/__lua_set_datum_proc_call_wrapper(wrapper) - CRASH("auxlua not loaded") - -/** - * Sets a global proc to call in place of just outright calling a given global proc - * - * The proc will be called with the arguments (proc_to_call, list/arguments) - * - * required wrapper text the name of the proc to use as the wrapper - */ -/proc/__lua_set_global_proc_call_wrapper(wrapper) - CRASH("auxlua not loaded") - -/** - * Sets a global proc as a wrapper for lua's print function - * - * The proc will be called with the arguments (state_id, list/arguments) - * - * required wrapper text the name of the proc to use as the wrapper - */ -/proc/__lua_set_print_wrapper(wrapper) - CRASH("auxlua not loaded") - -/** - * Sets the maximum amount of time a lua chunk or function can execute without sleeping or yielding. - * Chunks/functions that exceed this duration will produce an error. - * - * required limit number the execution limit, in milliseconds - */ -/proc/__lua_set_execution_limit(limit) - CRASH("auxlua not loaded") - -/** - * Creates a new lua state. - * - * return text a pointer to the created state. - */ -/proc/__lua_new_state() - CRASH("auxlua not loaded") - -/** - * Loads a chunk of lua source code and executes it - * - * required state text a pointer to the state - * in which to execute the code - * required script text the lua source code to execute - * optional name text a name to give to the chunk - * - * return list|text a list of lua return information - * or an error message if the state was corrupted - * - * Lua return information is formatted as followed: - * - ["status"]: How the chunk or function stopped code execution - * - "sleeping": The chunk or function called dm.sleep, - * placing it in the sleep queue. Items in the sleep - * queue can be resumed using /proc/__lua_awaken - * - "yielded": The chunk or function called coroutine.yield, - * placing it in the yield table. Items in the yield - * table can can be resumed by passing their index - * to /proc/__lua_resume - * - "finished": The chunk or function finished - * - "errored": The chunk or function produced an error - * - "bad return": The chunk or function yielded or finished, - * but its return value could not be converted to DM values - * - ["param"]: Depends on status. - * - "sleeping": null - * - "yielded" or "finished": The return/yield value(s) - * - "errored" or "bad return": The error message - * - ["yield_index"]: The index in the yield table where the - * chunk or function is located, for calls to __lua_resume - * - ["name"]: The name of the chunk or function, for logging - */ -/proc/__lua_load(state, script, name) - CRASH("auxlua not loaded") - -/** - * Calls a lua function - * - * required state text a pointer to the state - * in which to call the function - * required function text the name of the function to call - * optional arguments list arguments to pass to the function - * - * return list|text a list of lua return information - * or an error message if the state was corrupted - * - * Lua return information is formatted as followed: - * - ["status"]: How the chunk or function stopped code execution - * - "sleeping": The chunk or function called dm.sleep, - * placing it in the sleep queue. Items in the sleep - * queue can be resumed using /proc/__lua_awaken - * - "yielded": The chunk or function called coroutine.yield, - * placing it in the yield table. Items in the yield - * table can can be resumed by passing their index - * to /proc/__lua_resume - * - "finished": The chunk or function finished - * - "errored": The chunk or function produced an error - * - "bad return": The chunk or function yielded or finished, - * but its return value could not be converted to DM values - * - ["param"]: Depends on status. - * - "sleeping": null - * - "yielded" or "finished": The return/yield value(s) - * - "errored" or "bad return": The error message - * - ["yield_index"]: The index in the yield table where the - * chunk or function is located, for calls to __lua_resume - * - ["name"]: The name of the chunk or function, for logging - */ -/proc/__lua_call(state, function, arguments) - CRASH("auxlua not loaded") - -/** - * Dequeues the task at the front of the sleep queue and resumes it - * - * required state text a pointer to the state in which - * to resume a task - * - * return list|text|null a list of lua return information, - * an error message if the state is corrupted, - * or null if the sleep queue is empty - * - * Lua return information is formatted as followed: - * - ["status"]: How the chunk or function stopped code execution - * - "sleeping": The chunk or function called dm.sleep, - * placing it in the sleep queue. Items in the sleep - * queue can be resumed using /proc/__lua_awaken - * - "yielded": The chunk or function called coroutine.yield, - * placing it in the yield table. Items in the yield - * table can can be resumed by passing their index - * to /proc/__lua_resume - * - "finished": The chunk or function finished - * - "errored": The chunk or function produced an error - * - "bad return": The chunk or function yielded or finished, - * but its return value could not be converted to DM values - * - ["param"]: Depends on status. - * - "sleeping": null - * - "yielded" or "finished": The return/yield value(s) - * - "errored" or "bad return": The error message - * - ["yield_index"]: The index in the yield table where the - * chunk or function is located, for calls to __lua_resume - * - ["name"]: The name of the chunk or function, for logging - */ -/proc/__lua_awaken(state) - CRASH("auxlua not loaded") - -/** - * Removes the task at the specified index from the yield table - * and resumes it - * - * required state text a pointer to the state in which to - * resume a task - * required index number the index in the yield table of the - * task to resume - * optional arguments list the arguments to resume the task with - * - * return list|text|null a list of lua return information, - * an error message if the state is corrupted, - * or null if there is no task at the specified index - * - * Lua return information is formatted as followed: - * - ["status"]: How the chunk or function stopped code execution - * - "sleeping": The chunk or function called dm.sleep, - * placing it in the sleep queue. Items in the sleep - * queue can be resumed using /proc/__lua_awaken - * - "yielded": The chunk or function called coroutine.yield, - * placing it in the yield table. Items in the yield - * table can can be resumed by passing their index - * to /proc/__lua_resume - * - "finished": The chunk or function finished - * - "errored": The chunk or function produced an error - * - "bad return": The chunk or function yielded or finished, - * but its return value could not be converted to DM values - * - ["param"]: Depends on status. - * - "sleeping": null - * - "yielded" or "finished": The return/yield value(s) - * - "errored" or "bad return": The error message - * - ["yield_index"]: The index in the yield table where the - * chunk or function is located, for calls to __lua_resume - * - ["name"]: The name of the chunk or function, for logging - */ -/proc/__lua_resume(state, index, arguments) - CRASH("auxlua not loaded") - -/** - * Get the variables within a state's environment. - * Values not convertible to DM values are substituted - * for their types as text - * - * required state text a pointer to the state - * to get the variables from - * - * return list the variables of the state's environment - */ -/proc/__lua_get_globals(state) - CRASH("auxlua not loaded") - -/** - * Get a list of all tasks currently in progress within a state - * - * required state text a pointer to the state - * to get the tasks from - * - * return list a list of the state's tasks, formatted as follows: - * - name: The name of the task - * - status: Whether the task is sleeping or yielding - * - index: The index of the task in the sleep queue - * or yield table, whichever is applicable - */ -/proc/__lua_get_tasks(state) - CRASH("auxlua not loaded") - -/** - * Kills a task in progress - * - * required state text a pointer to the state - * in which to kill a task - * required info list the task info - */ -/proc/__lua_kill_task(state, info) - CRASH("auxlua not loaded") diff --git a/code/modules/admin/verbs/lua/_wrappers.dm b/code/modules/admin/verbs/lua/_wrappers.dm index 8e05453d29d5d..d516f064f847f 100644 --- a/code/modules/admin/verbs/lua/_wrappers.dm +++ b/code/modules/admin/verbs/lua/_wrappers.dm @@ -1,3 +1,12 @@ +/proc/wrap_lua_get_var(datum/thing, var_name) + SHOULD_NOT_SLEEP(TRUE) + if(thing == world) + return world.vars[var_name] + if(ref(thing) == "\[0xe000001\]") //This weird fucking thing is like global.vars, but it's not a list and vars is not a valid index for it and I really don't fucking know. + return global.vars[var_name] + if(thing.can_vv_get(var_name)) + return thing.vars[var_name] + /proc/wrap_lua_set_var(datum/thing_to_set, var_name, value) SHOULD_NOT_SLEEP(TRUE) thing_to_set.vv_edit_var(var_name, value) @@ -11,8 +20,6 @@ ret = WrapAdminProcCall(thing_to_call, proc_name, arguments) else ret = HandleUserlessProcCall("lua", thing_to_call, proc_name, arguments) - if(isdatum(ret)) - SSlua.gc_guard += ret return ret /proc/wrap_lua_global_proc_call(proc_name, list/arguments) @@ -24,8 +31,6 @@ ret = WrapAdminProcCall(GLOBAL_PROC, proc_name, arguments) else ret = HandleUserlessProcCall("lua", GLOBAL_PROC, proc_name, arguments) - if(isdatum(ret)) - SSlua.gc_guard += ret return ret /proc/wrap_lua_print(state_id, list/arguments) @@ -38,6 +43,6 @@ if(!target_state) return var/print_message = jointext(arguments, "\t") - var/result = list("status" = "print", "param" = print_message) + var/result = list("status" = "print", "message" = print_message) INVOKE_ASYNC(target_state, TYPE_PROC_REF(/datum/lua_state, log_result), result, TRUE) log_lua("[target_state]: [print_message]") diff --git a/code/modules/admin/verbs/lua/helpers.dm b/code/modules/admin/verbs/lua/helpers.dm index 66b7c835e9ab1..c3072f15e74cd 100644 --- a/code/modules/admin/verbs/lua/helpers.dm +++ b/code/modules/admin/verbs/lua/helpers.dm @@ -3,27 +3,27 @@ #define PROMISE_REJECTED 2 /** - * Auxtools hooks act as "set waitfor = 0" procs. This means that whenever - * a proc directly called from auxtools sleeps, the hook returns with whatever + * Byondapi hooks act as "set waitfor = 0" procs. This means that whenever + * a proc directly called from an external library sleeps, the hook returns with whatever * the called proc had as its return value at the moment it slept. This may not * be desired behavior, so this datum exists to wrap these procs. * * Some procs that don't sleep could take longer than the execution limit would * allow for. We can wrap these in a promise as well. */ -/datum/auxtools_promise +/datum/promise var/datum/callback/callback var/return_value var/runtime_message var/status = PROMISE_PENDING -/datum/auxtools_promise/New(...) +/datum/promise/New(...) + if(!usr) + usr = GLOB.lua_usr callback = CALLBACK(arglist(args)) - perform() + INVOKE_ASYNC(src, PROC_REF(perform)) -/datum/auxtools_promise/proc/perform() - set waitfor = 0 - sleep() //In case we have to call a super-expensive non-sleeping proc (like getFlatIcon) +/datum/promise/proc/perform() try return_value = callback.Invoke() status = PROMISE_RESOLVED diff --git a/code/modules/admin/verbs/lua/lua_editor.dm b/code/modules/admin/verbs/lua/lua_editor.dm index d4a4bc2ee50b7..93e8e50c1a6a4 100644 --- a/code/modules/admin/verbs/lua/lua_editor.dm +++ b/code/modules/admin/verbs/lua/lua_editor.dm @@ -16,6 +16,12 @@ /// If set, we will force the editor to look at this chunk var/force_view_chunk + /// If set, we will force the script input to be this + var/force_input + + /// If set, the latest code execution performed from the editor raised an error, and this is the message from that error + var/last_error + /datum/lua_editor/New(state, _quick_log_index) . = ..() if(state) @@ -37,37 +43,52 @@ /datum/lua_editor/ui_state(mob/user) return GLOB.debug_state -/datum/lua_editor/ui_static_data(mob/user) - var/list/data = list() - data["documentation"] = file2text('code/modules/admin/verbs/lua/README.md') - data["auxtools_enabled"] = CONFIG_GET(flag/auxtools_enabled) - data["ss_lua_init"] = SSlua.initialized - return data - /datum/lua_editor/ui_data(mob/user) var/list/data = list() - if(!CONFIG_GET(flag/auxtools_enabled) || !SSlua.initialized) + data["ss_lua_init"] = SSlua.initialized + if(!SSlua.initialized) return data data["noStateYet"] = !current_state data["showGlobalTable"] = show_global_table if(current_state) if(current_state.log) - data["stateLog"] = kvpify_list(refify_list(current_state.log.Copy((page*50)+1, min((page+1)*50+1, current_state.log.len+1)))) + var/list/logs = current_state.log.Copy((page*50)+1, min((page+1)*50+1, current_state.log.len+1)) + for(var/i in 1 to logs.len) + var/list/log = logs[i] + log = log.Copy() + if(log["return_values"]) + log["return_values"] = kvpify_list(prepare_lua_editor_list(deep_copy_without_cycles(log["return_values"]))) + logs[i] = log + data["stateLog"] = logs data["page"] = page data["pageCount"] = CEILING(current_state.log.len/50, 1) data["tasks"] = current_state.get_tasks() if(show_global_table) current_state.get_globals() - data["globals"] = kvpify_list(refify_list(current_state.globals)) - data["states"] = SSlua.states - data["callArguments"] = kvpify_list(refify_list(arguments)) + var/list/values = current_state.globals["values"] + values = deep_copy_without_cycles(values) + values = prepare_lua_editor_list(values) + values = kvpify_list(values) + var/list/variants = current_state.globals["variants"] + data["globals"] = list("values" = values, "variants" = variants) + if(last_error) + data["lastError"] = last_error + last_error = null + data["supressRuntimes"] = current_state.supress_runtimes + data["states"] = list() + for(var/datum/lua_state/state as anything in SSlua.states) + data["states"] += state.display_name + data["callArguments"] = kvpify_list(prepare_lua_editor_list(deep_copy_without_cycles(arguments))) if(force_modal) data["forceModal"] = force_modal force_modal = null if(force_view_chunk) data["forceViewChunk"] = force_view_chunk force_view_chunk = null + if(force_input) + data["force_input"] = force_input + force_input = null return data /datum/lua_editor/proc/traverse_list(list/path, list/root, traversal_depth_offset = 0) @@ -99,14 +120,24 @@ else return root -/datum/lua_editor/ui_act(action, list/params) +/datum/lua_editor/proc/run_code(code) + var/ckey = usr.ckey + current_state.ckey_last_runner = ckey + var/result = current_state.load_script(code) + var/index_with_result = current_state.log_result(result) + if(result["status"] == "error") + last_error = result["message"] + message_admins("[key_name(usr)] executed [length(code)] bytes of lua code. [ADMIN_LUAVIEW_CHUNK(current_state, index_with_result)]") + +/datum/lua_editor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return - if(!check_rights_for(usr.client, R_DEBUG)) + var/mob/user = ui.user + if(!check_rights_for(user.client, R_DEBUG)) return if(action == "runCodeFile") - params["code"] = file2text(input(usr, "Input File") as null|file) + params["code"] = file2text(input(user, "Input File") as null|file) if(isnull(params["code"])) return action = "runCode" @@ -116,6 +147,8 @@ if(!length(state_name)) return TRUE var/datum/lua_state/new_state = new(state_name) + if(QDELETED(new_state)) + return SSlua.states += new_state LAZYREMOVEASSOC(SSlua.editors, text_ref(current_state), src) current_state = new_state @@ -130,11 +163,14 @@ page = 0 return TRUE if("runCode") - var/code = params["code"] - current_state.ckey_last_runner = usr.ckey - var/result = current_state.load_script(code) - var/index_with_result = current_state.log_result(result) - message_admins("[key_name(usr)] executed [length(code)] bytes of lua code. [ADMIN_LUAVIEW_CHUNK(current_state, index_with_result)]") + run_code(params["code"]) + return TRUE + if("runFile") + var/code_file = input(user, "Select a script to run.", "Lua") as file|null + if(!code_file) + return TRUE + var/code = file2text(code_file) + run_code(code) return TRUE if("moveArgUp") var/list/path = params["path"] @@ -158,9 +194,9 @@ var/list/path = params["path"] var/list/target_list = traverse_list(path, arguments) if(target_list != arguments) - usr?.client?.mod_list_add(target_list, null, "a lua editor", "arguments") + user?.client?.mod_list_add(target_list, null, "a lua editor", "arguments") else - var/list/vv_val = usr?.client?.vv_get_value(restricted_classes = list(VV_RESTORE_DEFAULT)) + var/list/vv_val = user?.client?.vv_get_value(restricted_classes = list(VV_RESTORE_DEFAULT)) var/class = vv_val["class"] if(!class) return @@ -168,53 +204,58 @@ return TRUE if("callFunction") var/list/recursive_indices = params["indices"] - var/list/current_list = kvpify_list(current_state.globals) + var/list/current_list = kvpify_list(current_state.globals["values"]) + var/list/current_variants = current_state.globals["variants"] var/function = list() while(LAZYLEN(recursive_indices)) var/index = popleft(recursive_indices) var/list/element = current_list[index] var/key = element["key"] var/value = element["value"] - if(!(istext(key) || isnum(key))) - to_chat(usr, span_warning("invalid key \[[key]] for function call (expected text or num)")) + var/list/variant_pair = current_variants[index] + var/key_variant = variant_pair["key"] + if(key_variant == "function" || key_variant == "thread" || key_variant == "userdata" || key_variant == "error_as_value") + to_chat(user, span_warning("invalid table key \[[key]] for function call (expected text, num, path, list, or ref, got [key_variant])")) return function += key if(islist(value)) current_list = value + current_variants = variant_pair["value"] else - var/regex/function_regex = regex("^function: 0x\[0-9a-fA-F]+$") - if(function_regex.Find(value)) - break - to_chat(usr, span_warning("invalid path element \[[value]] for function call (expected list or text matching [function_regex])")) - return + if(variant_pair["value"] != "function") + to_chat(user, span_warning("invalid value \[[value]] for function call (expected list or function)")) + return var/result = current_state.call_function(arglist(list(function) + arguments)) current_state.log_result(result) + if(result["status"] == "error") + last_error = result["message"] arguments.Cut() - return TRUE + return if("resumeTask") var/task_index = params["index"] SSlua.queue_resume(current_state, task_index, arguments) arguments.Cut() return TRUE if("killTask") - var/task_info = params["info"] - SSlua.kill_task(current_state, task_info) + var/is_sleep = params["is_sleep"] + var/index = params["index"] + SSlua.kill_task(current_state, is_sleep, index) return TRUE if("vvReturnValue") var/log_entry_index = params["entryIndex"] var/list/log_entry = current_state.log[log_entry_index] - var/thing_to_debug = traverse_list(params["tableIndices"], log_entry["param"]) + var/thing_to_debug = traverse_list(params["indices"], log_entry["return_values"]) if(isweakref(thing_to_debug)) var/datum/weakref/ref = thing_to_debug thing_to_debug = ref.resolve() - INVOKE_ASYNC(usr.client, TYPE_PROC_REF(/client, debug_variables), thing_to_debug) + INVOKE_ASYNC(user.client, TYPE_PROC_REF(/client, debug_variables), thing_to_debug) return FALSE if("vvGlobal") - var/thing_to_debug = traverse_list(params["indices"], current_state.globals) + var/thing_to_debug = traverse_list(params["indices"], current_state.globals["values"]) if(isweakref(thing_to_debug)) var/datum/weakref/ref = thing_to_debug thing_to_debug = ref.resolve() - INVOKE_ASYNC(usr.client, TYPE_PROC_REF(/client, debug_variables), thing_to_debug) + INVOKE_ASYNC(user.client, TYPE_PROC_REF(/client, debug_variables), thing_to_debug) return FALSE if("clearArgs") arguments.Cut() @@ -222,12 +263,18 @@ if("toggleShowGlobalTable") show_global_table = !show_global_table return TRUE + if("toggleSupressRuntimes") + current_state.supress_runtimes = !current_state.supress_runtimes + return TRUE if("nextPage") page = min(page+1, CEILING(current_state.log.len/50, 1)-1) return TRUE if("previousPage") page = max(page-1, 0) return TRUE + if("nukeLog") + current_state.log.Cut() + return TRUE /datum/lua_editor/ui_close(mob/user) . = ..() diff --git a/code/modules/admin/verbs/lua/lua_state.dm b/code/modules/admin/verbs/lua/lua_state.dm index bf2bcbd5a9003..577b0e365c2d8 100644 --- a/code/modules/admin/verbs/lua/lua_state.dm +++ b/code/modules/admin/verbs/lua/lua_state.dm @@ -1,15 +1,15 @@ #define MAX_LOG_REPEAT_LOOKBACK 5 -GLOBAL_VAR_INIT(IsLuaCall, FALSE) -GLOBAL_PROTECT(IsLuaCall) - GLOBAL_DATUM(lua_usr, /mob) GLOBAL_PROTECT(lua_usr) +GLOBAL_LIST_EMPTY_TYPED(lua_state_stack, /datum/weakref) +GLOBAL_PROTECT(lua_state_stack) + /datum/lua_state - var/name + var/display_name - /// The internal ID of the lua state stored in auxlua's global map + /// The internal ID of the lua state stored in dreamluau's state list var/internal_id /// A log of every return, yield, and error for each chunk execution and function call @@ -18,15 +18,15 @@ GLOBAL_PROTECT(lua_usr) /// A list of all the variables in the state's environment var/list/globals = list() - /// A list in which to store datums and lists instantiated in lua, ensuring that they don't get garbage collected - var/list/references = list() - /// Ckey of the last user who ran a script on this lua state. var/ckey_last_runner = "" /// Whether the timer.lua script has been included into this lua context state. var/timer_enabled = FALSE + /// Whether to supress logging BYOND runtimes for this state. + var/supress_runtimes = FALSE + /// Callbacks that need to be ran on next tick var/list/functions_to_execute = list() @@ -39,55 +39,67 @@ GLOBAL_PROTECT(lua_usr) if(SSlua.initialized != TRUE) qdel(src) return - name = _name - internal_id = __lua_new_state() + display_name = _name + internal_id = DREAMLUAU_NEW_STATE() + if(!isnum(internal_id)) + stack_trace(internal_id) + qdel(src) /datum/lua_state/proc/check_if_slept(result) - if(result["status"] == "sleeping") + if(result["status"] == "sleep") SSlua.sleeps += src /datum/lua_state/proc/log_result(result, verbose = TRUE) if(!islist(result)) return - if(!verbose && result["status"] != "errored" && result["status"] != "bad return" \ - && !(result["name"] == "input" && (result["status"] == "finished" || length(result["param"])))) + var/status = result["status"] + if(!verbose && status != "error" && status != "panic" && status != "runtime" && !(result["name"] == "input" && (status == "finished" || length(result["return_values"])))) + return + if(status == "runtime" && supress_runtimes) return var/append_to_log = TRUE var/index_of_log if(log.len) for(var/index in log.len to max(log.len - MAX_LOG_REPEAT_LOOKBACK, 1) step -1) var/list/entry = log[index] - if(entry["status"] == result["status"] \ - && entry["chunk"] == result["chunk"] \ - && entry["name"] == result["name"] \ - && ((entry["param"] == result["param"]) || deep_compare_list(entry["param"], result["param"]))) - if(!entry["repeats"]) - entry["repeats"] = 0 - index_of_log = index - entry["repeats"]++ - append_to_log = FALSE - break + if(!compare_lua_logs(entry, result)) + continue + if(!entry["repeats"]) + entry["repeats"] = 0 + index_of_log = index + entry["repeats"]++ + append_to_log = FALSE + break if(append_to_log) - if(islist(result["param"])) - result["param"] = weakrefify_list(encode_text_and_nulls(result["param"])) + if(islist(result["return_values"])) + add_lua_return_value_variants(result["return_values"], result["variants"]) + result["return_values"] = weakrefify_list(result["return_values"]) log += list(result) index_of_log = log.len INVOKE_ASYNC(src, TYPE_PROC_REF(/datum/lua_state, update_editors)) return index_of_log +/datum/lua_state/proc/parse_error(message, name) + if(copytext(message, 1, 7) == "PANIC:") + return list("status" = "panic", "message" = copytext(message, 7), "name" = name) + else + return list("status" = "error", "message" = message, "name" = name) + /datum/lua_state/proc/load_script(script) - GLOB.IsLuaCall = TRUE var/tmp_usr = GLOB.lua_usr GLOB.lua_usr = usr - var/result = __lua_load(internal_id, script) - GLOB.IsLuaCall = FALSE + DREAMLUAU_SET_USR + GLOB.lua_state_stack += WEAKREF(src) + var/result = DREAMLUAU_LOAD(internal_id, script, "input") + SSlua.needs_gc_cycle |= src + pop(GLOB.lua_state_stack) GLOB.lua_usr = tmp_usr // Internal errors unrelated to the code being executed are returned as text rather than lists if(isnull(result)) - result = list("status" = "errored", "param" = "__lua_load returned null (it may have runtimed - check the runtime logs)", "name" = "input") + result = list("status" = "error", "message" = "load returned null (it may have runtimed - check the runtime logs)", "name" = "input") if(istext(result)) - result = list("status" = "errored", "param" = result, "name" = "input") + result = parse_error(result, "input") result["chunk"] = script check_if_slept(result) @@ -109,67 +121,106 @@ GLOBAL_PROTECT(lua_usr) if(islist(function)) var/list/new_function_path = list() for(var/path_element in function) - new_function_path += path_element + if(isweakref(path_element)) + var/datum/weakref/weak_ref = path_element + var/resolved = weak_ref.hard_resolve() + if(!resolved) + return list("status" = "error", "message" = "Weakref in function path ([weak_ref] [text_ref(weak_ref)]) resolved to null.", "name" = jointext(function, ".")) + new_function_path += resolved + else + new_function_path += path_element function = new_function_path + else + function = list(function) var/tmp_usr = GLOB.lua_usr GLOB.lua_usr = usr - GLOB.IsLuaCall = TRUE - var/result = __lua_call(internal_id, function, call_args) - GLOB.IsLuaCall = FALSE + DREAMLUAU_SET_USR + GLOB.lua_state_stack += WEAKREF(src) + var/result = DREAMLUAU_CALL_FUNCTION(internal_id, function, call_args) + SSlua.needs_gc_cycle |= src + pop(GLOB.lua_state_stack) GLOB.lua_usr = tmp_usr if(isnull(result)) - result = list("status" = "errored", "param" = "__lua_call returned null (it may have runtimed - check the runtime logs)", "name" = islist(function) ? jointext(function, ".") : function) + result = list("status" = "error", "message" = "call_function returned null (it may have runtimed - check the runtime logs)", "name" = jointext(function, ".")) if(istext(result)) - result = list("status" = "errored", "param" = result, "name" = islist(function) ? jointext(function, ".") : function) + result = parse_error(result, jointext(function, ".")) check_if_slept(result) return result /datum/lua_state/proc/call_function_return_first(function, ...) + SHOULD_NOT_SLEEP(TRUE) // This function is meant to be used for signal handlers. var/list/result = call_function(arglist(args)) - log_result(result, verbose = FALSE) + INVOKE_ASYNC(src, PROC_REF(log_result), deep_copy_list(result), /*verbose = */FALSE) if(length(result)) - if(islist(result["param"]) && length(result["param"])) - return result["param"][1] + if(islist(result["return_values"]) && length(result["return_values"])) + var/return_value = result["return_values"][1] + var/variant = (islist(result["variants"]) && length(result["variants"])) && result["variants"][1] + if(islist(return_value) && islist(variant)) + remove_non_dm_variants(return_value, variant) + return return_value /datum/lua_state/proc/awaken() - GLOB.IsLuaCall = TRUE - var/result = __lua_awaken(internal_id) - GLOB.IsLuaCall = FALSE + DREAMLUAU_SET_USR + GLOB.lua_state_stack += WEAKREF(src) + var/result = DREAMLUAU_AWAKEN(internal_id) + SSlua.needs_gc_cycle |= src + pop(GLOB.lua_state_stack) if(isnull(result)) - result = list("status" = "errored", "param" = "__lua_awaken returned null (it may have runtimed - check the runtime logs)", "name" = "An attempted awaken") + result = list("status" = "error", "message" = "awaken returned null (it may have runtimed - check the runtime logs)", "name" = "An attempted awaken") if(istext(result)) - result = list("status" = "errored", "param" = result, "name" = "An attempted awaken") + result = parse_error(result, "An attempted awaken") check_if_slept(result) return result /// Prefer calling SSlua.queue_resume over directly calling this /datum/lua_state/proc/resume(index, ...) var/call_args = length(args) > 1 ? args.Copy(2) : list() - var/msg = "[key_name(usr)] resumed a lua coroutine with arguments: [english_list(call_args)]" - log_lua(msg) - GLOB.IsLuaCall = TRUE - var/result = __lua_resume(internal_id, index, call_args) - GLOB.IsLuaCall = FALSE + DREAMLUAU_SET_USR + GLOB.lua_state_stack += WEAKREF(src) + var/result = DREAMLUAU_RESUME(internal_id, index, call_args) + SSlua.needs_gc_cycle |= src + pop(GLOB.lua_state_stack) if(isnull(result)) - result = list("status" = "errored", "param" = "__lua_resume returned null (it may have runtimed - check the runtime logs)", "name" = "An attempted resume") + result = list("status" = "error", "param" = "resume returned null (it may have runtimed - check the runtime logs)", "name" = "An attempted resume") if(istext(result)) - result = list("status" = "errored", "param" = result, "name" = "An attempted resume") + result = parse_error(result, "An attempted resumt") check_if_slept(result) return result /datum/lua_state/proc/get_globals() - globals = weakrefify_list(encode_text_and_nulls(__lua_get_globals(internal_id))) + var/result = DREAMLUAU_GET_GLOBALS(internal_id) + if(isnull(result)) + CRASH("get_globals returned null") + if(istext(result)) + CRASH(result) + var/list/new_globals = result + var/list/values = new_globals["values"] + var/list/variants = new_globals["variants"] + add_lua_editor_variants(values, variants) + globals = list("values" = weakrefify_list(values), "variants" = variants) /datum/lua_state/proc/get_tasks() - return __lua_get_tasks(internal_id) + var/result = DREAMLUAU_LIST_THREADS(internal_id) + if(isnull(result)) + CRASH("list_threads returned null") + if(istext(result)) + CRASH(result) + return result + +/datum/lua_state/proc/kill_task(is_sleep, index) + var/result = is_sleep ? DREAMLUAU_KILL_SLEEPING_THREAD(internal_id, index) : DREAMLUAU_KILL_YIELDED_THREAD(internal_id, index) + SSlua.needs_gc_cycle |= src + return result -/datum/lua_state/proc/kill_task(task_info) - __lua_kill_task(internal_id, task_info) +/datum/lua_state/proc/collect_garbage() + var/result = DREAMLUAU_COLLECT_GARBAGE(internal_id) + if(!isnull(result)) + CRASH(result) /datum/lua_state/proc/update_editors() var/list/editor_list = LAZYACCESS(SSlua.editors, text_ref(src)) @@ -177,18 +228,4 @@ GLOBAL_PROTECT(lua_usr) for(var/datum/lua_editor/editor as anything in editor_list) SStgui.update_uis(editor) -/// Called by lua scripts when they add an atom to var/list/references so that it gets cleared up on delete. -/datum/lua_state/proc/clear_on_delete(datum/to_clear) - RegisterSignal(to_clear, COMSIG_QDELETING, PROC_REF(on_delete)) - -/// Called by lua scripts when an atom they've added should soft delete and this state should stop tracking it. -/// Needs to unregister all signals. -/datum/lua_state/proc/let_soft_delete(datum/to_clear) - UnregisterSignal(to_clear, COMSIG_QDELETING, PROC_REF(on_delete)) - references -= to_clear - -/datum/lua_state/proc/on_delete(datum/to_clear) - SIGNAL_HANDLER - references -= to_clear - #undef MAX_LOG_REPEAT_LOOKBACK diff --git a/code/modules/admin/verbs/machine_upgrade.dm b/code/modules/admin/verbs/machine_upgrade.dm index 258de6bcf4dfd..7495b383d0e00 100644 --- a/code/modules/admin/verbs/machine_upgrade.dm +++ b/code/modules/admin/verbs/machine_upgrade.dm @@ -1,5 +1,5 @@ -ADMIN_VERB(machine_upgrade, R_DEBUG, "Tweak Component Ratings", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, obj/machinery/machine in world) - var/new_rating = input(user, "Enter new rating:","Num") as num|null +ADMIN_VERB_AND_CONTEXT_MENU(machine_upgrade, R_DEBUG, "Tweak Component Ratings", ADMIN_VERB_NO_DESCRIPTION, ADMIN_CATEGORY_HIDDEN, obj/machinery/machine in world) + var/new_rating = tgui_input_number(user, "", "Enter new rating:") if(new_rating && machine.component_parts) for(var/obj/item/stock_parts/P in machine.component_parts) P.rating = new_rating diff --git a/code/modules/admin/verbs/manipulate_organs.dm b/code/modules/admin/verbs/manipulate_organs.dm index bfb5050dafa21..6c0a86126b607 100644 --- a/code/modules/admin/verbs/manipulate_organs.dm +++ b/code/modules/admin/verbs/manipulate_organs.dm @@ -18,10 +18,7 @@ ADMIN_VERB(manipulate_organs, R_DEBUG, "Manipulate Organs", "Manipulate the orga return organ_to_grant = organs[organ_to_grant] organ_to_grant = new organ_to_grant - if(!organ_to_grant.Insert(carbon_victim)) - to_chat(user, span_notice("[carbon_victim] is unable to carry this organ!")) - qdel(organ_to_grant) - return + organ_to_grant.Insert(carbon_victim) log_admin("[key_name(user)] has added organ [organ_to_grant.type] to [key_name(carbon_victim)]") message_admins("[key_name_admin(user)] has added organ [organ_to_grant.type] to [ADMIN_LOOKUPFLW(carbon_victim)]") diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index c4e4257e84fc7..b70465666f3d0 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -54,13 +54,13 @@ ADMIN_VERB(play_direct_mob_sound, R_SOUND, "Play Direct Mob Sound", "Play a soun SEND_SOUND(target, sound) BLACKBOX_LOG_ADMIN_VERB("Play Direct Mob Sound") -///Takes an input from either proc/play_web_sound or the request manager and runs it through youtube-dl and prompts the user before playing it to the server. +///Takes an input from either proc/play_web_sound or the request manager and runs it through yt-dlp and prompts the user before playing it to the server. /proc/web_sound(mob/user, input, credit) if(!check_rights(R_SOUND)) return var/ytdl = CONFIG_GET(string/invoke_youtubedl) if(!ytdl) - to_chat(user, span_boldwarning("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value + to_chat(user, span_boldwarning("yt-dlp was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value return var/web_sound_url = "" var/stop_web_sounds = FALSE @@ -73,14 +73,14 @@ ADMIN_VERB(play_direct_mob_sound, R_SOUND, "Play Direct Mob Sound", "Play a soun var/stdout = output[SHELLEO_STDOUT] var/stderr = output[SHELLEO_STDERR] if(errorlevel) - to_chat(user, span_boldwarning("Youtube-dl URL retrieval FAILED:"), confidential = TRUE) + to_chat(user, span_boldwarning("yt-dlp URL retrieval FAILED:"), confidential = TRUE) to_chat(user, span_warning("[stderr]"), confidential = TRUE) return var/list/data try data = json_decode(stdout) catch(var/exception/e) - to_chat(user, span_boldwarning("Youtube-dl JSON parsing FAILED:"), confidential = TRUE) + to_chat(user, span_boldwarning("yt-dlp JSON parsing FAILED:"), confidential = TRUE) to_chat(user, span_warning("[e]: [stdout]"), confidential = TRUE) return if (data["url"]) diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index 107d74d9c3975..c8081cadcbd6b 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -41,7 +41,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w #define THUNDERDOME_TEMPLATE_FILE "admin_thunderdome.dmm" #define HIGHLANDER_DELAY_TEXT "40 seconds (crush the hope of a normal shift)" -/datum/secrets_menu/ui_act(action, params) +/datum/secrets_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -419,7 +419,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w var/list/storm_appearances = list() for(var/offset in 0 to SSmapping.max_plane_offset) var/mutable_appearance/storm = mutable_appearance('icons/obj/machines/engine/energy_ball.dmi', "energy_ball_fast", FLY_LAYER) - SET_PLANE_W_SCALAR(storm, ABOVE_GAME_PLANE, offset) + SET_PLANE_W_SCALAR(storm, GAME_PLANE, offset) storm.color = prefs["color"]["value"] storm_appearances += storm @@ -526,7 +526,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w var/forename = names.len > 1 ? names[2] : names[1] var/newname = "[forename]-[pick(honorifics["[H.gender]"])]" H.fully_replace_character_name(H.real_name,newname) - H.update_mutant_bodyparts() + H.update_body_parts() if(animetype == "Yes") var/seifuku = pick(typesof(/obj/item/clothing/under/costume/schoolgirl)) var/obj/item/clothing/under/costume/schoolgirl/I = new seifuku diff --git a/code/modules/admin/verbs/server.dm b/code/modules/admin/verbs/server.dm index fb7bc16cf24e0..a8389ca0bc155 100644 --- a/code/modules/admin/verbs/server.dm +++ b/code/modules/admin/verbs/server.dm @@ -16,10 +16,15 @@ ADMIN_VERB(toggle_hub, R_SERVER, "Toggle Hub", "Toggles the server's visilibilit SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggled Hub Visibility", "[GLOB.hub_visibility ? "Enabled" : "Disabled"]")) // If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! +#define REGULAR_RESTART "Regular Restart" +#define REGULAR_RESTART_DELAYED "Regular Restart (with delay)" +#define HARD_RESTART "Hard Restart (No Delay/Feedback Reason)" +#define HARDEST_RESTART "Hardest Restart (No actions, just reboot)" +#define TGS_RESTART "Server Restart (Kill and restart DD)" ADMIN_VERB(restart, R_SERVER, "Reboot World", "Restarts the world immediately.", ADMIN_CATEGORY_SERVER) - var/list/options = list("Regular Restart", "Regular Restart (with delay)", "Hard Restart (No Delay/Feeback Reason)", "Hardest Restart (No actions, just reboot)") + var/list/options = list(REGULAR_RESTART, REGULAR_RESTART_DELAYED, HARD_RESTART, HARDEST_RESTART) if(world.TgsAvailable()) - options += "Server Restart (Kill and restart DD)"; + options += TGS_RESTART; if(SSticker.admin_delay_notice) if(alert(user, "Are you sure? An admin has already delayed the round end for the following reason: [SSticker.admin_delay_notice]", "Confirmation", "Yes", "No") != "Yes") @@ -32,12 +37,12 @@ ADMIN_VERB(restart, R_SERVER, "Reboot World", "Restarts the world immediately.", BLACKBOX_LOG_ADMIN_VERB("Reboot World") var/init_by = "Initiated by [user.holder.fakekey ? "Admin" : user.key]." switch(result) - if("Regular Restart") + if(REGULAR_RESTART) if(!user.is_localhost()) if(alert(user, "Are you sure you want to restart the server?","This server is live", "Restart", "Cancel") != "Restart") return FALSE SSticker.Reboot(init_by, "admin reboot - by [user.key] [user.holder.fakekey ? "(stealth)" : ""]", 10) - if("Regular Restart (with delay)") + if(REGULAR_RESTART_DELAYED) var/delay = input("What delay should the restart have (in seconds)?", "Restart Delay", 5) as num|null if(!delay) return FALSE @@ -45,16 +50,22 @@ ADMIN_VERB(restart, R_SERVER, "Reboot World", "Restarts the world immediately.", if(alert(user,"Are you sure you want to restart the server?","This server is live", "Restart", "Cancel") != "Restart") return FALSE SSticker.Reboot(init_by, "admin reboot - by [user.key] [user.holder.fakekey ? "(stealth)" : ""]", delay * 10) - if("Hard Restart (No Delay, No Feeback Reason)") + if(HARD_RESTART) to_chat(world, "World reboot - [init_by]") world.Reboot() - if("Hardest Restart (No actions, just reboot)") + if(HARDEST_RESTART) to_chat(world, "Hard world reboot - [init_by]") world.Reboot(fast_track = TRUE) - if("Server Restart (Kill and restart DD)") + if(TGS_RESTART) to_chat(world, "Server restart - [init_by]") world.TgsEndProcess() +#undef REGULAR_RESTART +#undef REGULAR_RESTART_DELAYED +#undef HARD_RESTART +#undef HARDEST_RESTART +#undef TGS_RESTART + ADMIN_VERB(end_round, R_SERVER, "End Round", "Forcibly ends the round and allows the server to restart normally.", ADMIN_CATEGORY_SERVER) var/confirm = tgui_alert(user, "End the round and restart the game world?", "End Round", list("Yes", "Cancel")) if(confirm != "Yes") diff --git a/code/modules/admin/view_variables/filterrific.dm b/code/modules/admin/view_variables/filterrific.dm index 0bd9f51c114f9..a997d52047743 100644 --- a/code/modules/admin/view_variables/filterrific.dm +++ b/code/modules/admin/view_variables/filterrific.dm @@ -24,7 +24,7 @@ data["target_filter_data"] = target.filter_data return data -/datum/filter_editor/ui_act(action, list/params) +/datum/filter_editor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.dm b/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.dm index fa5fde1f20e18..2bf75d01d7dd9 100644 --- a/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.dm +++ b/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.dm @@ -42,7 +42,7 @@ data["pixelated"] = target.appearance_flags & PIXEL_SCALE return data -/datum/nobody_wants_to_learn_matrix_math/ui_act(action, list/params) +/datum/nobody_wants_to_learn_matrix_math/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index d51885d51431f..e658e7c1c7c05 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -128,7 +128,7 @@ GLOBAL_LIST_EMPTY(antagonists) ui = new(user, src, ui_name, name) ui.open() -/datum/antagonist/ui_act(action, params) +/datum/antagonist/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -536,7 +536,7 @@ GLOBAL_LIST_EMPTY(antagonists) /// Takes a location, returns an image drawing "on" it that matches this antag datum's hud icon /datum/antagonist/proc/hud_image_on(mob/hud_loc) var/image/hud = image(hud_icon, hud_loc, antag_hud_name) - SET_PLANE_EXPLICIT(hud, ABOVE_GAME_PLANE, hud_loc) + SET_PLANE_EXPLICIT(hud, GAME_PLANE, hud_loc) return hud ///generic helper to send objectives as data through tgui. diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 440feb91b7622..5f7a7e579d3ee 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -45,7 +45,7 @@ get_asset_datum(/datum/asset/simple/contracts), ) -/obj/item/antag_spawner/contract/ui_act(action, list/params) +/obj/item/antag_spawner/contract/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(used || polling || !ishuman(usr)) return @@ -105,7 +105,7 @@ /// The antag datum applied var/antag_datum = /datum/antagonist/nukeop/reinforcement /// Style used by the droppod - var/pod_style = STYLE_SYNDICATE + var/pod_style = /datum/pod_style/syndicate /// Do we use a random subtype of the outfit? var/use_subtypes = TRUE /// Where do we land our pod? @@ -187,8 +187,8 @@ desc = "A single-use beacon designed to quickly launch reinforcement clown operatives into the field." special_role_name = ROLE_CLOWN_OPERATIVE outfit = /datum/outfit/syndicate/clownop/no_crystals - antag_datum = /datum/antagonist/nukeop/clownop - pod_style = STYLE_HONK + antag_datum = /datum/antagonist/nukeop/reinforcement/clownop + pod_style = /datum/pod_style/clown use_subtypes = FALSE //////SYNDICATE BORG @@ -313,7 +313,7 @@ /// The antag datum applied var/datum/antagonist/antag_datum /// Style used by the droppod - var/pod_style = STYLE_SYNDICATE + var/pod_style = /datum/pod_style/syndicate /// Do we use a random subtype of the outfit? var/use_subtypes = TRUE /// The antag role we check if the ghosts have enabled to get the poll. diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 68cf781db9b05..7fc0c565ab1df 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -74,12 +74,13 @@ owner.special_role = ROLE_ABDUCTOR objectives += team.objectives finalize_abductor() - ADD_TRAIT(owner, TRAIT_ABDUCTOR_TRAINING, ABDUCTOR_ANTAGONIST) + // We don't want abductors to be converted by other antagonists + owner.add_traits(list(TRAIT_ABDUCTOR_TRAINING, TRAIT_UNCONVERTABLE), ABDUCTOR_ANTAGONIST) return ..() /datum/antagonist/abductor/on_removal() owner.special_role = null - REMOVE_TRAIT(owner, TRAIT_ABDUCTOR_TRAINING, ABDUCTOR_ANTAGONIST) + owner.remove_traits(list(TRAIT_ABDUCTOR_TRAINING, TRAIT_UNCONVERTABLE), ABDUCTOR_ANTAGONIST) return ..() /datum/antagonist/abductor/greet() @@ -90,20 +91,20 @@ /datum/antagonist/abductor/proc/finalize_abductor() //Equip - var/mob/living/carbon/human/H = owner.current - H.set_species(/datum/species/abductor) - var/obj/item/organ/internal/tongue/abductor/T = H.get_organ_slot(ORGAN_SLOT_TONGUE) - T.mothership = "[team.name]" + var/mob/living/carbon/human/new_abductor = owner.current + new_abductor.set_species(/datum/species/abductor) + var/obj/item/organ/internal/tongue/abductor/abductor_tongue = new_abductor.get_organ_slot(ORGAN_SLOT_TONGUE) + abductor_tongue.mothership = "[team.name]" - H.real_name = "[team.name] [sub_role]" - H.equipOutfit(outfit) + new_abductor.real_name = "[team.name] [sub_role]" + new_abductor.equipOutfit(outfit) // We require that the template be loaded here, so call it in a blocking manner, if its already done loading, this won't block SSmapping.lazy_load_template(LAZY_TEMPLATE_KEY_ABDUCTOR_SHIPS) //Teleport to ship for(var/obj/effect/landmark/abductor/LM in GLOB.landmarks_list) if(istype(LM, landmark_type) && LM.team_number == team.team_number) - H.forceMove(LM.loc) + new_abductor.forceMove(LM.loc) break /datum/antagonist/abductor/scientist/on_gain() @@ -137,13 +138,13 @@ if(!ishuman(owner.current)) to_chat(admin, span_warning("This only works on humans!")) return - var/mob/living/carbon/human/H = owner.current + var/mob/living/carbon/human/new_abductor = owner.current var/gear = tgui_alert(admin,"Agent or Scientist Gear", "Gear", list("Agent", "Scientist")) if(gear) if(gear == "Agent") - H.equipOutfit(/datum/outfit/abductor/agent) + new_abductor.equipOutfit(/datum/outfit/abductor/agent) else - H.equipOutfit(/datum/outfit/abductor/scientist) + new_abductor.equipOutfit(/datum/outfit/abductor/scientist) /datum/team/abductor_team member_name = "\improper Abductor" diff --git a/code/modules/antagonists/abductor/abductor_structures.dm b/code/modules/antagonists/abductor/abductor_structures.dm index da0ad5de9ea5b..dba46d73f0750 100644 --- a/code/modules/antagonists/abductor/abductor_structures.dm +++ b/code/modules/antagonists/abductor/abductor_structures.dm @@ -50,7 +50,7 @@ /obj/structure/table/abductor name = "alien table" desc = "Advanced flat surface technology at work!" - icon = 'icons/obj/smooth_structures/alien_table.dmi' + icon = 'icons/obj/structures/smooth/alien_table.dmi' icon_state = "alien_table-0" base_icon_state = "alien_table" buildstack = /obj/item/stack/sheet/mineral/abductor @@ -116,9 +116,7 @@ /obj/structure/door_assembly/door_assembly_abductor name = "alien airlock assembly" - icon = 'icons/obj/doors/airlocks/abductor/abductor_airlock.dmi' - base_name = "alien airlock" - overlays_file = 'icons/obj/doors/airlocks/abductor/overlays.dmi' + icon = /obj/machinery/door/airlock/abductor::icon airlock_type = /obj/machinery/door/airlock/abductor material_type = /obj/item/stack/sheet/mineral/abductor noglass = TRUE diff --git a/code/modules/antagonists/abductor/equipment/gear/abductor_clothing.dm b/code/modules/antagonists/abductor/equipment/gear/abductor_clothing.dm index c54ce6937d86f..e5951473df087 100644 --- a/code/modules/antagonists/abductor/equipment/gear/abductor_clothing.dm +++ b/code/modules/antagonists/abductor/equipment/gear/abductor_clothing.dm @@ -103,6 +103,8 @@ /obj/item/clothing/suit/armor/abductor/vest/proc/return_disguise_name(mob/living/carbon/human/source, list/identity) SIGNAL_HANDLER + if(identity[VISIBLE_NAME_FORCED]) // name-forcing overrides disguise + return identity[VISIBLE_NAME_FACE] = disguise.name identity[VISIBLE_NAME_ID] = "" diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index 29ea5f1e78502..f4fe0fb1875f8 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -84,7 +84,7 @@ active_mind_control = FALSE return TRUE -/obj/item/organ/internal/heart/gland/Remove(mob/living/carbon/gland_owner, special, movement_flags) +/obj/item/organ/internal/heart/gland/mob_remove(mob/living/carbon/gland_owner, special, movement_flags) . = ..() active = FALSE if(initial(uses) == 1) @@ -93,10 +93,8 @@ hud.remove_atom_from_hud(gland_owner) clear_mind_control() -/obj/item/organ/internal/heart/gland/Insert(mob/living/carbon/gland_owner, special = FALSE, movement_flags = DELETE_IF_REPLACED) +/obj/item/organ/internal/heart/gland/mob_insert(mob/living/carbon/gland_owner, special = FALSE, movement_flags = DELETE_IF_REPLACED) . = ..() - if(!.) - return if(special != 2 && uses) // Special 2 means abductor surgery Start() diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index 87870947f17d6..1a3f140c3415d 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -15,7 +15,7 @@ for(var/mob/living/carbon/target in orange(4,owner_turf)) if(target == owner) continue - if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) + if(HAS_MIND_TRAIT(target, TRAIT_MINDSHIELD)) to_chat(target, span_notice("You hear a faint hum fill your ears, which quickly dies down.")) continue @@ -41,7 +41,7 @@ if(target_human.stat) continue - if(HAS_TRAIT(target_human, TRAIT_MINDSHIELD)) + if(HAS_MIND_TRAIT(target_human, TRAIT_UNCONVERTABLE)) to_chat(target_human, span_notice("You hear a low drone as something foreign attempts to enter your mind, but the noise fades after a few moments.")) continue diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index ee729de7068b8..3dcdaf5a5b07e 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -118,7 +118,7 @@ data["vest_lock"] = HAS_TRAIT_FROM(vest, TRAIT_NODROP, ABDUCTOR_VEST_TRAIT) return data -/obj/machinery/abductor/console/ui_act(action, list/params) +/obj/machinery/abductor/console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/abductor/machinery/dispenser.dm b/code/modules/antagonists/abductor/machinery/dispenser.dm index 8d8f9e14b8954..416153c50e58f 100644 --- a/code/modules/antagonists/abductor/machinery/dispenser.dm +++ b/code/modules/antagonists/abductor/machinery/dispenser.dm @@ -48,7 +48,7 @@ data["glands"] += list(gland_information) return data -/obj/machinery/abductor/gland_dispenser/ui_act(action, list/params) +/obj/machinery/abductor/gland_dispenser/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index a549171b66150..09790f4ba897e 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -86,7 +86,7 @@ data["occupant_status"] = mob_occupant.stat return data -/obj/machinery/abductor/experiment/ui_act(action, list/params) +/obj/machinery/abductor/experiment/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/blob/blob_antag.dm b/code/modules/antagonists/blob/blob_antag.dm index 9cad238bb0011..981c200ebd024 100644 --- a/code/modules/antagonists/blob/blob_antag.dm +++ b/code/modules/antagonists/blob/blob_antag.dm @@ -43,9 +43,9 @@ /datum/antagonist/blob/get_preview_icon() var/datum/blobstrain/reagent/reactive_spines/reactive_spines = /datum/blobstrain/reagent/reactive_spines - var/icon/icon = icon('icons/mob/nonhuman-player/blob.dmi', "blob_core") + var/icon/icon = icon('icons/mob/nonhuman-player/blob_tall.dmi', "blob_core") icon.Blend(initial(reactive_spines.color), ICON_MULTIPLY) - icon.Blend(icon('icons/mob/nonhuman-player/blob.dmi', "blob_core_overlay"), ICON_OVERLAY) + icon.Blend(icon('icons/mob/nonhuman-player/blob_tall.dmi', "blob_core_overlay"), ICON_OVERLAY) icon.Scale(ANTAGONIST_PREVIEW_ICON_SIZE, ANTAGONIST_PREVIEW_ICON_SIZE) return icon diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index ea6706f96e999..c314765cb44d9 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -15,7 +15,6 @@ GLOBAL_LIST_EMPTY(blob_nodes) move_on_shuttle = TRUE invisibility = INVISIBILITY_OBSERVER layer = FLY_LAYER - plane = ABOVE_GAME_PLANE see_invisible = SEE_INVISIBLE_LIVING pass_flags = PASSBLOB faction = list(ROLE_BLOB) @@ -73,6 +72,10 @@ GLOBAL_LIST_EMPTY(blob_nodes) . = ..() START_PROCESSING(SSobj, src) GLOB.blob_telepathy_mobs |= src + var/mutable_appearance/high_marker = mutable_appearance('icons/mob/silicon/cameramob.dmi', "marker", ABOVE_MOB_LAYER, src, ABOVE_GAME_PLANE) + high_marker.pixel_y -= 12 + add_overlay(high_marker) + AddElement(/datum/element/elevation, pixel_shift = 10) /mob/camera/blob/proc/validate_location() var/turf/T = get_turf(src) @@ -206,7 +209,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) if(live_guy.stat != DEAD) live_guy.investigate_log("has died from blob takeover.", INVESTIGATE_DEATHS) live_guy.death() - create_spore(guy_turf) + create_spore(guy_turf, spore_type = /mob/living/basic/blob_minion/spore) else live_guy.fully_heal() @@ -217,7 +220,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) continue check_area.color = blobstrain.color check_area.name = "blob" - check_area.icon = 'icons/mob/nonhuman-player/blob.dmi' + check_area.icon = 'icons/mob/nonhuman-player/blob_tall.dmi' check_area.icon_state = "blob_shield" check_area.layer = BELOW_MOB_LAYER check_area.SetInvisibility(INVISIBILITY_NONE) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm index 2f3b51741f9b6..88b4d4c9fe000 100644 --- a/code/modules/antagonists/blob/powers.dm +++ b/code/modules/antagonists/blob/powers.dm @@ -381,7 +381,7 @@ for (var/unused in 1 to BLOB_POWER_REROLL_CHOICES) var/datum/blobstrain/strain = pick_n_take(new_strains) - var/image/strain_icon = image('icons/mob/nonhuman-player/blob.dmi', "blob_core") + var/image/strain_icon = image('icons/mob/nonhuman-player/blob_tall.dmi', "blob_core") strain_icon.color = initial(strain.color) var/info_text = span_boldnotice("[initial(strain.name)]") diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 324c91ea3a529..d48f4163be2d4 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -1,7 +1,7 @@ //I will need to recode parts of this but I am way too tired atm //I don't know who left this comment but they never did come back /obj/structure/blob name = "blob" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' light_range = 2 desc = "A thick wall of writhing tendrils." density = TRUE diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm index 6eeccc8c361dd..6d5663f9f22b8 100644 --- a/code/modules/antagonists/blob/structures/core.dm +++ b/code/modules/antagonists/blob/structures/core.dm @@ -1,6 +1,6 @@ /obj/structure/blob/special/core name = "blob core" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' icon_state = "blank_blob" desc = "A huge, pulsating yellow mass." max_integrity = BLOB_CORE_MAX_HP @@ -47,11 +47,11 @@ /obj/structure/blob/special/core/update_overlays() . = ..() - var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/nonhuman-player/blob.dmi', "blob") + var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/nonhuman-player/blob_tall.dmi', "blob") if(overmind) blob_overlay.color = overmind.blobstrain.color . += blob_overlay - . += mutable_appearance('icons/mob/nonhuman-player/blob.dmi', "blob_core_overlay") + . += mutable_appearance('icons/mob/nonhuman-player/blob_tall.dmi', "blob_core_overlay") /obj/structure/blob/special/core/update_icon() . = ..() diff --git a/code/modules/antagonists/blob/structures/factory.dm b/code/modules/antagonists/blob/structures/factory.dm index cee7e9a0ac58d..3ece3f946548d 100644 --- a/code/modules/antagonists/blob/structures/factory.dm +++ b/code/modules/antagonists/blob/structures/factory.dm @@ -1,6 +1,6 @@ /obj/structure/blob/special/factory name = "factory blob" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' icon_state = "blob_factory" desc = "A thick spire of tendrils." max_integrity = BLOB_FACTORY_MAX_HP diff --git a/code/modules/antagonists/blob/structures/node.dm b/code/modules/antagonists/blob/structures/node.dm index d29eca38a6a5a..7b52397dbff06 100644 --- a/code/modules/antagonists/blob/structures/node.dm +++ b/code/modules/antagonists/blob/structures/node.dm @@ -1,6 +1,6 @@ /obj/structure/blob/special/node name = "blob node" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' icon_state = "blank_blob" desc = "A large, pulsating yellow mass." max_integrity = BLOB_NODE_MAX_HP @@ -33,14 +33,14 @@ /obj/structure/blob/special/node/update_overlays() . = ..() - var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/nonhuman-player/blob.dmi', "blob") + var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/nonhuman-player/blob_tall.dmi', "blob") if(overmind) blob_overlay.color = overmind.blobstrain.color var/area/A = get_area(src) if(!(A.area_flags & BLOBS_ALLOWED)) blob_overlay.color = BlendRGB(overmind.blobstrain.color, COLOR_WHITE, 0.5) //lighten it to indicate an off-station blob . += blob_overlay - . += mutable_appearance('icons/mob/nonhuman-player/blob.dmi', "blob_node_overlay") + . += mutable_appearance('icons/mob/nonhuman-player/blob_tall.dmi', "blob_node_overlay") /obj/structure/blob/special/node/creation_action() if(overmind) diff --git a/code/modules/antagonists/blob/structures/resource.dm b/code/modules/antagonists/blob/structures/resource.dm index 3fa5416d32370..688921668fa5f 100644 --- a/code/modules/antagonists/blob/structures/resource.dm +++ b/code/modules/antagonists/blob/structures/resource.dm @@ -1,6 +1,6 @@ /obj/structure/blob/special/resource name = "resource blob" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' icon_state = "blob_resource" desc = "A thin spire of slightly swaying tendrils." max_integrity = BLOB_RESOURCE_MAX_HP diff --git a/code/modules/antagonists/blob/structures/shield.dm b/code/modules/antagonists/blob/structures/shield.dm index 737e9108555a4..c1895c3a6da3d 100644 --- a/code/modules/antagonists/blob/structures/shield.dm +++ b/code/modules/antagonists/blob/structures/shield.dm @@ -1,6 +1,6 @@ /obj/structure/blob/shield name = "strong blob" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' icon_state = "blob_shield" desc = "A solid wall of slightly twitching tendrils." var/damaged_desc = "A wall of twitching tendrils." diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 5f4622bd910a4..4f535ece8cef0 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -94,7 +94,7 @@ flashed.balloon_alert(source, "[flashed.p_theyre()] loyal to someone else!") return - if (HAS_TRAIT(flashed, TRAIT_MINDSHIELD)) + if (HAS_TRAIT(flashed, TRAIT_UNCONVERTABLE)) flashed.balloon_alert(source, "[flashed.p_they()] resist!") return @@ -221,6 +221,9 @@ return . = ..() member.remove_antag_datum(/datum/antagonist/brother) + if (!length(members)) + qdel(src) + return if (isnull(member.current)) return for (var/datum/mind/brother_mind as anything in members) diff --git a/code/modules/antagonists/changeling/cellular_emporium.dm b/code/modules/antagonists/changeling/cellular_emporium.dm index 68e83ea25e668..754d2343d5cd5 100644 --- a/code/modules/antagonists/changeling/cellular_emporium.dm +++ b/code/modules/antagonists/changeling/cellular_emporium.dm @@ -69,7 +69,7 @@ return data -/datum/cellular_emporium/ui_act(action, params) +/datum/cellular_emporium/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/changeling/headslug_eggs.dm b/code/modules/antagonists/changeling/headslug_eggs.dm index 8f861aec2ec80..75c0881c55167 100644 --- a/code/modules/antagonists/changeling/headslug_eggs.dm +++ b/code/modules/antagonists/changeling/headslug_eggs.dm @@ -11,11 +11,11 @@ /// When this egg last got removed from a body. If -1, the egg hasn't been removed from a body. var/removal_time = -1 -/obj/item/organ/internal/body_egg/changeling_egg/Insert(mob/living/carbon/egg_owner, special = FALSE, movement_flags = DELETE_IF_REPLACED) +/obj/item/organ/internal/body_egg/changeling_egg/mob_insert(mob/living/carbon/egg_owner, special = FALSE, movement_flags = DELETE_IF_REPLACED) . = ..() hatch_time = world.time + (removal_time == -1 ? EGG_INCUBATION_TIME : (hatch_time - removal_time)) -/obj/item/organ/internal/body_egg/changeling_egg/Remove(mob/living/carbon/egg_owner, special, movement_flags) +/obj/item/organ/internal/body_egg/changeling_egg/mob_remove(mob/living/carbon/egg_owner, special, movement_flags) . = ..() removal_time = world.time diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index 3b6a550b18b0f..72bf91f1919f2 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -14,7 +14,7 @@ if(!.) return FALSE - if(HAS_TRAIT_FROM(user, TRAIT_IGNOREDAMAGESLOWDOWN, CHANGELING_TRAIT)) + if(HAS_TRAIT_FROM(user, TRAIT_PARALYSIS_L_ARM, CHANGELING_TRAIT) || HAS_TRAIT_FROM(user, TRAIT_PARALYSIS_R_ARM, CHANGELING_TRAIT)) user.balloon_alert(user, "already boosted!") return FALSE @@ -40,7 +40,8 @@ var/our_leg_zones = (GLOB.all_body_zones - GLOB.leg_zones) user.regenerate_limbs(excluded_zones = our_leg_zones) // why is this exclusive rather than inclusive - user.add_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) + user.add_traits(list(TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) + user.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) // Revert above mob changes. addtimer(CALLBACK(src, PROC_REF(unsting_action), user), 20 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) @@ -57,4 +58,5 @@ /datum/action/changeling/adrenaline/proc/unsting_action(mob/living/user) to_chat(user, span_changeling("The muscles in our limbs shift back to their usual places.")) - user.remove_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) + user.remove_traits(list(TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) + user.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) diff --git a/code/modules/antagonists/clown_ops/clown_weapons.dm b/code/modules/antagonists/clown_ops/clown_weapons.dm index 130b6c9af5f1b..bd2dfd4b0da01 100644 --- a/code/modules/antagonists/clown_ops/clown_weapons.dm +++ b/code/modules/antagonists/clown_ops/clown_weapons.dm @@ -17,6 +17,7 @@ desc = "advanced clown shoes that protect the wearer and render them nearly immune to slipping on their own peels. They also squeak at 100% capacity." clothing_traits = list(TRAIT_NO_SLIP_WATER) slowdown = SHOES_SLOWDOWN + body_parts_covered = FEET|LEGS armor_type = /datum/armor/clown_shoes_combat strip_delay = 70 resistance_flags = NONE @@ -49,6 +50,7 @@ strip_delay = 70 resistance_flags = NONE always_noslip = TRUE + body_parts_covered = FEET|LEGS /datum/armor/banana_shoes_combat melee = 25 @@ -192,7 +194,7 @@ //BOMBANANA /obj/item/seeds/banana/bombanana - name = "pack of bombanana seeds" + name = "bombanana seed pack" desc = "They're seeds that grow into bombanana trees. When grown, give to the clown." plantname = "Bombanana Tree" product = /obj/item/food/grown/banana/bombanana diff --git a/code/modules/antagonists/clown_ops/clownop.dm b/code/modules/antagonists/clown_ops/clownop.dm index 85cf2c0f631e7..07c1cc84ad756 100644 --- a/code/modules/antagonists/clown_ops/clownop.dm +++ b/code/modules/antagonists/clown_ops/clownop.dm @@ -65,6 +65,11 @@ if(liver) ADD_TRAIT(liver, TRAIT_COMEDY_METABOLISM, CLOWNOP_TRAIT) +// Clown op reinforcements +/datum/antagonist/nukeop/reinforcement/clownop + name = "Clown Operative Reinforcement" + nukeop_outfit = /datum/outfit/syndicate/clownop/no_crystals + /datum/outfit/clown_operative name = "Clown Operative (Preview only)" diff --git a/code/modules/antagonists/clown_ops/outfits.dm b/code/modules/antagonists/clown_ops/outfits.dm index 7dc84b56d856f..fb025e40dbd20 100644 --- a/code/modules/antagonists/clown_ops/outfits.dm +++ b/code/modules/antagonists/clown_ops/outfits.dm @@ -24,6 +24,7 @@ id_trim = /datum/id_trim/chameleon/operative/clown /datum/outfit/syndicate/clownop/no_crystals + name = "Clown Operative - Reinforcement" tc = 0 /datum/outfit/syndicate/clownop/leader diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index eb55138a4483a..2abe51fa02d49 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -12,7 +12,7 @@ default_button_position = DEFAULT_BLOODSPELLS var/list/spells = list() var/channeling = FALSE - /// If the magic has been enhanced somehow, likely due to a crimson focus. + /// If the magic has been enhanced somehow, likely due to a crimson medallion. var/magic_enhanced = FALSE /datum/action/innate/cult/blood_magic/Remove() @@ -162,14 +162,14 @@ name = "Stun" desc = "Empowers your hand to stun and mute a victim on contact. Gets weaker depending on how many have joined the Cult." button_icon_state = "hand" - magic_path = "/obj/item/melee/blood_magic/stun" + magic_path = /obj/item/melee/blood_magic/stun health_cost = 10 /datum/action/innate/cult/blood_spell/teleport name = "Teleport" desc = "Empowers your hand to teleport yourself or another cultist to a teleport rune on contact." button_icon_state = "tele" - magic_path = "/obj/item/melee/blood_magic/teleport" + magic_path = /obj/item/melee/blood_magic/teleport health_cost = 7 /datum/action/innate/cult/blood_spell/emp @@ -194,20 +194,20 @@ desc = "Empowers your hand to start handcuffing victim on contact, and mute them if successful." button_icon_state = "cuff" charges = 4 - magic_path = "/obj/item/melee/blood_magic/shackles" + magic_path = /obj/item/melee/blood_magic/shackles /datum/action/innate/cult/blood_spell/construction name = "Twisted Construction" desc = "Empowers your hand to corrupt certain metalic objects.
    Converts:
    Plasteel into runed metal
    50 metal into a construct shell
    Living cyborgs into constructs after a delay
    Cyborg shells into construct shells
    Purified soulstones (and any shades inside) into cultist soulstones
    Airlocks into brittle runed airlocks after a delay (harm intent)" button_icon_state = "transmute" - magic_path = "/obj/item/melee/blood_magic/construction" + magic_path = /obj/item/melee/blood_magic/construction health_cost = 12 /datum/action/innate/cult/blood_spell/equipment name = "Summon Combat Equipment" desc = "Empowers your hand to summon combat gear onto a cultist you touch, including cult armor, a cult bola, and a cult sword. Not recommended for use before the blood cult's presence has been revealed." button_icon_state = "equip" - magic_path = "/obj/item/melee/blood_magic/armor" + magic_path = /obj/item/melee/blood_magic/armor /datum/action/innate/cult/blood_spell/dagger name = "Summon Ritual Dagger" @@ -339,7 +339,7 @@ invocation = "Fel'th Dol Ab'orod!" button_icon_state = "manip" charges = 5 - magic_path = "/obj/item/melee/blood_magic/manipulator" + magic_path = /obj/item/melee/blood_magic/manipulator deletes_on_empty = FALSE // The "magic hand" items @@ -433,13 +433,15 @@ /obj/item/melee/blood_magic/stun/cast_spell(mob/living/target, mob/living/carbon/user) if(!istype(target) || IS_CULTIST(target)) return - var/datum/antagonist/cult/cultist = IS_CULTIST(user) - var/datum/team/cult/cult_team = cultist.get_team() + var/datum/antagonist/cult/cultist = GET_CULTIST(user) + var/datum/team/cult/cult_team = cultist?.get_team() var/effect_coef = 1 - if(cult_team.cult_ascendent) + if(cult_team?.cult_ascendent) effect_coef = 0.1 - else if(cult_team.cult_risen) + else if(cult_team?.cult_risen) effect_coef = 0.4 + if(IS_CULTIST(user) && isnull(GET_CULTIST(user))) + effect_coef = 0.2 user.visible_message( span_warning("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!"), span_cult_italic("You attempt to stun [target] with the spell!"), diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 307b4b7324bd8..5226039a86b69 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -19,6 +19,7 @@ inhand_x_dimension = 32 inhand_y_dimension = 32 w_class = WEIGHT_CLASS_SMALL + slot_flags = ITEM_SLOT_BELT force = 15 throwforce = 25 block_chance = 25 @@ -211,12 +212,13 @@ Striking a noncultist, however, will tear their flesh."} awakener = awakener,\ allow_renaming = FALSE,\ allow_channeling = FALSE,\ + allow_exorcism = FALSE,\ ) // Get the heretic's new body and antag datum. trapped_entity = trapped_mind?.current trapped_entity.key = trapped_mind?.key - var/datum/antagonist/heretic/heretic_holder = IS_HERETIC(trapped_entity) + var/datum/antagonist/heretic/heretic_holder = GET_HERETIC(trapped_entity) if(!heretic_holder) stack_trace("[soul_to_bind] in but not a heretic on the heretic soul blade.") @@ -377,7 +379,7 @@ Striking a noncultist, however, will tear their flesh."} worn_icon = 'icons/mob/clothing/suits/armor.dmi' inhand_icon_state = "cultrobes" body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/tome, /obj/item/melee/cultblade) + allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/melee/sickly_blade/cursed) armor_type = /datum/armor/hooded_cultrobes flags_inv = HIDEJUMPSUIT cold_protection = CHEST|GROIN|LEGS|ARMS @@ -594,7 +596,6 @@ Striking a noncultist, however, will tear their flesh."} /obj/item/clothing/suit/hooded/cultrobes/berserker name = "flagellant's robes" desc = "Blood-soaked robes infused with dark magic; allows the user to move at inhuman speeds, but at the cost of increased damage. Provides an even greater speed boost if its hood is worn." - allowed = list(/obj/item/tome, /obj/item/melee/cultblade) armor_type = /datum/armor/cultrobes_berserker slowdown = -0.3 //the hood gives an additional -0.3 if you have it flipped up, for a total of -0.6 hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/berserkerhood @@ -1277,7 +1278,6 @@ Striking a noncultist, however, will tear their flesh."} return FALSE /obj/item/shield/mirror/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - var/turf/impact_turf = get_turf(hit_atom) if(isliving(hit_atom)) var/mob/living/target = hit_atom @@ -1290,14 +1290,9 @@ Striking a noncultist, however, will tear their flesh."} return if(!..()) target.Paralyze(30) - var/mob/thrower = throwingdatum?.get_thrower() - if(thrower) - for(var/mob/living/Next in orange(2, impact_turf)) - if(!Next.density || IS_CULTIST(Next)) - continue - throw_at(Next, 3, 1, thrower) - return - throw_at(thrower, 7, 1, null) + new /obj/effect/temp_visual/cult/sparks(target) + playsound(target, 'sound/effects/glassbr3.ogg', 100) + qdel(src) else ..() diff --git a/code/modules/antagonists/cult/cult_other.dm b/code/modules/antagonists/cult/cult_other.dm index 9435baedba11a..f9e1462a30efe 100644 --- a/code/modules/antagonists/cult/cult_other.dm +++ b/code/modules/antagonists/cult/cult_other.dm @@ -25,8 +25,6 @@ return FALSE #endif - if(target.mind.unconvertable) - return FALSE if(ishuman(target) && target.mind.holy_role) return FALSE if(specific_cult?.is_sacrifice_target(target.mind)) @@ -36,6 +34,6 @@ return FALSE if(IS_HERETIC_OR_MONSTER(target)) return FALSE - if(HAS_TRAIT(target, TRAIT_MINDSHIELD) || issilicon(target) || isbot(target) || isdrone(target)) + if(HAS_MIND_TRAIT(target, TRAIT_UNCONVERTABLE) || issilicon(target) || isbot(target) || isdrone(target)) return FALSE //can't convert machines, shielded, or braindead return TRUE diff --git a/code/modules/antagonists/cult/cult_structure_archives.dm b/code/modules/antagonists/cult/cult_structure_archives.dm index d3a96dd1f77aa..9917d9505f7be 100644 --- a/code/modules/antagonists/cult/cult_structure_archives.dm +++ b/code/modules/antagonists/cult/cult_structure_archives.dm @@ -2,7 +2,7 @@ #define CULT_BLINDFOLD "Zealot's Blindfold" #define CURSE_ORB "Shuttle Curse" #define VEIL_WALKER "Veil Walker Set" -#define CRIMSON_FOCUS "Crimson Focus" +#define CRIMSON_MEDALLION "Crimson Medallion" // Cult archives. Gives out utility items. /obj/structure/destructible/cult/item_dispenser/archives @@ -38,11 +38,11 @@ options += extra_item /obj/structure/destructible/cult/item_dispenser/archives/extra_options() - if(!cult_team?.unlocked_heretic_items[CRIMSON_FOCUS_UNLOCKED]) + if(!cult_team?.unlocked_heretic_items[CRIMSON_MEDALLION_UNLOCKED]) return - return list(CRIMSON_FOCUS = list( - PREVIEW_IMAGE = image(icon = 'icons/obj/clothing/neck.dmi', icon_state = "crimson_focus"), - OUTPUT_ITEMS = list(/obj/item/clothing/neck/heretic_focus/crimson_focus), + return list(CRIMSON_MEDALLION = list( + PREVIEW_IMAGE = image(icon = 'icons/obj/clothing/neck.dmi', icon_state = "crimson_medallion"), + OUTPUT_ITEMS = list(/obj/item/clothing/neck/heretic_focus/crimson_medallion), ), ) @@ -56,4 +56,4 @@ #undef CULT_BLINDFOLD #undef CURSE_ORB #undef VEIL_WALKER -#undef CRIMSON_FOCUS +#undef CRIMSON_MEDALLION diff --git a/code/modules/antagonists/cult/datums/cult_team.dm b/code/modules/antagonists/cult/datums/cult_team.dm index 09d4a25a321c4..4d77f65f588df 100644 --- a/code/modules/antagonists/cult/datums/cult_team.dm +++ b/code/modules/antagonists/cult/datums/cult_team.dm @@ -22,7 +22,7 @@ /// List that keeps track of which items have been unlocked after a heretic was sacked. var/list/unlocked_heretic_items = list( CURSED_BLADE_UNLOCKED = FALSE, - CRIMSON_FOCUS_UNLOCKED = FALSE, + CRIMSON_MEDALLION_UNLOCKED = FALSE, PROTEON_ORB_UNLOCKED = FALSE, ) @@ -65,7 +65,7 @@ for(var/datum/mind/mind as anything in members) if(mind.current) SEND_SOUND(mind.current, 'sound/ambience/antag/bloodcult/bloodcult_halos.ogg') - to_chat(mind.current, span_cult_large(span_warning("Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!"))) + to_chat(mind.current, span_cult_large(span_warning("Your cult is ascendant and the red harvest approaches - you cannot hide your true nature for much longer!!"))) mind.current.AddElement(/datum/element/cult_halo) cult_ascendent = TRUE log_game("The blood cult has ascended with [cultplayers] players.") @@ -134,6 +134,7 @@ return "
    [parts.Join("
    ")]
    " /datum/team/cult/proc/is_sacrifice_target(datum/mind/mind) + for(var/datum/objective/sacrifice/sac_objective in objectives) if(mind == sac_objective.target) return TRUE diff --git a/code/modules/antagonists/cult/datums/cultist.dm b/code/modules/antagonists/cult/datums/cultist.dm index f56d79a8f4b18..de415f59c7482 100644 --- a/code/modules/antagonists/cult/datums/cultist.dm +++ b/code/modules/antagonists/cult/datums/cultist.dm @@ -281,3 +281,4 @@ ///Used to check if the owner is counted as a secondary invoker for runes. /datum/antagonist/cult/proc/check_invoke_validity() return TRUE + diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index d8ce241caf3c8..a365060b509e4 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -200,16 +200,23 @@ structure_check() searches for nearby cultist structures required for the invoca invocation = "Ra'sha yoka!" invoke_damage = 30 can_be_scribed = FALSE + var/randomized = TRUE /obj/effect/rune/malformed/Initialize(mapload, set_keyword) . = ..() + if(!randomized) + return icon_state = "[rand(1,7)]" color = rgb(rand(0,255), rand(0,255), rand(0,255)) + /obj/effect/rune/malformed/invoke(list/invokers) ..() qdel(src) +/obj/effect/rune/malformed/norandom + randomized = FALSE + //Rite of Offering: Converts or sacrifices a target. /obj/effect/rune/convert cultist_name = "Offer" diff --git a/code/modules/antagonists/cult/sword_fling.dm b/code/modules/antagonists/cult/sword_fling.dm index 766f97917de60..83238b0d8a2f4 100644 --- a/code/modules/antagonists/cult/sword_fling.dm +++ b/code/modules/antagonists/cult/sword_fling.dm @@ -55,6 +55,8 @@ particle_to_spawn = /obj/effect/particle_effect/sparks/electricity new particle_to_spawn(get_turf(loccer)) + loccer.shake_up_animation() + playsound(loccer, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) if(prob(resist_chance)) flinged_sword.forceMove(get_turf(loccer)) @@ -82,6 +84,9 @@ flinged_sword.throw_at(cast_on, cast_range, flinged_sword.throw_speed, owner) flinged_sword.visible_message(\ span_warning("\the [flinged_sword] lunges at \the [cast_on]!")) + playsound(flinged_sword, 'sound/items/haunted/ghostitemattack.ogg', 100, TRUE) + flinged_sword.add_filter("cool_glow", 2, list("type" = "outline", "color" = COLOR_HERETIC_GREEN, "size" = 0.7)) + addtimer(CALLBACK(flinged_sword, TYPE_PROC_REF(/datum, remove_filter), "cool_glow"), 0.7 SECONDS) /obj/effect/temp_visual/eldritch_sparks icon_state = "purplesparkles" diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 5d266227a1053..f8257b1cbbe39 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -238,6 +238,10 @@ H.open_internals(H.get_item_for_held_index(2)) H.equipOutfit(outfit) + if(isplasmaman(H)) + var/obj/item/mod/control/our_modsuit = locate() in H.get_equipped_items() + if(our_modsuit) + our_modsuit.install(new /obj/item/mod/module/plasma_stabilizer) /datum/antagonist/ert/greet() if(!ert_team) diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm index f31639c508c73..f9b95ea0dab4d 100644 --- a/code/modules/antagonists/heretic/heretic_antag.dm +++ b/code/modules/antagonists/heretic/heretic_antag.dm @@ -88,7 +88,7 @@ /// List that keeps track of which items have been gifted to the heretic after a cultist was sacrificed. Used to alter drop chances to reduce dupes. var/list/unlocked_heretic_items = list( /obj/item/melee/sickly_blade/cursed = 0, - /obj/item/clothing/neck/heretic_focus/crimson_focus = 0, + /obj/item/clothing/neck/heretic_focus/crimson_medallion = 0, /mob/living/basic/construct/harvester/heretic = 0, ) /// Simpler version of above used to limit amount of loot that can be hoarded @@ -218,7 +218,7 @@ return data -/datum/antagonist/heretic/ui_act(action, params) +/datum/antagonist/heretic/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index 5b78d1b7efb6c..06ea0d6c0bd09 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -228,7 +228,7 @@ /** * A knowledge subtype for knowledge that can only - * have a limited amount of it's resulting atoms + * have a limited amount of its resulting atoms * created at once. */ /datum/heretic_knowledge/limited_amount @@ -540,7 +540,7 @@ var/mob/living/mob_to_summon /datum/heretic_knowledge/summon/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - summon_ritual_mob(user, loc, mob_to_summon) + return summon_ritual_mob(user, loc, mob_to_summon) /** * Creates the ritual mob and grabs a ghost for it @@ -584,7 +584,6 @@ var/datum/antagonist/heretic_monster/heretic_monster = summoned.mind.add_antag_datum(/datum/antagonist/heretic_monster) heretic_monster.set_owner(user.mind) - summoned.RegisterSignal(user, COMSIG_LIVING_DEATH, TYPE_PROC_REF(/mob/living/, on_master_death)) var/datum/objective/heretic_summon/summon_objective = locate() in user.mind.get_all_objectives() summon_objective?.num_summoned++ @@ -641,7 +640,6 @@ /obj/item/restraints/handcuffs/cable/zipties, /obj/item/circular_saw, /obj/item/scalpel, - /obj/item/binoculars, /obj/item/clothing/gloves/color/yellow, /obj/item/melee/baton/security, /obj/item/clothing/glasses/sunglasses, @@ -678,7 +676,7 @@ return !was_completed /datum/heretic_knowledge/knowledge_ritual/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/our_heretic = IS_HERETIC(user) + var/datum/antagonist/heretic/our_heretic = GET_HERETIC(user) our_heretic.knowledge_points += KNOWLEDGE_RITUAL_POINTS was_completed = TRUE @@ -725,7 +723,7 @@ return TRUE /datum/heretic_knowledge/ultimate/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) if(!can_be_invoked(heretic_datum)) return FALSE @@ -746,7 +744,7 @@ return (sacrifice.stat == DEAD) && !ismonkey(sacrifice) /datum/heretic_knowledge/ultimate/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) heretic_datum.ascended = TRUE // Show the cool red gradiant in our UI diff --git a/code/modules/antagonists/heretic/heretic_living_heart.dm b/code/modules/antagonists/heretic/heretic_living_heart.dm index b616d300097e9..3e8f39fef4f94 100644 --- a/code/modules/antagonists/heretic/heretic_living_heart.dm +++ b/code/modules/antagonists/heretic/heretic_living_heart.dm @@ -104,7 +104,7 @@ return ..() /datum/action/cooldown/track_target/Activate(atom/target) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(owner) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(owner) var/datum/heretic_knowledge/sac_knowledge = heretic_datum.get_knowledge(/datum/heretic_knowledge/hunt_and_sacrifice) if(!LAZYLEN(heretic_datum.sac_targets)) owner.balloon_alert(owner, "no targets, visit a rune!") diff --git a/code/modules/antagonists/heretic/heretic_monsters.dm b/code/modules/antagonists/heretic/heretic_monsters.dm index fcdea51287980..5bc7041cd461d 100644 --- a/code/modules/antagonists/heretic/heretic_monsters.dm +++ b/code/modules/antagonists/heretic/heretic_monsters.dm @@ -28,6 +28,7 @@ */ /datum/antagonist/heretic_monster/proc/set_owner(datum/mind/master) src.master = master + owner.enslave_mind_to_creator(master.current) var/datum/objective/master_obj = new() master_obj.owner = owner @@ -38,7 +39,3 @@ owner.announce_objectives() to_chat(owner, span_boldnotice("You are a [ishuman(owner.current) ? "shambling corpse returned":"horrible creation brought"] to this plane through the Gates of the Mansus.")) to_chat(owner, span_notice("Your master is [master]. Assist them to all ends.")) - - if(istype(owner.current, /mob/living/basic/construct/harvester/heretic)) - var/mob/living/basic/construct/harvester/heretic/shitcode = owner.current - shitcode.master = master diff --git a/code/modules/antagonists/heretic/influences.dm b/code/modules/antagonists/heretic/influences.dm index 662af81249a5c..4fff7667f1ecc 100644 --- a/code/modules/antagonists/heretic/influences.dm +++ b/code/modules/antagonists/heretic/influences.dm @@ -248,7 +248,7 @@ return SECONDARY_ATTACK_CALL_NORMAL if(being_drained) - balloon_alert(user, "already being drained!") + loc.balloon_alert(user, "already being drained!") else INVOKE_ASYNC(src, PROC_REF(drain_influence), user, 1) @@ -280,17 +280,17 @@ /obj/effect/heretic_influence/proc/drain_influence(mob/living/user, knowledge_to_gain) being_drained = TRUE - balloon_alert(user, "draining influence...") + loc.balloon_alert(user, "draining influence...") if(!do_after(user, 10 SECONDS, src, hidden = TRUE)) being_drained = FALSE - balloon_alert(user, "interrupted!") + loc.balloon_alert(user, "interrupted!") return // We don't need to set being_drained back since we delete after anyways - balloon_alert(user, "influence drained") + loc.balloon_alert(user, "influence drained") - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) heretic_datum.knowledge_points += knowledge_to_gain // Aaand now we delete it diff --git a/code/modules/antagonists/heretic/items/eldritch_painting.dm b/code/modules/antagonists/heretic/items/eldritch_painting.dm index 3e9d3675b1351..5155737a12f7f 100644 --- a/code/modules/antagonists/heretic/items/eldritch_painting.dm +++ b/code/modules/antagonists/heretic/items/eldritch_painting.dm @@ -7,7 +7,6 @@ flags_1 = NONE icon_state = "eldritch_painting_debug" result_path = /obj/structure/sign/painting/eldritch - pixel_shift = 30 /obj/structure/sign/painting/eldritch name = "The Blank Canvas: A Study in Default Subtypes" diff --git a/code/modules/antagonists/heretic/items/forbidden_book.dm b/code/modules/antagonists/heretic/items/forbidden_book.dm index 38f42b58c5e82..2591a1fd752a9 100644 --- a/code/modules/antagonists/heretic/items/forbidden_book.dm +++ b/code/modules/antagonists/heretic/items/forbidden_book.dm @@ -47,7 +47,7 @@ update_weight_class(WEIGHT_CLASS_NORMAL) /obj/item/codex_cicatrix/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) if(!heretic_datum) return NONE if(isopenturf(interacting_with)) diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm index ddfec8db20cf7..4d2636fa19e8c 100644 --- a/code/modules/antagonists/heretic/items/heretic_blades.dm +++ b/code/modules/antagonists/heretic/items/heretic_blades.dm @@ -10,6 +10,7 @@ inhand_x_dimension = 64 inhand_y_dimension = 64 obj_flags = CONDUCTS_ELECTRICITY + slot_flags = ITEM_SLOT_BELT sharpness = SHARP_EDGED w_class = WEIGHT_CLASS_NORMAL force = 20 @@ -229,7 +230,7 @@ /obj/item/melee/sickly_blade/cursed/interact_with_atom(atom/target, mob/living/user, list/modifiers) . = ..() - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) if(!heretic_datum) return NONE diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm index 3f140dc99df1d..5c73c22a4e793 100644 --- a/code/modules/antagonists/heretic/items/heretic_necks.dm +++ b/code/modules/antagonists/heretic/items/heretic_necks.dm @@ -9,16 +9,16 @@ . = ..() AddElement(/datum/element/heretic_focus) -/obj/item/clothing/neck/heretic_focus/crimson_focus - name = "Crimson Focus" +/obj/item/clothing/neck/heretic_focus/crimson_medallion + name = "Crimson Medallion" desc = "A blood-red focusing glass that provides a link to the world beyond, and worse. Its eye is constantly twitching and gazing in all directions. It almost seems to be silently screaming..." - icon_state = "crimson_focus" + icon_state = "crimson_medallion" /// The aura healing component. Used to delete it when taken off. var/datum/component/component /// If active or not, used to add and remove its cult and heretic buffs. var/active = FALSE -/obj/item/clothing/neck/heretic_focus/crimson_focus/equipped(mob/living/user, slot) +/obj/item/clothing/neck/heretic_focus/crimson_medallion/equipped(mob/living/user, slot) . = ..() if(!(slot & ITEM_SLOT_NECK)) return @@ -51,7 +51,7 @@ healing_color = team_color, \ ) -/obj/item/clothing/neck/heretic_focus/crimson_focus/dropped(mob/living/user) +/obj/item/clothing/neck/heretic_focus/crimson_medallion/dropped(mob/living/user) . = ..() if(!istype(user)) @@ -75,7 +75,7 @@ magic_holder?.magic_enhanced = FALSE -/obj/item/clothing/neck/heretic_focus/crimson_focus/attack_self(mob/living/user, modifiers) +/obj/item/clothing/neck/heretic_focus/crimson_medallion/attack_self(mob/living/user, modifiers) . = ..() to_chat(user, span_danger("You start tightly squeezing [src]...")) if(!do_after(user, 1.25 SECONDS, src)) @@ -90,7 +90,7 @@ user.reagents?.add_reagent(/datum/reagent/eldritch, rand(6, 10)) qdel(src) -/obj/item/clothing/neck/heretic_focus/crimson_focus/examine(mob/user) +/obj/item/clothing/neck/heretic_focus/crimson_medallion/examine(mob/user) . = ..() var/magic_dude diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm index b74569f1a1447..0f532197b6e66 100644 --- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm @@ -1,7 +1,5 @@ /** * # The path of Ash. - * Spell names are in this language: OLD NORDIC - * Both are related: Nordic Mythology-Yggdrassil-Ash Tree Genus-Ash * * Goes as follows: * @@ -53,7 +51,7 @@ cost = 1 route = PATH_ASH depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_ash" /datum/heretic_knowledge/ashen_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -163,7 +161,7 @@ His city, the people he swore to watch... and watch he did, as they all burnt to cinders." next_knowledge = list(/datum/heretic_knowledge/spell/flame_birth) route = PATH_ASH - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' 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) @@ -233,7 +231,7 @@ text = "[generate_heretic_text()] Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_ash.ogg', - color_override = "white", + color_override = "pink", ) var/datum/action/cooldown/spell/fire_sworn/circle_spell = new(user.mind) diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.dm b/code/modules/antagonists/heretic/knowledge/blade_lore.dm index 357e789416d1d..96b75f087185a 100644 --- a/code/modules/antagonists/heretic/knowledge/blade_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.dm @@ -1,7 +1,5 @@ /** * # The path of Blades. Stab stab. - * Spell names are in this language: ARAMAIC - * Both are related: Aramaic-Damascus-Blade * * Goes as follows: * @@ -57,7 +55,7 @@ cost = 1 route = PATH_BLADE depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_blade" /datum/heretic_knowledge/blade_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -325,7 +323,7 @@ a flurry of blades, neither hitting their mark, for the Champion was indomitable." next_knowledge = list(/datum/heretic_knowledge/spell/furious_steel) route = PATH_BLADE - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_blade" /// How much force do we apply to the offhand? var/offand_force_decrement = 0 diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm index 8a94aada74a67..f77f6424f1258 100644 --- a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm @@ -1,7 +1,5 @@ /** * # The path of Cosmos. - * Spell names are in this language: SUMERIAN - * Both are related: Sumerian-Original-Primordial-Cosmic * * Goes as follows: * @@ -53,7 +51,7 @@ cost = 1 route = PATH_COSMIC depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_cosmos" /datum/heretic_knowledge/cosmic_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -145,7 +143,7 @@ The blades now glistened with fragmented power. I fell to the ground and wept at the beast's feet." next_knowledge = list(/datum/heretic_knowledge/spell/cosmic_expansion) route = PATH_COSMIC - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_cosmos" /// Storage for the second target. var/datum/weakref/second_target @@ -285,7 +283,7 @@ text = "[generate_heretic_text()] A Star Gazer has arrived into the station, [user.real_name] has ascended! This station is the domain of the Cosmos! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_cosmic.ogg', - color_override = "purple", + color_override = "pink", ) var/mob/living/basic/heretic_summon/star_gazer/star_gazer_mob = new /mob/living/basic/heretic_summon/star_gazer(loc) star_gazer_mob.maxHealth = INFINITY diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm index e0b82651bc9d6..a71da1dce0b3d 100644 --- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm @@ -5,8 +5,6 @@ /** * # The path of Flesh. - * Spell names are in this language: LATIN - * Both are related: Latin-Rome-Hedonism-Flesh * * Goes as follows: * @@ -69,7 +67,7 @@ cost = 1 route = PATH_FLESH depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_flesh" /datum/heretic_knowledge/limited_amount/flesh_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -144,7 +142,7 @@ limit = 2 cost = 1 route = PATH_FLESH - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "ghoul_voiceless" depth = 4 @@ -271,7 +269,7 @@ I finally began to understand. And then, blood rained from the heavens." next_knowledge = list(/datum/heretic_knowledge/summon/stalker) route = PATH_FLESH - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_flesh" ///What type of wound do we apply on hit var/wound_type = /datum/wound/slash/flesh/severe @@ -332,14 +330,14 @@ text = "[generate_heretic_text()] Ever coiling vortex. Reality unfolded. ARMS OUTREACHED, THE LORD OF THE NIGHT, [user.real_name] has ascended! Fear the ever twisting hand! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_flesh.ogg', - color_override = "red", + color_override = "pink", ) var/datum/action/cooldown/spell/shapeshift/shed_human_form/worm_spell = new(user.mind) worm_spell.Grant(user) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) var/datum/heretic_knowledge/limited_amount/flesh_grasp/grasp_ghoul = heretic_datum.get_knowledge(/datum/heretic_knowledge/limited_amount/flesh_grasp) grasp_ghoul.limit *= 3 var/datum/heretic_knowledge/limited_amount/flesh_ghoul/ritual_ghoul = heretic_datum.get_knowledge(/datum/heretic_knowledge/limited_amount/flesh_ghoul) diff --git a/code/modules/antagonists/heretic/knowledge/general_side.dm b/code/modules/antagonists/heretic/knowledge/general_side.dm index 27f0e11b4467b..10ff108c5f8fa 100644 --- a/code/modules/antagonists/heretic/knowledge/general_side.dm +++ b/code/modules/antagonists/heretic/knowledge/general_side.dm @@ -18,7 +18,7 @@ /datum/heretic_knowledge/reroll_targets/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) // Check first if they have a Living Heart. If it's missing, we should // throw a fail to show the heretic that there's no point in rerolling // if you don't have a heart to track the targets in the first place. @@ -29,7 +29,7 @@ return TRUE /datum/heretic_knowledge/reroll_targets/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) for(var/mob/living/carbon/human/target as anything in heretic_datum.sac_targets) heretic_datum.remove_sacrifice_target(target) diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.dm b/code/modules/antagonists/heretic/knowledge/lock_lore.dm index b238d6dd3c7f3..0e55fb10703ee 100644 --- a/code/modules/antagonists/heretic/knowledge/lock_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/lock_lore.dm @@ -1,7 +1,5 @@ /** * # The path of Lock. - * Spell names are in this language: EGYPTIAN - * Both are related: Egyptian-Mysteries-Secrets-Lock * * Goes as follows: * @@ -54,7 +52,7 @@ cost = 1 route = PATH_LOCK depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_lock" /datum/heretic_knowledge/lock_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -138,7 +136,7 @@ /datum/heretic_knowledge/limited_amount/concierge_rite // item that creates 3 max at a time heretic only barriers, probably should limit to 1 only, holy people can also pass name = "Concierge's Rite" - desc = "Allows you to transmute a white crayon, a wooden plank, and a multitool to create a Labyrinth Handbook. \ + desc = "Allows you to transmute a stick of chalk, a wooden plank, and a multitool to create a Labyrinth Handbook. \ It can materialize a barricade at range that only you and people resistant to magic can pass. 3 uses." gain_text = "The Concierge scribbled my name into the Handbook. \"Welcome to your new home, fellow Steward.\"" required_atoms = list( @@ -178,7 +176,7 @@ next_knowledge = list(/datum/heretic_knowledge/spell/caretaker_refuge) route = PATH_LOCK wound_type = /datum/wound/slash/flesh/critical - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_lock" var/chance = 35 @@ -243,14 +241,14 @@ text = "Delta-class dimensional anomaly detec[generate_heretic_text()] Reality rended, torn. Gates open, doors open, [user.real_name] has ascended! Fear the tide! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_knock.ogg', - color_override = "yellow", + color_override = "pink", ) // buffs var/datum/action/cooldown/spell/shapeshift/eldritch/ascension/transform_spell = new(user.mind) transform_spell.Grant(user) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) var/datum/heretic_knowledge/blade_upgrade/flesh/lock/blade_upgrade = heretic_datum.get_knowledge(/datum/heretic_knowledge/blade_upgrade/flesh/lock) blade_upgrade.chance += 30 new /obj/structure/lock_tear(loc, user.mind) diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm index 5ba55b64058cb..5cc26ee904551 100644 --- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm @@ -1,7 +1,5 @@ /** * # The path of Moon. - * Spell names are in this language: ANCIENT HEBREW - * Both are related: Ancient Hebrew-Moon Mysticism-Moon * * Goes as follows: * @@ -56,7 +54,7 @@ cost = 1 route = PATH_MOON depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_moon" /datum/heretic_knowledge/moon_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -150,7 +148,7 @@ gain_text = "His wit was sharp as a blade, cutting through the lie to bring us joy." next_knowledge = list(/datum/heretic_knowledge/spell/moon_ringleader) route = PATH_MOON - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' 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) @@ -211,7 +209,7 @@ The truth shall finally devour the lie! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_moon.ogg', - color_override = "blue", + color_override = "pink", ) ADD_TRAIT(user, TRAIT_MADNESS_IMMUNE, REF(src)) @@ -236,7 +234,7 @@ to_chat(crewmate, span_boldwarning("[user]'s rise is influencing those who are weak willed. Their minds shall rend." )) continue // Mindshielded and anti-magic folks are immune against this effect because this is a magical mind effect - if(HAS_TRAIT(crewmate, TRAIT_MINDSHIELD) || crewmate.can_block_magic(MAGIC_RESISTANCE)) + if(HAS_MIND_TRAIT(crewmate, TRAIT_UNCONVERTABLE) || crewmate.can_block_magic(MAGIC_RESISTANCE)) to_chat(crewmate, span_boldwarning("You feel shielded from something." )) continue if(amount_of_lunatics > length(GLOB.human_list) * 0.2) diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm index 5e96119135f71..c1de33d9a58b5 100644 --- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm @@ -1,6 +1,5 @@ /** * # The path of Rust. - * Spell names are in this language: OLD SLAVIC * * Goes as follows: * @@ -56,7 +55,7 @@ cost = 1 route = PATH_RUST depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_rust" /datum/heretic_knowledge/rust_fist/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -169,7 +168,7 @@ The heavy rust weights it down. You stare deeply into it. The Rusted Hills call for you, now." next_knowledge = list(/datum/heretic_knowledge/spell/entropic_plume) route = PATH_RUST - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_rust" /datum/heretic_knowledge/blade_upgrade/rust/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -199,7 +198,7 @@ /datum/heretic_knowledge/spell/entropic_plume/on_gain(mob/user) . = ..() - var/datum/antagonist/heretic/our_heretic = IS_HERETIC(user) + var/datum/antagonist/heretic/our_heretic = GET_HERETIC(user) our_heretic.increase_rust_strength(TRUE) /datum/heretic_knowledge/ultimate/rust_final @@ -220,7 +219,6 @@ /// A static list of traits we give to the heretic when on rust. var/static/list/conditional_immunities = list( TRAIT_BOMBIMMUNE, - TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_IGNORESLOWDOWN, TRAIT_NO_SLIP_ALL, TRAIT_NOBREATH, @@ -258,7 +256,7 @@ text = "[generate_heretic_text()] Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_rust.ogg', - color_override = "brown", + color_override = "pink", ) trigger(loc) RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) @@ -306,7 +304,7 @@ * * Gives our heretic ([source]) buffs if they stand on rust. */ -/datum/heretic_knowledge/ultimate/rust_final/proc/on_move(mob/source, atom/old_loc, dir, forced, list/old_locs) +/datum/heretic_knowledge/ultimate/rust_final/proc/on_move(mob/living/source, atom/old_loc, dir, forced, list/old_locs) SIGNAL_HANDLER // If we're on a rusty turf, and haven't given out our traits, buff our guy @@ -314,12 +312,14 @@ if(HAS_TRAIT(our_turf, TRAIT_RUSTY)) if(!immunities_active) source.add_traits(conditional_immunities, type) + source.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) immunities_active = TRUE // If we're not on a rust turf, and we have given out our traits, nerf our guy else if(immunities_active) source.remove_traits(conditional_immunities, type) + source.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) immunities_active = FALSE /** diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm index 8da3b90494899..476e3968b2bfd 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm @@ -66,7 +66,7 @@ CRASH("Failed to lazy load heretic sacrifice template!") /datum/heretic_knowledge/hunt_and_sacrifice/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) // First we have to check if the heretic has a Living Heart. // You may wonder why we don't straight up prevent them from invoking the ritual if they don't have one - // Hunt and sacrifice should always be invokable for clarity's sake, even if it'll fail immediately. @@ -99,7 +99,7 @@ return FALSE /datum/heretic_knowledge/hunt_and_sacrifice/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) // Force it to work if the sacrifice is a cultist, even if there's no targets. var/mob/living/carbon/human/sac = selected_atoms[1] if(!LAZYLEN(heretic_datum.sac_targets) && !IS_CULTIST(sac)) @@ -193,7 +193,7 @@ */ /datum/heretic_knowledge/hunt_and_sacrifice/proc/sacrifice_process(mob/living/user, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) var/mob/living/carbon/human/sacrifice = locate() in selected_atoms if(!sacrifice) CRASH("[type] sacrifice_process didn't have a human in the atoms list. How'd it make it so far?") @@ -207,14 +207,14 @@ var/feedback = "Your patrons accept your offer" var/sac_job_flag = sacrifice.mind?.assigned_role?.job_flags | sacrifice.last_mind?.assigned_role?.job_flags - var/datum/antagonist/cult/cultist_datum = IS_CULTIST(sacrifice) + var/datum/antagonist/cult/cultist_datum = GET_CULTIST(sacrifice) // Heads give 3 points, cultists give 1 point (and a special reward), normal sacrifices give 2 points. heretic_datum.total_sacrifices++ if((sac_job_flag & JOB_HEAD_OF_STAFF)) heretic_datum.knowledge_points += 3 heretic_datum.high_value_sacrifices++ feedback += " graciously" - else if(cultist_datum) + if(cultist_datum) heretic_datum.knowledge_points += 1 grant_reward(user, sacrifice, loc) // easier to read @@ -229,9 +229,9 @@ span_narsie(" one of our own. Destroy and sacrifice the infidel before it claims more!") to_chat(mind.current, message) // he(retic) gets a warn too - var/message = span_cult_bold("You feel that your action has attracted") + \ - span_cult_bold_italic(" attention.") - to_chat(user, message) + to_chat(user, span_narsiesmall("How DARE you!? I will see you destroyed for this.")) + var/non_flavor_warning = span_cult_bold("You feel that your action has attracted ") + span_hypnophrase("attention") + span_cult_bold(".") + to_chat(user, non_flavor_warning) return else heretic_datum.knowledge_points += 2 @@ -260,15 +260,9 @@ sacrifice.dust(TRUE, TRUE) // Increase reward counter - var/datum/antagonist/heretic/antag = IS_HERETIC(user) + var/datum/antagonist/heretic/antag = GET_HERETIC(user) antag.rewards_given++ - // We limit the amount so the heretic doesn't just turn into a frickin' god (early) - to_chat(user, span_hierophant("You feel the rotten energies of the infidel warp and twist, mixing with that of your own...")) - if(prob(8 * antag.rewards_given)) - to_chat(user, span_hierophant("Faint, dark red sparks flit around the dust, then fade. It looks like your patrons weren't able to fashion something out of it.")) - return - // Cool effect for the rune as well as the item var/obj/effect/heretic_rune/rune = locate() in range(2, user) if(rune) @@ -285,10 +279,10 @@ /datum/heretic_knowledge/hunt_and_sacrifice/proc/deposit_reward(mob/user, turf/loc, loop = 0, obj/rune) if(loop > 5) // Max limit for retrying a reward return - // Remove the rays, we don't need them anymore. + // Remove the outline, we don't need it anymore. rune?.remove_filter("reward_outline") playsound(loc, 'sound/magic/repulse.ogg', 75, TRUE) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) ASSERT(heretic_datum) // This list will be almost identical to unlocked_heretic_items, with the same keys, the difference being the values will be 1 to 5. var/list/rewards = heretic_datum.unlocked_heretic_items.Copy() @@ -422,20 +416,13 @@ usable_organs -= /obj/item/organ/internal/lungs/corrupt // Their lungs are already more cursed than anything I could give them var/total_implant = rand(2, 4) - var/gave_any = FALSE for (var/i in 1 to total_implant) if (!length(usable_organs)) - break + return var/organ_path = pick_n_take(usable_organs) var/obj/item/organ/internal/to_give = new organ_path - if (!to_give.Insert(sac_target)) - qdel(to_give) - else - gave_any = TRUE - - if (!gave_any) - return + to_give.Insert(sac_target) new /obj/effect/gibspawner/human/bodypartless(get_turf(sac_target)) sac_target.visible_message(span_boldwarning("Several organs force themselves out of [sac_target]!")) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm index bc6cb750b219a..721af03b2edfd 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm @@ -68,17 +68,7 @@ GLOBAL_LIST_EMPTY(heretic_sacrifice_landmarks) fire_brightness = 3.5 bulb_power = 0.5 -/obj/machinery/light/very_dim/directional/north - dir = NORTH - -/obj/machinery/light/very_dim/directional/south - dir = SOUTH - -/obj/machinery/light/very_dim/directional/east - dir = EAST - -/obj/machinery/light/very_dim/directional/west - dir = WEST +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/very_dim) // Rooms for where heretic sacrifices send people. /area/centcom/heretic_sacrifice @@ -87,12 +77,11 @@ GLOBAL_LIST_EMPTY(heretic_sacrifice_landmarks) has_gravity = STANDARD_GRAVITY ambience_index = AMBIENCE_SPOOKY sound_environment = SOUND_ENVIRONMENT_CAVE - area_flags = UNIQUE_AREA | NOTELEPORT | HIDDEN_AREA | BLOCK_SUICIDE + area_flags = UNIQUE_AREA | NOTELEPORT | HIDDEN_AREA | BLOCK_SUICIDE | NO_BOH /area/centcom/heretic_sacrifice/Initialize(mapload) if(!ambientsounds) - ambientsounds = GLOB.ambience_assoc[ambience_index] - ambientsounds += 'sound/ambience/ambiatm1.ogg' + ambientsounds = GLOB.ambience_assoc[ambience_index] + 'sound/ambience/ambiatm1.ogg' return ..() /area/centcom/heretic_sacrifice/ash //also, the default diff --git a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm index 758ee0548d5fc..02d0737be18a0 100644 --- a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm @@ -40,7 +40,7 @@ curse_color = "#f19a9a" cost = 1 route = PATH_SIDE - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "curse_paralysis" depth = 8 @@ -82,12 +82,3 @@ route = PATH_SIDE poll_ignore_define = POLL_IGNORE_ASH_SPIRIT depth = 10 - -/datum/heretic_knowledge/summon/ashy/cleanup_atoms(list/selected_atoms) - var/obj/item/bodypart/head/ritual_head = locate() in selected_atoms - if(!ritual_head) - CRASH("[type] required a head bodypart, yet did not have one in selected_atoms when it reached cleanup_atoms.") - - // Spill out any brains or stuff before we delete it. - ritual_head.drop_organs() - return ..() diff --git a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm index 11918c66a2906..05d513438cb4a 100644 --- a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm +++ b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm @@ -67,7 +67,7 @@ curse_color = "#c1ffc9" cost = 1 route = PATH_SIDE - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "curse_corrosion" depth = 8 @@ -104,11 +104,3 @@ poll_ignore_define = POLL_IGNORE_RUST_SPIRIT depth = 8 -/datum/heretic_knowledge/summon/rusty/cleanup_atoms(list/selected_atoms) - var/obj/item/bodypart/head/ritual_head = locate() in selected_atoms - if(!ritual_head) - CRASH("[type] required a head bodypart, yet did not have one in selected_atoms when it reached cleanup_atoms.") - - // Spill out any brains or stuff before we delete it. - ritual_head.drop_organs() - return ..() diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm index 56945262e3cb0..8bd4880cc1ecd 100644 --- a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm @@ -23,7 +23,7 @@ limit = 1 cost = 1 route = PATH_SIDE - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "ghoul_shattered" depth = 4 diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.dm b/code/modules/antagonists/heretic/knowledge/starting_lore.dm index 7cb3b82a39ac2..54440b62a8c11 100644 --- a/code/modules/antagonists/heretic/knowledge/starting_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.dm @@ -1,5 +1,4 @@ // Heretic starting knowledge. -// Default heretic language is Ancient Greek, because, uh, they're like ancient and shit. /// Global list of all heretic knowledge that have route = PATH_START. List of PATHS. GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) @@ -108,7 +107,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) return TRUE /datum/heretic_knowledge/living_heart/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/our_heretic = IS_HERETIC(user) + var/datum/antagonist/heretic/our_heretic = GET_HERETIC(user) var/obj/item/organ/our_living_heart = user.get_organ_slot(our_heretic.living_heart_organ_slot) // Obviously you need a heart in your chest to do a ritual on your... heart if(!our_living_heart) @@ -146,7 +145,7 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) return FALSE /datum/heretic_knowledge/living_heart/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - var/datum/antagonist/heretic/our_heretic = IS_HERETIC(user) + var/datum/antagonist/heretic/our_heretic = GET_HERETIC(user) var/obj/item/organ/our_new_heart = user.get_organ_slot(our_heretic.living_heart_organ_slot) // Our heart is robotic or synthetic - we need to replace it, and we fortunately should have one by here @@ -310,20 +309,26 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) required_atoms = list() research_tree_icon_path = 'icons/mob/actions/actions_animal.dmi' research_tree_icon_state = "god_transmit" + /// amount of research points granted + var/reward = 5 /datum/heretic_knowledge/feast_of_owls/can_be_invoked(datum/antagonist/heretic/invoker) return !invoker.feast_of_owls /datum/heretic_knowledge/feast_of_owls/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - //amount of research points granted - var/reward = 5 var/alert = tgui_alert(user,"Do you really want to forsake your ascension? This action cannot be reverted.", "Feast of Owls", list("Yes I'm sure", "No"), 30 SECONDS) - if( alert != "Yes I'm sure") + if(alert != "Yes I'm sure" || QDELETED(user) || QDELETED(src) || get_dist(user, loc) > 2) return FALSE - user.set_temp_blindness(reward SECONDS) - user.AdjustParalyzed(reward SECONDS) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) + if(QDELETED(heretic_datum) || heretic_datum.feast_of_owls) + return FALSE + + . = TRUE + + heretic_datum.feast_of_owls = TRUE + user.set_temp_blindness(reward * 1 SECONDS) + user.AdjustParalyzed(reward * 1 SECONDS) user.playsound_local(get_turf(user), 'sound/ambience/antag/heretic/heretic_gain_intense.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) for(var/i in 1 to reward) user.emote("scream") playsound(loc, 'sound/items/eatfood.ogg', 100, TRUE) @@ -331,7 +336,10 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) to_chat(user, span_danger("You feel something invisible tearing away at your very essence!")) user.do_jitter_animation() sleep(1 SECONDS) - heretic_datum.feast_of_owls = TRUE + if(QDELETED(user) || QDELETED(heretic_datum)) + return FALSE + to_chat(user, span_danger(span_big("Your ambition is ravaged, but something powerful remains in its wake..."))) var/drain_message = pick(strings(HERETIC_INFLUENCE_FILE, "drain_message")) to_chat(user, span_hypnophrase(span_big("[drain_message]"))) + return . diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm index 482de8184401b..3533279d67e38 100644 --- a/code/modules/antagonists/heretic/knowledge/void_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm @@ -1,7 +1,5 @@ /** * # The path of VOID. - * Spell names are in this language: PALI - * Both are related: Pali-Buddhism-Nothingness-Void * * Goes as follows: * @@ -63,7 +61,7 @@ cost = 1 route = PATH_VOID depth = 3 - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "grasp_void" /datum/heretic_knowledge/void_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) @@ -155,7 +153,7 @@ gain_text = "Fleeting memories, fleeting feet. I mark my way with frozen blood upon the snow. Covered and forgotten." next_knowledge = list(/datum/heretic_knowledge/spell/void_pull) route = PATH_VOID - research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_path = 'icons/ui/antags/heretic/knowledge.dmi' research_tree_icon_state = "blade_upgrade_void" /datum/heretic_knowledge/blade_upgrade/void/do_ranged_effects(mob/living/user, mob/living/target, obj/item/melee/sickly_blade/blade) @@ -221,7 +219,7 @@ text = "[generate_heretic_text()] The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_void.ogg', - color_override = "blue", + color_override = "pink", ) ADD_TRAIT(user, TRAIT_RESISTLOWPRESSURE, MAGIC_TRAIT) diff --git a/code/modules/antagonists/heretic/magic/aggressive_spread.dm b/code/modules/antagonists/heretic/magic/aggressive_spread.dm index 0c14550f0b269..dfb4a94847406 100644 --- a/code/modules/antagonists/heretic/magic/aggressive_spread.dm +++ b/code/modules/antagonists/heretic/magic/aggressive_spread.dm @@ -10,8 +10,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "Agresiv'noe rasprostra-neniye!" - invocation_type = INVOCATION_SHOUT + invocation = "A'GRSV SPR'D" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE aoe_radius = 2 diff --git a/code/modules/antagonists/heretic/magic/apetravulnera.dm b/code/modules/antagonists/heretic/magic/apetravulnera.dm index eedef71f4b6c8..e80d08911848c 100644 --- a/code/modules/antagonists/heretic/magic/apetravulnera.dm +++ b/code/modules/antagonists/heretic/magic/apetravulnera.dm @@ -10,8 +10,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "Shea' shen-eh!" - invocation_type = INVOCATION_SHOUT + invocation = "AP'TRA VULN'RA!" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE cast_range = 4 diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.dm b/code/modules/antagonists/heretic/magic/ash_ascension.dm index 70422a7c48a37..8b564198a61eb 100644 --- a/code/modules/antagonists/heretic/magic/ash_ascension.dm +++ b/code/modules/antagonists/heretic/magic/ash_ascension.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 70 SECONDS - invocation = "EID'R-ELDR!!!" + invocation = "FL'MS" invocation_type = INVOCATION_WHISPER spell_requirements = NONE @@ -72,8 +72,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "ILLA-LASARA'FOSS!!!" - invocation_type = INVOCATION_SHOUT + invocation = "C'SC'DE" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE /// The radius the flames will go around the caster. @@ -112,7 +112,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 300 - invocation = "Eld'sky!" + invocation = "F'RE" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/ash_jaunt.dm b/code/modules/antagonists/heretic/magic/ash_jaunt.dm index 4f8c59d635145..41242063a9098 100644 --- a/code/modules/antagonists/heretic/magic/ash_jaunt.dm +++ b/code/modules/antagonists/heretic/magic/ash_jaunt.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "Askgraar' goetur!" + invocation = "ASH'N P'SSG'" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/blood_cleave.dm b/code/modules/antagonists/heretic/magic/blood_cleave.dm index b3370a3ccc614..d5317f23e344b 100644 --- a/code/modules/antagonists/heretic/magic/blood_cleave.dm +++ b/code/modules/antagonists/heretic/magic/blood_cleave.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "Fer're!" + invocation = "CL'VE!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/blood_siphon.dm b/code/modules/antagonists/heretic/magic/blood_siphon.dm index 6280353a072a5..1e3d6258826d4 100644 --- a/code/modules/antagonists/heretic/magic/blood_siphon.dm +++ b/code/modules/antagonists/heretic/magic/blood_siphon.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "Sanguis suctio!" + invocation = "FL'MS O'ET'RN'ITY." invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/burglar_finesse.dm b/code/modules/antagonists/heretic/magic/burglar_finesse.dm index c5264119bb48e..a90acb8495f14 100644 --- a/code/modules/antagonists/heretic/magic/burglar_finesse.dm +++ b/code/modules/antagonists/heretic/magic/burglar_finesse.dm @@ -9,7 +9,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 40 SECONDS - invocation = "Khenem" + invocation = "Y'O'K!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm index 6869dc0df51c0..3fb197d392cb0 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "An'gar baltil!" + invocation = "C'SM'S 'XP'ND" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/cosmic_runes.dm b/code/modules/antagonists/heretic/magic/cosmic_runes.dm index e07aa4fbe8b8a..207b60ae9393a 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_runes.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_runes.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "Is'zara-runen" + invocation = "ST'R R'N'" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/eldritch_blind.dm b/code/modules/antagonists/heretic/magic/eldritch_blind.dm index 413ff4fe67810..8df20503821b0 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_blind.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_blind.dm @@ -5,7 +5,7 @@ overlay_icon_state = "bg_heretic_border" school = SCHOOL_FORBIDDEN - invocation = "Caecus" + invocation = "E'E'S" spell_requirements = NONE cast_range = 10 diff --git a/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm b/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm index 4028f80f84cea..c68ed07c81f8c 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm @@ -8,7 +8,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "Pulsus Energiae" + invocation = "E'P" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm index bde032a3b39fd..e598f1f9215b9 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm @@ -7,7 +7,7 @@ overlay_icon_state = "bg_heretic_border" school = SCHOOL_FORBIDDEN - invocation = "Forma" + invocation = "SH'PE" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/fire_blast.dm b/code/modules/antagonists/heretic/magic/fire_blast.dm index 8c6d632be9f2d..4c17ca5ffc0de 100644 --- a/code/modules/antagonists/heretic/magic/fire_blast.dm +++ b/code/modules/antagonists/heretic/magic/fire_blast.dm @@ -12,7 +12,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "Eld'fjall!" + invocation = "V'LC'N!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE channel_time = 5 SECONDS diff --git a/code/modules/antagonists/heretic/magic/flesh_ascension.dm b/code/modules/antagonists/heretic/magic/flesh_ascension.dm index add0704a8d61a..a2d792080e058 100644 --- a/code/modules/antagonists/heretic/magic/flesh_ascension.dm +++ b/code/modules/antagonists/heretic/magic/flesh_ascension.dm @@ -9,7 +9,7 @@ school = SCHOOL_FORBIDDEN - invocation = "REALITAS EXSERPAT!!" + invocation = "REALITY UNCOIL!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/flesh_surgery.dm b/code/modules/antagonists/heretic/magic/flesh_surgery.dm index 96ccb8450f97b..ff474f063198f 100644 --- a/code/modules/antagonists/heretic/magic/flesh_surgery.dm +++ b/code/modules/antagonists/heretic/magic/flesh_surgery.dm @@ -11,8 +11,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Carnis chirurgia" - invocation_type = INVOCATION_WHISPER + invocation = "CL'M M'N!" // "CLAIM MINE", but also almost "KALI MA" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE hand_path = /obj/item/melee/touch_attack/flesh_surgery @@ -83,7 +83,7 @@ return . -/// If cast on an organ, we'll restore it's health and even un-fail it. +/// If cast on an organ, we'll restore its health and even un-fail it. /datum/action/cooldown/spell/touch/flesh_surgery/proc/heal_organ(obj/item/melee/touch_attack/hand, obj/item/organ/to_heal, mob/living/carbon/caster) if(to_heal.damage == 0) to_heal.balloon_alert(caster, "already in good condition!") diff --git a/code/modules/antagonists/heretic/magic/furious_steel.dm b/code/modules/antagonists/heretic/magic/furious_steel.dm index 36c7c07608bcb..0ab882a9289e1 100644 --- a/code/modules/antagonists/heretic/magic/furious_steel.dm +++ b/code/modules/antagonists/heretic/magic/furious_steel.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 60 SECONDS - invocation = "Ham'sana-qasep!" + invocation = "F'LSH'NG S'LV'R!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/manse_link.dm b/code/modules/antagonists/heretic/magic/manse_link.dm index e077c6db2b45f..06fd4dd9863f4 100644 --- a/code/modules/antagonists/heretic/magic/manse_link.dm +++ b/code/modules/antagonists/heretic/magic/manse_link.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Diaperaste' to-myalo!" + invocation = "PI'RC' TH' M'ND." invocation_type = INVOCATION_SHOUT spell_requirements = NONE antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 803bdd3d218e5..43dde25374f89 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -10,7 +10,7 @@ school = SCHOOL_EVOCATION cooldown_time = 10 SECONDS - invocation = "Ad verum per aspera!" + invocation = "R'CH T'H TR'TH!" invocation_type = INVOCATION_SHOUT // Mimes can cast it. Chaplains can cast it. Anyone can cast it, so long as they have a hand. spell_requirements = SPELL_CASTABLE_WITHOUT_INVOCATION diff --git a/code/modules/antagonists/heretic/magic/mind_gate.dm b/code/modules/antagonists/heretic/magic/mind_gate.dm index aa6b8ef20af4d..c5a6e74452a61 100644 --- a/code/modules/antagonists/heretic/magic/mind_gate.dm +++ b/code/modules/antagonists/heretic/magic/mind_gate.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Sha'ar ha-da'at" + invocation = "Op' 'oY 'Mi'd" invocation_type = INVOCATION_WHISPER spell_requirements = NONE cast_range = 6 diff --git a/code/modules/antagonists/heretic/magic/moon_parade.dm b/code/modules/antagonists/heretic/magic/moon_parade.dm index 4919500e351de..3b7f1d007cd6e 100644 --- a/code/modules/antagonists/heretic/magic/moon_parade.dm +++ b/code/modules/antagonists/heretic/magic/moon_parade.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "Tsiyun' levani!" + invocation = "L'N'R P'RAD" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/moon_ringleader.dm b/code/modules/antagonists/heretic/magic/moon_ringleader.dm index e62c34bb990bb..3c0b1d2aedb52 100644 --- a/code/modules/antagonists/heretic/magic/moon_ringleader.dm +++ b/code/modules/antagonists/heretic/magic/moon_ringleader.dm @@ -12,7 +12,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 1 MINUTES - invocation = "Manahel-qomem!" + invocation = "R''S 'E" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/moon_smile.dm b/code/modules/antagonists/heretic/magic/moon_smile.dm index 236fd257e385d..35f2d77e3e6b6 100644 --- a/code/modules/antagonists/heretic/magic/moon_smile.dm +++ b/code/modules/antagonists/heretic/magic/moon_smile.dm @@ -12,7 +12,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Hiyuk-levana!" + invocation = "Mo'N S'M'LE" invocation_type = INVOCATION_SHOUT spell_requirements = NONE cast_range = 6 diff --git a/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm b/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm index 8a9b60644b6b7..4e37f5db17fed 100644 --- a/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm +++ b/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 1 MINUTES - invocation = "Dyrth-a Vaktry'ggjandi" + invocation = "GL'RY T' TH' N'GHT'W'TCH'ER" invocation_type = INVOCATION_WHISPER spell_requirements = SPELL_REQUIRES_HUMAN diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm index dbce0fe0940dd..d3ddc03fbbef3 100644 --- a/code/modules/antagonists/heretic/magic/realignment.dm +++ b/code/modules/antagonists/heretic/magic/realignment.dm @@ -14,8 +14,8 @@ cooldown_reduction_per_rank = -6 SECONDS // we're not a wizard spell but we use the levelling mechanic spell_max_level = 10 // we can get up to / over a minute duration cd time - invocation = "Rasut" - invocation_type = INVOCATION_WHISPER + invocation = "R'S'T." + invocation_type = INVOCATION_SHOUT spell_requirements = NONE /datum/action/cooldown/spell/realignment/is_valid_target(atom/cast_on) diff --git a/code/modules/antagonists/heretic/magic/rust_wave.dm b/code/modules/antagonists/heretic/magic/rust_wave.dm index 7ecb3fd0ffbba..0282a32b2b687 100644 --- a/code/modules/antagonists/heretic/magic/rust_wave.dm +++ b/code/modules/antagonists/heretic/magic/rust_wave.dm @@ -13,8 +13,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "Entro'pichniy-plim!" - invocation_type = INVOCATION_SHOUT + invocation = "'NTR'P'C PL'M'" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE cone_levels = 5 @@ -78,8 +78,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 35 SECONDS - invocation = "Diffunde' verbum!" - invocation_type = INVOCATION_SHOUT + invocation = "SPR'D TH' WO'D" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE projectile_type = /obj/projectile/magic/aoe/rust_wave diff --git a/code/modules/antagonists/heretic/magic/space_crawl.dm b/code/modules/antagonists/heretic/magic/space_crawl.dm index 49677e3bb5086..90f74a37047f3 100644 --- a/code/modules/antagonists/heretic/magic/space_crawl.dm +++ b/code/modules/antagonists/heretic/magic/space_crawl.dm @@ -84,8 +84,8 @@ RegisterSignal(jaunter, SIGNAL_REMOVETRAIT(TRAIT_ALLOW_HERETIC_CASTING), PROC_REF(on_focus_lost)) RegisterSignal(jaunter, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change)) - our_turf.visible_message(span_warning("[jaunter] sinks into [our_turf]!")) playsound(our_turf, 'sound/magic/cosmic_energy.ogg', 50, TRUE, -1) + our_turf.visible_message(span_warning("[jaunter] sinks into [our_turf]!")) new /obj/effect/temp_visual/space_explosion(our_turf) jaunter.extinguish_mob() @@ -102,7 +102,6 @@ if(!exit_jaunt(jaunter, our_turf)) return FALSE - our_turf.visible_message(span_boldwarning("[jaunter] rises out of [our_turf]!")) return TRUE diff --git a/code/modules/antagonists/heretic/magic/star_blast.dm b/code/modules/antagonists/heretic/magic/star_blast.dm index 294608a03b998..3eb62b7ada814 100644 --- a/code/modules/antagonists/heretic/magic/star_blast.dm +++ b/code/modules/antagonists/heretic/magic/star_blast.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Pi-rig is'zara!" + invocation = "R'T'T' ST'R!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/star_touch.dm b/code/modules/antagonists/heretic/magic/star_touch.dm index dff56df4e3f1f..89c5d02e7d498 100644 --- a/code/modules/antagonists/heretic/magic/star_touch.dm +++ b/code/modules/antagonists/heretic/magic/star_touch.dm @@ -13,7 +13,7 @@ sound = 'sound/items/welder.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "An'gar sig!" + invocation = "ST'R 'N'RG'!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE antimagic_flags = MAGIC_RESISTANCE diff --git a/code/modules/antagonists/heretic/magic/void_cold_cone.dm b/code/modules/antagonists/heretic/magic/void_cold_cone.dm index 40dc9612a50f6..92c45dc10b010 100644 --- a/code/modules/antagonists/heretic/magic/void_cold_cone.dm +++ b/code/modules/antagonists/heretic/magic/void_cold_cone.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "Sunya'kop!" + invocation = "FR'ZE!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/void_phase.dm b/code/modules/antagonists/heretic/magic/void_phase.dm index f3f0864224c4c..350ca0f29c100 100644 --- a/code/modules/antagonists/heretic/magic/void_phase.dm +++ b/code/modules/antagonists/heretic/magic/void_phase.dm @@ -12,8 +12,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "Sunya'sthiti!" - invocation_type = INVOCATION_SHOUT + invocation = "RE'L'TY PH'S'E." + invocation_type = INVOCATION_WHISPER spell_requirements = NONE cast_range = 9 diff --git a/code/modules/antagonists/heretic/magic/void_pull.dm b/code/modules/antagonists/heretic/magic/void_pull.dm index dc4673b0714ce..2021bf8a04e4f 100644 --- a/code/modules/antagonists/heretic/magic/void_pull.dm +++ b/code/modules/antagonists/heretic/magic/void_pull.dm @@ -11,8 +11,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 40 SECONDS - invocation = "Sunya'apamkti!" - invocation_type = INVOCATION_SHOUT + invocation = "BR'NG F'RTH TH'M T' M'." + invocation_type = INVOCATION_WHISPER spell_requirements = NONE aoe_radius = 7 diff --git a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm index b9502f08967bb..3b78b56ddc0ba 100644 --- a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm +++ b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm @@ -11,8 +11,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 5 MINUTES - invocation = "Kher' Sekh-em waaef'k!" - invocation_type = INVOCATION_SHOUT + invocation = "F'K 'FF." + invocation_type = INVOCATION_WHISPER spell_requirements = NONE aoe_radius = 3 diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm index 35a6ab9268784..1668ea5a11ef7 100644 --- a/code/modules/antagonists/heretic/status_effects/buffs.dm +++ b/code/modules/antagonists/heretic/status_effects/buffs.dm @@ -53,11 +53,11 @@ alert_type = /atom/movable/screen/alert/status_effect/marshal /datum/status_effect/marshal/on_apply() - ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, STATUS_EFFECT_TRAIT) + owner.add_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) return TRUE /datum/status_effect/marshal/on_remove() - REMOVE_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, STATUS_EFFECT_TRAIT) + owner.remove_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) /datum/status_effect/marshal/tick(seconds_between_ticks) if(!iscarbon(owner)) @@ -232,6 +232,7 @@ blade_orbit_radius = 20, time_between_initial_blades = 0.25 SECONDS, blade_recharge_time = 1 MINUTES, + blade_type = /obj/effect/floating_blade, ) src.blade_recharge_time = blade_recharge_time diff --git a/code/modules/antagonists/heretic/transmutation_rune.dm b/code/modules/antagonists/heretic/transmutation_rune.dm index 5e6ad0fb1cf7f..3f7072201590f 100644 --- a/code/modules/antagonists/heretic/transmutation_rune.dm +++ b/code/modules/antagonists/heretic/transmutation_rune.dm @@ -50,7 +50,7 @@ /obj/effect/heretic_rune/proc/try_rituals(mob/living/user) is_in_use = TRUE - var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + var/datum/antagonist/heretic/heretic_datum = GET_HERETIC(user) var/list/rituals = heretic_datum.get_rituals() if(!length(rituals)) loc.balloon_alert(user, "no rituals available!") diff --git a/code/modules/antagonists/highlander/highlander.dm b/code/modules/antagonists/highlander/highlander.dm index 077bd2158b8f6..a1c31241e0b75 100644 --- a/code/modules/antagonists/highlander/highlander.dm +++ b/code/modules/antagonists/highlander/highlander.dm @@ -12,6 +12,7 @@ TRAIT_NODISMEMBER, TRAIT_NOFIRE, TRAIT_NOGUNS, + TRAIT_TOSS_GUN_HARD, TRAIT_SHOCKIMMUNE, ) diff --git a/code/modules/antagonists/malf_ai/malf_ai.dm b/code/modules/antagonists/malf_ai/malf_ai.dm index 358b618df99aa..4dc2568fe0e89 100644 --- a/code/modules/antagonists/malf_ai/malf_ai.dm +++ b/code/modules/antagonists/malf_ai/malf_ai.dm @@ -207,7 +207,7 @@ return data -/datum/antagonist/malf_ai/ui_act(action, list/params) +/datum/antagonist/malf_ai/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/malf_ai/malf_ai_module_picker.dm b/code/modules/antagonists/malf_ai/malf_ai_module_picker.dm index 0ac27c14c97bf..5e95e11c41bca 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_module_picker.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_module_picker.dm @@ -62,7 +62,7 @@ return data -/datum/module_picker/ui_act(action, list/params) +/datum/module_picker/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/malf_ai/malf_ai_modules.dm b/code/modules/antagonists/malf_ai/malf_ai_modules.dm index a80ccec73bf37..fbc1d94811c15 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_modules.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_modules.dm @@ -777,7 +777,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) /datum/action/innate/ai/emergency_lights name = "Disable Emergency Lights" desc = "Disables all emergency lighting. Note that emergency lights can be restored through reboot at an APC." - button_icon = 'icons/obj/lighting.dmi' + button_icon = 'icons/obj/machines/lighting.dmi' button_icon_state = "floor_emergency" uses = 1 @@ -995,7 +995,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) data["selected"] = say_span || owner.speech_span return data -/obj/machinery/ai_voicechanger/ui_act(action, params) +/obj/machinery/ai_voicechanger/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) if(..()) return switch(action) @@ -1044,14 +1044,14 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) owner.speech_span = say_span to_chat(usr, span_notice("Voice set to [selection].")) if("verb") - say_verb = params["verb"] + say_verb = strip_html(params["verb"], MAX_NAME_LEN) if(changing_voice) owner.verb_say = say_verb owner.verb_ask = say_verb owner.verb_exclaim = say_verb owner.verb_yell = say_verb if("name") - say_name = params["name"] + say_name = strip_html(params["name"], MAX_NAME_LEN) /datum/ai_module/utility/emag name = "Targeted Safeties Override" diff --git a/code/modules/antagonists/nightmare/nightmare_equipment.dm b/code/modules/antagonists/nightmare/nightmare_equipment.dm index ec07639cb449c..6fbe6c6097bec 100644 --- a/code/modules/antagonists/nightmare/nightmare_equipment.dm +++ b/code/modules/antagonists/nightmare/nightmare_equipment.dm @@ -52,10 +52,9 @@ if(!has_crit) return playsound(target, 'sound/effects/wounds/crackandbleed.ogg', 100, TRUE) - var/datum/dna/target_dna = target.has_dna() if(target.stat == DEAD) user.visible_message(span_warning("[user] gores [target] with [src]!"), span_warning("You gore [target] with [src], which doesn't accomplish much, but it does make you feel a little better.")) - else if(!target_dna?.check_mutation(/datum/mutation/human/hulk) && (iscarbon(target) || issilicon(target))) + else if(!HAS_TRAIT(target, TRAIT_HULK) && (iscarbon(target) || issilicon(target))) user.visible_message(span_boldwarning("[user] gores [target] with [src], bringing them to a halt!"), span_userdanger("You gore [target] with [src], bringing them to a halt!")) target.Paralyze(issilicon(target) ? 2 SECONDS : 1 SECONDS) else diff --git a/code/modules/antagonists/nightmare/nightmare_organs.dm b/code/modules/antagonists/nightmare/nightmare_organs.dm index 576b911652fa0..19328f20378de 100644 --- a/code/modules/antagonists/nightmare/nightmare_organs.dm +++ b/code/modules/antagonists/nightmare/nightmare_organs.dm @@ -65,11 +65,14 @@ /obj/item/organ/internal/heart/nightmare name = "heart of darkness" desc = "An alien organ that twists and writhes when exposed to light." + visual = TRUE icon_state = "demon_heart-on" base_icon_state = "demon_heart" - visual = TRUE + color = COLOR_CRAYON_BLACK decay_factor = 0 + // No love is to be found in a heart so twisted. + food_reagents = list(/datum/reagent/consumable/nutriment = 5) /// How many life ticks in the dark the owner has been dead for. Used for nightmare respawns. var/respawn_progress = 0 /// The armblade granted to the host of this heart. diff --git a/code/modules/antagonists/ninja/energy_net_nets.dm b/code/modules/antagonists/ninja/energy_net_nets.dm index 111d1f2651548..84d5cbda8e0b5 100644 --- a/code/modules/antagonists/ninja/energy_net_nets.dm +++ b/code/modules/antagonists/ninja/energy_net_nets.dm @@ -15,7 +15,6 @@ density = TRUE //Can't pass through. anchored = TRUE //Can't drag/grab the net. layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE max_integrity = 60 //How much health it has. can_buckle = TRUE buckle_lying = 0 diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm b/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm index 7e06dd0d6e050..fa2718833d36f 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_authentication_disk.dm @@ -26,7 +26,7 @@ /obj/item/disk/nuclear/Initialize(mapload) . = ..() - AddElement(/datum/element/bed_tuckable, mapload, 6, -6, 0) + AddElement(/datum/element/bed_tuckable, mapload, 6, 6, 0) AddComponent(/datum/component/stationloving, !fake) if(!fake) diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm index 8d2e746f0a220..fb23cae705fab 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm @@ -328,7 +328,7 @@ GLOBAL_VAR(station_nuke_source) return data -/obj/machinery/nuclearbomb/ui_act(action, params) +/obj/machinery/nuclearbomb/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/nukeop/equipment/overwatch_tools.dm b/code/modules/antagonists/nukeop/equipment/overwatch_tools.dm index 852c0d7d32fbd..94c16d86dbeb5 100644 --- a/code/modules/antagonists/nukeop/equipment/overwatch_tools.dm +++ b/code/modules/antagonists/nukeop/equipment/overwatch_tools.dm @@ -42,5 +42,4 @@ Happy hunting! icon_state = "sunhudmed" flags_cover = GLASSESCOVERSEYES flash_protect = FLASH_PROTECTION_WELDER - clothing_traits = list(TRAIT_REAGENT_SCANNER) - var/list/hudlist = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED, DATA_HUD_SECURITY_ADVANCED) + clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_SECURITY_HUD, TRAIT_MEDICAL_HUD, TRAIT_DIAGNOSTIC_HUD) diff --git a/code/modules/antagonists/nukeop/equipment/pinpointer.dm b/code/modules/antagonists/nukeop/equipment/pinpointer.dm index 7f7722cc53d02..f842b5d6b6e33 100644 --- a/code/modules/antagonists/nukeop/equipment/pinpointer.dm +++ b/code/modules/antagonists/nukeop/equipment/pinpointer.dm @@ -54,7 +54,7 @@ /obj/item/pinpointer/nuke/proc/switch_mode_to(new_mode) if(isliving(loc)) var/mob/living/L = loc - to_chat(L, span_userdanger("Your [name] beeps as it reconfigures it's tracking algorithms.")) + to_chat(L, span_userdanger("Your [name] beeps as it reconfigures its tracking algorithms.")) playsound(L, 'sound/machines/triple_beep.ogg', 50, TRUE) mode = new_mode scan_for_target() diff --git a/code/modules/antagonists/nukeop/outfits.dm b/code/modules/antagonists/nukeop/outfits.dm index 8c2820d11be68..bd6dbfacf457a 100644 --- a/code/modules/antagonists/nukeop/outfits.dm +++ b/code/modules/antagonists/nukeop/outfits.dm @@ -52,8 +52,7 @@ if(command_radio) radio.command = TRUE radio.use_command = TRUE - - if(ispath(uplink_type, /obj/item/uplink/nuclear) || tc) // /obj/item/uplink/nuclear understands 0 tc + if(ispath(uplink_type, /obj/item/uplink) || tc) // /obj/item/uplink understands 0 tc var/obj/item/uplink = new uplink_type(nukie, nukie.key, tc) nukie.equip_to_slot_or_del(uplink, ITEM_SLOT_BACKPACK, indirect_action = TRUE) @@ -103,8 +102,8 @@ name = "Syndicate Operative - Reinforcement" tc = 0 backpack_contents = list( - /obj/item/gun/ballistic/automatic/plastikov = 1, - /obj/item/ammo_box/magazine/plastikov9mm = 2, + /obj/item/gun/ballistic/automatic/smartgun = 1, + /obj/item/ammo_box/magazine/smartgun = 2, ) var/faction = "The Syndicate" @@ -153,7 +152,7 @@ head = /obj/item/clothing/head/utility/hardhat/orange shoes = /obj/item/clothing/shoes/workboots glasses = /obj/item/clothing/glasses/meson - faction = "the Donk Corporation" + faction = "Donk Company" /datum/outfit/syndicate/reinforcement/waffle name = "Syndicate Operative - Waffle Reinforcement" diff --git a/code/modules/antagonists/pirate/pirate_outfits.dm b/code/modules/antagonists/pirate/pirate_outfits.dm index 72318fe4987ca..14ba07cad274f 100644 --- a/code/modules/antagonists/pirate/pirate_outfits.dm +++ b/code/modules/antagonists/pirate/pirate_outfits.dm @@ -42,6 +42,7 @@ belt = /obj/item/gun/magic/midas_hand l_pocket = /obj/item/coin/gold/doubloon + /datum/outfit/pirate/space name = "Space Pirate (EVA)" @@ -55,6 +56,8 @@ head = /obj/item/clothing/head/helmet/space/pirate + id_trim = /datum/id_trim/pirate/captain + /datum/outfit/pirate/silverscale name = "Silver Scale Member" @@ -151,6 +154,8 @@ suit = /obj/item/clothing/suit/jacket/oversized head = /obj/item/clothing/head/costume/crown + id_trim = /datum/id_trim/pirate/captain + /datum/outfit/pirate/medieval name = "Medieval Warmonger" @@ -181,3 +186,5 @@ belt = /obj/item/gun/magic/hook l_pocket = /obj/item/tank/internals/emergency_oxygen r_pocket = /obj/item/flashlight/lantern + + skillchips = list(/obj/item/skillchip/big_pointer) //they don't have an id, so this is needed diff --git a/code/modules/antagonists/pirate/pirate_roles.dm b/code/modules/antagonists/pirate/pirate_roles.dm index 78a3d3fd12acf..3ea82d4c2002e 100644 --- a/code/modules/antagonists/pirate/pirate_roles.dm +++ b/code/modules/antagonists/pirate/pirate_roles.dm @@ -146,7 +146,7 @@ desc = "A surprisingly clean cryogenic sleeper. You can see your reflection on the sides!" density = FALSE you_are_text = "You are an agent working for the space IRS" - flavour_text = "Not even in the expanse of the expanding universe can someone evade the tax man! Whether you are just a well disciplined and professional pirate gang or an actual agent from a local polity. You will squeeze the station dry of it's income regardless! Through peaceful means or otherwise..." + flavour_text = "Not even in the expanse of the expanding universe can someone evade the tax man! Whether you are just a well disciplined and professional pirate gang or an actual agent from a local polity. You will squeeze the station dry of its income regardless! Through peaceful means or otherwise..." icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" prompt_name = "An agent of the space IRS" @@ -208,7 +208,7 @@ /obj/effect/mob_spawn/ghost_role/human/pirate/medieval/special(mob/living/carbon/spawned_mob) . = ..() if(rank == "Footsoldier") - ADD_TRAIT(spawned_mob, TRAIT_NOGUNS, INNATE_TRAIT) + spawned_mob.add_traits(list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD), INNATE_TRAIT) spawned_mob.AddComponent(/datum/component/unbreakable) var/datum/action/cooldown/mob_cooldown/dash/dodge = new(spawned_mob) dodge.Grant(spawned_mob) diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm index 16cad321853d9..602fcbe8b071f 100644 --- a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm +++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm @@ -161,11 +161,14 @@ desc = "A disk that contains advanced surgery procedures, must be loaded into an Operating Console." surgeries = list( /datum/surgery/advanced/lobotomy, + /datum/surgery/advanced/lobotomy/mechanic, /datum/surgery/advanced/bioware/vein_threading, + /datum/surgery/advanced/bioware/vein_threading/mechanic, /datum/surgery/advanced/bioware/nerve_splicing, + /datum/surgery/advanced/bioware/nerve_splicing/mechanic, /datum/surgery_step/heal/combo/upgraded, /datum/surgery_step/pacify, - /datum/surgery_step/revive, + /datum/surgery_step/pacify/mechanic, ) //Pad & Pad Terminal @@ -261,7 +264,7 @@ data["status_report"] = status_report return data -/obj/machinery/computer/piratepad_control/ui_act(action, params) +/obj/machinery/computer/piratepad_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index dcbc9bc8181fe..13a1ff7e1d606 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -19,7 +19,6 @@ if(affected_mob) affected_mob.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, "#1d2953") if(affected_mob.dna && affected_mob.dna.species) - affected_mob.dna.species.handle_mutant_bodyparts(affected_mob) affected_mob.set_haircolor(null, override = TRUE) to_chat(affected_mob, span_notice("You feel better.")) ..() @@ -66,7 +65,6 @@ affected_mob.adjustStaminaLoss(22.5 * seconds_per_tick, updating_stamina = FALSE) new /obj/effect/temp_visual/revenant(affected_mob.loc) if(affected_mob.dna && affected_mob.dna.species) - affected_mob.dna.species.handle_mutant_bodyparts(affected_mob,"#1d2953") affected_mob.set_haircolor("#1d2953", override = TRUE) affected_mob.visible_message(span_warning("[affected_mob] looks terrifyingly gaunt..."), span_revennotice("You suddenly feel like your skin is wrong...")) affected_mob.add_atom_colour("#1d2953", TEMPORARY_COLOUR_PRIORITY) diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index fa07215cf6715..88dabd337887c 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -15,9 +15,7 @@ /datum/antagonist/rev/can_be_owned(datum/mind/new_owner) if(new_owner.assigned_role.job_flags & JOB_HEAD_OF_STAFF) return FALSE - if(new_owner.unconvertable) - return FALSE - if(new_owner.current && HAS_TRAIT(new_owner.current, TRAIT_MINDSHIELD)) + if(new_owner.current && HAS_MIND_TRAIT(new_owner.current, TRAIT_UNCONVERTABLE)) return FALSE return ..() diff --git a/code/modules/antagonists/spy/spy.dm b/code/modules/antagonists/spy/spy.dm index 8bcc113f08939..2468eb27cad3f 100644 --- a/code/modules/antagonists/spy/spy.dm +++ b/code/modules/antagonists/spy/spy.dm @@ -8,6 +8,8 @@ hijack_speed = 1 ui_name = "AntagInfoSpy" preview_outfit = /datum/outfit/spy + can_assign_self_objectives = TRUE + default_custom_objective = "Rob the station blind." /// Whether an uplink has been created (successfully or at all) var/uplink_created = FALSE /// String displayed in the antag panel pointing the spy to where their uplink is. diff --git a/code/modules/antagonists/spy/spy_bounty.dm b/code/modules/antagonists/spy/spy_bounty.dm index 28984ce2272bd..01a1a1baf7b9a 100644 --- a/code/modules/antagonists/spy/spy_bounty.dm +++ b/code/modules/antagonists/spy/spy_bounty.dm @@ -186,7 +186,7 @@ var/datum/market_item/stolen_good/new_item = new(thing, item_price) - return SSblackmarket.markets[/datum/market/blackmarket].add_item(new_item) + return SSmarket.markets[/datum/market/blackmarket].add_item(new_item) /// Steal an item /datum/spy_bounty/objective_item diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 733e22461c795..bbdfa77eceacd 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -47,7 +47,8 @@ /// The uplink handler that this traitor belongs to. var/datum/uplink_handler/uplink_handler - var/uplink_sale_count = 3 + var/uplink_sales_min = 4 + var/uplink_sales_max = 6 ///the final objective the traitor has to accomplish, be it escaping, hijacking, or just martyrdom. var/datum/objective/ending_objective @@ -98,14 +99,14 @@ var/list/uplink_items = list() for(var/datum/uplink_item/item as anything in SStraitor.uplink_items) - if(item.item && !item.cant_discount && (item.purchasable_from & uplink_handler.uplink_flag) && item.cost > 1) + if(item.item && !item.cant_discount && (item.purchasable_from & uplink_handler.uplink_flag) && item.cost >= TRAITOR_DISCOUNT_MIN_PRICE) if(!length(item.restricted_roles) && !length(item.restricted_species)) uplink_items += item continue if((uplink_handler.assigned_role in item.restricted_roles) || (uplink_handler.assigned_species in item.restricted_species)) uplink_items += item continue - uplink_handler.extra_purchasable += create_uplink_sales(uplink_sale_count, /datum/uplink_category/discounts, 1, uplink_items) + uplink_handler.extra_purchasable += create_uplink_sales(rand(uplink_sales_min, uplink_sales_max), /datum/uplink_category/discounts, 1, uplink_items) if(give_objectives) forge_traitor_objectives() diff --git a/code/modules/antagonists/traitor/objectives/final_objective/battle_royale.dm b/code/modules/antagonists/traitor/objectives/final_objective/battle_royale.dm index 9b8f519da959d..e5208ff8331b9 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/battle_royale.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/battle_royale.dm @@ -38,6 +38,6 @@ equipped = TRUE podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = /obj/item/storage/box/syndie_kit/battle_royale, )) diff --git a/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm b/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm index b136a6f695cb3..7da84f6002619 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/battlecruiser.dm @@ -44,6 +44,6 @@ emag_card.team = team podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = emag_card, )) diff --git a/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm b/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm index c8a4037d20af7..d47a2c6aabc59 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm @@ -51,6 +51,6 @@ sent_board = TRUE podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = /obj/item/ai_module/malf, )) diff --git a/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm b/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm index 6f68891bcfe7d..b90fdba73d03a 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm @@ -48,7 +48,7 @@ sent_satellites = TRUE podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = /obj/structure/closet/crate/engineering/smuggled_meteor_shields, )) diff --git a/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm b/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm index 0bfa29f3f168c..09edc4b0c7395 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm @@ -41,6 +41,6 @@ sent_romerol = TRUE podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = /obj/item/storage/box/syndie_kit/romerol, )) diff --git a/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm b/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm index 6c7dfaa2f095d..2e9396c90b070 100644 --- a/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm +++ b/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm @@ -52,6 +52,6 @@ sent_crystal = TRUE podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = /obj/item/destabilizing_crystal, )) diff --git a/code/modules/antagonists/traitor/uplink_handler.dm b/code/modules/antagonists/traitor/uplink_handler.dm index f78ddb0247892..2d27f3c4a0eff 100644 --- a/code/modules/antagonists/traitor/uplink_handler.dm +++ b/code/modules/antagonists/traitor/uplink_handler.dm @@ -126,6 +126,21 @@ on_update() return TRUE +/datum/uplink_handler/proc/purchase_raw_tc(mob/user, amount, atom/movable/source) + if(shop_locked) + return FALSE + if(telecrystals < amount) + return FALSE + + telecrystals -= amount + var/tcs = new /obj/item/stack/telecrystal(get_turf(user), amount) + user.put_in_hands(tcs) + + log_uplink("[key_name(user)] purchased [amount] raw telecrystals from [source]'s uplink") + on_update() + return TRUE + + /// Generates objectives for this uplink handler /datum/uplink_handler/proc/generate_objectives() var/potential_objectives_left = maximum_potential_objectives - (length(potential_objectives) + length(active_objectives)) diff --git a/code/modules/antagonists/voidwalker/voidwalker.dm b/code/modules/antagonists/voidwalker/voidwalker.dm new file mode 100644 index 0000000000000..6222dc0c35fbe --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker.dm @@ -0,0 +1,60 @@ +/// Space antagonist that harasses people near space and cursed them if they get the chance +/datum/antagonist/voidwalker + name = "\improper Voidwalker" + antagpanel_category = ANTAG_GROUP_ABOMINATIONS + job_rank = ROLE_VOIDWALKER + show_in_antagpanel = TRUE + antagpanel_category = "Voidwalker" + show_name_in_check_antagonists = TRUE + show_to_ghosts = TRUE + ui_name = "AntagInfoVoidwalker" + suicide_cry = "FOR THE VOID!!" + preview_outfit = /datum/outfit/voidwalker + +/datum/antagonist/voidwalker/greet() + . = ..() + owner.announce_objectives() + +/datum/antagonist/voidwalker/on_gain() + . = ..() + + var/mob/living/carbon/human/body = owner.current + if(ishuman(body)) + body.set_species(/datum/species/voidwalker) + + forge_objectives() + +/datum/antagonist/voidwalker/on_removal() + var/mob/living/carbon/human/body = owner.current + if(ishuman(body)) + body.set_species(/datum/species/human) + + return ..() + +/datum/antagonist/voidwalker/forge_objectives() + var/datum/objective/voidwalker_objective/objective = new + objective.owner = owner + objectives += objective + +/datum/outfit/voidwalker + name = "Voidwalker (Preview only)" + +/datum/outfit/voidwalker/post_equip(mob/living/carbon/human/human, visualsOnly) + human.set_species(/datum/species/voidwalker) + +/datum/objective/voidwalker_objective + +/datum/objective/voidwalker_objective/New() + var/list/explanation_texts = list( + "Show them the beauty of the void. Drag them into the cosmic abyss, then impart the truth of the void unto them. Seek to enlighten, not destroy.", + "They must see what you have seen. They must walk where you have walked. Bring them to the void and show them the truth. The dead cannot know what you know.", + "Recover what you have lost. Bring your children into the inky black and return them to your flock.", + ) + explanation_text = pick(explanation_texts) + + if(prob(5)) + explanation_text = "Man I fucking love glass." + ..() + +/datum/objective/voidwalker_objective/check_completion() + return owner.current.stat != DEAD diff --git a/code/modules/antagonists/voidwalker/voidwalker_abilities.dm b/code/modules/antagonists/voidwalker/voidwalker_abilities.dm new file mode 100644 index 0000000000000..4fe88f50d01c6 --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_abilities.dm @@ -0,0 +1,67 @@ +/// Remain in someones view without breaking line of sight +/datum/action/cooldown/spell/pointed/unsettle + name = "Unsettle" + desc = "Stare directly into someone who doesn't see you. Remain in their view for a bit to stun them for 2 seconds and announce your presence to them. " + button_icon_state = "terrify" + background_icon_state = "bg_void" + panel = null + spell_requirements = NONE + cooldown_time = 12 SECONDS + cast_range = 9 + active_msg = "You prepare to stare down a target..." + deactive_msg = "You refocus your eyes..." + /// how long we need to stare at someone to unsettle them (woooooh) + var/stare_time = 8 SECONDS + /// how long we stun someone on succesful cast + var/stun_time = 2 SECONDS + /// stamina damage we doooo + var/stamina_damage = 80 + +/datum/action/cooldown/spell/pointed/unsettle/is_valid_target(atom/cast_on) + . = ..() + + if(!isliving(cast_on)) + cast_on.balloon_alert(owner, "cannot be targeted!") + return FALSE + + if(!check_if_in_view(cast_on)) + owner.balloon_alert(owner, "cannot see you!") + return FALSE + + return TRUE + +/datum/action/cooldown/spell/pointed/unsettle/cast(mob/living/carbon/human/cast_on) + . = ..() + + if(do_after(owner, stare_time, cast_on, IGNORE_TARGET_LOC_CHANGE | IGNORE_USER_LOC_CHANGE, extra_checks = CALLBACK(src, PROC_REF(check_if_in_view), cast_on), hidden = TRUE)) + spookify(cast_on) + return + owner.balloon_alert(owner, "line of sight broken!") + return SPELL_CANCEL_CAST + +/datum/action/cooldown/spell/pointed/unsettle/proc/check_if_in_view(mob/living/carbon/human/target) + SIGNAL_HANDLER + + if(target.is_blind() || !(owner in view(target, world.view))) + return FALSE + return TRUE + +/datum/action/cooldown/spell/pointed/unsettle/proc/spookify(mob/living/carbon/human/target) + target.Paralyze(stun_time) + target.adjustStaminaLoss(stamina_damage) + target.apply_status_effect(/datum/status_effect/speech/slurring/generic) + target.emote("scream") + + new /obj/effect/temp_visual/circle_wave/unsettle(get_turf(owner)) + new /obj/effect/temp_visual/circle_wave/unsettle(get_turf(target)) + SEND_SIGNAL(owner, COMSIG_ATOM_REVEAL) + +/obj/effect/temp_visual/circle_wave/unsettle + color = COLOR_PURPLE + +/datum/action/cooldown/spell/list_target/telepathy/voidwalker + name = "Transmit" + background_icon_state = "bg_void" + button_icon = 'icons/mob/actions/actions_voidwalker.dmi' + button_icon_state = "voidwalker_telepathy" + panel = null diff --git a/code/modules/antagonists/voidwalker/voidwalker_bodyparts.dm b/code/modules/antagonists/voidwalker/voidwalker_bodyparts.dm new file mode 100644 index 0000000000000..a8e5b8de30f39 --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_bodyparts.dm @@ -0,0 +1,147 @@ +///Turn the damage overlays glassy +#define GLASSY_OVERLAY_MATRIX list(\ + 1, 2, 2, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ + 0, 0, 0, 0) + +/obj/item/bodypart/head/voidwalker + texture_bodypart_overlay = /datum/bodypart_overlay/texture/spacey + icon_greyscale = 'icons/mob/human/species/voidwalker.dmi' + limb_id = SPECIES_VOIDWALKER + is_dimorphic = FALSE + bodypart_traits = list(TRAIT_MUTE) + head_flags = NONE + blocks_emissive = EMISSIVE_BLOCK_NONE + + damage_overlay_color = GLASSY_OVERLAY_MATRIX + + light_brute_msg = "splintered" + medium_brute_msg = "cracked" + heavy_brute_msg = "shattered" + + light_burn_msg = "bent" + medium_burn_msg = "deformed" + heavy_burn_msg = "warped" + + damage_examines = list( + BRUTE = GLASSY_BRUTE_EXAMINE_TEXT, + BURN = GLASSY_BURN_EXAMINE_TEXT, + ) + +/obj/item/bodypart/chest/voidwalker + texture_bodypart_overlay = /datum/bodypart_overlay/texture/spacey + icon_greyscale = 'icons/mob/human/species/voidwalker.dmi' + limb_id = SPECIES_VOIDWALKER + is_dimorphic = FALSE + blocks_emissive = EMISSIVE_BLOCK_NONE + + damage_overlay_color = GLASSY_OVERLAY_MATRIX + + light_brute_msg = "splintered" + medium_brute_msg = "cracked" + heavy_brute_msg = "shattered" + + light_burn_msg = "bent" + medium_burn_msg = "deformed" + heavy_burn_msg = "warped" + + damage_examines = list( + BRUTE = GLASSY_BRUTE_EXAMINE_TEXT, + BURN = GLASSY_BURN_EXAMINE_TEXT, + ) + +/obj/item/bodypart/arm/left/voidwalker + texture_bodypart_overlay = /datum/bodypart_overlay/texture/spacey + icon_greyscale = 'icons/mob/human/species/voidwalker.dmi' + limb_id = SPECIES_VOIDWALKER + is_dimorphic = FALSE + blocks_emissive = EMISSIVE_BLOCK_NONE + + bodypart_traits = list(TRAIT_CHUNKYFINGERS) + + damage_overlay_color = GLASSY_OVERLAY_MATRIX + + light_brute_msg = "splintered" + medium_brute_msg = "cracked" + heavy_brute_msg = "shattered" + + light_burn_msg = "bent" + medium_burn_msg = "deformed" + heavy_burn_msg = "warped" + + damage_examines = list( + BRUTE = GLASSY_BRUTE_EXAMINE_TEXT, + BURN = GLASSY_BURN_EXAMINE_TEXT, + ) + +/obj/item/bodypart/arm/right/voidwalker + texture_bodypart_overlay = /datum/bodypart_overlay/texture/spacey + icon_greyscale = 'icons/mob/human/species/voidwalker.dmi' + limb_id = SPECIES_VOIDWALKER + is_dimorphic = FALSE + blocks_emissive = EMISSIVE_BLOCK_NONE + + bodypart_traits = list(TRAIT_CHUNKYFINGERS) + + damage_overlay_color = GLASSY_OVERLAY_MATRIX + + light_brute_msg = "splintered" + medium_brute_msg = "cracked" + heavy_brute_msg = "shattered" + + light_burn_msg = "bent" + medium_burn_msg = "deformed" + heavy_burn_msg = "warped" + + damage_examines = list( + BRUTE = GLASSY_BRUTE_EXAMINE_TEXT, + BURN = GLASSY_BURN_EXAMINE_TEXT, + ) + +/obj/item/bodypart/leg/left/voidwalker + texture_bodypart_overlay = /datum/bodypart_overlay/texture/spacey + icon_greyscale = 'icons/mob/human/species/voidwalker.dmi' + limb_id = SPECIES_VOIDWALKER + is_dimorphic = FALSE + blocks_emissive = EMISSIVE_BLOCK_NONE + + damage_overlay_color = GLASSY_OVERLAY_MATRIX + + light_brute_msg = "splintered" + medium_brute_msg = "cracked" + heavy_brute_msg = "shattered" + + light_burn_msg = "bent" + medium_burn_msg = "deformed" + heavy_burn_msg = "warped" + + damage_examines = list( + BRUTE = GLASSY_BRUTE_EXAMINE_TEXT, + BURN = GLASSY_BURN_EXAMINE_TEXT, + ) + +/obj/item/bodypart/leg/right/voidwalker + texture_bodypart_overlay = /datum/bodypart_overlay/texture/spacey + icon_greyscale = 'icons/mob/human/species/voidwalker.dmi' + limb_id = SPECIES_VOIDWALKER + is_dimorphic = FALSE + blocks_emissive = EMISSIVE_BLOCK_NONE + + damage_overlay_color = GLASSY_OVERLAY_MATRIX + + light_brute_msg = "splintered" + medium_brute_msg = "cracked" + heavy_brute_msg = "shattered" + + light_burn_msg = "bent" + medium_burn_msg = "deformed" + heavy_burn_msg = "warped" + + damage_examines = list( + BRUTE = GLASSY_BRUTE_EXAMINE_TEXT, + BURN = GLASSY_BURN_EXAMINE_TEXT, + ) + +#undef GLASSY_OVERLAY_MATRIX diff --git a/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm b/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm new file mode 100644 index 0000000000000..f0d4c4349cef7 --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm @@ -0,0 +1,131 @@ +/// A global assoc list for the drop of point +GLOBAL_LIST_EMPTY(voidwalker_void) + +/// Lardmarks meant to designate where voidwalker kidnapees are sent +/obj/effect/landmark/voidwalker_void + name = "default voidwalker void landmark" + icon_state = "x" + +/obj/effect/landmark/voidwalker_void/Initialize(mapload) + . = ..() + GLOB.voidwalker_void += src + +/obj/effect/landmark/voidwalker_void/Destroy() + GLOB.voidwalker_void -= src + return ..() + +/// Voidwalker void where the people go +/area/centcom/voidwalker_void + name = "Voidwalker void" + icon_state = "voidwalker" + has_gravity = STANDARD_GRAVITY + ambience_index = AMBIENCE_SPOOKY + sound_environment = SOUND_ENVIRONMENT_CAVE + area_flags = UNIQUE_AREA | NOTELEPORT | HIDDEN_AREA | BLOCK_SUICIDE + +/// Mini car where people drive around in in their mangled corpse to heal a bit before they get dumped back on station +/obj/effect/wisp_mobile + name = "wisp" + + icon = 'icons/obj/weapons/voidwalker_items.dmi' + icon_state = "wisp" + + light_system = OVERLAY_LIGHT + light_color = COLOR_WHITE + light_range = 4 + light_power = 1 + light_on = TRUE + + /// Delay between movements + var/move_delay = 0.5 SECONDS + /// when can we move again? + var/can_move + /// what do we eatt? + var/food_type = /obj/effect/wisp_food + /// how much do we heal per food? + var/heal_per_food = 15 + /// Traits given to the wisp driver + var/wisp_driver_traits = list(TRAIT_STASIS, TRAIT_NOSOFTCRIT, TRAIT_NOHARDCRIT, TRAIT_HANDS_BLOCKED) + +/obj/effect/wisp_mobile/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) + . = ..() + + if(!isliving(arrived)) + return + + var/mob/living/driver = arrived + driver.forceMove(src) + driver.add_traits(wisp_driver_traits, REF(src)) + add_atom_colour(random_color(), FIXED_COLOUR_PRIORITY) + + addtimer(CALLBACK(driver, TYPE_PROC_REF(/atom/movable, forceMove), get_safe_random_station_turf()), 60 SECONDS) + +/obj/effect/wisp_mobile/relaymove(mob/living/user, direction) + if(can_move >= world.time) + return + can_move = world.time + move_delay + + if(isturf(loc)) + can_move = world.time + move_delay + try_step_multiz(direction) + +/obj/effect/wisp_mobile/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + + maybe_loop_us(movement_dir) + + var/obj/food = locate(food_type) in loc + if(!food) + return + + qdel(food) + + // make new food + var/area/our_area = get_area(src) + new food_type(pick(get_area_turfs(our_area))) + + var/mob/living/driver = locate(/mob/living) in contents + if(driver) + driver.heal_ordered_damage(heal_per_food, list(BRUTE, BURN, OXY)) + playsound(src, 'sound/misc/server-ready.ogg', 50, TRUE, -1) + +/obj/effect/wisp_mobile/Exited(atom/movable/gone, direction) + . = ..() + + gone.remove_traits(wisp_driver_traits, REF(src)) + to_chat(gone, span_boldwarning("You feel it would be very bad to get caught again.")) + qdel(src) + +/// Loop us around, maybe, if we're going to bump into a wall +/obj/effect/wisp_mobile/proc/maybe_loop_us(movement_dir) + var/turf/check_turf = get_step(get_turf(src), movement_dir) + if(!check_turf?.density) //we're not facing a wall, so dont do anything + return + + // Loop us to the other side + var/reversed_dir = turn(movement_dir, 180) + check_turf = get_turf(src) + + while(!check_turf.density) + check_turf = get_step(check_turf, reversed_dir) + + // We found the wall on the opposite side, so take two steps back (one to get off the wall, another to not be wall adjacent) + check_turf = get_step(get_step(check_turf, movement_dir), movement_dir) + forceMove(check_turf) + +/// we only exist to be eaten by wisps for food 😔👊 +/obj/effect/wisp_food + name = "wisp" + icon = 'icons/obj/weapons/voidwalker_items.dmi' + icon_state = "wisp" + + color = COLOR_YELLOW + + light_system = OVERLAY_LIGHT + light_color = COLOR_WHITE + light_range = 4 + light_power = 1 + light_on = TRUE + +/obj/item/restraints/handcuffs/energy/void + breakouttime = INFINITY diff --git a/code/modules/antagonists/voidwalker/voidwalker_loot.dm b/code/modules/antagonists/voidwalker/voidwalker_loot.dm new file mode 100644 index 0000000000000..73ed9c7cd2207 --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_loot.dm @@ -0,0 +1,43 @@ +/// Gives someone the stable voided trauma and then self destructs +/obj/item/cosmic_skull + name = "cosmic skull" + desc = "You can see and feel the surrounding space pulsing through it..." + + icon = 'icons/obj/weapons/voidwalker_items.dmi' + icon_state = "cosmic_skull_charged" + + light_on = TRUE + light_color = "#CC00CC" + light_range = 3 + /// Icon state for when drained + var/drained_icon_state = "cosmic_skull_drained" + /// How many uses does it have left? + var/uses = 1 + +/obj/item/cosmic_skull/attack_self(mob/user, modifiers) + . = ..() + + if(!uses || !ishuman(user)) + return + + var/mob/living/carbon/human/hewmon = user + if(is_species(hewmon, /datum/species/voidwalker)) + to_chat(user, span_bolddanger("OH GOD NOO!!!! WHYYYYYYYYY!!!!! WHO WOULD DO THIS?!!")) + return + + to_chat(user, span_purple("You begin staring into the [name]...")) + + if(!do_after(user, 10 SECONDS, src)) + return + + var/mob/living/carbon/human/starer = user + starer.cure_trauma_type(/datum/brain_trauma/voided) //this wouldn't make much sense to have anymore + + starer.gain_trauma(/datum/brain_trauma/voided/stable) + to_chat(user, span_purple("And a whole world opens up to you.")) + playsound(get_turf(user), 'sound/effects/curse5.ogg', 60) + + uses-- + if(uses <= 0 ) + icon_state = drained_icon_state + light_on = FALSE diff --git a/code/modules/antagonists/voidwalker/voidwalker_organs.dm b/code/modules/antagonists/voidwalker/voidwalker_organs.dm new file mode 100644 index 0000000000000..e6e3d028ac8ef --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_organs.dm @@ -0,0 +1,132 @@ +/// Voidwalker eyes with nightvision and thermals +/obj/item/organ/internal/eyes/voidwalker + name = "blackened orbs" + desc = "These orbs will withstand the light of the sun, yet still see within the darkest voids." + eye_icon_state = null + pepperspray_protect = TRUE + flash_protect = FLASH_PROTECTION_WELDER + color_cutoffs = list(20, 10, 40) + sight_flags = SEE_MOBS + +/// Voidwalker brain stacked with a lot of the abilities +/obj/item/organ/internal/brain/voidwalker + name = "cosmic brain" + desc = "A mind fully integrated into the cosmic thread." + icon = 'icons/obj/medical/organs/shadow_organs.dmi' + can_smoothen_out = FALSE + + /// Alpha we have in space + var/space_alpha = 15 + /// Alpha we have elsewhere + var/non_space_alpha = 255 + /// We settle the un + var/datum/action/unsettle = /datum/action/cooldown/spell/pointed/unsettle + /// Regen effect we have in space + var/datum/status_effect/regen = /datum/status_effect/space_regeneration + /// Speed modifier given when in gravity + var/datum/movespeed_modifier/speed_modifier = /datum/movespeed_modifier/grounded_voidwalker + /// The void eater weapon + var/obj/item/glass_breaker = /obj/item/void_eater + /// Our brain transmit telepathy spell + var/datum/action/transmit = /datum/action/cooldown/spell/list_target/telepathy/voidwalker + +/obj/item/organ/internal/brain/voidwalker/on_mob_insert(mob/living/carbon/organ_owner, special, movement_flags) + . = ..() + + RegisterSignal(organ_owner, COMSIG_ATOM_ENTERING, PROC_REF(on_atom_entering)) + + organ_owner.AddComponent(/datum/component/space_camo, space_alpha, non_space_alpha, 5 SECONDS) + + organ_owner.AddElement(/datum/element/only_pull_living) + organ_owner.AddElement(/datum/element/glass_pacifist) + organ_owner.AddElement(/datum/element/no_crit_hitting) + + organ_owner.apply_status_effect(regen) + + unsettle = new unsettle(organ_owner) + unsettle.Grant(organ_owner) + + transmit = new transmit(organ_owner) + transmit.Grant(organ_owner) + + glass_breaker = new/obj/item/void_eater + organ_owner.put_in_hands(glass_breaker) + +/obj/item/organ/internal/brain/voidwalker/on_mob_remove(mob/living/carbon/organ_owner, special) + . = ..() + + UnregisterSignal(organ_owner, COMSIG_ENTER_AREA) + alpha = 255 + + qdel(organ_owner.GetComponent(/datum/component/space_camo)) + + organ_owner.RemoveElement(/datum/element/only_pull_living) + organ_owner.RemoveElement(/datum/element/glass_pacifist) + organ_owner.RemoveElement(/datum/element/no_crit_hitting) + + organ_owner.remove_status_effect(regen) + + unsettle.Remove(organ_owner) + unsettle = initial(unsettle) + + transmit.Remove(organ_owner) + transmit = initial(transmit) + + if(glass_breaker) + qdel(glass_breaker) + +/obj/item/organ/internal/brain/voidwalker/proc/on_atom_entering(mob/living/carbon/organ_owner, atom/entering) + SIGNAL_HANDLER + + if(!isturf(entering)) + return + + var/turf/new_turf = entering + + //apply debufs for being in gravity + if(new_turf.has_gravity()) + organ_owner.add_movespeed_modifier(speed_modifier) + //remove debufs for not being in gravity + else + organ_owner.remove_movespeed_modifier(speed_modifier) + +/obj/item/organ/internal/brain/voidwalker/on_death() + . = ..() + + var/turf/spawn_loc = get_turf(owner) + new /obj/effect/spawner/random/glass_shards (spawn_loc) + new /obj/item/cosmic_skull (spawn_loc) + playsound(get_turf(owner), SFX_SHATTER, 100) + + qdel(owner) + +/obj/item/implant/radio/voidwalker + radio_key = /obj/item/encryptionkey/heads/captain + actions_types = null + +/obj/effect/spawner/random/glass_shards + loot = list(/obj/item/shard = 2, /obj/item/shard/plasma = 1, /obj/item/shard/titanium = 1, /obj/item/shard/plastitanium = 1) + spawn_random_offset = TRUE + + /// Min shards we generate + var/min_spawn = 4 + /// Max shards we generate + var/max_spawn = 6 + +/obj/effect/spawner/random/glass_shards/Initialize(mapload) + spawn_loot_count = rand(min_spawn, max_spawn) + + return ..() + +/obj/effect/spawner/random/glass_shards/mini + min_spawn = 1 + max_spawn = 2 + +/obj/effect/spawner/random/glass_debris + /// Weighted list for the debris we spawn + loot = list( + /obj/effect/decal/cleanable/glass = 2, + /obj/effect/decal/cleanable/glass/plasma = 1, + /obj/effect/decal/cleanable/glass/titanium = 1, + /obj/effect/decal/cleanable/glass/plastitanium = 1, + ) diff --git a/code/modules/antagonists/voidwalker/voidwalker_particles.dm b/code/modules/antagonists/voidwalker/voidwalker_particles.dm new file mode 100644 index 0000000000000..8ffbd4abd449e --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_particles.dm @@ -0,0 +1,15 @@ +/particles/void_kidnap + icon = 'icons/effects/particles/voidwalker.dmi' + icon_state = list("kidnap_1" = 1, "kidnap_2" = 1, "kidnap_3" = 2) + width = 100 + height = 300 + count = 1000 + spawning = 20 + lifespan = 1.5 SECONDS + fade = 1 SECONDS + velocity = list(0, 0.4, 0) + position = generator(GEN_SPHERE, 12, 12, NORMAL_RAND) + drift = generator(GEN_SPHERE, 0, 1, NORMAL_RAND) + friction = 0.2 + gravity = list(0.95, 0) + grow = 0.05 diff --git a/code/modules/antagonists/voidwalker/voidwalker_species.dm b/code/modules/antagonists/voidwalker/voidwalker_species.dm new file mode 100644 index 0000000000000..069582fbb2c7e --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_species.dm @@ -0,0 +1,73 @@ +/// Species for the voidwalker antagonist +/datum/species/voidwalker + name = "\improper Voidling" + id = SPECIES_VOIDWALKER + sexes = FALSE + inherent_traits = list( + TRAIT_NOBREATH, + TRAIT_NO_UNDERWEAR, + TRAIT_RADIMMUNE, + TRAIT_VIRUSIMMUNE, + TRAIT_NOBLOOD, + TRAIT_NODISMEMBER, + TRAIT_NEVER_WOUNDED, + TRAIT_MOVE_FLYING, + TRAIT_RESISTCOLD, + TRAIT_RESISTHIGHPRESSURE, + TRAIT_RESISTLOWPRESSURE, + TRAIT_NOHUNGER, + TRAIT_FREE_HYPERSPACE_MOVEMENT, + TRAIT_ADVANCEDTOOLUSER, + TRAIT_NO_BLOOD_OVERLAY, + TRAIT_NO_THROWING, + ) + changesource_flags = MIRROR_BADMIN + + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/voidwalker, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/voidwalker, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/voidwalker, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/voidwalker, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/voidwalker, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/voidwalker, + ) + + no_equip_flags = ITEM_SLOT_OCLOTHING | ITEM_SLOT_ICLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_MASK | ITEM_SLOT_HEAD | ITEM_SLOT_FEET | ITEM_SLOT_BACK | ITEM_SLOT_EARS | ITEM_SLOT_EYES + + mutantbrain = /obj/item/organ/internal/brain/voidwalker + mutanteyes = /obj/item/organ/internal/eyes/voidwalker + mutantheart = null + mutantlungs = null + mutanttongue = null + + siemens_coeff = 0 + +/datum/species/voidwalker/on_species_gain(mob/living/carbon/human/human_who_gained_species, datum/species/old_species, pref_load) + . = ..() + + human_who_gained_species.AddComponent(/datum/component/glass_passer) + human_who_gained_species.AddComponent(/datum/component/space_dive) + human_who_gained_species.AddComponent(/datum/component/space_kidnap) + + var/obj/item/implant/radio = new /obj/item/implant/radio/voidwalker (human_who_gained_species) + radio.implant(human_who_gained_species, null, TRUE, TRUE) + + human_who_gained_species.AddComponent(/datum/component/planet_allergy) + + human_who_gained_species.fully_replace_character_name(null, pick(GLOB.voidwalker_names)) + +/datum/species/voidwalker/on_species_loss(mob/living/carbon/human/human, datum/species/new_species, pref_load) + . = ..() + + qdel(human.GetComponent(/datum/component/glass_passer)) + qdel(human.GetComponent(/datum/component/space_dive)) + qdel(human.GetComponent(/datum/component/space_kidnap)) + + var/obj/item/implant/radio = locate(/obj/item/implant/radio/voidwalker) in human + if(radio) + qdel(radio) + + qdel(human.GetComponent(/datum/component/planet_allergy)) + +/datum/species/voidwalker/check_roundstart_eligible() + return FALSE diff --git a/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm b/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm new file mode 100644 index 0000000000000..7934e757077af --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm @@ -0,0 +1,46 @@ +/// THE GRAVITY!!! IT WEIGHS!!! +/datum/movespeed_modifier/grounded_voidwalker + multiplicative_slowdown = 1.1 + +/// Regenerate in space +/datum/status_effect/space_regeneration + id = "space_regeneration" + duration = INFINITE + alert_type = null + // How much do we heal per tick? + var/healing = 1.5 + +/datum/status_effect/space_regeneration/tick(effect) + heal_owner() + +/// Regenerate health whenever this status effect is applied or reapplied +/datum/status_effect/space_regeneration/proc/heal_owner() + if(isspaceturf(get_turf(owner))) + owner.heal_ordered_damage(healing, list(BRUTE, BURN, OXY, STAMINA, TOX, BRAIN)) + +/datum/status_effect/planet_allergy + id = "planet_allergy" + duration = INFINITE + alert_type = /atom/movable/screen/alert/status_effect/veryhighgravity + +/datum/status_effect/planet_allergy/tick() + owner.adjustBruteLoss(1) + +/atom/movable/screen/alert/status_effect/veryhighgravity + name = "Crushing Gravity" + desc = "You're getting crushed by high gravity, picking up items and movement will be slowed. You'll also accumulate brute damage!" + icon_state = "paralysis" + +/datum/status_effect/void_eatered + duration = 10 SECONDS + remove_on_fullheal = TRUE + +/datum/status_effect/void_eatered/on_apply() + . = ..() + + ADD_TRAIT(owner, TRAIT_NODEATH, REF(src)) + +/datum/status_effect/void_eatered/on_remove() + . = ..() + + REMOVE_TRAIT(owner, TRAIT_NODEATH, REF(src)) diff --git a/code/modules/antagonists/voidwalker/voidwalker_traumas.dm b/code/modules/antagonists/voidwalker/voidwalker_traumas.dm new file mode 100644 index 0000000000000..cf4f389a0d6f3 --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_traumas.dm @@ -0,0 +1,91 @@ +/// Curse brain trauma that makes someone space textured, mute, pacifist and forbids them from entering space +/datum/brain_trauma/voided + name = "Voided" + desc = "They've seen the secrets of the cosmos, in exchange for a curse that keeps them chained." + scan_desc = "cosmic neural pattern" + gain_text = "" + lose_text = "" + resilience = TRAUMA_RESILIENCE_LOBOTOMY + random_gain = FALSE + /// Type for the bodypart texture we add + var/bodypart_overlay_type = /datum/bodypart_overlay/texture/spacey + ///traits we give on gain + var/list/traits_to_apply = list(TRAIT_MUTE, TRAIT_PACIFISM) + /// Do we ban the person from entering space? + var/ban_from_space = TRUE + +/datum/brain_trauma/voided/on_gain() + . = ..() + + owner.add_traits(traits_to_apply, REF(src)) + if(ban_from_space) + owner.AddComponent(/datum/component/banned_from_space) + owner.AddComponent(/datum/component/planet_allergy) + RegisterSignal(owner, COMSIG_CARBON_ATTACH_LIMB, PROC_REF(texture_limb)) //also catch new limbs being attached + RegisterSignal(owner, COMSIG_CARBON_REMOVE_LIMB, PROC_REF(untexture_limb)) //and remove it from limbs if they go away + + for(var/obj/item/bodypart as anything in owner.bodyparts) + texture_limb(owner, bodypart) + + //your underwear is belong to us + if(ishuman(owner)) + var/mob/living/carbon/human/human = owner //CARBON WILL NEVER BE REAL!!!!! + human.underwear = "Nude" + human.undershirt = "Nude" + human.socks = "Nude" + + owner.update_body() + +/datum/brain_trauma/voided/on_lose() + . = ..() + + owner.remove_traits(traits_to_apply, REF(src)) + UnregisterSignal(owner, list(COMSIG_CARBON_ATTACH_LIMB, COMSIG_CARBON_REMOVE_LIMB)) + if(ban_from_space) + qdel(owner.GetComponent(/datum/component/banned_from_space)) + qdel(owner.GetComponent(/datum/component/planet_allergy)) + + for(var/obj/item/bodypart/bodypart as anything in owner.bodyparts) + untexture_limb(owner, bodypart) + +/// Apply the space texture +/datum/brain_trauma/voided/proc/texture_limb(atom/source, obj/item/bodypart/limb) + SIGNAL_HANDLER + + limb.add_bodypart_overlay(new bodypart_overlay_type) + if(istype(limb, /obj/item/bodypart/head)) + var/obj/item/bodypart/head/head = limb + head.head_flags &= ~HEAD_EYESPRITES + +/datum/brain_trauma/voided/proc/untexture_limb(atom/source, obj/item/bodypart/limb) + SIGNAL_HANDLER + + var/overlay = locate(bodypart_overlay_type) in limb.bodypart_overlays + if(overlay) + limb.remove_bodypart_overlay(overlay) + + if(istype(limb, /obj/item/bodypart/head)) + var/obj/item/bodypart/head/head = limb + head.head_flags = initial(head.head_flags) + +/datum/brain_trauma/voided/on_death() + . = ..() + + if(is_on_a_planet(owner)) + qdel(src) + +/// Positive version of the previous. Get space immunity and the ability to slowly move through glass (but you still get muted) +/datum/brain_trauma/voided/stable + scan_desc = "stable cosmic neural pattern" + traits_to_apply = list(TRAIT_MUTE, TRAIT_RESISTLOWPRESSURE, TRAIT_RESISTCOLD) + ban_from_space = FALSE + +/datum/brain_trauma/voided/stable/on_gain() + . = ..() + + owner.AddComponent(/datum/component/glass_passer, 2 SECONDS) + +/datum/brain_trauma/voided/stable/on_lose() + . = ..() + + qdel(owner.GetComponent(/datum/component/glass_passer)) diff --git a/code/modules/antagonists/voidwalker/voidwalker_void_eater.dm b/code/modules/antagonists/voidwalker/voidwalker_void_eater.dm new file mode 100644 index 0000000000000..9df3eabab3d21 --- /dev/null +++ b/code/modules/antagonists/voidwalker/voidwalker_void_eater.dm @@ -0,0 +1,99 @@ +/** + * An armblade that pops windows + */ +/obj/item/void_eater + name = "void eater" //as opposed to full eater + desc = "A deformed appendage, capable of shattering any glass and any flesh." + icon = 'icons/obj/weapons/voidwalker_items.dmi' + icon_state = "tentacle" + inhand_icon_state = "tentacle" + force = 25 + armour_penetration = 35 + lefthand_file = 'icons/mob/inhands/antag/voidwalker_lefthand.dmi' + righthand_file = 'icons/mob/inhands/antag/voidwalker_righthand.dmi' + blocks_emissive = EMISSIVE_BLOCK_NONE + item_flags = ABSTRACT | DROPDEL + resistance_flags = INDESTRUCTIBLE | ACID_PROOF | FIRE_PROOF | LAVA_PROOF | UNACIDABLE + w_class = WEIGHT_CLASS_HUGE + tool_behaviour = TOOL_MINING + hitsound = 'sound/weapons/bladeslice.ogg' + wound_bonus = -30 + bare_wound_bonus = 20 + + /// Damage we loss per hit + var/damage_loss_per_hit = 0.5 + /// The minimal damage we can reach + var/damage_minimum = 15 + +/obj/item/void_eater/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) + + AddComponent(/datum/component/temporary_glass_shatterer) + +/obj/item/void_eater/equipped(mob/user) + . = ..() + + RegisterSignal(user, COMSIG_VOIDWALKER_SUCCESFUL_KIDNAP, PROC_REF(refresh)) + +/obj/item/void_eater/dropped(mob/user, silent) + . = ..() + UnregisterSignal(user, COMSIG_VOIDWALKER_SUCCESFUL_KIDNAP) + +/obj/item/void_eater/examine(mob/user) + . = ..() + . += span_notice("The [name] weakens each hit, recharge it by kidnapping someone!") + . += span_notice("Sharpness: [round(force)]/[initial(force)]") + +/obj/item/void_eater/attack(mob/living/target_mob, mob/living/user, params) + if(!ishuman(target_mob)) + return ..() + + var/mob/living/carbon/human/hewmon = target_mob + + if(hewmon.has_trauma_type(/datum/brain_trauma/voided)) + var/turf/spawnloc = get_turf(hewmon) + + if(hewmon.stat != DEAD) + hewmon.balloon_alert(user, "already voided!") + playsound(hewmon, SFX_SHATTER, 60) + new /obj/effect/spawner/random/glass_shards/mini (spawnloc) + hewmon.adjustBruteLoss(10) // BONUS DAMAGE + else + hewmon.balloon_alert(user, "shattering...") + if(do_after(user, 4 SECONDS, hewmon)) + new /obj/effect/spawner/random/glass_shards (spawnloc) + var/obj/item/organ/brain = hewmon.get_organ_by_type(/obj/item/organ/internal/brain) + if(brain) + brain.Remove(hewmon) + brain.forceMove(spawnloc) + brain.balloon_alert(user, "shattered!") + playsound(hewmon, SFX_SHATTER, 100) + qdel(hewmon) + return COMPONENT_CANCEL_ATTACK_CHAIN + + if(hewmon.stat == HARD_CRIT && !hewmon.has_trauma_type(/datum/brain_trauma/voided)) + target_mob.balloon_alert(user, "is in crit!") + return COMPONENT_CANCEL_ATTACK_CHAIN + + target_mob.apply_status_effect(/datum/status_effect/void_eatered) + + if(force == damage_minimum + damage_loss_per_hit) + user.balloon_alert(user, "void eater blunted!") + + force = max(force - damage_loss_per_hit, damage_minimum) + + if(prob(5)) + new /obj/effect/spawner/random/glass_debris (get_turf(user)) + return ..() + +/// Called when the voidwalker kidnapped someone +/obj/item/void_eater/proc/refresh(mob/living/carbon/human/voidwalker) + SIGNAL_HANDLER + + force = initial(force) + + color = "#000000" + animate(src, color = null, time = 1 SECONDS)//do a color flashy woosh + + to_chat(voidwalker, span_boldnotice("Your [name] refreshes!")) diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index 9176558c7a166..259164beb1b2c 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -117,7 +117,6 @@ anchored = TRUE density = TRUE move_resist = INFINITY - plane = MASSIVE_OBJ_PLANE plane = ABOVE_LIGHTING_PLANE light_range = 6 appearance_flags = LONG_GLIDE @@ -345,7 +344,6 @@ icon = 'icons/effects/magic.dmi' icon_state = "tornado" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE randomdir = FALSE duration = 8 SECONDS movement_type = PHASING diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 925f368fe3b54..ce1d527cb0bc1 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -298,7 +298,7 @@ return FALSE if(!forced) - var/datum/antagonist/cult/cultist = IS_CULTIST(user) + var/datum/antagonist/cult/cultist = GET_CULTIST(user) if(cultist) var/datum/team/cult/cult_team = cultist.get_team() if(victim.mind && cult_team.is_sacrifice_target(victim.mind)) @@ -511,7 +511,7 @@ playsound(newstruct, 'sound/effects/constructform.ogg', 50) if(stoner) newstruct.faction |= "[REF(stoner)]" - newstruct.master = stoner + newstruct.construct_master = stoner var/datum/action/innate/seek_master/seek_master = new seek_master.Grant(newstruct) diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm b/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm index 7dc220d516f01..18e2dae715c34 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm @@ -70,6 +70,15 @@ for(var/spell in user.actions) if(is_type_in_typecache(spell, no_coexistance_typecache)) return FALSE + var/datum/antagonist/wizard/wizard_datum = user.mind.has_antag_datum(/datum/antagonist/wizard) + if(!wizard_datum) + return TRUE + for(var/perks in wizard_datum.perks) + if(is_type_in_typecache(perks, no_coexistance_typecache)) + return FALSE + if(is_type_in_list(src, wizard_datum.perks)) + to_chat(user, span_warning("This perk already learned!")) + return FALSE return TRUE /** @@ -137,6 +146,9 @@ * Return TRUE if it can refunded, FALSE otherwise */ /datum/spellbook_entry/proc/can_refund(mob/living/carbon/human/user, obj/item/spellbook/book) + if(HAS_TRAIT(user, TRAIT_SPELLS_LOTTERY)) + to_chat(user, span_notice("No refund.")) + return FALSE if(!refundable) return FALSE if(!book.refunds_allowed) diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/defensive.dm b/code/modules/antagonists/wizard/equipment/spellbook_entries/defensive.dm index a66d99c21c88d..e7c204a39e214 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook_entries/defensive.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/defensive.dm @@ -55,7 +55,7 @@ it will become easier for others to find your item of power." spell_type = /datum/action/cooldown/spell/lichdom category = SPELLBOOK_CATEGORY_DEFENSIVE - no_coexistance_typecache = list(/datum/action/cooldown/spell/splattercasting) + no_coexistance_typecache = list(/datum/action/cooldown/spell/splattercasting, /datum/spellbook_entry/perks/wormborn) /datum/spellbook_entry/chuunibyou name = "Chuuni Invocations" diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/offensive.dm b/code/modules/antagonists/wizard/equipment/spellbook_entries/offensive.dm index 9eb35cbf7b42e..6b8272ed5b7ad 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook_entries/offensive.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/offensive.dm @@ -39,6 +39,13 @@ category = SPELLBOOK_CATEGORY_OFFENSIVE cost = 1 +/datum/spellbook_entry/tie_shoes + name = "Tie Shoes" + desc = "This unassuming spell first unties, then knots the target's shoes. While weak at first glance, each upgrade quietens the spell, allowing it to untie laceless footwear and even summon shoes to knot!" + spell_type = /datum/action/cooldown/spell/pointed/untie_shoes + category = SPELLBOOK_CATEGORY_OFFENSIVE + cost = 1 + /datum/spellbook_entry/mutate name = "Mutate" desc = "Causes you to turn into a hulk and gain laser vision for a short while." diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/perks.dm b/code/modules/antagonists/wizard/equipment/spellbook_entries/perks.dm new file mode 100644 index 0000000000000..0230274b8e88b --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/perks.dm @@ -0,0 +1,184 @@ +#define SPELLBOOK_CATEGORY_PERKS "Perks" + +/datum/spellbook_entry/perks + desc = "Main node of perks" + category = SPELLBOOK_CATEGORY_PERKS + refundable = FALSE // no refund + requires_wizard_garb = FALSE + +/datum/spellbook_entry/perks/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + var/datum/antagonist/wizard/wizard_datum = user.mind.has_antag_datum(/datum/antagonist/wizard) + if(wizard_datum) + wizard_datum.perks += src + to_chat(user, span_notice("You got a new perk: [src.name].")) + return TRUE + +/datum/spellbook_entry/perks/fourhands + name = "Four Hands" + desc = "Gives you even more hands to perform magic" + +/datum/spellbook_entry/perks/fourhands/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + user.change_number_of_hands(4) + +/datum/spellbook_entry/perks/wormborn + name = "Worm Born" + desc = "Your soul is infested with mana worms. When you die, you will be reborn as a large worm. \ + When the worm dies, it has no such luck. Parasitic infection prevents you from binding your soul to objects." + no_coexistance_typecache = list(/datum/action/cooldown/spell/lichdom) + +/datum/spellbook_entry/perks/wormborn/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + user.AddComponent(/datum/component/wormborn) + +/datum/spellbook_entry/perks/dejavu + name = "Déjà vu" + desc = "Every 60 seconds returns you to the place where you were 60 seconds ago with the same amount of health as you had 60 seconds ago." + +/datum/spellbook_entry/perks/dejavu/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + RegisterSignal(user, COMSIG_ENTER_AREA, PROC_REF(give_dejavu)) + +/datum/spellbook_entry/perks/dejavu/proc/give_dejavu(mob/living/carbon/human/wizard, area/new_area) + SIGNAL_HANDLER + + if(istype(new_area, /area/centcom)) + return + wizard.AddComponent(/datum/component/dejavu/wizard, 1, 60 SECONDS, TRUE) + UnregisterSignal(wizard, COMSIG_ENTER_AREA) + +/datum/spellbook_entry/perks/spell_lottery + name = "Spells Lottery" + desc = "Spells Lottery gives you the chance to get something from the book absolutely free, but you can no longer refund any purchases." + +/datum/spellbook_entry/perks/spell_lottery/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + ADD_TRAIT(user, TRAIT_SPELLS_LOTTERY, REF(src)) + +/datum/spellbook_entry/perks/gamble + name = "Gamble" + desc = "You get 2 random perks." + +/datum/spellbook_entry/perks/gamble/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + var/datum/antagonist/wizard/check_perks = user.mind.has_antag_datum(/datum/antagonist/wizard) + var/perks_allocated = 0 + var/list/taking_perks = list() + for(var/datum/spellbook_entry/perks/generate_perk in book.entries) + if(istype(generate_perk, src)) + continue + if(check_perks && is_type_in_list(generate_perk, check_perks.perks)) + continue + taking_perks += generate_perk + perks_allocated++ + if(perks_allocated >= 2) + break + if(taking_perks.len < 1) + to_chat(user, span_warning("Gamble cannot give 2 perks, so points are returned")) + return FALSE + taking_perks = shuffle(taking_perks) + for(var/datum/spellbook_entry/perks/perks_ready in taking_perks) + perks_ready.buy_spell(user, book, log_buy) + +/datum/spellbook_entry/perks/heart_eater + name = "Heart Eater" + desc = "Gives you ability to obtain a person's life force by eating their heart. \ + By eating someone's heart you can increase your damage resistance or gain random mutation. \ + Heart also give strong healing buff." + +/datum/spellbook_entry/perks/heart_eater/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + user.AddComponent(/datum/component/heart_eater) + +/datum/spellbook_entry/perks/slime_friends + name = "Slime Friends" + desc = "Slimes are your friends. \ + Every 15 seconds you lose some nutriments and summon a random evil slime to fight on your side." + +/datum/spellbook_entry/perks/slime_friends/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + user.AddComponent(/datum/component/slime_friends) + +/datum/spellbook_entry/perks/transparence + name = "Transparence" + desc = "You become a little closer to the world of the dead. \ + Projectiles pass through you, but you lose 25% of your health and you are hunted by a terrible curse which wants to return you to the afterlife." + +/datum/spellbook_entry/perks/transparence/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + user.maxHealth *= 0.75 + user.alpha = 125 + ADD_TRAIT(user, TRAIT_UNHITTABLE_BY_PROJECTILES, REF(src)) + RegisterSignal(user, COMSIG_ENTER_AREA, PROC_REF(make_stalker)) + +/datum/spellbook_entry/perks/transparence/proc/make_stalker(mob/living/carbon/human/wizard, area/new_area) + SIGNAL_HANDLER + + if(new_area == GLOB.areas_by_type[/area/centcom/wizard_station]) + return + wizard.gain_trauma(/datum/brain_trauma/magic/stalker) + UnregisterSignal(wizard, COMSIG_ENTER_AREA) + +/datum/spellbook_entry/perks/magnetism + name = "Magnetism" + desc = "You get a small gravity anomaly that orbit around you. \ + Nearby things will be attracted to you." + +/datum/spellbook_entry/perks/magnetism/buy_spell(mob/living/carbon/human/user, obj/item/spellbook/book, log_buy) + . = ..() + var/atom/movable/magnitizm = new /obj/effect/wizard_magnetism(get_turf(user)) + magnitizm.orbit(user, 20) + +/obj/effect/wizard_magnetism + name = "magnetic anomaly" + icon = 'icons/effects/effects.dmi' + icon_state = "shield2" + /// We need to orbit around someone. + var/datum/weakref/owner + +/obj/effect/wizard_magnetism/New(loc, ...) + . = ..() + transform *= 0.4 + +/obj/effect/wizard_magnetism/orbit(atom/new_owner, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) + . = ..() + if(!isliving(new_owner)) + return + owner = WEAKREF(new_owner) + RegisterSignal(new_owner, COMSIG_ENTER_AREA, PROC_REF(check_area)) + RegisterSignal(new_owner, COMSIG_LIVING_DEATH, PROC_REF(on_owner_death)) + +/obj/effect/wizard_magnetism/proc/check_area(mob/living/wizard, area/new_area) + SIGNAL_HANDLER + + if(new_area == GLOB.areas_by_type[/area/centcom/wizard_station]) + return + START_PROCESSING(SSprocessing, src) + UnregisterSignal(wizard, COMSIG_ENTER_AREA) + +/obj/effect/wizard_magnetism/proc/on_owner_death() + SIGNAL_HANDLER + + stop_orbit() + +/obj/effect/wizard_magnetism/process(seconds_per_tick) + if(isnull(owner)) + stop_orbit() + return + var/mob/living/wizard = owner.resolve() + var/list/things_in_range = orange(5, wizard) - orange(1, wizard) + for(var/obj/take_object in things_in_range) + if(!take_object.anchored) + step_towards(take_object, wizard) + for(var/mob/living/living_mov in things_in_range) + if(wizard) + if(living_mov == wizard) + continue + if(!living_mov.mob_negates_gravity()) + step_towards(living_mov, wizard) + +/obj/effect/wizard_magnetism/stop_orbit() + STOP_PROCESSING(SSprocessing, src) + qdel(src) + +#undef SPELLBOOK_CATEGORY_PERKS diff --git a/code/modules/antagonists/wizard/equipment/wizard_spellbook.dm b/code/modules/antagonists/wizard/equipment/wizard_spellbook.dm index f13b53b12edd4..18374e9bcff25 100644 --- a/code/modules/antagonists/wizard/equipment/wizard_spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/wizard_spellbook.dm @@ -172,7 +172,7 @@ data["full_random_bonus"] = initial(uses) + full_random_bonus return data -/obj/item/spellbook/ui_act(action, params) +/obj/item/spellbook/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -229,6 +229,10 @@ return FALSE to_buy.times++ + if(HAS_TRAIT(user, TRAIT_SPELLS_LOTTERY)) + if(prob(50 / to_buy.cost)) + to_chat(user, span_notice("This spell was given to you for free!")) + return TRUE uses -= to_buy.cost return TRUE diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/clown.dm b/code/modules/antagonists/wizard/grand_ritual/finales/clown.dm index d2f4a5a076358..7c228574a0694 100644 --- a/code/modules/antagonists/wizard/grand_ritual/finales/clown.dm +++ b/code/modules/antagonists/wizard/grand_ritual/finales/clown.dm @@ -9,7 +9,16 @@ /datum/grand_finale/clown/trigger(mob/living/carbon/human/invoker) for(var/mob/living/carbon/human/victim as anything in GLOB.human_list) victim.Unconscious(3 SECONDS) - if (!victim.mind || IS_HUMAN_INVADER(victim) || victim == invoker) + if (victim == invoker) + if(locate(/datum/action/cooldown/spell/pointed/untie_shoes) in invoker.actions) + continue + var/datum/action/cooldown/spell/pointed/untie_shoes/newer_spell = new(invoker) + newer_spell.Grant(invoker) + for(var/i in 1 to newer_spell.spell_max_level) + newer_spell.level_spell() + newer_spell.invocation_type = INVOCATION_SHOUT + continue + if (!victim.mind || IS_HUMAN_INVADER(victim)) continue if (HAS_TRAIT(victim, TRAIT_CLOWN_ENJOYER)) victim.add_mood_event("clown_world", /datum/mood_event/clown_world) @@ -23,6 +32,8 @@ if (is_clown_job(victim.mind.assigned_role)) var/datum/action/cooldown/spell/conjure_item/clown_pockets/new_spell = new(victim) new_spell.Grant(victim) + var/datum/action/cooldown/spell/pointed/untie_shoes/newer_spell = new(victim) + newer_spell.Grant(victim) continue dress_as_magic_clown(victim) if (prob(15)) diff --git a/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm b/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm index 79364a80a198a..15900a6ac0b0a 100644 --- a/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm +++ b/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm @@ -19,7 +19,7 @@ pixel_y = 16 pixel_z = -48 anchored = TRUE - interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND + interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_ATTACK_PAW resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF layer = SIGIL_LAYER /// How many prior grand rituals have been completed? diff --git a/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.dm b/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.dm index ffc2ea5d590af..a760115a61b9e 100644 --- a/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.dm +++ b/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.dm @@ -335,7 +335,7 @@ /obj/effect/abstract/local_food_rain/proc/drop_food(turf/landing_zone) podspawn(list( "target" = landing_zone, - "style" = STYLE_SEETHROUGH, + "style" = /datum/pod_style/seethrough, "spawn" = get_random_food(), "delays" = list(POD_TRANSIT = 0, POD_FALLING = (3 SECONDS), POD_OPENING = 0, POD_LEAVING = 0), "effectStealth" = TRUE, diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index e6da5195b0254..335c934a32052 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -25,6 +25,8 @@ GLOBAL_LIST_EMPTY(wizard_spellbook_purchases_by_key) show_to_ghosts = TRUE /// This mob's Grand Ritual ability var/datum/action/cooldown/grand_ritual/ritual + /// Perks that wizard learn + var/list/perks = list() /datum/antagonist/wizard_minion name = "Wizard Minion" diff --git a/code/modules/art/paintings.dm b/code/modules/art/paintings.dm index 0bb3bcfe8ead7..09583a66a7dce 100644 --- a/code/modules/art/paintings.dm +++ b/code/modules/art/paintings.dm @@ -5,6 +5,7 @@ /////////// /obj/structure/easel + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "easel" desc = "Only for the finest of art!" icon = 'icons/obj/art/artstuff.dmi' @@ -57,6 +58,8 @@ var/icon/generated_icon ///boolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies. var/no_save = FALSE + /// What icon file do we get our frame sprites from? + var/frame_icon = 'icons/obj/art/painting_frames.dmi' ///reference to the last patron's mind datum, used to allow them (and no others) to change the frame before the round ends. var/datum/weakref/last_patron @@ -64,8 +67,11 @@ var/datum/painting/painting_metadata // Painting overlay offset when framed - var/framed_offset_x = 11 - var/framed_offset_y = 10 + var/framed_offset_x = 10 + var/framed_offset_y = 9 + + /// Additional offset to apply to the parent while framed + var/wall_y_offset = 0 /** * How big the grid cells that compose the painting are in the UI (multiplied by zoom). @@ -76,7 +82,7 @@ ///A list that keeps track of the current zoom value for each current viewer. var/list/zoom_by_observer - SET_BASE_PIXEL(11, 10) + SET_BASE_PIXEL(10, 9) custom_price = PAYCHECK_CREW @@ -91,6 +97,14 @@ painting_metadata.height = height ADD_KEEP_TOGETHER(src, INNATE_TRAIT) +/obj/item/canvas/Destroy() + last_patron = null + if(istype(loc,/obj/structure/sign/painting)) + var/obj/structure/sign/painting/frame = loc + frame.remove_art_element(painting_metadata.credit_value) + painting_metadata = null + return ..() + /obj/item/canvas/proc/reset_grid() grid = new/list(width,height) for(var/x in 1 to width) @@ -102,6 +116,8 @@ ui_interact(user) /obj/item/canvas/ui_state(mob/user) + if(isobserver(user)) + return GLOB.observer_state if(finalized) return GLOB.physical_obscured_state else @@ -149,11 +165,14 @@ . = ..() ui_interact(user) -/obj/item/canvas/ui_act(action, params) +/obj/item/canvas/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return var/mob/user = usr + ///this is here to allow observers to zoom in and out but not do anything else. + if(action != "zoom_in" && action != "zoom_out" && isobserver(user)) + return switch(action) if("paint") if(finalized) @@ -286,10 +305,16 @@ curator.adjust_money(curator_cut, "Painting: Patronage cut") curator.bank_card_talk("Cut on patronage received, account now holds [curator.account_balance] cr.") + if(istype(loc, /obj/structure/sign/painting)) + var/obj/structure/sign/painting/frame = loc + frame.remove_art_element(painting_metadata.credit_value) + frame.add_art_element(offer_amount) + painting_metadata.patron_ckey = user.ckey painting_metadata.patron_name = user.real_name painting_metadata.credit_value = offer_amount last_patron = WEAKREF(user.mind) + to_chat(user, span_notice("Nanotrasen Trust Foundation thanks you for your contribution. You're now an official patron of this painting.")) var/list/possible_frames = SSpersistent_paintings.get_available_frames(offer_amount) if(possible_frames.len <= 1) // Not much room for choices here. @@ -308,7 +333,7 @@ var/possible_frames = candidates || SSpersistent_paintings.get_available_frames(painting_metadata.credit_value) var/list/radial_options = list() for(var/frame_name in possible_frames) - radial_options[frame_name] = image(icon, "[icon_state]frame_[frame_name]") + radial_options[frame_name] = image(frame_icon, "[icon_state]frame_[frame_name]") var/result = show_radial_menu(user, loc, radial_options, radius = 60, custom_check = CALLBACK(src, PROC_REF(can_select_frame), user), tooltips = TRUE) if(!result) return @@ -418,29 +443,32 @@ icon_state = "19x19" width = 19 height = 19 - SET_BASE_PIXEL(7, 7) - framed_offset_x = 7 + SET_BASE_PIXEL(6, 7) + framed_offset_x = 6 framed_offset_y = 7 + wall_y_offset = -2 /obj/item/canvas/twentythree_nineteen name = "canvas (23x19)" icon_state = "23x19" width = 23 height = 19 - SET_BASE_PIXEL(5, 7) - framed_offset_x = 5 + SET_BASE_PIXEL(4, 7) + framed_offset_x = 4 framed_offset_y = 7 pixels_per_unit = 8 + wall_y_offset = -2 /obj/item/canvas/twentythree_twentythree name = "canvas (23x23)" icon_state = "23x23" width = 23 height = 23 - SET_BASE_PIXEL(5, 5) - framed_offset_x = 5 - framed_offset_y = 5 + SET_BASE_PIXEL(4, 7) + framed_offset_x = 4 + framed_offset_y = 7 pixels_per_unit = 8 + wall_y_offset = -5 /obj/item/canvas/twentyfour_twentyfour name = "canvas (24x24) (AI Universal Standard)" @@ -448,9 +476,10 @@ icon_state = "24x24" width = 24 height = 24 - SET_BASE_PIXEL(4, 4) + SET_BASE_PIXEL(4, 11) framed_offset_x = 4 - framed_offset_y = 4 + framed_offset_y = 7 + wall_y_offset = -6 pixels_per_unit = 8 /obj/item/canvas/thirtysix_twentyfour @@ -459,10 +488,11 @@ icon_state = "24x24" //The vending spritesheet needs the icons to be 32x32. We'll set the actual icon on Initialize. width = 36 height = 24 - SET_BASE_PIXEL(-4, 4) + SET_BASE_PIXEL(-4, 7) framed_offset_x = 14 - framed_offset_y = 4 + framed_offset_y = 7 pixels_per_unit = 7 + wall_y_offset = 1 w_class = WEIGHT_CLASS_BULKY custom_price = PAYCHECK_CREW * 1.25 @@ -471,6 +501,7 @@ . = ..() AddElement(/datum/element/item_scaling, 1, 0.8) icon = 'icons/obj/art/artstuff_64x64.dmi' + frame_icon = 'icons/obj/art/artstuff_64x64.dmi' icon_state = "36x24" /obj/item/canvas/fortyfive_twentyseven @@ -479,10 +510,11 @@ icon_state = "24x24" //Ditto width = 45 height = 27 - SET_BASE_PIXEL(-8, 2) + SET_BASE_PIXEL(-8, 7) framed_offset_x = 9 - framed_offset_y = 4 + framed_offset_y = 7 pixels_per_unit = 6 + wall_y_offset = -1 w_class = WEIGHT_CLASS_BULKY custom_price = PAYCHECK_CREW * 1.75 @@ -491,26 +523,27 @@ . = ..() AddElement(/datum/element/item_scaling, 1, 0.7) icon = 'icons/obj/art/artstuff_64x64.dmi' + frame_icon = 'icons/obj/art/artstuff_64x64.dmi' icon_state = "45x27" /obj/item/wallframe/painting name = "painting frame" desc = "The perfect showcase for your favorite deathtrap memories." - icon = 'icons/obj/signs.dmi' - custom_materials = list(/datum/material/wood =SHEET_MATERIAL_AMOUNT) + icon = 'icons/obj/art/painting_frames.dmi' + custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT) resistance_flags = FLAMMABLE flags_1 = NONE icon_state = "frame-empty" result_path = /obj/structure/sign/painting - pixel_shift = 30 + north_only = TRUE /obj/structure/sign/painting name = "Painting" desc = "Art or \"Art\"? You decide." - icon = 'icons/obj/signs.dmi' + icon = 'icons/obj/art/painting_frames.dmi' icon_state = "frame-empty" base_icon_state = "frame" - custom_materials = list(/datum/material/wood =SHEET_MATERIAL_AMOUNT) + custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT) resistance_flags = FLAMMABLE buildable_sign = FALSE ///Canvas we're currently displaying. @@ -526,12 +559,14 @@ /obj/item/canvas/twentythree_twentythree, /obj/item/canvas/twentyfour_twentyfour, ) + /// the type of wallframe it 'disassembles' into + var/wallframe_type = /obj/item/wallframe/painting + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting) /obj/structure/sign/painting/Initialize(mapload, dir, building) . = ..() SSpersistent_paintings.painting_frames += src - if(dir) - setDir(dir) /obj/structure/sign/painting/Destroy() . = ..() @@ -546,6 +581,16 @@ else return ..() +/obj/structure/sign/painting/knock_down(mob/living/user) + var/turf/drop_turf + if(user) + drop_turf = get_turf(user) + else + drop_turf = drop_location() + current_canvas?.forceMove(drop_turf) + var/obj/item/wallframe/frame = new wallframe_type(drop_turf) + frame.update_integrity(get_integrity()) //Transfer how damaged it is. + /obj/structure/sign/painting/examine(mob/user) . = ..() if(persistence_id) @@ -566,6 +611,8 @@ /obj/structure/sign/painting/Exited(atom/movable/movable, atom/newloc) . = ..() if(movable == current_canvas) + if(!QDELETED(current_canvas)) + remove_art_element(current_canvas.painting_metadata.credit_value) current_canvas = null update_appearance() @@ -585,6 +632,8 @@ if(!current_canvas.finalized) current_canvas.finalize(user) to_chat(user,span_notice("You frame [current_canvas].")) + pixel_y += current_canvas.wall_y_offset + add_art_element() update_appearance() return TRUE return FALSE @@ -619,7 +668,7 @@ painting.pixel_y = current_canvas.framed_offset_y . += painting var/frame_type = current_canvas.painting_metadata.frame_type - . += mutable_appearance(current_canvas.icon,"[current_canvas.icon_state]frame_[frame_type]") //add the frame + . += mutable_appearance(current_canvas.frame_icon, "[current_canvas.icon_state]frame_[frame_type]") //add the frame /** * Loads a painting from SSpersistence. Called globally by said subsystem when it inits @@ -654,10 +703,31 @@ new_canvas.finalized = TRUE new_canvas.name = "painting - [painting.title]" current_canvas = new_canvas + add_art_element() current_canvas.update_appearance() update_appearance() return TRUE +/obj/structure/sign/painting/proc/add_art_element() + var/artistic_value = get_art_value(current_canvas.painting_metadata.credit_value) + if(artistic_value) + AddElement(/datum/element/art, artistic_value) + +/obj/structure/sign/painting/proc/remove_art_element(patronage) + var/artistic_value = get_art_value(patronage) + if(artistic_value) + RemoveElement(/datum/element/art, artistic_value) + +/obj/structure/sign/painting/proc/get_art_value(patronage) + switch(patronage) + if(PATRONAGE_SUPERB_FRAME to INFINITY) + return GREAT_ART + if(PATRONAGE_EXCELLENT_FRAME to PATRONAGE_SUPERB_FRAME) + return GOOD_ART + if(PATRONAGE_NICE_FRAME to PATRONAGE_EXCELLENT_FRAME) + return OK_ART + return 0 + /obj/structure/sign/painting/proc/save_persistent() if(!persistence_id || !current_canvas || current_canvas.no_save || current_canvas.painting_metadata.loaded_from_json) return @@ -694,9 +764,10 @@ name = "large painting frame" desc = "The perfect showcase for your favorite deathtrap memories. Make sure you have enough space to mount this one to the wall." custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT*2) - icon_state = "frame-large-empty" + icon = 'icons/obj/art/artstuff_64x64.dmi' + icon_state = "frame-empty" + base_pixel_x = -17 result_path = /obj/structure/sign/painting/large - pixel_shift = 0 //See [/obj/structure/sign/painting/large/proc/finalize_size] custom_price = PAYCHECK_CREW * 1.25 /obj/item/wallframe/painting/large/try_build(turf/on_wall, mob/user) @@ -725,6 +796,7 @@ /obj/item/canvas/thirtysix_twentyfour, /obj/item/canvas/fortyfive_twentyseven, ) + wallframe_type = /obj/item/wallframe/painting/large /obj/structure/sign/painting/large/Initialize(mapload) . = ..() @@ -738,11 +810,13 @@ * of the way it's designed, the pixel_shift variable from the wallframe item won't do. * Also we want higher bounds so it actually covers an extra wall turf, so that it can count toward check_wall_item calls for * that wall turf. + * + * I havent figured out if we still want this in wallening yet? */ /obj/structure/sign/painting/large/proc/finalize_size() switch(dir) if(SOUTH) - pixel_y = -32 + pixel_y = -11 bound_width = 64 if(NORTH) bound_width = 64 @@ -753,6 +827,8 @@ bound_height = 64 if(EAST) bound_height = 64 + if (!isnull(current_canvas)) + pixel_y += current_canvas.wall_y_offset /obj/structure/sign/painting/large/frame_canvas(mob/user, obj/item/canvas/new_canvas) . = ..() @@ -795,30 +871,40 @@ desc_with_canvas = "A piece of art (or \"art\"). Anyone could've hung it." persistence_id = "library" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting/library) + /obj/structure/sign/painting/library_secure name = "\improper Curated Painting Exhibit mounting" desc = "For masterpieces hand-picked by the curator." desc_with_canvas = "A masterpiece hand-picked by the curator, supposedly." persistence_id = "library_secure" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting/library_secure) + /obj/structure/sign/painting/library_private // keep your smut away from prying eyes, or non-librarians at least name = "\improper Private Painting Exhibit mounting" desc = "For art pieces deemed too subversive or too illegal to be shared outside of curators." desc_with_canvas = "A painting hung away from lesser minds." persistence_id = "library_private" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting/library_private) + /obj/structure/sign/painting/large/library name = "\improper Large Painting Exhibit mounting" desc = "For the bulkier art pieces, hand-picked by the curator." desc_with_canvas = "A curated, large piece of art (or \"art\"). Hopefully the price of the canvas was worth it." persistence_id = "library_large" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting/large/library) + /obj/structure/sign/painting/large/library_private name = "\improper Private Painting Exhibit mounting" desc = "For the privier and less tasteful compositions that oughtn't to be shown in a parlor nor to the masses." desc_with_canvas = "A painting that oughn't to be shown to the less open-minded commoners." persistence_id = "library_large_private" +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting/large/library_private) + #define AVAILABLE_PALETTE_SPACE 14 // Enough to fill two radial menu pages diff --git a/code/modules/art/statues.dm b/code/modules/art/statues.dm index fd64d212f3e80..58b0eae188c10 100644 --- a/code/modules/art/statues.dm +++ b/code/modules/art/statues.dm @@ -3,6 +3,7 @@ #define SCULPT_SOUND_INCREMENT 4 /obj/structure/statue + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "statue" desc = "Placeholder. Yell at Firecage if you SOMEHOW see this." icon = 'icons/obj/art/statue.dmi' diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index 20316ebfd66d1..1f918888610da 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -100,7 +100,7 @@ data["target"] = health_target return data -/obj/item/assembly/health/ui_act(action, params) +/obj/item/assembly/health/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return . diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 8dd4573fcfde1..addbad2704e1b 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -107,28 +107,14 @@ var/turf/last_turf = final_turfs[length(final_turfs)] buffer_turf = get_step(last_turf, dir) - var/beam_target_x = pixel_x - var/beam_target_y = pixel_y - // The beam by default will go to middle of turf (because items are in the middle of turfs) - // So we need to offset it - if(dir & NORTH) - beam_target_y += 16 - else if(dir & SOUTH) - beam_target_y -= 16 - if(dir & WEST) - beam_target_x -= 16 - else if(dir & EAST) - beam_target_x += 16 - active_beam = start_loc.Beam( BeamTarget = last_turf, beam_type = /obj/effect/ebeam/reacting/infrared, icon = 'icons/effects/beam.dmi', - icon_state = "1-full", - beam_color = COLOR_RED, + icon_state = "infrared", emissive = TRUE, - override_target_pixel_x = beam_target_x, - override_target_pixel_y = beam_target_y, + override_target_pixel_x = pixel_x, + override_target_pixel_y = pixel_y, ) RegisterSignal(active_beam, COMSIG_BEAM_ENTERED, PROC_REF(beam_entered)) RegisterSignal(active_beam, COMSIG_BEAM_TURFS_CHANGED, PROC_REF(beam_turfs_changed)) @@ -305,7 +291,7 @@ data["visible"] = visible return data -/obj/item/assembly/infra/ui_act(action, params) +/obj/item/assembly/infra/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return . diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 031a3f78eadeb..61153738ee714 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -154,7 +154,7 @@ data["sensitivity"] = sensitivity return data -/obj/item/assembly/prox_sensor/ui_act(action, params) +/obj/item/assembly/prox_sensor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 8366bb0f2b382..fad912d42229a 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -67,6 +67,9 @@ if(!timing) return time -= seconds_per_tick + if (time == 9 || time == 19 || time == 29) + update_appearance() + if(time <= 0) timing = FALSE timer_end() @@ -79,9 +82,14 @@ /obj/item/assembly/timer/update_overlays() . = ..() attached_overlays = list() - if(timing) - . += "timer_timing" - attached_overlays += "timer_timing" + if(!timing) + return + + attached_overlays += "timer_timing" + for (var/i in 1 to clamp(ceil(time / 10), 1, 3)) + var/mutable_appearance/timer_light = mutable_appearance(icon, "timer_light", layer, src) + timer_light.pixel_x = (i - 1) * 2 + . += timer_light /obj/item/assembly/timer/ui_status(mob/user, datum/ui_state/state) if(is_secured(user)) @@ -102,7 +110,7 @@ data["loop"] = loop return data -/obj/item/assembly/timer/ui_act(action, params) +/obj/item/assembly/timer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/asset_cache/assets/crafting.dm b/code/modules/asset_cache/assets/crafting.dm index 99088ed1a70da..eea933ebc1553 100644 --- a/code/modules/asset_cache/assets/crafting.dm +++ b/code/modules/asset_cache/assets/crafting.dm @@ -55,8 +55,8 @@ TOOL_WRENCH = icon('icons/obj/tools.dmi', "wrench"), TOOL_WELDER = icon('icons/obj/tools.dmi', "welder"), TOOL_ANALYZER = icon('icons/obj/devices/scanner.dmi', "analyzer"), - TOOL_MINING = icon('icons/obj/mining.dmi', "minipick"), - TOOL_SHOVEL = icon('icons/obj/mining.dmi', "spade"), + TOOL_MINING = icon('icons/obj/mining_zones/equipment.dmi', "minipick"), + TOOL_SHOVEL = icon('icons/obj/mining_zones/equipment.dmi', "spade"), TOOL_RETRACTOR = icon('icons/obj/medical/surgery_tools.dmi', "retractor"), TOOL_HEMOSTAT = icon('icons/obj/medical/surgery_tools.dmi', "hemostat"), TOOL_CAUTERY = icon('icons/obj/medical/surgery_tools.dmi', "cautery"), diff --git a/code/modules/asset_cache/assets/mecha.dm b/code/modules/asset_cache/assets/mecha.dm index 3c2403cf1c375..87d3b3ee5c848 100644 --- a/code/modules/asset_cache/assets/mecha.dm +++ b/code/modules/asset_cache/assets/mecha.dm @@ -3,4 +3,4 @@ /datum/asset/spritesheet/mecha_equipment/create_spritesheets() InsertAll("", 'icons/obj/devices/mecha_equipment.dmi') - InsertAll("", 'icons/obj/ore.dmi') + InsertAll("", 'icons/obj/mining_zones/ore.dmi') diff --git a/code/modules/asset_cache/assets/paper.dm b/code/modules/asset_cache/assets/paper.dm index fdd2e748dec21..70d808b285bec 100644 --- a/code/modules/asset_cache/assets/paper.dm +++ b/code/modules/asset_cache/assets/paper.dm @@ -1,20 +1,20 @@ /datum/asset/spritesheet/simple/paper name = "paper" assets = list( - "stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png', - "stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png', - "stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png', - "stamp-void" = 'icons/stamp_icons/large_stamp-void.png', - "stamp-hop" = 'icons/stamp_icons/large_stamp-hop.png', - "stamp-cmo" = 'icons/stamp_icons/large_stamp-cmo.png', - "stamp-ce" = 'icons/stamp_icons/large_stamp-ce.png', - "stamp-hos" = 'icons/stamp_icons/large_stamp-hos.png', - "stamp-rd" = 'icons/stamp_icons/large_stamp-rd.png', - "stamp-cap" = 'icons/stamp_icons/large_stamp-cap.png', - "stamp-qm" = 'icons/stamp_icons/large_stamp-qm.png', - "stamp-law" = 'icons/stamp_icons/large_stamp-law.png', - "stamp-chap" = 'icons/stamp_icons/large_stamp-chap.png', - "stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png', - "stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png', - "stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png' + "stamp-clown" = 'icons/ui/stamp_icons/large_stamp-clown.png', + "stamp-deny" = 'icons/ui/stamp_icons/large_stamp-deny.png', + "stamp-ok" = 'icons/ui/stamp_icons/large_stamp-ok.png', + "stamp-void" = 'icons/ui/stamp_icons/large_stamp-void.png', + "stamp-hop" = 'icons/ui/stamp_icons/large_stamp-hop.png', + "stamp-cmo" = 'icons/ui/stamp_icons/large_stamp-cmo.png', + "stamp-ce" = 'icons/ui/stamp_icons/large_stamp-ce.png', + "stamp-hos" = 'icons/ui/stamp_icons/large_stamp-hos.png', + "stamp-rd" = 'icons/ui/stamp_icons/large_stamp-rd.png', + "stamp-cap" = 'icons/ui/stamp_icons/large_stamp-cap.png', + "stamp-qm" = 'icons/ui/stamp_icons/large_stamp-qm.png', + "stamp-law" = 'icons/ui/stamp_icons/large_stamp-law.png', + "stamp-chap" = 'icons/ui/stamp_icons/large_stamp-chap.png', + "stamp-mime" = 'icons/ui/stamp_icons/large_stamp-mime.png', + "stamp-centcom" = 'icons/ui/stamp_icons/large_stamp-centcom.png', + "stamp-syndicate" = 'icons/ui/stamp_icons/large_stamp-syndicate.png' ) diff --git a/code/modules/asset_cache/assets/rcd.dm b/code/modules/asset_cache/assets/rcd.dm index 16dee49c60fea..41521e196f662 100644 --- a/code/modules/asset_cache/assets/rcd.dm +++ b/code/modules/asset_cache/assets/rcd.dm @@ -1,3 +1,4 @@ + /datum/asset/spritesheet/rcd name = "rcd-tgui" @@ -14,32 +15,35 @@ var/sprite_name var/icon/sprite_icon for(var/list/design as anything in designs) - var/atom/movable/path = design[RCD_DESIGN_PATH] + var/atom/path = design[RCD_DESIGN_PATH] if(!ispath(path)) continue - sprite_name = initial(path.name) - - //icon for windows are blended with grills if required and loaded from radial menu + sprite_name = RCD_SPRITESHEET_PATH_KEY(path) + //icon for windows are blended with frames if required and loaded from radial menu if(ispath(path, /obj/structure/window)) - if(path == /obj/structure/window) - sprite_icon = icon(icon = 'icons/hud/radial.dmi', icon_state = "windowsize") - else if(path == /obj/structure/window/reinforced) - sprite_icon = icon(icon = 'icons/hud/radial.dmi', icon_state = "windowtype") - else if(path == /obj/structure/window/fulltile || path == /obj/structure/window/reinforced/fulltile) + var/obj/structure/window/window_path = path + if(initial(window_path.fulltile)) + sprite_icon = icon(icon = 'icons/obj/structures/smooth/window_frames/window_frame_normal.dmi', icon_state = "window_frame_normal-0", dir = SOUTH) + + var/obj/structure/window_frame/frame_path = /obj/structure/window_frame + + sprite_icon.Blend(icon(icon = initial(frame_path.grille_black_icon), icon_state = "[initial(frame_path.grille_icon_state)]_black-[0]"), ICON_OVERLAY) + sprite_icon.Blend(icon(icon = initial(frame_path.grille_icon), icon_state = "[initial(frame_path.grille_icon_state)]-[0]"), ICON_OVERLAY) + sprite_icon.Blend(icon(icon = initial(path.icon), icon_state = initial(path.icon_state)), ICON_OVERLAY) + else sprite_icon = icon(icon = initial(path.icon), icon_state = initial(path.icon_state)) - sprite_icon.Blend(icon(icon = 'icons/obj/structures.dmi', icon_state = "grille"), ICON_UNDERLAY) //icons for solid airlocks have an added solid overlay on top of their glass icons else if(ispath(path, /obj/machinery/door/airlock)) var/obj/machinery/door/airlock/airlock_path = path var/airlock_icon = initial(airlock_path.icon) - sprite_icon = icon(icon = airlock_icon, icon_state = "closed") + sprite_icon = icon(icon = airlock_icon, icon_state = "closed", dir = SOUTH) if(!initial(airlock_path.glass)) sprite_icon.Blend(icon(icon = airlock_icon, icon_state = "fill_closed"), ICON_OVERLAY) //for all other icons we load the paths default icon & icon state else - sprite_icon = icon(icon = initial(path.icon), icon_state = initial(path.icon_state)) + sprite_icon = icon(icon = initial(path.icon), icon_state = initial(path.icon_state), dir = SOUTH) Insert(sanitize_css_class_name(sprite_name), sprite_icon) diff --git a/code/modules/asset_cache/assets/supplypods.dm b/code/modules/asset_cache/assets/supplypods.dm index fd4c961f103e6..3807c080f6200 100644 --- a/code/modules/asset_cache/assets/supplypods.dm +++ b/code/modules/asset_cache/assets/supplypods.dm @@ -2,26 +2,26 @@ name = "supplypods" /datum/asset/spritesheet/supplypods/create_spritesheets() - for (var/style in 1 to length(GLOB.podstyles)) - if (style == STYLE_SEETHROUGH) - Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi' , "seethrough-icon")) + for (var/datum/pod_style/style as anything in typesof(/datum/pod_style)) + if (ispath(style, /datum/pod_style/seethrough)) + Insert("pod_asset[style::id]", icon('icons/obj/supplypods.dmi' , "seethrough-icon")) continue - var/base = GLOB.podstyles[style][POD_BASE] + var/base = style::icon_state if (!base) - Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi', "invisible-icon")) + Insert("pod_asset[style::id]", icon('icons/obj/supplypods.dmi', "invisible-icon")) continue var/icon/podIcon = icon('icons/obj/supplypods.dmi', base) - var/door = GLOB.podstyles[style][POD_DOOR] + var/door = style::has_door if (door) door = "[base]_door" podIcon.Blend(icon('icons/obj/supplypods.dmi', door), ICON_OVERLAY) - var/shape = GLOB.podstyles[style][POD_SHAPE] - if (shape == POD_SHAPE_NORML) - var/decal = GLOB.podstyles[style][POD_DECAL] + var/shape = style::shape + if (shape == POD_SHAPE_NORMAL) + var/decal = style::decal_icon if (decal) podIcon.Blend(icon('icons/obj/supplypods.dmi', decal), ICON_OVERLAY) - var/glow = GLOB.podstyles[style][POD_GLOW] + var/glow = style::glow_color if (glow) glow = "pod_glow_[glow]" podIcon.Blend(icon('icons/obj/supplypods.dmi', glow), ICON_OVERLAY) - Insert("pod_asset[style]", podIcon) + Insert("pod_asset[style::id]", podIcon) diff --git a/code/modules/asset_cache/assets/uplink.dm b/code/modules/asset_cache/assets/uplink.dm index e85ee1b35b5c1..35a907a234dfa 100644 --- a/code/modules/asset_cache/assets/uplink.dm +++ b/code/modules/asset_cache/assets/uplink.dm @@ -18,10 +18,13 @@ for(var/datum/uplink_item/item_path as anything in subtypesof(/datum/uplink_item)) var/datum/uplink_item/item = new item_path() + var/atom/actual_item = item.item if(item.item) { items += list(list( "id" = item_path, "name" = item.name, + "icon" = actual_item.icon, + "icon_state" = actual_item.icon_state, "cost" = item.cost, "desc" = item.desc, "category" = item.category ? initial(item.category.name) : null, diff --git a/code/modules/asset_cache/assets/vending.dm b/code/modules/asset_cache/assets/vending.dm index 4d99eeefdc9d0..caec9bb4f8218 100644 --- a/code/modules/asset_cache/assets/vending.dm +++ b/code/modules/asset_cache/assets/vending.dm @@ -6,22 +6,28 @@ var/target_items = list() for(var/obj/machinery/vending/vendor as anything in typesof(/obj/machinery/vending)) vendor = new vendor() // It seems `initial(list var)` has nothing. need to make a type. - for(var/each in list(vendor.products, vendor.premium, vendor.contraband)) - target_items |= each + target_items |= vendor.products + target_items |= vendor.premium + target_items |= vendor.contraband qdel(vendor) // building icons for each item - for (var/k in target_items) - var/atom/item = k + for (var/atom/item as anything in target_items) if (!ispath(item, /atom)) continue var/icon_file - if (initial(item.greyscale_colors) && initial(item.greyscale_config)) + var/icon_state = initial(item.icon_state) + var/icon_color = initial(item.color) + // GAGS icons must be pregenerated + if(initial(item.greyscale_config) && initial(item.greyscale_colors)) icon_file = SSgreyscale.GetColoredIconByType(initial(item.greyscale_config), initial(item.greyscale_colors)) - else + // Colored atoms must be pregenerated + else if(icon_color && icon_state) icon_file = initial(item.icon) - var/icon_state = initial(item.icon_state) + // Otherwise we can rely on DMIcon, so skip it to save init time + else + continue if (PERFORM_ALL_TESTS(focus_only/invalid_vending_machine_icon_states)) var/icon_states_list = icon_states(icon_file) @@ -36,11 +42,10 @@ stack_trace("[item] does not have a valid icon state, icon=[icon_file], icon_state=[json_encode(icon_state)]([text_ref(icon_state)]), icon_states=[icon_states_string]") continue - var/icon/I = icon(icon_file, icon_state, SOUTH) - var/c = initial(item.color) - if (!isnull(c) && c != COLOR_WHITE) - I.Blend(c, ICON_MULTIPLY) + var/icon/produced = icon(icon_file, icon_state, SOUTH) + if (!isnull(icon_color) && icon_color != COLOR_WHITE) + produced.Blend(icon_color, ICON_MULTIPLY) var/imgid = replacetext(replacetext("[item]", "/obj/item/", ""), "/", "-") - Insert(imgid, I) + Insert(imgid, produced) diff --git a/code/modules/atmospherics/Atmospherics.md b/code/modules/atmospherics/Atmospherics.md index 1203ed232e184..8d280c6dcdcb5 100644 --- a/code/modules/atmospherics/Atmospherics.md +++ b/code/modules/atmospherics/Atmospherics.md @@ -38,7 +38,7 @@ Now then, into the breach. The air controller is, at its core, quite simple, yet it is absolutely fundamental to the atmospheric system. The air controller is the clock which triggers all continuous actions within the atmos system, such as vents distributing air or gas moving between tiles. The actions taken by the air controller are quite simple, and will be enumerated here. Much of the substance of the air ticker is due to the game's master controller, whose intricacies I will not delve into for this document. I will however go into more detail about how SSAir in particular works in Chapter 6. In any case, this is a simplified list of the air controller's actions in a single tick: 1. Rebuild Pipenets - Runs each time SSAir processes, sometimes out of order. It ensures that no pipeline sit unresolved or unbuilt - - Processes the `rebuild_queue` list into the `expansion_queue` list, and then builds a full pipeline piecemeal. We do a ton of fenagling here to reduce overrun + - Processes the `rebuild_queue` list into the `expansion_queue` list, and then builds a full pipeline piecemeal. We do a ton of fenagling here to reduce overrun 2. Pipenets - Updates the internal gasmixes of attached pipe machinery, and reacts the gases in a pipeline - Calls `process()` on each `/datum/pipenet` in the `networks` list @@ -180,7 +180,7 @@ You may notice something like this in `process_cell()`. It's not quite the same Back in the old FEA days, neighbor count was hardcoded to 4 (Likely because this is what cell sharing on an infinite grid would look like). This means that turf A -> turf B is the same as turf B -> turf A, because they're each portioning up the gas in the same way. -But when we moved to LINDA, we started using the length of our atmos_adjacent_turfs list (or an analog). +But when we moved to LINDA, we started using the length of our atmos_adjacent_turfs list (or an analog). We need this so things like multiz can work, and so tiles in a corner share in a way that makes sense. Because of this, turf A -> turf B was no longer the same as turf B -> turf A, assuming one of those turfs had a different neighbor count, from I DON'T KNOW WALLS? @@ -269,7 +269,7 @@ I've been talking kinda abstractly about turfs sleeping. That's because turfs on ### A brief romp to talk about excited groups and LAST_SHARE_CHECK -Excited groups can tell the amount of diff being shared by hooking into a value `share()` sets on gasmixes, the absolute amount of gas shared by each tile. The issue is this isn't pressure, it's molar count. So heat being shared in a sealed room causes excited groups to break down, then reform from sources. This isn't a major issue due to how breakdown evens things out, but it's worth knowing. +Excited groups can tell the amount of diff being shared by hooking into a value `share()` sets on gasmixes, the absolute amount of gas shared by each tile. The issue is this isn't pressure, its molar count. So heat being shared in a sealed room causes excited groups to break down, then reform from sources. This isn't a major issue due to how breakdown evens things out, but it's worth knowing. ### Back to the main thread diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index 00bb94d6bc31f..17ae90bacdfe4 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -15,6 +15,31 @@ /turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) return +/turf/open/proc/set_active_hotspot(obj/effect/hotspot/new_lad) + if(active_hotspot == new_lad) + return + var/hotspot_around = NONE + if(active_hotspot) + if(new_lad) + hotspot_around = active_hotspot.smoothing_junction + if(!QDELETED(active_hotspot)) + QDEL_NULL(active_hotspot) + else + for(var/direction in GLOB.cardinals) + var/turf/potentially_open = get_step(src, direction) + if(!isopenturf(potentially_open)) + continue + var/turf/open/potentially_hotboxed = potentially_open + if(!potentially_hotboxed.active_hotspot) + continue + var/existing_directions = potentially_hotboxed.active_hotspot.smoothing_junction + potentially_hotboxed.active_hotspot.set_smoothed_icon_state(existing_directions | REVERSE_DIR(direction)) + hotspot_around |= direction + + active_hotspot = new_lad + if(active_hotspot) + active_hotspot.set_smoothed_icon_state(hotspot_around) + /** * Handles the creation of hotspots and initial activation of turfs. * Setting the conditions for the reaction to actually happen for gasmixtures @@ -55,10 +80,10 @@ if(((exposed_temperature > PLASMA_MINIMUM_BURN_TEMPERATURE) && (plas > 0.5 || trit > 0.5 || h2 > 0.5)) || \ ((exposed_temperature < FREON_MAXIMUM_BURN_TEMPERATURE) && (freon > 0.5))) - active_hotspot = new /obj/effect/hotspot(src, exposed_volume*25, exposed_temperature) + set_active_hotspot(new /obj/effect/hotspot(src, exposed_volume*25, exposed_temperature)) active_hotspot.just_spawned = (current_cycle < SSair.times_fired) - //remove just_spawned protection if no longer processing this cell + //remove just_spawned protection if no longer processing this cell SSair.add_to_active(src) /** @@ -68,16 +93,18 @@ /obj/effect/hotspot anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT - icon = 'icons/effects/fire.dmi' - icon_state = "1" + icon = 'icons/effects/atmos/fire.dmi' + icon_state = "light" layer = GASFIRE_LAYER - plane = ABOVE_GAME_PLANE blend_mode = BLEND_ADD light_system = OVERLAY_LIGHT light_range = LIGHT_RANGE_FIRE light_power = 1 light_color = LIGHT_COLOR_FIRE + /// base sprite used for our icon states when smoothing + /// BAAAASICALY the same as icon_state but is helpful to avoid duplicated work + var/fire_stage = "" /** * Volume is the representation of how big and healthy a fire is. * Hotspot volume will be divided by turf volume to get the ratio for temperature setting on non bypassing mode. @@ -94,7 +121,6 @@ ///Are we burning freon? var/cold_fire = FALSE - /obj/effect/hotspot/Initialize(mapload, starting_volume, starting_temperature) . = ..() SSair.hotspots += src @@ -111,6 +137,20 @@ ) AddElement(/datum/element/connect_loc, loc_connections) +/obj/effect/hotspot/set_smoothed_icon_state(new_junction) + smoothing_junction = new_junction + // If we have a connection down offset physically down so we render correctly + if(new_junction & SOUTH) + // this ensures things physically below us but visually overlapping us render how we would want + pixel_y = -16 + pixel_z = 16 + // Otherwise render normally, to avoid weird layering + else + pixel_y = 0 + pixel_z = 0 + + update_color() + /** * Perform interactions between the hotspot and the gasmixture. * @@ -130,7 +170,7 @@ if(!istype(location) || !(location.air)) return - location.active_hotspot = src + location.set_active_hotspot(src) bypassing = !just_spawned && (volume > CELL_VOLUME*0.95) @@ -171,11 +211,18 @@ /obj/effect/hotspot/proc/update_color() cut_overlays() + if(!(smoothing_junction & NORTH)) + var/mutable_appearance/frill = mutable_appearance('icons/effects/atmos/fire.dmi', "[fire_stage]_frill") + frill.pixel_z = 32 + add_overlay(frill) var/heat_r = heat2colour_r(temperature) var/heat_g = heat2colour_g(temperature) var/heat_b = heat2colour_b(temperature) var/heat_a = 255 var/greyscale_fire = 1 //This determines how greyscaled the fire is. + // Note: + // Some of the overlays applied to hotspots are not 3/4th'd. They COULD be but we have not gotten to that point yet. + // Wallening todo? if(cold_fire) heat_r = 0 @@ -199,12 +246,16 @@ sparkle_overlay.alpha = sparkle_amt * 255 add_overlay(sparkle_overlay) if(temperature > 400000 && temperature < 1500000) //Lightning because very anime. - var/mutable_appearance/lightning_overlay = mutable_appearance(icon, "overcharged") + var/mutable_appearance/lightning_overlay = mutable_appearance('icons/effects/atmos/fire.dmi', "overcharged") + if(!(smoothing_junction & NORTH)) + var/mutable_appearance/frill = mutable_appearance('icons/effects/atmos/fire.dmi', "overcharged_frill") + frill.pixel_z = 32 + lightning_overlay.add_overlay(frill) lightning_overlay.blend_mode = BLEND_ADD add_overlay(lightning_overlay) if(temperature > 4500000) //This is where noblium happens. Some fusion-y effects. var/fusion_amt = temperature < LERP(4500000,12000000,0.5) ? gauss_lerp(temperature, 4500000, 12000000) : 1 - var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/atmospherics.dmi', "fusion_gas") + var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/atmos/atmospherics.dmi', "fusion_gas") fusion_overlay.blend_mode = BLEND_ADD fusion_overlay.alpha = fusion_amt * 255 var/mutable_appearance/rainbow_overlay = mutable_appearance('icons/hud/screen_gen.dmi', "druggy") @@ -264,7 +315,7 @@ perform_exposure() if(bypassing) - icon_state = "3" + set_fire_stage("heavy") if(!cold_fire) location.burn_tile() @@ -280,20 +331,28 @@ else if(volume > CELL_VOLUME*0.4) - icon_state = "2" + set_fire_stage("medium") else - icon_state = "1" + set_fire_stage("light") if((visual_update_tick++ % 7) == 0) update_color() return TRUE +/obj/effect/hotspot/proc/set_fire_stage(stage) + if(fire_stage == stage) + return + fire_stage = stage + icon_state = stage + dir = pick(GLOB.cardinals) + update_color() + /obj/effect/hotspot/Destroy() SSair.hotspots -= src var/turf/open/T = loc if(istype(T) && T.active_hotspot == src) - T.active_hotspot = null + T.set_active_hotspot(null) return ..() /obj/effect/hotspot/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) diff --git a/code/modules/atmospherics/environmental/LINDA_system.dm b/code/modules/atmospherics/environmental/LINDA_system.dm index 5f2b30a0d1969..bfeb9853648f1 100644 --- a/code/modules/atmospherics/environmental/LINDA_system.dm +++ b/code/modules/atmospherics/environmental/LINDA_system.dm @@ -133,6 +133,7 @@ UNSETEMPTY(atmos_adjacent_turfs) src.atmos_adjacent_turfs = atmos_adjacent_turfs SEND_SIGNAL(src, COMSIG_TURF_CALCULATED_ADJACENT_ATMOS) + rebuild_atmos_smoothing() /** * returns a list of adjacent turfs that can share air with this one. diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 85b95feb6d549..026f64f91c5ed 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -25,6 +25,9 @@ **/ var/initial_gas_mix = OPENTURF_DEFAULT_ATMOS + ///gas IDs of current active gas overlays -> the overlay they are currently generating + var/list/atmos_overlay_types + /turf/open //used for spacewind ///Pressure difference between two turfs @@ -47,8 +50,6 @@ /// exists so things like space can ask to take 100% of a tile's gas var/run_later = FALSE - ///gas IDs of current active gas overlays - var/list/atmos_overlay_types var/significant_share_ticker = 0 #ifdef TRACK_MAX_SHARE var/max_share = 0 @@ -160,7 +161,6 @@ /////////////////////////GAS OVERLAYS////////////////////////////// - /turf/open/proc/update_visuals() var/list/atmos_overlay_types = src.atmos_overlay_types // Cache for free performance @@ -171,24 +171,91 @@ src.atmos_overlay_types = null return + // Cache for sonic speed + var/offset = GET_Z_PLANE_OFFSET(z) + 1 + var/list/new_overlay_types = list() + // This is an extracted version of GAS_OVERLAYS() with logic build to handle gas smoothing + // The two should be kept up to date (I'm sorry for the code debt) + var/list/non_overlaying_gases = GLOB.nonoverlaying_gases var/list/gases = air.gases - - var/list/new_overlay_types - GAS_OVERLAYS(gases, new_overlay_types, src) + for(var/gas_id in gases) + if(non_overlaying_gases[gas_id]) + continue + var/list/gas_list = gases[gas_id] + var/list/gas_metadata = gas_list[GAS_META] + if(gas_list[MOLES] <= gas_metadata[META_GAS_MOLES_VISIBLE]) + continue + var/list/gas_overlays = gas_metadata[META_GAS_OVERLAY][offset] + + var/gas_junction = NONE + var/obj/effect/overlay/gas/existing_overlay = atmos_overlay_types?[gas_id] + if(existing_overlay) + vis_contents -= existing_overlay + gas_junction = existing_overlay.smoothing_junction + else // cold path so it's ok that it kinda fuckin sucks + // Alright if we're just being added, we need to poll our neighbors to update them + for(var/direction_to in GLOB.cardinals) + var/turf/neighbor = get_step(src, direction_to) + var/obj/effect/overlay/gas/their_overlay = neighbor.atmos_overlay_types?[gas_id] + if(!their_overlay) + continue + gas_junction |= dir_to_junction(direction_to) + var/updated_junction = their_overlay.smoothing_junction | dir_to_junction(REVERSE_DIR(direction_to)) + var/obj/effect/overlay/gas/new_overlay = their_overlay.get_smoothed_overlay(updated_junction) + neighbor.atmos_overlay_types[gas_id] = new_overlay + neighbor.vis_contents -= their_overlay + neighbor.vis_contents += new_overlay + + var/obj/effect/overlay/gas/new_overlay = gas_overlays[min(TOTAL_VISIBLE_STATES, CEILING(gas_list[MOLES] / MOLES_GAS_VISIBLE_STEP, 1))][gas_junction + 1] + vis_contents += new_overlay + new_overlay_types[gas_id] = new_overlay if (atmos_overlay_types) - for(var/overlay in atmos_overlay_types-new_overlay_types) //doesn't remove overlays that would only be added - vis_contents -= overlay - - if (length(new_overlay_types)) - if (atmos_overlay_types) - vis_contents += new_overlay_types - atmos_overlay_types //don't add overlays that already exist - else - vis_contents += new_overlay_types + // If we don't have an id anymore, remove it from our vis_contents and + // yell to our neighbors so they stop smoothing with us + for(var/old_gas_id in atmos_overlay_types - new_overlay_types) + var/obj/effect/overlay/gas/old_overlay = atmos_overlay_types[old_gas_id] + vis_contents -= old_overlay + for(var/direction_to in GLOB.cardinals) + var/turf/neighbor = get_step(src, direction_to) + var/obj/effect/overlay/gas/their_overlay = neighbor.atmos_overlay_types?[old_gas_id] + if(!their_overlay) + continue + var/updated_junction = their_overlay.smoothing_junction & ~dir_to_junction(REVERSE_DIR(direction_to)) + var/obj/effect/overlay/gas/new_overlay = their_overlay.get_smoothed_overlay(updated_junction) + neighbor.atmos_overlay_types[old_gas_id] = new_overlay + neighbor.vis_contents -= their_overlay + neighbor.vis_contents += new_overlay UNSETEMPTY(new_overlay_types) src.atmos_overlay_types = new_overlay_types +/// Fully recalculates the smoothing of our atmos overlays +/// Call when their inputs outside of the system (like, what adjacent turfs we have) change +/turf/proc/rebuild_atmos_smoothing() + PRIVATE_PROC(TRUE) + var/list/atmos_overlay_types = src.atmos_overlay_types + for(var/direction in GLOB.cardinals) + var/turf/paired_turf = get_step(src, direction) + if(!paired_turf) + continue + var/list/paired_atmos_overlay_types = paired_turf.atmos_overlay_types + if(!paired_atmos_overlay_types) + continue + var/dir_to_us = REVERSE_DIR(direction) + + for(var/gas_id as anything in paired_atmos_overlay_types - atmos_overlay_types) + var/obj/effect/overlay/gas/their_overlay = paired_atmos_overlay_types[gas_id] + if(!their_overlay) + continue + if(!(their_overlay.smoothing_junction & dir_to_us)) + continue + var/updated_junction = their_overlay.smoothing_junction & ~dir_to_junction(dir_to_us) + var/obj/effect/overlay/gas/new_overlay = their_overlay.get_smoothed_overlay(updated_junction) + paired_atmos_overlay_types[gas_id] = new_overlay + paired_turf.vis_contents -= their_overlay + paired_turf.vis_contents += new_overlay + /proc/typecache_of_gases_with_no_overlays() . = list() for (var/gastype in subtypesof(/datum/gas)) @@ -271,6 +338,12 @@ #endif for(var/turf/open/enemy_tile as anything in adjacent_turfs) + #ifdef UNIT_TESTS + if(!istype(enemy_tile)) + stack_trace("closed turf inside of adjacent turfs") + continue + #endif + // This var is only rarely set, exists so turfs can request to share at the end of our sharing // We need this so we can assume share is communative, which we need to do to avoid a hellish amount of garbage_collect()s if(enemy_tile.run_later) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index db2732be83fad..1f318f21dfbd6 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -134,7 +134,8 @@ GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache()) /// Gets the gas visuals for everything in this mixture /datum/gas_mixture/proc/return_visuals(turf/z_context) var/list/output - GAS_OVERLAYS(gases, output, z_context) + // We almost always want a normal gas tile, so let's give em a normal gas tile + GAS_OVERLAYS(gases, output, z_context, NONE) return output /// Calculate thermal energy in joules diff --git a/code/modules/atmospherics/gasmixtures/gas_types.dm b/code/modules/atmospherics/gasmixtures/gas_types.dm index 32acadb3bee52..477fd4c880abf 100644 --- a/code/modules/atmospherics/gasmixtures/gas_types.dm +++ b/code/modules/atmospherics/gasmixtures/gas_types.dm @@ -19,12 +19,15 @@ /proc/generate_gas_overlays(old_offset, new_offset, datum/gas/gas_type) var/list/to_return = list() - for(var/i in old_offset to new_offset) - var/fill = list() - to_return += list(fill) - for(var/j in 1 to TOTAL_VISIBLE_STATES) - var/obj/effect/overlay/gas/gas = new (initial(gas_type.gas_overlay), log(4, (j+0.4*TOTAL_VISIBLE_STATES) / (0.35*TOTAL_VISIBLE_STATES)) * 255, i) - fill += gas + for(var/offset in old_offset to new_offset) + var/offset_layer = list() + to_return += list(offset_layer) + for(var/alpha in 1 to TOTAL_VISIBLE_STATES) + var/list/alpha_layer = new /list(CARDINAL_SMOOTHING_JUNCTIONS + 1) // +1 to handle 0 + offset_layer += list(alpha_layer) + for(var/junction in 0 to CARDINAL_SMOOTHING_JUNCTIONS) + var/obj/effect/overlay/gas/gas = new (initial(gas_type.gas_overlay), log(4, (alpha+0.4*TOTAL_VISIBLE_STATES) / (0.35*TOTAL_VISIBLE_STATES)) * 255, offset, junction, alpha_layer) + alpha_layer[junction + 1] = gas return to_return /proc/gas_id2path(id) @@ -45,13 +48,13 @@ |||| only by meta_gas_list(). |||| \*||||||||||||||||||||||||||||||||||||||||*/ -//This is a plot created using the values for gas exports. Each gas has a value that works as it's kind of soft-cap, which limits you from making billions of credits per sale, based on the base_value variable on the gasses themselves. Most of these gasses as a result have a rather low value when sold, like nitrogen and oxygen at 1500 and 600 respectively at their maximum value. The +//This is a plot created using the values for gas exports. Each gas has a value that works as its kind of soft-cap, which limits you from making billions of credits per sale, based on the base_value variable on the gasses themselves. Most of these gasses as a result have a rather low value when sold, like nitrogen and oxygen at 1500 and 600 respectively at their maximum value. The /datum/gas var/id = "" var/specific_heat = 0 var/name = "" - ///icon_state in icons/effects/atmospherics.dmi - var/gas_overlay = "" + ///dmi to pull our gas sprites from + var/gas_overlay = null var/moles_visible = null ///currently used by canisters var/dangerous = FALSE @@ -103,19 +106,19 @@ id = GAS_PLASMA specific_heat = 200 name = "Plasma" - gas_overlay = "plasma" + gas_overlay = 'icons/effects/atmos/plasma.dmi' moles_visible = MOLES_GAS_VISIBLE dangerous = TRUE rarity = 800 base_value = 1.5 - desc = "A flammable gas with many other curious properties. It's research is one of NT's primary objective." + desc = "A flammable gas with many other curious properties. Its research is one of NT's primary objective." primary_color = "#ffc0cb" /datum/gas/water_vapor id = GAS_WATER_VAPOR specific_heat = 40 name = "Water Vapor" - gas_overlay = "water_vapor" + gas_overlay = 'icons/effects/atmos/water_vapor.dmi' moles_visible = MOLES_GAS_VISIBLE fusion_power = 8 rarity = 500 @@ -128,7 +131,7 @@ id = GAS_HYPER_NOBLIUM specific_heat = 2000 name = "Hyper-noblium" - gas_overlay = "freon" + gas_overlay = 'icons/effects/atmos/freon.dmi' moles_visible = MOLES_GAS_VISIBLE fusion_power = 10 rarity = 50 @@ -140,7 +143,7 @@ id = GAS_N2O specific_heat = 40 name = "Nitrous Oxide" - gas_overlay = "nitrous_oxide" + gas_overlay = 'icons/effects/atmos/nitrous_oxide.dmi' moles_visible = MOLES_GAS_VISIBLE * 2 fusion_power = 10 dangerous = TRUE @@ -155,7 +158,7 @@ specific_heat = 10 name = "Nitrium" fusion_power = 7 - gas_overlay = "nitrium" + gas_overlay = 'icons/effects/atmos/nitrium.dmi' moles_visible = MOLES_GAS_VISIBLE dangerous = TRUE rarity = 1 @@ -167,7 +170,7 @@ id = GAS_TRITIUM specific_heat = 10 name = "Tritium" - gas_overlay = "tritium" + gas_overlay = 'icons/effects/atmos/tritium.dmi' moles_visible = MOLES_GAS_VISIBLE dangerous = TRUE fusion_power = 5 @@ -203,7 +206,7 @@ specific_heat = 20 name = "Miasma" dangerous = TRUE - gas_overlay = "miasma" + gas_overlay = 'icons/effects/atmos/miasma.dmi' moles_visible = MOLES_GAS_VISIBLE * 60 rarity = 250 base_value = 1 @@ -215,12 +218,12 @@ specific_heat = 600 name = "Freon" dangerous = TRUE - gas_overlay = "freon" + gas_overlay = 'icons/effects/atmos/freon.dmi' moles_visible = MOLES_GAS_VISIBLE *30 fusion_power = -5 rarity = 10 base_value = 5 - desc = "A coolant gas. Mainly used for it's endothermic reaction with oxygen." + desc = "A coolant gas. Mainly used for its endothermic reaction with oxygen." primary_color = "#afeeee" /datum/gas/hydrogen @@ -239,7 +242,7 @@ specific_heat = 10 name = "Healium" dangerous = TRUE - gas_overlay = "healium" + gas_overlay = 'icons/effects/atmos/healium.dmi' moles_visible = MOLES_GAS_VISIBLE rarity = 300 base_value = 5.5 @@ -251,7 +254,7 @@ specific_heat = 30 name = "Proto Nitrate" dangerous = TRUE - gas_overlay = "proto_nitrate" + gas_overlay = 'icons/effects/atmos/proto_nitrate.dmi' moles_visible = MOLES_GAS_VISIBLE rarity = 200 base_value = 2.5 @@ -263,11 +266,11 @@ specific_heat = 350 name = "Zauker" dangerous = TRUE - gas_overlay = "zauker" + gas_overlay = 'icons/effects/atmos/zauker.dmi' moles_visible = MOLES_GAS_VISIBLE rarity = 1 base_value = 7 - desc = "A highly toxic gas, it's production is highly regulated on top of being difficult. It also breaks down when in contact with nitrogen." + desc = "A highly toxic gas, its production is highly regulated on top of being difficult. It also breaks down when in contact with nitrogen." primary_color = "#006400" /datum/gas/halon @@ -275,7 +278,7 @@ specific_heat = 175 name = "Halon" dangerous = TRUE - gas_overlay = "halon" + gas_overlay = 'icons/effects/atmos/halon.dmi' moles_visible = MOLES_GAS_VISIBLE rarity = 300 base_value = 4 @@ -289,7 +292,7 @@ fusion_power = 7 rarity = 50 base_value = 3.5 - desc = "A very inert gas produced by the fusion of hydrogen and it's derivatives." + desc = "A very inert gas produced by the fusion of hydrogen and its derivatives." primary_color = "#f0f8ff" /datum/gas/antinoblium @@ -297,7 +300,7 @@ specific_heat = 1 name = "Antinoblium" dangerous = TRUE - gas_overlay = "antinoblium" + gas_overlay = 'icons/effects/atmos/antinoblium.dmi' moles_visible = MOLES_GAS_VISIBLE fusion_power = 20 rarity = 1 @@ -306,24 +309,44 @@ primary_color = COLOR_MAROON /obj/effect/overlay/gas - icon = 'icons/effects/atmospherics.dmi' + // Default to make tests happy + icon = 'icons/effects/atmos/plasma.dmi' + icon_state = "-0" mouse_opacity = MOUSE_OPACITY_TRANSPARENT anchored = TRUE // should only appear in vis_contents, but to be safe layer = FLY_LAYER - plane = ABOVE_GAME_PLANE appearance_flags = TILE_BOUND vis_flags = NONE // The visual offset we are "on". // Can't use the tradtional loc because we are stored in nullspace, and we can't set plane before init because of the helping that SET_PLANE_EXPLICIT does IN init var/plane_offset = 0 + // The alpha list we are a member of, for fast junction changing + var/list/alpha_list -/obj/effect/overlay/gas/New(state, alph, offset) +/obj/effect/overlay/gas/New(icon, alpha, plane_offset, operating_junction, list/alpha_list) . = ..() - icon_state = state - alpha = alph - plane_offset = offset + src.icon = icon + src.alpha = alpha + src.plane_offset = plane_offset + src.alpha_list = alpha_list + set_smoothed_icon_state(operating_junction) /obj/effect/overlay/gas/Initialize(mapload) . = ..() SET_PLANE_W_SCALAR(src, initial(plane), plane_offset) +/obj/effect/overlay/gas/set_smoothed_icon_state(new_junction) + . = ..() + // If we have a connection down offset physically down so we render correctly + if(new_junction & SOUTH) + // this ensures things physically below us but visually overlapping us render how we would want + pixel_y = -16 + pixel_z = 16 + // Otherwise render normally, to avoid weird layering + else + pixel_y = 0 + pixel_z = 0 + +/// Returns the gas overlay we'd prefer if we had different smoothing +/obj/effect/overlay/gas/proc/get_smoothed_overlay(new_junction) + return alpha_list[new_junction + 1] diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index 0a6aa23b34d58..aab1cf98fee85 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -3,12 +3,12 @@ /obj/machinery/airalarm name = "air alarm" desc = "A machine that monitors atmosphere levels. Goes off if the area is dangerous." - icon = 'icons/obj/machines/wallmounts.dmi' - icon_state = "alarmp" + icon = 'icons/obj/machines/air_alarm.dmi' + icon_state = "alarm" idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.05 active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.02 power_channel = AREA_USAGE_ENVIRON - req_access = list(ACCESS_ATMOSPHERICS) + req_access = list(ACCESS_ENGINEERING) max_integrity = 250 integrity_failure = 0.33 armor_type = /datum/armor/machinery_airalarm @@ -17,6 +17,8 @@ /// Current alert level of our air alarm. /// [AIR_ALARM_ALERT_NONE], [AIR_ALARM_ALERT_MINOR], [AIR_ALARM_ALERT_SEVERE] var/danger_level = AIR_ALARM_ALERT_NONE + /// Current alert level of the area of our air alarm. + var/area_danger = FALSE /// Currently selected mode of the alarm. An instance of [/datum/air_alarm_mode]. var/datum/air_alarm_mode/selected_mode @@ -83,9 +85,12 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) fire = 90 acid = 30 +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/airalarm) + /obj/machinery/airalarm/Initialize(mapload, ndir, nbuild) . = ..() set_wires(new /datum/wires/airalarm(src)) + if(ndir) setDir(ndir) @@ -121,6 +126,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) /obj/item/circuit_component/air_alarm_scrubbers, /obj/item/circuit_component/air_alarm_vents )) + AddComponent(/datum/component/examine_balloon) GLOB.air_alarms += src update_appearance() @@ -137,7 +143,6 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) /obj/machinery/airalarm/Destroy() if(my_area) my_area = null - QDEL_NULL(wires) QDEL_NULL(alarm_manager) GLOB.air_alarms -= src return ..() @@ -233,7 +238,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) data["siliconUser"] = HAS_SILICON_ACCESS(user) data["emagged"] = (obj_flags & EMAGGED ? 1 : 0) data["dangerLevel"] = danger_level - data["atmosAlarm"] = !!my_area.active_alarms[ALARM_ATMOS] + data["atmosAlarm"] = !!area_danger data["fireAlarm"] = my_area.fire data["faultStatus"] = my_area.fault_status data["faultLocation"] = my_area.fault_location @@ -343,15 +348,15 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) return data -/obj/machinery/airalarm/ui_act(action, params) +/obj/machinery/airalarm/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(. || buildstage != AIR_ALARM_BUILD_COMPLETE) return - if((locked && !HAS_SILICON_ACCESS(usr)) || (HAS_SILICON_ACCESS(usr) && aidisabled)) + var/mob/user = ui.user + if((locked && !HAS_SILICON_ACCESS(user)) || (HAS_SILICON_ACCESS(user) && aidisabled)) return - var/mob/user = usr var/area/area = connected_sensor ? get_area(connected_sensor) : get_area(src) ASSERT(!isnull(area)) @@ -466,7 +471,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) var/threshold_type = params["threshold_type"] var/value = params["value"] tlv.set_value(threshold_type, value) - investigate_log("threshold value for [threshold]:[threshold_type] was set to [value] by [key_name(usr)]", INVESTIGATE_ATMOS) + investigate_log("threshold value for [threshold]:[threshold_type] was set to [value] by [key_name(user)]", INVESTIGATE_ATMOS) check_enviroment() @@ -477,7 +482,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) return var/threshold_type = params["threshold_type"] tlv.reset_value(threshold_type) - investigate_log("threshold value for [threshold]:[threshold_type] was reset by [key_name(usr)]", INVESTIGATE_ATMOS) + investigate_log("threshold value for [threshold]:[threshold_type] was reset by [key_name(user)]", INVESTIGATE_ATMOS) check_enviroment() @@ -494,7 +499,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) disconnect_sensor() if ("lock") - togglelock(usr) + togglelock(user) return TRUE update_appearance() @@ -511,7 +516,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) var/color if(danger_level == AIR_ALARM_ALERT_HAZARD) color = "#FF0022" // red - else if(danger_level == AIR_ALARM_ALERT_WARNING || my_area.active_alarms[ALARM_ATMOS]) + else if(danger_level == AIR_ALARM_ALERT_WARNING || area_danger) color = "#FFAA00" // yellow else color = "#00FFCC" // teal @@ -529,25 +534,26 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) icon_state = "alarm_b1" return ..() - icon_state = isnull(connected_sensor) ? "alarmp" : "alarmp_remote" + icon_state = isnull(connected_sensor) ? "alarm" : "alarm_remote" return ..() /obj/machinery/airalarm/update_overlays() . = ..() - - if(panel_open || (machine_stat & (NOPOWER|BROKEN)) || shorted) + // Open panels will only display a light on the final buildstage + if(panel_open) + if(buildstage == AIR_ALARM_BUILD_COMPLETE) + . += mutable_appearance(icon, "light-out", layer, src, plane) return - var/state - if(danger_level == AIR_ALARM_ALERT_HAZARD) - state = "alarm1" - else if(danger_level == AIR_ALARM_ALERT_WARNING || my_area.active_alarms[ALARM_ATMOS]) - state = "alarm2" - else - state = "alarm0" + if((machine_stat & (NOPOWER|BROKEN)) || shorted) + . += mutable_appearance(icon, "light-out", layer, src, plane) + return ..() - . += mutable_appearance(icon, state) - . += emissive_appearance(icon, state, src, alpha = src.alpha) + var/alert_level = danger_level + if(area_danger) + alert_level = 2 + . += mutable_appearance(icon, "light-[alert_level]") + . += emissive_appearance(icon, "light-[alert_level]", src, alpha) /// Check the current air and update our danger level. /// [/obj/machinery/airalarm/var/danger_level] @@ -561,6 +567,8 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) var/old_danger = danger_level danger_level = AIR_ALARM_ALERT_NONE + var/old_area_danger = area_danger + area_danger = my_area.active_alarms[ALARM_ATMOS] var/total_moles = environment.total_moles() var/pressure = environment.return_pressure() @@ -606,7 +614,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) alarm_manager.clear_alarm(ALARM_ATMOS) warning_message = null - if(old_danger != danger_level) + if(old_danger != danger_level || old_area_danger != area_danger) update_appearance() selected_mode.replace(my_area, pressure) @@ -622,8 +630,6 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) selected_mode.apply(my_area) SEND_SIGNAL(src, COMSIG_AIRALARM_UPDATE_MODE, source) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) - /obj/machinery/airalarm/proc/speak(warning_message) if(machine_stat & (BROKEN|NOPOWER)) return diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm index 1d2dbfa336308..3957c4d25ee8a 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm @@ -51,7 +51,7 @@ return FALSE /obj/machinery/airalarm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_WALLFRAME) + if(rcd_data[RCD_DESIGN_MODE] == RCD_WALLFRAME) balloon_alert(user, "circuit installed") buildstage = AIR_ALARM_BUILD_NO_WIRES update_appearance() @@ -182,7 +182,6 @@ /obj/item/wallframe/airalarm name = "air alarm frame" desc = "Used for building Air Alarms." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/air_alarm.dmi' icon_state = "alarm_bitem" result_path = /obj/machinery/airalarm - pixel_shift = 27 diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm index cfe74f13c346c..197e0f520a61f 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_thresholds.dm @@ -5,7 +5,7 @@ var/hazard_min = 0 var/hazard_max = 0 -/** Initialize a TLV and set it's values if given arguments, mostly for map varedits. +/** Initialize a TLV and set its values if given arguments, mostly for map varedits. * We provide this functionality but please consider not doing this and making proper subtypes. * Only by doing the latter will [datum/tlv/proc/reset_value] work. */ @@ -47,7 +47,7 @@ if(threshold_type & TLV_VAR_HAZARD_MAX) hazard_max = value -/** Reset this particular TLV to it's original value. +/** Reset this particular TLV to its original value. * * Arguments: * * threshold_type: What kind of variable do we want to set. Accepts bitfield subsets of [TLV_VAR_ALL]. diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 29ea43905b8b7..12e6c684079e6 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -112,7 +112,7 @@ turf_loc.add_blueprints_preround(src) if(hide) - RegisterSignal(src, COMSIG_OBJ_HIDE, PROC_REF(on_hide)) + setup_hiding() SSspatial_grid.add_grid_awareness(src, SPATIAL_GRID_CONTENTS_TYPE_ATMOS) SSspatial_grid.add_grid_membership(src, turf_loc, SPATIAL_GRID_CONTENTS_TYPE_ATMOS) @@ -133,9 +133,18 @@ return ..() /** - * Handler for `COMSIG_OBJ_HIDE`, connects only if `hide` is set to `TRUE`. Calls `update_cap_visuals` on pipe and its connected nodes + * Sets up our pipe hiding logic, consolidated in one place so subtypes may override it. + * This lets subtypes implement their own hiding logic without needing to worry about conflicts with the parent hiding logic. */ -/obj/machinery/atmospherics/proc/on_hide(datum/source, underfloor_accessibility) +/obj/machinery/atmospherics/proc/setup_hiding() + // Register pipe cap updating when hidden/unhidden + RegisterSignal(src, COMSIG_OBJ_HIDE, PROC_REF(on_hide)) + +/** + * Signal handler. Updates both our pipe cap visuals and those of adjacent nodes. + * We update adjacent nodes as their pipe caps are based partially on our state, so they need updating as well. + */ +/obj/machinery/atmospherics/proc/on_hide(datum/source) SHOULD_CALL_PARENT(TRUE) SIGNAL_HANDLER @@ -327,7 +336,10 @@ return FALSE //if the target is not in the same piping layer & it does not have the all layer connection flag[which allows it to be connected regardless of layer] then we are out - if(target.piping_layer != given_layer && !(target.pipe_flags & PIPING_ALL_LAYER)) + if(target.pipe_flags & PIPING_DISTRO_AND_WASTE_LAYERS) + if(ISODD(given_layer)) + return FALSE + else if(target.piping_layer != given_layer && !(target.pipe_flags & PIPING_ALL_LAYER)) return FALSE //if the target does not have the same color and it does not have all color connection flag[which allows it to be connected regardless of color] & one of the pipes is not gray[allowing for connection regardless] then we are out @@ -648,7 +660,8 @@ if(HAS_TRAIT(node, TRAIT_UNDERFLOOR)) continue - if(isplatingturf(get_turf(node))) + var/turf/node_turf = get_turf(node) + if(isplatingturf(node_turf) || iscatwalkturf(node_turf)) continue var/connected_dir = get_dir(src, node) diff --git a/code/modules/atmospherics/machinery/bluespace_vendor.dm b/code/modules/atmospherics/machinery/bluespace_vendor.dm index 91da04afaf2e7..1efab9b117ec2 100644 --- a/code/modules/atmospherics/machinery/bluespace_vendor.dm +++ b/code/modules/atmospherics/machinery/bluespace_vendor.dm @@ -1,10 +1,9 @@ /obj/item/wallframe/bluespace_vendor_mount name = "bluespace vendor wall mount" desc = "Used for placing bluespace vendors." - icon = 'icons/obj/machines/atmospherics/bluespace_gas_selling.dmi' + icon = 'icons/obj/machines/atmospherics/bluespace_gas_vendor.dmi' icon_state = "bluespace_vendor_open" result_path = /obj/machinery/bluespace_vendor/built - pixel_shift = 30 ///Defines for the mode of the vendor #define BS_MODE_OFF 1 @@ -13,7 +12,7 @@ #define BS_MODE_OPEN 4 /obj/machinery/bluespace_vendor - icon = 'icons/obj/machines/atmospherics/bluespace_gas_selling.dmi' + icon = 'icons/obj/machines/atmospherics/bluespace_gas_vendor.dmi' icon_state = "bluespace_vendor_off" base_icon_state = "bluespace_vendor" name = "Bluespace Gas Vendor" @@ -51,7 +50,7 @@ map_spawned = FALSE mode = BS_MODE_OPEN -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/bluespace_vendor, 30) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/bluespace_vendor) /datum/armor/machinery_bluespace_vendor energy = 100 @@ -69,7 +68,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/bluespace_vendor, 30) /obj/machinery/bluespace_vendor/Initialize(mapload) . = ..() AddComponent(/datum/component/payment, tank_cost, SSeconomy.get_dep_account(ACCOUNT_ENG), PAYMENT_ANGRY) - find_and_hang_on_wall( FALSE) + find_and_hang_on_wall(directional = FALSE) /obj/machinery/bluespace_vendor/post_machine_initialize() . = ..() @@ -94,6 +93,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/bluespace_vendor, 30) icon_state = "[base_icon_state]_open" return ..() +/obj/machinery/bluespace_vendor/update_overlays() + . = ..() + if(mode == BS_MODE_IDLE) + . += emissive_appearance(icon, "[base_icon_state]_idle_light-mask", src, alpha) + else if(mode == BS_MODE_PUMPING) + . += emissive_appearance(icon, "[base_icon_state]_pumping_light-mask", src, alpha) + /obj/machinery/bluespace_vendor/Exited(atom/movable/gone, direction) if(gone == internal_tank) internal_tank = null @@ -244,7 +250,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/bluespace_vendor, 30) data["tank_full"] = total_tank_pressure return data -/obj/machinery/bluespace_vendor/ui_act(action, params) +/obj/machinery/bluespace_vendor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm index 1d7657dd35276..567cfcc6a843b 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -84,7 +84,7 @@ Passive gate is similar to the regular pump except: data["max_pressure"] = round(MAX_OUTPUT_PRESSURE) return data -/obj/machinery/atmospherics/components/binary/passive_gate/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/passive_gate/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm index ff9cc36d7cd61..b1e03743b5d89 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pressure_valve.dm @@ -84,7 +84,7 @@ data["max_pressure"] = round(ONE_ATMOSPHERE*100) return data -/obj/machinery/atmospherics/components/binary/pressure_valve/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/pressure_valve/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 1e68bf9ad691a..848a41735c777 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -81,7 +81,7 @@ data["max_pressure"] = round(MAX_OUTPUT_PRESSURE) return data -/obj/machinery/atmospherics/components/binary/pump/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/pump/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm index 879f6b7fab8d3..0b6195f7b8425 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm @@ -107,7 +107,7 @@ data["max_temperature"] = round(max_temperature) return data -/obj/machinery/atmospherics/components/binary/temperature_gate/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/temperature_gate/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm index 3976e8db750c1..88ec2265c69f6 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm @@ -88,7 +88,7 @@ data["max_heat_transfer_rate"] = round(max_heat_transfer_rate) return data -/obj/machinery/atmospherics/components/binary/temperature_pump/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/temperature_pump/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index ae8965ae0561e..477ea40137632 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -122,7 +122,7 @@ data["max_rate"] = round(MAX_TRANSFER_RATE) return data -/obj/machinery/atmospherics/components/binary/volume_pump/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/volume_pump/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index cd4e00b3f33a6..ded9110bdfd74 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -66,6 +66,8 @@ if(!showpipe) return ..() + if(pipe_flags & PIPING_DISTRO_AND_WASTE_LAYERS) + return ..() var/connected = 0 //Direction bitset diff --git a/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm b/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm index 4a811c3435cb7..b504f6758dae2 100644 --- a/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm +++ b/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm @@ -2,6 +2,7 @@ #define ELECTROLYZER_MODE_WORKING "working" /obj/machinery/electrolyzer + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) anchored = FALSE density = TRUE interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm index 194e3744ca6d7..96272858a96b7 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm @@ -313,7 +313,7 @@ return data -/obj/machinery/hypertorus/interface/ui_act(action, params) +/obj/machinery/hypertorus/interface/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm index f0482c210a66a..f4a19292b71a0 100644 --- a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm +++ b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm @@ -10,6 +10,7 @@ name = "crystallizer" desc = "Used to crystallize or solidify gases." layer = ABOVE_MOB_LAYER + plane = GAME_PLANE density = TRUE max_integrity = 300 armor_type = /datum/armor/binary_crystallizer @@ -300,7 +301,7 @@ data["gas_input"] = gas_input return data -/obj/machinery/atmospherics/components/binary/crystallizer/ui_act(action, params) +/obj/machinery/atmospherics/components/binary/crystallizer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm index 95b548998a194..26cb395113519 100644 --- a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm +++ b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer_items.dm @@ -38,3 +38,22 @@ if(uses <= 0) qdel(src) return ITEM_INTERACT_SUCCESS + +/obj/item/nitrium_crystal + desc = "A weird brown crystal, it smokes when broken" + name = "nitrium crystal" + icon = 'icons/obj/pipes_n_cables/atmos.dmi' + icon_state = "nitrium_crystal" + var/cloud_size = 1 + +/obj/item/nitrium_crystal/attack_self(mob/user) + . = ..() + var/datum/effect_system/fluid_spread/smoke/chem/smoke = new + var/turf/location = get_turf(src) + create_reagents(5) + reagents.add_reagent(/datum/reagent/nitrium_low_metabolization, 3) + reagents.add_reagent(/datum/reagent/nitrium_high_metabolization, 2) + smoke.attach(location) + smoke.set_up(cloud_size, holder = src, location = location, carry = reagents, silent = TRUE) + smoke.start() + qdel(src) diff --git a/code/modules/atmospherics/machinery/components/tank.dm b/code/modules/atmospherics/machinery/components/tank.dm index ee1e61428d196..cc3827586962a 100644 --- a/code/modules/atmospherics/machinery/components/tank.dm +++ b/code/modules/atmospherics/machinery/components/tank.dm @@ -272,6 +272,7 @@ var/list/new_underlays = list() for(var/obj/effect/overlay/gas/gas as anything in air_contents.return_visuals(get_turf(src))) var/image/new_underlay = image(gas.icon, icon_state = gas.icon_state, layer = FLOAT_LAYER) + new_underlay.pixel_z = -12 // Weird offset artifacting? might be my fault idk new_underlay.filters = alpha_mask_filter(icon = icon(icon, icon_state = "window-bg")) new_underlays += new_underlay diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 25217de538ce1..593832ec7986b 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -6,7 +6,7 @@ desc = "Very useful for filtering gasses." can_unwrench = TRUE - construction_type = /obj/item/pipe/trinary/flippable + construction_type = /obj/item/pipe/trinary/flippable/filter pipe_state = "filter" ///Rate of transfer of the gases to the outputs @@ -141,7 +141,7 @@ return data -/obj/machinery/atmospherics/components/trinary/filter/ui_act(action, params) +/obj/machinery/atmospherics/components/trinary/filter/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 8f90986baaa46..8f7aa4a2d5716 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -150,7 +150,7 @@ data["node2_concentration"] = round(node2_concentration*100, 1) return data -/obj/machinery/atmospherics/components/trinary/mixer/ui_act(action, params) +/obj/machinery/atmospherics/components/trinary/mixer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/unary_devices/airlock_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/airlock_pump.dm new file mode 100644 index 0000000000000..804f868e9c189 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/airlock_pump.dm @@ -0,0 +1,455 @@ +/** + * The pump looks up for the airlocks automatically based on airlock_pump_distance_limit and airlock_group_distance_limit values. + * When placed, the dir value (direction where the pipes are coming from) is considered as a direction towards the station (internal). The opposite direction is external. + * The airlock then tries to find airlocks or walls towards these directions until airlock_pump_distance_limit number of tiles reached. + * When it finds a valid object, then it tries to find airlocks, in directions perpendicular to the found tiles. + * And then adds them to the corresponding group (external/internal) until airlock_group_distance_limit number of tiles reached + * + * Example scheme of a valid configuration: + * A-----W + * A-----A + * W--P--A + * W-----W + * A-----W + * + * Where: + * A - airlocks + * W - walls + * P - pump + */ +/// A vent, scrubber and a sensor in a single device meant specifically for cycling airlocks. Ideal for airlocks of up to 3x3 tiles in size to avoid wind and timing out. +/obj/machinery/atmospherics/components/unary/airlock_pump + name = "external airlock pump" + desc = "A pump for cycling an external airlock controlled by the connected doors." + icon = 'icons/obj/machines/atmospherics/unary_devices.dmi' + icon_state = "airlock_pump" + pipe_state = "airlock_pump" + use_power = ACTIVE_POWER_USE + active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION + can_unwrench = TRUE + welded = FALSE + vent_movement = VENTCRAWL_ALLOWED | VENTCRAWL_CAN_SEE | VENTCRAWL_ENTRANCE_ALLOWED + max_integrity = 100 + paintable = FALSE + pipe_flags = PIPING_ONE_PER_TURF | PIPING_DISTRO_AND_WASTE_LAYERS | PIPING_DEFAULT_LAYER_ONLY | PIPING_ALL_COLORS + layer = GAS_PUMP_LAYER + hide = TRUE + device_type = BINARY // Even though it is unary, it has two nodes on one side - used in node count checks + + ///Indicates that the direction of the pump, if ATMOS_DIRECTION_SIPHONING is siphoning, if ATMOS_DIRECTION_RELEASING is releasing + var/pump_direction = ATMOS_DIRECTION_SIPHONING + ///Target pressure for pressurization cycle + var/internal_pressure_target = ONE_ATMOSPHERE + ///Target pressure for depressurization cycle + var/external_pressure_target = 0 + ///Target pressure for the current cycle + var/cycle_pressure_target + ///Allowed error in pressure checks + var/allowed_pressure_error = ONE_ATMOSPHERE / 100 + ///Minimal distro pressure to start cycling + var/min_distro_pressure = ONE_ATMOSPHERE / 10 + ///Rate of the pump to remove gases from the air + var/volume_rate = 1000 + ///The start time of the current cycle to calculate cycle duration + var/cycle_start_time + ///Max duration of cycle, after which the pump will unlock the airlocks with a warning + var/cycle_timeout = 10 SECONDS + ///List of the turfs adjacent to the pump for faster cycling and avoiding wind + var/list/turf/adjacent_turfs = list() + ///Max distance between the airlock and the pump. Used to set up cycling. + var/airlock_pump_distance_limit = 2 + ///Max distance between the central airlock and the side airlocks in a group + var/airlock_group_distance_limit = 2 + ///Type of airlocks required for automatic cycling setup. To avoid hacking bridge doors. Ignored for mapspawn pump. + var/valid_airlock_typepath = /obj/machinery/door/airlock/external + ///Station-facing airlocks used in cycling + var/list/obj/machinery/door/airlock/internal_airlocks + ///Space-facing airlocks used in cycling + var/list/obj/machinery/door/airlock/external_airlocks + ///Whether both airlocks are specified and cycling is available + var/cycling_set_up = FALSE + ///Whether the pump opens the airlocks up instead of simpy unbolting them on cycle + var/open_airlock_on_cycle = TRUE + ///Airlocks currently animating + var/airlocks_animating = FALSE + ///Whether the airlocks comment the cycling details to the chat + var/is_cycling_audible = TRUE + + COOLDOWN_DECLARE(check_turfs_cooldown) + + +/obj/machinery/atmospherics/components/unary/airlock_pump/update_icon_nopipes() + if(!on || !is_operational || !powered()) + icon_state = "vent_off" + else + icon_state = pump_direction ? "vent_out" : "vent_in" + + +/obj/machinery/atmospherics/components/unary/airlock_pump/update_overlays() + . = ..() + if(!showpipe) + return + + var/mutable_appearance/distro_pipe_appearance = get_pipe_image(icon, "pipe_exposed", dir, COLOR_BLUE, piping_layer = 4) + if(nodes[1]) + distro_pipe_appearance = get_pipe_image(icon, "pipe_intact", dir, COLOR_BLUE, piping_layer = 4) + . += distro_pipe_appearance + + var/mutable_appearance/waste_pipe_appearance = get_pipe_image(icon, "pipe_exposed", dir, COLOR_RED, piping_layer = 2) + if(nodes[2]) + waste_pipe_appearance = get_pipe_image(icon, "pipe_intact", dir, COLOR_RED, piping_layer = 2) + . += waste_pipe_appearance + + var/mutable_appearance/distro_cap_appearance = get_pipe_image(icon, "vent_cap", dir, piping_layer = 4) + . += distro_cap_appearance + + var/mutable_appearance/waste_cap_appearance = get_pipe_image(icon, "vent_cap", dir, piping_layer = 2) + . += waste_cap_appearance + + +/obj/machinery/atmospherics/components/unary/airlock_pump/atmos_init(list/node_connects) + for(var/obj/machinery/atmospherics/target in get_step(src, dir)) + if(connection_check(target, 4) && !nodes[1]) + nodes[1] = target // Distro + if(connection_check(target, 2) && !nodes[2]) + nodes[2] = target // Waste + update_appearance() + + +/obj/machinery/atmospherics/components/unary/airlock_pump/Initialize(mapload) + . = ..() + if(mapload) + can_unwrench = FALSE + + +/obj/machinery/atmospherics/components/unary/airlock_pump/post_machine_initialize() + . = ..() + set_links() + + +/obj/machinery/atmospherics/components/unary/airlock_pump/New() + . = ..() + var/datum/gas_mixture/distro_air = airs[1] + var/datum/gas_mixture/waste_air = airs[2] + distro_air.volume = 1000 + waste_air.volume = 1000 + + +/obj/machinery/atmospherics/components/unary/airlock_pump/on_deconstruction(disassembled) + . = ..() + if(cycling_set_up) + break_all_links() + + +/obj/machinery/atmospherics/components/unary/airlock_pump/can_unwrench(mob/user) + . = ..() + if(!.) + to_chat(user, span_warning("You cannot unwrench [src], it is secured firmly in place!")) + return FALSE + if(. && on) + to_chat(user, span_warning("You cannot unwrench [src], wait for the cycle completion!")) + return FALSE + + +/obj/machinery/atmospherics/components/unary/airlock_pump/process_atmos() + if(!on) + return + + if(!powered()) + stop_cycle("No power. Cycle aborted.", unbolt_only = TRUE) + return //Couldn't complete the cycle due to power outage + + var/turf/location = get_turf(loc) + if(isclosedturf(location)) + return + + if(COOLDOWN_FINISHED(src, check_turfs_cooldown)) + check_turfs() + COOLDOWN_START(src, check_turfs_cooldown, 2 SECONDS) + + if(world.time - cycle_start_time > cycle_timeout) + stop_cycle("Cycling timed out, bolts unlocked.", unbolt_only = TRUE) + return //Couldn't complete the cycle before timeout + + var/datum/gas_mixture/distro_air = airs[1] + var/datum/gas_mixture/tile_air = loc.return_air() + var/tile_air_pressure = tile_air.return_pressure() + + if(pump_direction == ATMOS_DIRECTION_RELEASING) //distro node -> tile + var/pressure_delta = cycle_pressure_target - tile_air_pressure + if(pressure_delta <= allowed_pressure_error && stop_cycle("Pressurization complete.")) + return //Internal target pressure reached + + var/available_moles = distro_air.total_moles() + var/total_tiles = adjacent_turfs.len + 1 + var/split_moles = QUANTIZE(available_moles / total_tiles) + + fill_tile(loc, split_moles, pressure_delta) + for(var/turf/tile as anything in adjacent_turfs) + fill_tile(tile, split_moles, pressure_delta) + else //tile -> waste node + var/pressure_delta = tile_air_pressure - cycle_pressure_target + if(pressure_delta <= allowed_pressure_error && stop_cycle("Decompression complete.")) + return //External target pressure reached + + siphon_tile(loc) + for(var/turf/tile as anything in adjacent_turfs) + siphon_tile(tile) + + +/// Fill a tile with air from the distro node +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/fill_tile(turf/tile, moles, pressure_delta) + var/datum/pipeline/distro_pipe = parents[1] + var/datum/gas_mixture/distro_air = airs[1] + var/datum/gas_mixture/tile_air = tile.return_air() + var/transfer_moles = (volume_rate / tile_air.volume) * (pressure_delta * tile_air.volume) / (distro_air.temperature * R_IDEAL_GAS_EQUATION) + moles = min(moles, transfer_moles) + + var/datum/gas_mixture/removed_air = distro_air.remove(moles) + + if(!removed_air) + return //No air in distro + + tile.assume_air(removed_air) + distro_pipe.update = TRUE + + +/// Siphon air from the tile to the waste node within the volume rate limit +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/siphon_tile(turf/tile) + var/datum/pipeline/waste_pipe = parents[2] + var/datum/gas_mixture/waste_air = airs[2] + var/datum/gas_mixture/tile_air = tile.return_air() + + var/transfer_moles = tile_air.total_moles() * (volume_rate / tile_air.volume) + var/datum/gas_mixture/removed_air = tile.remove_air(transfer_moles) + + if(!removed_air) + return //No air on the tile + + waste_air.merge(removed_air) + waste_pipe.update = TRUE + + +/// Proc for triggering cycle by clicking on a bolted airlock that has a pump assigned +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/airlock_act(obj/machinery/door/airlock/airlock) + if(on) + airlock.run_animation(DOOR_DENY_ANIMATION) // Already cycling + return + if(!cycling_set_up) + airlock.say("Airlock pair not found.") + return + if(airlock in external_airlocks) + start_cycle(ATMOS_DIRECTION_SIPHONING, airlock) + else if(airlock in internal_airlocks) + start_cycle(ATMOS_DIRECTION_RELEASING, airlock) + + +///Start decompression or pressurization cycle depending on the passed direction +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/start_cycle(cycle_direction, obj/machinery/door/airlock/source_airlock = null) + if(on || !cycling_set_up || airlocks_animating || !powered()) + return FALSE + + pump_direction = cycle_direction + + for(var/obj/machinery/door/airlock/airlock as anything in (internal_airlocks + external_airlocks)) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_close)) + + airlocks_animating = TRUE + stoplag(1 SECONDS) // Wait for closing animation + airlocks_animating = FALSE + + on = TRUE + cycle_start_time = world.time + + var/turf/local_turf = get_turf(src) + var/tile_air_pressure = max(0, local_turf.return_air().return_pressure()) + + if(pump_direction == ATMOS_DIRECTION_RELEASING) + cycle_pressure_target = internal_pressure_target + var/pressure_delta = cycle_pressure_target - tile_air_pressure + if(pressure_delta <= allowed_pressure_error) + stop_cycle("Pressure nominal, cycle skipped.") + return TRUE + + var/datum/gas_mixture/distro_air = airs[1] + if(distro_air.return_pressure() < min_distro_pressure) + stop_cycle("Low pipe pressure, cycle skipped. Proceed with caution.", unbolt_only = TRUE) + return TRUE + + if(!source_airlock) + source_airlock = internal_airlocks[1] + if(is_cycling_audible) + source_airlock.say("Pressurizing airlock.") + else + cycle_pressure_target = external_pressure_target + var/pressure_delta = tile_air_pressure - cycle_pressure_target + if(pressure_delta <= allowed_pressure_error) + stop_cycle("Pressure nominal, cycle skipped.") + return TRUE + + for(var/obj/machinery/door/airlock/airlock as anything in external_airlocks) + if(airlock.shuttledocked) + stop_cycle("Shuttle docked, cycle skipped.") + return TRUE + + if(!source_airlock) + source_airlock = external_airlocks[1] + if(is_cycling_audible) + source_airlock.say("Decompressing airlock.") + + update_appearance() + return TRUE + + +///Complete/Abort cycle with the passed message +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/stop_cycle(message = null, unbolt_only = FALSE) + if(!on) + return FALSE + on = FALSE + + var/list/obj/machinery/door/airlock/unlocked_airlocks = pump_direction == ATMOS_DIRECTION_RELEASING ? internal_airlocks : external_airlocks + for(var/obj/machinery/door/airlock/airlock as anything in unlocked_airlocks) + airlock.unbolt() + if(open_airlock_on_cycle && !unbolt_only) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_open)) //Can unbolt, but without audio + + airlocks_animating = TRUE + stoplag(1 SECONDS) // Wait for opening animation + airlocks_animating = FALSE + + if(message && is_cycling_audible) + unlocked_airlocks[1].say(message) + + update_appearance() + return TRUE + + +///Update adjacent_turfs with atmospherically adjacent tiles +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/check_turfs() + adjacent_turfs.Cut() + var/turf/local_turf = get_turf(src) + adjacent_turfs = local_turf.get_atmos_adjacent_turfs(alldir = TRUE) + + +///Find airlocks and link up with them +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/set_links() + var/perpendicular_dirs = NSCOMPONENT(dir) ? WEST|EAST : NORTH|SOUTH + var/turf/internal_airlocks_origin = find_density(get_turf(src), dir) + var/turf/external_airlocks_origin = find_density(get_turf(src), REVERSE_DIR(dir)) + internal_airlocks = get_adjacent_airlocks(internal_airlocks_origin, perpendicular_dirs) + external_airlocks = get_adjacent_airlocks(external_airlocks_origin, perpendicular_dirs) + + if(!internal_airlocks.len || !internal_airlocks.len) + if(!can_unwrench) //maploaded pump + CRASH("[type] couldn't find airlocks to cycle with!") + internal_airlocks = list() + external_airlocks = list() + say("Cycling setup failed. No opposite airlocks found.") + return + + for(var/obj/machinery/door/airlock/airlock as anything in (internal_airlocks + external_airlocks)) + airlock.set_cycle_pump(src) + RegisterSignal(airlock, COMSIG_QDELETING, PROC_REF(unlink_airlock)) + if (airlock in external_airlocks) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_close)) + else if(open_airlock_on_cycle) + INVOKE_ASYNC(airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, secure_open)) + + cycle_timeout *= round((internal_airlocks.len + external_airlocks.len) / 2) + cycling_set_up = TRUE + if(can_unwrench) + say("Cycling setup complete.") + + +///Get the turf of the first found airlock or an airtight structure (walls) within the allowed range +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/find_density(turf/origin, direction, max_distance = airlock_pump_distance_limit) + var/turf/next_turf = origin + var/limit = max(1, max_distance) + while(limit) + limit-- + next_turf = get_step(next_turf, direction) + var/obj/machinery/door/airlock/found_airlock = locate() in next_turf + if(is_valid_airlock(found_airlock)) + return found_airlock.loc + if(!next_turf.can_atmos_pass) + return next_turf + + +///Find airlocks adjacent to the central one, lined up along the provided directions +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/get_adjacent_airlocks(origin_turf, directions) + var/list/airlocks = list() + + var/obj/machinery/door/airlock/origin_airlock = locate() in origin_turf + if(is_valid_airlock(origin_airlock)) + airlocks.Add(origin_airlock) + + for(var/direction in GLOB.cardinals) + if(!(direction & directions)) + continue + var/turf/next_turf = origin_turf + var/limit = max(0, airlock_group_distance_limit) + while(limit) + limit-- + next_turf = get_step(next_turf, direction) + var/obj/machinery/door/airlock/found_airlock = locate() in next_turf + if (is_valid_airlock(found_airlock)) + airlocks.Add(found_airlock) + else + limit = 0 + + return airlocks + + +///Whether the passed airlock can be linked with +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/is_valid_airlock(obj/machinery/door/airlock/airlock) + if(!airlock) + return FALSE + if(airlock.cycle_pump) + return FALSE // Already linked + if(can_unwrench && !istype(airlock, valid_airlock_typepath)) + return FALSE // Invalid airlock type and the pump is not mapspawn + return TRUE + + +///Find airlocks and link up with them +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/unlink_airlock(airlock) + UnregisterSignal(airlock, COMSIG_QDELETING) + + if(airlock in internal_airlocks) + internal_airlocks.Remove(airlock) + if(airlock in external_airlocks) + external_airlocks.Remove(airlock) + + if(!internal_airlocks.len || !external_airlocks.len) + break_all_links() + + +///Break the cycling setup +/obj/machinery/atmospherics/components/unary/airlock_pump/proc/break_all_links() + for(var/obj/machinery/door/airlock/airlock as anything in (internal_airlocks + external_airlocks)) + UnregisterSignal(airlock, COMSIG_QDELETING) + + external_airlocks = list() + internal_airlocks = list() + cycle_timeout = initial(cycle_timeout) + cycling_set_up = FALSE + + +/obj/machinery/atmospherics/components/unary/airlock_pump/relaymove(mob/living/user, direction) + if(initialize_directions & direction) + return ..() + if((NORTH|EAST) & direction) + user.ventcrawl_layer = clamp(user.ventcrawl_layer + 2, PIPING_LAYER_DEFAULT - 1, PIPING_LAYER_DEFAULT + 1) + if((SOUTH|WEST) & direction) + user.ventcrawl_layer = clamp(user.ventcrawl_layer - 2, PIPING_LAYER_DEFAULT - 1, PIPING_LAYER_DEFAULT + 1) + to_chat(user, "You align yourself with the [user.ventcrawl_layer == 2 ? 1 : 2]\th output.") + +/obj/machinery/atmospherics/components/unary/airlock_pump/unbolt_only + open_airlock_on_cycle = FALSE + +/obj/machinery/atmospherics/components/unary/airlock_pump/silent + is_cycling_audible = FALSE + +/obj/machinery/atmospherics/components/unary/airlock_pump/lavaland + external_pressure_target = LAVALAND_EQUIPMENT_EFFECT_PRESSURE + diff --git a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm index ebe053663f9e0..6baac50e27c82 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm @@ -1,5 +1,5 @@ /obj/machinery/atmospherics/components/unary/bluespace_sender - icon = 'icons/obj/machines/atmospherics/bluespace_gas_selling.dmi' + icon = 'icons/obj/machines/atmospherics/bluespace_gas_vendor.dmi' icon_state = "bluespace_sender_off" base_icon_state = "bluespace_sender" name = "Bluespace Gas Sender" @@ -198,7 +198,7 @@ GLOBAL_LIST_EMPTY_TYPED(bluespace_senders, /obj/machinery/atmospherics/component data["credits"] = credits_gained return data -/obj/machinery/atmospherics/components/unary/bluespace_sender/ui_act(action, params) +/obj/machinery/atmospherics/components/unary/bluespace_sender/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index 3f87ca671fdc9..c0b584d9029cc 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -122,7 +122,7 @@ data["max_rate"] = round(MAX_TRANSFER_RATE) return data -/obj/machinery/atmospherics/components/unary/outlet_injector/ui_act(action, params) +/obj/machinery/atmospherics/components/unary/outlet_injector/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index 619bf100a170f..cb49e572fd1f8 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -283,7 +283,7 @@ data["pressure"] = port.return_pressure() return data -/obj/machinery/atmospherics/components/unary/thermomachine/ui_act(action, params) +/obj/machinery/atmospherics/components/unary/thermomachine/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index 02f0d20354496..8a165830cec07 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -5,7 +5,7 @@ name = "air vent" desc = "Has a valve and pump attached to it." - + construction_type = /obj/item/pipe/directional/vent use_power = IDLE_POWER_USE idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.15 can_unwrench = TRUE diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 20a0b86b41c29..22ee2f6b414a7 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -3,6 +3,7 @@ name = "air scrubber" desc = "Has a valve and pump attached to it." + construction_type = /obj/item/pipe/directional/scrubber use_power = IDLE_POWER_USE idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.1 active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.15 diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm index 35b8fa61bbc22..9d9a5a6292f5d 100644 --- a/code/modules/atmospherics/machinery/datum_pipeline.dm +++ b/code/modules/atmospherics/machinery/datum_pipeline.dm @@ -131,7 +131,7 @@ /** * For a machine to properly "connect" to a pipeline and share gases, - * the pipeline needs to acknowledge a gas mixture as it's member. + * the pipeline needs to acknowledge a gas mixture as its member. * This is currently handled by the other_airs list in the pipeline datum. * * Other_airs itself is populated by gas mixtures through the parents list that each machineries have. @@ -360,7 +360,7 @@ /obj/effect/abstract/gas_visual/Initialize(mapload) . = ..() - color_filter = filter(type="color", color=matrix()) + color_filter = filter(type="color", color="white") filters += color_filter color_filter = filters[filters.len] if(current_color) diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index df919cbeccb1c..fde47b1baf0ee 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -65,6 +65,10 @@ for(var/i in PIPING_LAYER_MIN to PIPING_LAYER_MAX) . += get_attached_image(get_dir(src, machine_check), i, COLOR_VERY_LIGHT_GRAY) return + if(istype(machine_check, /obj/machinery/atmospherics/components/unary/airlock_pump)) + . += get_attached_image(get_dir(src, machine_check), 4, COLOR_BLUE) + //. += get_attached_image(get_dir(src, machine_check), 2, COLOR_RED) // Only the distro node is added currently to the pipenet, it doesn't merge the pipenet with the waste node + return . += get_attached_image(get_dir(src, machine_check), machine_check.piping_layer, machine_check.pipe_color) /obj/machinery/atmospherics/pipe/layer_manifold/proc/get_attached_image(p_dir, p_layer, p_color) diff --git a/code/modules/atmospherics/machinery/pipes/mapping.dm b/code/modules/atmospherics/machinery/pipes/mapping.dm index 3615147e4d1bf..dce09be9092ed 100644 --- a/code/modules/atmospherics/machinery/pipes/mapping.dm +++ b/code/modules/atmospherics/machinery/pipes/mapping.dm @@ -83,7 +83,7 @@ HELPER(yellow, COLOR_YELLOW) HELPER(general, COLOR_VERY_LIGHT_GRAY) HELPER(cyan, COLOR_CYAN) HELPER(green, COLOR_VIBRANT_LIME) -HELPER(orange, COLOR_TAN_ORANGE) +HELPER(orange, COLOR_ENGINEERING_ORANGE) HELPER(purple, COLOR_PURPLE) HELPER(dark, COLOR_DARK) HELPER(brown, COLOR_BROWN) diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 230edc9a897f0..ebc31e847b85a 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -27,12 +27,11 @@ volume = 35 * device_type . = ..() -///I have no idea why there's a new and at this point I'm too afraid to ask -/obj/machinery/atmospherics/pipe/Initialize(mapload) - . = ..() +/obj/machinery/atmospherics/pipe/setup_hiding() + AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE) //if changing this, change the subtypes RemoveElements too, because thats how bespoke works - if(hide) - AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE) //if changing this, change the subtypes RemoveElements too, because thats how bespoke works + // Registering on `COMSIG_OBJ_HIDE` would cause order of operations issues with undertile, so we register to run when undertile updates instead + RegisterSignal(src, COMSIG_UNDERTILE_UPDATED, PROC_REF(on_hide)) /obj/machinery/atmospherics/pipe/on_deconstruction(disassembled) //we delete the parent here so it initializes air_temporary for us. See /datum/pipeline/Destroy() which calls temporarily_store_air() diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index af13be0bbbf9b..bedd41aaf100d 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -343,6 +343,7 @@ var/list/window_overlays = list() for(var/visual in air_contents.return_visuals(get_turf(src))) var/image/new_visual = image(visual, layer = FLOAT_LAYER) + new_visual.pixel_z = -12 // Weird offset artifacting? might be my fault idk new_visual.filters = alpha_filter window_overlays += new_visual window.overlays = window_overlays @@ -566,7 +567,7 @@ "cellCharge" = internal_cell ? internal_cell.percent() : 0 ) -/obj/machinery/portable_atmospherics/canister/ui_act(action, params) +/obj/machinery/portable_atmospherics/canister/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/portable/pipe_scrubber.dm b/code/modules/atmospherics/machinery/portable/pipe_scrubber.dm index cde38f216ad70..434f243d6a3ca 100644 --- a/code/modules/atmospherics/machinery/portable/pipe_scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/pipe_scrubber.dm @@ -129,7 +129,7 @@ data["pressureLimitTank"] = internal_tank.pressure_limit return data -/obj/machinery/portable_atmospherics/pipe_scrubber/ui_act(action, params) +/obj/machinery/portable_atmospherics/pipe_scrubber/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index 9729c0871451a..adff51233c916 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -1,6 +1,7 @@ #define PORTABLE_ATMOS_IGNORE_ATMOS_LIMIT 0 /obj/machinery/portable_atmospherics + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "portable_atmospherics" icon = 'icons/obj/pipes_n_cables/atmos.dmi' use_power = NO_POWER_USE @@ -50,6 +51,11 @@ AddElement(/datum/element/climbable, climb_time = 3 SECONDS, climb_stun = 3 SECONDS) AddElement(/datum/element/elevation, pixel_shift = 8) register_context() + update_position() + +/obj/machinery/portable_atmospherics/on_construction(mob/user) + . = ..() + set_anchored(FALSE) /obj/machinery/portable_atmospherics/on_deconstruction(disassembled) if(nob_crystal_inserted) @@ -190,6 +196,20 @@ update_appearance() return TRUE +/obj/machinery/portable_atmospherics/set_anchored(anchorvalue) + . = ..() + update_position() + +/obj/machinery/portable_atmospherics/proc/update_position() + var/new_base = base_pixel_z + if(anchored) + new_base = 6 // Lands em all perfectly on pipe connectors + else + new_base = DEPTH_OFFSET + + animate(src, pixel_z = pixel_z + new_base - base_pixel_z, time = 0.1 SECONDS) + base_pixel_z = new_base + /obj/machinery/portable_atmospherics/click_alt(mob/living/user) if(!holding) return CLICK_ACTION_BLOCKING diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 7b0dbef314ec0..3efc87e00ac3a 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -109,7 +109,7 @@ data["holding"] = null return data -/obj/machinery/portable_atmospherics/pump/ui_act(action, params) +/obj/machinery/portable_atmospherics/pump/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index b292180683f88..29759e52e4278 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -161,7 +161,7 @@ else if(on && holding) user.investigate_log("started a transfer into [holding].", INVESTIGATE_ATMOS) -/obj/machinery/portable_atmospherics/scrubber/ui_act(action, params) +/obj/machinery/portable_atmospherics/scrubber/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm index 6f6a25b47c8cd..0ab3cd7e8e3c6 100644 --- a/code/modules/awaymissions/away_props.dm +++ b/code/modules/awaymissions/away_props.dm @@ -1,6 +1,6 @@ /obj/effect/oneway name = "one way effect" - desc = "Only lets things in from it's dir." + desc = "Only lets things in from its dir." icon = 'icons/effects/mapping_helpers.dmi' icon_state = "field_dir" invisibility = INVISIBILITY_MAXIMUM @@ -13,7 +13,7 @@ /obj/effect/wind name = "wind effect" - desc = "Creates pressure effect in it's direction. Use sparingly." + desc = "Creates pressure effect in its direction. Use sparingly." icon = 'icons/effects/mapping_helpers.dmi' icon_state = "field_dir" invisibility = INVISIBILITY_MAXIMUM @@ -54,7 +54,7 @@ /obj/structure/pitgrate name = "pit grate" - icon = 'icons/obj/smooth_structures/lattice.dmi' + icon = 'icons/obj/structures/smooth/lattice.dmi' icon_state = "lattice-255" layer = ABOVE_OPEN_TURF_LAYER plane = FLOOR_PLANE diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index e32db92339991..5e3cf1bb21eac 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -359,7 +359,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) destinations += list(possible_destination.get_ui_data()) .["destinations"] = destinations -/obj/machinery/computer/gateway_control/ui_act(action, list/params) +/obj/machinery/computer/gateway_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/awaymissions/mission_code/Beach.dm b/code/modules/awaymissions/mission_code/Beach.dm new file mode 100644 index 0000000000000..8e05cfe4a5eb1 --- /dev/null +++ b/code/modules/awaymissions/mission_code/Beach.dm @@ -0,0 +1,19 @@ +/area/awaymission/beach + name = "Beach" + icon_state = "away" + static_lighting = FALSE + base_lighting_alpha = 255 + base_lighting_color = "#FFFFCC" + requires_power = FALSE + has_gravity = STANDARD_GRAVITY + ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg','sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg') + +/obj/item/paper/fluff/old_pirate_note + name = "rum-stained letter" + icon_state = "scrap_mud" + desc = "An unsent letter from a terminally drunk pirate." + default_raw_text = {"Dear, +
    I'm sorry I won't sail back home soon, +
    son of a biscuit eater walked the plank with me coffer (or treasure chest as landlubbers call'em), +
    so I got me fishing rod, bottles, waiting to fish the booty back. +
    Luv you hun, I hope this letter find you we-"} diff --git a/code/modules/awaymissions/mission_code/murderdome.dm b/code/modules/awaymissions/mission_code/murderdome.dm index a59a491d4926f..4ff5b03ba3dff 100644 --- a/code/modules/awaymissions/mission_code/murderdome.dm +++ b/code/modules/awaymissions/mission_code/murderdome.dm @@ -38,7 +38,7 @@ /obj/effect/murderdome/dead_barricade name = "dead barrier" desc = "It provided cover in fire fights. And now it's gone." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "barrier0" alpha = 100 diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm index aa1242dcfe7cb..5660a4400e11f 100644 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ b/code/modules/awaymissions/mission_code/stationCollision.dm @@ -128,6 +128,8 @@ GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]") */ /obj/structure/secure_safe/sc_ssafe name = "Captain's secure safe" + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/secure_safe/sc_ssafe) /obj/structure/secure_safe/sc_ssafe/Initialize(mapload) . = ..() diff --git a/code/modules/awaymissions/super_secret_room.dm b/code/modules/awaymissions/super_secret_room.dm index d7ecda850182a..9f8be686fef7c 100644 --- a/code/modules/awaymissions/super_secret_room.dm +++ b/code/modules/awaymissions/super_secret_room.dm @@ -2,10 +2,9 @@ name = "strange tile" desc = "A weird tile that beckons you towards it. Maybe it can help you get out of this mess..." verb_say = "intones" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "speaking_tile" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE resistance_flags = INDESTRUCTIBLE var/speaking = FALSE var/times_spoken_to = 0 diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index 0fdc5093511f2..b72a6b59dde36 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -32,15 +32,51 @@ GLOBAL_LIST_INIT(potentialConfigRandomZlevels, generate_map_list_from_directory( current = D if(!current) current = new + current.name = name current.id = id if(delay) - current.wait = CONFIG_GET(number/gateway_delay) + var/list/waits_by_id = CONFIG_GET(keyed_list/gateway_delays_by_id) + var/wait_to_use = !isnull(waits_by_id[id]) ? waits_by_id[id] : CONFIG_GET(number/gateway_delay) + current.wait = wait_to_use GLOB.gateway_destinations += current current.target_turfs += get_turf(src) + return INITIALIZE_HINT_QDEL /obj/effect/landmark/awaystart/nodelay delay = FALSE +/obj/effect/landmark/awaystart/beach + name = "beach away spawn" + id = AWAYSTART_BEACH + +/obj/effect/landmark/awaystart/museum + name = "buseum away spawn" + id = AWAYSTART_MUSEUM + +/obj/effect/landmark/awaystart/research + name = "research outpost away spawn" + id = AWAYSTART_RESEARCH + +/obj/effect/landmark/awaystart/caves + name = "caves away spawn" + id = AWAYSTART_CAVES + +/obj/effect/landmark/awaystart/moonoutpost + name = "Moon Outpost 19 away spawn" + id = AWAYSTART_MOONOUTPOST + +/obj/effect/landmark/awaystart/snowcabin + name = "snow cabin away spawn" + id = AWAYSTART_SNOWCABIN + +/obj/effect/landmark/awaystart/snowdin + name = "Snowdin away spawn" + id = AWAYSTART_SNOWDIN + +/obj/effect/landmark/awaystart/underground + name = "Underground Outpost 45 away spawn" + id = AWAYSTART_UNDERGROUND + /proc/generateMapList(filename) . = list() filename = "[global.config.directory]/[SANITIZE_FILENAME(filename)]" diff --git a/code/modules/basketball/hoop.dm b/code/modules/basketball/hoop.dm index 72669df017d90..37975e5e51d7b 100644 --- a/code/modules/basketball/hoop.dm +++ b/code/modules/basketball/hoop.dm @@ -17,6 +17,9 @@ anchored = TRUE density = TRUE layer = ABOVE_MOB_LAYER + //physically offset ourself so we render right as a big icon (I think? that's what's goin on here) + pixel_y = 16 + pixel_z = -16 interaction_flags_click = NEED_DEXTERITY | NEED_HANDS | FORBID_TELEKINESIS_REACH /// Keeps track of the total points scored var/total_score = 0 @@ -53,7 +56,6 @@ /obj/structure/hoop/update_overlays() . = ..() - var/dir_offset_x = 0 var/dir_offset_y = 0 @@ -68,24 +70,24 @@ dir_offset_x = 32 var/mutable_appearance/scoreboard = mutable_appearance('icons/obj/signs.dmi', "basketball_scorecard") - scoreboard.pixel_x = dir_offset_x - scoreboard.pixel_y = dir_offset_y + scoreboard.pixel_w = dir_offset_x + scoreboard.pixel_z = dir_offset_y . += scoreboard var/ones = total_score % 10 var/mutable_appearance/ones_overlay = mutable_appearance('icons/obj/signs.dmi', "days_[ones]", layer + 0.01) - ones_overlay.pixel_x = 4 + ones_overlay.pixel_w = 4 var/mutable_appearance/emissive_ones_overlay = emissive_appearance('icons/obj/signs.dmi', "days_[ones]", src, alpha = src.alpha) - emissive_ones_overlay.pixel_x = 4 + emissive_ones_overlay.pixel_w = 4 scoreboard.add_overlay(ones_overlay) scoreboard.add_overlay(emissive_ones_overlay) var/tens = (total_score / 10) % 10 var/mutable_appearance/tens_overlay = mutable_appearance('icons/obj/signs.dmi', "days_[tens]", layer + 0.01) - tens_overlay.pixel_x = -5 + tens_overlay.pixel_w = -5 var/mutable_appearance/emissive_tens_overlay = emissive_appearance('icons/obj/signs.dmi', "days_[tens]", src, alpha = src.alpha) - emissive_tens_overlay.pixel_x = -5 + emissive_tens_overlay.pixel_w = -5 scoreboard.add_overlay(tens_overlay) scoreboard.add_overlay(emissive_tens_overlay) diff --git a/code/modules/bitrunning/areas.dm b/code/modules/bitrunning/areas.dm index 720bf0f1e5d2c..4fcf0a0496e47 100644 --- a/code/modules/bitrunning/areas.dm +++ b/code/modules/bitrunning/areas.dm @@ -43,8 +43,14 @@ icon_state = "bit_ice" area_flags = UNIQUE_AREA | NOTELEPORT | EVENT_PROTECTED | HIDDEN_AREA -/area/ruin/space/has_grav/powered/virtual_domain - name = "Virtual Domain Space Ruins" +/area/ruin/space/virtual_domain + name = "Virtual Domain Unexplored Location" + icon = 'icons/area/areas_station.dmi' + icon_state = "bit_ruin" + area_flags = UNIQUE_AREA | NOTELEPORT | EVENT_PROTECTED | HIDDEN_AREA + +/area/space/virtual_domain + name = "Virtual Domain Space" icon = 'icons/area/areas_station.dmi' icon_state = "bit_space" area_flags = UNIQUE_AREA | NOTELEPORT | EVENT_PROTECTED | HIDDEN_AREA diff --git a/code/modules/bitrunning/components/avatar_connection.dm b/code/modules/bitrunning/components/avatar_connection.dm index 51263c339319e..abf3a7809fcda 100644 --- a/code/modules/bitrunning/components/avatar_connection.dm +++ b/code/modules/bitrunning/components/avatar_connection.dm @@ -20,7 +20,7 @@ help_text, ) - if(!isliving(parent) || !isliving(old_body) || !server.is_operational || !pod.is_operational) + if(!isliving(parent) || !isliving(old_body) || !old_mind || !server.is_operational || !pod.is_operational) return COMPONENT_INCOMPATIBLE var/mob/living/avatar = parent @@ -66,6 +66,9 @@ if(alias && avatar.real_name != alias) avatar.fully_replace_character_name(avatar.real_name, alias) + for(var/skill_type in old_mind.known_skills) + avatar.mind.set_experience(skill_type, old_mind.get_skill_exp(skill_type), silent = TRUE) + avatar.playsound_local(avatar, 'sound/magic/blink.ogg', 25, TRUE) avatar.set_static_vision(2 SECONDS) avatar.set_temp_blindness(1 SECONDS) // I'm in @@ -281,6 +284,10 @@ if(isnull(old_mind) || isnull(old_body)) return + for(var/skill_type in avatar.mind.known_skills) + old_mind.set_experience(skill_type, avatar.mind.get_skill_exp(skill_type), silent = TRUE) + avatar.mind.set_experience(skill_type, 0, silent = TRUE) + ghost.mind = old_mind if(old_body.stat != DEAD) old_mind.transfer_to(old_body, force_key_move = TRUE) diff --git a/code/modules/bitrunning/netpod/_netpod.dm b/code/modules/bitrunning/netpod/_netpod.dm index 2208c56a7414e..438c21c7219ea 100644 --- a/code/modules/bitrunning/netpod/_netpod.dm +++ b/code/modules/bitrunning/netpod/_netpod.dm @@ -2,6 +2,7 @@ /obj/machinery/netpod + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "netpod" base_icon_state = "netpod" diff --git a/code/modules/bitrunning/netpod/ui.dm b/code/modules/bitrunning/netpod/ui.dm index 93719fe64ebef..919ba1e174b53 100644 --- a/code/modules/bitrunning/netpod/ui.dm +++ b/code/modules/bitrunning/netpod/ui.dm @@ -27,7 +27,7 @@ return data -/obj/machinery/netpod/ui_act(action, params) +/obj/machinery/netpod/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return TRUE diff --git a/code/modules/bitrunning/netpod/utils.dm b/code/modules/bitrunning/netpod/utils.dm index 6e0033fe02d93..c593b457e9cc1 100644 --- a/code/modules/bitrunning/netpod/utils.dm +++ b/code/modules/bitrunning/netpod/utils.dm @@ -76,6 +76,11 @@ balloon_alert(neo, "nothing loaded!") return + balloon_alert(neo, "establishing connection...") + if(!do_after(neo, 2 SECONDS, src)) + open_machine() + return + var/mob/living/carbon/current_avatar = avatar_ref?.resolve() if(isnull(current_avatar) || current_avatar.stat != CONSCIOUS) // We need a viable avatar current_avatar = server.start_new_connection(neo, netsuit) @@ -130,9 +135,6 @@ /// Checks for cases to eject/fail connecting an avatar /obj/machinery/netpod/proc/validate_entry(mob/living/neo, mob/living/avatar) - if(!do_after(neo, 2 SECONDS, src)) - return FALSE - // Very invalid if(QDELETED(neo) || QDELETED(avatar) || QDELETED(src) || !is_operational) return FALSE diff --git a/code/modules/bitrunning/objects/byteforge.dm b/code/modules/bitrunning/objects/byteforge.dm index b971cdae75ddc..bb1430322ee4b 100644 --- a/code/modules/bitrunning/objects/byteforge.dm +++ b/code/modules/bitrunning/objects/byteforge.dm @@ -1,4 +1,5 @@ /obj/machinery/byteforge + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "byteforge" circuit = /obj/item/circuitboard/machine/byteforge diff --git a/code/modules/bitrunning/objects/hololadder.dm b/code/modules/bitrunning/objects/hololadder.dm index 3df41a403e735..feb1847a84c4e 100644 --- a/code/modules/bitrunning/objects/hololadder.dm +++ b/code/modules/bitrunning/objects/hololadder.dm @@ -3,7 +3,7 @@ anchored = TRUE desc = "An abstract representation of the means to disconnect from the virtual domain." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "ladder11" obj_flags = BLOCK_Z_OUT_DOWN /// Time req to disconnect properly diff --git a/code/modules/bitrunning/objects/vendor.dm b/code/modules/bitrunning/objects/vendor.dm index abd63a9e78430..d44630bc3beed 100644 --- a/code/modules/bitrunning/objects/vendor.dm +++ b/code/modules/bitrunning/objects/vendor.dm @@ -62,7 +62,7 @@ /obj/machinery/computer/order_console/bitrunning/retrieve_points(obj/item/card/id/id_card) return round(id_card.registered_account.bitrunning_points) -/obj/machinery/computer/order_console/bitrunning/ui_act(action, params) +/obj/machinery/computer/order_console/bitrunning/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(!.) flick("vendor_off", src) diff --git a/code/modules/bitrunning/orders/tech.dm b/code/modules/bitrunning/orders/tech.dm index 7e987e4818104..0b097127ffb71 100644 --- a/code/modules/bitrunning/orders/tech.dm +++ b/code/modules/bitrunning/orders/tech.dm @@ -32,7 +32,7 @@ desc = "This disk contains a program that lets you shapeshift into a lesser ashdrake, or a polar bear." /datum/orderable_item/bitrunning_tech/flip_skillchip - item_path = /obj/item/skillchip/matrix_flip + item_path = /obj/item/skillchip/matrix_taunt cost_per_order = 2000 /datum/orderable_item/bitrunning_tech/pka_mod diff --git a/code/modules/bitrunning/server/_parent.dm b/code/modules/bitrunning/server/_parent.dm index 541d36ad5d72c..d6e3acfaf8e48 100644 --- a/code/modules/bitrunning/server/_parent.dm +++ b/code/modules/bitrunning/server/_parent.dm @@ -2,6 +2,7 @@ * The base object for the quantum server */ /obj/machinery/quantum_server + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "quantum server" circuit = /obj/item/circuitboard/machine/quantum_server diff --git a/code/modules/bitrunning/turfs.dm b/code/modules/bitrunning/turfs.dm index 4c35153311e53..adf3c3b8c6abe 100644 --- a/code/modules/bitrunning/turfs.dm +++ b/code/modules/bitrunning/turfs.dm @@ -1,12 +1,11 @@ -/turf/open/floor/bitrunning_transport +/turf/open/indestructible/bitrunning_transport name = "circuit floor" desc = "Looks complex. You can see the circuits running through the floor." icon_state = "bitrunning" /turf/closed/indestructible/binary name = "tear in the fabric of reality" - icon = 'icons/turf/floors.dmi' - icon_state = "binary" + icon = 'icons/turf/walls/binary_wall.dmi' /obj/effect/baseturf_helper/virtual_domain name = "virtual domain baseturf editor" diff --git a/code/modules/bitrunning/virtual_domain/domains/island_brawl.dm b/code/modules/bitrunning/virtual_domain/domains/island_brawl.dm index b745a4746aa24..84eb53e026a29 100644 --- a/code/modules/bitrunning/virtual_domain/domains/island_brawl.dm +++ b/code/modules/bitrunning/virtual_domain/domains/island_brawl.dm @@ -21,9 +21,17 @@ for(var/obj/effect/mob_spawn/ghost_role/human/virtual_domain/islander/spawner in created_atoms) custom_spawns += spawner + RegisterSignal(spawner, COMSIG_QDELETING, PROC_REF(on_spawner_qdeleted)) RegisterSignals(spawner, list(COMSIG_GHOSTROLE_SPAWNED, COMSIG_BITRUNNER_SPAWNED), PROC_REF(on_spawn)) +/datum/lazy_template/virtual_domain/island_brawl/proc/on_spawner_qdeleted(obj/effect/mob_spawn/ghost_role/human/virtual_domain/islander/source) + SIGNAL_HANDLER + + custom_spawns -= source + UnregisterSignal(source, COMSIG_QDELETING) + + /// Someone has spawned in, so we check for their death /datum/lazy_template/virtual_domain/island_brawl/proc/on_spawn(datum/source, mob/living/spawned_mob) SIGNAL_HANDLER diff --git a/code/modules/buildmode/submodes/advanced.dm b/code/modules/buildmode/submodes/advanced.dm index f4ebb204d6ee0..a26c8cd9a3d80 100644 --- a/code/modules/buildmode/submodes/advanced.dm +++ b/code/modules/buildmode/submodes/advanced.dm @@ -47,7 +47,7 @@ T.setDir(BM.build_dir) else if(ispath(objholder, /obj/effect/turf_decal)) var/turf/T = get_turf(object) - T.AddElement(/datum/element/decal, initial(objholder.icon), initial(objholder.icon_state), BM.build_dir, null, null, initial(objholder.alpha), initial(objholder.color), null, FALSE, null) + T.AddElement(/datum/element/decal, initial(objholder.icon), initial(objholder.icon_state), BM.build_dir, null, null, initial(objholder.alpha), initial(objholder.color), null, null, null, FALSE, null) log_admin("Build Mode: [key_name(c)] in [AREACOORD(object)] added a [initial(objholder.name)] decal with dir [BM.build_dir] to [T]") else if(!isnull(objholder)) var/obj/A = new objholder (get_turf(object)) diff --git a/code/modules/buildmode/submodes/fill.dm b/code/modules/buildmode/submodes/fill.dm index e2bd3a5c16ad5..9b7f6964b5390 100644 --- a/code/modules/buildmode/submodes/fill.dm +++ b/code/modules/buildmode/submodes/fill.dm @@ -66,7 +66,7 @@ T = T.ChangeTurf(objholder) T.setDir(BM.build_dir) else if(ispath(objholder, /obj/effect/turf_decal)) - T.AddElement(/datum/element/decal, initial(objholder.icon), initial(objholder.icon_state), BM.build_dir, null, null, initial(objholder.alpha), initial(objholder.color), null, FALSE, null) + T.AddElement(/datum/element/decal, initial(objholder.icon), initial(objholder.icon_state), BM.build_dir, null, null, initial(objholder.alpha), initial(objholder.color), null, null, null, FALSE, null) else var/obj/A = new objholder(T) A.setDir(BM.build_dir) diff --git a/code/modules/capture_the_flag/ctf_classes.dm b/code/modules/capture_the_flag/ctf_classes.dm index 0482bd1ec88eb..8f6a03ba7dfc4 100644 --- a/code/modules/capture_the_flag/ctf_classes.dm +++ b/code/modules/capture_the_flag/ctf_classes.dm @@ -55,7 +55,7 @@ var/obj/item/radio/headset = human_to_equip.ears headset.set_frequency(team_radio_freq) headset.freqlock = RADIO_FREQENCY_LOCKED - headset.independent = TRUE + headset.special_channels |= RADIO_SPECIAL_CENTCOM human_to_equip.dna.species.stunmod = 0 /datum/outfit/ctf/instagib diff --git a/code/modules/capture_the_flag/ctf_game.dm b/code/modules/capture_the_flag/ctf_game.dm index 38a7318b5548e..1279bbedc71b1 100644 --- a/code/modules/capture_the_flag/ctf_game.dm +++ b/code/modules/capture_the_flag/ctf_game.dm @@ -442,7 +442,7 @@ /obj/effect/ctf/dead_barricade name = "dead barrier" desc = "It provided cover in fire fights. And now it's gone." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "barrier0" var/game_id = CTF_GHOST_CTF_GAME_ID var/datum/ctf_controller/ctf_game diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index d4ef4b6a148e0..23e578c2ed2db 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -213,7 +213,7 @@ /datum/bounty/item/assistant/fish name = "Fish" description = "We need fish to populate our aquariums with. Fishes that are dead or bought from cargo will only be paid half as much." - reward = CARGO_CRATE_VALUE * 9 + reward = CARGO_CRATE_VALUE * 9.5 required_count = 4 wanted_types = list(/obj/item/fish = TRUE, /obj/item/storage/fish_case = TRUE) ///the penalty for shipping dead/bought fish, which can subtract up to half the reward in total. @@ -249,7 +249,7 @@ ///A subtype of the fish bounty that requires fish with a specific fluid type /datum/bounty/item/assistant/fish/fluid - reward = CARGO_CRATE_VALUE * 11 + reward = CARGO_CRATE_VALUE * 12 ///The required fluid type of the fish for it to be shipped var/fluid_type @@ -261,42 +261,3 @@ /datum/bounty/item/assistant/fish/fluid/can_ship_fish(obj/item/fish/fishie) return compatible_fluid_type(fishie.required_fluid_type, fluid_type) - -///A subtype of the fish bounty that requires specific fish types. The higher their rarity, the better the pay. -/datum/bounty/item/assistant/fish/specific - description = "Our prestigious fish collection is currently lacking a few specific species. Fishes that are dead or bought from cargo will only be paid half as much." - reward = CARGO_CRATE_VALUE * 16 - required_count = 3 - wanted_types = list(/obj/item/storage/fish_case = TRUE) - -/datum/bounty/item/assistant/fish/specific/New() - var/static/list/choosable_fishes - if(isnull(choosable_fishes)) - choosable_fishes = list() - for(var/obj/item/fish/prototype as anything in subtypesof(/obj/item/fish)) - if(initial(prototype.experisci_scannable) && initial(prototype.show_in_catalog)) - choosable_fishes += prototype - - var/list/fishes_copylist = choosable_fishes.Copy() - ///Used to calculate the extra reward - var/total_rarity = 0 - var/list/name_list = list() - var/num_paths = rand(2,3) - for(var/i in 1 to num_paths) - var/obj/item/fish/chosen_path = pick_n_take(fishes_copylist) - wanted_types[chosen_path] = TRUE - name_list += initial(chosen_path.name) - total_rarity += initial(chosen_path.random_case_rarity) / num_paths - name = english_list(name_list) - - switch(total_rarity) - if(FISH_RARITY_NOPE to FISH_RARITY_GOOD_LUCK_FINDING_THIS) - reward += CARGO_CRATE_VALUE * 14 - if(FISH_RARITY_GOOD_LUCK_FINDING_THIS to FISH_RARITY_VERY_RARE) - reward += CARGO_CRATE_VALUE * 6.5 - if(FISH_RARITY_VERY_RARE to FISH_RARITY_RARE) - reward += CARGO_CRATE_VALUE * 3 - if(FISH_RARITY_RARE to FISH_RARITY_BASIC-1) - reward += CARGO_CRATE_VALUE * 1 - - ..() diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index cf4a5dfc8759f..2e988fcaf4d71 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -67,10 +67,19 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a var/atom/movable/screen/background/cam_background var/tabIndex = 1 var/renderLighting = FALSE + var/static/list/pod_style_info + var/static/list/pod_style_lookup /datum/centcom_podlauncher/New(user) //user can either be a client or a mob if (user) //Prevents runtimes on datums being made without clients setup(user) + if (!isnull(pod_style_info)) + return + pod_style_info = list() + pod_style_lookup = list() + for (var/datum/pod_style/style as anything in typesof(/datum/pod_style)) + pod_style_info += list(list("id" = style::id, "title" = style::ui_name)) + pod_style_lookup[style::id] = style /datum/centcom_podlauncher/proc/setup(user) //H can either be a client or a mob if (istype(user,/client)) @@ -134,6 +143,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a var/list/data = list() data["mapRef"] = map_name data["defaultSoundVolume"] = initial(temp_pod.soundVolume) //default volume for pods + data["podStyles"] = pod_style_info return data /datum/centcom_podlauncher/ui_data(mob/user) //Sends info about the pod to the UI. @@ -152,7 +162,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a data["delays"] = temp_pod.delays data["rev_delays"] = temp_pod.reverse_delays data["custom_rev_delay"] = temp_pod.custom_rev_delay - data["styleChoice"] = temp_pod.style //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the GLOB.podstyles list in cargo.dm defines to get the proper icon/name/desc for the pod. + data["styleChoice"] = temp_pod.style::id //Style is a variable that keeps track of what the pod is supposed to look like. data["effectShrapnel"] = temp_pod.effectShrapnel //If true, creates a cloud of shrapnel of a decided type and magnitude on landing data["shrapnelType"] = "[temp_pod.shrapnel_type]" //Path2String data["shrapnelMagnitude"] = temp_pod.shrapnel_magnitude @@ -181,7 +191,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a data["soundVolume"] = temp_pod.soundVolume //Admin sound to play when the pod leaves return data -/datum/centcom_podlauncher/ui_act(action, params) +/datum/centcom_podlauncher/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -331,12 +341,12 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a if("effectName") //Give the supplypod a custom name. Supplypods automatically get their name based on their style (see supplypod/setStyle() proc), so doing this overrides that. if (temp_pod.adminNamed) //If we're already adminNamed, set the name of the pod back to default temp_pod.adminNamed = FALSE - temp_pod.setStyle(temp_pod.style) //This resets the name of the pod based on it's current style (see supplypod/setStyle() proc) + temp_pod.setStyle(temp_pod.style) //This resets the name of the pod based on its current style (see supplypod/setStyle() proc) return - var/nameInput= tgui_input_text(usr, "Enter a custom name", "Custom name", GLOB.podstyles[temp_pod.style][POD_NAME], MAX_NAME_LEN) //Gather input for name and desc + var/nameInput= tgui_input_text(usr, "Enter a custom name", "Custom name", temp_pod.style::name, MAX_NAME_LEN) //Gather input for name and desc if (isnull(nameInput)) return - var/descInput = tgui_input_text(usr, "Enter a custom desc", "Custom description", GLOB.podstyles[temp_pod.style][POD_DESC]) //The GLOB.podstyles is used to get the name, desc, or icon state based on the pod's style + var/descInput = tgui_input_text(usr, "Enter a custom desc", "Custom description", temp_pod.style::desc) if (isnull(descInput)) return temp_pod.name = nameInput @@ -504,7 +514,6 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a temp_pod.soundVolume = soundInput . = TRUE ////////////////////////////STYLE CHANGES////////////////// - //Style is a value that is used to keep track of what the pod is supposed to look like. It can be used with the GLOB.podstyles list (in cargo.dm defines) //as a way to get the proper icon state, name, and description of the pod. if("tabSwitch") tabIndex = params["tabIndex"] @@ -519,7 +528,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a . = TRUE if("setStyle") var/chosenStyle = params["style"] - temp_pod.setStyle(chosenStyle+1) + temp_pod.setStyle(pod_style_lookup[chosenStyle]) . = TRUE if("refresh") //Refresh the Pod bay. User should press this if they spawn something new in the centcom bay. Automatically called whenever the user launches a pod refreshBay() @@ -654,11 +663,6 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a preLaunch() //Fill acceptable turfs from orderedArea, then fill launchList from acceptableTurfs (see proc for more info) refreshView() -/area/centcom/central_command_areas/supplypod/pod_storage/Initialize(mapload) //temp_pod holding area - . = ..() - var/obj/imgbound = locate() in locate(200,SUPPLYPOD_X_OFFSET*-4.5, 1) - call(GLOB.podlauncher, "RegisterSignal")(imgbound, "ct[GLOB.podstyles[14][9]]", "[GLOB.podstyles[14][10]]dlauncher") - /datum/centcom_podlauncher/proc/createOrderedArea(area/area_to_order) //This assumes the area passed in is a continuous square if (isnull(area_to_order)) //If theres no supplypod bay mapped into centcom, throw an error to_chat(holder.mob, "No /area/centcom/central_command_areas/supplypod/loading/one (or /two or /three or /four) in the world! You can make one yourself (then refresh) for now, but yell at a mapper to fix this, today!") @@ -765,7 +769,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a else var/atom/movable/movable_to_launch = thing_to_launch movable_to_launch.forceMove(toLaunch) //and forceMove any atom/moveable into the supplypod - new /obj/effect/pod_landingzone(target_turf, toLaunch) //Then, create the DPTarget effect, which will eventually forceMove the temp_pod to it's location + new /obj/effect/pod_landingzone(target_turf, toLaunch) //Then, create the DPTarget effect, which will eventually forceMove the temp_pod to its location if (launchClone) launchCounter++ //We only need to increment launchCounter if we are cloning objects. //If we aren't cloning objects, taking and removing the first item each time from the acceptableTurfs list will inherently iterate through the list in order @@ -820,7 +824,7 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a temp_pod.delays = dataToLoad["delays"] temp_pod.reverse_delays = dataToLoad["rev_delays"] temp_pod.custom_rev_delay = dataToLoad["custom_rev_delay"] - temp_pod.setStyle(dataToLoad["styleChoice"]) //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the GLOB.podstyles list in cargo.dm defines to get the proper icon/name/desc for the pod. + temp_pod.setStyle(dataToLoad["styleChoice"]) //Style is a variable that keeps track of what the pod is supposed to look like. temp_pod.effectShrapnel = dataToLoad["effectShrapnel"] //If true, creates a cloud of shrapnel of a decided type and magnitude on landing temp_pod.shrapnel_type = text2path(dataToLoad["shrapnelType"]) temp_pod.shrapnel_magnitude = dataToLoad["shrapnelMagnitude"] @@ -852,14 +856,6 @@ ADMIN_VERB(centcom_podlauncher, R_ADMIN, "Config/Launch Supplypod", "Configure a refreshView() GLOBAL_DATUM_INIT(podlauncher, /datum/centcom_podlauncher, new) -//Proc for admins to enable others to use podlauncher after roundend -/datum/centcom_podlauncher/proc/give_podlauncher(mob/living/user, override) - if (SSticker.current_state < GAME_STATE_FINISHED) - return - if (!istype(user)) - user = override - if (user) - setup(user)//setup the datum //Set the dropoff location and indicator to either a specific turf or somewhere in an area /datum/centcom_podlauncher/proc/setDropoff(target) @@ -879,7 +875,6 @@ GLOBAL_DATUM_INIT(podlauncher, /datum/centcom_podlauncher, new) image_state = "selector" image_layer = FLY_LAYER layer = FLY_LAYER - plane = ABOVE_GAME_PLANE alpha = 150 /obj/effect/client_image_holder/dropoff_location // Shows where revese pods lands @@ -888,7 +883,6 @@ GLOBAL_DATUM_INIT(podlauncher, /datum/centcom_podlauncher, new) image_state = "dropoff_indicator" image_layer = FLY_LAYER layer = FLY_LAYER - plane = ABOVE_GAME_PLANE alpha = 0 #undef LAUNCH_ALL diff --git a/code/modules/cargo/exports/fish.dm b/code/modules/cargo/exports/fish.dm new file mode 100644 index 0000000000000..9c34fd3afcaeb --- /dev/null +++ b/code/modules/cargo/exports/fish.dm @@ -0,0 +1,9 @@ +/datum/export/fish + cost = 30 + unit_name = "fish" + export_types = list(/obj/item/fish) + +/datum/export/fish/get_cost(obj/item/fish/fish, apply_elastic) + var/elastic_cost = ..() + var/elastic_percent = elastic_cost / init_cost + return fish.get_export_price(elastic_cost, elastic_percent) diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 4942ea2c06a93..0a2dcfec4b0f0 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -128,6 +128,7 @@ if(.) return + var/mob/user = ui.user switch(action) if("LZCargo") usingBeacon = FALSE @@ -143,7 +144,7 @@ if(D.adjust_money(-BEACON_COST)) cooldown = 10//a ~ten second cooldown for printing beacons to prevent spam var/obj/item/supplypod_beacon/C = new /obj/item/supplypod_beacon(drop_location()) - C.link_console(src, usr)//rather than in beacon's Initialize(), we can assign the computer to the beacon by reusing this proc) + C.link_console(src, user)//rather than in beacon's Initialize(), we can assign the computer to the beacon by reusing this proc) printed_beacons++//printed_beacons starts at 0, so the first one out will be called beacon # 1 beacon.name = "Supply Pod Beacon #[printed_beacons]" @@ -159,13 +160,13 @@ CRASH("Unknown supply pack id given by express order console ui. ID: [params["id"]]") var/name = "*None Provided*" var/rank = "*None Provided*" - var/ckey = usr.ckey - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr + var/ckey = user.ckey + if(ishuman(user)) + var/mob/living/carbon/human/H = user name = H.get_authentification_name() rank = H.get_assignment(hand_first = TRUE) - else if(HAS_SILICON_ACCESS(usr)) - name = usr.real_name + else if(HAS_SILICON_ACCESS(user)) + name = user.real_name rank = "Silicon" var/reason = "" var/list/empty_turfs diff --git a/code/modules/cargo/goodies.dm b/code/modules/cargo/goodies.dm index e09c3e2bc958d..2ec505aa334fc 100644 --- a/code/modules/cargo/goodies.dm +++ b/code/modules/cargo/goodies.dm @@ -311,7 +311,7 @@ /datum/supply_pack/goody/climbing_hook name = "Climbing Hook Single-Pack" - desc = "A less cheap imported climbing hook. Absolutely no use outside of planetary stations." + desc = "A less cheap imported climbing hook. Absolutely no use outside of multi-floor stations." cost = PAYCHECK_CREW * 5 contains = list(/obj/item/climbing_hook) @@ -321,3 +321,9 @@ cost = PAYCHECK_COMMAND * 18 access_view = ACCESS_WEAPONS contains = list(/obj/item/gun/ballistic/shotgun/doublebarrel) + +/datum/supply_pack/goody/experimental_medication + name = "Experimental Medication Single-Pack" + desc = "A single bottle of Interdyne brand experimental medication, used for treating people suffering from hereditary manifold disease." + cost = PAYCHECK_CREW * 6.5 + contains = list(/obj/item/storage/pill_bottle/sansufentanyl) diff --git a/code/modules/cargo/markets/_market.dm b/code/modules/cargo/markets/_market.dm index 7bef341842f1a..4696d3007a7ae 100644 --- a/code/modules/cargo/markets/_market.dm +++ b/code/modules/cargo/markets/_market.dm @@ -6,14 +6,14 @@ var/list/shipping // Automatic vars, do not touch these. - /// Items available from this market, populated by SSblackmarket on initialization. Automatically assigned, so don't manually adjust. + /// Items available from this market, populated by SSmarket on initialization. Automatically assigned, so don't manually adjust. var/list/available_items = list() /// Item categories available from this market, only items which are in these categories can be gotten from this market. Automatically assigned, so don't manually adjust. var/list/categories = list() /// Are the items from this market legal or illegal? If illegal, apply a contrband trait to the bought object. var/legal_status = TRUE -/// Adds item to the available items and add it's category if it is not in categories yet. +/// Adds item to the available items and add its category if it is not in categories yet. /datum/market/proc/add_item(datum/market_item/item) if(ispath(item, /datum/market_item)) item = new item() @@ -73,6 +73,20 @@ return FALSE +/** + * A proc that restocks only the EXISTING items of this market. + * If you want to selectively restock markets, call SSmarket.restock(market_or_list_of_markets) instead. + */ +/datum/market/proc/restock(list/existing_items) + for(var/category in available_items) + var/category_list = available_items[category] + for(var/identifier in category_list) + var/datum/market_item/item = category_list[identifier] + existing_items |= item.type + if(!item.restockable || item.stock >= item.stock_max || !prob(item.availability_prob)) + continue + item.stock += rand(1, item.stock_max - item.stock) + /datum/market/blackmarket name = "Black Market" shipping = list( diff --git a/code/modules/cargo/markets/market_item.dm b/code/modules/cargo/markets/market_item.dm index 5e3ce4efb6c07..faa6c45d795c4 100644 --- a/code/modules/cargo/markets/market_item.dm +++ b/code/modules/cargo/markets/market_item.dm @@ -5,7 +5,7 @@ var/desc /// The category this item belongs to, should be already declared in the market that this item is accessible in. var/category - /// "/datum/market"s that this item should be in, used by SSblackmarket on init. + /// "/datum/market"s that this item should be in, used by SSmarket on init. var/list/markets = list(/datum/market/blackmarket) /// Price for the item, if not set creates a price according to the *_min and *_max vars. @@ -27,15 +27,21 @@ var/stock_min = 1 /// Maximum amount that there should be of this item in the market if generated randomly. var/stock_max = 0 - /// Probability for this item to be available. Used by SSblackmarket on init. + /// Probability for this item to be available. Used by SSmarket on init. var/availability_prob + /// If set, this icon will be shown in the UI. + var/html_icon + ///The identifier for the market item, generated on runtime and used to access them in the market categories. var/identifier ///If set, these will override the shipment methods set by the market var/list/shipping_override + /// Can this item be restocked + var/restockable = TRUE + /datum/market_item/New() if(isnull(price)) price = rand(price_min, price_max) @@ -48,9 +54,11 @@ //we're replacing the item to sell, and the old item is an instance! if(ismovable(item)) UnregisterSignal(item, COMSIG_QDELETING) + html_icon = null item = path_or_ref identifier = "[path_or_ref]" if(ismovable(path_or_ref)) + html_icon = icon2base64(getFlatIcon(item, no_anim=TRUE)) RegisterSignal(item, COMSIG_QDELETING, PROC_REF(on_item_del)) identifier = "[REF(src)]" @@ -82,7 +90,7 @@ CRASH("Invalid item type for market item [item || "null"]") /** - * Buys the item and makes SSblackmarket handle it. + * Buys the item and makes SSmarket handle it. * * @param uplink The uplink that is buying the item. * @param buyer The mob that is buying the item. @@ -102,8 +110,8 @@ // Alright, the item has been purchased. var/datum/market_purchase/purchase = new(src, uplink, shipping_method, legal_status) - // SSblackmarket takes care of the shipping. - if(SSblackmarket.queue_item(purchase)) + // SSmarket takes care of the shipping. + if(SSmarket.queue_item(purchase)) stock-- buyer.log_message("has succesfully purchased [name] using [shipping_method] for shipping.", LOG_ECON) return TRUE @@ -139,7 +147,7 @@ /datum/market_purchase/Destroy() entry = null uplink = null - SSblackmarket.queued_purchases -= src + SSmarket.queued_purchases -= src return ..() /datum/market_purchase/proc/on_instance_del(datum/source) diff --git a/code/modules/cargo/markets/market_items/clothing.dm b/code/modules/cargo/markets/market_items/clothing.dm index 82bda848eb8e9..ee0ae6e0a3997 100644 --- a/code/modules/cargo/markets/market_items/clothing.dm +++ b/code/modules/cargo/markets/market_items/clothing.dm @@ -4,7 +4,7 @@ /datum/market_item/clothing/ninja_mask name = "Space Ninja Mask" - desc = "Apart from being acid, lava, fireproof and being hard to take off someone it does nothing special on it's own." + desc = "Apart from being acid, lava, fireproof and being hard to take off someone it does nothing special on its own." item = /obj/item/clothing/mask/gas/ninja price_min = CARGO_CRATE_VALUE @@ -32,13 +32,23 @@ stock_max = 4 availability_prob = 50 +/datum/market_item/tool/medsechud + name = "MedSec HUD" + desc = "A mostly defunct combination of security and health scanner HUDs. They don't produce these around anymore." + item = /obj/item/clothing/glasses/hud/medsechud + + price_min = CARGO_CRATE_VALUE * 2 + price_max = CARGO_CRATE_VALUE * 3.5 + stock_max = 3 + availability_prob = 50 + /datum/market_item/clothing/full_spacesuit_set name = "\improper Nanotrasen Branded Spacesuit Box" desc = "A few boxes of \"Old Style\" space suits fell off the back of a space truck." item = /obj/item/storage/box - price_min = CARGO_CRATE_VALUE * 7.5 - price_max = CARGO_CRATE_VALUE * 20 + price_min = CARGO_CRATE_VALUE * 1.875 + price_max = CARGO_CRATE_VALUE * 4 stock_max = 3 availability_prob = 30 @@ -66,7 +76,7 @@ item = /obj/item/clothing/shoes/bhop/rocket price_min = CARGO_CRATE_VALUE * 5 - price_max = CARGO_CRATE_VALUE * 15 + price_max = CARGO_CRATE_VALUE * 10 stock_max = 1 availability_prob = 40 diff --git a/code/modules/cargo/markets/market_items/consumables.dm b/code/modules/cargo/markets/market_items/consumables.dm index f002ff994249d..b7eed89a1951f 100644 --- a/code/modules/cargo/markets/market_items/consumables.dm +++ b/code/modules/cargo/markets/market_items/consumables.dm @@ -19,10 +19,20 @@ stock_min = 2 stock_max = 5 - price_min = CARGO_CRATE_VALUE * 1.625 - price_max = CARGO_CRATE_VALUE * 2 + price_min = CARGO_CRATE_VALUE * 1.375 + price_max = CARGO_CRATE_VALUE * 1.825 availability_prob = 80 +/datum/market_item/consumable/donk_pocket_box/spawn_item(loc) + var/static/list/choices + if(isnull(choices)) + choices = list() + for(var/boxtype as anything in typesof(/obj/item/storage/box/donkpockets)) + choices[boxtype] = 3 + choices[/obj/item/storage/box/donkpockets/donkpocketgondola] = 1 + item = pick_weight(choices) + return ..() + /datum/market_item/consumable/suspicious_pills name = "Bottle of Suspicious Pills" desc = "A random cocktail of luxury drugs that are sure to put a smile on your face!" @@ -30,17 +40,18 @@ stock_min = 2 stock_max = 3 - price_min = CARGO_CRATE_VALUE * 2 - price_max = CARGO_CRATE_VALUE * 3.5 + price_min = CARGO_CRATE_VALUE * 0.625 + price_max = CARGO_CRATE_VALUE * 1.25 availability_prob = 50 /datum/market_item/consumable/suspicious_pills/spawn_item(loc) - var/pillbottle = pick(list(/obj/item/storage/pill_bottle/zoom, - /obj/item/storage/pill_bottle/happy, - /obj/item/storage/pill_bottle/lsd, - /obj/item/storage/pill_bottle/aranesp, - /obj/item/storage/pill_bottle/stimulant)) - item = pillbottle + item = pick(list(/obj/item/storage/pill_bottle/zoom, + /obj/item/storage/pill_bottle/happy, + /obj/item/storage/pill_bottle/lsd, + /obj/item/storage/pill_bottle/aranesp, + /obj/item/storage/pill_bottle/stimulant, + /obj/item/storage/pill_bottle/maintenance_pill, + )) return ..() /datum/market_item/consumable/floor_pill diff --git a/code/modules/cargo/markets/market_items/hostages.dm b/code/modules/cargo/markets/market_items/hostages.dm index ed5b1f10a7fcf..702cea907bdeb 100644 --- a/code/modules/cargo/markets/market_items/hostages.dm +++ b/code/modules/cargo/markets/market_items/hostages.dm @@ -5,6 +5,7 @@ stock = 1 availability_prob = 100 shipping_override = list(SHIPPING_METHOD_LTSRBT = 0, SHIPPING_METHOD_SUPPLYPOD = 350) + restockable = FALSE /// temporary reference to the 4 in 7 chances of signaler and electropack. var/obj/item/assembly/signaler/signaler diff --git a/code/modules/cargo/markets/market_items/local_goods.dm b/code/modules/cargo/markets/market_items/local_goods.dm new file mode 100644 index 0000000000000..d81c38fec98ba --- /dev/null +++ b/code/modules/cargo/markets/market_items/local_goods.dm @@ -0,0 +1,25 @@ +///A special category for goods placed on the market by station by someone with the LTSRBT. +/datum/market_item/local_good + category = "Local Goods" + abstract_path = /datum/market_item/local_good + stock = 1 + availability_prob = 100 + restockable = FALSE + var/datum/bank_account/seller + +/datum/market_item/local_good/New(atom/movable/thing, datum/bank_account/seller) + ..() + set_item(thing) + src.seller = seller + if(seller) + RegisterSignal(seller, COMSIG_QDELETING, PROC_REF(delete_reference)) + +/datum/market_item/local_good/buy(obj/item/market_uplink/uplink, mob/buyer, shipping_method, legal_status) + . = ..() + if(. && seller) + seller.adjust_money(round(price * (1 - MARKET_WITHHOLDING_TAX)), "Market: Item Sold") + QDEL_IN(src, 10 MINUTES) //This category cannot hold more than 40 items at a time, so we need to clear sold items. + +/datum/market_item/local_good/proc/delete_reference(datum/source) + SIGNAL_HANDLER + seller = null diff --git a/code/modules/cargo/markets/market_items/misc.dm b/code/modules/cargo/markets/market_items/misc.dm index 435396c15f251..b0ea89485801c 100644 --- a/code/modules/cargo/markets/market_items/misc.dm +++ b/code/modules/cargo/markets/market_items/misc.dm @@ -2,7 +2,7 @@ category = "Miscellaneous" abstract_path = /datum/market_item/misc -/datum/market_item/misc/Clear_PDA +/datum/market_item/misc/clear_pda name = "Clear PDA" desc = "Show off your style with this limited edition clear PDA!." item = /obj/item/modular_computer/pda/clear @@ -12,7 +12,7 @@ stock_max = 2 availability_prob = 50 -/datum/market_item/misc/jade_Lantern +/datum/market_item/misc/jade_lantern name = "Jade Lantern" desc = "Found in a box labeled 'Danger: Radioactive'. Probably safe." item = /obj/item/flashlight/lantern/jade @@ -90,7 +90,7 @@ /datum/market_item/misc/smugglers_satchel name = "Smuggler's Satchel" - desc = "This easily hidden satchel can become a versatile tool to anybody with the desire to keep certain items out of sight and out of mind." + desc = "This easily hidden satchel can become a versatile tool to anybody with the desire to keep certain items out of sight and out of mind. Its contents cannot be detected by contraband scanners." item = /obj/item/storage/backpack/satchel/flat/empty price_min = CARGO_CRATE_VALUE * 3.75 diff --git a/code/modules/cargo/markets/market_items/stolen_goods.dm b/code/modules/cargo/markets/market_items/stolen_goods.dm index 02a72f05d26d1..cb1932673e0e3 100644 --- a/code/modules/cargo/markets/market_items/stolen_goods.dm +++ b/code/modules/cargo/markets/market_items/stolen_goods.dm @@ -4,6 +4,7 @@ abstract_path = /datum/market_item/stolen_good stock = 1 availability_prob = 100 + restockable = FALSE /datum/market_item/stolen_good/New(atom/movable/thing, thing_price) ..() diff --git a/code/modules/cargo/markets/market_items/tools.dm b/code/modules/cargo/markets/market_items/tools.dm index 9576810b3a3c9..0c9969756d30f 100644 --- a/code/modules/cargo/markets/market_items/tools.dm +++ b/code/modules/cargo/markets/market_items/tools.dm @@ -11,7 +11,7 @@ stock_min = 2 stock_max = 4 price_min = CARGO_CRATE_VALUE * 2.5 - price_max = CARGO_CRATE_VALUE * 3.75 + price_max = CARGO_CRATE_VALUE * 3.25 availability_prob = 100 /datum/market_item/tool/caravan_wrench @@ -60,8 +60,8 @@ item = /obj/item/binoculars stock = 1 - price_min = CARGO_CRATE_VALUE * 2 - price_max = CARGO_CRATE_VALUE * 4.8 + price_min = CARGO_CRATE_VALUE * 1.75 + price_max = CARGO_CRATE_VALUE * 4 availability_prob = 30 /datum/market_item/tool/riot_shield @@ -76,23 +76,13 @@ /datum/market_item/tool/thermite_bottle name = "Thermite Bottle" - desc = "30u of Thermite to assist in creating a quick access point or get away!" + desc = "50u of Thermite to assist in creating a quick access point or get away!" item = /obj/item/reagent_containers/cup/bottle/thermite - price_min = CARGO_CRATE_VALUE * 2.5 - price_max = CARGO_CRATE_VALUE * 7.5 - stock_max = 3 - availability_prob = 30 - -/datum/market_item/tool/science_goggles - name = "Science Goggles" - desc = "These glasses scan the contents of containers and projects their contents to the user in an easy to read format." - item = /obj/item/clothing/glasses/science - price_min = CARGO_CRATE_VALUE * 0.75 price_max = CARGO_CRATE_VALUE stock_max = 3 - availability_prob = 50 + availability_prob = 30 /** * # Fake N-spect scanner black market entry diff --git a/code/modules/cargo/markets/market_items/weapons.dm b/code/modules/cargo/markets/market_items/weapons.dm index 3323e16916234..4f20cf865bc9b 100644 --- a/code/modules/cargo/markets/market_items/weapons.dm +++ b/code/modules/cargo/markets/market_items/weapons.dm @@ -13,16 +13,15 @@ availability_prob = 40 /datum/market_item/weapon/shotgun_dart - name = "Shotgun Dart" + name = "Box of XL Shotgun Darts" desc = "These handy darts can be filled up with any chemical and be shot with a shotgun! \ Prank your friends by shooting them with laughter! \ Not recommended for comercial use." - item = /obj/item/ammo_casing/shotgun/dart + item = /obj/item/storage/box/large_dart - price_min = CARGO_CRATE_VALUE * 0.05 - price_max = CARGO_CRATE_VALUE * 0.25 - stock_min = 10 - stock_max = 60 + price_min = CARGO_CRATE_VALUE * 1.375 + price_max = CARGO_CRATE_VALUE * 2.875 + stock_max = 4 availability_prob = 40 /datum/market_item/weapon/bone_spear diff --git a/code/modules/cargo/markets/market_telepad.dm b/code/modules/cargo/markets/market_telepad.dm index 7c5b509a9421d..53a3d73ee486a 100644 --- a/code/modules/cargo/markets/market_telepad.dm +++ b/code/modules/cargo/markets/market_telepad.dm @@ -1,3 +1,6 @@ +#define DEFAULT_RESTOCK_COST CARGO_CRATE_VALUE * 3.375 +#define PLACE_ON_MARKET_COST PAYCHECK_LOWER * 1.2 + /obj/item/circuitboard/machine/ltsrbt name = "LTSRBT (Machine Board)" icon_state = "bluespacearray" @@ -12,12 +15,14 @@ /obj/machinery/ltsrbt name = "Long-To-Short-Range-Bluespace-Transceiver" desc = "The LTSRBT is a compact teleportation machine for receiving and sending items outside the station and inside the station.\nUsing teleportation frequencies stolen from NT it is near undetectable.\nEssential for any illegal market operations on NT stations.\n" - icon = 'icons/obj/machines/telecomms.dmi' - icon_state = "exonet_node" + icon = 'icons/obj/machines/ltsrbt.dmi' + icon_state = "ltsrbt_idle" + base_icon_state = "ltsrbt" circuit = /obj/item/circuitboard/machine/ltsrbt density = TRUE idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 2 + interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND /// Divider for energy_usage_per_teleport. var/power_efficiency = 1 @@ -35,18 +40,283 @@ var/datum/market_purchase/transmitting /// Queue for purchases that the machine should receive and send. var/list/datum/market_purchase/queue = list() + /// The name of the market item that we've set on the UI + var/current_name = "" + /// The desc of the market item that we've set on the UI + var/current_desc = "" + /// The price of the market item that we've set on the UI + var/current_price = CARGO_CRATE_VALUE + /** + * Attacking the machinery with enough credits will restock the markets, allowing for more/better items. + * The cost doubles each time this is done. + */ + var/static/restock_cost = DEFAULT_RESTOCK_COST /obj/machinery/ltsrbt/Initialize(mapload) . = ..() - SSblackmarket.telepads += src + register_context() + SSmarket.telepads += src + ADD_TRAIT(src, TRAIT_SECLUDED_LOCATION, INNATE_TRAIT) //you cannot sell disky, boss. + update_appearance() /obj/machinery/ltsrbt/Destroy() - SSblackmarket.telepads -= src + SSmarket.telepads -= src // Bye bye orders. - if(length(SSblackmarket.telepads)) - for(var/datum/market_purchase/P in queue) - SSblackmarket.queue_item(P) + if(length(SSmarket.telepads)) + for(var/datum/market_purchase/purchase in queue) + SSmarket.queue_item(purchase) + if(receiving) + SSmarket.queue_item(receiving) + queue = null + receiving = null + transmitting = null + return ..() + +/obj/machinery/ltsrbt/add_context(atom/source, list/context, obj/item/held_item, mob/user) + if(held_item) + if(state_open) + context[SCREENTIP_CONTEXT_LMB] = "Insert" + return CONTEXTUAL_SCREENTIP_SET + if(held_item.get_item_credit_value() && !(machine_stat & NOPOWER)) + context[SCREENTIP_CONTEXT_LMB] = "Restock" + return CONTEXTUAL_SCREENTIP_SET + return NONE + if(state_open) + context[SCREENTIP_CONTEXT_LMB] = "Close" + return CONTEXTUAL_SCREENTIP_SET + context[SCREENTIP_CONTEXT_LMB] = "Open" + if(occupant && !(machine_stat & NOPOWER)) + context[SCREENTIP_CONTEXT_RMB] = "Place on market" + return CONTEXTUAL_SCREENTIP_SET + +/obj/machinery/ltsrbt/examine(mob/user) + . = ..() + if(!(machine_stat & NOPOWER)) + . += span_info("A small display reads:") + . += span_tinynoticeital("Current market restock price: [EXAMINE_HINT("[restock_cost] cr")].") + . += span_tinynoticeital("Market placement fee: [EXAMINE_HINT("[PLACE_ON_MARKET_COST] cr")].") + . += span_tinynoticeital("Withholding tax on local items: [EXAMINE_HINT("[MARKET_WITHHOLDING_TAX * 100]%")].") + +/obj/machinery/ltsrbt/update_icon_state() + . = ..() + if(machine_stat & NOPOWER) + icon_state = "[base_icon_state]_off" + else + icon_state = "[base_icon_state][(receiving || length(queue) || occupant) ? "" : "_idle"]" + +/obj/machinery/ltsrbt/update_overlays() + . = ..() + if(!state_open) + . += "[base_icon_state]_closed" + else + var/mutable_appearance/overlay = mutable_appearance(icon, "[base_icon_state]_open") + overlay.pixel_w -= 2 + overlay.pixel_z -= 1 + . += overlay + +/obj/machinery/ltsrbt/attack_hand(mob/user, list/modifiers) + . = ..() + if(.) + return + if(!state_open) + open_machine(density_to_set = TRUE) + else + close_machine() + +/obj/machinery/ltsrbt/open_machine(drop = TRUE, density_to_set = FALSE) + . = ..() + playsound(src, 'sound/machines/oven/oven_open.ogg', 75, TRUE) + +/obj/machinery/ltsrbt/close_machine(atom/movable/target, density_to_set = TRUE) . = ..() + playsound(src, 'sound/machines/oven/oven_close.ogg', 75, TRUE) + +/obj/machinery/ltsrbt/set_occupant(obj/item/new_occupant) + . = ..() + if(new_occupant) + current_name = new_occupant.name + current_desc = new_occupant.desc + +/obj/machinery/ltsrbt/can_be_occupant(atom/movable/atom) + return isitem(atom) && !atom.anchored + +/obj/machinery/ltsrbt/Exited(atom/movable/gone) + if(gone == occupant) + current_price = initial(current_price) + current_name = "" + current_desc = "" + update_appearance(UPDATE_ICON_STATE) + return ..() + +/obj/machinery/ltsrbt/attack_hand_secondary(mob/user, list/modifiers) + . = ..() + if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) + return + if(state_open) + balloon_alert(user, "close it first!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + if(!occupant) + balloon_alert(user, "nothing loaded!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + if(machine_stat & NOPOWER) + balloon_alert(user, "machine unpowered!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + if(!COOLDOWN_FINISHED(src, recharge_cooldown)) + balloon_alert(user, "on cooldown!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + ui_interact(user) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + +/obj/machinery/ltsrbt/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(user.combat_mode) + return NONE + + var/creds_value = tool.get_item_credit_value() + + if(state_open) + if(locate(/mob/living) in tool.get_all_contents()) + say("Living being detected, cannot sell!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(tool, src)) + balloon_alert(user, "stuck to your hands!") + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "item loaded") + close_machine(tool) + return ITEM_INTERACT_SUCCESS + else if(!creds_value) + balloon_alert(user, "open the machine!") + return ITEM_INTERACT_BLOCKING + + if(machine_stat & NOPOWER) + return + + if(creds_value < restock_cost) + say("Insufficient credits!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + return ITEM_INTERACT_BLOCKING + + if(istype(tool, /obj/item/holochip)) + var/obj/item/holochip/chip = tool + chip.spend(restock_cost) + else + qdel(tool) + if(creds_value != restock_cost) + var/obj/item/holochip/change = new(loc, creds_value - restock_cost) + user.put_in_hands(change) + + SSmarket.restock() + restock_cost *= 2 + return ITEM_INTERACT_SUCCESS + +/obj/machinery/ltsrbt/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "LTSRBT", name) + ui.open() + +/obj/machinery/ltsrbt/ui_state() + if(!occupant || !COOLDOWN_FINISHED(src, recharge_cooldown)) + return GLOB.never_state //close it. + else + return GLOB.default_state + +#define LTSRBT_MIN_PRICE PAYCHECK_LOWER +#define LTSRBT_MAX_PRICE CARGO_CRATE_VALUE * 50 + +/obj/machinery/ltsrbt/ui_static_data(mob/user) + var/list/data = list() + data["loaded_icon"] = icon2base64(getFlatIcon(occupant, no_anim=TRUE)) + data["min_price"] = LTSRBT_MIN_PRICE + data["max_price"] = LTSRBT_MAX_PRICE + return data + +/obj/machinery/ltsrbt/ui_data(mob/user) + var/list/data = list() + data["name"] = current_name + data["price"] = current_price + data["desc"] = current_desc + return data + +/obj/machinery/ltsrbt/ui_act(action, list/params) + . = ..() + if(.) + return + switch(action) + if("change_name") + var/value = params["value"] + if(!CAN_BYPASS_FILTER(usr) && is_ic_filtered_for_pdas(value)) + return TRUE + current_name = trim(value, MAX_NAME_LEN) + return TRUE + if("change_desc") + var/value = params["value"] + if(!CAN_BYPASS_FILTER(usr) && is_ic_filtered_for_pdas(value)) + return TRUE + current_desc = trim(value, MAX_DESC_LEN) + return TRUE + if("change_price") + current_price = clamp(params["value"], LTSRBT_MIN_PRICE, LTSRBT_MAX_PRICE) + return TRUE + if("place_on_market") + place_on_market(usr) + return TRUE + +#undef LTSRBT_MIN_PRICE +#undef LTSRBT_MAX_PRICE + +#define LTSRBT_MAX_MARKET_ITEMS 40 +/obj/machinery/ltsrbt/proc/place_on_market(mob/user) + if(QDELETED(occupant)) + return + if(locate(/mob/living) in occupant.get_all_contents()) + say("Living being detected, cannot sell!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + return + var/datum/bank_account/account + var/datum/market/our_market = SSmarket.markets[/datum/market/blackmarket] + if(!isAdminGhostAI(user)) + if(!isliving(user)) + return + if(length(our_market.available_items[/datum/market_item/local_good::category]) >= LTSRBT_MAX_MARKET_ITEMS) + say("Local market saturated, buy some goods first!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + return + var/mob/living/living_user = user + var/obj/item/card/id/card = living_user.get_idcard(TRUE) + if(!(card?.registered_account)) + say("No bank account to charge market fees detected!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + return + if(!card.registered_account.adjust_money(-PLACE_ON_MARKET_COST, "Market: Placement Fee")) + say("Insufficient credits!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 40, FALSE) + return + account = card.registered_account + + var/obj/item/item = occupant //occupant, name, price and desc will be null'd once it exits the machine so we need this. + var/name_to_use = current_name || item.name + var/desc_to_use = current_desc + if(account) + desc_to_use += "[current_desc ? " - " : ""]Seller: [account.account_holder]" + var/price_to_use = current_price + item.moveToNullspace() + //Something happened and the item was deleted or relocated as soon as it was moved to nullspace. + if(QDELETED(item) || item.loc != null) + say("Runtime at market_placement.dm, line 153: item gone!") //metajoke + return + var/datum/market_item/local_good/new_item = new(item, account) + new_item.name = name_to_use + new_item.desc = desc_to_use + new_item.price = price_to_use + + our_market.add_item(new_item) + + say("Item placed on the market!") + playsound(src, 'sound/effects/cashregister.ogg', 40, FALSE) + COOLDOWN_START(src, recharge_cooldown, recharge_time * 3) + +#undef LTSRBT_MAX_MARKET_ITEMS /obj/machinery/ltsrbt/RefreshParts() . = ..() @@ -54,7 +324,6 @@ // On tier 4 recharge_time should be 20 and by default it is 80 as scanning modules should be tier 1. for(var/datum/stock_part/scanning_module/scanning_module in component_parts) recharge_time -= scanning_module.tier * 1 SECONDS - recharge_cooldown = recharge_time power_efficiency = 0 for(var/datum/stock_part/micro_laser/laser in component_parts) @@ -67,6 +336,7 @@ /obj/machinery/ltsrbt/proc/add_to_queue(datum/market_purchase/purchase) if(!recharge_cooldown && !receiving && !transmitting) receiving = purchase + update_appearance(UPDATE_ICON_STATE) else queue += purchase @@ -80,6 +350,8 @@ if(transmitting == purchase) transmitting = null + update_appearance(UPDATE_ICON_STATE) + /obj/machinery/ltsrbt/process(seconds_per_tick) if(machine_stat & NOPOWER) return @@ -102,14 +374,17 @@ transmitting = receiving receiving = null - COOLDOWN_START(src, recharge_cooldown, recharge_time) return if(transmitting) if(transmitting.item.loc == turf) do_teleport(transmitting.item, get_turf(transmitting.uplink)) use_energy(energy_usage_per_teleport / power_efficiency) QDEL_NULL(transmitting) + COOLDOWN_START(src, recharge_cooldown, recharge_time) return if(length(queue)) receiving = pick_n_take(queue) + +#undef DEFAULT_RESTOCK_COST +#undef PLACE_ON_MARKET_COST diff --git a/code/modules/cargo/markets/market_uplink.dm b/code/modules/cargo/markets/market_uplink.dm index d13f59937b66c..17cad32042668 100644 --- a/code/modules/cargo/markets/market_uplink.dm +++ b/code/modules/cargo/markets/market_uplink.dm @@ -20,7 +20,7 @@ /obj/item/market_uplink/Initialize(mapload) . = ..() - // We don't want to go through this at mapload because the SSblackmarket isn't initialized yet. + // We don't want to go through this at mapload because the SSmarket isn't initialized yet. if(mapload) return @@ -30,7 +30,7 @@ /obj/item/market_uplink/proc/update_viewing_category() if(accessible_markets.len) viewing_market = accessible_markets[1] - var/list/categories = SSblackmarket.markets[viewing_market].categories + var/list/categories = SSmarket.markets[viewing_market].categories if(categories?.len) viewing_category = categories[1] @@ -45,7 +45,7 @@ /obj/item/market_uplink/ui_data(mob/user) var/list/data = list() - var/datum/market/market = viewing_market ? SSblackmarket.markets[viewing_market] : null + var/datum/market/market = viewing_market ? SSmarket.markets[viewing_market] : null var/obj/item/card/id/id_card if(isliving(user)) var/mob/living/livin = user @@ -80,24 +80,25 @@ "name" = item.name, "cost" = item.price, "amount" = item.stock, - "desc" = item.desc || item.name + "desc" = item.desc || item.name, + "html_icon" = item.html_icon, )) return data /obj/item/market_uplink/ui_static_data(mob/user) var/list/data = list() - data["delivery_method_description"] = SSblackmarket.shipping_method_descriptions - data["ltsrbt_built"] = SSblackmarket.telepads.len + data["delivery_method_description"] = SSmarket.shipping_method_descriptions + data["ltsrbt_built"] = SSmarket.telepads.len data["markets"] = list() for(var/M in accessible_markets) - var/datum/market/BM = SSblackmarket.markets[M] + var/datum/market/BM = SSmarket.markets[M] data["markets"] += list(list( "id" = M, "name" = BM.name )) return data -/obj/item/market_uplink/ui_act(action, params) +/obj/item/market_uplink/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -107,7 +108,7 @@ return if(isnull(viewing_market)) return - if(!(params["category"] in SSblackmarket.markets[viewing_market].categories)) + if(!(params["category"] in SSmarket.markets[viewing_market].categories)) return viewing_category = params["category"] . = TRUE @@ -120,7 +121,7 @@ viewing_market = market - var/list/categories = SSblackmarket.markets[viewing_market].categories + var/list/categories = SSmarket.markets[viewing_market].categories if(categories?.len) viewing_category = categories[1] else @@ -142,7 +143,7 @@ if(isnull(selected_item)) buying = FALSE return - var/datum/market/market = SSblackmarket.markets[viewing_market] + var/datum/market/market = SSmarket.markets[viewing_market] market.purchase(selected_item, viewing_category, params["method"], src, usr) buying = FALSE diff --git a/code/modules/cargo/materials_market.dm b/code/modules/cargo/materials_market.dm index 947197d16f298..797ebf5411d6f 100644 --- a/code/modules/cargo/materials_market.dm +++ b/code/modules/cargo/materials_market.dm @@ -232,7 +232,7 @@ var/material_str = params["material"] var/quantity = text2num(params["quantity"]) - //find material from it's name + //find material from its name var/datum/material/material_bought var/obj/item/stack/sheet/sheet_to_buy for(var/datum/material/mat as anything in SSstock_market.materials_prices) @@ -346,7 +346,7 @@ var/datum/material/export_mat /// Quantity of export material var/quantity = 0 - /// Is this stock block currently updating it's value with the market (aka fluid)? + /// Is this stock block currently updating its value with the market (aka fluid)? var/fluid = FALSE /obj/item/stock_block/Initialize(mapload) @@ -358,9 +358,9 @@ . = ..() . += span_notice("\The [src] is worth [export_value] cr, from selling [quantity] sheets of [initial(export_mat?.name)].") if(fluid) - . += span_warning("\The [src] is currently liquid! It's value is based on the market price.") + . += span_warning("\The [src] is currently liquid! Its value is based on the market price.") else - . += span_notice("\The [src]'s value is still [span_boldnotice("locked in")]. [span_boldnotice("Sell it")] before it's value becomes liquid!") + . += span_notice("\The [src]'s value is still [span_boldnotice("locked in")]. [span_boldnotice("Sell it")] before its value becomes liquid!") /obj/item/stock_block/proc/value_warning() visible_message(span_warning("\The [src] is starting to become liquid!")) diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index de84a263597da..a25c47c5d9f88 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -90,7 +90,7 @@ /datum/supply_pack/costumes_toys/knucklebones name = "Knucklebones Game Crate" desc = "A fun dice game definitely not invented by a cult. Consult your local chaplain regarding \ - approved religious activity. Contains eighteen d6, one white crayon, and instructions on how to play." + approved religious activity. Contains eighteen d6, one stick of chalk, and instructions on how to play." cost = CARGO_CRATE_VALUE * 2 contains = list(/obj/item/dice/d6 = 18, /obj/item/paper/guides/knucklebone, diff --git a/code/modules/cargo/packs/engineering.dm b/code/modules/cargo/packs/engineering.dm index 771cba47df61d..907ae1598c653 100644 --- a/code/modules/cargo/packs/engineering.dm +++ b/code/modules/cargo/packs/engineering.dm @@ -328,3 +328,12 @@ ) crate_name = "radioactive nebula shielding (IMPORTANT)" crate_type = /obj/structure/closet/crate/engineering + +/datum/supply_pack/engineering/portagrav + name = "Portable Gravity Unit Crate" + desc = "Contains a portable gravity unit, to make the clown float into the ceiling." + cost = CARGO_CRATE_VALUE * 4 + access_view = ACCESS_ENGINEERING + contains = list(/obj/machinery/power/portagrav = 1) + crate_name = "portable gravity unit crate" + crate_type = /obj/structure/closet/crate/engineering diff --git a/code/modules/cargo/packs/imports.dm b/code/modules/cargo/packs/imports.dm index f270b1da11f39..98fc4d650212c 100644 --- a/code/modules/cargo/packs/imports.dm +++ b/code/modules/cargo/packs/imports.dm @@ -318,3 +318,20 @@ ) crate_name = "floortile camouflauge crate" crate_type = /obj/structure/closet/crate/secure/weapon + +/** + * The Long To Short Range Bluespace Teleporter, used to deliver (black) market purchases more effiiently + * It can also be used to restock it, if you hit it with enough credits. + */ +/datum/supply_pack/imports/blackmarket_telepad + name = "Black Market LTSRBT" + desc = "Need a faster and better way of transporting your illegal goods from and to the \ + station? Fear not, the Long-To-Short-Range-Bluespace-Transceiver (LTSRBT for short) \ + is here to help. Contains a LTSRBT circuit, two bluespace crystals, and one ansible." + cost = CARGO_CRATE_VALUE * 10 + contraband = TRUE + contains = list( + /obj/item/circuitboard/machine/ltsrbt, + /obj/item/stack/ore/bluespace_crystal/artificial = 2, + /obj/item/stock_parts/subspace/ansible, + ) diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index c30a698c06f87..d44e8c42d3783 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -121,7 +121,7 @@ /datum/supply_pack/medical/experimentalmedicine name = "Experimental Medicine Crate" desc = "A crate containing the medication required for living with Hereditary Manifold Sickness, Sansufentanyl." - cost = CARGO_CRATE_VALUE * 2 + cost = CARGO_CRATE_VALUE * 3 contains = list(/obj/item/storage/pill_bottle/sansufentanyl = 2) crate_name = "experimental medicine crate" crate_type = /obj/structure/closet/crate/medical @@ -187,6 +187,6 @@ name = "Strong-Arm Implant Set" desc = "A crate containing two implants, which can be surgically implanted to empower the strength of human arms. Warranty void if exposed to electromagnetic pulses." cost = CARGO_CRATE_VALUE * 6 - contains = list(/obj/item/organ/internal/cyberimp/arm/muscle = 2) + contains = list(/obj/item/organ/internal/cyberimp/arm/strongarm = 2) crate_name = "Strong-Arm implant crate" discountable = SUPPLY_PACK_RARE_DISCOUNTABLE diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm index 05360fe913f0a..8a0765602b342 100644 --- a/code/modules/cargo/packs/security.dm +++ b/code/modules/cargo/packs/security.dm @@ -36,7 +36,7 @@ /datum/supply_pack/security/forensics name = "Forensics Crate" desc = "Stay hot on the criminal's heels with Nanotrasen's Detective Essentials™. \ - Contains a forensics scanner, six evidence bags, camera, tape recorder, white crayon, \ + Contains a forensics scanner, six evidence bags, camera, tape recorder, stick of chalk, \ and of course, a fedora." cost = CARGO_CRATE_VALUE * 2.5 access_view = ACCESS_MORGUE diff --git a/code/modules/cargo/packs/service.dm b/code/modules/cargo/packs/service.dm index 228d0d3e2fa46..bf6afe107d6c7 100644 --- a/code/modules/cargo/packs/service.dm +++ b/code/modules/cargo/packs/service.dm @@ -195,7 +195,7 @@ /datum/supply_pack/service/greyidbox name = "Grey ID Card Multipack Crate" desc = "A convenient crate containing a box of seven cheap ID cards in a handy wallet-sized form factor. \ - Cards come in every colour you can imagne, as long as it's grey." + Cards come in every colour you can imagine, as long as it's grey." cost = CARGO_CRATE_VALUE * 3 contains = list(/obj/item/storage/box/ids) crate_name = "basic id card crate" diff --git a/code/modules/cargo/packs/vending_restock.dm b/code/modules/cargo/packs/vending_restock.dm index 10ae874d5d6c9..6437e6027b893 100644 --- a/code/modules/cargo/packs/vending_restock.dm +++ b/code/modules/cargo/packs/vending_restock.dm @@ -19,6 +19,13 @@ crate_name = "cigarette supply crate" crate_type = /obj/structure/closet/crate +/datum/supply_pack/vending/science/cytopro + name = "Cytology Vendor Supply Crate" + desc = "For all your vat-growing needs! Contains a CytoPro machine refill." + cost = CARGO_CRATE_VALUE * 3 + contains = list(/obj/item/vending_refill/cytopro) + crate_name = "cytopro supply crate" + /datum/supply_pack/vending/dinnerware name = "Dinnerware Supply Crate" desc = "More knives for the chef." diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 417e5519ba00f..9792d8425dca9 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -36,9 +36,9 @@ var/effectQuiet = FALSE //The female sniper. If true, the pod makes no noise (including related explosions, opening sounds, etc) var/effectMissile = FALSE //If true, the pod deletes the second it lands. If you give it an explosion, it will act like a missile exploding as it hits the ground var/effectCircle = FALSE //If true, allows the pod to come in at any angle. Bit of a weird feature but whatever its here - var/style = STYLE_STANDARD //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the GLOB.podstyles list in cargo.dm defines to get the proper icon/name/desc for the pod. + var/datum/pod_style/style = /datum/pod_style //Style is a variable that keeps track of what the pod is supposed to look like. Only stores a path, type is set for ease of var access var/reversing = FALSE //If true, the pod will not send any items. Instead, after opening, it will close again (picking up items/mobs) and fly back to centcom - var/list/reverse_dropoff_coords //Turf that the reverse pod will drop off it's newly-acquired cargo to + var/list/reverse_dropoff_coords //Turf that the reverse pod will drop off its newly-acquired cargo to var/fallingSoundLength = 11 var/fallingSound = 'sound/weapons/mortar_long_whistle.ogg'//Admin sound to play before the pod lands var/landingSound //Admin sound to play when the pod lands @@ -61,7 +61,7 @@ var/list/turfs_in_cargo = list() /obj/structure/closet/supplypod/bluespacepod - style = STYLE_BLUESPACE + style = /datum/pod_style/advanced bluespace = TRUE explosionSize = list(0,0,1,2) @@ -83,7 +83,7 @@ name = "Syndicate Extraction Pod" desc = "A specalised, blood-red styled pod for extracting high-value targets out of active mission areas. Targets must be manually stuffed inside the pod for proper delivery." specialised = TRUE - style = STYLE_SYNDICATE + style = /datum/pod_style/syndicate bluespace = TRUE explosionSize = list(0,0,1,2) delays = list(POD_TRANSIT = 25, POD_FALLING = 4, POD_OPENING = 30, POD_LEAVING = 30) @@ -93,7 +93,7 @@ reverse_option_list = list("Mobs"=TRUE,"Objects"=FALSE,"Anchored"=FALSE,"Underfloor"=FALSE,"Wallmounted"=FALSE,"Floors"=FALSE,"Walls"=FALSE, "Mecha"=FALSE) /obj/structure/closet/supplypod/centcompod - style = STYLE_CENTCOM + style = /datum/pod_style/centcom bluespace = TRUE explosionSize = list(0,0,0,0) delays = list(POD_TRANSIT = 20, POD_FALLING = 4, POD_OPENING = 30, POD_LEAVING = 30) @@ -121,13 +121,13 @@ desc = "An intimidating supply pod, covered in the blood-red markings" bluespace = TRUE explosionSize = list(0,0,0,0) - style = STYLE_SYNDICATE + style = /datum/pod_style/syndicate specialised = TRUE /obj/structure/closet/supplypod/deadmatch_missile name = "cruise missile" desc = "A big ass missile, likely launched from some far-off deep space missile silo." - style = STYLE_RED_MISSILE + style = /datum/pod_style/missile/syndicate explosionSize = list(0,1,2,2) effectShrapnel = TRUE specialised = TRUE @@ -153,33 +153,32 @@ style = customStyle setStyle(style) //Upon initialization, give the supplypod an iconstate, name, and description based on the "style" variable. This system is important for the centcom_podlauncher to function correctly -/obj/structure/closet/supplypod/proc/setStyle(chosenStyle) //Used to give the sprite an icon state, name, and description. - style = chosenStyle - var/base = GLOB.podstyles[chosenStyle][POD_BASE] //GLOB.podstyles is a 2D array we treat as a dictionary. The style represents the verticle index, with the icon state, name, and desc being stored in the horizontal indexes of the 2D array. - icon_state = base - decal = GLOB.podstyles[chosenStyle][POD_DECAL] - rubble_type = GLOB.podstyles[chosenStyle][POD_RUBBLE_TYPE] +/obj/structure/closet/supplypod/proc/setStyle(datum/pod_style/chosen_style) //Used to give the sprite an icon state, name, and description. + style = chosen_style + icon_state = chosen_style::icon_state + decal = chosen_style::decal_icon + rubble_type = chosen_style::rubble_type if (!adminNamed && !specialised) //We dont want to name it ourselves if it has been specifically named by an admin using the centcom_podlauncher datum - name = GLOB.podstyles[chosenStyle][POD_NAME] - desc = GLOB.podstyles[chosenStyle][POD_DESC] - if (GLOB.podstyles[chosenStyle][POD_DOOR]) - door = "[base]_door" + name = chosen_style::name + desc = chosen_style::desc + if (chosen_style::has_door) + door = "[icon_state]_door" else door = FALSE update_appearance() /obj/structure/closet/supplypod/proc/SetReverseIcon() fin_mask = "bottomfin" - if (GLOB.podstyles[style][POD_SHAPE] == POD_SHAPE_NORML) - icon_state = GLOB.podstyles[style][POD_BASE] + "_reverse" + if (style::shape == POD_SHAPE_NORMAL) + icon_state = style::icon_state + "_reverse" pixel_x = initial(pixel_x) transform = matrix() update_appearance() /obj/structure/closet/supplypod/proc/backToNonReverseIcon() fin_mask = initial(fin_mask) - if (GLOB.podstyles[style][POD_SHAPE] == POD_SHAPE_NORML) - icon_state = GLOB.podstyles[style][POD_BASE] + if (style::shape == POD_SHAPE_NORMAL) + icon_state = style::icon_state pixel_x = initial(pixel_x) transform = matrix() update_appearance() @@ -189,13 +188,13 @@ /obj/structure/closet/supplypod/update_overlays() . = ..() - if(style == STYLE_INVISIBLE) + if(ispath(style, /datum/pod_style/invisible)) return if(rubble) . += rubble.getForeground(src) - if(style == STYLE_SEETHROUGH) + if(ispath(style, /datum/pod_style/seethrough)) for(var/atom/A in contents) var/mutable_appearance/itemIcon = new(A) itemIcon.transform = matrix().Translate(-1 * SUPPLYPOD_X_OFFSET, 0) @@ -227,7 +226,7 @@ if(decal) . += decal return - else if (GLOB.podstyles[style][POD_SHAPE] != POD_SHAPE_NORML) //If we're not a normal pod shape (aka, if we don't have fins), just add the door without masking + else if (style::shape != POD_SHAPE_NORMAL) //If we're not a normal pod shape (aka, if we don't have fins), just add the door without masking . += door else var/icon/masked_door = new(icon, door) //The door we want to apply @@ -280,7 +279,7 @@ reversing = FALSE //Now that we're done reversing, we set this to false (otherwise we would get stuck in an infinite loop of calling the close proc at the bottom of open_pod() ) bluespace = TRUE //Make it so that the pod doesn't stay in centcom forever pod_flags &= ~FIRST_SOUNDS //Make it so we play sounds now - if (!effectQuiet && style != STYLE_SEETHROUGH) + if (!effectQuiet && !ispath(style, /datum/pod_style/seethrough)) audible_message(span_notice("The pod hisses, closing and launching itself away from the station."), span_notice("The ground vibrates, and you hear the sound of engines firing.")) stay_after_drop = FALSE holder.pixel_z = initial(holder.pixel_z) @@ -351,14 +350,14 @@ opened = TRUE //We set opened to TRUE to avoid spending time trying to open (due to being deleted) during the Destroy() proc qdel(src) return - if (style == STYLE_GONDOLA) //Checks if we are supposed to be a gondola pod. If so, create a gondolapod mob, and move this pod to nullspace. I'd like to give a shout out, to my man oranges + if (ispath(style, /datum/pod_style/gondola)) //Checks if we are supposed to be a gondola pod. If so, create a gondolapod mob, and move this pod to nullspace. I'd like to give a shout out, to my man oranges var/mob/living/basic/pet/gondola/gondolapod/benis = new(turf_underneath, src) benis.contents |= contents //Move the contents of this supplypod into the gondolapod mob. for (var/mob/living/mob_in_pod in benis.contents) mob_in_pod.reset_perspective(null) moveToNullspace() addtimer(CALLBACK(src, PROC_REF(open_pod), benis), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplyprod while referencing the contents of the "holder", in this case the gondolapod mob - else if (style == STYLE_SEETHROUGH) + else if (ispath(style, /datum/pod_style/seethrough)) open_pod(src) else addtimer(CALLBACK(src, PROC_REF(open_pod), src), delays[POD_OPENING]) //After the opening delay passes, we use the open proc from this supplypod, while referencing this supplypod's contents @@ -381,11 +380,11 @@ for (var/cargo in holder.contents) var/atom/movable/movable_cargo = cargo movable_cargo.forceMove(turf_underneath) - if (!effectQuiet && !openingSound && style != STYLE_SEETHROUGH && !(pod_flags & FIRST_SOUNDS)) //If we aren't being quiet, play the default pod open sound + if (!effectQuiet && !openingSound && !ispath(style, /datum/pod_style/seethrough) && !(pod_flags & FIRST_SOUNDS)) //If we aren't being quiet, play the default pod open sound playsound(get_turf(holder), open_sound, 15, TRUE, -3) if (broken) //If the pod is opening because it's been destroyed, we end here return - if (style == STYLE_SEETHROUGH) + if (ispath(style, /datum/pod_style/seethrough)) startExitSequence(src) else if (reversing) @@ -400,7 +399,7 @@ close(holder) else if (bluespace) //If we're a bluespace pod, then delete ourselves (along with our holder, if a separate holder exists) deleteRubble() - if (!effectQuiet && style != STYLE_INVISIBLE && style != STYLE_SEETHROUGH) + if (!effectQuiet && !ispath(style, /datum/pod_style/invisible) && !ispath(style, /datum/pod_style/seethrough)) do_sparks(5, TRUE, holder) //Create some sparks right before closing qdel(src) //Delete ourselves and the holder if (holder != src) @@ -422,18 +421,22 @@ insert(turf_underneath, holder) /obj/structure/closet/supplypod/insert(atom/to_insert, atom/movable/holder) - if(insertion_allowed(to_insert)) - if(isturf(to_insert)) - var/turf/turf_to_insert = to_insert - turfs_in_cargo += turf_to_insert.type - turf_to_insert.ScrapeAway() - else - var/atom/movable/movable_to_insert = to_insert - movable_to_insert.forceMove(holder) - return TRUE - else + if(!insertion_allowed(to_insert)) return FALSE + if(isturf(to_insert)) + var/turf/turf_to_insert = to_insert + turfs_in_cargo += turf_to_insert.type + turf_to_insert.ScrapeAway() + return TRUE + + var/atom/movable/movable_to_insert = to_insert + if (ismob(movable_to_insert)) + var/mob/mob_to_insert = movable_to_insert + if (!isnull(mob_to_insert.buckled)) + mob_to_insert.buckled.unbuckle_mob(mob_to_insert, force = TRUE) + movable_to_insert.forceMove(holder) + /obj/structure/closet/supplypod/insertion_allowed(atom/to_insert) if(to_insert.invisibility == INVISIBILITY_ABSTRACT) return FALSE @@ -537,13 +540,12 @@ update_appearance() /obj/structure/closet/supplypod/proc/addGlow() - if (GLOB.podstyles[style][POD_SHAPE] != POD_SHAPE_NORML) + if (style::shape != POD_SHAPE_NORMAL) return glow_effect = new(src) - glow_effect.icon_state = "pod_glow_" + GLOB.podstyles[style][POD_GLOW] + glow_effect.icon_state = "pod_glow_" + style::glow_color vis_contents += glow_effect glow_effect.layer = GASFIRE_LAYER - SET_PLANE_EXPLICIT(glow_effect, ABOVE_GAME_PLANE, src) RegisterSignal(glow_effect, COMSIG_QDELETING, PROC_REF(remove_glow)) /obj/structure/closet/supplypod/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) @@ -589,7 +591,6 @@ icon_state = "pod_glow_green" desc = "" layer = GASFIRE_LAYER - plane = ABOVE_GAME_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT alpha = 255 @@ -629,7 +630,7 @@ if (type == RUBBLE_THIN) icon_state += "_thin" foreground += "_thin" - if (pod.style == STYLE_BOX) + if (ispath(pod.style, /datum/pod_style/box)) verticle_offset = -2 else verticle_offset = initial(verticle_offset) @@ -651,7 +652,7 @@ transform = matrix() * 1.5 animate(src, transform = matrix()*0.01, time = pod.delays[POD_TRANSIT]+pod.delays[POD_FALLING]) -/obj/effect/pod_landingzone //This is the object that forceMoves the supplypod to it's location +/obj/effect/pod_landingzone //This is the object that forceMoves the supplypod to its location name = "Landing Zone Indicator" desc = "A holographic projection designating the landing zone of something. It's probably best to stand back." icon = 'icons/obj/supplypods_32x32.dmi' @@ -717,19 +718,17 @@ pod.transform = matrix().Turn(rotation) pod.layer = FLY_LAYER SET_PLANE_EXPLICIT(pod, ABOVE_GAME_PLANE, src) - if (pod.style != STYLE_INVISIBLE) + if (!ispath(pod.style, /datum/pod_style/invisible)) animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING) //Make the pod fall! At an angle! addtimer(CALLBACK(src, PROC_REF(endLaunch)), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation /obj/effect/pod_landingzone/proc/setupSmoke(rotation) - if (pod.style == STYLE_INVISIBLE || pod.style == STYLE_SEETHROUGH) + if (ispath(pod.style, /datum/pod_style/invisible) || ispath(pod.style, /datum/pod_style/seethrough)) return - var/turf/our_turf = get_turf(drop_location()) - for ( var/i in 1 to length(smoke_effects)) + for (var/i in 1 to length(smoke_effects)) var/obj/effect/supplypod_smoke/smoke_part = new (drop_location()) if (i == 1) smoke_part.layer = FLY_LAYER - SET_PLANE(smoke_part, ABOVE_GAME_PLANE, our_turf) smoke_part.icon_state = "smoke_start" smoke_part.transform = matrix().Turn(rotation) smoke_effects[i] = smoke_part @@ -741,7 +740,7 @@ QDEL_IN(smoke_part, pod.delays[POD_FALLING] + 35) /obj/effect/pod_landingzone/proc/drawSmoke() - if (pod.style == STYLE_INVISIBLE || pod.style == STYLE_SEETHROUGH) + if (ispath(pod.style, /datum/pod_style/invisible) || ispath(pod.style, /datum/pod_style/seethrough)) return for (var/obj/effect/supplypod_smoke/smoke_part in smoke_effects) animate(smoke_part, alpha = 0, time = 20, flags = ANIMATION_PARALLEL) diff --git a/code/modules/cargo/universal_scanner.dm b/code/modules/cargo/universal_scanner.dm index fdcbc9ba2bb9b..484f4a7a03201 100644 --- a/code/modules/cargo/universal_scanner.dm +++ b/code/modules/cargo/universal_scanner.dm @@ -165,7 +165,7 @@ context[SCREENTIP_CONTEXT_LMB] = "Scan for export value" return CONTEXTUAL_SCREENTIP_SET /** - * Scans an object, target, and provides it's export value based on selling to the cargo shuttle, to mob/user. + * Scans an object, target, and provides its export value based on selling to the cargo shuttle, to mob/user. */ /obj/item/universal_scanner/proc/export_scan(obj/target, mob/user) var/datum/export_report/report = export_item_and_contents(target, dry_run = TRUE) @@ -240,7 +240,7 @@ to_chat(user, span_warning("Bank account not detected. Handling tip not registered.")) /** - * Scans an object, target, and sets it's custom_price variable to new_custom_price, presenting it to the user. + * Scans an object, target, and sets its custom_price variable to new_custom_price, presenting it to the user. */ /obj/item/universal_scanner/proc/price_tag(obj/target, mob/user) if(isitem(target)) diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 2b60b3bdbb2e4..48ec55cd8e99b 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -45,8 +45,6 @@ var/datum/click_intercept = null ///Time when the click was intercepted var/click_intercept_time = 0 - ///Used for admin AI interaction - var/AI_Interact = FALSE ///Used to cache this client's bans to save on DB queries var/ban_cache = null @@ -168,9 +166,9 @@ var/middragtime = 0 //Middle-mouse-button clicked object control for aimbot exploit detection. Weakref var/datum/weakref/middle_drag_atom_ref - //When we started the currently active drag + ///When we started the currently active drag var/drag_start = 0 - //The params we were passed at the start of the drag, in list form + ///The params we were passed at the start of the drag, in list form var/list/drag_details diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 66fde8c2f1a72..6030aeaf48b6c 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -481,7 +481,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( display_unread_notes(src, time_stamp) qdel(query_last_connected) - var/cached_player_age = set_client_age_from_db(tdata) //we have to cache this because other shit may change it and we need it's current value now down below. + var/cached_player_age = set_client_age_from_db(tdata) //we have to cache this because other shit may change it and we need its current value now down below. if (isnum(cached_player_age) && cached_player_age == -1) //first connection player_age = 0 var/nnpa = CONFIG_GET(number/notify_new_player_age) @@ -837,6 +837,23 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if(dragged && button_clicked != dragged) return + if(mob.turf_click_type != TURF_CLICK_FLAT && isturf(object) && length(modifiers)) + //Split screen-loc up into X+Pixel_X and Y+Pixel_Y + var/list/screen_loc_params = splittext(modifiers[SCREEN_LOC], ",") + //Split Y+Pixel_Y up into list(Y, Pixel_Y) + var/list/screen_loc_Y = splittext(screen_loc_params[2],":") + var/pixel_offset = text2num(screen_loc_Y[2]) + var/turf/below = get_step(object, SOUTH) + if(pixel_offset <= DEPTH_OFFSET && below) + object = below // Swap our target, cube click moment + if(mob.turf_click_type != TURF_CLICK_CUBE_KEEP_PARAMS) + if(modifiers[ICON_Y]) + modifiers[ICON_Y] = WRAP(text2num(modifiers[ICON_Y]) - DEPTH_OFFSET, 0, world.icon_size) + screen_loc_Y[1] -= 1 + screen_loc_Y[2] = WRAP(pixel_offset - DEPTH_OFFSET, 0, world.icon_size) + screen_loc_params[2] = screen_loc_Y.Join(":") + modifiers[SCREEN_LOC] = screen_loc_params.Join(",") + if (object && IS_WEAKREF_OF(object, middle_drag_atom_ref) && button_clicked == LEFT_CLICK) ab = max(0, 5 SECONDS-(world.time-middragtime)*0.1) @@ -1206,6 +1223,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( winset(usr, "mainwindow", "can-resize=true") winset(usr, "mainwindow", "is-maximized=false") winset(usr, "mainwindow", "on-size=attempt_auto_fit_viewport") + attempt_auto_fit_viewport() /client/verb/toggle_status_bar() set name = "Toggle Status Bar" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7cd3965718e60..c078a23e89c24 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -33,7 +33,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/list/key_bindings_by_key = list() var/toggles = TOGGLES_DEFAULT - var/db_flags + var/db_flags = NONE var/chat_toggles = TOGGLES_DEFAULT_CHAT var/ghost_form = "ghost" diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm index 1ba43cf3d8a63..2ed2405f37687 100644 --- a/code/modules/client/preferences/_preference.dm +++ b/code/modules/client/preferences/_preference.dm @@ -111,10 +111,6 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) /// DOES have random body on, will this already be randomized? var/randomize_by_default = TRUE - /// If the selected species has this in its /datum/species/mutant_bodyparts, - /// will show the feature as selectable. - var/relevant_mutant_bodypart = null - /// If the selected species has this in its /datum/species/body_markings, /// will show the feature as selectable. var/relevant_body_markings = null @@ -336,8 +332,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) SHOULD_NOT_SLEEP(TRUE) if ( \ - !isnull(relevant_mutant_bodypart) \ - || !isnull(relevant_inherent_trait) \ + !isnull(relevant_inherent_trait) \ || !isnull(relevant_external_organ) \ || !isnull(relevant_head_flag) \ || !isnull(relevant_body_markings) \ diff --git a/code/modules/client/preferences/clothing.dm b/code/modules/client/preferences/clothing.dm index e0539e7b619c0..074ed4e041ac6 100644 --- a/code/modules/client/preferences/clothing.dm +++ b/code/modules/client/preferences/clothing.dm @@ -34,7 +34,7 @@ ) /datum/preference/choiced/backpack/create_default_value() - return GBACKPACK + return DBACKPACK /datum/preference/choiced/backpack/icon_for(value) switch (value) @@ -80,6 +80,9 @@ PREF_SKIRT, ) +/datum/preference/choiced/jumpsuit/create_default_value() + return PREF_SUIT + /datum/preference/choiced/jumpsuit/icon_for(value) switch (value) if (PREF_SUIT) @@ -90,15 +93,6 @@ /datum/preference/choiced/jumpsuit/apply_to_human(mob/living/carbon/human/target, value) target.jumpsuit_style = value -/datum/preference/choiced/jumpsuit/create_informed_default_value(datum/preferences/preferences) - switch(preferences.read_preference(/datum/preference/choiced/gender)) - if(MALE) - return PREF_SUIT - if(FEMALE) - return PREF_SKIRT - - return ..() - /// Socks preference /datum/preference/choiced/socks savefile_key = "socks" diff --git a/code/modules/client/preferences/frill_transparency.dm b/code/modules/client/preferences/frill_transparency.dm new file mode 100644 index 0000000000000..d0bc47de367f6 --- /dev/null +++ b/code/modules/client/preferences/frill_transparency.dm @@ -0,0 +1,12 @@ +/datum/preference/toggle/frill_transparency + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "frill_transparent_pref" + savefile_identifier = PREFERENCE_PLAYER + default_value = FALSE + +/datum/preference/toggle/frill_transparency/apply_to_client(client/client, value) + var/datum/hud/working_hud = client?.mob?.hud_used + if(!working_hud) + return + for(var/atom/movable/screen/plane_master/frill/frill as anything in working_hud.get_true_plane_masters(RENDER_PLANE_FRILL)) + frill.show_to(client.mob) diff --git a/code/modules/client/preferences/paraplegic.dm b/code/modules/client/preferences/paraplegic.dm new file mode 100644 index 0000000000000..1ffa704c77d0b --- /dev/null +++ b/code/modules/client/preferences/paraplegic.dm @@ -0,0 +1,20 @@ +/datum/preference/choiced/paraplegic + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "paraplegic" + savefile_identifier = PREFERENCE_CHARACTER + +/datum/preference/choiced/paraplegic/init_possible_values() + return GLOB.paraplegic_choice + +/datum/preference/choiced/paraplegic/create_default_value() + return "Default" + +/datum/preference/choiced/paraplegic/is_accessible(datum/preferences/preferences) + . = ..() + if (!.) + return FALSE + + return "Paraplegic" in preferences.all_quirks + +/datum/preference/choiced/paraplegic/apply_to_human(mob/living/carbon/human/target, value) + return diff --git a/code/modules/client/preferences/sounds.dm b/code/modules/client/preferences/sounds.dm index f1778405665ad..4a0298132c268 100644 --- a/code/modules/client/preferences/sounds.dm +++ b/code/modules/client/preferences/sounds.dm @@ -116,3 +116,9 @@ category = PREFERENCE_CATEGORY_GAME_PREFERENCES savefile_key = "sound_elevator" savefile_identifier = PREFERENCE_PLAYER + +/// Controls hearing radio noise +/datum/preference/toggle/radio_noise + category = PREFERENCE_CATEGORY_GAME_PREFERENCES + savefile_key = "sound_radio_noise" + savefile_identifier = PREFERENCE_PLAYER diff --git a/code/modules/client/preferences/species_features/felinid.dm b/code/modules/client/preferences/species_features/felinid.dm index 4c874ea7df750..be90d806323d3 100644 --- a/code/modules/client/preferences/species_features/felinid.dm +++ b/code/modules/client/preferences/species_features/felinid.dm @@ -20,7 +20,7 @@ savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES can_randomize = FALSE - relevant_mutant_bodypart = "ears" + relevant_external_organ = /obj/item/organ/internal/ears/cat /datum/preference/choiced/ears/init_possible_values() return assoc_to_keys_features(SSaccessories.ears_list) diff --git a/code/modules/client/preferences/species_features/lizard.dm b/code/modules/client/preferences/species_features/lizard.dm index 66c107153305e..11fefc17b8b9e 100644 --- a/code/modules/client/preferences/species_features/lizard.dm +++ b/code/modules/client/preferences/species_features/lizard.dm @@ -93,13 +93,51 @@ savefile_key = "feature_lizard_legs" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - relevant_mutant_bodypart = "legs" /datum/preference/choiced/lizard_legs/init_possible_values() - return assoc_to_keys_features(SSaccessories.legs_list) + return list(NORMAL_LEGS, DIGITIGRADE_LEGS) /datum/preference/choiced/lizard_legs/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["legs"] = value + // Hack to update the dummy in the preference menu + // (Because digi legs are ONLY handled on species change) + if(!isdummy(target) || target.dna.species.digitigrade_customization == DIGITIGRADE_NEVER) + return + + var/list/correct_legs = target.dna.species.bodypart_overrides.Copy() & list(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) + + if(value == DIGITIGRADE_LEGS) + correct_legs[BODY_ZONE_R_LEG] = /obj/item/bodypart/leg/right/digitigrade + correct_legs[BODY_ZONE_L_LEG] = /obj/item/bodypart/leg/left/digitigrade + + for(var/obj/item/bodypart/old_part as anything in target.bodyparts) + if(old_part.change_exempt_flags & BP_BLOCK_CHANGE_SPECIES) + continue + + var/path = correct_legs[old_part.body_zone] + if(!path) + continue + var/obj/item/bodypart/new_part = new path() + new_part.replace_limb(target, TRUE) + new_part.update_limb(is_creating = TRUE) + qdel(old_part) + +/datum/preference/choiced/lizard_legs/is_accessible(datum/preferences/preferences) + if(!..()) + return FALSE + var/datum/species/species_type = preferences.read_preference(/datum/preference/choiced/species) + return initial(species_type.digitigrade_customization) == DIGITIGRADE_OPTIONAL + + +/datum/preference/choiced/lizard_legs/is_accessible(datum/preferences/preferences) + . = ..() + + if(!.) + return + + var/datum/species/species_type = preferences.read_preference(/datum/preference/choiced/species) + + return initial(species_type.digitigrade_customization) & DIGITIGRADE_OPTIONAL /datum/preference/choiced/lizard_snout savefile_key = "feature_lizard_snout" @@ -121,7 +159,7 @@ savefile_key = "feature_lizard_spines" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - relevant_mutant_bodypart = "spines" + relevant_external_organ = /obj/item/organ/external/spines /datum/preference/choiced/lizard_spines/init_possible_values() return assoc_to_keys_features(SSaccessories.spines_list) diff --git a/code/modules/client/preferences/species_features/mushperson.dm b/code/modules/client/preferences/species_features/mushperson.dm index 45bd9c4b72620..4b624e9c02b4f 100644 --- a/code/modules/client/preferences/species_features/mushperson.dm +++ b/code/modules/client/preferences/species_features/mushperson.dm @@ -2,7 +2,7 @@ savefile_key = "feature_mushperson_cap" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - relevant_mutant_bodypart = "cap" + relevant_external_organ = /obj/item/organ/external/mushroom_cap /datum/preference/choiced/mushroom_cap/init_possible_values() return assoc_to_keys_features(SSaccessories.caps_list) diff --git a/code/modules/clothing/chameleon/generic_chameleon_clothing.dm b/code/modules/clothing/chameleon/generic_chameleon_clothing.dm index 47b6f4db185a5..69800031f73a3 100644 --- a/code/modules/clothing/chameleon/generic_chameleon_clothing.dm +++ b/code/modules/clothing/chameleon/generic_chameleon_clothing.dm @@ -107,6 +107,7 @@ do { \ greyscale_colors = null resistance_flags = NONE + body_parts_covered = HANDS|ARMS armor_type = /datum/armor/gloves_chameleon actions_types = list(/datum/action/item_action/chameleon/change/gloves) clothing_traits = list(TRAIT_FAST_CUFFING) @@ -218,6 +219,7 @@ do { \ desc = "A pair of black shoes." icon_state = "sneakers" inhand_icon_state = "sneakers_back" + body_parts_covered = FEET|LEGS greyscale_colors = "#545454#ffffff" greyscale_config = /datum/greyscale_config/sneakers greyscale_config_worn = /datum/greyscale_config/sneakers/worn diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index e2632dd394e0c..4ed35997680c0 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -611,7 +611,7 @@ glass_colour_type = FALSE vision_flags = SEE_TURFS clothing_traits = list(TRAIT_REAGENT_SCANNER, TRAIT_MADNESS_IMMUNE) - var/list/hudlist = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED, DATA_HUD_SECURITY_ADVANCED) + var/list/hudlist = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC, DATA_HUD_SECURITY_ADVANCED, DATA_HUD_BOT_PATH) var/xray = FALSE /obj/item/clothing/glasses/debug/equipped(mob/user, slot) diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 4f5668f7bcce7..dc35ab1dbf4c0 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -2,25 +2,6 @@ name = "HUD" desc = "A heads-up display that provides important info in (almost) real time." flags_1 = null //doesn't protect eyes because it's a monocle, duh - var/hud_type = null - - // NOTE: Just because you have a HUD display doesn't mean you should be able to interact with stuff on examine, that's where the associated trait (TRAIT_MEDICAL_HUD, TRAIT_SECURITY_HUD, etc) is necessary. - -/obj/item/clothing/glasses/hud/equipped(mob/living/carbon/human/user, slot) - ..() - if(!(slot & ITEM_SLOT_EYES)) - return - if(hud_type) - var/datum/atom_hud/our_hud = GLOB.huds[hud_type] - our_hud.show_to(user) - -/obj/item/clothing/glasses/hud/dropped(mob/living/carbon/human/user) - ..() - if(!istype(user) || user.glasses != src) - return - if(hud_type) - var/datum/atom_hud/our_hud = GLOB.huds[hud_type] - our_hud.hide_from(user) /obj/item/clothing/glasses/hud/emp_act(severity) . = ..() @@ -55,10 +36,15 @@ name = "health scanner HUD" desc = "A heads-up display that scans the humanoids in view and provides accurate data about their health status." icon_state = "healthhud" - hud_type = DATA_HUD_MEDICAL_ADVANCED clothing_traits = list(TRAIT_MEDICAL_HUD) glass_colour_type = /datum/client_colour/glass_colour/lightblue +/obj/item/clothing/glasses/hud/medsechud + name = "health scanner security HUD" + desc = "A heads-up display that scans the humanoids in view and provides accurate data about their health status, ID status and security records." + icon_state = "medsechud" + clothing_traits = list(TRAIT_MEDICAL_HUD, TRAIT_SECURITY_HUD) + /obj/item/clothing/glasses/hud/health/night name = "night vision health scanner HUD" desc = "An advanced medical heads-up display that allows doctors to find patients in complete darkness." @@ -110,7 +96,6 @@ name = "diagnostic HUD" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits." icon_state = "diagnostichud" - hud_type = DATA_HUD_DIAGNOSTIC_BASIC clothing_traits = list(TRAIT_DIAGNOSTIC_HUD) glass_colour_type = /datum/client_colour/glass_colour/lightorange @@ -153,7 +138,6 @@ name = "security HUD" desc = "A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records." icon_state = "securityhud" - hud_type = DATA_HUD_SECURITY_ADVANCED clothing_traits = list(TRAIT_SECURITY_HUD) glass_colour_type = /datum/client_colour/glass_colour/red @@ -243,20 +227,18 @@ if (wearer.glasses != src) return - if (hud_type) - var/datum/atom_hud/our_hud = GLOB.huds[hud_type] - our_hud.hide_from(user) + for(var/trait in clothing_traits) + REMOVE_CLOTHING_TRAIT(user, trait) - if (hud_type == DATA_HUD_MEDICAL_ADVANCED) - hud_type = null - else if (hud_type == DATA_HUD_SECURITY_ADVANCED) - hud_type = DATA_HUD_MEDICAL_ADVANCED + if (TRAIT_MEDICAL_HUD in clothing_traits) + clothing_traits = null + else if (TRAIT_SECURITY_HUD in clothing_traits) + clothing_traits = list(TRAIT_MEDICAL_HUD) else - hud_type = DATA_HUD_SECURITY_ADVANCED + clothing_traits = list(TRAIT_SECURITY_HUD) - if (hud_type) - var/datum/atom_hud/our_hud = GLOB.huds[hud_type] - our_hud.show_to(user) + for(var/trait in clothing_traits) + ADD_CLOTHING_TRAIT(user, trait) /datum/action/item_action/switch_hud name = "Switch HUD" @@ -265,19 +247,22 @@ name = "thermal HUD scanner" desc = "Thermal imaging HUD in the shape of glasses." icon_state = "thermal" - hud_type = DATA_HUD_SECURITY_ADVANCED vision_flags = SEE_MOBS color_cutoffs = list(25, 8, 5) glass_colour_type = /datum/client_colour/glass_colour/red + clothing_traits = list(TRAIT_SECURITY_HUD) /obj/item/clothing/glasses/hud/toggle/thermal/attack_self(mob/user) ..() + var/hud_type + if (!isnull(clothing_traits) && clothing_traits.len) + hud_type = clothing_traits[1] switch (hud_type) - if (DATA_HUD_MEDICAL_ADVANCED) + if (TRAIT_MEDICAL_HUD) icon_state = "meson" color_cutoffs = list(5, 15, 5) change_glass_color(/datum/client_colour/glass_colour/green) - if (DATA_HUD_SECURITY_ADVANCED) + if (TRAIT_SECURITY_HUD) icon_state = "thermal" color_cutoffs = list(25, 8, 5) change_glass_color(/datum/client_colour/glass_colour/red) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index bb0e12809955e..82b1eb8f37954 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -9,7 +9,6 @@ max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE cut_type = /obj/item/clothing/gloves/fingerless - clothing_traits = list(TRAIT_FAST_CUFFING) /obj/item/clothing/gloves/color/black/Initialize(mapload) . = ..() @@ -20,6 +19,15 @@ slapcraft_recipes = slapcraft_recipe_list,\ ) +/obj/item/clothing/gloves/color/black/security + name = "security gloves" + desc = "These security gloves come with microchips that help the user quickly restrain suspects." + icon_state = "sec" + clothing_traits = list(TRAIT_FAST_CUFFING) + +/obj/item/clothing/gloves/color/black/security/blu + icon_state = "sec_blu" + /obj/item/clothing/gloves/fingerless name = "fingerless gloves" desc = "Plain black gloves without fingertips for the hard-working." diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 4adb374d92bd7..bbe7f5dba18b4 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -59,9 +59,8 @@ /obj/item/clothing/gloves/tackler/combat name = "gorilla gloves" desc = "Premium quality combative gloves, heavily reinforced to give the user an edge in close combat tackles, though they are more taxing to use than normal gripper gloves. Fireproof to boot!" - icon_state = "black" - inhand_icon_state = "greyscale_gloves" - greyscale_colors = "#2f2e31" + icon_state = "gorilla" + inhand_icon_state = null tackle_stam_cost = 30 base_knockdown = 1.25 SECONDS @@ -77,6 +76,7 @@ /obj/item/clothing/gloves/tackler/combat/insulated name = "guerrilla gloves" desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks." + icon_state = "guerrilla" siemens_coefficient = 0 armor_type = /datum/armor/combat_insulated @@ -101,7 +101,7 @@ desc = "Ratty looking fingerless gloves wrapped with sticky tape. Beware anyone wearing these, for they clearly have no shame and nothing to lose." icon_state = "fingerless" inhand_icon_state = null - + clothing_traits = list(TRAIT_FINGERPRINT_PASSTHROUGH) tackle_stam_cost = 30 base_knockdown = 1.75 SECONDS min_distance = 2 diff --git a/code/modules/clothing/head/costume.dm b/code/modules/clothing/head/costume.dm index 2768656d5e6f9..5442210aecd73 100644 --- a/code/modules/clothing/head/costume.dm +++ b/code/modules/clothing/head/costume.dm @@ -87,6 +87,10 @@ clothing_flags = SNUG_FIT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT +/obj/item/clothing/head/costume/lobsterhat/Initialize(mapload) + . = ..() + AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) + /obj/item/clothing/head/costume/drfreezehat name = "doctor freeze's wig" desc = "A cool wig for cool people." @@ -199,3 +203,9 @@ It's only a replica, and probably wouldn't protect you from anything." icon_state = "allies_helmet" inhand_icon_state = null + +/obj/item/clothing/head/costume/hairpin + name = "fancy hairpin" + desc = "A delicate hairpin normally paired with traditional clothing" + icon_state = "hairpin_fancy" + inhand_icon_state = "hairpin_fancy" diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index 0fc2de1375a48..a8247a55603e2 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -53,11 +53,12 @@ /obj/item/clothing/head/bio_hood/plague name = "plague doctor's hat" - desc = "These were once used by plague doctors. Will protect you from exposure to the Pestilence." + desc = "These were once used by plague doctors. This hat will only slightly protect you from exposure to the Pestilence." icon_state = "plaguedoctor" - clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | SNUG_FIT | STACKABLE_HELMET_EXEMPT armor_type = /datum/armor/bio_hood_plague flags_inv = NONE + clothing_flags = SNUG_FIT + flags_cover = NONE /datum/armor/bio_hood_plague bio = 100 @@ -209,6 +210,14 @@ name = "rice hat" desc = "Welcome to the rice fields, motherfucker." icon_state = "rice_hat" + base_icon_state = "rice_hat" + var/reversed = FALSE + +/obj/item/clothing/head/costume/rice_hat/click_alt(mob/user) + reversed = !reversed + worn_icon_state = "[base_icon_state][reversed ? "_kim" : ""]" + to_chat(user, span_notice("You [reversed ? "lower" : "raise"] the hat.")) + update_appearance() /obj/item/clothing/head/costume/lizard name = "lizardskin cloche hat" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 4d41d9daa5c76..76c230ca504d2 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -137,7 +137,7 @@ /obj/item/clothing/head/helmet/marine/pmc icon_state = "marine" - desc = "A tactical black helmet, designed to protect one's head from various injuries sustained in operations. Its stellar survivability making up is for it's lack of space worthiness" + desc = "A tactical black helmet, designed to protect one's head from various injuries sustained in operations. Its stellar survivability making up is for its lack of space worthiness" min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT clothing_flags = null @@ -568,3 +568,106 @@ fire = 50 acid = 50 wound = 30 + +/obj/item/clothing/head/helmet/durability/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) + take_damage(1, BRUTE, 0, 0) + +/obj/item/clothing/head/helmet/durability/watermelon + name = "Watermelon Helmet" + desc = "A helmet cut out from a watermelon. Might take a few hits, but don't expect it whitstand much." + icon_state = "watermelon" + inhand_icon_state = "watermelon" + flags_inv = HIDEEARS + dog_fashion = /datum/dog_fashion/head/watermelon + armor_type = /datum/armor/helmet_watermelon + max_integrity = 15 + +/obj/item/clothing/head/helmet/durability/watermelon/fire_resist + resistance_flags = FIRE_PROOF + armor_type = /datum/armor/helmet_watermelon_fr + +/datum/armor/helmet_watermelon + melee = 15 + bullet = 10 + energy = 10 + bomb = 10 + fire = 0 + acid = 25 + wound = 5 + +/datum/armor/helmet_watermelon_fr + melee = 15 + bullet = 10 + energy = 10 + bomb = 10 + fire = 15 + acid = 30 + wound = 5 + +/obj/item/clothing/head/helmet/durability/holymelon + name = "Holymelon Helmet" + desc = "A helmet from a hollowed out holymelon. Might take a few hits, but don't expect it whitstand much." + icon_state = "holymelon" + inhand_icon_state = "holymelon" + flags_inv = HIDEEARS + dog_fashion = /datum/dog_fashion/head/holymelon + armor_type = /datum/armor/helmet_watermelon + max_integrity = 15 + var/decayed = FALSE + +/obj/item/clothing/head/helmet/durability/holymelon/fire_resist + resistance_flags = FIRE_PROOF + armor_type = /datum/armor/helmet_watermelon_fr + +/obj/item/clothing/head/helmet/durability/holymelon/Initialize(mapload) + . = ..() + if(decayed) + decay() + return + + AddComponent( + /datum/component/anti_magic, \ + antimagic_flags = MAGIC_RESISTANCE_HOLY, \ + inventory_flags = ITEM_SLOT_OCLOTHING, \ + charges = 1, \ + drain_antimagic = CALLBACK(src, PROC_REF(drain_antimagic)), \ + expiration = CALLBACK(src, PROC_REF(decay)) \ + ) + +/obj/item/clothing/head/helmet/durability/holymelon/proc/drain_antimagic(mob/user) + to_chat(user, span_warning("[src] looses a bit of its shimmer and glossiness...")) + +/obj/item/clothing/head/helmet/durability/holymelon/proc/decay() + take_damage(8, BRUTE, 0, 0) + +/obj/item/clothing/head/helmet/durability/barrelmelon + name = "Barrelmelon Helmet" + desc = "A helmet from hollowed out barrelmelon. As sturdy as if made from actual wood, though its rigid structure makes it break up quicker." + icon_state = "barrelmelon" + inhand_icon_state = "barrelmelon" + flags_inv = HIDEEARS + dog_fashion = /datum/dog_fashion/head/barrelmelon + armor_type = /datum/armor/helmet_barrelmelon + max_integrity = 10 + +/obj/item/clothing/head/helmet/durability/barrelmelon/fire_resist + resistance_flags = FIRE_PROOF + armor_type = /datum/armor/helmet_barrelmelon_fr + +/datum/armor/helmet_barrelmelon + melee = 25 + bullet = 20 + energy = 15 + bomb = 10 + fire = 0 + acid = 35 + wound = 10 + +/datum/armor/helmet_barrelmelon_fr + melee = 25 + bullet = 20 + energy = 15 + bomb = 10 + fire = 20 + acid = 40 + wound = 10 diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 3003e9a76ee15..4744296cdb8ee 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -169,9 +169,11 @@ clothing_flags = SNUG_FIT resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE dog_fashion = null + clothing_traits = list(TRAIT_SCARY_FISHERMAN) //Fish, carps, lobstrosities and frogs fear me. /obj/item/clothing/head/soft/fishing_hat/Initialize(mapload) . = ..() + AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) //you asked for this. AddElement(/datum/element/skill_reward, /datum/skill/fishing) #define PROPHAT_MOOD "prophat" diff --git a/code/modules/clothing/head/tophat.dm b/code/modules/clothing/head/tophat.dm index 2affc4c63da18..612f02ce692e9 100644 --- a/code/modules/clothing/head/tophat.dm +++ b/code/modules/clothing/head/tophat.dm @@ -38,7 +38,7 @@ /obj/item/clothing/head/hats/tophat/balloon name = "balloon top-hat" - desc = "It's an colourful looking top-hat to match yout colourful personality." + desc = "It's a colourful looking top-hat to match your colourful personality." icon_state = "balloon_tophat" inhand_icon_state = "balloon_that" throwforce = 0 diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 36fe591a63edb..9d859fec700b6 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -24,10 +24,10 @@ 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 + ///Does the mask have an FOV? + var/has_fov = TRUE voice_filter = "lowpass=f=750,volume=2" /datum/armor/mask_gas @@ -250,12 +250,12 @@ GLOBAL_LIST_INIT(clown_mask_options, list( //Plague Dr suit can be found in clothing/suits/bio.dm /obj/item/clothing/mask/gas/plaguedoctor name = "plague doctor mask" - desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply." + desc = "A modernised version of the classic design, this mask will not only protect you from exposure to the Pestilence but it can also be connected to an air supply." icon_state = "plaguedoctor" flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT|HIDEHAIR inhand_icon_state = "gas_mask" has_fov = FALSE - flags_cover = MASKCOVERSEYES + clothing_flags = BLOCK_GAS_SMOKE_EFFECT|MASKINTERNALS /obj/item/clothing/mask/gas/syndicate name = "syndicate mask" diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm index 2aa61b0046070..263f831cff25d 100644 --- a/code/modules/clothing/outfits/ert.dm +++ b/code/modules/clothing/outfits/ert.dm @@ -104,6 +104,8 @@ l_pocket = /obj/item/healthanalyzer/advanced additional_radio = /obj/item/encryptionkey/heads/cmo + skillchips = list(/obj/item/skillchip/entrails_reader) + /datum/outfit/centcom/ert/medic/alert name = "ERT Medic - High Alert" @@ -133,6 +135,8 @@ l_pocket = /obj/item/rcd_ammo/large additional_radio = /obj/item/encryptionkey/heads/ce + skillchips = list(/obj/item/skillchip/job/engineer) + /datum/outfit/centcom/ert/engineer/alert name = "ERT Engineer - High Alert" @@ -502,6 +506,8 @@ head = /obj/item/clothing/head/helmet/marine/security additional_radio = /obj/item/encryptionkey/heads/hos + skillchips = null + /datum/outfit/centcom/ert/marine/medic name = "Marine Medic" @@ -520,6 +526,8 @@ glasses = /obj/item/clothing/glasses/hud/health/sunglasses additional_radio = /obj/item/encryptionkey/heads/cmo + skillchips = list(/obj/item/skillchip/entrails_reader) + /datum/outfit/centcom/ert/marine/engineer name = "Marine Engineer" @@ -533,6 +541,8 @@ glasses = /obj/item/clothing/glasses/hud/diagnostic/sunglasses additional_radio = /obj/item/encryptionkey/heads/ce + skillchips = list(/obj/item/skillchip/job/engineer) + /datum/outfit/centcom/militia name = "Militia Man" diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 4470a398168c5..61298e970cbf9 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -115,9 +115,10 @@ * * * * state: SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED, depending on what you want them to become * * user: used to check to see if we're the ones unknotting our own laces + * * force_lacing: boolean. if TRUE, ignores can_be_tied */ -/obj/item/clothing/shoes/proc/adjust_laces(state, mob/user) - if(!can_be_tied) +/obj/item/clothing/shoes/proc/adjust_laces(state, mob/user, force_lacing = FALSE) + if(!can_be_tied && !force_lacing) return var/mob/living/carbon/human/our_guy diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index dbfa4f8b3c40d..03f174aa43c31 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -3,6 +3,7 @@ desc = "High speed, low drag combat boots." icon_state = "jackboots" inhand_icon_state = "jackboots" + body_parts_covered = FEET|LEGS armor_type = /datum/armor/shoes_combat strip_delay = 40 resistance_flags = NONE @@ -49,6 +50,7 @@ resistance_flags = NONE armor_type = /datum/armor/shoes_jackboots can_be_tied = FALSE + body_parts_covered = FEET|LEGS /datum/armor/shoes_jackboots bio = 90 @@ -108,6 +110,7 @@ strip_delay = 4 SECONDS equip_delay_other = 4 SECONDS clothing_flags = THICKMATERIAL + body_parts_covered = FEET|LEGS resistance_flags = NONE /datum/armor/ice_boots_eva @@ -177,6 +180,7 @@ strip_delay = 40 resistance_flags = NONE lace_time = 12 SECONDS + body_parts_covered = FEET|LEGS /datum/armor/shoes_pirate melee = 25 diff --git a/code/modules/clothing/shoes/cowboy.dm b/code/modules/clothing/shoes/cowboy.dm index 4295b91cad2f5..ab8ef30c99b60 100644 --- a/code/modules/clothing/shoes/cowboy.dm +++ b/code/modules/clothing/shoes/cowboy.dm @@ -109,3 +109,4 @@ desc = "And they sing, oh, ain't you glad you're single? And that song ain't so very far from wrong." armor_type = /datum/armor/shoes_combat has_spurs = TRUE + body_parts_covered = FEET|LEGS diff --git a/code/modules/clothing/shoes/cult.dm b/code/modules/clothing/shoes/cult.dm index 80d03d3a09e25..f1a856b42688b 100644 --- a/code/modules/clothing/shoes/cult.dm +++ b/code/modules/clothing/shoes/cult.dm @@ -1,5 +1,5 @@ /obj/item/clothing/shoes/cult - name = "\improper Nar'Sien invoker boots" + name = "\improper Nar'Sian boots" desc = "A pair of boots worn by the followers of Nar'Sie." icon_state = "cult" inhand_icon_state = null @@ -10,7 +10,7 @@ lace_time = 10 SECONDS /obj/item/clothing/shoes/cult/alt - name = "cultist boots" + name = "\improper Nar'Sian invoker boots" icon_state = "cultalt" /obj/item/clothing/shoes/cult/alt/ghost diff --git a/code/modules/clothing/shoes/sandals.dm b/code/modules/clothing/shoes/sandals.dm index 9c948e2fac88e..92c90a90348ce 100644 --- a/code/modules/clothing/shoes/sandals.dm +++ b/code/modules/clothing/shoes/sandals.dm @@ -11,6 +11,12 @@ can_be_tied = FALSE species_exception = list(/datum/species/golem) +/obj/item/clothing/shoes/sandal/alt + desc = "A pair of shiny black wooden sandals." + name = "black sandals" + icon_state = "blacksandals" + inhand_icon_state = "blacksandals" + /datum/armor/shoes_sandal bio = 10 diff --git a/code/modules/clothing/shoes/sneakers.dm b/code/modules/clothing/shoes/sneakers.dm index 953d5bd9a1cb8..0ae1e6e9caad9 100644 --- a/code/modules/clothing/shoes/sneakers.dm +++ b/code/modules/clothing/shoes/sneakers.dm @@ -12,6 +12,11 @@ flags_1 = IS_PLAYER_COLORABLE_1 interaction_flags_mouse_drop = NEED_HANDS +/obj/item/clothing/shoes/sneakers/random/Initialize(mapload) + . = ..() + greyscale_colors = "#" + random_color() + "#" + random_color() + update_greyscale() + /obj/item/clothing/shoes/sneakers/black name = "black shoes" desc = "A pair of black shoes." diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 703000a1f9133..caf84d9562dcb 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -24,6 +24,7 @@ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF resistance_flags = NONE dog_fashion = null + slowdown = 0.5 /datum/armor/helmet_space bio = 100 @@ -47,7 +48,7 @@ /obj/item/tank/internals, /obj/item/tank/jetpack/oxygen/captain, ) - slowdown = 1 + slowdown = 0.5 armor_type = /datum/armor/suit_space flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS diff --git a/code/modules/clothing/spacesuits/pirate.dm b/code/modules/clothing/spacesuits/pirate.dm index ca041d68d036f..73feec525c548 100644 --- a/code/modules/clothing/spacesuits/pirate.dm +++ b/code/modules/clothing/spacesuits/pirate.dm @@ -3,6 +3,7 @@ desc = "A modified helmet to allow space pirates to intimidate their customers whilst staying safe from the void. Comes with some additional protection." icon_state = "spacepirate" inhand_icon_state = "space_pirate_helmet" + slowdown = 0 armor_type = /datum/armor/space_pirate strip_delay = 40 equip_delay_other = 20 diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 63a0dd515c3f6..380cd0cf3fb53 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -118,33 +118,45 @@ . = ..() if(!up) . += visor_icon - -/obj/item/clothing/head/helmet/space/plasmaman/attackby(obj/item/hitting_item, mob/living/user) - . = ..() - if(istype(hitting_item, /obj/item/toy/crayon)) - if(smile == FALSE) - var/obj/item/toy/crayon/CR = hitting_item - to_chat(user, span_notice("You start drawing a smiley face on the helmet's visor..")) - if(do_after(user, 2.5 SECONDS, target = src)) - smile = TRUE - smile_color = CR.paint_color - to_chat(user, "You draw a smiley on the helmet visor.") - update_appearance() - else - to_chat(user, span_warning("Seems like someone already drew something on this helmet's visor!")) - return - if(istype(hitting_item, /obj/item/clothing/head)) - var/obj/item/clothing/hitting_clothing = hitting_item - if(hitting_clothing.clothing_flags & STACKABLE_HELMET_EXEMPT) - to_chat(user, span_notice("You cannot place [hitting_clothing.name] on helmet!")) - return - if(attached_hat) - to_chat(user, span_notice("There's already something placed on helmet!")) - return - attached_hat = hitting_clothing - to_chat(user, span_notice("You placed [hitting_clothing.name] on helmet!")) - hitting_clothing.forceMove(src) + if(smile) + var/mutable_appearance/smiley = mutable_appearance(icon, smile_state) + smiley.color = smile_color + . += smiley + +/obj/item/clothing/head/helmet/space/plasmaman/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/toy/crayon)) + if(smile) + to_chat(user, span_warning("Seems like someone already drew something on [src]'s visor!")) + return ITEM_INTERACT_BLOCKING + + var/obj/item/toy/crayon/crayon = tool + to_chat(user, span_notice("You start drawing a smiley face on [src]'s visor...")) + if(!do_after(user, 2.5 SECONDS, target = src)) + return ITEM_INTERACT_BLOCKING + + smile = TRUE + smile_color = crayon.paint_color + to_chat(user, "You draw a smiley on [src] visor.") update_appearance() + return ITEM_INTERACT_SUCCESS + + if(!istype(tool, /obj/item/clothing/head)) + return NONE + + var/obj/item/clothing/hitting_clothing = tool + if(hitting_clothing.clothing_flags & STACKABLE_HELMET_EXEMPT) + to_chat(user, span_notice("You cannot place [hitting_clothing.name] on [src]!")) + return ITEM_INTERACT_BLOCKING + + if(attached_hat) + to_chat(user, span_notice("There's already something placed on [src]!")) + return ITEM_INTERACT_BLOCKING + + attached_hat = hitting_clothing + to_chat(user, span_notice("You placed [hitting_clothing.name] on [src]!")) + hitting_clothing.forceMove(src) + update_appearance() + return ITEM_INTERACT_SUCCESS ///By the by, helmets have the update_icon_updates_onmob element, so we don't have to call mob.update_worn_head() /obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(mutable_appearance/standing, isinhands) diff --git a/code/modules/clothing/spacesuits/santa.dm b/code/modules/clothing/spacesuits/santa.dm index 138f52e046e47..f6bd1657606c5 100644 --- a/code/modules/clothing/spacesuits/santa.dm +++ b/code/modules/clothing/spacesuits/santa.dm @@ -7,6 +7,7 @@ inhand_icon_state = "santahat" flags_cover = HEADCOVERSEYES dog_fashion = /datum/dog_fashion/head/santa + slowdown = 0 /obj/item/clothing/head/helmet/space/santahat/beardless icon = 'icons/obj/clothing/head/costume.dmi' @@ -14,6 +15,7 @@ icon_state = "santahatnorm" inhand_icon_state = "that" flags_inv = NONE + slowdown = 0 /obj/item/clothing/suit/space/santa name = "Santa's suit" diff --git a/code/modules/clothing/spacesuits/softsuit.dm b/code/modules/clothing/spacesuits/softsuit.dm index 510c9e7056f2f..0b644286063ec 100644 --- a/code/modules/clothing/spacesuits/softsuit.dm +++ b/code/modules/clothing/spacesuits/softsuit.dm @@ -16,13 +16,14 @@ name = "Engineering Void Helmet" desc = "A CentCom engineering dark red space suit helmet. While old and dusty, it still gets the job done." icon_state = "void" + slowdown = 2 /obj/item/clothing/suit/space/nasavoid/old name = "Engineering Voidsuit" icon_state = "void" inhand_icon_state = "void_suit" desc = "A CentCom engineering dark red space suit. Age has degraded the suit making it difficult to move around in." - slowdown = 4 + slowdown = 2 allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/multitool) //EVA suit @@ -72,6 +73,7 @@ inhand_icon_state = "syndicate-helm-orange" //resprite? armor_type = /datum/armor/space_fragile strip_delay = 65 + slowdown = 1 /obj/item/clothing/suit/space/fragile name = "emergency space suit" @@ -79,7 +81,7 @@ var/torn = FALSE icon_state = "syndicate-orange" inhand_icon_state = "syndicate-orange" - slowdown = 2 + slowdown = 1 armor_type = /datum/armor/space_fragile strip_delay = 65 diff --git a/code/modules/clothing/spacesuits/specialops.dm b/code/modules/clothing/spacesuits/specialops.dm index cf8fc2a475cc6..caaa32cc24be2 100644 --- a/code/modules/clothing/spacesuits/specialops.dm +++ b/code/modules/clothing/spacesuits/specialops.dm @@ -7,6 +7,7 @@ inhand_icon_state = null greyscale_colors = "#397F3F#FFCE5B" clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT + slowdown = 0 flags_inv = 0 armor_type = /datum/armor/space_beret strip_delay = 130 diff --git a/code/modules/clothing/suits/ablativecoat.dm b/code/modules/clothing/suits/ablativecoat.dm index 8bc37aaba22b7..32233f23400cc 100644 --- a/code/modules/clothing/suits/ablativecoat.dm +++ b/code/modules/clothing/suits/ablativecoat.dm @@ -50,15 +50,11 @@ /obj/item/clothing/suit/hooded/ablative/on_hood_up(obj/item/clothing/head/hooded/hood) . = ..() var/mob/living/carbon/user = loc - var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] ADD_TRAIT(user, TRAIT_SECURITY_HUD, HELMET_TRAIT) - hud.show_to(user) balloon_alert(user, "hud enabled") /obj/item/clothing/suit/hooded/ablative/on_hood_down(obj/item/clothing/head/hooded/hood) var/mob/living/carbon/user = loc - var/datum/atom_hud/sec_hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] REMOVE_TRAIT(user, TRAIT_SECURITY_HUD, HELMET_TRAIT) - sec_hud.hide_from(user) balloon_alert(user, "hud disabled") return ..() diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 2502850bd700d..3c7fa506b208d 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -107,7 +107,7 @@ body_parts_covered = CHEST|GROIN /obj/item/clothing/suit/armor/vest/marine/pmc - desc = "A set of the finest mass produced, stamped plasteel armor plates, for an all-around door-kicking and ass-smashing. Its stellar survivability making up is for it's lack of space worthiness" + desc = "A set of the finest mass produced, stamped plasteel armor plates, for an all-around door-kicking and ass-smashing. Its stellar survivability making up is for its lack of space worthiness" min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT clothing_flags = THICKMATERIAL @@ -652,7 +652,7 @@ /obj/item/clothing/suit/armor/militia name = "station defender's coat" - desc = "A well worn uniform used by militia across the frontier, it's thick padding useful for cushioning blows." + desc = "A well worn uniform used by militia across the frontier, its thick padding useful for cushioning blows." icon_state = "militia" inhand_icon_state = "b_suit" body_parts_covered = CHEST|GROIN|ARMS @@ -714,3 +714,113 @@ fire = 50 acid = 50 wound = 30 + +/obj/item/clothing/suit/armor/durability/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) + take_damage(1, BRUTE, 0, 0) + +/obj/item/clothing/suit/armor/durability/watermelon + name = "watermelon" + desc = "An armour, made from watermelons. Propably won't take too many hits, but at least it looks serious... As serious as worn watermelon can be." + icon_state = "watermelon" + inhand_icon_state = null + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_type = /datum/armor/watermelon + strip_delay = 60 + equip_delay_other = 40 + clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED) + max_integrity = 15 + +/obj/item/clothing/suit/armor/durability/watermelon/fire_resist + resistance_flags = FIRE_PROOF + armor_type = /datum/armor/watermelon_fr + +/datum/armor/watermelon + melee = 15 + bullet = 10 + energy = 10 + bomb = 10 + fire = 0 + acid = 25 + wound = 5 + +/datum/armor/watermelon_fr + melee = 15 + bullet = 10 + energy = 10 + bomb = 10 + fire = 15 + acid = 30 + wound = 5 + +/obj/item/clothing/suit/armor/durability/holymelon + name = "holymelon" + desc = "An armour, made from holymelons. Inspires you to go on some sort of a crusade... Perhaps spreading spinach to children?" + icon_state = "holymelon" + inhand_icon_state = null + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_type = /datum/armor/watermelon + strip_delay = 60 + equip_delay_other = 40 + clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED) + max_integrity = 15 + var/decayed = FALSE + +/obj/item/clothing/suit/armor/durability/holymelon/fire_resist + resistance_flags = FIRE_PROOF + armor_type = /datum/armor/watermelon_fr + +/obj/item/clothing/suit/armor/durability/holymelon/Initialize(mapload) + . = ..() + if(decayed) + decay() + return + + AddComponent( + /datum/component/anti_magic, \ + antimagic_flags = MAGIC_RESISTANCE_HOLY, \ + inventory_flags = ITEM_SLOT_OCLOTHING, \ + charges = 1, \ + drain_antimagic = CALLBACK(src, PROC_REF(drain_antimagic)), \ + expiration = CALLBACK(src, PROC_REF(decay)) \ + ) + +/obj/item/clothing/suit/armor/durability/holymelon/proc/drain_antimagic(mob/user) + to_chat(user, span_warning("[src] looses a bit of its shimmer and glossiness...")) + +/obj/item/clothing/suit/armor/durability/holymelon/proc/decay() + take_damage(8, BRUTE, 0, 0) + + +/obj/item/clothing/suit/armor/durability/barrelmelon + name = "barrelmelon" + desc = "An armour, made from barrelmelons. Reeks of ale, inspiring to courageous deeds. Or, perhaps, a bar brawl." + icon_state = "barrelmelon" + inhand_icon_state = null + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_type = /datum/armor/barrelmelon + strip_delay = 60 + equip_delay_other = 40 + clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED) + max_integrity = 10 + +/obj/item/clothing/suit/armor/durability/barrelmelon/fire_resist + resistance_flags = FIRE_PROOF + armor_type = /datum/armor/barrelmelon_fr + +/datum/armor/barrelmelon + melee = 25 + bullet = 20 + energy = 15 + bomb = 10 + fire = 0 + acid = 35 + wound = 10 + +/datum/armor/barrelmelon_fr + melee = 25 + bullet = 20 + energy = 15 + bomb = 10 + fire = 20 + acid = 40 + wound = 10 diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 4ddfd31631d5c..d094cc5e528be 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -16,7 +16,7 @@ . = ..() if(flags_inv & HIDEFACE) AddComponent(/datum/component/clothing_fov_visor, FOV_90_DEGREES) - + /datum/armor/head_bio_hood bio = 100 fire = 30 diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm index 929e8d931d5ca..7fb3ff362cdee 100644 --- a/code/modules/clothing/suits/costume.dm +++ b/code/modules/clothing/suits/costume.dm @@ -511,6 +511,14 @@ name = "bronze suit" desc = "A big and clanky suit made of bronze that offers no protection and looks very unfashionable. Nice." icon_state = "clockwork_cuirass_old" + allowed = list( + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/tank/jetpack/oxygen/captain, + /obj/item/storage/belt/holster, + //new + /obj/item/toy/clockwork_watch, + ) armor_type = /datum/armor/costume_bronze /obj/item/clothing/suit/hooded/mysticrobe diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 2b8fef5bb5b46..cc94b200969ba 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -225,6 +225,10 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS allowed = list( + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/boxcutter, + /obj/item/dest_tagger, /obj/item/stamp, /obj/item/storage/bag/mail, /obj/item/universal_scanner, @@ -234,7 +238,7 @@ /obj/item/clothing/suit/jacket/quartermaster name = "quartermaster's overcoat" - desc = "A luxury, brown double-breasted overcoat made from kangaroo skin. It's gold cuffs are linked and styled on the credits symbol. It makes you feel more important than you probably are." + desc = "A luxury, brown double-breasted overcoat made from kangaroo skin. Its gold cuffs are linked and styled on the credits symbol. It makes you feel more important than you probably are." icon_state = "qm_coat" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS diff --git a/code/modules/clothing/suits/reactive_armour_dimensional_themes.dm b/code/modules/clothing/suits/reactive_armour_dimensional_themes.dm index f66b23b1261f2..d41a30c293f6b 100644 --- a/code/modules/clothing/suits/reactive_armour_dimensional_themes.dm +++ b/code/modules/clothing/suits/reactive_armour_dimensional_themes.dm @@ -155,21 +155,25 @@ barricade = /obj/structure/holosign/barrier /datum/armour_dimensional_theme/safe/meat + replace_wall = /turf/closed/wall/mineral/meat material = /datum/material/meat /// Dangerous themes can potentially impede the user as much as people pursuing them /datum/armour_dimensional_theme/dangerous /datum/armour_dimensional_theme/dangerous/clown + replace_wall = /turf/closed/wall/mineral/bananium material = /datum/material/bananium barricade = /obj/item/restraints/legcuffs/beartrap/prearmed barricade_anchored = FALSE /datum/armour_dimensional_theme/dangerous/radioactive + replace_wall = /turf/closed/wall/mineral/uranium material = /datum/material/uranium barricade = /obj/structure/statue/uranium/nuke /datum/armour_dimensional_theme/dangerous/plasma + replace_wall = /turf/closed/wall/mineral/plasma material = /datum/material/plasma barricade = /obj/structure/statue/plasma/xeno diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index eb1ccb3c51092..53026e974bf63 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -49,6 +49,17 @@ resistance_flags = FLAMMABLE dog_fashion = /datum/dog_fashion/head/blue_wizard +/obj/item/clothing/head/wizard/chanterelle + name = "chanterelle hat" + desc = "An oversized chanterelle with hollow out space to fit a head in. Kinda looks like wizard's hat." + icon_state = "chanterelle" + inhand_icon_state = "chanterellehat" + armor_type = /datum/armor/none + resistance_flags = FLAMMABLE + +/obj/item/clothing/head/wizard/chanterelle/fr + resistance_flags = FIRE_PROOF + /obj/item/clothing/head/wizard/marisa name = "witch hat" desc = "Strange-looking hat-wear. Makes you want to cast fireballs." @@ -205,6 +216,63 @@ actions_types = list(/datum/action/item_action/stickmen) +/obj/item/clothing/suit/wizrobe/durathread + name = "durathread robe" + desc = "A rather dull durathread robe; not quite as protective as a proper piece of armour, but much stylish." + icon_state = "durathread-fake" + inhand_icon_state = null + armor_type = /datum/armor/robe_durathread + allowed = list( + /obj/item/cultivator, + /obj/item/geneshears, + /obj/item/graft, + /obj/item/hatchet, + /obj/item/plant_analyzer, + /obj/item/reagent_containers/cup/beaker, + /obj/item/reagent_containers/cup/bottle, + /obj/item/reagent_containers/cup/tube, + /obj/item/reagent_containers/spray/pestspray, + /obj/item/reagent_containers/spray/plantbgone, + /obj/item/secateurs, + /obj/item/seeds, + /obj/item/storage/bag/plants, + ) + +/datum/armor/robe_durathread + melee = 15 + bullet = 5 + laser = 25 + energy = 30 + bomb = 10 + fire = 30 + acid = 40 + +/obj/item/clothing/suit/wizrobe/durathread/fire + name = "pyromancer robe" + desc = "A rather dull durathread robe; not quite as protective as an woven armour, but much stylish." + icon_state = "durathread-fire" + +/obj/item/clothing/suit/wizrobe/durathread/ice + name = "pyromancer robe" + desc = "A rather dull durathread robe; not quite as protective as an woven armour, but much stylish." + icon_state = "durathread-ice" + +/obj/item/clothing/suit/wizrobe/durathread/electric + name = "electromancer robe" + desc = "Doesn't actually conduit or isolate from electricity. Though it does have some durability on account of being made from durathread." + icon_state = "durathread-electric" + +/obj/item/clothing/suit/wizrobe/durathread/earth + name = "geomancer robe" + desc = "A rather dull durathread robe; not quite as protective as an woven armour, but much stylish." + icon_state = "durathread-earth" + +/obj/item/clothing/suit/wizrobe/durathread/necro + name = "necromancer robe" + desc = "A rather dull durathread robe; not quite as protective as an woven armour, but much stylish." + icon_state = "durathread-necro" + + /obj/item/clothing/suit/wizrobe/paper/ui_action_click(mob/user, action) stickmen() diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 2168177abcba1..6c6f9608e4b76 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -8,6 +8,8 @@ slot_flags = ITEM_SLOT_ICLOTHING interaction_flags_click = NEED_DEXTERITY armor_type = /datum/armor/clothing_under + supports_variations_flags = CLOTHING_DIGITIGRADE_MASK + digitigrade_greyscale_config_worn = /datum/greyscale_config/jumpsuit/worn_digi equip_sound = 'sound/items/equip/jumpsuit_equip.ogg' drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' diff --git a/code/modules/clothing/under/accessories/_accessories.dm b/code/modules/clothing/under/accessories/_accessories.dm index 91854bc386bf0..5b25418838ab6 100644 --- a/code/modules/clothing/under/accessories/_accessories.dm +++ b/code/modules/clothing/under/accessories/_accessories.dm @@ -89,7 +89,7 @@ atom_storage.close_all() attach_to.clone_storage(atom_storage) attach_to.atom_storage.set_real_location(src) - attach_to.atom_storage.rustle_sound = TRUE // it's on the suit now + attach_to.atom_storage.do_rustle = TRUE // it's on the suit now var/num_other_accessories = LAZYLEN(attach_to.attached_accessories) layer = FLOAT_LAYER + clamp(attach_to.max_number_of_accessories - num_other_accessories, 0, 10) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 748e697415c54..9ae1c7d63e366 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -224,6 +224,7 @@ greyscale_config_inhand_left = null greyscale_config_inhand_right = null greyscale_config_worn = null + digitigrade_greyscale_colors = "#3f3f3f" can_adjust = FALSE flags_1 = NONE diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index 080d1afe70ad5..ddf325a2201ab 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -129,6 +129,45 @@ body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE +/obj/item/clothing/under/costume/yukata + name = "black yukata" + desc = "A comfortable black cotton yukata inspired by traditional designs, perfect for a non-formal setting." + icon_state = "yukata1" + body_parts_covered = CHEST|GROIN|ARMS + can_adjust = FALSE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + +/obj/item/clothing/under/costume/yukata/green + name = "green yukata" + desc = "A comfortable green cotton yukata inspired by traditional designs, perfect for a non-formal setting." + icon_state = "yukata2" + +/obj/item/clothing/under/costume/yukata/white + name = "white yukata" + desc = "A comfortable white cotton yukata inspired by traditional designs, perfect for a non-formal setting." + icon_state = "yukata3" + +/obj/item/clothing/under/costume/kimono + name = "black kimono" + desc = "A luxurious black silk kimono with traditional flair, ideal for elegant festive occasions." + icon_state = "kimono1" + inhand_icon_state = "yukata1" + body_parts_covered = CHEST|GROIN|ARMS + can_adjust = FALSE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + +/obj/item/clothing/under/costume/kimono/red + name = "red kimono" + desc = "A luxurious red silk kimono with traditional flair, ideal for elegant festive occasions." + icon_state = "kimono2" + inhand_icon_state = "kimono2" + +/obj/item/clothing/under/costume/kimono/purple + name = "purple kimono" + desc = "A luxurious purple silk kimono with traditional flair, ideal for elegant festive occasions." + icon_state = "kimono3" + inhand_icon_state = "kimono3" + /obj/item/clothing/under/costume/villain name = "villain suit" desc = "A change of wardrobe is necessary if you ever want to catch a real superhero." diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm index 98571182f2928..55f0da88918b5 100644 --- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm +++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm @@ -31,6 +31,7 @@ inhand_icon_state = "clown" female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY can_adjust = FALSE + supports_variations_flags = CLOTHING_NO_VARIATION /obj/item/clothing/under/rank/civilian/clown/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 8f1263fa3e2b2..81002bd8a9e2d 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -33,6 +33,7 @@ desc = "Groovy!" icon_state = "psyche" inhand_icon_state = "p_suit" + digitigrade_greyscale_colors = "#3f3f3f" /obj/item/clothing/under/misc/vice_officer name = "vice officer's jumpsuit" diff --git a/code/modules/deathmatch/deathmatch_controller.dm b/code/modules/deathmatch/deathmatch_controller.dm index 45b5f087c5bb5..0b098871624dc 100644 --- a/code/modules/deathmatch/deathmatch_controller.dm +++ b/code/modules/deathmatch/deathmatch_controller.dm @@ -76,6 +76,9 @@ return switch (action) if ("host") + if(!(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME)) + tgui_alert(usr, "Deathmatch has been temporarily disabled by admins.") + return if (lobbies[usr.ckey]) return if(!SSticker.HasRoundStarted()) @@ -84,6 +87,9 @@ ui.close() create_new_lobby(usr) if ("join") + if(!(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME)) + tgui_alert(usr, "Deathmatch has been temporarily disabled by admins.") + return if (!lobbies[params["id"]]) return var/datum/deathmatch_lobby/playing_lobby = find_lobby_by_user(usr.ckey) diff --git a/code/modules/deathmatch/deathmatch_loadouts.dm b/code/modules/deathmatch/deathmatch_loadouts.dm index 911e5bf6e1b15..3d49f9909c46c 100644 --- a/code/modules/deathmatch/deathmatch_loadouts.dm +++ b/code/modules/deathmatch/deathmatch_loadouts.dm @@ -8,7 +8,9 @@ /// If defined, using this outfit sets the targets species to it var/datum/species/species_override /// This outfit will grant these spells if applied - var/list/granted_spells = list() + var/list/spells_to_add = list() + /// This outfit will grant these mutations if applied + var/list/mutations_to_add = list() /datum/outfit/deathmatch_loadout/pre_equip(mob/living/carbon/human/user, visualsOnly = FALSE) . = ..() @@ -17,15 +19,20 @@ if(!isnull(species_override)) user.set_species(species_override) + else if (!isnull(user.dna.species.outfit_important_for_life)) //plasmamen get lit on fire and die user.set_species(/datum/species/human) - for(var/datum/action/act as anything in granted_spells) + + for(var/datum/action/act as anything in spells_to_add) var/datum/action/new_ability = new act(user) if(istype(new_ability, /datum/action/cooldown/spell)) var/datum/action/cooldown/spell/new_spell = new_ability - new_spell.spell_requirements = SPELL_REQUIRES_NO_ANTIMAGIC + new_spell.spell_requirements = NONE new_ability.Grant(user) + for(var/mutation in mutations_to_add) + user.dna.add_mutation(mutation) + /datum/outfit/deathmatch_loadout/naked name = "Deathmatch: Naked" display_name = "Unarmed, Butt-naked" @@ -349,7 +356,7 @@ suit = /obj/item/clothing/suit/hooded/explorer shoes = /obj/item/clothing/shoes/workboots/mining mask = /obj/item/clothing/mask/gas/explorer - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/mob_cooldown/dash, ) @@ -392,7 +399,7 @@ suit = /datum/outfit/wizard::suit head = /datum/outfit/wizard::head shoes = /datum/outfit/wizard::shoes - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/aoe/magic_missile, /datum/action/cooldown/spell/forcewall, /datum/action/cooldown/spell/jaunt/ethereal_jaunt, @@ -406,7 +413,7 @@ suit = /obj/item/clothing/suit/wizrobe/red head = /obj/item/clothing/head/wizard/red mask = /obj/item/cigarette - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/pointed/projectile/fireball, /datum/action/cooldown/spell/smoke, ) @@ -418,7 +425,7 @@ suit = /obj/item/clothing/suit/wizrobe/magusred head = /obj/item/clothing/head/wizard/magus - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/pointed/projectile/lightningbolt, /datum/action/cooldown/spell/charged/beam/tesla, ) @@ -431,7 +438,7 @@ species_override = /datum/species/skeleton suit = /obj/item/clothing/suit/wizrobe/black head = /obj/item/clothing/head/wizard/black - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/touch/scream_for_me, /datum/action/cooldown/spell/teleport/radius_turf/blink, ) @@ -445,7 +452,7 @@ suit = /obj/item/clothing/suit/wizrobe/fake head = /obj/item/clothing/head/wizard/fake shoes = /obj/item/clothing/shoes/sandal - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/conjure_item/spellpacket, /datum/action/cooldown/spell/aoe/repulse/wizard, ) @@ -459,7 +466,7 @@ suit = /obj/item/clothing/suit/wizrobe/marisa head = /obj/item/clothing/head/wizard/marisa shoes = /obj/item/clothing/shoes/sneakers/marisa - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/chuuni_invocations, /datum/action/cooldown/spell/pointed/projectile/spell_cards, ) @@ -472,7 +479,7 @@ l_hand = /obj/item/mjollnir suit = /obj/item/clothing/suit/wizrobe/magusblue head = /obj/item/clothing/head/wizard/magus - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/summonitem, ) @@ -482,7 +489,7 @@ desc = "You feel severely under-leveled for this encounter..." l_hand = null - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/charge, ) @@ -495,7 +502,7 @@ suit = /obj/item/clothing/suit/wizrobe/tape head = /obj/item/clothing/head/wizard/tape shoes = /obj/item/clothing/shoes/jackboots - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/conjure_item/infinite_guns/gun, /datum/action/cooldown/spell/aoe/knock, ) @@ -510,7 +517,7 @@ suit = /obj/item/clothing/suit/costume/hawaiian head = /obj/item/clothing/head/wizard/red shoes = /obj/item/clothing/shoes/sneakers/marisa - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/rod_form, /datum/action/cooldown/spell/conjure/the_traps, ) @@ -527,7 +534,7 @@ mask = /obj/item/clothing/mask/gas/clown_hat back = /obj/item/storage/backpack/clown shoes = /obj/item/clothing/shoes/clown_shoes - granted_spells = null + spells_to_add = null /datum/outfit/deathmatch_loadout/wizard/monkey name = "Deathmatch: Monkey" @@ -540,7 +547,7 @@ suit = null head = /obj/item/clothing/head/wizard shoes = null - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/conjure/simian, ) @@ -716,7 +723,7 @@ /obj/item/food/croissant/throwing = 2, ) - granted_spells = list( + spells_to_add = list( /datum/action/cooldown/spell/vow_of_silence, /datum/action/cooldown/spell/conjure_item/invisible_box, /datum/action/cooldown/spell/conjure/invisible_chair, @@ -744,3 +751,414 @@ /obj/item/knife/butcher, /obj/item/sharpener, ) + +//species + +/datum/outfit/deathmatch_loadout/humanity + name = "Deathmatch: Human Species" + display_name = "Humanity" + desc = "The most ambitious and successful species. Or just the most rapacious, depending on who you ask." + species_override = /datum/species/human + + head = /obj/item/clothing/head/soft/black + glasses = /obj/item/clothing/glasses/sunglasses + ears = /obj/item/radio/headset/headset_com + neck = /obj/item/clothing/neck/large_scarf/blue + //suit + id_trim = /datum/id_trim/job/bridge_assistant // half tider half command + id = /obj/item/card/id/advanced/chameleon + uniform = /obj/item/clothing/under/trek/command/next + l_pocket = /obj/item/gun/energy/e_gun/mini + r_pocket = /obj/item/extinguisher/mini + gloves = /obj/item/clothing/gloves/fingerless + belt = /obj/item/storage/belt/utility/full/inducer + shoes = /obj/item/clothing/shoes/sneakers/black + +// Lizard: Desert, Soldier, Trash + +/datum/outfit/deathmatch_loadout/lizardkind + name = "Deathmatch: Lizard Species" + display_name = "Lizardfolk" + desc = "They may be heavily discrimated against, they may be most often seen doing menial activities, but at least they, uh, uhh..." + species_override = /datum/species/lizard + + head = /obj/item/clothing/head/soft/purple + id_trim = /datum/id_trim/job/janitor + id = /obj/item/card/id/advanced/chameleon + uniform = /obj/item/clothing/under/rank/civilian/janitor + gloves = /obj/item/clothing/gloves/color/black + belt = /obj/item/storage/belt/janitor/full + shoes = /obj/item/clothing/shoes/chameleon/noslip + r_hand = /obj/item/mop/advanced + back = /obj/item/storage/backpack + backpack_contents = list( + /obj/item/toy/plush/lizard_plushie/green, + // reclaiming lizard racism + /obj/item/reagent_containers/cup/glass/bottle/lizardwine, + /obj/item/tailclub, + /obj/item/melee/chainofcommand/tailwhip, + /obj/item/reagent_containers/cup/glass/coffee + ) + +/datum/outfit/deathmatch_loadout/mothman + name = "Deathmatch: Moth Species" + display_name = "Mothmen" + desc = "An innocent and fluffy visage hides the combat ability of a particularly hairy kitten." + species_override = /datum/species/moth + + head = /obj/item/clothing/head/utility/head_mirror + glasses = /obj/item/clothing/glasses/hud/health + suit = /obj/item/clothing/suit/hooded/wintercoat/medical + suit_store = /obj/item/flashlight/pen/paramedic + id_trim = /datum/id_trim/job/medical_doctor + id = /obj/item/card/id/advanced/chameleon + uniform = /obj/item/clothing/under/rank/medical/scrubs/blue + belt = /obj/item/storage/belt/medical/paramedic + shoes = /obj/item/clothing/shoes/sneakers/white + l_hand = /obj/item/circular_saw + + back = /obj/item/storage/backpack/medic + + backpack_contents = list( + /obj/item/toy/plush/moth, + /obj/item/storage/medkit/brute, + /obj/item/storage/medkit/fire, + /obj/item/statuebust/hippocratic + ) + +// Roboticist?? +/datum/outfit/deathmatch_loadout/ethereal + name = "Deathmatch: Ethereal Species" + display_name = "Etherealkind" + desc = "Prepare to be SHOCKED as you are reminded of this species's existence." + species_override = /datum/species/ethereal + + head = /obj/item/clothing/head/soft/black + id_trim = /datum/id_trim/job/roboticist + id = /obj/item/card/id/advanced/chameleon + suit = /obj/item/clothing/suit/toggle/labcoat/roboticist + suit_store = /datum/id_trim/job/roboticist + uniform = /obj/item/clothing/under/rank/rnd/roboticist + l_pocket = /obj/item/assembly/flash + belt = /obj/item/storage/belt/utility/full + shoes = /obj/item/clothing/shoes/sneakers/black + + back = /obj/item/storage/backpack/science + + backpack_contents = list( + /obj/item/dnainjector/shock, + /obj/item/etherealballdeployer, + ) + +/datum/outfit/deathmatch_loadout/plasmamen + name = "Deathmatch: Plasmaman Species" + display_name = "Plasmamen" + desc = "Burn baby burn!" + species_override = /datum/species/plasmaman + + head = /obj/item/clothing/head/helmet/space/plasmaman/atmospherics + suit = /obj/item/clothing/suit/hazardvest + suit_store = /obj/item/flashlight + uniform = /obj/item/clothing/under/plasmaman/atmospherics + id_trim = /datum/id_trim/job/atmospheric_technician + id = /obj/item/card/id/advanced/chameleon + belt = /obj/item/storage/belt/utility/atmostech + gloves = /obj/item/clothing/gloves/color/plasmaman/atmos + shoes = /obj/item/clothing/shoes/workboots + r_pocket = /obj/item/tank/internals/plasmaman/belt/full + + back = /obj/item/storage/backpack/industrial + + backpack_contents = list( + /obj/item/toy/plush/plasmamanplushie, + /obj/item/tank/internals/plasma, + /obj/item/tank/internals/plasmaman, + /obj/item/stack/sheet/mineral/uranium/half, + /obj/item/stack/sheet/mineral/plasma/thirty, + /obj/item/reagent_containers/condiment/milk, + /obj/item/storage/medkit/fire, + /obj/item/reagent_containers/syringe/plasma + ) + +/datum/outfit/deathmatch_loadout/felinid + name = "Deathmatch: Felinid Species" + display_name = "Felinids" + desc = "Strictly inferior to humans in every way." + species_override = /datum/species/human/felinid + + head = /obj/item/clothing/head/soft/rainbow + glasses = null + ears = /obj/item/radio/headset + neck = /obj/item/clothing/neck/petcollar + //suit + uniform = /obj/item/clothing/under/color/rainbow + l_pocket = /obj/item/toy/cattoy + r_pocket = /obj/item/restraints/handcuffs/fake + gloves = /obj/item/clothing/gloves/color/rainbow + belt = /obj/item/melee/curator_whip + shoes = /obj/item/clothing/shoes/sneakers/rainbow + +//spleef + +/datum/outfit/deathmatch_loadout/lattice_battles + name = "Deathmatch: Lattice loadout" + display_name = "Lattice Battler" + desc = "Snip the catwalks under everyone else and win! You're pacifist, so no punching." + + uniform = /obj/item/clothing/under/pants/jeans + suit = /obj/item/clothing/suit/costume/wellworn_shirt/graphic + back = /obj/item/storage/backpack + r_hand = /obj/item/wirecutters + + backpack_contents = list( + /obj/item/stack/rods/fifty, + /obj/item/stack/rods/fifty, + /obj/item/stack/rods/fifty, + /obj/item/stack/rods/fifty, + ) + +// We don't want them to just punch each other to death + +/datum/outfit/deathmatch_loadout/lattice_battles/pre_equip(mob/living/carbon/human/user, visualsOnly) + . = ..() + ADD_TRAIT(user, TRAIT_PACIFISM, REF(src)) + +// Ragnarok: Fight between religions! + +/datum/outfit/deathmatch_loadout/cultish/pre_equip(mob/living/carbon/human/user, visualsOnly) + . = ..() + ADD_TRAIT(user, TRAIT_ACT_AS_CULTIST, REF(src)) + user.AddElement(/datum/element/cult_halo, initial_delay = 0 SECONDS) + user.AddElement(/datum/element/cult_eyes, initial_delay = 0 SECONDS) + +// Cultist Invoker, has all the balanced cult gear + +/datum/outfit/deathmatch_loadout/cultish/invoker + name = "Deathmatch: Cultist Invoker" + display_name = "Cultist Invoker" + desc = "Prove Nar'sie's superiority with your well-balanced set of equipment." + //species_override = /datum/species/plasmaman + + head = /obj/item/clothing/head/hooded/cult_hoodie/cult_shield + glasses = /obj/item/clothing/glasses/hud/health/night/cultblind + suit = /obj/item/clothing/suit/hooded/cultrobes/cult_shield // the dreaded return! + suit_store = /obj/item/melee/cultblade + uniform = /obj/item/clothing/under/color/black + id_trim = null + belt = /obj/item/melee/cultblade/dagger + l_pocket = /obj/item/flashlight/flare/culttorch + r_pocket = /obj/item/flashlight/flare/culttorch + gloves = /obj/item/clothing/gloves/color/black + shoes = /obj/item/clothing/shoes/cult/alt + l_hand = /obj/item/shield/mirror // the dreaded return!! + + back = /obj/item/storage/backpack/cultpack + + backpack_contents = list( + /obj/item/restraints/legcuffs/bola/cult, + /obj/item/reagent_containers/cup/beaker/unholywater, + ) + +// Cultist Artificer, gets all the balanced cult magicks + +/datum/outfit/deathmatch_loadout/cultish/artificer + name = "Deathmatch: Cultist Artificer" + display_name = "Cultist Artificer" + desc = "Prove Nar'sie's superiority with your well-balanced blood magicks." + //species_override = /datum/species/plasmaman + + head = /obj/item/clothing/head/hooded/cult_hoodie/berserkerhood + neck = /obj/item/clothing/neck/heretic_focus/crimson_medallion + suit = /obj/item/clothing/suit/hooded/cultrobes/berserker + suit_store = /obj/item/melee/sickly_blade/cursed + uniform = /obj/item/clothing/under/color/red + id_trim = null + belt = /obj/item/melee/cultblade/dagger + l_pocket = /obj/item/flashlight/flare/culttorch + r_pocket = /obj/item/flashlight/flare/culttorch + gloves = /obj/item/clothing/gloves/color/red + shoes = /obj/item/clothing/shoes/cult + l_hand = null + + back = /obj/item/storage/backpack/cultpack + + backpack_contents = list( + /obj/item/cult_shift, + /obj/item/reagent_containers/cup/beaker/unholywater, + /obj/item/reagent_containers/cup/beaker/unholywater, + /obj/item/reagent_containers/cup/beaker/unholywater, + ) + + spells_to_add = list( + /datum/action/innate/cult/blood_spell/horror, + /datum/action/innate/cult/blood_spell/horror, + /datum/action/innate/cult/blood_spell/stun, + /datum/action/innate/cult/blood_spell/stun, + /datum/action/innate/cult/blood_spell/manipulation, + ) + +/datum/outfit/deathmatch_loadout/cultish/artificer/post_equip(mob/living/carbon/human/user, visualsOnly) + . = ..() + var/datum/action/innate/cult/blood_spell/manipulation/magick = locate() in user + magick.charges = 300 + +/datum/outfit/deathmatch_loadout/heresy + /// Grants the effects of these knowledges to the DMer + var/list/knowledge_to_grant + +/datum/outfit/deathmatch_loadout/heresy/pre_equip(mob/living/carbon/human/user, visualsOnly) + . = ..() + ADD_TRAIT(user, TRAIT_ACT_AS_HERETIC, REF(src)) + user.AddElement(/datum/element/leeching_walk) + + // Creates the knowledge as an isolated datum inside the target, allowing passive knowledges to work still. + for(var/datum/heretic_knowledge/knowhow as anything in knowledge_to_grant) + knowhow = new knowhow(user) + knowhow.on_gain(user, null) + +// Heretic Warrior + +// Has spells of Ash, Blade, and Rust. Overall aggressive + +/datum/outfit/deathmatch_loadout/heresy/warrior + name = "Deathmatch: Heretic Warrior" + display_name = "Heretic Warrior" + desc = "Prove the furious strength of the Mansus." + //species_override = /datum/species/plasmaman + + head = /obj/item/clothing/head/hooded/cult_hoodie/eldritch + neck = /obj/item/clothing/neck/heretic_focus + suit = /obj/item/clothing/suit/hooded/cultrobes/eldritch + suit_store = /obj/item/melee/sickly_blade/dark + uniform = /obj/item/clothing/under/color/darkgreen + id_trim = null + belt = /obj/item/melee/sickly_blade/ash + gloves = null + shoes = /obj/item/clothing/shoes/sandal + l_pocket = /obj/item/flashlight/lantern/jade/on + r_pocket = /obj/item/melee/rune_carver + l_hand = null + + back = /obj/item/storage/backpack + + backpack_contents = list( + /obj/item/reagent_containers/cup/beaker/eldritch, + /obj/item/reagent_containers/cup/beaker/eldritch, + /obj/item/eldritch_potion/wounded, + /obj/item/eldritch_potion/wounded, + ) + + // I mean is it really that bad if they don't even know half this stuff is added to them. + // It's like, forbidden knowledge. It fits with the mansus theme - great excuse for poor design! + knowledge_to_grant = list( + /datum/heretic_knowledge/duel_stance, + /datum/heretic_knowledge/blade_grasp, + /datum/heretic_knowledge/blade_dance, + /datum/heretic_knowledge/blade_upgrade/blade, + ) + + spells_to_add = list( + /datum/action/cooldown/spell/touch/mansus_grasp, + /datum/action/cooldown/spell/realignment, + /datum/action/cooldown/spell/pointed/projectile/furious_steel, + /datum/action/cooldown/spell/charged/beam/fire_blast, + /datum/action/cooldown/spell/aoe/fiery_rebirth, + /datum/action/cooldown/spell/cone/staggered/entropic_plume, + /datum/action/cooldown/spell/pointed/rust_construction, + ) + +// Heretic Scribe + +// Has spells of Void, Moon, and Cosmos. Overall defensive/mobile + +/datum/outfit/deathmatch_loadout/heresy/scribe + name = "Deathmatch: Heretic Scribe" + display_name = "Heretic Scribe" + desc = "Reveal the forgotten knowledge of the Mansus." + + head = /obj/item/clothing/head/helmet/chaplain/witchunter_hat + mask = /obj/item/clothing/mask/madness_mask + neck = /obj/item/clothing/neck/eldritch_amulet + suit = /obj/item/clothing/suit/hooded/cultrobes/void + suit_store = /obj/item/melee/sickly_blade + uniform = /obj/item/clothing/under/costume/gamberson/military + id_trim = null + belt = /obj/item/storage/belt/unfathomable_curio + gloves = null + shoes = /obj/item/clothing/shoes/winterboots/ice_boots + l_pocket = /obj/item/ammo_box/strilka310/lionhunter + r_pocket = /obj/item/codex_cicatrix + + back = /obj/item/gun/ballistic/rifle/lionhunter // for his neutral b, he wields a gun + + belt_contents = list( + /obj/item/heretic_labyrinth_handbook, + /obj/item/heretic_labyrinth_handbook, + /obj/item/eldritch_potion/crucible_soul, + /obj/item/clothing/neck/heretic_focus/moon_amulet = 3, + ) + + knowledge_to_grant = list( + /datum/heretic_knowledge/cosmic_grasp, + /datum/heretic_knowledge/moon_grasp, + /datum/heretic_knowledge/mark/moon_mark, + ) + + spells_to_add = list( + /datum/action/cooldown/spell/touch/mansus_grasp, + /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash, + /datum/action/cooldown/spell/pointed/projectile/star_blast, + /datum/action/cooldown/spell/touch/star_touch, + /datum/action/cooldown/spell/pointed/void_phase, + /datum/action/cooldown/spell/aoe/void_pull, + ) + +// Chaplain! No spells (other than smoke), but strong armor and weapons, and immune to others' spells + +/datum/outfit/deathmatch_loadout/holy_crusader + name = "Deathmatch: Holy Crusader" + display_name = "Holy Crusader" + desc = "Smite the heathens!!" + //species_override = /datum/species/plasmaman + + head = /obj/item/clothing/head/helmet/chaplain + neck = /obj/item/camera/spooky + suit = /obj/item/clothing/suit/chaplainsuit/armor/templar + suit_store = /obj/item/book/bible/booze + uniform = /obj/item/clothing/under/rank/civilian/chaplain + id_trim = null + belt = /obj/item/nullrod // choose any! + gloves = /obj/item/clothing/gloves/plate + shoes = /obj/item/clothing/shoes/plate + l_pocket = /obj/item/flashlight/lantern/on + r_pocket = /obj/item/reagent_containers/cup/glass/bottle/holywater + l_hand = /obj/item/shield/buckler + + back = /obj/item/claymore/weak // or don't + + spells_to_add = list( + /datum/action/cooldown/spell/smoke/lesser + ) + mutations_to_add = list( + /datum/mutation/human/medieval, + /datum/mutation/human/lay_on_hands, // useless, but fun + ) + +// Rat'var Apostate + +/datum/outfit/deathmatch_loadout/clock_cult + name = "Deathmatch: Clock Cultist" + display_name = "Rat'var Apostate" + desc = "You're in a fight between the servants of gods, and yours is dead. Good luck?" + //species_override = /datum/species/plasmaman + + head = /obj/item/clothing/head/costume/bronze + suit = /obj/item/clothing/suit/costume/bronze + suit_store = /obj/item/toy/clockwork_watch + uniform = /obj/item/clothing/under/chameleon + id_trim = null + belt = /obj/item/brass_spear + gloves = /obj/item/clothing/gloves/tinkerer + shoes = /obj/item/clothing/shoes/bronze + l_pocket = /obj/item/reagent_containers/cup/beaker/synthflesh // they used to turn their dmg into tox with a spell. close enough + r_pocket = /obj/item/reagent_containers/cup/beaker/synthflesh diff --git a/code/modules/deathmatch/deathmatch_mapping.dm b/code/modules/deathmatch/deathmatch_mapping.dm index 9f006e1524295..c517d4d2449a4 100644 --- a/code/modules/deathmatch/deathmatch_mapping.dm +++ b/code/modules/deathmatch/deathmatch_mapping.dm @@ -14,6 +14,10 @@ /area/deathmatch/teleport //Prevent access to cross-z teleportation in the map itself (no wands of safety/teleportation scrolls). Cordons should prevent same-z teleportations outside of the arena. area_flags = /area/deathmatch::area_flags & ~NOTELEPORT +/area/deathmatch/teleport/fullbright + static_lighting = FALSE + base_lighting_alpha = 255 + // for the illusion of a moving train /turf/open/chasm/true/no_smooth/fake_motion_sand name = "air" @@ -25,3 +29,12 @@ /turf/open/chasm/true/no_smooth/fake_motion_sand/fast icon_state = "sandmovingfast" base_icon_state = "sandmovingfast" + +// fakeout + +/turf/open/chasm/true/fakeout + name = /turf/open/floor/wood::name + // desc kept the same + icon_state = /turf/open/floor/wood::icon_state + base_icon_state = /turf/open/floor/wood::base_icon_state + icon = /turf/open/floor/wood::icon diff --git a/code/modules/deathmatch/deathmatch_maps.dm b/code/modules/deathmatch/deathmatch_maps.dm index 6a8a245abb795..243172ea9dadb 100644 --- a/code/modules/deathmatch/deathmatch_maps.dm +++ b/code/modules/deathmatch/deathmatch_maps.dm @@ -1,6 +1,7 @@ -/datum/lazy_template/deathmatch //deathmatch maps that have any possibility of the walls being destroyed should use indestructible walls, because baseturf moment +/datum/lazy_template/deathmatch map_dir = "_maps/deathmatch" place_on_top = TRUE + turf_reservation_type = /datum/turf_reservation/turf_not_baseturf /// Map UI Name var/name /// Map Description @@ -16,16 +17,6 @@ /// whether we are currently being loaded by a lobby var/template_in_use = FALSE - -/datum/lazy_template/deathmatch/ragecage - name = "Ragecage" - desc = "Fun for the whole family, the classic ragecage." - max_players = 4 - automatic_gameend_time = 4 MINUTES // its a 10x10 cage what are you guys doing in there - allowed_loadouts = list(/datum/outfit/deathmatch_loadout/assistant) - map_name = "ragecage" - key = "ragecage" - /datum/lazy_template/deathmatch/maintenance name = "Maint Mania" desc = "Dark maintenance tunnels, floor pills, improvised weaponry and a bloody beatdown. Welcome to assistant utopia." @@ -50,49 +41,6 @@ map_name = "meta_brig" key = "meta_brig" -/datum/lazy_template/deathmatch/shooting_range - name = "Shooting Range" - desc = "A simple room with a bunch of wooden barricades." - max_players = 6 - allowed_loadouts = list( - /datum/outfit/deathmatch_loadout/operative/ranged, - /datum/outfit/deathmatch_loadout/operative/melee, - ) - map_name = "shooting_range" - key = "shooting_range" - -/datum/lazy_template/deathmatch/securing - name = "SecuRing" - desc = "Presenting the Security Ring, ever wanted to shoot people with disablers? Well now you can." - max_players = 4 - allowed_loadouts = list(/datum/outfit/deathmatch_loadout/securing_sec) - map_name = "secu_ring" - key = "secu_ring" - -/datum/lazy_template/deathmatch/instagib - name = "Instagib" - desc = "EVERYONE GETS AN INSTAKILL RIFLE!" - max_players = 8 - allowed_loadouts = list(/datum/outfit/deathmatch_loadout/assistant/instagib) - map_name = "instagib" - key = "instagib" - -/datum/lazy_template/deathmatch/mech_madness - name = "Mech Madness" - desc = "Do you hate mechs? Yeah? Dont care! Go fight eachother!" - max_players = 4 - allowed_loadouts = list(/datum/outfit/deathmatch_loadout/operative) - map_name = "mech_madness" - key = "mech_madness" - -/datum/lazy_template/deathmatch/sniper_elite - name = "Sniper Elite" - desc = "Sound of gunfire and screaming people make my day" - max_players = 8 - allowed_loadouts = list(/datum/outfit/deathmatch_loadout/operative/sniper) - map_name = "sniper_elite" - key = "sniper_elite" - /datum/lazy_template/deathmatch/meatower name = "Meat Tower" desc = "There can only be one chef in this kitchen" @@ -204,5 +152,45 @@ map_name = "finaldestination" key = "finaldestination" +/datum/lazy_template/deathmatch/species_warfare + name = "Species Warfare" + desc = "Choose your favorite species and prove its superiority against all the other, lamer species. And also anyone else of your own." + max_players = 8 + allowed_loadouts = list( + /datum/outfit/deathmatch_loadout/humanity, + /datum/outfit/deathmatch_loadout/lizardkind, + /datum/outfit/deathmatch_loadout/mothman, + /datum/outfit/deathmatch_loadout/ethereal, + /datum/outfit/deathmatch_loadout/plasmamen, + /datum/outfit/deathmatch_loadout/felinid, + ) + map_name = "species_warfare" + key = "species_warfare" + +/datum/lazy_template/deathmatch/lattice_battles + name = "Lattice Battles" + desc = "Tired of fisticuffs all the time? Just snip the catwalk underneath instead!" + max_players = 8 + allowed_loadouts = list( + /datum/outfit/deathmatch_loadout/lattice_battles, + ) + map_name = "lattice_battles" + key = "lattice_battles" + +/datum/lazy_template/deathmatch/ragnarok + name = "Ragnarok" + desc = "Cultists, heretics, and chaplains all duking it out in the jungle to retrieve the McGuffin." + max_players = 8 + allowed_loadouts = list( + /datum/outfit/deathmatch_loadout/cultish/invoker, + /datum/outfit/deathmatch_loadout/cultish/artificer, + /datum/outfit/deathmatch_loadout/heresy/warrior, + /datum/outfit/deathmatch_loadout/heresy/scribe, + /datum/outfit/deathmatch_loadout/holy_crusader, + /datum/outfit/deathmatch_loadout/clock_cult, + ) + map_name = "ragnarok" + key = "ragnarok" + /datum/turf_reservation/indestructible_plating turf_type = /turf/open/indestructible/plating //a little hacky but i guess it has to be done diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm index a6841d3975444..1cf617ce4513e 100644 --- a/code/modules/error_handler/error_handler.dm +++ b/code/modules/error_handler/error_handler.dm @@ -101,6 +101,12 @@ GLOBAL_VAR_INIT(total_runtimes_skipped, 0) // The proceeding mess will almost definitely break if error messages are ever changed var/list/splitlines = splittext(E.desc, "\n") var/list/desclines = list() + var/list/state_stack = GLOB.lua_state_stack + var/is_lua_call = length(state_stack) + var/list/lua_stacks = list() + if(is_lua_call) + for(var/level in 1 to state_stack.len) + lua_stacks += list(splittext(DREAMLUAU_GET_TRACEBACK(level), "\n")) if(LAZYLEN(splitlines) > ERROR_USEFUL_LEN) // If there aren't at least three lines, there's no info for(var/line in splitlines) if(LAZYLEN(line) < 3 || findtext(line, "source file:") || findtext(line, "usr.loc:")) @@ -110,13 +116,14 @@ GLOBAL_VAR_INIT(total_runtimes_skipped, 0) desclines.Add(usrinfo) usrinfo = null continue // Our usr info is better, replace it - if(copytext(line, 1, 3) != " ")//3 == length(" ") + 1 desclines += (" " + line) // Pad any unpadded lines, so they look pretty else desclines += line if(usrinfo) //If this info isn't null, it hasn't been added yet desclines.Add(usrinfo) + if(is_lua_call) + SSlua.log_involved_runtime(E, desclines, lua_stacks) if(silencing) desclines += " (This error will now be silenced for [DisplayTimeText(configured_error_silence_time)])" if(GLOB.error_cache) diff --git a/code/modules/events/anomaly/anomaly_ectoplasm.dm b/code/modules/events/anomaly/anomaly_ectoplasm.dm index 6e45752b02a77..8c37f8f1017c3 100644 --- a/code/modules/events/anomaly/anomaly_ectoplasm.dm +++ b/code/modules/events/anomaly/anomaly_ectoplasm.dm @@ -8,7 +8,7 @@ typepath = /datum/round_event/anomaly/anomaly_ectoplasm min_players = 30 max_occurrences = 2 - weight = 4 //Rare because of it's wacky and silly nature + weight = 4 //Rare because of its wacky and silly nature category = EVENT_CATEGORY_ANOMALIES min_wizard_trigger_potency = 0 max_wizard_trigger_potency = 3 diff --git a/code/modules/events/aurora_caelus.dm b/code/modules/events/aurora_caelus.dm index 0acb0ad9781a7..875b8c0dcf23a 100644 --- a/code/modules/events/aurora_caelus.dm +++ b/code/modules/events/aurora_caelus.dm @@ -17,10 +17,12 @@ start_when = 21 end_when = 80 -/datum/round_event/aurora_caelus/announce() +/datum/round_event/aurora_caelus/announce(fake) priority_announce("[station_name()]: A harmless cloud of ions is approaching your station, and will exhaust their energy battering the hull. Nanotrasen has approved a short break for all employees to relax and observe this very rare event. During this time, starlight will be bright but gentle, shifting between quiet green and blue colors. Any staff who would like to view these lights for themselves may proceed to the area nearest to them with viewing ports to open space. We hope you enjoy the lights.", sound = 'sound/misc/notice2.ogg', sender_override = "Nanotrasen Meteorology Division") + if (fake) + return for(var/V in GLOB.player_list) var/mob/M = V if((M.client.prefs.read_preference(/datum/preference/toggle/sound_midi)) && is_station_level(M.z)) @@ -31,6 +33,8 @@ /datum/round_event/aurora_caelus/start() if(!prob(1) && !check_holidays(APRIL_FOOLS)) return + + var/list/human_blacklist = list() for(var/area/station/service/kitchen/affected_area in GLOB.areas) var/obj/machinery/oven/roast_ruiner = locate() in affected_area if(roast_ruiner) @@ -40,10 +44,13 @@ message_admins("Aurora Caelus event caused an oven to ignite at [ADMIN_VERBOSEJMP(ruined_roast)].") log_game("Aurora Caelus event caused an oven to ignite at [loc_name(ruined_roast)].") announce_to_ghosts(roast_ruiner) - for(var/mob/living/carbon/human/seymour as anything in GLOB.human_list) - if(seymour.mind && istype(seymour.mind.assigned_role, /datum/job/cook)) - seymour.say("My roast is ruined!!!", forced = "ruined roast") - seymour.emote("scream") + for(var/mob/living/carbon/human/seymour in viewers(roast_ruiner, 7)) + if (seymour in human_blacklist) + continue + human_blacklist += seymour + if(seymour.mind && istype(seymour.mind.assigned_role, /datum/job/cook)) + seymour.say("My roast is ruined!!!", forced = "ruined roast") + seymour.emote("scream") /datum/round_event/aurora_caelus/tick() if(activeFor % 8 != 0) diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index 5e53e22261ee8..fdbf46d48c6d0 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -60,7 +60,7 @@ announce_to_ghosts(origin_machine) /datum/round_event/brand_intelligence/tick() - if(!origin_machine || QDELETED(origin_machine) || origin_machine.shut_up || origin_machine.wires.is_all_cut()) //if the original vending machine is missing or has it's voice switch flipped + if(!origin_machine || QDELETED(origin_machine) || origin_machine.shut_up || origin_machine.wires.is_all_cut()) //if the original vending machine is missing or has its voice switch flipped for(var/obj/machinery/vending/saved in infected_machines) saved.shoot_inventory = FALSE if(origin_machine) diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 8fcc05f345bfc..3856bf550b4a3 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -102,7 +102,7 @@ var/list/afflicted = list() /datum/round_event/disease_outbreak/announce(fake) - if(isnull(illness_type)) + if(!illness_type) var/list/virus_candidates = list( /datum/disease/anxiety, /datum/disease/beesease, diff --git a/code/modules/events/ghost_role/blob.dm b/code/modules/events/ghost_role/blob.dm index 8e83351f5c045..469a222e3fa13 100644 --- a/code/modules/events/ghost_role/blob.dm +++ b/code/modules/events/ghost_role/blob.dm @@ -29,9 +29,9 @@ /datum/round_event/ghost_role/blob/spawn_role() if(!GLOB.blobstart.len) return MAP_ERROR - var/icon/blob_icon = icon('icons/mob/nonhuman-player/blob.dmi', icon_state = "blob_core") + var/icon/blob_icon = icon('icons/mob/nonhuman-player/blob_tall.dmi', icon_state = "blob_core") blob_icon.Blend("#9ACD32", ICON_MULTIPLY) - blob_icon.Blend(icon('icons/mob/nonhuman-player/blob.dmi', "blob_core_overlay"), ICON_OVERLAY) + blob_icon.Blend(icon('icons/mob/nonhuman-player/blob_tall.dmi', "blob_core_overlay"), ICON_OVERLAY) var/image/blob_image = image(blob_icon) var/mob/chosen_one = SSpolling.poll_ghost_candidates(check_jobban = ROLE_BLOB, role = ROLE_BLOB, alert_pic = blob_image, role_name_text = role_name, amount_to_pick = 1, chat_text_border_icon = blob_image) if(isnull(chosen_one)) diff --git a/code/modules/events/ghost_role/sentience.dm b/code/modules/events/ghost_role/sentience.dm index 4017361dba51a..092813008458a 100644 --- a/code/modules/events/ghost_role/sentience.dm +++ b/code/modules/events/ghost_role/sentience.dm @@ -3,6 +3,7 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list( /mob/living/basic/butterfly, /mob/living/basic/carp/pet/cayenne, /mob/living/basic/chicken, + /mob/living/basic/crab, /mob/living/basic/cow, /mob/living/basic/goat, /mob/living/basic/lizard, @@ -18,6 +19,7 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list( /mob/living/simple_animal/bot/secbot/beepsky, /mob/living/simple_animal/hostile/retaliate/goose/vomit, /mob/living/basic/bear/snow/misha, + /mob/living/basic/mining/lobstrosity/juvenile, ))) /datum/round_event_control/sentience diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index eeed75d2299eb..17d976a6351fe 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -48,7 +48,6 @@ icon = 'icons/effects/landmarks_static.dmi' icon_state = "x2" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE /// Christmas tree, no presents included. var/festive_tree = /obj/structure/flora/tree/pine/xmas diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 7afc67266102c..686adf1e5d3f6 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -106,7 +106,7 @@ var/ionallergysev = pick_list(ION_FILE, "ionallergysev") //Species, for when the AI has to commit genocide. Plural. var/ionspecies = pick_list(ION_FILE, "ionspecies") - //Abstract concepts for the AI to decide on it's own definition of. + //Abstract concepts for the AI to decide on its own definition of. var/ionabstract = pick_list(ION_FILE, "ionabstract") //Foods. Drinks aren't included due to grammar; if you want to add drinks, make a new set //of possible laws for best effect. Unless you want the crew having to drink hamburgers. diff --git a/code/modules/events/portal_storm.dm b/code/modules/events/portal_storm.dm index 0ca7800ee22d1..472a74e5443b0 100644 --- a/code/modules/events/portal_storm.dm +++ b/code/modules/events/portal_storm.dm @@ -50,7 +50,7 @@ storm_appearances = list() for(var/offset in 0 to SSmapping.max_plane_offset) var/mutable_appearance/storm = mutable_appearance('icons/obj/machines/engine/energy_ball.dmi', "energy_ball_fast", FLY_LAYER) - SET_PLANE_W_SCALAR(storm, ABOVE_GAME_PLANE, offset) + SET_PLANE_W_SCALAR(storm, GAME_PLANE, offset) storm.color = COLOR_VIBRANT_LIME storm_appearances += storm diff --git a/code/modules/events/space_vines/vine_event.dm b/code/modules/events/space_vines/vine_event.dm index c4c805b1667e2..ce9881c990797 100644 --- a/code/modules/events/space_vines/vine_event.dm +++ b/code/modules/events/space_vines/vine_event.dm @@ -39,7 +39,7 @@ for(var/area/station/hallway/area in GLOB.areas) for(var/turf/open/floor in area.get_turfs_from_all_zlevels()) - if(floor.Enter(vine)) + if(!isopenspaceturf(floor) && floor.Enter(vine)) turfs += floor qdel(vine) @@ -64,7 +64,7 @@ /datum/event_admin_setup/set_location/spacevine/apply_to_event(datum/round_event/spacevine/event) event.override_turf = chosen_turf - + /datum/event_admin_setup/multiple_choice/spacevine input_text = "Select starting mutations." min_choices = 0 @@ -88,7 +88,7 @@ type_choices += text2path(choice) event.mutations_overridden = TRUE event.override_mutations = type_choices - + /datum/event_admin_setup/input_number/spacevine_potency input_text = "Set vine's potency (effects mutation frequency + max severity)" max_value = 100 diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm index 274d45aa7ca8c..0be1138f59a59 100644 --- a/code/modules/events/stray_cargo.dm +++ b/code/modules/events/stray_cargo.dm @@ -183,5 +183,5 @@ ///Apply the syndicate pod skin /datum/round_event/stray_cargo/syndicate/make_pod() var/obj/structure/closet/supplypod/S = new - S.setStyle(STYLE_SYNDICATE) + S.setStyle(/datum/pod_style/syndicate) return S diff --git a/code/modules/events/supermatter_surge.dm b/code/modules/events/supermatter_surge.dm index 6c790c84f8d7e..c7fb6f969d82b 100644 --- a/code/modules/events/supermatter_surge.dm +++ b/code/modules/events/supermatter_surge.dm @@ -91,7 +91,8 @@ end_when = rand(SURGE_DURATION_MIN, SURGE_DURATION_MAX) /datum/round_event/supermatter_surge/announce(fake) - priority_announce("The Crystal Integrity Monitoring System has detected unusual atmospheric properties in the supermatter chamber, energy output from the supermatter crystal has increased significantly. Engineering intervention is required to stabilize the engine.", "Class [surge_class] Supermatter Surge Alert", 'sound/machines/engine_alert3.ogg') + var/class_to_announce = fake ? pick(1, 2, 3, 4) : surge_class + priority_announce("The Crystal Integrity Monitoring System has detected unusual atmospheric properties in the supermatter chamber, energy output from the supermatter crystal has increased significantly. Engineering intervention is required to stabilize the engine.", "Class [class_to_announce] Supermatter Surge Alert", 'sound/machines/engine_alert3.ogg') /datum/round_event/supermatter_surge/start() engine.bullet_energy = surge_class + SURGE_BULLET_ENERGY_ADDITION @@ -99,7 +100,6 @@ sm_gas.heat_power_generation = (surge_class * SURGE_POWER_GENERATION_MODIFIER) - 1 sm_gas.heat_modifier = (surge_class * SURGE_HEAT_MODIFIER) - 1 - /datum/round_event/supermatter_surge/end() engine.bullet_energy = initial(engine.bullet_energy) sm_gas.powerloss_inhibition = initial(sm_gas.powerloss_inhibition) diff --git a/code/modules/experisci/experiment/experiments.dm b/code/modules/experisci/experiment/experiments.dm index 9587b6209e271..c9f4f1b3d1bd7 100644 --- a/code/modules/experisci/experiment/experiments.dm +++ b/code/modules/experisci/experiment/experiments.dm @@ -82,7 +82,7 @@ /datum/experiment/ordnance/explosive/hydrogenbomb name = "Hydrogen Explosives" - description = "Combustion of Hydrogen and it's derivatives can be very powerful. Capture any tank explosion with a Doppler Array and publish the data in a paper. Only Hydrogen or Tritium Fires are allowed." + description = "Combustion of Hydrogen and its derivatives can be very powerful. Capture any tank explosion with a Doppler Array and publish the data in a paper. Only Hydrogen or Tritium Fires are allowed." gain = list(15,40,60) target_amount = list(50,75,150) experiment_proper = TRUE @@ -387,7 +387,7 @@ if (organ.type == target_species.get_mutant_organ_type_for_slot(organ.slot)) continue else - if ((organ.type in target_species.mutant_organs) || (organ.type in target_species.external_organs)) + if ((organ.type in target_species.mutant_organs)) continue return TRUE return FALSE diff --git a/code/modules/experisci/experiment/handlers/experiment_handler.dm b/code/modules/experisci/experiment/handlers/experiment_handler.dm index 622d84551a285..bb0cc2fb0a5e3 100644 --- a/code/modules/experisci/experiment/handlers/experiment_handler.dm +++ b/code/modules/experisci/experiment/handlers/experiment_handler.dm @@ -355,7 +355,7 @@ ) .["experiments"] += list(data) -/datum/component/experiment_handler/ui_act(action, params) +/datum/component/experiment_handler/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/explorer_drone/control_console.dm b/code/modules/explorer_drone/control_console.dm index 8cc8854f27dc8..78451dd71a168 100644 --- a/code/modules/explorer_drone/control_console.dm +++ b/code/modules/explorer_drone/control_console.dm @@ -97,7 +97,7 @@ icon_screen = initial(icon_screen) . = ..() -/obj/machinery/computer/exodrone_control_console/ui_act(action, list/params) +/obj/machinery/computer/exodrone_control_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/explorer_drone/exodrone.dm b/code/modules/explorer_drone/exodrone.dm index 5754ccc4a5e18..e34bb581e01b1 100644 --- a/code/modules/explorer_drone/exodrone.dm +++ b/code/modules/explorer_drone/exodrone.dm @@ -342,6 +342,7 @@ GLOBAL_LIST_EMPTY(exodrone_launchers) /// Exploration drone launcher /obj/machinery/exodrone_launcher + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "exploration drone launcher" desc = "A launch pad designed to send exploration drones into the great beyond." icon = 'icons/obj/exploration.dmi' diff --git a/code/modules/explorer_drone/scanner_array.dm b/code/modules/explorer_drone/scanner_array.dm index 6317ee273bed4..0cbeb684a8c6e 100644 --- a/code/modules/explorer_drone/scanner_array.dm +++ b/code/modules/explorer_drone/scanner_array.dm @@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(scan_conditions,init_scan_conditions()) . = ..() .["all_bands"] = GLOB.exoscanner_bands -/obj/machinery/computer/exoscanner_control/ui_act(action, list/params) +/obj/machinery/computer/exoscanner_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/fishing/admin.dm b/code/modules/fishing/admin.dm index 0a9cfc9d51dd9..ba5c29a7fd172 100644 --- a/code/modules/fishing/admin.dm +++ b/code/modules/fishing/admin.dm @@ -48,7 +48,7 @@ ADMIN_VERB(fishing_calculator, R_DEBUG, "Fishing Calculator", "A calculator... f if(hook_type) 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_HOOK) + temporary_rod.set_slot(new line_type(temporary_rod), ROD_SLOT_LINE) var/result_table = list() var/modified_table = spot.get_modified_fish_table(temporary_rod,user) diff --git a/code/modules/fishing/aquarium/aquarium.dm b/code/modules/fishing/aquarium/aquarium.dm index cd05d0bd34baf..f7698a80b43fb 100644 --- a/code/modules/fishing/aquarium/aquarium.dm +++ b/code/modules/fishing/aquarium/aquarium.dm @@ -13,9 +13,9 @@ name = "aquarium" desc = "A vivarium in which aquatic fauna and flora are usually kept and displayed." density = TRUE - anchored = TRUE + anchored = FALSE - icon = 'icons/obj/aquarium/tanks.dmi' + icon = 'icons/obj/structures/aquarium/tanks.dmi' icon_state = "aquarium_map" integrity_failure = 0.3 @@ -35,17 +35,17 @@ var/last_feeding /// Can fish reproduce in this quarium. - var/allow_breeding = FALSE + var/allow_breeding = TRUE //This is the area where fish can swim var/aquarium_zone_min_px = 2 var/aquarium_zone_max_px = 31 var/aquarium_zone_min_py = 10 - var/aquarium_zone_max_py = 24 + var/aquarium_zone_max_py = 28 var/list/fluid_types = list(AQUARIUM_FLUID_SALTWATER, AQUARIUM_FLUID_FRESHWATER, AQUARIUM_FLUID_SULPHWATEVER, AQUARIUM_FLUID_AIR) - var/panel_open = TRUE + var/panel_open = FALSE ///Current layers in use by aquarium contents var/list/used_layers = list() @@ -64,7 +64,7 @@ RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(on_attacked)) create_reagents(6, SEALED_CONTAINER) RegisterSignal(reagents, COMSIG_REAGENTS_NEW_REAGENT, PROC_REF(start_autofeed)) - AddComponent(/datum/component/plumbing/aquarium) + AddComponent(/datum/component/plumbing/aquarium, start = anchored) if(current_beauty) AddElement(/datum/element/beauty, current_beauty) ADD_KEEP_TOGETHER(src, INNATE_TRAIT) @@ -323,7 +323,7 @@ .["maxTemperature"] = max_fluid_temp .["fluidTypes"] = fluid_types -/obj/structure/aquarium/ui_act(action, params) +/obj/structure/aquarium/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -390,15 +390,25 @@ #undef AQUARIUM_BORDERS_LAYER #undef AQUARIUM_BELOW_GLASS_LAYER +/obj/structure/aquarium/lawyer + anchored = TRUE + /obj/structure/aquarium/lawyer/Initialize(mapload) . = ..() new /obj/item/aquarium_prop/sand(src) new /obj/item/aquarium_prop/seaweed(src) - new /obj/item/fish/goldfish/gill(src) + if(prob(85)) + new /obj/item/fish/goldfish/gill(src) + reagents.add_reagent(/datum/reagent/consumable/nutriment, 2) + else + new /obj/item/fish/three_eyes/gill(src) + reagents.add_reagent(/datum/reagent/toxin/mutagen, 2) //three eyes goldfish feed on mutagen. + - reagents.add_reagent(/datum/reagent/consumable/nutriment, 2) +/obj/structure/aquarium/prefilled + anchored = TRUE /obj/structure/aquarium/prefilled/Initialize(mapload) . = ..() diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm index 1161648f7d15f..e8bf5e9104090 100644 --- a/code/modules/fishing/aquarium/aquarium_kit.dm +++ b/code/modules/fishing/aquarium/aquarium_kit.dm @@ -2,7 +2,7 @@ /obj/item/fish_feed name = "fish feed can" desc = "A refillable can that dispenses nutritious fish feed." - icon = 'icons/obj/aquarium/supplies.dmi' + icon = 'icons/obj/structures/aquarium/supplies.dmi' icon_state = "fish_feed" w_class = WEIGHT_CLASS_TINY @@ -21,15 +21,15 @@ desc = "A resizable case keeping the fish inside in stasis." icon = 'icons/obj/storage/case.dmi' icon_state = "fishbox" - + w_class = WEIGHT_CLASS_SMALL inhand_icon_state = "syringe_kit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - storage_type = /datum/storage/fish_case + storage_type = /datum/storage/fish_case/adjust_size /obj/item/storage/fish_case/Initialize(mapload) - ADD_TRAIT(src, TRAIT_FISH_SAFE_STORAGE, TRAIT_GENERIC) // Before populate so fish instatiates in ready container already - return ..() + . = ..() + AddElement(/datum/element/fish_safe_storage) /obj/item/storage/fish_case/PopulateContents() var/fish_type = get_fish_type() @@ -58,7 +58,7 @@ name = "ominous fish case" /obj/item/storage/fish_case/syndicate/get_fish_type() - return pick(/obj/item/fish/donkfish, /obj/item/fish/emulsijack, /obj/item/fish/jumpercable) + return pick(/obj/item/fish/donkfish, /obj/item/fish/emulsijack, /obj/item/fish/jumpercable, /obj/item/fish/chainsawfish) /obj/item/storage/fish_case/tiziran name = "imported fish case" @@ -91,10 +91,17 @@ for(var/obj/item/fish/fish as anything in contents) fish.set_status(FISH_DEAD) +/obj/item/storage/fish_case/bluespace + name = "bluespace fish case" + icon_state = "fishbox_bluespace" + desc = "An improved fish case to keep large fish in stasis in a compact little space." + w_class = WEIGHT_CLASS_NORMAL + storage_type = /datum/storage/fish_case + /obj/item/aquarium_kit name = "DIY Aquarium Construction Kit" desc = "Everything you need to build your own aquarium. Raw materials sold separately." - icon = 'icons/obj/aquarium/supplies.dmi' + icon = 'icons/obj/structures/aquarium/supplies.dmi' icon_state = "construction_kit" w_class = WEIGHT_CLASS_TINY @@ -106,7 +113,7 @@ /obj/item/aquarium_prop name = "generic aquarium prop" desc = "very boring" - icon = 'icons/obj/aquarium/supplies.dmi' + icon = 'icons/obj/structures/aquarium/supplies.dmi' w_class = WEIGHT_CLASS_TINY var/layer_mode = AQUARIUM_LAYER_MODE_BOTTOM @@ -143,6 +150,7 @@ /obj/item/storage/box/aquarium_props name = "aquarium props box" desc = "All you need to make your aquarium look good." + illustration = "fish" /obj/item/storage/box/aquarium_props/PopulateContents() for(var/prop_type in subtypesof(/obj/item/aquarium_prop)) diff --git a/code/modules/fishing/aquarium/aquarium_upgrades.dm b/code/modules/fishing/aquarium/aquarium_upgrades.dm index c73e6e9d230ae..df3f961ceed24 100644 --- a/code/modules/fishing/aquarium/aquarium_upgrades.dm +++ b/code/modules/fishing/aquarium/aquarium_upgrades.dm @@ -4,7 +4,7 @@ name = "Aquarium Upgrade" desc = "An upgrade." - icon = 'icons/obj/aquarium/supplies.dmi' + icon = 'icons/obj/structures/aquarium/supplies.dmi' icon_state = "construction_kit" /// What kind of aquarium can accept this upgrade. Strict type check, no subtypes. var/upgrade_from_type = /obj/structure/aquarium diff --git a/code/modules/fishing/aquarium/fish_analyzer.dm b/code/modules/fishing/aquarium/fish_analyzer.dm index 2038f1960f903..3d01479ef5a2f 100644 --- a/code/modules/fishing/aquarium/fish_analyzer.dm +++ b/code/modules/fishing/aquarium/fish_analyzer.dm @@ -20,14 +20,8 @@ greyscale_config_worn = /datum/greyscale_config/fish_analyzer_worn ///The color of the case. Used by grayscale configs and update_overlays() var/case_color - /** - * The radial menu shown when analyzing aquariums. Having a persistent one allows us - * to update it whenever fish come and go, and is also required since we have a select callback - * used to check right clicks for scanning traits instead of status. - */ - var/datum/radial_menu/persistent/fish_menu - /// A cached list of the current choices for the aforedefined radial menu. - var/list/radial_choices + ///the item we have scanned + var/datum/weakref/scanned_item /obj/item/fish_analyzer/Initialize(mapload) case_color = rgb(rand(16, 255), rand(16, 255), rand(16, 255)) @@ -47,11 +41,6 @@ register_item_context() update_appearance() -/obj/item/fish_analyzer/Destroy() - if(fish_menu) - QDEL_NULL(fish_menu) - radial_choices = null - return ..() /obj/item/fish_analyzer/examine(mob/user) . = ..() @@ -68,190 +57,83 @@ . += case . += emissive_appearance(icon, "fish_analyzer_emissive", src) -/obj/item/fish_analyzer/add_item_context(obj/item/source, list/context, atom/target) - if (isfish(target)) - context[SCREENTIP_CONTEXT_LMB] = "Analyze status" - context[SCREENTIP_CONTEXT_RMB] = "Analyze traits" - return CONTEXTUAL_SCREENTIP_SET - else if(isaquarium(target)) - context[SCREENTIP_CONTEXT_LMB] = "Open radial menu" - return CONTEXTUAL_SCREENTIP_SET - return NONE - /obj/item/fish_analyzer/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(!isfish(target) && !isaquarium(target)) return NONE if(!user.can_read(src) || user.is_blind()) return ITEM_INTERACT_BLOCKING - if(isfish(target)) - balloon_alert(user, "analyzing stats") - user.visible_message(span_notice("[user] analyzes [target]."), span_notice("You analyze [target].")) - analyze_status(target, user) - else if(istype(target, /obj/structure/aquarium)) - scan_aquarium(target, user) - return ITEM_INTERACT_SUCCESS - -/obj/item/fish_analyzer/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) - if(!isfish(interacting_with)) - return NONE - if(!user.can_read(src) || user.is_blind()) - return ITEM_INTERACT_BLOCKING - - balloon_alert(user, "analyzing traits") - analyze_traits(interacting_with, user) - return ITEM_INTERACT_SUCCESS - -///Instantiates the radial menu, populates the list of choices, shows it and register signals on the aquarium. -/obj/item/fish_analyzer/proc/scan_aquarium(obj/structure/aquarium/aquarium, mob/user) - if(fish_menu) - balloon_alert(user, "already scanning") - return - var/list/fishes = aquarium.get_fishes() - if(!length(fishes)) - balloon_alert(user, "no fish to scan") - return - radial_choices = list() - for(var/obj/item/fish/fish as anything in fishes) - radial_choices(fish) - fish_menu = show_radial_menu_persistent(user, aquarium, radial_choices, select_proc = CALLBACK(src, PROC_REF(choice_selected), user, aquarium), tooltips = TRUE, custom_check = CALLBACK(src, PROC_REF(can_select_fish), user, aquarium)) - RegisterSignal(aquarium, COMSIG_ATOM_ABSTRACT_ENTERED, PROC_REF(on_aquarium_entered)) - RegisterSignal(aquarium, COMSIG_ATOM_ABSTRACT_EXITED, PROC_REF(on_aquarium_exited)) - RegisterSignal(aquarium, COMSIG_QDELETING, PROC_REF(delete_radial)) - -///Instantiates a radial menu choice datum for the current fish and adds it to the list of choices. -/obj/item/fish_analyzer/proc/radial_choices(obj/item/fish/fish) - var/datum/radial_menu_choice/menu_choice = new - menu_choice.name = fish.name - menu_choice.info = "[fish.status == FISH_ALIVE ? "Alive" : "Dead"]\n[fish.size] cm\n[fish.weight] g\nProgenitors: [fish.progenitors]\nRight-click to analyze traits" - var/mutable_appearance/fish_appearance = new(fish) - fish_appearance.layer = FLOAT_LAYER - fish_appearance.plane = FLOAT_PLANE - menu_choice.image = fish_appearance - radial_choices[fish] = menu_choice - -///Called when the user has selected a choice. If it's a right click, analyze the traits, else the status -/obj/item/fish_analyzer/proc/choice_selected(mob/user, obj/structure/aquarium/aquarium, obj/item/fish/choice, params) - if(!choice || !can_select_fish(user, aquarium)) - delete_radial(aquarium) - return - var/is_right_clicking = LAZYACCESS(params2list(params), RIGHT_CLICK) - user.visible_message(span_notice("[user] analyzes [choice] inside [aquarium]."), span_notice("You analyze [choice] inside [aquarium].")) - if(is_right_clicking) - analyze_traits(choice, user) - else - analyze_status(choice, user) - -///Whether the item should continue to show its radial menu or delete it. -/obj/item/fish_analyzer/proc/can_select_fish(mob/user, obj/structure/aquarium/aquarium) - if(!user.is_holding(src) || !user?.CanReach(aquarium) || IS_DEAD_OR_INCAP(user)) - delete_radial(aquarium) - return FALSE - return TRUE - -///Called when something enters the aquarium. If it's a fish, update the choices. -/obj/item/fish_analyzer/proc/on_aquarium_entered(obj/structure/aquarium/source, atom/movable/arrived) - SIGNAL_HANDLER - if(isfish(arrived)) - radial_choices(arrived) - fish_menu.change_choices(radial_choices, tooltips = TRUE, animate = TRUE) - -///Called when something exits the aquarium. If it's a fish, update the choices. -/obj/item/fish_analyzer/proc/on_aquarium_exited(obj/structure/aquarium/source, atom/movable/gone) - SIGNAL_HANDLER - if(!isfish(gone)) - return - radial_choices -= gone - if(!length(radial_choices)) - delete_radial(source) - return - fish_menu.change_choices(radial_choices, tooltips = TRUE, animate = TRUE) + if(isfish(target) || istype(target, /obj/structure/aquarium)) + scanned_item = WEAKREF(target) + SEND_SIGNAL(src, COMSIG_FISH_ANALYZER_ANALYZE_STATUS, target, user) + ui_interact(user) + return ITEM_INTERACT_SUCCESS -///Unregisters signals, delete the radial menu, unsets the choices. -/obj/item/fish_analyzer/proc/delete_radial(obj/structure/aquarium/source) - SIGNAL_HANDLER - UnregisterSignal(source, list(COMSIG_ATOM_ABSTRACT_EXITED, COMSIG_ATOM_ABSTRACT_ENTERED, COMSIG_QDELETING)) - QDEL_NULL(fish_menu) - radial_choices = null - -/** - * Called when a fish or a menu choice is left-clicked. - * This returns the fish's status, size, weight, feed type, hunger, breeding timeout. - */ -/obj/item/fish_analyzer/proc/analyze_status(obj/item/fish/fish, mob/user) - - // the final list of strings to render - var/render_list = list() - - var/fish_status = fish.status == FISH_DEAD ? span_alert("Deceased") : "[PERCENT(fish.health/initial(fish.health))]% healthy" - - render_list += "[span_info("Analyzing status for [fish]:")]\nOverrall status: [fish_status]\n" - render_list += "Size: [fish.size] cm - Weight: [fish.weight] g\n" - render_list += "Required feed type: [initial(fish.food.name)]\n" - render_list += "Safe temperature: [fish.required_temperature_min] - [fish.required_temperature_max]K" - if(isaquarium(fish.loc)) - var/obj/structure/aquarium/aquarium = fish.loc - if(!ISINRANGE(aquarium.fluid_temp, fish.required_temperature_min, fish.required_temperature_max)) - render_list += span_alert("(OUT OF RANGE)") - render_list += "\n" - render_list += "Safe fluid type: [fish.required_fluid_type]" - if(isaquarium(fish.loc)) - var/obj/structure/aquarium/aquarium = fish.loc - if(!compatible_fluid_type(fish.required_fluid_type, aquarium.fluid_type)) - render_list += span_alert("(IN UNSAFE FLUID)") - render_list += "" - - if(fish.status != FISH_DEAD) - render_list += "\n" - if(!HAS_TRAIT(fish, TRAIT_FISH_NO_HUNGER)) - var/hunger = PERCENT(min((world.time - fish.last_feeding) / fish.feeding_frequency, 1)) - var/hunger_string = "[hunger]%" - switch(hunger) - if(0 to 60) - hunger_string = span_info(hunger_string) - if(60 to 90) - hunger_string = span_warning(hunger_string) - if(90 to 100) - hunger_string = span_alert(hunger_string) - render_list += "Hunger: [hunger_string]\n" - var/time_left = round(max(fish.breeding_wait - world.time, 0)/10) - render_list += "Time until it can breed: [time_left] seconds" - - to_chat(user, examine_block(jointext(render_list, "")), type = MESSAGE_TYPE_INFO) - - SEND_SIGNAL(src, COMSIG_FISH_ANALYZER_ANALYZE_STATUS, fish, user) - -/** - * Called when a fish or a menu choice is left-clicked. - * This returns the fish's progenitors, traits and their inheritability. - */ -/obj/item/fish_analyzer/proc/analyze_traits(obj/item/fish/fish, mob/user) - - // the final list of strings to render - var/render_list = list() - - render_list += "[span_info("Analyzing traits for [fish]:")]\nProgenitor species: [fish.progenitors]\n" - - if(!length(fish.fish_traits)) - render_list += "This fish has no trait to speak of...\n" - else - render_list += "Traits:\n" - for(var/trait_type in fish.fish_traits) - var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] - var/tooltipped_trait = span_tooltip(trait.catalog_description, trait.name) - render_list += "[tooltipped_trait] - Inheritabilities: [trait.inheritability]% - [trait.diff_traits_inheritability]%\n" - - var/evolution_len = length(fish.evolution_types) - if(!evolution_len) - render_list += "This fish has no evolution to speak of..." - for(var/index in 1 to evolution_len) - var/datum/fish_evolution/evolution = GLOB.fish_evolutions[fish.evolution_types[index]] - var/evolution_name = evolution.name - var/evolution_tooltip = evolution.get_evolution_tooltip() - if(evolution_tooltip) - evolution_name = span_tooltip(evolution_tooltip, evolution_name) - render_list += "[evolution_name] - Base Probability: [evolution.probability]%" - if(index != evolution_len) - render_list += "\n" + return NONE - to_chat(user, examine_block(jointext(render_list, "")), type = MESSAGE_TYPE_INFO) +/obj/item/fish_analyzer/ui_interact(mob/user, datum/tgui/ui) + if(isnull(scanned_item?.resolve())) + balloon_alert(user, "no specimen data!") + return TRUE + + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "FishAnalyzer") + ui.open() + +/obj/item/fish_analyzer/ui_static_data(mob/user) + var/list/data = list() + var/atom/scanned_object = scanned_item?.resolve() + data["fish_list"] = list() + data["fish_scanned"] = FALSE + + if(isfish(scanned_object)) + data["fish_scanned"] = TRUE + return extract_fish_info(data, scanned_object) + + var/obj/structure/aquarium/aquarium = scanned_object + for(var/obj/item/fish/fishie in aquarium) + extract_fish_info(data, fishie, aquarium) + + return data + +/obj/item/fish_analyzer/proc/extract_fish_info(list/data, obj/item/fish/fishie, obj/structure/aquarium/aquarium) + var/list/fish_traits = list() + var/list/fish_evolutions = list() + + for(var/evolution_type in fishie.evolution_types) + var/datum/fish_evolution/evolution = GLOB.fish_evolutions[evolution_type] + var/obj/item/evolution_fish = evolution.new_fish_type + fish_evolutions += list(list( + "evolution_name" = evolution.name, + "evolution_icon" = evolution_fish::icon, + "evolution_icon_state" = evolution_fish::icon_state, + "evolution_probability" = evolution.probability, + "evolution_conditions" = evolution.conditions_note, + )) + + for(var/trait_type in fishie.fish_traits) + var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] + fish_traits += list(list("trait_name" = trait.name, "trait_desc" = trait.catalog_description, "trait_inherit" = trait.diff_traits_inheritability)) + + data["fish_list"] += list(list( + "fish_name" = fishie.name, + "fish_icon" = fishie::icon, + "fish_icon_state" = fishie::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_color" = fishie.food::color, + "fish_min_temp" = fishie.required_temperature_min, + "fish_max_temp" = fishie.required_temperature_max, + "fish_hunger" = HAS_TRAIT(fishie, TRAIT_FISH_NO_HUNGER) ? 0 : PERCENT(min((world.time - fishie.last_feeding) / fishie.feeding_frequency, 1)), + "fish_fluid_compatible" = aquarium ? compatible_fluid_type(fishie.required_fluid_type, aquarium.fluid_type) : null, + "fish_fluid_type" = fishie.required_fluid_type, + "fish_breed_timer" = round(max(fishie.breeding_wait - world.time, 0) / 10), + "fish_traits" = fish_traits, + "fish_evolutions" = fish_evolutions, + "fish_suitable_temp" = aquarium ? ISINRANGE(aquarium.fluid_temp, fishie.required_temperature_min, fishie.required_temperature_max) : null + )) + + return data diff --git a/code/modules/fishing/bait.dm b/code/modules/fishing/bait.dm index b67298fab9fea..8eb8911a864ed 100644 --- a/code/modules/fishing/bait.dm +++ b/code/modules/fishing/bait.dm @@ -3,13 +3,16 @@ desc = "there's a lot of them in there, getting them out takes a while though" icon = 'icons/obj/fishing.dmi' icon_state = "bait_can" + base_icon_state = "bait_can" w_class = WEIGHT_CLASS_SMALL /// Tracking until we can take out another bait item COOLDOWN_DECLARE(bait_removal_cooldown) /// What bait item it produces - var/bait_type + var/obj/item/bait_type = /obj/item/food/bait /// Time between bait retrievals - var/cooldown_time = 10 SECONDS + var/cooldown_time = 5 SECONDS + /// How many uses does it have left. + var/uses_left = 20 /obj/item/bait_can/attack_self(mob/user, modifiers) . = ..() @@ -17,19 +20,62 @@ if(fresh_bait) user.put_in_hands(fresh_bait) +/obj/item/bait_can/examine(mob/user) + . = ..() + . += span_info("It[uses_left ? " has got [uses_left] [bait_type::name] left" : "'s empty"].") + +/obj/item/bait_can/update_icon_state() + . = ..() + icon_state = base_icon_state + if(uses_left <= initial(uses_left)) + if(!uses_left) + icon_state = "[icon_state]_empty" + else + icon_state = "[icon_state]_open" + /obj/item/bait_can/proc/retrieve_bait(mob/user) + if(!uses_left) + user.balloon_alert(user, "empty") + return if(!COOLDOWN_FINISHED(src, bait_removal_cooldown)) - user.balloon_alert(user, "wait a bit") //I can't think of generic ic reason. + user.balloon_alert(user, "wait a bit") return COOLDOWN_START(src, bait_removal_cooldown, cooldown_time) + update_appearance() + uses_left-- return new bait_type(src) /obj/item/bait_can/worm name = "can o' worm" - desc = "this can got worms." + desc = "This can got worms." bait_type = /obj/item/food/bait/worm /obj/item/bait_can/worm/premium name = "can o' worm deluxe" - desc = "this can got fancy worms." + desc = "This can got fancy worms." bait_type = /obj/item/food/bait/worm/premium + +/obj/item/bait_can/super_baits + name = "can o' super-baits" + desc = "This can got the nectar of god." + bait_type = /obj/item/food/bait/doughball/synthetic/super + uses_left = 12 + + +/// Helper proc that checks if a bait matches identifier from fav/disliked bait list +/proc/is_matching_bait(obj/item/bait, identifier) + if(ispath(identifier)) //Just a path + return istype(bait, identifier) + if(islist(identifier)) + var/list/special_identifier = identifier + switch(special_identifier["Type"]) + if("Foodtype") + var/obj/item/food/food_bait = bait + return istype(food_bait) && food_bait.foodtypes & special_identifier["Value"] + if("Reagent") + return bait.reagents?.has_reagent(special_identifier["Value"], special_identifier["Amount"], check_subtypes = TRUE) + else + CRASH("Unknown bait identifier in fish favourite/disliked list") + else + return HAS_TRAIT(bait, identifier) + diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index c4be35817b7ac..6c6621634642b 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -2,21 +2,23 @@ /obj/item/fish name = "generic looking aquarium fish" desc = "very bland" - icon = 'icons/obj/aquarium/fish.dmi' + icon = 'icons/obj/structures/aquarium/fish.dmi' icon_state = "bugfish" lefthand_file = 'icons/mob/inhands/fish_lefthand.dmi' righthand_file = 'icons/mob/inhands/fish_righthand.dmi' - inhand_icon_state = "fish_normal" force = 6 + throwforce = 6 + throw_range = 8 attack_verb_continuous = list("slaps", "whacks") attack_verb_simple = list("slap", "whack") hitsound = 'sound/weapons/slap.ogg' ///The grind results of the fish. They scale with the weight of the fish. - grind_results = list(/datum/reagent/blood = 20, /datum/reagent/consumable/liquidgibs = 5) + grind_results = list(/datum/reagent/blood = 5, /datum/reagent/consumable/liquidgibs = 5) obj_flags = UNIQUE_RENAME + item_flags = IMMUTABLE_SLOW|SLOWS_WHILE_IN_HAND /// Resulting width of aquarium visual icon - default size of "fish_greyscale" state - var/sprite_width = 3 + var/sprite_width = 5 /// Resulting height of aquarium visual icon - default size of "fish_greyscale" state var/sprite_height = 3 @@ -85,10 +87,6 @@ /// The species' name(s) of the parents of the fish. Shown by the fish analyzer. var/progenitors - var/flopping = FALSE - - var/in_stasis = FALSE - // Fishing related properties /** @@ -97,8 +95,8 @@ */ var/list/fish_traits = list() - /// Fishing behaviour - var/fish_ai_type = FISH_AI_DUMB + /// path to datums that dictate how the fish moves during the fishing minigame + var/fish_movement_type = /datum/fish_movement /// Base additive modifier to fishing difficulty var/fishing_difficulty_modifier = 0 @@ -125,6 +123,9 @@ /// Average weight for this fish type in grams var/average_weight = 1000 + ///The general deviation from the average weight and size this fish has in the wild + var/weight_size_deviation = 0.2 + /// When outside of an aquarium, these gases that are checked (as well as pressure and temp) to assert if the environment is safe or not. var/list/safe_air_limits = list( /datum/gas/oxygen = list(12, 100), @@ -190,12 +191,24 @@ /obj/item/fish/examine(mob/user) . = ..() - // All spacemen have magic eyes of fish weight perception until fish scale (get it?) is implemented. - . += span_notice("It's [size] cm long.") - . += span_notice("It weighs [weight] g.") + if(HAS_MIND_TRAIT(user, TRAIT_EXAMINE_DEEPER_FISH)) + if(status == FISH_DEAD) + . += span_deadsay("it's dead.") + var/list/warnings = list() + if(is_hungry()) + warnings += "starving" + if(!HAS_TRAIT(src, TRAIT_FISH_STASIS) && !proper_environment()) + warnings += "drowning" + if(health < initial(health) * 0.6) + warnings += "sick" + if(length(warnings)) + . += span_warning("it's [english_list(warnings)]") + if(HAS_MIND_TRAIT(user, TRAIT_EXAMINE_FISH)) + . += span_notice("It's [size] cm long.") + . += span_notice("It weighs [weight] g.") ///Randomizes weight and size. -/obj/item/fish/proc/randomize_size_and_weight(base_size = average_size, base_weight = average_weight, deviation = 0.2) +/obj/item/fish/proc/randomize_size_and_weight(base_size = average_size, base_weight = average_weight, deviation = weight_size_deviation) var/size_deviation = 0.2 * base_size var/new_size = round(clamp(gaussian(base_size, size_deviation), average_size * 1/MAX_FISH_DEVIATION_COEFF, average_size * MAX_FISH_DEVIATION_COEFF)) @@ -206,38 +219,125 @@ ///Updates weight and size, along with weight class, number of fillets you can get and grind results. /obj/item/fish/proc/update_size_and_weight(new_size = average_size, new_weight = average_weight) - if(size && fillet_type) - RemoveElement(/datum/element/processable, TOOL_KNIFE, fillet_type, num_fillets, 0.5 SECONDS, screentip_verb = "Cut") + SEND_SIGNAL(src, COMSIG_FISH_UPDATE_SIZE_AND_WEIGHT, new_size, new_weight) + if(size) + if(fillet_type) + RemoveElement(/datum/element/processable, TOOL_KNIFE, fillet_type, num_fillets, 0.5 SECONDS * num_fillets, screentip_verb = "Cut") + if(size > FISH_SIZE_TWO_HANDS_REQUIRED) + qdel(GetComponent(/datum/component/two_handed)) size = new_size + var/init_icon_state = initial(inhand_icon_state) switch(size) if(0 to FISH_SIZE_TINY_MAX) update_weight_class(WEIGHT_CLASS_TINY) - inhand_icon_state = "fish_small" + if(!init_icon_state) + inhand_icon_state = "fish_small" if(FISH_SIZE_TINY_MAX to FISH_SIZE_SMALL_MAX) - inhand_icon_state = "fish_small" + if(!init_icon_state) + inhand_icon_state = "fish_small" update_weight_class(WEIGHT_CLASS_SMALL) if(FISH_SIZE_SMALL_MAX to FISH_SIZE_NORMAL_MAX) - inhand_icon_state = "fish_normal" + if(!init_icon_state) + inhand_icon_state = "fish_normal" update_weight_class(WEIGHT_CLASS_NORMAL) if(FISH_SIZE_NORMAL_MAX to FISH_SIZE_BULKY_MAX) - inhand_icon_state = "fish_bulky" + if(!init_icon_state) + inhand_icon_state = "fish_bulky" update_weight_class(WEIGHT_CLASS_BULKY) - if(FISH_SIZE_BULKY_MAX to INFINITY) - inhand_icon_state = "fish_huge" + if(FISH_SIZE_BULKY_MAX to FISH_SIZE_HUGE_MAX) + if(!init_icon_state) + inhand_icon_state = "fish_huge" update_weight_class(WEIGHT_CLASS_HUGE) + if(FISH_SIZE_HUGE_MAX to INFINITY) + if(!init_icon_state) + inhand_icon_state = "fish_huge" + update_weight_class(WEIGHT_CLASS_GIGANTIC) + + if(size > FISH_SIZE_TWO_HANDS_REQUIRED) + inhand_icon_state = "[inhand_icon_state]_wielded" + AddComponent(/datum/component/two_handed, require_twohands = TRUE) + if(fillet_type) var/init_fillets = initial(num_fillets) var/amount = max(round(init_fillets * size / FISH_FILLET_NUMBER_SIZE_DIVISOR, 1), 1) num_fillets = amount - AddElement(/datum/element/processable, TOOL_KNIFE, fillet_type, num_fillets, 0.5 SECONDS, screentip_verb = "Cut") + AddElement(/datum/element/processable, TOOL_KNIFE, fillet_type, num_fillets, 0.5 SECONDS * num_fillets, screentip_verb = "Cut") if(weight) for(var/reagent_type in grind_results) grind_results[reagent_type] /= FLOOR(weight/FISH_GRIND_RESULTS_WEIGHT_DIVISOR, 0.1) weight = new_weight + + if(weight >= FISH_WEIGHT_SLOWDOWN) + slowdown = round(((weight/FISH_WEIGHT_SLOWDOWN_DIVISOR)**FISH_WEIGHT_SLOWDOWN_EXPONENT)-1.3, 0.1) + drag_slowdown = round(slowdown * 0.5, 1) + else + slowdown = 0 + drag_slowdown = 0 + if(ismob(loc)) + var/mob/mob = loc + mob.update_equipment_speed_mods() + for(var/reagent_type in grind_results) grind_results[reagent_type] *= FLOOR(weight/FISH_GRIND_RESULTS_WEIGHT_DIVISOR, 0.1) + update_fish_force() + +///Reset weapon-related variables of this items and recalculates those values based on the fish weight and size. +/obj/item/fish/proc/update_fish_force() + force = initial(force) + throwforce = initial(throwforce) + throw_range = initial(throw_range) + demolition_mod = initial(demolition_mod) + attack_verb_continuous = initial(attack_verb_continuous) + attack_verb_simple = initial(attack_verb_simple) + hitsound = initial(hitsound) + damtype = initial(damtype) + attack_speed = initial(attack_speed) + block_chance = initial(block_chance) + armour_penetration = initial(armour_penetration) + wound_bonus = initial(wound_bonus) + bare_wound_bonus = initial(bare_wound_bonus) + toolspeed = initial(toolspeed) + + var/weight_rank = max(round(1 + log(2, weight/FISH_WEIGHT_FORCE_DIVISOR), 1), 1) + + throw_range -= weight_rank + get_force_rank() + + var/bonus_malus = weight_rank - w_class + if(bonus_malus) + calculate_fish_force_bonus(bonus_malus) + + throwforce = force + + SEND_SIGNAL(src, COMSIG_FISH_FORCE_UPDATED, weight_rank, bonus_malus) + +///A proc that makes the fish slightly stronger or weaker if there's a noticeable discrepancy between size and weight. +/obj/item/fish/proc/calculate_fish_force_bonus(bonus_malus) + demolition_mod += bonus_malus * 0.1 + attack_speed += bonus_malus * 0.1 + force = round(force * (1 + bonus_malus * 0.1), 0.1) + +/obj/item/fish/proc/get_force_rank() + switch(w_class) + if(WEIGHT_CLASS_TINY) + force -= 3 + attack_speed -= 0.1 SECONDS + if(WEIGHT_CLASS_NORMAL) + force += 2 + if(WEIGHT_CLASS_BULKY) + force += 5 + attack_speed += 0.1 SECONDS + if(WEIGHT_CLASS_HUGE) + force += 9 + attack_speed += 0.2 SECONDS + demolition_mod += 0.2 + if(WEIGHT_CLASS_GIGANTIC) + force += 13 + attack_speed += 0.4 SECONDS + demolition_mod += 0.4 + /** * This proc has fish_traits list populated with fish_traits paths from three different lists: * traits from x_traits and y_traits are compared, and inserted if conditions are met; @@ -253,18 +353,21 @@ var/list/same_traits = x_traits & y_traits var/list/all_traits = (x_traits|y_traits)-removed_traits - /** - * Traits that the fish is guaranteed to inherit will be inherited, - * with the assertion that they're compatible anyway. - */ - for(var/trait_type in all_traits) - var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] - if(type in trait.guaranteed_inheritance_types) - fish_traits |= trait_type - all_traits -= trait_type - ///Build a list of incompatible traits. Don't let any such trait pass onto the fish. + /// a list of incompatible traits that'll be filled as it goes on. Don't let any such trait pass onto the fish. var/list/incompatible_traits = list() + + ///some traits can spontaneously manifest for some fishes. These have higher priorities than other traits + var/list/potential_spontaneous_traits = GLOB.spontaneous_fish_traits[type] + for(var/trait_type in potential_spontaneous_traits) + if(!prob(potential_spontaneous_traits[trait_type])) + continue + var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] + if(length(fish_traits & trait.incompatible_traits)) + continue + fish_traits |= trait_type + incompatible_traits |= trait.incompatible_traits + for(var/trait_type in fish_traits) var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] incompatible_traits |= trait.incompatible_traits @@ -278,6 +381,8 @@ if(trait_type in incompatible_traits) continue var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] + if(!isnull(trait.fish_whitelist) && !(type in trait.fish_whitelist)) + continue if(length(fish_traits & trait.incompatible_traits)) continue if((trait_type in same_traits) ? prob(trait.inheritability) : prob(trait.diff_traits_inheritability)) @@ -301,13 +406,13 @@ check_environment() /obj/item/fish/proc/enter_stasis() - in_stasis = TRUE + ADD_TRAIT(src, TRAIT_FISH_STASIS, INNATE_TRAIT) // Stop processing until inserted into aquarium again. stop_flopping() STOP_PROCESSING(SSobj, src) /obj/item/fish/proc/exit_stasis() - in_stasis = FALSE + REMOVE_TRAIT(src, TRAIT_FISH_STASIS, INNATE_TRAIT) if(status != FISH_DEAD) START_PROCESSING(SSobj, src) @@ -327,15 +432,9 @@ fed_reagents.remove_reagent(fed_reagent_type, 0.1) SEND_SIGNAL(src, COMSIG_FISH_FED, fed_reagents, fed_reagent_type) -/obj/item/fish/proc/check_environment(stasis_check = TRUE) +/obj/item/fish/proc/check_environment() if(QDELETED(src)) //we don't care anymore return - if(stasis_check) - // Apply/remove stasis as needed - if(loc && HAS_TRAIT(loc, TRAIT_FISH_SAFE_STORAGE)) - enter_stasis() - else if(in_stasis) - exit_stasis() if(!do_flop_animation) return @@ -343,7 +442,7 @@ // Do additional stuff var/in_aquarium = isaquarium(loc) // Start flopping if outside of fish container - var/should_be_flopping = status == FISH_ALIVE && loc && !HAS_TRAIT(loc,TRAIT_FISH_SAFE_STORAGE) && !in_aquarium + var/should_be_flopping = status == FISH_ALIVE && !HAS_TRAIT(src, TRAIT_FISH_STASIS) && !in_aquarium if(should_be_flopping) start_flopping() @@ -351,7 +450,7 @@ stop_flopping() /obj/item/fish/process(seconds_per_tick) - if(in_stasis || status != FISH_ALIVE) + if(HAS_TRAIT(src, TRAIT_FISH_STASIS) || status != FISH_ALIVE) return process_health(seconds_per_tick) @@ -363,7 +462,7 @@ SEND_SIGNAL(src, COMSIG_FISH_LIFE, seconds_per_tick) -/obj/item/fish/proc/set_status(new_status) +/obj/item/fish/proc/set_status(new_status, silent = FALSE) if(status == new_status) return switch(new_status) @@ -371,20 +470,36 @@ status = FISH_ALIVE health = initial(health) // since the fishe has been revived last_feeding = world.time //reset hunger - check_environment(FALSE) + check_environment() START_PROCESSING(SSobj, src) if(FISH_DEAD) status = FISH_DEAD STOP_PROCESSING(SSobj, src) stop_flopping() - var/message = span_notice(replacetext(death_text, "%SRC", "[src]")) - if(isaquarium(loc)) - loc.visible_message(message) - else - visible_message(message) + if(!silent) + var/message = span_notice(replacetext(death_text, "%SRC", "[src]")) + if(isaquarium(loc)) + loc.visible_message(message) + else + visible_message(message) update_appearance() + update_fish_force() SEND_SIGNAL(src, COMSIG_FISH_STATUS_CHANGED) +/obj/item/fish/expose_reagents(list/reagents, datum/reagents/source, methods = TOUCH, volume_modifier = 1, show_message = TRUE) + . = ..() + if(. & COMPONENT_NO_EXPOSE_REAGENTS || status != FISH_DEAD) + return + var/datum/reagent/medicine/strange_reagent/revival = locate() in reagents + if(!revival) + return + if(reagents[revival] >= 2 * w_class) + set_status(FISH_ALIVE) + else + balloon_alert_to_viewers("twitches for a moment!") + animate(src, pixel_x = 1, time = 0.1 SECONDS, loop = 2, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL) + animate(pixel_x = -1, flags = ANIMATION_RELATIVE) + /obj/item/fish/proc/use_lazarus(datum/source, obj/item/lazarus_injector/injector, mob/user) SIGNAL_HANDLER if(injector.revive_type != SENTIENCE_ORGANIC) @@ -447,10 +562,6 @@ if(health <= 0) set_status(FISH_DEAD) - -//Fish breeding stops if fish count exceeds this. -#define AQUARIUM_MAX_BREEDING_POPULATION 20 - /obj/item/fish/proc/ready_to_reproduce(being_targeted = FALSE) var/obj/structure/aquarium/aquarium = loc if(!istype(aquarium)) @@ -459,9 +570,7 @@ return FALSE if(!being_targeted && length(aquarium.get_fishes()) >= AQUARIUM_MAX_BREEDING_POPULATION) return FALSE - return aquarium.allow_breeding && health >= initial(health) * 0.8 && stable_population > 1 && world.time >= breeding_wait - -#undef AQUARIUM_MAX_BREEDING_POPULATION + return aquarium.allow_breeding && health >= initial(health) * 0.8 && stable_population >= 1 && world.time >= breeding_wait /obj/item/fish/proc/try_to_reproduce() var/obj/structure/aquarium/aquarium = loc @@ -496,36 +605,48 @@ second_fish = other_fish break - if(!second_fish && !HAS_TRAIT(src, TRAIT_FISH_SELF_REPRODUCE)) - return FALSE + if(!second_fish) + if(!HAS_TRAIT(src, TRAIT_FISH_SELF_REPRODUCE)) + return FALSE + if(length(aquarium.tracked_fish_by_type[type]) >= stable_population) + return FALSE + + if(PERFORM_ALL_TESTS(fish_breeding) && second_fish && !length(evolution_types)) + return create_offspring(second_fish.type, second_fish) var/chosen_type var/datum/fish_evolution/chosen_evolution - if(PERFORM_ALL_TESTS(fish_breeding) && second_fish && !length(evolution_types)) - chosen_type = second_fish.type - else - var/list/possible_evolutions = list() - for(var/evolution_type in evolution_types) + var/list/possible_evolutions = list() + for(var/evolution_type in evolution_types) + var/datum/fish_evolution/evolution = GLOB.fish_evolutions[evolution_type] + if(evolution.check_conditions(src, second_fish, aquarium)) + possible_evolutions += evolution + if(second_fish?.evolution_types) + var/secondary_evolutions = (second_fish.evolution_types - evolution_types) + for(var/evolution_type in secondary_evolutions) var/datum/fish_evolution/evolution = GLOB.fish_evolutions[evolution_type] - if(evolution.check_conditions(src, second_fish, aquarium)) + if(evolution.check_conditions(second_fish, src, aquarium)) possible_evolutions += evolution - if(second_fish?.evolution_types) - var/secondary_evolutions = (second_fish.evolution_types - evolution_types) - for(var/evolution_type in secondary_evolutions) - var/datum/fish_evolution/evolution = GLOB.fish_evolutions[evolution_type] - if(evolution.check_conditions(second_fish, src, aquarium)) - possible_evolutions += evolution - - if(length(possible_evolutions)) - chosen_evolution = pick(possible_evolutions) - chosen_type = chosen_evolution.new_fish_type - else if(second_fish) - if(length(aquarium.tracked_fish_by_type[type]) >= stable_population) + + if(length(possible_evolutions)) + chosen_evolution = pick(possible_evolutions) + chosen_type = chosen_evolution.new_fish_type + else if(second_fish) + var/recessive = HAS_TRAIT(src, TRAIT_FISH_RECESSIVE) + var/recessive_partner = HAS_TRAIT(second_fish, TRAIT_FISH_RECESSIVE) + if(length(aquarium.tracked_fish_by_type[type]) >= stable_population) + if(recessive_partner && !recessive) + return FALSE + chosen_type = second_fish.type + else + if(recessive && !recessive_partner) chosen_type = second_fish.type + else if(recessive_partner && !recessive) + chosen_type = type else chosen_type = pick(second_fish.type, type) - else - chosen_type = type + else + chosen_type = type return create_offspring(chosen_type, second_fish, chosen_evolution) @@ -595,15 +716,15 @@ /// Starts flopping animation /obj/item/fish/proc/start_flopping() - if(flopping) //Requires update_transform/animate_wrappers to be less restrictive. + if(HAS_TRAIT(src, TRAIT_FISH_FLOPPING)) //Requires update_transform/animate_wrappers to be less restrictive. return - flopping = TRUE + ADD_TRAIT(src, TRAIT_FISH_FLOPPING, TRAIT_GENERIC) flop_animation() /// Stops flopping animation /obj/item/fish/proc/stop_flopping() - if(flopping) - flopping = FALSE + if(HAS_TRAIT(src, TRAIT_FISH_FLOPPING)) + REMOVE_TRAIT(src, TRAIT_FISH_FLOPPING, TRAIT_GENERIC) animate(src, transform = matrix()) //stop animation /// Refreshes flopping animation after temporary animation finishes @@ -612,7 +733,7 @@ addtimer(CALLBACK(src, PROC_REF(refresh_flopping)), animation_duration) /obj/item/fish/proc/refresh_flopping() - if(flopping) + if(HAS_TRAIT(src, TRAIT_FISH_FLOPPING)) flop_animation() /obj/item/fish/proc/try_electrogenesis() @@ -628,6 +749,14 @@ fish_zap_flags |= (ZAP_GENERATES_POWER | ZAP_MOB_STUN) tesla_zap(source = get_turf(src), zap_range = fish_zap_range, power = fish_zap_power, cutoff = 1 MEGA JOULES, zap_flags = fish_zap_flags) +///Returns the price of this fish, for the fish export. +/obj/item/fish/proc/get_export_price(price, percent) + var/size_weight_exponentation = (size * weight * 0.01)^0.85 + var/calculated_price = price + size_weight_exponentation * percent + if(HAS_TRAIT(src, TRAIT_FISH_FROM_CASE)) //Avoid printing money by simply ordering fish and sending it back. + calculated_price *= 0.05 + return round(calculated_price) + /// Returns random fish, using random_case_rarity probabilities. /proc/random_fish_type(required_fluid) var/static/probability_table diff --git a/code/modules/fishing/fish/chasm_detritus.dm b/code/modules/fishing/fish/chasm_detritus.dm index 8d6653781595f..ea9fcb4775770 100644 --- a/code/modules/fishing/fish/chasm_detritus.dm +++ b/code/modules/fishing/fish/chasm_detritus.dm @@ -24,27 +24,30 @@ GLOBAL_LIST_INIT_TYPED(chasm_detritus_types, /datum/chasm_detritus, init_chasm_d /// Stuff which you can always fish up even if nothing fell into a hole. Associative by type. var/static/list/default_contents = list( NORMAL_CONTENTS = list( - /obj/item/stack/sheet/bone = 3, - /obj/item/stack/ore/slag = 2, + /obj/item/stack/sheet/bone = 6, + /obj/item/stack/ore/slag = 4, + /obj/effect/mob_spawn/corpse/human/skeleton = 2, /mob/living/basic/mining/lobstrosity/lava = 1, - /obj/effect/mob_spawn/corpse/human/skeleton = 1, + /mob/living/basic/mining/lobstrosity/juvenile/lava = 1, ), BODIES_ONLY = list( - /obj/effect/mob_spawn/corpse/human/skeleton = 3, + /obj/effect/mob_spawn/corpse/human/skeleton = 6, /mob/living/basic/mining/lobstrosity/lava = 1, + /mob/living/basic/mining/lobstrosity/juvenile/lava = 1, ), NO_CORPSES = list( - /obj/item/stack/sheet/bone = 14, - /obj/item/stack/ore/slag = 10, + /obj/item/stack/sheet/bone = 28, + /obj/item/stack/ore/slag = 20, /mob/living/basic/mining/lobstrosity/lava = 1, + /mob/living/basic/mining/lobstrosity/juvenile/lava = 1, ), ) -/datum/chasm_detritus/proc/dispense_detritus(mob/fisherman, turf/fishing_spot) +/datum/chasm_detritus/proc/dispense_detritus(atom/spawn_location, turf/fishing_spot) if(prob(default_contents_chance)) var/default_spawn = pick(default_contents[default_contents_key]) - return new default_spawn(get_turf(fisherman)) - return find_chasm_contents(fishing_spot, get_turf(fisherman)) + return new default_spawn(spawn_location) + return find_chasm_contents(fishing_spot, spawn_location) /// Returns the chosen detritus from the given list of things to choose from /datum/chasm_detritus/proc/determine_detritus(list/chasm_stuff) diff --git a/code/modules/fishing/fish/fish_evolution.dm b/code/modules/fishing/fish/fish_evolution.dm index c04ef2c30796d..4fcc35109a2f8 100644 --- a/code/modules/fishing/fish/fish_evolution.dm +++ b/code/modules/fishing/fish/fish_evolution.dm @@ -78,6 +78,7 @@ GLOBAL_LIST_INIT(fish_evolutions, init_subtypes_w_path_keys(/datum/fish_evolutio /datum/fish_evolution/purple_sludgefish probability = 5 new_fish_type = /obj/item/fish/sludgefish/purple + new_traits = list(/datum/fish_trait/recessive) removed_traits = list(/datum/fish_trait/no_mating) /datum/fish_evolution/mastodon @@ -85,10 +86,10 @@ GLOBAL_LIST_INIT(fish_evolutions, init_subtypes_w_path_keys(/datum/fish_evolutio probability = 40 new_fish_type = /obj/item/fish/mastodon new_traits = list(/datum/fish_trait/heavy, /datum/fish_trait/amphibious, /datum/fish_trait/predator, /datum/fish_trait/aggressive) - conditions_note = "The fish (and its mate) need to be unusually big both in size and weight." + conditions_note = "The fish (and its mate) needs to be unusually big both in size and weight." /datum/fish_evolution/mastodon/check_conditions(obj/item/fish/source, obj/item/fish/mate, obj/structure/aquarium/aquarium) - if((source.size < 144 || source.weight < 4000) || (mate && (mate.size < 144 || mate.weight < 4000))) + if((source.size < 120 || source.weight < 3000) || (mate && (mate.size < 120 || mate.weight < 3000))) return FALSE return ..() @@ -103,3 +104,21 @@ GLOBAL_LIST_INIT(fish_evolutions, init_subtypes_w_path_keys(/datum/fish_evolutio new_fish_type = /obj/item/fish/chasm_crab/ice required_temperature_min = MIN_AQUARIUM_TEMP+9 required_temperature_max = MIN_AQUARIUM_TEMP+10 + +/datum/fish_evolution/three_eyes + name = "Three-eyed Goldfish" + probability = 3 + new_fish_type = /obj/item/fish/three_eyes + new_traits = list(/datum/fish_trait/recessive) + +/datum/fish_evolution/chainsawfish + name = "Chainsawfish" + probability = 30 + new_fish_type = /obj/item/fish/chainsawfish + new_traits = list(/datum/fish_trait/predator, /datum/fish_trait/aggressive) + conditions_note = "The fish needs to be unusually big and aggressive" + +/datum/fish_evolution/chainsawfish/check_conditions(obj/item/fish/source, obj/item/fish/mate, obj/structure/aquarium/aquarium) + if(source.size >= 60 && source.size >= 1000 && (/datum/fish_trait/aggressive in source.fish_traits)) + return ..() + return FALSE diff --git a/code/modules/fishing/fish/fish_traits.dm b/code/modules/fishing/fish/fish_traits.dm index b03233e76a724..3667a038bff49 100644 --- a/code/modules/fishing/fish/fish_traits.dm +++ b/code/modules/fishing/fish/fish_traits.dm @@ -1,5 +1,26 @@ +///A global list of singleton fish traits by their paths GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list())) +/** + * A nested list of fish types and traits that they can spontaneously manifest with associated probabilities + * e.g. list(/obj/item/fish = list(/datum/fish_trait = 100), etc...) + */ +GLOBAL_LIST_INIT(spontaneous_fish_traits, populate_spontaneous_fish_traits()) + +/proc/populate_spontaneous_fish_traits() + var/list/list = list() + for(var/trait_path as anything in GLOB.fish_traits) + var/datum/fish_trait/trait = GLOB.fish_traits[trait_path] + if(isnull(trait.spontaneous_manifest_types)) + continue + var/list/trait_typecache = zebra_typecacheof(trait.spontaneous_manifest_types) - /obj/item/fish + for(var/fish_type in trait_typecache) + var/trait_prob = trait_typecache[fish_type] + if(!trait_prob) + continue + LAZYSET(list[fish_type], trait_path, trait_typecache[fish_type]) + return list + /datum/fish_trait var/name = "Unnamed Trait" /// Description of the trait in the fishing catalog and scanner @@ -10,10 +31,14 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( var/inheritability = 100 /// Same as above, but for when only one has it. var/diff_traits_inheritability = 50 - /// fishes of types within this list are granted to have this trait, no matter the probability - var/list/guaranteed_inheritance_types + /// A list of fish types and traits that they can spontaneously manifest with associated probabilities + var/list/spontaneous_manifest_types + /// An optional whitelist of fish that can get this trait + var/list/fish_whitelist /// Depending on the value, fish with trait will be reported as more or less difficult in the catalog. var/added_difficulty = 0 + /// Reagents added to the fish when gained + var/list/reagents_to_add /// Difficulty modifier from this mod, needs to return a list with two values /datum/fish_trait/proc/difficulty_mod(obj/item/fishing_rod/rod, mob/fisherman) @@ -31,7 +56,20 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( /// Applies some special qualities to the fish that has been spawned /datum/fish_trait/proc/apply_to_fish(obj/item/fish/fish) - return + SHOULD_CALL_PARENT(TRUE) + if(reagents_to_add) + for(var/reagent in reagents_to_add) + add_to_reagents(fish, reagent, reagents_to_add[reagent]) + RegisterSignal(fish, COMSIG_ATOM_PROCESSED, PROC_REF(process_reagents)) + +/// Applies some special qualities to basic mobs generated by fish (i.e. chasm chrab --> young lobstrosity --> lobstrosity). +/datum/fish_trait/proc/apply_to_mob(mob/living/basic/mob) + SHOULD_CALL_PARENT(TRUE) + RegisterSignal(mob, COMSIG_MOB_CHANGED_TYPE, PROC_REF(on_transformed)) + +/datum/fish_trait/proc/on_transformed(mob/source, mob/desired_mob) + SIGNAL_HANDLER + apply_to_mob(desired_mob) /// Proc used by both the predator and necrophage traits. /datum/fish_trait/proc/eat_fish(obj/item/fish/predator, obj/item/fish/prey) @@ -41,6 +79,43 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( SEND_SIGNAL(prey, COMSIG_FISH_EATEN_BY_OTHER_FISH, predator) qdel(prey) +/// Proc that inserts a reagent to the grind_results list of the fish. You'll still have to set the processed comsig proc yourself. +/datum/fish_trait/proc/add_to_reagents(obj/item/fish/fish, reagent_type, amount) + LAZYINITLIST(fish.grind_results) + fish.grind_results.Insert(1, reagent_type) + fish.grind_results[reagent_type] = amount + +/// Proc that handles adding reagents from the trait to the fillets from butchered fish. +/datum/fish_trait/proc/process_reagents(obj/item/fish/source, mob/living/user, obj/item/process_item, list/results) + SIGNAL_HANDLER + var/results_with_reagents = 0 + for(var/atom/result as anything in results) + if(result.reagents) + results_with_reagents++ + if(!results_with_reagents) + return + for(var/reagent in reagents_to_add) + var/amount = round(source.grind_results[reagent] / results_with_reagents, 0.1) + for(var/atom/result as anything in results) + result.reagents?.add_reagent(reagent, amount) + +/// Proc that adds or changes the venomous when the fish size and/or weight are updated +/datum/fish_trait/proc/add_venom(obj/item/fish/source, venom_path, new_weight, mult = 0.25) + if(source.size) + var/old_amount = max(round((source.weight/FISH_GRIND_RESULTS_WEIGHT_DIVISOR) * mult, 0.1), mult) + source.RemoveElement(/datum/element/venomous, venom_path, old_amount) + + var/new_amount = max(round((new_weight/FISH_GRIND_RESULTS_WEIGHT_DIVISOR) * mult, 0.1), mult) + source.AddElement(/datum/element/venomous, venom_path, new_amount) + +/// Proc that changes the venomous element based on if the fish is alive or dead (basically dead fish are weaker). +/datum/fish_trait/proc/change_venom_on_death(obj/item/fish/source, venom_path, live_mult, dead_mult) + var/live_amount = max(round((source.weight/FISH_GRIND_RESULTS_WEIGHT_DIVISOR) * live_mult, 0.1), live_mult) + var/dead_amount = max(round((source.weight/FISH_GRIND_RESULTS_WEIGHT_DIVISOR) * dead_mult, 0.1), dead_mult) + var/is_dead = source.status == FISH_DEAD + source.RemoveElement(/datum/element/venomous, venom_path, is_dead ? live_amount : dead_amount) + source.AddElement(/datum/element/venomous, venom_path, is_dead ? dead_amount : live_amount) + /datum/fish_trait/wary name = "Wary" catalog_description = "This fish will avoid visible fish lines, cloaked line recommended." @@ -72,7 +147,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( return if(HAS_TRAIT(rod.bait, TRAIT_OMNI_BAIT)) return - if(HAS_TRAIT(rod.bait, TRAIT_GOOD_QUALITY_BAIT) || HAS_TRAIT(rod.bait, TRAIT_GREAT_QUALITY_BAIT)) + if(!HAS_TRAIT(rod.bait, TRAIT_GOOD_QUALITY_BAIT) && !HAS_TRAIT(rod.bait, TRAIT_GREAT_QUALITY_BAIT)) .[MULTIPLICATIVE_FISHING_MOD] = 0 @@ -88,6 +163,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( .[MULTIPLICATIVE_FISHING_MOD] = 0 /datum/fish_trait/nocturnal/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(check_light)) /datum/fish_trait/nocturnal/proc/check_light(obj/item/fish/source, seconds_per_tick) @@ -98,12 +174,41 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( if(light_amount > SHADOW_SPECIES_LIGHT_THRESHOLD) source.adjust_health(source.health - 0.5 * seconds_per_tick) +/datum/fish_trait/nocturnal/apply_to_mob(mob/living/basic/mob) + . = ..() + // Make sure the mob can also ee in the dark + mob.lighting_cutoff_red = min(mob.lighting_cutoff_red, 20) + mob.lighting_cutoff_green = min(mob.lighting_cutoff_green, 20) + mob.lighting_cutoff_blue = min(mob.lighting_cutoff_blue, 20) + mob.update_sight() + + RegisterSignal(mob, COMSIG_LIVING_HANDLE_BREATHING, PROC_REF(on_non_stasis_life)) + +/datum/fish_trait/nocturnal/proc/on_non_stasis_life(mob/living/basic/mob, seconds_per_tick = SSMOBS_DT) + SIGNAL_HANDLER + var/turf/our_turf = mob.loc + if(!isturf(our_turf)) + return + var/light_amount = our_turf.get_lumcount() + + if (light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) //heal in the dark + mob.apply_status_effect(/datum/status_effect/shadow_regeneration) + /datum/fish_trait/heavy name = "Heavy" - catalog_description = "This fish tends to stay near the waterbed."; + catalog_description = "This fish tends to stay near the waterbed." + +/datum/fish_trait/heavy/apply_to_mob(mob/living/basic/mob) + . = ..() + mob.add_movespeed_modifier(/datum/movespeed_modifier/heavy_fish) + mob.maxHealth *= 1.5 + mob.health *= 1.5 + mob.melee_damage_lower *= 1.3 + mob.melee_damage_upper *= 1.3 + mob.obj_damage *= 1.3 /datum/fish_trait/heavy/minigame_mod(obj/item/fishing_rod/rod, mob/fisherman, datum/fishing_challenge/minigame) - minigame.fish_idle_velocity -= 10 + minigame.mover.fish_idle_velocity -= 10 /datum/fish_trait/carnivore name = "Carnivore" @@ -144,6 +249,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( catalog_description = "This fish emits an invisible toxin that emulsifies other fish for it to feed on." /datum/fish_trait/emulsijack/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(emulsify)) ADD_TRAIT(fish, TRAIT_RESIST_EMULSIFY, FISH_TRAIT_DATUM) @@ -161,12 +267,29 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( source.adjust_health(source.health + 3 * seconds_per_tick) source.last_feeding = world.time //it feeds on the emulsion! +/datum/fish_trait/emulsijack/apply_to_mob(mob/living/basic/mob) + . = ..() + RegisterSignal(mob, COMSIG_LIVING_HANDLE_BREATHING, PROC_REF(on_non_stasis_life)) + +/datum/fish_trait/emulsijack/proc/on_non_stasis_life(mob/living/basic/mob, seconds_per_tick = SSMOBS_DT) + SIGNAL_HANDLER + var/turf/open/our_turf = get_turf(mob) + if(our_turf.return_air().return_pressure() > ONE_ATMOSPHERE * 1.5) //put a cap otherwise closed spaces may overpressurize + return + + var/datum/gas_mixture/stench = new + ADD_GAS(/datum/gas/miasma, stench.gases) + stench.gases[/datum/gas/miasma][MOLES] = MIASMA_CORPSE_MOLES * 2 * seconds_per_tick + stench.temperature = mob.bodytemperature + our_turf.assume_air(stench) + /datum/fish_trait/necrophage name = "Necrophage" catalog_description = "This fish will eat carcasses of dead fish when hungry." incompatible_traits = list(/datum/fish_trait/vegan) /datum/fish_trait/necrophage/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(eat_dead_fishes)) /datum/fish_trait/necrophage/proc/eat_dead_fishes(obj/item/fish/source, seconds_per_tick) @@ -186,6 +309,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( diff_traits_inheritability = 25 /datum/fish_trait/parthenogenesis/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_SELF_REPRODUCE, FISH_TRAIT_DATUM) /** @@ -199,15 +323,27 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( incompatible_traits = list(/datum/fish_trait/crossbreeder) /datum/fish_trait/no_mating/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_NO_MATING, FISH_TRAIT_DATUM) +///Prevent offsprings of fish with this trait from being of the same type (unless self-mating or the partner also has the trait) +/datum/fish_trait/recessive + name = "Recessive" + catalog_description = "If crossbred, offsprings will always be of the mate species, unless it also possess the trait." + diff_traits_inheritability = 0 + +/datum/fish_trait/no_mating/apply_to_fish(obj/item/fish/fish) + . = ..() + ADD_TRAIT(fish, TRAIT_FISH_RECESSIVE, FISH_TRAIT_DATUM) + /datum/fish_trait/revival diff_traits_inheritability = 15 name = "Self-Revival" catalog_description = "This fish shows a peculiar ability of reviving itself a minute or two after death." - guaranteed_inheritance_types = list(/obj/item/fish/boned, /obj/item/fish/mastodon) + spontaneous_manifest_types = list(/obj/item/fish/boned = 100, /obj/item/fish/mastodon = 100) /datum/fish_trait/revival/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_STATUS_CHANGED, PROC_REF(check_status)) /datum/fish_trait/revival/proc/check_status(obj/item/fish/source) @@ -226,12 +362,17 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( else source.visible_message(message) +/datum/fish_trait/revival/apply_to_mob(mob/living/basic/mob) + . = ..() + mob.AddComponent(/datum/component/regenerator, regeneration_delay = 6 SECONDS, brute_per_second = 2 SECONDS, outline_colour = COLOR_BLUE) + /datum/fish_trait/predator name = "Predator" catalog_description = "It's a predatory fish. It'll hunt down and eat live fishes of smaller size when hungry." incompatible_traits = list(/datum/fish_trait/vegan) /datum/fish_trait/predator/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(eat_fishes)) /datum/fish_trait/predator/proc/eat_fishes(obj/item/fish/source, seconds_per_tick) @@ -240,7 +381,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( return var/obj/structure/aquarium/aquarium = source.loc for(var/obj/item/fish/victim in aquarium.get_fishes(TRUE, source)) - if(victim.size < source.size * 0.75) // It's a big fish eat small fish world + if(victim.size < source.size * 0.7) // It's a big fish eat small fish world continue if(victim.status != FISH_ALIVE || victim == source || HAS_TRAIT(victim, TRAIT_YUCKY_FISH) || SPT_PROB(80, seconds_per_tick)) continue @@ -250,31 +391,35 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( /datum/fish_trait/yucky name = "Yucky" catalog_description = "This fish tastes so repulsive, other fishes won't try to eat it." + reagents_to_add = list(/datum/reagent/yuck = 3) /datum/fish_trait/yucky/apply_to_fish(obj/item/fish/fish) - RegisterSignal(fish, COMSIG_ATOM_PROCESSED, PROC_REF(add_yuck)) + . = ..() ADD_TRAIT(fish, TRAIT_YUCKY_FISH, FISH_TRAIT_DATUM) - LAZYSET(fish.grind_results, /datum/reagent/yuck, 3) - -/datum/fish_trait/yucky/proc/add_yuck(obj/item/fish/source, mob/living/user, obj/item/process_item, list/results) - var/amount = source.grind_results[/datum/reagent/yuck] / length(results) - for(var/atom/result as anything in results) - result.reagents?.add_reagent(/datum/reagent/yuck, amount) /datum/fish_trait/toxic name = "Toxic" - catalog_description = "This fish contains toxins in its liver. Feeding it to predatory fishes or people is not reccomended." + catalog_description = "This fish contains toxins. Feeding it to predatory fishes or people is not reccomended." diff_traits_inheritability = 25 + reagents_to_add = list(/datum/reagent/toxin/tetrodotoxin = 2.5) /datum/fish_trait/toxic/apply_to_fish(obj/item/fish/fish) - RegisterSignal(fish, COMSIG_ATOM_PROCESSED, PROC_REF(add_toxin)) + . = ..() + RegisterSignal(fish, COMSIG_FISH_UPDATE_SIZE_AND_WEIGHT, PROC_REF(make_venomous)) + RegisterSignal(fish, COMSIG_FISH_STATUS_CHANGED, PROC_REF(on_status_change)) RegisterSignal(fish, COMSIG_FISH_EATEN_BY_OTHER_FISH, PROC_REF(on_eaten)) - LAZYSET(fish.grind_results, /datum/reagent/toxin/tetrodotoxin, 2.5) -/datum/fish_trait/toxic/proc/add_toxin(obj/item/fish/source, mob/living/user, obj/item/process_item, list/results) - var/amount = source.grind_results[ /datum/reagent/toxin/tetrodotoxin] / length(results) - for(var/atom/result as anything in results) - result.reagents?.add_reagent( /datum/reagent/toxin/tetrodotoxin, amount) +/datum/fish_trait/toxic/proc/make_venomous(obj/item/fish/source, new_size, new_weight) + SIGNAL_HANDLER + if(!HAS_TRAIT(source, TRAIT_FISH_STINGER)) + return + add_venom(source, /datum/reagent/toxin/tetrodotoxin, new_weight, mult = source.status == FISH_DEAD ? 0.1 : 0.25) + +/datum/fish_trait/toxic/proc/on_status_change(obj/item/fish/source) + SIGNAL_HANDLER + if(!HAS_TRAIT(source, TRAIT_FISH_STINGER)) + return + change_venom_on_death(source, /datum/reagent/toxin/tetrodotoxin, 0.25, 0.1) /datum/fish_trait/toxic/proc/on_eaten(obj/item/fish/source, obj/item/fish/predator) if(HAS_TRAIT(predator, TRAIT_FISH_TOXIN_IMMUNE)) @@ -291,12 +436,17 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( if(source.status == FISH_DEAD) UnregisterSignal(source, list(COMSIG_FISH_LIFE, COMSIG_FISH_STATUS_CHANGED)) +/datum/fish_trait/toxic/apply_to_mob(mob/living/basic/mob) + . = ..() + mob.AddElement(/datum/element/venomous, /datum/reagent/toxin/tetrodotoxin, 0.5 * mob.mob_size) + /datum/fish_trait/toxin_immunity name = "Toxin Immunity" catalog_description = "This fish has developed an ample-spected immunity to toxins." diff_traits_inheritability = 40 /datum/fish_trait/toxin_immunity/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_TOXIN_IMMUNE, FISH_TRAIT_DATUM) /datum/fish_trait/crossbreeder @@ -307,6 +457,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( incompatible_traits = list(/datum/fish_trait/no_mating) /datum/fish_trait/crossbreeder/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_CROSSBREEDER, FISH_TRAIT_DATUM) /datum/fish_trait/aggressive @@ -316,6 +467,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( catalog_description = "This fish is aggressively territorial, and may attack fish that come close to it." /datum/fish_trait/aggressive/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(try_attack_fish)) /datum/fish_trait/aggressive/proc/try_attack_fish(obj/item/fish/source, seconds_per_tick) @@ -335,13 +487,18 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( name = "Lubed" inheritability = 90 diff_traits_inheritability = 45 - guaranteed_inheritance_types = list(/obj/item/fish/clownfish/lube) - catalog_description = "This fish exudes a viscous, slippery lubrificant. It's reccomended not to step on it." + spontaneous_manifest_types = list(/obj/item/fish/clownfish/lube = 100) + catalog_description = "This fish exudes a viscous, slippery lubrificant. It's recommended not to step on it." added_difficulty = 5 /datum/fish_trait/lubed/apply_to_fish(obj/item/fish/fish) + . = ..() fish.AddComponent(/datum/component/slippery, 8 SECONDS, SLIDE|GALOSHES_DONT_HELP) +/datum/fish_trait/lubed/apply_to_mob(mob/living/basic/mob) + . = ..() + mob.AddElement(/datum/element/lube_walking) + /datum/fish_trait/lubed/minigame_mod(obj/item/fishing_rod/rod, mob/fisherman, datum/fishing_challenge/minigame) minigame.reeling_velocity *= 1.4 minigame.gravity_velocity *= 1.4 @@ -353,6 +510,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( catalog_description = "This fish has developed a primitive adaptation to life on both land and water." /datum/fish_trait/amphibious/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_AMPHIBIOUS, FISH_TRAIT_DATUM) if(fish.required_fluid_type == AQUARIUM_FLUID_AIR) fish.required_fluid_type = AQUARIUM_FLUID_FRESHWATER @@ -365,6 +523,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( incompatible_traits = list(/datum/fish_trait/predator, /datum/fish_trait/necrophage) /datum/fish_trait/mixotroph/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_NO_HUNGER, FISH_TRAIT_DATUM) /datum/fish_trait/antigrav @@ -372,14 +531,20 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( inheritability = 75 diff_traits_inheritability = 25 catalog_description = "This fish will invert the gravity of the bait at random. May fall upward outside after being caught." - added_difficulty = 15 + added_difficulty = 20 /datum/fish_trait/antigrav/minigame_mod(obj/item/fishing_rod/rod, mob/fisherman, datum/fishing_challenge/minigame) minigame.special_effects |= FISHING_MINIGAME_RULE_ANTIGRAV /datum/fish_trait/antigrav/apply_to_fish(obj/item/fish/fish) + . = ..() fish.AddElement(/datum/element/forced_gravity, NEGATIVE_GRAVITY) +/datum/fish_trait/antigrav/apply_to_mob(mob/living/basic/mob) + . = ..() + mob.add_traits(list(TRAIT_FREE_HYPERSPACE_MOVEMENT, TRAIT_SPACEWALK), FISH_TRAIT_DATUM) + mob.AddElement(/datum/element/simple_flying) + ///Anxiety means the fish will die if in a location with more than 3 fish (including itself) ///This is just barely enough to crossbreed out of anxiety, but it severely limits the potential of /datum/fish_trait/anxiety @@ -389,6 +554,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( catalog_description = "This fish tends to die of stress when forced to be around too many other fish." /datum/fish_trait/anxiety/apply_to_fish(obj/item/fish/fish) + . = ..() RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(on_fish_life)) ///signal sent when the anxiety fish is fed, killing it if sharing contents with too many fish. @@ -411,21 +577,73 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( catalog_description = "This fish is electroreceptive, and will generate electric fields. Can be harnessed inside a bioelectric generator." /datum/fish_trait/electrogenesis/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_ELECTROGENESIS, FISH_TRAIT_DATUM) - RegisterSignal(fish, COMSIG_ITEM_ATTACK, PROC_REF(on_item_attack)) + RegisterSignal(fish, COMSIG_FISH_FORCE_UPDATED, PROC_REF(on_force_updated)) -/datum/fish_trait/electrogenesis/proc/on_item_attack(obj/item/fish/fish, mob/living/target, mob/living/user) +/datum/fish_trait/electrogenesis/proc/on_force_updated(obj/item/fish/fish, weight_rank, bonus_or_malus) SIGNAL_HANDLER - if(fish.status == FISH_ALIVE) - fish.force = 16 + fish.force += 10 - fish.w_class fish.damtype = BURN fish.attack_verb_continuous = list("shocks", "zaps") fish.attack_verb_simple = list("shock", "zap") fish.hitsound = 'sound/effects/sparks4.ogg' - else - fish.force = fish::force - fish.damtype = fish::damtype - fish.attack_verb_continuous = fish::attack_verb_continuous - fish.attack_verb_simple = fish::attack_verb_simple - fish.hitsound = fish::hitsound + +/datum/fish_trait/electrogenesis/apply_to_mob(mob/living/basic/mob) + . = ..() + ADD_TRAIT(mob, TRAIT_SHOCKIMMUNE, FISH_TRAIT_DATUM) + mob.grant_actions_by_list(list(/datum/action/cooldown/mob_cooldown/charge_apc)) + mob.AddElement(/datum/element/venomous, /datum/reagent/teslium, 3 * mob.mob_size) + +/datum/fish_trait/stunted + name = "Stunted Growth" + catalog_description = "This chrab's development is stunted, and will not properly reach adulthood." + spontaneous_manifest_types = list(/obj/item/fish/chasm_crab = 12, /obj/item/fish/chasm_crab/ice = 12) + fish_whitelist = list(/obj/item/fish/chasm_crab, /obj/item/fish/chasm_crab/ice) + diff_traits_inheritability = 40 + +/datum/fish_trait/stunted/apply_to_mob(mob/living/basic/mob) + . = ..() + qdel(mob.GetComponent(/datum/component/growth_and_differentiation)) + +/datum/fish_trait/stinger + name = "Stinger" + inheritability = 80 + diff_traits_inheritability = 35 + catalog_description = "This fish is equipped with a sharp stringer or bill capable of delivering damage and toxins." + spontaneous_manifest_types = list(/obj/item/fish/stingray = 100, /obj/item/fish/swordfish = 100, /obj/item/fish/chainsawfish = 100) + +/datum/fish_trait/stinger/apply_to_fish(obj/item/fish/fish) + . = ..() + ADD_TRAIT(fish, TRAIT_FISH_STINGER, FISH_TRAIT_DATUM) + RegisterSignal(fish, COMSIG_FISH_FORCE_UPDATED, PROC_REF(on_force_updated)) + +/datum/fish_trait/stinger/proc/on_force_updated(obj/item/fish/fish, weight_rank, bonus_or_malus) + SIGNAL_HANDLER + fish.force += 1 + fish.w_class + bonus_or_malus + +/datum/fish_trait/toxic_barbs + name = "Toxic Barbs" + catalog_description = "This fish' stinger, bill or otherwise, is coated with simple, yet effetive venom." + spontaneous_manifest_types = list(/obj/item/fish/stingray = 35) + +/datum/fish_trait/toxic_barbs/apply_to_fish(obj/item/fish/fish) + . = ..() + RegisterSignal(fish, COMSIG_FISH_UPDATE_SIZE_AND_WEIGHT, PROC_REF(make_venomous)) + RegisterSignal(fish, COMSIG_FISH_STATUS_CHANGED, PROC_REF(on_status_change)) + +/datum/fish_trait/toxic_barbs/proc/make_venomous(obj/item/fish/source, new_size, new_weight) + SIGNAL_HANDLER + if(!HAS_TRAIT(source, TRAIT_FISH_STINGER)) + ///Remove the trait from the fish so it doesn't show on the analyzer as it doesn't do anything on stingerless ones. + source.fish_traits -= type + UnregisterSignal(source, list(COMSIG_FISH_UPDATE_SIZE_AND_WEIGHT, COMSIG_FISH_STATUS_CHANGED)) + return + add_venom(source, /datum/reagent/toxin/venom, new_weight, mult = source.status == FISH_DEAD ? 0.3 : 0.7) + +/datum/fish_trait/toxic_barbs/proc/on_status_change(obj/item/fish/source) + SIGNAL_HANDLER + if(!HAS_TRAIT(source, TRAIT_FISH_STINGER)) + return + change_venom_on_death(source, /datum/reagent/toxin/venom, 0.7, 0.3) diff --git a/code/modules/fishing/fish/fish_types.dm b/code/modules/fishing/fish/fish_types.dm index cc001560ee0a9..95027b75ea6b0 100644 --- a/code/modules/fishing/fish/fish_types.dm +++ b/code/modules/fishing/fish/fish_types.dm @@ -10,9 +10,12 @@ stable_population = 3 average_size = 30 average_weight = 500 + weight_size_deviation = 0.35 favorite_bait = list(/obj/item/food/bait/worm) required_temperature_min = MIN_AQUARIUM_TEMP+18 required_temperature_max = MIN_AQUARIUM_TEMP+26 + evolution_types = list(/datum/fish_evolution/three_eyes, /datum/fish_evolution/chainsawfish) + compatible_types = list(/obj/item/fish/goldfish/gill, /obj/item/fish/three_eyes, /obj/item/fish/three_eyes/gill) /obj/item/fish/goldfish/gill name = "McGill" @@ -21,6 +24,8 @@ random_case_rarity = FISH_RARITY_NOPE show_in_catalog = FALSE beauty = FISH_BEAUTY_GOOD + compatible_types = list(/obj/item/fish/goldfish, /obj/item/fish/three_eyes) + fish_traits = list(/datum/fish_trait/recessive) /obj/item/fish/angelfish name = "angelfish" @@ -63,13 +68,14 @@ required_temperature_max = MIN_AQUARIUM_TEMP+28 /obj/item/fish/catfish - name = "cory catfish" + name = "catfish" desc = "A catfish has about 100,000 taste buds, and their bodies are covered with them to help detect chemicals present in the water and also to respond to touch." icon_state = "catfish" dedicated_in_aquarium_icon_state = "fish_greyscale" aquarium_vc_color = "#907420" - average_size = 100 - average_weight = 2000 + average_size = 80 + average_weight = 1600 + weight_size_deviation = 0.35 stable_population = 3 favorite_bait = list( list( @@ -81,6 +87,55 @@ required_temperature_max = MIN_AQUARIUM_TEMP+30 beauty = FISH_BEAUTY_GOOD +/obj/item/fish/tadpole + name = "tadpole" + desc = "The larval spawn of an amphibian. A very minuscle, round creature with a long tail it uses to swim around." + icon_state = "tadpole" + dedicated_in_aquarium_icon_state = "tadpole small" + average_size = 3 + average_weight = 10 + sprite_width = 3 + sprite_height = 1 + health = 50 + feeding_frequency = 1.5 MINUTES + required_temperature_min = MIN_AQUARIUM_TEMP+15 + required_temperature_max = MIN_AQUARIUM_TEMP+20 + fillet_type = null + fish_traits = list(/datum/fish_trait/no_mating) //They grow into frogs and that's it. + beauty = FISH_BEAUTY_NULL + random_case_rarity = FISH_RARITY_NOPE //Why would you want generic frog tadpoles you get from ponds inside fish cases? + /// Once dead, tadpoles disappear after a dozen seconds, since you can get infinite tadpoles. + var/del_timerid + +/obj/item/fish/tadpole/Initialize(mapload, apply_qualities = TRUE) + . = ..() + AddComponent(/datum/component/fish_growth, /mob/living/basic/frog, 100 / rand(2.5, 3 MINUTES) * 10) + RegisterSignal(src, COMSIG_FISH_BEFORE_GROWING, PROC_REF(growth_checks)) + RegisterSignal(src, COMSIG_FISH_FINISH_GROWING, PROC_REF(on_growth)) + +/obj/item/fish/tadpole/set_status(new_status, silent = FALSE) + . = ..() + if(status == FISH_DEAD) + del_timerid = QDEL_IN_STOPPABLE(src, 12 SECONDS) + else + deltimer(del_timerid) + +/obj/item/fish/tadpole/proc/growth_checks(datum/source, seconds_per_tick) + SIGNAL_HANDLER + var/hunger = CLAMP01((world.time - last_feeding) / feeding_frequency) + if(hunger >= 0.7) //too hungry to grow + return COMPONENT_DONT_GROW + var/obj/structure/aquarium/aquarium = loc + if(!aquarium.allow_breeding) //the aquarium has breeding disabled + return COMPONENT_DONT_GROW + +/obj/item/fish/tadpole/proc/on_growth(datum/source, mob/living/basic/frog/result) + SIGNAL_HANDLER + playsound(result, result.attack_sound, 50, TRUE) // reeeeeeeeeeeeeee... + +/obj/item/fish/tadpole/get_export_price(price, percent) + return 2 //two credits. Tadpoles aren't really that valueable. + // Saltwater fish below /obj/item/fish/clownfish @@ -110,6 +165,7 @@ evolution_types = null compatible_types = list(/obj/item/fish/clownfish) food = /datum/reagent/lube + fishing_difficulty_modifier = 5 beauty = FISH_BEAUTY_GREAT /obj/item/fish/cardinal @@ -151,7 +207,7 @@ average_weight = 500 stable_population = 3 disliked_bait = list(/obj/item/food/bait/worm, /obj/item/food/bait/doughball) - fish_ai_type = FISH_AI_ZIPPY + fish_movement_type = /datum/fish_movement/zippy required_temperature_min = MIN_AQUARIUM_TEMP+23 required_temperature_max = MIN_AQUARIUM_TEMP+28 @@ -167,10 +223,10 @@ stable_population = 3 required_temperature_min = MIN_AQUARIUM_TEMP+23 required_temperature_max = MIN_AQUARIUM_TEMP+28 + fillet_type = /obj/item/food/fishmeat/quality //Too bad they're poisonous fish_traits = list(/datum/fish_trait/heavy, /datum/fish_trait/toxic) beauty = FISH_BEAUTY_GOOD - /obj/item/fish/lanternfish name = "lanternfish" desc = "Typically found in areas below 6600 feet below the surface of the ocean, they live in complete darkness." @@ -181,8 +237,8 @@ source_height = 21 sprite_width = 8 sprite_height = 8 - average_size = 100 - average_weight = 1500 + average_size = 50 + average_weight = 1000 stable_population = 3 fish_traits = list(/datum/fish_trait/nocturnal) required_temperature_min = MIN_AQUARIUM_TEMP+2 //My source is that the water at a depth 6600 feet is pretty darn cold. @@ -197,8 +253,8 @@ required_fluid_type = AQUARIUM_FLUID_SALTWATER stable_population = 2 fillet_type = /obj/item/food/fishmeat/moonfish - average_size = 100 - average_weight = 2000 + average_size = 60 + average_weight = 1000 required_temperature_min = MIN_AQUARIUM_TEMP+20 required_temperature_max = MIN_AQUARIUM_TEMP+30 beauty = FISH_BEAUTY_GOOD @@ -222,6 +278,7 @@ sprite_width = 7 required_fluid_type = AQUARIUM_FLUID_SALTWATER stable_population = 12 + breeding_timeout = 1 MINUTES fillet_type = null average_size = 20 average_weight = 300 @@ -236,14 +293,17 @@ dedicated_in_aquarium_icon_state = "armorfish_small" sprite_height = 5 sprite_width = 6 + average_size = 25 + average_weight = 350 required_fluid_type = AQUARIUM_FLUID_SALTWATER stable_population = 10 + breeding_timeout = 1.25 MINUTES fillet_type = /obj/item/food/fishmeat/armorfish - fish_ai_type = FISH_AI_SLOW + fish_movement_type = /datum/fish_movement/slow required_temperature_min = MIN_AQUARIUM_TEMP+10 required_temperature_max = MIN_AQUARIUM_TEMP+32 -//Chasm fish +/// Commonly found on the mining fishing spots. Can be grown into lobstrosities /obj/item/fish/chasm_crab name = "chasm chrab" desc = "The young of the lobstrosity mature in pools below the earth, eating what falls in until large enough to clamber out. Those found near the station are well-fed." @@ -252,7 +312,7 @@ sprite_height = 9 sprite_width = 8 stable_population = 4 - feeding_frequency = 15 MINUTES + feeding_frequency = 10 MINUTES random_case_rarity = FISH_RARITY_RARE fillet_type = /obj/item/food/meat/slab/rawcrab required_temperature_min = MIN_AQUARIUM_TEMP+9 @@ -270,17 +330,84 @@ evolution_types = list(/datum/fish_evolution/ice_chrab) compatible_types = list(/obj/item/fish/chasm_crab/ice) beauty = FISH_BEAUTY_GOOD + ///This value represents how much the crab needs aren't being met. Higher values translate to a more likely hostile lobstrosity. + var/anger = 0 + ///The lobstrosity type this matures into + var/lob_type = /mob/living/basic/mining/lobstrosity/juvenile/lava + ///at which rate the crab gains maturation + var/growth_rate = 100 / (10 MINUTES) * 10 + +/obj/item/fish/chasm_crab/Initialize(mapload, apply_qualities = TRUE) + . = ..() + RegisterSignal(src, COMSIG_FISH_BEFORE_GROWING, PROC_REF(growth_checks)) + RegisterSignal(src, COMSIG_FISH_FINISH_GROWING, PROC_REF(on_growth)) + +///A chasm crab growth speed is determined by its initial weight and size, ergo bigger crabs for faster lobstrosities +/obj/item/fish/chasm_crab/update_size_and_weight(new_size = average_size, new_weight = average_weight) + . = ..() + var/multiplier = 1 + switch(size) + if(0 to FISH_SIZE_TINY_MAX) + multiplier -= 0.2 + if(FISH_SIZE_SMALL_MAX to FISH_SIZE_NORMAL_MAX) + multiplier += 0.2 + if(FISH_SIZE_NORMAL_MAX to FISH_SIZE_BULKY_MAX) + multiplier += 0.5 + if(FISH_SIZE_BULKY_MAX to INFINITY) + multiplier += 0.8 + + if(weight <= 800) + multiplier -= 0.1 * round((1000 - weight) / 200) + else if(weight >= 1500) + multiplier += min(0.1 * round((weight - 1000) / 500), 2) + + AddComponent(/datum/component/fish_growth, lob_type, initial(growth_rate) * multiplier) + +/obj/item/fish/chasm_crab/proc/growth_checks(datum/source, seconds_per_tick) + SIGNAL_HANDLER + var/hunger = CLAMP01((world.time - last_feeding) / feeding_frequency) + if(health <= initial(health) * 0.6 || hunger >= 0.6) //if too hurt or hungry, don't grow. + anger += growth_rate * 2 * seconds_per_tick + return COMPONENT_DONT_GROW + + if(hunger >= 0.4) //I'm hungry and angry + anger += growth_rate * 0.6 * seconds_per_tick + + if(!isaquarium(loc)) + return + + var/obj/structure/aquarium/aquarium = loc + if(!aquarium.allow_breeding) //the aquarium has breeding disabled + return COMPONENT_DONT_GROW + if(!locate(/obj/item/aquarium_prop) in aquarium) //the aquarium deco is quite barren + anger += growth_rate * 0.25 * seconds_per_tick + var/fish_count = length(aquarium.get_fishes()) + if(!ISINRANGE(fish_count, 3, AQUARIUM_MAX_BREEDING_POPULATION * 0.5)) //too lonely or overcrowded + anger += growth_rate * 0.3 * seconds_per_tick + if(fish_count > AQUARIUM_MAX_BREEDING_POPULATION * 0.5) //check if there's enough room to maturate. + return COMPONENT_DONT_GROW + +/obj/item/fish/chasm_crab/proc/on_growth(datum/source, mob/living/basic/mining/lobstrosity/juvenile/result) + SIGNAL_HANDLER + if(!prob(anger)) + result.AddElement(/datum/element/ai_retaliate) + qdel(result.ai_controller) + result.ai_controller = new /datum/ai_controller/basic_controller/lobstrosity/juvenile/calm(result) + else if(anger < 30) //not really that mad, just a bit unstable. + qdel(result.ai_controller) + result.ai_controller = new /datum/ai_controller/basic_controller/lobstrosity/juvenile/capricious(result) /obj/item/fish/chasm_crab/ice name = "arctic chrab" desc = "A subspecies of chasm chrabs that has adapted to the cold climate and lack of abysmal holes of the icemoon." icon_state = "arctic_chrab" - dedicated_in_aquarium_icon_state = "ice_chrab_small" + dedicated_in_aquarium_icon_state = "arctic_chrab_small" required_temperature_min = ICEBOX_MIN_TEMPERATURE-20 required_temperature_max = MIN_AQUARIUM_TEMP+15 evolution_types = list(/datum/fish_evolution/chasm_chrab) compatible_types = list(/obj/item/fish/chasm_crab) beauty = FISH_BEAUTY_GREAT + lob_type = /mob/living/basic/mining/lobstrosity/juvenile /obj/item/fish/donkfish name = "donk co. company patent donkfish" @@ -317,7 +444,7 @@ sprite_height = 5 stable_population = 12 average_size = 110 - average_weight = 10000 + average_weight = 6000 random_case_rarity = FISH_RARITY_GOOD_LUCK_FINDING_THIS required_temperature_min = MIN_AQUARIUM_TEMP+10 required_temperature_max = MIN_AQUARIUM_TEMP+30 @@ -340,7 +467,7 @@ fish_traits = list(/datum/fish_trait/necrophage) required_temperature_min = MIN_AQUARIUM_TEMP+15 required_temperature_max = MIN_AQUARIUM_TEMP+35 - fish_ai_type = FISH_AI_ZIPPY + fish_movement_type = /datum/fish_movement/zippy favorite_bait = list( list( "Type" = "Foodtype", @@ -349,7 +476,7 @@ ) beauty = FISH_BEAUTY_DISGUSTING -/obj/item/fish/ratfish/Initialize(mapload) +/obj/item/fish/ratfish/Initialize(mapload, apply_qualities = TRUE) . = ..() //stable pop reflects the config for how many mice migrate. powerful... stable_population = CONFIG_GET(number/mice_roundstart) @@ -366,7 +493,7 @@ average_size = 20 average_weight = 400 health = 50 - breeding_timeout = 5 MINUTES + breeding_timeout = 2.5 MINUTES fish_traits = list(/datum/fish_trait/parthenogenesis, /datum/fish_trait/no_mating) required_temperature_min = MIN_AQUARIUM_TEMP+10 required_temperature_max = MIN_AQUARIUM_TEMP+40 @@ -418,13 +545,13 @@ dedicated_in_aquarium_icon_state = "bonemass_small" sprite_width = 10 sprite_height = 7 - fish_ai_type = FISH_AI_ZIPPY + fish_movement_type = /datum/fish_movement/zippy random_case_rarity = FISH_RARITY_GOOD_LUCK_FINDING_THIS required_fluid_type = AQUARIUM_FLUID_ANY_WATER min_pressure = HAZARD_LOW_PRESSURE health = 150 stable_population = 3 - grind_results = list(/datum/reagent/bone_dust = 20) + grind_results = list(/datum/reagent/bone_dust = 10) fillet_type = /obj/item/stack/sheet/bone num_fillets = 2 fish_traits = list(/datum/fish_trait/revival, /datum/fish_trait/carnivore) @@ -437,9 +564,9 @@ /obj/item/fish/mastodon name = "unmarine mastodon" desc = "A monster of exposed muscles and innards, wrapped in a fish-like skeleton. You don't remember ever seeing it on the catalog." - icon = 'icons/obj/aquarium/wide.dmi' + icon = 'icons/obj/structures/aquarium/wide.dmi' icon_state = "mastodon" - dedicated_in_aquarium_icon = 'icons/obj/aquarium/fish.dmi' + dedicated_in_aquarium_icon = 'icons/obj/structures/aquarium/fish.dmi' dedicated_in_aquarium_icon_state = "mastodon_small" base_pixel_x = -16 pixel_x = -16 @@ -447,16 +574,16 @@ sprite_height = 7 show_in_catalog = FALSE random_case_rarity = FISH_RARITY_NOPE - fishing_difficulty_modifier = 5 + fishing_difficulty_modifier = 30 required_fluid_type = AQUARIUM_FLUID_ANY_WATER min_pressure = HAZARD_LOW_PRESSURE health = 300 - stable_population = 2 //This means they can only crossbreed. - grind_results = list(/datum/reagent/bone_dust = 15, /datum/reagent/consumable/liquidgibs = 5) + stable_population = 1 //This means they can only crossbreed. + grind_results = list(/datum/reagent/bone_dust = 5, /datum/reagent/consumable/liquidgibs = 5) fillet_type = /obj/item/stack/sheet/bone num_fillets = 2 feeding_frequency = 2 MINUTES - breeding_timeout = 10 MINUTES + breeding_timeout = 5 MINUTES average_size = 180 average_weight = 5000 death_text = "%SRC stops moving." @@ -481,7 +608,7 @@ fish_traits = list(/datum/fish_trait/no_mating) //just to be sure, these shouldn't reproduce experisci_scannable = FALSE -/obj/item/fish/holo/Initialize(mapload) +/obj/item/fish/holo/Initialize(mapload, apply_qualities = TRUE) . = ..() var/area/station/holodeck/holo_area = get_area(src) if(!istype(holo_area)) @@ -489,7 +616,7 @@ return holo_area.linked.add_to_spawned(src) -/obj/item/fish/holo/set_status(new_status) +/obj/item/fish/holo/set_status(new_status, silent = FALSE) . = ..() if(status == FISH_DEAD) animate(src, alpha = 0, 3 SECONDS, easing = SINE_EASING) @@ -565,12 +692,12 @@ safe_air_limits = null min_pressure = 0 max_pressure = INFINITY - grind_results = list(/datum/reagent/bluespace = 10, /datum/reagent/consumable/liquidgibs = 5) + grind_results = list(/datum/reagent/bluespace = 10) fillet_type = null fish_traits = list(/datum/fish_trait/antigrav, /datum/fish_trait/mixotroph) beauty = FISH_BEAUTY_GREAT -/obj/item/fish/starfish/Initialize(mapload) +/obj/item/fish/starfish/Initialize(mapload, apply_qualities = TRUE) . = ..() update_appearance(UPDATE_OVERLAYS) @@ -593,7 +720,7 @@ average_weight = 500 resistance_flags = FIRE_PROOF | LAVA_PROOF required_fluid_type = AQUARIUM_FLUID_ANY_WATER //if we can survive hot lava and freezing plasrivers, we can survive anything - fish_ai_type = FISH_AI_ZIPPY + fish_movement_type = /datum/fish_movement/zippy min_pressure = HAZARD_LOW_PRESSURE required_temperature_min = MIN_AQUARIUM_TEMP+30 required_temperature_max = MIN_AQUARIUM_TEMP+35 @@ -608,7 +735,7 @@ ///maximum bonus damage when winded up var/maximum_bonus = 25 -/obj/item/fish/lavaloop/Initialize(mapload) +/obj/item/fish/lavaloop/Initialize(mapload, apply_qualities = TRUE) . = ..() ADD_TRAIT(src, TRAIT_BYPASS_RANGED_ARMOR, INNATE_TRAIT) AddComponent(/datum/component/boomerang, throw_range, TRUE) @@ -679,3 +806,404 @@ //anxiety naturally limits the amount of zipzaps per tank, so they are stronger alone electrogenesis_power = 20 MEGA JOULES beauty = FISH_BEAUTY_GOOD + +/obj/item/fish/sockeye_salmon + name = "sockeye salmon" + desc = "A fairly common and iconic salmon endemic of the Pacific Ocean. At some point imported into outer space, where we're now." + icon_state = "sockeye" + dedicated_in_aquarium_icon_state = "sockeye_small" + sprite_width = 6 + sprite_height = 4 + stable_population = 6 + required_temperature_min = MIN_AQUARIUM_TEMP+3 + required_temperature_max = MIN_AQUARIUM_TEMP+19 + required_fluid_type = AQUARIUM_FLUID_ANADROMOUS + fillet_type = /obj/item/food/fishmeat/salmon + beauty = FISH_BEAUTY_GOOD + +/obj/item/fish/arctic_char + name = "arctic char" + desc = "A cold-water anadromous fish widespread around the Northern Hemisphere of Earth, yet it has somehow found a way here." + icon_state = "arctic_char" + dedicated_in_aquarium_icon_state = "arctic_char" + sprite_width = 7 + sprite_height = 4 + stable_population = 6 + average_size = 60 + average_weight = 1200 + weight_size_deviation = 0.5 // known for their size dismophism + required_temperature_min = MIN_AQUARIUM_TEMP+3 + required_temperature_max = MIN_AQUARIUM_TEMP+19 + required_fluid_type = AQUARIUM_FLUID_ANADROMOUS + +/obj/item/fish/stingray + name = "stingray" + desc = "A type of ray, most known for its venomous stinger. Despite that, They're normally docile, if not a bit easily frightened." + icon_state = "stingray" + dedicated_in_aquarium_icon_state = "stingray_small" + stable_population = 4 + sprite_height = 7 + sprite_width = 8 + average_size = 60 + average_weight = 700 + beauty = FISH_BEAUTY_GREAT + random_case_rarity = FISH_RARITY_RARE + required_fluid_type = AQUARIUM_FLUID_SALTWATER //Someone ought to add river rays later I guess. + fish_traits = list(/datum/fish_trait/stinger, /datum/fish_trait/toxic_barbs, /datum/fish_trait/wary, /datum/fish_trait/carnivore, /datum/fish_trait/predator) + +/obj/item/fish/sand_surfer + name = "sand surfer" + desc = "A bronze alien \"fish\" living and swimming underneath faraway sandy places." + icon_state = "sand_surfer" + dedicated_in_aquarium_icon_state = "sand_surfer_small" + sprite_height = 6 + sprite_width = 6 + stable_population = 5 + average_size = 65 + average_weight = 1100 + weight_size_deviation = 0.35 + random_case_rarity = FISH_RARITY_RARE + required_fluid_type = AQUARIUM_FLUID_AIR + required_temperature_min = MIN_AQUARIUM_TEMP+25 + required_temperature_max = MIN_AQUARIUM_TEMP+60 + fish_movement_type = /datum/fish_movement/plunger + fishing_difficulty_modifier = 5 + fish_traits = list(/datum/fish_trait/shiny_lover) + beauty = FISH_BEAUTY_GOOD + +/obj/item/fish/sand_crab + name = "burrower crab" + desc = "A sand-dwelling crustacean. It looks like a crab and tastes like a crab, but waddles like a fish." + icon_state = "crab" + dedicated_in_aquarium_icon_state = "crab_small" + sprite_height = 6 + sprite_width = 10 + average_size = 60 + average_weight = 1000 + weight_size_deviation = 0.1 + required_fluid_type = AQUARIUM_FLUID_SALTWATER + required_temperature_min = MIN_AQUARIUM_TEMP+20 + required_temperature_max = MIN_AQUARIUM_TEMP+40 + fillet_type = /obj/item/food/meat/slab/rawcrab + fish_traits = list(/datum/fish_trait/amphibious, /datum/fish_trait/shiny_lover, /datum/fish_trait/carnivore) + fish_movement_type = /datum/fish_movement/slow + favorite_bait = list( + list( + "Type" = "Foodtype", + "Value" = SEAFOOD, + ), + ) + +/obj/item/fish/bumpy + name = "bump-fish" + desc = "An misshapen fish-thing all covered in stubby little tendrils" + icon_state = "bumpy" + dedicated_in_aquarium_icon_state = "bumpy_small" + sprite_height = 4 + sprite_width = 5 + stable_population = 4 + required_fluid_type = AQUARIUM_FLUID_ANY_WATER + required_temperature_min = MIN_AQUARIUM_TEMP+15 + required_temperature_max = MIN_AQUARIUM_TEMP+40 + beauty = FISH_BEAUTY_BAD + fish_traits = list(/datum/fish_trait/amphibious, /datum/fish_trait/vegan) + favorite_bait = list( + list( + "Type" = "Foodtype", + "Value" = VEGETABLES, + ), + ) + +/obj/item/fish/three_eyes + name = "three-eyed goldfish" + desc = "A goldfish with an extra half a pair of eyes. You wonder what it's been feeding on lately..." + icon_state = "three_eyes" + sprite_width = 8 + sprite_height = 8 + average_size = 30 + average_weight = 500 + stable_population = 4 + fish_traits = list(/datum/fish_trait/recessive, /datum/fish_trait/shiny_lover) + compatible_types = list(/obj/item/fish/goldfish, /obj/item/fish/goldfish/gill, /obj/item/fish/three_eyes/gill) + beauty = FISH_BEAUTY_GOOD + fishing_difficulty_modifier = 10 + random_case_rarity = FISH_RARITY_VERY_RARE + food = /datum/reagent/toxin/mutagen + favorite_bait = list( + list( + "Type" = "Reagent", + "Value" = /datum/reagent/toxin/mutagen, + "Amount" = 3, + ), + ) + +/obj/item/fish/three_eyes/gill + name = "McGill" + desc = "A great rubber duck tool for Lawyers who can't get a grasp over their case. It looks kinda different today..." + compatible_types = list(/obj/item/fish/goldfish, /obj/item/fish/three_eyes) + beauty = FISH_BEAUTY_GREAT + show_in_catalog = FALSE + stable_population = 1 + random_case_rarity = FISH_RARITY_NOPE + +/obj/item/fish/swordfish + name = "swordfish" + desc = "A large billfish, most famous for its elongated bill, while also fairly popular for cooking, and as a fearsome weapon in the hands of a veteran spess-fisherman." + icon = 'icons/obj/structures/aquarium/wide.dmi' + icon_state = "swordfish" + inhand_icon_state = "swordfish" + dedicated_in_aquarium_icon = 'icons/obj/structures/aquarium/fish.dmi' + dedicated_in_aquarium_icon_state = "swordfish_small" + force = 18 + sharpness = SHARP_EDGED + attack_verb_continuous = list("slashes", "cuts", "pierces") + attack_verb_simple = list("slash", "cut", "pierce") + block_sound = 'sound/weapons/parry.ogg' + hitsound = 'sound/weapons/rapierhit.ogg' + demolition_mod = 0.75 + attack_speed = 1 SECONDS + block_chance = 50 + wound_bonus = 10 + bare_wound_bonus = 20 + armour_penetration = 75 + base_pixel_x = -18 + pixel_x = -18 + sprite_width = 13 + sprite_height = 6 + stable_population = 3 + average_size = 140 + average_weight = 4000 + breeding_timeout = 4.5 MINUTES + feeding_frequency = 4 MINUTES + health = 180 + beauty = FISH_BEAUTY_EXCELLENT + random_case_rarity = FISH_RARITY_GOOD_LUCK_FINDING_THIS + required_fluid_type = AQUARIUM_FLUID_SALTWATER + fish_movement_type = /datum/fish_movement/plunger + fishing_difficulty_modifier = 25 + fillet_type = /obj/item/food/fishmeat/quality + favorite_bait = list( + list( + "Type" = "Foodtype", + "Value" = SEAFOOD, + ), + ) + fish_traits = list(/datum/fish_trait/carnivore, /datum/fish_trait/predator, /datum/fish_trait/stinger) + +/obj/item/fish/swordfish/get_force_rank() + switch(w_class) + if(WEIGHT_CLASS_TINY) + force -= 11 + attack_speed -= 0.4 SECONDS + block_chance -= 45 + armour_penetration -= 20 + wound_bonus -= 15 + bare_wound_bonus -= 20 + if(WEIGHT_CLASS_SMALL) + force -= 8 + attack_speed -= 0.3 SECONDS + block_chance -= 30 + armour_penetration -= 15 + wound_bonus -= 10 + bare_wound_bonus -= 20 + if(WEIGHT_CLASS_NORMAL) + force -= 5 + attack_speed -= 0.2 SECONDS + block_chance -= 20 + armour_penetration -= 10 + wound_bonus -= 10 + bare_wound_bonus -= 15 + if(WEIGHT_CLASS_BULKY) + force -= 3 + attack_speed -= 0.1 SECONDS + block_chance -= 10 + armour_penetration -= 5 + wound_bonus -= 5 + bare_wound_bonus -= 10 + if(WEIGHT_CLASS_GIGANTIC) + force += 5 + attack_speed += 0.2 SECONDS + demolition_mod += 0.15 + block_chance += 10 + armour_penetration += 5 + wound_bonus += 5 + bare_wound_bonus += 10 + + if(status == FISH_DEAD) + force -= 4 + w_class + block_chance -= 25 + armour_penetration -= 30 + wound_bonus -= 10 + bare_wound_bonus -= 10 + +/obj/item/fish/swordfish/calculate_fish_force_bonus(bonus_malus) + . = ..() + armour_penetration += bonus_malus * 5 + wound_bonus += bonus_malus * 3 + bare_wound_bonus += bonus_malus * 5 + block_chance += bonus_malus * 7 + +/obj/item/fish/chainsawfish + name = "chainsawfish" + desc = "A very, very angry bioweapon, whose sole purpose is to rip and tear." + icon = 'icons/obj/structures/aquarium/wide.dmi' + icon_state = "chainsawfish" + inhand_icon_state = "chainsawfish" + icon_state_dead = "chainsawfish_dead" + dedicated_in_aquarium_icon = 'icons/obj/structures/aquarium/fish.dmi' + dedicated_in_aquarium_icon_state = "chainsaw_small" + force = 22 + demolition_mod = 1.5 + block_chance = 15 + attack_verb_continuous = list("saws", "tears", "lacerates", "cuts", "chops", "dices") + attack_verb_simple = list("saw", "tear", "lacerate", "cut", "chop", "dice") + hitsound = 'sound/weapons/chainsawhit.ogg' + sharpness = SHARP_EDGED + tool_behaviour = TOOL_SAW + toolspeed = 0.5 + base_pixel_x = -16 + pixel_x = -16 + sprite_width = 8 + sprite_height = 5 + stable_population = 3 + average_size = 85 + average_weight = 2500 + breeding_timeout = 4.25 MINUTES + feeding_frequency = 3 MINUTES + health = 180 + beauty = FISH_BEAUTY_GREAT + random_case_rarity = FISH_RARITY_GOOD_LUCK_FINDING_THIS + required_fluid_type = AQUARIUM_FLUID_FRESHWATER + fish_movement_type = /datum/fish_movement/accelerando + fishing_difficulty_modifier = 30 + favorite_bait = list( + list( + "Type" = "Foodtype", + "Value" = GORE + ), + ) + fish_traits = list(/datum/fish_trait/aggressive, /datum/fish_trait/carnivore, /datum/fish_trait/predator, /datum/fish_trait/stinger) + required_temperature_min = MIN_AQUARIUM_TEMP+18 + required_temperature_max = MIN_AQUARIUM_TEMP+26 + +/obj/item/fish/chainsawfish/Initialize(mapload) + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + +/obj/item/fish/chainsawfish/update_icon_state() + if(status == FISH_DEAD) + inhand_icon_state = "chainsawfish_dead" + else + inhand_icon_state = "chainsawfish" + if(HAS_TRAIT(src, TRAIT_WIELDED)) + inhand_icon_state = "[inhand_icon_state]_wielded" + return ..() + +/obj/item/fish/chainsawfish/get_force_rank() + switch(w_class) + if(WEIGHT_CLASS_TINY) + force -= 10 + attack_speed -= 0.2 SECONDS + demolition_mod -= 0.4 + block_chance -= 15 + armour_penetration -= 10 + wound_bonus -= 10 + bare_wound_bonus -= 10 + toolspeed += 0.6 + if(WEIGHT_CLASS_SMALL) + force -= 8 + attack_speed -= 0.1 SECONDS + demolition_mod -= 0.3 + block_chance -= 10 + armour_penetration -= 10 + wound_bonus -= 10 + bare_wound_bonus -= 10 + toolspeed += 0.4 + if(WEIGHT_CLASS_NORMAL) + force -= 5 + demolition_mod -= 0.15 + block_chance -= 5 + armour_penetration -= 5 + wound_bonus -= 5 + bare_wound_bonus -= 5 + toolspeed += 0.2 + if(WEIGHT_CLASS_HUGE) + force += 2 + attack_speed += 0.2 SECONDS + demolition_mod += 0.15 + armour_penetration += 10 + block_chance += 10 + wound_bonus += 10 + bare_wound_bonus += 5 + if(WEIGHT_CLASS_GIGANTIC) + force += 4 + attack_speed += 0.4 SECONDS + demolition_mod += 0.3 + block_chance += 20 + armour_penetration += 20 + wound_bonus += 15 + bare_wound_bonus += 10 + toolspeed -= 0.1 + + if(status == FISH_DEAD) + force -= 8 + w_class + hitsound = SFX_SWING_HIT + block_chance -= 25 + demolition_mod -= 0.3 + armour_penetration -= 15 + wound_bonus -= 5 + bare_wound_bonus -= 5 + toolspeed += 1 + +/obj/item/fish/chainsawfish/calculate_fish_force_bonus(bonus_malus) + . = ..() + armour_penetration += bonus_malus * 3 + wound_bonus += bonus_malus * 2 + bare_wound_bonus += bonus_malus * 3 + block_chance += bonus_malus * 2 + toolspeed -= bonus_malus * 0.1 + +/obj/item/fish/soul + name = "soulfish" + desc = "A distant yet vaguely close critter, like a long lost relative. You feel your soul rejuvenated just from looking at it... Also, what the fuck is this shit?!" + icon_state = "soulfish" + dedicated_in_aquarium_icon_state = "soul_small" + sprite_width = 7 + sprite_height = 6 + average_size = 60 + average_weight = 1200 + stable_population = 4 + show_in_catalog = FALSE + beauty = FISH_BEAUTY_EXCELLENT + fish_movement_type = /datum/fish_movement/choppy //Glideless legacy movement? in my fishing minigame? + favorite_bait = list( + list( + "Type" = "Foodtype", + "Value" = FRIED + ), + ) + fillet_type = /obj/item/food/meat/cutlet/plain/human + required_temperature_min = MIN_AQUARIUM_TEMP+3 + required_temperature_max = MIN_AQUARIUM_TEMP+38 + random_case_rarity = FISH_RARITY_NOPE + +/obj/item/fish/skin_crab + name = "skin crab" + desc = "\"And on the eighth day, a demential mockery of both humanity and crabity was made.\" Fascinating." + icon_state = "skin_crab" + dedicated_in_aquarium_icon_state = "skin_crab_small" + sprite_width = 7 + sprite_height = 6 + average_size = 40 + average_weight = 750 + stable_population = 5 + show_in_catalog = FALSE + beauty = FISH_BEAUTY_GREAT + favorite_bait = list( + list( + "Type" = "Foodtype", + "Value" = FRIED + ), + ) + fillet_type = /obj/item/food/meat/slab/rawcrab + random_case_rarity = FISH_RARITY_NOPE diff --git a/code/modules/fishing/fish_movement.dm b/code/modules/fishing/fish_movement.dm new file mode 100644 index 0000000000000..a328903617f62 --- /dev/null +++ b/code/modules/fishing/fish_movement.dm @@ -0,0 +1,214 @@ +/// Any lower than this, and the target position of the fish is considered null +#define FISH_TARGET_MIN_DISTANCE 6 +/// The friction applied to fish jumps, so that it decelerates over time +#define FISH_FRICTION_MULT 0.9 +/// Used to decide whether the fish can jump in a certain direction +#define FISH_SHORT_JUMP_MIN_DISTANCE 100 +/// The maximum distance for a short jump +#define FISH_SHORT_JUMP_MAX_DISTANCE 200 + +///Fish movements are simple datums, generated by the fishing minigame, that represent how the fish moves suring the minigame. +/datum/fish_movement + /// The minigame that spawned us + var/datum/fishing_challenge/master + /// How many times move_fish() has been called + var/times_fired = 0 + /// How likely the fish is to perform a standard jump, then multiplied by difficulty + var/short_jump_chance = 2.25 + /// How likely the fish is to perform a long jump, then multiplied by difficulty + var/long_jump_chance = 0.0625 + /// The speed limit for the short jump + var/short_jump_velocity_limit = 400 + /// The speed limit for the long jump + var/long_jump_velocity_limit = 200 + /// The current speed limit used + var/current_velocity_limit + /// The base velocity of the fish, which may affect jump distances and falling speed. + var/fish_idle_velocity = 0 + /// A position on the slider the fish wants to get to + var/target_position + /// If true, the fish can jump while a target position is set, thus overriding it + var/can_interrupt_move = TRUE + /// The current speed the fish is moving at + var/fish_velocity = 0 + +/datum/fish_movement/New(datum/fishing_challenge/master) + src.master = master + +/** + * Proc that adjusts movement values to the difficulty of the minigame. + * The operations can be a tad complex, but basically it ensures that jump + * chances with a probability higher than 1% increase in a smooth curve so that + * they still reach 100% prob when the difficulty peakes. + */ +/datum/fish_movement/proc/adjust_to_difficulty() + var/square_angle_rad = TORADIANS(90) + var/zero_one_difficulty = master.difficulty/100 + if(short_jump_chance > 1) + short_jump_chance = (zero_one_difficulty**(square_angle_rad-TORADIANS(arctan(short_jump_chance * 1/square_angle_rad))))*100 + else + short_jump_chance *= master.difficulty + if(long_jump_chance > 1) + long_jump_chance = (zero_one_difficulty**(square_angle_rad-TORADIANS(arctan(long_jump_chance * 1/square_angle_rad))))*100 + else + long_jump_chance *= master.difficulty + +///The main proc, called by minigame every SSfishing tick while it's in the 'active' phase. +/datum/fish_movement/proc/move_fish(seconds_per_tick) + times_fired++ + /** + * The jump chances are meant to run every odd tick (each every decisecond) + * We cannot do it every tick because the fish would be jumpier than intended + * and we cannot cut the chances in half to fit on each tick, because the maximum probability + * would go from 100% to 75%. + */ + var/can_roll = times_fired % 2 + + var/long_chance = long_jump_chance * seconds_per_tick * (1/seconds_per_tick) + var/short_chance = short_jump_chance * seconds_per_tick * (1/seconds_per_tick) + + // If we have the target but we're close enough, mark as target reached + if(abs(target_position - master.fish_position) < FISH_TARGET_MIN_DISTANCE) + target_position = null + + // Switching to new long jump target can interrupt any other + if(can_roll && (can_interrupt_move || isnull(target_position)) && prob(long_chance)) + /** + * Move at least 0.75 to full of the availible bar in given direction, + * and more likely to move in the direction where there's more space + */ + var/distance_from_top = FISHING_MINIGAME_AREA - master.fish_position - master.fish_height + var/distance_from_bottom = master.fish_position + var/top_chance + if(distance_from_top < FISH_SHORT_JUMP_MIN_DISTANCE) + top_chance = 0 + else + top_chance = (distance_from_top/max(distance_from_bottom, 1)) * 100 + var/new_target = master.fish_position + if(prob(top_chance)) + new_target += distance_from_top * rand(75, 100)/100 + else + new_target -= distance_from_bottom * rand(75, 100)/100 + target_position = round(new_target) + current_velocity_limit = long_jump_velocity_limit + + // Move towards target + if(!isnull(target_position)) + var/distance = target_position - master.fish_position + // about 5 at diff 15 , 10 at diff 30, 30 at diff 100 + var/acceleration_mult = get_acceleration(seconds_per_tick) + var/target_acceleration = distance * acceleration_mult * seconds_per_tick + + 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 + var/jump_length + if(distance_from_top >= FISH_SHORT_JUMP_MIN_DISTANCE) + jump_length = rand(FISH_SHORT_JUMP_MIN_DISTANCE, FISH_SHORT_JUMP_MAX_DISTANCE) + if(distance_from_bottom >= FISH_SHORT_JUMP_MIN_DISTANCE && (!jump_length || prob(50))) + jump_length = -rand(FISH_SHORT_JUMP_MIN_DISTANCE, FISH_SHORT_JUMP_MAX_DISTANCE) + 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) + set_fish_position(seconds_per_tick) + +///Proc that returns the acceleration of the fish during the minigame. +/datum/fish_movement/proc/get_acceleration(seconds_per_tick) + return 0.3 * master.difficulty + 0.5 + +///Called at the end of move_fish(), for updating the position of the fish in the fishing minigame. +/datum/fish_movement/proc/set_fish_position(seconds_per_tick) + master.fish_position = clamp(master.fish_position + fish_velocity * seconds_per_tick, 0, FISHING_MINIGAME_AREA - master.fish_height) + +///Generic fish movement datum that only performs slow, uninterrupted long jumps +/datum/fish_movement/slow + short_jump_chance = 0 + long_jump_chance = 1.5 + long_jump_velocity_limit = 150 + can_interrupt_move = FALSE + +///Generic fish movement datum with triple the short jump chance. +/datum/fish_movement/zippy + short_jump_chance = parent_type::short_jump_chance * 3 + +///fish movement datum that progressively gets faster until acceleration and velocity are double the starting ones. +/datum/fish_movement/accelerando + ///The jump velocity to add each tick + var/short_jump_vel_add + ///The long jump velocity to add each tick + var/long_jump_vel_add + ///Time to reach full speed, in seconds. + var/accel_time_cap = 30 + +/datum/fish_movement/accelerando/move_fish(seconds_per_tick) + var/seconds_elapsed = (times_fired * seconds_per_tick) + if(seconds_elapsed >= accel_time_cap) + return ..() + if(!times_fired) //First tick, cache the initial jump velocities + short_jump_vel_add = short_jump_velocity_limit/accel_time_cap + long_jump_vel_add = long_jump_velocity_limit/accel_time_cap + return ..() + + if(current_velocity_limit) + var/vel_add = current_velocity_limit == short_jump_velocity_limit ? short_jump_vel_add : long_jump_vel_add + current_velocity_limit += round(vel_add * seconds_per_tick, 0.01) + + short_jump_velocity_limit += round(short_jump_vel_add * seconds_per_tick, 0.01) + long_jump_velocity_limit += round(long_jump_vel_add * seconds_per_tick, 0.01) + return ..() + +/datum/fish_movement/accelerando/get_acceleration(seconds_per_tick) + var/acceleration = ..() + return acceleration + min(acceleration, acceleration * times_fired * seconds_per_tick / accel_time_cap) + +/datum/fish_movement/accelerando/set_fish_position(seconds_per_tick) + fish_velocity = round(fish_velocity) + return ..() + +///Fish movement datum that updates the fish position twice per second. +/datum/fish_movement/choppy + ///We keep of the theorical fish position to eventually use + var/faux_position = 0 + +/datum/fish_movement/choppy/set_fish_position(seconds_per_tick) + faux_position = clamp(faux_position + fish_velocity * seconds_per_tick, 0, FISHING_MINIGAME_AREA - master.fish_height) + if(!((times_fired * SSfishing.wait) % (0.5 SECONDS))) + master.fish_position = faux_position + +///Fish movement datum that weakly pushes the fish up and then down with greater force once it reaches the top of the minigame. +/datum/fish_movement/plunger + ///Is the fish plunging to the bottom of the minigame area, or should it swim up? + var/is_plunging = TRUE + ///The added idle velocity when plunging + var/plunging_speed = -22 + +/datum/fish_movement/plunger/adjust_to_difficulty() + . = ..() + //Adjust the fleeing velocity, up to five times the initial value. + plunging_speed += round(plunging_speed * master.difficulty * 0.03) + fish_idle_velocity += plunging_speed //so it can be safely subtracted if the fish starts at the bottom. + +/datum/fish_movement/plunger/move_fish(seconds_per_tick) + var/fish_area = FISHING_MINIGAME_AREA - master.fish_height + if(is_plunging) + if(target_position > master.fish_position) //nothing should stop us from plunging. + target_position = null + var/dist_bot_percent = master.fish_position/fish_area + if(dist_bot_percent <= 0.04) + fish_idle_velocity -= plunging_speed + is_plunging = FALSE + else + var/dist_top_percent = (fish_area - master.fish_position)/fish_area + if(dist_top_percent <= 0.04) + fish_idle_velocity += plunging_speed + is_plunging = TRUE + + return ..() + + +#undef FISH_TARGET_MIN_DISTANCE +#undef FISH_FRICTION_MULT +#undef FISH_SHORT_JUMP_MIN_DISTANCE +#undef FISH_SHORT_JUMP_MAX_DISTANCE diff --git a/code/modules/fishing/fishing_equipment.dm b/code/modules/fishing/fishing_equipment.dm index f6b49a9b52314..b943f2bcdb708 100644 --- a/code/modules/fishing/fishing_equipment.dm +++ b/code/modules/fishing/fishing_equipment.dm @@ -260,7 +260,6 @@ // Can hold fishing rod despite the size var/static/list/exception_cache = typecacheof(list( /obj/item/fishing_rod, - /obj/item/fishing_line, )) atom_storage.exception_hold = exception_cache @@ -286,30 +285,73 @@ new /obj/item/fishing_hook(src) new /obj/item/fishing_line(src) +/obj/item/storage/toolbox/fishing/master + name = "super fishing toolbox" + desc = "Contains EVERYTHING (almost) you need for your fishing trip." + icon_state = "gold" + inhand_icon_state = "toolbox_gold" + +/obj/item/storage/toolbox/fishing/master/PopulateContents() + new /obj/item/fishing_rod/telescopic/master(src) + new /obj/item/storage/box/fishing_hooks/master(src) + new /obj/item/storage/box/fishing_lines/master(src) + new /obj/item/bait_can/super_baits(src) + 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" + illustration = "fish" /obj/item/storage/box/fishing_hooks/PopulateContents() - . = ..() new /obj/item/fishing_hook/magnet(src) new /obj/item/fishing_hook/shiny(src) new /obj/item/fishing_hook/weighted(src) +/obj/item/storage/box/fishing_hooks/master + +/obj/item/storage/box/fishing_hooks/master/PopulateContents() + . = ..() + new /obj/item/fishing_hook/stabilized(src) + new /obj/item/fishing_hook/jaws(src) + /obj/item/storage/box/fishing_lines name = "fishing line set" + illustration = "fish" /obj/item/storage/box/fishing_lines/PopulateContents() - . = ..() new /obj/item/fishing_line/bouncy(src) new /obj/item/fishing_line/reinforced(src) new /obj/item/fishing_line/cloaked(src) +/obj/item/storage/box/fishing_lines/master + +/obj/item/storage/box/fishing_lines/master/PopulateContents() + . = ..() + new /obj/item/fishing_line/auto_reel(src) + /obj/item/storage/box/fish_debug name = "box full of fish" + illustration = "fish" /obj/item/storage/box/fish_debug/PopulateContents() for(var/fish_type in subtypesof(/obj/item/fish)) new fish_type(src) +///From the fishing mystery box. It's basically a lazarus and a few bottles of strange reagents. +/obj/item/storage/box/fish_revival_kit + name = "fish revival kit" + desc = "Become a fish doctor today." + illustration = "fish" + +/obj/item/storage/box/fish_revival_kit/PopulateContents() + new /obj/item/lazarus_injector(src) + new /obj/item/reagent_containers/cup/bottle/strange_reagent(src) + new /obj/item/reagent_containers/cup(src) //to splash the reagents on the fish. + new /obj/item/storage/fish_case(src) + new /obj/item/storage/fish_case(src) + #undef MAGNET_HOOK_BONUS_MULTIPLIER #undef RESCUE_HOOK_FISH_MULTIPLIER diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm index 45739b79399e4..db01410d0e225 100644 --- a/code/modules/fishing/fishing_minigame.dm +++ b/code/modules/fishing/fishing_minigame.dm @@ -5,28 +5,20 @@ // UI minigame phase #define MINIGAME_PHASE 3 -/// The height of the minigame slider. Not in pixels, but minigame units. -#define FISHING_MINIGAME_AREA 1000 -/// Any lower than this, and the target position of the fish is considered null -#define FISH_TARGET_MIN_DISTANCE 6 -/// The friction applied to fish jumps, so that it decelerates over time -#define FISH_FRICTION_MULT 0.9 -/// Used to decide whether the fish can jump in a certain direction -#define FISH_SHORT_JUMP_MIN_DISTANCE 100 -/// The maximum distance for a short jump -#define FISH_SHORT_JUMP_MAX_DISTANCE 200 // Acceleration mod when bait is over fish #define FISH_ON_BAIT_ACCELERATION_MULT 0.6 /// The minimum velocity required for the bait to bounce #define BAIT_MIN_VELOCITY_BOUNCE 150 /// The extra deceleration of velocity that happens when the bait switches direction -#define BAIT_DECELERATION_MULT 1.5 +#define BAIT_DECELERATION_MULT 1.8 /// Reduce initial completion rate depending on difficulty #define MAX_FISH_COMPLETION_MALUS 15 /// The window of time between biting phase and back to baiting phase #define BITING_TIME_WINDOW 4 SECONDS +/// The multiplier of how much the difficulty negatively impacts the bait height +#define BAIT_HEIGHT_DIFFICULTY_MALUS 1.3 ///Defines to know how the bait is moving on the minigame slider. #define REELING_STATE_IDLE 0 @@ -36,7 +28,7 @@ ///The pixel height of the minigame bar #define MINIGAME_SLIDER_HEIGHT 76 ///The standard pixel height of the bait -#define MINIGAME_BAIT_HEIGHT 24 +#define MINIGAME_BAIT_HEIGHT 27 ///The standard pixel height of the fish (minus a pixel on each direction for the sake of a better looking sprite) #define MINIGAME_FISH_HEIGHT 4 @@ -45,8 +37,6 @@ var/start_time /// Is it finished (either by win/lose or window closing) var/completed = FALSE - /// Fish AI type to use - var/fish_ai = FISH_AI_DUMB /// Rule modifiers (eg weighted bait) var/special_effects = NONE /// A list of possible active minigame effects. If not empty, one will be picked from time to time. @@ -82,7 +72,7 @@ /// How much space the fish takes on the minigame slider var/fish_height = 50 /// How much space the bait takes on the minigame slider - var/bait_height = 320 + var/bait_height = 360 /// The height in pixels of the bait bar var/bait_pixel_height = MINIGAME_BAIT_HEIGHT /// The height in pixels of the fish @@ -91,8 +81,6 @@ var/fish_position = 0 /// The position of the bait on the minigame slider var/bait_position = 0 - /// The current speed the fish is moving at - var/fish_velocity = 0 /// The current speed the bait is moving at var/bait_velocity = 0 @@ -103,22 +91,7 @@ /// How much completion is gained per second when the bait area is intersecting with the fish's var/completion_gain = 5 - /// How likely the fish is to perform a standard jump, then multiplied by difficulty - var/short_jump_chance = 2.25 - /// How likely the fish is to perform a long jump, then multiplied by difficulty - var/long_jump_chance = 0.0625 - /// The speed limit for the short jump - var/short_jump_velocity_limit = 400 - /// The speed limit for the long jump - var/long_jump_velocity_limit = 200 - /// The current speed limit used - var/current_velocity_limit = 200 - /// The base velocity of the fish, which may affect jump distances and falling speed. - var/fish_idle_velocity = 0 - /// A position on the slider the fish wants to get to - var/target_position - /// If true, the fish can jump while a target position is set, thus overriding it - var/can_interrupt_move = TRUE + var/datum/fish_movement/mover /// Whether the bait is idle or reeling up or down (left and right click) var/reeling_state = REELING_STATE_IDLE @@ -142,24 +115,21 @@ RegisterSignal(comp.fish_source, COMSIG_FISHING_SOURCE_INTERRUPT_CHALLENGE, PROC_REF(interrupt_challenge)) comp.fish_source.RegisterSignal(src, COMSIG_FISHING_CHALLENGE_COMPLETED, TYPE_PROC_REF(/datum/fish_source, on_challenge_completed)) background = comp.fish_source.background + /// Fish minigame properties if(ispath(reward_path,/obj/item/fish)) var/obj/item/fish/fish = reward_path - fish_ai = initial(fish.fish_ai_type) - switch(fish_ai) - if(FISH_AI_ZIPPY) // Keeps on jumping - short_jump_chance *= 3 - if(FISH_AI_SLOW) // Only does long jump, and doesn't change direction until it gets there - short_jump_chance = 0 - long_jump_chance = 1.5 - long_jump_velocity_limit = 150 - long_jump_velocity_limit = FALSE + var/movement_path = initial(fish.fish_movement_type) + mover = new movement_path(src) // Apply fish trait modifiers var/list/fish_list_properties = collect_fish_properties() var/list/fish_traits = fish_list_properties[fish][NAMEOF(fish, fish_traits)] for(var/fish_trait in fish_traits) var/datum/fish_trait/trait = GLOB.fish_traits[fish_trait] trait.minigame_mod(rod, user, src) + else + mover = new /datum/fish_movement(src) + /// Enable special parameters if(rod.line) completion_gain += 1 // Any fishing line will provide a small boost by default @@ -182,36 +152,23 @@ if(rod.hook.fishing_hook_traits & FISHING_HOOK_KILL) special_effects |= FISHING_MINIGAME_RULE_KILL + completion_loss += user.mind?.get_skill_modifier(/datum/skill/fishing, SKILL_VALUE_MODIFIER)/5 + if(special_effects & FISHING_MINIGAME_RULE_KILL && ispath(reward_path,/obj/item/fish)) - RegisterSignal(user, COMSIG_MOB_FISHING_REWARD_DISPENSED, PROC_REF(hurt_fish)) + RegisterSignal(comp.fish_source, COMSIG_FISH_SOURCE_REWARD_DISPENSED, PROC_REF(hurt_fish)) difficulty += comp.fish_source.calculate_difficulty(reward_path, rod, user, src) - difficulty = clamp(round(difficulty), 1, 100) + difficulty = clamp(round(difficulty), FISHING_EASY_DIFFICULTY - 5, 100) if(difficulty > FISHING_EASY_DIFFICULTY) - completion -= round(MAX_FISH_COMPLETION_MALUS * (difficulty/100), 1) + completion -= MAX_FISH_COMPLETION_MALUS * (difficulty * 0.01) if(HAS_MIND_TRAIT(user, TRAIT_REVEAL_FISH)) fish_icon = GLOB.specific_fish_icons[reward_path] || "fish" - /** - * If the chances are higher than 1% (100% at maximum difficulty), they'll scale - * less than proportionally (exponent less than 1) instead. - * This way we ensure fish with high jump chances won't get TOO jumpy until - * they near the maximum difficulty, at which they hit 100% - */ - var/square_angle_rad = TORADIANS(90) - var/zero_one_difficulty = difficulty/100 - if(short_jump_chance > 1) - short_jump_chance = (zero_one_difficulty**(square_angle_rad-TORADIANS(arctan(short_jump_chance * 1/square_angle_rad))))*100 - else - short_jump_chance *= difficulty - if(long_jump_chance > 1) - long_jump_chance = (zero_one_difficulty**(square_angle_rad-TORADIANS(arctan(long_jump_chance * 1/square_angle_rad))))*100 - else - long_jump_chance *= difficulty + mover.adjust_to_difficulty() - bait_height -= difficulty + bait_height -= round(difficulty * BAIT_HEIGHT_DIFFICULTY_MALUS) bait_pixel_height = round(MINIGAME_BAIT_HEIGHT * (bait_height/initial(bait_height)), 1) /datum/fishing_challenge/Destroy(force) @@ -226,6 +183,7 @@ SStgui.close_uis(src) user = null used_rod = null + QDEL_NULL(mover) return ..() /datum/fishing_challenge/proc/send_alert(message) @@ -277,11 +235,11 @@ //You need to be holding the rod to use it. if(LAZYACCESS(modifiers, SHIFT_CLICK) || LAZYACCESS(modifiers, CTRL_CLICK) || LAZYACCESS(modifiers, ALT_CLICK)) return - if(!source.get_active_held_item(used_rod) && !HAS_TRAIT(source, TRAIT_PROFOUND_FISHER)) + if(!HAS_TRAIT(source, TRAIT_PROFOUND_FISHER) && source.get_active_held_item() != used_rod) return - if(phase == WAIT_PHASE) //Reset wait + if(phase == WAIT_PHASE) send_alert("miss!") - start_baiting_phase(TRUE) + start_baiting_phase(TRUE) //Add in another 3 to 5 seconds for that blunder. else if(phase == BITING_PHASE) start_minigame_phase() return COMSIG_MOB_CANCEL_CLICKON @@ -329,7 +287,7 @@ if(penalty) wait_time = min(timeleft(next_phase_timer) + rand(3 SECONDS, 5 SECONDS), 30 SECONDS) else - wait_time = rand(1 SECONDS, 30 SECONDS) + wait_time = rand(3 SECONDS, 25 SECONDS) if(special_effects & FISHING_MINIGAME_AUTOREEL && wait_time >= 15 SECONDS) wait_time = max(wait_time - 7.5 SECONDS, 15 SECONDS) deltimer(next_phase_timer) @@ -365,6 +323,14 @@ send_alert("crustacean!!!") if(FISH_ICON_BONE) send_alert("bones!!!") + if(FISH_ICON_ELECTRIC) + send_alert("zappy!!!") + if(FISH_ICON_WEAPON) + send_alert("weapon!!!") + if(FISH_ICON_CRITTER) + send_alert("critter!!!") + if(FISH_ICON_SEED) + send_alert("seed!!!") else send_alert("!!!") animate(lure, pixel_y = 3, time = 5, loop = -1, flags = ANIMATION_RELATIVE) @@ -409,7 +375,10 @@ completion *= 1.2 if(BITING_TIME_WINDOW - 0.5 SECONDS to BITING_TIME_WINDOW) completion *= 1.4 - completion = round(completion, 1) + //randomize the position of the fish a little + fish_position = rand(0, (FISHING_MINIGAME_AREA - fish_height) * 0.8) + var/diff_dist = 100 + difficulty + bait_position = clamp(round(fish_position + rand(-diff_dist, diff_dist) - bait_height * 0.5), 0, FISHING_MINIGAME_AREA - bait_height) if(!prepare_minigame_hud()) return phase = MINIGAME_PHASE @@ -462,7 +431,7 @@ /datum/fishing_challenge/process(seconds_per_tick) if(length(active_effects) && COOLDOWN_FINISHED(src, active_effect_cd)) select_active_effect() - move_fish(seconds_per_tick) + mover.move_fish(seconds_per_tick) move_bait(seconds_per_tick) if(!QDELETED(fishing_hud)) update_visuals() @@ -498,58 +467,6 @@ fishing_hud.icon_state = background current_active_effect = null -///The proc that moves the fish around, just like in the old TGUI, mostly. -/datum/fishing_challenge/proc/move_fish(seconds_per_tick) - var/long_chance = long_jump_chance * seconds_per_tick * 10 - var/short_chance = short_jump_chance * seconds_per_tick * 10 - - // If we have the target but we're close enough, mark as target reached - if(abs(target_position - fish_position) < FISH_TARGET_MIN_DISTANCE) - target_position = null - - // Switching to new long jump target can interrupt any other - if((can_interrupt_move || isnull(target_position)) && prob(long_chance)) - /** - * Move at least 0.75 to full of the availible bar in given direction, - * and more likely to move in the direction where there's more space - */ - var/distance_from_top = FISHING_MINIGAME_AREA - fish_position - fish_height - var/distance_from_bottom = fish_position - var/top_chance - if(distance_from_top < FISH_SHORT_JUMP_MIN_DISTANCE) - top_chance = 0 - else - top_chance = (distance_from_top/max(distance_from_bottom, 1)) * 100 - var/new_target = fish_position - if(prob(top_chance)) - new_target += distance_from_top * rand(75, 100)/100 - else - new_target -= distance_from_bottom * rand(75, 100)/100 - target_position = round(new_target) - current_velocity_limit = long_jump_velocity_limit - - // Move towards target - if(!isnull(target_position)) - var/distance = target_position - fish_position - // about 5 at diff 15 , 10 at diff 30, 30 at diff 100 - var/acceleration_mult = 0.3 * difficulty + 0.5 - var/target_acceleration = distance * acceleration_mult * seconds_per_tick - - fish_velocity = fish_velocity * FISH_FRICTION_MULT + target_acceleration - else if(prob(short_chance)) - var/distance_from_top = FISHING_MINIGAME_AREA - fish_position - fish_height - var/distance_from_bottom = fish_position - var/jump_length - if(distance_from_top >= FISH_SHORT_JUMP_MIN_DISTANCE) - jump_length = rand(FISH_SHORT_JUMP_MIN_DISTANCE, FISH_SHORT_JUMP_MAX_DISTANCE) - if(distance_from_bottom >= FISH_SHORT_JUMP_MIN_DISTANCE && (!jump_length || prob(50))) - jump_length = -rand(FISH_SHORT_JUMP_MIN_DISTANCE, FISH_SHORT_JUMP_MAX_DISTANCE) - target_position = clamp(fish_position + jump_length, 0, FISHING_MINIGAME_AREA - fish_height) - current_velocity_limit = short_jump_velocity_limit - - fish_velocity = clamp(fish_velocity + fish_idle_velocity, -current_velocity_limit, current_velocity_limit) - fish_position = clamp(fish_position + fish_velocity * seconds_per_tick, 0, FISHING_MINIGAME_AREA - fish_height) - ///The proc that moves the bait around, just like in the old TGUI, mostly. /datum/fishing_challenge/proc/move_bait(seconds_per_tick) var/should_bounce = abs(bait_velocity) > BAIT_MIN_VELOCITY_BOUNCE @@ -610,9 +527,7 @@ bait_velocity += velocity_change //check that the fish area is still intersecting the bait now that it has moved - fish_on_bait = (fish_position + fish_height >= bait_position) && (bait_position + bait_height >= fish_position) - - if(fish_on_bait) + if(is_fish_on_bait()) completion += completion_gain * seconds_per_tick if(completion >= 100) complete(TRUE) @@ -624,6 +539,10 @@ completion = clamp(completion, 0, 100) +///Returns TRUE if the fish and the bait are intersecting +/datum/fishing_challenge/proc/is_fish_on_bait() + return (fish_position + fish_height >= bait_position) && (bait_position + bait_height >= fish_position) + ///update the vertical pixel position of both fish and bait, and the icon state of the completion bar /datum/fishing_challenge/proc/update_visuals() var/bait_offset_mult = bait_position/FISHING_MINIGAME_AREA @@ -723,22 +642,19 @@ #undef BITING_PHASE #undef MINIGAME_PHASE -#undef FISHING_MINIGAME_AREA -#undef FISH_TARGET_MIN_DISTANCE -#undef FISH_FRICTION_MULT -#undef FISH_SHORT_JUMP_MIN_DISTANCE -#undef FISH_SHORT_JUMP_MAX_DISTANCE -#undef FISH_ON_BAIT_ACCELERATION_MULT -#undef BAIT_MIN_VELOCITY_BOUNCE -#undef BAIT_DECELERATION_MULT - #undef MINIGAME_SLIDER_HEIGHT #undef MINIGAME_BAIT_HEIGHT #undef MINIGAME_FISH_HEIGHT +#undef BAIT_HEIGHT_DIFFICULTY_MALUS + #undef REELING_STATE_IDLE #undef REELING_STATE_UP #undef REELING_STATE_DOWN +#undef FISH_ON_BAIT_ACCELERATION_MULT +#undef BAIT_MIN_VELOCITY_BOUNCE +#undef BAIT_DECELERATION_MULT + #undef MAX_FISH_COMPLETION_MALUS #undef BITING_TIME_WINDOW diff --git a/code/modules/fishing/fishing_portal_machine.dm b/code/modules/fishing/fishing_portal_machine.dm index 494b29b4183ee..8b157cbebfff3 100644 --- a/code/modules/fishing/fishing_portal_machine.dm +++ b/code/modules/fishing/fishing_portal_machine.dm @@ -100,3 +100,7 @@ if(!choice || !can_interact(user)) return activate(available_fish_sources[choice]) + +/obj/machinery/fishing_portal_generator/emagged + obj_flags = parent_type::obj_flags | EMAGGED + circuit = /obj/item/circuitboard/machine/fishing_portal_generator/emagged diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index 6ee02d6d9de4d..ece2f9d84af6b 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -71,6 +71,7 @@ . = ..() if(currently_hooked) context[SCREENTIP_CONTEXT_LMB] = "Reel in" + context[SCREENTIP_CONTEXT_RMB] = "Unhook" return CONTEXTUAL_SCREENTIP_SET return NONE @@ -100,14 +101,25 @@ /obj/item/fishing_rod/proc/consume_bait(atom/movable/reward) // catching things that aren't fish or alive mobs doesn't consume baits. - if(isnull(reward) || isnull(bait)) + if(isnull(reward) || isnull(bait) || HAS_TRAIT(bait, TRAIT_BAIT_UNCONSUMABLE)) return if(isliving(reward)) var/mob/living/caught_mob = reward if(caught_mob.stat == DEAD) return - else if(!isfish(reward)) - return + else + if(!isfish(reward)) + return + var/obj/item/fish/fish = reward + if(HAS_TRAIT(bait, TRAIT_POISONOUS_BAIT) && !HAS_TRAIT(fish, TRAIT_FISH_TOXIN_IMMUNE)) + var/kill_fish = TRUE + for(var/bait_identifer in fish.favorite_bait) + if(is_matching_bait(bait, bait_identifer)) + kill_fish = FALSE + break + if(kill_fish) + fish.set_status(FISH_DEAD, silent = TRUE) + QDEL_NULL(bait) update_icon() @@ -212,6 +224,16 @@ cast_line(interacting_with, user) return ITEM_INTERACT_SUCCESS +/obj/item/fishing_rod/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) + return ranged_interact_with_atom_secondary(interacting_with, user, modifiers) + +/obj/item/fishing_rod/ranged_interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) + //Stop reeling, delete the fishing line + if(currently_hooked) + QDEL_NULL(fishing_line) + return ITEM_INTERACT_BLOCKING + return ..() + /// If the line to whatever that is is clear and we're not already busy, try fishing in it /obj/item/fishing_rod/proc/cast_line(atom/target, mob/user) if(casting || currently_hooked) @@ -219,9 +241,6 @@ if(!hook) balloon_alert(user, "install a hook first!") return - if(!CheckToolReach(user, target, cast_range)) - balloon_alert(user, "cannot reach there!") - return if(!COOLDOWN_FINISHED(src, casting_cd)) return casting = TRUE @@ -357,7 +376,7 @@ return FALSE return TRUE -/obj/item/fishing_rod/ui_act(action, list/params) +/obj/item/fishing_rod/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return . @@ -528,7 +547,7 @@ ui_description = "This rod has an infinite supply of synth-bait. Also doubles as an Experi-Scanner for fish." icon_state = "fishing_rod_science" reel_overlay = "reel_science" - bait = /obj/item/food/bait/doughball/synthetic + bait = /obj/item/food/bait/doughball/synthetic/unconsumable /obj/item/fishing_rod/tech/Initialize(mapload) . = ..() @@ -550,9 +569,6 @@ . = ..() . += span_notice("Alt-Click to access the Experiment Configuration UI") -/obj/item/fishing_rod/tech/consume_bait(atom/movable/reward) - return - /obj/item/fishing_rod/tech/use_slot(slot, mob/user, obj/item/new_item) if(slot == ROD_SLOT_BAIT) return @@ -578,23 +594,21 @@ if(owner.hook) icon_state = owner.hook.icon_state transform = transform.Scale(1, -1) - return ..() - -/obj/projectile/fishing_cast/Impact(atom/hit_atom) . = ..() - owner.hook_hit(hit_atom) - qdel(src) + if(!QDELETED(src)) + our_line = owner.create_fishing_line(src) -/obj/projectile/fishing_cast/fire(angle, atom/direct_target) +/obj/projectile/fishing_cast/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() - our_line = owner.create_fishing_line(src) + if(blocked < 100) + QDEL_NULL(our_line) //we need to delete the old beam datum, otherwise it won't let you fish. + owner.hook_hit(target) /obj/projectile/fishing_cast/Destroy() - . = ..() QDEL_NULL(our_line) owner?.casting = FALSE - - + owner = null + return ..() /datum/beam/fishing_line // Is the fishing rod held in left side hand diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm index 059a532072204..dc9b910ad8f2d 100644 --- a/code/modules/fishing/sources/_fish_source.dm +++ b/code/modules/fishing/sources/_fish_source.dm @@ -8,30 +8,48 @@ GLOBAL_LIST_INIT(preset_fish_sources, init_subtypes_w_path_keys(/datum/fish_sour * A lot of the icons here may be a tad inaccurate, but since we're limited to the free font awesome icons we * have access to, we got to make do. */ -GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( - /mob/living/basic/carp = FISH_ICON_DEF, - /mob/living/basic/mining = FISH_ICON_HOSTILE, - /obj/effect/decal/remains = FISH_ICON_BONE, - /obj/effect/mob_spawn/corpse = FISH_ICON_BONE, - /obj/item/coin = FISH_ICON_COIN, - /obj/item/fish = FISH_ICON_DEF, - /obj/item/fish/armorfish = FISH_ICON_CRAB, - /obj/item/fish/boned = FISH_ICON_BONE, - /obj/item/fish/chasm_crab = FISH_ICON_CRAB, - /obj/item/fish/gunner_jellyfish = FISH_ICON_JELLYFISH, - /obj/item/fish/holo/crab = FISH_ICON_CRAB, - /obj/item/fish/holo/puffer = FISH_ICON_CHUNKY, - /obj/item/fish/mastodon = FISH_ICON_BONE, - /obj/item/fish/pufferfish = FISH_ICON_CHUNKY, - /obj/item/fish/slimefish = FISH_ICON_SLIME, - /obj/item/fish/sludgefish = FISH_ICON_SLIME, - /obj/item/fish/starfish = FISH_ICON_STAR, - /obj/item/storage/wallet = FISH_ICON_COIN, - /obj/item/stack/sheet/bone = FISH_ICON_BONE, - /obj/item/stack/sheet/mineral = FISH_ICON_GEM, - /obj/item/stack/ore = FISH_ICON_GEM, - /obj/structure/closet/crate = FISH_ICON_COIN, -))) +GLOBAL_LIST_INIT(specific_fish_icons, generate_specific_fish_icons()) + +/proc/generate_specific_fish_icons() + var/list/return_list = zebra_typecacheof(list( + /mob/living/basic/axolotl = FISH_ICON_CRITTER, + /mob/living/basic/frog = FISH_ICON_CRITTER, + /mob/living/basic/carp = FISH_ICON_DEF, + /mob/living/basic/mining = FISH_ICON_HOSTILE, + /obj/effect/decal/remains = FISH_ICON_BONE, + /obj/effect/mob_spawn/corpse = FISH_ICON_BONE, + /obj/item/coin = FISH_ICON_COIN, + /obj/item/fish = FISH_ICON_DEF, + /obj/item/fish/armorfish = FISH_ICON_CRAB, + /obj/item/fish/boned = FISH_ICON_BONE, + /obj/item/fish/chainsawfish = FISH_ICON_WEAPON, + /obj/item/fish/chasm_crab = FISH_ICON_CRAB, + /obj/item/fish/gunner_jellyfish = FISH_ICON_JELLYFISH, + /obj/item/fish/holo/crab = FISH_ICON_CRAB, + /obj/item/fish/holo/puffer = FISH_ICON_CHUNKY, + /obj/item/fish/jumpercable = FISH_ICON_ELECTRIC, + /obj/item/fish/lavaloop = FISH_ICON_WEAPON, + /obj/item/fish/mastodon = FISH_ICON_BONE, + /obj/item/fish/pufferfish = FISH_ICON_CHUNKY, + /obj/item/fish/sand_crab = FISH_ICON_CRAB, + /obj/item/fish/skin_crab = FISH_ICON_CRAB, + /obj/item/fish/slimefish = FISH_ICON_SLIME, + /obj/item/fish/sludgefish = FISH_ICON_SLIME, + /obj/item/fish/starfish = FISH_ICON_STAR, + /obj/item/fish/stingray = FISH_ICON_WEAPON, + /obj/item/fish/swordfish = FISH_ICON_WEAPON, + /obj/item/fish/zipzap = FISH_ICON_ELECTRIC, + /obj/item/seeds/grass = FISH_ICON_SEED, + /obj/item/seeds/random = FISH_ICON_SEED, + /obj/item/storage/wallet = FISH_ICON_COIN, + /obj/item/stack/sheet/bone = FISH_ICON_BONE, + /obj/item/stack/sheet/mineral = FISH_ICON_GEM, + /obj/item/stack/ore = FISH_ICON_GEM, + /obj/structure/closet/crate = FISH_ICON_COIN, + )) + + return_list[FISHING_RANDOM_SEED] = FISH_ICON_SEED + return return_list /** * Where the fish actually come from - every fishing spot has one assigned but multiple fishing holes @@ -45,6 +63,10 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( var/list/fish_table = list() /// If a key from fish_table is present here, that fish is availible in limited quantity and is reduced by one on successful fishing var/list/fish_counts = list() + /// Any limited quantity stuff in this list will be readded to the counts after a while + var/list/fish_count_regen + /// A list of stuff that's currently waiting to be readded to fish_counts + var/list/currently_on_regen /// Text shown as baloon alert when you roll a dud in the table var/duds = list("it was nothing", "the hook is empty") /// Baseline difficulty for fishing in this spot @@ -53,6 +75,15 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( var/catalog_description /// Background image name from /datum/asset/simple/fishing_minigame var/background = "background_default" + /// It true, repeated and large explosions won't be as efficient. This is usually meant for global fish sources. + var/explosive_malus = FALSE + /// If explosive_malus is true, this will be used to keep track of the turfs where an explosion happened for when we'll spawn the loot. + var/list/exploded_turfs + /// Mindless mobs that can fish will never pull up items on this list + var/static/list/profound_fisher_blacklist = typecacheof(list( + /mob/living/basic/mining/lobstrosity, + /obj/structure/closet/crate/necropolis/tendril, + )) /datum/fish_source/New() if(!PERFORM_ALL_TESTS(focus_only/fish_sources_tables)) @@ -61,6 +92,10 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( if(!(path in fish_table)) stack_trace("path [path] found in the 'fish_counts' list but not in the fish_table one of [type]") +/datum/fish_source/Destroy() + exploded_turfs = null + return ..() + ///Called when src is set as the fish source of a fishing spot component /datum/fish_source/proc/on_fishing_spot_init(/datum/component/fishing_spot/spot) return @@ -89,7 +124,7 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( . += EXPERT_FISHER_DIFFICULTY_MOD // Difficulty modifier added by the fisher's skill level - if(!challenge || !(challenge.special_effects & FISHING_MINIGAME_RULE_NO_EXP)) + if(!(challenge?.special_effects & FISHING_MINIGAME_RULE_NO_EXP)) . += fisherman.mind?.get_skill_modifier(/datum/skill/fishing, SKILL_VALUE_MODIFIER) // Difficulty modifier added by the rod @@ -166,13 +201,7 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( /// Gives out the reward if possible /datum/fish_source/proc/dispense_reward(reward_path, mob/fisherman, turf/fishing_spot) - if((reward_path in fish_counts)) // This is limited count result - fish_counts[reward_path] -= 1 - if(!fish_counts[reward_path]) - fish_counts -= reward_path //Ran out of these since rolling (multiple fishermen on same source most likely) - fish_table -= reward_path - - var/atom/movable/reward = spawn_reward(reward_path, fisherman, fishing_spot) + var/atom/movable/reward = simple_dispense_reward(reward_path, get_turf(fisherman), fishing_spot) if(!reward) //balloon alert instead fisherman.balloon_alert(fisherman, pick(duds)) return @@ -185,18 +214,41 @@ GLOBAL_LIST_INIT(specific_fish_icons, zebra_typecacheof(list( INVOKE_ASYNC(reward, TYPE_PROC_REF(/atom/movable, forceMove), get_turf(fisherman)) fisherman.balloon_alert(fisherman, "caught [reward]!") - SEND_SIGNAL(fisherman, COMSIG_MOB_FISHING_REWARD_DISPENSED, reward) return reward +///Simplified version of dispense_reward that doesn't need a fisherman. +/datum/fish_source/proc/simple_dispense_reward(reward_path, atom/spawn_location, turf/fishing_spot) + if(isnull(reward_path)) + return null + if(reward_path in fish_counts) // This is limited count result + fish_counts[reward_path] -= 1 + var/regen_time = fish_count_regen?[reward_path] + if(regen_time) + LAZYADDASSOC(currently_on_regen, reward_path, 1) + if(currently_on_regen[reward_path] == 1) + addtimer(CALLBACK(src, PROC_REF(regen_count), reward_path), regen_time) + + var/atom/movable/reward = spawn_reward(reward_path, spawn_location, fishing_spot) + SEND_SIGNAL(src, COMSIG_FISH_SOURCE_REWARD_DISPENSED, reward) + return reward + +/datum/fish_source/proc/regen_count(reward_path, regen_time) + fish_counts[reward_path] += 1 + currently_on_regen[reward_path] -= 1 + if(!currently_on_regen[reward_path]) + LAZYREMOVE(currently_on_regen, reward_path) + else + addtimer(CALLBACK(src, PROC_REF(regen_count), reward_path), regen_time) + /// Spawns a reward from a atom path right where the fisherman is. Part of the dispense_reward() logic. -/datum/fish_source/proc/spawn_reward(reward_path, mob/fisherman, turf/fishing_spot) +/datum/fish_source/proc/spawn_reward(reward_path, atom/spawn_location, turf/fishing_spot) if(reward_path == FISHING_DUD) return if(ispath(reward_path, /datum/chasm_detritus)) - return GLOB.chasm_detritus_types[reward_path].dispense_detritus(fisherman, fishing_spot) + return GLOB.chasm_detritus_types[reward_path].dispense_detritus(spawn_location, fishing_spot) if(!ispath(reward_path, /atom/movable)) CRASH("Unsupported /datum path [reward_path] passed to fish_source/proc/spawn_reward()") - var/atom/movable/reward = new reward_path(get_turf(fisherman)) + var/atom/movable/reward = new reward_path(spawn_location) if(isfish(reward)) var/obj/item/fish/caught_fish = reward caught_fish.randomize_size_and_weight() @@ -219,22 +271,13 @@ GLOBAL_LIST(fishing_property_cache) GLOB.fishing_property_cache = fish_property_table return GLOB.fishing_property_cache -/// Checks if bait matches identifier from fav/disliked bait list -/datum/fish_source/proc/is_matching_bait(obj/item/bait, identifier) - if(ispath(identifier)) //Just a path - return istype(bait, identifier) - if(islist(identifier)) - var/list/special_identifier = identifier - switch(special_identifier["Type"]) - if("Foodtype") - var/obj/item/food/food_bait = bait - return istype(food_bait) && food_bait.foodtypes & special_identifier["Value"] - if("Reagent") - return bait.reagents?.has_reagent(special_identifier["Value"], special_identifier["Amount"], check_subtypes = TRUE) - else - CRASH("Unknown bait identifier in fish favourite/disliked list") - else - return HAS_TRAIT(bait, identifier) +/// Returns the fish table, with with the unavailable items from fish_counts removed. +/datum/fish_source/proc/get_fish_table() + var/list/table = fish_table.Copy() + for(var/result in table) + if(fish_counts[result] == 0) + table -= result + return table /// Builds a fish weights table modified by bait/rod/user properties /datum/fish_source/proc/get_modified_fish_table(obj/item/fishing_rod/rod, mob/fisherman) @@ -244,6 +287,9 @@ GLOBAL_LIST(fishing_property_cache) ///Multiplier used to make fishes more common compared to everything else. var/result_multiplier = 1 + + var/list/final_table = fish_table.Copy() + if(bait) if(HAS_TRAIT(bait, TRAIT_GREAT_QUALITY_BAIT)) result_multiplier = 9 @@ -254,10 +300,13 @@ GLOBAL_LIST(fishing_property_cache) else if(HAS_TRAIT(bait, TRAIT_BASIC_QUALITY_BAIT)) result_multiplier = 2 leveling_exponent = 0.1 + final_table -= FISHING_DUD var/list/fish_list_properties = collect_fish_properties() - var/list/final_table = fish_table.Copy() + + 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 @@ -316,3 +365,37 @@ GLOBAL_LIST(fishing_property_cache) final_table[fish] += round(difference**leveling_exponent, 1) return final_table + +/datum/fish_source/proc/spawn_reward_from_explosion(atom/location, severity) + if(!explosive_malus) + explosive_spawn(location, severity) + return + if(isnull(exploded_turfs)) + exploded_turfs = list() + addtimer(CALLBACK(src, PROC_REF(post_explosion_spawn)), 1) //run this the next tick. + var/turf/turf = get_turf(location) + var/peak_severity = max(exploded_turfs[turf], severity) + exploded_turfs[turf] = peak_severity + +/datum/fish_source/proc/post_explosion_spawn() + var/multiplier = 1/(length(exploded_turfs)**0.5) + for(var/turf/turf as anything in exploded_turfs) + explosive_spawn(turf, exploded_turfs[turf], multiplier) + exploded_turfs = null + +/datum/fish_source/proc/explosive_spawn(location, severity, multiplier = 1) + for(var/i in 1 to (severity + 2)) + if(!prob((100 + 100 * severity)/i * multiplier)) + continue + var/reward_loot = pick_weight(get_fish_table()) + var/atom/movable/reward = simple_dispense_reward(reward_loot, location, location) + if(isnull(reward)) + continue + if(isfish(reward)) + var/obj/item/fish/fish = reward + fish.set_status(FISH_DEAD, silent = TRUE) + if(isitem(reward)) + reward.pixel_x = rand(-9, 9) + reward.pixel_y = rand(-9, 9) + if(severity >= EXPLODE_DEVASTATE) + reward.ex_act(EXPLODE_LIGHT) diff --git a/code/modules/fishing/sources/source_types.dm b/code/modules/fishing/sources/source_types.dm index 9328f87be6905..5b4b6fe3624f9 100644 --- a/code/modules/fishing/sources/source_types.dm +++ b/code/modules/fishing/sources/source_types.dm @@ -1,29 +1,90 @@ /datum/fish_source/ocean fish_table = list( FISHING_DUD = 15, - /obj/item/coin/gold = 5, + /obj/item/coin/gold = 7, /obj/item/fish/clownfish = 15, /obj/item/fish/pufferfish = 15, /obj/item/fish/cardinal = 15, /obj/item/fish/greenchromis = 15, - /obj/item/fish/lanternfish = 5, - /obj/item/fish/zipzap = 5, - /obj/item/fish/clownfish/lube = 3, + /obj/item/fish/stingray = 10, + /obj/item/fish/lanternfish = 7, + /obj/item/fish/zipzap = 7, + /obj/item/fish/clownfish/lube = 5, + /obj/item/fish/swordfish = 5, + /obj/structure/mystery_box/fishing = 1, ) fish_counts = list( /obj/item/fish/clownfish/lube = 2, + /obj/item/fish/swordfish = 2, + /obj/structure/mystery_box/fishing = 1, + ) + fish_count_regen = list( + /obj/item/fish/clownfish/lube = 3 MINUTES, + /obj/item/fish/swordfish = 5 MINUTES, ) fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 5 + explosive_malus = TRUE /datum/fish_source/ocean/beach catalog_description = "Beach shore water" +/datum/fish_source/ice_fishing + catalog_description = "Ice-covered water" + fish_table = list( + FISHING_DUD = 4, + /obj/item/fish/arctic_char = 5, + /obj/item/fish/sockeye_salmon = 5, + /obj/item/fish/chasm_crab/ice = 2, + /obj/item/fish/boned = 1, + ) + fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20 + +/datum/fish_source/river + catalog_description = "River water" + fish_table = list( + FISHING_DUD = 4, + /obj/item/fish/goldfish = 5, + /obj/item/fish/guppy = 5, + /obj/item/fish/angelfish = 4, + /obj/item/fish/catfish = 4, + /obj/item/fish/slimefish = 2, + /obj/item/fish/sockeye_salmon = 1, + /obj/item/fish/arctic_char = 1, + /obj/item/fish/three_eyes = 1, + ) + fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 5 + +/datum/fish_source/sand + catalog_description = "Sand" + fish_table = list( + FISHING_DUD = 8, + /obj/item/fish/sand_crab = 10, + /obj/item/fish/sand_surfer = 10, + /obj/item/fish/bumpy = 10, + /obj/item/coin/gold = 3, + ) + fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 20 + +/datum/fish_source/cursed_spring + catalog_description = null //it's a secret (sorta, I know you're reading this) + fish_table = list( + FISHING_DUD = 2, + /obj/item/fish/soul = 3, + /obj/item/fish/skin_crab = 3, + /obj/item/fishing_rod/telescopic/master = 1, + ) + fish_counts = list( + /obj/item/fishing_rod/telescopic/master = 1, + ) + fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 25 + /datum/fish_source/portal fish_table = list( FISHING_DUD = 7, /obj/item/fish/goldfish = 10, /obj/item/fish/guppy = 10, /obj/item/fish/angelfish = 10, + /obj/item/fish/three_eyes = 3, ) catalog_description = "Aquarium dimension (Fishing portal generator)" ///The name of this option shown in the radial menu on the fishing portal generator @@ -44,6 +105,7 @@ catalog_description = "Beach dimension (Fishing portal generator)" radial_name = "Beach" radial_state = "palm_beach" + overlay_state = "portal_beach" /datum/fish_source/portal/chasm background = "background_lavaland" @@ -69,6 +131,14 @@ /obj/item/fish/needlefish = 5, /obj/item/fish/armorfish = 5, /obj/item/fish/zipzap = 5, + /obj/item/fish/stingray = 4, + /obj/item/fish/swordfish = 3, + ) + fish_counts = list( + /obj/item/fish/swordfish = 2, + ) + fish_count_regen = list( + /obj/item/fish/swordfish = 5 MINUTES, ) catalog_description = "Ocean dimension (Fishing portal generator)" fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 10 @@ -100,6 +170,13 @@ /obj/item/fish/donkfish = 5, /obj/item/fish/emulsijack = 5, /obj/item/fish/jumpercable = 5, + /obj/item/fish/chainsawfish = 3, + ) + fish_counts = list( + /obj/item/fish/chainsawfish = 1, + ) + fish_count_regen = list( + /obj/item/fish/chainsawfish = 7 MINUTES, ) catalog_description = "Syndicate dimension (Fishing portal generator)" radial_name = "Syndicate" @@ -126,6 +203,7 @@ ///rewards not found in other fishing portals fish_table = list( + /obj/item/fish/three_eyes = 3, /obj/item/fish/holo/checkered = 1, ) @@ -151,15 +229,15 @@ challenge.bait_bounce_mult = clamp(challenge.bait_bounce_mult + (rand(-3, 3) * 0.1), 0.1, 1) challenge.completion_loss = max(challenge.completion_loss + rand(-2, 2), 0) challenge.completion_gain = max(challenge.completion_gain + rand(-1, 1), 2) - challenge.short_jump_velocity_limit += rand(-100, 100) - challenge.long_jump_velocity_limit += rand(-100, 100) + challenge.mover.short_jump_velocity_limit += rand(-100, 100) + challenge.mover.long_jump_velocity_limit += rand(-100, 100) var/static/list/active_effects = bitfield_to_list(FISHING_MINIGAME_ACTIVE_EFFECTS) for(var/effect in active_effects) if(prob(30)) challenge.special_effects |= effect ///Cherry on top, fish caught from the randomizer portal also have (almost completely) random traits -/datum/fish_source/portal/random/spawn_reward(reward_path, mob/fisherman, turf/fishing_spot) +/datum/fish_source/portal/random/spawn_reward(reward_path, atom/movable/spawn_location, turf/fishing_spot) if(!ispath(reward_path, /obj/item/fish)) return ..() @@ -170,16 +248,11 @@ var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] weighted_traits[trait.type] = round(trait.inheritability**2/100) - var/obj/item/fish/caught_fish = new reward_path(get_turf(fisherman), FALSE) - var/list/fixed_traits = list() - for(var/trait_type in caught_fish.fish_traits) - var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] - if(caught_fish.type in trait.guaranteed_inheritance_types) - fixed_traits += trait_type + var/obj/item/fish/caught_fish = new reward_path(spawn_location, FALSE) var/list/new_traits = list() for(var/iteration in rand(1, 4)) new_traits |= pick_weight(weighted_traits) - caught_fish.inherit_traits(new_traits, fixed_traits = fixed_traits) + caught_fish.inherit_traits(new_traits) caught_fish.randomize_size_and_weight(deviation = 0.3) caught_fish.progenitors = full_capitalize(caught_fish.name) return caught_fish @@ -211,7 +284,8 @@ return rod.hook.chasm_detritus_type -/datum/fish_source/chasm +/datum/fish_source/chasm/spawn_reward_from_explosion(atom/location, severity) + return //Spawned content would immediately fall back into the chasm, so it wouldn't matter. /datum/fish_source/lavaland catalog_description = "Lava vents" @@ -228,6 +302,7 @@ ) fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 10 + explosive_malus = TRUE /datum/fish_source/lavaland/reason_we_cant_fish(obj/item/fishing_rod/rod, mob/fisherman, atom/parent) . = ..() @@ -241,14 +316,15 @@ catalog_description = "Liquid plasma vents" fish_table = list( FISHING_DUD = 5, - /obj/item/fish/chasm_crab/ice = 15, - /obj/item/fish/lavaloop/plasma_river = 15, - /obj/item/coin/plasma = 3, - /obj/item/stack/ore/plasma = 3, + /obj/item/fish/chasm_crab/ice = 30, + /obj/item/fish/lavaloop/plasma_river = 30, + /obj/item/coin/plasma = 6, + /obj/item/stack/ore/plasma = 6, + /obj/effect/decal/remains/plasma = 2, + /obj/item/stack/sheet/mineral/runite = 2, + /obj/item/stack/sheet/mineral/adamantine = 2, /mob/living/basic/mining/lobstrosity = 1, - /obj/effect/decal/remains/plasma = 1, - /obj/item/stack/sheet/mineral/runite = 1, - /obj/item/stack/sheet/mineral/adamantine = 1, + /mob/living/basic/mining/lobstrosity/juvenile = 1, ) fish_counts = list( /obj/item/stack/sheet/mineral/adamantine = 3, @@ -317,16 +393,19 @@ /obj/item/clothing/gloves/bracer = 2, /obj/effect/decal/remains/human = 2, /obj/item/fish/mastodon = 1, + /obj/item/fishing_rod/telescopic/master = 1, ) fish_counts = list( /obj/item/clothing/gloves/bracer = 1, /obj/effect/decal/remains/human = 1, /obj/item/fish/mastodon = 1, + /obj/item/fishing_rod/telescopic/master = 1, + ) + fish_count_regen = list( + /obj/item/fish/mastodon = 8 MINUTES, ) fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 15 -#define RANDOM_SEED "Random seed" - /datum/fish_source/hydro_tray catalog_description = "Hydroponics trays" fish_table = list( @@ -360,8 +439,17 @@ return ..() +/datum/fish_source/hydro_tray/spawn_reward_from_explosion(atom/location, severity) + if(!istype(location, /obj/machinery/hydroponics/constructable)) + return ..() + + var/obj/machinery/hydroponics/constructable/basin = location + if(basin.myseed || basin.waterlevel <= 0) + return + return ..() + /datum/fish_source/hydro_tray/spawn_reward(reward_path, mob/fisherman, turf/fishing_spot) - if(reward_path != RANDOM_SEED) + if(reward_path != FISHING_RANDOM_SEED) var/mob/living/created_reward = ..() if(istype(created_reward)) created_reward.name = "small [created_reward.name]" @@ -382,5 +470,3 @@ var/picked_path = pick(seeds_to_draw_from) return new picked_path(get_turf(fishing_spot)) - -#undef RANDOM_SEED diff --git a/code/modules/food_and_drinks/machinery/coffeemaker.dm b/code/modules/food_and_drinks/machinery/coffeemaker.dm index 5fdd296d7fc69..bb532b3162483 100644 --- a/code/modules/food_and_drinks/machinery/coffeemaker.dm +++ b/code/modules/food_and_drinks/machinery/coffeemaker.dm @@ -731,7 +731,7 @@ coffeepot.reagents.add_reagent_list(reagent_delta) qdel(reference_bean) - + // remove the coffee beans from the machine coffee.Cut(1,2) coffee_amount-- diff --git a/code/modules/food_and_drinks/machinery/deep_fryer.dm b/code/modules/food_and_drinks/machinery/deep_fryer.dm index 75d894ee00c38..62536ef8d1320 100644 --- a/code/modules/food_and_drinks/machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/machinery/deep_fryer.dm @@ -16,6 +16,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( ))) /obj/machinery/deepfryer + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "deep fryer" desc = "Deep fried everything." icon = 'icons/obj/machines/kitchen.dmi' @@ -38,6 +39,12 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( var/frying_fried = FALSE /// Has our currently frying object been burnt? var/frying_burnt = FALSE + /// How dirty the fryer is - show overlay at 1 + var/grease_level = 0 + /// The chance (%) of grease_level increase on process() + var/grease_increase_chance = 50 + /// The amount of grease_level increase on process() + var/grease_Increase_amount = 0.1 /// Our sound loop for the frying sounde effect. var/datum/looping_sound/deep_fryer/fry_loop @@ -56,6 +63,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( create_reagents(50, OPENCONTAINER) reagents.add_reagent(/datum/reagent/consumable/nutriment/fat/oil, 25) fry_loop = new(src, FALSE) + RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_cleaned)) /obj/machinery/deepfryer/Destroy() QDEL_NULL(fry_loop) @@ -75,6 +83,11 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( oil_use = initial(oil_use) - (oil_efficiency * 0.00475) fry_speed = oil_efficiency +/obj/machinery/deepfryer/update_overlays() + . = ..() + if(grease_level >= 1) + . += "fryer_greasy" + /obj/machinery/deepfryer/examine(mob/user) . = ..() if(frying) @@ -140,6 +153,8 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( return reagents.trans_to(frying, oil_use * seconds_per_tick, multiplier = fry_speed * 3) //Fried foods gain more of the reagent thanks to space magic + grease_level += prob(grease_increase_chance) * grease_Increase_amount + cook_time += fry_speed * seconds_per_tick if(cook_time >= DEEPFRYER_COOKTIME && !frying_fried) frying_fried = TRUE //frying... frying... fried @@ -169,7 +184,9 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( frying_burnt = FALSE fry_loop.stop() cook_time = 0 + flick("fryer_stop", src) icon_state = "fryer_off" + update_appearance(UPDATE_OVERLAYS) /obj/machinery/deepfryer/proc/start_fry(obj/item/frying_item, mob/user) to_chat(user, span_notice("You put [frying_item] into [src].")) @@ -188,6 +205,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( ADD_TRAIT(frying, TRAIT_FOOD_CHEF_MADE, REF(user.mind)) SEND_SIGNAL(frying, COMSIG_ITEM_ENTERED_FRYER) + flick("fryer_start", src) icon_state = "fryer_on" fry_loop.start() @@ -234,5 +252,9 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( user.changeNext_move(CLICK_CD_MELEE) return ..() +/obj/machinery/deepfryer/proc/on_cleaned(obj/source_component, obj/source) + grease_level = 0 + update_appearance(UPDATE_OVERLAYS) + #undef DEEPFRYER_COOKTIME #undef DEEPFRYER_BURNTIME diff --git a/code/modules/food_and_drinks/machinery/gibber.dm b/code/modules/food_and_drinks/machinery/gibber.dm index cd50f29ffe478..cc5a0ece3a08a 100644 --- a/code/modules/food_and_drinks/machinery/gibber.dm +++ b/code/modules/food_and_drinks/machinery/gibber.dm @@ -1,4 +1,5 @@ /obj/machinery/gibber + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "gibber" desc = "The name isn't descriptive enough?" icon = 'icons/obj/machines/kitchen.dmi' diff --git a/code/modules/food_and_drinks/machinery/griddle.dm b/code/modules/food_and_drinks/machinery/griddle.dm index e0c45e6c9af10..44e86a1755a9e 100644 --- a/code/modules/food_and_drinks/machinery/griddle.dm +++ b/code/modules/food_and_drinks/machinery/griddle.dm @@ -1,4 +1,5 @@ /obj/machinery/griddle + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "griddle" desc = "Because using pans is for pansies." icon = 'icons/obj/machines/kitchen.dmi' diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index bc5adfbd0f951..4fa586401ff56 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -112,7 +112,6 @@ /obj/machinery/microwave/Destroy() QDEL_LIST(ingredients) - QDEL_NULL(wires) QDEL_NULL(soundloop) QDEL_NULL(particles) if(!isnull(cell)) @@ -382,6 +381,9 @@ if(operating) return NONE + if (item.item_flags & ABSTRACT) + return NONE + if(broken > NOT_BROKEN) balloon_alert(user, "it's broken!") return ITEM_INTERACT_BLOCKING @@ -414,32 +416,7 @@ balloon_alert(user, "max 1 device!") return ITEM_INTERACT_BLOCKING - if(istype(item, /obj/item/storage)) - var/obj/item/storage/tray = item - var/loaded = 0 - - if(!istype(item, /obj/item/storage/bag/tray)) - // Non-tray dumping requires a do_after - to_chat(user, span_notice("You start dumping out the contents of [item] into [src]...")) - if(!do_after(user, 2 SECONDS, target = tray)) - return ITEM_INTERACT_BLOCKING - - for(var/obj/tray_item in tray.contents) - if(!IS_EDIBLE(tray_item)) - continue - if(ingredients.len >= max_n_of_items) - balloon_alert(user, "it's full!") - return ITEM_INTERACT_BLOCKING - if(tray.atom_storage.attempt_remove(tray_item, src)) - loaded++ - ingredients += tray_item - if(loaded) - open(autoclose = 0.6 SECONDS) - to_chat(user, span_notice("You insert [loaded] items into \the [src].")) - update_appearance() - return ITEM_INTERACT_SUCCESS - - if(item.w_class <= WEIGHT_CLASS_NORMAL && !user.combat_mode) + if(item.w_class <= WEIGHT_CLASS_NORMAL && !user.combat_mode && isnull(item.atom_storage)) if(ingredients.len >= max_n_of_items) balloon_alert(user, "it's full!") return ITEM_INTERACT_BLOCKING @@ -453,6 +430,43 @@ update_appearance() return ITEM_INTERACT_SUCCESS +/obj/machinery/microwave/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) + if (isnull(tool.atom_storage)) + return + handle_dumping(user, tool) + return ITEM_INTERACT_BLOCKING + +/obj/machinery/microwave/proc/handle_dumping(mob/living/user, obj/item/tool) + if(isnull(tool.atom_storage)) + return + + var/loaded = 0 + if(!istype(tool, /obj/item/storage/bag/tray)) + // Non-tray dumping requires a do_after + to_chat(user, span_notice("You start dumping out the contents of [tool] into [src]...")) + if(!do_after(user, 2 SECONDS, target = tool)) + return + + for(var/obj/tray_item in tool.contents) + if(!IS_EDIBLE(tray_item)) + continue + if(ingredients.len >= max_n_of_items) + balloon_alert(user, "it's full!") + return + if(tool.atom_storage.attempt_remove(tray_item, src)) + loaded++ + ingredients += tray_item + + if(loaded) + open(autoclose = 0.6 SECONDS) + to_chat(user, span_notice("You insert [loaded] items into \the [src].")) + update_appearance() + +/obj/machinery/microwave/mouse_drop_receive(obj/item/tool, mob/user, params) + if (!istype(tool) || isnull(tool.atom_storage)) + return + handle_dumping(user, tool) + /obj/machinery/microwave/attack_hand_secondary(mob/user, list/modifiers) if(user.can_perform_action(src, ALLOW_SILICON_REACH)) if(!length(ingredients)) diff --git a/code/modules/food_and_drinks/machinery/oven.dm b/code/modules/food_and_drinks/machinery/oven.dm index c997f34924145..a3cf89e5917d9 100644 --- a/code/modules/food_and_drinks/machinery/oven.dm +++ b/code/modules/food_and_drinks/machinery/oven.dm @@ -9,6 +9,7 @@ #define OVEN_TRAY_X_OFFSET -2 /obj/machinery/oven + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "oven" desc = "Why do they call it oven when you of in the cold food of out hot eat the food?" icon = 'icons/obj/machines/kitchen.dmi' diff --git a/code/modules/food_and_drinks/machinery/processor.dm b/code/modules/food_and_drinks/machinery/processor.dm index 21d49808beda1..383a7c34e2756 100644 --- a/code/modules/food_and_drinks/machinery/processor.dm +++ b/code/modules/food_and_drinks/machinery/processor.dm @@ -159,7 +159,9 @@ var/duration = (total_time / rating_speed) INVOKE_ASYNC(src, TYPE_PROC_REF(/atom, Shake), 1, 0, duration) - sleep(duration) + addtimer(CALLBACK(src, PROC_REF(complete_processing)), duration) + +/obj/machinery/processor/proc/complete_processing() for(var/atom/movable/content_item in processor_contents) var/datum/food_processor_process/recipe = PROCESSOR_SELECT_RECIPE(content_item) if (!recipe) diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm index 114d7d020f6c9..8c210822b754b 100644 --- a/code/modules/food_and_drinks/machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/machinery/smartfridge.dm @@ -5,8 +5,8 @@ name = "smartfridge" desc = "Keeps cold things cold and hot things cold." icon = 'icons/obj/machines/smartfridge.dmi' - icon_state = "smartfridge" - base_icon_state = "plant" + icon_state = "smartfridge-icon" + base_icon_state = "smartfridge" layer = BELOW_OBJ_LAYER density = TRUE circuit = /obj/item/circuitboard/machine/smartfridge @@ -14,9 +14,11 @@ light_range = MINIMUM_USEFUL_LIGHT_RANGE integrity_failure = 0.5 can_atmos_pass = ATMOS_PASS_NO + /// Icon state part for contents display + var/contents_overlay_icon = "plant" /// What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them. var/base_build_path = /obj/machinery/smartfridge - /// Maximum number of items that can be loaded into the machine + /// Maximum number of items that can be loaded into the machine per matter bin tier var/max_n_of_items = 1500 /// List of items that the machine starts with upon spawn var/list/initial_contents @@ -25,14 +27,20 @@ /// Is this smartfridge going to have a glowing screen? (Drying Racks are not) var/has_emissive = TRUE /// Whether the smartfridge is welded down to the floor disabling unwrenching + var/can_be_welded_down = TRUE + /// Whether the smartfridge is welded down to the floor disabling unwrenching var/welded_down = FALSE + /// The sound of item retrieval + var/vend_sound = 'sound/machines/machine_vend.ogg' + /// Whether the UI should be set to list view by default + var/default_list_view = FALSE /obj/machinery/smartfridge/Initialize(mapload) . = ..() create_reagents(100, NO_REACT) air_update_turf(TRUE, TRUE) register_context() - if(mapload) + if(mapload && can_be_welded_down) welded_down = TRUE if(islist(initial_contents)) @@ -49,6 +57,8 @@ move_update_air(old_loc) /obj/machinery/smartfridge/welder_act(mob/living/user, obj/item/tool) + if(!can_be_welded_down) + return ..() if(welded_down) if(!tool.tool_start_check(user, amount=2)) return ITEM_INTERACT_BLOCKING @@ -112,9 +122,9 @@ /obj/machinery/smartfridge/screwdriver_act(mob/living/user, obj/item/tool) if(default_deconstruction_screwdriver(user, icon_state, icon_state, tool)) if(panel_open) - add_overlay("[initial(icon_state)]-panel") + add_overlay("[base_icon_state]-panel") else - cut_overlay("[initial(icon_state)]-panel") + cut_overlay("[base_icon_state]-panel") SStgui.update_uis(src) return ITEM_INTERACT_SUCCESS return ITEM_INTERACT_BLOCKING @@ -156,7 +166,7 @@ if(welded_down) context[SCREENTIP_CONTEXT_LMB] = "Unweld" tool_tip_set = TRUE - else if (!welded_down && anchored) + else if (!welded_down && anchored && can_be_welded_down) context[SCREENTIP_CONTEXT_LMB] = "Weld down" tool_tip_set = TRUE if(machine_stat & BROKEN) @@ -181,7 +191,7 @@ /obj/machinery/smartfridge/RefreshParts() . = ..() for(var/datum/stock_part/matter_bin/matter_bin in component_parts) - max_n_of_items = 1500 * matter_bin.tier + max_n_of_items = initial(max_n_of_items) * matter_bin.tier /obj/machinery/smartfridge/examine(mob/user) . = ..() @@ -197,7 +207,7 @@ if(welded_down) . += span_info("It's moorings are firmly [EXAMINE_HINT("welded")] to the floor.") - else + else if (can_be_welded_down) . += span_info("It's moorings are loose and can be [EXAMINE_HINT("welded")] down.") if(anchored) @@ -211,24 +221,21 @@ set_light((!(machine_stat & BROKEN) && powered()) ? MINIMUM_USEFUL_LIGHT_RANGE : 0) /obj/machinery/smartfridge/update_icon_state() - icon_state = "[initial(icon_state)]" + icon_state = "[base_icon_state]" if(machine_stat & BROKEN) icon_state += "-broken" - else if(!powered()) - icon_state += "-off" return ..() /// Returns the number of items visible in the fridge. Faster than subtracting 2 lists /obj/machinery/smartfridge/proc/visible_items() - return contents.len - 1 // Circuitboard + return contents.len - 1 // Exclude circuitboard /obj/machinery/smartfridge/update_overlays() . = ..() - var/initial_icon_state = initial(icon_state) var/shown_contents_length = visible_items() if(visible_contents && shown_contents_length) - var/content_level = "[initial_icon_state]-[base_icon_state]" + var/content_level = "[base_icon_state]-[contents_overlay_icon]" switch(shown_contents_length) if(1 to 25) content_level += "-1" @@ -238,10 +245,10 @@ content_level += "-3" . += mutable_appearance(icon, content_level) - . += mutable_appearance(icon, "[initial_icon_state]-glass[(machine_stat & BROKEN) ? "-broken" : ""]") - - if(!machine_stat && has_emissive) - . += emissive_appearance(icon, "[initial_icon_state]-light-mask", src, alpha = src.alpha) + . += mutable_appearance(icon, "[base_icon_state]-glass[(machine_stat & BROKEN) ? "-broken" : ""]") + if(has_emissive && powered() && !(machine_stat & BROKEN)) + . += mutable_appearance(icon, "[base_icon_state]-powered") + . += emissive_appearance(icon, "[base_icon_state]-light-mask", src, alpha = src.alpha) /obj/machinery/smartfridge/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) @@ -336,7 +343,7 @@ if(ismob(weapon.loc)) var/mob/owner = weapon.loc if(!owner.transferItemToLoc(weapon, src)) - to_chat(usr, span_warning("\the [weapon] is stuck to your hand, you cannot put it in \the [src]!")) + to_chat(owner, span_warning("\the [weapon] is stuck to your hand, you cannot put it in \the [src]!")) return FALSE return TRUE else @@ -364,16 +371,21 @@ var/atom/movable/atom = item if (!QDELETED(atom)) - var/md5name = md5(atom.name) // This needs to happen because of a bug in a TGUI component, https://github.com/ractivejs/ractive/issues/744 - if (listofitems[md5name]) // which is fixed in a version we cannot use due to ie8 incompatibility - listofitems[md5name]["amount"]++ // The good news is, #30519 made smartfridge UIs non-auto-updating + var/key = "[atom.type]-[atom.name]" + if (listofitems[key]) + listofitems[key]["amount"]++ else - listofitems[md5name] = list("name" = atom.name, "amount" = 1) - sort_list(listofitems) - - .["contents"] = listofitems + listofitems[key] = list( + "path" = key, + "name" = full_capitalize(atom.name), + "icon" = atom.icon, + "icon_state" = atom.icon_state, + "amount" = 1 + ) + .["contents"] = sort_list(listofitems) .["name"] = name .["isdryer"] = FALSE + .["default_list_view"] = default_list_view /obj/machinery/smartfridge/Exited(atom/movable/gone, direction) // Update the UIs in case something inside is removed . = ..() @@ -389,26 +401,24 @@ switch(action) if("Release") - var/desired = 0 + var/amount = text2num(params["amount"]) + var/desired = 1 + var/dispensed_amount = 0 if(isAI(living_mob)) to_chat(living_mob, span_warning("[src] does not respect your authority!")) return - if (params["amount"]) - desired = text2num(params["amount"]) - else - desired = tgui_input_number(living_mob, "How many items would you like to take out?", "Release", max_value = 50) + if (amount > 1) + desired = tgui_input_number(living_mob, "How many items would you like to take out?", "Release", default = min(amount, 50), max_value = min(amount, 50)) if(!desired) return for(var/obj/item/dispensed_item in src) if(desired <= 0) break - // Grab the first item in contents which name matches our passed name. - // format_text() is used here to strip \improper and \proper from both names, - // which is required for correct string comparison between them. - if(format_text(dispensed_item.name) == format_text(params["name"])) + var/item_name = "[dispensed_item.type]-[replacetext(replacetext(dispensed_item.name, "\proper", ""), "\improper", "")]" + if(params["path"] == item_name) if(dispensed_item in component_parts) CRASH("Attempted removal of [dispensed_item] component_part from smartfridge via smartfridge interface.") //dispense the item @@ -416,8 +426,10 @@ dispensed_item.forceMove(drop_location()) adjust_item_drop_location(dispensed_item) use_energy(active_power_usage) + dispensed_amount++ desired-- - + if(dispensed_amount && vend_sound) + playsound(src, vend_sound, 50, TRUE, extrarange = -3) if (visible_contents) update_appearance() return @@ -425,108 +437,71 @@ return FALSE // ---------------------------- -// Drying Rack 'smartfridge' +// Drying 'smartfridge' // ---------------------------- -/obj/machinery/smartfridge/drying_rack - name = "drying rack" - desc = "A wooden contraption, used to dry plant products, food and hide." - icon = 'icons/obj/service/hydroponics/equipment.dmi' - icon_state = "drying_rack" - resistance_flags = FLAMMABLE - visible_contents = FALSE - base_build_path = /obj/machinery/smartfridge/drying_rack //should really be seeing this without admin fuckery. - use_power = NO_POWER_USE - idle_power_usage = 0 +/obj/machinery/smartfridge/drying + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) + name = "dehydrator" + desc = "A machine meant to remove moisture from various food." + icon_state = "dehydrator-icon" + base_icon_state = "dehydrator" + contents_overlay_icon = "contents" + circuit = /obj/item/circuitboard/machine/dehydrator + light_power = 0.5 + base_build_path = /obj/machinery/smartfridge/drying //should really be seeing this without admin fuckery. has_emissive = FALSE can_atmos_pass = ATMOS_PASS_YES + can_be_welded_down = FALSE + max_n_of_items = 25 + vend_sound = null /// Is the rack currently drying stuff var/drying = FALSE /// The reference to the last user's mind. Needed for the chef made trait to be properly applied correctly to dried food. var/datum/weakref/current_user -/obj/machinery/smartfridge/drying_rack/Initialize(mapload) - . = ..() - - //you can't weld down wood - welded_down = FALSE - - //so we don't drop any of the parent smart fridge parts upon deconstruction - clear_components() - -/obj/machinery/smartfridge/drying_rack/Destroy() +/obj/machinery/smartfridge/drying/Destroy() current_user = null return ..() -/// We cleared out the components in initialize so we can optimize this -/obj/machinery/smartfridge/drying_rack/visible_items() - return contents.len - -/obj/machinery/smartfridge/drying_rack/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) - if(isnull(held_item)) - return NONE - - var/tool_tip_set = FALSE - if(held_item.tool_behaviour == TOOL_CROWBAR) - context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" - tool_tip_set = TRUE - else if(held_item.tool_behaviour == TOOL_WRENCH) - context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Un" : ""]anchore" - tool_tip_set = TRUE - - return tool_tip_set ? CONTEXTUAL_SCREENTIP_SET : NONE - -/obj/machinery/smartfridge/drying_rack/structure_examine() - . = "" - if(anchored) - . += span_info("It's currently anchored to the floor. It can be [EXAMINE_HINT("wrenched")] loose.") - else - . += span_info("It's not anchored to the floor. It can be [EXAMINE_HINT("wrenched")] down.") - . += span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") - -/obj/machinery/smartfridge/drying_rack/welder_act(mob/living/user, obj/item/tool) - return NONE - -/obj/machinery/smartfridge/drying_rack/welder_act_secondary(mob/living/user, obj/item/tool) - return NONE - -/obj/machinery/smartfridge/drying_rack/default_deconstruction_screwdriver() - return NONE - -/obj/machinery/smartfridge/drying_rack/exchange_parts() - return +/obj/machinery/smartfridge/drying/AllowDrop() + return TRUE // Allow drying results to stay inside -/obj/machinery/smartfridge/drying_rack/on_deconstruction(disassembled) - new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) +/obj/machinery/smartfridge/drying/update_overlays() + . = ..() + if(visible_contents && powered() && !(machine_stat & BROKEN)) + var/suffix = drying ? "on" : "off" + . += mutable_appearance(icon, "[base_icon_state]-[suffix]") + . += emissive_appearance(icon, "[base_icon_state]-[suffix]", src, alpha = src.alpha) -/obj/machinery/smartfridge/drying_rack/crowbar_act(mob/living/user, obj/item/tool) - if(default_deconstruction_crowbar(tool, ignore_panel = TRUE)) - return ITEM_INTERACT_SUCCESS +/obj/machinery/smartfridge/drying/visible_items() + return min(1, (contents.len - 1)) // Return one if has any, as there's only one icon for overlay -/obj/machinery/smartfridge/drying_rack/ui_data(mob/user) +/obj/machinery/smartfridge/drying/ui_data(mob/user) . = ..() .["isdryer"] = TRUE .["drying"] = drying -/obj/machinery/smartfridge/drying_rack/ui_act(action, params) +/obj/machinery/smartfridge/drying/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) update_appearance() // This is to handle a case where the last item is taken out manually instead of through drying pop-out return + var/mob/user = ui.user switch(action) if("Dry") - toggle_drying(FALSE, usr) + toggle_drying(FALSE, user) return TRUE -/obj/machinery/smartfridge/drying_rack/powered() +/obj/machinery/smartfridge/drying/powered() return !anchored ? FALSE : ..() -/obj/machinery/smartfridge/drying_rack/power_change() +/obj/machinery/smartfridge/drying/power_change() . = ..() if(!powered()) toggle_drying(TRUE) -/obj/machinery/smartfridge/drying_rack/load(obj/item/dried_object, mob/user) //For updating the filled overlay +/obj/machinery/smartfridge/drying/load(obj/item/dried_object, mob/user) //For updating the filled overlay . = ..() if(!.) return @@ -534,25 +509,18 @@ if(drying && user?.mind) current_user = WEAKREF(user.mind) -/obj/machinery/smartfridge/drying_rack/update_overlays() - . = ..() - if(drying) - . += "drying_rack_drying" - if(contents.len) - . += "drying_rack_filled" - -/obj/machinery/smartfridge/drying_rack/process() +/obj/machinery/smartfridge/drying/process(seconds_per_tick) if(drying) for(var/obj/item/item_iterator in src) if(!accept_check(item_iterator)) continue - rack_dry(item_iterator) + SEND_SIGNAL(item_iterator, COMSIG_ITEM_DRIED, current_user, seconds_per_tick) SStgui.update_uis(src) update_appearance() use_energy(active_power_usage) -/obj/machinery/smartfridge/drying_rack/accept_check(obj/item/O) +/obj/machinery/smartfridge/drying/accept_check(obj/item/O) return HAS_TRAIT(O, TRAIT_DRYABLE) /** @@ -560,7 +528,7 @@ * Arguments * * forceoff - if TRUE will force the dryer off always */ -/obj/machinery/smartfridge/drying_rack/proc/toggle_drying(forceoff, mob/user) +/obj/machinery/smartfridge/drying/proc/toggle_drying(forceoff, mob/user) if(drying || forceoff) drying = FALSE current_user = FALSE @@ -572,15 +540,70 @@ update_use_power(ACTIVE_POWER_USE) update_appearance() -/obj/machinery/smartfridge/drying_rack/proc/rack_dry(obj/item/target) - SEND_SIGNAL(target, COMSIG_ITEM_DRIED, current_user) - -/obj/machinery/smartfridge/drying_rack/emp_act(severity) +/obj/machinery/smartfridge/drying/emp_act(severity) . = ..() if(. & EMP_PROTECT_SELF) return atmos_spawn_air("[TURF_TEMPERATURE(1000)]") +/// Wooden version +/obj/machinery/smartfridge/drying/rack + name = "drying rack" + desc = "A wooden contraption, used to dry plant products, food and hide." + icon_state = "drying-rack" + base_icon_state = "drying-rack" + resistance_flags = FLAMMABLE + visible_contents = FALSE + base_build_path = /obj/machinery/smartfridge/drying/rack + use_power = NO_POWER_USE + idle_power_usage = 0 + +/obj/machinery/smartfridge/drying/rack/Initialize(mapload) + . = ..() + //so we don't drop any of the parent smart fridge parts upon deconstruction + clear_components() + +/obj/machinery/smartfridge/drying/rack/welder_act_secondary(mob/living/user, obj/item/tool) + return NONE // Can't repair wood with welder + +/obj/machinery/smartfridge/drying/rack/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + if(isnull(held_item)) + return NONE + + var/tool_tip_set = FALSE + if(held_item.tool_behaviour == TOOL_CROWBAR) + context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" + tool_tip_set = TRUE + else if(held_item.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Un" : ""]anchore" + tool_tip_set = TRUE + + return tool_tip_set ? CONTEXTUAL_SCREENTIP_SET : NONE + +/obj/machinery/smartfridge/drying/rack/structure_examine() + . = ..() + . += span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") + +/obj/machinery/smartfridge/drying/rack/default_deconstruction_screwdriver() + return NONE + +/obj/machinery/smartfridge/drying/rack/exchange_parts() + return + +/obj/machinery/smartfridge/drying/rack/on_deconstruction(disassembled) + new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) + +/obj/machinery/smartfridge/drying/rack/crowbar_act(mob/living/user, obj/item/tool) + if(default_deconstruction_crowbar(tool, ignore_panel = TRUE)) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/smartfridge/drying/rack/update_overlays() + . = ..() + if(drying) + . += "[base_icon_state]-drying" + if(contents.len) + . += "[base_icon_state]-filled" + // ---------------------------- // Bar drink smartfridge // ---------------------------- @@ -588,7 +611,7 @@ name = "drink showcase" desc = "A refrigerated storage unit for tasty tasty alcohol." base_build_path = /obj/machinery/smartfridge/drinks - base_icon_state = "drink" + contents_overlay_icon = "drink" /obj/machinery/smartfridge/drinks/accept_check(obj/item/weapon) //not an item or valid container @@ -608,7 +631,7 @@ /obj/machinery/smartfridge/food desc = "A refrigerated storage unit for food." base_build_path = /obj/machinery/smartfridge/food - base_icon_state = "food" + contents_overlay_icon = "food" /obj/machinery/smartfridge/food/accept_check(obj/item/weapon) if(weapon.w_class >= WEIGHT_CLASS_BULKY) @@ -626,7 +649,7 @@ name = "smart slime extract storage" desc = "A refrigerated storage unit for slime extracts." base_build_path = /obj/machinery/smartfridge/extract - base_icon_state = "slime" + contents_overlay_icon = "slime" /obj/machinery/smartfridge/extract/accept_check(obj/item/weapon) return (istype(weapon, /obj/item/slime_extract) || istype(weapon, /obj/item/slime_scanner)) @@ -641,7 +664,7 @@ name = "smart petri dish storage" desc = "A refrigerated storage unit for petri dishes." base_build_path = /obj/machinery/smartfridge/petri - base_icon_state = "petri" + contents_overlay_icon = "petri" /obj/machinery/smartfridge/petri/accept_check(obj/item/weapon) return istype(weapon, /obj/item/petri_dish) @@ -657,7 +680,7 @@ desc = "A refrigerated storage unit for organ storage." max_n_of_items = 20 //vastly lower to prevent processing too long base_build_path = /obj/machinery/smartfridge/organ - base_icon_state = "organ" + contents_overlay_icon = "organ" /// The rate at which this fridge will repair damaged organs var/repair_rate = 0 @@ -710,7 +733,8 @@ name = "smart chemical storage" desc = "A refrigerated storage unit for medicine storage." base_build_path = /obj/machinery/smartfridge/chemistry - base_icon_state = "chem" + contents_overlay_icon = "chem" + default_list_view = TRUE /obj/machinery/smartfridge/chemistry/accept_check(obj/item/weapon) // not an item or reagent container @@ -760,7 +784,8 @@ name = "smart virus storage" desc = "A refrigerated storage unit for volatile sample storage." base_build_path = /obj/machinery/smartfridge/chemistry/virology - base_icon_state = "viro" + contents_overlay_icon = "viro" + default_list_view = TRUE /obj/machinery/smartfridge/chemistry/virology/preloaded initial_contents = list( @@ -781,10 +806,12 @@ name = "disk compartmentalizer" desc = "A machine capable of storing a variety of disks. Denoted by most as the DSU (disk storage unit)." icon_state = "disktoaster" - icon = 'icons/obj/machines/vending.dmi' + base_icon_state = "disktoaster" + has_emissive = TRUE pass_flags = PASSTABLE can_atmos_pass = ATMOS_PASS_YES visible_contents = FALSE + has_emissive = FALSE base_build_path = /obj/machinery/smartfridge/disks /obj/machinery/smartfridge/disks/accept_check(obj/item/weapon) diff --git a/code/modules/food_and_drinks/recipes/soup_mixtures.dm b/code/modules/food_and_drinks/recipes/soup_mixtures.dm index ef75de8db8672..446782d00cbf4 100644 --- a/code/modules/food_and_drinks/recipes/soup_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/soup_mixtures.dm @@ -1469,6 +1469,20 @@ /datum/reagent/water = 5, ) +//Fresh Jellyfish fillet soup! +/datum/chemical_reaction/food/soup/jellyfish_stew_two + required_reagents = list(/datum/reagent/water = 50) + required_ingredients = list( + /obj/item/food/fishmeat/gunner_jellyfish = 1, + /obj/item/food/grown/soybeans = 1, + /obj/item/food/grown/redbeet = 1, + /obj/item/food/grown/potato = 1 + ) + results = list( + /datum/reagent/consumable/nutriment/soup/jellyfish = 50, + ) + + // Rootbread Soup /datum/reagent/consumable/nutriment/soup/rootbread name = "Rootbread Soup" diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm index ec8eda8d3cfff..7b8c071b3a539 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm @@ -13,7 +13,7 @@ category = CAT_EGG /datum/crafting_recipe/food/omelette - name = "Omelette" + name = "Omelette du fromage" reqs = list( /obj/item/food/egg = 2, /obj/item/food/cheese/wedge = 2 diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm index c02a7243368bd..4d028de06fb22 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm @@ -827,7 +827,7 @@ // Machinery: Drying rack /datum/crafting_recipe/food/drying - machinery = list(/obj/machinery/smartfridge/drying_rack) + machinery = list(/obj/machinery/smartfridge/drying) steps = list("Put into the rack and dry") category = CAT_MISCFOOD non_craftable = TRUE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm index 100e74fd91682..7b253f32ce17d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm @@ -74,7 +74,8 @@ /obj/item/food/grown/garlic = 1, /datum/reagent/consumable/lemonjuice = 3, /datum/reagent/consumable/blackpepper = 2, - /datum/reagent/consumable/nutriment/fat/oil/olive = 3 + /datum/reagent/consumable/nutriment/fat/oil/olive = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/lizard_escargot category = CAT_LIZARD @@ -94,7 +95,8 @@ reqs = list( /obj/item/food/fries = 1, /obj/item/food/meat/cutlet = 2, - /datum/reagent/consumable/bbqsauce = 5 + /datum/reagent/consumable/bbqsauce = 5, + /obj/item/plate = 1, ) result = /obj/item/food/lizard_fries category = CAT_LIZARD @@ -480,6 +482,10 @@ reaction = /datum/chemical_reaction/food/soup/jellyfish_stew category = CAT_LIZARD +/datum/crafting_recipe/food/reaction/soup/jellyfish_stew_two + reaction = /datum/chemical_reaction/food/soup/jellyfish_stew_two + category = CAT_LIZARD + /datum/crafting_recipe/food/reaction/soup/rootbread_soup reaction = /datum/chemical_reaction/food/soup/rootbread_soup category = CAT_LIZARD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm index 02bb9ae7bf82c..9048964df1c7c 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_martian.dm @@ -45,6 +45,7 @@ /obj/item/food/grown/onion = 1, /datum/reagent/consumable/sugar = 3, /datum/reagent/consumable/limejuice = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/sambal category = CAT_MARTIAN @@ -78,6 +79,7 @@ /obj/item/food/meat/cutlet = 1, /obj/item/food/pineappleslice = 1, /datum/reagent/consumable/soysauce = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/hurricane_rice category = CAT_MARTIAN @@ -91,6 +93,7 @@ /obj/item/food/onion_slice = 1, /obj/item/food/sausage = 1, /obj/item/food/grown/chili = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/ikareis category = CAT_MARTIAN @@ -103,7 +106,8 @@ /obj/item/food/grown/bell_pepper = 1, /obj/item/food/pineappleslice = 1, /obj/item/food/onion_slice = 1, - /datum/reagent/consumable/soysauce = 5 + /datum/reagent/consumable/soysauce = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/hawaiian_fried_rice category = CAT_MARTIAN @@ -118,6 +122,7 @@ /obj/item/food/grown/peas = 1, /datum/reagent/consumable/ketchup = 5, /datum/reagent/consumable/worcestershire = 2, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/ketchup_fried_rice category = CAT_MARTIAN @@ -131,6 +136,7 @@ /obj/item/food/cheese/firm_cheese_slice = 1, /obj/item/food/grown/olive = 1, /obj/item/food/meatball = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/mediterranean_fried_rice category = CAT_MARTIAN @@ -141,6 +147,7 @@ /obj/item/food/boiledrice = 1, /obj/item/food/egg = 1, /datum/reagent/consumable/soysauce = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/egg_fried_rice category = CAT_MARTIAN @@ -154,6 +161,7 @@ /obj/item/food/meat/cutlet = 1, /obj/item/food/kimchi = 1, /obj/item/food/egg = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/bibimbap category = CAT_MARTIAN @@ -167,6 +175,7 @@ /obj/item/food/grown/garlic = 1, /obj/item/food/onion_slice = 1, /datum/reagent/consumable/nutriment/soup/teriyaki = 4, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/bulgogi_noodles category = CAT_MARTIAN @@ -180,6 +189,7 @@ /obj/item/food/onion_slice = 1, /obj/item/food/katsu_fillet = 1, /datum/reagent/consumable/worcestershire = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/yakisoba_katsu category = CAT_MARTIAN @@ -194,6 +204,7 @@ /obj/item/food/egg = 1, /datum/reagent/consumable/soysauce = 3, /datum/reagent/consumable/red_bay = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/martian_fried_noodles category = CAT_MARTIAN @@ -203,6 +214,7 @@ reqs = list( /obj/item/food/spaghetti/boilednoodles = 1, /datum/reagent/consumable/soysauce = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/simple_fried_noodles category = CAT_MARTIAN @@ -222,6 +234,7 @@ /obj/item/food/grown/onion = 1, /obj/item/food/grown/carrot = 1, /obj/item/food/grown/potato = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/setagaya_curry category = CAT_MARTIAN @@ -545,6 +558,7 @@ /obj/item/food/meat/slab/chicken = 1, /datum/reagent/consumable/coconut_milk = 5, /datum/reagent/consumable/curry_powder = 3, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/po_kok_gai category = CAT_MARTIAN @@ -579,6 +593,7 @@ /obj/item/food/grown/tomato = 1, /obj/item/food/uncooked_rice = 1, /datum/reagent/blood = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/galinha_de_cabidela category = CAT_MARTIAN @@ -589,6 +604,7 @@ /obj/item/food/katsu_fillet = 1, /obj/item/food/boiledrice = 1, /datum/reagent/consumable/nutriment/soup/curry_sauce = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/katsu_curry category = CAT_MARTIAN @@ -600,6 +616,7 @@ /obj/item/food/onion_slice = 1, /obj/item/food/boiledrice = 1, /datum/reagent/consumable/nutriment/soup/dashi = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/beef_bowl category = CAT_MARTIAN @@ -613,6 +630,7 @@ /obj/item/food/boiledrice = 1, /datum/reagent/consumable/salt = 2, /datum/reagent/consumable/nutriment/soup/curry_sauce = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/salt_chilli_bowl category = CAT_MARTIAN @@ -625,6 +643,7 @@ /obj/item/food/grown/onion = 1, /obj/item/food/boiledrice = 1, /datum/reagent/consumable/nutriment/soup/dashi = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/kansai_bowl category = CAT_MARTIAN @@ -637,6 +656,7 @@ /obj/item/food/fishmeat = 1, /obj/item/food/boiledrice = 1, /datum/reagent/consumable/cafe_latte = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/eigamudo_curry category = CAT_MARTIAN @@ -681,6 +701,7 @@ /datum/reagent/consumable/caramel = 2, /obj/item/food/icecream = 1, /datum/reagent/consumable/ethanol/rum = 2, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/pineapple_foster category = CAT_MARTIAN @@ -848,6 +869,7 @@ /obj/item/food/fishmeat = 1, /obj/item/food/boiledrice = 1, /datum/reagent/consumable/nutriment/soup/dashi = 5, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/salad/sprout_bowl category = CAT_MARTIAN diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index 98eafb66823df..804956cbeed5b 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -243,6 +243,7 @@ /obj/item/food/grown/onion = 1, /obj/item/food/grown/tomato = 1, /obj/item/food/meat/steak = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/beef_stroganoff category = CAT_MEAT diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm index 8778ee976ef25..840d3a8c08b1a 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm @@ -120,7 +120,8 @@ /obj/item/food/cornchips = 1, /obj/item/food/grown/chili = 1, /obj/item/food/grown/onion = 1, - /obj/item/food/grown/tomato = 1 + /obj/item/food/grown/tomato = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/chipsandsalsa category = CAT_MEXICAN @@ -198,6 +199,7 @@ /obj/item/food/grown/tomato = 1, /obj/item/food/grown/onion = 1, /obj/item/food/grown/chili = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/pineapple_salsa category = CAT_MEXICAN diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm index bb20f4ab0b370..aeb27f026b251 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm @@ -2,7 +2,8 @@ name = "Herby cheese" reqs = list( /obj/item/food/cheese/curd_cheese = 1, - /obj/item/food/grown/herbs = 4 + /obj/item/food/grown/herbs = 4, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/herby_cheese category = CAT_MOTH @@ -187,7 +188,8 @@ reqs = list( /datum/reagent/consumable/nutriment/soup/rice_porridge = 10, /obj/item/food/meat/bacon = 1, - /obj/item/food/friedegg = 2 + /obj/item/food/friedegg = 2, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/bowled/hua_mulan_congee category = CAT_MOTH @@ -199,7 +201,8 @@ /obj/item/food/grown/eggplant = 1, /obj/item/food/breadslice/plain = 2, /obj/item/food/tomato_sauce = 1, - /obj/item/food/cheese/mozzarella = 1 + /obj/item/food/cheese/mozzarella = 1, + /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/bowled/fried_eggplant_polenta category = CAT_MOTH diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index 3ce319b1985a2..c965526bcb1c6 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -399,6 +399,42 @@ result = /obj/item/food/donkpocket/gondola category = CAT_PASTRY +/datum/crafting_recipe/food/donkpocket/deluxe + time = 15 + name = "Deluxe Donk-pocket" + reqs = list( + /obj/item/food/pastrybase = 1, + /obj/item/food/meatball = 1, + /obj/item/food/meat/bacon = 1, + /obj/item/food/onion_slice/red = 1 + ) + result = /obj/item/food/donkpocket/deluxe + category = CAT_PASTRY + +/datum/crafting_recipe/food/donkpocket/deluxe/nocarb + time = 15 + name = "Deluxe Meat-pocket" + reqs = list( + /obj/item/organ/internal/heart = 1, + /obj/item/food/meatball = 1, + /obj/item/food/meat/slab = 1, + /obj/item/food/grown/herbs = 1 + ) + result = /obj/item/food/donkpocket/deluxe/nocarb + category = CAT_PASTRY + +/datum/crafting_recipe/food/donkpocket/deluxe/vegan + time = 15 + name = "Deluxe Donk-roll" + reqs = list( + /obj/item/food/pastrybase = 1, + /obj/item/food/boiledrice = 1, + /obj/item/food/grown/bell_pepper = 1, + /obj/item/food/tofu = 2 + ) + result = /obj/item/food/donkpocket/deluxe/vegan + category = CAT_PASTRY + ////////////////////////////////////////////////MUFFINS//////////////////////////////////////////////// /datum/crafting_recipe/food/muffin @@ -568,6 +604,16 @@ result = /obj/item/food/cherrycupcake/blue category = CAT_PASTRY +/datum/crafting_recipe/food/jupitercupcake + name = "Jupiter-cup-cake" + reqs = list( + /obj/item/food/pastrybase = 1, + /obj/item/food/grown/mushroom/jupitercup = 1, + /datum/reagent/consumable/caramel = 3, + ) + result = /obj/item/food/jupitercupcake + category = CAT_PASTRY + /datum/crafting_recipe/food/honeybun name = "Honey bun" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm index 589235eacb70c..edf82287373f0 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm @@ -44,7 +44,7 @@ /obj/item/reagent_containers/cup/bowl = 1, /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/meat/cutlet = 2, - /obj/item/food/grown/cabbage = 1 + /obj/item/food/grown/cabbage = 1, ) result = /obj/item/food/spaghetti/beefnoodle category = CAT_SPAGHETTI @@ -157,3 +157,15 @@ ) result = /obj/item/food/spaghetti/pad_thai category = CAT_SPAGHETTI + +/datum/crafting_recipe/food/carbonara + name = "Spaghetti Carbonara" + reqs = list( + /obj/item/food/spaghetti/boiledspaghetti = 1, + /obj/item/food/cheese/firm_cheese_slice = 1, + /obj/item/food/meat/bacon = 1, + /obj/item/food/egg = 1, + /datum/reagent/consumable/blackpepper = 2, + ) + result = /obj/item/food/spaghetti/carbonara + category = CAT_SPAGHETTI diff --git a/code/modules/hallucination/fake_plasmaflood.dm b/code/modules/hallucination/fake_plasmaflood.dm index 5b3a67f53125f..4e0860da23bb9 100644 --- a/code/modules/hallucination/fake_plasmaflood.dm +++ b/code/modules/hallucination/fake_plasmaflood.dm @@ -7,10 +7,12 @@ random_hallucination_weight = 7 var/list/image/flood_images = list() - var/list/obj/effect/plasma_image_holder/flood_image_holders = list() - var/list/turf/flood_turfs = list() - var/image_icon = 'icons/effects/atmospherics.dmi' - var/image_state = "plasma" + // Assoc list of turfs we have flooded -> the /obj/effect/plasma_image_holder living on them + var/list/turf_to_flood = list() + // List of turfs that have not yet been completely flooded out + var/list/half_baked_turfs = list() + var/image_icon = 'icons/effects/atmos/plasma.dmi' + var/base_image_state = "" var/radius = 0 var/next_expand = 0 @@ -50,7 +52,7 @@ expand_flood() - if(get_turf(hallucinator) in flood_turfs) + if(turf_to_flood[get_turf(hallucinator)]) var/mob/living/carbon/carbon_hallucinator = hallucinator if(istype(carbon_hallucinator) && !carbon_hallucinator.internal) hallucinator.cause_hallucination(/datum/hallucination/fake_alert/bad_plasma, "fake plasmaflood hallucination") @@ -61,34 +63,52 @@ for(var/image/flood_image in flood_images) flood_image.alpha = min(flood_image.alpha + 50, 255) - for(var/turf/flooded_turf in flood_turfs) + for(var/turf/flooded_turf in half_baked_turfs) + var/potential_hole = FALSE for(var/dir in GLOB.cardinals) var/turf/nearby_turf = get_step(flooded_turf, dir) - if((nearby_turf in flood_turfs) || !TURFS_CAN_SHARE(nearby_turf, flooded_turf) || isspaceturf(nearby_turf)) + if(turf_to_flood[nearby_turf]) + continue + if(!TURFS_CAN_SHARE(nearby_turf, flooded_turf) || isspaceturf(nearby_turf)) + potential_hole = TRUE continue create_new_plasma_image(nearby_turf) + if(!potential_hole) + half_baked_turfs -= flooded_turf hallucinator.client?.images |= flood_images /datum/hallucination/fake_flood/proc/create_new_plasma_image(turf/to_flood) - flood_turfs += to_flood - + half_baked_turfs += to_flood var/obj/effect/plasma_image_holder/image_holder = new(to_flood) - flood_image_holders += image_holder + turf_to_flood[to_flood] = image_holder - var/image/plasma_image = image(image_icon, image_holder, image_state, FLY_LAYER) + var/image/plasma_image = image(image_icon, image_holder, "[base_image_state]-0", FLY_LAYER) plasma_image.alpha = 50 - SET_PLANE_EXPLICIT(plasma_image, ABOVE_GAME_PLANE, to_flood) + SET_PLANE_EXPLICIT(plasma_image, GAME_PLANE, to_flood) + image_holder.overriding_image = plasma_image flood_images += plasma_image + var/connected_dirs = NONE + for(var/dir in GLOB.cardinals) + var/turf/adjacent_turf = get_step(to_flood, dir) + var/obj/effect/plasma_image_holder/adjacent_holder = turf_to_flood[adjacent_turf] + if(!adjacent_holder) + continue + connected_dirs |= dir + adjacent_holder.smooth_directions |= REVERSE_DIR(dir) + adjacent_holder.overriding_image.icon_state = "[base_image_state]-[adjacent_holder.smooth_directions]" + image_holder.smooth_directions = connected_dirs + plasma_image.icon_state = "[base_image_state]-[image_holder.smooth_directions]" + /datum/hallucination/fake_flood/Destroy() STOP_PROCESSING(SSobj, src) hallucinator.client?.images -= flood_images - flood_turfs.Cut() // We don't own these - flood_images.Cut() // We also don't own these, kinda - QDEL_LIST(flood_image_holders) // But we DO own these + flood_images.Cut() // We don't own these, kinda + half_baked_turfs.Cut() // We REALLY don't own these + QDEL_LIST_ASSOC_VAL(turf_to_flood) // But we DO own these (sorta) return ..() @@ -96,8 +116,16 @@ icon_state = "nothing" anchored = TRUE layer = FLY_LAYER - plane = ABOVE_GAME_PLANE + plane = GAME_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT + var/datum/hallucination/fake_flood/owning_hallucination + var/image/overriding_image + var/smooth_directions = NONE + +/obj/effect/plasma_image_holder/Destroy(force) + . = ..() + owning_hallucination = null + overriding_image = null #undef FAKE_FLOOD_EXPAND_TIME #undef FAKE_FLOOD_MAX_RADIUS diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index 24e5274f7fbfe..d67969fb3b9e1 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -849,15 +849,11 @@ ) /datum/holiday/xmas/proc/roundstart_celebrate() - for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/computer/security/telescreen/entertainment)) - Monitor.icon_state_on = "entertainment_xmas" - for(var/mob/living/basic/pet/dog/corgi/ian/Ian in GLOB.mob_living_list) Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian)) -// EASTER (this having it's own spot should be understandable) - +// EASTER (this having its own spot should be understandable) /datum/holiday/easter name = EASTER holiday_hat = /obj/item/clothing/head/costume/rabbitears diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index b98d66f6bd2c7..1107c8c25793a 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -146,10 +146,10 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf data["emagged"] = TRUE data["emag_programs"] = emag_programs data["program"] = program - data["can_toggle_safety"] = issilicon(user) || isAdminGhostAI(user) + data["can_toggle_safety"] = HAS_SILICON_ACCESS(user) return data -/obj/machinery/computer/holodeck/ui_act(action, params) +/obj/machinery/computer/holodeck/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index 7a27aecb4bcfe..d01788a066ec4 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -75,8 +75,8 @@ /obj/machinery/readybutton name = "ready declaration device" desc = "This device is used to declare ready. If all devices in an area are ready, the event will begin!" - icon = 'icons/obj/machines/wallmounts.dmi' - icon_state = "auth_off" + icon = 'icons/obj/machines/keycard.dmi' + icon_state = "auth_on" var/ready = 0 var/area/currentarea = null var/eventstarted = FALSE diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm index ee62a12b3d0e1..0222fd41cdcf1 100644 --- a/code/modules/holodeck/turfs.dm +++ b/code/modules/holodeck/turfs.dm @@ -120,7 +120,11 @@ . = ..() if(prob(15)) icon_state = "basalt[rand(0, 12)]" - set_basalt_light(src) + switch(icon_state) + if("basalt1", "basalt2", "basalt3") + set_light(BASALT_LIGHT_RANGE_BRIGHT, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) + if("basalt5", "basalt9") + set_light(BASALT_LIGHT_RANGE_DIM, BASALT_LIGHT_POWER, LIGHT_COLOR_LAVA) /turf/open/floor/holofloor/space name = "\proper space" diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 52df09c29cdf8..da79225de97ca 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -4,6 +4,7 @@ #define PROCESSED_ITEMS_PER_RATING 5 /obj/machinery/biogenerator + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "biogenerator" desc = "Converts plants into biomass, which can be used to construct useful items." icon = 'icons/obj/machines/biogenerator.dmi' @@ -526,7 +527,7 @@ return data -/obj/machinery/biogenerator/ui_act(action, list/params) +/obj/machinery/biogenerator/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 49b7056c9e7e8..515946989293d 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -1,7 +1,7 @@ /obj/structure/fermenting_barrel name = "wooden barrel" desc = "A large wooden barrel. You can ferment fruits and such inside it, or just use it to hold reagents." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/service/hydroponics/equipment.dmi' icon_state = "barrel" base_icon_state = "barrel" resistance_flags = FLAMMABLE diff --git a/code/modules/hydroponics/grown/aloe.dm b/code/modules/hydroponics/grown/aloe.dm index cfbefce6dba21..0548098732622 100644 --- a/code/modules/hydroponics/grown/aloe.dm +++ b/code/modules/hydroponics/grown/aloe.dm @@ -1,7 +1,7 @@ // aloe /obj/item/seeds/aloe - name = "pack of aloe seeds" + name = "aloe seed pack" desc = "These seeds grow into aloe." icon_state = "seed-aloe" species = "aloe" diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm index 2becc390f3980..92cdc2d62c8c1 100644 --- a/code/modules/hydroponics/grown/ambrosia.dm +++ b/code/modules/hydroponics/grown/ambrosia.dm @@ -11,7 +11,7 @@ // Ambrosia Vulgaris /obj/item/seeds/ambrosia - name = "pack of ambrosia vulgaris seeds" + name = "ambrosia vulgaris seed pack" desc = "These seeds grow into common ambrosia, a plant grown by and from medicine." icon_state = "seed-ambrosiavulgaris" plant_icon_offset = 0 @@ -36,7 +36,7 @@ // Ambrosia Deus /obj/item/seeds/ambrosia/deus - name = "pack of ambrosia deus seeds" + name = "ambrosia deus seed pack" desc = "These seeds grow into ambrosia deus. Could it be the food of the gods..?" icon_state = "seed-ambrosiadeus" species = "ambrosiadeus" @@ -55,7 +55,7 @@ //Ambrosia Gaia /obj/item/seeds/ambrosia/gaia - name = "pack of ambrosia gaia seeds" + name = "ambrosia gaia seed pack" desc = "These seeds grow into ambrosia gaia, filled with infinite potential." icon_state = "seed-ambrosia_gaia" species = "ambrosia_gaia" diff --git a/code/modules/hydroponics/grown/apple.dm b/code/modules/hydroponics/grown/apple.dm index 0079f63ec9023..c1739cc7dea82 100644 --- a/code/modules/hydroponics/grown/apple.dm +++ b/code/modules/hydroponics/grown/apple.dm @@ -1,6 +1,6 @@ // Apple /obj/item/seeds/apple - name = "pack of apple seeds" + name = "apple seed pack" desc = "These seeds grow into apple trees." icon_state = "seed-apple" species = "apple" @@ -31,7 +31,7 @@ // Gold Apple /obj/item/seeds/apple/gold - name = "pack of golden apple seeds" + name = "golden apple seed pack" desc = "These seeds grow into golden apple trees. Good thing there are no firebirds in space." icon_state = "seed-goldapple" species = "goldapple" diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index ab38f6889907a..6e09ee3497cdd 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -1,6 +1,6 @@ // Banana /obj/item/seeds/banana - name = "pack of banana seeds" + name = "banana seed pack" desc = "They're seeds that grow into banana trees. When grown, keep away from clown." icon_state = "seed-banana" species = "banana" @@ -91,7 +91,7 @@ // Mimana - invisible sprites are totally a feature! /obj/item/seeds/banana/mime - name = "pack of mimana seeds" + name = "mimana seed pack" desc = "They're seeds that grow into mimana trees. When grown, keep away from mime." icon_state = "seed-mimana" species = "mimana" @@ -119,7 +119,7 @@ // Bluespace Banana /obj/item/seeds/banana/bluespace - name = "pack of bluespace banana seeds" + name = "bluespace banana seed pack" desc = "They're seeds that grow into bluespace banana trees. When grown, keep away from bluespace clown." icon_state = "seed-banana-blue" species = "bluespacebanana" diff --git a/code/modules/hydroponics/grown/beans.dm b/code/modules/hydroponics/grown/beans.dm index fb82737711404..885eb77c0c695 100644 --- a/code/modules/hydroponics/grown/beans.dm +++ b/code/modules/hydroponics/grown/beans.dm @@ -1,6 +1,6 @@ // Soybeans /obj/item/seeds/soya - name = "pack of soybean seeds" + name = "soybean seed pack" desc = "These seeds grow into soybean plants." icon_state = "seed-soybean" species = "soybean" @@ -30,7 +30,7 @@ // Koibean /obj/item/seeds/soya/koi - name = "pack of koibean seeds" + name = "koibean seed pack" desc = "These seeds grow into koibean plants." icon_state = "seed-koibean" species = "koibean" @@ -44,16 +44,26 @@ /obj/item/food/grown/koibeans seed = /obj/item/seeds/soya/koi name = "koibean" - desc = "Something about these seems fishy." + desc = "Something about these seems fishy, they seem really soft, almost squeezable!" icon_state = "koibeans" foodtypes = VEGETABLES tastes = list("koi" = 1) wine_power = 40 +//Now squeezable for imitation carpmeat +/obj/item/food/grown/koibeans/attack_self(mob/living/user) + user.visible_message(span_notice("[user] crushes [src] into a slab of carplike meat."), span_notice("You crush [src] into something that resembles a slab of carplike meat.")) + playsound(user, 'sound/effects/blobattack.ogg', 50, TRUE) + var/obj/item/food/fishmeat/carp/imitation/fishie = new(null) + fishie.reagents.set_all_reagents_purity(seed.get_reagent_purity()) + qdel(src) + user.put_in_hands(fishie) + return TRUE + //Butterbeans, the beans wid da butta! // Butterbeans! - Squeeze for a single butter slice! /obj/item/seeds/soya/butter - name = "pack of butterbean seeds" + name = "butterbean seed pack" desc = "These seeds grow into butterbean plants." icon_state = "seed-butterbean" species = "butterbean" @@ -84,7 +94,7 @@ // Green Beans /obj/item/seeds/greenbean - name = "pack of green bean seeds" + name = "green bean seed pack" desc = "These seeds grow into green bean plants." icon_state = "seed-greenbean" species = "greenbean" @@ -113,7 +123,7 @@ // Jumping Bean /obj/item/seeds/greenbean/jump - name = "pack of jumping bean seeds" + name = "jumping bean seed pack" desc = "These seeds grow into jumping bean plants." icon_state = "seed-jumpingbean" species = "jumpingbean" diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index 317f8ef2ed87f..10631e4dcb0b6 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -1,6 +1,6 @@ // Berries /obj/item/seeds/berry - name = "pack of berry seeds" + name = "berry seed pack" desc = "These seeds grow into berry bushes." icon_state = "seed-berry" species = "berry" @@ -31,7 +31,7 @@ // Poison Berries /obj/item/seeds/berry/poison - name = "pack of poison-berry seeds" + name = "poison-berry seed pack" desc = "These seeds grow into poison-berry bushes." icon_state = "seed-poisonberry" species = "poisonberry" @@ -55,7 +55,7 @@ // Death Berries /obj/item/seeds/berry/death - name = "pack of death-berry seeds" + name = "death-berry seed pack" desc = "These seeds grow into death berries." icon_state = "seed-deathberry" species = "deathberry" @@ -81,7 +81,7 @@ // Glow Berries /obj/item/seeds/berry/glow - name = "pack of glow-berry seeds" + name = "glow-berry seed pack" desc = "These seeds grow into glow-berry bushes." icon_state = "seed-glowberry" species = "glowberry" @@ -108,7 +108,7 @@ // Grapes /obj/item/seeds/grape - name = "pack of grape seeds" + name = "grape seed pack" desc = "These seeds grow into grape vines." icon_state = "seed-grapes" species = "grape" @@ -143,7 +143,7 @@ // Green Grapes /obj/item/seeds/grape/green - name = "pack of green grape seeds" + name = "green grape seed pack" desc = "These seeds grow into green-grape vines." icon_state = "seed-greengrapes" species = "greengrape" @@ -162,7 +162,7 @@ // Toechtauese Berries /obj/item/seeds/toechtauese - name = "pack of töchtaüse berry seeds" + name = "töchtaüse berry seed pack" desc = "These seeds grow into töchtaüse bushes." icon_state = "seed-toechtauese" species = "toechtauese" @@ -190,7 +190,7 @@ distill_reagent = /datum/reagent/toxin/itching_powder /obj/item/seeds/lanternfruit - name = "pack of lanternfruit seeds" + name = "lanternfruit seed pack" desc = "These seeds grow into lanternfruit pods." icon_state = "seed-lanternfruit" species = "lanternfruit" diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm index c336f0f4b2456..df2cda24b2d62 100644 --- a/code/modules/hydroponics/grown/cannabis.dm +++ b/code/modules/hydroponics/grown/cannabis.dm @@ -1,6 +1,6 @@ // Cannabis /obj/item/seeds/cannabis - name = "pack of cannabis seeds" + name = "cannabis seed pack" desc = "Taxable." icon_state = "seed-cannabis" plant_icon_offset = 6 @@ -24,7 +24,7 @@ /obj/item/seeds/cannabis/rainbow - name = "pack of rainbow weed seeds" + name = "rainbow weed seed pack" desc = "These seeds grow into rainbow weed. Groovy... and also highly addictive." icon_state = "seed-megacannabis" icon_grow = "megacannabis-grow" @@ -36,7 +36,7 @@ rarity = 40 /obj/item/seeds/cannabis/death - name = "pack of deathweed seeds" + name = "deathweed seed pack" desc = "These seeds grow into deathweed. Not groovy." icon_state = "seed-blackcannabis" icon_grow = "blackcannabis-grow" @@ -48,7 +48,7 @@ rarity = 40 /obj/item/seeds/cannabis/white - name = "pack of lifeweed seeds" + name = "lifeweed seed pack" desc = "I will give unto him that is munchies of the fountain of the cravings of life, freely." icon_state = "seed-whitecannabis" icon_grow = "whitecannabis-grow" @@ -62,7 +62,7 @@ /obj/item/seeds/cannabis/ultimate - name = "pack of omega weed seeds" + name = "omega weed seed pack" desc = "These seeds grow into omega weed." icon_state = "seed-ocannabis" plant_icon_offset = 0 diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index 744c0dc5b023c..b304382d2dc47 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -1,6 +1,6 @@ // Wheat /obj/item/seeds/wheat - name = "pack of wheat seeds" + name = "wheat seed pack" desc = "These may, or may not, grow into wheat." icon_state = "seed-wheat" species = "wheat" @@ -30,7 +30,7 @@ // Oat /obj/item/seeds/wheat/oat - name = "pack of oat seeds" + name = "oat seed pack" desc = "These may, or may not, grow into oat." icon_state = "seed-oat" species = "oat" @@ -52,7 +52,7 @@ // Rice /obj/item/seeds/wheat/rice - name = "pack of rice seeds" + name = "rice seed pack" desc = "These may, or may not, grow into rice." icon_state = "seed-rice" species = "rice" @@ -76,7 +76,7 @@ //Meatwheat - grows into synthetic meat /obj/item/seeds/wheat/meat - name = "pack of meatwheat seeds" + name = "meatwheat seed pack" desc = "If you ever wanted to drive a vegetarian to insanity, here's how." icon_state = "seed-meatwheat" species = "meatwheat" diff --git a/code/modules/hydroponics/grown/cherries.dm b/code/modules/hydroponics/grown/cherries.dm index 4ebd42489d96f..ad35bacf8fe71 100644 --- a/code/modules/hydroponics/grown/cherries.dm +++ b/code/modules/hydroponics/grown/cherries.dm @@ -1,6 +1,6 @@ // Cherries /obj/item/seeds/cherry - name = "pack of cherry pits" + name = "cherry pit pack" desc = "Careful not to crack a tooth on one... That'd be the pits." icon_state = "seed-cherry" species = "cherry" @@ -34,7 +34,7 @@ // Blue Cherries /obj/item/seeds/cherry/blue - name = "pack of blue cherry pits" + name = "blue cherry pit pack" desc = "The blue kind of cherries." icon_state = "seed-bluecherry" species = "bluecherry" @@ -57,7 +57,7 @@ //Cherry Bulbs /obj/item/seeds/cherry/bulb - name = "pack of cherry bulb pits" + name = "cherry bulb pit pack" desc = "The glowy kind of cherries." icon_state = "seed-cherrybulb" species = "cherrybulb" @@ -82,7 +82,7 @@ //Cherry Bombs /obj/item/seeds/cherry/bomb - name = "pack of cherry bomb pits" + name = "cherry bomb pit pack" desc = "They give you vibes of dread and frustration." icon_state = "seed-cherry_bomb" species = "cherry_bomb" diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm index 9f6d3bbd08ce0..1d9aaa8468ebf 100644 --- a/code/modules/hydroponics/grown/chili.dm +++ b/code/modules/hydroponics/grown/chili.dm @@ -1,6 +1,6 @@ // Chili /obj/item/seeds/chili - name = "pack of chili seeds" + name = "chili seed pack" desc = "These seeds grow into chili plants. HOT! HOT! HOT!" icon_state = "seed-chili" species = "chili" @@ -30,7 +30,7 @@ // Ice Chili /obj/item/seeds/chili/ice - name = "pack of chilly pepper seeds" + name = "chilly pepper seed pack" desc = "These seeds grow into chilly pepper plants." icon_state = "seed-icepepper" species = "chiliice" @@ -56,7 +56,7 @@ // Ghost Chili /obj/item/seeds/chili/ghost - name = "pack of ghost chili seeds" + name = "ghost chili seed pack" desc = "These seeds grow into a chili said to be the hottest in the galaxy." icon_state = "seed-chilighost" species = "chilighost" @@ -83,7 +83,7 @@ // Bell Pepper /obj/item/seeds/chili/bell_pepper - name = "pack of bell pepper seeds" + name = "bell pepper seed pack" desc = "These seeds grow into bell pepper plants. MILD! MILD! MILD!" icon_state = "seed-bell-pepper" species = "bellpepper" diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index c624722f82392..6bfc8bc203af5 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -9,7 +9,7 @@ // Lime /obj/item/seeds/lime - name = "pack of lime seeds" + name = "lime seed pack" desc = "These are very sour seeds." icon_state = "seed-lime" species = "lime" @@ -33,7 +33,7 @@ // Orange /obj/item/seeds/orange - name = "pack of orange seeds" + name = "orange seed pack" desc = "Sour seeds." icon_state = "seed-orange" species = "orange" @@ -61,7 +61,7 @@ // Lemon /obj/item/seeds/lemon - name = "pack of lemon seeds" + name = "lemon seed pack" desc = "These are sour seeds." icon_state = "seed-lemon" species = "lemon" @@ -86,7 +86,7 @@ // Combustible lemon /obj/item/seeds/firelemon //combustible lemon is too long so firelemon - name = "pack of combustible lemon seeds" + name = "combustible lemon seed pack" desc = "When life gives you lemons, don't make lemonade. Make life take the lemons back! Get mad! I don't want your damn lemons!" icon_state = "seed-firelemon" species = "firelemon" @@ -112,7 +112,7 @@ //3D Orange /obj/item/seeds/orange_3d - name = "pack of extradimensional orange seeds" + name = "extradimensional orange seed pack" desc = "Polygonal seeds." icon_state = "seed-orange" species = "orange" diff --git a/code/modules/hydroponics/grown/cocoa_vanilla.dm b/code/modules/hydroponics/grown/cocoa_vanilla.dm index 4e9a9810b4280..e4b6c916f7cc9 100644 --- a/code/modules/hydroponics/grown/cocoa_vanilla.dm +++ b/code/modules/hydroponics/grown/cocoa_vanilla.dm @@ -1,6 +1,6 @@ // Cocoa Pod /obj/item/seeds/cocoapod - name = "pack of cocoa pod seeds" + name = "cocoa pod seed pack" desc = "These seeds grow into cacao trees. They look fattening." //SIC: cocoa is the seeds. The trees are spelled cacao. icon_state = "seed-cocoapod" species = "cocoapod" @@ -31,7 +31,7 @@ // Vanilla Pod /obj/item/seeds/cocoapod/vanillapod - name = "pack of vanilla pod seeds" + name = "vanilla pod seed pack" desc = "These seeds grow into vanilla trees. They look fattening." icon_state = "seed-vanillapod" species = "vanillapod" @@ -52,7 +52,7 @@ distill_reagent = /datum/reagent/consumable/vanilla //Takes longer, but you can get even more vanilla from it. /obj/item/seeds/cocoapod/bungotree - name = "pack of bungo tree seeds" + name = "bungo tree seed pack" desc = "These seeds grow into bungo trees. They appear to be heavy and almost perfectly spherical." icon_state = "seed-bungotree" plant_icon_offset = 4 diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index d5f9f94e1b2df..02f77280c5ab9 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -1,6 +1,6 @@ // Corn /obj/item/seeds/corn - name = "pack of corn seeds" + name = "corn seed pack" desc = "I don't mean to sound corny..." icon_state = "seed-corn" species = "corn" @@ -57,7 +57,7 @@ // Snapcorn /obj/item/seeds/corn/snapcorn - name = "pack of snapcorn seeds" + name = "snapcorn seed pack" desc = "Oh snap!" icon_state = "seed-snapcorn" species = "snapcorn" @@ -100,7 +100,7 @@ //Pepper-corn - Heh funny. /obj/item/seeds/corn/pepper - name = "pack of pepper-corn seeds" + name = "pepper-corn seed pack" desc = "If Peter picked a pack of pepper-corn..." icon_state = "seed-peppercorn" species = "peppercorn" diff --git a/code/modules/hydroponics/grown/cotton.dm b/code/modules/hydroponics/grown/cotton.dm index 819d97f321f8d..c2149b7a33006 100644 --- a/code/modules/hydroponics/grown/cotton.dm +++ b/code/modules/hydroponics/grown/cotton.dm @@ -1,5 +1,5 @@ /obj/item/seeds/cotton - name = "pack of cotton seeds" + name = "cotton seed pack" desc = "A pack of seeds that'll grow into a cotton plant. Assistants make good free labor if neccesary." icon_state = "seed-cotton" species = "cotton" @@ -45,7 +45,7 @@ //reinforced mutated variant /obj/item/seeds/cotton/durathread - name = "pack of durathread seeds" + name = "durathread seed pack" desc = "A pack of seeds that'll grow into an extremely durable thread that could easily rival plasteel if woven properly." icon_state = "seed-durathread" species = "durathread" diff --git a/code/modules/hydroponics/grown/cucumber.dm b/code/modules/hydroponics/grown/cucumber.dm index f3712c6a5c90a..a8487a0cac9bc 100644 --- a/code/modules/hydroponics/grown/cucumber.dm +++ b/code/modules/hydroponics/grown/cucumber.dm @@ -1,6 +1,6 @@ // CUCUMBERS YEAH /obj/item/seeds/cucumber - name = "pack of cucumber seeds" + name = "cucumber seed pack" desc = "These seeds grow into cucumber plants." icon_state = "seed-cucumber" species = "cucumber" diff --git a/code/modules/hydroponics/grown/eggplant.dm b/code/modules/hydroponics/grown/eggplant.dm index d4b38c3438bdb..47cbc6d934cd3 100644 --- a/code/modules/hydroponics/grown/eggplant.dm +++ b/code/modules/hydroponics/grown/eggplant.dm @@ -1,6 +1,6 @@ // Eggplant /obj/item/seeds/eggplant - name = "pack of eggplant seeds" + name = "eggplant seed pack" desc = "These seeds grow to produce berries that look nothing like eggs." icon_state = "seed-eggplant" species = "eggplant" @@ -25,7 +25,7 @@ // Egg-Plant /obj/item/seeds/eggplant/eggy - name = "pack of egg-plant seeds" + name = "egg-plant seed pack" desc = "These seeds grow to produce berries that look a lot like eggs." icon_state = "seed-eggy" species = "eggy" diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 84b1414335caf..d4ef53474fc97 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -1,6 +1,6 @@ // Poppy /obj/item/seeds/poppy - name = "pack of poppy seeds" + name = "poppy seed pack" desc = "These seeds grow into poppies." icon_state = "seed-poppy" species = "poppy" @@ -32,7 +32,7 @@ // Lily /obj/item/seeds/poppy/lily - name = "pack of lily seeds" + name = "lily seed pack" desc = "These seeds grow into lilies." icon_state = "seed-lily" species = "lily" @@ -52,7 +52,7 @@ //Spacemans's Trumpet /obj/item/seeds/poppy/lily/trumpet - name = "pack of spaceman's trumpet seeds" + name = "spaceman's trumpet seed pack" desc = "A plant sculped by extensive genetic engineering. The spaceman's trumpet is said to bear no resemblance to its wild ancestors. Inside NT AgriSci circles it is better known as NTPW-0372." icon_state = "seed-trumpet" species = "spacemanstrumpet" @@ -86,7 +86,7 @@ // Geranium /obj/item/seeds/poppy/geranium - name = "pack of geranium seeds" + name = "geranium seed pack" desc = "These seeds grow into geranium." icon_state = "seed-geranium" species = "geranium" @@ -106,7 +106,7 @@ ///Fraxinella seeds. /obj/item/seeds/poppy/geranium/fraxinella - name = "pack of fraxinella seeds" + name = "fraxinella seed pack" desc = "These seeds grow into fraxinella." icon_state = "seed-fraxinella" species = "fraxinella" @@ -130,7 +130,7 @@ // Harebell /obj/item/seeds/harebell - name = "pack of harebell seeds" + name = "harebell seed pack" desc = "These seeds grow into pretty little flowers." icon_state = "seed-harebell" plant_icon_offset = 1 @@ -162,7 +162,7 @@ // Sunflower /obj/item/seeds/sunflower - name = "pack of sunflower seeds" + name = "sunflower seed pack" desc = "These seeds grow into sunflowers." icon_state = "seed-sunflower" species = "sunflower" @@ -203,7 +203,7 @@ // Moonflower /obj/item/seeds/sunflower/moonflower - name = "pack of moonflower seeds" + name = "moonflower seed pack" desc = "These seeds grow into moonflowers." icon_state = "seed-moonflower" lefthand_file = 'icons/mob/inhands/items/food_lefthand.dmi' @@ -231,7 +231,7 @@ // Novaflower /obj/item/seeds/sunflower/novaflower - name = "pack of novaflower seeds" + name = "novaflower seed pack" desc = "These seeds grow into novaflowers." icon_state = "seed-novaflower" species = "novaflower" @@ -266,7 +266,7 @@ // Rose /obj/item/seeds/rose - name = "pack of rose seeds" + name = "rose seed pack" desc = "These seeds grow into roses." icon_state = "seed-rose" species = "rose" @@ -311,7 +311,7 @@ // Carbon Rose /obj/item/seeds/carbon_rose - name = "pack of carbon rose seeds" + name = "carbon rose seed pack" desc = "These seeds grow into carbon roses." icon_state = "seed-carbonrose" species = "carbonrose" diff --git a/code/modules/hydroponics/grown/garlic.dm b/code/modules/hydroponics/grown/garlic.dm index e37d49fa93032..755d0c2920a3f 100644 --- a/code/modules/hydroponics/grown/garlic.dm +++ b/code/modules/hydroponics/grown/garlic.dm @@ -1,5 +1,5 @@ /obj/item/seeds/garlic - name = "pack of garlic seeds" + name = "garlic seed pack" desc = "A packet of extremely pungent seeds." icon_state = "seed-garlic" species = "garlic" diff --git a/code/modules/hydroponics/grown/gatfruit.dm b/code/modules/hydroponics/grown/gatfruit.dm index f64b6eb3bd481..c6de17d6eb684 100644 --- a/code/modules/hydroponics/grown/gatfruit.dm +++ b/code/modules/hydroponics/grown/gatfruit.dm @@ -1,7 +1,7 @@ // Gatfruit /obj/item/seeds/gatfruit - name = "pack of gatfruit seeds" + name = "gatfruit seed pack" desc = "These seeds grow into .357 revolvers." icon_state = "seed-gatfruit" species = "gatfruit" diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm index 732a6d32b881b..a5cdc08fb7658 100644 --- a/code/modules/hydroponics/grown/grass_carpet.dm +++ b/code/modules/hydroponics/grown/grass_carpet.dm @@ -1,6 +1,6 @@ // Grass /obj/item/seeds/grass - name = "pack of grass seeds" + name = "grass seed pack" desc = "These seeds grow into grass. Yummy!" icon_state = "seed-grass" species = "grass" @@ -42,7 +42,7 @@ //Fairygrass /obj/item/seeds/grass/fairy - name = "pack of fairygrass seeds" + name = "fairygrass seed pack" desc = "These seeds grow into a more mystical grass." icon_state = "seed-fairygrass" species = "fairygrass" @@ -65,7 +65,7 @@ // Carpet /obj/item/seeds/grass/carpet - name = "pack of carpet seeds" + name = "carpet seed pack" desc = "These seeds grow into stylish carpet samples." icon_state = "seed-carpet" species = "carpet" diff --git a/code/modules/hydroponics/grown/hedges.dm b/code/modules/hydroponics/grown/hedges.dm index 9127f70f78fd4..1f8f792b32610 100644 --- a/code/modules/hydroponics/grown/hedges.dm +++ b/code/modules/hydroponics/grown/hedges.dm @@ -1,5 +1,5 @@ /obj/item/seeds/shrub - name = "pack of shrub seeds" + name = "shrub seed pack" desc = "These seeds grow into hedge shrubs." icon_state = "seed-shrub" species = "shrub" @@ -34,7 +34,7 @@ /obj/structure/hedge name = "hedge" desc = "A large bushy hedge." - icon = 'icons/obj/smooth_structures/hedge.dmi' + icon = 'icons/obj/structures/smooth/hedge.dmi' icon_state = "hedge-0" base_icon_state = "hedge" smoothing_flags = SMOOTH_BITMASK diff --git a/code/modules/hydroponics/grown/herbs.dm b/code/modules/hydroponics/grown/herbs.dm index b22be06ec6aca..bc450d6857f18 100644 --- a/code/modules/hydroponics/grown/herbs.dm +++ b/code/modules/hydroponics/grown/herbs.dm @@ -1,6 +1,6 @@ // Herbs /obj/item/seeds/herbs - name = "pack of herb seeds" + name = "herb seed pack" desc = "These seeds grow to produce an assortment of herbs and seasonings." icon_state = "seed-herbs" species = "herbs" diff --git a/code/modules/hydroponics/grown/korta_nut.dm b/code/modules/hydroponics/grown/korta_nut.dm index cfa6c1e5b51f3..457ebff07163e 100644 --- a/code/modules/hydroponics/grown/korta_nut.dm +++ b/code/modules/hydroponics/grown/korta_nut.dm @@ -1,6 +1,6 @@ //Korta Nut /obj/item/seeds/korta_nut - name = "pack of korta nut seeds" + name = "korta nut seed pack" desc = "These seeds grow into korta nut bushes, native to Tizira." icon_state = "seed-korta" species = "kortanut" @@ -29,7 +29,7 @@ //Sweet Korta Nut /obj/item/seeds/korta_nut/sweet - name = "pack of sweet korta nut seeds" + name = "sweet korta nut seed pack" desc = "These seeds grow into sweet korta nuts, a mutation of the original species that produces a thick syrup that Tizirans use for desserts." icon_state = "seed-sweetkorta" species = "kortanut" diff --git a/code/modules/hydroponics/grown/kronkus.dm b/code/modules/hydroponics/grown/kronkus.dm index 90d264230e750..b4ba30a5eddbe 100644 --- a/code/modules/hydroponics/grown/kronkus.dm +++ b/code/modules/hydroponics/grown/kronkus.dm @@ -1,5 +1,5 @@ /obj/item/seeds/kronkus - name = "pack of kronkus seeds" + name = "kronkus seed pack" desc = "A pack of highly illegal kronkus seeds.\nPossession of these seeds carries the death penalty in 7 sectors." icon_state = "seed-kronkus" plant_icon_offset = 6 diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index 0e59231141fc4..3aca50ae1be54 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -1,6 +1,6 @@ // Watermelon /obj/item/seeds/watermelon - name = "pack of watermelon seeds" + name = "watermelon seed pack" desc = "These seeds grow into watermelon plants." icon_state = "seed-watermelon" species = "watermelon" @@ -27,6 +27,7 @@ name = "watermelon" desc = "It's full of watery goodness." icon_state = "watermelon" + inhand_icon_state = "watermelon" bite_consumption_mod = 2 w_class = WEIGHT_CLASS_NORMAL foodtypes = FRUIT @@ -39,9 +40,41 @@ /obj/item/food/grown/watermelon/make_dryable() return //No drying +/obj/item/food/grown/watermelon/attackby(obj/item/I, mob/user, params) + if(!istype(I, /obj/item/kitchen/spoon)) + return ..() + + var/melon_pulp_count = 1 + if(seed) + melon_pulp_count += round(seed.potency / 25) + + user.balloon_alert(user, "scooped out [melon_pulp_count] pulp(s)") + for(var/i in 1 to melon_pulp_count) + new /obj/item/food/watermelonmush(user.loc) + + /// The piece of armour melon turns into; either chetsplate or helmet + var/obj/item/clothing/melon_armour + /// Chance for the armour to be a chestplate instead of the helmet + var/melon_chestplate_chance = (max(0, seed.potency - 50) / 50) + if (prob(melon_chestplate_chance)) + if(seed.resistance_flags & FIRE_PROOF) + melon_armour = new /obj/item/clothing/suit/armor/durability/watermelon/fire_resist + else + melon_armour = new /obj/item/clothing/suit/armor/durability/watermelon + to_chat(user, span_notice("You hollow the melon into a helmet with [I].")) + else + if(seed.resistance_flags & FIRE_PROOF) + melon_armour = new /obj/item/clothing/head/helmet/durability/watermelon/fire_resist + else + melon_armour = new /obj/item/clothing/head/helmet/durability/watermelon + to_chat(user, span_notice("You hollow the melon into a chestplate with [I].")) + remove_item_from_storage(user) + qdel(src) + user.put_in_hands(melon_armour) + // Holymelon /obj/item/seeds/watermelon/holy - name = "pack of holymelon seeds" + name = "holymelon seed pack" desc = "These seeds grow into holymelon plants." icon_state = "seed-holymelon" species = "holymelon" @@ -66,6 +99,9 @@ wine_power = 70 //Water to wine, baby. wine_flavor = "divinity" +/obj/item/food/grown/holymelon/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/holymelonslice, 5, 20, screentip_verb = "Slice") + /obj/item/food/grown/holymelon/make_dryable() return //No drying @@ -73,6 +109,39 @@ . = ..() AddComponent(/datum/component/edible, check_liked = CALLBACK(src, PROC_REF(check_holyness))) + +/obj/item/food/grown/holymelon/attackby(obj/item/I, mob/user, params) + if(!istype(I, /obj/item/kitchen/spoon)) + return ..() + + var/holymelon_pulp_count = 1 + if(seed) + holymelon_pulp_count += round(seed.potency / 25) + + user.balloon_alert(user, "scooped out [holymelon_pulp_count] pulp(s)") + for(var/i in 1 to holymelon_pulp_count) + new /obj/item/food/holymelonmush(user.loc) + + /// The piece of armour holymelon turns into; either chetsplate or helmet + var/obj/item/clothing/holymelon_armour + /// Chance for the armour to be a chestplate instead of the helmet + var/holymelon_chestplate_chance = (max(0, seed.potency - 50) / 50) + if (prob(holymelon_chestplate_chance)) + if(seed.resistance_flags & FIRE_PROOF) + holymelon_armour = new /obj/item/clothing/suit/armor/durability/holymelon/fire_resist + else + holymelon_armour = new /obj/item/clothing/suit/armor/durability/holymelon + to_chat(user, span_notice("You hollow the holymelon into a helmet with [I].")) + else + if(seed.resistance_flags & FIRE_PROOF) + holymelon_armour = new /obj/item/clothing/head/helmet/durability/holymelon/fire_resist + else + holymelon_armour = new /obj/item/clothing/head/helmet/durability/holymelon + to_chat(user, span_notice("You hollow the holymelon into a chestplate with [I].")) + remove_item_from_storage(user) + qdel(src) + user.put_in_hands(holymelon_armour) + /* * Callback to be used with the edible component. * Checks whether or not the person eating the holymelon @@ -90,7 +159,7 @@ /// Barrel melon Seeds /obj/item/seeds/watermelon/barrel - name = "pack of barrelmelon seeds" + name = "barrelmelon seed pack" desc = "These seeds grow into barrelmelon plants." icon_state = "seed-barrelmelon" species = "barrelmelon" @@ -108,4 +177,41 @@ name = "barrelmelon" desc = "The nutriments within this melon have been compressed and fermented into rich alcohol." icon_state = "barrelmelon" + inhand_icon_state = "barrelmelon" distill_reagent = /datum/reagent/medicine/antihol //You can call it a integer overflow. + +/obj/item/food/grown/barrelmelon/make_processable() + AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/barrelmelonslice, 5, 20, screentip_verb = "Chop") + +/obj/item/food/grown/barrelmelon/attackby(obj/item/I, mob/user, params) + if(!istype(I, /obj/item/kitchen/spoon)) + return ..() + + var/barrelmelon_pulp_count = 1 + if(seed) + barrelmelon_pulp_count += round(seed.potency / 25) + + user.balloon_alert(user, "scooped out [barrelmelon_pulp_count] pulp(s)") + for(var/i in 1 to barrelmelon_pulp_count) + new /obj/item/food/barrelmelonmush(user.loc) + + /// The piece of armour barrelmelon turns into; either chetsplate or helmet + var/obj/item/clothing/barrelmelon_armour + /// Chance for the armour to be a chestplate instead of the helmet + var/barrelmelon_chestplate_chance = (max(0, seed.potency - 50) / 50) + if (prob(barrelmelon_chestplate_chance)) + if(seed.resistance_flags & FIRE_PROOF) + barrelmelon_armour = new /obj/item/clothing/suit/armor/durability/barrelmelon/fire_resist + else + barrelmelon_armour = new /obj/item/clothing/suit/armor/durability/barrelmelon + to_chat(user, span_notice("You hollow the barrelmelon into a helmet with [I].")) + else + if(seed.resistance_flags & FIRE_PROOF) + barrelmelon_armour = new /obj/item/clothing/head/helmet/durability/barrelmelon/fire_resist + else + barrelmelon_armour = new /obj/item/clothing/head/helmet/durability/barrelmelon + to_chat(user, span_notice("You hollow the barrelmelon into a chestplate with [I].")) + + remove_item_from_storage(user) + qdel(src) + user.put_in_hands(barrelmelon_armour) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index bfc50f0c483b3..9af495f6a6128 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -11,7 +11,7 @@ // Reishi /obj/item/seeds/reishi - name = "pack of reishi mycelium" + name = "reishi mycelium pack" desc = "This mycelium grows into something medicinal and relaxing." icon_state = "mycelium-reishi" species = "reishi" @@ -38,7 +38,7 @@ // Fly Amanita /obj/item/seeds/amanita - name = "pack of fly amanita mycelium" + name = "fly amanita mycelium pack" desc = "This mycelium grows into something horrible." icon_state = "mycelium-amanita" species = "amanita" @@ -65,7 +65,7 @@ // Destroying Angel /obj/item/seeds/angel - name = "pack of destroying angel mycelium" + name = "destroying angel mycelium pack" desc = "This mycelium grows into something devastating." icon_state = "mycelium-angel" species = "angel" @@ -93,7 +93,7 @@ // Liberty Cap /obj/item/seeds/liberty - name = "pack of liberty-cap mycelium" + name = "liberty-cap mycelium pack" desc = "This mycelium grows into liberty-cap mushrooms." icon_state = "mycelium-liberty" species = "liberty" @@ -119,7 +119,7 @@ // Plump Helmet /obj/item/seeds/plump - name = "pack of plump-helmet mycelium" + name = "plump-helmet mycelium pack" desc = "This mycelium grows into helmets... maybe." icon_state = "mycelium-plump" species = "plump" @@ -145,7 +145,7 @@ // Walking Mushroom /obj/item/seeds/plump/walkingmushroom - name = "pack of walking mushroom mycelium" + name = "walking mushroom mycelium pack" desc = "This mycelium will grow into huge stuff!" icon_state = "mycelium-walkingmushroom" species = "walkingmushroom" @@ -171,7 +171,7 @@ // Chanterelle /obj/item/seeds/chanter - name = "pack of chanterelle mycelium" + name = "chanterelle mycelium pack" desc = "This mycelium grows into chanterelle mushrooms." icon_state = "mycelium-chanter" species = "chanter" @@ -197,9 +197,23 @@ desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" icon_state = "chanterelle" +/obj/item/food/grown/mushroom/chanterelle/attackby(obj/item/I, mob/user, params) + if(!istype(I, /obj/item/kitchen/spoon)) + return ..() + if(seed.potency < 95) + return ..() + + to_chat(user, span_notice("You hollow up the chanterelle with [I].")) + remove_item_from_storage(user) + if(seed.resistance_flags & FIRE_PROOF) + user.put_in_hands(new /obj/item/clothing/head/wizard/chanterelle/fr()) + else + user.put_in_hands(new /obj/item/clothing/head/wizard/chanterelle()) + qdel(src) + //Jupiter Cup /obj/item/seeds/chanter/jupitercup - name = "pack of jupiter cup mycelium" + name = "jupiter cup mycelium pack" desc = "This mycelium grows into jupiter cups. Zeus would be envious at the power at your fingertips." icon_state = "mycelium-jupitercup" species = "jupitercup" @@ -224,7 +238,7 @@ // Glowshroom /obj/item/seeds/glowshroom - name = "pack of glowshroom mycelium" + name = "glowshroom mycelium pack" desc = "This mycelium -glows- into mushrooms!" icon_state = "mycelium-glowshroom" species = "glowshroom" @@ -279,7 +293,7 @@ // Glowcap /obj/item/seeds/glowshroom/glowcap - name = "pack of glowcap mycelium" + name = "glowcap mycelium pack" desc = "This mycelium -powers- into mushrooms!" icon_state = "mycelium-glowcap" species = "glowcap" @@ -303,7 +317,7 @@ //Shadowshroom /obj/item/seeds/glowshroom/shadowshroom - name = "pack of shadowshroom mycelium" + name = "shadowshroom mycelium pack" desc = "This mycelium will grow into something shadowy." icon_state = "mycelium-shadowshroom" species = "shadowshroom" @@ -332,7 +346,7 @@ investigate_log("was planted by [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) /obj/item/seeds/odious_puffball - name = "pack of odious pullball spores" + name = "odious pullball spore pack" desc = "These spores reek! Disgusting." icon_state = "seed-odiouspuffball" species = "odiouspuffball" diff --git a/code/modules/hydroponics/grown/olive.dm b/code/modules/hydroponics/grown/olive.dm index 38102cacb24ea..0b2f52c7a5e7b 100644 --- a/code/modules/hydroponics/grown/olive.dm +++ b/code/modules/hydroponics/grown/olive.dm @@ -1,6 +1,6 @@ // Olive /obj/item/seeds/olive - name = "pack of olive seeds" + name = "olive seed pack" desc = "These seeds grow into olive trees." icon_state = "seed-olive" species = "olive" diff --git a/code/modules/hydroponics/grown/onion.dm b/code/modules/hydroponics/grown/onion.dm index 8f948407a37b8..0d33c3e1f395d 100644 --- a/code/modules/hydroponics/grown/onion.dm +++ b/code/modules/hydroponics/grown/onion.dm @@ -1,5 +1,5 @@ /obj/item/seeds/onion - name = "pack of onion seeds" + name = "onion seed pack" desc = "These seeds grow into onions." icon_state = "seed-onion" species = "onion" @@ -29,7 +29,7 @@ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/onion_slice, 2, 15, screentip_verb = "Cut") /obj/item/seeds/onion/red - name = "pack of red onion seeds" + name = "red onion seed pack" desc = "For growing exceptionally potent onions." icon_state = "seed-onionred" species = "onion_red" diff --git a/code/modules/hydroponics/grown/peanut.dm b/code/modules/hydroponics/grown/peanut.dm index 69cf6d9e0568d..6560ec196c918 100644 --- a/code/modules/hydroponics/grown/peanut.dm +++ b/code/modules/hydroponics/grown/peanut.dm @@ -1,6 +1,6 @@ // Peanuts! /obj/item/seeds/peanut - name = "pack of peanut seeds" + name = "peanut seed pack" desc = "These seeds grow into peanut plants." icon_state = "seed-peanut" species = "peanut" diff --git a/code/modules/hydroponics/grown/peas.dm b/code/modules/hydroponics/grown/peas.dm index c232ed247c690..66eaec6ff1d54 100644 --- a/code/modules/hydroponics/grown/peas.dm +++ b/code/modules/hydroponics/grown/peas.dm @@ -1,6 +1,6 @@ // Finally, peas. Base plant. /obj/item/seeds/peas - name = "pack of pea pods" + name = "pea pod pack" desc = "These seeds grows into vitamin rich peas!" icon_state = "seed-peas" species = "peas" @@ -29,7 +29,7 @@ // Laughin' Peas /obj/item/seeds/peas/laugh - name = "pack of laughin' peas" + name = "laughin' pea pack" desc = "These seeds give off a very soft purple glow.. they should grow into Laughin' Peas." icon_state = "seed-laughpeas" species = "laughpeas" @@ -61,7 +61,7 @@ // World Peas - Peace at last, peace at last... /obj/item/seeds/peas/laugh/peace - name = "pack of world peas" + name = "world pea pack" desc = "These rather large seeds give off a soothing blue glow..." icon_state = "seed-worldpeas" species = "worldpeas" diff --git a/code/modules/hydroponics/grown/pineapple.dm b/code/modules/hydroponics/grown/pineapple.dm index 3c0e462f38855..5de85e9168f1f 100644 --- a/code/modules/hydroponics/grown/pineapple.dm +++ b/code/modules/hydroponics/grown/pineapple.dm @@ -1,6 +1,6 @@ // Pineapple! /obj/item/seeds/pineapple - name = "pack of pineapple seeds" + name = "pineapple seed pack" desc = "Oooooooooooooh!" icon_state = "seed-pineapple" species = "pineapple" diff --git a/code/modules/hydroponics/grown/plum.dm b/code/modules/hydroponics/grown/plum.dm index cac12bdb1eb5d..c11acdf2db553 100644 --- a/code/modules/hydroponics/grown/plum.dm +++ b/code/modules/hydroponics/grown/plum.dm @@ -1,6 +1,6 @@ // Plum /obj/item/seeds/plum - name = "pack of plum seeds" + name = "plum seed pack" desc = "These seeds grow into plum trees." icon_state = "seed-plum" species = "plum" @@ -28,7 +28,7 @@ // Plumb /obj/item/seeds/plum/plumb - name = "pack of plumb seeds" + name = "plumb seed pack" desc = "These seeds grow into plumb trees." icon_state = "seed-plumb" species = "plumb" diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm index 837937e41d128..c57111b86d0c0 100644 --- a/code/modules/hydroponics/grown/potato.dm +++ b/code/modules/hydroponics/grown/potato.dm @@ -1,6 +1,6 @@ // Potato /obj/item/seeds/potato - name = "pack of potato seeds" + name = "potato seed pack" desc = "Boil 'em! Mash 'em! Stick 'em in a stew!" icon_state = "seed-potato" species = "potato" @@ -50,7 +50,7 @@ // Sweet Potato /obj/item/seeds/potato/sweet - name = "pack of sweet potato seeds" + name = "sweet potato seed pack" desc = "These seeds grow into sweet potato plants." icon_state = "seed-sweetpotato" species = "sweetpotato" diff --git a/code/modules/hydroponics/grown/pumpkin.dm b/code/modules/hydroponics/grown/pumpkin.dm index 11130c153344a..dce207302c306 100644 --- a/code/modules/hydroponics/grown/pumpkin.dm +++ b/code/modules/hydroponics/grown/pumpkin.dm @@ -1,6 +1,6 @@ // Pumpkin /obj/item/seeds/pumpkin - name = "pack of pumpkin seeds" + name = "pumpkin seed pack" desc = "These seeds grow into pumpkin vines." icon_state = "seed-pumpkin" plant_icon_offset = 4 @@ -40,7 +40,7 @@ // Blumpkin /obj/item/seeds/pumpkin/blumpkin - name = "pack of blumpkin seeds" + name = "blumpkin seed pack" desc = "These seeds grow into blumpkin vines." icon_state = "seed-blumpkin" species = "blumpkin" diff --git a/code/modules/hydroponics/grown/rainbow_bunch.dm b/code/modules/hydroponics/grown/rainbow_bunch.dm index 4ffad4583c705..c3d21347bf953 100644 --- a/code/modules/hydroponics/grown/rainbow_bunch.dm +++ b/code/modules/hydroponics/grown/rainbow_bunch.dm @@ -1,5 +1,5 @@ /obj/item/seeds/rainbow_bunch - name = "pack of rainbow bunch seeds" + name = "rainbow bunch seed pack" desc = "A pack of seeds that'll grow into a beautiful bush of various colored flowers." icon_state = "seed-rainbowbunch" species = "rainbowbunch" diff --git a/code/modules/hydroponics/grown/random.dm b/code/modules/hydroponics/grown/random.dm index 560e3c71e5ce6..3a97277f0d85c 100644 --- a/code/modules/hydroponics/grown/random.dm +++ b/code/modules/hydroponics/grown/random.dm @@ -1,7 +1,7 @@ //Random seeds; stats, traits, and plant type are randomized for each seed. /obj/item/seeds/random - name = "pack of strange seeds" + name = "strange seed pack" desc = "Mysterious seeds as strange as their name implies. Spooky." icon_state = "seed-x" species = "?????" diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm index 31c0b7f81df64..602b90f4c3567 100644 --- a/code/modules/hydroponics/grown/replicapod.dm +++ b/code/modules/hydroponics/grown/replicapod.dm @@ -1,8 +1,8 @@ -// A very special plant, deserving it's own file. +// A very special plant, deserving its own file. // Yes, i'm talking about cabbage, baby! No, just kidding, but cabbages are the precursor to replica pods, so they are here as well. /obj/item/seeds/cabbage - name = "pack of cabbage seeds" + name = "cabbage seed pack" desc = "These seeds grow into cabbages." icon_state = "seed-cabbage" species = "cabbage" @@ -31,7 +31,7 @@ ///The actual replica pods themselves! /obj/item/seeds/replicapod - name = "pack of replica pod seeds" + name = "replica pod seed pack" desc = "These seeds grow into replica pods. They say these are used to harvest humans." icon_state = "seed-replicapod" plant_icon_offset = 2 diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm index c272b1e448462..4393d76a5fa22 100644 --- a/code/modules/hydroponics/grown/root.dm +++ b/code/modules/hydroponics/grown/root.dm @@ -1,6 +1,6 @@ // Carrot /obj/item/seeds/carrot - name = "pack of carrot seeds" + name = "carrot seed pack" desc = "These seeds grow into carrots." icon_state = "seed-carrot" species = "carrot" @@ -12,7 +12,7 @@ instability = 15 growthstages = 3 growing_icon = 'icons/obj/service/hydroponics/growing_vegetables.dmi' - mutatelist = list(/obj/item/seeds/carrot/parsnip) + mutatelist = list(/obj/item/seeds/carrot/parsnip, /obj/item/seeds/carrot/cahnroot) reagents_add = list(/datum/reagent/medicine/oculine = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05) /obj/item/food/grown/carrot @@ -26,24 +26,26 @@ wine_power = 30 /obj/item/food/grown/carrot/attackby(obj/item/I, mob/user, params) - if(I.get_sharpness()) - var/carrot_blade - var/carrot_sword_chance = (max(0, seed.potency - 50) / 50) - if (prob(carrot_sword_chance)) - carrot_blade = new /obj/item/claymore/carrot - to_chat(user, span_notice("You sharpen the carrot into a sword with [I].")) - else - carrot_blade = new /obj/item/knife/shiv/carrot - to_chat(user, span_notice("You sharpen the carrot into a shiv with [I].")) - remove_item_from_storage(user) - qdel(src) - user.put_in_hands(carrot_blade) - else + if(!I.get_sharpness()) return ..() + /// The blade carrot will turn into once sharpened + var/obj/item/carrot_blade + /// Chance for it to become a sword rather than a shiv + var/carrot_sword_chance = (max(0, seed.potency - 50) / 50) + if (prob(carrot_sword_chance)) + carrot_blade = new /obj/item/claymore/carrot + to_chat(user, span_notice("You sharpen the carrot into a sword with [I].")) + else + carrot_blade = new /obj/item/knife/shiv/carrot + to_chat(user, span_notice("You sharpen the carrot into a shiv with [I].")) + remove_item_from_storage(user) + qdel(src) + user.put_in_hands(carrot_blade) + // Parsnip /obj/item/seeds/carrot/parsnip - name = "pack of parsnip seeds" + name = "parsnip seed pack" desc = "These seeds grow into parsnips." icon_state = "seed-parsnip" species = "parsnip" @@ -62,10 +64,73 @@ juice_typepath = /datum/reagent/consumable/parsnipjuice wine_power = 35 +/obj/item/food/grown/parsnip/attackby(obj/item/I, mob/user, params) + if(!I.get_sharpness()) + return ..() + + /// The blade parsnip will turn into once sharpened + var/obj/item/parsnip_blade + /// Chance for it to become a sabre rather than a shiv + var/parsnip_sabre_chance = (max(0, seed.potency - 50) / 50) + if (prob(parsnip_sabre_chance)) + parsnip_blade = new /obj/item/melee/parsnip_sabre + to_chat(user, span_notice("You sharpen the parsnip into a sabre with [I].")) + else + parsnip_blade = new /obj/item/knife/shiv/parsnip + to_chat(user, span_notice("You sharpen the parsnip into a shiv with [I].")) + remove_item_from_storage(user) + qdel(src) + user.put_in_hands(parsnip_blade) + + +// Cahn'root +/obj/item/seeds/carrot/cahnroot + name = "cahn'root seed pack" + desc = "These seeds grow into cahn'roots." + icon_state = "seed-cahn'root" + species = "cahn'root" + plantname = "Cahn'root" + product = /obj/item/food/grown/cahnroot + genes = list(/datum/plant_gene/trait/plant_type/weed_hardy) + endurance = 50 + instability = 10 + icon_dead = "cahn'root-dead" + mutatelist = null + reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.05, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/cellulose = 0.01, /datum/reagent/consumable/sugar = 0.01) + rarity = 10 + graft_gene = /datum/plant_gene/trait/plant_type/weed_hardy + +/obj/item/food/grown/cahnroot + seed = /obj/item/seeds/carrot/cahnroot + name = "cahn'root" + desc = "Heavily modified version of terran carrot, originally made to survive the scarciest of environments by an enterprising scientist of Moth Flotilla, Cahn'Mang." + icon_state = "cahn'root" + foodtypes = VEGETABLES + juice_typepath = null + tastes = list("sweet dirt" = 1) + distill_reagent = /datum/reagent/consumable/rootbeer + +/obj/item/food/grown/cahnroot/attackby(obj/item/I, mob/user, params) + if(!I.get_sharpness()) + return ..() + + /// The blade cahn'root will turn into once sharpened + var/obj/item/knife/root_blade + /// Chance for it to become a dagger rather than a shiv + var/root_dagger_chance = (max(0, seed.potency - 25) / 50) + if (prob(root_dagger_chance)) + root_blade = new /obj/item/knife/combat/root + to_chat(user, span_notice("You sharpen the cahn'root into a dagger with [I].")) + else + root_blade = new /obj/item/knife/shiv/root + to_chat(user, span_notice("You sharpen the cahn'root into a shiv with [I].")) + remove_item_from_storage(user) + qdel(src) + user.put_in_hands(root_blade) // White-Beet /obj/item/seeds/whitebeet - name = "pack of white-beet seeds" + name = "white-beet seed pack" desc = "These seeds grow into sugary beet producing plants." icon_state = "seed-whitebeet" species = "whitebeet" @@ -91,7 +156,7 @@ // Red Beet /obj/item/seeds/redbeet - name = "pack of redbeet seeds" + name = "redbeet seed pack" desc = "These seeds grow into red beet producing plants." icon_state = "seed-redbeet" species = "redbeet" diff --git a/code/modules/hydroponics/grown/seedling.dm b/code/modules/hydroponics/grown/seedling.dm index 57fd11280b6ed..9ce83acfa9e36 100644 --- a/code/modules/hydroponics/grown/seedling.dm +++ b/code/modules/hydroponics/grown/seedling.dm @@ -1,5 +1,5 @@ /obj/item/seeds/seedling - name = "pack of seedling seeds" + name = "seedling seed pack" desc = "These seeds grow into a floral assistant which can help look after other plants!" icon_state = "seed-seedling" growing_icon = 'icons/obj/service/hydroponics/growing_fruits.dmi' diff --git a/code/modules/hydroponics/grown/sugarcane.dm b/code/modules/hydroponics/grown/sugarcane.dm index 1c5c55fece08d..e7845f1e55607 100644 --- a/code/modules/hydroponics/grown/sugarcane.dm +++ b/code/modules/hydroponics/grown/sugarcane.dm @@ -1,7 +1,7 @@ // Sugarcane /obj/item/seeds/sugarcane - name = "pack of sugarcane seeds" + name = "sugarcane seed pack" desc = "These seeds grow into sugarcane." icon_state = "seed-sugarcane" species = "sugarcane" @@ -28,7 +28,7 @@ ///and bamboo! /obj/item/seeds/bamboo - name = "pack of bamboo seeds" + name = "bamboo seed pack" desc = "A plant known for its flexible and resistant logs." icon_state = "seed-bamboo" species = "bamboo" @@ -59,7 +59,7 @@ //Saltcane - Gross, salty shafts! /obj/item/seeds/sugarcane/saltcane - name = "pack of saltcane seeds" + name = "saltcane seed pack" desc = "These seeds grow into saltcane." icon_state = "seed-saltcane" species = "saltcane" diff --git a/code/modules/hydroponics/grown/tea_coffee.dm b/code/modules/hydroponics/grown/tea_coffee.dm index 366dd8b45237e..26a215be720b4 100644 --- a/code/modules/hydroponics/grown/tea_coffee.dm +++ b/code/modules/hydroponics/grown/tea_coffee.dm @@ -1,6 +1,6 @@ // Tea /obj/item/seeds/tea - name = "pack of tea aspera seeds" + name = "tea aspera seed pack" desc = "These seeds grow into tea plants." icon_state = "seed-teaaspera" species = "teaaspera" @@ -27,7 +27,7 @@ // Tea Astra /obj/item/seeds/tea/astra - name = "pack of tea astra seeds" + name = "tea astra seed pack" icon_state = "seed-teaastra" species = "teaastra" plantname = "Tea Astra Plant" @@ -46,7 +46,7 @@ // Coffee /obj/item/seeds/coffee - name = "pack of coffee arabica seeds" + name = "coffee arabica seed pack" desc = "These seeds grow into coffee arabica bushes." icon_state = "seed-coffeea" species = "coffeea" @@ -75,7 +75,7 @@ // Coffee Robusta /obj/item/seeds/coffee/robusta - name = "pack of coffee robusta seeds" + name = "coffee robusta seed pack" desc = "These seeds grow into coffee robusta bushes." icon_state = "seed-coffeer" species = "coffeer" diff --git a/code/modules/hydroponics/grown/tobacco.dm b/code/modules/hydroponics/grown/tobacco.dm index 87f8253a4d96b..29e8fba6d6a8b 100644 --- a/code/modules/hydroponics/grown/tobacco.dm +++ b/code/modules/hydroponics/grown/tobacco.dm @@ -1,6 +1,6 @@ // Tobacco /obj/item/seeds/tobacco - name = "pack of tobacco seeds" + name = "tobacco seed pack" desc = "These seeds grow into tobacco plants." icon_state = "seed-tobacco" species = "tobacco" @@ -24,7 +24,7 @@ // Space Tobacco /obj/item/seeds/tobacco/space - name = "pack of space tobacco seeds" + name = "space tobacco seed pack" desc = "These seeds grow into space tobacco plants." icon_state = "seed-stobacco" species = "stobacco" diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index e676d822bbf1a..1459887d6facb 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -1,6 +1,6 @@ // Tomato /obj/item/seeds/tomato - name = "pack of tomato seeds" + name = "tomato seed pack" desc = "These seeds grow into tomato plants." icon_state = "seed-tomato" species = "tomato" @@ -29,7 +29,7 @@ // Blood Tomato /obj/item/seeds/tomato/blood - name = "pack of blood-tomato seeds" + name = "blood-tomato seed pack" desc = "These seeds grow into blood-tomato plants." icon_state = "seed-bloodtomato" species = "bloodtomato" @@ -52,7 +52,7 @@ // Blue Tomato /obj/item/seeds/tomato/blue - name = "pack of blue-tomato seeds" + name = "blue-tomato seed pack" desc = "These seeds grow into blue-tomato plants." icon_state = "seed-bluetomato" species = "bluetomato" @@ -77,7 +77,7 @@ // Bluespace Tomato /obj/item/seeds/tomato/blue/bluespace - name = "pack of bluespace tomato seeds" + name = "bluespace tomato seed pack" desc = "These seeds grow into bluespace tomato plants." icon_state = "seed-bluespacetomato" species = "bluespacetomato" @@ -101,7 +101,7 @@ // Killer Tomato /obj/item/seeds/tomato/killer - name = "pack of killer-tomato seeds" + name = "killer-tomato seed pack" desc = "These seeds grow into killer-tomato plants." icon_state = "seed-killertomato" species = "killertomato" diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 1082b51665ff7..a09e4e61b4d15 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -1,5 +1,5 @@ /obj/item/seeds/tower - name = "pack of tower-cap mycelium" + name = "tower-cap mycelium pack" desc = "This mycelium grows into tower-cap mushrooms." icon_state = "mycelium-tower" species = "towercap" @@ -20,7 +20,7 @@ graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism /obj/item/seeds/tower/steel - name = "pack of steel-cap mycelium" + name = "steel-cap mycelium pack" desc = "This mycelium grows into steel logs." icon_state = "mycelium-steelcap" species = "steelcap" diff --git a/code/modules/hydroponics/grown/weeds/kudzu.dm b/code/modules/hydroponics/grown/weeds/kudzu.dm index d8f1a66795b2b..a0a3c9405718c 100644 --- a/code/modules/hydroponics/grown/weeds/kudzu.dm +++ b/code/modules/hydroponics/grown/weeds/kudzu.dm @@ -1,7 +1,7 @@ -// A very special plant, deserving it's own file. +// A very special plant, deserving its own file. /obj/item/seeds/kudzu - name = "pack of kudzu seeds" + name = "kudzu seed pack" desc = "These seeds grow into a weed that grows incredibly fast." icon_state = "seed-kudzu" plant_icon_offset = 2 diff --git a/code/modules/hydroponics/grown/weeds/nettle.dm b/code/modules/hydroponics/grown/weeds/nettle.dm index 98868b8d6e748..33a0f6288912d 100644 --- a/code/modules/hydroponics/grown/weeds/nettle.dm +++ b/code/modules/hydroponics/grown/weeds/nettle.dm @@ -1,5 +1,5 @@ /obj/item/seeds/nettle - name = "pack of nettle seeds" + name = "nettle seed pack" desc = "These seeds grow into nettles." icon_state = "seed-nettle" plant_icon_offset = 0 @@ -17,7 +17,7 @@ graft_gene = /datum/plant_gene/trait/plant_type/weed_hardy /obj/item/seeds/nettle/death - name = "pack of death-nettle seeds" + name = "death-nettle seed pack" desc = "These seeds grow into death-nettles." icon_state = "seed-deathnettle" species = "deathnettle" diff --git a/code/modules/hydroponics/grown/weeds/starthistle.dm b/code/modules/hydroponics/grown/weeds/starthistle.dm index 74627a31f88e8..af94cf3d98508 100644 --- a/code/modules/hydroponics/grown/weeds/starthistle.dm +++ b/code/modules/hydroponics/grown/weeds/starthistle.dm @@ -1,6 +1,6 @@ // Starthistle /obj/item/seeds/starthistle - name = "pack of starthistle seeds" + name = "starthistle seed pack" desc = "A robust species of weed that often springs up in-between the cracks of spaceship parking lots." icon_state = "seed-starthistle" plant_icon_offset = 3 @@ -33,7 +33,7 @@ // Corpse flower /obj/item/seeds/starthistle/corpse_flower - name = "pack of corpse flower seeds" + name = "corpse flower seed pack" desc = "A species of plant that emits a horrible odor. The odor stops being produced in difficult atmospheric conditions." icon_state = "seed-corpse-flower" species = "corpse-flower" @@ -46,7 +46,7 @@ //Galaxy Thistle /obj/item/seeds/galaxythistle - name = "pack of galaxythistle seeds" + name = "galaxythistle seed pack" desc = "An impressive species of weed that is thought to have evolved from the simple milk thistle. Contains flavolignans that can help repair a damaged liver." icon_state = "seed-galaxythistle" species = "galaxythistle" diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 5f72806ca3635..9b2cbdfae40fb 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -160,7 +160,7 @@ /** * This proc is called when we scan a hydroponics tray or soil on left click (stats mode) - * It formats the plant name, it's age, the plant's stats, and the tray's stats. + * It formats the plant name, its age, the plant's stats, and the tray's stats. * * - scanned_tray - the tray or soil we are scanning. * diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 34fb9fc04622e..30b2eced5c760 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -1,12 +1,12 @@ /obj/machinery/hydroponics + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "hydroponics tray" desc = "A basin used to grow plants in." icon = 'icons/obj/service/hydroponics/equipment.dmi' icon_state = "hydrotray" density = TRUE pass_flags_self = PASSMACHINE | LETPASSTHROW - pixel_z = 8 obj_flags = CAN_BE_HIT | UNIQUE_RENAME circuit = /obj/item/circuitboard/machine/hydroponics interaction_flags_click = FORBID_TELEKINESIS_REACH @@ -58,7 +58,7 @@ /obj/machinery/hydroponics/Initialize(mapload) //ALRIGHT YOU DEGENERATES. YOU HAD REAGENT HOLDERS FOR AT LEAST 4 YEARS AND NONE OF YOU MADE HYDROPONICS TRAYS HOLD NUTRIENT CHEMS INSTEAD OF USING "Points". - //SO HERE LIES THE "nutrilevel" VAR. IT'S DEAD AND I PUT IT OUT OF IT'S MISERY. USE "reagents" INSTEAD. ~ArcaneMusic, accept no substitutes. + //SO HERE LIES THE "nutrilevel" VAR. IT'S DEAD AND I PUT IT OUT OF ITS MISERY. USE "reagents" INSTEAD. ~ArcaneMusic, accept no substitutes. create_reagents(maxnutri, INJECTABLE) if(mapload) reagents.add_reagent(/datum/reagent/plantnutriment/eznutriment, max(maxnutri / 2, 10)) //Half filled nutrient trays for dirt trays to have more to grow with in prison/lavaland. @@ -157,6 +157,11 @@ icon = 'icons/obj/service/hydroponics/equipment.dmi' icon_state = "hydrotray3" +/obj/machinery/hydroponics/constructable/fullupgrade + name = "deluxe hydroponics tray" + desc = "A basin used to grown plants in, packed full of cutting-edge technology." + circuit = /obj/item/circuitboard/machine/hydroponics/fullupgrade + /obj/machinery/hydroponics/constructable/Initialize(mapload) . = ..() AddComponent(/datum/component/simple_rotation) @@ -781,7 +786,7 @@ /** * Plant Cross-Pollination. * Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. - * If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant. + * If the seed's instability is >= 20, the seed donates one of its reagents to that nearby plant. * * Range - The Oview range of trays to which to look for plants to donate reagents. */ /obj/machinery/hydroponics/proc/pollinate(range = 1) @@ -798,15 +803,7 @@ if(isnull(particles)) particles = new /particles/pollen() if(myseed.instability >= 20 && prob(70) && length(T.myseed.reagents_add)) - var/list/datum/plant_gene/reagent/possible_reagents = list() - for(var/datum/plant_gene/reagent/reag in T.myseed.genes) - possible_reagents += reag - var/datum/plant_gene/reagent/reagent_gene = pick(possible_reagents) //Let this serve as a lession to delete your WIP comments before merge. - if(reagent_gene.can_add(myseed)) - if(!reagent_gene.try_upgrade_gene(myseed)) - myseed.genes += reagent_gene.Copy() - myseed.reagents_from_genes() - continue + myseed.perform_reagent_pollination(T.myseed) if(!any_adjacent) particles = null @@ -1033,7 +1030,7 @@ to_chat(user, span_warning("[src] is empty!")) return if(myseed.endurance <= FLORA_GUN_MIN_ENDURANCE) - to_chat(user, span_warning("[myseed.plantname] isn't hardy enough to sequence it's mutation!")) + to_chat(user, span_warning("[myseed.plantname] isn't hardy enough to sequence its mutation!")) return if(!LAZYLEN(myseed.mutatelist)) to_chat(user, span_warning("[myseed.plantname] has nothing else to mutate into!")) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 6fc671ccd4c94..f59adad783968 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -487,7 +487,7 @@ /** * A plant trait that causes the plant's capacity to double. * - * When harvested, the plant's individual capacity is set to double it's default. + * When harvested, the plant's individual capacity is set to double its default. * However, the plant's maximum yield is also halved, only up to 5. */ /datum/plant_gene/trait/maxchem @@ -763,7 +763,7 @@ /** * A plant trait that causes the plant's food reagents to ferment instead. * - * In practice, it replaces the plant's nutriment and vitamins with half as much of it's fermented reagent. + * In practice, it replaces the plant's nutriment and vitamins with half as much of its fermented reagent. * This exception is executed in seeds.dm under 'prepare_result'. * * Incompatible with auto-juicing composition. diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index c558cba8b3eab..32982c421df45 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -42,6 +42,7 @@ return seeds /obj/machinery/seed_extractor + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "seed extractor" desc = "Extracts and bags seeds from produce." icon = 'icons/obj/service/hydroponics/equipment.dmi' @@ -276,7 +277,7 @@ data["trait_db"] += trait_data return data -/obj/machinery/seed_extractor/ui_act(action, params) +/obj/machinery/seed_extractor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index fefd4d999387f..18197c006b51e 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -40,7 +40,7 @@ var/potency = 10 /// Amount of growth sprites the plant has. var/growthstages = 6 - // Chance that a plant will mutate in each stage of it's life. + // Chance that a plant will mutate in each stage of its life. var/instability = 5 /// How rare the plant is. Used for giving points to cargo when shipping off to CentCom. var/rarity = 0 @@ -616,3 +616,27 @@ /obj/item/grown/get_plant_seed() return seed + +/obj/item/seeds/proc/perform_reagent_pollination(obj/item/seeds/donor) + var/list/datum/plant_gene/reagent/valid_reagents = list() + for(var/datum/plant_gene/reagent/donor_reagent in donor.genes) + var/repeated = FALSE + for(var/datum/plant_gene/reagent/receptor_reagent in genes) + if(donor_reagent.reagent_id == receptor_reagent.reagent_id) + if(receptor_reagent.rate < donor_reagent.rate) + receptor_reagent.rate = donor_reagent.rate + // sucessful pollination/upgrade, we stop here. + reagents_from_genes() + return + else + repeated = TRUE + break + + if(!repeated) + valid_reagents += donor_reagent + + if(length(valid_reagents)) + // pick a valid reagent that our receptor seed don't have and add the gene to it + var/datum/plant_gene/reagent/selected_reagent = pick(valid_reagents) + genes += selected_reagent.Copy() + reagents_from_genes() diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index dcc4ef8daba3d..170000eb11557 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -17,7 +17,7 @@ /obj/item/instrument/Initialize(mapload) . = ..() song = new(src, allowed_instrument_ids, instrument_range) - allowed_instrument_ids = null //We don't need this clogging memory after it's used. + allowed_instrument_ids = null //We don't need this clogging memory after its used. /obj/item/instrument/Destroy() QDEL_NULL(song) diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index b2c051a4e1c7d..6b429b25f4831 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -203,6 +203,6 @@ GLOBAL_PROTECT(exp_to_update) if(flags_read.NextRow()) prefs.db_flags = text2num(flags_read.item[1]) else if(isnull(prefs.db_flags)) - prefs.db_flags = 0 //This PROBABLY won't happen, but better safe than sorry. + prefs.db_flags = NONE //This PROBABLY won't happen, but better safe than sorry. qdel(flags_read) return TRUE diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index dd0a8dcd47c15..81d42b051dff8 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -243,6 +243,11 @@ if(!SSdbcore.Connect()) return 0 + // If they have been exempted from date availability checks, we assume they are old enough for all jobs. + // This is only added whenever an admin manually ticks the box for this player. + if(player.prefs?.db_flags & DB_FLAG_EXEMPT) + return 0 + // As of the time of writing this comment, verifying database connection isn't "solved". Sometimes rust-g will report a // connection mid-shift despite the database dying. // If the client age is -1, it means that no code path has overwritten it. Even first time connections get it set to 0, diff --git a/code/modules/jobs/job_types/antagonists/voidwalker.dm b/code/modules/jobs/job_types/antagonists/voidwalker.dm new file mode 100644 index 0000000000000..c29d165efb807 --- /dev/null +++ b/code/modules/jobs/job_types/antagonists/voidwalker.dm @@ -0,0 +1,2 @@ +/datum/job/voidwalker + title = ROLE_VOIDWALKER diff --git a/code/modules/jobs/job_types/assistant/assistant.dm b/code/modules/jobs/job_types/assistant/assistant.dm index 2732d5e21ca9c..6a590d3e8f8dc 100644 --- a/code/modules/jobs/job_types/assistant/assistant.dm +++ b/code/modules/jobs/job_types/assistant/assistant.dm @@ -39,7 +39,7 @@ Assistant /datum/job/assistant/get_outfit(consistent) if(consistent) - return /datum/outfit/job/assistant/consistent + return /datum/outfit/job/assistant/preview if(!HAS_TRAIT(SSstation, STATION_TRAIT_ASSISTANT_GIMMICKS)) return ..() @@ -96,3 +96,12 @@ Assistant if (SSatoms.initialized == INITIALIZATION_INSSATOMS) H.w_uniform?.update_greyscale() H.update_worn_undersuit() + +/datum/outfit/job/assistant/preview + name = "Assistant - Preview" + +/datum/outfit/job/assistant/preview/give_jumpsuit(mob/living/carbon/human/target) + if (target.jumpsuit_style == PREF_SUIT) + uniform = /obj/item/clothing/under/color/grey + else + uniform = /obj/item/clothing/under/color/jumpskirt/grey diff --git a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm index ed2851366153c..23fd9616ee3cb 100644 --- a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm +++ b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm @@ -167,6 +167,7 @@ belt = /obj/item/storage/belt/utility/full head = /obj/item/clothing/head/utility/hardhat uniform = /obj/item/clothing/under/color/yellow + l_pocket = /obj/item/modular_computer/pda/assistant outfit_weight = 6 diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 13a4162ff3be9..c0f200c82f7b6 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -59,6 +59,8 @@ glasses = /obj/item/clothing/glasses/sunglasses/reagent shoes = /obj/item/clothing/shoes/laceup + skillchips = list(/obj/item/skillchip/drunken_brawler) + /datum/outfit/job/bartender/post_equip(mob/living/carbon/human/H, visualsOnly) . = ..() diff --git a/code/modules/jobs/job_types/chaplain/chaplain_nullrod.dm b/code/modules/jobs/job_types/chaplain/chaplain_nullrod.dm index df658d71dddc2..dd7208d170618 100644 --- a/code/modules/jobs/job_types/chaplain/chaplain_nullrod.dm +++ b/code/modules/jobs/job_types/chaplain/chaplain_nullrod.dm @@ -564,7 +564,7 @@ /obj/item/nullrod/bostaff name = "monk's staff" desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, it is now used to harass the clown." - force = 15 + force = 14 block_chance = 40 block_sound = 'sound/weapons/genhit.ogg' slot_flags = ITEM_SLOT_BACK @@ -574,11 +574,24 @@ attack_verb_simple = list("smash", "slam", "whack", "thwack") icon = 'icons/obj/weapons/staff.dmi' icon_state = "bostaff0" + base_icon_state = "bostaff" inhand_icon_state = "bostaff0" worn_icon_state = "bostaff0" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - menu_description = "A staff which provides a medium-low chance of blocking incoming melee attacks and deals a little less damage. Can be worn on the back." + menu_description = "A staff which provides a medium-low chance of blocking incoming melee attacks and deals less damage, unless dual-wielded. Can be worn on the back." + +/obj/item/nullrod/bostaff/Initialize(mapload) + . = ..() + AddComponent(/datum/component/two_handed, \ + force_unwielded = 14, \ + force_wielded = 18, \ + ) + +/obj/item/nullrod/bostaff/update_icon_state() + icon_state = inhand_icon_state = "[base_icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]" + return ..() + // Arrhythmic Knife - Lets your walk without rhythm by varying your walk speed. Can't be put away. @@ -692,6 +705,28 @@ hitsound = 'sound/weapons/bladeslice.ogg' menu_description = "A pointy spear which penetrates armor a little. Can be worn only on the belt." +// Unholy version of above, since the gamemode is dead in the water + +/obj/item/brass_spear + name = "dull brass spear" + desc = "An ancient spear made of brass. The point seems sharp, but it feels so dull.. you get a feeling brass isn't good nonmagical material for a weapon." + icon = 'icons/obj/weapons/spear.dmi' + icon_state = "ratvarian_spear" + inhand_icon_state = "ratvarian_spear" + lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi' + righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' + slot_flags = ITEM_SLOT_BELT + force = 15 + throw_speed = 3 + throw_range = 7 + throwforce = 15 + armour_penetration = 10 + sharpness = SHARP_POINTY + w_class = WEIGHT_CLASS_HUGE + attack_verb_continuous = list("stabs", "pokes", "slashes", "clocks") + attack_verb_simple = list("stab", "poke", "slash", "clock") + hitsound = 'sound/weapons/bladeslice.ogg' + // Nullblade - For when you really want to feel like rolling dice during combat /obj/item/nullrod/nullblade diff --git a/code/modules/jobs/job_types/chaplain/chaplain_vorpal_scythe.dm b/code/modules/jobs/job_types/chaplain/chaplain_vorpal_scythe.dm index ec484ebe6ebc5..4b07baaa05890 100644 --- a/code/modules/jobs/job_types/chaplain/chaplain_vorpal_scythe.dm +++ b/code/modules/jobs/job_types/chaplain/chaplain_vorpal_scythe.dm @@ -10,7 +10,7 @@ If the scythe isn't empowered when you sheath it, you take a heap of damage and desc = "This shard seems to be directly linked to some sinister entity. It might be your god! It also gives you a really horrible rash when you hold onto it for too long." items_to_create = list(/obj/item/vorpalscythe) -/obj/item/organ/internal/cyberimp/arm/shard/scythe/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/internal/cyberimp/arm/shard/scythe/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() if(receiver.mind) ADD_TRAIT(receiver.mind, TRAIT_MORBID, ORGAN_TRAIT) diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index 999117dc1be15..f3627c3c2a257 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -59,7 +59,7 @@ belt = /obj/item/modular_computer/pda/heads/hos ears = /obj/item/radio/headset/heads/hos/alt glasses = /obj/item/clothing/glasses/hud/security/sunglasses - gloves = /obj/item/clothing/gloves/color/black + gloves = /obj/item/clothing/gloves/color/black/security head = /obj/item/clothing/head/hats/hos/beret shoes = /obj/item/clothing/shoes/jackboots/sec l_pocket = /obj/item/restraints/handcuffs diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm index 5d3c620322759..8bfbe362327cb 100644 --- a/code/modules/jobs/job_types/research_director.dm +++ b/code/modules/jobs/job_types/research_director.dm @@ -76,7 +76,10 @@ messenger = /obj/item/storage/backpack/messenger/science chameleon_extras = /obj/item/stamp/head/rd - skillchips = list(/obj/item/skillchip/research_director, /obj/item/skillchip/job/roboticist) + skillchips = list( + /obj/item/skillchip/research_director, + /obj/item/skillchip/job/roboticist, + ) /datum/outfit/job/rd/mod name = "Research Director (MODsuit)" diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index 4fb52ec77a026..9b2dc91137cd5 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -218,7 +218,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution) ) belt = /obj/item/modular_computer/pda/security ears = /obj/item/radio/headset/headset_sec/alt - gloves = /obj/item/clothing/gloves/color/black + gloves = /obj/item/clothing/gloves/color/black/security head = /obj/item/clothing/head/helmet/sec shoes = /obj/item/clothing/shoes/jackboots/sec l_pocket = /obj/item/restraints/handcuffs diff --git a/code/modules/jobs/job_types/station_trait/human_ai.dm b/code/modules/jobs/job_types/station_trait/human_ai.dm index 0768505b66553..032ad08af5a60 100644 --- a/code/modules/jobs/job_types/station_trait/human_ai.dm +++ b/code/modules/jobs/job_types/station_trait/human_ai.dm @@ -98,9 +98,7 @@ /obj/item/door_remote/omni = 1, /obj/item/machine_remote = 1, /obj/item/secure_camera_console_pod = 1, - ) - implants = list( - /obj/item/implant/teleport_blocker, + /obj/item/sensor_device = 1, ) uniform = /obj/item/clothing/under/rank/station_trait/human_ai @@ -108,9 +106,6 @@ ears = /obj/item/radio/headset/silicon/human_ai glasses = /obj/item/clothing/glasses/hud/diagnostic - suit = /obj/item/clothing/suit/costume/cardborg - head = /obj/item/clothing/head/costume/cardborg - l_pocket = /obj/item/laser_pointer/infinite_range //to punish borgs, this works through the camera console. r_pocket = /obj/item/assembly/flash/handheld diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 643611201c8c1..c1d2c032901f7 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -56,7 +56,7 @@ belt = /obj/item/modular_computer/pda/warden ears = /obj/item/radio/headset/headset_sec/alt glasses = /obj/item/clothing/glasses/hud/security/sunglasses - gloves = /obj/item/clothing/gloves/color/black + gloves = /obj/item/clothing/gloves/color/black/security head = /obj/item/clothing/head/hats/warden/red shoes = /obj/item/clothing/shoes/jackboots/sec l_pocket = /obj/item/restraints/handcuffs diff --git a/code/modules/language/_language_manuals.dm b/code/modules/language/_language_manuals.dm index eb4ca456440d8..7a4298a06b150 100644 --- a/code/modules/language/_language_manuals.dm +++ b/code/modules/language/_language_manuals.dm @@ -85,6 +85,14 @@ . = ..() name = "extended [initial(language.name)] manual" +/obj/item/language_manual/piratespeak + name = "\improper Captain Pete's Guide to Pirate Lingo" + icon_state = "book_pirate" + desc = "A book containing all the knowledge, jargon and buzzwords to speak like a true old salt." + language = /datum/language/piratespeak + flavour_text = "Blimey! I feel less of a landlubber now." + charges = 5 + // So drones can teach borgs and AI dronespeak. For best effect, combine with mother drone lawset. /obj/item/language_manual/dronespeak_manual name = "dronespeak manual" diff --git a/code/modules/language/_language_menu.dm b/code/modules/language/_language_menu.dm index 0bfb7a79977af..905be8169e26a 100644 --- a/code/modules/language/_language_menu.dm +++ b/code/modules/language/_language_menu.dm @@ -56,7 +56,7 @@ return data -/datum/language_menu/ui_act(action, params) +/datum/language_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/library/bibles.dm b/code/modules/library/bibles.dm index 39abe7baa509b..5221dc8047422 100644 --- a/code/modules/library/bibles.dm +++ b/code/modules/library/bibles.dm @@ -316,7 +316,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list( playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE) if(do_after(user, 4 SECONDS, target = sword)) playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE) - new /obj/item/nullrod/claymore(get_turf(sword)) + new /obj/item/nullrod/nullblade(get_turf(sword)) user.visible_message(span_notice("[user] exorcises [sword]!")) qdel(sword) return ITEM_INTERACT_SUCCESS diff --git a/code/modules/library/bookcase.dm b/code/modules/library/bookcase.dm index 16925dd5138e7..dc1f6e7b595b6 100644 --- a/code/modules/library/bookcase.dm +++ b/code/modules/library/bookcase.dm @@ -3,6 +3,7 @@ #define BOOKCASE_FINISHED 2 /obj/structure/bookcase + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "bookcase" icon = 'icons/obj/service/library.dmi' icon_state = "bookempty" @@ -94,63 +95,81 @@ I.forceMove(Tsec) update_appearance() -/obj/structure/bookcase/attackby(obj/item/I, mob/user, params) - switch(state) - if(BOOKCASE_UNANCHORED) - if(I.tool_behaviour == TOOL_WRENCH) - if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, span_notice("You wrench the frame into place.")) - set_anchored(TRUE) - else if(I.tool_behaviour == TOOL_CROWBAR) - if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, span_notice("You pry the frame apart.")) - deconstruct(TRUE) +/obj/structure/bookcase/attackby(obj/item/attacking_item, mob/user, params) + if(state == BOOKCASE_UNANCHORED) + if(attacking_item.tool_behaviour == TOOL_WRENCH) + if(attacking_item.use_tool(src, user, 20, volume=50)) + balloon_alert(user, "wrenched in place") + set_anchored(TRUE) + return + + if(attacking_item.tool_behaviour == TOOL_CROWBAR) + if(attacking_item.use_tool(src, user, 20, volume=50)) + balloon_alert(user, "pried apart") + deconstruct(TRUE) + return + return ..() - if(BOOKCASE_ANCHORED) - if(istype(I, /obj/item/stack/sheet/mineral/wood)) - var/obj/item/stack/sheet/mineral/wood/W = I - if(W.get_amount() >= 2) - W.use(2) - to_chat(user, span_notice("You add a shelf.")) - state = BOOKCASE_FINISHED - update_appearance() - else if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 100) - to_chat(user, span_notice("You unwrench the frame.")) - set_anchored(FALSE) + if(state == BOOKCASE_ANCHORED) + if(istype(attacking_item, /obj/item/stack/sheet/mineral/wood)) + var/obj/item/stack/sheet/mineral/wood/W = attacking_item + if(W.get_amount() < 2) + balloon_alert(user, "not enough wood") + return + W.use(2) + balloon_alert(user, "shelf added") + state = BOOKCASE_FINISHED + update_appearance() + return + + if(attacking_item.tool_behaviour == TOOL_WRENCH) + attacking_item.play_tool_sound(src, 100) + balloon_alert(user, "unwrenched the frame") + set_anchored(FALSE) + return + return ..() - if(BOOKCASE_FINISHED) - if(isbook(I)) - if(!user.transferItemToLoc(I, src)) - return - update_appearance() - else if(atom_storage) - for(var/obj/item/T in I.contents) - if(istype(T, /obj/item/book) || istype(T, /obj/item/spellbook)) - atom_storage.attempt_remove(T, src) - to_chat(user, span_notice("You empty \the [I] into \the [src].")) - update_appearance() - else if(IS_WRITING_UTENSIL(I)) - if(!user.can_perform_action(src) || !user.can_write(I)) - return - var/newname = tgui_input_text(user, "What would you like to title this bookshelf?", "Bookshelf Renaming", max_length = MAX_NAME_LEN) - if(!user.can_perform_action(src) || !user.can_write(I)) - return - if(!newname) - return - else - name = "bookcase ([sanitize(newname)])" - else if(I.tool_behaviour == TOOL_CROWBAR) - if(length(contents)) - to_chat(user, span_warning("You need to remove the books first!")) - else - I.play_tool_sound(src, 100) - to_chat(user, span_notice("You pry the shelf out.")) - new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) - state = BOOKCASE_ANCHORED - update_appearance() - else - return ..() + if(isbook(attacking_item)) + if(!user.transferItemToLoc(attacking_item, src)) + return ..() + update_appearance() + return + + if(atom_storage) + var/found_anything = FALSE + for(var/obj/item/T in attacking_item.contents) + if(istype(T, /obj/item/book) || istype(T, /obj/item/spellbook)) + atom_storage.attempt_remove(T, src) + found_anything = TRUE + + if (found_anything) + balloon_alert(user, "emptied into [src]") + update_appearance() + return + + if(IS_WRITING_UTENSIL(attacking_item)) + if(!user.can_perform_action(src) || !user.can_write(attacking_item)) + return ..() + var/newname = tgui_input_text(user, "What would you like to title this bookshelf?", "Bookshelf Renaming", max_length = MAX_NAME_LEN) + if(!user.can_perform_action(src) || !user.can_write(attacking_item)) + return ..() + if(!newname) + return + name = "bookcase ([sanitize(newname)])" + return + + if(attacking_item.tool_behaviour == TOOL_CROWBAR) + if(length(contents)) + balloon_alert(user, "remove the books first") + return + attacking_item.play_tool_sound(src, 100) + balloon_alert(user, "pried the shelf out") + new /obj/item/stack/sheet/mineral/wood(drop_location(), 2) + state = BOOKCASE_ANCHORED + update_appearance() + return + + return ..() /obj/structure/bookcase/attack_hand(mob/living/user, list/modifiers) . = ..() diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index a65159a3f8225..06f2cf5e8c800 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -80,7 +80,7 @@ GLOBAL_VAR_INIT(library_table_modified, 0) data["params_changed"] = params_changed return data -/obj/machinery/computer/libraryconsole/ui_act(action, params) +/obj/machinery/computer/libraryconsole/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -424,7 +424,7 @@ GLOBAL_VAR_INIT(library_table_modified, 0) scanner = WEAKREF(foundya) return foundya -/obj/machinery/computer/libraryconsole/bookmanagement/ui_act(action, params) +/obj/machinery/computer/libraryconsole/bookmanagement/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) //The parent call takes care of stuff like searching, don't forget about that yeah? . = ..() if(.) @@ -767,6 +767,7 @@ GLOBAL_VAR_INIT(library_table_modified, 0) * Book binder */ /obj/machinery/bookbinder + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "book binder" icon = 'icons/obj/service/library.dmi' icon_state = "binder" diff --git a/code/modules/library/skill_learning/generic_skillchips/matrix_flip.dm b/code/modules/library/skill_learning/generic_skillchips/matrix_flip.dm deleted file mode 100644 index a836442eca052..0000000000000 --- a/code/modules/library/skill_learning/generic_skillchips/matrix_flip.dm +++ /dev/null @@ -1,40 +0,0 @@ -#define FLIP_STAMINA_COST 19 - -/obj/item/skillchip/matrix_flip - name = "BULLET_DODGER skillchip" - skill_name = "Flip 2 Dodge" - skill_description = "At the cost of stamina, your flips can also be used to dodge incoming projectiles." - skill_icon = FA_ICON_SPINNER - activate_message = span_notice("You feel the urge to flip scenically as if you are the 'Chosen One'.") - deactivate_message = span_notice("The urge to flip goes away.") - -/obj/item/skillchip/matrix_flip/on_activate(mob/living/carbon/user, silent = FALSE) - . = ..() - ADD_TRAIT(user, TRAIT_SLOW_FLIP, SKILLCHIP_TRAIT) - RegisterSignal(user, COMSIG_MOB_EMOTED("flip"), PROC_REF(on_flip)) - RegisterSignal(user, COMSIG_MOB_PRE_EMOTED, PROC_REF(check_if_we_can_flip)) - -/obj/item/skillchip/matrix_flip/on_deactivate(mob/living/carbon/user, silent=FALSE) - REMOVE_TRAIT(user, TRAIT_SLOW_FLIP, SKILLCHIP_TRAIT) - UnregisterSignal(user, list(COMSIG_MOB_EMOTED("flip"), COMSIG_MOB_PRE_EMOTED)) - return ..() - -///Prevent players from stamcritting from INTENTIONAL flips. 1.4s of bullet immunity isn't worth several secs of stun. -/obj/item/skillchip/matrix_flip/proc/check_if_we_can_flip(mob/living/source, key, params, type_override, intentional, datum/emote/emote) - SIGNAL_HANDLER - if(key != "flip" || !intentional) - return - if((source.maxHealth - (source.getStaminaLoss() + FLIP_STAMINA_COST)) <= source.crit_threshold) - source.balloon_alert(source, "too tired!") - return COMPONENT_CANT_EMOTE - -/obj/item/skillchip/matrix_flip/proc/on_flip(mob/living/source) - SIGNAL_HANDLER - if(HAS_TRAIT_FROM(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT)) - return - playsound(source, 'sound/weapons/fwoosh.ogg', 90, FALSE, frequency = 0.7) - ADD_TRAIT(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT) - source.adjustStaminaLoss(FLIP_STAMINA_COST) - addtimer(TRAIT_CALLBACK_REMOVE(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT), FLIP_EMOTE_DURATION * 2) - -#undef FLIP_STAMINA_COST diff --git a/code/modules/library/skill_learning/generic_skillchips/matrix_taunt.dm b/code/modules/library/skill_learning/generic_skillchips/matrix_taunt.dm new file mode 100644 index 0000000000000..cfe61b08e0c3c --- /dev/null +++ b/code/modules/library/skill_learning/generic_skillchips/matrix_taunt.dm @@ -0,0 +1,37 @@ +#define TAUNT_STAMINA_COST 19 + +/obj/item/skillchip/matrix_taunt + name = "BULLET_DODGER skillchip" + skill_name = "Taunt 2 Dodge" + skill_description = "At the cost of stamina, your taunts can also be used to dodge incoming projectiles." + skill_icon = FA_ICON_SPINNER + activate_message = span_notice("You feel the urge to taunt scenically as if you are the 'Chosen One'.") + deactivate_message = span_notice("The urge to taunt goes away.") + +/obj/item/skillchip/matrix_taunt/on_activate(mob/living/carbon/user, silent = FALSE) + . = ..() + RegisterSignal(user, COMSIG_MOB_EMOTED("taunt"), PROC_REF(on_taunt)) + RegisterSignal(user, COMSIG_MOB_PRE_EMOTED, PROC_REF(check_if_we_can_taunt)) + +/obj/item/skillchip/matrix_taunt/on_deactivate(mob/living/carbon/user, silent=FALSE) + UnregisterSignal(user, list(COMSIG_MOB_EMOTED("taunt"), COMSIG_MOB_PRE_EMOTED)) + return ..() + +///Prevent players from stamcritting from INTENTIONAL flips. 1.4s of bullet immunity isn't worth several secs of stun. +/obj/item/skillchip/matrix_taunt/proc/check_if_we_can_taunt(mob/living/source, key, params, type_override, intentional, datum/emote/emote) + SIGNAL_HANDLER + if(key != "taunt" || !intentional) + return + if((source.maxHealth - (source.getStaminaLoss() + TAUNT_STAMINA_COST)) <= source.crit_threshold) + source.balloon_alert(source, "too tired!") + return COMPONENT_CANT_EMOTE + +/obj/item/skillchip/matrix_taunt/proc/on_taunt(mob/living/source) + SIGNAL_HANDLER + if(HAS_TRAIT_FROM(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT)) + return + ADD_TRAIT(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT) + source.adjustStaminaLoss(TAUNT_STAMINA_COST) + addtimer(TRAIT_CALLBACK_REMOVE(source, TRAIT_UNHITTABLE_BY_PROJECTILES, SKILLCHIP_TRAIT), TAUNT_EMOTE_DURATION * 1.5) + +#undef TAUNT_STAMINA_COST diff --git a/code/modules/library/skill_learning/generic_skillchips/point.dm b/code/modules/library/skill_learning/generic_skillchips/point.dm new file mode 100644 index 0000000000000..761a482268952 --- /dev/null +++ b/code/modules/library/skill_learning/generic_skillchips/point.dm @@ -0,0 +1,99 @@ +/** + * A skillchip that gives the user bigger arrows when pointing at things (like some id trims do). + * As a bonus, they can costumize the color of the arrow/pointer too. + */ +/obj/item/skillchip/big_pointer + name = "Kommand skillchip" + desc = "A biochip detailing various techniques employed by historical leaders to points at things like a true boss." + skill_name = "Enhanced pointing" + skill_description = "Learn to point at things in a more noticeable way." + skill_icon = FA_ICON_ARROW_DOWN + activate_message = span_notice("From \"The Definitive Compendium of Body Language for the Aspiring Leader\", page 164, paragraph 3...") + deactivate_message = span_notice("So, uh, yeah, how do I point at things again?") + + ///The action for changing the pointer color + var/datum/action/change_pointer_color/action + +/obj/item/skillchip/big_pointer/Destroy() + action = null + return ..() + +/obj/item/skillchip/big_pointer/on_activate(mob/living/carbon/user, silent=FALSE) + . = ..() + RegisterSignal(user, COMSIG_MOVABLE_POINTED, PROC_REF(fancier_pointer)) + if(!action) + action = new(src) + action.Grant(user) + +/obj/item/skillchip/big_pointer/on_deactivate(mob/living/carbon/user, silent=FALSE) + UnregisterSignal(user, COMSIG_MOVABLE_POINTED) + action?.arrow_color = null + action?.arrow_overlay = null + action?.Remove(user) + return ..() + +/obj/item/skillchip/big_pointer/proc/fancier_pointer(mob/living/user, atom/pointed, obj/effect/temp_visual/point/point) + SIGNAL_HANDLER + if(HAS_TRAIT(user, TRAIT_UNKNOWN)) + return + point.cut_overlays() + if(!action.arrow_color) + point.icon_state = "arrow_large" + return + point.icon_state = "arrow_large_white" + point.color = action.arrow_color + var/mutable_appearance/highlight = mutable_appearance(point.icon, "arrow_large_white_highlights", appearance_flags = RESET_COLOR) + point.add_overlay(highlight) + +/datum/action/change_pointer_color + name = "Change Pointer Color" + desc = "Set your custom pointer color, or reset it to the default." + button_icon = /obj/effect/temp_visual/point::icon + button_icon_state = "arrow_large_still" + check_flags = AB_CHECK_CONSCIOUS + ///the color of our arrow + var/arrow_color + ///the arrow overlay shown on the button + var/mutable_appearance/arrow_overlay + +/datum/action/change_pointer_color/Destroy() + . = ..() + arrow_overlay = null + +/datum/action/change_pointer_color/Trigger(trigger_flags) + . = ..() + if(!.) + return + var/mob/user = owner + if(!arrow_color) + pick_color(user) + return + var/choice = tgui_alert(owner, "Reset or update pointer color?","Pointer Color", list("Reset","Update")) + if(user != owner || !choice || !IsAvailable(feedback = TRUE)) + return + if(choice == "Update") + pick_color(user) + else + arrow_color = null + owner.balloon_alert(owner, "pointer reset") + build_all_button_icons(update_flags = UPDATE_BUTTON_ICON, force = TRUE) + +/datum/action/change_pointer_color/proc/pick_color(mob/user) + var/ncolor = input(owner, "Pick new color", "Pointer Color", arrow_color) as color|null + if(user != owner || !IsAvailable(feedback = TRUE)) + return + arrow_color = ncolor + owner.balloon_alert(owner, "pointer updated") + build_all_button_icons(update_flags = UPDATE_BUTTON_ICON, force = TRUE) + +/datum/action/change_pointer_color/apply_button_icon(atom/movable/screen/movable/action_button/current_button, force = FALSE) + if(!arrow_color) + return ..() + + current_button.icon = current_button.icon_state = null + current_button.cut_overlay(arrow_overlay) + + arrow_overlay = mutable_appearance(icon = /obj/effect/temp_visual/point::icon, icon_state = "arrow_large_white_still") + arrow_overlay.color = arrow_color + arrow_overlay.overlays += mutable_appearance(icon = /obj/effect/temp_visual/point::icon, icon_state = "arrow_large_white_still_highlights", appearance_flags = RESET_COLOR) + current_button.add_overlay(arrow_overlay) diff --git a/code/modules/library/skill_learning/skill_station.dm b/code/modules/library/skill_learning/skill_station.dm index b376501f758fd..eaeb1fa3e0813 100644 --- a/code/modules/library/skill_learning/skill_station.dm +++ b/code/modules/library/skill_learning/skill_station.dm @@ -2,6 +2,7 @@ #define SKILLCHIP_REMOVAL_TIME (15 SECONDS) /obj/machinery/skill_station + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "\improper Skillsoft station" desc = "Learn skills with only minimal chance for brain damage." @@ -252,7 +253,7 @@ current_skills += list(skill_chip.get_chip_data()) .["current"] = current_skills -/obj/machinery/skill_station/ui_act(action, list/params) +/obj/machinery/skill_station/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/library/skill_learning/skillchip.dm b/code/modules/library/skill_learning/skillchip.dm index cc284b91454aa..b8903e5bde09a 100644 --- a/code/modules/library/skill_learning/skillchip.dm +++ b/code/modules/library/skill_learning/skillchip.dm @@ -141,6 +141,7 @@ * * silent - Boolean. Whether or not an activation message should be shown to the user. */ /obj/item/skillchip/proc/on_activate(mob/living/carbon/user, silent=FALSE) + SHOULD_CALL_PARENT(TRUE) if(!silent && activate_message) to_chat(user, activate_message) @@ -175,6 +176,7 @@ * * silent - Boolean. Whether or not a deactivation message should be shown to the user. */ /obj/item/skillchip/proc/on_deactivate(mob/living/carbon/user, silent=FALSE) + SHOULD_CALL_PARENT(TRUE) if(!silent && deactivate_message) to_chat(user, deactivate_message) @@ -484,9 +486,9 @@ /obj/item/skillchip/master_angler name = "Mast-Angl-Er skillchip" - auto_traits = list(TRAIT_REVEAL_FISH, TRAIT_EXAMINE_FISHING_SPOT) + auto_traits = list(TRAIT_REVEAL_FISH, TRAIT_EXAMINE_FISHING_SPOT, TRAIT_EXAMINE_FISH, TRAIT_EXAMINE_DEEPER_FISH) skill_name = "Fisherman's Discernment" - skill_description = "Lists fishes when examining a fishing spot, and gives a hint of whatever thing's biting the hook." + skill_description = "Lists fishes when examining a fishing spot, gives a hint of whatever thing's biting the hook and more." skill_icon = "fish" activate_message = span_notice("You feel the knowledge and passion of several sunbaked, seasoned fishermen burn within you.") deactivate_message = span_notice("You no longer feel like casting a fishing rod by the sunny riverside.") @@ -499,3 +501,104 @@ skill_icon = FA_ICON_DRUMSTICK_BITE activate_message = span_notice("You think of your favourite food and realise that you can rotate its flavour in your mind.") deactivate_message = span_notice("You feel your food-based mind palace crumbling...") + +/obj/item/skillchip/drunken_brawler + name = "F0RC3 4DD1CT10N skillchip" + auto_traits = list(TRAIT_DRUNKEN_BRAWLER) + skill_name = "Drunken Unarmed Proficiency" + skill_description = "When intoxicated, you gain increased unarmed effectiveness." + skill_icon = "wine-bottle" + activate_message = span_notice("You honestly could do with a drink. Never know when someone might try and jump you around here.") + deactivate_message = span_notice("You suddenly feel a lot safer going around the station sober... ") + +/obj/item/skillchip/musical + name = "\improper Old Copy of \"Space Station 13: The Musical\"" + desc = "An old copy of \"Space Station 13: The Musical\", \ + ran on the station's 100th anniversary...Or maybe it was the 200th?" + skill_name = "Memory of a Musical" + skill_description = "Allows you to hit that high note, like those that came a century before us." + skill_icon = FA_ICON_MUSIC + activate_message = span_notice("You feel like you could \u2669 sing a soooong! \u266B") + deactivate_message = span_notice("The musical fades from your mind, leaving you with a sense of nostalgia.") + custom_premium_price = PAYCHECK_CREW * 4 + +/obj/item/skillchip/musical/Initialize(mapload, is_removable) + . = ..() + name = replacetext(name, "Old", round(CURRENT_STATION_YEAR - pick(50, 100, 150, 200, 250), 5)) + +/obj/item/skillchip/musical/on_activate(mob/living/carbon/user, silent = FALSE) + . = ..() + RegisterSignal(user, COMSIG_MOB_SAY, PROC_REF(make_music)) + +/obj/item/skillchip/musical/on_deactivate(mob/living/carbon/user, silent) + . = ..() + UnregisterSignal(user, COMSIG_MOB_SAY) + +/obj/item/skillchip/musical/proc/make_music(mob/living/carbon/source, list/say_args) + SIGNAL_HANDLER + + var/raw_message = say_args[SPEECH_MESSAGE] + var/list/words = splittext(raw_message, " ") + if(length(words) <= 1) + say_args[SPEECH_MODS][MODE_SING] = TRUE + return + var/last_word = words[length(words)] + var/num_chars = length_char(last_word) + var/last_vowel = "" + // find the last vowel present in the word + for(var/i in 1 to num_chars) + var/char = copytext_char(last_word, i, i + 1) + if(char in VOWELS) + last_vowel = char + + // now we'll reshape the final word to make it sound like they're singing it + var/final_word = "" + var/has_ellipsis = copytext(last_word, -3) == "..." + for(var/i in 1 to num_chars) + var/char = copytext_char(last_word, i, i + 1) + // replacing any final periods with exclamation marks (so long as it's not an ellipsis) + if(char == "." && i == num_chars && !has_ellipsis) + final_word += "!" + // or if it's the vowel we found, we're gonna repeat it a few times (holding the note) + else if(char == last_vowel) + for(var/j in 1 to 4) + final_word += char + // if we dragged out the last character of the word, just period it + if(i == num_chars) + final_word += "." + // no special handing otherwise + else + final_word += char + + if(!has_ellipsis) + // adding an extra exclamation mark at the end if there's no period + var/last_char = copytext_char(final_word, -1) + if(last_char != ".") + final_word += "!" + + words[length(words)] = final_word + // now we siiiiiiing + say_args[SPEECH_MESSAGE] = jointext(words, " ") + say_args[SPEECH_MODS][MODE_SING] = TRUE + +/obj/item/skillchip/musical/examine(mob/user) + . = ..() + . += span_tinynoticeital("Huh, looks like it'd fit in a skillchip adapter.") + +/obj/item/skillchip/musical/examine_more(mob/user) + . = ..() + var/list/songs = list() + songs += "• \"The Ballad of Space Station 13\"" + songs += "• \"The Captain's Call\"" + songs += "• \"A Mime's Lament\"" + songs += "• \"Banned from Cargo\"" + songs += "• \"Botany Blues\"" + songs += "• \"Clown Song\"" + songs += "• \"Elegy to an Engineer\"" + songs += "• \"Medical Malpractitioner\"" + songs += "• \"Security Strike\"" + songs += "• \"Send for the Shuttle\"" + songs += "• And one song scratched out..." + + . += span_notice("On the back of the chip, you see a list of songs:") + . += span_smallnotice("[jointext(songs, "
    ")]
    ") diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index e3f72da5bbffd..5a68932a62cbd 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -90,6 +90,8 @@ if(isnull(.)) return recalculate_directional_opacity() + // Need this for split vis stuff + QUEUE_SMOOTH_NEIGHBORS(src) /atom/proc/flash_lighting_fx(range = FLASH_LIGHT_RANGE, power = FLASH_LIGHT_POWER, color = COLOR_WHITE, duration = FLASH_LIGHT_DURATION, light_type = /obj/effect/dummy/lighting_obj) if(!duration) diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index c5ce42e45edd8..aa878d13f2137 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -90,13 +90,13 @@ GLOBAL_LIST_EMPTY(default_lighting_underlays_by_z) (red_corner.cache_g + green_corner.cache_g + blue_corner.cache_g + alpha_corner.cache_g + \ red_corner.cache_b + green_corner.cache_b + blue_corner.cache_b + alpha_corner.cache_b == 8)) //anything that passes the first case is very likely to pass the second, and addition is a little faster in this case - current_underlay.icon_state = "lighting_transparent" + current_underlay.icon_state = "transparent-[affected_turf.lighting_state]" current_underlay.color = null else if(!set_luminosity) - current_underlay.icon_state = "lighting_dark" + current_underlay.icon_state = "dark-[affected_turf.lighting_state]" current_underlay.color = null else - current_underlay.icon_state = null + current_underlay.icon_state = affected_turf.lighting_state current_underlay.color = list( red_corner.cache_r, red_corner.cache_g, red_corner.cache_b, 00, green_corner.cache_r, green_corner.cache_g, green_corner.cache_b, 00, diff --git a/code/modules/lighting/lighting_setup.dm b/code/modules/lighting/lighting_setup.dm deleted file mode 100644 index c148530d1cd86..0000000000000 --- a/code/modules/lighting/lighting_setup.dm +++ /dev/null @@ -1,12 +0,0 @@ - -/proc/create_all_lighting_objects() - for(var/area/area as anything in GLOB.areas) - if(!area.static_lighting) - continue - for (var/list/zlevel_turfs as anything in area.get_zlevel_turf_lists()) - for(var/turf/area_turf as anything in zlevel_turfs) - if(area_turf.space_lit) - continue - new /datum/lighting_object(area_turf) - CHECK_TICK - CHECK_TICK diff --git a/code/modules/loadout/categories/pocket.dm b/code/modules/loadout/categories/pocket.dm index e1cddde76e5b9..fd3f11e112b27 100644 --- a/code/modules/loadout/categories/pocket.dm +++ b/code/modules/loadout/categories/pocket.dm @@ -106,10 +106,6 @@ name = "Plush (Moth)" item_path = /obj/item/toy/plush/moth -/datum/loadout_item/pocket_items/plush/narsie - name = "Plush (Nar'sie)" - item_path = /obj/item/toy/plush/narplush - /datum/loadout_item/pocket_items/plush/nukie name = "Plush (Nukie)" item_path = /obj/item/toy/plush/nukeplushie @@ -122,10 +118,6 @@ name = "Plush (Plasmaman)" item_path = /obj/item/toy/plush/plasmamanplushie -/datum/loadout_item/pocket_items/plush/ratvar - name = "Plush (Ratvar)" - item_path = /obj/item/toy/plush/ratplush - /datum/loadout_item/pocket_items/plush/rouny name = "Plush (Rouny)" item_path = /obj/item/toy/plush/rouny diff --git a/code/modules/loadout/loadout_items.dm b/code/modules/loadout/loadout_items.dm index 53d0a7cc6cd5b..37a457f06c5ef 100644 --- a/code/modules/loadout/loadout_items.dm +++ b/code/modules/loadout/loadout_items.dm @@ -66,7 +66,7 @@ GLOBAL_LIST_INIT(all_loadout_categories, init_loadout_categories()) if(can_be_greyscale == DONT_GREYSCALE) can_be_greyscale = FALSE - else if(item_path::flags_1 & IS_PLAYER_COLORABLE_1) + else if((item_path::flags_1 & IS_PLAYER_COLORABLE_1) && item_path::greyscale_config && item_path::greyscale_colors) can_be_greyscale = TRUE if(isnull(name)) diff --git a/code/modules/lootpanel/_lootpanel.dm b/code/modules/lootpanel/_lootpanel.dm index 45862ebf45542..d74023b57efe6 100644 --- a/code/modules/lootpanel/_lootpanel.dm +++ b/code/modules/lootpanel/_lootpanel.dm @@ -62,7 +62,7 @@ return UI_INTERACTIVE -/datum/lootpanel/ui_act(action, list/params) +/datum/lootpanel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/lootpanel/contents.dm b/code/modules/lootpanel/contents.dm index 44f4acd47f24c..2fcd4201d8a7c 100644 --- a/code/modules/lootpanel/contents.dm +++ b/code/modules/lootpanel/contents.dm @@ -21,6 +21,8 @@ if(!istype(thing)) stack_trace("Non-atom in the contents of [source_turf]!") continue + if(QDELETED(thing)) + continue if(thing.mouse_opacity == MOUSE_OPACITY_TRANSPARENT) continue if(thing.IsObscured()) diff --git a/code/modules/lootpanel/search_object.dm b/code/modules/lootpanel/search_object.dm index 149be76e71064..2cb0bdf85dba9 100644 --- a/code/modules/lootpanel/search_object.dm +++ b/code/modules/lootpanel/search_object.dm @@ -62,6 +62,7 @@ /datum/search_object/Destroy(force) item = null + icon = null return ..() @@ -75,6 +76,9 @@ /datum/search_object/proc/on_item_moved(atom/source) SIGNAL_HANDLER + if(QDELETED(src)) + return + qdel(src) @@ -82,4 +86,4 @@ /datum/search_object/proc/on_turf_change(turf/source, path, list/new_baseturfs, flags, list/post_change_callbacks) SIGNAL_HANDLER - post_change_callbacks += CALLBACK(src, GLOBAL_PROC_REF(qdel), src) + post_change_callbacks += CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src) diff --git a/code/modules/mafia/outfits.dm b/code/modules/mafia/outfits.dm index 3b805bd92f9c0..0fdc90c2f3213 100644 --- a/code/modules/mafia/outfits.dm +++ b/code/modules/mafia/outfits.dm @@ -89,7 +89,7 @@ name = "Mafia Security Officer" uniform = /obj/item/clothing/under/rank/security/officer - gloves = /obj/item/clothing/gloves/color/black + gloves = /obj/item/clothing/gloves/color/black/security head = /obj/item/clothing/head/helmet/sec suit = /obj/item/clothing/suit/armor/vest/alt shoes = /obj/item/clothing/shoes/jackboots @@ -116,7 +116,7 @@ uniform = /obj/item/clothing/under/rank/security/head_of_security shoes = /obj/item/clothing/shoes/jackboots suit = /obj/item/clothing/suit/armor/hos/trenchcoat - gloves = /obj/item/clothing/gloves/color/black + gloves = /obj/item/clothing/gloves/color/black/security head = /obj/item/clothing/head/hats/hos/beret glasses = /obj/item/clothing/glasses/hud/security/sunglasses @@ -126,7 +126,7 @@ uniform = /obj/item/clothing/under/rank/security/warden shoes = /obj/item/clothing/shoes/jackboots suit = /obj/item/clothing/suit/armor/vest/warden/alt - gloves = /obj/item/clothing/gloves/color/black + gloves = /obj/item/clothing/gloves/color/black/security head = /obj/item/clothing/head/hats/warden/red glasses = /obj/item/clothing/glasses/hud/security/sunglasses diff --git a/code/modules/mafia/roles/roles.dm b/code/modules/mafia/roles/roles.dm index ab1a1cc0e454b..4cfd7662d843e 100644 --- a/code/modules/mafia/roles/roles.dm +++ b/code/modules/mafia/roles/roles.dm @@ -189,6 +189,6 @@ team_span = "comradio" the = FALSE result += span_notice("The [span_bold("[name]")] is aligned with [the ? "the " : ""][team_desc]") - result += "\"[desc]\"" + result += "\"[initial(desc)]\"" result += span_notice("[name] wins when they [win_condition]") to_chat(clueless, result.Join("
    ")) diff --git a/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.dm b/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.dm index 9e188d4585638..7c674e98e24a1 100644 --- a/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.dm +++ b/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.dm @@ -14,6 +14,7 @@ baseturfs = /turf/open/water/cursed_spring planetary_atmos = TRUE initial_gas_mix = ICEMOON_DEFAULT_ATMOS + fishing_datum = /datum/fish_source/cursed_spring /turf/open/water/cursed_spring/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) . = ..() diff --git a/code/modules/mapfluff/ruins/icemoonruin_code/library.dm b/code/modules/mapfluff/ruins/icemoonruin_code/library.dm index 2f3b6381f0484..266b04a20eaee 100644 --- a/code/modules/mapfluff/ruins/icemoonruin_code/library.dm +++ b/code/modules/mapfluff/ruins/icemoonruin_code/library.dm @@ -8,14 +8,14 @@ /obj/machinery/door/puzzle/keycard/library/animation_length(animation) switch(animation) if(DOOR_OPENING_ANIMATION) - return 1.2 SECONDS + return 0.5 SECONDS /obj/machinery/door/puzzle/keycard/library/animation_segment_delay(animation) switch(animation) if(DOOR_OPENING_PASSABLE) - return 1.0 SECONDS + return 0.5 SECONDS if(DOOR_OPENING_FINISHED) - return 1.2 SECONDS + return 0.5 SECONDS /obj/item/keycard/library name = "golden key" diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm index 4aecd64aa1699..33c23feba9670 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm @@ -5,7 +5,6 @@ max_integrity = 120 impressiveness = 18 // Carved from the bones of a massive creature, it's going to be a specticle to say the least layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE custom_materials = list(/datum/material/bone=SHEET_MATERIAL_AMOUNT*5) abstract_type = /obj/structure/statue/bone @@ -72,8 +71,7 @@ turf_type = /turf/open/misc/asteroid/basalt/wasteland baseturfs = /turf/open/misc/asteroid/basalt/wasteland icon = 'icons/turf/walls/rock_wall.dmi' - base_icon_state = "rock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER + smoothing_flags = SMOOTH_BITMASK /turf/closed/mineral/strong/wasteland/drop_ores() if(prob(10)) @@ -87,13 +85,16 @@ /obj/structure/sink/oil_well //You're not going to enjoy bathing in this... name = "oil well" desc = "A bubbling pool of oil. This would probably be valuable, had bluespace technology not destroyed the need for fossil fuels 200 years ago." - icon = 'icons/obj/watercloset.dmi' + icon = 'icons/obj/mining_zones/terrain.dmi' icon_state = "puddle-oil" dispensedreagent = /datum/reagent/fuel/oil - pixel_shift = 0 + +// This is a hole +/obj/structure/sink/oil_well/find_and_hang_on_wall(directional, custom_drop_callback, wall_layer) + return /obj/structure/sink/oil_well/Initialize(mapload) - .=..() + . = ..() create_reagents(20) reagents.add_reagent(dispensedreagent, 20) //I'm pretty much aware that, because how oil wells and sinks work, attackby() won't work unless in combat mode. diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/surface.dm b/code/modules/mapfluff/ruins/lavalandruin_code/surface.dm index 13db0e2d73077..d420526a2572f 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/surface.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/surface.dm @@ -14,7 +14,6 @@ flags_1 = ON_BORDER_1 appearance_flags = LONG_GLIDE layer = FLY_LAYER - plane = ABOVE_GAME_PLANE anchored = TRUE density = TRUE bound_width = 416 diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm b/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm index 57f20abb1aa19..fb9d78a009b8c 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/museum.dm @@ -51,7 +51,7 @@ /obj/structure/fluff/preserved_borer name = "preserved borer exhibit" desc = "A preserved cortical borer. Probably been there long enough to not last long outside the exhibit." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "preservedborer" density = TRUE @@ -122,7 +122,7 @@ anchored = TRUE density = TRUE smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS /obj/item/paper/fluff/museum/noend name = "scrambled note" diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm index 8dc9cec326d95..6910dc3b3604b 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/necropolis_gate.dm @@ -7,7 +7,6 @@ flags_1 = ON_BORDER_1 appearance_flags = 0 layer = FLY_LAYER - plane = ABOVE_GAME_PLANE anchored = TRUE density = TRUE pixel_x = -32 @@ -15,6 +14,7 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF light_range = 8 light_color = LIGHT_COLOR_LAVA + can_atmos_pass = ATMOS_PASS_DENSITY var/open = FALSE var/changing_openness = FALSE var/locked = FALSE @@ -224,7 +224,6 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) icon_state = "arch_full" appearance_flags = 0 layer = FLY_LAYER - plane = ABOVE_GAME_PLANE anchored = TRUE pixel_x = -64 pixel_y = -40 diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/mapfluff/ruins/objects_and_mobs/sin_ruins.dm index 15566603a9322..0327c77874b9e 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/sin_ruins.dm @@ -6,7 +6,7 @@ anchored = TRUE density = TRUE icon_state = "blob" - icon = 'icons/mob/nonhuman-player/blob.dmi' + icon = 'icons/mob/nonhuman-player/blob_tall.dmi' color = rgb(145, 150, 0) /obj/effect/gluttony/CanAllowThrough(atom/movable/mover, border_dir)//So bullets will fly over and stuff. diff --git a/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm index 3507cb7d94746..8be91920719c1 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm @@ -140,7 +140,7 @@ ui = new(user, src, "VaultController", name) ui.open() -/obj/machinery/computer/vaultcontroller/ui_act(action, params) +/obj/machinery/computer/vaultcontroller/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -213,7 +213,7 @@ "\[15:29\] USELESS clown", "\[15:35\] And BATSHIT fucking janitors", "\[15:46\] That includes the crotchety fucking IBM piece of shit we're supposed to call an AI", - "\[15:52\] And it's legion of cyborg assholes", + "\[15:52\] And its legion of cyborg assholes", "\[15:58\] If this wasn't bad enough there is the wizards federation to worry about", "\[16:06\] Crazy bastards", "\[16:10\] What can be worse than a bunch of plasma-humping-space-freaks?", @@ -244,7 +244,7 @@ "\[47:32\] Once they called me captain, but when it's all said and done", "\[47:41\] I'll be a hero", "\[47:45\] If you run across this transmission by chance", - "\[47:52\] Get you pudgy little nerd ass over to Space Station 13 and start busting heads.", + "\[47:52\] Get your pudgy little nerd ass over to Space Station 13 and start busting heads.", "\[48:00\] (farting noises)", ) timestamp = list( diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm b/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm new file mode 100644 index 0000000000000..ebcd04c626b07 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/hauntedtradingpost.dm @@ -0,0 +1,381 @@ +//code & items for the hauntedtradingpost.dmm ruin +//CONTAINS: [Lore Papers],[Outpost ID Cards],[Gimmick Treasure],[Hazards & Traps],[Custom Turrets] + +// [Lore Papers] +// clues to traps that exist in the ruin or just insights into the backstory of the place +/obj/item/paper/fluff/ruins/hauntedtradingpost/warning + name = "Last Warning" + default_raw_text = "Next person who breaks a vending machine fucking around with those fucking toy guns gets fired on the spot. Try me. I am SICK of this shit.

    Signed, Your Fucking Boss (Who Can Fucking Fire Your Ass)" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/warning/turrets + name = "Warning! Important! Read this!" + default_raw_text = "Foam darts do not go in the defence turrets! Live ammo only!" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming + name = "Notes" + default_raw_text = "Branding: Pizza In Your Pocket (check focus groups)

    Tomato Mozzerella Basil
    etc

    Spider 17-02667 Store 31-00314

    18,000 approx BSD

    common allergens - ?


    6127" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming/eureka + default_raw_text = "Got some ingredients from the moth trading fleet and used some of our discretionary budget to hire some factory space. Prototypes are going down well with both public and employees. If we can get central to fund mass production we'll be seeing a 18% permanant increase in regional profit according to AI. This fits the local brunch market *perfectly*." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming/eureka2 + default_raw_text = "Early experiments with a fully carb-free recipe going well. Taste tests are all positive, just need a way to reduce costs." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/brainstorming/eureka3 + default_raw_text = "PROJECT BIG DONK
    RnD has a few prototypes prepared.
    Testing will be complete by the end of the week." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/rpgclub + name = "RPG Club" + default_raw_text = "RPG Club is every Thursday from 20:00 to 01:00 AM. Entry to the break room is strictly by invitation only during that period of time.

    We apologise for any inconvenience." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/rpgrules + name = "GM Notes" + default_raw_text = "Session 4 NPCS
    Shadow Warriors
    S A T C H
    40 65 40 15 10

    Shadow Clan Underlord
    S A T C H
    40 65 40 15 10
    Note: Gets shadow magic.


    Dire Corgi
    S A T C H
    60 25 65 25 12

    If they beat this let them roll on loot table 4 twice but if it's 65-70 or 15-30 make it magic boots instead." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/curatorsnote + name = "For Adventurers" + default_raw_text = "The food court and the stalls are safe, everywhere else isn't. There's safes in the stalls and I didn't have a way to open them so if you can get whatever's inside, good for you. The employees area can be entered by tailing the bots, but security systems are active back there. I got shot by a turret taking a look, and when I stitched myself up and tried the other door I walked into a booby trap and nearly lost an arm.

    If you're investigating this signal - BEWARE.
    For the record, I decided nothing in there's worth the risk. If you're braver than me, good luck.
    Signed, Curator P." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/officememo + name = "Memo" + default_raw_text = "The AI-Guided Defense System Will Stay Active Indefinitely To Protect Company Property. Please Ensure All Personal Items Are Removed From The Premises, As They Will Be Impossible To Recover If Forgotten.

    Donk Co. Takes No Responsibility For Lost Personal Property Or Affects." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt + name = "Old Receipt" + desc = "A ratty old sales receipt printed on cheap thermal paper." + default_raw_text = "DONK CO OUTLET 6013
    YOUR SERVER TODAY WAS: COLM

    2x DONKPOCKETPIZBOX 400
    1x CRYPTOGRAPHICSEQ 800
    2x CRYPTOGRAPHICTOY 200
    1x DONKPOCKETPLUSHY 120

    TOTAL VALUE 1520

    PAYMENT: CASH" + icon_state = "paperslip" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt/alternate + default_raw_text = "DONK CO OUTLET 6013
    YOUR SERVER TODAY WAS: VLAD

    1x DONKPOCKETBERBOX 200
    1x GORLEXMODSUITRED 1400
    1x MODSUITMICROWAVE 200

    TOTAL VALUE 1800

    PAYMENT: CASH" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/receipt/alternate_alt + default_raw_text = "DONK CO OUTLET 6013
    YOUR SERVER TODAY WAS: COLM

    10xDONKPOCKETORGBOX 2000
    4x GORLEXMODSUITRED 9600
    4x MODSUITMICROWAVE 800

    TOTAL VALUE 13400

    PAYMENT: CARD" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/nomodsuits + name = "Notice" + desc = "A bunch of words have been written on this slip of paper. Truly, this is the future." + default_raw_text = "We are SOLD OUT of modsuits." + icon_state = "paperslip" + +/obj/item/paper/fluff/ruins/hauntedtradingpost/oldnote + name = "Old Note" + default_raw_text = "Remember to check all the ammo before it's fed into the turrets. If the wrong caliber is loaded, the turrets will malfunction.
    We use 9mm ammunition ONLY." + +/obj/item/paper/fluff/ruins/hauntedtradingpost/oldnote/aiclue + name = "Old Handwritten Note" + default_raw_text = "All the appliances are now hooked up to the AI. If there's any problems, report it to the Cybersun rep (Mr Satung)." + +// [Outpost ID Cards] +//ID cards for the space ruin +/obj/item/card/id/away/donk + name = "\improper Donk Co. ID Card" + desc = "A plastic card that identifies its bearer as an employee of Donk Co. There are electronic chips embedded to communicate with airlocks and other machines. It does not have a name attached." + icon_state = "card_donk" + trim = /datum/id_trim/away/hauntedtradingpost + +/obj/item/card/id/away/donk/boss + desc = "A plastic card that identifies its bearer as a senior employee of Donk Co. There are electronic chips embedded to communicate with airlocks and other machines. It does not have a name attached." + icon_state = "card_donkboss" + trim = /datum/id_trim/away/hauntedtradingpost/boss + +// [Gimmick Treasure] +// loot & weird items that should only exist in hauntedtradingpost.dmm +//aquarium with two donkfish in it +/obj/structure/aquarium/donkfish + name = "office aquarium" + desc = "A home for captive fish. This one has 'DONK CO' engraved on the glass." + +/obj/structure/aquarium/donkfish/Initialize(mapload) + . = ..() + new /obj/item/aquarium_prop/rocks(src) + new /obj/item/aquarium_prop/seaweed(src) + new /obj/item/fish/donkfish(src) + new /obj/item/fish/donkfish(src) + create_reagents(20, SEALED_CONTAINER) + reagents.add_reagent(/datum/reagent/consumable/nutriment, 20) + +//gimmick ketchup bottle for healing minor injuries +/obj/item/reagent_containers/condiment/donksauce + name = "\improper Donk Co. Secret Sauce" + desc = "The famous ketchup with a highly classified recipe." + list_reagents = list( + /datum/reagent/consumable/ketchup = 25, + /datum/reagent/medicine/omnizine = 10, + /datum/reagent/consumable/astrotame = 5, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/bungojuice = 1, + /datum/reagent/consumable/curry_powder = 1, + /datum/reagent/consumable/soymilk = 1, + /datum/reagent/consumable/tomatojuice = 1, + /datum/reagent/consumable/vitfro = 1, + ) + icon_state = "ketchup" + fill_icon_thresholds = null + +// [Hazards & Traps] +//cyborg holobarriers that die when the boss dies, how exciting +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield + desc = "A fragile holographic energy field projected by an AI core. It keeps unwanted humanoids at safe distance." + +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield/Initialize(mapload) + . = ..() + GLOB.selfdestructs_when_boss_dies += src + +/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield/Destroy() + GLOB.selfdestructs_when_boss_dies -= src + return ..() + +//smes that produces power, until the boss dies then it self destructs and you gotta make your own power +/obj/machinery/power/smes/magical/cybersun + name = "cybersun-brand power storage unit" + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. It looks like any other SMES unit, except this one says 'Cybersun' on it." + //is this being used as part of the haunted trading post ruin? if true, will self destruct when boss dies + var/donk_ai_slave = FALSE + +/obj/machinery/power/smes/magical/cybersun/Initialize(mapload) + . = ..() + if(donk_ai_slave) + GLOB.selfdestructs_when_boss_dies += src + +/obj/machinery/power/smes/magical/cybersun/Destroy() + if(donk_ai_slave) + GLOB.selfdestructs_when_boss_dies -= src + return ..() + +//this is a trigger for traps involving doors and shutters +//doors get closed and bolted, shutters get cycled open/closed +/obj/machinery/button/door/invisible_tripwire + name = "Sonic Tripwire" + desc = "An invisible trigger for shutters and doors. Triggers when someone steps on the tile." + max_integrity = 50 + invisibility = INVISIBILITY_ABSTRACT + anchored = TRUE + //is this being used as part of the haunted trading post ruin? if true, will self destruct when boss dies + var/donk_ai_slave = FALSE + //can the trap trigger more than once? + var/multiuse = FALSE + //(if multiuse) how many times the trap can trigger. 0 or lower is infinite + var/uses_remaining = 0 + //if true, the trap will unbolt all doors it bolted and cycle shutters a second time after a delay + var/resets_self = FALSE + //time before resets_self kicks in + var/reset_timer = 1.8 SECONDS + //when multiple tripwires are in the same suicide pact, they will all die when any of them die + var/suicide_pact = FALSE + //id of the suicide pact this tripwire is in + var/suicide_pact_id +GLOBAL_LIST_EMPTY(tripwire_suicide_pact) + +/obj/machinery/button/door/invisible_tripwire/Initialize(mapload) + . = ..() + if(donk_ai_slave == TRUE) + GLOB.selfdestructs_when_boss_dies += src + if(suicide_pact == TRUE && suicide_pact_id != null) + GLOB.tripwire_suicide_pact += src + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + ) + AddElement(/datum/element/connect_loc, loc_connections) + +/obj/machinery/button/door/invisible_tripwire/proc/on_entered(atom/source, atom/movable/victim) + SIGNAL_HANDLER + if(!isliving(victim)) + return + var/mob/living/target = victim + if(target.stat != DEAD && target.mob_size == MOB_SIZE_HUMAN && target.mob_biotypes != MOB_ROBOTIC) + tripwire_triggered(target) + if(multiuse && uses_remaining < 1) + uses_remaining-- + if(resets_self) + addtimer(CALLBACK(src, PROC_REF(tripwire_triggered), victim), reset_timer) + +/obj/machinery/button/door/invisible_tripwire/proc/tripwire_triggered(atom/victim) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom, interact), victim) + if(multiuse && uses_remaining != 1) + return + if(suicide_pact&& suicide_pact_id) + for (var/obj/machinery/button/door/invisible_tripwire/pact_member in GLOB.tripwire_suicide_pact) + if(src.suicide_pact_id == pact_member.suicide_pact_id) + qdel(pact_member) + qdel(src) + + +/obj/machinery/button/door/invisible_tripwire/Destroy() + if(donk_ai_slave) + GLOB.selfdestructs_when_boss_dies -= src + if(suicide_pact && suicide_pact_id) + GLOB.tripwire_suicide_pact -= src + return ..() + +//door button that destroys itself when it is pressed +/obj/machinery/button/door/selfdestructs + +/obj/machinery/button/door/selfdestructs/attempt_press(mob/user) + . = ..() + do_sparks(rand(1,3), src) + playsound(src, SFX_SPARKS, 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + qdel(src) + +//trap that gloms onto the first machine it finds on its tile, and lives inside it +//then it zaps everyone who gets close. disarm by dissassembling the machine, or running out its charges +/obj/effect/overloader_trap + name = "overloader trap" + desc = "A trap that overloads machines to electrify people who walk nearby." + alpha = 70 + max_integrity = 50 + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + icon = 'icons/effects/effects.dmi' + icon_state = "empdisable" + //trap wont damage mobs in its faction + faction = list(ROLE_SYNDICATE) + invisibility = INVISIBILITY_ABSTRACT + plane = ABOVE_GAME_PLANE + //datum we use to trigger when someones close + var/datum/proximity_monitor/proximity_monitor + // how close someone has to be to set the trap off + var/trigger_range = 1 + // max range the trap can zap someone + var/shock_range = 1 + /// damage from getting zapped by this trap + var/shock_damage = 35 + // length of time target spends stunned + var/stun_duration = 1.5 SECONDS + // length of time targets spend jittery + var/jitter_time = 5 SECONDS + // length of time targets stutter + var/stutter_time = 2 SECONDS + //is this being used as part of the haunted trading post ruin? if true, will self destruct when boss dies + var/donk_ai_slave = FALSE + // machine that the trap inhabits + var/obj/structure/host_machine + // turf that the trap is on + var/turf/my_turf + //how long until trap zaps everything, after it detects something + var/trigger_delay = 0.7 SECONDS + COOLDOWN_DECLARE(trigger_cooldown) + //time until trap can be triggered again + var/trigger_cooldown_duration = 4 SECONDS + //max amount of times the trap can trigger + var/uses_remaining = 4 + //amount of damage the trap does to the machine its on, when its triggered + //this can kill the machine and if it does, the trap effectively disarms itself + //so acts as a soft cap of sorts on number of trap activations + var/machine_overload_damage = 80 //machine integrity is usually 200 or 300 + +/obj/effect/overloader_trap/Initialize(mapload) + . = ..() + proximity_monitor = new(src, 0) + proximity_monitor?.set_range(trigger_range) + my_turf = get_turf(src) + host_machine = locate(/obj/machinery) in loc + if(donk_ai_slave == TRUE) + GLOB.selfdestructs_when_boss_dies += src + +/obj/effect/overloader_trap/Destroy() + if(donk_ai_slave == TRUE) + GLOB.selfdestructs_when_boss_dies -= src + return ..() + +/obj/effect/overloader_trap/proc/check_faction(mob/target) + for(var/faction1 in faction) + if(faction1 in target.faction) + return TRUE + return FALSE + +/obj/effect/overloader_trap/HasProximity(mob/living) + if(!locate(host_machine) in loc) //muh machine's gone, delete myself because im disarmed + qdel(src) + return + if(!COOLDOWN_FINISHED(src, trigger_cooldown)) //do nothing if we're on cooldown + return + if(uses_remaining == 0) //deletes trap if it triggers when it has no uses left. should only happen if var edited but lets just be safe + qdel(src) + return + if (!isliving(living)) //ensure the guy triggering us is alive + return + if (living.stat && check_faction(living)) //and make sure it ain't someone on our team + return + COOLDOWN_START(src, trigger_cooldown, 4 SECONDS) + trap_alerted() + +/obj/effect/overloader_trap/proc/trap_alerted() + if(host_machine in loc) + visible_message(span_boldwarning("Sparks fly from [host_machine] as it shakes vigorously!")) + do_sparks(number = 3, source = host_machine) + host_machine.Shake(2, 1, trigger_delay) + addtimer(CALLBACK(src, PROC_REF(trap_effect)), trigger_delay) + //if someone breaks or moves the machine before the trap goes off, this should fail to do anything + +/obj/effect/overloader_trap/proc/trap_effect() + for(var/mob/living/living_mob in range(shock_range, src)) + if(faction_check_atom(living_mob)) + continue + to_chat(living_mob, span_warning("You are struck by an arc of electricity!")) + src.Beam(living_mob, icon_state = "lightning[rand(1,12)]", time = 0.5 SECONDS) + living_mob.electrocute_act(shock_damage, host_machine, 1, SHOCK_NOGLOVES, stun_duration, jitter_time, stutter_time) + for(var/obj/item/food/deadmouse in range(shock_range, src)) + src.Beam(deadmouse, icon_state = "lightning[rand(1,12)]", time = 0.5 SECONDS) + do_sparks(number = 1, source = host_machine) + host_machine.take_damage(machine_overload_damage, sound_effect = FALSE) + uses_remaining-- + if(uses_remaining <= 0) + qdel(src) + +// [Custom Turrets] +//these are the non-mob defenders of the hauntedtradingpost.dmm ruin +//they are controlled with a syndicate ID and are hostile to anything non-syndicate by default + +//donk turret - 9mm +/obj/machinery/porta_turret/syndicate/donk + //Medium speed, medium damage, fragile. Does brute damage. + name = "\improper Donk Co. Defense Turret" + icon_state = "donk_lethal" + max_integrity = 120 + base_icon_state = "donk" + stun_projectile = /obj/projectile/bullet/foam_dart/riot + lethal_projectile = /obj/projectile/bullet/c9mm/blunttip + lethal_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' + stun_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' + desc = "A ballistic machine gun auto-turret with Donk Co. branding. It uses 9mm rounds." + armor_type = /datum/armor/donk_turret + scan_range = 6 + shot_delay = 10 + +/datum/armor/donk_turret + melee = 20 + bullet = 20 + laser = 40 + energy = 40 + bomb = 20 + fire = 50 + acid = 100 + +/obj/projectile/bullet/c9mm/blunttip + wound_bonus = -40 //this will still cause bleeding wounds, but less often. + +//cybersun turret - plasma beam +/obj/machinery/porta_turret/syndicate/energy/cybersun + //Slow speed, high damage. Does burn damage. + name = "\improper Cybersun Plasma Auto-turret" + icon_state = "red_lethal" + base_icon_state = "red" + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser/cybersun + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + desc = "An energy gun auto-turret with Cybersun branding. It fires high-energy plasma beams that do a lot of damage, but it can be fairly slow." + armor_type = /datum/armor/syndicate_shuttle + scan_range = 6 + shot_delay = 50 + always_up = FALSE + has_cover = TRUE + +/obj/projectile/beam/laser/cybersun + name = "plasma beam" + desc = "A big red plasma beam, currently in flight." + icon_state = "lava" + light_color = COLOR_DARK_RED + damage = 30 + wound_bonus = -50 + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm index 21075cea38add..649dec65c7cb5 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm @@ -4,7 +4,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) /obj/item/hilbertshotel name = "Hilbert's Hotel" desc = "A sphere of what appears to be an intricate network of bluespace. Observing it in detail seems to give you a headache as you try to comprehend the infinite amount of infinitesimally distinct points on its surface." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "hilbertshotel" w_class = WEIGHT_CLASS_SMALL resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF @@ -238,7 +238,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) name = "Hilbert's Hotel Room" mappath = "_maps/templates/hilbertshotel.dmm" var/landingZoneRelativeX = 2 - var/landingZoneRelativeY = 8 + var/landingZoneRelativeY = 12 /datum/map_template/hilbertshotel/empty name = "Empty Hilbert's Hotel Room" @@ -256,8 +256,9 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) //Turfs and Areas /turf/closed/indestructible/hotelwall name = "hotel wall" + icon = 'icons/turf/walls/hotel_wall.dmi' desc = "A wall designed to protect the security of the hotel's guests." - icon_state = "hotelwall" + smoothing_flags = SMOOTH_BITMASK smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_HOTEL_WALLS canSmoothWith = SMOOTH_GROUP_HOTEL_WALLS explosive_resistance = INFINITY @@ -298,13 +299,21 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) /turf/closed/indestructible/hoteldoor name = "Hotel Door" - icon_state = "hoteldoor" + icon = 'icons/turf/walls/hotel_door.dmi' explosive_resistance = INFINITY + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = SMOOTH_GROUP_CLOSED_TURFS + SMOOTH_GROUP_HOTEL_WALLS + canSmoothWith = SMOOTH_GROUP_HOTEL_WALLS var/obj/item/hilbertshotel/parentSphere /turf/closed/indestructible/hoteldoor/Initialize(mapload) . = ..() register_context() + // Build the glow animation + var/mutable_appearance/glow_animation = mutable_appearance('icons/turf/walls/hotel_door_glow.dmi', "glow") + // Add emissive as a suboverlay, to make working with it easier + glow_animation.add_overlay(emissive_appearance('icons/turf/walls/hotel_door_glow.dmi', "glow", src)) + AddComponent(/datum/component/split_overlay, glow_animation, list(SOUTH_JUNCTION)) /turf/closed/indestructible/hoteldoor/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = ..() diff --git a/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm b/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm index 0db718e399bf6..5350e836dae05 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm @@ -89,7 +89,7 @@ /obj/structure/puzzle_blockade/meat name = "mass of meat and teeth" desc = "A horrible mass of meat and teeth. Can it see you? You hope not. Virtually indestructible, must be a way around." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/structures/tall.dmi' icon_state = "meatblockade" opacity = TRUE diff --git a/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_mod.dm b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_mod.dm index ac026045674e8..fb5273909470f 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_mod.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_mod.dm @@ -1,4 +1,5 @@ /obj/machinery/mod_installer + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "modular outerwear device installator" desc = "An ancient machine that mounts a MOD unit onto the occupant." icon = 'icons/obj/machines/mod_installer.dmi' @@ -64,7 +65,7 @@ var/mob/living/carbon/human/human_occupant = occupant if(!istype(human_occupant)) return - if(!human_occupant.dropItemToGround(human_occupant.back)) + if(!isnull(human_occupant.back) && !human_occupant.dropItemToGround(human_occupant.back)) return if(!human_occupant.equip_to_slot_if_possible(mod_unit, mod_unit.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) return diff --git a/code/modules/mapping/preloader.dm b/code/modules/mapping/preloader.dm index b01ca83a8a24d..6ac3fd75f963c 100644 --- a/code/modules/mapping/preloader.dm +++ b/code/modules/mapping/preloader.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_INIT(_preloader_path, null) what.vars[attribute] = value /// Template noop (no operation) is used to skip a turf or area when the template is loaded this allows for template transparency -/// ex. if a ship has gaps in it's design, you would use template_noop to fill these in so that when the ship moves z-level, any +/// ex. if a ship has gaps in its design, you would use template_noop to fill these in so that when the ship moves z-level, any /// tiles these gaps land on will not be deleted and replaced with the ships (empty) tiles /area/template_noop name = "Area Passthrough" diff --git a/code/modules/mapping/space_management/space_reservation.dm b/code/modules/mapping/space_management/space_reservation.dm index 04ba59ab5a459..fe0050d418d23 100644 --- a/code/modules/mapping/space_management/space_reservation.dm +++ b/code/modules/mapping/space_management/space_reservation.dm @@ -28,6 +28,9 @@ /// The turf type the reservation is initially made with var/turf_type = /turf/open/space + /// Do we override baseturfs with turf_type? + var/turf_type_is_baseturf = TRUE + ///Distance away from the cordon where we can put a "sort-cordon" and run some extra code (see make_repel). 0 makes nothing happen var/pre_cordon_distance = 0 @@ -52,6 +55,10 @@ for(var/turf/reserved_turf as anything in release_turfs) SEND_SIGNAL(reserved_turf, COMSIG_TURF_RESERVATION_RELEASED, src) + // immediately disconnect from atmos + reserved_turf.blocks_air = TRUE + CALCULATE_ADJACENT_TURFS(reserved_turf, KILL_EXCITED) + // Makes the linter happy, even tho we don't await this INVOKE_ASYNC(SSmapping, TYPE_PROC_REF(/datum/controller/subsystem/mapping, reserve_turfs), release_turfs) @@ -90,7 +97,7 @@ // Its no longer unused, but its also not "used" cordon_turf.turf_flags &= ~UNUSED_RESERVATION_TURF - cordon_turf.ChangeTurf(/turf/cordon, /turf/cordon) + cordon_turf.empty(/turf/cordon, /turf/cordon) SSmapping.unused_turfs["[cordon_turf.z]"] -= cordon_turf // still gets linked to us though SSmapping.used_turfs[cordon_turf] = src @@ -138,6 +145,9 @@ if(!HAS_TRAIT(enterer, TRAIT_FREE_HYPERSPACE_SOFTCORDON_MOVEMENT)) space_dump(source, enterer) +/datum/turf_reservation/turf_not_baseturf + turf_type_is_baseturf = FALSE + /// Internal proc which handles reserving the area for the reservation. /datum/turf_reservation/proc/_reserve_area(width, height, zlevel) src.width = width @@ -181,7 +191,7 @@ SSmapping.unused_turfs["[T.z]"] -= T SSmapping.used_turfs[T] = src T.turf_flags = (T.turf_flags | RESERVATION_TURF) & ~UNUSED_RESERVATION_TURF - T.ChangeTurf(turf_type, turf_type) + T.empty(turf_type, turf_type_is_baseturf ? turf_type : null) bottom_left_turfs += BL top_right_turfs += TR diff --git a/code/modules/meteors/meteor_dark_matteor.dm b/code/modules/meteors/meteor_dark_matteor.dm index f72bbcff6fa13..18dbaf007024f 100644 --- a/code/modules/meteors/meteor_dark_matteor.dm +++ b/code/modules/meteors/meteor_dark_matteor.dm @@ -32,7 +32,7 @@ START_PROCESSING(SSobj, src) /obj/effect/meteor/dark_matteor/process(seconds_per_tick) - //meteor's warp quickly contracts then slowly expands it's ring + //meteor's warp quickly contracts then slowly expands its ring animate(warp, time = seconds_per_tick*3, transform = matrix().Scale(0.5,0.5)) animate(time = seconds_per_tick*7, transform = matrix()) diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index a1503b7f63420..16d3ecc4d99f2 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -15,7 +15,7 @@ name = "auxiliary base management console" desc = "Allows a deployable expedition base to be dropped from the station to a designated mining location. It can also \ interface with the mining shuttle at the landing site if a mobile beacon is also deployed." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/pod_computer.dmi' icon_state = "pod_off" icon_keyboard = null icon_screen = "pod_on" @@ -133,7 +133,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/auxiliary_base, 32) return FALSE return TRUE -/obj/machinery/computer/auxiliary_base/ui_act(action, params) +/obj/machinery/computer/auxiliary_base/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -335,7 +335,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/auxiliary_base, 32) anchored = FALSE density = FALSE var/shuttle_ID = "landing_zone_dock" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "miningbeacon" var/obj/docking_port/stationary/Mport //Linked docking port for the mining shuttle pressure_resistance = 200 //So it does not get blown into lava. diff --git a/code/modules/mining/boulder_processing/_boulder_processing.dm b/code/modules/mining/boulder_processing/_boulder_processing.dm index 5795eed1d7490..ab72e4ebae57b 100644 --- a/code/modules/mining/boulder_processing/_boulder_processing.dm +++ b/code/modules/mining/boulder_processing/_boulder_processing.dm @@ -15,7 +15,7 @@ var/boulders_held_max = 1 /// What sound plays when a thing operates? var/usage_sound = 'sound/machines/mining/wooping_teleport.ogg' - /// Silo link to it's materials list. + /// Silo link to its materials list. var/datum/component/remote_materials/silo_materials /// Mining points held by the machine for miners. var/points_held = 0 diff --git a/code/modules/mining/boulder_processing/boulder.dm b/code/modules/mining/boulder_processing/boulder.dm index 555ea50dff3bf..8fb1fe2dd785d 100644 --- a/code/modules/mining/boulder_processing/boulder.dm +++ b/code/modules/mining/boulder_processing/boulder.dm @@ -7,7 +7,7 @@ name = "boulder" desc = "This rocks." icon_state = "ore" - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND throw_range = 2 throw_speed = 0.5 @@ -22,6 +22,8 @@ var/boulder_size = BOULDER_SIZE_SMALL /// Used in inheriting the icon_state from our parent vent in update_icon. var/boulder_string = "boulder" + // There is one boulder per boulder (this is required for the Clarke UI as it treats ores and boulders in the same fashion and needs an amount for both) + var/amount = 1 /obj/item/boulder/Initialize(mapload) . = ..() diff --git a/code/modules/mining/boulder_processing/brm.dm b/code/modules/mining/boulder_processing/brm.dm index 61c5469b45901..9b9186968918b 100644 --- a/code/modules/mining/boulder_processing/brm.dm +++ b/code/modules/mining/boulder_processing/brm.dm @@ -153,6 +153,23 @@ playsound(src, MANUAL_TELEPORT_SOUND, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) return TRUE +/obj/machinery/brm/attack_ai(mob/user) + . = ..() + if(. || panel_open) + return + if(!handle_teleport_conditions(user)) + return + + var/result = pre_collect_boulder() + if(result == TURF_BLOCKED_BY_BOULDER) + balloon_alert(user, "no space") + else if(result) + balloon_alert(user, "teleporting") + + COOLDOWN_START(src, manual_teleport_cooldown, TELEPORTATION_TIME) + + return TRUE + /obj/machinery/brm/attack_robot(mob/user) . = ..() if(. || panel_open) @@ -206,6 +223,17 @@ end_processing() update_appearance(UPDATE_ICON_STATE) +/obj/machinery/brm/attack_ai_secondary(mob/user, list/modifiers) + . = ..() + if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN || panel_open) + return + if(!anchored) + balloon_alert(user, "anchor first!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + toggle_auto_on(user) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + /obj/machinery/brm/attack_robot_secondary(mob/user, list/modifiers) . = ..() if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN || panel_open) diff --git a/code/modules/mining/equipment/grapple_gun.dm b/code/modules/mining/equipment/grapple_gun.dm index 76da071ec6e2d..2e1baed05123b 100644 --- a/code/modules/mining/equipment/grapple_gun.dm +++ b/code/modules/mining/equipment/grapple_gun.dm @@ -3,14 +3,14 @@ /obj/item/grapple_gun name = "grapple gun" desc = "A small specialised airgun capable of launching a climbing hook into a distant rock face and pulling the user toward it via motorised zip-line. A handy tool for traversing the craggy landscape of lavaland!" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "grapple_gun" lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' inhand_icon_state = "gun" item_flags = NOBLUDGEON ///overlay when the hook is retracted - var/static/mutable_appearance/hook_overlay = new(icon = 'icons/obj/mining.dmi', icon_state = "grapple_gun_hooked") + var/static/mutable_appearance/hook_overlay = new(icon = 'icons/obj/mining_zones/equipment.dmi', icon_state = "grapple_gun_hooked") ///is the hook retracted var/hooked = TRUE ///addtimer id for launching the user diff --git a/code/modules/mining/equipment/kheiral_cuffs.dm b/code/modules/mining/equipment/kheiral_cuffs.dm index eaaf11616cc71..3a35429928e32 100644 --- a/code/modules/mining/equipment/kheiral_cuffs.dm +++ b/code/modules/mining/equipment/kheiral_cuffs.dm @@ -3,7 +3,7 @@ /obj/item/kheiral_cuffs name = "\improper Kheiral cuffs" desc = "A prototype wrist communicator powered by Kheiral Matter. When both ends are clamped to one wrist, acts as a signal range booster for your suit sensors.\nA small engraving on the inside reads, \"NOT HANDCUFFS\"" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "strand" worn_icon_state = "strandcuff" slot_flags = ITEM_SLOT_GLOVES diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 0a4a6ce6572b1..e9634bb250b5f 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -6,7 +6,7 @@ * a good tradeoff and a decent playstyle. */ /obj/item/kinetic_crusher - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "crusher" inhand_icon_state = "crusher0" lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' @@ -105,15 +105,9 @@ crusher_trophy.on_melee_hit(target, user) if(QDELETED(target)) return - // Clear existing marks - var/valid_crusher_attack = FALSE - for(var/datum/status_effect/crusher_mark/crusher_mark_effect as anything in target.get_all_status_effect_of_id(/datum/status_effect/crusher_mark)) - //this will erase ALL crusher marks, not only ones by you. - if(crusher_mark_effect.hammer_synced != src || !target.remove_status_effect(/datum/status_effect/crusher_mark, src)) - continue - valid_crusher_attack = TRUE - break - if(!valid_crusher_attack) + var/datum/status_effect/crusher_mark/mark = target.has_status_effect(/datum/status_effect/crusher_mark) + var/boosted_mark = mark?.boosted + if(!target.remove_status_effect(mark)) return // Detonation effect var/datum/status_effect/crusher_damage/crusher_damage_effect = target.has_status_effect(/datum/status_effect/crusher_damage) || target.apply_status_effect(/datum/status_effect/crusher_damage) @@ -130,7 +124,7 @@ var/backstab_dir = get_dir(user, target) var/def_check = target.getarmor(type = BOMB) // Backstab bonus - if((user.dir & backstab_dir) && (target.dir & backstab_dir)) + if((user.dir & backstab_dir) && (target.dir & backstab_dir) || boosted_mark) backstabbed = TRUE combined_damage += backstab_bonus playsound(user, 'sound/weapons/kinetic_accel.ogg', 100, TRUE) //Seriously who spelled it wrong @@ -164,7 +158,6 @@ attached_trophy.on_projectile_fire(destabilizer, user) destabilizer.preparePixelProjectile(target, user, modifiers) destabilizer.firer = user - destabilizer.hammer_synced = src playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, TRUE) destabilizer.fire() charged = FALSE @@ -211,24 +204,24 @@ armor_flag = BOMB range = 6 log_override = TRUE - ///The crusher that's firing this projectile. - var/obj/item/kinetic_crusher/hammer_synced + /// Has this projectile been boosted + var/boosted = FALSE -/obj/projectile/destabilizer/Destroy() - hammer_synced = null - return ..() +/obj/projectile/destabilizer/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile, parry_callback = CALLBACK(src, PROC_REF(on_parry))) + +/obj/projectile/destabilizer/proc/on_parry(mob/user) + SIGNAL_HANDLER + boosted = TRUE + // Get a bit of a damage/range boost after being parried + damage = 10 + range = 9 /obj/projectile/destabilizer/on_hit(atom/target, blocked = 0, pierce_hit) if(isliving(target)) var/mob/living/living_target = target - var/has_mark_from_this_crusher = FALSE - for(var/datum/status_effect/crusher_mark/crusher_mark_effect as anything in living_target.get_all_status_effect_of_id(/datum/status_effect/crusher_mark)) - if(crusher_mark_effect.hammer_synced != hammer_synced) - continue - has_mark_from_this_crusher = TRUE - break - if(!has_mark_from_this_crusher) - living_target.apply_status_effect(/datum/status_effect/crusher_mark, hammer_synced) + living_target.apply_status_effect(/datum/status_effect/crusher_mark, boosted) var/target_turf = get_turf(target) if(ismineralturf(target_turf)) var/turf/closed/mineral/hit_mineral = target_turf diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index c33181dd8068d..f82aab6c5f03c 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -18,7 +18,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( name = "marker beacon" singular_name = "marker beacon" desc = "Prism-brand path illumination devices. Used by miners to mark paths and warn of danger." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "marker" merge_type = /obj/item/stack/marker_beacon max_amount = 100 @@ -72,7 +72,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( /obj/structure/marker_beacon name = "marker beacon" desc = "A Prism-brand path illumination device. It is anchored in place and glowing steadily." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "marker" layer = BELOW_OPEN_DOOR_LAYER armor_type = /datum/armor/structure_marker_beacon diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index abf5ca77e181d..8684ea64d0d49 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -1,7 +1,7 @@ /*****************Pickaxes & Drills & Shovels****************/ /obj/item/pickaxe name = "pickaxe" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "pickaxe" inhand_icon_state = "pickaxe" obj_flags = CONDUCTS_ELECTRICITY @@ -118,7 +118,7 @@ /obj/item/shovel name = "shovel" desc = "A large tool for digging and moving dirt." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "shovel" inhand_icon_state = "shovel" lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' @@ -202,7 +202,7 @@ /obj/item/trench_tool name = "entrenching tool" desc = "The multi-purpose tool you always needed." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "trench_tool" inhand_icon_state = "trench_tool" lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' diff --git a/code/modules/mining/equipment/monster_organs/monster_organ.dm b/code/modules/mining/equipment/monster_organs/monster_organ.dm index a854f113740f8..9b6330f3467c3 100644 --- a/code/modules/mining/equipment/monster_organs/monster_organ.dm +++ b/code/modules/mining/equipment/monster_organs/monster_organ.dm @@ -36,7 +36,7 @@ icon = 'icons/obj/medical/organs/mining_organs.dmi' icon_state = "hivelord_core" actions_types = list(/datum/action/cooldown/monster_core_action) - visual = FALSE + item_flags = NOBLUDGEON slot = ORGAN_SLOT_MONSTER_CORE organ_flags = ORGAN_ORGANIC @@ -66,10 +66,9 @@ deltimer(decay_timer) return ..() -/obj/item/organ/internal/monster_core/Insert(mob/living/carbon/target_carbon, special = FALSE, movement_flags) +/obj/item/organ/internal/monster_core/mob_insert(mob/living/carbon/target_carbon, special = FALSE, movement_flags) . = ..() - if(!.) - return + if (inert) to_chat(target_carbon, span_notice("[src] breaks down as you try to insert it.")) qdel(src) @@ -80,7 +79,7 @@ target_carbon.visible_message(span_notice("[src] stabilizes as it's inserted.")) return TRUE -/obj/item/organ/internal/monster_core/Remove(mob/living/carbon/target_carbon, special, movement_flags) +/obj/item/organ/internal/monster_core/mob_remove(mob/living/carbon/target_carbon, special, movement_flags) if (!inert && !special) owner.visible_message(span_notice("[src] rapidly decays as it's removed.")) go_inert() diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm index 99b27e15ca8ab..65c79a0608372 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -2,7 +2,7 @@ /obj/item/resonator name = "resonator" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "resonator" inhand_icon_state = "resonator" lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' @@ -53,7 +53,6 @@ desc = "A resonating field that significantly damages anything inside of it when the field eventually ruptures. More damaging in low pressure environments." icon_state = "shield1" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE duration = 60 SECONDS /// the amount of damage living beings will take whilst inside the field during its burst var/resonance_damage = 20 @@ -147,7 +146,6 @@ /obj/effect/temp_visual/resonance_crush icon_state = "shield1" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE duration = 4 /obj/effect/temp_visual/resonance_crush/Initialize(mapload) diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index b22603f52d92b..13b163baaa170 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -13,7 +13,7 @@ name = "bluespace shelter capsule" desc = "An emergency shelter stored within a pocket of bluespace." icon_state = "capsule" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' w_class = WEIGHT_CLASS_TINY var/template_id = "shelter_alpha" var/datum/map_template/shelter/template @@ -137,19 +137,16 @@ //Window /obj/structure/window/reinforced/shuttle/survival_pod name = "pod window" - icon = 'icons/obj/smooth_structures/pod_window.dmi' - icon_state = "pod_window-0" - base_icon_state = "pod_window" + icon = 'icons/obj/structures/smooth/windows/pod_window.dmi' smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + smoothing_groups = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD canSmoothWith = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD /obj/structure/window/reinforced/survival_pod name = "pod window" - icon = 'icons/obj/mining_zones/survival_pod.dmi' - icon_state = "pwindow" + icon = 'icons/obj/structures/smooth/windows/pod_thindow.dmi' -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/survival_pod/spawner, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/structure/window/reinforced/survival_pod/spawner) //Door /obj/machinery/door/airlock/survival_pod @@ -157,25 +154,26 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/survival_pod/spawne icon = 'icons/obj/doors/airlocks/survival/survival.dmi' overlays_file = 'icons/obj/doors/airlocks/survival/survival_overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_pod - smoothing_groups = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + smoothing_groups = SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + greyscale_colors = "#a5a7ac#a5a7ac#969696#969696#5ea52c#6d6565#777777" /obj/machinery/door/airlock/survival_pod/glass opacity = FALSE glass = TRUE + greyscale_config = /datum/greyscale_config/airlocks/window + greyscale_colors = "#a5a7ac#a5a7ac#969696#969696#5ea52c#6d6565" /obj/structure/door_assembly/door_assembly_pod name = "pod airlock assembly" - icon = 'icons/obj/doors/airlocks/survival/survival.dmi' - base_name = "pod airlock" - overlays_file = 'icons/obj/doors/airlocks/survival/survival_overlays.dmi' + icon = /obj/machinery/door/airlock/survival_pod::icon airlock_type = /obj/machinery/door/airlock/survival_pod glass_type = /obj/machinery/door/airlock/survival_pod/glass //Windoor /obj/machinery/door/window/survival_pod - icon = 'icons/obj/mining_zones/survival_pod.dmi' - icon_state = "windoor" - base_state = "windoor" + icon = 'icons/obj/doors/windoor.dmi' + icon_state = "survival" + base_state = "survival" MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/survival_pod/left, 0) diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index eb94f68a1f9a7..8dbdd53e68e4b 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -2,7 +2,7 @@ /obj/item/wormhole_jaunter name = "wormhole jaunter" desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to bluespace for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least.\nThanks to modifications provided by the Free Golems, this jaunter can be worn on the belt to provide protection from chasms." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "Jaunter" inhand_icon_state = "electronic" worn_icon_state = "electronic" diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 649acabfcae4a..da069bb5a8ceb 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -3,7 +3,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) /obj/item/extraction_pack name = "fulton extraction pack" desc = "A balloon that can be used to extract equipment or personnel to a Fulton Recovery Beacon. Anything not bolted down can be moved. Link the pack to a beacon by using the pack in hand." - icon = 'icons/obj/fulton.dmi' + icon = 'icons/obj/mining_zones/fulton.dmi' icon_state = "extraction_pack" w_class = WEIGHT_CLASS_NORMAL /// Beacon weakref @@ -125,6 +125,8 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) holder_obj.add_overlay(balloon) playsound(holder_obj.loc, 'sound/items/fultext_deploy.ogg', vol = 50, vary = TRUE, extrarange = -3) + SEND_SIGNAL(thing, COMSIG_ATOM_FULTON_BEGAN) + animate(holder_obj, pixel_z = 10, time = 2 SECONDS, flags = ANIMATION_RELATIVE) animate(pixel_z = 5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) animate(pixel_z = -5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) @@ -178,13 +180,14 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) sleep(0.5 SECONDS) thing.forceMove(holder_obj.loc) qdel(holder_obj) + SEND_SIGNAL(thing, COMSIG_ATOM_FULTON_LANDED) if(uses_left <= 0) qdel(src) /obj/item/fulton_core name = "extraction beacon assembly kit" desc = "When built, emits a signal which fulton recovery devices can lock onto. Activate in hand to unfold into a beacon." - icon = 'icons/obj/fulton.dmi' + icon = 'icons/obj/mining_zones/fulton.dmi' icon_state = "folded_extraction" /obj/item/fulton_core/attack_self(mob/user) @@ -196,7 +199,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) /obj/structure/extraction_point name = "fulton recovery beacon" desc = "A beacon for the fulton recovery system. Activate a pack in your hand to link it to a beacon." - icon = 'icons/obj/fulton.dmi' + icon = 'icons/obj/mining_zones/fulton.dmi' icon_state = "extraction_point" anchored = TRUE density = FALSE diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index cd5a60a22f2ae..ee700e3d9774b 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -68,7 +68,7 @@ data["can_go_home"] = can_go_home return data -/obj/machinery/mineral/labor_claim_console/ui_act(action, params) +/obj/machinery/mineral/labor_claim_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 1e4e444861155..3a813aebd14a6 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -261,7 +261,7 @@ graft_gene = /datum/plant_gene/trait/fire_resistance /obj/item/seeds/lavaland/cactus - name = "pack of fruiting cactus seeds" + name = "fruiting cactus seed pack" desc = "These seeds grow into fruiting cacti." icon_state = "seed-cactus" species = "cactus" @@ -275,7 +275,7 @@ ///Star Cactus seeds, mutation of lavaland cactus. /obj/item/seeds/star_cactus - name = "pack of star cacti seeds" + name = "star cacti seed pack" desc = "These seeds grow into star cacti." icon_state = "seed-starcactus" species = "starcactus" @@ -303,7 +303,7 @@ distill_reagent = /datum/reagent/consumable/ethanol/tequila /obj/item/seeds/lavaland/polypore - name = "pack of polypore mycelium" + name = "polypore mycelium pack" desc = "This mycelium grows into bracket mushrooms, also known as polypores. Woody and firm, shaft miners often use them for makeshift crafts." icon_state = "mycelium-polypore" species = "polypore" @@ -314,7 +314,7 @@ reagents_add = list(/datum/reagent/consumable/nutriment = 0.04, /datum/reagent/consumable/ethanol = 0.04, /datum/reagent/stabilizing_agent = 0.06, /datum/reagent/consumable/mintextract = 0.02) /obj/item/seeds/lavaland/porcini - name = "pack of porcini mycelium" + name = "porcini mycelium pack" desc = "This mycelium grows into Boletus edulus, also known as porcini. Native to the late Earth, but discovered on Lavaland. Has culinary, medicinal and relaxant effects." icon_state = "mycelium-porcini" species = "porcini" @@ -325,7 +325,7 @@ reagents_add = list(/datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/sugar = 0.06, /datum/reagent/consumable/vitfro = 0.04, /datum/reagent/drug/nicotine = 0.04) /obj/item/seeds/lavaland/inocybe - name = "pack of inocybe mycelium" + name = "inocybe mycelium pack" desc = "This mycelium grows into an inocybe mushroom, a species of Lavaland origin with hallucinatory and toxic effects." icon_state = "mycelium-inocybe" species = "inocybe" @@ -336,7 +336,7 @@ reagents_add = list(/datum/reagent/toxin/mindbreaker = 0.04, /datum/reagent/consumable/entpoly = 0.08, /datum/reagent/drug/mushroomhallucinogen = 0.04) /obj/item/seeds/lavaland/ember - name = "pack of embershroom mycelium" + name = "embershroom mycelium pack" desc = "This mycelium grows into embershrooms, a species of bioluminescent mushrooms native to Lavaland." icon_state = "mycelium-ember" species = "ember" @@ -347,7 +347,7 @@ reagents_add = list(/datum/reagent/consumable/tinlux = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/drug/space_drugs = 0.02) /obj/item/seeds/lavaland/seraka - name = "pack of seraka mycelium" + name = "seraka mycelium pack" desc = "This mycelium grows into seraka mushrooms, a species of savoury mushrooms originally native to Tizira used in food and traditional medicine." icon_state = "mycelium-seraka" species = "seraka" @@ -358,7 +358,7 @@ reagents_add = list(/datum/reagent/toxin/mushroom_powder = 0.1, /datum/reagent/medicine/coagulant/seraka_extract = 0.02) /obj/item/seeds/lavaland/fireblossom - name = "pack of fire blossom seeds" + name = "fire blossom seed pack" desc = "These seeds grow into fire blossoms." plantname = "Fire Blossom" icon_state = "seed-fireblossom" diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index 0bbf15352318d..f0270b66d377b 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -601,6 +601,10 @@ animate(src) SpinAnimation(15) +/obj/item/soulscythe/Destroy(force) + soul.ghostize() + QDEL_NULL(soul) + . = ..() /mob/living/simple_animal/soulscythe name = "mysterious spirit" maxHealth = 200 diff --git a/code/modules/mining/lavaland/tendril_loot.dm b/code/modules/mining/lavaland/tendril_loot.dm index 6dfc8cfe40c3a..bafb188ca5a80 100644 --- a/code/modules/mining/lavaland/tendril_loot.dm +++ b/code/modules/mining/lavaland/tendril_loot.dm @@ -226,7 +226,7 @@ /obj/item/wisp_lantern name = "spooky lantern" desc = "This lantern gives off no light, but is home to a friendly wisp." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "lantern-blue-on" inhand_icon_state = "lantern-blue-on" lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi' @@ -246,13 +246,13 @@ inhand_icon_state = "lantern-blue" wisp.orbit(user, 20) SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") + return - else - to_chat(user, span_notice("You return the wisp to the lantern.")) - icon_state = "lantern-blue-on" - inhand_icon_state = "lantern-blue-on" - wisp.forceMove(src) - SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") + to_chat(user, span_notice("You return the wisp to the lantern.")) + icon_state = "lantern-blue-on" + inhand_icon_state = "lantern-blue-on" + wisp.forceMove(src) + SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") /obj/item/wisp_lantern/Initialize(mapload) . = ..() @@ -269,7 +269,7 @@ /obj/effect/wisp name = "friendly wisp" desc = "Happy to light your way." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/mining_zones/artefacts.dmi' icon_state = "orb" light_system = OVERLAY_LIGHT light_range = 6 @@ -278,26 +278,30 @@ light_flags = LIGHT_ATTACHED layer = ABOVE_ALL_MOB_LAYER plane = ABOVE_GAME_PLANE - var/sight_flags = SEE_MOBS var/list/color_cutoffs = list(10, 25, 25) /obj/effect/wisp/orbit(atom/thing, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit) . = ..() - if(ismob(thing)) - RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight)) - var/mob/being = thing - being.update_sight() - to_chat(thing, span_notice("The wisp enhances your vision.")) + if(!ismob(thing)) + return + var/mob/being = thing + RegisterSignal(being, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight)) + to_chat(being, span_notice("The wisp enhances your vision.")) + ADD_TRAIT(being, TRAIT_THERMAL_VISION, REF(src)) + being.update_sight() /obj/effect/wisp/stop_orbit(datum/component/orbiter/orbits) - . = ..() - if(ismob(orbits.parent)) - UnregisterSignal(orbits.parent, COMSIG_MOB_UPDATE_SIGHT) - to_chat(orbits.parent, span_notice("Your vision returns to normal.")) + if(!ismob(orbit_target)) + return ..() + var/mob/being = orbit_target + UnregisterSignal(being, COMSIG_MOB_UPDATE_SIGHT) + to_chat(being, span_notice("Your vision returns to normal.")) + REMOVE_TRAIT(being, TRAIT_THERMAL_VISION, REF(src)) + being.update_sight() + return ..() /obj/effect/wisp/proc/update_user_sight(mob/user) SIGNAL_HANDLER - user.add_sight(sight_flags) if(!isnull(color_cutoffs)) user.lighting_color_cutoffs = blend_cutoff_colors(user.lighting_color_cutoffs, color_cutoffs) @@ -553,7 +557,6 @@ var/obj/item/organ/external/wings/functional/wings = get_wing_choice(exposed_human, chest) wings = new wings() wings.Insert(exposed_human) - exposed_human.dna.species.handle_mutant_bodyparts(exposed_human) playsound(exposed_human.loc, 'sound/items/poster_ripped.ogg', 50, TRUE, -1) exposed_human.apply_damage(20, def_zone = BODY_ZONE_CHEST, forced = TRUE, wound_bonus = CANT_WOUND) exposed_human.emote("scream") @@ -584,7 +587,7 @@ /obj/item/jacobs_ladder name = "jacob's ladder" desc = "A celestial ladder that violates the laws of physics." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "ladder00" /obj/item/jacobs_ladder/attack_self(mob/user) @@ -618,6 +621,7 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT + body_parts_covered = HANDS|ARMS resistance_flags = LAVA_PROOF | FIRE_PROOF //they are from lavaland after all armor_type = /datum/armor/gloves_gauntlets @@ -772,7 +776,7 @@ user.physiology.brute_mod *= 0.5 user.next_move_modifier *= BERSERK_ATTACK_SPEED_MODIFIER user.add_atom_colour(COLOR_BUBBLEGUM_RED, TEMPORARY_COLOUR_PRIORITY) - ADD_TRAIT(user, TRAIT_NOGUNS, BERSERK_TRAIT) + user.add_traits(list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD), BERSERK_TRAIT) ADD_TRAIT(src, TRAIT_NODROP, BERSERK_TRAIT) berserk_active = TRUE START_PROCESSING(SSobj, src) @@ -790,7 +794,7 @@ user.physiology.brute_mod *= 2 user.next_move_modifier /= BERSERK_ATTACK_SPEED_MODIFIER user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_BUBBLEGUM_RED) - REMOVE_TRAIT(user, TRAIT_NOGUNS, BERSERK_TRAIT) + user.remove_traits(list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD), BERSERK_TRAIT) REMOVE_TRAIT(src, TRAIT_NODROP, BERSERK_TRAIT) STOP_PROCESSING(SSobj, src) diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 61318f63b92a5..d250d0e87cd04 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -4,6 +4,7 @@ /**********************Mineral processing unit console**************************/ /obj/machinery/mineral + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) processing_flags = START_PROCESSING_MANUALLY subsystem_type = /datum/controller/subsystem/processing/fastprocess /// The current direction of `input_turf`, in relation to the machine. @@ -94,7 +95,7 @@ /obj/machinery/mineral/processing_unit_console/ui_data(mob/user) return processing_machine.ui_data() -/obj/machinery/mineral/processing_unit_console/ui_act(action, list/params) +/obj/machinery/mineral/processing_unit_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 14460cffb1b66..312acb6672014 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -297,7 +297,7 @@ return data -/obj/machinery/mineral/ore_redemption/ui_act(action, params) +/obj/machinery/mineral/ore_redemption/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 97c3a90b78eb1..7fe2e9468f186 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -143,7 +143,7 @@ return data -/obj/machinery/ore_silo/ui_act(action, list/params) +/obj/machinery/ore_silo/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 79d7901dd9e44..1c250b578668c 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -13,7 +13,7 @@ /obj/machinery/mineral/stacking_unit_console/Initialize(mapload) . = ..() var/area/our_area = get_area(src) - if(!isnull(our_area)) + if(isnull(our_area)) return var/list/turf_list = our_area.get_turfs_by_zlevel(z) if(!islist(turf_list)) @@ -62,7 +62,7 @@ )) return data -/obj/machinery/mineral/stacking_unit_console/ui_act(action, list/params) +/obj/machinery/mineral/stacking_unit_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 53fd78cf94d49..9f6a30b9bd8a7 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -521,7 +521,7 @@ /obj/structure/minecart_rail name = "cart rail" desc = "Carries carts along the track." - icon = 'icons/obj/track.dmi' + icon = 'icons/obj/structures/track.dmi' icon_state = "track" layer = TRAM_RAIL_LAYER plane = FLOOR_PLANE diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index d2a9af576ce42..4e4894a734cdf 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -9,7 +9,7 @@ /obj/item/stack/ore name = "rock" - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' icon_state = "ore" inhand_icon_state = null full_w_class = WEIGHT_CLASS_BULKY @@ -22,6 +22,9 @@ var/list/stack_overlays var/scan_state = "" //Used by mineral turfs for their scan overlay. var/spreadChance = 0 //Also used by mineral turfs for spreading veins + drop_sound = SFX_STONE_DROP + pickup_sound = SFX_STONE_PICKUP + sound_vary = TRUE /obj/item/stack/ore/update_overlays() . = ..() @@ -234,7 +237,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/gibtonite name = "gibtonite ore" desc = "Extremely explosive if struck with mining equipment, Gibtonite is often used by miners to speed up their work by using it as a mining charge. This material is illegal to possess by unauthorized personnel under space law." - icon = 'icons/obj/ore.dmi' + icon = 'icons/obj/mining_zones/ore.dmi' icon_state = "gibtonite" inhand_icon_state = "Gibtonite ore" w_class = WEIGHT_CLASS_BULKY @@ -406,7 +409,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /*****************************Coin********************************/ -// The coin's value is a value of it's materials. +// The coin's value is a value of its materials. // Yes, the gold standard makes a come-back! // This is the only way to make coins that are possible to produce on station actually worth anything. /obj/item/coin diff --git a/code/modules/mining/satchel_ore_box.dm b/code/modules/mining/satchel_ore_box.dm index b94796b161433..2088233159668 100644 --- a/code/modules/mining/satchel_ore_box.dm +++ b/code/modules/mining/satchel_ore_box.dm @@ -2,7 +2,7 @@ /**********************Ore box**************************/ /obj/structure/ore_box - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "orebox" name = "ore box" desc = "A heavy wooden box, which can be filled with a lot of ores or boulders" @@ -95,7 +95,7 @@ return list("materials" = materials) -/obj/structure/ore_box/ui_act(action, params) +/obj/structure/ore_box/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mining/voucher_sets.dm b/code/modules/mining/voucher_sets.dm index 071a8f1153670..1a5ce875c2708 100644 --- a/code/modules/mining/voucher_sets.dm +++ b/code/modules/mining/voucher_sets.dm @@ -19,7 +19,7 @@ /datum/voucher_set/crusher_kit name = "Crusher Kit" description = "Contains a kinetic crusher and a pocket fire extinguisher. Kinetic crusher is a versatile melee mining tool capable both of mining and fighting local fauna, however it is difficult to use effectively for anyone but most skilled and/or suicidal miners." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "crusher" set_items = list( /obj/item/extinguisher/mini, @@ -29,7 +29,7 @@ /datum/voucher_set/extraction_kit name = "Extraction and Rescue Kit" description = "Contains a fulton extraction pack and a beacon signaller, which allows you to send back home minerals, items and dead bodies without having to use the mining shuttle. And as a bonus, you get 30 marker beacons to help you better mark your path." - icon = 'icons/obj/fulton.dmi' + icon = 'icons/obj/mining_zones/fulton.dmi' icon_state = "extraction_pack" set_items = list( /obj/item/extraction_pack, @@ -40,7 +40,7 @@ /datum/voucher_set/resonator_kit name = "Resonator Kit" description = "Contains a resonator and a pocket fire extinguisher. Resonator is a handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It does increased damage in low pressure." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "resonator" set_items = list( /obj/item/extinguisher/mini, diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm index b4ddc8cd9c8b4..9b4705bed2dd5 100644 --- a/code/modules/mob/camera/camera.dm +++ b/code/modules/mob/camera/camera.dm @@ -1,5 +1,6 @@ // Camera mob, used by AI camera and blob. /mob/camera + SET_BASE_VISUAL_PIXEL(0, 0) // These are selecting floor tiles name = "camera mob" density = FALSE move_force = INFINITY @@ -8,6 +9,7 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT invisibility = INVISIBILITY_ABSTRACT // No one can see us sight = SEE_SELF + shadow_type = SHADOW_NONE /// Toggles if the camera can move on shuttles var/move_on_shuttle = FALSE /// Toggles if the camera can use emotes diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 4d74e029860a6..e6daa62547859 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -23,6 +23,7 @@ INITIALIZE_IMMEDIATE(/mob/dead) add_verb(src, /mob/dead/proc/server_hop) set_focus(src) become_hearing_sensitive() + create_shadow() log_mob_tag("TAG: [tag] CREATED: [key_name(src)] \[[src.type]\]") return INITIALIZE_HINT_NORMAL diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index c239817a30e14..cf5863163c884 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -7,9 +7,6 @@ ghost_others = client.prefs.read_preference(/datum/preference/choiced/ghost_others) var/preferred_form = null - if(isAdminGhostAI(src)) - has_unlimited_silicon_privilege = TRUE - if(client.prefs.unlock_content) preferred_form = client.prefs.read_preference(/datum/preference/choiced/ghost_form) ghost_orbit = client.prefs.read_preference(/datum/preference/choiced/ghost_orbit) diff --git a/code/modules/mob/dead/observer/notificationprefs.dm b/code/modules/mob/dead/observer/notificationprefs.dm index 802da5e2b8011..5e14f1e5ce9bc 100644 --- a/code/modules/mob/dead/observer/notificationprefs.dm +++ b/code/modules/mob/dead/observer/notificationprefs.dm @@ -38,7 +38,7 @@ "desc" = GLOB.poll_ignore_desc[key] )) -/datum/notificationpanel/ui_act(action, params) +/datum/notificationpanel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c1a81b9d33847..bf4411a0d482d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -36,7 +36,6 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/health_scan = FALSE //Are health scans currently enabled? var/chem_scan = FALSE //Are chem scans currently enabled? var/gas_scan = FALSE //Are gas scans currently enabled? - var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED) //list of data HUDs shown to ghosts. var/ghost_orbit = GHOST_ORBIT_CIRCLE //These variables store hair data if the ghost originates from a species with head and/or facial hair. @@ -63,6 +62,13 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) /// The POI we're orbiting (orbit menu) var/orbiting_ref + var/static/list/observer_hud_traits = list( + TRAIT_SECURITY_HUD, + TRAIT_MEDICAL_HUD, + TRAIT_DIAGNOSTIC_HUD, + TRAIT_BOT_PATH_HUD + ) + /mob/dead/observer/Initialize(mapload) set_invisibility(GLOB.observer_default_invisibility) @@ -144,12 +150,12 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) . = ..() grant_all_languages() + setup_hud_traits() show_data_huds() data_huds_on = 1 SSpoints_of_interest.make_point_of_interest(src) ADD_TRAIT(src, TRAIT_HEAR_THROUGH_DARKNESS, ref(src)) - ADD_TRAIT(src, TRAIT_SECURITY_HUD, ref(src)) /mob/dead/observer/get_photo_description(obj/item/camera/camera) if(!invisibility || camera.see_ghosts) @@ -506,6 +512,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp . = ..() //restart our floating animation after orbit is done. pixel_y = base_pixel_y + // if we were autoobserving, reset perspective + if (!isnull(client) && !isnull(client.eye)) + reset_perspective(null) /mob/dead/observer/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak set category = "Ghost" @@ -757,14 +766,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return /mob/dead/observer/proc/show_data_huds() - for(var/hudtype in datahuds) - var/datum/atom_hud/data_hud = GLOB.huds[hudtype] - data_hud.show_to(src) + add_traits(observer_hud_traits, REF(src)) /mob/dead/observer/proc/remove_data_huds() - for(var/hudtype in datahuds) - var/datum/atom_hud/data_hud = GLOB.huds[hudtype] - data_hud.hide_from(src) + remove_traits(observer_hud_traits, REF(src)) /mob/dead/observer/verb/toggle_data_huds() set name = "Toggle Sec/Med/Diag HUD" diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index ee0b4528995ef..bdb0b7ce37e88 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -211,13 +211,25 @@ GLOBAL_DATUM_INIT(orbit_menu, /datum/orbit_menu, new) if(issilicon(player)) serialized["job"] = player.job serialized["icon"] = "borg" - else - var/obj/item/card/id/id_card = player.get_idcard(hand_first = FALSE) - serialized["job"] = id_card?.get_trim_assignment() - serialized["icon"] = id_card?.get_trim_sechud_icon_state() + return serialized - return serialized + var/obj/item/card/id/id_card = player.get_idcard(hand_first = FALSE) + serialized["job"] = id_card?.get_trim_assignment() + serialized["icon"] = id_card?.get_trim_sechud_icon_state() + + var/datum/job/job = player.mind?.assigned_role + if (isnull(job)) + return serialized + serialized["mind_job"] = job.title + var/datum/outfit/outfit = job.get_outfit() + if (isnull(outfit)) + return serialized + + var/datum/id_trim/trim = outfit.id_trim + if (!isnull(trim)) + serialized["mind_icon"] = trim::sechud_icon_state + return serialized /// Gets a list: Misc data and whether it's critical. Handles all snowflakey type cases /datum/orbit_menu/proc/get_misc_data(atom/movable/atom_poi) as /list diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 18666a1cbd5f5..308e4cc830d83 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -27,14 +27,19 @@ to_chat(src, span_notice("'[act]' emote does not exist. Say *help for a list.")) return FALSE var/silenced = FALSE - for(var/datum/emote/P in key_emotes) - if(!P.check_cooldown(src, intentional)) + for(var/datum/emote/emote in key_emotes) + if(!emote.check_cooldown(src, intentional)) silenced = TRUE continue - if(P.run_emote(src, param, m_type, intentional)) - SEND_SIGNAL(src, COMSIG_MOB_EMOTE, P, act, m_type, message, intentional) - SEND_SIGNAL(src, COMSIG_MOB_EMOTED(P.key)) - return TRUE + if(!emote.can_run_emote(src, TRUE, intentional, param)) + continue + if(SEND_SIGNAL(src, COMSIG_MOB_PRE_EMOTED, emote.key, param, m_type, intentional, emote) & COMPONENT_CANT_EMOTE) + silenced = TRUE + continue + emote.run_emote(src, param, m_type, intentional) + SEND_SIGNAL(src, COMSIG_MOB_EMOTE, emote, act, m_type, message, intentional) + SEND_SIGNAL(src, COMSIG_MOB_EMOTED(emote.key)) + return TRUE if(intentional && !silenced && !force_silence) to_chat(src, span_notice("Unusable emote '[act]'. Say *help for a list.")) return FALSE @@ -78,15 +83,10 @@ /datum/emote/flip/run_emote(mob/user, params , type_override, intentional) . = ..() - if(.) - user.SpinAnimation(HAS_TRAIT(user, TRAIT_SLOW_FLIP) ? FLIP_EMOTE_DURATION * 2 : FLIP_EMOTE_DURATION, 1) + user.SpinAnimation(FLIP_EMOTE_DURATION, 1) /datum/emote/flip/check_cooldown(mob/user, intentional) - var/slow_flipper = HAS_TRAIT(user, TRAIT_SLOW_FLIP) - if(slow_flipper) - cooldown *= 2 . = ..() - cooldown *= 0.5 if(.) return if(!can_run_emote(user, intentional=intentional)) @@ -116,8 +116,7 @@ /datum/emote/spin/run_emote(mob/user, params, type_override, intentional) . = ..() - if(.) - user.spin(20, 1) + user.spin(20, 1) /datum/emote/spin/check_cooldown(mob/living/carbon/user, intentional) . = ..() diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 2d22c11ee71f8..d86d1336f96b2 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -160,6 +160,10 @@ I.do_pickup_animation(src) if(get_item_for_held_index(hand_index)) dropItemToGround(get_item_for_held_index(hand_index), force = TRUE) + I.pixel_x = I.base_pixel_x + I.pixel_y = I.base_pixel_y + I.pixel_w = I.base_pixel_w + I.pixel_z = I.base_pixel_z I.forceMove(src) held_items[hand_index] = I SET_PLANE_EXPLICIT(I, ABOVE_HUD_PLANE, src) @@ -168,8 +172,6 @@ if(!I.on_equipped(src, ITEM_SLOT_HANDS)) return FALSE update_held_items() - I.pixel_x = I.base_pixel_x - I.pixel_y = I.base_pixel_y if(QDELETED(I)) // this is here because some ABSTRACT items like slappers and circle hands could be moved from hand to hand then delete, which meant you'd have a null in your hand until you cleared it (say, by dropping it) held_items[hand_index] = null return FALSE diff --git a/code/modules/mob/living/basic/alien/queen.dm b/code/modules/mob/living/basic/alien/queen.dm index f2d787743a258..16ceec5e06cd7 100644 --- a/code/modules/mob/living/basic/alien/queen.dm +++ b/code/modules/mob/living/basic/alien/queen.dm @@ -37,4 +37,6 @@ ) mob_size = MOB_SIZE_LARGE gold_core_spawnable = NO_SPAWN - + pixel_x = -16 + base_pixel_x = -16 + shadow_type = SHADOW_LARGE diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm index 98a771a06a99d..7e5b9ca0b8686 100644 --- a/code/modules/mob/living/basic/basic.dm +++ b/code/modules/mob/living/basic/basic.dm @@ -97,6 +97,8 @@ var/unsuitable_cold_damage = 1 ///This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the body_temp_sensitive element. var/unsuitable_heat_damage = 1 + ///Amount to increment our vertical position by when dead + var/death_offset_y = 0 /mob/living/basic/Initialize(mapload) . = ..() @@ -123,6 +125,18 @@ apply_temperature_requirements(mapload) apply_target_randomisation() +/mob/living/basic/create_shadow() + if (shadow_type == SHADOW_NONE) + qdel(GetComponent(/datum/component/drop_shadow)) + return + + AddComponent(/datum/component/drop_shadow, \ + icon_state = shadow_type, \ + shadow_offset_x = shadow_offset_x, \ + shadow_offset_y = shadow_offset_y, \ + death_offset = -death_offset_y, \ + ) + /mob/living/basic/proc/on_ssair_init(datum/source) SIGNAL_HANDLER UnregisterSignal(SSair, COMSIG_SUBSYSTEM_POST_INITIALIZE) @@ -189,6 +203,7 @@ if(!(basic_mob_flags & REMAIN_DENSE_WHILE_DEAD)) ADD_TRAIT(src, TRAIT_UNDENSE, BASIC_MOB_DEATH_TRAIT) SEND_SIGNAL(src, COMSIG_BASICMOB_LOOK_DEAD) + pixel_z = base_pixel_z + death_offset_y /mob/living/basic/revive(full_heal_flags = NONE, excess_healing = 0, force_grab_ghost = FALSE) . = ..() @@ -204,6 +219,8 @@ if(!(basic_mob_flags & REMAIN_DENSE_WHILE_DEAD)) REMOVE_TRAIT(src, TRAIT_UNDENSE, BASIC_MOB_DEATH_TRAIT) SEND_SIGNAL(src, COMSIG_BASICMOB_LOOK_ALIVE) + if (death_offset_y != 0) + pixel_z = base_pixel_z /mob/living/basic/update_sight() lighting_color_cutoffs = list(lighting_cutoff_red, lighting_cutoff_green, lighting_cutoff_blue) @@ -247,6 +264,8 @@ if(NAMEOF(src, speed)) datum_flags |= DF_VAR_EDITED set_varspeed(vval) + if(NAMEOF(src, death_offset_y)) + create_shadow() /mob/living/basic/proc/set_varspeed(var_value) speed = var_value @@ -318,3 +337,9 @@ /mob/living/basic/get_body_temp_cold_damage_limit() return minimum_survivable_temperature + +/mob/living/basic/proc/hop_on_nearby_turf() + var/dir = pick(GLOB.cardinals) + Move(get_step(src, dir), dir) + animate(src, pixel_y = 18, time = 0.4 SECONDS, flags = ANIMATION_RELATIVE, easing = CUBIC_EASING|EASE_OUT) + animate(pixel_y = -18, time = 0.4 SECONDS, flags = ANIMATION_RELATIVE, easing = CUBIC_EASING|EASE_IN) diff --git a/code/modules/mob/living/basic/blob_minions/blobbernaut.dm b/code/modules/mob/living/basic/blob_minions/blobbernaut.dm index 8b94063ba7764..4022f3fc050a6 100644 --- a/code/modules/mob/living/basic/blob_minions/blobbernaut.dm +++ b/code/modules/mob/living/basic/blob_minions/blobbernaut.dm @@ -27,6 +27,7 @@ hud_type = /datum/hud/living/blobbernaut gold_core_spawnable = HOSTILE_SPAWN ai_controller = /datum/ai_controller/basic_controller/blobbernaut + shadow_type = SHADOW_LARGE /mob/living/basic/blob_minion/blobbernaut/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/bots/_bots.dm b/code/modules/mob/living/basic/bots/_bots.dm index 86fe0b5cf5704..08f8d6d62c828 100644 --- a/code/modules/mob/living/basic/bots/_bots.dm +++ b/code/modules/mob/living/basic/bots/_bots.dm @@ -26,7 +26,6 @@ GLOBAL_LIST_INIT(command_strings, list( maximum_survivable_temperature = INFINITY minimum_survivable_temperature = 0 - has_unlimited_silicon_privilege = TRUE sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush @@ -88,7 +87,7 @@ GLOBAL_LIST_INIT(command_strings, list( var/list/current_pathed_turfs = list() ///The type of data HUD the bot uses. Diagnostic by default. - var/data_hud_type = DATA_HUD_DIAGNOSTIC_BASIC + var/data_hud_type = DATA_HUD_DIAGNOSTIC /// If true we will allow ghosts to control this mob var/can_be_possessed = FALSE /// Message to display upon possession @@ -109,11 +108,12 @@ GLOBAL_LIST_INIT(command_strings, list( /mob/living/basic/bot/Initialize(mapload) . = ..() + add_traits(list(TRAIT_SILICON_ACCESS, TRAIT_REAGENT_SCANNER, TRAIT_UNOBSERVANT), INNATE_TRAIT) AddElement(/datum/element/ai_retaliate) RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(handle_loop_movement)) RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(after_attacked)) RegisterSignal(src, COMSIG_MOB_TRIED_ACCESS, PROC_REF(attempt_access)) - ADD_TRAIT(src, TRAIT_NO_GLIDE, INNATE_TRAIT) + add_traits(list(TRAIT_NO_GLIDE, TRAIT_SILICON_EMOTES_ALLOWED), INNATE_TRAIT) GLOB.bots_list += src // Give bots a fancy new ID card that can hold any access. @@ -517,7 +517,6 @@ GLOBAL_LIST_INIT(command_strings, list( if(istype(item_to_drop, /obj/item/stock_parts/power_store/cell)) var/obj/item/stock_parts/power_store/cell/dropped_cell = item_to_drop dropped_cell.charge = 0 - dropped_cell.update_appearance() return if(istype(item_to_drop, /obj/item/storage)) diff --git a/code/modules/mob/living/basic/bots/bot_hud.dm b/code/modules/mob/living/basic/bots/bot_hud.dm index cbadab01360e8..61aee9f10b180 100644 --- a/code/modules/mob/living/basic/bots/bot_hud.dm +++ b/code/modules/mob/living/basic/bots/bot_hud.dm @@ -52,7 +52,7 @@ var/list/path_images = active_hud_list[DIAG_PATH_HUD] LAZYCLEARLIST(path_images) - var/list/path_huds_watching_me = list(GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED]) + var/list/path_huds_watching_me = list(GLOB.huds[DATA_HUD_DIAGNOSTIC], GLOB.huds[DATA_HUD_BOT_PATH]) var/atom/move_target = ai_controller.current_movement_target if(move_target != ai_controller.blackboard[BB_BEACON_TARGET]) diff --git a/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm b/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm index cd30dd4057d0e..72b64c2116c56 100644 --- a/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm +++ b/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm @@ -1,6 +1,7 @@ //Cleanbot /mob/living/basic/bot/cleanbot + SET_BASE_VISUAL_PIXEL(0, 8) name = "\improper Cleanbot" desc = "A little cleaning robot, he looks so excited!" icon = 'icons/mob/silicon/aibots.dmi' @@ -18,6 +19,8 @@ possessed_message = "You are a cleanbot! Clean the station to the best of your ability!" ai_controller = /datum/ai_controller/basic_controller/bot/cleanbot path_image_color = "#993299" + shadow_offset_x = 4 + shadow_offset_y = 4 ///the bucket used to build us. var/obj/item/reagent_containers/cup/bucket/build_bucket ///Flags indicating what kind of cleanables we should scan for to set as our target to clean. @@ -239,7 +242,8 @@ // Actions received from TGUI /mob/living/basic/bot/cleanbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || (bot_access_flags & BOT_COVER_LOCKED) && !HAS_SILICON_ACCESS(ui.user)) + var/mob/user = ui.user + if(. || (bot_access_flags & BOT_COVER_LOCKED) && !HAS_SILICON_ACCESS(user)) return switch(action) diff --git a/code/modules/mob/living/basic/bots/dedbot.dm b/code/modules/mob/living/basic/bots/dedbot.dm new file mode 100644 index 0000000000000..bf48ac93c3b57 --- /dev/null +++ b/code/modules/mob/living/basic/bots/dedbot.dm @@ -0,0 +1,118 @@ +///////////////Donk Exenteration Drone - DED//////////// +//A patrolling bot that cuts you up if you get close. Use ranged weapons or avoid it. + +#define SPIN_SLASH_ABILITY_TYPEPATH /datum/action/cooldown/mob_cooldown/exenterate + +/mob/living/basic/bot/dedbot + name = "\improper Donk Exenteration Drone" //Exenteration means ripping entrails out, ouch! + desc = "A bladed commercial defence drone, often called an 'Ex-Drone' or 'D.E.D.bot'. It follows a simple programmed patrol route, and slashes at anyone who doesn't have an identity implant." + icon_state = "ded_drone0" + base_icon_state = "ded_drone" + req_one_access = list(ACCESS_SYNDICATE) + health = 50 + maxHealth = 50 + melee_damage_lower = 15 + melee_damage_upper = 20 + light_range = 1 + light_power = 0.3 + light_color = "#eb1809" + ai_controller = /datum/ai_controller/basic_controller/bot/dedbot + faction = list(ROLE_SYNDICATE) + sharpness = SHARP_EDGED + attack_verb_continuous = "eviscerates" + attack_verb_simple = "eviscerate" + attack_sound = 'sound/weapons/bladeslice.ogg' + attack_vis_effect = ATTACK_EFFECT_SLASH + gold_core_spawnable = HOSTILE_SPAWN + limb_destroyer = TRUE + bubble_icon = "machine" + pass_flags = PASSMOB | PASSFLAPS + maximum_survivable_temperature = 360 //prone to overheating + possessed_message = "You are an exenteration drone. Exenterate." + additional_access = /datum/id_trim/away/hauntedtradingpost/boss + bot_mode_flags = BOT_MODE_ON | BOT_MODE_AUTOPATROL + mob_size = MOB_SIZE_SMALL + robot_arm = /obj/item/hatchet/cutterblade + density = FALSE + COOLDOWN_DECLARE(trigger_cooldown) + //time between exenteration uses + var/exenteration_cooldown_duration = 0.5 SECONDS + //aoe slash ability + var/datum/action/cooldown/mob_cooldown/bot/exenterate + +/mob/living/basic/bot/dedbot/Initialize(mapload) + . = ..() + AddElement(/datum/element/death_drops, /obj/effect/gibspawner/robot) + var/static/list/innate_actions = list( + SPIN_SLASH_ABILITY_TYPEPATH = BB_DEDBOT_SLASH, + ) + grant_actions_by_list(innate_actions) + +/datum/ai_controller/basic_controller/bot/dedbot + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_TARGET_MINIMUM_STAT = DEAD, + BB_AGGRO_RANGE = 2, + ) + ai_movement = /datum/ai_movement/jps/bot + planning_subtrees = list( + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/targeted_mob_ability/exenterate, + /datum/ai_planning_subtree/respond_to_summon, + /datum/ai_planning_subtree/find_patrol_beacon, + /datum/ai_planning_subtree/manage_unreachable_list, + ) + max_target_distance = AI_BOT_PATH_LENGTH + ///keys to be reset when the bot is reseted + reset_keys = list( + BB_BEACON_TARGET, + BB_PREVIOUS_BEACON_TARGET, + BB_BOT_SUMMON_TARGET, + ) + +/datum/ai_planning_subtree/targeted_mob_ability/exenterate + ability_key = BB_DEDBOT_SLASH + finish_planning = FALSE + +/datum/action/cooldown/mob_cooldown/exenterate + name = "Exenterate" + desc = "Disembowel every living thing in range with your blades." + button_icon = 'icons/obj/weapons/stabby.dmi' + button_icon_state = "huntingknife" + click_to_activate = FALSE + background_icon = 'icons/hud/guardian.dmi' + background_icon_state = "base" + cooldown_time = 0.5 SECONDS + // radius in tiles of AOE effect + var/ability_range = 1 + // how much damage this ability does + var/damage_dealt = 18 + // factions we dont attack + var/immune_factions = list(ROLE_SYNDICATE) + // weighted list of body zones this can hit + var/static/list/valid_targets = list( + BODY_ZONE_CHEST = 2, + BODY_ZONE_R_ARM = 1, + BODY_ZONE_L_ARM = 1, + BODY_ZONE_R_LEG = 1, + BODY_ZONE_L_LEG = 1, + ) + +/datum/action/cooldown/mob_cooldown/exenterate/Activate(atom/caster) + if(!COOLDOWN_FINISHED(src, cooldown_time)) + return FALSE + caster.Shake(1.4, 0.8, 0.3 SECONDS) + caster.visible_message(span_danger("[caster] shakes violently!")) + playsound(caster, 'sound/weapons/drill.ogg', 120 , TRUE) + slash_em(caster) + StartCooldown(cooldown_time) + +/datum/action/cooldown/mob_cooldown/exenterate/proc/slash_em(atom/caster) + for(var/mob/living/victim in range(ability_range, caster)) + if(faction_check(victim.faction, immune_factions) && owner.CanReach(victim)) + continue + to_chat(caster, span_warning("You slice [victim]!")) + to_chat(victim, span_warning("You are cut by [caster]'s blades!")) + victim.apply_damage(damage = damage_dealt, damagetype = BRUTE, def_zone = pick(valid_targets), sharpness = SHARP_EDGED) + +#undef SPIN_SLASH_ABILITY_TYPEPATH diff --git a/code/modules/mob/living/basic/bots/firebot/firebot.dm b/code/modules/mob/living/basic/bots/firebot/firebot.dm index 31fa969fa5983..cc8ad8e59d20a 100644 --- a/code/modules/mob/living/basic/bots/firebot/firebot.dm +++ b/code/modules/mob/living/basic/bots/firebot/firebot.dm @@ -1,6 +1,7 @@ #define FOAM_INTERVAL 5 SECONDS /mob/living/basic/bot/firebot + SET_BASE_VISUAL_PIXEL(0, 10) name = "\improper Firebot" desc = "A little fire extinguishing bot. He looks rather anxious." icon = 'icons/mob/silicon/aibots.dmi' @@ -17,6 +18,7 @@ path_image_color = "#FFA500" possessed_message = "You are a firebot! Protect the station from fires to the best of your ability!" ai_controller = /datum/ai_controller/basic_controller/bot/firebot + shadow_offset_y = 2 ///our inbuilt fire extinguisher var/obj/item/extinguisher/internal_ext @@ -74,15 +76,15 @@ internal_ext.refill() /mob/living/basic/bot/firebot/melee_attack(atom/attacked_atom, list/modifiers, ignore_cooldown = FALSE) - use_extinguisher(attacked_atom) + use_extinguisher(attacked_atom, modifiers) /mob/living/basic/bot/firebot/RangedAttack(atom/attacked_atom, list/modifiers) - use_extinguisher(attacked_atom) + use_extinguisher(attacked_atom, modifiers) -/mob/living/basic/bot/firebot/proc/use_extinguisher(atom/attacked_atom) +/mob/living/basic/bot/firebot/proc/use_extinguisher(atom/attacked_atom, list/modifiers) if(!(bot_mode_flags & BOT_MODE_ON)) return - spray_water(attacked_atom) + spray_water(attacked_atom, modifiers) /mob/living/basic/bot/firebot/emag_act(mob/user, obj/item/card/emag/emag_card) . = ..() @@ -112,9 +114,10 @@ return data // Actions received from TGUI -/mob/living/basic/bot/firebot/ui_act(action, params) +/mob/living/basic/bot/firebot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || (bot_access_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(usr))) + var/mob/user = ui.user + if(. || (bot_access_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(user))) return switch(action) @@ -137,12 +140,12 @@ foam.start() COOLDOWN_START(src, foam_cooldown, FOAM_INTERVAL) -/mob/living/basic/bot/firebot/proc/spray_water(atom/attacked_atom) +/mob/living/basic/bot/firebot/proc/spray_water(atom/attacked_atom, list/modifiers) if(firebot_mode_flags & FIREBOT_STATIONARY_MODE) flick("firebots_use", src) else flick("firebot1_use", src) - internal_ext?.melee_attack_chain(src, attacked_atom) + internal_ext?.interact_with_atom(attacked_atom, src, modifiers) /mob/living/basic/bot/firebot/update_icon_state() . = ..() diff --git a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm index 7f869995c31a3..38884bec503da 100644 --- a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm +++ b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm @@ -88,7 +88,7 @@ /mob/living/basic/bot/honkbot/ui_data(mob/user) var/list/data = ..() - if(!(bot_access_flags & BOT_COVER_LOCKED) || issilicon(user) || isAdminGhostAI(user)) + if(!(bot_access_flags & BOT_COVER_LOCKED) || HAS_SILICON_ACCESS(user)) data["custom_controls"]["slip_people"] = honkbot_flags & HONKBOT_MODE_SLIP data["custom_controls"]["fake_cuff"] = honkbot_flags & HONKBOT_HANDCUFF_TARGET data["custom_controls"]["check_ids"] = honkbot_flags & HONKBOT_CHECK_IDS @@ -97,7 +97,8 @@ /mob/living/basic/bot/honkbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || !isliving(ui.user) || (bot_access_flags & BOT_COVER_LOCKED) && !(ui.user.has_unlimited_silicon_privilege)) + var/mob/user = ui.user + if(. || !isliving(user) || (bot_access_flags & BOT_COVER_LOCKED) && !HAS_SILICON_ACCESS(user)) return switch(action) if("slip_people") diff --git a/code/modules/mob/living/basic/bots/medbot/medbot.dm b/code/modules/mob/living/basic/bots/medbot/medbot.dm index 945dd5c709fb6..267945aa423f3 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot.dm @@ -26,6 +26,7 @@ additional_access = /datum/id_trim/job/paramedic announcement_type = /datum/action/cooldown/bot_announcement/medbot path_image_color = "#d9d9f4" + shadow_offset_x = 4 ///anouncements when we find a target to heal var/static/list/wait_announcements = list( @@ -210,9 +211,9 @@ // Actions received from TGUI /mob/living/basic/bot/medbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || !isliving(ui.user) || (bot_access_flags & BOT_COVER_LOCKED) && !HAS_SILICON_ACCESS(ui.user)) + var/mob/user = ui.user + if(. || !isliving(ui.user) || (bot_access_flags & BOT_COVER_LOCKED) && !HAS_SILICON_ACCESS(user)) return - var/mob/living/our_user = ui.user switch(action) if("heal_threshold") var/adjust_num = round(text2num(params["threshold"])) @@ -229,7 +230,7 @@ medical_mode_flags ^= MEDBOT_STATIONARY_MODE if("sync_tech") if(!linked_techweb) - to_chat(our_user, span_notice("No research techweb connected.")) + to_chat(user, span_notice("No research techweb connected.")) return var/oldheal_amount = heal_amount var/tech_boosters diff --git a/code/modules/mob/living/basic/bots/vibebot/vibebot.dm b/code/modules/mob/living/basic/bots/vibebot/vibebot.dm index c872e1ea5959c..c8e2d713623ee 100644 --- a/code/modules/mob/living/basic/bots/vibebot/vibebot.dm +++ b/code/modules/mob/living/basic/bots/vibebot/vibebot.dm @@ -14,7 +14,7 @@ radio_key = /obj/item/encryptionkey/headset_service radio_channel = RADIO_CHANNEL_SERVICE bot_type = VIBE_BOT - data_hud_type = DATA_HUD_DIAGNOSTIC_BASIC + data_hud_type = DATA_HUD_DIAGNOSTIC path_image_color = "#2cac12" possessed_message = "You are a vibebot! Maintain the station's vibes to the best of your ability!" diff --git a/code/modules/mob/living/basic/clown/clown.dm b/code/modules/mob/living/basic/clown/clown.dm index 9e8f6950525a7..280da6cd7881a 100644 --- a/code/modules/mob/living/basic/clown/clown.dm +++ b/code/modules/mob/living/basic/clown/clown.dm @@ -228,6 +228,7 @@ BB_EMOTE_SEE = list("sweats"), BB_SPEAK_CHANCE = 5, ) + shadow_type = SHADOW_LARGE /mob/living/basic/clown/clownhulk/chlown name = "Chlown" diff --git a/code/modules/mob/living/basic/cult/constructs/_construct.dm b/code/modules/mob/living/basic/cult/constructs/_construct.dm index 79e6e7487721b..1c5e91b50c263 100644 --- a/code/modules/mob/living/basic/cult/constructs/_construct.dm +++ b/code/modules/mob/living/basic/cult/constructs/_construct.dm @@ -35,7 +35,7 @@ /// Flavor text shown to players when they spawn as this construct var/playstyle_string = "You are a generic construct. Your job is to not exist, and you should probably adminhelp this." /// The construct's master - var/master = null + var/mob/construct_master = null /// Whether this construct is currently seeking nar nar var/seeking = FALSE /// Whether this construct can repair other constructs or cult buildings. Gets the healing_touch component if so. diff --git a/code/modules/mob/living/basic/cult/constructs/harvester.dm b/code/modules/mob/living/basic/cult/constructs/harvester.dm index 6d41bb43f26a1..b48a26b681937 100644 --- a/code/modules/mob/living/basic/cult/constructs/harvester.dm +++ b/code/modules/mob/living/basic/cult/constructs/harvester.dm @@ -80,9 +80,9 @@ var/datum/objective/eldergod/summon_objective = locate() in cult_status.cult_team.objectives if(summon_objective.check_completion()) - the_construct.master = cult_status.cult_team.blood_target + the_construct.construct_master = cult_status.cult_team.blood_target - if(!the_construct.master) + if(!the_construct.construct_master) to_chat(the_construct, span_cult_italic("You have no master to seek!")) the_construct.seeking = FALSE return @@ -122,8 +122,8 @@ to_chat(the_construct, span_cult_italic("Nar'Sie has completed her harvest!")) return - the_construct.master = pick(GLOB.cult_narsie.souls_needed) - var/mob/living/real_target = the_construct.master //We can typecast this way because Narsie only allows /mob/living into the souls list + the_construct.construct_master = pick(GLOB.cult_narsie.souls_needed) + var/mob/living/real_target = the_construct.construct_master //We can typecast this way because Narsie only allows /mob/living into the souls list to_chat(the_construct, span_cult_italic("You are now tracking your prey, [real_target.real_name] - harvest [real_target.p_them()]!")) desc = "Activate to track Nar'Sie!" button_icon_state = "sintouch" @@ -150,21 +150,26 @@ lighting_cutoff_red = 10 lighting_cutoff_green = 20 lighting_cutoff_blue = 5 - playstyle_string = "You are a Rusted Harvester, built to serve the Sanguine Apostate, twisted to work the will of the Mansus. You are fragile and weak, but you rend cultists (only) apart on each attack. Follow your Master's orders!" + playstyle_string = span_bold("You are a Rusted Harvester, built to serve the Sanguine Apostate, twisted to work the will of the Mansus. You are fragile and weak, but you rend cultists (only) apart on each attack. Follow your Master's orders!") theme = THEME_HERETIC /mob/living/basic/construct/harvester/heretic/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_MANSUS_TOUCHED, REF(src)) add_filter("rusted_harvester", 3, list("type" = "outline", "color" = COLOR_GREEN, "size" = 2, "alpha" = 40)) + RegisterSignal(src, COMSIG_MIND_TRANSFERRED, TYPE_PROC_REF(/datum/mind, enslave_mind_to_creator)) + RegisterSignal(src, COMSIG_MOB_ENSLAVED_TO, PROC_REF(link_master)) +/mob/living/basic/construct/harvester/heretic/proc/link_master(mob/self, mob/master) + src.construct_master = master + RegisterSignal(construct_master, COMSIG_LIVING_DEATH, PROC_REF(on_master_death)) + SIGNAL_HANDLER -/** - * Somewhat janky proc called when a heretic monster's master dies - * Used to kill any living Rusted Harvester - */ -/mob/living/proc/on_master_death() - return +/mob/living/basic/construct/harvester/heretic/proc/on_master_death(mob/self, mob/master) + SIGNAL_HANDLER + to_chat(src, span_userdanger("Your link to the mansus suddenly snaps as your master [construct_master] perishes! Without [construct_master.p_their()] support, your body crumbles...")) + visible_message(span_alert("[src] suddenly crumbles to dust!")) + death() /mob/living/basic/construct/harvester/heretic/attack_animal(mob/living/simple_animal/user, list/modifiers) // They're pretty fragile so this is probably necessary to prevent bullshit deaths. @@ -172,11 +177,6 @@ return return ..() -/mob/living/basic/construct/harvester/heretic/on_master_death() - to_chat(src, span_userdanger("Your link to the mansus suddenly snaps as your master perishes! Without its support, your body crumbles...")) - visible_message(span_alert("[src] suddenly crumbles to dust!")) - death() - /mob/living/basic/construct/harvester/heretic/grant_abilities() AddElement(/datum/element/wall_walker, or_trait = TRAIT_RUSTY) AddElement(/datum/element/leeching_walk) @@ -233,9 +233,6 @@ . = ..() the_construct = Target the_construct.seeking = TRUE - var/datum/antagonist/heretic_monster/antag = IS_HERETIC_MONSTER(the_construct) - if(antag) - the_construct.master = antag.master // no real reason for most of this weird oldcode /datum/action/innate/seek_master/Activate() diff --git a/code/modules/mob/living/basic/drone/_drone.dm b/code/modules/mob/living/basic/drone/_drone.dm index 6501e35d51dc2..93bdaa4147055 100644 --- a/code/modules/mob/living/basic/drone/_drone.dm +++ b/code/modules/mob/living/basic/drone/_drone.dm @@ -37,7 +37,6 @@ bubble_icon = "machine" initial_language_holder = /datum/language_holder/drone mob_size = MOB_SIZE_SMALL - has_unlimited_silicon_privilege = TRUE damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) hud_possible = list(DIAG_STAT_HUD, DIAG_HUD, ANTAG_HUD) unique_name = TRUE @@ -202,7 +201,16 @@ for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diag_hud.add_atom_to_hud(src) - add_traits(list(TRAIT_VENTCRAWLER_ALWAYS, TRAIT_NEGATES_GRAVITY, TRAIT_LITERATE, TRAIT_KNOW_ENGI_WIRES, TRAIT_ADVANCEDTOOLUSER), INNATE_TRAIT) + add_traits(list( + TRAIT_VENTCRAWLER_ALWAYS, + TRAIT_NEGATES_GRAVITY, + TRAIT_LITERATE, + TRAIT_KNOW_ENGI_WIRES, + TRAIT_ADVANCEDTOOLUSER, + TRAIT_SILICON_ACCESS, + TRAIT_REAGENT_SCANNER, + TRAIT_UNOBSERVANT, + ), INNATE_TRAIT) listener = new(list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER), list(z)) RegisterSignal(listener, COMSIG_ALARM_LISTENER_TRIGGERED, PROC_REF(alarm_triggered)) diff --git a/code/modules/mob/living/basic/drone/drone_tools.dm b/code/modules/mob/living/basic/drone/drone_tools.dm index 1fa3aa7884b2a..91f61a11c2a25 100644 --- a/code/modules/mob/living/basic/drone/drone_tools.dm +++ b/code/modules/mob/living/basic/drone/drone_tools.dm @@ -20,11 +20,12 @@ /obj/item/pipe_dispenser, /obj/item/t_scanner, /obj/item/analyzer, + /obj/item/soap/drone, ) atom_storage.max_total_storage = 40 atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL - atom_storage.max_slots = 9 - atom_storage.rustle_sound = FALSE + atom_storage.max_slots = 10 + atom_storage.do_rustle = FALSE atom_storage.set_holdable(drone_builtins) @@ -39,7 +40,7 @@ builtintools += new /obj/item/pipe_dispenser(src) builtintools += new /obj/item/t_scanner(src) builtintools += new /obj/item/analyzer(src) - + builtintools += new /obj/item/soap/drone(src) for(var/obj/item/tool as anything in builtintools) tool.AddComponent(/datum/component/holderloving, src, TRUE) @@ -47,7 +48,7 @@ /obj/item/crowbar/drone name = "built-in crowbar" desc = "A crowbar built into your chassis." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_crowbar" inhand_icon_state = "crowbar" item_flags = NO_MAT_REDEMPTION @@ -55,7 +56,7 @@ /obj/item/screwdriver/drone name = "built-in screwdriver" desc = "A screwdriver built into your chassis." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_screwdriver" inhand_icon_state = "screwdriver" item_flags = NO_MAT_REDEMPTION @@ -74,7 +75,7 @@ /obj/item/wrench/drone name = "built-in wrench" desc = "A wrench built into your chassis." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_wrench" inhand_icon_state = "wrench" item_flags = NO_MAT_REDEMPTION @@ -82,14 +83,14 @@ /obj/item/weldingtool/drone name = "built-in welding tool" desc = "A welding tool built into your chassis." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "indwelder_cyborg" item_flags = NO_MAT_REDEMPTION /obj/item/wirecutters/drone name = "built-in wirecutters" desc = "Wirecutters built into your chassis." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_cutters" inhand_icon_state = "cutters" item_flags = NO_MAT_REDEMPTION @@ -98,7 +99,7 @@ /obj/item/multitool/drone name = "built-in multitool" desc = "A multitool built into your chassis." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "toolkit_engiborg_multitool" item_flags = NO_MAT_REDEMPTION toolspeed = 0.5 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 3c2aae36bc1d0..1b9b07ad428d5 100644 --- a/code/modules/mob/living/basic/farm_animals/bee/_bee.dm +++ b/code/modules/mob/living/basic/farm_animals/bee/_bee.dm @@ -42,6 +42,7 @@ habitable_atmos = null basic_mob_flags = DEL_ON_DEATH ai_controller = /datum/ai_controller/basic_controller/bee + shadow_type = SHADOW_SMALL ///the reagent the bee has var/datum/reagent/beegent = null ///the house we live in @@ -164,6 +165,7 @@ add_overlay(greyscale_overlay) add_overlay("[icon_base]_wings") + update_appearance(UPDATE_OVERLAYS) /mob/living/basic/bee/proc/pollinate(obj/machinery/hydroponics/hydro) if(!hydro.can_bee_pollinate()) diff --git a/code/modules/mob/living/basic/farm_animals/chicken/chick.dm b/code/modules/mob/living/basic/farm_animals/chicken/chick.dm index 9e4af384aeeff..9690363dced83 100644 --- a/code/modules/mob/living/basic/farm_animals/chicken/chick.dm +++ b/code/modules/mob/living/basic/farm_animals/chicken/chick.dm @@ -29,6 +29,7 @@ mob_size = MOB_SIZE_TINY gold_core_spawnable = FRIENDLY_SPAWN ai_controller = /datum/ai_controller/basic_controller/chick + shadow_type = SHADOW_SMALL /// What we grow into. var/grow_as = /mob/living/basic/chicken diff --git a/code/modules/mob/living/basic/festivus_pole.dm b/code/modules/mob/living/basic/festivus_pole.dm index 1c1a88dd31fe5..b17e48977ed5f 100644 --- a/code/modules/mob/living/basic/festivus_pole.dm +++ b/code/modules/mob/living/basic/festivus_pole.dm @@ -2,6 +2,7 @@ #define FESTIVUS_RECHARGE_VALUE (0.075 * STANDARD_CELL_CHARGE) /mob/living/basic/festivus + SET_BASE_VISUAL_PIXEL(0, 0) // It's an object mimic name = "festivus pole" desc = "Serenity now... SERENITY NOW!" icon = 'icons/obj/fluff/flora/pinetrees.dmi' diff --git a/code/modules/mob/living/basic/heretic/flesh_worm.dm b/code/modules/mob/living/basic/heretic/flesh_worm.dm index 92b910c717fae..3399dfb7a059a 100644 --- a/code/modules/mob/living/basic/heretic/flesh_worm.dm +++ b/code/modules/mob/living/basic/heretic/flesh_worm.dm @@ -21,6 +21,7 @@ mob_size = MOB_SIZE_HUGE sentience_type = SENTIENCE_BOSS mob_biotypes = MOB_ORGANIC|MOB_SPECIAL + shadow_type = SHADOW_LARGE ///Previous segment in the chain, we hold onto this purely to keep track of how long we currently are and to attach new growth to the back var/mob/living/basic/heretic_summon/armsy/back ///How many arms do we have to eat to expand? diff --git a/code/modules/mob/living/basic/heretic/star_gazer.dm b/code/modules/mob/living/basic/heretic/star_gazer.dm index e503cd65aea16..4286b37fb2c8e 100644 --- a/code/modules/mob/living/basic/heretic/star_gazer.dm +++ b/code/modules/mob/living/basic/heretic/star_gazer.dm @@ -26,6 +26,7 @@ speak_emote = list("growls") damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 0, STAMINA = 0, OXY = 0) death_sound = 'sound/magic/cosmic_expansion.ogg' + shadow_type = SHADOW_LARGE slowed_by_drag = FALSE move_force = MOVE_FORCE_OVERPOWERING diff --git a/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon_abilities.dm b/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon_abilities.dm index af17fc0cb01aa..50b98930d489d 100644 --- a/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon_abilities.dm +++ b/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon_abilities.dm @@ -11,7 +11,7 @@ /datum/action/cooldown/mob_cooldown/ice_demon_teleport name = "Bluespace Teleport" desc = "Teleport towards a destination target!" - button_icon = 'icons/obj/ore.dmi' + button_icon = 'icons/obj/mining_zones/ore.dmi' button_icon_state = "bluespace_crystal" cooldown_time = 3 SECONDS melee_cooldown_time = 0 SECONDS diff --git a/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.dm b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.dm index 026106516fb67..94a7ae4cc4240 100644 --- a/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.dm +++ b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.dm @@ -23,8 +23,8 @@ /datum/action/cooldown/mob_cooldown/fire_breath/ice/cross name = "Fire all directions" desc = "Unleash lines of cold fire in all directions" - button_icon = 'icons/effects/fire.dmi' - button_icon_state = "1" + button_icon = 'icons/effects/atmos/fire.dmi' + button_icon_state = "light" cooldown_time = 4 SECONDS melee_cooldown_time = 0 SECONDS click_to_activate = FALSE diff --git a/code/modules/mob/living/basic/jungle/leaper/leaper.dm b/code/modules/mob/living/basic/jungle/leaper/leaper.dm index f3213897f9bdb..3c59336259e59 100644 --- a/code/modules/mob/living/basic/jungle/leaper/leaper.dm +++ b/code/modules/mob/living/basic/jungle/leaper/leaper.dm @@ -33,6 +33,8 @@ ai_controller = /datum/ai_controller/basic_controller/leaper move_resist = MOVE_FORCE_VERY_STRONG pull_force = MOVE_FORCE_VERY_STRONG + shadow_type = SHADOW_LARGE + ///appearance when we dead var/mutable_appearance/dead_overlay ///appearance when we are alive diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling.dm b/code/modules/mob/living/basic/jungle/seedling/seedling.dm index 7a853b8a9d086..0a8a5e908bedd 100644 --- a/code/modules/mob/living/basic/jungle/seedling/seedling.dm +++ b/code/modules/mob/living/basic/jungle/seedling/seedling.dm @@ -34,6 +34,8 @@ attack_sound = 'sound/weapons/bladeslice.ogg' attack_vis_effect = ATTACK_EFFECT_SLASH ai_controller = /datum/ai_controller/basic_controller/seedling + shadow_type = SHADOW_LARGE + shadow_offset_y = 14 ///the state of combat we are in var/combatant_state = SEEDLING_STATE_NEUTRAL ///the colors our petals can have diff --git a/code/modules/mob/living/basic/jungle/venus_human_trap.dm b/code/modules/mob/living/basic/jungle/venus_human_trap.dm index ec375283fcea0..95722ea55e13a 100644 --- a/code/modules/mob/living/basic/jungle/venus_human_trap.dm +++ b/code/modules/mob/living/basic/jungle/venus_human_trap.dm @@ -54,6 +54,12 @@ addtimer(CALLBACK(src, PROC_REF(progress_growth)), growth_time/4) countdown.start() +/obj/structure/alien/resin/flower_bud/make_splitvis() + return + +/obj/structure/alien/resin/flower_bud/get_icon() + return 'icons/obj/structures/smooth/alien/resin_membrane.dmi' + /obj/structure/alien/resin/flower_bud/run_atom_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if((trait_flags & SPACEVINE_HEAT_RESISTANT) && damage_type == BURN) damage_amount = 0 diff --git a/code/modules/mob/living/basic/lavaland/bileworm/_bileworm.dm b/code/modules/mob/living/basic/lavaland/bileworm/_bileworm.dm index b66e5eff8a5c6..c3c702e11ee01 100644 --- a/code/modules/mob/living/basic/lavaland/bileworm/_bileworm.dm +++ b/code/modules/mob/living/basic/lavaland/bileworm/_bileworm.dm @@ -1,4 +1,5 @@ /mob/living/basic/mining/bileworm + SET_BASE_VISUAL_PIXEL(0, 6) // It's recessed into the ground name = "bileworm" desc = "Bileworms are dangerous detritivores that attack with the highly acidic bile they produce from consuming detritus." icon = 'icons/mob/simple/lavaland/bileworm.dmi' @@ -29,6 +30,7 @@ //or move normally. ai_controller = /datum/ai_controller/basic_controller/bileworm + shadow_type = SHADOW_NONE ///which action this mob will be given, subtypes have different attacks var/attack_action_path = /datum/action/cooldown/mob_cooldown/projectile_attack/dir_shots/bileworm diff --git a/code/modules/mob/living/basic/lavaland/bileworm/bileworm_actions.dm b/code/modules/mob/living/basic/lavaland/bileworm/bileworm_actions.dm index 7993fe74a3f57..f023215d7dd5c 100644 --- a/code/modules/mob/living/basic/lavaland/bileworm/bileworm_actions.dm +++ b/code/modules/mob/living/basic/lavaland/bileworm/bileworm_actions.dm @@ -79,6 +79,10 @@ damage_type = BURN pass_flags = PASSTABLE +/obj/projectile/bileworm_acid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile) + /datum/action/cooldown/mob_cooldown/devour name = "Devour" desc = "Burrow underground, and then move to your target to consume them. Short cooldown, but your target must be unconscious." diff --git a/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.dm b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.dm index 11fd7b6aa260f..c3a1576a6c011 100644 --- a/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.dm +++ b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.dm @@ -19,7 +19,7 @@ name = "brimdust" desc = "Dust from a brimdemon. It is considered valuable for its' botanical abilities." icon_state = "brimdust" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' layer = FLOOR_CLEAN_LAYER mergeable_decal = FALSE @@ -32,7 +32,7 @@ name = "ore sensor" desc = "Using demonic frequencies, this ear-mounted tool detects ores in the nearby terrain." icon_state = "oresensor" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' slot_flags = ITEM_SLOT_EARS var/range = 5 var/cooldown = 4 SECONDS //between the standard and the advanced ore scanner in strength diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath.dm b/code/modules/mob/living/basic/lavaland/goliath/goliath.dm index 4a28fba66309e..aa4d3295b938d 100644 --- a/code/modules/mob/living/basic/lavaland/goliath/goliath.dm +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath.dm @@ -183,6 +183,7 @@ icon_dead = "ancient_goliath_dead" tentacle_warning_state = "ancient_goliath_preattack" tameable = FALSE + shadow_type = SHADOW_LARGE /// Rare Goliath variant which occasionally replaces the normal mining mob, releases shitloads of tentacles /mob/living/basic/mining/goliath/ancient/immortal @@ -227,5 +228,5 @@ /obj/item/goliath_saddle name = "goliath saddle" desc = "This rough saddle will give you a serviceable seat upon a goliath! Provided you can get one to stand still." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "goliath_saddle" diff --git a/code/modules/mob/living/basic/lavaland/gutlunchers/gutluncher_foodtrough.dm b/code/modules/mob/living/basic/lavaland/gutlunchers/gutluncher_foodtrough.dm index 0180c4f179775..22aaec631b028 100644 --- a/code/modules/mob/living/basic/lavaland/gutlunchers/gutluncher_foodtrough.dm +++ b/code/modules/mob/living/basic/lavaland/gutlunchers/gutluncher_foodtrough.dm @@ -39,7 +39,7 @@ /obj/structure/ore_container/food_trough/gutlunch_trough name = "gutlunch trough" desc = "The gutlunches will eat out of it!" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "gutlunch_trough" x_offsets = list(-5, 8) y_offsets = list(-2, -7) diff --git a/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm index f9e1d458ef2ed..6520e7441d27f 100644 --- a/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm +++ b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers.dm @@ -4,6 +4,7 @@ #define MAX_POSSIBLE_HEALTH 100 /mob/living/basic/mining/gutlunch + SET_BASE_VISUAL_PIXEL(0, 6) // Weird offset on the icon file name = "gutlunch" desc = "A scavenger that eats raw ores, often found alongside ash walkers. Produces a thick, nutritious milk." icon = 'icons/mob/simple/lavaland/lavaland_monsters.dmi' @@ -26,6 +27,7 @@ gold_core_spawnable = FRIENDLY_SPAWN death_message = "is pulped into bugmash." greyscale_config = /datum/greyscale_config/gutlunch + shadow_offset_y = 6 ///possible colors we can have var/list/possible_colors = list(COLOR_WHITE) ///can we breed? diff --git a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm index f0de6c3272e55..7e103e9506132 100644 --- a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm +++ b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm @@ -99,6 +99,7 @@ obj_damage = 0 density = FALSE ai_controller = /datum/ai_controller/basic_controller/simple_hostile + shadow_type = SHADOW_SMALL /mob/living/basic/hivelord_brood/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm index e578067a44576..5c3af218ac682 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm @@ -29,6 +29,7 @@ attack_sound = 'sound/weapons/pierce.ogg' density = FALSE ai_controller = /datum/ai_controller/basic_controller/legion_brood + shadow_type = SHADOW_SMALL /// Reference to a guy who made us var/datum/weakref/created_by diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm index ad10e30acecd7..8c879d3ab48c8 100644 --- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm @@ -28,27 +28,31 @@ ai_controller = /datum/ai_controller/basic_controller/lobstrosity /// Charging ability var/datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster/charge + /// The type of charging ability we give this mob + var/charge_type = /datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster + /// The pet command for the charging ability we give this mob + var/charge_command = /datum/pet_command/point_targeting/use_ability/lob_charge + /// At which speed do we amputate limbs + var/snip_speed = 5 SECONDS + ///Lobstrosities are natural anglers. This rapresent their proficiency at fishing when not mindless + var/base_fishing_level = SKILL_LEVEL_APPRENTICE /// Things we will eat if we see them (arms, chiefly) var/static/list/target_foods = list(/obj/item/bodypart/arm, /obj/item/fish/lavaloop) /mob/living/basic/mining/lobstrosity/Initialize(mapload) . = ..() - var/static/list/food_types = list(/obj/item/fish/lavaloop) - ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(food_types)) - var/static/list/fishing_preset = list( - /turf/open/lava = /datum/fish_source/lavaland, - /turf/open/lava/plasma = /datum/fish_source/lavaland/icemoon, - ) - AddComponent(/datum/component/profound_fisher, npc_fishing_preset = fishing_preset) + AddComponent(/datum/component/profound_fisher) AddElement(/datum/element/mob_grabber) AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW) AddElement(/datum/element/basic_eating, food_types = target_foods) + AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) AddComponent(\ /datum/component/amputating_limbs,\ + surgery_time = snip_speed, \ surgery_verb = "begins snipping",\ target_zones = GLOB.arm_zones,\ ) - charge = new(src) + charge = new charge_type(src) charge.Grant(src) ai_controller.set_blackboard_key(BB_TARGETED_ACTION, charge) @@ -59,6 +63,35 @@ /mob/living/basic/mining/lobstrosity/ranged_secondary_attack(atom/atom_target, modifiers) charge.Trigger(target = atom_target) +/mob/living/basic/mining/lobstrosity/tamed(mob/living/tamer, obj/item/food) + new /obj/effect/temp_visual/heart(loc) + /// Pet commands for this mob, however you'll have to tame juvenile lobstrosities to a trained adult one. + var/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/point_targeting/attack, + charge_command, + /datum/pet_command/follow, + /datum/pet_command/point_targeting/fish, + ) + AddComponent(/datum/component/happiness) + AddComponent(/datum/component/obeys_commands, pet_commands) + ai_controller.ai_traits = STOP_MOVING_WHEN_PULLED + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + +/mob/living/basic/mining/lobstrosity/befriend(mob/living/new_friend) + . = ..() + faction |= new_friend.faction + faction -= FACTION_MINING + +/mob/living/basic/mining/lobstrosity/mind_initialize() + . = ..() + if(mind.get_skill_level(/datum/skill/fishing) < base_fishing_level) + mind.set_level(/datum/skill/fishing, base_fishing_level, TRUE) + /// Lavaland lobster variant, it basically just looks different /mob/living/basic/mining/lobstrosity/lava name = "chasm lobstrosity" @@ -87,5 +120,145 @@ . = ..() if(!isliving(charger)) return - var/mob/living/living_charger = charger - living_charger.apply_status_effect(/datum/status_effect/tired_post_charge) + apply_post_charge(charger) + +/datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster/proc/apply_post_charge(mob/living/charger) + charger.apply_status_effect(/datum/status_effect/tired_post_charge) + +///A weaker, yet somewhat faster lobstrosity. Sources include aquarium chasm chrabs, chasms, plasma rivers and perhaps xenobio. +/mob/living/basic/mining/lobstrosity/juvenile + name = "juvenile arctic lobstrosity" + desc = "A youngling of the behemothic arctic lobstrosity. They usually stay put in the underground lakes they reside in until they're fully grown." + icon_state = "arctic_juveline_lobstrosity" + icon_living = "arctic_juveline_lobstrosity" + icon_dead = "arctic_juveline_lobstrosity_dead" + status_flags = parent_type::status_flags | CANPUSH + maxHealth = 65 + health = 65 + obj_damage = 6 + melee_damage_lower = 6 + melee_damage_upper = 9 + melee_attack_cooldown = 0.9 SECONDS + speed = 0.7 + mob_size = MOB_SIZE_HUMAN + butcher_results = list( + /obj/item/food/meat/slab/rawcrab = 1, + /obj/item/stack/sheet/bone = 1, + /obj/item/organ/internal/monster_core/rush_gland = 1, + ) + crusher_loot = null + ai_controller = /datum/ai_controller/basic_controller/lobstrosity/juvenile + snip_speed = 6.5 SECONDS + charge_type = /datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster/shrimp + charge_command = /datum/pet_command/point_targeting/use_ability/lob_charge/shrimp + base_fishing_level = SKILL_LEVEL_NOVICE + /// What do we become when we grow up? + var/mob/living/basic/mining/lobstrosity/grow_type = /mob/living/basic/mining/lobstrosity + /// Were we tamed? If yes, tame the mob we become when we grow up too. + var/was_tamed = FALSE + +/mob/living/basic/mining/lobstrosity/juvenile/Initialize(mapload) + . = ..() + var/growth_step = 1000/(7 MINUTES) //It should take 7-ish minutes if you keep the happiness above 40% and at most 12 + AddComponent(\ + /datum/component/growth_and_differentiation,\ + growth_path = grow_type,\ + growth_probability = 58,\ + lower_growth_value = growth_step,\ + upper_growth_value = growth_step,\ + scale_with_happiness = TRUE,\ + optional_checks = CALLBACK(src, PROC_REF(ready_to_grow)),\ + optional_grow_behavior = CALLBACK(src, PROC_REF(grow_up))\ + ) + AddComponent(/datum/component/tameable, target_foods, tame_chance = 35, bonus_tame_chance = 20) + AddComponent(/datum/component/swarming, 16, 11) + ADD_TRAIT(src, TRAIT_MOB_HIDE_HAPPINESS, INNATE_TRAIT) //Do not let strangers know it gets happy when poked if stray. + +/mob/living/basic/mining/lobstrosity/juvenile/add_ranged_armour(list/vulnerable_projectiles) + AddElement(\ + /datum/element/ranged_armour,\ + minimum_projectile_force = 30,\ + below_projectile_multiplier = 0.6,\ + vulnerable_projectile_types = vulnerable_projectiles,\ + minimum_thrown_force = 13,\ + throw_blocked_message = throw_blocked_message,\ + ) + +#define MAX_JUVENILES_ALLOWED_ON_TURF 3 + +///Juvenile lobstrosities can swarm and pass through each other, but only 3 at most can stand the same turf. +/mob/living/basic/mining/lobstrosity/juvenile/CanAllowThrough(atom/movable/mover, border_dir) + if(!istype(mover, /mob/living/basic/mining/lobstrosity/juvenile)) + return ..() + var/juveniles_count = 0 + for(var/mob/living/basic/mining/lobstrosity/juvenile/lob in loc) + juveniles_count++ + if(juveniles_count > MAX_JUVENILES_ALLOWED_ON_TURF) + return ..() + return TRUE + +#undef MAX_JUVENILES_ALLOWED_ON_TURF + +/mob/living/basic/mining/lobstrosity/juvenile/tamed(mob/living/tamer, obj/item/food) + . = ..() + was_tamed = TRUE + // They are more pettable I guess + AddElement(/datum/element/pet_bonus, "chitters pleasantly!") + REMOVE_TRAIT(src, TRAIT_MOB_HIDE_HAPPINESS, INNATE_TRAIT) + +/mob/living/basic/mining/lobstrosity/juvenile/proc/ready_to_grow() + return isturf(loc) + +/mob/living/basic/mining/lobstrosity/juvenile/proc/grow_up() + var/name_to_use = name == initial(name) ? grow_type::name : name + var/mob/living/basic/mining/lobstrosity/grown = change_mob_type(grow_type, get_turf(src), name_to_use) + if(was_tamed) + grown.tamed() + for(var/friend in ai_controller?.blackboard?[BB_FRIENDS_LIST]) + grown.befriend(friend) + grown.setBruteLoss(getBruteLoss()) + grown.setFireLoss(getFireLoss()) + qdel(src) //We called change_mob_type without 'delete_old_mob = TRUE' since we had to pass down friends and damage + +/mob/living/basic/mining/lobstrosity/juvenile/lava + name = "juvenile chasm lobstrosity" + desc = "A youngling of the behemothic lobstrosity. They usually don't crawl out of the vents they reside in until they're fully grown." + icon_state = "juveline_lobstrosity" + icon_living = "juveline_lobstrosity" + icon_dead = "juveline_lobstrosity_dead" + grow_type = /mob/living/basic/mining/lobstrosity/lava + +/// Shorter, weaker version of the Lobster Rush +/datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster/shrimp + name = "Shrimp Rush" + charge_distance = 4 + knockdown_duration = 1.8 SECONDS + charge_delay = 0.2 SECONDS + charge_damage = 13 + +/datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster/apply_post_charge(mob/living/charger) + charger.apply_status_effect(/datum/status_effect/tired_post_charge/lesser) + +///Command the lobster to charge at someone. +/datum/pet_command/point_targeting/use_ability/lob_charge + command_name = "Charge" + command_desc = "Command your lobstrosity to charge against someone." + radial_icon = 'icons/mob/actions/actions_items.dmi' + radial_icon_state = "sniper_zoom" + speech_commands = list("charge", "slam", "tackle") + command_feedback = "growl" + pointed_reaction = "and growls" + pet_ability_key = BB_TARGETED_ACTION + ability_behavior = /datum/ai_behavior/pet_use_ability/then_attack/long_ranged + +/datum/pet_command/point_targeting/use_ability/lob_charge/set_command_target(mob/living/parent, atom/target) + if (!target) + return + var/datum/targeting_strategy/targeter = GET_TARGETING_STRATEGY(parent.ai_controller.blackboard[targeting_strategy_key]) + if(!targeter?.can_attack(parent, target)) + parent.balloon_alert_to_viewers("shakes head!") + return FALSE + return ..() + +/datum/pet_command/point_targeting/use_ability/lob_charge/shrimp + ability_behavior = /datum/ai_behavior/pet_use_ability/then_attack/short_ranged 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 fb0ba437bf48c..32ec66a62cc37 100644 --- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm @@ -1,9 +1,21 @@ +#define SHRIMP_HARM_RESPONSES list(\ + "*me stares blankly.",\ + "*me stares shrimply.",\ + "*me gives a confused look.",\ + "*me chitters unpleasantly.",\ +) + /datum/ai_controller/basic_controller/lobstrosity blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, + 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), - BB_LOBSTROSITY_FINGER_LUST = 0 + BB_LOBSTROSITY_FINGER_LUST = 0, + BB_LOBSTROSITY_NAIVE_HUNTER = FALSE, + BB_BASIC_MOB_FLEE_DISTANCE = 8, + BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN, + BB_OWNER_SELF_HARM_RESPONSES = SHRIMP_HARM_RESPONSES, ) ai_traits = PAUSE_DURING_DO_AFTER @@ -12,7 +24,8 @@ planning_subtrees = list( /datum/ai_planning_subtree/random_speech/insect, /datum/ai_planning_subtree/hoard_fingers, - /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/pet_planning, + /datum/ai_planning_subtree/find_target_prioritize_traits, /datum/ai_planning_subtree/targeted_mob_ability/lobster, /datum/ai_planning_subtree/flee_target/lobster, /datum/ai_planning_subtree/attack_obstacle_in_path, @@ -22,23 +35,92 @@ /datum/ai_planning_subtree/find_fingers, ) +/datum/ai_controller/basic_controller/lobstrosity/TryPossessPawn(atom/new_pawn) + . = ..() + if(. & AI_CONTROLLER_INCOMPATIBLE) + return + var/static/list/food_types = typecacheof(list(/obj/item/fish/lavaloop)) + set_blackboard_key(BB_BASIC_FOODS, food_types) + +///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_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), + BB_LOBSTROSITY_FINGER_LUST = 0, + BB_LOBSTROSITY_NAIVE_HUNTER = TRUE, + BB_BASIC_MOB_FLEE_DISTANCE = 4, + BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN, + BB_OWNER_SELF_HARM_RESPONSES = SHRIMP_HARM_RESPONSES, + ) + planning_subtrees = list( + /datum/ai_planning_subtree/random_speech/insect, + /datum/ai_planning_subtree/hoard_fingers, + /datum/ai_planning_subtree/pet_planning, + /datum/ai_planning_subtree/find_target_prioritize_traits, + /datum/ai_planning_subtree/targeted_mob_ability/lobster, + /datum/ai_planning_subtree/flee_target/lobster, + /datum/ai_planning_subtree/attack_obstacle_in_path, + /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster, + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/find_and_hunt_target/lobster_fishing, + /datum/ai_planning_subtree/find_fingers, + ) + +///A subtype of juvenile lobster AI that has the target_retaliate behaviour instead of simple_find_target +/datum/ai_controller/basic_controller/lobstrosity/juvenile/calm + planning_subtrees = list( + /datum/ai_planning_subtree/random_speech/insect, + /datum/ai_planning_subtree/hoard_fingers, + /datum/ai_planning_subtree/pet_planning, + /datum/ai_planning_subtree/target_retaliate, + /datum/ai_planning_subtree/targeted_mob_ability/lobster/juvenile, + /datum/ai_planning_subtree/flee_target/lobster, + /datum/ai_planning_subtree/attack_obstacle_in_path, + /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster, + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/find_and_hunt_target/lobster_fishing, + /datum/ai_planning_subtree/find_fingers, + ) + +///A subtype of juvenile lobster AI that has the capricious_retaliate behaviour instead of simple_find_target +/datum/ai_controller/basic_controller/lobstrosity/juvenile/capricious + planning_subtrees = list( + /datum/ai_planning_subtree/random_speech/insect, + /datum/ai_planning_subtree/hoard_fingers, + /datum/ai_planning_subtree/pet_planning, + /datum/ai_planning_subtree/capricious_retaliate, + /datum/ai_planning_subtree/targeted_mob_ability/lobster/juvenile, + /datum/ai_planning_subtree/flee_target/lobster, + /datum/ai_planning_subtree/attack_obstacle_in_path, + /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster, + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/find_and_hunt_target/lobster_fishing, + /datum/ai_planning_subtree/find_fingers, + ) + /datum/ai_planning_subtree/find_and_hunt_target/lobster_fishing target_key = BB_FISHING_TARGET hunt_targets = list(/turf/open/lava) - hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target + hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target_combat_mode /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster melee_attack_behavior = /datum/ai_behavior/basic_melee_attack/lobster /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) - if(!isliving(controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET])) + var/atom/movable/target = controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET] + if(!isliving(target)) return ..() if (!controller.blackboard[BB_BASIC_MOB_STOP_FLEEING]) return if (!isnull(controller.blackboard[BB_LOBSTROSITY_TARGET_LIMB])) return + if(controller.blackboard[BB_LOBSTROSITY_NAIVE_HUNTER] && HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN)) + return //juvenile lobstrosities fear me. var/mob/living/living_pawn = controller.pawn - if (DOING_INTERACTION_WITH_TARGET(living_pawn, controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET])) + if (DOING_INTERACTION_WITH_TARGET(living_pawn, target)) return return ..() @@ -49,11 +131,19 @@ if (isnull(target) || !istype(target)) return ..() var/is_vulnerable = FALSE - for (var/trait in controller.blackboard[BB_LOBSTROSITY_EXPLOIT_TRAITS]) - if (!HAS_TRAIT(target, trait)) - continue - is_vulnerable = TRUE - break + if(controller.blackboard[BB_LOBSTROSITY_NAIVE_HUNTER]) + if(HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN)) + //Trigger lobstrosity PTSD. Don't clear the target so we can run away. + controller.set_blackboard_key(BB_BASIC_MOB_STOP_FLEEING, FALSE) + return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_SUCCEEDED + if(target.body_position == LYING_DOWN) + is_vulnerable = TRUE + if(!is_vulnerable) + for (var/trait in controller.blackboard[BB_LOBSTROSITY_EXPLOIT_TRAITS]) + if (!HAS_TRAIT(target, trait)) + continue + is_vulnerable = TRUE + break if (!is_vulnerable) controller.set_blackboard_key(BB_BASIC_MOB_STOP_FLEEING, FALSE) if (!controller.blackboard[BB_BASIC_MOB_STOP_FLEEING]) @@ -65,9 +155,12 @@ flee_behaviour = /datum/ai_behavior/run_away_from_target/lobster /datum/ai_planning_subtree/flee_target/lobster/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/atom/movable/target = controller.blackboard[target_key] + if(!QDELETED(target) && controller.blackboard[BB_LOBSTROSITY_NAIVE_HUNTER] && HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN)) + return ..() var/datum/action/cooldown/using_action = controller.blackboard[BB_TARGETED_ACTION] if (using_action?.IsAvailable()) - return + return FALSE return ..() /datum/ai_behavior/run_away_from_target/lobster @@ -75,14 +168,23 @@ /datum/ai_behavior/run_away_from_target/lobster/perform(seconds_per_tick, datum/ai_controller/controller, target_key, hiding_location_key) var/atom/target = controller.blackboard[target_key] - if(isnull(target)) + if(QDELETED(target)) return ..() - for (var/trait in controller.blackboard[BB_LOBSTROSITY_EXPLOIT_TRAITS]) - if (!HAS_TRAIT(target, trait)) - continue - controller.set_blackboard_key(BB_BASIC_MOB_STOP_FLEEING, TRUE) - return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_FAILED + var/is_naive = controller.blackboard[BB_LOBSTROSITY_NAIVE_HUNTER] + var/is_scary = HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN) + + if(!is_naive || !is_scary) //the lobstrosity isn't naive/young and the target isn't a scary fisherman. + if(isliving(target)) + var/mob/living/living_target = target + if(is_naive && living_target.body_position == LYING_DOWN) + controller.set_blackboard_key(BB_BASIC_MOB_STOP_FLEEING, TRUE) + return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_FAILED + for (var/trait in controller.blackboard[BB_LOBSTROSITY_EXPLOIT_TRAITS]) + if (!HAS_TRAIT(target, trait)) + continue + controller.set_blackboard_key(BB_BASIC_MOB_STOP_FLEEING, TRUE) + return AI_BEHAVIOR_INSTANT | AI_BEHAVIOR_FAILED var/mob/living/us = controller.pawn if (us.pulling == target) @@ -97,9 +199,15 @@ /datum/ai_planning_subtree/targeted_mob_ability/lobster/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) var/atom/target = controller.blackboard[target_key] if(QDELETED(target) || in_range(controller.pawn, target)) - return FALSE + return + if(controller.blackboard[BB_LOBSTROSITY_NAIVE_HUNTER] && HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN)) + return return ..() + +/datum/ai_planning_subtree/targeted_mob_ability/lobster/juvenile + use_ability_behaviour = /datum/ai_behavior/targeted_mob_ability/min_range/short + /// Look for loose arms lying around /datum/ai_planning_subtree/find_fingers /// Where do we store target limb data? @@ -226,3 +334,4 @@ #undef FLEE_TO_RANGE #undef MAX_LOBSTROSITY_PATIENCE +#undef SHRIMP_HARM_RESPONSES diff --git a/code/modules/mob/living/basic/lavaland/mining.dm b/code/modules/mob/living/basic/lavaland/mining.dm index 38591dfb39c06..37b7dd118f4d9 100644 --- a/code/modules/mob/living/basic/lavaland/mining.dm +++ b/code/modules/mob/living/basic/lavaland/mining.dm @@ -27,14 +27,7 @@ var/static/list/vulnerable_projectiles if(!vulnerable_projectiles) vulnerable_projectiles = string_list(MINING_MOB_PROJECTILE_VULNERABILITY) - AddElement(\ - /datum/element/ranged_armour,\ - minimum_projectile_force = 30,\ - below_projectile_multiplier = 0.3,\ - vulnerable_projectile_types = vulnerable_projectiles,\ - minimum_thrown_force = 20,\ - throw_blocked_message = throw_blocked_message,\ - ) + add_ranged_armour(vulnerable_projectiles) if(crusher_loot) AddElement(\ /datum/element/crusher_loot,\ @@ -43,6 +36,19 @@ drop_immediately = basic_mob_flags & DEL_ON_DEATH,\ ) RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(check_ashwalker_peace_violation)) + // We add this to ensure that mobs will actually receive the above signal, as some will lack AI + // handling for retaliation and attack special cases + AddElement(/datum/element/relay_attackers) + +/mob/living/basic/mining/proc/add_ranged_armour(list/vulnerable_projectiles) + AddElement(\ + /datum/element/ranged_armour,\ + minimum_projectile_force = 30,\ + below_projectile_multiplier = 0.3,\ + vulnerable_projectile_types = vulnerable_projectiles,\ + minimum_thrown_force = 20,\ + throw_blocked_message = throw_blocked_message,\ + ) /mob/living/basic/mining/proc/check_ashwalker_peace_violation(datum/source, mob/living/carbon/human/possible_ashwalker) SIGNAL_HANDLER diff --git a/code/modules/mob/living/basic/lavaland/mook/mook.dm b/code/modules/mob/living/basic/lavaland/mook/mook.dm index 6ecf54bc26482..a9db522af7463 100644 --- a/code/modules/mob/living/basic/lavaland/mook/mook.dm +++ b/code/modules/mob/living/basic/lavaland/mook/mook.dm @@ -24,6 +24,7 @@ base_pixel_x = -16 pixel_y = -16 base_pixel_y = -16 + shadow_offset_y = 10 ///the state of combat we are in var/attack_state = MOOK_ATTACK_NEUTRAL diff --git a/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm b/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm index b149c6d09728b..259f24f04651b 100644 --- a/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm +++ b/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm @@ -10,9 +10,10 @@ */ /mob/living/basic/node_drone + SET_BASE_VISUAL_PIXEL(0, 6) name = "NODE drone" desc = "Standard in-atmosphere drone, used by Nanotrasen to operate and excavate valuable ore vents." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "mining_node_active" icon_living = "mining_node_active" icon_dead = "mining_node_active" @@ -36,6 +37,7 @@ response_disarm_simple = "gently push aside" response_harm_continuous = "clangs" response_harm_simple = "clang against" + shadow_offset_y = 6 ai_controller = /datum/ai_controller/basic_controller/node_drone @@ -74,6 +76,31 @@ if(flying_state == FLY_IN_STATE || flying_state == FLY_OUT_STATE) icon_state = "mining_node_flying" +/mob/living/basic/node_drone/update_overlays() + . = ..() + if(attached_vent) + var/time_remaining = COOLDOWN_TIMELEFT(attached_vent, wave_cooldown) + var/wave_timers + switch(attached_vent?.boulder_size) + if(BOULDER_SIZE_SMALL) + wave_timers = WAVE_DURATION_SMALL + if(BOULDER_SIZE_MEDIUM) + wave_timers = WAVE_DURATION_MEDIUM + if(BOULDER_SIZE_LARGE) + wave_timers = WAVE_DURATION_LARGE + var/remaining_fraction = (time_remaining / wave_timers) + if(remaining_fraction <= 0.3) + . += "node_progress_4" + return + if(remaining_fraction <= 0.55) + . += "node_progress_3" + return + if(remaining_fraction <= 0.80) + . += "node_progress_2" + return + . += "node_progress_1" + return + /mob/living/basic/node_drone/proc/arrive(obj/structure/ore_vent/parent_vent) attached_vent = parent_vent maxHealth = 300 + ((attached_vent.boulder_size/BOULDER_SIZE_SMALL) * 100) diff --git a/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm b/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm index 06d9fed847088..40cf47608886d 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm @@ -15,6 +15,7 @@ change_offsets = FALSE dex_description = "A cute baby raptor, Having it near a parent or a birds-nest could encourage it to grow faster, \ grooming it and feeding it could also ensure that it grows up quicker!" + shadow_type = SHADOW_SMALL ///what do we grow into var/growth_path ///probability we are to be rolled 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 7ae64e9fb8a5c..a23bcf7801b2e 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 @@ -46,9 +46,10 @@ /datum/targeting_strategy/basic/raptor -//dont attack anyone with the neutral faction. +//dont attack anyone that shares our factions. /datum/targeting_strategy/basic/raptor/faction_check(datum/ai_controller/controller, mob/living/living_mob, mob/living/the_target) - return (the_target.faction.Find(FACTION_NEUTRAL) || the_target.faction.Find(FACTION_RAPTOR)) + . = ..() + return . /datum/ai_controller/basic_controller/baby_raptor blackboard = list( diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_food_trough.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_food_trough.dm index 03289f2d0fe32..4aa1d39ade3c2 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/raptor_food_trough.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_food_trough.dm @@ -1,7 +1,7 @@ /obj/structure/ore_container/food_trough/raptor_trough name = "raptor trough" desc = "The raptors will eat out of it!" - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/fluff/general.dmi' icon_state = "raptor_trough" x_offsets = list(-5, 5) y_offsets = list(-4, 5) diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher.dm b/code/modules/mob/living/basic/lavaland/watcher/watcher.dm index c3c30526dff74..49cd37fd7eafa 100644 --- a/code/modules/mob/living/basic/lavaland/watcher/watcher.dm +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher.dm @@ -22,6 +22,8 @@ /obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, ) + shadow_type = SHADOW_LARGE + /// How often can we shoot? var/ranged_cooldown = 3 SECONDS /// What kind of beams we got? diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.dm b/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.dm index 19e718d9fee59..cf7fa3a7e699f 100644 --- a/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.dm +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.dm @@ -7,6 +7,10 @@ armor_flag = ENERGY temperature = -50 +/obj/projectile/temp/watcher/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile) + /obj/projectile/temp/watcher/on_hit(mob/living/target, blocked = 0, pierce_hit) . = ..() if (!isliving(target)) diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index 54fe9a07367cf..6ac164b788114 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -1,4 +1,5 @@ /mob/living/basic/mining_drone + SET_BASE_VISUAL_PIXEL(0, 6) // Weird offset on the icon file name = "\improper Nanotrasen minebot" desc = "The instructions printed on the side read: This is a small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife." gender = NEUTER @@ -31,6 +32,7 @@ light_on = FALSE combat_mode = FALSE ai_controller = /datum/ai_controller/basic_controller/minebot + shadow_offset_y = 6 ///the gun we use to kill var/obj/item/gun/energy/recharge/kinetic_accelerator/minebot/stored_gun ///our normal overlay diff --git a/code/modules/mob/living/basic/minebots/minebot_ai.dm b/code/modules/mob/living/basic/minebots/minebot_ai.dm index 62aeaf3aa7923..ccba30e5e2079 100644 --- a/code/modules/mob/living/basic/minebots/minebot_ai.dm +++ b/code/modules/mob/living/basic/minebots/minebot_ai.dm @@ -281,9 +281,13 @@ /datum/pet_command/automate_mining command_name = "Automate mining" command_desc = "Make your minebot automatically mine!" - radial_icon = 'icons/obj/mining.dmi' + radial_icon = 'icons/obj/mining_zones/equipment.dmi' radial_icon_state = "pickaxe" speech_commands = list("mine") + callout_type = /datum/callout_option/mine + +/datum/pet_command/automate_mining/valid_callout_target(mob/living/caller, datum/callout_option/callout, atom/target) + return ismineralturf(target) /datum/pet_command/automate_mining/execute_action(datum/ai_controller/controller) controller.set_blackboard_key(BB_AUTOMATED_MINING, TRUE) diff --git a/code/modules/mob/living/basic/minebots/minebot_remote_control.dm b/code/modules/mob/living/basic/minebots/minebot_remote_control.dm index 3601940912389..d2eed9912c3a9 100644 --- a/code/modules/mob/living/basic/minebots/minebot_remote_control.dm +++ b/code/modules/mob/living/basic/minebots/minebot_remote_control.dm @@ -2,7 +2,7 @@ /obj/item/minebot_remote_control name = "Remote Control" desc = "Requesting stratagem!" - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "minebot_bomb_control" item_flags = NOBLUDGEON ///are we currently primed to drop a bomb? diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm index 400bd9ac9f173..2bcd715d7f5c8 100644 --- a/code/modules/mob/living/basic/pets/cat/cat.dm +++ b/code/modules/mob/living/basic/pets/cat/cat.dm @@ -24,8 +24,6 @@ response_harm_simple = "kick" mobility_flags = MOBILITY_FLAGS_REST_CAPABLE_DEFAULT gold_core_spawnable = FRIENDLY_SPAWN - collar_icon_state = "cat" - has_collar_resting_icon_state = TRUE can_be_held = TRUE ai_controller = /datum/ai_controller/basic_controller/cat held_state = "cat2" @@ -33,7 +31,8 @@ attack_verb_simple = "claw" attack_sound = 'sound/weapons/slash.ogg' attack_vis_effect = ATTACK_EFFECT_CLAW - cult_icon_state = "cat_cult" + ///icon of the collar we can wear + var/collar_icon_state = "cat" ///can this cat breed? var/can_breed = TRUE ///can hold items? @@ -50,9 +49,13 @@ var/obj/item/held_food ///mutable appearance for held item var/mutable_appearance/held_item_overlay + ///icon state of our cult icon + var/cult_icon_state = "cat_cult" /mob/living/basic/pet/cat/Initialize(mapload) . = ..() + AddElement(/datum/element/cultist_pet, pet_cult_icon_state = cult_icon_state) + AddElement(/datum/element/wears_collar, collar_icon_state = collar_icon_state, collar_resting_icon_state = TRUE) AddElement(/datum/element/ai_retaliate) AddElement(/datum/element/pet_bonus, "purrs!") AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_MOB_CLAW) @@ -147,7 +150,6 @@ icon_living = "breadcat" icon_dead = "breadcat_dead" ai_controller = /datum/ai_controller/basic_controller/cat/bread - collar_icon_state = null held_state = "breadcat" can_interact_with_stove = TRUE butcher_results = list( @@ -156,6 +158,7 @@ /obj/item/organ/external/tail/cat = 1, /obj/item/food/breadslice/plain = 1 ) + collar_icon_state = null /mob/living/basic/pet/cat/breadcat/add_cell_sample() return @@ -167,7 +170,6 @@ icon_state = "original" icon_living = "original" icon_dead = "original_dead" - collar_icon_state = null unique_pet = TRUE held_state = "original" @@ -183,10 +185,10 @@ density = FALSE pass_flags = PASSMOB mob_size = MOB_SIZE_SMALL - collar_icon_state = "kitten" can_breed = FALSE ai_controller = /datum/ai_controller/basic_controller/cat/kitten can_hold_item = FALSE + collar_icon_state = "kitten" /mob/living/basic/pet/cat/kitten/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/pets/dog/_dog.dm b/code/modules/mob/living/basic/pets/dog/_dog.dm index 5cd970575ec6f..b1c2c5e486fc1 100644 --- a/code/modules/mob/living/basic/pets/dog/_dog.dm +++ b/code/modules/mob/living/basic/pets/dog/_dog.dm @@ -44,9 +44,15 @@ /datum/pet_command/point_targeting/fetch, /datum/pet_command/play_dead, ) + ///icon state of the collar we can wear + var/collar_icon_state + ///icon state of our cult icon + var/cult_icon_state /mob/living/basic/pet/dog/Initialize(mapload) . = ..() + AddElement(/datum/element/cultist_pet, pet_cult_icon_state = cult_icon_state) + AddElement(/datum/element/wears_collar, collar_icon_state = collar_icon_state) ADD_TRAIT(src, TRAIT_WOUND_LICKER, INNATE_TRAIT) AddElement(/datum/element/pet_bonus, "woofs happily!") AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW) diff --git a/code/modules/mob/living/basic/pets/dog/corgi.dm b/code/modules/mob/living/basic/pets/dog/corgi.dm index 7e13c792d2830..0cc84faa22318 100644 --- a/code/modules/mob/living/basic/pets/dog/corgi.dm +++ b/code/modules/mob/living/basic/pets/dog/corgi.dm @@ -544,9 +544,10 @@ pass_flags = PASSMOB ai_controller = /datum/ai_controller/basic_controller/dog/puppy mob_size = MOB_SIZE_SMALL - collar_icon_state = "puppy" strippable_inventory_slots = list(/datum/strippable_item/pet_collar, /datum/strippable_item/corgi_id) //puppies are too small to handle hats and back slot items can_breed = FALSE + collar_icon_state = "puppy" + shadow_type = SHADOW_SMALL //PUPPY IAN! SQUEEEEEEEEE~ /mob/living/basic/pet/dog/corgi/puppy/ian diff --git a/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm b/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm index d05622c35dc47..9ac8e10d8f4f9 100644 --- a/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm +++ b/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm @@ -45,6 +45,40 @@ gold_core_spawnable = NO_SPAWN unique_pet = TRUE +/mob/living/basic/pet/dog/bullterrier/guarddog //hostile dog variant for space ruins + name = "\improper guard dog" + real_name = "guard dog" + desc = "A vicious bull terrier. They look aggressive and territorial." + collar_icon_state = "spiked" + //slightly weaker than a bear, but not as slow + health = 60 + maxHealth = 60 + obj_damage = 20 + melee_damage_lower = 10 + melee_damage_upper = 15 + wound_bonus = -25 + bare_wound_bonus = 45 + sharpness = SHARP_EDGED + gold_core_spawnable = HOSTILE_SPAWN + faction = list(FACTION_HOSTILE) + ai_controller = /datum/ai_controller/basic_controller/guarddog + +/datum/ai_controller/basic_controller/guarddog + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_AGGRO_RANGE = 7, + BB_TARGET_MINIMUM_STAT = HARD_CRIT, + ) + + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/target_retaliate, + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + ) + /mob/living/basic/pet/dog/breaddog //Most of the code originates from Cak name = "Kobun" real_name = "Kobun" diff --git a/code/modules/mob/living/basic/pets/dog/strippable_items.dm b/code/modules/mob/living/basic/pets/dog/strippable_items.dm index 2799ca38b978f..c92948e2b6ffd 100644 --- a/code/modules/mob/living/basic/pets/dog/strippable_items.dm +++ b/code/modules/mob/living/basic/pets/dog/strippable_items.dm @@ -38,11 +38,11 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( key = STRIPPABLE_ITEM_PET_COLLAR /datum/strippable_item/pet_collar/get_item(atom/source) - var/mob/living/basic/pet/pet_source = source + var/mob/living/basic/pet_source = source if(!istype(pet_source)) return - return pet_source.collar + return (locate(/obj/item/clothing/neck/petcollar) in source) /datum/strippable_item/pet_collar/try_equip(atom/source, obj/item/equipping, mob/user) . = ..() @@ -56,18 +56,10 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( return TRUE /datum/strippable_item/pet_collar/finish_equip(atom/source, obj/item/equipping, mob/user) - var/mob/living/basic/pet/pet_source = source - if(!istype(pet_source)) - return - - pet_source.add_collar(equipping, user) + user.transferItemToLoc(equipping, source) /datum/strippable_item/pet_collar/finish_unequip(atom/source, mob/user) - var/mob/living/basic/pet/pet_source = source - if(!istype(pet_source)) - return - - var/obj/collar = pet_source.remove_collar(user.drop_location()) + var/obj/item/clothing/neck/petcollar/collar = locate() in source user.put_in_hands(collar) /datum/strippable_item/corgi_back diff --git a/code/modules/mob/living/basic/pets/fox.dm b/code/modules/mob/living/basic/pets/fox.dm index 03ac2be54bedd..e4e978568a0e6 100644 --- a/code/modules/mob/living/basic/pets/fox.dm +++ b/code/modules/mob/living/basic/pets/fox.dm @@ -31,6 +31,8 @@ /mob/living/basic/pet/fox/Initialize(mapload) . = ..() + AddElement(/datum/element/cultist_pet) + AddElement(/datum/element/wears_collar) AddElement(/datum/element/pet_bonus, "pants and yaps happily!") AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_MOB_CLAW) AddElement(/datum/element/tiny_mob_hunter, MOB_SIZE_SMALL) diff --git a/code/modules/mob/living/basic/pets/gondolas/gondola.dm b/code/modules/mob/living/basic/pets/gondolas/gondola.dm index 9e17d1e08a5e2..14954a2b06d15 100644 --- a/code/modules/mob/living/basic/pets/gondolas/gondola.dm +++ b/code/modules/mob/living/basic/pets/gondolas/gondola.dm @@ -67,6 +67,7 @@ add_overlay(body_overlay) add_overlay(eyes_overlay) add_overlay(moustache_overlay) + update_appearance(UPDATE_OVERLAYS) /datum/ai_controller/basic_controller/gondola blackboard = list( diff --git a/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm b/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm index da051f18b5716..02fa377fafd9c 100644 --- a/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm +++ b/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm @@ -13,6 +13,7 @@ /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/food/meat/slab/gondola = 2, ) + shadow_type = SHADOW_LARGE ///Boolean on whether the pod is currently open, and should appear such. var/opened = FALSE diff --git a/code/modules/mob/living/basic/pets/orbie/orbie.dm b/code/modules/mob/living/basic/pets/orbie/orbie.dm index 735f63977d362..c0c6dd7b023fc 100644 --- a/code/modules/mob/living/basic/pets/orbie/orbie.dm +++ b/code/modules/mob/living/basic/pets/orbie/orbie.dm @@ -50,6 +50,7 @@ var/static/list/food_types = list(/obj/item/food/virtual_chocolate) AddComponent(/datum/component/obeys_commands, pet_commands) 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)) diff --git a/code/modules/mob/living/basic/pets/parrot/_parrot.dm b/code/modules/mob/living/basic/pets/parrot/_parrot.dm index c23481d85a7ec..09bf4ead7873a 100644 --- a/code/modules/mob/living/basic/pets/parrot/_parrot.dm +++ b/code/modules/mob/living/basic/pets/parrot/_parrot.dm @@ -36,6 +36,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( friendly_verb_simple = "groom" mob_size = MOB_SIZE_SMALL gold_core_spawnable = FRIENDLY_SPAWN + death_offset_y = -9 ai_controller = /datum/ai_controller/basic_controller/parrot diff --git a/code/modules/mob/living/basic/pets/penguin.dm b/code/modules/mob/living/basic/pets/penguin.dm index 1bf3adec5574e..26ef449f49c9d 100644 --- a/code/modules/mob/living/basic/pets/penguin.dm +++ b/code/modules/mob/living/basic/pets/penguin.dm @@ -20,6 +20,8 @@ /mob/living/basic/pet/penguin/Initialize(mapload) . = ..() + AddElement(/datum/element/cultist_pet) + AddElement(/datum/element/wears_collar) AddElement(/datum/element/ai_retaliate) AddElement(/datum/element/ai_flee_while_injured) AddElement(/datum/element/pet_bonus, "honks happily!") @@ -149,6 +151,7 @@ butcher_results = list(/obj/item/organ/internal/ears/penguin = 1, /obj/item/food/meat/slab/penguin = 1) ai_controller = /datum/ai_controller/basic_controller/penguin/baby can_lay_eggs = FALSE + shadow_type = SHADOW_SMALL ///will it grow up? var/can_grow_up = TRUE diff --git a/code/modules/mob/living/basic/pets/pet.dm b/code/modules/mob/living/basic/pets/pet.dm index de5ad59eb1f0c..64896a3f2ab47 100644 --- a/code/modules/mob/living/basic/pets/pet.dm +++ b/code/modules/mob/living/basic/pets/pet.dm @@ -3,146 +3,12 @@ mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST blood_volume = BLOOD_VOLUME_NORMAL - /// if the mob is protected from being renamed by collars. var/unique_pet = FALSE - /// If the mob has collar sprites, this is the base of the icon states. - var/collar_icon_state = null - /// We have a seperate _rest collar icon state when the pet is resting. - var/has_collar_resting_icon_state = FALSE - /// Our collar - var/obj/item/clothing/neck/petcollar/collar - ///can we become cultists? - var/can_cult_convert = TRUE - ///whether we have a custom icon state when we get culted - var/cult_icon_state - -/mob/living/basic/pet/Initialize(mapload) - . = ..() - - /// Can set the collar var beforehand to start the pet with a collar. - if(collar) - collar = new(src) - - update_icon(UPDATE_OVERLAYS) - if(can_cult_convert) - RegisterSignal(src, COMSIG_LIVING_CULT_SACRIFICED, PROC_REF(become_cultist)) - -/mob/living/basic/pet/Destroy() - . = ..() - - QDEL_NULL(collar) - -/mob/living/basic/pet/attackby(obj/item/thing, mob/user, params) - if(istype(thing, /obj/item/clothing/neck/petcollar) && !collar) - add_collar(thing, user) - return TRUE - - if(istype(thing, /obj/item/newspaper) && !stat) - user.visible_message(span_notice("[user] baps [name] on the nose with the rolled up [thing].")) - dance_rotate(src) - return TRUE - return ..() - -/mob/living/basic/pet/update_overlays() - . = ..() - - if(isnull(mind) && (FACTION_CULT in faction)) - var/image/cult_indicator = image(icon = 'icons/mob/simple/pets.dmi', icon_state = "pet_cult_indicator", layer = ABOVE_GAME_PLANE) - . += cult_indicator - - if(!collar || !collar_icon_state) - return - - // Determine which status tag to add to the middle of the icon state. - var/dead_tag = (stat == DEAD || HAS_TRAIT(src, TRAIT_FAKEDEATH)) ? "_dead" : null - var/rest_tag = has_collar_resting_icon_state && resting ? "_rest" : null - var/stat_tag = dead_tag || rest_tag || "" - - . += mutable_appearance(icon, "[collar_icon_state][stat_tag]collar") - . += mutable_appearance(icon, "[collar_icon_state][stat_tag]tag") - -/mob/living/basic/pet/update_icon_state() - if(cult_icon_state && (FACTION_CULT in faction)) - icon_state = cult_icon_state - icon_living = cult_icon_state - return ..() - -/mob/living/basic/pet/gib() - remove_collar(drop_location(), update_visuals = FALSE) - return ..() - -/mob/living/basic/pet/revive(full_heal_flags = NONE, excess_healing = 0, force_grab_ghost = FALSE) - . = ..() - if(!.) - return - - update_icon(UPDATE_OVERLAYS) /mob/living/basic/pet/death(gibbed) . = ..() add_memory_in_range(src, 7, /datum/memory/pet_died, deuteragonist = src) //Protagonist is the person memorizing it -/mob/living/basic/pet/Exited(atom/movable/gone, direction) - . = ..() - if(gone != collar) - return - - collar = null - - if(QDELETED(src)) - return - - update_icon(UPDATE_OVERLAYS) - -/mob/living/basic/pet/update_stat() - . = ..() - - update_icon(UPDATE_OVERLAYS) - -/mob/living/basic/pet/set_resting(new_resting, silent, instant) - . = ..() - - if(!has_collar_resting_icon_state) - return - - update_icon(UPDATE_OVERLAYS) - -/** - * Add a collar to the pet. - * - * Arguments: - * * new_collar - the collar. - * * user - the user that did it. - */ -/mob/living/basic/pet/proc/add_collar(obj/item/clothing/neck/petcollar/new_collar, mob/user) - if(QDELETED(new_collar) || collar) - return - if(!user.transferItemToLoc(new_collar, src)) - return - - collar = new_collar - if(collar_icon_state) - update_icon(UPDATE_OVERLAYS) - - to_chat(user, span_notice("You put [new_collar] around [src]'s neck.")) - if(new_collar.tagname && !unique_pet) - fully_replace_character_name(null, "\proper [new_collar.tagname]") - -/** - * Remove the collar from the pet. - */ -/mob/living/basic/pet/proc/remove_collar(atom/new_loc, update_visuals = TRUE) - if(!collar) - return - - var/obj/old_collar = collar - - collar.forceMove(new_loc) - collar = null - - if(collar_icon_state && update_visuals) - update_icon(UPDATE_OVERLAYS) - return old_collar diff --git a/code/modules/mob/living/basic/pets/pet_cult/pet_cult.dm b/code/modules/mob/living/basic/pets/pet_cult/pet_cult.dm deleted file mode 100644 index 438737a1ad261..0000000000000 --- a/code/modules/mob/living/basic/pets/pet_cult/pet_cult.dm +++ /dev/null @@ -1,85 +0,0 @@ -#define PET_CULT_ATTACK 10 -#define PET_CULT_HEALTH 50 - -///turn into terrifying beasts -/mob/living/basic/pet/proc/become_cultist(datum/source, list/invokers, datum/team) - SIGNAL_HANDLER - - if(stat == DEAD || !can_cult_convert) - return - - if(FACTION_CULT in faction) - return STOP_SACRIFICE - - mind?.add_antag_datum(/datum/antagonist/cult, team) - qdel(GetComponent(/datum/component/obeys_commands)) - melee_damage_lower = max(PET_CULT_ATTACK, initial(melee_damage_lower)) - melee_damage_upper = max(PET_CULT_ATTACK + 5, initial(melee_damage_upper)) - maxHealth = max(PET_CULT_HEALTH, initial(maxHealth)) - fully_heal() - - faction = list(FACTION_CULT) //we only serve the cult - - if(isnull(cult_icon_state)) - add_atom_colour(RUNE_COLOR_MEDIUMRED, FIXED_COLOUR_PRIORITY) - - var/static/list/cult_appetite = list( - /obj/item/organ, - /obj/effect/decal/cleanable/blood, - ) - - var/static/list/death_loot = list( - /obj/effect/gibspawner/generic, - /obj/item/soulstone, - ) - - AddElement(/datum/element/basic_eating, heal_amt = 15, food_types = cult_appetite) - AddElement(/datum/element/death_drops, death_loot) - - basic_mob_flags &= DEL_ON_DEATH - qdel(ai_controller) - ai_controller = new /datum/ai_controller/basic_controller/pet_cult(src) - var/datum/action/cooldown/spell/conjure/revive_rune/rune_ability = new(src) - rune_ability.Grant(src) - ai_controller.set_blackboard_key(BB_RUNE_ABILITY, rune_ability) - ai_controller.set_blackboard_key(BB_CULT_TEAM, team) - - var/static/list/new_pet_commands = list( - /datum/pet_command/point_targeting/attack, - /datum/pet_command/follow, - /datum/pet_command/free, - /datum/pet_command/idle, - /datum/pet_command/untargeted_ability/draw_rune, - ) - AddComponent(/datum/component/obeys_commands, new_pet_commands) - RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(activate_rune), override = TRUE) - update_appearance() - return STOP_SACRIFICE - - -/mob/living/basic/pet/proc/activate_rune(datum/source, atom/target) - SIGNAL_HANDLER - - if(!istype(target, /obj/effect/rune/raise_dead)) - return NONE - - target.attack_hand(src) - - return COMPONENT_CANCEL_ATTACK_CHAIN - -/mob/living/basic/pet/Login() - . = ..() - if(!. || !client) - return FALSE - - if(!(FACTION_CULT in faction)) - return - var/datum/team/cult_team = locate(/datum/team/cult) in GLOB.antagonist_teams - if(isnull(cult_team)) - return - mind.add_antag_datum(/datum/antagonist/cult, cult_team) - update_appearance(UPDATE_OVERLAYS) - - -#undef PET_CULT_ATTACK -#undef PET_CULT_HEALTH diff --git a/code/modules/mob/living/basic/pets/sloth.dm b/code/modules/mob/living/basic/pets/sloth.dm index 125a3a7b97d6a..9e1938c67dcc8 100644 --- a/code/modules/mob/living/basic/pets/sloth.dm +++ b/code/modules/mob/living/basic/pets/sloth.dm @@ -1,6 +1,7 @@ GLOBAL_DATUM(cargo_sloth, /mob/living/basic/sloth) /mob/living/basic/sloth + SET_BASE_VISUAL_PIXEL(0, 10) name = "sloth" desc = "An adorable, sleepy creature." icon = 'icons/mob/simple/pets.dmi' @@ -34,6 +35,7 @@ GLOBAL_DATUM(cargo_sloth, /mob/living/basic/sloth) maxHealth = 50 speed = 10 // speed is fucking weird man. they aren't fast though don't worry butcher_results = list(/obj/item/food/meat/slab = 3) + shadow_offset_y = 2 ai_controller = /datum/ai_controller/basic_controller/sloth diff --git a/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm b/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm new file mode 100644 index 0000000000000..0c6348fb37bb5 --- /dev/null +++ b/code/modules/mob/living/basic/ruin_defender/cybersun_aicore.dm @@ -0,0 +1,206 @@ +/// Boss for the hauntedtradingpost space ruin +/// It's a stationary AI core that casts spells +#define LIGHTNING_ABILITY_TYPEPATH /datum/action/cooldown/spell/pointed/lightning_strike +#define BARRAGE_ABILITY_TYPEPATH /datum/action/cooldown/spell/pointed/projectile/cybersun_barrage + +/mob/living/basic/cybersun_ai_core + name = "\improper Cybersun AI Core" + desc = "An evil looking computer." + icon = 'icons/mob/silicon/ai.dmi' + icon_state = "ai-red" + icon_living = "ai-red" + gender = NEUTER + basic_mob_flags = MOB_ROBOTIC + mob_size = MOB_SIZE_HUGE + basic_mob_flags = DEL_ON_DEATH + health = 250 + maxHealth = 250 + faction = list(ROLE_SYNDICATE) + ai_controller = /datum/ai_controller/basic_controller/cybersun_ai_core + unsuitable_atmos_damage = 0 + combat_mode = TRUE + move_resist = INFINITY + damage_coeff = list(BRUTE = 1.5, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) + light_system = OVERLAY_LIGHT + light_range = 2 + light_power = 0.6 + light_color = "#eb1809" + shadow_type = SHADOW_NONE + /// Ability which fires da lightning bolt + var/datum/action/cooldown/mob_cooldown/lightning_strike + /// Ability which fires da big laser + var/datum/action/cooldown/mob_cooldown/targeted_mob_ability/donk_laser + //is this being used as part of the haunted trading post ruin? if true, stuff there will self destruct when this mob dies + var/donk_ai_master = FALSE +// list of stuff tagged to self destruct when this mob dies +GLOBAL_LIST_EMPTY(selfdestructs_when_boss_dies) + +/mob/living/basic/cybersun_ai_core/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_IMMOBILIZED, INNATE_TRAIT) + var/static/list/death_loot = list(/obj/effect/temp_visual/cybersun_ai_core_death) + AddElement(/datum/element/death_drops, death_loot) + AddElement(/datum/element/relay_attackers) + var/static/list/innate_actions = list( + LIGHTNING_ABILITY_TYPEPATH = BB_CYBERSUN_CORE_LIGHTNING, + BARRAGE_ABILITY_TYPEPATH = BB_CYBERSUN_CORE_BARRAGE, + ) + grant_actions_by_list(innate_actions) + +/mob/living/basic/cybersun_ai_core/death(gibbed) + if(donk_ai_master == TRUE) + //disable all the tripwire traps + for (var/obj/item/pressure_plate/puzzle/invisible_tripwire as anything in GLOB.selfdestructs_when_boss_dies) + qdel(invisible_tripwire) + //and the electric overload traps + for (var/obj/effect/overloader_trap as anything in GLOB.selfdestructs_when_boss_dies) + qdel(overloader_trap) + //then disable the AI defence holograms + for (var/obj/structure/holosign/barrier/cyborg/cybersun_ai_shield as anything in GLOB.selfdestructs_when_boss_dies) + qdel(cybersun_ai_shield) + //then the power generator + for (var/obj/machinery/power/smes/magical/cybersun as anything in GLOB.selfdestructs_when_boss_dies) + qdel(cybersun) + do_sparks(number = 5, source = src) + return ..() + +/obj/effect/temp_visual/cybersun_ai_core_death + icon = 'icons/mob/silicon/ai.dmi' + icon_state = "ai-red_dead" + duration = 2 SECONDS + +/obj/effect/temp_visual/cybersun_ai_core_death/Initialize(mapload) + . = ..() + playsound(src, 'sound/misc/metal_creak.ogg', vol = 100, vary = TRUE, pressure_affected = FALSE) + Shake(1, 0, 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(gib)), duration - 1, TIMER_DELETE_ME) + +/obj/effect/temp_visual/cybersun_ai_core_death/proc/gib() +///dramatic death animations + var/turf/my_turf = get_turf(src) + new /obj/effect/gibspawner/robot(my_turf) + playsound(loc, 'sound/effects/explosion2.ogg', vol = 75, vary = TRUE, pressure_affected = FALSE) + for (var/mob/witness in range(10, src)) + if (!witness.client || !isliving(witness)) + continue + shake_camera(witness, duration = 1.5 SECONDS - (0.7 * get_dist(src, witness)), strength = 1) + +/// how the ai core thinks +/datum/ai_controller/basic_controller/cybersun_ai_core + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_TARGETLESS_TIME = 0, + ) + planning_subtrees = list( + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/targeted_mob_ability/lightning_strike, + /datum/ai_planning_subtree/targeted_mob_ability/cybersun_barrage, + ) + +/// DA SPELLS! +// spell #1: lightning strike +/datum/ai_planning_subtree/targeted_mob_ability/lightning_strike + ability_key = BB_CYBERSUN_CORE_LIGHTNING + finish_planning = FALSE + +/datum/action/cooldown/spell/pointed/lightning_strike + name = "lightning strike" + desc = "Electrocutes a target with a big lightning bolt. Has a small delay." + button_icon = 'icons/mob/actions/actions_spells.dmi' + button_icon_state = "lightning" + cooldown_time = 4 SECONDS + click_to_activate = TRUE + shared_cooldown = NONE + sparks_amt = 1 + spell_requirements = null + aim_assist = FALSE + //how long after casting until the lightning strikes and damage is dealt + var/lightning_delay = 1 SECONDS + +/datum/action/cooldown/spell/pointed/lightning_strike/cast(atom/target) + . = ..() + //this is where the spell will hit. it will not move even if the target does, allowing the spell to be dodged. + new/obj/effect/temp_visual/lightning_strike(get_turf(target)) + playsound(owner, 'sound/effects/sparks1.ogg', vol = 120, vary = TRUE) + +/obj/effect/temp_visual/lightning_strike + name = "lightning strike" + desc = "A lightning bolt is about to hit this location. There's a handy hologram to warn people so they don't stand here." + icon = 'icons/mob/telegraphing/telegraph_holographic.dmi' + icon_state = "target_circle" + duration = 1 SECONDS + // amount of damage a guy takes if they're on this tile + var/zap_damage = 26 + /// don't hurt these guys capiche? + var/list/damage_blacklist_typecache = list( + /mob/living/basic/cybersun_ai_core, + /mob/living/basic/viscerator, + ) + +/obj/effect/temp_visual/lightning_strike/Initialize(mapload) + . = ..() + damage_blacklist_typecache = typecacheof(damage_blacklist_typecache) + addtimer(CALLBACK(src, PROC_REF(zap)), duration, TIMER_DELETE_ME) + +/obj/effect/temp_visual/lightning_strike/proc/zap() + new/obj/effect/temp_visual/lightning_strike_zap(loc) + playsound(src, 'sound/magic/lightningbolt.ogg', vol = 70, vary = TRUE) + if (!isturf(loc)) + return + for(var/mob/living/victim in loc) + if (is_type_in_typecache(victim, damage_blacklist_typecache)) + continue + to_chat(victim, span_warning("You are struck by a large bolt of electricity!")) + victim.electrocute_act(zap_damage, src, flags = SHOCK_NOGLOVES | SHOCK_NOSTUN) + +/obj/effect/temp_visual/lightning_strike_zap + name = "lightning bolt" + desc = "Lightning bolt! Lightning bolt! Lightning bolt! Lightning bolt! Lightning bolt! Lightning bolt! Lightning bolt! Lightning bolt!" + icon = 'icons/effects/32x96.dmi' + icon_state = "thunderbolt" + duration = 0.4 SECONDS + +/obj/effect/temp_visual/lightning_strike_zap/Initialize(mapload) + . = ..() + do_sparks(number = rand(1,3), source = src) + +// spell #2: cybersun laser barrage +/datum/ai_planning_subtree/targeted_mob_ability/cybersun_barrage + ability_key = BB_CYBERSUN_CORE_BARRAGE + finish_planning = FALSE + +/datum/action/cooldown/spell/pointed/projectile/cybersun_barrage + name = "plasma beam barrage" + desc = "Charges up a cluster of lasers, then sends it towards a foe after a short delay." + button_icon = 'icons/obj/weapons/transforming_energy.dmi' + button_icon_state = "e_sword_on_red" + cooldown_time = 5.5 SECONDS + click_to_activate = TRUE + shared_cooldown = NONE + spell_requirements = null + projectile_type = /obj/projectile/beam/laser/cybersun/weaker + cast_range = 6 + projectiles_per_fire = 3 + var/barrage_delay = 0.8 SECONDS + var/turf/lockon_zone + +/datum/action/cooldown/spell/pointed/projectile/cybersun_barrage/cast(atom/target, atom/cast_on) + var/turf/my_turf = get_turf(owner) + lockon_zone = get_turf(target) + if(lockon_zone == my_turf) + return + my_turf.Beam(lockon_zone, icon_state = "1-full", beam_color = COLOR_MEDIUM_DARK_RED, time = barrage_delay) + playsound(lockon_zone, 'sound/machines/terminal_prompt_deny.ogg', vol = 60, vary = TRUE) + StartCooldown(cooldown_time) + return ..() + +/datum/action/cooldown/spell/pointed/projectile/cybersun_barrage/fire_projectile(atom/target) + target = lockon_zone + if(do_after(owner, barrage_delay)) + return ..() + +/obj/projectile/beam/laser/cybersun/weaker + damage = 11 + +#undef LIGHTNING_ABILITY_TYPEPATH +#undef BARRAGE_ABILITY_TYPEPATH diff --git a/code/modules/mob/living/basic/ruin_defender/living_floor.dm b/code/modules/mob/living/basic/ruin_defender/living_floor.dm index 105838f0c55dd..0d1e57f15de9f 100644 --- a/code/modules/mob/living/basic/ruin_defender/living_floor.dm +++ b/code/modules/mob/living/basic/ruin_defender/living_floor.dm @@ -19,6 +19,7 @@ ) /mob/living/basic/living_floor + SET_BASE_VISUAL_PIXEL(0, 0) // Floor mimic name = "floor" desc = "The floor you walk on. It looks near-impervious to damage." icon = 'icons/turf/floors.dmi' @@ -46,6 +47,7 @@ attack_verb_simple = "bite" ai_controller = /datum/ai_controller/basic_controller/living_floor melee_attack_cooldown = 0.5 SECONDS // get real + shadow_type = SHADOW_NONE var/icon_aggro = "floor-hostile" var/desc_aggro = "This flooring is alive and filled with teeth, better not step on that. Being covered in plating, it is immune to damage. Seems vulnerable to prying though." diff --git a/code/modules/mob/living/basic/ruin_defender/mad_piano.dm b/code/modules/mob/living/basic/ruin_defender/mad_piano.dm new file mode 100644 index 0000000000000..d5563564f0e29 --- /dev/null +++ b/code/modules/mob/living/basic/ruin_defender/mad_piano.dm @@ -0,0 +1,102 @@ +//the mad piano +//looks like a regular piano, then if you get close it wakes up and bites you + +/mob/living/basic/mad_piano + name = "space piano" + desc = "This is a space piano, like a regular piano, but always in tune! Even if the musician isn't." + icon = 'icons/mob/simple/mad_piano.dmi' + icon_state = "calm" + mob_size = MOB_SIZE_HUGE + move_resist = INFINITY + combat_mode = TRUE + faction = list(FACTION_HOSTILE, FACTION_TURRET) + maxHealth = 120 + health = 120 + melee_damage_lower = 24 + melee_damage_upper = 26 + melee_attack_cooldown = 1 SECONDS + speed = 2 + gender = NEUTER + basic_mob_flags = DEL_ON_DEATH + attack_sound = 'sound/effects/piano_hit.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + ai_controller = /datum/ai_controller/basic_controller/mad_piano + //alternate variables used when aggro + var/name_aggro = "mad piano" + var/icon_aggro = "aggressive" + var/desc_aggro = "This instrument is aggressive! Better stay away from its big chomping teeth!" + //and when calm + var/name_calm + var/icon_calm + var/desc_calm + COOLDOWN_DECLARE(tantrum_time) + //length of aggro state + var/tantrum_time_duration = 3.5 SECONDS + +/mob/living/basic/mad_piano/Initialize(mapload) + . = ..() + var/static/list/death_loot = list(/obj/effect/gibspawner/robot) + AddElement(/datum/element/death_drops, death_loot) + var/static/list/connections = list(COMSIG_ATOM_ENTERED = PROC_REF(aggro_tantrum)) + AddComponent(/datum/component/connect_range, tracked = src, connections = connections, range = 1, works_in_containers = FALSE) + AddElementTrait(TRAIT_WADDLING, INNATE_TRAIT, /datum/element/waddling) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_GENERIC) + ADD_TRAIT(src, TRAIT_PACIFISM, TRAIT_GENERIC) + name_calm = name + icon_calm = icon_state + desc_calm = desc + +/mob/living/basic/mad_piano/process(seconds_per_tick) + + if (COOLDOWN_FINISHED(src, tantrum_time)) + calm_down() + +/mob/living/basic/mad_piano/proc/aggro_tantrum(datum/source, mob/living/victim) + SIGNAL_HANDLER + if(!istype(victim, /mob/living/carbon) || victim.stat == DEAD) + return + tantrum_time = tantrum_time_duration + name = name_aggro + icon_state = icon_aggro + desc = desc_aggro + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_GENERIC) + REMOVE_TRAIT(src, TRAIT_PACIFISM, TRAIT_GENERIC) + COOLDOWN_START(src, tantrum_time, tantrum_time_duration) + START_PROCESSING(SSprocessing, src) + +/mob/living/basic/mad_piano/proc/calm_down(datum/source) + if(!COOLDOWN_FINISHED(src, tantrum_time)) + return + icon_state = icon_calm + desc = desc_calm + name = name_calm + ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_GENERIC) + ADD_TRAIT(src, TRAIT_PACIFISM, TRAIT_GENERIC) + STOP_PROCESSING(SSprocessing, src) + +/mob/living/basic/mad_piano/med_hud_set_health() //sneaky sneaky sneaky + return + +/mob/living/basic/mad_piano/med_hud_set_status() + return + +/mob/living/basic/mad_piano/Destroy() + STOP_PROCESSING(SSprocessing, src) + return ..() + +/datum/ai_controller/basic_controller/mad_piano + idle_behavior = /datum/idle_behavior/idle_random_walk/mad_piano + max_target_distance = 2 + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_TARGET_MINIMUM_STAT = HARD_CRIT, + ) + planning_subtrees = list( + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + ) + +/datum/idle_behavior/idle_random_walk/mad_piano + walk_chance = 80 diff --git a/code/modules/mob/living/basic/slime/ai/behaviours.dm b/code/modules/mob/living/basic/slime/ai/behaviours.dm index 1cd4677994531..8ab867ea33672 100644 --- a/code/modules/mob/living/basic/slime/ai/behaviours.dm +++ b/code/modules/mob/living/basic/slime/ai/behaviours.dm @@ -57,6 +57,10 @@ /datum/ai_behavior/hunt_target/unarmed_attack_target/slime /datum/ai_behavior/hunt_target/unarmed_attack_target/slime/target_caught(mob/living/basic/slime/hunter, mob/living/hunted) + if (!hunter.can_feed_on(hunted)) // Target is no longer edible + hunter.UnarmedAttack(hunted, TRUE) + return + if((hunted.body_position != STANDING_UP) || prob(20)) //Not standing, or we rolled well? Feed. hunter.start_feeding(hunted) return diff --git a/code/modules/mob/living/basic/slime/emote.dm b/code/modules/mob/living/basic/slime/emote.dm index 93b889a07a4f4..617d33b9809c0 100644 --- a/code/modules/mob/living/basic/slime/emote.dm +++ b/code/modules/mob/living/basic/slime/emote.dm @@ -29,8 +29,6 @@ /datum/emote/slime/mood/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return var/mob/living/basic/slime/slime_user = user slime_user.current_mood = mood_key slime_user.regenerate_icons() diff --git a/code/modules/mob/living/basic/slime/feeding.dm b/code/modules/mob/living/basic/slime/feeding.dm index 2c69aad800113..064ec441cb60b 100644 --- a/code/modules/mob/living/basic/slime/feeding.dm +++ b/code/modules/mob/living/basic/slime/feeding.dm @@ -20,7 +20,7 @@ if(check_friendship && (REF(meal) in faction)) return FALSE - if(check_adjacent && !Adjacent(meal)) + if(check_adjacent && (!Adjacent(meal) || !isturf(loc))) return FALSE if(meal.stat == DEAD) diff --git a/code/modules/mob/living/basic/slime/slime.dm b/code/modules/mob/living/basic/slime/slime.dm index 352a8149ca616..033b51e0cef6d 100644 --- a/code/modules/mob/living/basic/slime/slime.dm +++ b/code/modules/mob/living/basic/slime/slime.dm @@ -4,6 +4,7 @@ #define SLIME_SHOCK_PERCENTAGE_PER_LEVEL 7 /mob/living/basic/slime + SET_BASE_VISUAL_PIXEL(0, 4) name = "grey baby slime (123)" icon = 'icons/mob/simple/slimes.dmi' icon_state = "grey-baby" @@ -13,6 +14,7 @@ icon_living = "grey-baby" icon_dead = "grey-baby-dead" + shadow_offset_y = 8 attack_sound = 'sound/weapons/bite.ogg' @@ -186,21 +188,21 @@ return ..() /mob/living/basic/slime/regenerate_icons() - cut_overlays() if(slime_type.transparent) alpha = SLIME_TRANSPARENCY_ALPHA icon_dead = !cores ? "[slime_type.colour]-cut" : "[slime_type.colour]-[life_stage]-dead" - - if(stat != DEAD) - icon_state = "[slime_type.colour]-[life_stage]" - if(current_mood && current_mood != SLIME_MOOD_NONE && !stat) - add_overlay("aslime-[current_mood]") - else - icon_state = icon_dead + icon_state = (stat == DEAD) ? icon_dead : "[slime_type.colour]-[life_stage]" return ..() +/mob/living/basic/slime/update_overlays() + . = ..() + if (stat == DEAD) + return + if (current_mood && current_mood != SLIME_MOOD_NONE) + . += "aslime-[current_mood]" + /mob/living/basic/slime/get_status_tab_items() . = ..() if(!hunger_disabled) diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp.dm b/code/modules/mob/living/basic/space_fauna/carp/carp.dm index 816bb7cd838e1..cf56a01a68430 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp.dm @@ -43,7 +43,10 @@ habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 + death_offset_y = -10 + /// If true we will run away from attackers even at full health + var/cowardly = FALSE /// Cytology cells you can swab from this creature var/cell_line = CELL_LINE_TABLE_CARP /// What colour is our 'healing' outline? @@ -88,7 +91,8 @@ if (cell_line) AddElement(/datum/element/swabable, cell_line, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) AddElement(/datum/element/simple_flying) - AddElement(/datum/element/ai_flee_while_injured) + if (!cowardly) + AddElement(/datum/element/ai_flee_while_injured) setup_eating() AddComponent(/datum/component/aggro_emote, emote_list = string_list(list("gnashes"))) @@ -267,8 +271,8 @@ ///Wild carp that just vibe ya know /mob/living/basic/carp/passive - name = "passive carp" - desc = "A timid, sucker-bearing creature that resembles a fish. " + name = "false carp" + desc = "A close relative of the space carp which is entirely toothless and feeds by stealing its cousin's leftovers." icon_state = "base_friend" icon_living = "base_friend" @@ -278,11 +282,19 @@ attack_verb_continuous = "suckers" attack_verb_simple = "suck" - melee_damage_lower = 4 - melee_damage_upper = 4 + melee_damage_lower = 0 + melee_damage_upper = 0 + cowardly = TRUE ai_controller = /datum/ai_controller/basic_controller/carp/passive + gold_core_spawnable = FRIENDLY_SPAWN /mob/living/basic/carp/passive/Initialize(mapload) . = ..() - AddElement(/datum/element/ai_retaliate) + AddComponent(/datum/component/ai_retaliate_advanced, CALLBACK(src, PROC_REF(on_attacked))) AddElement(/datum/element/pet_bonus, "bloops happily!") + ADD_TRAIT(src, TRAIT_PACIFISM, INNATE_TRAIT) + +/// If someone slaps one of the school, scatter +/mob/living/basic/carp/passive/proc/on_attacked(mob/living/attacker) + for(var/mob/living/basic/carp/passive/schoolmate in oview(src, 9)) + schoolmate.ai_controller?.insert_blackboard_key_lazylist(BB_BASIC_MOB_RETALIATE_LIST, attacker) diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm b/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm index 9a6aea8eff1d2..322d4db193c21 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm @@ -28,6 +28,11 @@ projectile_type = pick(permitted_projectiles) return ..() +/datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/InterceptClickOn(mob/living/caller, params, atom/target) + if (!caller.combat_mode) + return FALSE + return ..() + /** * # Lesser Carp Rift * Teleport a short distance and leave a short-lived portal for people to follow through diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm index 71017bd2207a2..810c45603862b 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm @@ -55,6 +55,12 @@ /// This subtype only exists because if you queue multiple of the same action with different arguments it deletes their stored arguments /datum/ai_behavior/find_potential_targets/nearest/magicarp +/datum/ai_behavior/find_potential_targets/nearest/magicarp/pick_final_target(datum/ai_controller/controller, list/enemies_list) + for(var/atom/atom as anything in enemies_list) + if(HAS_TRAIT(atom, TRAIT_SCARY_FISHERMAN)) + enemies_list -= atom + return ..() + /// Then use it on that target /datum/ai_planning_subtree/targeted_mob_ability/magicarp ability_key = BB_MAGICARP_SPELL diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.dm b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.dm index 84b96ae3ce405..260dce64bdc29 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.dm @@ -7,18 +7,20 @@ var/datum/ai_behavior/rift_behaviour /// If true we finish planning after this var/finish_planning = FALSE + /// Key to read for flee target + var/target_key = BB_BASIC_MOB_CURRENT_TARGET /datum/ai_planning_subtree/make_carp_rift/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) if (!rift_behaviour) CRASH("Forgot to specify rift behaviour for [src]") - if (!controller.blackboard_key_exists(BB_BASIC_MOB_CURRENT_TARGET)) + if (!controller.blackboard_key_exists(target_key)) return var/datum/action/cooldown/using_action = controller.blackboard[BB_CARP_RIFT] if (!using_action?.IsAvailable()) return - controller.queue_behavior(rift_behaviour, BB_CARP_RIFT, BB_BASIC_MOB_CURRENT_TARGET) + controller.queue_behavior(rift_behaviour, BB_CARP_RIFT, target_key) if (finish_planning) return SUBTREE_RETURN_FINISH_PLANNING @@ -31,10 +33,17 @@ finish_planning = TRUE /datum/ai_planning_subtree/make_carp_rift/panic_teleport/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/atom/movable/fleeing_from = controller.blackboard[target_key] + if(!QDELETED(fleeing_from) && controller.blackboard[BB_CARPS_FEAR_FISHERMAN] && HAS_TRAIT(fleeing_from, TRAIT_SCARY_FISHERMAN)) + return ..() if (controller.blackboard[BB_BASIC_MOB_STOP_FLEEING]) return return ..() +/datum/ai_planning_subtree/make_carp_rift/panic_teleport/flee_key + target_key = BB_BASIC_MOB_FLEE_TARGET + + /** * # Make carp rift (aggressive) * Plan to teleport towards our target so we can fuck them up @@ -42,6 +51,12 @@ /datum/ai_planning_subtree/make_carp_rift/aggressive_teleport rift_behaviour = /datum/ai_behavior/make_carp_rift/towards/aggressive +/datum/ai_planning_subtree/make_carp_rift/aggressive_teleport/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/atom/movable/target = controller.blackboard[target_key] + if(!QDELETED(target) && controller.blackboard[BB_CARPS_FEAR_FISHERMAN] && HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN)) + return + return ..() + /** * # Make carp rift * Make a carp rift somewhere @@ -174,7 +189,7 @@ /datum/ai_planning_subtree/shortcut_to_target_through_carp_rift/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) var/mob/living/target = controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET] - if (QDELETED(target)) + if (QDELETED(target) || (controller.blackboard[BB_CARPS_FEAR_FISHERMAN] && HAS_TRAIT(target, TRAIT_SCARY_FISHERMAN))) return var/distance_to_target = get_dist(controller.pawn, target) 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 0befb20987c01..ae011f5b14a31 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 @@ -12,24 +12,48 @@ BB_BASIC_MOB_STOP_FLEEING = TRUE, BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN, + BB_CARPS_FEAR_FISHERMAN = TRUE, ) ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/pet_planning, + /datum/ai_planning_subtree/simple_find_nearest_target_to_flee, + /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/carp_migration, + ) + +///Megacarps. The only difference is that they don't flee from scary fishermen and prioritize them. +/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_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN, + BB_CARPS_FEAR_FISHERMAN = FALSE, + ) planning_subtrees = list( /datum/ai_planning_subtree/pet_planning, /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/simple_find_target, + /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/carp_migration, ) - /** * Carp which bites back, but doesn't look for targets. * 'Not hunting targets' includes food (and can rings), because they have been well trained. @@ -39,18 +63,20 @@ BB_BASIC_MOB_STOP_FLEEING = TRUE, 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, ) ai_traits = STOP_MOVING_WHEN_PULLED planning_subtrees = list( /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee, /datum/ai_planning_subtree/make_carp_rift/panic_teleport, - /datum/ai_planning_subtree/flee_target, + /datum/ai_planning_subtree/flee_target/from_fisherman, /datum/ai_planning_subtree/target_retaliate, /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/basic_melee_attack_subtree/no_fisherman, ) /** @@ -61,12 +87,12 @@ planning_subtrees = list( /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/simple_find_nearest_target_to_flee, + /datum/ai_planning_subtree/find_target_prioritize_traits, /datum/ai_planning_subtree/make_carp_rift/panic_teleport, - /datum/ai_planning_subtree/flee_target, + /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/simple_find_target, /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, @@ -80,19 +106,20 @@ */ /datum/ai_controller/basic_controller/carp/passive blackboard = list( - BB_BASIC_MOB_STOP_FLEEING = TRUE, - BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/require_traits, + BB_FLEE_TARGETING_STRATEGY = /datum/targeting_strategy/basic, BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_CARPS_FEAR_FISHERMAN = TRUE, + BB_TARGET_ONLY_WITH_TRAITS = list(TRAIT_SCARY_FISHERMAN), ) ai_traits = STOP_MOVING_WHEN_PULLED planning_subtrees = list( /datum/ai_planning_subtree/pet_planning, - /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/simple_find_target/to_flee, // This should only find master fishermen because of the targeting strategy + /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee/from_flee_key, + /datum/ai_planning_subtree/make_carp_rift/panic_teleport/flee_key, + /datum/ai_planning_subtree/flee_target/from_flee_key, /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, /datum/ai_planning_subtree/carp_migration, diff --git a/code/modules/mob/living/basic/space_fauna/carp/megacarp.dm b/code/modules/mob/living/basic/space_fauna/carp/megacarp.dm index deadeaaa540a6..d82120a37e034 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/megacarp.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/megacarp.dm @@ -24,6 +24,7 @@ ridable_data = /datum/component/riding/creature/megacarp greyscale_config = /datum/greyscale_config/carp_mega butcher_results = list(/obj/item/food/fishmeat/carp = 2, /obj/item/stack/sheet/animalhide/carp = 3) + ai_controller = /datum/ai_controller/basic_controller/carp/mega /mob/living/basic/carp/mega/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/space_fauna/changeling/headslug.dm b/code/modules/mob/living/basic/space_fauna/changeling/headslug.dm index 27a9f7d07ae1e..43bfb53da9cb1 100644 --- a/code/modules/mob/living/basic/space_fauna/changeling/headslug.dm +++ b/code/modules/mob/living/basic/space_fauna/changeling/headslug.dm @@ -4,6 +4,7 @@ * Player-controlled slugs that arise from a changeling ability in order to live on in an extremely limited capacity until they can find a suitable corpse to inhabit. */ /mob/living/basic/headslug + SET_BASE_VISUAL_PIXEL(0, 10) name = "headslug" desc = "A small, slug-like creature with a large, gaping maw. It's covered in a thick, slimy mucus." icon_state = "headslug" @@ -23,6 +24,8 @@ obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE speak_emote = list("squeaks") + shadow_type = SHADOW_SMALL + shadow_offset_y = 2 ai_controller = /datum/ai_controller/basic_controller/headslug diff --git a/code/modules/mob/living/basic/space_fauna/lightgeist.dm b/code/modules/mob/living/basic/space_fauna/lightgeist.dm index 41bdb2600e7b3..05e4f33a7d3ef 100644 --- a/code/modules/mob/living/basic/space_fauna/lightgeist.dm +++ b/code/modules/mob/living/basic/space_fauna/lightgeist.dm @@ -42,6 +42,7 @@ maximum_survivable_temperature = 1500 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE + shadow_type = SHADOW_SMALL ai_controller = /datum/ai_controller/basic_controller/lightgeist diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm index 7a46e84435555..7c7ec0b304e73 100644 --- a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm @@ -27,6 +27,7 @@ maximum_survivable_temperature = 1500 combat_mode = TRUE move_resist = INFINITY // This mob IS the floor + shadow_type = SHADOW_LARGE /// Looping heartbeat sound var/datum/looping_sound/heartbeat/soundloop diff --git a/code/modules/mob/living/basic/space_fauna/mushroom.dm b/code/modules/mob/living/basic/space_fauna/mushroom.dm index b45c2714d4ab4..ba7f0799ee7c5 100644 --- a/code/modules/mob/living/basic/space_fauna/mushroom.dm +++ b/code/modules/mob/living/basic/space_fauna/mushroom.dm @@ -25,6 +25,7 @@ faction = list(FACTION_MUSHROOM) speak_emote = list("squeaks") death_message = "fainted!" + shadow_type = SHADOW_SMALL ai_controller = /datum/ai_controller/basic_controller/mushroom var/cap_color = "#ffffff" @@ -34,10 +35,6 @@ var/bruised = FALSE ///If we hit three, another mushroom's gonna eat us var/faint_ticker = 0 - ///Where we store our cap icons so we dont generate them constantly to update our icon - var/static/mutable_appearance/cap_living - ///Where we store our cap icons so we dont generate them constantly to update our icon - var/static/mutable_appearance/cap_dead ///Cooldown that tracks how long its been since revival COOLDOWN_DECLARE(recovery_cooldown) @@ -46,46 +43,12 @@ melee_damage_lower = rand(3, 5) melee_damage_upper = rand(10,20) maxHealth = rand(50,70) - cap_living = cap_living || mutable_appearance(icon, "mushroom_cap") - cap_dead = cap_dead || mutable_appearance(icon, "mushroom_cap_dead") cap_color = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) - update_mushroomcap() 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( - BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/mushroom, - BB_TARGET_MINIMUM_STAT = DEAD, - ) - - ai_movement = /datum/ai_movement/basic_avoidance - idle_behavior = /datum/idle_behavior/idle_random_walk - planning_subtrees = list( - /datum/ai_planning_subtree/simple_find_target, - /datum/ai_planning_subtree/basic_melee_attack_subtree, - /datum/ai_planning_subtree/find_and_hunt_target/mushroom_food, - ) - - -/datum/targeting_strategy/basic/mushroom - -///we only attacked another mushrooms -/datum/targeting_strategy/basic/mushroom/faction_check(datum/ai_controller/controller, mob/living/living_mob, mob/living/the_target) - return !living_mob.faction_check_atom(the_target, exact_match = check_factions_exactly) - -/datum/ai_planning_subtree/find_and_hunt_target/mushroom_food - target_key = BB_LOW_PRIORITY_HUNTING_TARGET - hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/mushroom_food - hunt_targets = list(/obj/item/food/grown/mushroom) - hunt_range = 6 - - -/datum/ai_behavior/hunt_target/unarmed_attack_target/mushroom_food - hunt_cooldown = 15 SECONDS - always_reset_target = TRUE + update_appearance() /mob/living/basic/mushroom/UnarmedAttack(atom/attack_target, proximity_flag, list/modifiers) . = ..() @@ -128,24 +91,18 @@ return icon_state = "mushroom_color" - update_mushroomcap() + update_appearance() -/mob/living/basic/mushroom/death(gibbed) +/mob/living/basic/mushroom/update_overlays() . = ..() - update_mushroomcap() - -/mob/living/basic/mushroom/proc/update_mushroomcap() - cut_overlays() - cap_living.color = cap_color - cap_dead.color = cap_color - if(stat == DEAD) - add_overlay(cap_dead) - else - add_overlay(cap_living) + var/cap_state = (stat == DEAD) ? "mushroom_cap" : "mushroom_cap_dead" + var/mutable_appearance/little_hat = mutable_appearance(icon, cap_state) + little_hat.color = cap_color + . += little_hat /mob/living/basic/mushroom/proc/recover(obj/item/mush_meal) visible_message(span_notice("[src] eats [mush_meal]!")) - update_mushroomcap() + update_appearance() qdel(mush_meal) if(!COOLDOWN_FINISHED(src, recovery_cooldown)) return @@ -184,3 +141,37 @@ shroomslice.reagents.add_reagent(/datum/reagent/drug/mushroomhallucinogen, powerlevel) shroomslice.reagents.add_reagent(/datum/reagent/medicine/omnizine, powerlevel) shroomslice.reagents.add_reagent(/datum/reagent/medicine/synaptizine, powerlevel) + + + + +/datum/ai_controller/basic_controller/mushroom + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/mushroom, + BB_TARGET_MINIMUM_STAT = DEAD, + ) + + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + /datum/ai_planning_subtree/find_and_hunt_target/mushroom_food, + ) + + +/datum/targeting_strategy/basic/mushroom + +///we only attacked another mushrooms +/datum/targeting_strategy/basic/mushroom/faction_check(datum/ai_controller/controller, mob/living/living_mob, mob/living/the_target) + return !living_mob.faction_check_atom(the_target, exact_match = check_factions_exactly) + +/datum/ai_planning_subtree/find_and_hunt_target/mushroom_food + target_key = BB_LOW_PRIORITY_HUNTING_TARGET + hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/mushroom_food + hunt_targets = list(/obj/item/food/grown/mushroom) + hunt_range = 6 + +/datum/ai_behavior/hunt_target/unarmed_attack_target/mushroom_food + hunt_cooldown = 15 SECONDS + always_reset_target = TRUE diff --git a/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm b/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm index c55376c4fcc8f..15dfcdc29c045 100644 --- a/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm +++ b/code/modules/mob/living/basic/space_fauna/netherworld/creature.dm @@ -55,7 +55,7 @@ // This loop will, at most, loop twice. for(var/atom/check in check_list) for(var/mob/living/mob_target in oview(src, 7)) // They probably cannot see us if we cannot see them... can they? - if(mob_target.client && !mob_target.is_blind() && !mob_target.has_unlimited_silicon_privilege) + if(mob_target.client && !mob_target.is_blind() && !HAS_TRAIT(mob_target, TRAIT_UNOBSERVANT)) return mob_target for(var/obj/vehicle/sealed/mecha/mecha_mob_target in oview(src, 7)) for(var/mob/mechamob_target as anything in mecha_mob_target.occupants) @@ -79,7 +79,7 @@ . = ..() if (!owner) return - observed_blocker = owner.AddComponent(/datum/component/unobserved_actor, unobserved_flags = NO_OBSERVED_ACTIONS) + observed_blocker = owner.AddComponent(/datum/component/unobserved_actor, unobserved_flags = NO_OBSERVED_ACTIONS, affected_actions = list(type)) /datum/action/cooldown/spell/jaunt/creature_teleport/Remove(mob/living/remove_from) QDEL_NULL(observed_blocker) diff --git a/code/modules/mob/living/basic/space_fauna/robot_customer.dm b/code/modules/mob/living/basic/space_fauna/robot_customer.dm index 667adb7d268dd..f4a13397eb8c7 100644 --- a/code/modules/mob/living/basic/space_fauna/robot_customer.dm +++ b/code/modules/mob/living/basic/space_fauna/robot_customer.dm @@ -53,7 +53,7 @@ ///Clean up on the mobs seat etc when its deleted (Either by murder or because it left) /mob/living/basic/robot_customer/Destroy() var/datum/venue/attending_venue = ai_controller.blackboard[BB_CUSTOMER_ATTENDING_VENUE] - var/obj/structure/holosign/robot_seat/our_seat = ai_controller.blackboard[BB_CUSTOMER_MY_SEAT] + var/obj/structure/holosign/robot_seat/our_seat = ai_controller?.blackboard[BB_CUSTOMER_MY_SEAT] attending_venue.current_visitors -= src if(attending_venue.linked_seats[our_seat]) attending_venue.linked_seats[our_seat] = null @@ -76,6 +76,8 @@ . = ..() var/datum/customer_data/customer_info = ai_controller.blackboard[BB_CUSTOMER_CUSTOMERINFO] + if (isnull(customer_info)) + return var/new_underlays = customer_info.get_underlays(src) if (new_underlays) diff --git a/code/modules/mob/living/basic/space_fauna/snake/banded_snake.dm b/code/modules/mob/living/basic/space_fauna/snake/banded_snake.dm new file mode 100644 index 0000000000000..e73de4104e9a5 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/snake/banded_snake.dm @@ -0,0 +1,65 @@ +/mob/living/basic/snake/banded + name = "banded snake" + desc = "A colourful stripy snake. It's either a harmless astroid kingsnake or a highly venomous and aggressive nebula viper. There's a mneumonic to tell them apart, you just need to look at the colours and examine them closely..." + icon_state = "bandedsnake" + icon_living = "bandedsnake" + icon_dead = "bandedsnake_dead" + venom_dose = 2 + var/poison_reagent = /datum/reagent/toxin/cyanide + health = 30 + maxHealth = 30 + melee_damage_upper = 10 + gold_core_spawnable = HOSTILE_SPAWN + + ai_controller = /datum/ai_controller/basic_controller/snake/banded + var/list/rhymes_dangerous = list( + "Yellow on red, it'll kill you dead.", + "Black on yellow, nasty little fellow.", + "Yellow on black, stay the hell back.", + "Yellow on black, it's bound to attack.", + ) + var/list/rhymes_harmless = list( + "Red on yellow, friendly old fellow.", + "Yellow on red, it's pretty good. Wait, that doesn't rhyme...", + "Yellow on black, will not attack.", + "Black on yellow, chill and mellow.", + ) + +/mob/living/basic/snake/banded/Initialize(mapload, special_reagent) + special_reagent = src.poison_reagent + AddComponent(/datum/component/swarming) + return ..() + +/mob/living/basic/snake/banded/examine_more(mob/user) + . = ..() + . += span_notice("You examine the bands on the snake very closely...") + if(src.poison_reagent == (/datum/reagent/consumable/milk)) + . += span_info("[pick(src.rhymes_harmless)]") + . += span_notice("This snake is not dangerous!") + else + . += span_info("[pick(src.rhymes_dangerous)]") + . += span_notice("This snake is dangerous!") + return . + +/datum/ai_controller/basic_controller/snake/banded + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + + planning_subtrees = list( + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/random_speech/snake, + ) + + +/mob/living/basic/snake/banded/harmless + venom_dose = 0.4 + poison_reagent = /datum/reagent/consumable/milk + melee_damage_lower = 1 + melee_damage_upper = 1 + gold_core_spawnable = FRIENDLY_SPAWN + ai_controller = /datum/ai_controller/basic_controller/snake 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 7a30d713a4d98..2158dd4139167 100644 --- a/code/modules/mob/living/basic/space_fauna/snake/snake.dm +++ b/code/modules/mob/living/basic/space_fauna/snake/snake.dm @@ -1,5 +1,6 @@ /mob/living/basic/snake + SET_BASE_VISUAL_PIXEL(0, 7) name = "snake" desc = "A slithery snake. These legless reptiles are the bane of mice and adventurers alike." icon_state = "snake" @@ -13,6 +14,9 @@ melee_damage_upper = 6 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE + shadow_offset_y = 5 + //how many units of venom are injected in target per attack + var/venom_dose = 4 attack_verb_continuous = "bites" attack_verb_simple = "bite" @@ -62,7 +66,7 @@ if(isnull(special_reagent)) special_reagent = /datum/reagent/toxin - AddElement(/datum/element/venomous, special_reagent, 4) + AddElement(/datum/element/venomous, special_reagent, venom_dose) /mob/living/basic/snake/befriend(mob/living/new_friend) . = ..() diff --git a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm index 1776e69358139..a8dcf3dc23743 100644 --- a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm +++ b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm @@ -50,6 +50,8 @@ lighting_cutoff_red = 12 lighting_cutoff_green = 15 lighting_cutoff_blue = 34 + shadow_type = SHADOW_LARGE + death_offset_y = -4 /// The colour of the space dragon var/chosen_colour diff --git a/code/modules/mob/living/basic/space_fauna/spaceman.dm b/code/modules/mob/living/basic/space_fauna/spaceman.dm index 8a9ba36287ae3..edb6b91e56ac2 100644 --- a/code/modules/mob/living/basic/space_fauna/spaceman.dm +++ b/code/modules/mob/living/basic/space_fauna/spaceman.dm @@ -1,4 +1,6 @@ /mob/living/basic/spaceman + // Sovl + SET_BASE_VISUAL_PIXEL(0, 0) name = "Spaceman" desc = "What in the actual hell..?" icon = 'icons/mob/simple/animal.dmi' @@ -25,6 +27,7 @@ obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE ai_controller = /datum/ai_controller/basic_controller/spaceman + shadow_type = SHADOW_NONE /mob/living/basic/spaceman/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm index f293f1dcbaacd..623efa117ee71 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm @@ -6,6 +6,7 @@ * All spiders can produce webbing. */ /mob/living/basic/spider/giant + SET_BASE_VISUAL_PIXEL(0, 6) name = "giant spider" desc = "Furry and black, it makes you shudder to look at it. This one has deep red eyes." icon_state = "guard" @@ -21,6 +22,7 @@ ai_controller = /datum/ai_controller/basic_controller/giant_spider bite_injection_flags = INJECT_CHECK_PENETRATE_THICK max_grab = GRAB_AGGRESSIVE + shadow_offset_y = 6 /// Actions to grant on Initialize var/list/innate_actions = null diff --git a/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.dm b/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.dm index 2bce05b1a61ba..fdde1db8ae4c2 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.dm @@ -6,6 +6,7 @@ * */ /mob/living/basic/spider/growing/spiderling + SET_BASE_VISUAL_PIXEL(0, 4) name = "spiderling" desc = "It never stays still for long." icon_state = "spiderling" @@ -25,6 +26,8 @@ player_speed_modifier = 0 spider_growth_time = 40 SECONDS ai_controller = /datum/ai_controller/basic_controller/spiderling + shadow_type = SHADOW_SMALL + shadow_offset_y = 10 /mob/living/basic/spider/growing/spiderling/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.dm b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.dm index 8c17833c0c7e8..c8e7be9cded7b 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.dm @@ -6,6 +6,7 @@ * All spiders can produce webbing. */ /mob/living/basic/spider/growing/young + SET_BASE_VISUAL_PIXEL(0, 4) name = "young spider" desc = "Furry and black, it makes you shudder to look at it. This one has deep red eyes." icon_state = "young_guard" @@ -20,6 +21,7 @@ melee_damage_upper = 12 ai_controller = /datum/ai_controller/basic_controller/young_spider player_speed_modifier = -1 + shadow_offset_y = 8 /mob/living/basic/spider/growing/young/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/tree.dm b/code/modules/mob/living/basic/tree.dm index 3f3894f190b5e..970f7f5280816 100644 --- a/code/modules/mob/living/basic/tree.dm +++ b/code/modules/mob/living/basic/tree.dm @@ -1,4 +1,6 @@ /mob/living/basic/tree + SET_BASE_VISUAL_PIXEL(0, 0) // It'll overlap walls, don't worry + name = "pine tree" desc = "A pissed off tree-like alien. It seems annoyed with the festivities..." icon = 'icons/obj/fluff/flora/pinetrees.dmi' @@ -42,6 +44,7 @@ death_message = "is hacked into pieces!" ai_controller = /datum/ai_controller/basic_controller/tree + shadow_type = SHADOW_NONE ///items that make us angry var/list/infuriating_objects = list(/obj/item/chainsaw, /obj/item/hatchet, /obj/item/stack/sheet/mineral/wood) diff --git a/code/modules/mob/living/basic/vermin/cockroach.dm b/code/modules/mob/living/basic/vermin/cockroach.dm index 0680de631cbae..841fe6df2548f 100644 --- a/code/modules/mob/living/basic/vermin/cockroach.dm +++ b/code/modules/mob/living/basic/vermin/cockroach.dm @@ -1,4 +1,5 @@ /mob/living/basic/cockroach + SET_BASE_VISUAL_PIXEL(0, 0) // These guys are too small not to be tile-bound sorry name = "cockroach" desc = "This station is just crawling with bugs." icon_state = "cockroach" @@ -13,6 +14,8 @@ can_be_held = TRUE gold_core_spawnable = FRIENDLY_SPAWN pass_flags = PASSTABLE | PASSGRILLE | PASSMOB + shadow_type = SHADOW_SMALL + shadow_offset_y = 12 verb_say = "chitters" verb_ask = "chitters inquisitively" diff --git a/code/modules/mob/living/basic/vermin/crab.dm b/code/modules/mob/living/basic/vermin/crab.dm index 18a935443a11d..3c1c9146a064d 100644 --- a/code/modules/mob/living/basic/vermin/crab.dm +++ b/code/modules/mob/living/basic/vermin/crab.dm @@ -34,6 +34,7 @@ AddElement(/datum/element/tiny_mob_hunter, MOB_SIZE_TINY) AddElement(/datum/element/ai_retaliate) AddElement(/datum/element/ai_flee_while_injured) + AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) //COFFEE! SQUEEEEEEEEE! /mob/living/basic/crab/coffee @@ -88,7 +89,6 @@ planning_subtrees = list( /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee/from_flee_key, /datum/ai_planning_subtree/flee_target/from_flee_key, - /datum/ai_planning_subtree/target_retaliate/to_flee, /datum/ai_planning_subtree/simple_find_target, /datum/ai_planning_subtree/basic_melee_attack_subtree, /datum/ai_planning_subtree/random_speech/crab, diff --git a/code/modules/mob/living/basic/vermin/frog.dm b/code/modules/mob/living/basic/vermin/frog.dm index a674169dbd5ce..3a288918dbdc1 100644 --- a/code/modules/mob/living/basic/vermin/frog.dm +++ b/code/modules/mob/living/basic/vermin/frog.dm @@ -109,6 +109,7 @@ /datum/ai_controller/basic_controller/frog blackboard = list( + BB_BASIC_MOB_STOP_FLEEING = TRUE, //We only flee from scary fishermen. BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, BB_OWNER_SELF_HARM_RESPONSES = list( @@ -122,7 +123,8 @@ planning_subtrees = list( /datum/ai_planning_subtree/target_retaliate, /datum/ai_planning_subtree/random_speech/frog, - /datum/ai_planning_subtree/basic_melee_attack_subtree, + /datum/ai_planning_subtree/basic_melee_attack_subtree/no_fisherman, + /datum/ai_planning_subtree/flee_target/from_fisherman, /datum/ai_planning_subtree/go_for_swim, ) @@ -131,11 +133,18 @@ /datum/ai_planning_subtree/pet_planning, /datum/ai_planning_subtree/random_speech/frog, /datum/ai_planning_subtree/simple_find_target, - /datum/ai_planning_subtree/basic_melee_attack_subtree, + /datum/ai_planning_subtree/basic_melee_attack_subtree/no_fisherman, + /datum/ai_planning_subtree/flee_target/from_fisherman, ) /datum/ai_controller/basic_controller/frog/suicide_frog + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_TARGET_PRIORITY_TRAIT = TRAIT_SCARY_FISHERMAN, //No fear, only hatred. It has nothing to lose + ) + planning_subtrees = list( - /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/find_target_prioritize_traits, /datum/ai_planning_subtree/basic_melee_attack_subtree, ) 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 5ef330cdc64f9..5801d18321594 100644 --- a/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm +++ b/code/modules/mob/living/basic/vermin/mothroach/mothroach_ai.dm @@ -27,9 +27,21 @@ 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) + var/list/found = typecache_filter_list(oview(search_range, controller.pawn), locate_paths) + var/mob/living/living_pawn = controller.pawn + found -= living_pawn.loc + if(length(found)) + return pick(found) + #undef MOTHROACH_EAT_TIMER diff --git a/code/modules/mob/living/basic/vermin/mouse.dm b/code/modules/mob/living/basic/vermin/mouse.dm index 724833af16f2a..58529c7de80bd 100644 --- a/code/modules/mob/living/basic/vermin/mouse.dm +++ b/code/modules/mob/living/basic/vermin/mouse.dm @@ -1,10 +1,13 @@ /mob/living/basic/mouse + SET_BASE_VISUAL_PIXEL(0, 10) name = "mouse" desc = "This cute little guy just loves the taste of uninsulated electrical cables. Isn't he adorable?" icon_state = "mouse_gray" icon_living = "mouse_gray" icon_dead = "mouse_gray_dead" held_state = "mouse_gray" + shadow_type = SHADOW_SMALL + shadow_offset_y = 2 maxHealth = 5 health = 5 @@ -369,9 +372,7 @@ var/trans_amount = reagents.maximum_volume - reagents.total_volume * (4 / 3) if(target_reagents.has_reagent(/datum/reagent/fuel) && target_reagents.trans_to(src, trans_amount)) to_chat(user, span_notice("You dip [src] into [interacting_with].")) - else - to_chat(user, span_warning("That's a terrible idea.")) - return ITEM_INTERACT_BLOCKING + return ITEM_INTERACT_SUCCESS /obj/item/food/deadmouse/moldy name = "moldy dead mouse" diff --git a/code/modules/mob/living/basic/vermin/space_bat.dm b/code/modules/mob/living/basic/vermin/space_bat.dm index 53f367f448727..a0f5f1759dd33 100644 --- a/code/modules/mob/living/basic/vermin/space_bat.dm +++ b/code/modules/mob/living/basic/vermin/space_bat.dm @@ -31,6 +31,9 @@ obj_damage = 0 unsuitable_atmos_damage = 0 + shadow_type = SHADOW_SMALL + death_offset_y = -3 + ai_controller = /datum/ai_controller/basic_controller/space_bat /mob/living/basic/bat/Initialize(mapload) diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 5ac120fcee3f3..7d5d6bec936a7 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -25,10 +25,6 @@ adjust_nutrition(-nutrition_ratio * HUNGER_FACTOR * seconds_per_tick) blood_volume = min(blood_volume + (BLOOD_REGEN_FACTOR * nutrition_ratio * seconds_per_tick), BLOOD_VOLUME_NORMAL) - // Some effects are halved mid-combat. - var/determined_mod = has_status_effect(/datum/status_effect/determined) ? 0.5 : 0 - - //Bloodloss from wounds var/temp_bleed = 0 for(var/obj/item/bodypart/iter_part as anything in bodyparts) @@ -45,6 +41,10 @@ //Effects of bloodloss if(sigreturn & HANDLE_BLOOD_NO_OXYLOSS) return + + // Some effects are halved mid-combat. + var/determined_mod = has_status_effect(/datum/status_effect/determined) ? 0.5 : 0 + var/word = pick("dizzy","woozy","faint") switch(blood_volume) if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) @@ -105,11 +105,12 @@ // Blood ratio! if you have 280 blood, this equals 0.5 as that's half of the current value, 560. var/effective_blood_ratio = blood_volume / BLOOD_VOLUME_NORMAL + var/target_oxyloss = max((1 - effective_blood_ratio) * 100, 0) // If your ratio is less than one (you're missing any blood) and your oxyloss is under missing blood %, start getting oxy damage. // This damage accrues faster the less blood you have. - // If KO or in hardcrit, the damage accrues even then to prevent being perma-KO. - if(((effective_blood_ratio < 1) && (getOxyLoss() < ((1 - effective_blood_ratio) * 100))) || (stat in list(UNCONSCIOUS, HARD_CRIT))) + // If the damage surpasses the KO threshold for oxyloss, then we'll always tick up so you die eventually + if(target_oxyloss > 0 && (getOxyLoss() < target_oxyloss || (target_oxyloss >= OXYLOSS_PASSOUT_THRESHOLD && stat >= UNCONSCIOUS))) // At roughly half blood this equals to 3 oxyloss per tick. At 90% blood it's close to 0.5 var/rounded_oxyloss = round(0.01 * (BLOOD_VOLUME_NORMAL - blood_volume), 0.25) * seconds_per_tick adjustOxyLoss(rounded_oxyloss, updating_health = TRUE) diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index 1bacc08a8b6ff..17f5be02a91cf 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -16,6 +16,7 @@ forceMove(OB) if(!container?.mecha && (!container || container.immobilize)) //Unless inside a mecha, brains are rather helpless. add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), BRAIN_UNAIDED) + ADD_TRAIT(src, TRAIT_SILICON_EMOTES_ALLOWED, INNATE_TRAIT) /mob/living/brain/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) var/obj/item/organ/internal/brain/brain_loc = loc diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 3d380ef6824ca..46419d70e6dee 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -40,6 +40,10 @@ /// Size modifier for the sprite var/brain_size = 1 + /// Can this brain become smooth after it gets washed + var/can_smoothen_out = TRUE + /// We got smooth from being washed + var/smooth_brain = FALSE /obj/item/organ/internal/brain/Initialize(mapload) . = ..() @@ -48,6 +52,8 @@ /obj/item/organ/internal/brain/examine() . = ..() + if (smooth_brain) + . += span_notice("All the pesky wrinkles are gone. Now it just needs a good drying...") if(brain_size < 1) . += span_notice("It is a bit on the smaller side...") if(brain_size > 1) @@ -131,6 +137,10 @@ organ_owner.update_body_parts() organ_owner.clear_mood_event("brain_damage") +/obj/item/organ/internal/brain/update_icon_state() + icon_state = "[initial(icon_state)][smooth_brain ? "-smooth_brain" : ""]" + return ..() + /obj/item/organ/internal/brain/proc/transfer_identity(mob/living/L) name = "[L.name]'s [initial(name)]" if(brainmob) @@ -373,6 +383,10 @@ /obj/item/organ/internal/brain/machine_wash(obj/machinery/washing_machine/brainwasher) . = ..() + if (can_smoothen_out && !smooth_brain) + smooth_brain = TRUE + update_appearance() + if(HAS_TRAIT(brainwasher, TRAIT_BRAINWASHING)) set_organ_damage(0) cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY) @@ -408,6 +422,7 @@ name = "crystalline matrix" desc = "This collection of sparkling gems somehow allows a golem to think." icon_state = "adamantine_resonator" + can_smoothen_out = FALSE color = COLOR_GOLEM_GRAY organ_flags = ORGAN_MINERAL organ_traits = list(TRAIT_ADVANCEDTOOLUSER, TRAIT_LITERATE, TRAIT_CAN_STRIP, TRAIT_ROCK_METAMORPHIC) @@ -416,19 +431,27 @@ name = "lustrous brain" desc = "This is your brain on bluespace dust. Not even once." icon_state = "random_fly_4" + can_smoothen_out = FALSE organ_traits = list(TRAIT_ADVANCEDTOOLUSER, TRAIT_LITERATE, TRAIT_CAN_STRIP) /obj/item/organ/internal/brain/lustrous/on_mob_remove(mob/living/carbon/organ_owner, special) . = ..() organ_owner.cure_trauma_type(/datum/brain_trauma/special/bluespace_prophet, TRAUMA_RESILIENCE_ABSOLUTE) + organ_owner.RemoveElement(/datum/element/tenacious) /obj/item/organ/internal/brain/lustrous/on_mob_insert(mob/living/carbon/organ_owner, special) . = ..() organ_owner.gain_trauma(/datum/brain_trauma/special/bluespace_prophet, TRAUMA_RESILIENCE_ABSOLUTE) + organ_owner.AddElement(/datum/element/tenacious) /obj/item/organ/internal/brain/felinid //A bit smaller than average brain_size = 0.8 +/obj/item/organ/internal/brain/lizard //A bit smaller than average + name = "lizard brain" + desc = "This juicy piece of meat has a oversized brain stem and cerebellum, with not much of a limbic system to speak of at all. You would expect it's owner to be pretty cold blooded." + organ_traits = list(TRAIT_TACKLING_TAILED_DEFENDER) + /obj/item/organ/internal/brain/abductor name = "grey brain" desc = "A piece of juicy meat found in an ayy lmao's head." @@ -493,6 +516,11 @@ arguments = args.Copy(3) . = brain_gain_trauma(trauma, resilience, arguments) +/obj/item/organ/internal/brain/vv_edit_var(var_name, var_value) + . = ..() + if(var_name == NAMEOF(src, smooth_brain)) + update_appearance() + //Direct trauma gaining proc. Necessary to assign a trauma to its brain. Avoid using directly. /obj/item/organ/internal/brain/proc/brain_gain_trauma(datum/brain_trauma/trauma, resilience, list/arguments) if(!can_gain_trauma(trauma, resilience)) diff --git a/code/modules/mob/living/brain/emote.dm b/code/modules/mob/living/brain/emote.dm index 75599e892a25d..c93e3acf4b24a 100644 --- a/code/modules/mob/living/brain/emote.dm +++ b/code/modules/mob/living/brain/emote.dm @@ -3,7 +3,7 @@ mob_type_blacklist_typecache = list() emote_type = EMOTE_AUDIBLE -/datum/emote/brain/can_run_emote(mob/user, status_check = TRUE, intentional) +/datum/emote/brain/can_run_emote(mob/user, status_check = TRUE, intentional, params) . = ..() var/mob/living/brain/B = user if(!istype(B) || (!(B.container && istype(B.container, /obj/item/mmi)))) diff --git a/code/modules/mob/living/carbon/alien/adult/queen.dm b/code/modules/mob/living/carbon/alien/adult/queen.dm index 4387f7db3eca0..313866bab79ce 100644 --- a/code/modules/mob/living/carbon/alien/adult/queen.dm +++ b/code/modules/mob/living/carbon/alien/adult/queen.dm @@ -11,6 +11,7 @@ layer = LARGE_MOB_LAYER //above most mobs, but below speechbubbles pressure_resistance = 200 //Because big, stompy xenos should not be blown around like paper. butcher_results = list(/obj/item/food/meat/slab/xeno = 20, /obj/item/stack/sheet/animalhide/xeno = 3) + shadow_type = SHADOW_LARGE var/alt_inhands_file = 'icons/mob/nonhuman-player/alienqueen.dmi' diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index a995eafbb3ac0..f587b9d00160c 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -162,3 +162,6 @@ Des: Removes all infected images from the alien. /mob/living/carbon/alien/proc/update_alien_speed() add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/alien_speed, multiplicative_slowdown = alien_speed) + +/mob/living/carbon/alien/get_footprint_sprite() + return FOOTPRINT_SPRITE_CLAWS diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index 3717cfcb89a1a..630171ba2c15d 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -33,7 +33,6 @@ In all, this is a lot like the monkey code. /N to_chat(user, span_danger("You bite [src]!")) adjustBruteLoss(1) log_combat(user, src, "attacked") - updatehealth() else to_chat(user, span_warning("[name] is too injured for that.")) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index f4159813ed9bc..ddb2c8b502538 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -1,4 +1,5 @@ /mob/living/carbon/alien/larva + SET_BASE_VISUAL_PIXEL(0, 7) name = "alien larva" real_name = "alien larva" icon_state = "larva0" @@ -18,11 +19,13 @@ num_legs = 1 //Alien larvas always have a movable apendage. usable_legs = 1 //Alien larvas always have a movable apendage. default_num_hands = 0 + shadow_offset_y = 5 bodyparts = list( /obj/item/bodypart/chest/larva, /obj/item/bodypart/head/larva, ) + shadow_type = SHADOW_SMALL var/amount_grown = 0 var/max_grown = 100 diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm index d330983f20eb9..8cde38a38b9ed 100644 --- a/code/modules/mob/living/carbon/alien/larva/powers.dm +++ b/code/modules/mob/living/carbon/alien/larva/powers.dm @@ -14,6 +14,7 @@ span_noticealien("You stop hiding."), ) ADD_TRAIT(owner, TRAIT_IGNORE_ELEVATION, ACTION_TRAIT) + REMOVE_TRAIT(owner, TRAIT_SHADOWLESS, ACTION_TRAIT) else owner.layer = hide_layer @@ -22,6 +23,7 @@ span_noticealien("You are now hiding."), ) REMOVE_TRAIT(owner, TRAIT_IGNORE_ELEVATION, ACTION_TRAIT) + ADD_TRAIT(owner, TRAIT_SHADOWLESS, ACTION_TRAIT) return TRUE diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 9303cd2347413..3c063aec7e752 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -1,6 +1,5 @@ /obj/item/organ/internal/alien icon_state = "acid" - visual = FALSE food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/toxin/acid = 10) /obj/item/organ/internal/alien/plasmavessel @@ -222,11 +221,11 @@ stomach_contents -= source UnregisterSignal(source, list(COMSIG_MOVABLE_MOVED, COMSIG_LIVING_DEATH, COMSIG_QDELETING)) -/obj/item/organ/internal/stomach/alien/Insert(mob/living/carbon/stomach_owner, special, movement_flags) +/obj/item/organ/internal/stomach/alien/mob_insert(mob/living/carbon/stomach_owner, special, movement_flags) RegisterSignal(stomach_owner, COMSIG_ATOM_RELAYMOVE, PROC_REF(something_moved)) return ..() -/obj/item/organ/internal/stomach/alien/Remove(mob/living/carbon/stomach_owner, special, movement_flags) +/obj/item/organ/internal/stomach/alien/mob_remove(mob/living/carbon/stomach_owner, special, movement_flags) UnregisterSignal(stomach_owner, COMSIG_ATOM_RELAYMOVE) return ..() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 35e15cc04537f..204fb6b7d90cf 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -117,6 +117,7 @@ throw_mode = THROW_MODE_DISABLED if(hud_used) hud_used.throw_icon.icon_state = "act_throw_off" + set_turf_click_type(TURF_CLICK_FLAT) SEND_SIGNAL(src, COMSIG_LIVING_THROW_MODE_TOGGLE, throw_mode) @@ -124,6 +125,7 @@ throw_mode = mode if(hud_used) hud_used.throw_icon.icon_state = "act_throw_on" + set_turf_click_type(TURF_CLICK_CUBE_KEEP_PARAMS) SEND_SIGNAL(src, COMSIG_LIVING_THROW_MODE_TOGGLE, throw_mode) /mob/proc/throw_item(atom/target) @@ -153,7 +155,7 @@ if(grab_state >= GRAB_NECK) neckgrab_throw = TRUE stop_pulling() - if(HAS_TRAIT(src, TRAIT_PACIFISM)) + if(HAS_TRAIT(src, TRAIT_PACIFISM) || HAS_TRAIT(src, TRAIT_NO_THROWING)) to_chat(src, span_notice("You gently let go of [throwable_mob].")) return FALSE else @@ -174,6 +176,8 @@ power_throw++ if(neckgrab_throw) power_throw++ + if(HAS_TRAIT(src, TRAIT_TOSS_GUN_HARD) && isgun(thrown_thing)) + power_throw++ if(isitem(thrown_thing)) var/obj/item/thrown_item = thrown_thing frequency_number = 1-(thrown_item.w_class-3)/8 //At normal weight, the frequency is at 1. For tiny, it is 1.25. For huge, it is 0.75. @@ -1204,7 +1208,7 @@ return bodyparts.len > 2 && ..() /mob/living/carbon/proc/hypnosis_vulnerable() - if(HAS_TRAIT(src, TRAIT_MINDSHIELD)) + if(HAS_MIND_TRAIT(src, TRAIT_UNCONVERTABLE)) return FALSE if(has_status_effect(/datum/status_effect/hallucination) || has_status_effect(/datum/status_effect/drugginess)) return TRUE diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 12f390602d8c5..79af6c802d623 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -396,6 +396,9 @@ // Shake animation if (incapacitated()) + shake_up_animation() + +/mob/proc/shake_up_animation() var/direction = prob(50) ? -1 : 1 animate(src, pixel_x = pixel_x + SHAKE_ANIMATION_OFFSET * direction, time = 1, easing = QUAD_EASING | EASE_OUT, flags = ANIMATION_PARALLEL) animate(pixel_x = pixel_x - (SHAKE_ANIMATION_OFFSET * 2 * direction), time = 1) @@ -545,10 +548,10 @@ */ /mob/living/carbon/proc/check_passout() var/mob_oxyloss = getOxyLoss() - if(mob_oxyloss >= 50) + if(mob_oxyloss >= OXYLOSS_PASSOUT_THRESHOLD) if(!HAS_TRAIT_FROM(src, TRAIT_KNOCKEDOUT, OXYLOSS_TRAIT)) ADD_TRAIT(src, TRAIT_KNOCKEDOUT, OXYLOSS_TRAIT) - else if(mob_oxyloss < 50) + else if(mob_oxyloss < OXYLOSS_PASSOUT_THRESHOLD) REMOVE_TRAIT(src, TRAIT_KNOCKEDOUT, OXYLOSS_TRAIT) /mob/living/carbon/get_organic_health() diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index 00e502bad0451..2350788e81f6d 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -53,13 +53,8 @@ overlays_standing[cache_index] = null SEND_SIGNAL(src, COMSIG_CARBON_REMOVE_OVERLAY, cache_index, I) -//used when putting/removing clothes that hide certain mutant body parts to just update those and not update the whole body. -/mob/living/carbon/human/proc/update_mutant_bodyparts() - dna?.species.handle_mutant_bodyparts(src) - update_body_parts() - /mob/living/carbon/update_body(is_creating = FALSE) - dna?.species.handle_body(src) //This calls `handle_mutant_bodyparts` which calls `update_mutant_bodyparts()`. Don't double call! + dna?.species.handle_body(src) update_body_parts(is_creating) /mob/living/carbon/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) @@ -306,6 +301,7 @@ continue if(isnull(damage_overlay) && (iter_part.brutestate || iter_part.burnstate)) damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "blank", -DAMAGE_LAYER, appearance_flags = KEEP_TOGETHER) + damage_overlay.color = iter_part.damage_overlay_color if(iter_part.brutestate) damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_[iter_part.brutestate]0") //we're adding icon_states of the base image as overlays if(iter_part.burnstate) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 00699196ae9b6..6995defb6dafe 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -43,7 +43,7 @@ hands_use_check = TRUE cooldown = 6 SECONDS -/datum/emote/living/carbon/crack/can_run_emote(mob/living/carbon/user, status_check = TRUE , intentional) +/datum/emote/living/carbon/crack/can_run_emote(mob/living/carbon/user, status_check = TRUE , intentional, params) if(!iscarbon(user) || user.usable_hands < 2) return FALSE return ..() @@ -98,8 +98,6 @@ /datum/emote/living/carbon/noogie/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return var/obj/item/hand_item/noogie/noogie = new(user) if(user.put_in_hands(noogie)) to_chat(user, span_notice("You ready your noogie'ing hand.")) @@ -148,8 +146,6 @@ /datum/emote/living/carbon/slap/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return var/obj/item/hand_item/slapper/N = new(user) if(user.put_in_hands(N)) to_chat(user, span_notice("You ready your slapping hand.")) @@ -166,9 +162,6 @@ /datum/emote/living/carbon/hand/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return - var/obj/item/hand_item/hand/hand = new(user) if(user.put_in_hands(hand)) to_chat(user, span_notice("You ready your hand.")) @@ -198,8 +191,6 @@ /datum/emote/living/carbon/shoesteal/run_emote(mob/user, params, type_override, intentional) . = ..() - if (!.) - return var/obj/item/hand_item/stealer/stealing_hand = new(user) if (user.put_in_hands(stealing_hand)) user.balloon_alert(user, "preparing to steal shoes...") diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index 1e514ad13cedb..c2ed9b27866ec 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -60,16 +60,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /// Use a [language holder datum][/datum/language_holder] typepath in this var. /// Should never be null. var/datum/language_holder/species_language_holder = /datum/language_holder/human_basic - /** - * Visible CURRENT bodyparts that are unique to a species. - * DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK - * SHIT UP! Changes to this list for non-species specific bodyparts (ie - * cat ears and tails) should be assigned at organ level if possible. - * Assoc values are defaults for given bodyparts, also modified by aforementioned organs. - * They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. - * Layer hiding is handled by [/datum/species/proc/handle_mutant_bodyparts] below. - */ - var/list/mutant_bodyparts = list() ///The bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive. var/list/bodypart_overrides = list( BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left, @@ -79,10 +69,8 @@ GLOBAL_LIST_EMPTY(features_by_species) BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right, BODY_ZONE_CHEST = /obj/item/bodypart/chest, ) - ///Internal organs that are unique to this race, like a tail. list(typepath of organ 1, typepath of organ 2) + ///Internal organs that are unique to this race, like a tail or other cosmetic organs. list(typepath of organ 1, typepath of organ 2 = "Round"). var/list/mutant_organs = list() - ///List of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP - var/list/external_organs = list() ///Replaces default brain with a different organ var/obj/item/organ/internal/brain/mutantbrain = /obj/item/organ/internal/brain ///Replaces default heart with a different organ @@ -283,7 +271,10 @@ GLOBAL_LIST_EMPTY(features_by_species) if(ORGAN_SLOT_STOMACH) return mutantstomach else - CRASH("Invalid organ slot [slot]") + // Non-standard organs we might have + for(var/obj/item/organ/extra_organ as anything in mutant_organs) + if(initial(extra_organ.slot) == slot) + return extra_organ /** * Corrects organs in a carbon, removing ones it doesn't need and adding ones it does. @@ -299,46 +290,33 @@ GLOBAL_LIST_EMPTY(features_by_species) * * visual_only - boolean, only load organs that change how the species looks. Do not use for normal gameplay stuff */ /datum/species/proc/regenerate_organs(mob/living/carbon/organ_holder, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE) - //what should be put in if there is no mutantorgan (brains handled separately) - var/list/organ_slots = list( - ORGAN_SLOT_BRAIN, - ORGAN_SLOT_HEART, - ORGAN_SLOT_LUNGS, - ORGAN_SLOT_APPENDIX, - ORGAN_SLOT_EYES, - ORGAN_SLOT_EARS, - ORGAN_SLOT_TONGUE, - ORGAN_SLOT_LIVER, - ORGAN_SLOT_STOMACH, - ) - - for(var/slot in organ_slots) + for(var/slot in get_all_slots()) var/obj/item/organ/existing_organ = organ_holder.get_organ_slot(slot) var/obj/item/organ/new_organ = get_mutant_organ_type_for_slot(slot) + var/old_organ_type = old_species?.get_mutant_organ_type_for_slot(slot) - if(isnull(new_organ)) // if they aren't suppose to have an organ here, remove it - if(existing_organ) - existing_organ.Remove(organ_holder, special = TRUE) + // if we have an extra organ that before changing that the species didnt have, remove it + if(!new_organ) + if(existing_organ && (old_organ_type == existing_organ.type || replace_current)) + existing_organ.Remove(organ_holder) qdel(existing_organ) continue - // we don't want to remove organs that are not the default for this species - if(!isnull(existing_organ)) - if(!isnull(old_species) && existing_organ.type != old_species.get_mutant_organ_type_for_slot(slot)) - continue - else if(!replace_current && existing_organ.type != get_mutant_organ_type_for_slot(slot)) + if(existing_organ) + // we dont want to remove organs that were not from the old species (such as from freak surgery or prosthetics) + if(existing_organ.type != old_organ_type && !replace_current) continue - // at this point we already know new_organ is not null - if(existing_organ?.type == new_organ) - continue // we don't want to remove organs that are the same as the new one + // we don't want to remove organs that are the same as the new one + if(existing_organ.type == new_organ) + continue - if(visual_only && !initial(new_organ.visual)) + if(visual_only && (!initial(new_organ.bodypart_overlay) && !initial(new_organ.visual))) continue var/used_neworgan = FALSE new_organ = SSwardrobe.provide_type(new_organ) - var/should_have = new_organ.get_availability(src, organ_holder) + var/should_have = new_organ.get_availability(src, organ_holder) && should_visual_organ_apply_to(new_organ, organ_holder) // Check for an existing organ, and if there is one check to see if we should remove it var/health_pct = 1 @@ -362,46 +340,6 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!used_neworgan) QDEL_NULL(new_organ) - if(!isnull(old_species)) - for(var/mutant_organ in old_species.mutant_organs) - if(mutant_organ in mutant_organs) - continue // need this mutant organ, but we already have it! - - var/obj/item/organ/current_organ = organ_holder.get_organ_by_type(mutant_organ) - if(current_organ) - current_organ.Remove(organ_holder) - QDEL_NULL(current_organ) - - for(var/obj/item/organ/external/external_organ in organ_holder.organs) - // External organ checking. We need to check the external organs owned by the carbon itself, - // because we want to also remove ones not shared by its species. - // This should be done even if species was not changed. - if(external_organ in external_organs) - continue // Don't remove external organs this species is supposed to have. - - external_organ.Remove(organ_holder) - QDEL_NULL(external_organ) - - var/list/species_organs = mutant_organs + external_organs - for(var/organ_path in species_organs) - var/obj/item/organ/current_organ = organ_holder.get_organ_by_type(organ_path) - if(ispath(organ_path, /obj/item/organ/external) && !should_external_organ_apply_to(organ_path, organ_holder)) - if(!isnull(current_organ) && replace_current) - // if we have an organ here and we're replacing organs, remove it - current_organ.Remove(organ_holder) - QDEL_NULL(current_organ) - continue - - if(!current_organ || replace_current) - var/obj/item/organ/replacement = SSwardrobe.provide_type(organ_path) - // If there's an existing mutant organ, we're technically replacing it. - // Let's abuse the snowflake proc that skillchips added. Basically retains - // feature parity with every other organ too. - if(current_organ) - current_organ.before_organ_replacement(replacement) - // organ.Insert will qdel any current organs in that slot, so we don't need to. - replacement.Insert(organ_holder, special=TRUE, movement_flags = DELETE_IF_REPLACED) - /datum/species/proc/worn_items_fit_body_check(mob/living/carbon/wearer) for(var/obj/item/equipped_item in wearer.get_equipped_items(INCLUDE_POCKETS)) var/equipped_item_slot = wearer.get_slot_by_item(equipped_item) @@ -443,7 +381,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(old_species.type != type) replace_body(human_who_gained_species, src) - regenerate_organs(human_who_gained_species, old_species, visual_only = human_who_gained_species.visual_only_organs) + regenerate_organs(human_who_gained_species, old_species, replace_current = FALSE, visual_only = human_who_gained_species.visual_only_organs) // Drop the items the new species can't wear INVOKE_ASYNC(src, PROC_REF(worn_items_fit_body_check), human_who_gained_species, TRUE) @@ -459,16 +397,6 @@ GLOBAL_LIST_EMPTY(features_by_species) //Resets blood if it is excessively high so they don't gib normalize_blood(human_who_gained_species) - if(ishuman(human_who_gained_species)) - var/mob/living/carbon/human/human = human_who_gained_species - for(var/obj/item/organ/external/organ_path as anything in external_organs) - if(!should_external_organ_apply_to(organ_path, human)) - continue - - //Load a persons preferences from DNA - var/obj/item/organ/external/new_organ = SSwardrobe.provide_type(organ_path) - new_organ.Insert(human, special=TRUE, movement_flags = DELETE_IF_REPLACED) - add_body_markings(human_who_gained_species) if(length(inherent_traits)) @@ -509,10 +437,6 @@ GLOBAL_LIST_EMPTY(features_by_species) for(var/X in inherent_traits) REMOVE_TRAIT(C, X, SPECIES_TRAIT) - for(var/obj/item/organ/external/organ in C.organs) - organ.Remove(C) - qdel(organ) - //If their inert mutation is not the same, swap it out if((inert_mutation != new_species.inert_mutation) && LAZYLEN(C.dna.mutation_index) && (inert_mutation in C.dna.mutation_index)) C.dna.remove_mutation(inert_mutation) @@ -546,14 +470,13 @@ GLOBAL_LIST_EMPTY(features_by_species) * Handles the body of a human * * Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. - * Calls [handle_mutant_bodyparts][/datum/species/proc/handle_mutant_bodyparts] * Arguments: * * species_human - Human, whoever we're handling the body for */ /datum/species/proc/handle_body(mob/living/carbon/human/species_human) species_human.remove_overlay(BODY_LAYER) if(HAS_TRAIT(species_human, TRAIT_INVISIBLE_MAN)) - return handle_mutant_bodyparts(species_human) + return var/list/standing = list() if(!HAS_TRAIT(species_human, TRAIT_HUSK)) @@ -572,7 +495,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/mutable_appearance/underwear_overlay if(underwear) if(species_human.dna.species.sexes && species_human.physique == FEMALE && (underwear.gender == MALE)) - underwear_overlay = wear_female_version(underwear.icon_state, underwear.icon, BODY_LAYER, FEMALE_UNIFORM_FULL) + underwear_overlay = mutable_appearance(wear_female_version(underwear.icon_state, underwear.icon, FEMALE_UNIFORM_FULL), layer = -BODY_LAYER) else underwear_overlay = mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) if(!underwear.use_static) @@ -584,9 +507,9 @@ GLOBAL_LIST_EMPTY(features_by_species) if(undershirt) var/mutable_appearance/working_shirt if(species_human.dna.species.sexes && species_human.physique == FEMALE) - working_shirt = wear_female_version(undershirt.icon_state, undershirt.icon, BODY_LAYER) + working_shirt = mutable_appearance(wear_female_version(undershirt.icon_state, undershirt.icon), layer = -BODY_LAYER) else - working_shirt = mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER) + working_shirt = mutable_appearance(undershirt.icon, undershirt.icon_state, layer = -BODY_LAYER) standing += working_shirt if(species_human.socks && species_human.num_legs >= 2 && !(species_human.bodyshape & BODYSHAPE_DIGITIGRADE)) @@ -598,103 +521,7 @@ GLOBAL_LIST_EMPTY(features_by_species) species_human.overlays_standing[BODY_LAYER] = standing species_human.apply_overlay(BODY_LAYER) - handle_mutant_bodyparts(species_human) - -/** - * Handles the mutant bodyparts of a human - * - * Handles the adding and displaying of, layers, colors, and overlays of mutant bodyparts and accessories. - * Handles digitigrade leg displaying and squishing. - * Arguments: - * * H - Human, whoever we're handling the body for - * * forced_colour - The forced color of an accessory. Leave null to use mutant color. - */ -/datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/source, forced_colour) - var/list/bodyparts_to_add = mutant_bodyparts.Copy() - var/list/relevent_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) - var/list/standing = list() - - source.remove_overlay(BODY_BEHIND_LAYER) - source.remove_overlay(BODY_ADJ_LAYER) - source.remove_overlay(BODY_FRONT_LAYER) - - if(!mutant_bodyparts || HAS_TRAIT(source, TRAIT_INVISIBLE_MAN)) - return - - var/obj/item/bodypart/head/noggin = source.get_bodypart(BODY_ZONE_HEAD) - - - if(mutant_bodyparts["ears"]) - if(!source.dna.features["ears"] || source.dna.features["ears"] == "None" || source.head && (source.head.flags_inv & HIDEHAIR) || (source.wear_mask && (source.wear_mask.flags_inv & HIDEHAIR)) || !noggin || IS_ROBOTIC_LIMB(noggin)) - bodyparts_to_add -= "ears" - - if(!bodyparts_to_add) - return - - var/g = (source.physique == FEMALE) ? "f" : "m" - - for(var/layer in relevent_layers) - var/layertext = mutant_bodyparts_layertext(layer) - - for(var/bodypart in bodyparts_to_add) - var/datum/sprite_accessory/accessory - switch(bodypart) - if("ears") - accessory = SSaccessories.ears_list[source.dna.features["ears"]] - if("legs") - accessory = SSaccessories.legs_list[source.dna.features["legs"]] - - if(!accessory || accessory.icon_state == "none") - continue - - var/mutable_appearance/accessory_overlay = mutable_appearance(accessory.icon, layer = -layer) - - if(accessory.gender_specific) - accessory_overlay.icon_state = "[g]_[bodypart]_[accessory.icon_state]_[layertext]" - else - accessory_overlay.icon_state = "m_[bodypart]_[accessory.icon_state]_[layertext]" - - if(accessory.em_block) - accessory_overlay.overlays += emissive_blocker(accessory_overlay.icon, accessory_overlay.icon_state, source, accessory_overlay.alpha) - - if(accessory.center) - accessory_overlay = center_image(accessory_overlay, accessory.dimension_x, accessory.dimension_y) - - if(!(HAS_TRAIT(source, TRAIT_HUSK))) - if(!forced_colour) - switch(accessory.color_src) - if(MUTANT_COLOR) - accessory_overlay.color = fixed_mut_color || source.dna.features["mcolor"] - if(HAIR_COLOR) - accessory_overlay.color = get_fixed_hair_color(source) || source.hair_color - if(FACIAL_HAIR_COLOR) - accessory_overlay.color = get_fixed_hair_color(source) || source.facial_hair_color - if(EYE_COLOR) - accessory_overlay.color = source.eye_color_left - else - accessory_overlay.color = forced_colour - standing += accessory_overlay - - if(accessory.hasinner) - var/mutable_appearance/inner_accessory_overlay = mutable_appearance(accessory.icon, layer = -layer) - if(accessory.gender_specific) - inner_accessory_overlay.icon_state = "[g]_[bodypart]inner_[accessory.icon_state]_[layertext]" - else - inner_accessory_overlay.icon_state = "m_[bodypart]inner_[accessory.icon_state]_[layertext]" - - if(accessory.center) - inner_accessory_overlay = center_image(inner_accessory_overlay, accessory.dimension_x, accessory.dimension_y) - - standing += inner_accessory_overlay - - source.overlays_standing[layer] = standing.Copy() - standing = list() - - source.apply_overlay(BODY_BEHIND_LAYER) - source.apply_overlay(BODY_ADJ_LAYER) - source.apply_overlay(BODY_FRONT_LAYER) - - update_body_markings(source) + update_body_markings(species_human) //This exists so sprite accessories can still be per-layer without having to include that layer's //number in their sprite name, which causes issues when those numbers change. @@ -737,14 +564,16 @@ GLOBAL_LIST_EMPTY(features_by_species) var/list/new_features = list() var/static/list/organs_to_randomize = list() - for(var/obj/item/organ/external/organ_path as anything in external_organs) + for(var/obj/item/organ/organ_path as anything in mutant_organs) + if(!organ_path.bodypart_overlay) + continue var/overlay_path = initial(organ_path.bodypart_overlay) var/datum/bodypart_overlay/mutant/sample_overlay = organs_to_randomize[overlay_path] if(isnull(sample_overlay)) sample_overlay = new overlay_path() organs_to_randomize[overlay_path] = sample_overlay - new_features["[sample_overlay.feature_key]"] = pick(sample_overlay.get_global_feature_list()) + new_features["[sample_overlay.feature_key]"] = sample_overlay.get_random_appearance().name return new_features @@ -772,7 +601,7 @@ GLOBAL_LIST_EMPTY(features_by_species) // Anything that's small or smaller can fit into a pocket by default if((slot & (ITEM_SLOT_RPOCKET|ITEM_SLOT_LPOCKET)) && I.w_class <= POCKET_WEIGHT_CLASS) excused = TRUE - else if(slot & (ITEM_SLOT_SUITSTORE|ITEM_SLOT_BACKPACK|ITEM_SLOT_HANDS)) + else if(slot & (ITEM_SLOT_SUITSTORE|ITEM_SLOT_BACKPACK|ITEM_SLOT_BELTPACK|ITEM_SLOT_HANDS)) excused = TRUE if(!excused) return FALSE @@ -800,7 +629,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(H.num_legs < 2) return FALSE if((H.bodyshape & BODYSHAPE_DIGITIGRADE) && !(I.item_flags & IGNORE_DIGITIGRADE)) - if(!(I.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) + if(!(I.supports_variations_flags & DIGITIGRADE_VARIATIONS)) if(!disable_warning) to_chat(H, span_warning("The footwear around here isn't compatible with your feet!")) return FALSE @@ -813,6 +642,10 @@ GLOBAL_LIST_EMPTY(features_by_species) to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) + if(ITEM_SLOT_BELTPACK) + if(H.belt && H.belt.atom_storage?.can_insert(I, H, messages = TRUE, force = indirect_action ? STORAGE_SOFT_LOCKED : STORAGE_NOT_LOCKED)) + return TRUE + return FALSE if(ITEM_SLOT_EYES) if(!H.get_bodypart(BODY_ZONE_HEAD)) return FALSE @@ -1034,14 +867,32 @@ GLOBAL_LIST_EMPTY(features_by_species) var/damage = rand(attacking_bodypart.unarmed_damage_low, attacking_bodypart.unarmed_damage_high) var/limb_accuracy = attacking_bodypart.unarmed_effectiveness + // In a brawl, drunkenness can make you swing more wildly and with more force, and thus catch your opponent off guard, but it could also totally throw you off if you're too intoxicated + // But god is it going to make you sick moving too much while drunk + var/user_drunkenness = user.get_drunk_amount() + + if(user_drunkenness && HAS_TRAIT(user, TRAIT_DRUNKEN_BRAWLER)) // Drunken brawlers only need to be intoxicated, doesn't matter how much + limb_accuracy += clamp((user.getFireLoss() + user.getBruteLoss()) * 0.5, 10, 200) + damage += damage * clamp((user.getFireLoss() + user.getBruteLoss()) / 100, 0.3, 2) //Basically a multiplier of how much extra damage you get based on how low your health is overall. A floor of about a 30%. + var/drunken_martial_descriptor = pick("Drunken", "Intoxicated", "Tipsy", "Inebriated", "Delirious", "Day-Drinker's", "Firegut", "Blackout") + atk_verb = "[drunken_martial_descriptor] [atk_verb]" + + else if(user_drunkenness > 30 && user_drunkenness < 60) + limb_accuracy *= 1.2 + user.adjust_disgust(2) + + else if(user_drunkenness >= 60) + limb_accuracy = -limb_accuracy // good luck landing a punch now, you drunk fuck + user.adjust_disgust(5) + var/obj/item/bodypart/affecting = target.get_bodypart(target.get_random_valid_zone(user.zone_selected)) var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases if(attacking_bodypart.unarmed_damage_low) - if((target.body_position == LYING_DOWN) || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER) || staggered) //kicks and attacks against staggered targets never miss (provided your species deals more than 0 damage) + if((target.body_position == LYING_DOWN) || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER) || staggered || user_drunkenness && HAS_TRAIT(user, TRAIT_DRUNKEN_BRAWLER)) //kicks and attacks against staggered targets never miss (provided your species deals more than 0 damage). Drunken brawlers while drunk also don't miss miss_chance = 0 else - miss_chance = clamp(UNARMED_MISS_CHANCE_BASE - limb_accuracy + user.getStaminaLoss() + (user.getBruteLoss()*0.5), 0, UNARMED_MISS_CHANCE_MAX) //Limb miss chance + various damage. capped at 80 so there is at least a chance to land a hit. + miss_chance = clamp(UNARMED_MISS_CHANCE_BASE - limb_accuracy + (user.getFireLoss()*0.5 + user.getBruteLoss()*0.5), 0, UNARMED_MISS_CHANCE_MAX) //Limb miss chance + various damage. capped at 80 so there is at least a chance to land a hit. if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted playsound(target.loc, attacking_bodypart.unarmed_miss_sound, 25, TRUE, -1) @@ -1053,6 +904,20 @@ GLOBAL_LIST_EMPTY(features_by_species) var/armor_block = target.run_armor_check(affecting, MELEE) + // In a brawl, drunkenness is a boon if you're a bit drunk but not too much. Else you're easier to hit. + // But, generally, getting hit while drunk is probably a good way to start throwing up + var/target_drunkenness = target.get_drunk_amount() + if(target_drunkenness && HAS_TRAIT(target, TRAIT_DRUNKEN_BRAWLER)) // Drunken brawlers only need to be intoxicated, doesn't matter how much + armor_block += 20 + + else if(target_drunkenness > 30 && target_drunkenness < 60) + armor_block += 10 + target.adjust_disgust(2) + + else if(target_drunkenness >= 60) + armor_block *= 0.5 + target.adjust_disgust(5) + playsound(target.loc, attacking_bodypart.unarmed_attack_sound, 25, TRUE, -1) if(grappled && attacking_bodypart.grappled_attack_verb) @@ -1080,6 +945,65 @@ GLOBAL_LIST_EMPTY(features_by_species) target.force_say() log_combat(user, target, "punched") + // If our target is staggered and has sustained enough damage, we can apply a randomly determined status effect to inflict when we punch them. + // The effects are based on the punching effectiveness of our attacker. Some effects are not reachable by the average human, and require augmentation to reach or being a species with a heavy punch effectiveness. + // Or they're just drunk enough. + if(HAS_TRAIT(target, TRAIT_BRAWLING_KNOCKDOWN_BLOCKED) || target.stat == DEAD) //If our target is dead or has specailized armor, there is no way to inflict these effects. + return + + // If our target is staggered, the target's armor, minus our limb effectiveness sets the minimum necessary amount of damage sustained to cause an effect. Minimum 40, max 200 for sanity reasons + if(staggered && (target.getFireLoss()*0.5 + target.getBruteLoss()*0.5) >= min(armor_block - limb_accuracy, 40, 200)) + stagger_combo(user, target, atk_verb, limb_accuracy, armor_block) + +/// Handles the stagger combo effect of our punch. Follows the same logic as the above proc, target is our owner, user is our attacker. +/datum/species/proc/stagger_combo(mob/living/carbon/human/user, mob/living/carbon/human/target, atk_verb = "hit", limb_accuracy = 0, armor_block = 0) + // Randomly determines the effects of our punch. Limb accuracy is a bonus, armor block is a defense + var/roll_them_bones = rand(-20, 20) + limb_accuracy - armor_block + + switch(roll_them_bones) + if (-INFINITY to 0) //Mostly a gimmie, this one just keeps them staggered briefly + target.adjust_staggered_up_to(1 SECONDS, 10 SECONDS) + target.visible_message(span_warning("[user]'s [atk_verb] briefly winds [target]!"), \ + span_warning("You are briefly winded by [user]'s [atk_verb]!"), span_hear("You hear a thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] briefly winds [target]!")) + + if (1 to 10) + target.adjust_eye_blur_up_to(5 SECONDS, 10 SECONDS) + target.visible_message(span_warning("[user]'s [atk_verb] hits [target] so hard, their eyes water! Ouch!"), \ + span_warning("You are hit viciously by [user]'s [atk_verb], and your eyes begin to water!"), span_hear("You hear a thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] causes [target] to tear up!")) + + if (11 to 30) + target.adjust_dizzy_up_to(5 SECONDS, 10 SECONDS) + target.adjust_eye_blur_up_to(5 SECONDS, 10 SECONDS) + target.adjust_confusion_up_to(5 SECONDS, 10 SECONDS) + target.visible_message(span_warning("[user]'s [atk_verb] hits [target] so hard, they are sent reeling in agony! Damn!"), \ + span_warning("You are hit viciously by [user]'s [atk_verb], and everything becomes a dizzying blur!"), span_hear("You hear a thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] causes [target] to go stumbling about in a confuzed daze!")) + + if(31 to 40) + target.adjust_dizzy_up_to(5 SECONDS, 10 SECONDS) + target.adjust_confusion_up_to(5 SECONDS, 10 SECONDS) + target.adjust_temp_blindness_up_to(5 SECONDS, 10 SECONDS) + target.visible_message(span_warning("[user]'s [atk_verb] hits [target] so hard, they are sent reeling blindly in agony! Goddamn!"), \ + span_warning("You are hit viciously by [user]'s [atk_verb], and everything becomes a dizzying, blinding blur!"), span_hear("You hear a thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] causes [target] to go stumbling about in a confuzed, blind daze!")) + + if (41 to 45) + target.apply_effect(4 SECONDS, EFFECT_KNOCKDOWN, armor_block) + target.visible_message(span_warning("[user]'s [atk_verb] hits [target] so hard, you knock them off their feet! Holy shit!"), \ + span_warning("You are hit viciously by [user]'s [atk_verb] and sent toppling head over heels!"), span_hear("You hear a sickening thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] lands, and you send [target] sailing off their feet!")) + + if (46 to INFINITY) + target.apply_effect(4 SECONDS, EFFECT_KNOCKDOWN, armor_block) + var/obj/item/bodypart/affecting = target.get_bodypart(target.get_random_valid_zone(user.zone_selected)) + target.apply_damage(5, BRUTE, affecting, armor_block, wound_bonus = limb_accuracy * 2) //Mostly for the crunchy wounding effect than actually doing damage + target.visible_message(span_warning("[user]'s [atk_verb] hits [target] so hard, you hit them off their feet with a loud crunch! Fucking hell!"), \ + span_warning("You are hit viciously by [user]'s [atk_verb], and suddenly feel an overwhelming pain as you topple head over heels!"), span_hear("You hear a sickening crack and a loud thud!"), COMBAT_MESSAGE_RANGE, user) + to_chat(user, span_warning("Your [atk_verb] lands, and [target] is sent crashing to the floor with the immense force! Good god!")) + + /datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(user.body_position != STANDING_UP) return FALSE @@ -1484,15 +1408,14 @@ GLOBAL_LIST_EMPTY(features_by_species) var/datum/preference/preference = GLOB.preference_entries[preference_type] if ( \ - (preference.relevant_mutant_bodypart in mutant_bodyparts) \ - || (preference.relevant_inherent_trait in inherent_traits) \ - || (preference.relevant_external_organ in external_organs) \ + (preference.relevant_inherent_trait in inherent_traits) \ + || (preference.relevant_external_organ in mutant_organs) \ || (preference.relevant_head_flag && check_head_flags(preference.relevant_head_flag)) \ || (preference.relevant_body_markings in body_markings) \ ) features += preference.savefile_key - for (var/obj/item/organ/external/organ_type as anything in external_organs) + for (var/obj/item/organ/organ_type as anything in mutant_organs) var/preference = initial(organ_type.preference) if (!isnull(preference)) features += preference @@ -1514,6 +1437,14 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/get_cry_sound(mob/living/carbon/human/human) return +/// Returns the species' sigh sound. +/datum/species/proc/get_sigh_sound(mob/living/carbon/human/human) + return + +/// Returns the species' sniff sound. +/datum/species/proc/get_sniff_sound(mob/living/carbon/human/human) + return + /// Returns the species' cough sound. /datum/species/proc/get_cough_sound(mob/living/carbon/human/human) return @@ -1529,7 +1460,7 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/get_types_to_preload() var/list/to_store = list() to_store += mutant_organs - for(var/obj/item/organ/external/horny as anything in external_organs) + for(var/obj/item/organ/horny as anything in mutant_organs) to_store += horny //Haha get it? //Don't preload brains, cause reuse becomes a horrible headache @@ -2115,6 +2046,10 @@ GLOBAL_LIST_EMPTY(features_by_species) /// Update the overlays if necessary /datum/species/proc/update_body_markings(mob/living/carbon/human/hooman) + if(HAS_TRAIT(hooman, TRAIT_INVISIBLE_MAN)) + remove_body_markings(hooman) + return + var/needs_update = FALSE for(var/datum/bodypart_overlay/simple/body_marking/marking as anything in body_markings) if(initial(marking.dna_feature_key) == body_markings[marking]) // dna is same as our species (sort of mini-cache), so no update needed diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index f5c3ae6b49903..501f3c782f29b 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -18,7 +18,7 @@ message = "pushes up their glasses." emote_type = EMOTE_VISIBLE -/datum/emote/living/carbon/human/glasses/can_run_emote(mob/user, status_check = TRUE, intentional) +/datum/emote/living/carbon/human/glasses/can_run_emote(mob/user, status_check = TRUE, intentional, params) var/obj/eyes_slot = user.get_item_by_slot(ITEM_SLOT_EYES) if(istype(eyes_slot, /obj/item/clothing/glasses/regular) || istype(eyes_slot, /obj/item/clothing/glasses/sunglasses)) return ..() @@ -66,9 +66,9 @@ only_forced_audio = TRUE vary = TRUE -/datum/emote/carbon/human/scream/run_emote(mob/user, params, type_override, intentional = FALSE) +/datum/emote/living/carbon/human/scream/can_run_emote(mob/user, status_check = TRUE , intentional, params) if(!intentional && HAS_TRAIT(user, TRAIT_ANALGESIA)) - return + return FALSE return ..() /datum/emote/living/carbon/human/scream/get_sound(mob/living/carbon/human/user) @@ -119,8 +119,6 @@ /datum/emote/living/carbon/human/wag/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return var/obj/item/organ/external/tail/oranges_accessory = user.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL) //I am so sorry my son //We bypass helpers here cause we already have the tail @@ -137,7 +135,7 @@ else . = "wags " + message -/datum/emote/living/carbon/human/wag/can_run_emote(mob/user, status_check, intentional) +/datum/emote/living/carbon/human/wag/can_run_emote(mob/user, status_check, intentional, params) var/obj/item/organ/external/tail/tail = user.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL) if(tail?.wag_flags & WAG_ABLE) return ..() @@ -150,8 +148,6 @@ /datum/emote/living/carbon/human/wing/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return var/obj/item/organ/external/wings/functional/wings = user.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS) if(isnull(wings)) CRASH("[type] ran on a mob that has no wings!") @@ -165,7 +161,7 @@ var/emote_verb = wings.wings_open ? "closes" : "opens" return "[emote_verb] [message]" -/datum/emote/living/carbon/human/wing/can_run_emote(mob/user, status_check = TRUE, intentional) +/datum/emote/living/carbon/human/wing/can_run_emote(mob/user, status_check = TRUE, intentional, params) if(!istype(user.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS), /obj/item/organ/external/wings/functional)) return FALSE return ..() @@ -178,7 +174,7 @@ ///Snowflake emotes only for le epic chimp /datum/emote/living/carbon/human/monkey -/datum/emote/living/carbon/human/monkey/can_run_emote(mob/user, status_check = TRUE, intentional) +/datum/emote/living/carbon/human/monkey/can_run_emote(mob/user, status_check = TRUE, intentional, params) if(ismonkey(user)) return ..() return FALSE diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 94df3d3c4333b..9816012218225 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -516,7 +516,7 @@ #undef CPR_PANIC_SPEED /mob/living/carbon/human/cuff_resist(obj/item/I) - if(dna?.check_mutation(/datum/mutation/human/hulk)) + if(HAS_TRAIT(src, TRAIT_HULK)) say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") if(..(I, cuff_break = FAST_CUFFBREAK)) dropItemToGround(I) @@ -980,10 +980,6 @@ /mob/living/carbon/human/updatehealth() . = ..() - if(HAS_TRAIT(src, TRAIT_IGNOREDAMAGESLOWDOWN)) - remove_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown) - remove_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown_flying) - return var/health_deficiency = max((maxHealth - health), staminaloss) if(health_deficiency >= 40) add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/damage_slowdown, TRUE, multiplicative_slowdown = health_deficiency / 75) @@ -1099,3 +1095,6 @@ /mob/living/carbon/human/species/zombie/infectious race = /datum/species/zombie/infectious + +/mob/living/carbon/human/species/voidwalker + race = /datum/species/voidwalker diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 1fe6555cddf9c..c561ca28999f1 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -57,15 +57,30 @@ return if_no_id //repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a separate proc as it'll be useful elsewhere -/mob/living/carbon/human/get_visible_name(add_id_name = TRUE) - if(HAS_TRAIT(src, TRAIT_UNKNOWN)) - return "Unknown" - var/list/identity = list(null, null) +/mob/living/carbon/human/get_visible_name(add_id_name = TRUE, force_real_name = FALSE) + var/list/identity = list(null, null, null) SEND_SIGNAL(src, COMSIG_HUMAN_GET_VISIBLE_NAME, identity) var/signal_face = LAZYACCESS(identity, VISIBLE_NAME_FACE) var/signal_id = LAZYACCESS(identity, VISIBLE_NAME_ID) + var/force_set = LAZYACCESS(identity, VISIBLE_NAME_FORCED) + if(force_set) // our name is overriden by something + return signal_face // no need to null-check, because force_set will always set a signal_face var/face_name = !isnull(signal_face) ? signal_face : get_face_name("") var/id_name = !isnull(signal_id) ? signal_id : get_id_name("") + if (force_real_name) + var/fake_name + if (face_name && face_name != real_name) + fake_name = face_name + if(add_id_name && id_name && id_name != real_name) + if (!isnull(fake_name) && id_name != face_name) + fake_name = "[fake_name]/[id_name]" + else + fake_name = id_name + if (HAS_TRAIT(src, TRAIT_UNKNOWN) || (!face_name && !id_name)) + fake_name = "Unknown" + return "[real_name][fake_name ? " (as [fake_name])" : ""]" + if(HAS_TRAIT(src, TRAIT_UNKNOWN)) + return "Unknown" if(face_name) if(add_id_name && id_name && (id_name != face_name)) return "[face_name] (as [id_name])" @@ -95,6 +110,11 @@ var/obj/item/card/id/id = wear_id if(HAS_TRAIT(src, TRAIT_UNKNOWN)) . = if_no_id //You get NOTHING, no id name, good day sir + var/list/identity = list(null, null, null) + SEND_SIGNAL(src, COMSIG_HUMAN_GET_FORCED_NAME, identity) + if(identity[VISIBLE_NAME_FORCED]) + . = identity[VISIBLE_NAME_FACE] // to return forced names when unknown, instead of ID + return if(istype(wallet)) id = wallet.front_id if(istype(id)) diff --git a/code/modules/mob/living/carbon/human/human_say.dm b/code/modules/mob/living/carbon/human/human_say.dm index 0ce34ffa27205..8edeeb8088403 100644 --- a/code/modules/mob/living/carbon/human/human_say.dm +++ b/code/modules/mob/living/carbon/human/human_say.dm @@ -73,7 +73,7 @@ var/area/our_area = get_area(src) if(our_area.area_flags & BINARY_JAMMING) return FALSE - return dongle.translate_binary + return (dongle.special_channels & RADIO_SPECIAL_BINARY) /mob/living/carbon/human/radio(message, list/message_mods = list(), list/spans, language) //Poly has a copy of this, lazy bastard . = ..() diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index fe5817eab2780..77b73cae9bc4d 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -133,9 +133,9 @@ There are several things that need to be remembered: var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) my_chest?.worn_uniform_offset?.apply_offset(uniform_overlay) overlays_standing[UNIFORM_LAYER] = uniform_overlay - apply_overlay(UNIFORM_LAYER) - update_mutant_bodyparts() + update_body_parts() + apply_overlay(UNIFORM_LAYER) /mob/living/carbon/human/update_worn_id(update_obscured = TRUE) remove_overlay(ID_LAYER) @@ -434,12 +434,10 @@ There are several things that need to be remembered: var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST) my_chest?.worn_suit_offset?.apply_offset(suit_overlay) overlays_standing[SUIT_LAYER] = suit_overlay - update_body_parts() - update_mutant_bodyparts() + update_body_parts() apply_overlay(SUIT_LAYER) - /mob/living/carbon/human/update_pockets() if(client && hud_used) var/atom/movable/screen/inventory/inv @@ -489,7 +487,7 @@ There are several things that need to be remembered: overlays_standing[FACEMASK_LAYER] = mask_overlay apply_overlay(FACEMASK_LAYER) - update_mutant_bodyparts() //e.g. upgate needed because mask now hides lizard snout + update_body_parts() //e.g. upgate needed because mask now hides lizard snout /mob/living/carbon/human/update_worn_back(update_obscured = TRUE) remove_overlay(BACK_LAYER) @@ -548,12 +546,72 @@ There are several things that need to be remembered: hands += hand_overlay return hands -/proc/wear_female_version(t_color, icon, layer, type, greyscale_colors) - var/index = "[t_color]-[greyscale_colors]" - var/icon/female_clothing_icon = GLOB.female_clothing_icons[index] - if(!female_clothing_icon) //Create standing/laying icons if they don't exist - generate_female_clothing(index, t_color, icon, type) - return mutable_appearance(GLOB.female_clothing_icons[index], layer = -layer) +/// Modifies a sprite slightly to conform to female body shapes +/proc/wear_female_version(icon_state, icon, type, greyscale_colors) + var/index = "[icon_state]-[greyscale_colors]" + var/static/list/female_clothing_icons = list() + var/icon/female_clothing_icon = female_clothing_icons[index] + if(!female_clothing_icon) //Create standing/laying icons if they don't exist + var/female_icon_state = "female[type == FEMALE_UNIFORM_FULL ? "_full" : ((!type || type & FEMALE_UNIFORM_TOP_ONLY) ? "_top" : "")][type & FEMALE_UNIFORM_NO_BREASTS ? "_no_breasts" : ""]" + var/icon/female_cropping_mask = icon('icons/mob/clothing/under/masking_helpers.dmi', female_icon_state) + female_clothing_icon = icon(icon, icon_state) + female_clothing_icon.Blend(female_cropping_mask, ICON_MULTIPLY) + female_clothing_icon = fcopy_rsc(female_clothing_icon) + female_clothing_icons[index] = female_clothing_icon + + return icon(female_clothing_icon) + +// These coordonates point to roughly somewhere in the middle of the left leg +// Used in approximating what color the pants of clothing should be +#define LEG_SAMPLE_X_LOWER 13 +#define LEG_SAMPLE_X_UPPER 14 + +#define LEG_SAMPLE_Y_LOWER 8 +#define LEG_SAMPLE_Y_UPPER 9 + +/// Modifies a sprite to conform to digitigrade body shapes +/proc/wear_digi_version(icon/base_icon, key, greyscale_config = /datum/greyscale_config/jumpsuit/worn_digi, greyscale_colors) + ASSERT(key, "wear_digi_version: no key passed") + ASSERT(ispath(greyscale_config, /datum/greyscale_config), "wear_digi_version: greyscale_config is not a valid path (got: [greyscale_config])") + // items with greyscale colors containing multiple colors are invalid + if(isnull(greyscale_colors) || length(SSgreyscale.ParseColorString(greyscale_colors)) > 1) + var/pant_color + // approximates the color of the pants by sampling a few pixels in the middle of the left leg + for(var/x in LEG_SAMPLE_X_LOWER to LEG_SAMPLE_X_UPPER) + for(var/y in LEG_SAMPLE_Y_LOWER to LEG_SAMPLE_Y_UPPER) + var/xy_color = base_icon.GetPixel(x, y) + pant_color = pant_color ? BlendRGB(pant_color, xy_color, 0.5) : xy_color + + greyscale_colors = pant_color || "#1d1d1d" // black pants always look good + + var/index = "[key]-[greyscale_config]-[greyscale_colors]" + var/static/list/digitigrade_clothing_icons = list() + var/icon/digitigrade_clothing_icon = digitigrade_clothing_icons[index] + if(!digitigrade_clothing_icon) + var/static/icon/torso_mask + if(!torso_mask) + torso_mask = icon('icons/mob/clothing/under/masking_helpers.dmi', "digi_torso_mask") + var/static/icon/leg_mask + if(!leg_mask) + leg_mask = icon('icons/mob/clothing/under/masking_helpers.dmi', "digi_leg_mask") + + base_icon.Blend(leg_mask, ICON_SUBTRACT) // cuts the legs off + + var/icon/leg_icon = SSgreyscale.GetColoredIconByType(greyscale_config, greyscale_colors) + leg_icon.Blend(torso_mask, ICON_SUBTRACT) // cuts the torso off + + base_icon.Blend(leg_icon, ICON_OVERLAY) // puts the new legs on + + digitigrade_clothing_icon = fcopy_rsc(base_icon) + digitigrade_clothing_icons[index] = digitigrade_clothing_icon + + return icon(digitigrade_clothing_icon) + +#undef LEG_SAMPLE_X_LOWER +#undef LEG_SAMPLE_X_UPPER + +#undef LEG_SAMPLE_Y_LOWER +#undef LEG_SAMPLE_Y_UPPER /mob/living/carbon/human/proc/get_overlays_copy(list/unwantedLayers) var/list/out = new @@ -689,11 +747,30 @@ generate/load female uniform sprites matching all previously decided variables //Find a valid layer from variables+arguments var/layer2use = alternate_worn_layer || default_layer - var/mutable_appearance/standing + var/mob/living/carbon/wearer = loc + var/is_digi = istype(wearer) && (wearer.bodyshape & BODYSHAPE_DIGITIGRADE) && !wearer.is_digitigrade_squished() + + var/mutable_appearance/standing // this is the actual resulting MA + var/icon/building_icon // used to construct an icon across multiple procs before converting it to MA if(female_uniform) - standing = wear_female_version(t_state, file2use, layer2use, female_uniform, greyscale_colors) //should layer2use be in sync with the adjusted value below? needs testing - shiz - if(!standing) - standing = mutable_appearance(file2use, t_state, -layer2use) + building_icon = wear_female_version( + icon_state = t_state, + icon = file2use, + type = female_uniform, + greyscale_colors = greyscale_colors, + ) + if(!isinhands && is_digi && (supports_variations_flags & CLOTHING_DIGITIGRADE_MASK)) + building_icon = wear_digi_version( + base_icon = building_icon || icon(file2use, t_state), + key = "[t_state]-[file2use]-[female_uniform]", + greyscale_config = digitigrade_greyscale_config_worn || greyscale_config_worn, + greyscale_colors = digitigrade_greyscale_colors || greyscale_colors || color, + ) + if(building_icon) + standing = mutable_appearance(building_icon, layer = -layer2use) + + // no special handling done, default it + standing ||= mutable_appearance(file2use, t_state, layer = -layer2use) //Get the overlays for this item when it's being worn //eg: ammo counters, primed grenade flashes, etc. diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index a24e9cd070d86..11f2c0b989fe5 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -52,6 +52,9 @@ if(looking_for == belt) return ITEM_SLOT_BELT + if(belt && (looking_for in belt)) + return ITEM_SLOT_BELTPACK + if(looking_for == wear_id) return ITEM_SLOT_ID @@ -197,6 +200,9 @@ return s_store = equipping update_suit_storage() + if(ITEM_SLOT_BELTPACK) + if(!belt || !belt.atom_storage?.attempt_insert(equipping, src, override = TRUE, force = indirect_action ? STORAGE_SOFT_LOCKED : STORAGE_NOT_LOCKED)) + not_handled = TRUE else to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index d8119c6a5279a..6bdbf8322f26e 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -207,7 +207,7 @@ if(thermal_protection_flags & HAND_RIGHT) thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - return min(1, thermal_protection) + return min(1, round(thermal_protection, 0.001)) //See proc/get_heat_protection_flags(temperature) for the description of this proc. /mob/living/carbon/human/proc/get_cold_protection_flags(temperature) @@ -268,7 +268,7 @@ if(thermal_protection_flags & HAND_RIGHT) thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - return min(1, thermal_protection) + return min(1, round(thermal_protection, 0.001)) /mob/living/carbon/human/has_smoke_protection() if(isclothing(wear_mask)) diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 1d7c328f88232..d4dea2abfcc6a 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -19,7 +19,6 @@ BODY_ZONE_CHEST = /obj/item/bodypart/chest, ) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID - mutant_bodyparts = list("wings" = "None") mutantbrain = /obj/item/organ/internal/brain/dullahan mutanteyes = /obj/item/organ/internal/eyes/dullahan mutanttongue = /obj/item/organ/internal/tongue/dullahan diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 4c307107f153d..669b4f6b18dbc 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -11,10 +11,8 @@ siemens_coeff = 0.5 //They thrive on energy payday_modifier = 1.0 inherent_traits = list( - TRAIT_NO_UNDERWEAR, TRAIT_MUTANT_COLORS, TRAIT_FIXED_MUTANT_COLORS, - TRAIT_FIXED_HAIRCOLOR, TRAIT_AGENDER, ) changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT @@ -247,12 +245,9 @@ mutantbrain = /obj/item/organ/internal/brain/lustrous changesource_flags = MIRROR_BADMIN | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN inherent_traits = list( - TRAIT_NO_UNDERWEAR, TRAIT_MUTANT_COLORS, TRAIT_FIXED_MUTANT_COLORS, - TRAIT_FIXED_HAIRCOLOR, TRAIT_AGENDER, - TRAIT_TENACIOUS, // this doesn't work. tenacity is an element TRAIT_NOBREATH, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index 4866501584a96..8a040425a9747 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -3,11 +3,10 @@ name = "Felinid" id = SPECIES_FELINE examine_limb_id = SPECIES_HUMAN - mutant_bodyparts = list("ears" = "Cat", "wings" = "None") mutantbrain = /obj/item/organ/internal/brain/felinid mutanttongue = /obj/item/organ/internal/tongue/cat mutantears = /obj/item/organ/internal/ears/cat - external_organs = list( + mutant_organs = list( /obj/item/organ/external/tail/cat = "Cat", ) inherent_traits = list( @@ -21,6 +20,8 @@ family_heirlooms = list(/obj/item/toy/cattoy) /// When false, this is a felinid created by mass-purrbation var/original_felinid = TRUE + /// Yummy! + species_cookie = /obj/item/food/nugget // Prevents felinids from taking toxin damage from carpotoxin /datum/species/human/felinid/handle_chemical(datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired) @@ -97,6 +98,17 @@ return 'sound/voice/human/female_sneeze1.ogg' return 'sound/voice/human/male_sneeze1.ogg' +/datum/species/human/felinid/get_sigh_sound(mob/living/carbon/human/felinid) + if(felinid.physique == FEMALE) + return 'sound/voice/human/female_sigh.ogg' + return 'sound/voice/human/male_sigh.ogg' + +/datum/species/human/felinid/get_sniff_sound(mob/living/carbon/human/felinid) + if(felinid.physique == FEMALE) + return 'sound/voice/human/female_sniff.ogg' + return 'sound/voice/human/male_sniff.ogg' + + /proc/mass_purrbation() for(var/mob in GLOB.human_list) @@ -138,7 +150,7 @@ // stored_feature_id is only set once (the first time an organ is inserted), so this should be safe. var/obj/item/organ/internal/ears/cat/kitty_ears = new kitty_ears.Insert(soon_to_be_felinid, special = TRUE, movement_flags = DELETE_IF_REPLACED) - if(should_external_organ_apply_to(/obj/item/organ/external/tail/cat, soon_to_be_felinid)) //only give them a tail if they actually have sprites for it / are a compatible subspecies. + if(should_visual_organ_apply_to(/obj/item/organ/external/tail/cat, soon_to_be_felinid)) //only give them a tail if they actually have sprites for it / are a compatible subspecies. var/obj/item/organ/external/tail/cat/kitty_tail = new kitty_tail.Insert(soon_to_be_felinid, special = TRUE, movement_flags = DELETE_IF_REPLACED) @@ -161,8 +173,8 @@ old_tail.Remove(purrbated_human, special = TRUE) qdel(old_tail) // Locate does not work on assoc lists, so we do it by hand - for(var/external_organ in target_species.external_organs) - if(!should_external_organ_apply_to(external_organ, purrbated_human)) + for(var/external_organ in target_species.mutant_organs) + if(!should_visual_organ_apply_to(external_organ, purrbated_human)) continue if(ispath(external_organ, /obj/item/organ/external/tail)) var/obj/item/organ/external/tail/new_tail = new external_organ() diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 44e8981c55315..0f2072b777353 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -2,10 +2,6 @@ name = "Flyperson" plural_form = "Flypeople" id = SPECIES_FLYPERSON - inherent_traits = list( - TRAIT_TACKLING_FRAIL_ATTACKER, - TRAIT_ANTENNAE, - ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG meat = /obj/item/food/meat/slab/human/mutant/fly mutanteyes = /obj/item/organ/internal/eyes/fly diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 98a4518c4fa2e..be6357f6b4f21 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -4,7 +4,6 @@ inherent_traits = list( TRAIT_USES_SKINTONES, ) - mutant_bodyparts = list("wings" = "None") skinned_type = /obj/item/stack/sheet/animalhide/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 1.1 @@ -79,6 +78,16 @@ 'sound/voice/human/manlaugh2.ogg', ) +/datum/species/human/get_sigh_sound(mob/living/carbon/human/human) + if(human.physique == FEMALE) + return 'sound/voice/human/female_sigh.ogg' + return 'sound/voice/human/male_sigh.ogg' + +/datum/species/human/get_sniff_sound(mob/living/carbon/human/human) + if(human.physique == FEMALE) + return 'sound/voice/human/female_sniff.ogg' + return 'sound/voice/human/male_sniff.ogg' + /datum/species/human/get_species_description() return "Humans are the dominant species in the known galaxy. \ Their kind extend from old Earth to the edges of known space." diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 276d4a0fa7a5f..811ae45ea8cb3 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -412,7 +412,7 @@ return data -/datum/action/innate/swap_body/ui_act(action, params) +/datum/action/innate/swap_body/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 2a83efbda3e7e..65945467f5eb1 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -5,12 +5,10 @@ id = SPECIES_LIZARD inherent_traits = list( TRAIT_MUTANT_COLORS, - TRAIT_TACKLING_TAILED_DEFENDER, ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_REPTILE - mutant_bodyparts = list("legs" = "Normal Legs") body_markings = list(/datum/bodypart_overlay/simple/body_marking/lizard = "None") - external_organs = list( + mutant_organs = list( /obj/item/organ/external/horns = "None", /obj/item/organ/external/frills = "None", /obj/item/organ/external/snout = "Round", @@ -101,6 +99,16 @@ /datum/species/lizard/get_laugh_sound(mob/living/carbon/human/lizard) return 'sound/voice/lizard/lizard_laugh1.ogg' +/datum/species/lizard/get_sigh_sound(mob/living/carbon/human/lizard) + if(lizard.physique == FEMALE) + return 'sound/voice/human/female_sigh.ogg' + return 'sound/voice/human/male_sigh.ogg' + +/datum/species/lizard/get_sniff_sound(mob/living/carbon/human/lizard) + if(lizard.physique == FEMALE) + return 'sound/voice/human/female_sniff.ogg' + return 'sound/voice/human/male_sniff.ogg' + /datum/species/lizard/get_physical_attributes() return "Lizardpeople can withstand slightly higher temperatures than most species, but they are very vulnerable to the cold \ and can't regulate their body-temperature internally, making the vacuum of space extremely deadly to them." diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index e1163f1387d5c..1ca2979d3d6fc 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -1,9 +1,9 @@ #define MONKEY_SPEC_ATTACK_BITE_MISS_CHANCE 25 /datum/species/monkey - name = "Monkey" + name = "\improper Monkey" id = SPECIES_MONKEY - external_organs = list( + mutant_organs = list( /obj/item/organ/external/tail/monkey = "Monkey", ) mutanttongue = /obj/item/organ/internal/tongue/monkey @@ -12,7 +12,6 @@ meat = /obj/item/food/meat/slab/monkey knife_butcher_results = list(/obj/item/food/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) inherent_traits = list( - TRAIT_GUN_NATURAL, TRAIT_NO_AUGMENTS, TRAIT_NO_BLOOD_OVERLAY, TRAIT_NO_DNA_COPY, @@ -22,6 +21,7 @@ ) no_equip_flags = ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_SUITSTORE changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN | SLIME_EXTRACT + species_cookie = /obj/item/food/grown/banana inherent_factions = list(FACTION_MONKEY) sexes = FALSE species_language_holder = /datum/language_holder/monkey @@ -127,7 +127,7 @@ /obj/item/organ/internal/brain/primate //Ook Ook name = "Primate Brain" desc = "This wad of meat is small, but has enlaged occipital lobes for spotting bananas." - organ_traits = list(TRAIT_CAN_STRIP, TRAIT_PRIMITIVE) // No literacy or advanced tool usage. + organ_traits = list(TRAIT_CAN_STRIP, TRAIT_PRIMITIVE, TRAIT_GUN_NATURAL) // No literacy or advanced tool usage. actions_types = list(/datum/action/item_action/organ_action/toggle_trip) /// Will this monkey stumble if they are crossed by a simple mob or a carbon in combat mode? Toggable by monkeys with clients, and is messed automatically set to true by monkey AI. var/tripping = TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 26efe358221fc..f9a17b310fae9 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -2,17 +2,14 @@ name = "\improper Mothman" plural_form = "Mothmen" id = SPECIES_MOTH - inherent_traits = list( - TRAIT_TACKLING_WINGED_ATTACKER, - TRAIT_ANTENNAE, - ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG body_markings = list(/datum/bodypart_overlay/simple/body_marking/moth = "None") - external_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") + mutant_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") meat = /obj/item/food/meat/slab/human/mutant/moth mutanttongue = /obj/item/organ/internal/tongue/moth mutanteyes = /obj/item/organ/internal/eyes/moth changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + species_cookie = /obj/item/food/muffin/moffin species_language_holder = /datum/language_holder/moth death_sound = 'sound/voice/moth/moth_death.ogg' payday_modifier = 1.0 @@ -27,12 +24,6 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/moth, ) -/datum/species/moth/regenerate_organs(mob/living/carbon/C, datum/species/old_species, replace_current= TRUE, list/excluded_zones, visual_only) - . = ..() - if(ishuman(C)) - var/mob/living/carbon/human/H = C - handle_mutant_bodyparts(H) - /datum/species/moth/on_species_gain(mob/living/carbon/human/human_who_gained_species, datum/species/old_species, pref_load) . = ..() RegisterSignal(human_who_gained_species, COMSIG_MOB_APPLY_DAMAGE_MODIFIERS, PROC_REF(damage_weakness)) @@ -97,6 +88,16 @@ /datum/species/moth/get_laugh_sound(mob/living/carbon/human/moth) return 'sound/voice/moth/moth_laugh1.ogg' +/datum/species/moth/get_sigh_sound(mob/living/carbon/human/moth) + if(moth.physique == FEMALE) + return 'sound/voice/human/female_sigh.ogg' + return 'sound/voice/human/male_sigh.ogg' + +/datum/species/moth/get_sniff_sound(mob/living/carbon/human/moth) + if(moth.physique == FEMALE) + return 'sound/voice/human/female_sniff.ogg' + return 'sound/voice/human/male_sniff.ogg' + /datum/species/moth/get_physical_attributes() return "Moths have large and fluffy wings, which help them navigate the station if gravity is offline by pushing the air around them. \ Due to that, it isn't of much use out in space. Their eyes are very sensitive." diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index 14d6c1437f0da..1e2b73616d91c 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -6,7 +6,7 @@ fixed_mut_color = "#DBBF92" - external_organs = list(/obj/item/organ/external/mushroom_cap = "Round") + mutant_organs = list(/obj/item/organ/external/mushroom_cap = "Round") inherent_traits = list( TRAIT_MUTANT_COLORS, diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 0cb0d9d85f084..8b347a22cca96 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -27,7 +27,7 @@ heatmod = 1.5 payday_modifier = 1.0 breathid = GAS_PLASMA - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN species_cookie = /obj/item/reagent_containers/condiment/milk outfit_important_for_life = /datum/outfit/plasmaman species_language_holder = /datum/language_holder/skeleton diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index bcc0b6c4b677c..e5e735b31e44f 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -7,7 +7,7 @@ TRAIT_MUTANT_COLORS, TRAIT_PLANT_SAFE, ) - external_organs = list( + mutant_organs = list( /obj/item/organ/external/pod_hair = "None", ) inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index b2027b9e1a654..7f1173841effd 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -116,30 +116,3 @@ owner.apply_status_effect(applied_status) if (!owner.has_status_effect(applied_status)) owner.take_overall_damage(brute = 0.5 * seconds_per_tick, burn = 0.5 * seconds_per_tick, required_bodytype = BODYTYPE_ORGANIC) - -/// Heal in darkness and potentially trigger other effects, persists for a short duration after leaving -/datum/status_effect/shadow_regeneration - id = "shadow_regeneration" - duration = 2 SECONDS - status_type = STATUS_EFFECT_REFRESH - alert_type = /atom/movable/screen/alert/status_effect/shadow_regeneration - -/datum/status_effect/shadow_regeneration/on_apply() - . = ..() - if (!.) - return FALSE - heal_owner() - return TRUE - -/datum/status_effect/shadow_regeneration/refresh(effect) - . = ..() - heal_owner() - -/// Regenerate health whenever this status effect is applied or reapplied -/datum/status_effect/shadow_regeneration/proc/heal_owner() - owner.heal_overall_damage(brute = 1, burn = 1, required_bodytype = BODYTYPE_ORGANIC) - -/atom/movable/screen/alert/status_effect/shadow_regeneration - name = "Shadow Regeneration" - desc = "Bathed in soothing darkness, you will slowly heal yourself." - icon_state = "lightless" diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 111b35cb7f7bf..d3dfb81352004 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -17,7 +17,6 @@ TRAIT_NO_MIRROR_REFLECTION, ) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID - mutant_bodyparts = list("wings" = "None") changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN exotic_bloodtype = "U" blood_deficiency_drain_rate = BLOOD_DEFICIENCY_MODIFIER // vampires already passively lose blood, so this just makes them lose it slightly more quickly when they have blood deficiency. diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index e59a6328aa72e..5b43bf980c4a1 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -11,6 +11,8 @@ obscured |= ITEM_SLOT_NECK if(hidden_slots & HIDEMASK) obscured |= ITEM_SLOT_MASK + if(hidden_slots & HIDEBELT) + obscured |= ITEM_SLOT_BELT if(hidden_slots & HIDEEYES) obscured |= ITEM_SLOT_EYES if(hidden_slots & HIDEEARS) diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 67358fa912a3b..da7f817db75ed 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -4,6 +4,16 @@ mob_type_allowed_typecache = /mob/living mob_type_blacklist_typecache = list(/mob/living/brain) +/datum/emote/living/taunt + key = "taunt" + key_third_person = "taunts" + message = "taunts!" + cooldown = 1.6 SECONDS //note when changing this- this is used by the matrix taunt to block projectiles. + +/datum/emote/living/taunt/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + user.spin(TAUNT_EMOTE_DURATION, 0.1 SECONDS) + /datum/emote/living/blush key = "blush" key_third_person = "blushes" @@ -63,9 +73,9 @@ /datum/emote/living/collapse/run_emote(mob/user, params, type_override, intentional) . = ..() - if(. && isliving(user)) - var/mob/living/L = user - L.Unconscious(40) + if(isliving(user)) + var/mob/living/living = user + living.Unconscious(4 SECONDS) /datum/emote/living/dance key = "dance" @@ -95,7 +105,7 @@ message_animal_or_basic = custom_message . = ..() message_animal_or_basic = initial(message_animal_or_basic) - if(!. && !user.can_speak() || user.getOxyLoss() >= 50) + if(!user.can_speak() || user.getOxyLoss() >= 50) return //stop the sound if oxyloss too high/cant speak var/mob/living/carbon/carbon_user = user // For masks that give unique death sounds @@ -117,9 +127,9 @@ /datum/emote/living/faint/run_emote(mob/user, params, type_override, intentional) . = ..() - if(. && isliving(user)) - var/mob/living/L = user - L.SetSleeping(200) + if(isliving(user)) + var/mob/living/living = user + living.SetSleeping(20 SECONDS) /datum/emote/living/flap key = "flap" @@ -130,7 +140,7 @@ /datum/emote/living/flap/run_emote(mob/user, params, type_override, intentional) . = ..() - if(. && ishuman(user)) + if(ishuman(user)) var/mob/living/carbon/human/human_user = user var/open = FALSE var/obj/item/organ/external/wings/functional/wings = human_user.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS) @@ -233,10 +243,10 @@ /datum/emote/living/jump/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return FALSE - animate(user, pixel_y = user.pixel_y + 4, time = 0.1 SECONDS) - animate(pixel_y = user.pixel_y - 4, time = 0.1 SECONDS) + + var/original_transform = user.transform + animate(user, transform = user.transform.Translate(0, 4), time = 0.1 SECONDS, flags = ANIMATION_PARALLEL) + animate(transform = original_transform, time = 0.1 SECONDS) /datum/emote/living/jump/get_sound(mob/living/user) return 'sound/weapons/thudswoosh.ogg' @@ -248,10 +258,11 @@ /datum/emote/living/kiss/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return var/kiss_type = /obj/item/hand_item/kisser + if(HAS_TRAIT(user, TRAIT_SYNDIE_KISS)) + kiss_type = /obj/item/hand_item/kisser/syndie + if(HAS_TRAIT(user, TRAIT_KISS_OF_DEATH)) kiss_type = /obj/item/hand_item/kisser/death @@ -271,7 +282,7 @@ audio_cooldown = 5 SECONDS vary = TRUE -/datum/emote/living/laugh/can_run_emote(mob/living/user, status_check = TRUE , intentional) +/datum/emote/living/laugh/can_run_emote(mob/living/user, status_check = TRUE , intentional, params) return ..() && user.can_speak(allow_mimes = TRUE) /datum/emote/living/laugh/get_sound(mob/living/carbon/human/user) @@ -334,7 +345,7 @@ 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) +/datum/emote/living/cough/can_run_emote(mob/user, status_check = TRUE , intentional, params) return !HAS_TRAIT(user, TRAIT_SOOTHED_THROAT) && ..() /datum/emote/living/cough/get_sound(mob/living/carbon/human/user) @@ -355,6 +366,8 @@ message = "screams!" message_mime = "acts out a scream!" emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE + mob_type_blacklist_typecache = list(/mob/living/brain, /mob/living/carbon/human) + sound_wall_ignore = TRUE /datum/emote/living/scream/run_emote(mob/user, params, type_override, intentional = FALSE) if(!intentional && HAS_TRAIT(user, TRAIT_ANALGESIA)) @@ -384,8 +397,6 @@ #define SHIVER_LOOP_DURATION (1 SECONDS) /datum/emote/living/shiver/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return FALSE animate(user, pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) for(var/i in 1 to SHIVER_LOOP_DURATION / (0.2 SECONDS)) //desired total duration divided by the iteration duration to give the necessary iteration count animate(pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) @@ -399,6 +410,7 @@ message = "sighs." message_mime = "acts out an exaggerated silent sigh." emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE + vary = TRUE /datum/emote/living/sigh/run_emote(mob/living/user, params, type_override, intentional) . = ..() @@ -407,6 +419,11 @@ var/image/emote_animation = image('icons/mob/human/emote_visuals.dmi', user, "sigh") flick_overlay_global(emote_animation, GLOB.clients, 2.0 SECONDS) +/datum/emote/living/sigh/get_sound(mob/living/carbon/human/user) + if(!istype(user)) + return + return user.dna.species.get_sigh_sound(user) + /datum/emote/living/sit key = "sit" key_third_person = "sits" @@ -428,6 +445,13 @@ message = "sniffs." message_mime = "sniffs silently." emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE + vary = TRUE + +/datum/emote/living/sniff/get_sound(mob/living/carbon/human/user) + if(!istype(user)) + return + return user.dna.species.get_sniff_sound(user) + /datum/emote/living/snore key = "snore" @@ -461,10 +485,10 @@ /datum/emote/living/surrender/run_emote(mob/user, params, type_override, intentional) . = ..() - if(. && isliving(user)) - var/mob/living/L = user - L.Paralyze(200) - L.remove_status_effect(/datum/status_effect/grouped/surrender) + if(isliving(user)) + var/mob/living/living = user + living.Paralyze(20 SECONDS) + living.remove_status_effect(/datum/status_effect/grouped/surrender) /datum/emote/living/sway key = "sway" @@ -473,8 +497,6 @@ /datum/emote/living/sway/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return FALSE animate(user, pixel_x = user.pixel_x + 2, time = 0.5 SECONDS) for(var/i in 1 to 2) animate(pixel_x = user.pixel_x - 4, time = 1.0 SECONDS) @@ -494,8 +516,6 @@ #define TREMBLE_LOOP_DURATION (4.4 SECONDS) /datum/emote/living/tremble/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return FALSE animate(user, pixel_x = user.pixel_x + 2, time = 0.2 SECONDS) for(var/i in 1 to TREMBLE_LOOP_DURATION / (0.4 SECONDS)) //desired total duration divided by the iteration duration to give the necessary iteration count animate(pixel_x = user.pixel_x - 2, time = 0.2 SECONDS) @@ -510,8 +530,6 @@ /datum/emote/living/twitch/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return FALSE animate(user, pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) animate(time = 0.1 SECONDS) @@ -525,8 +543,6 @@ /datum/emote/living/twitch_s/run_emote(mob/living/user, params, type_override, intentional) . = ..() - if(!.) - return FALSE animate(user, pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) @@ -616,8 +632,36 @@ key_third_person = "custom" message = null -/datum/emote/living/custom/can_run_emote(mob/user, status_check, intentional) - . = ..() && intentional +/datum/emote/living/custom/can_run_emote(mob/user, status_check, intentional, params) + . = ..() + if(!. || !intentional) + return FALSE + + if(!isnull(user.ckey) && is_banned_from(user.ckey, "Emote")) + to_chat(user, span_boldwarning("You cannot send custom emotes (banned).")) + return FALSE + + if(QDELETED(user)) + return FALSE + + if(user.client && user.client.prefs.muted & MUTE_IC) + to_chat(user, span_boldwarning("You cannot send IC messages (muted).")) + return FALSE + + var/our_message = params ? params : get_custom_emote_from_user() + + if(!emote_is_valid(user, our_message)) + return FALSE + + if(!params) + var/user_emote_type = get_custom_emote_type_from_user() + + if(!user_emote_type) + return FALSE + + emote_type = user_emote_type + + message = our_message /datum/emote/living/custom/proc/emote_is_valid(mob/user, input) // We're assuming clientless mobs custom emoting is something codebase-driven and not player-driven. @@ -676,53 +720,16 @@ return FALSE /datum/emote/living/custom/run_emote(mob/user, params, type_override = null, intentional = FALSE) - if(!can_run_emote(user, TRUE, intentional)) - return FALSE - - if(!isnull(user.ckey) && is_banned_from(user.ckey, "Emote")) - to_chat(user, span_boldwarning("You cannot send custom emotes (banned).")) - return FALSE - - if(QDELETED(user)) - return FALSE - - if(user.client && user.client.prefs.muted & MUTE_IC) - to_chat(user, span_boldwarning("You cannot send IC messages (muted).")) - return FALSE - - message = params ? params : get_custom_emote_from_user() - - if(!emote_is_valid(user, message)) - message = null - return FALSE - - if(!params) - var/user_emote_type = get_custom_emote_type_from_user() - - if(!user_emote_type) - return FALSE - - emote_type = user_emote_type - else if(type_override) + if(params && type_override) emote_type = type_override - . = ..() - + ///Reset the message and emote type after it's run. message = null emote_type = EMOTE_VISIBLE /datum/emote/living/custom/replace_pronoun(mob/user, message) return message -/datum/emote/living/beep - key = "beep" - key_third_person = "beeps" - message = "beeps." - message_param = "beeps at %t." - sound = 'sound/machines/twobeep.ogg' - mob_type_allowed_typecache = list(/mob/living/brain, /mob/living/silicon, /mob/living/basic/orbie) - emote_type = EMOTE_AUDIBLE - /datum/emote/living/inhale key = "inhale" key_third_person = "inhales" diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2873dab1a71bc..235bf210c3ea1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -13,7 +13,6 @@ faction += "[REF(src)]" GLOB.mob_living_list += src SSpoints_of_interest.make_point_of_interest(src) - update_fov() gravity_setup() ADD_TRAIT(src, TRAIT_UNIQUE_IMMERSE, INNATE_TRAIT) @@ -169,13 +168,8 @@ if(now_pushing) return TRUE - var/they_can_move = TRUE - var/their_combat_mode = FALSE - if(isliving(M)) var/mob/living/L = M - their_combat_mode = L.combat_mode - they_can_move = L.mobility_flags & MOBILITY_MOVE //Also spread diseases for(var/thing in diseases) var/datum/disease/D = thing @@ -205,22 +199,7 @@ return TRUE if(!M.buckled && !M.has_buckled_mobs()) - var/mob_swap = FALSE - var/too_strong = (M.move_resist > move_force) //can't swap with immovable objects unless they help us - if(!they_can_move) //we have to physically move them - if(!too_strong) - mob_swap = TRUE - else - //You can swap with the person you are dragging on grab intent, and restrained people in most cases - if(M.pulledby == src && !too_strong) - mob_swap = TRUE - else if( - !(HAS_TRAIT(M, TRAIT_NOMOBSWAP) || HAS_TRAIT(src, TRAIT_NOMOBSWAP)) &&\ - ((HAS_TRAIT(M, TRAIT_RESTRAINED) && !too_strong) || !their_combat_mode) &&\ - (HAS_TRAIT(src, TRAIT_RESTRAINED) || !combat_mode) - ) - mob_swap = TRUE - if(mob_swap) + if(can_mobswap_with(M)) //switch our position with M if(loc && !loc.Adjacent(M.loc)) return TRUE @@ -273,6 +252,46 @@ if(prob(I.block_chance*2)) return +/mob/living/proc/can_mobswap_with(mob/other) + if (HAS_TRAIT(other, TRAIT_NOMOBSWAP) || HAS_TRAIT(src, TRAIT_NOMOBSWAP)) + return FALSE + + var/they_can_move = TRUE + var/their_combat_mode = FALSE + + if(isliving(other)) + var/mob/living/other_living = other + their_combat_mode = other_living.combat_mode + they_can_move = other_living.mobility_flags & MOBILITY_MOVE + + var/too_strong = other.move_resist > move_force + + // They cannot move, see if we can push through them + if (!they_can_move) + return !too_strong + + // We are pulling them and can move through + if (other.pulledby == src && !too_strong) + return TRUE + + // If we're in combat mode and not restrained we don't try to pass through people + if (combat_mode && !HAS_TRAIT(src, TRAIT_RESTRAINED)) + return FALSE + + // Nor can we pass through non-restrained people in combat mode (or if they're restrained but still too strong for us) + if (their_combat_mode && (!HAS_TRAIT(other, TRAIT_RESTRAINED) || too_strong)) + return FALSE + + if (isnull(other.client) || isnull(client)) + return TRUE + + // If both of us are trying to move in the same direction, let the fastest one through first + if (client.intended_direction == other.client.intended_direction) + return cached_multiplicative_slowdown < other.cached_multiplicative_slowdown + + // Else, sure, let us pass + return TRUE + /mob/living/get_photo_description(obj/item/camera/camera) var/list/holding = list() var/len = length(held_items) @@ -1190,7 +1209,7 @@ /mob/living/resist_grab(moving_resist) . = TRUE //If we're in an aggressive grab or higher, we're lying down, we're vulnerable to grabs, or we're staggered and we have some amount of stamina loss, we must resist - if(pulledby.grab_state || body_position == LYING_DOWN || HAS_TRAIT(src, TRAIT_GRABWEAKNESS) || get_timed_status_effect_duration(/datum/status_effect/staggered) && getStaminaLoss() >= 30) + if(pulledby.grab_state || body_position == LYING_DOWN || HAS_TRAIT(src, TRAIT_GRABWEAKNESS) || get_timed_status_effect_duration(/datum/status_effect/staggered) && (getFireLoss()*0.5 + getBruteLoss()*0.5) >= 40) var/altered_grab_state = pulledby.grab_state if((body_position == LYING_DOWN || HAS_TRAIT(src, TRAIT_GRABWEAKNESS) || get_timed_status_effect_duration(/datum/status_effect/staggered)) && pulledby.grab_state < GRAB_KILL) //If prone, resisting out of a grab is equivalent to 1 grab state higher. won't make the grab state exceed the normal max, however altered_grab_state++ @@ -1241,7 +1260,7 @@ var/matrix/flipped_matrix = transform flipped_matrix.b = -flipped_matrix.b flipped_matrix.e = -flipped_matrix.e - animate(src, transform = flipped_matrix, pixel_y = pixel_y+4, time = 0.5 SECONDS, easing = EASE_OUT) + animate(src, transform = flipped_matrix, pixel_y = pixel_y+4, time = 0.5 SECONDS, easing = EASE_OUT, flags = ANIMATION_PARALLEL) base_pixel_y += 4 if(NEGATIVE_GRAVITY + 0.01 to 0) if(!istype(gravity_alert, /atom/movable/screen/alert/weightless)) @@ -1266,7 +1285,7 @@ var/matrix/flipped_matrix = transform flipped_matrix.b = -flipped_matrix.b flipped_matrix.e = -flipped_matrix.e - animate(src, transform = flipped_matrix, pixel_y = pixel_y-4, time = 0.5 SECONDS, easing = EASE_OUT) + animate(src, transform = flipped_matrix, pixel_y = pixel_y-4, time = 0.5 SECONDS, easing = EASE_OUT, flags = ANIMATION_PARALLEL) base_pixel_y -= 4 /mob/living/singularity_pull(S, current_size) @@ -1822,7 +1841,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) var/old_level_new_clients = (registered_z ? SSmobs.clients_by_zlevel[registered_z].len : null) //No one is left after we're gone, shut off inactive ones if(registered_z && old_level_new_clients == 0) - for(var/datum/ai_controller/controller as anything in SSai_controllers.ai_controllers_by_zlevel[registered_z]) + for(var/datum/ai_controller/controller as anything in GLOB.ai_controllers_by_zlevel[registered_z]) controller.set_ai_status(AI_STATUS_OFF) if(new_z) @@ -1833,7 +1852,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) SSmobs.clients_by_zlevel[new_z] += src if(new_level_old_clients == 0) //No one was here before, wake up all the AIs. - for (var/datum/ai_controller/controller as anything in SSai_controllers.ai_controllers_by_zlevel[new_z]) + for (var/datum/ai_controller/controller as anything in GLOB.ai_controllers_by_zlevel[new_z]) //We don't set them directly on, for instances like AIs acting while dead and other cases that may exist in the future. //This isn't a problem for AIs with a client since the client will prevent this from being called anyway. controller.set_ai_status(controller.get_expected_ai_status()) @@ -1954,7 +1973,8 @@ GLOBAL_LIST_EMPTY(fire_appearances) updatehealth() if(NAMEOF(src, lighting_cutoff)) sync_lighting_plane_cutoff() - + if(NAMEOF(src, shadow_type), NAMEOF(src, shadow_offset_x), NAMEOF(src, shadow_offset_y)) + create_shadow() /mob/living/vv_get_header() . = ..() @@ -2269,12 +2289,14 @@ GLOBAL_LIST_EMPTY(fire_appearances) if(. >= UNCONSCIOUS) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) remove_traits(list(TRAIT_HANDS_BLOCKED, TRAIT_INCAPACITATED, TRAIT_FLOORED, TRAIT_CRITICAL_CONDITION), STAT_TRAIT) + log_combat(src, src, "regained consciousness") if(SOFT_CRIT) if(pulledby) ADD_TRAIT(src, TRAIT_IMMOBILIZED, PULLED_WHILE_SOFTCRIT_TRAIT) //adding trait sources should come before removing to avoid unnecessary updates if(. >= UNCONSCIOUS) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) ADD_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) + log_combat(src, src, "entered soft crit") if(UNCONSCIOUS) if(. != HARD_CRIT) become_blind(UNCONSCIOUS_TRAIT) @@ -2282,14 +2304,17 @@ GLOBAL_LIST_EMPTY(fire_appearances) ADD_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) else REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) + log_combat(src, src, "lost consciousness") if(HARD_CRIT) if(. != UNCONSCIOUS) become_blind(UNCONSCIOUS_TRAIT) ADD_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) + log_combat(src, src, "entered hard crit") if(DEAD) REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) remove_from_alive_mob_list() add_to_dead_mob_list() + log_combat(src, src, "died") if(!can_hear()) stop_sound_channel(CHANNEL_AMBIENCE) refresh_looping_ambience() @@ -2663,7 +2688,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) ///The price should be high enough that the contractor can't just buy 'em back with their cut alone. var/datum/market_item/hostage/market_item = new(src, black_market_price || ransom_price) - SSblackmarket.markets[/datum/market/blackmarket].add_item(market_item) + SSmarket.markets[/datum/market/blackmarket].add_item(market_item) if(mind) ADD_TRAIT(mind, TRAIT_HAS_BEEN_KIDNAPPED, TRAIT_GENERIC) @@ -2799,3 +2824,25 @@ GLOBAL_LIST_EMPTY(fire_appearances) return "[span_notice("You'd estimate [p_their()] fitness level at about...")] [span_boldwarning("What?!? [our_fitness_level]???")]" return span_notice("You'd estimate [p_their()] fitness level at about [our_fitness_level]. [comparative_fitness <= 0.33 ? "Pathetic." : ""]") + +///Performs the aftereffects of blocking a projectile. +/mob/living/proc/block_projectile_effects() + var/static/list/icon/blocking_overlay + if(isnull(blocking_overlay)) + blocking_overlay = list( + mutable_appearance('icons/mob/effects/blocking.dmi', "wow"), + mutable_appearance('icons/mob/effects/blocking.dmi', "nice"), + mutable_appearance('icons/mob/effects/blocking.dmi', "good"), + ) + ADD_TRAIT(src, TRAIT_BLOCKING_PROJECTILES, BLOCKING_TRAIT) + var/icon/selected_overlay = pick(blocking_overlay) + add_overlay(selected_overlay) + playsound(src, 'sound/weapons/fwoosh.ogg', 90, FALSE, frequency = 0.7) + update_transform(1.25) + addtimer(CALLBACK(src, PROC_REF(end_block_effects), selected_overlay), 0.6 SECONDS) + +///Remoevs the effects of blocking a projectile and allows the user to block another. +/mob/living/proc/end_block_effects(selected_overlay) + REMOVE_TRAIT(src, TRAIT_BLOCKING_PROJECTILES, BLOCKING_TRAIT) + cut_overlay(selected_overlay) + update_transform(0.8) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index d3dfa7e55f605..a06a71262490a 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -137,12 +137,12 @@ return 0 /obj/item/proc/get_volume_by_throwforce_and_or_w_class() - if(throwforce && w_class) - return clamp((throwforce + w_class) * 5, 30, 100)// Add the item's throwforce to its weight class and multiply by 5, then clamp the value between 30 and 100 - else if(w_class) - return clamp(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100 - else - return 0 + if(throwforce && w_class) + return clamp((throwforce + w_class) * 5, 30, 100)// Add the item's throwforce to its weight class and multiply by 5, then clamp the value between 30 and 100 + else if(w_class) + return clamp(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100 + else + return 0 /mob/living/proc/set_combat_mode(new_mode, silent = TRUE) if(combat_mode == new_mode) diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 58e13951ebc4f..7bb3d39a05c73 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -251,7 +251,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( if(pressure < SOUND_MINIMUM_PRESSURE && !HAS_TRAIT(src, TRAIT_SIGN_LANG)) message_range = 1 - if(pressure < ONE_ATMOSPHERE*0.4) //Thin air, let's italicise the message + if(pressure < ONE_ATMOSPHERE * (HAS_TRAIT(src, TRAIT_SPEECH_BOOSTER) ? 0.1 : 0.4)) //Thin air, let's italicise the message unless we have a loud low pressure speech trait and not in vacuum spans |= SPAN_ITALICS send_speech(message, message_range, src, bubble_type, spans, language, message_mods, tts_message = tts_message, tts_filter = tts_filter)//roughly 58% of living/say()'s total cost @@ -401,37 +401,39 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( var/list/filter = list() var/list/special_filter = list() - var/voice_to_use = voice - var/use_radio = FALSE if(length(voice_filter) > 0) filter += voice_filter if(length(tts_filter) > 0) filter += tts_filter.Join(",") - if(ishuman(src)) - var/mob/living/carbon/human/human_speaker = src - if(istype(human_speaker.wear_mask, /obj/item/clothing/mask)) - var/obj/item/clothing/mask/worn_mask = human_speaker.wear_mask - if(!worn_mask.up) - if(worn_mask.voice_override) - voice_to_use = worn_mask.voice_override - if(worn_mask.voice_filter) - filter += worn_mask.voice_filter - use_radio = worn_mask.use_radio_beeps_tts - if(use_radio) - special_filter += TTS_FILTER_RADIO - if(issilicon(src)) - special_filter += TTS_FILTER_SILICON + + var/voice_to_use = get_tts_voice(filter, special_filter) INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), src, html_decode(tts_message_to_use), message_language, voice_to_use, filter.Join(","), listened, message_range = message_range, pitch = pitch, special_filters = special_filter.Join("|")) var/image/say_popup = image('icons/mob/effects/talk.dmi', src, "[bubble_type][talk_icon_state]", FLY_LAYER) - SET_PLANE_EXPLICIT(say_popup, ABOVE_GAME_PLANE, src) + SET_PLANE_EXPLICIT(say_popup, GAME_PLANE, src) say_popup.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay_global), say_popup, speech_bubble_recipients, 3 SECONDS) LAZYADD(update_on_z, say_popup) addtimer(CALLBACK(src, PROC_REF(clear_saypopup), say_popup), 3.5 SECONDS) +/mob/living/proc/get_tts_voice(list/filter, list/special_filter) + . = voice + var/obj/item/clothing/mask/mask = get_item_by_slot(ITEM_SLOT_MASK) + if(!istype(mask) || mask.up) + return + if(mask.voice_override) + . = mask.voice_override + if(mask.voice_filter) + filter += mask.voice_filter + if(mask.use_radio_beeps_tts) + special_filter |= TTS_FILTER_RADIO + +/mob/living/silicon/get_tts_voice(list/filter, list/special_filter) + . = ..() + special_filter |= TTS_FILTER_SILICON + /mob/living/proc/clear_saypopup(image/say_popup) LAZYREMOVE(update_on_z, say_popup) diff --git a/code/modules/mob/living/living_update_icons.dm b/code/modules/mob/living/living_update_icons.dm index a9e1a136800b0..a147a1aaa102e 100644 --- a/code/modules/mob/living/living_update_icons.dm +++ b/code/modules/mob/living/living_update_icons.dm @@ -61,6 +61,7 @@ SEND_SIGNAL(src, COMSIG_PAUSE_FLOATING_ANIM, 0.3 SECONDS) //if true, we want to avoid any animation time, it'll tween and not rotate at all otherwise. var/is_opposite_angle = SIMPLIFY_DEGREES(lying_angle+180) == lying_prev - animate(src, transform = ntransform, time = is_opposite_angle ? 0 : UPDATE_TRANSFORM_ANIMATION_TIME, pixel_y = final_pixel_y, dir = final_dir, easing = (EASE_IN|EASE_OUT)) + var/animate_time = is_opposite_angle ? 0 : UPDATE_TRANSFORM_ANIMATION_TIME + animate(src, transform = ntransform, time = animate_time, pixel_y = final_pixel_y, dir = final_dir, easing = (EASE_IN|EASE_OUT)) - SEND_SIGNAL(src, COMSIG_LIVING_POST_UPDATE_TRANSFORM, resize, lying_angle, is_opposite_angle) + SEND_SIGNAL(src, COMSIG_LIVING_POST_UPDATE_TRANSFORM, resize, lying_angle, is_opposite_angle, final_pixel_y, animate_time) diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index b9f2fec61ff2c..5b79506a9073a 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -17,5 +17,3 @@ notify_ventcrawler_on_login() med_hud_set_status() - - update_fov_client() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 6c4be898162dd..1b7748d4d84df 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1,6 +1,7 @@ #define CALL_BOT_COOLDOWN 900 /mob/living/silicon/ai + SET_BASE_VISUAL_PIXEL(0, 0) // Needs a new sprite name = "AI" real_name = "AI" icon = 'icons/mob/silicon/ai.dmi' @@ -11,12 +12,11 @@ combat_mode = TRUE //so we always get pushed instead of trying to swap sight = SEE_TURFS | SEE_MOBS | SEE_OBJS hud_type = /datum/hud/ai - med_hud = DATA_HUD_MEDICAL_BASIC - sec_hud = DATA_HUD_SECURITY_BASIC - d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED + silicon_huds = list(DATA_HUD_MEDICAL_BASIC, DATA_HUD_SECURITY_BASIC, DATA_HUD_DIAGNOSTIC, DATA_HUD_BOT_PATH) mob_size = MOB_SIZE_LARGE radio = /obj/item/radio/headset/silicon/ai can_buckle_to = FALSE + shadow_type = SHADOW_NONE var/battery = 200 //emergency power if the AI's APC is off var/list/network = list(CAMERANET_NETWORK_SS13) var/obj/machinery/camera/current @@ -183,7 +183,7 @@ RegisterSignal(ai_tracking_tool, COMSIG_TRACKABLE_TRACKING_TARGET, PROC_REF(on_track_target)) RegisterSignal(ai_tracking_tool, COMSIG_TRACKABLE_GLIDE_CHANGED, PROC_REF(tracked_glidesize_changed)) - add_traits(list(TRAIT_PULL_BLOCKED, TRAIT_HANDS_BLOCKED), ROUNDSTART_TRAIT) + add_traits(list(TRAIT_PULL_BLOCKED, TRAIT_AI_ACCESS, TRAIT_HANDS_BLOCKED), INNATE_TRAIT) alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), list(z), camera_view = TRUE) RegisterSignal(alert_control.listener, COMSIG_ALARM_LISTENER_TRIGGERED, PROC_REF(alarm_triggered)) diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index 7dea684e56941..0c5eb6ec164b2 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -14,7 +14,6 @@ /mob/living/silicon/ai/blob_act(obj/structure/blob/B) if (stat != DEAD) adjustBruteLoss(60) - updatehealth() return TRUE return FALSE diff --git a/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm b/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm index 2d099ea8bb00a..5415b7b1931b7 100644 --- a/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm +++ b/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm @@ -47,7 +47,7 @@ data["search_mode"] = search_mode == PAINTINGS_FILTER_SEARCH_TITLE ? "Title" : "Author" return data -/datum/portrait_picker/ui_act(action, params) +/datum/portrait_picker/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mob/living/silicon/ai/emote.dm b/code/modules/mob/living/silicon/ai/emote.dm index 8050ff1d0a0d9..c4ec04e0899ec 100644 --- a/code/modules/mob/living/silicon/ai/emote.dm +++ b/code/modules/mob/living/silicon/ai/emote.dm @@ -9,12 +9,6 @@ /datum/emote/ai/emotion_display/run_emote(mob/living/silicon/ai/user, params, type_override, intentional) . = ..() - if(!.) - return - - if(!istype(user)) - return - user.apply_emote_display(emotion) /datum/emote/ai/emotion_display/very_happy @@ -72,9 +66,6 @@ /datum/emote/ai/emotion_display/friend_computer/run_emote(mob/user, params, type_override, intentional) . = ..() - if(!.) - return - var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) if(!frequency) diff --git a/code/modules/mob/living/silicon/ai/freelook/README.txt b/code/modules/mob/living/silicon/ai/freelook/README.txt index 78dc3b52f5cf2..818087f995982 100644 --- a/code/modules/mob/living/silicon/ai/freelook/README.txt +++ b/code/modules/mob/living/silicon/ai/freelook/README.txt @@ -32,7 +32,7 @@ HOW IT UPDATES The camera network uses a streaming method in order to effeciently update chunks. Since the server will have doors opening, doors closing, turf being destroyed and other lag inducing stuff, we want to update it under certain conditions and not every tick. -The chunks are not created straight away, only when an AI eye moves into it's area is when it gets created. +The chunks are not created straight away, only when an AI eye moves into its area is when it gets created. One a chunk is created, when a non glass door opens/closes or an opacity turf is destroyed, we check to see if an AI Eye is looking in the area. We do this with the "seenby" list, which updates everytime an AI is near a chunk. If there is an AI eye inside the area, we update the chunk that the changed atom is inside and all surrounding chunks, since a camera's vision could leak onto another chunk. If there is no AI Eye, we instead diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index a9ad9884045d6..2c5e809e5d921 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -56,7 +56,7 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) if(!.) chunks[key] = . = new /datum/camerachunk(x, y, lowest.z) -/// Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set. +/// Updates what the aiEye can see. It is recommended you use this when the aiEye moves or its location is set. /datum/cameranet/proc/visibility(list/moved_eyes, client/C, list/other_eyes, use_static = TRUE) if(!islist(moved_eyes)) moved_eyes = moved_eyes ? list(moved_eyes) : list() @@ -67,7 +67,7 @@ GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) for(var/mob/camera/ai_eye/eye as anything in moved_eyes) var/list/visibleChunks = list() - //Get the eye's turf in case it's located in an object like a mecha + //Get the eye's turf in case its located in an object like a mecha var/turf/eye_turf = get_turf(eye) if(eye.loc) var/static_range = eye.static_visibility_range diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 98a2e629776b1..ac7353d9d1236 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -252,4 +252,3 @@ icon_state = "" alpha = 100 layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 3a8cec66efd6f..5c4384302b8d6 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -21,18 +21,30 @@ else logevent("FATAL -- SYSTEM HALT") modularInterface.shutdown_computer() + eye_flash_timer = addtimer(CALLBACK(src, PROC_REF(flash_headlamp)), 2 SECONDS, TIMER_STOPPABLE | TIMER_LOOP) . = ..() locked = FALSE //unlock cover if(!QDELETED(builtInCamera) && builtInCamera.camera_enabled) builtInCamera.toggle_cam(src,0) - toggle_headlamp(TRUE) //So borg lights are disabled when killed. + toggle_headlamp(TRUE) //So borg lights are disabled when killed. drop_all_held_items() // particularly to ensure sight modes are cleared - update_icons() - unbuckle_all_mobs(TRUE) - SSblackbox.ReportDeath(src) + +/mob/living/silicon/robot/proc/flash_headlamp() + if(eye_lights) + eye_lights = null + regenerate_icons() + return + + eye_lights = new() + eye_lights.icon_state = "[model.special_light_key ? "[model.special_light_key]":"[model.cyborg_base_icon]"]_e_r" + eye_lights.color = COLOR_WHITE + SET_PLANE_EXPLICIT(eye_lights, ABOVE_GAME_PLANE, src) + eye_lights.icon = icon + regenerate_icons() + add_overlay(eye_lights) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index fb7857d458541..2215864782325 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -1,5 +1,5 @@ /datum/emote/silicon - mob_type_allowed_typecache = list(/mob/living/silicon, /mob/living/simple_animal/bot, /mob/living/basic/bot) + trait_required = TRAIT_SILICON_EMOTES_ALLOWED emote_type = EMOTE_AUDIBLE /datum/emote/silicon/boop @@ -7,6 +7,14 @@ key_third_person = "boops" message = "boops." +/datum/emote/silicon/beep + key = "beep" + key_third_person = "beeps" + message = "beeps." + message_param = "beeps at %t." + emote_type = EMOTE_AUDIBLE + sound = 'sound/machines/twobeep.ogg' + /datum/emote/silicon/buzz key = "buzz" key_third_person = "buzzes" @@ -15,7 +23,6 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/buzz-sigh.ogg' - /datum/emote/silicon/buzz2 key = "buzz2" message = "buzzes twice." diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 0c26e7c57e278..e0021673ba8a5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -11,7 +11,7 @@ post_tipped_callback = CALLBACK(src, PROC_REF(after_tip_over)), \ post_untipped_callback = CALLBACK(src, PROC_REF(after_righted)), \ roleplay_friendly = TRUE, \ - roleplay_emotes = list(/datum/emote/silicon/buzz, /datum/emote/silicon/buzz2, /datum/emote/living/beep), \ + roleplay_emotes = list(/datum/emote/silicon/buzz, /datum/emote/silicon/buzz2, /datum/emote/silicon/beep), \ roleplay_callback = CALLBACK(src, PROC_REF(untip_roleplay))) set_wires(new /datum/wires/robot(src)) @@ -125,9 +125,9 @@ GLOB.available_ai_shells -= src QDEL_NULL(modularInterface) - QDEL_NULL(wires) QDEL_NULL(model) QDEL_NULL(eye_lights) + QDEL_NULL(hat_overlay) QDEL_NULL(inv1) QDEL_NULL(inv2) QDEL_NULL(inv3) @@ -301,7 +301,7 @@ else eye_lights.icon_state = "[model.special_light_key ? "[model.special_light_key]":"[model.cyborg_base_icon]"]_e" eye_lights.color = COLOR_WHITE - SET_PLANE_EXPLICIT(eye_lights, ABOVE_GAME_PLANE, src) + SET_PLANE_EXPLICIT(eye_lights, GAME_PLANE, src) eye_lights.icon = icon add_overlay(eye_lights) @@ -312,12 +312,34 @@ add_overlay("ov-opencover +c") else add_overlay("ov-opencover -c") + if(hat) - var/mutable_appearance/head_overlay = hat.build_worn_icon(default_layer = 20, default_icon_file = 'icons/mob/clothing/head/default.dmi') - head_overlay.pixel_z += hat_offset - add_overlay(head_overlay) + hat_overlay = hat.build_worn_icon(default_layer = 20, default_icon_file = 'icons/mob/clothing/head/default.dmi') + update_worn_icons() + else if(hat_overlay) + QDEL_NULL(hat_overlay) + update_appearance(UPDATE_OVERLAYS) +/mob/living/silicon/robot/proc/update_worn_icons() + if(!hat_overlay) + return + cut_overlay(hat_overlay) + + if(islist(hat_offset)) + var/list/offset = hat_offset[ISDIAGONALDIR(dir) ? dir2text(dir & (WEST|EAST)) : dir2text(dir)] + if(offset) + hat_overlay.pixel_w = offset[1] + hat_overlay.pixel_z = offset[2] + + add_overlay(hat_overlay) + +/mob/living/silicon/robot/setDir(newdir) + var/old_dir = dir + . = ..() + if(. != old_dir) + update_worn_icons() + /mob/living/silicon/robot/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) if(same_z_layer || QDELING(src)) return ..() @@ -351,7 +373,7 @@ set_lockcharge(FALSE) scrambledcodes = TRUE log_silicon("CYBORG: [key_name(src)] has been unlinked from an AI.") - //Disconnect it's camera so it's not so easily tracked. + //Disconnect its camera so it's not so easily tracked. if(!QDELETED(builtInCamera)) QDEL_NULL(builtInCamera) // I'm trying to get the Cyborg to not be listed in the camera list @@ -561,6 +583,7 @@ /mob/living/silicon/robot/updatehealth() ..() + update_damage_particles() if(!model.breakable_modules) return @@ -658,6 +681,9 @@ builtInCamera.toggle_cam(src, 0) if(full_heal_flags & HEAL_ADMIN) locked = TRUE + if(eye_flash_timer) + deltimer(eye_flash_timer) + eye_flash_timer = null src.set_stat(CONSCIOUS) notify_ai(AI_NOTIFICATION_NEW_BORG) toggle_headlamp(FALSE, TRUE) //This will reenable borg headlamps if doomsday is currently going on still. @@ -848,7 +874,7 @@ lawupdate = TRUE lawsync() if(radio && AI.radio) //AI keeps all channels, including Syndie if it is a Traitor - if(AI.radio.syndie) + if((AI.radio.special_channels & RADIO_SPECIAL_SYNDIE)) radio.make_syndie() radio.subspace_transmission = TRUE radio.channels = AI.radio.channels diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 2346c36ba5c03..16da8d89783af 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -186,6 +186,52 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real return ..() +#define LOW_DAMAGE_UPPER_BOUND 1/3 +#define MODERATE_DAMAGE_UPPER_BOUND 2/3 + +/mob/living/silicon/robot/proc/update_damage_particles() + var/brute_percent = bruteloss / maxHealth + var/burn_percent = fireloss / maxHealth + + if (brute_percent > MODERATE_DAMAGE_UPPER_BOUND) + if(!smoke_particles) + smoke_particles = new(src, /particles/smoke/cyborg/heavy_damage, PARTICLE_ATTACH_MOB) + else if(!istype(smoke_particles.particles, /particles/smoke/cyborg/heavy_damage)) //TODO: needs to be darker + QDEL_NULL(smoke_particles) + smoke_particles = new(src, /particles/smoke/cyborg/heavy_damage, PARTICLE_ATTACH_MOB) + + else if (brute_percent > LOW_DAMAGE_UPPER_BOUND) + if(!smoke_particles) + smoke_particles = new(src, /particles/smoke/cyborg, PARTICLE_ATTACH_MOB) + else if(!istype(smoke_particles.particles, /particles/smoke/cyborg)) + QDEL_NULL(smoke_particles) + smoke_particles = new(src, /particles/smoke/cyborg, PARTICLE_ATTACH_MOB) + + else + if(smoke_particles) + QDEL_NULL(smoke_particles) + + if (burn_percent > MODERATE_DAMAGE_UPPER_BOUND) + if(!spark_particles) + spark_particles = new(src, /particles/embers/spark/severe, PARTICLE_ATTACH_MOB) + else if(!istype(spark_particles.particles, /particles/embers/spark/severe)) //TODO: needs to be more dramatic + QDEL_NULL(spark_particles) + spark_particles = new(src, /particles/embers/spark/severe, PARTICLE_ATTACH_MOB) + + else if (burn_percent > LOW_DAMAGE_UPPER_BOUND) + if(!spark_particles) + spark_particles = new(src, /particles/embers/spark, PARTICLE_ATTACH_MOB) + else if(!istype(spark_particles.particles, /particles/embers/spark)) + QDEL_NULL(spark_particles) + spark_particles = new(src, /particles/embers/spark, PARTICLE_ATTACH_MOB) + + else + if(spark_particles) + QDEL_NULL(spark_particles) + +#undef LOW_DAMAGE_UPPER_BOUND +#undef MODERATE_DAMAGE_UPPER_BOUND + /mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers) if (LAZYACCESS(modifiers, RIGHT_CLICK)) if(body_position == STANDING_UP) @@ -214,7 +260,6 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if(!wiresexposed && !issilicon(user)) if(!cell) return - cell.update_appearance() cell.add_fingerprint(user) to_chat(user, span_notice("You remove \the [cell].")) user.put_in_active_hand(cell) @@ -242,7 +287,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if (!getBruteLoss()) to_chat(user, span_warning("[src] is already in good condition!")) return - if (!tool.tool_start_check(user, amount=1)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away. + if (!tool.tool_start_check(user, amount=1)) //The welder has 1u of fuel consumed by its afterattack, so we don't need to worry about taking any away. return if(src == user) to_chat(user, span_notice("You start fixing yourself...")) @@ -402,7 +447,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real if(stat != DEAD) adjustBruteLoss(30) else - investigate_log("has been gibbed a blob.", INVESTIGATE_DEATHS) + investigate_log("has been gibbed by a blob.", INVESTIGATE_DEATHS) gib(DROP_ALL_REMAINS) return TRUE diff --git a/code/modules/mob/living/silicon/robot/robot_defines.dm b/code/modules/mob/living/silicon/robot/robot_defines.dm index 48995a1582e66..e6af597bc60b7 100644 --- a/code/modules/mob/living/silicon/robot/robot_defines.dm +++ b/code/modules/mob/living/silicon/robot/robot_defines.dm @@ -55,7 +55,12 @@ ////Power consumption of the light per lamp_intensity. var/lamp_power_consumption = BORG_LAMP_POWER_CONSUMPTION + // Overlay for borg eye lights var/mutable_appearance/eye_lights + ///Holds a reference to the timer taking care of blinking lights on dead cyborgs + var/eye_flash_timer = null + // Overlay for borg hat + var/mutable_appearance/hat_overlay // Hud @@ -112,6 +117,10 @@ var/low_power_mode = FALSE ///So they can initialize sparks whenever/N var/datum/effect_system/spark_spread/spark_system + ///Smoke particle holder for brute damage + var/obj/effect/abstract/particle_holder/smoke_particles = null + ///Spark particle holder for burn damage + var/obj/effect/abstract/particle_holder/spark_particles = null ///Jetpack-like effect. var/ionpulse = FALSE @@ -129,7 +138,7 @@ var/hasExpanded = FALSE var/obj/item/hat - var/hat_offset = -3 + var/hat_offset = list("north" = list(0, -3), "south" = list(0, -3), "east" = list(4, -3), "west" = list(-4, -3)) ///What types of mobs are allowed to ride/buckle to this mob var/static/list/can_ride_typecache = typecacheof(/mob/living/carbon/human) diff --git a/code/modules/mob/living/silicon/robot/robot_model.dm b/code/modules/mob/living/silicon/robot/robot_model.dm index 030161f8da9e1..015f23182dca3 100644 --- a/code/modules/mob/living/silicon/robot/robot_model.dm +++ b/code/modules/mob/living/silicon/robot/robot_model.dm @@ -45,8 +45,8 @@ var/allow_riding = TRUE ///Whether the borg can stuff itself into disposals var/canDispose = FALSE - ///The y offset of the hat put on - var/hat_offset = -3 + ///The pixel offset of the hat. List of "north" "south" "east" "west" x, y offsets + var/hat_offset = list("north" = list(0, -3), "south" = list(0, -3), "east" = list(4, -3), "west" = list(-4, -3)) ///The x offsets of a person riding the borg var/list/ride_offset_x = list("north" = 0, "south" = 0, "east" = -6, "west" = 6) ///The y offsets of a person riding the borg @@ -233,6 +233,7 @@ if(!new_model.be_transformed_to(src, forced)) qdel(new_model) return + cyborg.drop_all_held_items() cyborg.model = new_model cyborg.update_module_innate() new_model.rebuild_modules() @@ -359,7 +360,7 @@ ) model_select_icon = "service" cyborg_base_icon = "clown" - hat_offset = -2 + hat_offset = list("north" = list(0, -2), "south" = list(0, -2), "east" = list(4, -2), "west" = list(-4, -2)) /obj/item/robot_model/clown/respawn_consumable(mob/living/silicon/robot/cyborg, coeff = 1) . = ..() @@ -400,7 +401,7 @@ cyborg_base_icon = "engineer" model_select_icon = "engineer" model_traits = list(TRAIT_NEGATES_GRAVITY) - hat_offset = -4 + hat_offset = list("north" = list(0, -4), "south" = list(0, -4), "east" = list(4, -4), "west" = list(-4, -4)) /obj/item/robot_model/janitor name = "Janitor" @@ -427,7 +428,7 @@ ) cyborg_base_icon = "janitor" model_select_icon = "janitor" - hat_offset = -5 + hat_offset = list("north" = list(0, -5), "south" = list(0, -5), "east" = list(4, -5), "west" = list(-4, -5)) /// Weakref to the wash toggle action we own var/datum/weakref/wash_toggle_ref @@ -697,10 +698,9 @@ cyborg_base_icon = "medical" model_select_icon = "medical" model_traits = list(TRAIT_PUSHIMMUNE) - hat_offset = 3 borg_skins = list( - "Machinified Doctor" = list(SKIN_ICON_STATE = "medical"), - "Qualified Doctor" = list(SKIN_ICON_STATE = "qualified_doctor"), + "Machinified Doctor" = list(SKIN_ICON_STATE = "medical", SKIN_HAT_OFFSET = list("north" = list(0, 3), "south" = list(0, 3), "east" = list(-1, 3), "west" = list(1, 3))), + "Qualified Doctor" = list(SKIN_ICON_STATE = "qualified_doctor", SKIN_HAT_OFFSET = list("north" = list(0, 3), "south" = list(0, 3), "east" = list(1, 3), "west" = list(-1, 3))), ) /obj/item/robot_model/miner @@ -726,10 +726,10 @@ ) cyborg_base_icon = "miner" model_select_icon = "miner" - hat_offset = 0 + hat_offset = list("north" = list(0, 0), "south" = list(0, 0), "east" = list(0, 0), "west" = list(0, 0)) borg_skins = list( "Asteroid Miner" = list(SKIN_ICON_STATE = "minerOLD"), - "Spider Miner" = list(SKIN_ICON_STATE = "spidermin"), + "Spider Miner" = list(SKIN_ICON_STATE = "spidermin", SKIN_HAT_OFFSET = list("north" = list(0, -2), "south" = list(0, -2), "east" = list(-2, -2), "west" = list(2, -2))), "Lavaland Miner" = list(SKIN_ICON_STATE = "miner"), ) @@ -751,7 +751,7 @@ cyborg_base_icon = "peace" model_select_icon = "standard" model_traits = list(TRAIT_PUSHIMMUNE) - hat_offset = -2 + hat_offset = list("north" = list(0, -2), "south" = list(0, -2), "east" = list(1, -2), "west" = list(-1, -2)) /obj/item/robot_model/peacekeeper/do_transform_animation() ..() @@ -775,7 +775,7 @@ cyborg_base_icon = "sec" model_select_icon = "security" model_traits = list(TRAIT_PUSHIMMUNE) - hat_offset = 3 + hat_offset = list("north" = list(0, 3), "south" = list(0, 3), "east" = list(1, 3), "west" = list(-1, 3)) /obj/item/robot_model/security/do_transform_animation() ..() @@ -826,11 +826,11 @@ cyborg_base_icon = "service_m" // display as butlerborg for radial model selection model_select_icon = "service" special_light_key = "service" - hat_offset = 0 + hat_offset = list("north" = list(0, 0), "south" = list(0, 0), "east" = list(0, 0), "west" = list(0, 0)) borg_skins = list( "Bro" = list(SKIN_ICON_STATE = "brobot"), "Butler" = list(SKIN_ICON_STATE = "service_m"), - "Kent" = list(SKIN_ICON_STATE = "kent", SKIN_LIGHT_KEY = "medical", SKIN_HAT_OFFSET = 3), + "Kent" = list(SKIN_ICON_STATE = "kent", SKIN_LIGHT_KEY = "medical", SKIN_HAT_OFFSET = list("north" = list(0, 3), "south" = list(0, 3), "east" = list(-1, 3), "west" = list(1, 3))), "Tophat" = list(SKIN_ICON_STATE = "tophat", SKIN_LIGHT_KEY = NONE, SKIN_HAT_OFFSET = INFINITY), "Waitress" = list(SKIN_ICON_STATE = "service_f"), ) @@ -859,7 +859,7 @@ cyborg_base_icon = "synd_sec" model_select_icon = "malf" model_traits = list(TRAIT_PUSHIMMUNE) - hat_offset = 3 + hat_offset = list("north" = list(0, 3), "south" = list(0, 3), "east" = list(4, 3), "west" = list(-4, 3)) /obj/item/robot_model/syndicate/rebuild_modules() ..() @@ -894,7 +894,7 @@ cyborg_base_icon = "synd_medical" model_select_icon = "malf" model_traits = list(TRAIT_PUSHIMMUNE) - hat_offset = 3 + hat_offset = list("north" = list(0, 3), "south" = list(0, 3), "east" = list(-1, 3), "west" = list(1, 3)) /obj/item/robot_model/saboteur name = "Syndicate Saboteur" @@ -923,7 +923,7 @@ cyborg_base_icon = "synd_engi" model_select_icon = "malf" model_traits = list(TRAIT_PUSHIMMUNE, TRAIT_NEGATES_GRAVITY) - hat_offset = -4 + hat_offset = list("north" = list(0, -4), "south" = list(0, -4), "east" = list(4, -4), "west" = list(-4, -4)) canDispose = TRUE /obj/item/robot_model/syndicate/kiltborg @@ -934,7 +934,7 @@ ) model_select_icon = "kilt" cyborg_base_icon = "kilt" - hat_offset = -2 + hat_offset = list("north" = list(0, -2), "south" = list(0, -2), "east" = list(4, -2), "west" = list(-4, -2)) breakable_modules = FALSE locked_transform = FALSE //GO GO QUICKLY AND SLAUGHTER THEM ALL diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 9ca655740cd08..233ac862b58ff 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -1,6 +1,5 @@ /mob/living/silicon gender = NEUTER - has_unlimited_silicon_privilege = TRUE verb_say = "states" verb_ask = "queries" verb_exclaim = "declares" @@ -38,9 +37,7 @@ ///Are our siliconHUDs on? TRUE for yes, FALSE for no. var/sensors_on = TRUE - var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use - var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use - var/d_hud = DATA_HUD_DIAGNOSTIC_BASIC //Determines the diag hud to use + var/list/silicon_huds = list(DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_SECURITY_ADVANCED, DATA_HUD_DIAGNOSTIC) var/law_change_counter = 0 var/obj/machinery/camera/builtInCamera = null @@ -77,9 +74,13 @@ TRAIT_NOFIRE_SPREAD, TRAIT_BRAWLING_KNOCKDOWN_BLOCKED, TRAIT_FENCE_CLIMBER, + TRAIT_SILICON_ACCESS, + TRAIT_REAGENT_SCANNER, + TRAIT_UNOBSERVANT, ) add_traits(traits_to_apply, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_SILICON_EMOTES_ALLOWED, INNATE_TRAIT) RegisterSignal(src, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(on_silicon_shocked)) /mob/living/silicon/Destroy() @@ -391,20 +392,14 @@ return -10 /mob/living/silicon/proc/remove_sensors() - var/datum/atom_hud/secsensor = GLOB.huds[sec_hud] - var/datum/atom_hud/medsensor = GLOB.huds[med_hud] - var/datum/atom_hud/diagsensor = GLOB.huds[d_hud] - secsensor.hide_from(src) - medsensor.hide_from(src) - diagsensor.hide_from(src) + for (var/hud_type in silicon_huds) + var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] + silicon_hud.hide_from(src) /mob/living/silicon/proc/add_sensors() - var/datum/atom_hud/secsensor = GLOB.huds[sec_hud] - var/datum/atom_hud/medsensor = GLOB.huds[med_hud] - var/datum/atom_hud/diagsensor = GLOB.huds[d_hud] - secsensor.show_to(src) - medsensor.show_to(src) - diagsensor.show_to(src) + for (var/hud_type in silicon_huds) + var/datum/atom_hud/silicon_hud = GLOB.huds[hud_type] + silicon_hud.show_to(src) /mob/living/silicon/proc/toggle_sensors() if(incapacitated()) diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index b7a669b4a2e62..73d6ac25bdd0f 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -18,7 +18,6 @@ flash_act(affect_silicon = 1) log_combat(user, src, "attacked") adjustBruteLoss(damage) - updatehealth() else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, TRUE, -1) visible_message(span_danger("[user]'s swipe misses [src]!"), \ diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index 2fea2871c0388..baaf1b39b3c56 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -27,7 +27,6 @@ playsound(loc, attacked_sound, 25, TRUE, -1) apply_damage(harm_intent_damage) log_combat(user, src, "attacked") - updatehealth() return TRUE /mob/living/simple_animal/get_shoving_message(mob/living/shover, obj/item/weapon, shove_flags) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 49b44122ac0e7..ee7cd1357989e 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -12,7 +12,6 @@ hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) maxbodytemp = INFINITY minbodytemp = 0 - has_unlimited_silicon_privilege = TRUE sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush pass_flags = PASSFLAPS @@ -95,8 +94,8 @@ var/turf/nearest_beacon_loc ///The type of data HUD the bot uses. Diagnostic by default. - var/data_hud_type = DATA_HUD_DIAGNOSTIC_BASIC - var/datum/atom_hud/data/bot_path/path_hud + var/data_hud_type = DATA_HUD_DIAGNOSTIC + var/datum/atom_hud/data/bot_path/private/path_hud var/path_image_icon = 'icons/mob/silicon/aibots.dmi' var/path_image_icon_state = "path_indicator" var/path_image_color = COLOR_WHITE @@ -163,9 +162,10 @@ /mob/living/simple_animal/bot/Initialize(mapload) . = ..() + add_traits(list(TRAIT_SILICON_ACCESS, TRAIT_REAGENT_SCANNER, TRAIT_UNOBSERVANT), INNATE_TRAIT) GLOB.bots_list += src - path_hud = new /datum/atom_hud/data/bot_path() + path_hud = new /datum/atom_hud/data/bot_path/private() for(var/hud in path_hud.hud_icons) // You get to see your own path set_hud_image_active(hud, exclusive_hud = path_hud) @@ -202,6 +202,7 @@ pa_system = new(src, automated_announcements = automated_announcements) pa_system.Grant(src) RegisterSignal(src, COMSIG_MOB_TRIED_ACCESS, PROC_REF(attempt_access)) + ADD_TRAIT(src, TRAIT_SILICON_EMOTES_ALLOWED, INNATE_TRAIT) /mob/living/simple_animal/bot/Destroy() GLOB.bots_list -= src @@ -377,9 +378,9 @@ if(HAS_TRAIT(src, TRAIT_COMMISSIONED) && COOLDOWN_FINISHED(src, next_salute_check)) COOLDOWN_START(src, next_salute_check, BOT_COMMISSIONED_SALUTE_DELAY) - for(var/mob/living/simple_animal/bot/B in view(5, src)) - if(!HAS_TRAIT(B, TRAIT_COMMISSIONED) && B.bot_mode_flags & BOT_MODE_ON) - manual_emote("performs an elaborate salute for [src]!") + for(var/mob/living/simple_animal/bot/nearby_bot in view(5, src)) + if(!HAS_TRAIT(nearby_bot, TRAIT_COMMISSIONED) && nearby_bot.bot_mode_flags & BOT_MODE_ON) + manual_emote("performs an elaborate salute for [nearby_bot]!") break switch(mode) //High-priority overrides are processed first. Bots can do nothing else while under direct command. @@ -555,7 +556,6 @@ if(istype(item_to_drop, /obj/item/stock_parts/power_store/cell)) var/obj/item/stock_parts/power_store/cell/dropped_cell = item_to_drop dropped_cell.charge = 0 - dropped_cell.update_appearance() else if(istype(item_to_drop, /obj/item/storage)) var/obj/item/storage/storage_to_drop = item_to_drop @@ -976,13 +976,13 @@ Pass a positive integer as an argument to override a bot's default speed. return data // Actions received from TGUI -/mob/living/simple_animal/bot/ui_act(action, params) +/mob/living/simple_animal/bot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return - var/mob/user = usr + var/mob/user = ui.user if(!allowed(user)) - to_chat(usr, span_warning("Access denied.")) + to_chat(user, span_warning("Access denied.")) return if(action == "lock") @@ -1002,38 +1002,38 @@ Pass a positive integer as an argument to override a bot's default speed. if("airplane") bot_mode_flags ^= BOT_MODE_REMOTE_ENABLED if("hack") - if(!HAS_SILICON_ACCESS(usr)) + if(!HAS_SILICON_ACCESS(user)) return if(!(bot_cover_flags & BOT_COVER_EMAGGED)) bot_cover_flags |= (BOT_COVER_EMAGGED|BOT_COVER_HACKED|BOT_COVER_LOCKED) - to_chat(usr, span_warning("You overload [src]'s [hackables].")) - message_admins("Safety lock of [ADMIN_LOOKUPFLW(src)] was disabled by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_VERBOSEJMP(src)]") - usr.log_message("disabled safety lock of [src]", LOG_GAME) + to_chat(user, span_warning("You overload [src]'s [hackables].")) + message_admins("Safety lock of [ADMIN_LOOKUPFLW(src)] was disabled by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(src)]") + user.log_message("disabled safety lock of [src]", LOG_GAME) bot_reset() to_chat(src, span_userdanger("(#$*#$^^( OVERRIDE DETECTED")) to_chat(src, span_boldnotice(get_emagged_message())) return if(!(bot_cover_flags & BOT_COVER_HACKED)) - to_chat(usr, span_boldannounce("You fail to repair [src]'s [hackables].")) + to_chat(user, span_boldannounce("You fail to repair [src]'s [hackables].")) return bot_cover_flags &= ~(BOT_COVER_EMAGGED|BOT_COVER_HACKED) - to_chat(usr, span_notice("You reset the [src]'s [hackables].")) - usr.log_message("re-enabled safety lock of [src]", LOG_GAME) + to_chat(user, span_notice("You reset the [src]'s [hackables].")) + user.log_message("re-enabled safety lock of [src]", LOG_GAME) bot_reset() to_chat(src, span_userdanger("Software restored to standard.")) to_chat(src, span_boldnotice(possessed_message)) if("eject_pai") if(!paicard) return - to_chat(usr, span_notice("You eject [paicard] from [initial(src.name)].")) - ejectpai(usr) + to_chat(user, span_notice("You eject [paicard] from [initial(src.name)].")) + ejectpai(user) if("toggle_personality") if (can_be_possessed) - disable_possession(usr) + disable_possession(user) else - enable_possession(usr) + enable_possession(user) if("rename") - rename(usr) + rename(user) /mob/living/simple_animal/bot/update_icon_state() icon_state = "[isnull(base_icon_state) ? initial(icon_state) : base_icon_state][get_bot_flag(bot_mode_flags, BOT_MODE_ON)]" @@ -1147,7 +1147,7 @@ Pass a positive integer as an argument to override a bot's default speed. path = newpath ? newpath : list() if(!path_hud) return - var/list/path_huds_watching_me = list(GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED]) + var/list/path_huds_watching_me = list(GLOB.huds[DATA_HUD_DIAGNOSTIC], GLOB.huds[DATA_HUD_BOT_PATH]) if(path_hud) path_huds_watching_me += path_hud for(var/datum/atom_hud/hud as anything in path_huds_watching_me) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 6c0cd6d16ab55..59e431f11e060 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -1,7 +1,10 @@ /mob/living/simple_animal/bot/secbot/ed209 + SET_BASE_VISUAL_PIXEL(0, 9) name = "\improper ED-209 Security Robot" desc = "A security robot. He looks less than thrilled." icon_state = "ed209" + shadow_type = SHADOW_LARGE + shadow_offset_y = 1 light_color = "#f84e4e" density = TRUE health = 100 diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index ae1c52d1652da..1749109885f76 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -8,6 +8,7 @@ //Floorbot /mob/living/simple_animal/bot/floorbot + SET_BASE_VISUAL_PIXEL(0, 7) name = "\improper Floorbot" desc = "A little floor repairing robot, he looks so excited!" icon = 'icons/mob/silicon/aibots.dmi' @@ -23,6 +24,7 @@ hackables = "floor construction protocols" path_image_color = "#FFA500" possessed_message = "You are a floorbot! Repair the hull to the best of your ability!" + shadow_offset_y = 6 var/process_type //Determines what to do when process_scan() receives a target. See process_scan() for details. var/targetdirection @@ -142,7 +144,8 @@ // Actions received from TGUI /mob/living/simple_animal/bot/floorbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(usr))) + var/mob/user = ui.user + if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(user))) return switch(action) @@ -160,7 +163,7 @@ if(tilestack) tilestack.forceMove(drop_location()) if("line_mode") - var/setdir = tgui_input_list(usr, "Select construction direction", "Direction", list("north", "east", "south", "west", "disable")) + var/setdir = tgui_input_list(user, "Select construction direction", "Direction", list("north", "east", "south", "west", "disable")) if(isnull(setdir) || QDELETED(ui) || ui.status != UI_INTERACTIVE) return switch(setdir) @@ -218,52 +221,54 @@ target = scan(tiles_scanned) - if(!target && bot_mode_flags & BOT_MODE_AUTOPATROL) - switch(mode) - if(BOT_IDLE, BOT_START_PATROL) - start_patrol() - if(BOT_PATROL) - bot_patrol() - - if(target) - if(loc == target || loc == get_turf(target)) - if(check_bot(target)) //Target is not defined at the parent - if(prob(50)) //50% chance to still try to repair so we dont end up with 2 floorbots failing to fix the last breach - target = null - path = list() - return - if(isturf(target) && !(bot_cover_flags & BOT_COVER_EMAGGED)) - repair(target) - else if(bot_cover_flags & BOT_COVER_EMAGGED && isfloorturf(target)) - var/turf/open/floor/F = target - toggle_magnet() - mode = BOT_REPAIRING - if(isplatingturf(F)) - F.attempt_lattice_replacement() - else - F.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) - audible_message(span_danger("[src] makes an excited booping sound.")) - addtimer(CALLBACK(src, PROC_REF(go_idle)), 0.5 SECONDS) - path = list() - return - if(!length(path)) - if(!isturf(target)) - var/turf/TL = get_turf(target) - path = get_path_to(src, TL, max_distance=30, access=access_card.GetAccess(), simulated_only = FALSE) - else - path = get_path_to(src, target, max_distance=30, access=access_card.GetAccess(), simulated_only = FALSE) + if (!target) + if(bot_mode_flags & BOT_MODE_AUTOPATROL) + switch(mode) + if(BOT_IDLE, BOT_START_PATROL) + start_patrol() + if(BOT_PATROL) + bot_patrol() + return - if(!bot_move(target)) - add_to_ignore(target) + if(loc == target || loc == get_turf(target)) + if(check_bot(target)) //Target is not defined at the parent + if(prob(50)) //50% chance to still try to repair so we dont end up with 2 floorbots failing to fix the last breach target = null - mode = BOT_IDLE + path = list() return - else if( !bot_move(target) ) + if(isturf(target) && !(bot_cover_flags & BOT_COVER_EMAGGED)) + repair(target) + else if(bot_cover_flags & BOT_COVER_EMAGGED && isfloorturf(target)) + var/turf/open/floor/floor = target + toggle_magnet() + mode = BOT_REPAIRING + if(isplatingturf(floor)) + floor.attempt_lattice_replacement() + else + floor.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) + audible_message(span_danger("[src] makes an excited booping sound.")) + addtimer(CALLBACK(src, PROC_REF(go_idle)), 0.5 SECONDS) + path = list() + return + + if(!length(path)) + if(!isturf(target)) + var/turf/TL = get_turf(target) + path = get_path_to(src, TL, max_distance=30, access=access_card.GetAccess(), simulated_only = FALSE) + else + path = get_path_to(src, target, max_distance=30, access=access_card.GetAccess(), simulated_only = FALSE) + + if(!bot_move(target)) + add_to_ignore(target) target = null mode = BOT_IDLE - return + else if(!bot_move(target)) + target = null + mode = BOT_IDLE /mob/living/simple_animal/bot/floorbot/proc/go_idle() + if (QDELETED(src)) + return toggle_magnet(FALSE) mode = BOT_IDLE target = null @@ -278,7 +283,7 @@ //Floorbots, having several functions, need sort out special conditions here. /mob/living/simple_animal/bot/floorbot/process_scan(scan_target) var/result - var/turf/open/floor/F + var/turf/open/floor/floor move_resist = initial(move_resist) switch(process_type) if(HULL_BREACH) //The most common job, patching breaches in the station's hull. @@ -290,21 +295,21 @@ result = scan_target move_resist = INFINITY if(PLACE_TILE) - F = scan_target - if(isplatingturf(F)) //The floor must not already have a tile. - result = F + floor = scan_target + if(isplatingturf(floor)) //The floor must not already have a tile. + result = floor if(REPLACE_TILE) - F = scan_target - if(isfloorturf(F) && !isplatingturf(F)) //The floor must already have a tile. - result = F + floor = scan_target + if(isfloorturf(floor) && !isplatingturf(floor)) //The floor must already have a tile. + result = floor if(FIX_TILE) //Selects only damaged floors. - F = scan_target - if(istype(F) && (F.broken || F.burnt)) - result = F + floor = scan_target + if(istype(floor) && (floor.broken || floor.burnt)) + result = floor if(TILE_EMAG) //Emag mode! Rip up the floor and cause breaches to space! - F = scan_target - if(!isplatingturf(F)) - result = F + floor = scan_target + if(!isplatingturf(floor)) + result = floor else //If no special processing is needed, simply return the result. result = scan_target return result @@ -326,57 +331,69 @@ toggle_magnet() visible_message(span_notice("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."] ")) mode = BOT_REPAIRING - if(do_after(src, 5 SECONDS, target = target_turf) && mode == BOT_REPAIRING) - if(autotile) //Build the floor and include a tile. - if(replacetiles && tilestack) - target_turf.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) //make sure a hull is actually below the floor tile - tilestack.place_tile(target_turf, src) - if(!tilestack) - speak("Requesting refill of custom floor tiles to continue replacing.") - else - target_turf.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) //make sure a hull is actually below the floor tile - target_turf.place_on_top(/turf/open/floor/iron, flags = CHANGETURF_INHERIT_AIR) - else //Build a hull plating without a floor tile. - target_turf.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) + if(!do_after(src, 5 SECONDS, target = target_turf) && mode == BOT_REPAIRING) + go_idle() + return - else - var/turf/open/floor/F = target_turf - var/success = FALSE - var/was_replacing = replacetiles + if(!autotile) + target_turf.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) + go_idle() + return - if(F.broken || F.burnt || isplatingturf(F)) - toggle_magnet() - mode = BOT_REPAIRING - visible_message(span_notice("[src] begins [(F.broken || F.burnt) ? "repairing the floor" : "placing a floor tile"].")) - if(do_after(src, 5 SECONDS, target = F) && mode == BOT_REPAIRING) - success = TRUE + if(replacetiles && tilestack) + target_turf.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) //make sure a hull is actually below the floor tile + tilestack.place_tile(target_turf, src) + if(!tilestack) + speak("Requesting refill of custom floor tiles to continue replacing.") + else + target_turf.place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) //make sure a hull is actually below the floor tile + target_turf.place_on_top(/turf/open/floor/iron, flags = CHANGETURF_INHERIT_AIR) + go_idle() + return - else if(replacetiles && tilestack && F.type != tilestack.turf_type) - toggle_magnet() - mode = BOT_REPAIRING - visible_message(span_notice("[src] begins replacing the floor tiles.")) - if(do_after(src, 5 SECONDS, target = target_turf) && mode == BOT_REPAIRING && tilestack) - success = TRUE - - if(success) - var/area/is_this_maints = get_area(F) - if(was_replacing && tilestack) //turn the tile into plating (if needed), then replace it - F = F.make_plating(TRUE) || F - tilestack.place_tile(F, src) - if(!tilestack) - speak("Requesting refill of custom floor tiles to continue replacing.") - else if(F.broken || F.burnt) //repair the tile and reset it to be undamaged (rather than replacing it) - F.broken = FALSE - F.burnt = FALSE - F.update_appearance() - else if(istype(is_this_maints, /area/station/maintenance)) //place catwalk if it's plating and we're in maints - F.place_on_top(/turf/open/floor/catwalk_floor, flags = CHANGETURF_INHERIT_AIR) - else //place normal tile if it's plating anywhere else - F = F.make_plating(TRUE) || F - F.place_on_top(/turf/open/floor/iron, flags = CHANGETURF_INHERIT_AIR) - - if(!QDELETED(src)) + var/turf/open/floor/floor = target_turf + var/was_replacing = replacetiles + + if(floor.broken || floor.burnt || isplatingturf(floor)) + toggle_magnet() + mode = BOT_REPAIRING + visible_message(span_notice("[src] begins [(floor.broken || floor.burnt) ? "repairing the floor" : "placing a floor tile"].")) + if(!do_after(src, 5 SECONDS, target = floor) && mode == BOT_REPAIRING) + go_idle() + return + else if(replacetiles && tilestack && floor.type != tilestack.turf_type) + toggle_magnet() + mode = BOT_REPAIRING + visible_message(span_notice("[src] begins replacing the floor tiles.")) + if(do_after(src, 5 SECONDS, target = target_turf) && mode == BOT_REPAIRING && tilestack) + go_idle() + return + + var/area/is_this_maints = get_area(floor) + if(was_replacing && tilestack) //turn the tile into plating (if needed), then replace it + floor = floor.make_plating(TRUE) || floor + tilestack.place_tile(floor, src) + if(!tilestack) + speak("Requesting refill of custom floor tiles to continue replacing.") go_idle() + return + + if(floor.broken || floor.burnt) //repair the tile and reset it to be undamaged (rather than replacing it) + floor.broken = FALSE + floor.burnt = FALSE + floor.update_appearance() + go_idle() + return + + if(istype(is_this_maints, /area/station/maintenance)) //place catwalk if it's plating and we're in maints + floor.place_on_top(/turf/open/floor/catwalk_floor, flags = CHANGETURF_INHERIT_AIR) + go_idle() + return + + //place normal tile if it's plating anywhere else + floor = floor.make_plating(TRUE) || floor + floor.place_on_top(/turf/open/floor/iron, flags = CHANGETURF_INHERIT_AIR) + go_idle() /mob/living/simple_animal/bot/floorbot/update_icon_state() . = ..() @@ -396,13 +413,23 @@ new /obj/item/stack/tile/iron/base(Tsec, 1) return ..() -/mob/living/simple_animal/bot/floorbot/UnarmedAttack(atom/A, proximity_flag, list/modifiers) +/mob/living/simple_animal/bot/floorbot/UnarmedAttack(atom/target, proximity_flag, list/modifiers) if(!can_unarmed_attack()) return - if(isturf(A)) - repair(A) + + if (!isturf(target)) + return ..() + + if(!(bot_cover_flags & BOT_COVER_EMAGGED) || !isfloorturf(target)) + repair(target) + return + + var/turf/open/floor/floor = target + if(isplatingturf(floor)) + floor.attempt_lattice_replacement() else - ..() + floor.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) + audible_message(span_danger("[src] makes an excited booping sound.")) /** * Checks a given turf to see if another floorbot is there, working as well. diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 39db78fdffb1d..1f4c925cb9102 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -33,6 +33,7 @@ bot_type = MULE_BOT path_image_color = "#7F5200" possessed_message = "You are a MULEbot! Do your best to make sure that packages get to their destination!" + shadow_type = SHADOW_LARGE /// unique identifier in case there are multiple mulebots. var/id @@ -48,9 +49,8 @@ ///Number of times retried a blocked path var/blockcount = 0 - var/auto_return = TRUE /// true if auto return to home beacon after unload - var/auto_pickup = TRUE /// true if auto-pickup at beacon - var/report_delivery = TRUE /// true if bot will announce an arrival to a location. + ///flags of mulebot mode + var/mulebot_delivery_flags = MULEBOT_RETURN_MODE | MULEBOT_AUTO_PICKUP_MODE | MULEBOT_REPORT_DELIVERY_MODE var/obj/item/stock_parts/power_store/cell /// Internal Powercell var/cell_move_power_usage = 1///How much power we use when we move. @@ -113,7 +113,6 @@ /mob/living/simple_animal/bot/mulebot/Destroy() UnregisterSignal(src, list(COMSIG_MOB_BOT_PRE_STEP, COMSIG_MOB_CLIENT_PRE_MOVE, COMSIG_MOB_BOT_STEP, COMSIG_MOB_CLIENT_MOVED)) unload(0) - QDEL_NULL(wires) QDEL_NULL(cell) return ..() @@ -262,7 +261,7 @@ /mob/living/simple_animal/bot/mulebot/ui_data(mob/user) var/list/data = list() - data["on"] = bot_mode_flags & BOT_MODE_ON + data["powerStatus"] = bot_mode_flags & BOT_MODE_ON data["locked"] = bot_cover_flags & BOT_COVER_LOCKED data["siliconUser"] = HAS_SILICON_ACCESS(user) data["mode"] = mode ? "[mode]" : "Ready" @@ -275,43 +274,43 @@ if(BOT_NO_ROUTE) data["modeStatus"] = "bad" data["load"] = get_load_name() - data["destination"] = destination ? destination : null - data["home"] = home_destination - data["destinations"] = GLOB.deliverybeacontags - data["cell"] = cell ? TRUE : FALSE - data["cellPercent"] = cell ? cell.percent() : null - data["autoReturn"] = auto_return - data["autoPickup"] = auto_pickup - data["reportDelivery"] = report_delivery - data["id"] = id - data["allow_possession"] = bot_mode_flags & BOT_MODE_CAN_BE_SAPIENT - data["possession_enabled"] = can_be_possessed - data["pai_inserted"] = !!paicard + data["destination"] = destination + data["homeDestination"] = home_destination + data["destinationsList"] = GLOB.deliverybeacontags + data["cellPercent"] = cell?.percent() + data["autoReturn"] = mulebot_delivery_flags & MULEBOT_RETURN_MODE + data["autoPickup"] = mulebot_delivery_flags & MULEBOT_AUTO_PICKUP_MODE + data["reportDelivery"] = mulebot_delivery_flags & MULEBOT_REPORT_DELIVERY_MODE + data["botId"] = id + data["allowPossession"] = bot_mode_flags & BOT_MODE_CAN_BE_SAPIENT + data["possessionEnabled"] = can_be_possessed + data["paiInserted"] = !!paicard return data -/mob/living/simple_animal/bot/mulebot/ui_act(action, params) +/mob/living/simple_animal/bot/mulebot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(usr))) + var/mob/user = ui.user + if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(user))) return switch(action) if("lock") - if(HAS_SILICON_ACCESS(usr)) + if(HAS_SILICON_ACCESS(user)) bot_cover_flags ^= BOT_COVER_LOCKED return TRUE if("on") if(bot_mode_flags & BOT_MODE_ON) turn_off() else if(bot_cover_flags & BOT_COVER_MAINTS_OPEN) - to_chat(usr, span_warning("[name]'s maintenance panel is open!")) + to_chat(user, span_warning("[name]'s maintenance panel is open!")) return else if(cell) if(!turn_on()) - to_chat(usr, span_warning("You can't switch on [src]!")) + to_chat(user, span_warning("You can't switch on [src]!")) return return TRUE else - bot_control(action, usr, params) // Kill this later. // Kill PDAs in general please + bot_control(action, user, params) // Kill this later. // Kill PDAs in general please return TRUE /mob/living/simple_animal/bot/mulebot/bot_control(command, mob/user, list/params = list(), pda = FALSE) @@ -352,11 +351,11 @@ else unload(0) if("autoret") - auto_return = !auto_return + mulebot_delivery_flags ^= MULEBOT_RETURN_MODE if("autopick") - auto_pickup = !auto_pickup + mulebot_delivery_flags ^= MULEBOT_AUTO_PICKUP_MODE if("report") - report_delivery = !report_delivery + mulebot_delivery_flags ^= MULEBOT_REPORT_DELIVERY_MODE /mob/living/simple_animal/bot/mulebot/proc/buzz(type) switch(type) @@ -433,8 +432,8 @@ return TRUE /mob/living/simple_animal/bot/mulebot/post_unbuckle_mob(mob/living/M) - load = null - return ..() + load = null + return ..() // called to unload the bot // argument is optional direction to unload @@ -637,12 +636,12 @@ radio_channel = RADIO_CHANNEL_AI_PRIVATE //Report on AI Private instead if the AI is controlling us. if(load) // if loaded, unload at target - if(report_delivery) + if(mulebot_delivery_flags & MULEBOT_REPORT_DELIVERY_MODE) speak("Destination [RUNECHAT_BOLD("[destination]")] reached. Unloading [load].",radio_channel) unload(loaddir) else // not loaded - if(auto_pickup) // find a crate + if(mulebot_delivery_flags & MULEBOT_AUTO_PICKUP_MODE) // find a crate var/atom/movable/AM if(wires.is_cut(WIRE_LOADCHECK)) // if hacked, load first unanchored thing we find for(var/atom/movable/A in get_step(loc, loaddir)) @@ -653,11 +652,11 @@ AM = locate(/obj/structure/closet/crate) in get_step(loc,loaddir) if(AM?.Adjacent(src)) load(AM) - if(report_delivery) + if(mulebot_delivery_flags & MULEBOT_REPORT_DELIVERY_MODE) speak("Now loading [load] at [RUNECHAT_BOLD("[get_area_name(src)]")].", radio_channel) // whatever happened, check to see if we return home - if(auto_return && home_destination && destination != home_destination) + if((mulebot_delivery_flags & MULEBOT_RETURN_MODE) && home_destination && destination != home_destination) // auto return set and not at home already start_home() mode = BOT_BLOCKED @@ -757,7 +756,6 @@ new /obj/item/stack/cable_coil/cut(Tsec) if(cell) cell.forceMove(Tsec) - cell.update_appearance() cell = null new /obj/effect/decal/cleanable/oil(loc) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 7448f6d34bc79..75856817e67fc 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -1,10 +1,12 @@ /mob/living/simple_animal/bot/secbot + SET_BASE_VISUAL_PIXEL(0, 9) name = "\improper Securitron" desc = "A little security robot. He looks less than thrilled." icon = 'icons/mob/silicon/aibots.dmi' icon_state = "secbot" light_color = "#f56275" light_power = 0.8 + shadow_offset_y = 3 density = FALSE anchored = FALSE health = 25 @@ -202,9 +204,10 @@ return data // Actions received from TGUI -/mob/living/simple_animal/bot/secbot/ui_act(action, params) +/mob/living/simple_animal/bot/secbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() - if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(usr))) + var/mob/user = ui.user + if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(user))) return switch(action) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm index 31d2e62fba7dc..79efa83e0b33a 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm @@ -32,6 +32,7 @@ mouse_opacity = MOUSE_OPACITY_OPAQUE // Easier to click on in melee, they're giant targets anyway flags_1 = PREVENT_CONTENTS_EXPLOSION_1 can_buckle_to = FALSE + shadow_type = SHADOW_LARGE // Making an educated guess that they're big /// Crusher loot dropped when the megafauna is killed with a crusher var/list/crusher_loot /// Achievement given to surrounding players when the megafauna is killed diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 193545d9985fa..3b8eb1eb8af23 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -51,6 +51,7 @@ Difficulty: Medium death_sound = SFX_BODYFALL footstep_type = FOOTSTEP_MOB_HEAVY move_force = MOVE_FORCE_NORMAL //Miner beeing able to just move structures like bolted doors and glass looks kinda strange + shadow_type = SHADOW_MEDIUM /// Does this blood-drunk miner heal slightly while attacking and heal more when gibbing people? var/guidance = FALSE /// Dash ability diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm index d7e82507f747c..7ab2891cae741 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/clockwork_knight.dm @@ -39,6 +39,7 @@ I'd rather there be something than the clockwork ruin be entirely empty though s death_sound = SFX_BODYFALL footstep_type = FOOTSTEP_MOB_HEAVY attack_action_types = list() + shadow_type = SHADOW_MEDIUM /mob/living/simple_animal/hostile/megafauna/clockwork_defender/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index a71b9f76af399..a327772996cdb 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -164,7 +164,6 @@ icon = 'icons/effects/effects.dmi' icon_state = "at_shield2" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE light_system = OVERLAY_LIGHT light_range = 2.5 light_power = 1.2 @@ -188,6 +187,10 @@ plane = GAME_PLANE var/explode_hit_objects = TRUE +/obj/projectile/colossus/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile) + /obj/projectile/colossus/can_hit_target(atom/target, direct_target = FALSE, ignore_loc = FALSE, cross_failed = FALSE) if(isliving(target)) direct_target = TRUE @@ -538,9 +541,9 @@ possessor.investigate_log("has died from [src].", INVESTIGATE_DEATHS) possessor.death(FALSE) if(holder_animal) - possessor.forceMove(get_turf(holder_animal)) holder_animal.mind.transfer_to(possessor) possessor.mind.grab_ghost(force = TRUE) + possessor.forceMove(get_turf(holder_animal)) holder_animal.investigate_log("has been gibbed by [src].", INVESTIGATE_DEATHS) holder_animal.gib(DROP_ALL_REMAINS) return ..() 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 2af3018bed306..85a0ec089be4f 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 @@ -44,6 +44,7 @@ Difficulty: Extremely Hard death_sound = SFX_BODYFALL footstep_type = FOOTSTEP_MOB_HEAVY summon_line = "I'M WIDE AWAKE! AND YOU'RE WIIIIIIIDE OPEN!" + shadow_type = SHADOW_MEDIUM /// If the demonic frost miner is in its enraged state var/enraged = FALSE /// If the demonic frost miner is currently transforming to its enraged state @@ -238,7 +239,7 @@ Difficulty: Extremely Hard /obj/item/resurrection_crystal name = "resurrection crystal" desc = "When used by anything holding it, this crystal gives them a second chance at life if they die." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "demonic_crystal" /obj/item/resurrection_crystal/attack_self(mob/living/user) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index e8a6cbfe51d5e..934bce2847cef 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -12,7 +12,7 @@ * *It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage. * - *Whenever possible, the drake will breathe fire directly at it's target, igniting and heavily damaging anything caught in the blast. + *Whenever possible, the drake will breathe fire directly at its target, igniting and heavily damaging anything caught in the blast. *It also often causes lava to pool from the ground around you - many nearby turfs will temporarily turn into lava, dealing damage to anything on the turfs. *The drake also utilizes its wings to fly into the sky, flying after its target and attempting to slam down on them. Anything near when it slams down takes huge damage. *Sometimes it will chain these swooping attacks over and over, making swiftness a necessity. @@ -236,8 +236,8 @@ /obj/effect/temp_visual/drakewall desc = "An ash drakes true flame." name = "Fire Barrier" - icon = 'icons/effects/fire.dmi' - icon_state = "1" + icon = 'icons/effects/atmos/fire.dmi' + icon_state = "light" anchored = TRUE opacity = FALSE density = TRUE @@ -258,7 +258,6 @@ name = "fireball" desc = "Get out of the way!" layer = FLY_LAYER - plane = ABOVE_GAME_PLANE randomdir = FALSE duration = 9 pixel_z = 270 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 4156d9678bca0..f3eb4338b7452 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -72,6 +72,7 @@ Difficulty: Hard /datum/action/innate/megafauna_attack/cross_blasts, /datum/action/innate/megafauna_attack/blink_spam) + shadow_type = SHADOW_MEDIUM var/burst_range = 3 //range on burst aoe var/beam_range = 5 //range on cross blast beams var/chaser_speed = 3 //how fast chasers are currently @@ -525,6 +526,8 @@ Difficulty: Hard var/turf/closed/mineral/M = loc M.gets_drilled(caster) +// wallening todo: does this work? +// It doesn't, we need a unique sprite for this /obj/effect/temp_visual/hierophant/wall //smoothing and pooling were not friends, but pooling is dead. name = "vortex wall" icon = 'icons/turf/walls/hierophant_wall_temp.dmi' diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 5077b3781e6a2..ee6122340d2ab 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -106,6 +106,7 @@ pixel_y = 0 maxHealth = 200 size = LEGION_SMALL + shadow_type = SHADOW_MEDIUM /mob/living/simple_animal/hostile/megafauna/legion/OpenFire(the_target) if(client) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 464636cbb204d..8b3a6b253e6dc 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -8,7 +8,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/wendigo name = "wendigo" - desc = "A mythological man-eating legendary creature, the sockets of it's eyes track you with an unsatiated hunger." + desc = "A mythological man-eating legendary creature, the sockets of its eyes track you with an unsatiated hunger." health = 2500 maxHealth = 2500 icon_state = "wendigo" diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 78bd8a9c5b648..ab3f916d46b95 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -38,6 +38,8 @@ GLOBAL_LIST_INIT(animatable_blacklist, typecacheof(list( faction = list(FACTION_MIMIC) move_to_delay = 9 del_on_death = 1 + shadow_type = SHADOW_NONE // crates dont have shadows + ///A cap for items in the mimic. Prevents the mimic from eating enough stuff to cause lag when opened. var/storage_capacity = 50 ///A cap for mobs. Mobs count towards the item cap. Same purpose as above. diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index f7d86c350deef..d3498136a880c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -7,8 +7,8 @@ * # Goliath Broodmother * * A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. - * When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. - * It's attacks are as follows: + * When its health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. + * Its attacks are as follows: * - Spawns a 3x3/plus shape of tentacles on the target location * - Spawns 2 baby goliaths on its tile, up to a max of 8. Children blow up when they die. * - The broodmother lets out a noise, and is able to move faster for 6.5 seconds. @@ -44,6 +44,7 @@ mouse_opacity = MOUSE_OPACITY_ICON death_message = "explodes into gore!" loot_drop = /obj/item/crusher_trophy/broodmother_tongue + shadow_type = SHADOW_LARGE attack_action_types = list(/datum/action/innate/elite_attack/tentacle_patch, /datum/action/innate/elite_attack/spawn_children, @@ -167,7 +168,7 @@ //The goliath's children. Pretty weak, simple mobs which are able to put a single tentacle under their target when at range. /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child name = "baby goliath" - desc = "A young goliath recently born from it's mother. While they hatch from eggs, said eggs are incubated in the mother until they are ready to be born." + desc = "A young goliath recently born from its mother. While they hatch from eggs, said eggs are incubated in the mother until they are ready to be born." icon = 'icons/mob/simple/lavaland/lavaland_monsters.dmi' icon_state = "goliath_baby" icon_living = "goliath_baby" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index 9f162e0cfdc77..0a01777fb1fd7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -6,9 +6,9 @@ /** * # Herald * - * A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. - * As it's health gets lower, the amount of projectiles fired per-attack increases. - * It's attacks are as follows: + * A slow-moving projectile user with a few tricks up its sleeve. Less unga-bunga than Colossus, with more cleverness in its fighting style. + * As its health gets lower, the amount of projectiles fired per-attack increases. + * Its attacks are as follows: * - Fires three projectiles in a given direction. * - Fires a spread in every cardinal and diagonal direction at once, then does it again after a bit. * - Shoots a single, golden bolt. Wherever it lands, the herald will be teleported to the location. @@ -232,6 +232,10 @@ damage_type = BRUTE pass_flags = PASSTABLE +/obj/projectile/herald/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile) + /obj/projectile/herald/on_hit(atom/target, blocked = 0, pierce_hit) if(ismob(target) && ismob(firer)) var/mob/living/mob_target = target diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index 1ec573dbd6c56..ba9e8daa99621 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -7,12 +7,12 @@ * # Legionnaire * * A towering skeleton, embodying the power of Legion. - * As it's health gets lower, the head does more damage. - * It's attacks are as follows: + * As its health gets lower, the head does more damage. + * Its attacks are as follows: * - Charges at the target after a telegraph, throwing them across the arena should it connect. - * - Legionnaire's head detaches, attacking as it's own entity. Has abilities of it's own later into the fight. Once dead, regenerates after a brief period. If the skill is used while the head is off, it will be killed. + * - Legionnaire's head detaches, attacking as its own entity. Has abilities of its own later into the fight. Once dead, regenerates after a brief period. If the skill is used while the head is off, it will be killed. * - Leaves a pile of bones at your location. Upon using this skill again, you'll swap locations with the bone pile. - * - Spews a cloud of smoke from it's maw, wherever said maw is. + * - Spews a cloud of smoke from its maw, wherever said maw is. * A unique fight incorporating the head mechanic of legion into a whole new beast. Combatants will need to make sure the tag-team of head and body don't lure them into a deadly trap. */ diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index a9babf2eccafa..33bcb4dc9d704 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -7,8 +7,8 @@ * # Pandora * * A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. - * As it's health gets lower, the time between it's attacks decrease. - * It's attacks are as follows: + * As its health gets lower, the time between its attacks decrease. + * Its attacks are as follows: * - Fires hierophant blasts in a straight line. Can only fire in a straight line in 8 directions, being the diagonals and cardinals. * - Creates a box of hierophant blasts around the target. If they try to run away to avoid it, they'll very likely get hit. * - Teleports the pandora from one location to another, almost identical to Hierophant. diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm index 0b163124a8e7c..57b49047436ee 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm @@ -1,6 +1,6 @@ /mob/living/simple_animal/hostile/asteroid/polarbear name = "polar bear" - desc = "An aggressive animal that defends it's territory with incredible power. These beasts don't run from their enemies." + desc = "An aggressive animal that defends its territory with incredible power. These beasts don't run from their enemies." icon = 'icons/mob/simple/icemoon/icemoon_monsters.dmi' icon_state = "polarbear" icon_living = "polarbear" diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.dm b/code/modules/mob/living/simple_animal/hostile/ooze.dm index f69c010ac6bfb..f08d2793bdbb3 100644 --- a/code/modules/mob/living/simple_animal/hostile/ooze.dm +++ b/code/modules/mob/living/simple_animal/hostile/ooze.dm @@ -1,5 +1,6 @@ ///Oozes are slime-esque creatures, they are highly gluttonous creatures primarily intended for player controll. /mob/living/simple_animal/hostile/ooze + SET_BASE_VISUAL_PIXEL(0, 10) name = "Ooze" icon = 'icons/mob/vatgrowing.dmi' icon_state = "gelatinous" @@ -27,6 +28,7 @@ mob_size = MOB_SIZE_LARGE initial_language_holder = /datum/language_holder/slime footstep_type = FOOTSTEP_MOB_SLIME + shadow_offset_y = 2 ///Oozes have their own nutrition. Changes based on them eating var/ooze_nutrition = 50 var/ooze_nutrition_loss = -0.15 diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm index fb7ac24da657f..7a42c5c1ab1e1 100644 --- a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm +++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm @@ -1,5 +1,6 @@ ///Vatbeasts are creatures from vatgrowing and are literaly a beast in a vat, yup. They are designed to be a powerful mount roughly equal to a gorilla in power. /mob/living/simple_animal/hostile/vatbeast + SET_BASE_VISUAL_PIXEL(0, 7) name = "vatbeast" desc = "A strange molluscoidal creature carrying a busted growing vat.\nYou wonder if this burden is a voluntary undertaking in order to achieve comfort and protection, or simply because the creature is fused to its metal shell?" icon = 'icons/mob/vatgrowing.dmi' @@ -25,6 +26,7 @@ attack_sound = 'sound/weapons/punch3.ogg' attack_verb_continuous = "slaps" attack_verb_simple = "slap" + shadow_offset_y = 5 /mob/living/simple_animal/hostile/vatbeast/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/sneeze.dm b/code/modules/mob/living/sneeze.dm index b2cf76c25a6b0..4c38027fda0d8 100644 --- a/code/modules/mob/living/sneeze.dm +++ b/code/modules/mob/living/sneeze.dm @@ -57,6 +57,7 @@ spread = 40 damage_type = BRUTE damage = 0 + hitsound = null /// Call this when we hit something var/datum/callback/sneezie_callback diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index a4964add6c865..b64f45d88102e 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -8,7 +8,7 @@ * * sets lastKnownIP * * sets computer_id * * logs the login - * * tells the world to update it's status (for player count) + * * tells the world to update its status (for player count) * * create mob huds for the mob if needed * * reset next_move to 1 * * Set statobj to our mob @@ -97,6 +97,13 @@ var/datum/atom_hud/alternate_appearance/AA = v AA.onNewMob(src) + frill_mask = image('icons/effects/frill_mask.dmi', src, "primary", pixel_x = -64, pixel_y = -44) + frill_mask.alpha = 200 // (to leave a bit of what's below for vision reasons) + SET_PLANE_EXPLICIT(frill_mask, FRILL_MASK_PLANE, src) + frill_mask.appearance_flags = RESET_TRANSFORM + LAZYADD(update_on_z, frill_mask) + client.images |= frill_mask + update_client_colour() update_mouse_pointer() update_ambience_area(get_area(src)) diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index 09d50c8436c71..90a314af7d337 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -3,7 +3,15 @@ log_message("[key_name(src)] is no longer owning mob [src]([src.type])", LOG_OWNERSHIP) SStgui.on_logout(src) remove_from_player_list() + update_ambience_area(null) // Unset ambience vars so it plays again on login + // Clears away the frill mask + // Wallening todo: make this better. Also why are these not cached exactly? + if(client) + client.images.Remove(frill_mask) + LAZYREMOVE(update_on_z, frill_mask) + frill_mask = null + ..() if(loc) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index dd651085d91fe..e1c94e6b8dd6c 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -92,12 +92,25 @@ AA.onNewMob(src) set_nutrition(rand(NUTRITION_LEVEL_START_MIN, NUTRITION_LEVEL_START_MAX)) . = ..() + setup_hud_traits() update_config_movespeed() initialize_actionspeed() update_movespeed(TRUE) become_hearing_sensitive() + create_shadow() log_mob_tag("TAG: [tag] CREATED: [key_name(src)] \[[type]\]") +/mob/proc/create_shadow() + if (shadow_type == SHADOW_NONE) + qdel(GetComponent(/datum/component/drop_shadow)) + return + + AddComponent(/datum/component/drop_shadow, \ + icon_state = shadow_type, \ + shadow_offset_x = shadow_offset_x, \ + shadow_offset_y = shadow_offset_y, \ + ) + /** * Generate the tag for this mob * @@ -1598,3 +1611,23 @@ /mob/key_down(key, client/client, full_key) ..() SEND_SIGNAL(src, COMSIG_MOB_KEYDOWN, key, client, full_key) + +/mob/proc/setup_hud_traits() + for(var/hud_trait in GLOB.trait_to_hud) + RegisterSignal(src, SIGNAL_ADDTRAIT(hud_trait), PROC_REF(hud_trait_enabled)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(hud_trait), PROC_REF(hud_trait_disabled)) + +/mob/proc/hud_trait_enabled(datum/source, new_trait) + SIGNAL_HANDLER + var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[new_trait]] + datahud.show_to(src) + +/mob/proc/hud_trait_disabled(datum/source, new_trait) + SIGNAL_HANDLER + var/datum/atom_hud/datahud = GLOB.huds[GLOB.trait_to_hud[new_trait]] + datahud.hide_from(src) + +/// Sets the turf click type this client should use for its next attempted click +/// See [TURF_CLICK_FLAT] +/mob/proc/set_turf_click_type(click_type) + turf_click_type = click_type diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 2206efd0e13ce..9c08d0bef579e 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -7,6 +7,7 @@ * Has a lot of the creature game world logic, such as health etc */ /mob + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) density = TRUE layer = MOB_LAYER animate_movement = SLIDE_STEPS @@ -21,6 +22,7 @@ see_in_dark = 1e6 // A list of factions that this mob is currently in, for hostile mob targeting, amongst other things faction = list(FACTION_NEUTRAL) + var/shift_to_open_context_menu = TRUE /// The current client inhabiting this mob. Managed by login/logout /// This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed /// We need to do this because the mob on logout never actually has a reference to client @@ -28,8 +30,6 @@ /// HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH var/client/canon_client - var/shift_to_open_context_menu = TRUE - /// Percentage of how much rgb to max the lighting plane at /// This lets us brighten it without washing out color /// Scale from 0-100, reset off update_sight() @@ -137,9 +137,6 @@ /// bitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc) var/status_flags = CANSTUN|CANKNOCKDOWN|CANUNCONSCIOUS|CANPUSH - /// Can they interact with station electronics - var/has_unlimited_silicon_privilege = FALSE - ///Calls relay_move() to whatever this is set to when the mob tries to move var/atom/movable/remote_control @@ -182,9 +179,15 @@ ///Override for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb) var/sound_environment_override = SOUND_ENVIRONMENT_NONE + ///Mask for when a client posseses a mob to mask out a section of the wall frill + var/image/frill_mask + /// A mock client, provided by tests and friends var/datum/client_interface/mock_client + ///Decides how to handle clicks on turfs + var/turf_click_type = TURF_CLICK_FLAT + var/interaction_range = 0 //how far a mob has to be to interact with something without caring about obsctruction, defaulted to 0 tiles ///the icon currently used for the typing indicator's bubble @@ -194,3 +197,10 @@ /// A ref of the area we're taking our ambient loop from. var/area/ambience_tracked_area + + /// What kind of underlay shadow do we use? + var/shadow_type = SHADOW_MEDIUM + /// Additional horizontal offset to apply to shadow underlay + var/shadow_offset_x = 0 + /// Additional vertical offset to apply to shadow underlay + var/shadow_offset_y = 0 diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index a6a1c58c7eddf..a3fceb0493e8c 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -345,12 +345,14 @@ return return TRUE -///Is the passed in mob an admin ghost WITH AI INTERACT enabled +///Returns TRUE/FALSE on whether the mob is an Admin Ghost AI. +///This requires this snowflake check because AI interact gives the access to the mob's client, rather +///than the mob like everyone else, and we keep it that way so they can't accidentally give someone Admin AI access. /proc/isAdminGhostAI(mob/user) if(!isAdminObserver(user)) - return - if(!user.client.AI_Interact) // Do they have it enabled? - return + return FALSE + if(!HAS_TRAIT_FROM(user.client, TRAIT_AI_ACCESS, ADMIN_TRAIT)) // Do they have it enabled? + return FALSE return TRUE /** @@ -428,7 +430,7 @@ ///Can the mob see reagents inside of containers? /mob/proc/can_see_reagents() - return stat == DEAD || has_unlimited_silicon_privilege || HAS_TRAIT(src, TRAIT_REAGENT_SCANNER) //Dead guys and silicons can always see reagents + return stat == DEAD || HAS_TRAIT(src, TRAIT_REAGENT_SCANNER) //Dead guys and silicons can always see reagents ///Can this mob hold items /mob/proc/can_hold_items(obj/item/I) diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index 56cd102a59b8c..c6de6897cabb4 100644 --- a/code/modules/mob/mob_transformation_simple.dm +++ b/code/modules/mob/mob_transformation_simple.dm @@ -69,6 +69,15 @@ else desired_mob.key = key + if(desired_mob.base_pixel_x) + desired_mob.pixel_x = desired_mob.base_pixel_x + if(desired_mob.base_pixel_y) + desired_mob.pixel_y = desired_mob.base_pixel_y + if(desired_mob.base_pixel_x) + desired_mob.pixel_w = desired_mob.base_pixel_w + if(desired_mob.base_pixel_y) + desired_mob.pixel_z = desired_mob.base_pixel_z + SEND_SIGNAL(src, COMSIG_MOB_CHANGED_TYPE, desired_mob) if(delete_old_mob) QDEL_IN(src, 1) diff --git a/code/modules/mob/mob_update_icons.dm b/code/modules/mob/mob_update_icons.dm index a355a385d9faa..b14da72e83061 100644 --- a/code/modules/mob/mob_update_icons.dm +++ b/code/modules/mob/mob_update_icons.dm @@ -54,6 +54,8 @@ update_worn_shoes(update_obscured = FALSE) if(obscured_flags & HIDEMASK) update_worn_mask(update_obscured = FALSE) + if(obscured_flags & HIDEBELT) + update_worn_belt(update_obscured = FALSE) if(obscured_flags & HIDEEARS) update_worn_ears(update_obscured = FALSE) if(obscured_flags & HIDEEYES) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 5d46f3c0dc06a..28de95ff94dd5 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -17,7 +17,7 @@ //Make mob invisible and spawn animation ADD_TRAIT(src, TRAIT_NO_TRANSFORM, TEMPORARY_TRANSFORMATION_TRAIT) - Paralyze(TRANSFORMATION_DURATION, ignore_canstun = TRUE) + Stun(TRANSFORMATION_DURATION, ignore_canstun = TRUE) icon = null cut_overlays() @@ -29,12 +29,12 @@ /mob/living/carbon/proc/finish_monkeyize() transformation_timer = null - to_chat(src, span_boldnotice("You are now a monkey.")) REMOVE_TRAIT(src, TRAIT_NO_TRANSFORM, TEMPORARY_TRANSFORMATION_TRAIT) icon = initial(icon) RemoveInvisibility(type) set_species(/datum/species/monkey) - name = "monkey" + to_chat(src, span_boldnotice("You are now \a [dna.species.name].")) + name = LOWER_TEXT(dna.species.name) regenerate_icons() set_name() SEND_SIGNAL(src, COMSIG_HUMAN_MONKEYIZE) @@ -57,7 +57,7 @@ //Make mob invisible and spawn animation ADD_TRAIT(src, TRAIT_NO_TRANSFORM, TEMPORARY_TRANSFORMATION_TRAIT) - Paralyze(TRANSFORMATION_DURATION, ignore_canstun = TRUE) + Stun(TRANSFORMATION_DURATION, ignore_canstun = TRUE) icon = null cut_overlays() @@ -70,15 +70,15 @@ /mob/living/carbon/proc/finish_humanize(species = /datum/species/human) transformation_timer = null - to_chat(src, span_boldnotice("You are now a human.")) REMOVE_TRAIT(src, TRAIT_NO_TRANSFORM, TEMPORARY_TRANSFORMATION_TRAIT) icon = initial(icon) RemoveInvisibility(type) set_species(species) + to_chat(src, span_boldnotice("You are now \a [dna.species.name].")) SEND_SIGNAL(src, COMSIG_MONKEY_HUMANIZE) return src -/mob/living/carbon/human/finish_humanize(species = /datum/species/human, instant = FALSE) +/mob/living/carbon/human/finish_humanize(species = /datum/species/human) underwear = "Nude" undershirt = "Nude" socks = "Nude" diff --git a/code/modules/mob_spawn/corpses/mob_corpses.dm b/code/modules/mob_spawn/corpses/mob_corpses.dm index f83dc13f1eded..c6d0cbd55cf4c 100644 --- a/code/modules/mob_spawn/corpses/mob_corpses.dm +++ b/code/modules/mob_spawn/corpses/mob_corpses.dm @@ -162,6 +162,16 @@ head = /obj/item/clothing/head/helmet/space/pirate back = /obj/item/tank/jetpack/carbondioxide +/obj/effect/mob_spawn/corpse/human/old_pirate_captain + name = "Pirate Captain Skeleton" + outfit = /datum/outfit/piratecorpse/captain + mob_species = /datum/species/skeleton + +/datum/outfit/piratecorpse/captain + glasses = /obj/item/clothing/glasses/eyepatch + head = /obj/item/clothing/head/costume/pirate + suit = /obj/item/clothing/suit/costume/pirate + /obj/effect/mob_spawn/corpse/human/russian name = "Russian" outfit = /datum/outfit/russiancorpse diff --git a/code/modules/mob_spawn/ghost_roles/space_roles.dm b/code/modules/mob_spawn/ghost_roles/space_roles.dm index 79d028bdbcb27..528aea46b8690 100644 --- a/code/modules/mob_spawn/ghost_roles/space_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/space_roles.dm @@ -160,6 +160,8 @@ l_pocket = /obj/item/uplink/nuclear r_pocket = /obj/item/modular_computer/pda/nukeops + skillchips = list(/obj/item/skillchip/disk_verifier) + /obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser/captain name = "Syndicate Battlecruiser Captain" you_are_text = "You are the captain aboard the syndicate flagship: the SBC Starfury." @@ -184,3 +186,8 @@ mask = /obj/item/cigarette/cigar/havana l_pocket = /obj/item/melee/energy/sword/saber/red r_pocket = /obj/item/melee/baton/telescopic + + skillchips = list( + /obj/item/skillchip/disk_verifier, + /obj/item/skillchip/big_pointer, + ) diff --git a/code/modules/mod/mod_ai.dm b/code/modules/mod/mod_ai.dm index 4f855fa8bc999..bea297461c540 100644 --- a/code/modules/mod/mod_ai.dm +++ b/code/modules/mod/mod_ai.dm @@ -165,7 +165,7 @@ /obj/item/mod/ai_minicard name = "AI mini-card" desc = "A small card designed to eject dead AIs. You could use an intellicard to recover it." - icon = 'icons/obj/aicards.dmi' + icon = 'icons/obj/devices/aicards.dmi' icon_state = "minicard" var/datum/weakref/stored_ai diff --git a/code/modules/mod/mod_construction.dm b/code/modules/mod/mod_construction.dm index ca7be41ec426f..16ce70df94563 100644 --- a/code/modules/mod/mod_construction.dm +++ b/code/modules/mod/mod_construction.dm @@ -92,6 +92,9 @@ desc = "[desc] [used_theme.desc]" icon_state = "[used_theme.default_skin]-plating" +/obj/item/mod/construction/plating/civilian + theme = /datum/mod_theme/civilian + /obj/item/mod/construction/plating/engineering theme = /datum/mod_theme/engineering diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 3b47453ef374f..cf91aaf482c22 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -116,7 +116,6 @@ uninstall(module, deleting = TRUE) if(core) QDEL_NULL(core) - QDEL_NULL(wires) QDEL_NULL(mod_link) for(var/datum/mod_part/part_datum as anything in get_part_datums(all = TRUE)) part_datum.part_item = null @@ -538,7 +537,7 @@ radial_anchor = get_turf(user.loc) //they're phased out via some module, anchor the radial on the turf so it may still display if (!isnull(anchor_override)) radial_anchor = anchor_override - var/pick = show_radial_menu(user, radial_anchor, items, custom_check = FALSE, require_near = isnull(anchor_override), tooltips = TRUE) + var/pick = show_radial_menu(user, radial_anchor, items, custom_check = FALSE, require_near = isnull(anchor_override), tooltips = TRUE, user_space = !isnull(anchor_override)) if(!pick) return var/module_reference = display_names[pick] diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm index 0c13efa1b950c..5f93427f53277 100644 --- a/code/modules/mod/mod_core.dm +++ b/code/modules/mod/mod_core.dm @@ -173,7 +173,6 @@ /obj/item/mod/core/standard/proc/uninstall_cell() if(!cell) return - cell.update_appearance() cell = null mod.update_charge_alert() diff --git a/code/modules/mod/mod_paint.dm b/code/modules/mod/mod_paint.dm index 7897b60b794a7..ead9151cbdf1e 100644 --- a/code/modules/mod/mod_paint.dm +++ b/code/modules/mod/mod_paint.dm @@ -55,7 +55,7 @@ data["currentColor"] = current_color return data -/obj/item/mod/paint/ui_act(action, list/params) +/obj/item/mod/paint/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index 8978a4113719d..276183eeb92ce 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -83,37 +83,6 @@ SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), - "civilian" = list( - /obj/item/clothing/head/mod = list( - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, - UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, - SEALED_MESSAGE = HELMET_SEAL_MESSAGE, - ), - /obj/item/clothing/suit/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, - SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, - ), - /obj/item/clothing/gloves/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, - SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, - ), - /obj/item/clothing/shoes/mod = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, - SEALED_MESSAGE = BOOT_SEAL_MESSAGE, - ), - ), ) #ifdef UNIT_TESTS @@ -210,6 +179,58 @@ acid = 25 wound = 5 +/datum/mod_theme/civilian + name = "civilian" + desc = "A light-weight civilian suit that offers unmatched ease of movement but no protection from the vacuum of space." + extended_desc = "An experimental design by Nakamura Engineering, intended to be marketed towards planet-bound customers. \ + This model sacrifices the protection from biological and chemical threats and the vacuum of space in exchange for \ + vastly improved mobility. Due to the slimmed-down profile, it also has less capacity for modifications compared to \ + mainline models." + default_skin = "civilian" + armor_type = /datum/armor/mod_theme_civilian + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY - 3 + slowdown_inactive = 0.5 + slowdown_active = 0 + variants = list( + "civilian" = list( + /obj/item/clothing/head/mod = list( + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, + ), + /obj/item/clothing/suit/mod = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, + ), + /obj/item/clothing/gloves/mod = list( + UNSEALED_CLOTHING = THICKMATERIAL, + CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, + ), + /obj/item/clothing/shoes/mod = list( + UNSEALED_CLOTHING = THICKMATERIAL, + CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, + ), + ), + ) + +/datum/armor/mod_theme_civilian + melee = 5 + bullet = 5 + laser = 5 + energy = 5 + bio = 50 + fire = 25 + acid = 25 + wound = 5 + /datum/mod_theme/engineering name = "engineering" desc = "An engineer-fit suit with heat and shock resistance. Nakamura Engineering's classic." @@ -458,21 +479,21 @@ ), /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT|HIDEBELT, UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, SEALED_MESSAGE = BOOT_SEAL_MESSAGE, @@ -481,7 +502,7 @@ "asteroid" = list( /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, @@ -490,21 +511,21 @@ ), /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT|HIDEBELT, UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, SEALED_MESSAGE = BOOT_SEAL_MESSAGE, @@ -512,7 +533,7 @@ ), ) -/datum/mod_theme/loader/New() +/datum/mod_theme/mining/New() .=..() allowed_suit_storage = GLOB.mining_suit_allowed @@ -1330,6 +1351,7 @@ siemens_coefficient = 0 slowdown_inactive = 0 slowdown_active = 0 + activation_step_time = MOD_ACTIVATION_STEP_TIME * 0.5 ui_theme = "syndicate" slot_flags = ITEM_SLOT_BELT inbuilt_modules = list(/obj/item/mod/module/infiltrator, /obj/item/mod/module/storage/belt, /obj/item/mod/module/demoralizer) @@ -1386,7 +1408,7 @@ /datum/mod_theme/interdyne name = "interdyne" desc = "A corpse-snatching and rapid-retrieval modsuit, resulting from a lucrative tech exchange between Interdyne Pharmaceutics and Cybersun Industries." - extended_desc = "While Waffle Co. and Azik Interstellar provide the means, Donk Co., Tiger Cooperative, Animal Rights Consortium and \ + extended_desc = "While Waffle Corp. and Azik Interstellar provide the means, Donk Co., Tiger Cooperative, Animal Rights Consortium and \ Gorlex Marauders willing or easily bribable brawn, S.E.L.F. and MI13 information, the clear syndicate tech providers would be Interdyne and Cybersun, \ their combined knowledge in technologies rivaled by only the most enigmatic of aliens, and certainly not by any Nanotrasen scientist. \ This model is one of the rare fruits created by their joint operations, mashing scrapped designs with super soldier enhancements. \ @@ -1866,7 +1888,7 @@ extended_desc = "A bulky and only legal by technicality suit, this ominous black and red MODsuit is only worn by \ Nanotrasen Black Ops teams. If you can see this suit, you fucked up. A collaborative joint effort between \ Apadyne and Nanotrasen the construction and modules gives the user robust protection against \ - anything that can be thrown at it, along with acute combat awareness tools for it's wearer. \ + anything that can be thrown at it, along with acute combat awareness tools for its wearer. \ Whether the wearer uses it or not is up to them. \ There seems to be a little inscription on the wrist that reads; \'squiddie', d'aww." default_skin = "apocryphal" diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index b74f05408a0a1..b20efa4c66641 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -46,6 +46,14 @@ /obj/item/mod/module/flashlight, ) +/obj/item/mod/control/pre_equipped/civilian + theme = /datum/mod_theme/civilian + applied_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + ) + /obj/item/mod/control/pre_equipped/engineering theme = /datum/mod_theme/engineering applied_modules = list( @@ -115,7 +123,7 @@ theme = /datum/mod_theme/mining applied_core = /obj/item/mod/core/plasma applied_modules = list( - /obj/item/mod/module/storage, + /obj/item/mod/module/storage/large_capacity, /obj/item/mod/module/gps, /obj/item/mod/module/orebag, /obj/item/mod/module/clamp, @@ -171,6 +179,9 @@ /obj/item/mod/module/quick_cuff, /obj/item/mod/module/headprotector, ) + default_pins = list( + /obj/item/mod/module/jetpack, + ) /obj/item/mod/control/pre_equipped/safeguard theme = /datum/mod_theme/safeguard @@ -482,7 +493,7 @@ /obj/item/mod/control/pre_equipped/responsory/janitor insignia_type = /obj/item/mod/module/insignia/janitor - additional_module = /obj/item/mod/module/clamp + additional_module = /obj/item/mod/module/noslip /obj/item/mod/control/pre_equipped/responsory/clown insignia_type = /obj/item/mod/module/insignia/clown diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index 81a266f8ff41a..9048701f1d017 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -180,6 +180,7 @@ if(playsound) playsound(grabbed_atom, 'sound/effects/empulse.ogg', 75, TRUE) STOP_PROCESSING(SSfastprocess, src) + UnregisterSignal(grabbed_atom, list(COMSIG_MOB_STATCHANGE, COMSIG_MOVABLE_SET_ANCHORED)) kinesis_catcher = null mod.wearer.clear_fullscreen("kinesis") grabbed_atom.cut_overlay(kinesis_icon) @@ -265,7 +266,7 @@ name = "MOD kinesis+ module" desc = "A modular plug-in to the forearm, this module was recently redeveloped in secret. \ The bane of all ne'er-do-wells, the kinesis+ module is a powerful tool that allows the user \ - to manipulate the world around them. Like it's older counterpart, it's capable of manipulating \ + to manipulate the world around them. Like its older counterpart, it's capable of manipulating \ structures, machinery, vehicles, and, thanks to the fruitful efforts of its creators - living beings." complexity = 0 prebuilt = TRUE diff --git a/code/modules/mod/modules/module_pathfinder.dm b/code/modules/mod/modules/module_pathfinder.dm index 64790eacb3bec..f0a92e3a05153 100644 --- a/code/modules/mod/modules/module_pathfinder.dm +++ b/code/modules/mod/modules/module_pathfinder.dm @@ -11,6 +11,7 @@ Nakamura Engineering swears up and down there's airbrakes." icon_state = "pathfinder" complexity = 1 + module_type = MODULE_USABLE use_energy_cost = DEFAULT_CHARGE_DRAIN * 10 incompatible_modules = list(/obj/item/mod/module/pathfinder) required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) @@ -56,6 +57,21 @@ else target.visible_message(span_notice("[user] implants [target]."), span_notice("[user] implants you with [implant].")) playsound(src, 'sound/effects/spray.ogg', 30, TRUE, -6) + module_type = MODULE_PASSIVE + +/obj/item/mod/module/pathfinder/on_use() + . = ..() + if (!ishuman(mod.wearer) || !implant) + return + if(!implant.implant(mod.wearer, mod.wearer)) + balloon_alert(mod.wearer, "can't implant!") + return + balloon_alert(mod.wearer, "implanted") + playsound(src, 'sound/effects/spray.ogg', 30, TRUE, -6) + module_type = MODULE_PASSIVE + var/datum/action/item_action/mod/pinnable/module/existing_action = pinned_to[REF(mod.wearer)] + if(existing_action) + mod.remove_item_action(existing_action) /obj/item/mod/module/pathfinder/proc/attach(mob/living/user) if(!ishuman(user)) diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 815cfb0a144bc..2ab0b0a1fd269 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -54,7 +54,7 @@ /obj/item/mod/module/storage/large_capacity name = "MOD expanded storage module" - desc = "Reverse engineered by Nakamura Engineering from Donk Corporation designs, this system of hidden compartments \ + desc = "Reverse engineered by Nakamura Engineering from Donk Company designs, this system of hidden compartments \ is entirely within the suit, distributing items and weight evenly to ensure a comfortable experience for the user; \ whether smuggling, or simply hauling." icon_state = "storage_large" @@ -174,9 +174,6 @@ required_slots = list(ITEM_SLOT_BACK) /obj/item/mod/module/jump_jet/on_use() - . = ..() - if (!.) - return FALSE if (DOING_INTERACTION(mod.wearer, mod.wearer)) balloon_alert(mod.wearer, "busy!") return @@ -289,7 +286,6 @@ icon_state = "apparatus" complexity = 1 incompatible_modules = list(/obj/item/mod/module/mouthhole) - overlay_state_inactive = "module_apparatus" required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_MASK) /// Former flags of the helmet. var/former_helmet_flags = NONE @@ -454,7 +450,7 @@ ///Dispenser - Dispenses an item after a time passes. /obj/item/mod/module/dispenser name = "MOD burger dispenser module" - desc = "A rare piece of technology reverse-engineered from a prototype found in a Donk Corporation vessel. \ + desc = "A rare piece of technology reverse-engineered from a prototype found in a Donk Company vessel. \ This can draw incredible amounts of power from the suit's charge to create edible organic matter in the \ palm of the wearer's glove; however, research seemed to have entirely stopped at burgers. \ Notably, all attempts to get it to dispense Earl Grey tea have failed." @@ -715,6 +711,7 @@ attached_hat = hat var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) if(istype(helmet)) + helmet.attach_clothing_traits(attached_hat.clothing_traits) former_flags = helmet.flags_cover former_visor_flags = helmet.visor_flags_cover helmet.flags_cover |= attached_hat.flags_cover @@ -737,11 +734,12 @@ balloon_alert(user, "hat removed") else balloon_alert_to_viewers("the hat falls to the floor!") - attached_hat = null var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) if(istype(helmet)) + helmet.detach_clothing_traits(attached_hat) helmet.flags_cover = former_flags helmet.visor_flags_cover = former_visor_flags + attached_hat = null mod.wearer.update_clothing(mod.slot_flags) /obj/item/mod/module/hat_stabilizer/syndicate @@ -863,16 +861,10 @@ return ..() /obj/item/mod/module/recycler/on_activation() - . = ..() - if(!.) - return connector = AddComponent(/datum/component/connect_loc_behalf, mod.wearer, loc_connections) RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(on_wearer_moved)) /obj/item/mod/module/recycler/on_deactivation(display_message, deleting = FALSE) - . = ..() - if(!.) - return QDEL_NULL(connector) UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(on_wearer_moved)) diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index 936c261dd2047..8a1d31a92f6b0 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -212,16 +212,20 @@ continue succeed = TRUE break - if(succeed) - var/list/organs_to_boot_out = organ_receiver.get_organ_slot(organ.slot) - for(var/obj/item/organ/organ_evacced as anything in organs_to_boot_out) - if(organ_evacced.organ_flags & ORGAN_UNREMOVABLE) - continue - organ_evacced.Remove(target) - organ_evacced.forceMove(get_turf(target)) - organ.Insert(target) - else + + if(!succeed) organ.forceMove(drop_location()) + organ = null + return + + var/list/organs_to_boot_out = organ_receiver.get_organ_slot(organ.slot) + for(var/obj/item/organ/organ_evacced as anything in organs_to_boot_out) + if(organ_evacced.organ_flags & ORGAN_UNREMOVABLE) + continue + organ_evacced.Remove(target, special = TRUE) + organ_evacced.forceMove(get_turf(target)) + + organ.Insert(target) organ = null ///Patrient Transport - Generates hardlight bags you can put people in. @@ -406,12 +410,21 @@ /datum/surgery/advanced/pacify, /datum/surgery/healing/combo/upgraded/femto, /datum/surgery/advanced/brainwashing, + /datum/surgery/advanced/brainwashing/mechanic, /datum/surgery/advanced/bioware/nerve_splicing, + /datum/surgery/advanced/bioware/nerve_splicing/mechanic, /datum/surgery/advanced/bioware/nerve_grounding, + /datum/surgery/advanced/bioware/nerve_grounding/mechanic, /datum/surgery/advanced/bioware/vein_threading, + /datum/surgery/advanced/bioware/vein_threading/mechanic, /datum/surgery/advanced/bioware/muscled_veins, + /datum/surgery/advanced/bioware/muscled_veins/mechanic, /datum/surgery/advanced/bioware/ligament_hook, + /datum/surgery/advanced/bioware/ligament_hook/mechanic, /datum/surgery/advanced/bioware/ligament_reinforcement, + /datum/surgery/advanced/bioware/ligament_reinforcement/mechanic, /datum/surgery/advanced/bioware/cortex_imprint, + /datum/surgery/advanced/bioware/cortex_imprint/mechanic, /datum/surgery/advanced/bioware/cortex_folding, + /datum/surgery/advanced/bioware/cortex_folding/mechanic, ) diff --git a/code/modules/mod/modules/modules_ninja.dm b/code/modules/mod/modules/modules_ninja.dm index 0e0de691e030b..a5215341a06d2 100644 --- a/code/modules/mod/modules/modules_ninja.dm +++ b/code/modules/mod/modules/modules_ninja.dm @@ -73,14 +73,10 @@ /obj/item/mod/module/stealth/ninja/on_activation() . = ..() - if(!.) - return ADD_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, MOD_TRAIT) /obj/item/mod/module/stealth/ninja/on_deactivation(display_message = TRUE, deleting = FALSE) . = ..() - if(!.) - return REMOVE_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, MOD_TRAIT) ///Camera Vision - Prevents flashes, blocks tracking. @@ -177,10 +173,10 @@ var/accepted_type = /obj/item/energy_katana /obj/item/mod/module/weapon_recall/on_suit_activation() - ADD_TRAIT(mod.wearer, TRAIT_NOGUNS, MOD_TRAIT) + mod.wearer.add_traits(list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD), MOD_TRAIT) /obj/item/mod/module/weapon_recall/on_suit_deactivation(deleting = FALSE) - REMOVE_TRAIT(mod.wearer, TRAIT_NOGUNS, MOD_TRAIT) + mod.wearer.remove_traits(list(TRAIT_NOGUNS, TRAIT_TOSS_GUN_HARD), MOD_TRAIT) /obj/item/mod/module/weapon_recall/on_use() if(!linked_weapon) diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index 19150b8a4cd67..752273fa0748c 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -269,7 +269,7 @@ dispense_type = /obj/item/grenade/mirage /obj/item/mod/module/dispenser/mirage/on_use() - var/obj/item/grenade/mirage/grenade = . + var/obj/item/grenade/mirage/grenade = ..() grenade.arm_grenade(mod.wearer) /obj/item/grenade/mirage @@ -331,9 +331,6 @@ RegisterSignal(dampening_field, COMSIG_DAMPENER_RELEASE, PROC_REF(release_projectile)) /obj/item/mod/module/projectile_dampener/on_deactivation(display_message, deleting = FALSE) - . = ..() - if(!.) - return QDEL_NULL(dampening_field) /obj/item/mod/module/projectile_dampener/proc/dampen_projectile(datum/source, obj/projectile/projectile) diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index 0e2bffd0aa6a7..68762f2fbeb8b 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -499,6 +499,7 @@ mod.wearer.add_traits(user_traits, MOD_TRAIT) mod.wearer.RemoveElement(/datum/element/footstep, FOOTSTEP_MOB_HUMAN, 1, -6) mod.wearer.AddElement(/datum/element/footstep, FOOTSTEP_OBJ_ROBOT, 1, -6, sound_vary = TRUE) + mod.wearer.add_movespeed_mod_immunities(MOD_TRAIT, /datum/movespeed_modifier/damage_slowdown) mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/sphere) RegisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE, PROC_REF(on_statchange)) @@ -560,6 +561,7 @@ light_power = 1 light_color = COLOR_LIGHT_ORANGE embed_type = null + can_hit_turfs = TRUE /obj/projectile/bullet/mining_bomb/Initialize(mapload) . = ..() @@ -607,7 +609,7 @@ explosion_image = image('icons/effects/96x96.dmi', "judicial_explosion") explosion_image.pixel_x = -32 explosion_image.pixel_y = -32 - SET_PLANE_EXPLICIT(explosion_image, ABOVE_GAME_PLANE, src) + SET_PLANE_EXPLICIT(explosion_image, GAME_PLANE, src) /obj/structure/mining_bomb/proc/prime(atom/movable/firer) add_overlay(explosion_image) diff --git a/code/modules/mod/modules/modules_visor.dm b/code/modules/mod/modules/modules_visor.dm index 4527fa631a65c..6a1d61ea7ef0d 100644 --- a/code/modules/mod/modules/modules_visor.dm +++ b/code/modules/mod/modules/modules_visor.dm @@ -10,23 +10,15 @@ incompatible_modules = list(/obj/item/mod/module/visor) cooldown_time = 0.5 SECONDS required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) - /// The HUD type given by the visor. - var/hud_type /// The traits given by the visor. var/list/visor_traits = list() /obj/item/mod/module/visor/on_activation() - if(hud_type) - var/datum/atom_hud/hud = GLOB.huds[hud_type] - hud.show_to(mod.wearer) if(length(visor_traits)) mod.wearer.add_traits(visor_traits, MOD_TRAIT) mod.wearer.update_sight() /obj/item/mod/module/visor/on_deactivation(display_message = TRUE, deleting = FALSE) - if(hud_type) - var/datum/atom_hud/hud = GLOB.huds[hud_type] - hud.hide_from(mod.wearer) if(length(visor_traits)) mod.wearer.remove_traits(visor_traits, MOD_TRAIT) mod.wearer.update_sight() @@ -38,7 +30,6 @@ biological scanning suite, allowing the user to visualize the current health of organic lifeforms, as well as \ access data such as patient files in a convenient readout. They say these also let you see behind you." icon_state = "medhud_visor" - hud_type = DATA_HUD_MEDICAL_ADVANCED visor_traits = list(TRAIT_MEDICAL_HUD) //Diagnostic Visor - Gives you a diagnostic HUD. @@ -48,8 +39,7 @@ from advanced machinery, exosuits, and other devices, allowing the user to visualize current power levels \ and integrity of such. They say these also let you see behind you." icon_state = "diaghud_visor" - hud_type = DATA_HUD_DIAGNOSTIC_ADVANCED - visor_traits = list(TRAIT_DIAGNOSTIC_HUD) + visor_traits = list(TRAIT_DIAGNOSTIC_HUD, TRAIT_BOT_PATH_HUD) //Security Visor - Gives you a security HUD. /obj/item/mod/module/visor/sechud @@ -58,7 +48,6 @@ plugged into various criminal databases to be able to view arrest records, command simple security-oriented robots, \ and generally know who to shoot. They say these also let you see behind you." icon_state = "sechud_visor" - hud_type = DATA_HUD_SECURITY_ADVANCED visor_traits = list(TRAIT_SECURITY_HUD) //Meson Visor - Gives you meson vision. diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 1ece8577d3c6b..03503ac36d864 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -80,8 +80,8 @@ var/base_idle_power_usage = 1 WATTS // Modular computers can run on various devices. Each DEVICE (Laptop, Console & Tablet) - // must have it's own DMI file. Icon states must be called exactly the same in all files, but may look differently - // If you create a program which is limited to Laptops and Consoles you don't have to add it's icon_state overlay for Tablets too, for example. + // must have its own DMI file. Icon states must be called exactly the same in all files, but may look differently + // If you create a program which is limited to Laptops and Consoles you don't have to add its icon_state overlay for Tablets too, for example. ///If set, what the icon_state will be if the computer is unpowered. var/icon_state_unpowered @@ -727,6 +727,8 @@ UpdateDisplay() /obj/item/modular_computer/ui_action_click(mob/user, actiontype) + if(!issilicon(user)) + playsound(src, SFX_KEYBOARD_CLICKS, 10, TRUE, FALSE) if(istype(actiontype, /datum/action/item_action/toggle_computer_light)) toggle_flashlight(user) return diff --git a/code/modules/modular_computers/computers/item/pda.dm b/code/modules/modular_computers/computers/item/pda.dm index f1fced454e4d3..b40ae45f27f91 100644 --- a/code/modules/modular_computers/computers/item/pda.dm +++ b/code/modules/modular_computers/computers/item/pda.dm @@ -140,6 +140,11 @@ return . || NONE +/obj/item/modular_computer/pda/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(iscash(interacting_with)) + return money_act(user,interacting_with) + return NONE + /obj/item/modular_computer/pda/item_interaction(mob/living/user, obj/item/tool, list/modifiers) . = ..() if(.) diff --git a/code/modules/modular_computers/computers/item/role_tablet_presets.dm b/code/modules/modular_computers/computers/item/role_tablet_presets.dm index 7e4c7402c770b..2b55146f72606 100644 --- a/code/modules/modular_computers/computers/item/role_tablet_presets.dm +++ b/code/modules/modular_computers/computers/item/role_tablet_presets.dm @@ -6,7 +6,7 @@ greyscale_config = /datum/greyscale_config/tablet/head greyscale_colors = "#67A364#a92323" max_capacity = parent_type::max_capacity * 2 - starting_programs = list( + var/static/list/datum/computer_file/head_programs = list( /datum/computer_file/program/crew_manifest, /datum/computer_file/program/status, /datum/computer_file/program/science, @@ -14,6 +14,12 @@ /datum/computer_file/program/budgetorders, ) +/obj/item/modular_computer/pda/heads/Initialize(mapload) + . = ..() + for(var/programs in head_programs) + var/datum/computer_file/program/program_type = new programs + store_file(program_type) + /obj/item/modular_computer/pda/heads/captain name = "captain PDA" greyscale_config = /datum/greyscale_config/tablet/captain @@ -35,11 +41,6 @@ greyscale_config = /datum/greyscale_config/tablet/stripe_thick/head greyscale_colors = "#374f7e#a52f29#a52f29" starting_programs = list( - /datum/computer_file/program/crew_manifest, - /datum/computer_file/program/status, - /datum/computer_file/program/science, - /datum/computer_file/program/robocontrol, - /datum/computer_file/program/budgetorders, /datum/computer_file/program/records/security, /datum/computer_file/program/job_management, ) @@ -50,11 +51,6 @@ greyscale_colors = "#EA3232#0000CC" inserted_item = /obj/item/pen/red/security starting_programs = list( - /datum/computer_file/program/crew_manifest, - /datum/computer_file/program/status, - /datum/computer_file/program/science, - /datum/computer_file/program/robocontrol, - /datum/computer_file/program/budgetorders, /datum/computer_file/program/records/security, ) @@ -63,11 +59,6 @@ greyscale_config = /datum/greyscale_config/tablet/stripe_thick/head greyscale_colors = "#D99A2E#69DBF3#FAFAFA" starting_programs = list( - /datum/computer_file/program/crew_manifest, - /datum/computer_file/program/status, - /datum/computer_file/program/science, - /datum/computer_file/program/robocontrol, - /datum/computer_file/program/budgetorders, /datum/computer_file/program/atmosscan, /datum/computer_file/program/alarm_monitor, /datum/computer_file/program/supermatter_monitor, @@ -78,11 +69,6 @@ greyscale_config = /datum/greyscale_config/tablet/stripe_thick/head greyscale_colors = "#FAFAFA#000099#3F96CC" starting_programs = list( - /datum/computer_file/program/crew_manifest, - /datum/computer_file/program/status, - /datum/computer_file/program/science, - /datum/computer_file/program/robocontrol, - /datum/computer_file/program/budgetorders, /datum/computer_file/program/maintenance/phys_scanner, /datum/computer_file/program/records/medical, ) @@ -94,12 +80,7 @@ inserted_item = /obj/item/pen/fountain starting_programs = list( /datum/computer_file/program/borg_monitor, - /datum/computer_file/program/budgetorders, - /datum/computer_file/program/crew_manifest, - /datum/computer_file/program/robocontrol, - /datum/computer_file/program/science, /datum/computer_file/program/scipaper_program, - /datum/computer_file/program/status, /datum/computer_file/program/signal_commander, ) @@ -110,11 +91,6 @@ inserted_item = /obj/item/pen/survival stored_paper = 20 starting_programs = list( - /datum/computer_file/program/crew_manifest, - /datum/computer_file/program/status, - /datum/computer_file/program/science, - /datum/computer_file/program/robocontrol, - /datum/computer_file/program/budgetorders, /datum/computer_file/program/shipping, /datum/computer_file/program/restock_tracker, ) diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 48cbc57d7455f..e705d8825dea0 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -2,6 +2,7 @@ // Modular Computer - A machinery that is mostly just a host to the Modular Computer item. /obj/machinery/modular_computer + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "modular computer" desc = "You shouldn't see this. If you do, report it." //they should be examining the processor instead icon = 'icons/obj/machines/modular_console.dmi' diff --git a/code/modules/modular_computers/file_system/programs/atmosscan.dm b/code/modules/modular_computers/file_system/programs/atmosscan.dm index 7e26087285971..32819a358058c 100644 --- a/code/modules/modular_computers/file_system/programs/atmosscan.dm +++ b/code/modules/modular_computers/file_system/programs/atmosscan.dm @@ -27,7 +27,7 @@ on_analyze(source=source, target=get_turf(computer)) return COMPONENT_CANCEL_ATTACK_CHAIN -/// Keep this in sync with it's tool based counterpart [/obj/proc/analyzer_act] and [/atom/proc/tool_act] +/// Keep this in sync with its tool based counterpart [/obj/proc/analyzer_act] and [/atom/proc/tool_act] /datum/computer_file/program/atmosscan/tap(atom/A, mob/living/user, params) if(atmozphere_mode != ATMOZPHERE_SCAN_CLICK) return FALSE diff --git a/code/modules/modular_computers/file_system/programs/frontier.dm b/code/modules/modular_computers/file_system/programs/frontier.dm index c8030287e8943..04e902a5e8d4c 100644 --- a/code/modules/modular_computers/file_system/programs/frontier.dm +++ b/code/modules/modular_computers/file_system/programs/frontier.dm @@ -8,7 +8,7 @@ program_open_overlay = "research" tgui_id = "NtosScipaper" program_icon = "paper-plane" - download_access = list(ACCESS_ORDNANCE, ACCESS_SCIENCE, ACCESS_AWAY_SCIENCE) + download_access = list(ACCESS_ORDNANCE, ACCESS_SCIENCE, ACCESS_AWAY_SCIENCE, ACCESS_ATMOSPHERICS) var/datum/techweb/linked_techweb /// Unpublished, temporary paper datum. diff --git a/code/modules/modular_computers/file_system/programs/powermonitor.dm b/code/modules/modular_computers/file_system/programs/powermonitor.dm index 817cad275cd1e..4dbd4ea467f51 100644 --- a/code/modules/modular_computers/file_system/programs/powermonitor.dm +++ b/code/modules/modular_computers/file_system/programs/powermonitor.dm @@ -42,7 +42,7 @@ attached_wire_ref = WEAKREF(locate(/obj/structure/cable) in T) if(attached_wire_ref) return - var/area/A = get_area(computer) //if the computer isn't directly connected to a wire, attempt to find the APC powering it to pull it's powernet instead + var/area/A = get_area(computer) //if the computer isn't directly connected to a wire, attempt to find the APC powering it to pull its powernet instead if(!A) return var/obj/machinery/power/apc/local_apc = A.apc diff --git a/code/modules/modular_computers/file_system/programs/robocontrol.dm b/code/modules/modular_computers/file_system/programs/robocontrol.dm index 314048c514958..694c84eaeea4d 100644 --- a/code/modules/modular_computers/file_system/programs/robocontrol.dm +++ b/code/modules/modular_computers/file_system/programs/robocontrol.dm @@ -53,9 +53,9 @@ "dest" = simple_mulebot.destination, "power" = simple_mulebot.cell ? simple_mulebot.cell.percent() : 0, "home" = simple_mulebot.home_destination, - "autoReturn" = simple_mulebot.auto_return, - "autoPickup" = simple_mulebot.auto_pickup, - "reportDelivery" = simple_mulebot.report_delivery, + "autoReturn" = simple_mulebot.mulebot_delivery_flags & MULEBOT_RETURN_MODE, + "autoPickup" = simple_mulebot.mulebot_delivery_flags & MULEBOT_AUTO_PICKUP_MODE, + "reportDelivery" = simple_mulebot.mulebot_delivery_flags & MULEBOT_REPORT_DELIVERY_MODE, "mule_ref" = REF(simple_mulebot), "load" = simple_mulebot.get_load_name(), )) diff --git a/code/modules/modular_computers/file_system/programs/secureye.dm b/code/modules/modular_computers/file_system/programs/secureye.dm index a754c37d811e9..c7a24a6e8b7b9 100644 --- a/code/modules/modular_computers/file_system/programs/secureye.dm +++ b/code/modules/modular_computers/file_system/programs/secureye.dm @@ -209,7 +209,7 @@ var/list/visible_turfs = list() - // Get the camera's turf to correctly gather what's visible from it's turf, in case it's located in a moving object (borgs / mechs) + // Get the camera's turf to correctly gather what's visible from its turf, in case it's located in a moving object (borgs / mechs) var/new_cam_turf = get_turf(active_camera) // If we're not forcing an update for some reason and the cameras are in the same location, diff --git a/code/modules/modular_computers/file_system/programs/techweb.dm b/code/modules/modular_computers/file_system/programs/techweb.dm index 014e6a56727a3..4e181370fe2ad 100644 --- a/code/modules/modular_computers/file_system/programs/techweb.dm +++ b/code/modules/modular_computers/file_system/programs/techweb.dm @@ -50,6 +50,7 @@ return data data += list( "nodes" = list(), + "queue_nodes" = stored_research.research_queue_nodes, "experiments" = list(), "researched_designs" = stored_research.researched_designs, "points" = stored_research.research_points, @@ -64,6 +65,10 @@ // Serialize all nodes to display for(var/tier in stored_research.tiers) var/datum/techweb_node/node = SSresearch.techweb_node_by_id(tier) + var/enqueued_by_user = FALSE + + if((tier in stored_research.research_queue_nodes) && stored_research.research_queue_nodes[tier] == user) + enqueued_by_user = TRUE // Ensure node is supposed to be visible if (stored_research.hidden_nodes[tier]) @@ -71,8 +76,11 @@ data["nodes"] += list(list( "id" = node.id, + "is_free" = node.is_free(stored_research), "can_unlock" = stored_research.can_unlock_node(node), - "tier" = stored_research.tiers[node.id] + "have_experiments_done" = stored_research.have_experiments_for_node(node), + "tier" = stored_research.tiers[node.id], + "enqueued_by_user" = enqueued_by_user )) // Get experiments and serialize them @@ -111,6 +119,12 @@ if ("researchNode") research_node(params["node_id"], usr) return TRUE + if ("enqueueNode") + enqueue_node(params["node_id"], usr) + return TRUE + if ("dequeueNode") + dequeue_node(params["node_id"], usr) + return TRUE /datum/computer_file/program/science/ui_static_data(mob/user) . = list( @@ -188,6 +202,20 @@ id_cache_seq += 1 return id_cache[id] +/datum/computer_file/program/science/proc/enqueue_node(id, mob/user) + if(!stored_research || !stored_research.available_nodes[id] || stored_research.researched_nodes[id]) + computer.say("Node enqueue failed: Either no techweb is found, node is already researched or is not available!") + return FALSE + stored_research.enqueue_node(id, user) + return TRUE + +/datum/computer_file/program/science/proc/dequeue_node(id, mob/user) + if(!stored_research || !stored_research.available_nodes[id] || stored_research.researched_nodes[id]) + computer.say("Node dequeue failed: Either no techweb is found, node is already researched or is not available!") + return FALSE + stored_research.dequeue_node(id, user) + return TRUE + /datum/computer_file/program/science/proc/research_node(id, mob/user) if(!stored_research || !stored_research.available_nodes[id] || stored_research.researched_nodes[id]) computer.say("Node unlock failed: Either no techweb is found, node is already researched or is not available!") diff --git a/code/modules/modular_computers/file_system/programs/virtual_pet.dm b/code/modules/modular_computers/file_system/programs/virtual_pet.dm index 7a0adba3cce6d..78a9148b013fe 100644 --- a/code/modules/modular_computers/file_system/programs/virtual_pet.dm +++ b/code/modules/modular_computers/file_system/programs/virtual_pet.dm @@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(virtual_pets_list) /datum/emote/living/jump, /datum/emote/living/shiver, /datum/emote/spin, - /datum/emote/living/beep, + /datum/emote/silicon/beep, ) data["possible_emotes"] = list("none") for(var/datum/emote/target_emote as anything in possible_emotes) diff --git a/code/modules/movespeed/modifiers/innate.dm b/code/modules/movespeed/modifiers/innate.dm index 83d8b3fb78d98..545d92d26b57b 100644 --- a/code/modules/movespeed/modifiers/innate.dm +++ b/code/modules/movespeed/modifiers/innate.dm @@ -18,3 +18,8 @@ /datum/movespeed_modifier/dna_vault_speedup blacklisted_movetypes = (FLYING|FLOATING) multiplicative_slowdown = -0.4 + +/// The movespeed modifier from the heavy fish trait when applied to mobs. +/datum/movespeed_modifier/heavy_fish + multiplicative_slowdown = 0.4 + flags = IGNORE_NOSLOW diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm index 1624ce37bf6d9..aa8c8153e97f5 100644 --- a/code/modules/movespeed/modifiers/mobs.dm +++ b/code/modules/movespeed/modifiers/mobs.dm @@ -172,3 +172,6 @@ /datum/movespeed_modifier/basilisk_overheat multiplicative_slowdown = -18 + +/datum/movespeed_modifier/magic_ties + multiplicative_slowdown = 0.5 diff --git a/code/modules/movespeed/modifiers/status_effects.dm b/code/modules/movespeed/modifiers/status_effects.dm index 4768f66a544f4..8f4e59d65557b 100644 --- a/code/modules/movespeed/modifiers/status_effects.dm +++ b/code/modules/movespeed/modifiers/status_effects.dm @@ -38,6 +38,9 @@ /datum/movespeed_modifier/status_effect/tired_post_charge multiplicative_slowdown = 3 +/datum/movespeed_modifier/status_effect/tired_post_charge/lesser + multiplicative_slowdown = 2 + /// Get slower the more gold is in your system. /datum/movespeed_modifier/status_effect/midas_blight id = MOVESPEED_ID_MIDAS_BLIGHT diff --git a/code/modules/pai/card.dm b/code/modules/pai/card.dm index ccf0bae5f042b..08f7dd5d22c14 100644 --- a/code/modules/pai/card.dm +++ b/code/modules/pai/card.dm @@ -1,7 +1,7 @@ /obj/item/pai_card custom_premium_price = PAYCHECK_COMMAND * 1.25 desc = "Downloads personal AI assistants to accompany its owner or others." - icon = 'icons/obj/aicards.dmi' + icon = 'icons/obj/devices/aicards.dmi' icon_state = "pai" inhand_icon_state = "electronic" lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi' @@ -237,7 +237,7 @@ request_spam = TRUE playsound(src, 'sound/machines/ping.ogg', 20, TRUE) balloon_alert(user, "pAI assistance requested") - var/mutable_appearance/alert_overlay = mutable_appearance('icons/obj/aicards.dmi', "pai") + var/mutable_appearance/alert_overlay = mutable_appearance('icons/obj/devices/aicards.dmi', "pai") notify_ghosts( "[user] is requesting a pAI companion! Use the pAI button to submit yourself as one.", diff --git a/code/modules/pai/say.dm b/code/modules/pai/say.dm index b35abfe7f9d80..c7ed1a566d883 100644 --- a/code/modules/pai/say.dm +++ b/code/modules/pai/say.dm @@ -1,2 +1,2 @@ /mob/living/silicon/pai/binarycheck() - return radio?.translate_binary + return (radio?.special_channels & RADIO_SPECIAL_BINARY) diff --git a/code/modules/pai/software.dm b/code/modules/pai/software.dm index ab69e69388ccd..59db371610797 100644 --- a/code/modules/pai/software.dm +++ b/code/modules/pai/software.dm @@ -230,11 +230,11 @@ var/datum/atom_hud/hud var/hud_on if(mode == PAI_TOGGLE_MEDICAL_HUD) - hud = GLOB.huds[med_hud] + hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] medHUD = !medHUD hud_on = medHUD if(mode == PAI_TOGGLE_SECURITY_HUD) - hud = GLOB.huds[sec_hud] + hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] secHUD = !secHUD hud_on = secHUD if(hud_on) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index f4e6c7122468d..7750b3926465f 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -13,6 +13,13 @@ throw_range = 7 slot_flags = ITEM_SLOT_BELT resistance_flags = FLAMMABLE + + unique_reskin = list( + "Brown" = "clipboard", + "Black" = "clipboard_black", + "White" = "clipboard_white", + ) + /// The stored pen var/obj/item/pen/pen /// Is the pen integrated? @@ -151,7 +158,7 @@ return data -/obj/item/clipboard/ui_act(action, params) +/obj/item/clipboard/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index 0be6375ed1742..0d1430429eb82 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -66,6 +66,27 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department fax_name = "[current_area.name]" return ..() +/obj/machinery/fax/admin/syndicate + name = "Syndicate Fax Machine" + +/obj/machinery/fax/admin/syndicate/Initialize(mapload) + fax_name = "[special_networks["syndicate"]["fax_name"]]" + fax_id = special_networks["syndicate"]["fax_id"] + syndicate_network = TRUE + return ..() + +/obj/machinery/fax/admin + name = "CentCom Fax Machine" + +/obj/machinery/fax/admin/Initialize(mapload) + if (!fax_name) + fax_name = "[GLOB.nt_fax_department]" + if(!fax_id) + fax_id = special_networks["nanotrasen"]["fax_id"] + name = "[fax_name] Fax Machine" + visible_to_network = FALSE + return ..() + /obj/machinery/fax/Initialize(mapload) . = ..() if (!fax_id) @@ -78,7 +99,6 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department /obj/machinery/fax/Destroy() QDEL_NULL(loaded_item_ref) - QDEL_NULL(wires) return ..() /obj/machinery/fax/update_overlays() @@ -254,11 +274,13 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department data["fax_history"] = fax_history var/list/special_networks_data = list() for(var/key in special_networks) + if(special_networks[key]["fax_id"] == fax_id) + continue special_networks_data += list(special_networks[key]) data["special_faxes"] = special_networks_data return data -/obj/machinery/fax/ui_act(action, list/params) +/obj/machinery/fax/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -301,7 +323,7 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department history_add("Send", params["name"]) GLOB.requests.fax_request(usr.client, "sent a fax message from [fax_name]/[fax_id] to [params["name"]]", fax_paper) - to_chat(GLOB.admins, span_adminnotice("[icon2html(src.icon, GLOB.admins)]FAX REQUEST: [ADMIN_FULLMONTY(usr)]: [span_linkify("sent a fax message from [fax_name]/[fax_id][ADMIN_FLW(src)] to [html_encode(params["name"])]")] [ADMIN_SHOW_PAPER(fax_paper)]"), confidential = TRUE) + to_chat(GLOB.admins, span_adminnotice("[icon2html(src.icon, GLOB.admins)]FAX REQUEST: [ADMIN_FULLMONTY(usr)]: [span_linkify("sent a fax message from [fax_name]/[fax_id][ADMIN_FLW(src)] to [html_encode(params["name"])]")] [ADMIN_SHOW_PAPER(fax_paper)] [ADMIN_PRINT_FAX(fax_paper, fax_name, params["id"])]"), confidential = TRUE) for(var/client/staff as anything in GLOB.admins) if(staff?.prefs.read_preference(/datum/preference/toggle/comms_notification)) SEND_SOUND(staff, sound('sound/misc/server-ready.ogg')) diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 46b9b8f31fdd2..7e4817c8ae4c8 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -11,6 +11,7 @@ * Filing Cabinets */ /obj/structure/filingcabinet + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "filing cabinet" desc = "A large cabinet with drawers." icon = 'icons/obj/service/bureaucracy.dmi' @@ -83,7 +84,7 @@ return data -/obj/structure/filingcabinet/ui_act(action, params) +/obj/structure/filingcabinet/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 3ee556b3adf4f..50c833ca89fd5 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -106,7 +106,7 @@ return data -/obj/item/folder/ui_act(action, params) +/obj/item/folder/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/paperwork/paperwork.dm b/code/modules/paperwork/paperwork.dm index 03f22177f9e71..2acedcf00f093 100644 --- a/code/modules/paperwork/paperwork.dm +++ b/code/modules/paperwork/paperwork.dm @@ -44,7 +44,7 @@ if(.) return - if(stamped || istype(attacking_item, /obj/item/stamp)) + if(stamped || !istype(attacking_item, /obj/item/stamp)) return if(istype(attacking_item, stamp_requested)) @@ -166,7 +166,7 @@ detailed_desc += span_info(" The stack of documents appear to be a medical report from a nearby station, detailing the autopsy of an unknown xenofauna.") detailed_desc += span_info(" Skipping to the end of the report reveals that the specimen was the station bartender's pet monkey.") - detailed_desc += span_info(" The specimen had been exposed to radiation during an 'unrelated incident with the engine', leading to it's mutated form.") + detailed_desc += span_info(" The specimen had been exposed to radiation during an 'unrelated incident with the engine', leading to its mutated form.") detailed_desc += span_info(" Regardless, the autopsy results look like they could be useful. You should probably stamp this.") diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index d37d97c167792..7be0e3548ad2b 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -363,8 +363,8 @@ var/datum/component/transforming/transform_comp = GetComponent(/datum/component/transforming) .["damage"] = max(5, transform_comp.throwforce_on) .["speed"] = max(0, transform_comp.throw_speed_on - 3) - var/list/embed_params = .["embedding"] - embed_params["embed_chance"] = 100 + var/datum/embed_data/data = .["embedding"] + .["embedding"] = data.generate_with_values(embed_chance = 100) /obj/item/pen/edagger/proc/on_containing_dart_fired(obj/projectile/source) SIGNAL_HANDLER diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 72d3ecd85ba03..d7db68631c650 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -58,6 +58,7 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) return parsed_blanks /obj/machinery/photocopier + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "photocopier" desc = "Used to copy important documents and anatomy studies." icon = 'icons/obj/service/library.dmi' @@ -78,8 +79,6 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) var/color_mode = PHOTO_COLOR /// Indicates whether the printer is currently busy copying or not. var/busy = FALSE - /// Variable needed to determine the selected category of forms on Photocopier.js - var/category /// Variable that holds a reference to any object supported for photocopying inside the photocopier var/obj/object_copy /// Variable for the UI telling us how many copies are in the queue. @@ -149,6 +148,8 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) static_data["blanks"] = blank_infos static_data["categories"] = category_names + static_data["max_paper_count"] = MAX_PAPER_CAPACITY + static_data["max_copies"] = MAX_COPIES_AT_ONCE return static_data @@ -156,8 +157,6 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) var/list/data = list() data["has_item"] = !copier_empty() data["num_copies"] = num_copies - - data["category"] = category data["copies_left"] = copies_left if(istype(object_copy, /obj/item/photo)) @@ -181,7 +180,7 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) return data -/obj/machinery/photocopier/ui_act(action, list/params) +/obj/machinery/photocopier/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -265,10 +264,6 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) if("set_copies") num_copies = clamp(text2num(params["num_copies"]), 1, MAX_COPIES_AT_ONCE) return TRUE - // Changes the forms displayed on Photocopier.js when you switch categories - if("choose_category") - category = params["category"] - return TRUE // Called when you press print blank if("print_blank") if(check_busy(usr)) @@ -276,7 +271,7 @@ GLOBAL_LIST_INIT(paper_blanks, init_paper_blanks()) if(!(params["code"] in GLOB.paper_blanks)) return FALSE var/list/blank = GLOB.paper_blanks[params["code"]] - do_copies(CALLBACK(src, PROC_REF(make_blank_print), blank), usr, PAPER_PAPER_USE, PAPER_TONER_USE, 1) + do_copies(CALLBACK(src, PROC_REF(make_blank_print), blank), usr, PAPER_PAPER_USE, PAPER_TONER_USE, num_copies) return TRUE /// Returns the color used for the printing operation. If the color is below TONER_LOW_PERCENTAGE, it returns a gray color. diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index b4e97615a923a..a28d90336c0f0 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -8,10 +8,6 @@ base_icon_state = "ticketmachine" desc = "A marvel of bureaucratic engineering encased in an efficient plastic shell. It can be refilled with a hand labeler refill roll and linked to buttons with a multitool." density = FALSE - maptext_height = 26 - maptext_width = 32 - maptext_x = 7 - maptext_y = 10 layer = HIGH_OBJ_LAYER ///Increment the ticket number whenever the HOP presses his button var/ticket_number = 0 @@ -42,7 +38,7 @@ /obj/machinery/ticket_machine/on_deconstruction(disassembled = TRUE) new /obj/item/wallframe/ticket_machine(loc) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine) /obj/machinery/ticket_machine/examine(mob/user) . = ..() @@ -75,7 +71,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine, 32) icon = 'icons/obj/service/bureaucracy.dmi' icon_state = "ticketmachine_off" result_path = /obj/machinery/ticket_machine - pixel_shift = 32 ///Increments the counter by one, if there is a ticket after the current one we are serving. ///If we have a current ticket, remove it from the top of our tickets list and replace it with the next one if applicable @@ -118,6 +113,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine, 32) controller.id = null to_chat(user, span_warning("You've linked [src] to [M.buffer].")) +BUTTON_DIRECTIONAL_HELPERS(/obj/machinery/button/ticket_machine) + /obj/item/assembly/control/ticket_machine name = "ticket machine controller" desc = "A remote controller for the HoP's ticket machine." @@ -155,27 +152,31 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/ticket_machine, 32) to_chat(activator, span_notice("The button light indicates that there are no more tickets to be processed.")) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 1 SECONDS) -/obj/machinery/ticket_machine/update_icon() - . = ..() - handle_maptext() - /obj/machinery/ticket_machine/update_icon_state() - switch(ticket_number) //Gives you an idea of how many tickets are left - if(0 to 99) - icon_state = "[base_icon_state]" - if(100) - icon_state = "[base_icon_state]_empty" + if(machine_stat & (NOPOWER|BROKEN)) + icon_state = "ticketmachine_off" + else if(ticket_number == max_number) + icon_state = "ticketmachine_nopaper" + else + icon_state = "ticketmachine" return ..() -/obj/machinery/ticket_machine/proc/handle_maptext() - switch(current_number) //This is here to handle maptext offsets so that the numbers align. - if(0 to 9) - maptext_x = 9 - if(10 to 99) - maptext_x = 6 - if(100) - maptext_x = 4 - maptext = MAPTEXT(current_number) //Finally, apply the maptext +/obj/machinery/ticket_machine/update_overlays() + . = ..() + if(machine_stat & (NOPOWER|BROKEN)) + return + + var/number_string = "[current_number]" + var/text_len = length(number_string) + var/start_x = 12 - (2*text_len) + + for(var/i=1; i <= text_len, i++) + var/mutable_appearance/number_overlay = mutable_appearance('icons/testing/Font_Minimal.dmi', number_string[i]) + number_overlay.blend_mode = BLEND_SUBTRACT + number_overlay.pixel_x = start_x + number_overlay.pixel_y = -14 + . += number_overlay + start_x = start_x + 4 /obj/machinery/ticket_machine/attackby(obj/item/I, mob/user, params) ..() diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index 9efde283e0767..087562cb8eec5 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -10,7 +10,6 @@ icon_state = "frame-overlay" result_path = /obj/structure/sign/picture_frame var/obj/item/photo/displayed - pixel_shift = 30 /obj/item/wallframe/picture/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/photo)) diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm index de4a900579219..a7045567fa80d 100644 --- a/code/modules/plumbing/ducts.dm +++ b/code/modules/plumbing/ducts.dm @@ -100,7 +100,7 @@ All the important duct code: other.add_connects(opposite_dir) other.update_appearance() - return TRUE //tell the current pipe to also update it's sprite + return TRUE //tell the current pipe to also update its sprite if(!(other in neighbours)) //we cool if((duct_color != other.duct_color) && !(ignore_colors || other.ignore_colors)) return @@ -339,7 +339,7 @@ All the important duct code: /obj/item/stack/ducts/examine(mob/user) . = ..() - . += span_notice("It's current color and layer are [duct_color] and [duct_layer]. Use in-hand to change.") + . += span_notice("Its current color and layer are [duct_color] and [duct_layer]. Use in-hand to change.") /obj/item/stack/ducts/attack_self(mob/user) var/new_layer = tgui_input_list(user, "Select a layer", "Layer", GLOB.plumbing_layers, duct_layer) diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index c8564b15f1215..33c063bbfed20 100644 --- a/code/modules/plumbing/plumbers/_plumb_machinery.dm +++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm @@ -190,6 +190,8 @@ transfer_amount = reagent.volume * part if(reagent.intercept_reagents_transfer(target_holder, amount)) + update_total() + target_holder.update_total() continue transfered_amount = target_holder.add_reagent(reagent.type, transfer_amount, copy_data(reagent), chem_temp, reagent.purity, reagent.ph, no_react = TRUE, ignore_splitting = reagent.chemical_flags & REAGENT_DONOTSPLIT) //we only handle reaction after every reagent has been transferred. diff --git a/code/modules/plumbing/plumbers/acclimator.dm b/code/modules/plumbing/plumbers/acclimator.dm index 014ff8499018d..51300af110b01 100644 --- a/code/modules/plumbing/plumbers/acclimator.dm +++ b/code/modules/plumbing/plumbers/acclimator.dm @@ -88,7 +88,7 @@ data["emptying"] = emptying return data -/obj/machinery/plumbing/acclimator/ui_act(action, params) +/obj/machinery/plumbing/acclimator/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/plumbing/plumbers/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm index ac421bce74002..fa7529bfe64ef 100644 --- a/code/modules/plumbing/plumbers/fermenter.dm +++ b/code/modules/plumbing/plumbers/fermenter.dm @@ -3,7 +3,6 @@ desc = "Turns plants into various types of booze." icon_state = "fermenter" layer = ABOVE_ALL_MOB_LAYER - plane = ABOVE_GAME_PLANE reagent_flags = TRANSPARENT | DRAINABLE buffer = 400 diff --git a/code/modules/plumbing/plumbers/pill_press.dm b/code/modules/plumbing/plumbers/pill_press.dm index 945908342a6a6..23a7c7b03e54f 100644 --- a/code/modules/plumbing/plumbers/pill_press.dm +++ b/code/modules/plumbing/plumbers/pill_press.dm @@ -61,7 +61,7 @@ . = ..() . += span_notice("The [name] currently has [stored_products.len] stored. There needs to be less than [MAX_FLOOR_PRODUCTS] on the floor to continue dispensing.") -/// decode product category from it's type path and returns the decoded typepath +/// decode product category from its type path and returns the decoded typepath /obj/machinery/plumbing/pill_press/proc/decode_category() var/obj/item/reagent_containers/container = locate(packaging_type) if(ispath(container, /obj/item/reagent_containers/pill/patch)) @@ -136,7 +136,7 @@ return data -/obj/machinery/plumbing/pill_press/ui_act(action, params) +/obj/machinery/plumbing/pill_press/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/plumbing/plumbers/reaction_chamber.dm b/code/modules/plumbing/plumbers/reaction_chamber.dm index 59fcfaf7caf91..9828c9e697f85 100644 --- a/code/modules/plumbing/plumbers/reaction_chamber.dm +++ b/code/modules/plumbing/plumbers/reaction_chamber.dm @@ -180,8 +180,8 @@ /** * figure out which buffer to transfer to restore balance - * if solution is getting too basic(high ph) add some acid to lower it's value - * else if solution is getting too acidic(low ph) add some base to increase it's value + * if solution is getting too basic(high ph) add some acid to lower its value + * else if solution is getting too acidic(low ph) add some base to increase its value */ var/datum/reagents/buffer = reagents.ph > alkaline_limit ? acidic_beaker.reagents : alkaline_beaker.reagents if(!buffer.total_volume) diff --git a/code/modules/plumbing/plumbers/splitters.dm b/code/modules/plumbing/plumbers/splitters.dm index b87a07d694cc4..c2f9216c92b90 100644 --- a/code/modules/plumbing/plumbers/splitters.dm +++ b/code/modules/plumbing/plumbers/splitters.dm @@ -32,7 +32,7 @@ data["max_transfer"] = max_transfer return data -/obj/machinery/plumbing/splitter/ui_act(action, params) +/obj/machinery/plumbing/splitter/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/plumbing/plumbers/synthesizer.dm b/code/modules/plumbing/plumbers/synthesizer.dm index 0399ad85f3c04..ed4121d6ad02a 100644 --- a/code/modules/plumbing/plumbers/synthesizer.dm +++ b/code/modules/plumbing/plumbers/synthesizer.dm @@ -89,7 +89,7 @@ .["current_reagent"] = initial(reagent_id.name) -/obj/machinery/plumbing/synthesizer/ui_act(action, params) +/obj/machinery/plumbing/synthesizer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/point/point.dm b/code/modules/point/point.dm index 6e61b1154d59c..681fbce2c6bac 100644 --- a/code/modules/point/point.dm +++ b/code/modules/point/point.dm @@ -7,22 +7,30 @@ * * Not intended as a replacement for the mob verb */ -/atom/movable/proc/point_at(atom/pointed_atom) +/atom/movable/proc/point_at(atom/pointed_atom, intentional = FALSE) if(!isturf(loc)) - return + return FALSE if (pointed_atom in src) create_point_bubble(pointed_atom) - return + return FALSE var/turf/tile = get_turf(pointed_atom) if (!tile) - return + return FALSE var/turf/our_tile = get_turf(src) var/obj/visual = new /obj/effect/temp_visual/point(our_tile, invisibility) + SEND_SIGNAL(src, COMSIG_MOVABLE_POINTED, pointed_atom, visual, intentional) + animate(visual, pixel_x = (tile.x - our_tile.x) * world.icon_size + pointed_atom.pixel_x, pixel_y = (tile.y - our_tile.y) * world.icon_size + pointed_atom.pixel_y, time = 1.7, easing = EASE_OUT) + return TRUE + +/mob/point_at(atom/pointed_atom, intentional = FALSE) + . = ..() + if(.) + face_atom(pointed_atom) /atom/movable/proc/create_point_bubble(atom/pointed_atom) var/mutable_appearance/thought_bubble = mutable_appearance( @@ -109,7 +117,6 @@ if(client && !(pointing_at in view(client.view, src))) return FALSE - point_at(pointing_at) + point_at(pointing_at, TRUE) - SEND_SIGNAL(src, COMSIG_MOB_POINTED, pointing_at) return TRUE diff --git a/code/modules/power/apc/apc_appearance.dm b/code/modules/power/apc/apc_appearance.dm index 41547288a0b73..656bd4ca82654 100644 --- a/code/modules/power/apc/apc_appearance.dm +++ b/code/modules/power/apc/apc_appearance.dm @@ -6,8 +6,7 @@ return . = ..() - // And now, separately for cleanness, the lighting changing - if(!update_state) + if(update_overlay) switch(charging) if(APC_NOT_CHARGING) set_light_color(COLOR_SOFT_RED) @@ -20,88 +19,96 @@ set_light(0) -/obj/machinery/power/apc/update_icon_state() - if(!update_state) - icon_state = "apc0" - return ..() - if(update_state & (UPSTATE_OPENED1|UPSTATE_OPENED2)) - var/basestate = "apc[cell ? 2 : 1]" - if(update_state & UPSTATE_OPENED1) - icon_state = (update_state & (UPSTATE_MAINT|UPSTATE_BROKE)) ? "apcmaint" : basestate - else if(update_state & UPSTATE_OPENED2) - icon_state = "[basestate][((update_state & UPSTATE_BROKE) || malfhack) ? "-b" : null]-nocover" - return ..() - if(update_state & UPSTATE_BROKE) - icon_state = "apc-b" - return ..() - if(update_state & UPSTATE_WIREEXP) - icon_state = "apcewires" - return ..() - if(update_state & UPSTATE_MAINT) - icon_state = "apc0" - return ..() - /obj/machinery/power/apc/update_overlays() . = ..() - if((machine_stat & (BROKEN|MAINT)) || update_state) + + if(update_overlay & UPOVERLAY_TERMINAL) + . += mutable_appearance(icon, "terminal") + + if(update_overlay & UPSTATE_CELL_IN) + . += mutable_appearance(icon, "cell") + + if(update_overlay & UPSTATE_WIREEXP) + . += mutable_appearance(icon, "tray") + + if(update_overlay & UPOVERLAY_ELECTRONICS_INSERT) + . += mutable_appearance(icon, "electronics") + if(update_overlay & UPOVERLAY_TERMINAL) + . += mutable_appearance(icon, "wires_secured") + + // Wallening todo: this will render below the byond darkness plane when screwed? open, and get cut off + // Figure out how you want to handle that, thanks + if(update_overlay & UPSTATE_OPENED1) + . += mutable_appearance(icon, "hatch-open") + else if(!(update_overlay & UPSTATE_OPENED2)) + . += mutable_appearance(icon, "hatch-shut") + + if(!locked) + . += mutable_appearance(icon, "apc_unlocked") + + if(update_overlay & UPSTATE_BROKE) + . += mutable_appearance(icon, "broken_overlay") + + if((machine_stat & (BROKEN|MAINT))) return - . += mutable_appearance(icon, "apcox-[locked]") - . += emissive_appearance(icon, "apcox-[locked]", src) - . += mutable_appearance(icon, "apco3-[charging]") - . += emissive_appearance(icon, "apco3-[charging]", src) - if(!operating) + // If we're emagged, these'll get temporarially overrided by the flickering overlay + . += mutable_appearance(icon, "state-[charging]") + . += emissive_appearance(icon, "state-[charging]", src) + + if(!operating || update_overlay & (UPSTATE_OPENED1 | UPSTATE_OPENED2)) return - . += mutable_appearance(icon, "apco0-[equipment]") - . += emissive_appearance(icon, "apco0-[equipment]", src) - . += mutable_appearance(icon, "apco1-[lighting]") - . += emissive_appearance(icon, "apco1-[lighting]", src) - . += mutable_appearance(icon, "apco2-[environ]") - . += emissive_appearance(icon, "apco2-[environ]", src) + . += mutable_appearance(icon, "equip-[equipment]") + . += emissive_appearance(icon, "equip-[equipment]", src) + . += mutable_appearance(icon, "light-[lighting]") + . += emissive_appearance(icon, "light-[lighting]", src) + . += mutable_appearance(icon, "enviro-[environ]") + . += emissive_appearance(icon, "enviro-[environ]", src) /// Checks for what icon updates we will need to handle /obj/machinery/power/apc/proc/check_updates() SIGNAL_HANDLER - . = NONE + // Handle overlay status: + var/new_update_overlay = NONE + if(operating) + new_update_overlay |= UPOVERLAY_OPERATING + + if(locked) + new_update_overlay |= UPOVERLAY_LOCKED + + if(terminal) + new_update_overlay |= UPOVERLAY_TERMINAL // Handle icon status: - var/new_update_state = NONE if(machine_stat & BROKEN) - new_update_state |= UPSTATE_BROKE + new_update_overlay |= UPSTATE_BROKE if(machine_stat & MAINT) - new_update_state |= UPSTATE_MAINT + new_update_overlay |= UPSTATE_MAINT if(opened) - new_update_state |= (opened << UPSTATE_COVER_SHIFT) - if(cell) - new_update_state |= UPSTATE_CELL_IN + new_update_overlay |= (opened << UPSTATE_COVER_SHIFT) + if(cell) + new_update_overlay |= UPSTATE_CELL_IN - else if(panel_open) - new_update_state |= UPSTATE_WIREEXP + if(panel_open) + new_update_overlay |= UPSTATE_WIREEXP - if(new_update_state != update_state) - update_state = new_update_state - . |= UPDATE_ICON_STATE + if(has_electronics) + new_update_overlay |= UPOVERLAY_ELECTRONICS_INSERT - // Handle overlay status: - var/new_update_overlay = NONE - if(operating) - new_update_overlay |= UPOVERLAY_OPERATING - - if(!update_state) - if(locked) - new_update_overlay |= UPOVERLAY_LOCKED + if(has_electronics == APC_ELECTRONICS_SECURED) + new_update_overlay |= UPOVERLAY_ELECTRONICS_FASTENED - new_update_overlay |= (charging << UPOVERLAY_CHARGING_SHIFT) - new_update_overlay |= (equipment << UPOVERLAY_EQUIPMENT_SHIFT) - new_update_overlay |= (lighting << UPOVERLAY_LIGHTING_SHIFT) - new_update_overlay |= (environ << UPOVERLAY_ENVIRON_SHIFT) + new_update_overlay |= (charging << UPOVERLAY_CHARGING_SHIFT) + new_update_overlay |= (equipment << UPOVERLAY_EQUIPMENT_SHIFT) + new_update_overlay |= (lighting << UPOVERLAY_LIGHTING_SHIFT) + new_update_overlay |= (environ << UPOVERLAY_ENVIRON_SHIFT) if(new_update_overlay != update_overlay) update_overlay = new_update_overlay - . |= UPDATE_OVERLAYS - + return UPDATE_OVERLAYS + return NONE // Used in process so it doesn't update the icon too much /obj/machinery/power/apc/proc/queue_icon_update() @@ -109,7 +116,15 @@ // Shows a dark-blue interface for a moment. Shouldn't appear on cameras. /obj/machinery/power/apc/proc/flicker_hacked_icon() - var/image/hacker_image = image(icon = 'icons/obj/machines/wallmounts.dmi', loc = src, icon_state = "apcemag", layer = FLOAT_LAYER) + var/image/hacker_image = image(icon = icon, loc = src, icon_state = "emagged", layer = FLOAT_LAYER) + if(!(update_overlay & (UPSTATE_OPENED1 | UPSTATE_OPENED2))) + hacker_image.add_overlay(mutable_appearance(icon, "equip-emag")) + hacker_image.add_overlay(emissive_appearance(icon, "equip-emag", src)) + hacker_image.add_overlay(mutable_appearance(icon, "light-emag")) + hacker_image.add_overlay(emissive_appearance(icon, "light-emag", src)) + hacker_image.add_overlay(mutable_appearance(icon, "enviro-emag")) + hacker_image.add_overlay(emissive_appearance(icon, "enviro-emag", src)) + var/list/mobs_to_show = list() // Collecting mobs the APC can see for this animation, rather than mobs that can see the APC. Important distinction, intended such that mobs on camera / with XRAY cannot see the flicker. for(var/mob/viewer in view(src)) diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm index 329f77ab7186d..2a66c6c3453b1 100644 --- a/code/modules/power/apc/apc_main.dm +++ b/code/modules/power/apc/apc_main.dm @@ -7,12 +7,19 @@ ///Cap for how fast cells charge, as a percentage per second (.01 means cellcharge is capped to 1% per second) #define CHARGELEVEL 0.01 +///Charge percentage at which the lights channel stops working +#define APC_CHANNEL_LIGHT_TRESHOLD 15 +///Charge percentage at which the equipment channel stops working +#define APC_CHANNEL_EQUIP_TRESHOLD 30 +///Charge percentage at which the APC icon indicates discharging +#define APC_CHANNEL_ALARM_TRESHOLD 75 /obj/machinery/power/apc name = "area power controller" desc = "A control terminal for the area's electrical systems." - icon = 'icons/obj/machines/wallmounts.dmi' - icon_state = "apc0" + + icon = 'icons/obj/machines/APC.dmi' + icon_state = "frame" use_power = NO_POWER_USE req_access = null max_integrity = 200 @@ -36,6 +43,7 @@ ///Type of cell we start with var/cell_type = /obj/item/stock_parts/power_store/battery/upgraded //Base cell has 2500 capacity. Enter the path of a different cell you want to use. cell determines charge rates, max capacity, ect. These can also be changed with other APC vars, but isn't recommended to minimize the risk of accidental usage of dirty editted APCs ///State of the cover (closed, opened, removed) + ///Opens the upper hatch, exposes the cell, and the first part of the terminal var/opened = APC_COVER_CLOSED ///Is the APC shorted and not working? var/shorted = FALSE @@ -49,6 +57,8 @@ var/operating = TRUE ///State of the apc charging (not charging, charging, fully charged) var/charging = APC_NOT_CHARGING + ///Previous state of charging, to detect the change + var/last_charging ///Can the APC charge? var/chargemode = TRUE ///Is the apc interface locked? @@ -67,6 +77,8 @@ var/lastused_environ = 0 ///Total amount of power used by the three channels var/lastused_total = 0 + ///Total amount of power put into the battery + var/lastused_charge = 0 ///State of the apc external power (no power, low power, has power) var/main_status = APC_NO_POWER powernet = FALSE // set so that APCs aren't found as powernet nodes //Hackish, Horrible, was like this before I changed it :( @@ -102,8 +114,6 @@ var/low_power_nightshift_lights = FALSE ///Time when the nightshift where turned on last, to prevent spamming var/last_nightshift_switch = 0 - ///Stores the flags for the icon state - var/update_state = -1 ///Stores the flag for the overlays var/update_overlay = -1 ///Used to stop process from updating the icons too much @@ -112,8 +122,6 @@ var/mob/remote_control_user = null ///Represents a signel source of power alarms for this apc var/datum/alarm_handler/alarm_manager - /// Offsets the object by APC_PIXEL_OFFSET (defined in apc_defines.dm) pixels in the direction we want it placed in. This allows the APC to be embedded in a wall, yet still inside an area (like mapping). - var/offset_old /// Used for apc helper called cut_AI_wire to make apc's wore responsible for ai connectione mended. var/cut_AI_wire = FALSE /// Used for apc helper called unlocked to make apc unlocked. @@ -146,24 +154,10 @@ //APCs get added to their own processing tasks for the machines subsystem. if (!(datum_flags & DF_ISPROCESSING)) datum_flags |= DF_ISPROCESSING - SSmachines.apc_early_processing += src - SSmachines.apc_late_processing += src + SSmachines.processing_apcs += src //Pixel offset its appearance based on its direction - dir = ndir - switch(dir) - if(NORTH) - offset_old = pixel_y - pixel_y = APC_PIXEL_OFFSET - if(SOUTH) - offset_old = pixel_y - pixel_y = -APC_PIXEL_OFFSET - if(EAST) - offset_old = pixel_x - pixel_x = APC_PIXEL_OFFSET - if(WEST) - offset_old = pixel_x - pixel_x = -APC_PIXEL_OFFSET + setDir(ndir) hud_list = list( MALF_APC_HUD = image(icon = 'icons/mob/huds/hud.dmi', icon_state = "apc_hacked", pixel_x = src.pixel_x, pixel_y = src.pixel_y) @@ -201,14 +195,12 @@ cell = new cell_type(src) cell.charge = start_charge * cell.maxcharge / 100 // (convert percentage to actual value) make_terminal() - ///This is how we test to ensure that mappers use the directional subtypes of APCs, rather than use the parent and pixel-shift it themselves. - if(abs(offset_old) != APC_PIXEL_OFFSET) - log_mapping("APC: ([src]) at [AREACOORD(src)] with dir ([dir] | [uppertext(dir2text(dir))]) has pixel_[dir & (WEST|EAST) ? "x" : "y"] value [offset_old] - should be [dir & (SOUTH|EAST) ? "-" : ""][APC_PIXEL_OFFSET]. Use the directional/ helpers!") // For apcs created during the round players need to configure them from scratch else opened = APC_COVER_OPENED operating = FALSE set_machine_stat(machine_stat | MAINT) + setDir(REVERSE_DIR(ndir)) //Make the apc visually interactive register_context() @@ -229,6 +221,7 @@ AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Toggle interface lock") AddElement(/datum/element/contextual_screentip_mob_typechecks, hovering_mob_typechecks) find_and_hang_on_wall() + AddComponent(/datum/component/examine_balloon) /obj/machinery/power/apc/Destroy() if(malfai) @@ -240,8 +233,6 @@ QDEL_NULL(alarm_manager) if(occupier) malfvacate(TRUE) - if(wires) - QDEL_NULL(wires) if(cell) QDEL_NULL(cell) if(terminal) @@ -263,6 +254,7 @@ if(auto_name) name = "\improper [get_area_name(area, TRUE)] APC" + /obj/machinery/power/apc/proc/assign_to_area(area/target_area = get_area(src)) if(area == target_area) return @@ -301,7 +293,6 @@ /obj/machinery/power/apc/Exited(atom/movable/gone, direction) . = ..() if(gone == cell) - cell.update_appearance() cell = null charging = APC_NOT_CHARGING update_appearance() @@ -362,7 +353,7 @@ "powerCellStatus" = cell ? cell.percent() : null, "chargeMode" = chargemode, "chargingStatus" = charging, - "chargingPowerDisplay" = display_power(area.energy_usage[AREA_USAGE_APC_CHARGE]), + "chargingPowerDisplay" = display_power(lastused_charge), "totalLoad" = display_power(lastused_total), "coverLocked" = coverlocked, "remoteAccess" = (user == remote_control_user), @@ -438,16 +429,17 @@ if(!QDELETED(remote_control_user) && user == remote_control_user) . = UI_INTERACTIVE -/obj/machinery/power/apc/ui_act(action, params) +/obj/machinery/power/apc/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() + var/mob/user = ui.user - if(. || !can_use(usr, 1) || (locked && !HAS_SILICON_ACCESS(usr) && !failure_timer && action != "toggle_nightshift")) + if(. || !can_use(user, 1) || (locked && !HAS_SILICON_ACCESS(user) && !failure_timer && action != "toggle_nightshift")) return switch(action) if("lock") - if(HAS_SILICON_ACCESS(usr)) + if(HAS_SILICON_ACCESS(user)) if((obj_flags & EMAGGED) || (machine_stat & (BROKEN|MAINT)) || remote_control_user) - to_chat(usr, span_warning("The APC does not respond to the command!")) + to_chat(user, span_warning("The APC does not respond to the command!")) else locked = !locked update_appearance() @@ -456,10 +448,10 @@ coverlocked = !coverlocked . = TRUE if("breaker") - toggle_breaker(usr) + toggle_breaker(user) . = TRUE if("toggle_nightshift") - toggle_nightshift_lights(usr) + toggle_nightshift_lights(user) . = TRUE if("charge") chargemode = !chargemode @@ -482,17 +474,17 @@ update() . = TRUE if("overload") - if(HAS_SILICON_ACCESS(usr)) + if(HAS_SILICON_ACCESS(user)) overload_lighting() . = TRUE if("hack") - if(get_malf_status(usr)) - malfhack(usr) + if(get_malf_status(user)) + malfhack(user) if("occupy") - if(get_malf_status(usr)) - malfoccupy(usr) + if(get_malf_status(user)) + malfoccupy(user) if("deoccupy") - if(get_malf_status(usr)) + if(get_malf_status(user)) malfvacate() if("reboot") failure_timer = 0 @@ -516,15 +508,22 @@ disconnect_remote_access() /** - * APC early processing. This gets processed before any other machine does. + * APC early processing. This gets processed after any other machine on the powernet does. * This adds up the total static power usage for the apc's area, then draw that power usage from the grid or APC cell. - * This is done early so machines that use dynamic power get a more truthful surplus when accessing available energy. */ /obj/machinery/power/apc/proc/early_process() + if(cell && cell.charge < cell.maxcharge) + last_charging = charging + charging = APC_NOT_CHARGING + if(isnull(area)) + return + var/total_static_energy_usage = 0 total_static_energy_usage += APC_CHANNEL_IS_ON(lighting) * area.energy_usage[AREA_USAGE_STATIC_LIGHT] total_static_energy_usage += APC_CHANNEL_IS_ON(equipment) * area.energy_usage[AREA_USAGE_STATIC_EQUIP] total_static_energy_usage += APC_CHANNEL_IS_ON(environ) * area.energy_usage[AREA_USAGE_STATIC_ENVIRON] + area.clear_usage() + if(total_static_energy_usage) //Use power from static power users. draw_energy(total_static_energy_usage) @@ -549,17 +548,14 @@ lastused_light = APC_CHANNEL_IS_ON(lighting) ? area.energy_usage[AREA_USAGE_LIGHT] + area.energy_usage[AREA_USAGE_STATIC_LIGHT] : 0 lastused_equip = APC_CHANNEL_IS_ON(equipment) ? area.energy_usage[AREA_USAGE_EQUIP] + area.energy_usage[AREA_USAGE_STATIC_EQUIP] : 0 lastused_environ = APC_CHANNEL_IS_ON(environ) ? area.energy_usage[AREA_USAGE_ENVIRON] + area.energy_usage[AREA_USAGE_STATIC_ENVIRON] : 0 - area.clear_usage() - - lastused_total = lastused_light + lastused_equip + lastused_environ + lastused_charge = charging == APC_CHARGING ? area.energy_usage[AREA_USAGE_APC_CHARGE] : 0 + lastused_total = lastused_light + lastused_equip + lastused_environ + lastused_charge //store states to update icon if any change var/last_lt = lighting var/last_eq = equipment var/last_en = environ - var/last_ch = charging - var/excess = surplus() if(!avail()) @@ -579,7 +575,7 @@ if(!nightshift_lights || (nightshift_lights && !low_power_nightshift_lights)) low_power_nightshift_lights = TRUE INVOKE_ASYNC(src, PROC_REF(set_nightshift), TRUE) - else if(cell.percent() < 15) // <15%, turn off lighting & equipment + else if(cell.percent() < APC_CHANNEL_LIGHT_TRESHOLD) // turn off lighting & equipment equipment = autoset(equipment, AUTOSET_OFF) lighting = autoset(lighting, AUTOSET_OFF) environ = autoset(environ, AUTOSET_ON) @@ -587,7 +583,7 @@ if(!nightshift_lights || (nightshift_lights && !low_power_nightshift_lights)) low_power_nightshift_lights = TRUE INVOKE_ASYNC(src, PROC_REF(set_nightshift), TRUE) - else if(cell.percent() < 30) // <30%, turn off equipment + else if(cell.percent() < APC_CHANNEL_EQUIP_TRESHOLD) // turn off equipment equipment = autoset(equipment, AUTOSET_OFF) lighting = autoset(lighting, AUTOSET_ON) environ = autoset(environ, AUTOSET_ON) @@ -603,21 +599,9 @@ low_power_nightshift_lights = FALSE if(!SSnightshift.nightshift_active) INVOKE_ASYNC(src, PROC_REF(set_nightshift), FALSE) - if(cell.percent() > 75) + if(cell.percent() > APC_CHANNEL_ALARM_TRESHOLD) alarm_manager.clear_alarm(ALARM_POWER) - charging = APC_NOT_CHARGING - // now trickle-charge the cell - if(chargemode && operating && excess && cell.used_charge()) - // Max charge is capped to % per second constant. - lastused_total += charge_cell(min(cell.chargerate, cell.maxcharge * CHARGELEVEL) * seconds_per_tick, cell = cell, grid_only = TRUE, channel = AREA_USAGE_APC_CHARGE) - charging = APC_CHARGING - - // show cell as fully charged if so - if(cell.charge >= cell.maxcharge) - cell.charge = cell.maxcharge - charging = APC_FULLY_CHARGED - else // no cell, switch everything off charging = APC_NOT_CHARGING equipment = autoset(equipment, AUTOSET_FORCE_OFF) @@ -626,14 +610,46 @@ alarm_manager.send_alarm(ALARM_POWER) // update icon & area power if anything changed - if(last_lt != lighting || last_eq != equipment || last_en != environ || force_update) force_update = FALSE queue_icon_update() update() - else if(last_ch != charging) + else if(charging != last_charging) queue_icon_update() +// charge until the battery is full or to the treshold of the provided channel +/obj/machinery/power/apc/proc/charge_channel(channel = null, seconds_per_tick) + if(!cell || shorted || !operating || !chargemode || !surplus() || !cell.used_charge()) + return + + // no overcharge past the next treshold + var/need_charge_for_channel + switch(channel) + if(SSMACHINES_APCS_ENVIRONMENT) + need_charge_for_channel = (cell.maxcharge * 0.05) - cell.charge + if(SSMACHINES_APCS_LIGHTS) + need_charge_for_channel = (cell.maxcharge * (APC_CHANNEL_LIGHT_TRESHOLD + 5) * 0.01) - cell.charge + if(SSMACHINES_APCS_EQUIPMENT) + need_charge_for_channel = (cell.maxcharge * (APC_CHANNEL_EQUIP_TRESHOLD + 5) * 0.01) - cell.charge + else + need_charge_for_channel = cell.used_charge() + + var/charging_used = area ? area.energy_usage[AREA_USAGE_APC_CHARGE] : 0 + var/remaining_charge_rate = min(cell.chargerate, cell.maxcharge * CHARGELEVEL) - charging_used + var/need_charge = min(need_charge_for_channel, remaining_charge_rate) * seconds_per_tick + //check if we can charge the battery + if(need_charge < 0) + return + + charge_cell(need_charge, cell = cell, grid_only = TRUE, channel = AREA_USAGE_APC_CHARGE) + + // show cell as fully charged if so + if(cell.charge >= cell.maxcharge) + cell.charge = cell.maxcharge + charging = APC_FULLY_CHARGED + else + charging = APC_CHARGING + /obj/machinery/power/apc/proc/reset(wire) switch(wire) if(WIRE_IDSCAN) @@ -752,3 +768,6 @@ return null #undef CHARGELEVEL +#undef APC_CHANNEL_LIGHT_TRESHOLD +#undef APC_CHANNEL_EQUIP_TRESHOLD +#undef APC_CHANNEL_ALARM_TRESHOLD diff --git a/code/modules/power/apc/apc_mapping.dm b/code/modules/power/apc/apc_mapping.dm index 1463c20d600d8..fd02021a89ad7 100644 --- a/code/modules/power/apc/apc_mapping.dm +++ b/code/modules/power/apc/apc_mapping.dm @@ -5,5 +5,9 @@ /obj/machinery/power/apc/auto_name auto_name = TRUE -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/worn_out, APC_PIXEL_OFFSET) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, APC_PIXEL_OFFSET) +#define APC_DIRECTIONAL_HELPERS(path) _WALL_MOUNT_DIRECTIONAL_HELPERS(path, 35, 0, -8, 11, -11, 16) + +APC_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/worn_out) +APC_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name) + +#undef APC_DIRECTIONAL_HELPERS diff --git a/code/modules/power/apc/apc_power_proc.dm b/code/modules/power/apc/apc_power_proc.dm index ba60ec723b6a1..89ff7c59a6406 100644 --- a/code/modules/power/apc/apc_power_proc.dm +++ b/code/modules/power/apc/apc_power_proc.dm @@ -12,7 +12,7 @@ // wires will attach to this terminal = new/obj/machinery/power/terminal(loc) terminal.cable_layer = terminal_cable_layer - terminal.setDir(dir) + terminal.setDir(REVERSE_DIR(dir)) terminal.master = src /obj/machinery/power/apc/proc/toggle_nightshift_lights(mob/user) diff --git a/code/modules/power/apc/apc_tool_act.dm b/code/modules/power/apc/apc_tool_act.dm index 2072ab145614d..43b3df2e9e58e 100644 --- a/code/modules/power/apc/apc_tool_act.dm +++ b/code/modules/power/apc/apc_tool_act.dm @@ -60,7 +60,7 @@ balloon_alert(user, "cell already installed!") return ITEM_INTERACT_BLOCKING if(machine_stat & MAINT) - balloon_alert(user, "no connector for a cell!") + balloon_alert(user, "no connector for a cell!") //We are stuck here return ITEM_INTERACT_BLOCKING if(!user.transferItemToLoc(new_cell, src)) return ITEM_INTERACT_BLOCKING @@ -236,7 +236,7 @@ /obj/machinery/power/apc/crowbar_act(mob/user, obj/item/crowbar) . = TRUE - //Prying off broken cover + // Removing the cover from a broken APC if((opened == APC_COVER_CLOSED || opened == APC_COVER_OPENED) && (machine_stat & BROKEN)) crowbar.play_tool_sound(src) balloon_alert(user, "prying...") @@ -247,29 +247,28 @@ update_appearance() return - //Opening and closing cover - if((!opened && opened != APC_COVER_REMOVED) && !(machine_stat & BROKEN)) - if(coverlocked && !(machine_stat & MAINT)) // locked... - balloon_alert(user, "cover is locked!") - return - else if(panel_open) - balloon_alert(user, "wires prevents opening it!") + if(!panel_open || has_electronics != APC_ELECTRONICS_INSTALLED) + //Opening and closing cover + if(opened == APC_COVER_REMOVED) return - else - opened = APC_COVER_OPENED - update_appearance() + if(machine_stat & BROKEN) return - - if((opened && has_electronics == APC_ELECTRONICS_SECURED) && !(machine_stat & BROKEN)) - opened = APC_COVER_CLOSED - coverlocked = TRUE //closing cover relocks it - balloon_alert(user, "locking the cover") + switch(opened) + if(APC_COVER_CLOSED) + if(coverlocked && !(machine_stat & MAINT)) // locked... + balloon_alert(user, "cover is locked!") + return + opened = APC_COVER_OPENED + if(APC_COVER_OPENED) + if(has_electronics != APC_ELECTRONICS_SECURED) + return + opened = APC_COVER_CLOSED + coverlocked = TRUE //closing cover relocks it + balloon_alert(user, "locking the cover") update_appearance() return //Taking out the electronics - if(!opened || has_electronics != APC_ELECTRONICS_INSTALLED) - return if(terminal) balloon_alert(user, "disconnect wires first!") return @@ -283,21 +282,20 @@ user.visible_message(span_notice("[user.name] breaks the power control board inside [name]!"), \ span_hear("You hear a crack.")) balloon_alert(user, "charred board breaks") - return else if(obj_flags & EMAGGED) obj_flags &= ~EMAGGED user.visible_message(span_notice("[user.name] discards an emagged power control board from [name]!")) balloon_alert(user, "emagged board discarded") - return else if(malfhack) user.visible_message(span_notice("[user.name] discards a strangely programmed power control board from [name]!")) balloon_alert(user, "reprogrammed board discarded") malfai = null - malfhack = 0 - return - user.visible_message(span_notice("[user.name] removes the power control board from [name]!")) - balloon_alert(user, "removed the board") - new /obj/item/electronics/apc(loc) + malfhack = FALSE + else + user.visible_message(span_notice("[user.name] removes the power control board from [name]!")) + balloon_alert(user, "removed the board") + new /obj/item/electronics/apc(loc) + update_appearance() return /obj/machinery/power/apc/screwdriver_act(mob/living/user, obj/item/W) @@ -305,7 +303,8 @@ return TRUE . = TRUE - if(!opened) + //You can only touch the electronics if the panel and tray are open, and the terminal is yoten + if((!opened || !panel_open || terminal) && !(machine_stat & MAINT)) if(obj_flags & EMAGGED) balloon_alert(user, "interface is broken!") return @@ -315,17 +314,6 @@ update_appearance() return - if(cell) - user.visible_message(span_notice("[user] removes \the [cell] from [src]!")) - balloon_alert(user, "cell removed") - var/turf/user_turf = get_turf(user) - cell.forceMove(user_turf) - cell.update_appearance() - cell = null - charging = APC_NOT_CHARGING - update_appearance() - return - switch (has_electronics) if(APC_ELECTRONICS_INSTALLED) has_electronics = APC_ELECTRONICS_SECURED @@ -344,7 +332,7 @@ /obj/machinery/power/apc/wirecutter_act(mob/living/user, obj/item/W) . = ..() - if(terminal && opened) + if(terminal && opened && panel_open) terminal.dismantle(user, W) return TRUE @@ -408,7 +396,7 @@ return FALSE /obj/machinery/power/apc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data) - if(!(the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS) || rcd_data["[RCD_DESIGN_MODE]"] != RCD_WALLFRAME) + if(!(the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS) || rcd_data[RCD_DESIGN_MODE] != RCD_WALLFRAME) return FALSE if(!has_electronics) @@ -440,22 +428,31 @@ if(opened) balloon_alert(user, "close the cover first!") + +/obj/machinery/power/apc/emag_act(mob/user, obj/item/card/emag/emag_card) + if((obj_flags & EMAGGED) || malfhack) return FALSE + + if(opened) + balloon_alert(user, "close the cover first!") + return else if(panel_open) balloon_alert(user, "close the panel first!") return FALSE else if(machine_stat & (BROKEN|MAINT)) balloon_alert(user, "nothing happens!") return FALSE - else - flick("apc-spark", src) - playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - obj_flags |= EMAGGED - locked = FALSE - balloon_alert(user, "interface damaged") - update_appearance() - flicker_hacked_icon() - return TRUE + + var/image/overlay = image(icon, src, "sparks_flick", layer, dir) + SET_PLANE_EXPLICIT(overlay, plane, src) + flick_overlay_view(overlay, src, 0.5 SECONDS) + playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + obj_flags |= EMAGGED + locked = FALSE + balloon_alert(user, "interface damaged") + update_appearance() + flicker_hacked_icon() + return TRUE // damage and destruction acts /obj/machinery/power/apc/emp_act(severity) @@ -479,8 +476,6 @@ balloon_alert(user, "interface is broken!") else if(opened) balloon_alert(user, "close the cover first!") - else if(panel_open) - balloon_alert(user, "close the panel first!") else if(machine_stat & (BROKEN|MAINT)) balloon_alert(user, "nothing happens!") else diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index a8e20cde8c7a0..d5f3fa0a76752 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -565,22 +565,43 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri // General procedures /////////////////////////////////// //you can use wires to heal robotics -/obj/item/stack/cable_coil/attack(mob/living/carbon/human/H, mob/user) - if(!istype(H)) - return ..() - var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) - if(affecting && IS_ROBOTIC_LIMB(affecting)) - if(user == H) - user.visible_message(span_notice("[user] starts to fix some of the wires in [H]'s [affecting.name]."), span_notice("You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name].")) - if(!do_after(user, 5 SECONDS, H)) - return - if(H.item_heal(user, 0, 15, "dents", "burnt wires", BODYTYPE_ROBOTIC)) - use(1) - return - else - return ..() +/obj/item/stack/cable_coil/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!ishuman(interacting_with)) + return NONE + + if(user.combat_mode) + return NONE + + return try_heal_loop(interacting_with, user) + +/obj/item/stack/cable_coil/proc/try_heal_loop(atom/interacting_with, mob/living/user, repeating = FALSE) + var/mob/living/carbon/human/attacked_humanoid = interacting_with + var/obj/item/bodypart/affecting = attacked_humanoid.get_bodypart(check_zone(user.zone_selected)) + if(isnull(affecting) || !IS_ROBOTIC_LIMB(affecting)) + return NONE + + if (!affecting.burn_dam) + balloon_alert(user, "limb not damaged") + return ITEM_INTERACT_BLOCKING + + user.visible_message(span_notice("[user] starts to fix some of the wires in [attacked_humanoid == user ? user.p_their() : "[attacked_humanoid]'s"] [affecting.name]."), + span_notice("You start fixing some of the wires in [attacked_humanoid == user ? "your" : "[attacked_humanoid]'s"] [affecting.name].")) + + var/use_delay = repeating ? 1 SECONDS : 0 + if(user == attacked_humanoid) + use_delay = 5 SECONDS + + if(!do_after(user, use_delay, attacked_humanoid)) + return ITEM_INTERACT_BLOCKING + + if (!attacked_humanoid.item_heal(user, brute_heal = 0, burn_heal = 15, heal_message_brute = "dents", heal_message_burn = "burnt wires", required_bodytype = BODYTYPE_ROBOTIC)) + return ITEM_INTERACT_BLOCKING + + if (use(1) && amount > 0) + INVOKE_ASYNC(src, PROC_REF(try_heal_loop), interacting_with, user, TRUE) + return ITEM_INTERACT_SUCCESS /////////////////////////////////////////////// // Cable laying procedures diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index fbb36703cc569..addb8cdb6b835 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -20,6 +20,11 @@ custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*7, /datum/material/glass=SMALL_MATERIAL_AMOUNT*0.5) grind_results = list(/datum/reagent/lithium = 15, /datum/reagent/iron = 5, /datum/reagent/silicon = 5) +/obj/item/stock_parts/power_store/cell/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_FISHING_BAIT, INNATE_TRAIT) + ADD_TRAIT(src, TRAIT_POISONOUS_BAIT, INNATE_TRAIT) //bro is fishing using lithium... + /* Cell variants*/ /obj/item/stock_parts/power_store/cell/empty empty = TRUE @@ -221,9 +226,6 @@ custom_materials = null grind_results = null -/obj/item/stock_parts/power_store/cell/inducer_supply - maxcharge = STANDARD_CELL_CHARGE * 5 - /obj/item/stock_parts/power_store/cell/ethereal name = "ahelp it" desc = "you sohuldn't see this" diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm index 38354241f9a4b..dbf9be816b444 100644 --- a/code/modules/power/floodlight.dm +++ b/code/modules/power/floodlight.dm @@ -8,7 +8,7 @@ name = "floodlight frame" desc = "A metal frame that requires wiring and a light tube to become a flood light." max_integrity = 100 - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/machines/lighting.dmi' icon_state = "floodlight_c1" density = TRUE @@ -127,9 +127,10 @@ state = FLOODLIGHT_NEEDS_LIGHTS /obj/machinery/power/floodlight + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "floodlight" desc = "A pole with powerful mounted lights on it. Due to its high power draw, it must be powered by a direct connection to a wire node." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/machines/lighting.dmi' icon_state = "floodlight" density = TRUE max_integrity = 100 diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 1e561c6030792..4cfce3c5bc90a 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -78,6 +78,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) /obj/machinery/gravity_generator/part/Destroy() atom_break() if(main_part) + main_part.generator_parts -= src UnregisterSignal(main_part, COMSIG_ATOM_UPDATED_ICON) main_part = null return ..() @@ -288,7 +289,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) return data -/obj/machinery/gravity_generator/main/ui_act(action, params) +/obj/machinery/gravity_generator/main/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index 013140e399099..ad0a2d6ec5b18 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -1,7 +1,7 @@ // the standard tube light fixture /obj/machinery/light name = "light fixture" - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/machines/lighting.dmi' icon_state = "tube" desc = "A lighting fixture." layer = WALL_OBJ_LAYER @@ -12,8 +12,9 @@ power_channel = AREA_USAGE_LIGHT //Lights are calc'd via area so they dont need to be in the machine list always_area_sensitive = TRUE light_angle = 170 + light_flags = LIGHT_IGNORE_OFFSET ///What overlay the light should use - var/overlay_icon = 'icons/obj/lighting_overlay.dmi' + var/overlay_icon = 'icons/obj/machines/lighting.dmi' ///base description and icon_state var/base_state = "tube" ///Is the light on? @@ -113,13 +114,13 @@ if(is_station_level(z)) RegisterSignal(SSdcs, COMSIG_GLOB_GREY_TIDE_LIGHT, PROC_REF(grey_tide)) //Only put the signal on station lights - // Light projects out backwards from the dir of the light - set_light(l_dir = REVERSE_DIR(dir)) + set_light(l_dir = dir) RegisterSignal(src, COMSIG_LIGHT_EATER_ACT, PROC_REF(on_light_eater)) RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) AddElement(/datum/element/atmos_sensitive, mapload) + AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Remove bulb") if(break_if_moved) - find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(knock_down))) + find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(knock_down)), wall_layer = HIGH_ON_WALL_LAYER) /obj/machinery/light/post_machine_initialize() . = ..() @@ -143,16 +144,19 @@ /obj/machinery/light/setDir(newdir) . = ..() - set_light(l_dir = REVERSE_DIR(dir)) + set_light(l_dir = dir) // If we're adjacent to the source, we make this sorta indentation for our light to ensure it stays lit (and to make distances look right) // By shifting the light position we use forward a bit, towards something that isn't off by 0.5 from being in angle // Because angle calculation is kinda harsh it's hard to find a happy point between fulldark and fullbright for the corners behind the light. this is good enough tho /obj/machinery/light/get_light_offset() var/list/hand_back = ..() - var/list/dir_offset = dir2offset(REVERSE_DIR(dir)) - hand_back[1] += dir_offset[1] * 0.5 - hand_back[2] += dir_offset[2] * 0.5 + if(dir & SOUTH) + hand_back[2] -= 1 + if(dir & EAST) + hand_back[1] += 0.5 + if(dir & WEST) + hand_back[1] -= 0.5 return hand_back /obj/machinery/light/update_icon_state() @@ -176,12 +180,12 @@ if(!on || status != LIGHT_OK) return - . += emissive_appearance(overlay_icon, "[base_state]", src, alpha = src.alpha) + . += emissive_appearance(overlay_icon, "[base_state]_overlay", src, alpha = src.alpha) var/area/local_area = get_room_area() if(low_power_mode || major_emergency || (local_area?.fire)) - . += mutable_appearance(overlay_icon, "[base_state]_emergency") + . += mutable_appearance(overlay_icon, "[base_state]_overlay_emergency") return if(nightshift_enabled) . += mutable_appearance(overlay_icon, "[base_state]_nightshift") @@ -331,15 +335,15 @@ . = ..() switch(status) if(LIGHT_OK) - . += "It is turned [on? "on" : "off"]." + . += span_notice("It is turned [on? "on" : "off"].") if(LIGHT_EMPTY) - . += "The [fitting] has been removed." + . += span_notice("The [fitting] has been removed.") if(LIGHT_BURNED) - . += "The [fitting] is burnt out." + . += span_danger("The [fitting] is burnt out.") if(LIGHT_BROKEN) - . += "The [fitting] has been smashed." + . += span_danger("The [fitting] has been smashed.") if(cell || has_mock_cell) - . += "Its backup power charge meter reads [has_mock_cell ? 100 : round((cell.charge / cell.maxcharge) * 100, 0.1)]%." + . += span_notice("Its backup power charge meter reads [has_mock_cell ? 100 : round((cell.charge / cell.maxcharge) * 100, 0.1)]%.") @@ -527,9 +531,9 @@ // attack with hand - remove tube/bulb // if hands aren't protected and the light is on, burn the player -/obj/machinery/light/attack_hand(mob/living/carbon/human/user, list/modifiers) +/obj/machinery/light/attack_hand_secondary(mob/living/carbon/human/user, list/modifiers) . = ..() - if(.) + if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) return user.changeNext_move(CLICK_CD_MELEE) add_fingerprint(user) @@ -704,7 +708,10 @@ * All the effects that occur when a light falls off a wall that it was hung onto. */ /obj/machinery/light/proc/knock_down() - new /obj/item/wallframe/light_fixture(drop_location()) + if (fitting == "bulb") + new /obj/item/wallframe/light_fixture/small(drop_location()) + else + new /obj/item/wallframe/light_fixture(drop_location()) new /obj/item/stack/cable_coil(drop_location(), 1, "red") if(status != LIGHT_BROKEN) break_light_tube(FALSE) @@ -717,7 +724,7 @@ /obj/machinery/light/floor name = "floor light" desc = "A lightbulb you can walk on without breaking it, amazing." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/machines/lighting.dmi' base_state = "floor" // base description and icon_state icon_state = "floor" brightness = 4 @@ -729,6 +736,10 @@ nightshift_brightness = 3 fire_brightness = 4.5 +// No hanging for us brother +/obj/machinery/light/floor/find_and_hang_on_wall(directional, custom_drop_callback, wall_layer) + return + /obj/machinery/light/floor/get_light_offset() return list(0, 0) diff --git a/code/modules/power/lighting/light_construct.dm b/code/modules/power/lighting/light_construct.dm index 2bca5e3b3f157..bbba39b6a8af5 100644 --- a/code/modules/power/lighting/light_construct.dm +++ b/code/modules/power/lighting/light_construct.dm @@ -1,7 +1,7 @@ /obj/structure/light_construct name = "light fixture frame" desc = "A light fixture under construction." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/machines/lighting.dmi' icon_state = "tube-construct-stage1" anchored = TRUE layer = WALL_OBJ_LAYER @@ -32,12 +32,28 @@ . = ..() if(building) setDir(ndir) - find_and_hang_on_wall() + find_and_hang_on_wall(wall_layer = HIGH_ON_WALL_LAYER) /obj/structure/light_construct/Destroy() QDEL_NULL(cell) return ..() +/obj/structure/light_construct/setDir(newdir) + . = ..() + switch(dir) + if(NORTH) + pixel_x = 0 + pixel_y = 24 + if(SOUTH) + pixel_x = 0 + pixel_y = 16 + if(EAST) + pixel_x = 0 + pixel_y = 0 + if(WEST) + pixel_x = 0 + pixel_y = 0 + /obj/structure/light_construct/get_cell() return cell @@ -45,16 +61,16 @@ . = ..() switch(stage) if(LIGHT_CONSTRUCT_EMPTY) - . += "It's an empty frame." + . += span_notice("It's an empty frame with no wires.") if(LIGHT_CONSTRUCT_WIRED) - . += "It's wired." + . += span_notice("It is wired, but the bolts are not screwed in.") if(LIGHT_CONSTRUCT_CLOSED) - . += "The casing is closed." + . += span_notice("The casing is closed.") if(cell_connectors) if(cell) - . += "You see [cell] inside the casing." + . += span_notice("You see [cell] inside the casing.") else - . += "The casing has no power cell for backup power." + . += span_notice("The casing has no power cell for backup power.") else . += span_danger("This casing doesn't support power cells for backup power.") @@ -63,7 +79,6 @@ return user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell].")) user.put_in_hands(cell) - cell.update_appearance() cell = null add_fingerprint(user) diff --git a/code/modules/power/lighting/light_items.dm b/code/modules/power/lighting/light_items.dm index 5e9df6ee432ee..20c13656875df 100644 --- a/code/modules/power/lighting/light_items.dm +++ b/code/modules/power/lighting/light_items.dm @@ -3,7 +3,7 @@ // will fit into empty /obj/machinery/light of the corresponding type /obj/item/light - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/service/janitor.dmi' force = 2 throwforce = 5 w_class = WEIGHT_CLASS_TINY @@ -52,8 +52,8 @@ /obj/item/light/tube name = "light tube" desc = "A replacement light tube." - icon_state = "ltube" - base_state = "ltube" + icon_state = "tube" + base_state = "tube" inhand_icon_state = "ltube" brightness = 8 custom_price = PAYCHECK_CREW * 0.5 @@ -73,8 +73,8 @@ /obj/item/light/bulb name = "light bulb" desc = "A replacement light bulb." - icon_state = "lbulb" - base_state = "lbulb" + icon_state = "bulb" + base_state = "bulb" inhand_icon_state = "contvapour" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' diff --git a/code/modules/power/lighting/light_mapping_helpers.dm b/code/modules/power/lighting/light_mapping_helpers.dm index 7a025e7f761ac..acc057e13ff41 100644 --- a/code/modules/power/lighting/light_mapping_helpers.dm +++ b/code/modules/power/lighting/light_mapping_helpers.dm @@ -96,70 +96,70 @@ // -------- Directional presets // The directions are backwards on the lights we have now -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light) // ---- Broken tube -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/broken, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/broken) // ---- Tube construct -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/light_construct, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/light_construct) // ---- Tube frames -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/built, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/built) // ---- No nightlight tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/no_nightlight, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/no_nightlight) // ---- Warm light tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/warm, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/warm) // ---- No nightlight warm light tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/warm/no_nightlight, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/warm/no_nightlight) // ---- Dim warm light tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/warm/dim, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/warm/dim) // ---- Cold light tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/cold, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/cold) // ---- No nightlight cold light tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/cold/no_nightlight, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/cold/no_nightlight) // ---- Dim cold light tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/cold/dim, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/cold/dim) // ---- Red tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/red, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/red) // ---- Red dim tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/red/dim, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/red/dim) // ---- Blacklight tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/blacklight, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/blacklight) // ---- Dim tubes -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/dim, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/dim) // -------- Bulb lights -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small) // ---- Bulb construct -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/light_construct/small, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/light_construct/small) // ---- Bulb frames -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built) // ---- Broken bulbs -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/broken, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small/broken) // ---- Red bulbs -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/dim, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small/red) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/red, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small/dim) // ---- Red dim bulbs -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/red/dim, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small/red/dim) // ---- Blacklight bulbs -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/blacklight, 0) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/light/small/blacklight) diff --git a/code/modules/power/lighting/light_wallframes.dm b/code/modules/power/lighting/light_wallframes.dm index af650232ccae8..c0749ca5e8944 100644 --- a/code/modules/power/lighting/light_wallframes.dm +++ b/code/modules/power/lighting/light_wallframes.dm @@ -1,7 +1,7 @@ /obj/item/wallframe/light_fixture name = "light fixture frame" desc = "Used for building lights." - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/machines/lighting.dmi' icon_state = "tube-construct-item" result_path = /obj/structure/light_construct wall_external = TRUE diff --git a/code/modules/power/monitor.dm b/code/modules/power/monitor.dm index 289b2d46fab38..1cff0f5f1a1bd 100644 --- a/code/modules/power/monitor.dm +++ b/code/modules/power/monitor.dm @@ -19,11 +19,13 @@ /obj/machinery/computer/monitor/Initialize(mapload) . = ..() + //Add to the late process queue to record the accurate power usage data + SSmachines.processing_late += src search() history["supply"] = list() history["demand"] = list() -/obj/machinery/computer/monitor/process() +/obj/machinery/computer/monitor/process_late() if(!get_powernet()) update_use_power(IDLE_POWER_USE) search() @@ -36,7 +38,7 @@ attached_wire_ref = WEAKREF(locate(/obj/structure/cable) in T) if(attached_wire_ref) return - var/area/A = get_area(src) //if the computer isn't directly connected to a wire, attempt to find the APC powering it to pull it's powernet instead + var/area/A = get_area(src) //if the computer isn't directly connected to a wire, attempt to find the APC powering it to pull its powernet instead if(!A) return var/obj/machinery/power/apc/local_apc = A.apc diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm index 4514c89b862e2..4c91301978940 100644 --- a/code/modules/power/pipecleaners.dm +++ b/code/modules/power/pipecleaners.dm @@ -403,7 +403,7 @@ By design, d1 is the smallest direction and d2 is the highest // exisiting pipe_cleaner doesn't point at our position or we have a supplied direction, so see if it's a stub else if(C.d1 == 0) - // if so, make it a full pipe_cleaner pointing from it's old direction to our dirn + // if so, make it a full pipe_cleaner pointing from its old direction to our dirn var/nd1 = C.d2 // these will be the new directions var/nd2 = dirn diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index e4c1617c0f0b8..64cf7f92cd820 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -1,5 +1,6 @@ -//Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power). +//Baseline portable generator. Has all the default handling. Not intended to be used on its own (since it generates unlimited power). /obj/machinery/power/port_gen + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "portable generator" desc = "A portable generator for emergency backup power." icon = 'icons/obj/machines/engine/other.dmi' @@ -10,7 +11,7 @@ use_power = NO_POWER_USE var/active = FALSE - var/power_gen = 5000 + var/power_gen = 5 KILO JOULES var/power_output = 1 var/consumption = 0 var/datum/looping_sound/generator/soundloop @@ -81,13 +82,13 @@ /obj/machinery/power/port_gen/pacman name = "\improper P.A.C.M.A.N.-type portable generator" circuit = /obj/item/circuitboard/machine/pacman - power_gen = 5000 + power_gen = 10 KILO JOULES var/sheets = 0 var/max_sheets = 50 var/sheet_name = "" var/sheet_path = /obj/item/stack/sheet/mineral/plasma var/sheet_left = 0 // How much is left of the sheet - var/time_per_sheet = 60 + var/time_per_sheet = 180 var/current_heat = 0 /obj/machinery/power/port_gen/pacman/Initialize(mapload) @@ -108,8 +109,8 @@ icon_state = "portgen1_0" base_icon_state = "portgen1" max_sheets = 20 - time_per_sheet = 20 - power_gen = 15000 + time_per_sheet = 60 + power_gen = 30 KILO JOULES sheet_path = /obj/item/stack/sheet/mineral/uranium /obj/machinery/power/port_gen/pacman/examine(mob/user) @@ -246,7 +247,7 @@ data["current_heat"] = current_heat . = data -/obj/machinery/power/port_gen/pacman/ui_act(action, params) +/obj/machinery/power/port_gen/pacman/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -274,8 +275,8 @@ icon_state = "portgen1_0" base_icon_state = "portgen1" max_sheets = 20 - time_per_sheet = 20 - power_gen = 15000 + time_per_sheet = 60 + power_gen = 30 KILO JOULES sheet_path = /obj/item/stack/sheet/mineral/uranium /obj/machinery/power/port_gen/pacman/pre_loaded diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 5cfeab92f06ca..c31870f2ad080 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -53,7 +53,7 @@ . += span_notice("It's operating on the [LOWER_TEXT(GLOB.cable_layer_to_name["[cable_layer]"])].") else . += span_warning("It's disconnected from the [LOWER_TEXT(GLOB.cable_layer_to_name["[cable_layer]"])].") - . += span_notice("It's power line can be changed with a [EXAMINE_HINT("multitool")].") + . += span_notice("Its power line can be changed with a [EXAMINE_HINT("multitool")].") /obj/machinery/power/multitool_act(mob/living/user, obj/item/tool) if(can_change_cable_layer) diff --git a/code/modules/power/power_store.dm b/code/modules/power/power_store.dm index 688dc70908f36..8bbaa5bc0fe58 100644 --- a/code/modules/power/power_store.dm +++ b/code/modules/power/power_store.dm @@ -57,6 +57,13 @@ ) AddElement(/datum/element/connect_loc, loc_connections) + +/obj/item/stock_parts/power_store/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) + . = ..() + if(!isturf(old_loc)) + update_appearance() + + /** * Signal proc for [COMSIG_ITEM_MAGICALLY_CHARGED] * diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index 657263b3de415..01180a495a81b 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -2,6 +2,7 @@ // Simple power generator that would replace "magic SMES" on various derelicts. /obj/machinery/power/rtg + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "radioisotope thermoelectric generator" desc = "A simple nuclear power generator, used in small outposts to reliably provide power for decades." icon = 'icons/obj/machines/engine/other.dmi' diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 1659d30b2bbe9..9a71da1611c7f 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -1,4 +1,5 @@ /obj/machinery/power/emitter + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "emitter" desc = "A heavy-duty industrial laser, often used in containment fields and power generation." icon = 'icons/obj/machines/engine/singularity.dmi' @@ -60,6 +61,8 @@ /obj/machinery/power/emitter/Initialize(mapload) . = ..() + //Add to the early process queue to prioritize power draw + SSmachines.processing_early += src RefreshParts() set_wires(new /datum/wires/emitter(src)) if(welded) @@ -187,7 +190,7 @@ togglelock(user) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN -/obj/machinery/power/emitter/process(seconds_per_tick) +/obj/machinery/power/emitter/process_early(seconds_per_tick) var/power_usage = active_power_usage * seconds_per_tick if(machine_stat & (BROKEN)) return diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 812dc2267fb21..b15867790026d 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -306,7 +306,7 @@ /** * Selects cinematic to play as part of the cult end depending on the outcome then ends the round afterward - * called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion + * called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches its conclusion */ /proc/cult_ending_helper(ending_type = CULT_VICTORY_NUKE) switch(ending_type) diff --git a/code/modules/power/singularity/reality_tear.dm b/code/modules/power/singularity/reality_tear.dm index e43301541a08f..75f30e15d9491 100644 --- a/code/modules/power/singularity/reality_tear.dm +++ b/code/modules/power/singularity/reality_tear.dm @@ -9,7 +9,6 @@ density = TRUE icon = 'icons/effects/96x96.dmi' icon_state = "boh_tear" - plane = MASSIVE_OBJ_PLANE plane = ABOVE_LIGHTING_PLANE light_range = 6 move_resist = INFINITY diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 0475736f6a502..c66560904a8b7 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -7,7 +7,6 @@ anchored = TRUE density = TRUE move_resist = INFINITY - plane = MASSIVE_OBJ_PLANE plane = ABOVE_LIGHTING_PLANE light_range = 6 appearance_flags = LONG_GLIDE diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 935601b834bc3..6b538889b8aa7 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -14,6 +14,7 @@ #define SMES_INPUT_ATTEMPT 9 /obj/machinery/power/smes + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "power storage unit" desc = "A high-capacity superconducting magnetic energy storage (SMES) unit." icon_state = "smes" @@ -366,7 +367,7 @@ ) return data -/obj/machinery/power/smes/ui_act(action, params) +/obj/machinery/power/smes/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 370140a4f74cd..4dfd2c23941d5 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -61,7 +61,7 @@ /obj/machinery/power/solar/proc/add_panel_overlay(icon_state, z_offset) var/obj/effect/overlay/solar_panel/overlay = new(src) overlay.icon_state = icon_state - SET_PLANE_EXPLICIT(overlay, ABOVE_GAME_PLANE, src) + SET_PLANE_EXPLICIT(overlay, GAME_PLANE, src) overlay.pixel_z = z_offset vis_contents += overlay return overlay @@ -367,6 +367,7 @@ // /obj/machinery/power/solar_control + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "solar panel control" desc = "A controller for solar panel arrays." icon = 'icons/obj/machines/computer.dmi' @@ -486,7 +487,7 @@ data["history"] = history return data -/obj/machinery/power/solar_control/ui_act(action, params) +/obj/machinery/power/solar_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 76951670c9831..c4e3127aa5c9f 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -105,7 +105,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/external_power_immediate = 0 /// External damage that are added to the sm on next [/obj/machinery/power/supermatter_crystal/process_atmos] call. - /// SM will not take damage if it's health is lower than emergency point. + /// SM will not take damage if its health is lower than emergency point. var/external_damage_immediate = 0 ///The cutoff for a bolt jumping, grows with heat, lowers with higher mol count, diff --git a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm index 862cdb02435ae..aea846d237ef1 100644 --- a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm +++ b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm @@ -75,12 +75,12 @@ GLOBAL_LIST_INIT(sm_delam_list, list( SEND_SIGNAL(sm, COMSIG_SUPERMATTER_DELAM_ALARM) return TRUE -/// Called when a supermatter switches it's strategy from another one to us. +/// Called when a supermatter switches its strategy from another one to us. /// [/obj/machinery/power/supermatter_crystal/proc/set_delam] /datum/sm_delam/proc/on_select(obj/machinery/power/supermatter_crystal/sm) return -/// Called when a supermatter switches it's strategy from us to something else. +/// Called when a supermatter switches its strategy from us to something else. /// [/obj/machinery/power/supermatter_crystal/proc/set_delam] /datum/sm_delam/proc/on_deselect(obj/machinery/power/supermatter_crystal/sm) return diff --git a/code/modules/power/supermatter/supermatter_extra_effects.dm b/code/modules/power/supermatter/supermatter_extra_effects.dm index 35c96d298dd34..b6cc1b792bdcf 100644 --- a/code/modules/power/supermatter/supermatter_extra_effects.dm +++ b/code/modules/power/supermatter/supermatter_extra_effects.dm @@ -173,7 +173,7 @@ if(VORTEX_ANOMALY) new /obj/effect/anomaly/bhole(local_turf, 20, FALSE) if(BIOSCRAMBLER_ANOMALY) - new /obj/effect/anomaly/bioscrambler(local_turf, null, FALSE) + new /obj/effect/anomaly/bioscrambler/docile(local_turf, null, FALSE) #undef CHANCE_EQUATION_SLOPE #undef INTEGRITY_EXPONENTIAL_DEGREE diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 14eb6c88864b0..8c52fca3a679a 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -1,4 +1,5 @@ /obj/machinery/power/energy_accumulator/tesla_coil + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "tesla coil" desc = "For the union!" icon = 'icons/obj/machines/engine/tesla_coil.dmi' @@ -119,6 +120,7 @@ zap_buckle_check(power) /obj/machinery/power/energy_accumulator/grounding_rod + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "grounding rod" desc = "Keeps an area from being fried by Edison's Bane." icon = 'icons/obj/machines/engine/tesla_coil.dmi' diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 0e7957b65fb2f..b42a4343aadc5 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -19,7 +19,6 @@ anchored = TRUE appearance_flags = LONG_GLIDE density = TRUE - plane = MASSIVE_OBJ_PLANE plane = ABOVE_LIGHTING_PLANE light_range = 6 move_resist = INFINITY diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index a6118e9ac093f..4c41c150ba3b0 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -52,7 +52,7 @@ /obj/machinery/power/tracker/proc/add_panel_overlay(icon_state, z_offset) var/obj/effect/overlay/tracker/overlay = new(src) overlay.icon_state = icon_state - SET_PLANE_EXPLICIT(overlay, ABOVE_GAME_PLANE, src) + SET_PLANE_EXPLICIT(overlay, GAME_PLANE, src) overlay.pixel_z = z_offset vis_contents += overlay return overlay diff --git a/code/modules/power/turbine/turbine.dm b/code/modules/power/turbine/turbine.dm index 590b135ad9a31..dbf5d1848dd48 100644 --- a/code/modules/power/turbine/turbine.dm +++ b/code/modules/power/turbine/turbine.dm @@ -292,7 +292,7 @@ input_turf = null /** - * transfer's gases from it's input turf to it's internal gas mix + * transfers gases from its input turf to its internal gas mix * Returns temperature of the gas mix absorbed only if some work was done */ /obj/machinery/power/turbine/inlet_compressor/proc/compress_gases() diff --git a/code/modules/power/turbine/turbine_computer.dm b/code/modules/power/turbine/turbine_computer.dm index f983e11c1f128..2ad777edd6228 100644 --- a/code/modules/power/turbine/turbine_computer.dm +++ b/code/modules/power/turbine/turbine_computer.dm @@ -68,7 +68,7 @@ return data -/obj/machinery/computer/turbine_computer/ui_act(action, params) +/obj/machinery/computer/turbine_computer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/procedural_mapping/README.md b/code/modules/procedural_mapping/README.md index 6434b534bff10..5123f51ef18f8 100644 --- a/code/modules/procedural_mapping/README.md +++ b/code/modules/procedural_mapping/README.md @@ -63,7 +63,7 @@ Existing Calls: `initialiseModules(),generate(),generateOneTurf()` ### mapGeneratorModule -Desc: a mapGeneratorModule has spawnableAtoms and spawnableTurfs lists which it will generate on turfs in it's mother's map based on cluster variables. +Desc: a mapGeneratorModule has spawnableAtoms and spawnableTurfs lists which it will generate on turfs in its mother's map based on cluster variables. ### sync(var/datum/map_generator/mum) @@ -77,7 +77,7 @@ Existing Calls: `mapGenerator/syncModules()` Example: `generate()` -Desc: Calls place(T) on all turfs in it's mother's map +Desc: Calls place(T) on all turfs in its mother's map Existing Calls: `mapGenerator/generate()` @@ -104,9 +104,9 @@ Existing Calls: `place()` Simple Workflow: 1. Define a/some mapGeneratorModule(s) to your liking, choosing atoms and turfs to spawn - + * I chose to split Turfs and Atoms off into separate modules, but this is NOT required. -* A mapGeneratorModule may have turfs AND atoms, so long as each is in it's appropriate list +* A mapGeneratorModule may have turfs AND atoms, so long as each is in its appropriate list 2. Define a mapGenerator type who's modules list contains the typepath(s) of all the module(s) you wish to use @@ -149,15 +149,15 @@ Variable Breakdown (For Mappers): ### mapGeneratorModule * mother - INTERNAL, do not touch - + * spawnableAtoms - A list of typepaths and their probability to spawn, eg: `spawnableAtoms = list(/obj/structure/flora/tree/pine = 30)` - + * spawnableTurfs - A list of typepaths and their probability to spawn, eg: `spawnableTurfs = list(/turf/unsimulated/floor/grass = 100)` - + * clusterMax - The max range to check for something being "too close" for this atom/turf to spawn, the true value is random between clusterMin and clusterMax - + * clusterMin - The min range to check for something being "too close" for this atom/turf to spawn, the true value is random between clusterMin and clusterMax - + * clusterCheckFlags - A Bitfield that controls how the cluster checks work, All based on clusterMin and clusterMax guides * allowAtomsOnSpace - A Boolean for if we allow atoms to spawn on space tiles diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 1b1decd3649ee..5b082223f874b 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -76,14 +76,16 @@ if(loaded_projectile.firer) firing_dir = get_dir(fired_from, target) if(!loaded_projectile.suppressed && firing_effect_type && !tk_firing(user, fired_from)) - new firing_effect_type(get_turf(src), firing_dir) + var/obj/effect/fire_effect = new firing_effect_type(get_turf(src), firing_dir) + fire_effect.pixel_y = user.pixel_y + fire_effect.pixel_z = user.pixel_z + fire_effect.pixel_x = user.pixel_x + fire_effect.pixel_w = user.pixel_w var/direct_target if(target && curloc.Adjacent(targloc, target=targloc, mover=src)) //if the target is right on our location or adjacent (including diagonally if reachable) we'll skip the travelling code in the proj's fire() direct_target = target - if(!direct_target) - var/modifiers = params2list(params) - loaded_projectile.preparePixelProjectile(target, fired_from, modifiers, spread) + loaded_projectile.preparePixelProjectile(target, fired_from, params2list(params), spread) var/obj/projectile/loaded_projectile_cache = loaded_projectile loaded_projectile = null loaded_projectile_cache.fire(null, direct_target) diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index a2f55f797bdb5..bc25970e7c364 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -26,7 +26,7 @@ desc = "A 10mm reaper bullet casing." projectile_type = /obj/projectile/bullet/c10mm/reaper -// 9mm (Makarov, Stechkin APS, PP-95) +// 9mm (Makarov, Stechkin APS) /obj/item/ammo_casing/c9mm name = "9mm bullet casing" @@ -49,7 +49,6 @@ desc = "A 9mm incendiary bullet casing." projectile_type = /obj/projectile/bullet/incendiary/c9mm - // .50AE (Desert Eagle) /obj/item/ammo_casing/a50ae @@ -57,3 +56,21 @@ desc = "A .50AE bullet casing." caliber = CALIBER_50AE projectile_type = /obj/projectile/bullet/a50ae + +// .160 Smart (Abielle smartgun) + +/obj/item/ammo_casing/c160smart + name = ".160 smart bullet casing" + desc = "A .160 smart bullet with a small charge of booster propellant at the bottom." + icon_state = "smartgun_casing" + caliber = CALIBER_160SMART + projectile_type = /obj/projectile/bullet/c160smart + +/obj/item/ammo_casing/c160smart/Initialize(mapload) + . = ..() + AddElement(/datum/element/caseless) + +/obj/item/ammo_casing/c160smart/ready_proj(atom/target, mob/living/user, quiet, zone_override, atom/fired_from) + . = ..() + if(!isturf(target)) + loaded_projectile.set_homing_target(target) diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index aeb3b34ed4a64..b7cda3e93e1a8 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -103,6 +103,15 @@ variance = 25 custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*2) +/obj/item/ammo_casing/shotgun/fletchette + name = "\improper Donk Co Flechette Shell" + desc = "A shotgun casing filled with small metal darts. Has poor armor penetration and velocity, but is good at destroying most electronic devices and injuring unarmored humanoids." + icon_state = "fletchette" + projectile_type = /obj/projectile/bullet/pellet/flechette + custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*2, /datum/material/glass=SMALL_MATERIAL_AMOUNT*1) + pellets = 6 + variance = 20 + /obj/item/ammo_casing/shotgun/ion name = "ion shell" desc = "An advanced shotgun shell which uses a subspace ansible crystal to produce an effect similar to a standard ion rifle. \ @@ -159,7 +168,13 @@ /obj/item/ammo_casing/shotgun/dart/attackby() return +/obj/item/ammo_casing/shotgun/dart/large + name = "XL shotgun dart" + desc = "A dart for use in shotguns. Can be injected with up to 25 units of any chemical." + reagent_amount = 25 + /obj/item/ammo_casing/shotgun/dart/bioterror + name = "bioterror dart" desc = "An improved shotgun dart filled with deadly toxins. Can be injected with up to 30 units of any chemical." reagent_amount = 30 diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 6eb2d238bb061..a77dcfec663b1 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -19,6 +19,12 @@ select_name = "kill" fire_sound = 'sound/weapons/laser2.ogg' +/obj/item/ammo_casing/energy/lasergun/carbine/cybersun + projectile_type = /obj/projectile/beam/laser/carbine/cybersun + e_cost = LASER_SHOTS(54, STANDARD_CELL_CHARGE) + select_name = "rapid fire" + fire_sound = 'sound/weapons/laser2.ogg' + /obj/item/ammo_casing/energy/lasergun/carbine/practice projectile_type = /obj/projectile/beam/laser/carbine/practice select_name = "practice" @@ -47,6 +53,7 @@ /obj/item/ammo_casing/energy/chameleon projectile_type = /obj/projectile/energy/chameleon e_cost = 0 // Can't really use the macro here, unfortunately + harmful = FALSE var/projectile_vars = list() /obj/item/ammo_casing/energy/chameleon/ready_proj() diff --git a/code/modules/projectiles/boxes_magazines/external/shotgun.dm b/code/modules/projectiles/boxes_magazines/external/shotgun.dm index dbf071f6aee6c..6d90c54fc6927 100644 --- a/code/modules/projectiles/boxes_magazines/external/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/external/shotgun.dm @@ -14,25 +14,30 @@ /obj/item/ammo_box/magazine/m12g/stun name = "shotgun magazine (12g taser slugs)" + icon_state = "m12gs" base_icon_state = "m12gs" ammo_type = /obj/item/ammo_casing/shotgun/stunslug /obj/item/ammo_box/magazine/m12g/slug name = "shotgun magazine (12g slugs)" + icon_state = "m12gsl" base_icon_state = "m12gsl" ammo_type = /obj/item/ammo_casing/shotgun /obj/item/ammo_box/magazine/m12g/dragon name = "shotgun magazine (12g dragon's breath)" + icon_state = "m12gf" base_icon_state = "m12gf" ammo_type = /obj/item/ammo_casing/shotgun/dragonsbreath /obj/item/ammo_box/magazine/m12g/bioterror name = "shotgun magazine (12g bioterror)" + icon_state = "m12gt" base_icon_state = "m12gt" ammo_type = /obj/item/ammo_casing/shotgun/dart/bioterror /obj/item/ammo_box/magazine/m12g/meteor name = "shotgun magazine (12g meteor slugs)" + icon_state = "m12gbc" base_icon_state = "m12gbc" ammo_type = /obj/item/ammo_casing/shotgun/meteorslug diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 3ebb459ed9319..40837d9ddbc4c 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -30,18 +30,16 @@ . = ..() icon_state = "[base_icon_state]-[round(ammo_count(), 4)]" -/obj/item/ammo_box/magazine/plastikov9mm - name = "PP-95 magazine (9mm)" - icon_state = "9x19-50" - base_icon_state = "9x19" - ammo_type = /obj/item/ammo_casing/c9mm - caliber = CALIBER_9MM +/obj/item/ammo_box/magazine/smartgun + name = "Abielle magazine (.160 Smart)" + icon_state = "smartgun" + base_icon_state = "smartgun" + ammo_type = /obj/item/ammo_casing/c160smart + multiple_sprites = AMMO_BOX_FULL_EMPTY + multiple_sprite_use_base = TRUE + caliber = CALIBER_160SMART max_ammo = 50 -/obj/item/ammo_box/magazine/plastikov9mm/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[ammo_count() ? 50 : 0]" - /obj/item/ammo_box/magazine/uzim9mm name = "uzi magazine (9mm)" icon_state = "uzi9mm-32" diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm index 863f29508dac0..b092e207c10d6 100644 --- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm @@ -42,6 +42,9 @@ caliber = CALIBER_HARPOON ammo_type = /obj/item/ammo_casing/harpoon +/obj/item/ammo_box/magazine/internal/boltaction/jezail + max_ammo = 4 + /obj/item/ammo_box/magazine/internal/boltaction/rebarxbow/normal name = "single round magazine" max_ammo = 1 diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index 3b2489022ea45..5331b5c92f8bc 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -52,3 +52,8 @@ name = "triple-barrel shotgun internal magazine" ammo_type = /obj/item/ammo_casing/shotgun/incapacitate max_ammo = 3 + +/obj/item/ammo_box/magazine/internal/shot/musket + name = "donk co musket internal magazine" + ammo_type = /obj/item/ammo_casing/shotgun/fletchette + max_ammo = 1 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f1df323609dd9..1452d879799fa 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -126,6 +126,21 @@ suppressed = null update_appearance() +/obj/item/gun/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + if(isliving(hit_atom)) + var/mob/living/thrower = throwingdatum?.get_thrower() + toss_gun_hard(thrower, hit_atom) + +/obj/item/gun/proc/toss_gun_hard(mob/living/thrower, mob/living/target) //throw a gun at them. They don't expect it. + if(isnull(thrower)) + return FALSE + if(!HAS_TRAIT(thrower, TRAIT_TOSS_GUN_HARD)) + return FALSE + target.Knockdown(0.5 SECONDS) + target.apply_damage(damage = max(w_class * 5 - throwforce, 10), damagetype = BRUTE, def_zone = thrower.zone_selected, wound_bonus = CANT_WOUND, attacking_item = src) + return TRUE + /obj/item/gun/examine(mob/user) . = ..() if(!pinless) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 361d68123f5c4..8a8b4dbacfccc 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -5,6 +5,8 @@ name = "projectile gun" icon_state = "debug" w_class = WEIGHT_CLASS_NORMAL + pickup_sound = 'sound/items/gun_pick_up.ogg' + drop_sound = 'sound/items/gun_drop.ogg' ///sound when inserting magazine var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' @@ -735,6 +737,24 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( chamber_round() update_appearance() +/obj/item/gun/ballistic/toss_gun_hard(mob/living/carbon/thrower, mob/living/target) + . = ..() + if(!.) + return + switch(bolt_type) + if(BOLT_TYPE_NO_BOLT) //emptying the revolver cylinder + attack_self() + return + if(BOLT_TYPE_OPEN) //emptying the chamber of an automatic weapon, because rack() doesn't do this to it + handle_chamber(chamber_next_round = FALSE) + if(!internal_magazine && magazine) //if a magazine is attached to the weapon, we remove it and throw it aside + magazine.forceMove(drop_location()) + magazine.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), 1, 1) + magazine = null + update_icon() //updating the sprite of weapons without a magazine + if(!isnull(chambered)) //if there is a cartridge in the chamber, we remove it + rack() + /obj/item/suppressor name = "suppressor" desc = "A syndicate small-arms suppressor for maximum espionage." diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index b86e2a9938995..a895cbe88e44f 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -86,20 +86,33 @@ /obj/item/gun/ballistic/automatic/wt550/add_bayonet_point() AddComponent(/datum/component/bayonet_attachable, offset_x = 25, offset_y = 12) -/obj/item/gun/ballistic/automatic/plastikov - name = "\improper PP-95 SMG" - desc = "An ancient 9mm submachine gun pattern updated and simplified to lower costs, though perhaps simplified too much." - icon_state = "plastikov" - inhand_icon_state = "plastikov" - accepted_magazine_type = /obj/item/ammo_box/magazine/plastikov9mm - burst_size = 5 - spread = 25 - can_suppress = FALSE +/obj/item/gun/ballistic/automatic/smartgun + name = "\improper Abielle Smart-SMG" + desc = "An old experiment in smart-weapon technology that guides bullets towards the target the gun was aimed at when fired. \ + While the tracking functions worked fine, the gun is prone to insanely wide spread thanks to it's practically non-existant barrel." + icon_state = "smartgun" + inhand_icon_state = "smartgun" + accepted_magazine_type = /obj/item/ammo_box/magazine/smartgun + burst_size = 4 + fire_delay = 1 + spread = 40 + dual_wield_spread = 20 actions_types = list() - projectile_damage_multiplier = 0.35 //It's like 10.5 damage per bullet, it's close enough to 10 shots + bolt_type = BOLT_TYPE_LOCKING + can_suppress = FALSE mag_display = TRUE empty_indicator = TRUE - fire_sound = 'sound/weapons/gun/smg/shot_alt.ogg' + click_on_low_ammo = FALSE + /// List of the possible firing sounds + var/list/firing_sound_list = list( + 'sound/weapons/gun/smartgun/smartgun_shoot_1.ogg', + 'sound/weapons/gun/smartgun/smartgun_shoot_2.ogg', + 'sound/weapons/gun/smartgun/smartgun_shoot_3.ogg', + ) + +/obj/item/gun/ballistic/automatic/smartgun/fire_sounds() + var/picked_fire_sound = pick(firing_sound_list) + playsound(src, picked_fire_sound, fire_sound_volume, vary_fire_sound) /obj/item/gun/ballistic/automatic/mini_uzi name = "\improper Type U3 Uzi" diff --git a/code/modules/projectiles/guns/ballistic/bows/bow_arrows.dm b/code/modules/projectiles/guns/ballistic/bows/bow_arrows.dm index 92c4f19e9b333..d7a24c9deba47 100644 --- a/code/modules/projectiles/guns/ballistic/bows/bow_arrows.dm +++ b/code/modules/projectiles/guns/ballistic/bows/bow_arrows.dm @@ -45,6 +45,60 @@ jostle_pain_mult = 3 rip_time = 1 SECONDS +/// sticky arrows +/obj/item/ammo_casing/arrow/sticky + name = "sticky arrow" + desc = "A sticky arrow. Not sharp-ended, but ripping it off yourself once hit would be rather difficult and painful." + icon_state = "sticky_arrow" + inhand_icon_state = "sticky_arrow" + base_icon_state = "sticky_arrow" + projectile_type = /obj/projectile/bullet/arrow/sticky + +///sticky arrow projectile +/obj/projectile/bullet/arrow/sticky + name = "sticky arrow" + desc = "Quite the sticky situation..." + icon_state = "sticky_arrow_projectile" + damage = 30 + speed = 0.75 + range = 20 + embed_type = /datum/embed_data/arrow/sticky + +/datum/embed_data/arrow/sticky + embed_chance = 99 + fall_chance = 0 + jostle_chance = 1 + ignore_throwspeed_threshold = TRUE + pain_stam_pct = 0.7 + pain_mult = 3 + jostle_pain_mult = 3 + rip_time = 8 SECONDS + +/// poison arrows +/obj/item/ammo_casing/arrow/poison + name = "poisonous arrow" + desc = "A poisonous arrow." + icon_state = "poison_arrow" + inhand_icon_state = "poison_arrow" + base_icon_state = "poison_arrow" + projectile_type = /obj/projectile/bullet/arrow/poison + +/// poison arrow projctile +/obj/projectile/bullet/arrow/poison + name = "poisonous arrow" + desc = "Better to not get hit with this!" + icon_state = "poison_arrow_projectile" + damage = 40 + embed_type = /datum/embed_data/arrow + +/obj/projectile/bullet/arrow/poison/on_hit(atom/target, blocked, pierce_hit) + . = ..() + if(!ishuman(target)) + return + + target.reagents?.add_reagent(/datum/reagent/toxin/cyanide, 8) + target.reagents?.add_reagent(/datum/reagent/toxin/staminatoxin, 1) + /// holy arrows /obj/item/ammo_casing/arrow/holy name = "holy arrow" diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index f7d9ed19cbea5..cd7d75556727b 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -137,7 +137,7 @@ /obj/item/gun/ballistic/revolver/syndicate name = "\improper Syndicate Revolver" - desc = "A modernized 7 round revolver manufactured by Waffle Co. Uses .357 ammo." + desc = "A modernized 7 round revolver manufactured by Waffle Corp. Uses .357 ammo." icon_state = "revolversyndie" /obj/item/gun/ballistic/revolver/syndicate/nuclear diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 8604e21b32503..024f8353ddb48 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -170,6 +170,27 @@ if(.) name = "\improper Obrez Moderna" // wear it loud and proud +/obj/item/gun/ballistic/rifle/boltaction/donkrifle + name = "\improper Donk Co. Jezail" + desc = "A mass-manufactured bolt-action sporting rifle with a distinctively long barrel. Powerful enough to take down a space bear from a thousand paces. The lengthened barrel gives it good accuracy and power, even at range." + w_class = WEIGHT_CLASS_HUGE + lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' + righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 + icon_state = "jezail" + inhand_icon_state = "jezail" + worn_icon_state = "jezail" + accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/jezail + can_be_sawn_off = TRUE + sawn_desc = "A mass-manufactured bolt-action sporting rifle with a distinctively long barrel. Powerful enough to take down a space bear from a thousand paces. Its barrel has been cut off, so its power and accuracy have been impaired." + +/obj/item/gun/ballistic/rifle/boltaction/donkrifle/sawoff(mob/user) //the heavy price one pays for fitting this in a backpack + . = ..() + if(.) + projectile_damage_multiplier = 0.75 + spread = 50 + /obj/item/gun/ballistic/rifle/rebarxbow name = "Heated Rebar Crossbow" desc = "Made from an inducer, iron rods, and some wire, this crossbow fires sharpened iron rods, made from the plentiful iron rods found stationwide. \ @@ -273,13 +294,14 @@ obj_flags = UNIQUE_RENAME can_be_sawn_off = FALSE trigger_guard = TRIGGER_GUARD_ALLOW_ALL + pb_knockback = 3 SET_BASE_PIXEL(-8, 0) /obj/item/gun/ballistic/rifle/boltaction/pipegun/add_bayonet_point() AddComponent(/datum/component/bayonet_attachable, offset_x = 35, offset_y = 10) -/obj/item/gun/ballistic/rifle/boltaction/pipegun/handle_chamber() +/obj/item/gun/ballistic/rifle/boltaction/pipegun/handle_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE) . = ..() do_sparks(1, TRUE, src) @@ -303,13 +325,16 @@ accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun/pistol projectile_damage_multiplier = 0.50 spread = 15 //kinda inaccurate + burst_size = 3 //but it empties the entire magazine when it fires + fire_delay = 0.3 // and by empties, I mean it does it all at once slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL weapon_weight = WEAPON_MEDIUM + semi_auto = TRUE SET_BASE_PIXEL(0, 0) -/obj/item/gun/ballistic/rifle/boltaction/pipegun/pipepistol/add_bayonet_point() +/obj/item/gun/ballistic/rifle/boltaction/pipegun/pistol/add_bayonet_point() return /obj/item/gun/ballistic/rifle/boltaction/pipegun/prime @@ -330,6 +355,7 @@ inhand_icon_state = "regal_pipepistol" accepted_magazine_type = /obj/item/ammo_box/magazine/internal/boltaction/pipegun/pistol/prime projectile_damage_multiplier = 1 + burst_size = 6 // WHOLE CLIP spread = 0 /// MAGICAL BOLT ACTIONS /// diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 792edbeaa16aa..9f854926dbdff 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -140,12 +140,15 @@ /obj/item/gun/ballistic/shotgun/bulldog name = "\improper Bulldog Shotgun" - desc = "A 2-round burst fire, mag-fed shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines. Can have a secondary magazine attached to quickly swap between ammo types, or just to keep shooting." + desc = "A 2-round burst fire, mag-fed shotgun for combat in narrow corridors, \ + nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines. \ + Can have a secondary magazine attached to quickly swap between ammo types, or just to keep shooting." icon_state = "bulldog" - inhand_icon_state = "bulldog" - worn_icon_state = "cshotgun" lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + inhand_icon_state = "bulldog" + worn_icon = 'icons/mob/clothing/back.dmi' + worn_icon_state = "bulldog" inhand_x_dimension = 32 inhand_y_dimension = 32 projectile_damage_multiplier = 1.2 @@ -166,9 +169,9 @@ internal_magazine = FALSE tac_reloads = TRUE burst_fire_selection = TRUE - ///the type of secondary magazine for the bulldog + /// The type of secondary magazine for the bulldog var/secondary_magazine_type - ///the secondary magazine + /// The secondary magazine var/obj/item/ammo_box/magazine/secondary_magazine /obj/item/gun/ballistic/shotgun/bulldog/Initialize(mapload) @@ -199,10 +202,8 @@ . += "[icon_state]_secondary_mag_[initial(secondary_magazine.icon_state)]" if(!secondary_magazine.ammo_count()) . += "[icon_state]_secondary_mag_empty" - else - . += "[icon_state]_no_secondary_mag" -/obj/item/gun/ballistic/shotgun/bulldog/handle_chamber() +/obj/item/gun/ballistic/shotgun/bulldog/handle_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE) if(!secondary_magazine) return ..() var/secondary_shells_left = LAZYLEN(secondary_magazine.stored_ammo) @@ -340,3 +341,18 @@ if(LAZYACCESS(params2list(params), RIGHT_CLICK)) return hook.try_fire_gun(target, user, params) return ..() + +/obj/item/gun/ballistic/shotgun/musket + name = "\improper Donk Co. Musket" + icon = 'icons/obj/weapons/guns/ballistic.dmi' + icon_state = "donk_musket" + inhand_icon_state = "donk_musket" + worn_icon_state = "donk_musket" + desc = "A large-bore boltloading firearm with a classy wooden frame. Cheap, accurate, and easy to maintain. Reload and rack after every shot." + semi_auto = TRUE + alternative_caliber = CALIBER_50BMG + casing_ejector = TRUE + bolt_type = BOLT_TYPE_LOCKING + bolt_wording = "bolt" + internal_magazine = TRUE + accepted_magazine_type = /obj/item/ammo_box/magazine/internal/shot/musket diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 237d7cbbb1005..cb90438f56b4f 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -47,7 +47,7 @@ pb_knockback = 0 gun_flags = TOY_FIREARM_OVERLAY | NOT_A_REAL_GUN -/obj/item/gun/ballistic/shotgun/toy/handle_chamber() +/obj/item/gun/ballistic/shotgun/toy/handle_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE) . = ..() if(chambered && !chambered.loaded_projectile) qdel(chambered) diff --git a/code/modules/projectiles/guns/bolt_types_explained.md b/code/modules/projectiles/guns/bolt_types_explained.md index 63f6d6d4364f6..e1f638dceabda 100644 --- a/code/modules/projectiles/guns/bolt_types_explained.md +++ b/code/modules/projectiles/guns/bolt_types_explained.md @@ -1,7 +1,7 @@ # Balistic gun icon states explained -For a unknown period of time, `/obj/item/gun/ballistic` used the wrong icon state for it's `bolt_type` and so, if you tried to copy how it worked to make your own gun, you'd get a broken sprite. This documentation is intended to explain in detail what some of the variables and functions do, and how to make your own gun subtypes that work properly. +For a unknown period of time, `/obj/item/gun/ballistic` used the wrong icon state for its `bolt_type` and so, if you tried to copy how it worked to make your own gun, you'd get a broken sprite. This documentation is intended to explain in detail what some of the variables and functions do, and how to make your own gun subtypes that work properly. ## Bolt Types The easiest thing to screw up. For a long time, `/obj/item/gun/ballistic` had `bolt_type` set to `BOLT_TYPE_STANDARD` when the sprite was configured to use `BOLT_TYPE_LOCKING` sprites. Nobody noticed, because it wasn't obtainable through normal gameplay, and the Mosin which was broken by it only has like 3 pixels missing. diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 3571e0858c8af..9c16133e1ea35 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -3,6 +3,8 @@ name = "energy gun" desc = "A basic energy-based gun." icon = 'icons/obj/weapons/guns/energy.dmi' + pickup_sound = 'sound/items/gun_pick_up.ogg' + drop_sound = 'sound/items/gun_drop.ogg' /// What type of power cell this uses var/obj/item/stock_parts/power_store/cell diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index ab023d38b55ef..5dc19e797bd66 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -84,6 +84,9 @@ else to_chat(user, span_notice("There are no modifications currently installed.")) +/obj/item/gun/energy/recharge/kinetic_accelerator/try_fire_gun(atom/target, mob/living/user, params) + return fire_gun(target, user, user.Adjacent(target) && !isturf(target), params) + /obj/item/gun/energy/recharge/kinetic_accelerator/attack_hand_secondary(mob/user, list/modifiers) . = ..() if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) @@ -192,6 +195,10 @@ var/pressure_decrease = 0.25 var/obj/item/gun/energy/recharge/kinetic_accelerator/kinetic_gun +/obj/projectile/kinetic/Initialize(mapload) + . = ..() + AddComponent(/datum/component/parriable_projectile, parry_callback = CALLBACK(src, PROC_REF(on_parry))) + /obj/projectile/kinetic/Destroy() kinetic_gun = null return ..() @@ -209,6 +216,13 @@ damage = damage * pressure_decrease pressure_decrease_active = TRUE +/obj/projectile/kinetic/proc/on_parry(mob/user) + SIGNAL_HANDLER + + // Ensure that if the user doesn't have tracer mod we're still visible + icon_state = "ka_tracer" + update_appearance() + /obj/projectile/kinetic/on_range() strike_thing() ..() @@ -248,7 +262,7 @@ /obj/item/borg/upgrade/modkit name = "kinetic accelerator modification kit" desc = "An upgrade for kinetic accelerators." - icon = 'icons/obj/mining.dmi' + icon = 'icons/obj/mining_zones/equipment.dmi' icon_state = "modkit" w_class = WEIGHT_CLASS_SMALL require_model = TRUE diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 90dc0c5717275..a85d1d0db14ab 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -45,6 +45,15 @@ . = ..() AddComponent(/datum/component/automatic_fire, 0.15 SECONDS, allow_akimbo = FALSE) +/obj/item/gun/energy/laser/carbine/cybersun + name = "\improper Cybersun S-120" + desc = "A laser gun primarily used by syndicate security guards. It fires a rapid spray of low-power plasma beams." + icon_state = "cybersun_s120" + inhand_icon_state = "s120" + ammo_type = list(/obj/item/ammo_casing/energy/lasergun/carbine/cybersun) + spread = 14 + pin = /obj/item/firing_pin/implant/pindicate + /obj/item/gun/energy/laser/carbine/practice name = "practice laser carbine" desc = "A modified version of the laser carbine, this one fires even less concentrated energy bolts designed for target practice." @@ -139,12 +148,14 @@ icon_state = "scatterlaser" range = 255 damage = 6 + var/size_per_tile = 0.1 + var/max_scale = 4 /obj/projectile/beam/laser/accelerator/Range() ..() damage += 7 transform = 0 - transform *= 1 + (((damage - 6)/7) * 0.2)//20% larger per tile + transform *= min(1 + (decayedRange - range) * size_per_tile, max_scale) ///X-ray gun diff --git a/code/modules/projectiles/guns/energy/mounted.dm b/code/modules/projectiles/guns/energy/mounted.dm index 7e33567aa0ed8..9df536a13cb13 100644 --- a/code/modules/projectiles/guns/energy/mounted.dm +++ b/code/modules/projectiles/guns/energy/mounted.dm @@ -1,7 +1,7 @@ /obj/item/gun/energy/e_gun/advtaser/mounted name = "mounted taser" desc = "An arm mounted dual-mode weapon that fires electrodes and disabler shots." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "taser" inhand_icon_state = "armcannonstun4" display_empty = FALSE @@ -15,7 +15,7 @@ /obj/item/gun/energy/laser/mounted name = "mounted laser" desc = "An arm mounted cannon that fires lethal lasers." - icon = 'icons/obj/items_cyborg.dmi' + icon = 'icons/mob/silicon/robot_items.dmi' icon_state = "laser_cyborg" inhand_icon_state = "armcannonlase" force = 5 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 961d32c96ee8b..d06a36056d1c0 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -169,6 +169,9 @@ else . = ..(amount=1) +/obj/item/gun/energy/plasmacutter/try_fire_gun(atom/target, mob/living/user, params) + return fire_gun(target, user, user.Adjacent(target) && !isturf(target), params) + #undef PLASMA_CUTTER_CHARGE_WELD /obj/item/gun/energy/plasmacutter/adv diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 7870c10e9ef4a..fd6f145eabad8 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -85,7 +85,8 @@ /// `speed` a modest value like 1 and set this to a low value like 0.2. var/pixel_speed_multiplier = 1 - var/Angle = 0 + /// The current angle of the projectile. Initially null, so if the arg is missing from [/fire()], we can calculate it from firer and target as fallback. + var/Angle var/original_angle = 0 //Angle at firing var/nondirectional_sprite = FALSE //Set TRUE to prevent projectiles from having their sprites rotated based on firing angle var/spread = 0 //amount (in degrees) of projectile spread @@ -208,14 +209,9 @@ var/wound_falloff_tile ///How much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes var/embed_falloff_tile - var/static/list/projectile_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - COMSIG_ATOM_ATTACK_HAND = PROC_REF(attempt_parry), - ) + var/static/list/projectile_connections = list(COMSIG_ATOM_ENTERED = PROC_REF(on_entered)) /// If true directly targeted turfs can be hit var/can_hit_turfs = FALSE - /// If this projectile has been parried before - var/parried = FALSE /obj/projectile/Initialize(mapload) . = ..() @@ -300,6 +296,12 @@ hitx = target.pixel_x + rand(-8, 8) hity = target.pixel_y + rand(-8, 8) + if(isturf(target_turf) && hitsound_wall) + var/volume = clamp(vol_by_damage() + 20, 0, 100) + if(suppressed) + volume = 5 + playsound(loc, hitsound_wall, volume, TRUE, -1) + if(damage > 0 && (damage_type == BRUTE || damage_type == BURN) && iswallturf(target_turf) && prob(75)) var/turf/closed/wall/target_wall = target_turf if(impact_effect_type && !hitscan) @@ -312,11 +314,7 @@ if(!isliving(target)) if(impact_effect_type && !hitscan) new impact_effect_type(target_turf, hitx, hity) - if(isturf(target) && hitsound_wall) - var/volume = clamp(vol_by_damage() + 20, 0, 100) - if(suppressed) - volume = 5 - playsound(loc, hitsound_wall, volume, TRUE, -1) + return BULLET_ACT_HIT var/mob/living/living_target = target @@ -420,33 +418,6 @@ return Impact(A) -/// Signal proc for when a mob attempts to attack this projectile or the turf it's on with an empty hand. -/obj/projectile/proc/attempt_parry(datum/source, mob/user, list/modifiers) - SIGNAL_HANDLER - - if(parried) - return FALSE - - if(SEND_SIGNAL(user, COMSIG_LIVING_PROJECTILE_PARRYING, src) & ALLOW_PARRY) - on_parry(user, modifiers) - return TRUE - - return FALSE - - -/// Called when a mob with PARRY_TRAIT clicks on this projectile or the tile its on, reflecting the projectile within 7 degrees and increasing the bullet's stats. -/obj/projectile/proc/on_parry(mob/user, list/modifiers) - if(SEND_SIGNAL(user, COMSIG_LIVING_PROJECTILE_PARRIED, src) & INTERCEPT_PARRY_EFFECTS) - return - - parried = TRUE - set_angle(dir2angle(user.dir) + rand(-3, 3)) - firer = user - speed *= 0.8 // Go 20% faster when parried - damage *= 1.15 // And do 15% more damage - add_atom_colour(COLOR_RED_LIGHT, TEMPORARY_COLOUR_PRIORITY) - - /** * Called when the projectile hits something * This can either be from it bumping something, @@ -528,7 +499,7 @@ return process_hit(T, select_target(T, target, bumped), bumped, hit_something) // try to hit something else // at this point we are going to hit the thing // in which case send signal to it - if (SEND_SIGNAL(target, COMSIG_PROJECTILE_PREHIT, args, src) & PROJECTILE_INTERRUPT_HIT) + if ((SEND_SIGNAL(target, COMSIG_PROJECTILE_PREHIT, args, src) & PROJECTILE_INTERRUPT_HIT) || (SEND_SIGNAL(src, COMSIG_PROJECTILE_SELF_PREHIT, args) & PROJECTILE_INTERRUPT_HIT)) qdel(src) return BULLET_ACT_BLOCK if(mode == PROJECTILE_PIERCE_HIT) @@ -565,7 +536,7 @@ */ /obj/projectile/proc/select_target(turf/our_turf, atom/target, atom/bumped) // 1. special bumped border object check - if((bumped?.flags_1 & ON_BORDER_1) && can_hit_target(bumped, original == bumped, FALSE, TRUE)) + if((bumped?.flags_1 & ON_BORDER_1) && can_hit_target(bumped, original == bumped, TRUE, TRUE)) return bumped // 2. original if(can_hit_target(original, TRUE, FALSE, original == bumped)) @@ -600,6 +571,9 @@ if((target.pass_flags_self & pass_flags) && !direct_target) return FALSE if(HAS_TRAIT(target, TRAIT_UNHITTABLE_BY_PROJECTILES)) + if(!HAS_TRAIT(target, TRAIT_BLOCKING_PROJECTILES) && isliving(target)) + var/mob/living/living_target = target + living_target.block_projectile_effects() return FALSE if(!ignore_source_check && firer) var/mob/M = firer @@ -776,7 +750,7 @@ required_moves = SSprojectiles.global_max_tick_moves time_offset += overrun * speed time_offset += MODULUS(elapsed_time_deciseconds, speed) - + SEND_SIGNAL(src, COMSIG_PROJECTILE_BEFORE_MOVE) for(var/i in 1 to required_moves) pixel_move(pixel_speed_multiplier, FALSE) @@ -793,21 +767,19 @@ process_hit(get_turf(direct_target), direct_target) if(QDELETED(src)) return + var/turf/starting = get_turf(src) if(isnum(angle)) set_angle(angle) - if(spread) - set_angle(Angle + ((rand() - 0.5) * spread)) - var/turf/starting = get_turf(src) - if(isnull(Angle)) //Try to resolve through offsets if there's no angle set. + else if(isnull(Angle)) //Try to resolve through offsets if there's no angle set. if(isnull(xo) || isnull(yo)) stack_trace("WARNING: Projectile [type] deleted due to being unable to resolve a target after angle was null!") qdel(src) return var/turf/target = locate(clamp(starting + xo, 1, world.maxx), clamp(starting + yo, 1, world.maxy), starting.z) set_angle(get_angle(src, target)) + if(spread) + set_angle(Angle + (rand() - 0.5) * spread) original_angle = Angle - if(!nondirectional_sprite) - transform = transform.Turn(Angle) trajectory_ignore_forcemove = TRUE forceMove(starting) trajectory_ignore_forcemove = FALSE @@ -816,7 +788,6 @@ fired = TRUE play_fov_effect(starting, 6, "gunfire", dir = NORTH, angle = Angle) SEND_SIGNAL(src, COMSIG_PROJECTILE_FIRE) - RegisterSignal(src, COMSIG_ATOM_ATTACK_HAND, PROC_REF(attempt_parry)) if(hitscan) process_hitscan() if(QDELETED(src)) @@ -936,21 +907,25 @@ trajectory.increment(-trajectory_multiplier) qdel(src) return - if(T.z != loc.z) - var/old = loc - before_z_change(loc, T) - trajectory_ignore_forcemove = TRUE - forceMove(T) - trajectory_ignore_forcemove = FALSE - after_z_change(old, loc) - if(!hitscanning) - pixel_x = trajectory.return_px() - pixel_y = trajectory.return_py() - forcemoved = TRUE - hitscan_last = loc - else if(T != loc) + if (T == loc) + continue + if (T.z == loc.z) step_towards(src, T) hitscan_last = loc + SEND_SIGNAL(src, COMSIG_PROJECTILE_PIXEL_STEP) + continue + var/old = loc + before_z_change(loc, T) + trajectory_ignore_forcemove = TRUE + forceMove(T) + trajectory_ignore_forcemove = FALSE + after_z_change(old, loc) + if(!hitscanning) + pixel_x = trajectory.return_px() + pixel_y = trajectory.return_py() + forcemoved = TRUE + hitscan_last = loc + SEND_SIGNAL(src, COMSIG_PROJECTILE_PIXEL_STEP) if(QDELETED(src)) //deleted on last move return if(!hitscanning && !forcemoved) @@ -1010,11 +985,15 @@ trajectory_ignore_forcemove = FALSE starting = source_loc - pixel_x = source.pixel_x - pixel_y = source.pixel_y + // Find the last atom movable in our loc chain, or if we're a turf use us + var/atom/source_position = get_highest_loc(source, /atom/movable) || source + pixel_x = source_position.pixel_x + pixel_y = source_position.pixel_y + pixel_w = source_position.pixel_w + pixel_z = source_position.pixel_z original = target if(length(modifiers)) - var/list/calculated = calculate_projectile_angle_and_pixel_offsets(source, target_loc && target, modifiers) + var/list/calculated = calculate_projectile_angle_and_pixel_offsets(source_position, target_loc && target, modifiers) p_x = calculated[2] p_y = calculated[3] @@ -1049,8 +1028,7 @@ var/turf/source_loc = get_turf(source) var/turf/target_loc = get_turf(target) var/dx = ((target_loc.x - source_loc.x) * world.icon_size) + (target.pixel_x - source.pixel_x) + (p_x - (world.icon_size / 2)) - var/dy = ((target_loc.y - source_loc.y) * world.icon_size) + (target.pixel_y - source.pixel_y) + (p_y - (world.icon_size / 2)) - + var/dy = ((target_loc.y - source_loc.y) * world.icon_size) + (target.pixel_y - source.pixel_y) + (target.pixel_z - source.pixel_z) + (p_y - (world.icon_size / 2)) angle = ATAN2(dy, dx) return list(angle, p_x, p_y) @@ -1069,13 +1047,15 @@ var/list/screen_loc_Y = splittext(screen_loc_params[2],":") var/tx = (text2num(screen_loc_X[1]) - 1) * world.icon_size + text2num(screen_loc_X[2]) - var/ty = (text2num(screen_loc_Y[1]) - 1) * world.icon_size + text2num(screen_loc_Y[2]) + // We are here trying to lower our target location by the firing source's visual offset + // So visually things make a nice straight line while properly accounting for actual physical position + var/ty = (text2num(screen_loc_Y[1]) - 1) * world.icon_size + text2num(screen_loc_Y[2]) - source.pixel_z //Calculate the "resolution" of screen based on client's view and world's icon size. This will work if the user can view more tiles than average. var/list/screenview = view_to_pixels(user.client.view) var/ox = round(screenview[1] / 2) - user.client.pixel_x //"origin" x - var/oy = round(screenview[2] / 2) - user.client.pixel_y //"origin" y + var/oy = round(screenview[2] / 2) - user.client.pixel_y - source.pixel_z //"origin" y angle = ATAN2(tx - oy, ty - ox) return list(angle, p_x, p_y) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index a8946379f8c52..542c2aaa35d92 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -38,6 +38,15 @@ impact_effect_type = /obj/effect/temp_visual/impact_effect/yellow_laser damage = 0 +/obj/projectile/beam/laser/carbine/cybersun + name = "red plasma beam" + icon_state = "lava" + light_color = COLOR_DARK_RED + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser + damage = 9 + wound_bonus = -40 + speed = 1.1 + //overclocked laser, does a bit more damage but has much higher wound power (-0 vs -20) /obj/projectile/beam/laser/hellfire name = "hellfire laser" diff --git a/code/modules/projectiles/projectile/bullets/junk.dm b/code/modules/projectiles/projectile/bullets/junk.dm index 285c3ea281509..1c6ea89962e14 100644 --- a/code/modules/projectiles/projectile/bullets/junk.dm +++ b/code/modules/projectiles/projectile/bullets/junk.dm @@ -5,9 +5,28 @@ icon_state = "trashball" damage = 30 embed_type = /datum/embed_data/bullet_junk - var/bane_mob_biotypes = MOB_ROBOTIC - var/bane_multiplier = 1.5 - var/bane_added_damage = 0 + /// What biotype does our junk projectile especially harm? + var/extra_damage_mob_biotypes = MOB_ROBOTIC + /// How much do we multiply our total base damage? + var/extra_damage_multiplier = 1.5 + /// How much extra damage do we do on top of this total damage? Separate from the multiplier and unaffected by it. + var/extra_damage_added_damage = 0 + /// What damage type is our extra damage? + var/extra_damage_type = BRUTE + +/obj/projectile/bullet/junk/on_hit(atom/target, blocked = 0, pierce_hit) + . = ..() + + if(!isliving(target)) + return + var/mob/living/living_target = target + + var/is_correct_biotype = living_target.mob_biotypes & extra_damage_mob_biotypes + if(extra_damage_mob_biotypes && is_correct_biotype) + var/multiplied_damage = extra_damage_multiplier ? ((damage * extra_damage_multiplier) - damage) : 0 + var/finalized_damage = multiplied_damage + extra_damage_added_damage + if(finalized_damage) + living_target.apply_damage(finalized_damage, damagetype = extra_damage_type, def_zone = BODY_ZONE_CHEST, wound_bonus = wound_bonus) /datum/embed_data/bullet_junk embed_chance=15 @@ -19,10 +38,6 @@ jostle_pain_mult=6 rip_time=10 -/obj/projectile/bullet/junk/Initialize(mapload) - . = ..() - AddElement(/datum/element/bane, mob_biotypes = bane_mob_biotypes, target_type = /mob/living, damage_multiplier = bane_multiplier, added_damage = bane_added_damage, requires_combat_mode = FALSE) - /obj/projectile/bullet/incendiary/fire/junk name = "burning oil" damage = 30 @@ -40,7 +55,8 @@ damage = 15 embed_type = null shrapnel_type = null - bane_multiplier = 3 + extra_damage_added_damage = 30 + extra_damage_type = BURN /obj/projectile/bullet/junk/shock/on_hit(atom/target, blocked = 0, pierce_hit) . = ..() @@ -51,9 +67,9 @@ /obj/projectile/bullet/junk/hunter name = "junk hunter bullet" icon_state = "gauss" - bane_mob_biotypes = MOB_ROBOTIC | MOB_BEAST | MOB_SPECIAL - bane_multiplier = 0 - bane_added_damage = 50 + extra_damage_mob_biotypes = MOB_ROBOTIC | MOB_BEAST | MOB_SPECIAL + extra_damage_multiplier = 0 + extra_damage_added_damage = 50 /obj/projectile/bullet/junk/ripper name = "junk ripper bullet" diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index 6bd355219f950..63e491e2f290d 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -71,3 +71,25 @@ impact_light_intensity = 5 impact_light_range = 1 impact_light_color_override = LIGHT_COLOR_DIM_YELLOW + +// .160 Smart + +/obj/projectile/bullet/c160smart + name = ".160 smart bullet" + icon_state = "smartgun" + damage = 10 + embed_type = /datum/embed_data/bullet_c160smart + speed = 2 + homing_turn_speed = 5 + homing_inaccuracy_min = 4 + homing_inaccuracy_max = 10 + +/datum/embed_data/bullet_c160smart + embed_chance = 10 + fall_chance = 5 + jostle_chance = 3 + ignore_throwspeed_threshold = TRUE + pain_stam_pct = 0.25 + pain_mult = 3 + jostle_pain_mult = 6 + rip_time = 5 diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index a013aaba691d7..7ae5741f3b992 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -108,6 +108,19 @@ stamina = 6 embed_type = null +/obj/projectile/bullet/pellet/flechette + name = "flechette" + icon_state = "flechette" + damage = 6 + wound_bonus = -25 + bare_wound_bonus = 50 + wound_falloff_tile = -10 + speed = 0.8 + ricochet_decay_chance = 0.6 + ricochet_decay_damage = 0.3 + demolition_mod = 10 + weak_against_armour = TRUE + // Mech Scattershot /obj/projectile/bullet/scattershot diff --git a/code/modules/projectiles/projectile/energy/photon.dm b/code/modules/projectiles/projectile/energy/photon.dm index 7caac3e062e01..62b5770fb441e 100644 --- a/code/modules/projectiles/projectile/energy/photon.dm +++ b/code/modules/projectiles/projectile/energy/photon.dm @@ -37,7 +37,7 @@ do_sparks(rand(1, 4), FALSE, src) /** - * When traveling to a new turf, throws a probability to generate a hotspot across it's path. + * When traveling to a new turf, throws a probability to generate a hotspot across its path. */ /obj/projectile/energy/photon/proc/scorch_earth(turf/open/floor/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) SIGNAL_HANDLER diff --git a/code/modules/projectiles/projectile/energy/stun.dm b/code/modules/projectiles/projectile/energy/stun.dm index 66ea4d2c86593..b393dc3415fe5 100644 --- a/code/modules/projectiles/projectile/energy/stun.dm +++ b/code/modules/projectiles/projectile/energy/stun.dm @@ -19,7 +19,7 @@ var/mob/living/carbon/C = target C.add_mood_event("tased", /datum/mood_event/tased) SEND_SIGNAL(C, COMSIG_LIVING_MINOR_SHOCK) - if(C.dna && C.dna.check_mutation(/datum/mutation/human/hulk)) + if(HAS_TRAIT(C, TRAIT_HULK)) C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") else if(!C.check_stun_immunity(CANKNOCKDOWN)) addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), 20), 0.5 SECONDS) diff --git a/code/modules/reagents/chemistry/chem_wiki_render.dm b/code/modules/reagents/chemistry/chem_wiki_render.dm index 99116adc84b08..2bb6bd7175bdc 100644 --- a/code/modules/reagents/chemistry/chem_wiki_render.dm +++ b/code/modules/reagents/chemistry/chem_wiki_render.dm @@ -9,7 +9,7 @@ ADMIN_VERB(generate_wikichem_list, R_DEBUG, "Parse Wikichems", "Parse and genera |- "} - var/input_text = tgui_input_text(user, "Input a name of a reagent, or a series of reagents split with a comma (no spaces) to get it's wiki table entry", "Recipe") //95% of the time, the reagent type is a lowercase, no spaces / underscored version of the name + var/input_text = tgui_input_text(user, "Input a name of a reagent, or a series of reagents split with a comma (no spaces) to get its wiki table entry", "Recipe") //95% of the time, the reagent type is a lowercase, no spaces / underscored version of the name if(!input_text) to_chat(user, "Input was blank!") return diff --git a/code/modules/reagents/chemistry/equilibrium.dm b/code/modules/reagents/chemistry/equilibrium.dm index 4ab88b3caa674..435f4159ccbed 100644 --- a/code/modules/reagents/chemistry/equilibrium.dm +++ b/code/modules/reagents/chemistry/equilibrium.dm @@ -87,10 +87,10 @@ PRIVATE_PROC(TRUE) if(QDELETED(holder)) - stack_trace("an equilibrium is missing it's holder.") + stack_trace("an equilibrium is missing its holder.") return FALSE if(QDELETED(reaction)) - stack_trace("an equilibrium is missing it's reaction.") + stack_trace("an equilibrium is missing its reaction.") return FALSE if(!length(reaction.required_reagents)) stack_trace("an equilibrium is missing required reagents.") diff --git a/code/modules/reagents/chemistry/fermi_readme.md b/code/modules/reagents/chemistry/fermi_readme.md index ebb930e486fca..0fc2ed76da1a9 100644 --- a/code/modules/reagents/chemistry/fermi_readme.md +++ b/code/modules/reagents/chemistry/fermi_readme.md @@ -82,11 +82,11 @@ Reaction rates are determined by the current temperature of the reagents holder. The amount added is based off the recipies’ required_temp, optimal_temp, overheat_temp and temp_exponent_factor. See below: ![image](https://user-images.githubusercontent.com/33956696/104081088-5e571e00-5224-11eb-8834-87aa36b3e45f.png) -the y axis is the normalised value of growth, which is then muliplied by the rate_up_lim. You can see that temperatures below the required_temp produce no result (the reaction doesn't start, or if it is reacting, the reaction will stop). Between the required and optimal is a region that is defined by the temp_exponent_factor, so in this case the value is ^2, so we see exponential growth. Between the optimal_temp and the overheat_temp is the optimal phase - where the rate factor is 1. After that it continues to react, but will call overheated() per timestep. Presently the default for overheated() is to reduce the yield of the product (i.e. it's faster but you get less). The rate_up_lim is the maximum rate the reaction can go at optimal temperatures, so in this case a rate factor of 1 i.e. a temperature between 500+ will produce 10u, or a temperature of 400 will roughly produce 4u per step (independant of product ratio produced, if you put 10, it will only create 10 maximum regardless of how much product is defined in the results list). +the y axis is the normalised value of growth, which is then muliplied by the rate_up_lim. You can see that temperatures below the required_temp produce no result (the reaction doesn't start, or if it is reacting, the reaction will stop). Between the required and optimal is a region that is defined by the temp_exponent_factor, so in this case the value is ^2, so we see exponential growth. Between the optimal_temp and the overheat_temp is the optimal phase - where the rate factor is 1. After that it continues to react, but will call overheated() per timestep. Presently the default for overheated() is to reduce the yield of the product (i.e. it's faster but you get less). The rate_up_lim is the maximum rate the reaction can go at optimal temperatures, so in this case a rate factor of 1 i.e. a temperature between 500+ will produce 10u, or a temperature of 400 will roughly produce 4u per step (independant of product ratio produced, if you put 10, it will only create 10 maximum regardless of how much product is defined in the results list). ### How pH ranges are set and what pH mechanics do -Optimal pH ranges are set on a per recipe basis - though at the moment all recipes use a default recipe, so they all have the same window (except for the buffers). Hopefully either as a community effort/or in future PRs we can create unique profiles for the present reactions in the game. +Optimal pH ranges are set on a per recipe basis - though at the moment all recipes use a default recipe, so they all have the same window (except for the buffers). Hopefully either as a community effort/or in future PRs we can create unique profiles for the present reactions in the game. As for how you define the reaction variables for a reaction, there are a few new variables for the chemical_recipe datum. I'll go over specifically how pH works for the default reaction. ```dm @@ -106,7 +106,7 @@ The y axis is the purity of the product made for that time step. This is recalcu If you're designing a reaction you can define an optimal range between the OptimalpHMin to OptimalpHMax (5 - 7 in this case) and a deterministic region set by the ReactpHLim (5 - 4, 9 + 4 aka between 1 to 5 and 9 to 13). This deterministic region is exponential, so if you set it to 2 then it’ll exponentially grow, but since our CurveSharpph = 1, it’s linear (basically normalise the range in the determinsitic region, then put that to the power of CurveSharppH). Finally values outside of these ranges will prevent reactions from starting, but if a reaction drifts out during a reaction, the purity of volume created for each step will be 0 (It does not stop ongoing reactions). It’s entirely possible to design a reaction without a deterministic or optimal phase if you wanted. -Though to note; if your purity dips below the PurityMin of a reaction it’ll call the overly_impure() function – which by default reduces the purity of all reagents in the beaker. Additionally, if the purity at the end of a reaction is below the PurityMin, it’ll convert into the failed chem defined by the product’s failed_chem defined in it's reagent datum. For default the PurityMin is 0.15, and is pretty difficult to fail. This is all customisable however, if you wanted to use these hooks to design a even more unique reaction, just don’t call the parent proc when using methods. +Though to note; if your purity dips below the PurityMin of a reaction it’ll call the overly_impure() function – which by default reduces the purity of all reagents in the beaker. Additionally, if the purity at the end of a reaction is below the PurityMin, it’ll convert into the failed chem defined by the product’s failed_chem defined in its reagent datum. For default the PurityMin is 0.15, and is pretty difficult to fail. This is all customisable however, if you wanted to use these hooks to design a even more unique reaction, just don’t call the parent proc when using methods. ### Conditional changes in reagents datum per timestep @@ -118,7 +118,7 @@ Though to note; if your purity dips below the PurityMin of a reaction it’ll ca var/H_ion_release = 0.01 // pH change per 1u reaction ``` -The thermic_constant is how much the temperature changes per u created, so for 10u created the temperature will increase by 10K. The H_ion_release is how much the pH changes per u created, for 10u created the pH will increase by 0.1. During a reaction this is the only factor in pH changes - presently the addition/removal of reagents tie to the reaction won't affect this, though other reactions ongoing in the beaker will also affect pH, as well as the removal/addition of reagents outside of the reaction. +The thermic_constant is how much the temperature changes per u created, so for 10u created the temperature will increase by 10K. The H_ion_release is how much the pH changes per u created, for 10u created the pH will increase by 0.1. During a reaction this is the only factor in pH changes - presently the addition/removal of reagents tie to the reaction won't affect this, though other reactions ongoing in the beaker will also affect pH, as well as the removal/addition of reagents outside of the reaction. ### Reaction flags @@ -127,11 +127,11 @@ Reaction_flags can be used to set these defines: ```dm #define REACTION_CLEAR_IMPURE //Convert into impure/pure on reaction completion in the datum/reagents holder instead of on consumption #define REACTION_CLEAR_INVERSE //Convert into inverse on reaction completion when purity is low enough in the datum/reagents holder instead of on consumption -#define REACTION_CLEAR_RETAIN //Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. This is so that it can split again after splitting from a reaction (i.e. if your impure_chem or inverse_chem has it's own impure_chem/inverse_chem and you want it to split again on consumption). +#define REACTION_CLEAR_RETAIN //Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. This is so that it can split again after splitting from a reaction (i.e. if your impure_chem or inverse_chem has its own impure_chem/inverse_chem and you want it to split again on consumption). #define REACTION_INSTANT //Used to create instant reactions /datum/chemical_reaction - var/reaction_flags + var/reaction_flags ``` For REACTION_CLEAR – this causes the purity mechanics to resolve in the beaker at the end of the reaction, instead of when added to a mob. @@ -145,7 +145,7 @@ Eg: ... var/required_temp = 300 var/optimal_temp = 200 - var/overheat_temp = 50 + var/overheat_temp = 50 ``` # Reagents @@ -156,45 +156,45 @@ The new vars that are introduced are below: var/ph = 7 ///Purity of the reagent var/purity = 1 - ///the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that) - var/creation_purity = 1 + ///the purity of the reagent on creation (i.e. when it's added to a mob and its purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that) + var/creation_purity = 1 //impure chem values (see fermi_readme.dm for more details): var/impure_chem = /datum/reagent/impurity // What chemical path is made when metabolised as a function of purity var/inverse_chem_val = 0.2 // If the impurity is below 0.5, replace ALL of the chem with inverse_chem upon metabolising var/inverse_chem = /datum/reagent/impurity/toxic // What chem is metabolised when purity is below inverse_chem_val var/failed_chem = /datum/reagent/consumable/failed_reaction //what chem is made at the end of a reaction IF the purity is below the recipies purity_min - var/chemical_flags + var/chemical_flags ``` - `pH` is the innate pH of the reagent and is used to calculate the pH of a reagents datum on addition/removal. This does not change and is a reference value. The reagents datum pH changes. - `purity` is the INTERNAL value for splitting. This is set to 1 after splitting so that it doesn't infinite split - `creation_purity` is the purity of the reagent on creation. This won't change. If you want to write code that checks the purity in any of the methods, use this. -- `impure_chem` is the datum type that is created provided that it's `creation_purity` is above the `inverse_chem_val`. When the reagent is consumed it will split into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_IMPURE flag it will split at the end of the reaction in the `datum/reagents` holder +- `impure_chem` is the datum type that is created provided that its `creation_purity` is above the `inverse_chem_val`. When the reagent is consumed it will split into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_IMPURE flag it will split at the end of the reaction in the `datum/reagents` holder - `inverse_chem_val` if a reagent's purity is below this value it will 100% convert into `inverse_chem`. If above it will split into `impure_chem`. See the note on purity effects above -- `inverse_chem` is the datum type that is created provided that it's `creation_purity` is below the `inverse_chem_val`. When the reagent is consumed it will 100% convert into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_INVERSE flag it will 100% convert at the end of the reaction in the `datum/reagents` holder -- `failed_chem` is the chem that the product is 100% converted into if the purity is below the associated `datum/chemical_recipies`' `PurityMin` AT THE END OF A REACTION. +- `inverse_chem` is the datum type that is created provided that its `creation_purity` is below the `inverse_chem_val`. When the reagent is consumed it will 100% convert into this OR if the associated `datum/chemical_recipe` has a REACTION_CLEAR_INVERSE flag it will 100% convert at the end of the reaction in the `datum/reagents` holder +- `failed_chem` is the chem that the product is 100% converted into if the purity is below the associated `datum/chemical_recipies`' `PurityMin` AT THE END OF A REACTION. When writing any reagent code ALWAYS use creation_purity. Purity is kept for internal mechanics only and won’t reflect the purity on creation. See above for purity mechanics, but this is where you set the reagents that are created. If you’re making an impure reagent I recommend looking at impure_reagents.dm to see how they’re set up and consider using the `datum/reagents/impure` as a parent. The flags you can set for `var/chemical_flags` are: -```dm +```dm #define REAGENT_DEAD_PROCESS (1<<0) //allows on_mob_dead() if present in a dead body #define REAGENT_DONOTSPLIT (1<<1) //Do not split the chem at all during processing - ignores all purity effects #define REAGENT_INVISIBLE (1<<2) //Doesn't appear on handheld health analyzers. #define REAGENT_SNEAKYNAME (1<<3) //When inverted, the inverted chem uses the name of the original chem -#define REAGENT_SPLITRETAINVOL (1<<4) //Retains initial volume of chem when splitting for purity effects +#define REAGENT_SPLITRETAINVOL (1<<4) //Retains initial volume of chem when splitting for purity effects /datum/reagent - var/chemical_flags + var/chemical_flags ``` While you might think reagent_flags is a more sensible name - it is already used for beakers. Hopefully this doesn't trip anyone up. # Relivant vars from the holder.dm / reagents datum -There are a few variables that are useful to know about +There are a few variables that are useful to know about ```dm /datum/reagents /// Current temp of the holder volume @@ -209,4 +209,4 @@ There are a few variables that are useful to know about - chem_temp is the temperature used in the `datum/chemical_recipe` - pH is a result of the sum of all reagents, as well as any changes from buffers and reactions. This is the pH used in `datum/chemical_recipe`. - isReacting is a bool that can be used outside to ensure that you don't touch a reagents that is reacting. -- previous_reagent_list is a list of the previous reagents (just the typepaths, not the objects) that was present on the last handle_reactions() method. This is to prevent pointless method calls. \ No newline at end of file +- previous_reagent_list is a list of the previous reagents (just the typepaths, not the objects) that was present on the last handle_reactions() method. This is to prevent pointless method calls. diff --git a/code/modules/reagents/chemistry/holder/holder.dm b/code/modules/reagents/chemistry/holder/holder.dm index 46d00e765a343..11117142d70e5 100644 --- a/code/modules/reagents/chemistry/holder/holder.dm +++ b/code/modules/reagents/chemistry/holder/holder.dm @@ -249,7 +249,7 @@ cached_reagent.volume -= remove_amount //record the changes - removed_reagents += cached_reagent + removed_reagents[cached_reagent] = remove_amount total_removed_amount += remove_amount //if we reached here means we have found our specific reagent type so break @@ -257,8 +257,8 @@ break //inform others about our reagents being removed - for(var/datum/reagent/removed_reagent as anything in cached_reagents) - SEND_SIGNAL(src, COMSIG_REAGENTS_REM_REAGENT, removed_reagent, amount) + for(var/datum/reagent/removed_reagent as anything in removed_reagents) + SEND_SIGNAL(src, COMSIG_REAGENTS_REM_REAGENT, removed_reagent, removed_reagents[removed_reagent]) //update the holder & handle reactions update_total() @@ -476,6 +476,8 @@ if(preserve_data) trans_data = copy_data(reagent) if(reagent.intercept_reagents_transfer(target_holder, amount)) + update_total() + target_holder.update_total() continue transfered_amount = target_holder.add_reagent(reagent.type, transfer_amount * multiplier, trans_data, chem_temp, reagent.purity, reagent.ph, no_react = TRUE, ignore_splitting = reagent.chemical_flags & REAGENT_DONOTSPLIT) //we only handle reaction after every reagent has been transferred. if(!transfered_amount) @@ -607,7 +609,7 @@ . = 0 //responsible for removing reagents and computing total ph & volume - //all it's code was taken out of del_reagent() initially for efficiency purposes + //all its code was taken out of del_reagent() initially for efficiency purposes while(chem_index <= num_reagents) var/datum/reagent/reagent = cached_reagents[chem_index] chem_index += 1 diff --git a/code/modules/reagents/chemistry/holder/ui_data.dm b/code/modules/reagents/chemistry/holder/ui_data.dm index 97820c2fd6c0e..244b264721fd2 100644 --- a/code/modules/reagents/chemistry/holder/ui_data.dm +++ b/code/modules/reagents/chemistry/holder/ui_data.dm @@ -297,7 +297,7 @@ var/datum/chemical_reaction/reaction = sub_reactions[ui_reaction_index] return reaction.type -/datum/reagents/ui_act(action, params) +/datum/reagents/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/reagents/chemistry/items.dm b/code/modules/reagents/chemistry/items.dm index ad7f0413ce561..0344971497b01 100644 --- a/code/modules/reagents/chemistry/items.dm +++ b/code/modules/reagents/chemistry/items.dm @@ -109,7 +109,7 @@ to_chat(user, span_notice("You switch the chemical analyzer to provide a detailed description of each reagent.")) scanmode = DETAILED_CHEM_OUTPUT else - to_chat(user, span_notice("You switch the chemical analyzer to not include reagent descriptions in it's report.")) + to_chat(user, span_notice("You switch the chemical analyzer to not include reagent descriptions in its report.")) scanmode = SHORTENED_CHEM_OUTPUT /obj/item/ph_meter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 22e569af66021..5f6ae4ec9dd4f 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -1,4 +1,5 @@ /obj/machinery/chem_dispenser + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "chem dispenser" desc = "Creates and dispenses chemicals." density = TRUE @@ -211,8 +212,8 @@ .["amount"] = amount .["energy"] = cell.charge ? cell.charge : 0 //To prevent NaN in the UI. .["maxEnergy"] = cell.maxcharge - .["displayedEnergy"] = display_energy(cell.charge) - .["displayedMaxEnergy"] = display_energy(cell.maxcharge) + .["displayedUnits"] = cell.charge ? (cell.charge / power_cost) : 0 + .["displayedMaxUnits"] = cell.maxcharge / power_cost .["showpH"] = isnull(recording_recipe) ? show_ph : FALSE //virtual beakers have no ph to compute & display var/list/chemicals = list() @@ -572,6 +573,7 @@ /obj/machinery/chem_dispenser/drinks/fullupgrade //fully ugpraded stock parts, emagged desc = "Contains a large reservoir of soft drinks. This model has had its safeties shorted out." obj_flags = CAN_BE_HIT | EMAGGED + circuit = /obj/item/circuitboard/machine/chem_dispenser/drinks/fullupgrade /obj/machinery/chem_dispenser/drinks/fullupgrade/Initialize(mapload) . = ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index dd4e0dff62624..211c7daaab00a 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -1,4 +1,5 @@ /obj/machinery/chem_heater + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "reaction chamber" //Maybe this name is more accurate? density = TRUE pass_flags_self = PASSMACHINE | LETPASSTHROW diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm index e43d32c661bd9..0cc651a359010 100644 --- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm +++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm @@ -1,4 +1,5 @@ /obj/machinery/chem_mass_spec + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "High-performance liquid chromatography machine" desc = "Allows you to purify reagents & seperate out inverse reagents" icon = 'icons/obj/medical/chemical.dmi' diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 3839a6bc77bb2..f4446379c0d41 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -1,6 +1,7 @@ #define MAX_CONTAINER_PRINT_AMOUNT 50 /obj/machinery/chem_master + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "ChemMaster 3000" desc = "Used to separate chemicals and distribute them in a variety of forms." icon = 'icons/obj/medical/chemical.dmi' @@ -247,11 +248,6 @@ /obj/machinery/chem_master/attack_ai_secondary(mob/user, list/modifiers) return attack_hand_secondary(user, modifiers) -/obj/machinery/chem_master/ui_assets(mob/user) - return list( - get_asset_datum(/datum/asset/spritesheet/chemmaster) - ) - /obj/machinery/chem_master/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -273,9 +269,10 @@ //add containers to this category for(var/obj/item/reagent_containers/container as anything in printable_containers[category]) category_list["containers"] += list(list( - "icon" = sanitize_css_class_name("[container]"), "ref" = REF(container), "name" = initial(container.name), + "icon" = initial(container.icon), + "icon_state" = initial(container.icon_state), "volume" = initial(container.volume), )) @@ -365,32 +362,18 @@ * Transfers a single reagent between buffer & beaker * Arguments * - * * mob/user - the player who is attempting the transfer * * datum/reagents/source - the holder we are transferring from * * datum/reagents/target - the holder we are transferring to * * datum/reagent/path - the reagent typepath we are transfering - * * amount - volume to transfer -1 means custom amount + * * amount - volume to transfer * * do_transfer - transfer the reagents else destroy them */ -/obj/machinery/chem_master/proc/transfer_reagent(mob/user, datum/reagents/source, datum/reagents/target, datum/reagent/path, amount, do_transfer) +/obj/machinery/chem_master/proc/transfer_reagent(datum/reagents/source, datum/reagents/target, datum/reagent/path, amount, do_transfer) PRIVATE_PROC(TRUE) //sanity checks for transfer amount - if(isnull(amount)) - return FALSE - amount = text2num(amount) - if(isnull(amount)) - return FALSE - if(amount == -1) - var/target_amount = tgui_input_number(user, "Enter amount to transfer", "Transfer amount") - if(!target_amount) - return FALSE - amount = text2num(target_amount) - if(isnull(amount)) - return FALSE - if(amount <= 0) + if(isnull(amount) || amount <= 0) return FALSE - //sanity checks for reagent path var/datum/reagent/reagent = text2path(path) if (!reagent) @@ -425,18 +408,34 @@ if("transfer") if(is_printing) - say("buffer locked while printing!") + say("The buffer is locked while printing.") return var/reagent_ref = params["reagentRef"] var/amount = params["amount"] var/target = params["target"] + if(amount == -1) // Set custom amount + var/mob/user = ui.user //Hold a reference of the user if the UI is closed + amount = tgui_input_number(user, "Enter amount to transfer", "Transfer amount") + if(!amount || !user.can_perform_action(src)) + return FALSE + + var/should_transfer = is_transfering || (target == "buffer") // we should always transfer if target is the buffer + if(should_transfer && isnull(beaker)) // if there's no beaker, we cannot transfer + say("No reagent container is inserted.") + return FALSE + + var/reagents_from + var/reagents_to = null if(target == "buffer") - return transfer_reagent(ui.user, beaker.reagents, reagents, reagent_ref, amount, TRUE) + reagents_from = beaker.reagents + reagents_to = reagents // buffer else if(target == "beaker") - return transfer_reagent(ui.user, reagents, beaker.reagents, reagent_ref, amount, is_transfering) - return FALSE + reagents_from = reagents // buffer + if(should_transfer) + reagents_to = beaker.reagents + return transfer_reagent(reagents_from, reagents_to, reagent_ref, amount, should_transfer) if("toggleTransferMode") is_transfering = !is_transfering diff --git a/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm b/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm index 9d81188fb405e..9b0773a8316b5 100644 --- a/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm +++ b/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm @@ -203,7 +203,7 @@ ui.send_update() /** - * Decodes the ui reaction var into it's original name + * Decodes the ui reaction var into its original name * Arguments * * * variable - the name of the variable as seen in the UI diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index dca2b603ca40f..c9ad2424b2de7 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -153,7 +153,7 @@ data["resistances"] = get_resistance_data(blood) return data -/obj/machinery/computer/pandemic/ui_act(action, params) +/obj/machinery/computer/pandemic/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/reagents/chemistry/machinery/portable_chem_mixer.dm b/code/modules/reagents/chemistry/machinery/portable_chem_mixer.dm index 016e55012c570..21f23a209b6b7 100644 --- a/code/modules/reagents/chemistry/machinery/portable_chem_mixer.dm +++ b/code/modules/reagents/chemistry/machinery/portable_chem_mixer.dm @@ -1,5 +1,5 @@ /obj/item/storage/portable_chem_mixer - name = "Portable Chemical Mixer" + name = "portable chemical mixer" desc = "A portable device that dispenses and mixes chemicals using the beakers inserted inside." icon = 'icons/obj/medical/chemical.dmi' icon_state = "portablechemicalmixer_open" @@ -11,6 +11,7 @@ custom_premium_price = PAYCHECK_CREW * 14 interaction_flags_click = FORBID_TELEKINESIS_REACH interaction_flags_mouse_drop = FORBID_TELEKINESIS_REACH + storage_type = /datum/storage/portable_chem_mixer ///Creating an empty slot for a beaker that can be added to dispense into var/obj/item/reagent_containers/beaker @@ -21,15 +22,7 @@ /obj/item/storage/portable_chem_mixer/Initialize(mapload) . = ..() - atom_storage.max_total_storage = 200 - atom_storage.max_slots = 50 - atom_storage.set_holdable(list( - /obj/item/reagent_containers/cup/beaker, - /obj/item/reagent_containers/cup/bottle, - /obj/item/reagent_containers/cup/tube, - /obj/item/reagent_containers/cup/glass/waterbottle, - /obj/item/reagent_containers/condiment, - )) + register_context() /obj/item/storage/portable_chem_mixer/Destroy() @@ -107,18 +100,18 @@ /obj/item/storage/portable_chem_mixer/ex_act(severity, target) return severity > EXPLODE_LIGHT ? ..() : FALSE -/obj/item/storage/portable_chem_mixer/item_interaction(mob/living/user, obj/item/weapon, list/modifiers) +/obj/item/storage/portable_chem_mixer/storage_insert_on_interacted_with(datum/storage, obj/item/weapon, mob/living/user) if (!atom_storage.locked || \ (weapon.item_flags & ABSTRACT) || \ (weapon.flags_1 & HOLOGRAM_1) || \ !is_reagent_container(weapon) || \ !weapon.is_open_container() \ ) - return NONE + return TRUE //continue with regular insertion replace_beaker(user, weapon) update_appearance() - return ITEM_INTERACT_SUCCESS + return FALSE //block insertion cause we handled it ourselves /** * Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently @@ -139,10 +132,12 @@ return beaker = new_beaker -/obj/item/storage/portable_chem_mixer/ui_interact(mob/user, datum/tgui/ui) +/obj/item/storage/portable_chem_mixer/ui_status(mob/user, datum/ui_state/state) if(loc != user) - balloon_alert(user, "hold it in your hand!") - return + return UI_CLOSE + return ..() + +/obj/item/storage/portable_chem_mixer/ui_interact(mob/user, datum/tgui/ui) if(!atom_storage.locked) balloon_alert(user, "lock it first!") return @@ -267,7 +262,7 @@ SStgui.close_uis(src) else atom_storage.locked = STORAGE_FULLY_LOCKED - atom_storage.hide_contents(usr) + atom_storage.hide_contents(user) update_appearance() return CLICK_ACTION_SUCCESS diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index a4fa10cb88c63..3b0272240b0df 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -204,7 +204,11 @@ if(weapon.w_class + total_weight > maximum_weight) to_chat(user, span_warning("[weapon] is too big to fit into [src].")) continue - weapon.forceMove(src) + + //try to remove the right way + if(!user.transferItemToLoc(weapon, src)) + continue + total_weight += weapon.w_class items_transfered += 1 to_chat(user, span_notice("[weapon] was loaded into [src].")) @@ -212,8 +216,8 @@ return items_transfered /obj/machinery/reagentgrinder/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - if(user.combat_mode || (tool.item_flags & ABSTRACT) || (tool.flags_1 & HOLOGRAM_1) || !can_interact(user) || !user.can_perform_action(src, ALLOW_SILICON_REACH)) - return NONE + if(user.combat_mode || (tool.item_flags & ABSTRACT) || (tool.flags_1 & HOLOGRAM_1)) + return ITEM_INTERACT_SKIP_TO_ATTACK //add the beaker if (is_reagent_container(tool) && tool.is_open_container()) diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index 6f58fb9019307..03bb90753f3fc 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -2,6 +2,7 @@ #define REAGENTS_BASE_VOLUME 100 /obj/machinery/smoke_machine + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "smoke machine" desc = "A machine with a centrifuge installed into it. It produces smoke with any reagents you put into the machine." icon = 'icons/obj/medical/chemical.dmi' diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 576d62585f7a8..8edfb38abc397 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -24,7 +24,7 @@ var/ph = 7 ///Purity of the reagent - for use with internal reaction mechanics only. Use below (creation_purity) if you're writing purity effects into a reagent's use mechanics. var/purity = 1 - ///the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that) + ///the purity of the reagent on creation (i.e. when it's added to a mob and its purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that) var/creation_purity = 1 ///The molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary. var/mass @@ -270,7 +270,7 @@ Primarily used in reagents/reaction_agents return creation_purity / normalise_num_to /** - * Gets the inverse purity of this reagent. Mostly used when converting from a normal reagent to it's inverse one. + * Gets the inverse purity of this reagent. Mostly used when converting from a normal reagent to its inverse one. * * Arguments * * purity - Overrides the purity used for determining the inverse purity. diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 680cced458d91..dd463397b77bd 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -536,7 +536,7 @@ /* *How this medicine works: *Penthrite if you are not in crit only stabilizes your heart. -*As soon as you pass crit threshold it's special effects kick in. Penthrite forces your heart to beat preventing you from entering +*As soon as you pass crit threshold its special effects kick in. Penthrite forces your heart to beat preventing you from entering *soft and hard crit, but there is a catch. During this you will be healed and you will sustain *heart damage that will not imapct you as long as penthrite is in your system. *If you reach the threshold of -60 HP penthrite stops working and you get a heart attack, penthrite is flushed from your system in that very moment, diff --git a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm index e50775c2487e6..f32657ef09227 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm @@ -10,7 +10,7 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM creation_purity = 1 // impure base reagents are a big no-no ph = 7.33 - burning_temperature = 2193//ethanol burns at 1970C (at it's peak) + burning_temperature = 2193//ethanol burns at 1970C (at its peak) burning_volume = 0.1 default_container = /obj/item/reagent_containers/cup/glass/bottle/beer fallback_icon = 'icons/obj/drinks/bottles.dmi' @@ -345,6 +345,27 @@ ph = 6.5 default_container = /obj/item/reagent_containers/cup/glass/bottle/rum +/datum/reagent/consumable/ethanol/rum/aged + name = "Aged Rum" + description = "Sink me! That's some fancy rum to share with buckoos." + color = "#c0b675" // rgb: 192,183,117 + boozepwr = 70 + taste_description = "extra-spiked butterscotch" + default_container = /obj/item/reagent_containers/cup/glass/bottle/rum/aged + quality = DRINK_FANTASTIC + metabolized_traits = list(TRAIT_STRONG_STOMACH) + +/datum/reagent/consumable/ethanol/rum/aged/on_mob_metabolize(mob/living/drinker) + . = ..() + drinker.add_blocked_language(subtypesof(/datum/language) - /datum/language/piratespeak, LANGUAGE_DRINK) + drinker.grant_language(/datum/language/piratespeak, source = LANGUAGE_DRINK) + +/datum/reagent/consumable/ethanol/rum/aged/on_mob_end_metabolize(mob/living/drinker) + if(!QDELING(drinker)) + drinker.remove_blocked_language(subtypesof(/datum/language), LANGUAGE_DRINK) + drinker.remove_language(/datum/language/piratespeak, source = LANGUAGE_DRINK) + return ..() + /datum/reagent/consumable/ethanol/tequila name = "Tequila" description = "A strong and mildly flavoured, Mexican produced spirit. Feeling thirsty, hombre?" @@ -1755,28 +1776,32 @@ quality = DRINK_GOOD taste_description = "bitter, creamy cacao" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - var/obj/item/shield/mighty_shield + var/datum/weakref/mighty_shield /datum/reagent/consumable/ethanol/alexander/on_mob_metabolize(mob/living/drinker) . = ..() if(ishuman(drinker)) var/mob/living/carbon/human/the_human = drinker for(var/obj/item/shield/the_shield in the_human.contents) - mighty_shield = the_shield - mighty_shield.block_chance += 10 + mighty_shield = WEAKREF(the_shield) + the_shield.block_chance += 10 to_chat(the_human, span_notice("[the_shield] appears polished, although you don't recall polishing it.")) + break /datum/reagent/consumable/ethanol/alexander/on_mob_life(mob/living/drinker, seconds_per_tick, times_fired) - if(mighty_shield && !(mighty_shield in drinker.contents)) //If you had a shield and lose it, you lose the reagent as well. Otherwise this is just a normal drink. + var/obj/item/shield/the_shield = mighty_shield?.resolve() + if(the_shield && !(the_shield in drinker.contents)) //If you had a shield and lose it, you lose the reagent as well. Otherwise this is just a normal drink. holder.remove_reagent(type, volume) return return ..() /datum/reagent/consumable/ethanol/alexander/on_mob_end_metabolize(mob/living/drinker) . = ..() - if(mighty_shield) - mighty_shield.block_chance -= 10 - to_chat(drinker,span_notice("You notice [mighty_shield] looks worn again. Weird.")) + var/obj/item/shield/the_shield = mighty_shield?.resolve() + if(the_shield) + the_shield.block_chance -= 10 + to_chat(drinker,span_notice("You notice [the_shield] looks worn again. Weird.")) + mighty_shield = null /datum/reagent/consumable/ethanol/amaretto_alexander name = "Amaretto Alexander" diff --git a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm index d3070474558d7..47456020da05e 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm @@ -650,13 +650,13 @@ . = ..() affected_mob.adjust_drowsiness(3 SECONDS * REM * seconds_per_tick) var/need_mob_update - switch(affected_mob.mob_mood.sanity) - if (SANITY_INSANE to SANITY_CRAZY) - need_mob_update = affected_mob.adjustStaminaLoss(3 * REM * seconds_per_tick, updating_stamina = FALSE) - if (SANITY_UNSTABLE to SANITY_DISTURBED) - affected_mob.add_mood_event("wellcheers", /datum/mood_event/wellcheers) - if (SANITY_NEUTRAL to SANITY_GREAT) + switch(affected_mob.mob_mood.sanity_level) + if (SANITY_LEVEL_GREAT to SANITY_LEVEL_NEUTRAL) need_mob_update = affected_mob.adjustBruteLoss(-1.5 * REM * seconds_per_tick, updating_health = FALSE) + if (SANITY_LEVEL_DISTURBED to SANITY_LEVEL_UNSTABLE) + affected_mob.add_mood_event("wellcheers", /datum/mood_event/wellcheers) + if (SANITY_LEVEL_CRAZY to SANITY_LEVEL_INSANE) + need_mob_update = affected_mob.adjustStaminaLoss(3 * REM * seconds_per_tick, updating_stamina = FALSE) if(need_mob_update) return UPDATE_MOB_HEALTH diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index c6cee8e91c062..6ab58cd4c1ae3 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -736,7 +736,7 @@ if(invisible_man.has_status_effect(/datum/status_effect/grouped/stasis)) return - invisible_man.add_traits(list(TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS, TRAIT_NO_BLOOD_OVERLAY), type) + invisible_man.add_traits(list(TRAIT_SHADOWLESS, TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS, TRAIT_NO_BLOOD_OVERLAY), type) invisible_man.update_body() invisible_man.remove_from_all_data_huds() @@ -746,7 +746,7 @@ . = ..() if(HAS_TRAIT_FROM(invisible_man, TRAIT_INVISIBLE_MAN, type)) invisible_man.add_to_all_human_data_huds() //Is this safe, what do you think, Floyd? - invisible_man.remove_traits(list(TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS, TRAIT_NO_BLOOD_OVERLAY), type) + invisible_man.remove_traits(list(TRAIT_SHADOWLESS, TRAIT_INVISIBLE_MAN, TRAIT_HIDE_EXTERNAL_ORGANS, TRAIT_NO_BLOOD_OVERLAY), type) to_chat(invisible_man, span_notice("As you sober up, opacity once again returns to your body meats.")) diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm index 3ae946d4fab46..3a633e5c83679 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm @@ -227,7 +227,7 @@ Basically, we fill the time between now and 2s from now with hands based off the ///Prevents message spam var/spammer = 0 -//Just the removed itching mechanism - omage to it's origins. +//Just the removed itching mechanism - omage to its origins. /datum/reagent/inverse/ichiyuri/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() if(prob(resetting_probability) && !(HAS_TRAIT(affected_mob, TRAIT_RESTRAINED) || affected_mob.incapacitated())) @@ -783,7 +783,10 @@ Basically, we fill the time between now and 2s from now with hands based off the if(!isnull(speaker) && HAS_TRAIT(speaker, TRAIT_SIGN_LANG)) return - hearing_args[HEARING_SPANS] |= random_span + var/list/spans = hearing_args[HEARING_SPANS] + var/list/copied_spans = spans.Copy() + copied_spans |= random_span + hearing_args[HEARING_SPANS] = copied_spans /datum/reagent/inverse/sal_acid name = "Benzoic Acid" diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 29822e3158bec..18d02ba2e31fc 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -928,7 +928,7 @@ reagent_state = GAS color = COLOR_GRAY taste_mult = 0 // oderless and tasteless - ph = 9.2//It's acutally a huge range and very dependant on the chemistry but ph is basically a made up var in it's implementation anyways + ph = 9.2//It's acutally a huge range and very dependant on the chemistry but ph is basically a made up var in its implementation anyways chemical_flags = REAGENT_CAN_BE_SYNTHESIZED @@ -1349,7 +1349,7 @@ /datum/reagent/space_cleaner/ez_clean name = "EZ Clean" - description = "A powerful, acidic cleaner sold by Waffle Co. Affects organic matter while leaving other objects unaffected." + description = "A powerful, acidic cleaner sold by Waffle Corp. Affects organic matter while leaving other objects unaffected." metabolization_rate = 1.5 * REAGENTS_METABOLISM taste_description = "acid" penetrates_skin = VAPOR @@ -2685,7 +2685,7 @@ /datum/reagent/metalgen name = "Metalgen" data = list("material"=null) - description = "A purple metal morphic liquid, said to impose it's metallic properties on whatever it touches." + description = "A purple metal morphic liquid, said to impose its metallic properties on whatever it touches." color = "#b000aa" taste_mult = 0 // oderless and tasteless chemical_flags = REAGENT_NO_RANDOM_RECIPE diff --git a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm index d6c4f0009b403..e7cb222ac5837 100644 --- a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm @@ -110,7 +110,7 @@ /datum/reagent/reaction_agent/speed_agent name = "Tempomyocin" - description = "This reagent will consume itself and speed up an ongoing reaction, modifying the current reaction's purity by it's own." + description = "This reagent will consume itself and speed up an ongoing reaction, modifying the current reaction's purity by its own." ph = 10 color = "#e61f82" diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index 40305c9a8bc47..59271ccbcf9db 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -151,7 +151,7 @@ return /** - * Occurs when a reation is overheated (i.e. past it's overheatTemp) + * Occurs when a reation is overheated (i.e. past its overheatTemp) * Will be called every tick in the reaction that it is overheated * If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE * The above is useful if you're writing an explosion diff --git a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm index 28aeb5743faaa..ae6e616b20390 100644 --- a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm +++ b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm @@ -155,7 +155,7 @@ if(off_cooldown(holder, equilibrium, 2, "hercuri_freeze")) return playsound(holder.my_atom, 'sound/magic/ethereal_exit.ogg', 50, 1) - holder.my_atom.visible_message("The reaction frosts over, releasing it's chilly contents!") + holder.my_atom.visible_message("The reaction frosts over, releasing its chilly contents!") var/radius = max((equilibrium.step_target_vol/50), 1) freeze_radius(holder, equilibrium, 200, radius, 60 SECONDS) //drying agent exists explode_shockwave(holder, equilibrium, sound_and_text = FALSE) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index f02aaa3ab2473..62a14ddc794be 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -499,7 +499,7 @@ return ..() var/turf/local_turf = get_turf(holder.my_atom) playsound(local_turf, 'sound/magic/ethereal_exit.ogg', 50, 1) - local_turf.visible_message("The reaction frosts over, releasing it's chilly contents!") + local_turf.visible_message("The reaction frosts over, releasing its chilly contents!") freeze_radius(holder, null, holder.chem_temp*2, clamp(cryostylane.volume/30, 2, 6), 120 SECONDS, 2) clear_reactants(holder, 15) holder.chem_temp += 100 diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index 592a281ed7301..75a60ba49d53d 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -345,9 +345,9 @@ GLOBAL_LIST_INIT(medicine_reagents, build_medicine_reagents()) dat += "
  • heating it above [recipe.required_temp] degrees" dat += " but not above [recipe.overheat_temp] degrees" if(recipe.thermic_constant > 0) - dat += "
  • taking care of it's exothermic nature
  • " + dat += "
  • taking care of its exothermic nature
  • " else if(recipe.thermic_constant < 0) - dat += "
  • taking care of it's endothermic nature
  • " + dat += "
  • taking care of its endothermic nature
  • " var/datum/chemical_reaction/randomized/random_recipe = recipe if(random_recipe) if(random_recipe.randomize_req_ph) diff --git a/code/modules/reagents/reagent_containers/cups/bottle.dm b/code/modules/reagents/reagent_containers/cups/bottle.dm index 97906b26240e5..2259cda34d79c 100644 --- a/code/modules/reagents/reagent_containers/cups/bottle.dm +++ b/code/modules/reagents/reagent_containers/cups/bottle.dm @@ -129,6 +129,11 @@ desc = "A small bottle. Contains cold sauce." list_reagents = list(/datum/reagent/consumable/frostoil = 30) +/obj/item/reagent_containers/cup/bottle/strange_reagent + name = "Strange Reagent Bottle" + desc = "A small bottle. May be used to revive people." + list_reagents = list(/datum/reagent/medicine/strange_reagent = 30) + /obj/item/reagent_containers/cup/bottle/traitor name = "syndicate bottle" desc = "A small bottle. Contains a random nasty chemical." @@ -431,7 +436,7 @@ /obj/item/reagent_containers/cup/bottle/thermite name = "thermite bottle" - list_reagents = list(/datum/reagent/thermite = 30) + list_reagents = list(/datum/reagent/thermite = 50) // Bottles for mail goodies. diff --git a/code/modules/reagents/reagent_containers/cups/drinks.dm b/code/modules/reagents/reagent_containers/cups/drinks.dm index 2f326accb9074..c124ccec6bb77 100644 --- a/code/modules/reagents/reagent_containers/cups/drinks.dm +++ b/code/modules/reagents/reagent_containers/cups/drinks.dm @@ -316,7 +316,7 @@ var/mob/living/thrower = throwingdatum?.get_thrower() if(thrower) thrower.add_mood_event("bottle_flip", /datum/mood_event/bottle_flip) - else // landed on it's side + else // landed on its side animate(src, transform = matrix(prob(50)? 90 : -90, MATRIX_ROTATE), time = 3, loop = 0) /obj/item/reagent_containers/cup/glass/waterbottle/pickup(mob/user) diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.dm b/code/modules/reagents/reagent_containers/cups/glassbottle.dm index b246cc01e07e9..7b2183b1f2269 100644 --- a/code/modules/reagents/reagent_containers/cups/glassbottle.dm +++ b/code/modules/reagents/reagent_containers/cups/glassbottle.dm @@ -316,6 +316,12 @@ icon_state = "rumbottle" list_reagents = list(/datum/reagent/consumable/ethanol/rum = 100) +/obj/item/reagent_containers/cup/glass/bottle/rum/aged + name = "Captain Pete's Vintage spiced rum" + desc = "Shiver me timbers, a vintage edition of Captain Pete's rum. It's pratically GRIFF in a bottle from over 50 years ago." + icon_state = "rumbottle_gold" + list_reagents = list(/datum/reagent/consumable/ethanol/rum/aged = 100) + /obj/item/reagent_containers/cup/glass/bottle/maltliquor name = "\improper Rabid Bear malt liquor" desc = "A 40 full of malt liquor. Kicks stronger than, well, a rabid bear." diff --git a/code/modules/reagents/reagent_containers/misc.dm b/code/modules/reagents/reagent_containers/misc.dm index d2dc2adfb5f76..8b13ab4a54beb 100644 --- a/code/modules/reagents/reagent_containers/misc.dm +++ b/code/modules/reagents/reagent_containers/misc.dm @@ -91,7 +91,6 @@ /obj/item/reagent_containers/cup/maunamug/attack_hand(mob/living/user, list/modifiers) if(cell && open) - cell.update_appearance() user.put_in_hands(cell) cell = null to_chat(user, span_notice("You remove the power cell from [src].")) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index bb426436599c0..dc54dcd7db44b 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -229,6 +229,8 @@ stream_range = 4 amount_per_transfer_from_this = 5 list_reagents = list(/datum/reagent/consumable/condensedcapsaicin = 50) + pickup_sound = 'sound/items/pepper_spray_pick_up.ogg' + drop_sound = 'sound/items/pepper_spray_drop.ogg' /obj/item/reagent_containers/spray/pepper/empty //for protolathe printing list_reagents = null diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index f9cf10e1068d9..e412fa5c45d4a 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -1,6 +1,7 @@ #define REAGENT_SPILL_DIVISOR 200 /obj/structure/reagent_dispensers + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "Dispenser" desc = "..." icon = 'icons/obj/medical/chemical_tanks.dmi' @@ -323,6 +324,7 @@ /// Wall mounted dispeners, like pepper spray or virus food. Not a normal tank, and shouldn't be able to be turned into a plumbed stationary one. /obj/structure/reagent_dispensers/wall + SET_BASE_VISUAL_PIXEL(0, 0) anchored = TRUE density = FALSE can_be_tanked = FALSE @@ -333,7 +335,7 @@ icon_state = "pepper" reagent_id = /datum/reagent/consumable/condensedcapsaicin -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 30) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank) /obj/structure/reagent_dispensers/wall/peppertank/Initialize(mapload) . = ..() @@ -342,6 +344,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3 find_and_hang_on_wall() /obj/structure/reagent_dispensers/water_cooler + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "liquid cooler" desc = "A machine that dispenses liquid to drink." icon = 'icons/obj/machines/vending.dmi' @@ -372,6 +375,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3 paper_cups-- /obj/structure/reagent_dispensers/beerkeg + SET_BASE_VISUAL_PIXEL(0, 0) name = "beer keg" desc = "Beer is liquid bread, it's good for you..." icon_state = "beer" @@ -389,7 +393,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3 icon_state = "virus_food" reagent_id = /datum/reagent/consumable/virus_food -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/virusfood, 30) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/virusfood) /obj/structure/reagent_dispensers/wall/virusfood/Initialize(mapload) . = ..() diff --git a/code/modules/recycling/conveyor.dm b/code/modules/recycling/conveyor.dm index c5dfdc39d3e98..21c5aa7a1a902 100644 --- a/code/modules/recycling/conveyor.dm +++ b/code/modules/recycling/conveyor.dm @@ -373,8 +373,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/machinery/conveyor_switch/Destroy() LAZYREMOVE(GLOB.conveyors_by_id[id], src) - QDEL_NULL(wires) - . = ..() + return ..() /obj/machinery/conveyor_switch/vv_edit_var(var_name, var_value) if (var_name == NAMEOF(src, id)) diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 4b54cf9f4b023..46d023dbfaf3f 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -416,7 +416,7 @@ data["isai"] = HAS_AI_ACCESS(user) return data -/obj/machinery/disposal/bin/ui_act(action, params) +/obj/machinery/disposal/bin/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -624,6 +624,12 @@ SIGNAL_HANDLER if((shove_flags & SHOVE_KNOCKDOWN_BLOCKED) || !(shove_flags & SHOVE_BLOCKED)) return + var/cur_density = density + density = FALSE + if (!target.Move(get_turf(src), get_dir(target, src))) + density = cur_density + return + density = cur_density target.Knockdown(SHOVE_KNOCKDOWN_SOLID) target.forceMove(src) target.visible_message(span_danger("[shover.name] shoves [target.name] into \the [src]!"), diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index a6be96a43a811..a61bf0f59445b 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -309,7 +309,7 @@ return data /** User clicks a button on the tagger */ -/obj/item/dest_tagger/ui_act(action, params) +/obj/item/dest_tagger/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/religion/sparring/sparring_contract.dm b/code/modules/religion/sparring/sparring_contract.dm index c31be81f64945..314953dce28ab 100644 --- a/code/modules/religion/sparring/sparring_contract.dm +++ b/code/modules/religion/sparring/sparring_contract.dm @@ -65,7 +65,7 @@ area_names += key return area_names -/obj/item/sparring_contract/ui_act(action, list/params) +/obj/item/sparring_contract/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/religion/sparring/sparring_datum.dm b/code/modules/religion/sparring/sparring_datum.dm index 78de2bd3a0bb0..8e01403e5a64c 100644 --- a/code/modules/religion/sparring/sparring_datum.dm +++ b/code/modules/religion/sparring/sparring_datum.dm @@ -60,7 +60,6 @@ UnregisterSignal(sparring, list( COMSIG_MOB_FIRED_GUN, COMSIG_MOB_GRENADE_ARMED, - COMSIG_MOB_ITEM_ATTACK, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_POST_TELEPORT, COMSIG_MOB_STATCHANGE, diff --git a/code/modules/research/anomaly/anomaly_refinery.dm b/code/modules/research/anomaly/anomaly_refinery.dm index bae2b4f116261..8339a9cf96ea7 100644 --- a/code/modules/research/anomaly/anomaly_refinery.dm +++ b/code/modules/research/anomaly/anomaly_refinery.dm @@ -11,6 +11,7 @@ * Uses the standard ordnance/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created. */ /obj/machinery/research/anomaly_refinery + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "anomaly refinery" desc = "An advanced machine capable of implosion-compressing raw anomaly cores into finished artifacts. Also equipped with state of the art bomb prediction software." circuit = /obj/item/circuitboard/machine/anomaly_refinery @@ -315,7 +316,7 @@ ui = new(user, src, "AnomalyRefinery") ui.open() -/obj/machinery/research/anomaly_refinery/ui_act(action, list/params) +/obj/machinery/research/anomaly_refinery/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 7572a73529200..d07deca292691 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -540,7 +540,7 @@ category = list( RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_RESEARCH ) - departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING /datum/design/board/microwave name = "Microwave Board" @@ -582,6 +582,16 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE +/datum/design/board/dehydrator + name = "Dehydrator Board" + desc = "The circuit board for a dehydrator." + id = "dehydrator" + build_path = /obj/item/circuitboard/machine/dehydrator + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_KITCHEN + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + /datum/design/board/vatgrower name = "Growing Vat Board" desc = "The circuit board for a growing vat." @@ -1237,3 +1247,13 @@ RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_SERVICE ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE + +/datum/design/board/big_manipulator + name = "Big Manipulator Board" + desc = "The circuit board for a big manipulator." + id = "big_manipulator" + build_path = /obj/item/circuitboard/machine/big_manipulator + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SERVICE diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 19b3403908f81..9a5e6495c532e 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -1578,6 +1578,20 @@ RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_JANITOR ) +/datum/design/borg_upgrade_plunger + name = "Integrated Plunger" + id = "borg_upgrade_plunger" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/plunger + materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT*1.125, + /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT*0.75, + ) + construction_time = 4 SECONDS + category = list( + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_JANITOR + ) + /datum/design/borg_upgrade_rolling_table name = "Rolling Table Dock" id = "borg_upgrade_rolling_table" @@ -1987,6 +2001,17 @@ var/datum/mod_theme/theme = GLOB.mod_themes[initial(armor_type.theme)] desc = "External plating for a MODsuit. [theme.desc]" +/datum/design/mod_plating/civilian + name = "MOD Civilian Plating" + id = "mod_plating_civilian" + build_path = /obj/item/mod/construction/plating/civilian + materials = list( + /datum/material/iron =SHEET_MATERIAL_AMOUNT*3, + /datum/material/glass =SHEET_MATERIAL_AMOUNT*1.5, + /datum/material/plasma =HALF_SHEET_MATERIAL_AMOUNT, + ) + research_icon_state = "civilian-plating" + /datum/design/mod_plating/engineering name = "MOD Engineering Plating" id = "mod_plating_engineering" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 27dbbca1d179c..5daf936119076 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -403,7 +403,11 @@ desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." id = "ci-surgery" build_type = PROTOLATHE | AWAY_LATHE | MECHFAB - materials = list (/datum/material/iron = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5, /datum/material/silver =HALF_SHEET_MATERIAL_AMOUNT * 1.5) + materials = list ( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 1.25, + /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT * 1.5, + /datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT * 1.5, + ) construction_time = 2 SECONDS build_path = /obj/item/organ/internal/cyberimp/arm/surgery category = list( @@ -416,7 +420,11 @@ desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm." id = "ci-toolset" build_type = PROTOLATHE | AWAY_LATHE | MECHFAB - materials = list (/datum/material/iron = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT * 1.5, /datum/material/silver =HALF_SHEET_MATERIAL_AMOUNT * 1.5) + materials = list ( + /datum/material/iron = SHEET_MATERIAL_AMOUNT * 1.25, + /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT * 1.5, + /datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT * 1.5, + ) construction_time = 2 SECONDS build_path = /obj/item/organ/internal/cyberimp/arm/toolset category = list( @@ -1070,6 +1078,12 @@ surgery = /datum/surgery/advanced/lobotomy research_icon_state = "surgery_head" +/datum/design/surgery/lobotomy/mechanic + name = "Wetware OS Destructive Defragmentation" + desc = "A destructive robotic defragmentation method which guarantees removal of almost all brain traumas, but might cause another permanent trauma in return." + id = "surgery_lobotomy_mechanic" + surgery = /datum/surgery/advanced/lobotomy/mechanic + /datum/design/surgery/pacify name = "Pacification" desc = "A surgical procedure which permanently inhibits the aggression center of the brain, making the patient unwilling to cause direct harm." @@ -1077,6 +1091,12 @@ surgery = /datum/surgery/advanced/pacify research_icon_state = "surgery_head" +/datum/design/surgery/pacify/mechanic + name = "Aggression Suppression Programming" + desc = "Malware which permanently inhibits the aggression programming of the patient's neural network, making the patient unwilling to cause direct harm." + id = "surgery_pacify_mechanic" + surgery = /datum/surgery/advanced/pacify/mechanic + /datum/design/surgery/viral_bonding name = "Viral Bonding" desc = "A surgical procedure that forces a symbiotic relationship between a virus and its host. The patient must be dosed with spaceacillin, virus food, and formaldehyde." @@ -1135,6 +1155,12 @@ surgery = /datum/surgery/advanced/brainwashing research_icon_state = "surgery_head" +/datum/design/surgery/brainwashing/mechanic + name = "Reprogramming" + desc = "Malware which directly implants a directive into the robotic patient's operating system, making it their absolute priority. It can be cleared using a mindshield implant." + id = "surgery_brainwashing_mechanic" + surgery = /datum/surgery/advanced/brainwashing/mechanic + /datum/design/surgery/nerve_splicing name = "Nerve Splicing" desc = "A surgical procedure which splices the patient's nerves, making them more resistant to stuns." @@ -1142,6 +1168,12 @@ surgery = /datum/surgery/advanced/bioware/nerve_splicing research_icon_state = "surgery_chest" +/datum/design/surgery/nerve_splicing/mechanic + name = "System Automatic Reset Subroutine" + desc = "A robotic upgrade which upgrades a robotic patient's automatic systems, making them more resistant to stuns." + id = "surgery_nerve_splice_mechanic" + surgery = /datum/surgery/advanced/bioware/nerve_splicing/mechanic + /datum/design/surgery/nerve_grounding name = "Nerve Grounding" desc = "A surgical procedure which makes the patient's nerves act as grounding rods, protecting them from electrical shocks." @@ -1149,6 +1181,12 @@ surgery = /datum/surgery/advanced/bioware/nerve_grounding research_icon_state = "surgery_chest" +/datum/design/surgery/nerve_grounding/mechanic + name = "System Shock Dampening" + desc = "A robotic upgrade which installs grounding rods into the robotic patient's system, protecting them from electrical shocks." + id = "surgery_nerve_ground_mechanic" + surgery = /datum/surgery/advanced/bioware/nerve_grounding/mechanic + /datum/design/surgery/vein_threading name = "Vein Threading" desc = "A surgical procedure which severely reduces the amount of blood lost in case of injury." @@ -1156,13 +1194,25 @@ surgery = /datum/surgery/advanced/bioware/vein_threading research_icon_state = "surgery_chest" +/datum/design/surgery/vein_threading/mechanic + name = "Hydraulics Routing Optimization" + desc = "A robotic upgrade which severely reduces the amount of hydraulic fluid lost in case of injury." + id = "surgery_vein_thread_mechanic" + surgery = /datum/surgery/advanced/bioware/vein_threading/mechanic + /datum/design/surgery/muscled_veins name = "Vein Muscle Membrane" - desc = "A surgical procedure which adds a muscled membrane to blood vessels, allowing them to pump blood without a heart." + desc = "A surgical procedure which adds a muscled membrane to blood vessels, allowing a patient to pump blood without a heart." id = "surgery_muscled_veins" surgery = /datum/surgery/advanced/bioware/muscled_veins research_icon_state = "surgery_chest" +/datum/design/surgery/muscled_veins/mechanic + name = "Hydraulics Redundancy Subroutine" + desc = "A robotic upgrade which adds sophisticated hydraulics redundancies, allowing a patient to pump hydraulic fluid without an engine." + id = "surgery_muscled_veins_mechanic" + surgery = /datum/surgery/advanced/bioware/muscled_veins/mechanic + /datum/design/surgery/ligament_hook name = "Ligament Hook" desc = "A surgical procedure which reshapes the connections between torso and limbs, making it so limbs can be attached manually if severed. \ @@ -1171,6 +1221,13 @@ surgery = /datum/surgery/advanced/bioware/ligament_hook research_icon_state = "surgery_chest" +/datum/design/surgery/ligament_hook/mechanic + name = "Anchor Point Snaplocks" + desc = "A robotic upgrade which installs rapid detachment anchor points, making it so limbs can be attached manually if detached. \ + However this weakens the connection, making them easier to detach as well." + id = "surgery_ligament_hook_mechanic" + surgery = /datum/surgery/advanced/bioware/ligament_hook/mechanic + /datum/design/surgery/ligament_reinforcement name = "Ligament Reinforcement" desc = "A surgical procedure which adds a protective tissue and bone cage around the connections between the torso and limbs, preventing dismemberment. \ @@ -1179,6 +1236,13 @@ surgery = /datum/surgery/advanced/bioware/ligament_reinforcement research_icon_state = "surgery_chest" +/datum/design/surgery/ligament_reinforcement/mechanic + name = "Anchor Point Reinforcement" + desc = "A surgical procedure which adds reinforced limb anchor points to the patient's chassis, preventing dismemberment. \ + However, the nerve connections as a result are more easily interrupted, making it easier to disable limbs with damage." + id = "surgery_ligament_reinforcement_mechanic" + surgery = /datum/surgery/advanced/bioware/ligament_reinforcement/mechanic + /datum/design/surgery/cortex_imprint name = "Cortex Imprint" desc = "A surgical procedure which modifies the cerebral cortex into a redundant neural pattern, making the brain able to bypass damage caused by minor brain traumas." @@ -1186,6 +1250,13 @@ surgery = /datum/surgery/advanced/bioware/cortex_imprint research_icon_state = "surgery_head" +/datum/design/surgery/cortex_imprint/mechanic + name = "Wetware OS Ver 2.0" + desc = "A surgical procedure which updates the patient's operating system to the 'latest version', whatever that means, making the brain able to bypass damage caused by minor brain traumas. \ + Shame about all the adware." + id = "surgery_cortex_imprint_mechanic" + surgery = /datum/surgery/advanced/bioware/cortex_imprint/mechanic + /datum/design/surgery/cortex_folding name = "Cortex Folding" desc = "A surgical procedure which modifies the cerebral cortex into a complex fold, giving space to non-standard neural patterns." @@ -1193,6 +1264,12 @@ surgery = /datum/surgery/advanced/bioware/cortex_folding research_icon_state = "surgery_head" +/datum/design/surgery/cortex_folding/mechanic + name = "Wetware OS Labyrinthian Programming" + desc = "A robotic upgrade which reprograms the patient's neural network in a downright eldritch programming language, giving space to non-standard neural patterns." + id = "surgery_cortex_folding_mechanic" + surgery = /datum/surgery/advanced/bioware/cortex_folding/mechanic + /datum/design/surgery/necrotic_revival name = "Necrotic Revival" desc = "An experimental surgical procedure that stimulates the growth of a Romerol tumor inside the patient's brain. Requires zombie powder or rezadone." diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index d9feba5179e08..4d80a09987a30 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -473,7 +473,7 @@ /datum/design/plasticducky name = "Rubber Ducky" - desc = "The classic Nanotrasen design for competitively priced bath based duck toys. No need for fancy Waffle co. rubber, buy Plastic Ducks today!" + desc = "The classic Nanotrasen design for competitively priced bath based duck toys. No need for fancy Waffle Corp. rubber, buy Plastic Ducks today!" id = "plasticducky" build_type = PROTOLATHE | AWAY_LATHE materials = list(/datum/material/plastic =HALF_SHEET_MATERIAL_AMOUNT) @@ -1022,6 +1022,18 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE +/datum/design/bluespace_fish_case + name = "Bluespace Fish Case" + desc = "An improved fish case to keep large fish in stasis in a compact little space." + id = "bluespace_fish_case" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT, /datum/material/plastic = SMALL_MATERIAL_AMOUNT, /datum/material/bluespace = SMALL_MATERIAL_AMOUNT) + build_path = /obj/item/storage/fish_case/bluespace + category = list( + RND_CATEGORY_EQUIPMENT + RND_SUBCATEGORY_EQUIPMENT_SERVICE + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE + // Coffeemaker Stuff /datum/design/coffeepot diff --git a/code/modules/research/designs/wiremod_designs.dm b/code/modules/research/designs/wiremod_designs.dm index dbcd74165946a..e848356359dac 100644 --- a/code/modules/research/designs/wiremod_designs.dm +++ b/code/modules/research/designs/wiremod_designs.dm @@ -39,7 +39,7 @@ name = "Component ( NULL ENTRY )" desc = "A component that goes into an integrated circuit." build_type = COMPONENT_PRINTER - materials = list(/datum/material/glass =HALF_SHEET_MATERIAL_AMOUNT) + materials = list(/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT) departmental_flags = DEPARTMENT_BITFLAG_SCIENCE category = list( RND_CATEGORY_CIRCUITRY + RND_SUBCATEGORY_CIRCUITRY_COMPONENTS diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 8f7787c439482..ded27054695cc 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -166,7 +166,7 @@ return data -/obj/machinery/rnd/experimentor/ui_act(action, list/params) +/obj/machinery/rnd/experimentor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -574,11 +574,19 @@ COOLDOWN_DECLARE(cooldown) //What visual theme this artefact has. Current possible choices: "prototype", "necrotech" var/artifact_theme = "prototype" + var/datum/effect_system/spark_spread/sparks /obj/item/relic/Initialize(mapload) . = ..() + sparks = new() + sparks.set_up(5, 1, src) + sparks.attach(src) random_themed_appearance() +/obj/item/relic/Destroy(force) + QDEL_NULL(sparks) + . = ..() + /obj/item/relic/proc/random_themed_appearance() var/themed_name_prefix var/themed_name_suffix @@ -720,34 +728,38 @@ /obj/item/relic/proc/do_the_teleport(mob/user) var/turf/userturf = get_turf(user) - if(loc == user && !is_centcom_level(userturf.z)) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you! - visible_message(span_notice("[src] twists and bends, relocating itself!")) - throw_smoke(userturf) - do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - throw_smoke(get_turf(user)) - warn_admins(user, "Teleport", 0) + //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you! + if(is_centcom_level(userturf.z)) + return + var/to_teleport = ismovable(loc) ? loc : src + visible_message(span_notice("[to_teleport] twists and bends, relocating itself!")) + throw_smoke(get_turf(to_teleport)) + do_teleport(to_teleport, userturf, 8, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) + throw_smoke(get_turf(to_teleport)) + warn_admins(user, "Teleport", 0) // Creates a glass and fills it up with a drink. /obj/item/relic/proc/drink_dispenser(mob/user) var/obj/item/reagent_containers/cup/glass/drinkingglass/freebie = new(get_step_rand(user)) - playsound(freebie, 'sound/effects/phasein.ogg', rand(25,50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(freebie, SFX_SPARKS, rand(25,50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + sparks.start() addtimer(CALLBACK(src, PROC_REF(dispense_drink), freebie), 0.5 SECONDS) /obj/item/relic/proc/dispense_drink(obj/item/reagent_containers/cup/glass/glasser) + playsound(glasser, 'sound/effects/phasein.ogg', rand(25,50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) glasser.reagents.add_reagent(get_random_drink_id(), rand(glasser.volume * 0.3, glasser.volume)) - playsound(glasser, SFX_SPARKS, rand(25,50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) throw_smoke(get_turf(glasser)) // Scrambles your organs. 33% chance to delete after use. /obj/item/relic/proc/tummy_ache(mob/user) - new /obj/effect/temp_visual/bioscrambler_wave/light(get_turf(src)) + new /obj/effect/temp_visual/circle_wave/bioscrambler/light(get_turf(src)) to_chat(user, span_notice("Your stomach starts growling...")) addtimer(CALLBACK(src, PROC_REF(scrambliticus), user), rand(1 SECONDS, 3 SECONDS)) // throw it away! /obj/item/relic/proc/scrambliticus(mob/user) - new /obj/effect/temp_visual/bioscrambler_wave(get_turf(src)) + new /obj/effect/temp_visual/circle_wave/bioscrambler/light(get_turf(src)) playsound(src, 'sound/magic/cosmic_energy.ogg', vol = 50, vary = TRUE) - for(var/mob/living/carbon/nearby in hearers(2, src)) + for(var/mob/living/carbon/nearby in range(2, get_turf(src))) //needs get_turf() to work nearby.bioscramble(name) playsound(nearby, SFX_SPARKS, rand(25,50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) throw_smoke(get_turf(nearby)) @@ -838,7 +850,7 @@ // carbons always get a hat at least var/mob/living/carbon/carbonius = user //hat - var/obj/item/clothing/head/costume/disguise_hat = roll_costume(/obj/item/clothing/head/costume, HIDEMASK) + var/obj/item/clothing/head/costume/disguise_hat = roll_costume(ITEM_SLOT_HEAD, HIDEMASK) carbonius.dropItemToGround(carbonius.head) carbonius.equip_to_slot_or_del(disguise_hat, ITEM_SLOT_HEAD) if(!ishuman(carbonius)) @@ -847,11 +859,11 @@ var/mob/living/carbon/human/humerus = carbonius // uniform - var/obj/item/clothing/under/costume/disguise_uniform = roll_costume(/obj/item/clothing/under/costume) + var/obj/item/clothing/under/costume/disguise_uniform = roll_costume(ITEM_SLOT_ICLOTHING) humerus.dropItemToGround(humerus.w_uniform) humerus.equip_to_slot_or_del(disguise_uniform, ITEM_SLOT_ICLOTHING) // suit - var/obj/item/clothing/suit/costume/disguise_suit = roll_costume(/obj/item/clothing/suit/costume) + var/obj/item/clothing/suit/costume/disguise_suit = roll_costume(ITEM_SLOT_OCLOTHING) humerus.dropItemToGround(humerus.wear_suit) humerus.equip_to_slot_or_del(disguise_suit, ITEM_SLOT_OCLOTHING) // id @@ -863,7 +875,6 @@ if(!card_id) return card_id.scribbled_name = "[pick(GLOB.first_names)] [pick(GLOB.last_names)]" - card_id.update_name() card_id.details_colors = list(ready_random_color(), ready_random_color(), ready_random_color()) card_id.item_flags |= DROPDEL @@ -872,17 +883,17 @@ if(random_trim.trim_state && random_trim.assignment) card_id.scribbled_trim = replacetext(random_trim.trim_state, "trim_", "cardboard_") card_id.scribbled_assignment = random_trim.assignment - card_id.update_overlays() + card_id.update_appearance() REMOVE_TRAIT(user, TRAIT_NO_JUMPSUIT, REF(src)) -/obj/item/relic/proc/roll_costume(type, flagcheck) +/obj/item/relic/proc/roll_costume(slot, flagcheck) var/list/candidates = list() - for(var/obj/item/thingy as anything in subtypesof(type)) - if(flagcheck && !(initial(thingy.flags_inv) & flagcheck)) + for(var/obj/item/costume as anything in GLOB.all_autodrobe_items) + if(flagcheck && !(initial(costume.flags_inv) & flagcheck)) continue - if(isnull(initial(thingy.icon_state))) + if(slot && !(initial(costume.slot_flags) & slot)) continue - candidates |= thingy + candidates |= costume var/obj/item/new_costume = pick(candidates) new_costume = new new_costume() new_costume.item_flags |= DROPDEL diff --git a/code/modules/research/ordnance/doppler_array.dm b/code/modules/research/ordnance/doppler_array.dm index 5e44c2dc703e4..e5ba48b5d43bd 100644 --- a/code/modules/research/ordnance/doppler_array.dm +++ b/code/modules/research/ordnance/doppler_array.dm @@ -1,4 +1,5 @@ /obj/machinery/doppler_array + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "tachyon-doppler array" desc = "A highly precise directional sensor array which measures the release of quants from decaying tachyons. The doppler shifting of the mirror-image formed by these quants can reveal the size, location and temporal affects of energetic disturbances within a large radius ahead of the array.\n" circuit = /obj/item/circuitboard/machine/doppler_array @@ -290,7 +291,7 @@ data["records"] += list(record_data) return data -/obj/machinery/doppler_array/ui_act(action, list/params) +/obj/machinery/doppler_array/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/research/ordnance/scipaper_partner.dm b/code/modules/research/ordnance/scipaper_partner.dm index 7120c78cecde9..5bbe3e7d62746 100644 --- a/code/modules/research/ordnance/scipaper_partner.dm +++ b/code/modules/research/ordnance/scipaper_partner.dm @@ -1,14 +1,18 @@ /datum/scientific_partner/mining name = "Mining Corps" - flufftext = "A local group of miners are looking for ways to improve their mining output. They are interested in smaller scale explosives." - accepted_experiments = list(/datum/experiment/ordnance/explosive/lowyieldbomb) + flufftext = "A local group of miners are looking for ways to improve their mining output. They are interested in smaller scale explosives and plasma research." + accepted_experiments = list( + /datum/experiment/ordnance/gaseous/plasma, + /datum/experiment/ordnance/explosive/lowyieldbomb, + /datum/experiment/ordnance/explosive/highyieldbomb, + ) multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.75, SCIPAPER_FUNDING_INDEX = 0.75) boostable_nodes = list( - TECHWEB_NODE_BLUESPACE_THEORY = TECHWEB_TIER_3_POINTS, - TECHWEB_NODE_NIGHT_VISION = TECHWEB_TIER_2_POINTS, - TECHWEB_NODE_ANOMALY_RESEARCH = TECHWEB_TIER_2_POINTS, - TECHWEB_NODE_MINING = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_MINING_ADV = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_LOW_PRESSURE_EXCAVATION = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_PLASMA_MINING = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_MINING_ADV = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_NIGHT_VISION = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_BORG_ENGI = TECHWEB_TIER_3_POINTS, ) /datum/scientific_partner/baron @@ -17,23 +21,26 @@ multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.25, SCIPAPER_FUNDING_INDEX = 2) boostable_nodes = list( TECHWEB_NODE_CONSOLES = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_FUNDIMENTAL_SCI = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_GAMING = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_BITRUNNING = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_PROGRAMMED_SERVER = TECHWEB_TIER_3_POINTS, ) /datum/scientific_partner/defense name = "Defense Partnership" - flufftext = "We can work directly for Nanotrasen's \[REDACTED\] division, potentially providing us access with advanced defensive gadgets." + flufftext = "We can work directly for Nanotrasen's \[REDACTED\] division, potentially providing us access with advanced offensive and defensive gadgets." accepted_experiments = list( + /datum/experiment/ordnance/explosive/lowyieldbomb, /datum/experiment/ordnance/explosive/highyieldbomb, /datum/experiment/ordnance/explosive/pressurebomb, /datum/experiment/ordnance/explosive/hydrogenbomb, ) boostable_nodes = list( - TECHWEB_NODE_RIOT_SUPRESSION = TECHWEB_TIER_3_POINTS, - TECHWEB_NODE_SEC_EQUIP = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_EXPLOSIVES = TECHWEB_TIER_2_POINTS, - TECHWEB_NODE_ELECTRIC_WEAPONS = TECHWEB_TIER_2_POINTS, - TECHWEB_NODE_BEAM_WEAPONS = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_RIOT_SUPRESSION = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_EXPLOSIVES = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_MECH_ENERGY_GUNS = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_MECH_FIREARMS = TECHWEB_TIER_5_POINTS, + TECHWEB_NODE_MECH_HEAVY_ARMS = TECHWEB_TIER_5_POINTS, ) /datum/scientific_partner/medical @@ -44,24 +51,27 @@ /datum/experiment/ordnance/gaseous/bz, ) boostable_nodes = list( - TECHWEB_NODE_CYBER_ORGANS = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_CYBER_ORGANS_UPGRADED = TECHWEB_TIER_2_POINTS, - TECHWEB_NODE_GENE_ENGINEERING = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_PASSIVE_IMPLANTS = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_BIO_SCAN = TECHWEB_TIER_1_POINTS, - TECHWEB_NODE_CHEM_SYNTHESIS = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_CYBER_ORGANS = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_CYBER_ORGANS_UPGRADED = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_MEDBAY_EQUIP_ADV = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_CYTOLOGY = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_BORG_MEDICAL = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_COMBAT_IMPLANTS = TECHWEB_TIER_4_POINTS, ) /datum/scientific_partner/physics name = "NT Physics Quarterly" flufftext = "A prestigious physics journal managed by Nanotrasen. The main journal for publishing cutting-edge physics research conducted by Nanotrasen, given that they aren't classified." accepted_experiments = list( + /datum/experiment/ordnance/gaseous/bz, + /datum/experiment/ordnance/explosive/hydrogenbomb, /datum/experiment/ordnance/gaseous/noblium, /datum/experiment/ordnance/explosive/nobliumbomb, ) boostable_nodes = list( - TECHWEB_NODE_PARTS_UPG = TECHWEB_TIER_2_POINTS, - TECHWEB_NODE_EXP_TOOLS = TECHWEB_TIER_4_POINTS, - TECHWEB_NODE_PARTS_BLUESPACE = TECHWEB_TIER_3_POINTS, - TECHWEB_NODE_PARTS_ADV = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_PARTS_ADV = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_BLUESPACE_TRAVEL = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_ANOMALY_RESEARCH = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_TELECOMS = TECHWEB_TIER_5_POINTS, + TECHWEB_NODE_MECH_EQUIP_BLUESPACE = TECHWEB_TIER_5_POINTS, ) diff --git a/code/modules/research/ordnance/tank_compressor.dm b/code/modules/research/ordnance/tank_compressor.dm index d0393d9e10374..89f38ee4a32e0 100644 --- a/code/modules/research/ordnance/tank_compressor.dm +++ b/code/modules/research/ordnance/tank_compressor.dm @@ -275,7 +275,7 @@ ui = new(user, src, "TankCompressor") ui.open() -/obj/machinery/atmospherics/components/binary/tank_compressor/ui_act(action, list/params) +/obj/machinery/atmospherics/components/binary/tank_compressor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index cc8e842f18e9a..d4dde8732a0e9 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -96,6 +96,20 @@ Nothing else in the console has ID requirements. stored_research = tool.buffer return TRUE +/obj/machinery/computer/rdconsole/proc/enqueue_node(id, mob/user) + if(!stored_research || !stored_research.available_nodes[id] || stored_research.researched_nodes[id]) + say("Node enqueue failed: Either no techweb is found, node is already researched or is not available!") + return FALSE + stored_research.enqueue_node(id, user) + return TRUE + +/obj/machinery/computer/rdconsole/proc/dequeue_node(id, mob/user) + if(!stored_research || !stored_research.available_nodes[id] || stored_research.researched_nodes[id]) + say("Node dequeue failed: Either no techweb is found, node is already researched or is not available!") + return FALSE + stored_research.dequeue_node(id, user) + return TRUE + /obj/machinery/computer/rdconsole/proc/research_node(id, mob/user) if(!stored_research || !stored_research.available_nodes[id] || stored_research.researched_nodes[id]) say("Node unlock failed: Either no techweb is found, node is already researched or is not available!") @@ -171,6 +185,7 @@ Nothing else in the console has ID requirements. return data data += list( "nodes" = list(), + "queue_nodes" = stored_research.research_queue_nodes, "experiments" = list(), "researched_designs" = stored_research.researched_designs, "points" = stored_research.research_points, @@ -194,6 +209,10 @@ Nothing else in the console has ID requirements. // Serialize all nodes to display for(var/v in stored_research.tiers) var/datum/techweb_node/n = SSresearch.techweb_node_by_id(v) + var/enqueued_by_user = FALSE + + if((v in stored_research.research_queue_nodes) && stored_research.research_queue_nodes[v] == user) + enqueued_by_user = TRUE // Ensure node is supposed to be visible if (stored_research.hidden_nodes[v]) @@ -201,8 +220,11 @@ Nothing else in the console has ID requirements. data["nodes"] += list(list( "id" = n.id, + "is_free" = n.is_free(stored_research), "can_unlock" = stored_research.can_unlock_node(n), + "have_experiments_done" = stored_research.have_experiments_for_node(n), "tier" = stored_research.tiers[n.id], + "enqueued_by_user" = enqueued_by_user )) // Get experiments and serialize them @@ -297,7 +319,7 @@ Nothing else in the console has ID requirements. "id_cache" = flat_id_cache, ) -/obj/machinery/computer/rdconsole/ui_act(action, list/params) +/obj/machinery/computer/rdconsole/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return @@ -322,6 +344,12 @@ Nothing else in the console has ID requirements. if ("researchNode") research_node(params["node_id"], usr) return TRUE + if ("enqueueNode") + enqueue_node(params["node_id"], usr) + return TRUE + if ("dequeueNode") + dequeue_node(params["node_id"], usr) + return TRUE if ("ejectDisk") eject_disk(params["type"]) return TRUE diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 0cfca236d24c3..01af11906d2b4 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -3,6 +3,7 @@ /obj/machinery/rnd + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "R&D Device" icon = 'icons/obj/machines/research.dmi' density = TRUE @@ -35,7 +36,6 @@ if(stored_research) log_research("[src] disconnected from techweb [stored_research] (destroyed).") stored_research = null - QDEL_NULL(wires) return ..() /obj/machinery/rnd/examine(mob/user) diff --git a/code/modules/research/server_control.dm b/code/modules/research/server_control.dm index 24327a731a64e..73596925a2d78 100644 --- a/code/modules/research/server_control.dm +++ b/code/modules/research/server_control.dm @@ -61,7 +61,7 @@ return data -/obj/machinery/computer/rdservercontrol/ui_act(action, params) +/obj/machinery/computer/rdservercontrol/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return TRUE diff --git a/code/modules/research/techweb/_techweb.dm b/code/modules/research/techweb/_techweb.dm index 3c920f6b9a6fe..1a5a387551178 100644 --- a/code/modules/research/techweb/_techweb.dm +++ b/code/modules/research/techweb/_techweb.dm @@ -70,6 +70,12 @@ * Filled with nulls on init, populated only on publication. */ var/list/published_papers + /** + * Assoc list of nodes queued for automatic research when there are enough points available + * research_queue_nodes[node_id] = user_enqueued + */ + var/list/research_queue_nodes = list() + /datum/techweb/New() SSresearch.techwebs += src @@ -325,6 +331,40 @@ /datum/techweb/proc/printout_points() return techweb_point_display_generic(research_points) +/datum/techweb/proc/enqueue_node(id, mob/user) + var/queue_first = FALSE + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/human_user = user + var/list/access = human_user.wear_id?.GetAccess() + if(ACCESS_RD in access) + queue_first = TRUE + + if(id in research_queue_nodes) + if(queue_first) + research_queue_nodes.Remove(id) // Remove to be able to place first + else + return FALSE + + for(var/node_id in research_queue_nodes) + if(research_queue_nodes[node_id] == user) + research_queue_nodes.Remove(node_id) + + if (queue_first) + research_queue_nodes.Insert(1, id) + research_queue_nodes[id] = user + + return TRUE + +/datum/techweb/proc/dequeue_node(id, mob/user) + if(!(id in research_queue_nodes)) + return FALSE + if(research_queue_nodes[id] != user) + return FALSE + + research_queue_nodes.Remove(id) + + return TRUE + /datum/techweb/proc/research_node_id(id, force, auto_update_points, get_that_dosh_id) return research_node(SSresearch.techweb_node_by_id(id), force, auto_update_points, get_that_dosh_id) @@ -377,6 +417,10 @@ if (MC_RUNNING()) log_research(log_message) + // Dequeue + if(node.id in research_queue_nodes) + research_queue_nodes.Remove(node.id) + return TRUE /datum/techweb/proc/unresearch_node_id(id) diff --git a/code/modules/research/techweb/_techweb_node.dm b/code/modules/research/techweb/_techweb_node.dm index 7714946a4d290..23ad6fd213dba 100644 --- a/code/modules/research/techweb/_techweb_node.dm +++ b/code/modules/research/techweb/_techweb_node.dm @@ -90,11 +90,21 @@ var/list/boostlist = host.boosted_nodes[id] for(var/booster in boostlist) if(actual_costs[booster]) - var/delta = max(0, actual_costs[booster] - 250) - actual_costs[booster] -= min(boostlist[booster], delta) + actual_costs[booster] = max(actual_costs[booster] - boostlist[booster], 0) return actual_costs +/datum/techweb_node/proc/is_free(datum/techweb/host) + var/list/costs = get_price(host) + var/total_points = 0 + + for(var/point_type in costs) + total_points += costs[point_type] + + if(total_points == 0) + return TRUE + return FALSE + /datum/techweb_node/proc/price_display(datum/techweb/TN) return techweb_point_display_generic(get_price(TN)) diff --git a/code/modules/research/techweb/nodes/alien_nodes.dm b/code/modules/research/techweb/nodes/alien_nodes.dm index c5d21c255cf8e..58e8dbfc68f1f 100644 --- a/code/modules/research/techweb/nodes/alien_nodes.dm +++ b/code/modules/research/techweb/nodes/alien_nodes.dm @@ -73,6 +73,7 @@ "alien_saw", "alien_scalpel", "surgery_brainwashing", + "surgery_brainwashing_mechanic", "surgery_heal_combo_upgrade_femto", "surgery_zombie", ) diff --git a/code/modules/research/techweb/nodes/atmos_nodes.dm b/code/modules/research/techweb/nodes/atmos_nodes.dm index ef4fee5ed92a7..f1ec74b50f482 100644 --- a/code/modules/research/techweb/nodes/atmos_nodes.dm +++ b/code/modules/research/techweb/nodes/atmos_nodes.dm @@ -42,6 +42,12 @@ "pneumatic_seal", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) + experiments_to_unlock = list( + /datum/experiment/ordnance/gaseous/plasma, + /datum/experiment/ordnance/gaseous/nitrous_oxide, + /datum/experiment/ordnance/gaseous/bz, + /datum/experiment/ordnance/gaseous/noblium, + ) /datum/techweb_node/plasma_control id = TECHWEB_NODE_PLASMA_CONTROL @@ -77,7 +83,6 @@ "crystallizer", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) - required_experiments = list(/datum/experiment/ordnance/gaseous/bz) discount_experiments = list(/datum/experiment/ordnance/gaseous/nitrous_oxide = TECHWEB_TIER_3_POINTS) /datum/techweb_node/exp_tools @@ -99,7 +104,7 @@ "magboots", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) - discount_experiments = list(/datum/experiment/ordnance/gaseous/noblium = TECHWEB_TIER_4_POINTS) + discount_experiments = list(/datum/experiment/ordnance/gaseous/bz = TECHWEB_TIER_4_POINTS) /datum/techweb_node/rcd_upgrade id = TECHWEB_NODE_RCD_UPGRADE @@ -116,3 +121,4 @@ "rpd_upgrade_unwrench", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) + discount_experiments = list(/datum/experiment/ordnance/gaseous/noblium = TECHWEB_TIER_5_POINTS) diff --git a/code/modules/research/techweb/nodes/biology_nodes.dm b/code/modules/research/techweb/nodes/biology_nodes.dm index 3599dfb9fc5a1..7b553445a9c2a 100644 --- a/code/modules/research/techweb/nodes/biology_nodes.dm +++ b/code/modules/research/techweb/nodes/biology_nodes.dm @@ -44,7 +44,7 @@ "limbdesign_plasmaman", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) - required_experiments = list(/datum/experiment/scanning/cytology/slime) + discount_experiments = list(/datum/experiment/scanning/cytology/slime = TECHWEB_TIER_3_POINTS) /datum/techweb_node/gene_engineering id = TECHWEB_NODE_GENE_ENGINEERING diff --git a/code/modules/research/techweb/nodes/cyborg_nodes.dm b/code/modules/research/techweb/nodes/cyborg_nodes.dm index 0a4fa91429484..9c93405b2824a 100644 --- a/code/modules/research/techweb/nodes/cyborg_nodes.dm +++ b/code/modules/research/techweb/nodes/cyborg_nodes.dm @@ -11,6 +11,7 @@ "borg_l_leg", "borg_r_arm", "borg_r_leg", + "borg_suit", "cybernetic_eyes", "cybernetic_eyes_moth", "cybernetic_ears", @@ -32,7 +33,6 @@ "robocontrol", "borgupload", "cyborgrecharger", - "borg_suit", "mmi_posi", "mmi", "mmi_m", @@ -90,7 +90,7 @@ /datum/techweb_node/borg_utility id = TECHWEB_NODE_BORG_UTILITY - display_name = "Untility Cyborg Upgrades" + display_name = "Utility Cyborg Upgrades" description = "Let them wipe our floors for us." prereq_ids = list(TECHWEB_NODE_BORG_SERVICES, TECHWEB_NODE_SANITATION) design_ids = list( @@ -98,6 +98,7 @@ "borg_upgrade_broomer", "borg_upgrade_expand", "borg_upgrade_prt", + "borg_upgrade_plunger", "borg_upgrade_selfrepair", "borg_upgrade_thrusters", "borg_upgrade_trashofholding", diff --git a/code/modules/research/techweb/nodes/engi_nodes.dm b/code/modules/research/techweb/nodes/engi_nodes.dm index 0fe1b7bd75f33..949b880d1f23a 100644 --- a/code/modules/research/techweb/nodes/engi_nodes.dm +++ b/code/modules/research/techweb/nodes/engi_nodes.dm @@ -126,6 +126,7 @@ "firelock_board", "trapdoor_electronics", "blast", + "big_manipulator", "tile_sprayer", "airlock_painter", "decal_painter", diff --git a/code/modules/research/techweb/nodes/mech_nodes.dm b/code/modules/research/techweb/nodes/mech_nodes.dm index d6b7171d55b37..b09957076d712 100644 --- a/code/modules/research/techweb/nodes/mech_nodes.dm +++ b/code/modules/research/techweb/nodes/mech_nodes.dm @@ -254,7 +254,7 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) /datum/techweb_node/mech_equip_bluespace - id = TECHWEB_NODE_BLUESPACE + id = TECHWEB_NODE_MECH_EQUIP_BLUESPACE display_name = "Bluespace Exosuit Equipment" description = "An array of equipment empowered by bluespace, providing unmatched mobility and utility." prereq_ids = list(TECHWEB_NODE_MECH_INFILTRATOR, TECHWEB_NODE_BLUESPACE_TRAVEL) diff --git a/code/modules/research/techweb/nodes/medbay_nodes.dm b/code/modules/research/techweb/nodes/medbay_nodes.dm index f5b122ccd287d..fababbc55e748 100644 --- a/code/modules/research/techweb/nodes/medbay_nodes.dm +++ b/code/modules/research/techweb/nodes/medbay_nodes.dm @@ -84,7 +84,7 @@ id = TECHWEB_NODE_CRYOSTASIS display_name = "Cryostasis" description = "The result of clown accidentally drinking a chemical, now repurposed for safely preserving crew members in suspended animation." - prereq_ids = list(TECHWEB_NODE_FUSION) + prereq_ids = list(TECHWEB_NODE_MEDBAY_EQUIP_ADV, TECHWEB_NODE_FUSION) design_ids = list( "cryotube", "mech_sleeper", diff --git a/code/modules/research/techweb/nodes/modsuit_nodes.dm b/code/modules/research/techweb/nodes/modsuit_nodes.dm index 56addbad12723..955389f61aeba 100644 --- a/code/modules/research/techweb/nodes/modsuit_nodes.dm +++ b/code/modules/research/techweb/nodes/modsuit_nodes.dm @@ -12,6 +12,7 @@ "mod_gauntlets", "mod_boots", "mod_plating_standard", + "mod_plating_civilian", "mod_paint_kit", "mod_storage", "mod_plasma", diff --git a/code/modules/research/techweb/nodes/service_nodes.dm b/code/modules/research/techweb/nodes/service_nodes.dm index 1553f3a0c20d8..9c0d68b6b2bae 100644 --- a/code/modules/research/techweb/nodes/service_nodes.dm +++ b/code/modules/research/techweb/nodes/service_nodes.dm @@ -138,6 +138,7 @@ "reagentgrinder", "microwave_engineering", "smartfridge", + "dehydrator", "sheetifier", "fat_sucker", "dish_drive", @@ -167,6 +168,7 @@ "stabilized_hook", "auto_reel", "fish_analyzer", + "bluespace_fish_case", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) required_experiments = list(/datum/experiment/scanning/fish) diff --git a/code/modules/research/techweb/nodes/surgery_nodes.dm b/code/modules/research/techweb/nodes/surgery_nodes.dm index 0b8812191e2a9..4be7a3256ac70 100644 --- a/code/modules/research/techweb/nodes/surgery_nodes.dm +++ b/code/modules/research/techweb/nodes/surgery_nodes.dm @@ -32,6 +32,7 @@ "surgery_heal_burn_upgrade_femto", "surgery_heal_combo", "surgery_lobotomy", + "surgery_lobotomy_mechanic", "surgery_wing_reconstruction", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) @@ -44,15 +45,24 @@ prereq_ids = list(TECHWEB_NODE_SURGERY_ADV) design_ids = list( "surgery_cortex_folding", + "surgery_cortex_folding_mechanic", "surgery_cortex_imprint", + "surgery_cortex_imprint_mechanic", "surgery_heal_combo_upgrade", "surgery_ligament_hook", + "surgery_ligament_hook_mechanic", "surgery_ligament_reinforcement", + "surgery_ligament_reinforcement_mechanic", "surgery_muscled_veins", + "surgery_muscled_veins_mechanic", "surgery_nerve_ground", + "surgery_nerve_ground_mechanic", "surgery_nerve_splice", + "surgery_nerve_splice_mechanic", "surgery_pacify", + "surgery_pacify_mechanic", "surgery_vein_thread", + "surgery_vein_thread_mechanic", "surgery_viral_bond", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) diff --git a/code/modules/research/xenobiology/crossbreeding/consuming.dm b/code/modules/research/xenobiology/crossbreeding/consuming.dm index 5a23d30671f54..be8bba7ec66fa 100644 --- a/code/modules/research/xenobiology/crossbreeding/consuming.dm +++ b/code/modules/research/xenobiology/crossbreeding/consuming.dm @@ -226,30 +226,40 @@ Consuming extracts: icon_state = "bluespace" taste = "sugar and starlight" -/obj/item/slime_cookie/bluespace/do_effect(mob/living/M, mob/user) - var/list/L = get_area_turfs(get_area(get_turf(M))) +/obj/item/slime_cookie/bluespace/do_effect(mob/living/eater, mob/user) + var/area/eater_area = get_area(eater) + if (eater_area.area_flags & NOTELEPORT) + fail_effect(eater) + return + + var/list/area_turfs = get_area_turfs(get_area(get_turf(eater))) var/turf/target - while (L.len && !target) - var/I = rand(1, L.len) - var/turf/T = L[I] - if (is_centcom_level(T.z)) - L.Cut(I,I+1) + + while (length(area_turfs)) + var/turf/check_turf = pick_n_take(area_turfs) + if (is_centcom_level(check_turf.z)) + continue // Probably already filtered out by NOTELEPORT but let's just be careful + if (check_turf.is_blocked_turf()) continue - if(!T.density) - var/clear = TRUE - for(var/obj/O in T) - if(O.density) - clear = FALSE - break - if(clear) - target = T - if (!target) - L.Cut(I,I+1) - - if(target) - do_teleport(M, target, 0, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - new /obj/effect/particle_effect/sparks(get_turf(M)) - playsound(get_turf(M), SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + target = check_turf + break + + if (isnull(target)) + fail_effect(eater) + return + if (!do_teleport(eater, target, 0, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)) + fail_effect(eater) + return + new /obj/effect/particle_effect/sparks(target) + playsound(target, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + +/obj/item/slime_cookie/bluespace/proc/fail_effect(mob/living/eater) + eater.visible_message( + message = span_warning("[eater] briefly vanishes... then slams forcefully into the ground"), + self_message = span_warning("You briefly vanish... and are returned forcefully to the ground.") + ) + eater.Knockdown(0.1 SECONDS) + new /obj/effect/particle_effect/sparks(get_turf(eater)) /obj/item/slimecross/consuming/sepia colour = SLIME_TYPE_SEPIA diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 82beed78e439c..d04838f79ec0d 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -8,6 +8,7 @@ Regenerative extracts: desc = "It's filled with a milky substance, and pulses like a heartbeat." effect = "regenerative" icon_state = "regenerative" + effect_desc = "Completely heals your injuries, with no extra effects." /obj/item/slimecross/regenerative/proc/core_effect(mob/living/carbon/human/target, mob/user) return diff --git a/code/modules/research/xenobiology/vatgrowing/petri_dish.dm b/code/modules/research/xenobiology/vatgrowing/petri_dish.dm index 0187fa8eda359..cbae2d50e20a2 100644 --- a/code/modules/research/xenobiology/vatgrowing/petri_dish.dm +++ b/code/modules/research/xenobiology/vatgrowing/petri_dish.dm @@ -59,6 +59,7 @@ list(CELL_LINE_TABLE_COCKROACH, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 7), list(CELL_LINE_TABLE_BLOBBERNAUT, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) ) + name = "mystery petri dish" /obj/item/petri_dish/random/Initialize(mapload) . = ..() diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 9f22520d6ab10..6ec7fca37e362 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -715,13 +715,10 @@ if(!dumb_mob.compare_sentience_type(sentience_type)) // Will also return false if not a basic or simple mob, which are the only two we want anyway balloon_alert(user, "invalid creature!") return - if(isnull(potion_reason)) - balloon_alert(user, "no reason for offering set!") - return balloon_alert(user, "offering...") being_used = TRUE var/mob/chosen_one = SSpolling.poll_ghosts_for_target( - question = "[span_danger(user.name)] is offering [span_notice(dumb_mob.name)] an intelligence potion! Reason: [span_boldnotice(potion_reason)]", + question = "[span_danger(user.name)] is offering [span_notice(dumb_mob.name)] an intelligence potion![potion_reason ? " Reason: [span_boldnotice(potion_reason)]" : ""]", check_jobban = ROLE_SENTIENCE, poll_time = 20 SECONDS, checked_target = dumb_mob, @@ -799,7 +796,7 @@ user.do_attack_animation(interacting_with) prompted = 1 - if(tgui_alert(usr,"This will permanently transfer your consciousness to [switchy_mob]. Are you sure you want to do this?",,list("Yes","No")) == "No") + if(tgui_alert(usr,"This will permanently transfer your consciousness to [switchy_mob]. Are you sure you want to do this?",,list("Yes","No")) != "Yes") prompted = 0 return ITEM_INTERACT_BLOCKING diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index dc046d6fa6fb5..5746deeb38ad6 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -9,7 +9,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) /obj/machinery/keycard_auth name = "Keycard Authentication Device" desc = "This device is used to trigger station functions, which require more than one ID card to authenticate, or to give the Janitor access to a department." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/keycard_auth_table.dmi' icon_state = "auth_off" power_channel = AREA_USAGE_ENVIRON req_access = list(ACCESS_KEYCARD_AUTH) @@ -20,11 +20,8 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new) var/obj/machinery/keycard_auth/event_source var/mob/triggerer = null var/waiting = FALSE - COOLDOWN_DECLARE(access_grant_cooldown) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) - /obj/machinery/keycard_auth/Initialize(mapload) . = ..() activated = GLOB.keycard_events.addEvent("triggerEvent", CALLBACK(src, PROC_REF(triggerEvent))) @@ -62,7 +59,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) return UI_CLOSE return ..() -/obj/machinery/keycard_auth/ui_act(action, params) +/obj/machinery/keycard_auth/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(. || waiting || !allowed(usr)) return @@ -158,6 +155,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) if(KEYCARD_BSA_UNLOCK) toggle_bluespace_artillery() +/// Subtype which is stuck to a wall +/obj/machinery/keycard_auth/wall_mounted + icon = 'icons/obj/machines/keycard.dmi' + +_WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth/wall_mounted, 34, 0, 2, 12, -14, 16) + +/obj/machinery/keycard_auth/wall_mounted/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + GLOBAL_VAR_INIT(emergency_access, FALSE) /proc/make_maint_all_access() for(var/area/station/maintenance/area in GLOB.areas) diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index cf53fef368c1b..5ce62f8c04226 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -174,7 +174,7 @@ else return SHUTTLE_CONSOLE_ERROR -/obj/machinery/computer/shuttle/ui_act(action, params) +/obj/machinery/computer/shuttle/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 6740424cf801a..a0ff4f7ef9aaa 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -662,7 +662,7 @@ name = "pod control computer" locked = TRUE possible_destinations = "pod_asteroid" - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/pod_computer.dmi' icon_state = "pod_off" circuit = /obj/item/circuitboard/computer/emergency_pod light_color = LIGHT_COLOR_BLUE @@ -755,12 +755,13 @@ name = "emergency space helmet" icon_state = "syndicate-helm-orange" inhand_icon_state = "syndicate-helm-orange" + slowdown = 1.5 /obj/item/clothing/suit/space/orange name = "emergency space suit" icon_state = "syndicate-orange" inhand_icon_state = "syndicate-orange" - slowdown = 3 + slowdown = 1.5 /obj/item/pickaxe/emergency name = "emergency disembarkation tool" @@ -775,11 +776,15 @@ icon_state = "wall_safe_locked" var/unlocked = FALSE +/obj/item/storage/pod/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + /obj/item/storage/pod/update_icon_state() . = ..() icon_state = "wall_safe[unlocked ? "" : "_locked"]" -MAPPING_DIRECTIONAL_HELPERS(/obj/item/storage/pod, 32) +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/item/storage/pod) /obj/item/storage/pod/PopulateContents() new /obj/item/clothing/head/helmet/space/orange(src) diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index d3184cc96c62f..2a78d8210346f 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -107,7 +107,7 @@ var/y_off = shuttle_turf.y - origin.y I.loc = locate(origin.x + x_off, origin.y + y_off, origin.z) //we have to set this after creating the image because it might be null, and images created in nullspace are immutable. I.layer = ABOVE_NORMAL_TURF_LAYER - SET_PLANE(I, ABOVE_GAME_PLANE, shuttle_turf) + SET_PLANE(I, GAME_PLANE, shuttle_turf) I.mouse_opacity = MOUSE_OPACITY_TRANSPARENT the_eye.placement_images[I] = list(x_off, y_off) @@ -194,7 +194,7 @@ var/image/newI = image('icons/effects/alphacolors.dmi', the_eye.loc, "blue") newI.loc = place_spots.loc //It is highly unlikely that any landing spot including a null tile will get this far, but better safe than sorry. newI.layer = NAVIGATION_EYE_LAYER - SET_PLANE_EXPLICIT(newI, ABOVE_GAME_PLANE, place_spots) + SET_PLANE_EXPLICIT(newI, GAME_PLANE, place_spots) newI.mouse_opacity = 0 the_eye.placed_images += newI diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 4c73b7bd2634b..fc8b56476ad98 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -327,7 +327,7 @@ All ShuttleMove procs go here /obj/structure/ladder/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() if (!(resistance_flags & INDESTRUCTIBLE)) - LateInitialize() + LateInitialize(/* mapload = */ FALSE) /obj/structure/ladder/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) if (resistance_flags & INDESTRUCTIBLE) diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index 54426bc9ae0ac..824c1843bac71 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -8,7 +8,6 @@ anchored = TRUE density = FALSE layer = RIPPLE_LAYER - plane = ABOVE_GAME_PLANE mouse_opacity = MOUSE_OPACITY_ICON alpha = 0 diff --git a/code/modules/shuttle/shuttle_events/_shuttle_events.dm b/code/modules/shuttle/shuttle_events/_shuttle_events.dm index 35b00ac3e790a..f809e274dc601 100644 --- a/code/modules/shuttle/shuttle_events/_shuttle_events.dm +++ b/code/modules/shuttle/shuttle_events/_shuttle_events.dm @@ -69,6 +69,11 @@ var/list/target_corner //Top left or bottom right corner var/list/spawn_offset //bounding_coords is ONLY the shuttle, not the space around it, so offset spawn_tiles or stuff spawns on the walls of the shuttle + // Bounding coords sticky to either the top right or bottom left corner of the template, depending on proximity to docking port + // If we sticky to the bottom right corner, then [1] and [2] will be the bottom right corner, so we need to invert it + if(bounding_coords[1] > bounding_coords[3]) + bounding_coords = list(bounding_coords[3], bounding_coords[4], bounding_coords[1], bounding_coords[2]) + switch(direction) if(NORTH) //we're travelling north (so people get pushed south) step_dir = list(1, 0) @@ -101,7 +106,6 @@ //Get the corner tile, but jump over the shuttle and then continue unto the cordon spawning_turfs_miss.Add(locate(target_corner[1] + corner_delta[1] * step_dir[1] + step_dir[1] * i + spawn_offset[1], target_corner[2] + corner_delta[2] * step_dir[2] + step_dir[2] * i + spawn_offset[2], port.z)) - /datum/shuttle_event/simple_spawner/event_process() . = ..() diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 01657d2ebb976..72096f7bb9bfb 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -81,12 +81,11 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( if(!length(stuff_to_send_home)) return FALSE - var/obj/structure/closet/supplypod/centcompod/et_go_home = new() - - for(var/atom/movable/et as anything in stuff_to_send_home) - et.forceMove(et_go_home) - - new /obj/effect/pod_landingzone(get_turf(home), et_go_home) + podspawn(list( + "target" = get_turf(home), + "path" = /obj/structure/closet/supplypod/centcompod, + "spawn" = stuff_to_send_home, + )) return stuff_to_send_home diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 08e0b0d269950..e5f4b0e65d9d4 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -34,7 +34,7 @@ /obj/machinery/computer/shuttle/syndicate/drop_pod name = "syndicate assault pod control" desc = "Controls the drop pod's launch system." - icon = 'icons/obj/machines/wallmounts.dmi' + icon = 'icons/obj/machines/pod_computer.dmi' icon_state = "pod_off" icon_keyboard = null icon_screen = "pod_on" diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index f76ecb104e72b..b72abea937ed6 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -248,7 +248,7 @@ if(HAS_TRAIT(cast_loc, TRAIT_CASTABLE_LOC)) if(HAS_TRAIT(cast_loc, TRAIT_SPELLS_TRANSFER_TO_LOC) && ismob(cast_loc.loc)) return cast_loc.loc - else + else return cast_loc // They're in an atom which allows casting, so redirect the caster to loc diff --git a/code/modules/spells/spell_types/pointed/terrorize.dm b/code/modules/spells/spell_types/pointed/terrorize.dm index 33465b1d35348..699410b9a3c6b 100644 --- a/code/modules/spells/spell_types/pointed/terrorize.dm +++ b/code/modules/spells/spell_types/pointed/terrorize.dm @@ -1,6 +1,6 @@ /datum/action/cooldown/spell/pointed/terrorize name = "Terrorize" - desc = "Project yourself into a victim's mind, inflictng them with terror buildup. \ + desc = "Project yourself into a victim's mind, inflicting them with terror buildup. \ Prey will become increasingly terrified. Swatting terrified prey with an open hand will \ scare and disorient them." button_icon_state = "terrify" diff --git a/code/modules/spells/spell_types/pointed/tie_shoes.dm b/code/modules/spells/spell_types/pointed/tie_shoes.dm new file mode 100644 index 0000000000000..5783717d0e72b --- /dev/null +++ b/code/modules/spells/spell_types/pointed/tie_shoes.dm @@ -0,0 +1,137 @@ + +/datum/action/cooldown/spell/pointed/untie_shoes + name = "Untie Shoes" + desc = "This unassuming spell unties and then knots the target's shoes." + ranged_mousepointer = 'icons/effects/mouse_pointers/lace.dmi' + button_icon_state = "lace" + + school = SCHOOL_CONJURATION + cooldown_time = 3 SECONDS + cooldown_reduction_per_rank = 0.2 SECONDS + + spell_max_level = 4 + invocation = "Acetato!" + invocation_type = INVOCATION_SHOUT + spell_requirements = NONE + antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY + + cast_range = INFINITY + active_msg = "You prepare to tie your target's shoes!" + + /// Ignores inability to tie laces, such as jackboots, magboots, or sandals. + var/bypass_tie_status = FALSE + /// Summons shoes to untie if the target has none. + var/summons_shoes = FALSE + +/datum/action/cooldown/spell/pointed/untie_shoes/New(Target) + . = ..() + // tgs first spell with multiple invocations!!!!!! + invocation = pick("Acetato!", "Agaletto!") + +/datum/action/cooldown/spell/pointed/untie_shoes/level_spell(bypass_cap) + . = ..() + if(spell_level == 2) + bypass_tie_status = TRUE + to_chat(owner, span_notice("You will now summon laces on laceless shoes, such as jackboots.")) + + if(spell_level == 3) + summons_shoes = TRUE + to_chat(owner, span_notice("You will now summon shoes if your target has none.")) + + if(spell_level == 4) + invocation_type = INVOCATION_NONE + to_chat(owner, span_boldnotice("Your invocations are now silent!")) + +/datum/action/cooldown/spell/pointed/untie_shoes/is_valid_target(atom/cast_on) + return isliving(cast_on) + +// We need to override this, as trying to change next_use_time in cast() will just result in it being overridden. +/datum/action/cooldown/spell/touch/before_cast(atom/cast_on) + return ..() | SPELL_NO_IMMEDIATE_COOLDOWN + +/datum/action/cooldown/spell/pointed/untie_shoes/cast(mob/living/carbon/cast_on) + . = ..() + if(cast_on.can_block_magic(antimagic_flags)) + to_chat(owner, span_warning("The spell had no effect!")) + return FALSE + + if(isanimal_or_basicmob(cast_on)) + cast_on.add_movespeed_modifier(/datum/movespeed_modifier/magic_ties) + addtimer(CALLBACK(cast_on, TYPE_PROC_REF(/mob/living, remove_movespeed_modifier), /datum/movespeed_modifier/magic_ties), 3 SECONDS * spell_level, TIMER_UNIQUE|TIMER_OVERRIDE) + to_chat(owner, span_warning("You tie [cast_on] with weak, magic laces!")) + if(invocation_type != INVOCATION_NONE) // extra feedback since it's weird for them + cast_on.balloon_alert_to_viewers("magically tied!") + else + cast_on.balloon_alert(owner, "magically tied!") + playsound(cast_on, 'sound/magic/summonitems_generic.ogg', 50, TRUE) + return TRUE + + var/shoe_to_cast = /obj/item/clothing/shoes/sneakers/random + + if(HAS_TRAIT(owner, TRAIT_CHUUNIBYOU)) + shoe_to_cast = /obj/item/clothing/shoes/sneakers/marisa + if(HAS_TRAIT(owner, TRAIT_SPLATTERCASTER)) + shoe_to_cast = /obj/item/clothing/shoes/laceup + + var/obj/item/clothing/shoes/shoes_to_tie = cast_on.shoes + + if(isnull(shoes_to_tie)) + if(!summons_shoes) + to_chat(owner, span_warning("[cast_on] isn't wearing any shoes!")) + return FALSE + + shoes_to_tie = new shoe_to_cast(cast_on) + if(!cast_on.equip_to_slot_or_del(shoes_to_tie, ITEM_SLOT_FEET)) + to_chat(owner, span_warning("Couldn't equip shoes on [cast_on]!")) + return FALSE + + if(invocation_type != INVOCATION_NONE) + playsound(cast_on, 'sound/magic/summonitems_generic.ogg', 50, TRUE) + + switch(shoes_to_tie.tied) + if(SHOES_TIED) + if(!shoes_to_tie.can_be_tied) + if(bypass_tie_status) + to_chat(owner, span_warning("You magically grant laces to [cast_on]'s shoes!")) + cast_on.balloon_alert(owner, "laced!") + shoes_to_tie.can_be_tied = TRUE + if(invocation_type != INVOCATION_NONE) + playsound(cast_on, 'sound/magic/summonitems_generic.ogg', 50, TRUE) + return TRUE + else + to_chat(owner, span_warning("[cast_on] is wearing laceless shoes!")) + cast_on.balloon_alert(owner, "laceless!") + return FALSE + + to_chat(owner, span_warning("You untie [cast_on]'s shoes!")) + cast_on.balloon_alert(owner, "untied!") + shoes_to_tie.adjust_laces(SHOES_UNTIED, force_lacing = TRUE) + if(SHOES_UNTIED) + to_chat(owner, span_warning("You knot [cast_on]'s laces!")) + cast_on.balloon_alert(owner, "knotted!") + shoes_to_tie.adjust_laces(SHOES_KNOTTED, force_lacing = TRUE) + if(SHOES_KNOTTED) + to_chat(owner, span_warning("[cast_on]'s laces are already knotted!")) + return FALSE + +// We need to override this, as trying to change next_use_time in cast() will just result in it being overridden. +/datum/action/cooldown/spell/pointed/untie_shoes/after_cast(atom/cast_on) + . = ..() + var/extra_time = 0 SECONDS + if((cast_on.z != owner.z) || get_dist(cast_on, owner) > 7) + extra_time += cooldown_time * 10 // :) + + StartCooldown(cooldown_time + extra_time) + +/datum/action/cooldown/spell/pointed/untie_shoes/get_spell_title() + switch(spell_level) + if(2) + return "Laceless " + if(3) + return "Prankster's " + if(4) + return "Sneakerly " + if(5) + return "Clown's Own " + + return "" diff --git a/code/modules/spells/spell_types/self/rod_form.dm b/code/modules/spells/spell_types/self/rod_form.dm index 5336036cd2c51..9989c4420c086 100644 --- a/code/modules/spells/spell_types/self/rod_form.dm +++ b/code/modules/spells/spell_types/self/rod_form.dm @@ -122,7 +122,7 @@ return TRUE /** - * Called when the wizard rod reaches it's maximum distance + * Called when the wizard rod reaches its maximum distance * or is otherwise stopped by something. * Dumps out the wizard, and deletes. */ diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index e2feaa2bc26ed..36aa3e07a5584 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -200,13 +200,6 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE) top_layer.icon_state = "top_east" add_overlay(top_layer) -/obj/machinery/bsa/full/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) - if(same_z_layer) - return ..() - cut_overlay(top_layer) - get_layer() - return ..() - /obj/machinery/bsa/full/proc/fire(mob/user, turf/bullseye) reload() @@ -299,7 +292,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE) data["target"] = get_target_name() return data -/obj/machinery/computer/bsa_control/ui_act(action, params) +/obj/machinery/computer/bsa_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 6c2661bbe2237..5a14c0e16b66d 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -164,7 +164,7 @@ data["choiceB"] = initial(mutation2.name) return data -/obj/machinery/dna_vault/ui_act(action, params) +/obj/machinery/dna_vault/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/surgery/advanced/bioware/cortex_folding.dm b/code/modules/surgery/advanced/bioware/cortex_folding.dm index 73792575a7bcf..2e20f0906acdd 100644 --- a/code/modules/surgery/advanced/bioware/cortex_folding.dm +++ b/code/modules/surgery/advanced/bioware/cortex_folding.dm @@ -14,6 +14,21 @@ status_effect_gained = /datum/status_effect/bioware/cortex/folded +/datum/surgery/advanced/bioware/cortex_folding/mechanic + name = "Wetware OS Labyrinthian Programming" + desc = "A robotic upgrade which reprograms the patient's neural network in a downright eldritch programming language, giving space to non-standard neural patterns." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/fold_cortex, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/advanced/bioware/cortex_folding/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/brain/target_brain = target.get_organ_slot(ORGAN_SLOT_BRAIN) if(!target_brain) diff --git a/code/modules/surgery/advanced/bioware/cortex_imprint.dm b/code/modules/surgery/advanced/bioware/cortex_imprint.dm index 26b43ee691f85..27a75a261674d 100644 --- a/code/modules/surgery/advanced/bioware/cortex_imprint.dm +++ b/code/modules/surgery/advanced/bioware/cortex_imprint.dm @@ -14,6 +14,22 @@ status_effect_gained = /datum/status_effect/bioware/cortex/imprinted +/datum/surgery/advanced/bioware/cortex_imprint/mechanic + name = "Wetware OS Ver 2.0" + desc = "A robotic upgrade which updates the patient's operating system to the 'latest version', whatever that means, making the brain able to bypass damage caused by minor brain traumas. \ + Shame about all the adware." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/imprint_cortex, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/advanced/bioware/cortex_imprint/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/brain/target_brain = target.get_organ_slot(ORGAN_SLOT_BRAIN) if(!target_brain) diff --git a/code/modules/surgery/advanced/bioware/ligament_hook.dm b/code/modules/surgery/advanced/bioware/ligament_hook.dm index b4a8b168a2e8c..8cae41a960216 100644 --- a/code/modules/surgery/advanced/bioware/ligament_hook.dm +++ b/code/modules/surgery/advanced/bioware/ligament_hook.dm @@ -15,6 +15,22 @@ status_effect_gained = /datum/status_effect/bioware/ligaments/hooked +/datum/surgery/advanced/bioware/ligament_hook/mechanic + name = "Anchor Point Snaplocks" + desc = "A robotic upgrade which installs rapid detachment anchor points, making it so limbs can be attached manually if detached. \ + However this weakens the connection, making them easier to detach as well." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/reshape_ligaments, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/apply_bioware/reshape_ligaments name = "reshape ligaments (hand)" diff --git a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm index 27f4674c7b65f..02a9eb15e818f 100644 --- a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm +++ b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm @@ -15,6 +15,22 @@ status_effect_gained = /datum/status_effect/bioware/ligaments/reinforced +/datum/surgery/advanced/bioware/ligament_reinforcement/mechanic + name = "Anchor Point Reinforcement" + desc = "A surgical procedure which adds reinforced limb anchor points to the patient's chassis, preventing dismemberment. \ + However, the nerve connections as a result are more easily interrupted, making it easier to disable limbs with damage." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/reinforce_ligaments, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/apply_bioware/reinforce_ligaments name = "reinforce ligaments (hand)" diff --git a/code/modules/surgery/advanced/bioware/muscled_veins.dm b/code/modules/surgery/advanced/bioware/muscled_veins.dm index 13355a569481b..05fb341d06cd2 100644 --- a/code/modules/surgery/advanced/bioware/muscled_veins.dm +++ b/code/modules/surgery/advanced/bioware/muscled_veins.dm @@ -14,6 +14,21 @@ status_effect_gained = /datum/status_effect/bioware/heart/muscled_veins +/datum/surgery/advanced/bioware/muscled_veins/mechanic + name = "Hydraulics Redundancy Subroutine" + desc = "A robotic upgrade which adds sophisticated hydraulics redundancies, allowing a patient to pump hydraulic fluid without an engine." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/muscled_veins, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/apply_bioware/muscled_veins name = "shape vein muscles (hand)" diff --git a/code/modules/surgery/advanced/bioware/nerve_grounding.dm b/code/modules/surgery/advanced/bioware/nerve_grounding.dm index b0879bb07344b..611c4bbab7858 100644 --- a/code/modules/surgery/advanced/bioware/nerve_grounding.dm +++ b/code/modules/surgery/advanced/bioware/nerve_grounding.dm @@ -14,6 +14,21 @@ status_effect_gained = /datum/status_effect/bioware/nerves/grounded +/datum/surgery/advanced/bioware/nerve_grounding/mechanic + name = "System Shock Dampening" + desc = "A robotic upgrade which installs grounding rods into the robotic patient's system, protecting them from electrical shocks." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/ground_nerves, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/apply_bioware/ground_nerves name = "ground nerves (hand)" time = 15.5 SECONDS diff --git a/code/modules/surgery/advanced/bioware/nerve_splicing.dm b/code/modules/surgery/advanced/bioware/nerve_splicing.dm index 5962f8280095a..3481e6e08a3a9 100644 --- a/code/modules/surgery/advanced/bioware/nerve_splicing.dm +++ b/code/modules/surgery/advanced/bioware/nerve_splicing.dm @@ -14,6 +14,21 @@ status_effect_gained = /datum/status_effect/bioware/nerves/spliced +/datum/surgery/advanced/bioware/nerve_splicing/mechanic + name = "System Automatic Reset Subroutine" + desc = "A robotic upgrade which upgrades a robotic patient's automatic systems, making them more resistant to stuns." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/splice_nerves, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/apply_bioware/splice_nerves name = "splice nerves (hand)" time = 15.5 SECONDS diff --git a/code/modules/surgery/advanced/bioware/vein_threading.dm b/code/modules/surgery/advanced/bioware/vein_threading.dm index ee83ddbba4d96..9eced408beb74 100644 --- a/code/modules/surgery/advanced/bioware/vein_threading.dm +++ b/code/modules/surgery/advanced/bioware/vein_threading.dm @@ -14,6 +14,21 @@ status_effect_gained = /datum/status_effect/bioware/heart/threaded_veins +/datum/surgery/advanced/bioware/vein_threading/mechanic + name = "Hydraulics Routing Optimization" + desc = "A robotic upgrade which severely reduces the amount of hydraulic fluid lost in case of injury." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/apply_bioware/thread_veins, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/apply_bioware/thread_veins name = "thread veins (hand)" diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index 69b2a3d83c7e0..21870ae57b8df 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -1,7 +1,10 @@ /obj/item/disk/surgery/brainwashing name = "Brainwashing Surgery Disk" desc = "The disk provides instructions on how to impress an order on a brain, making it the primary objective of the patient." - surgeries = list(/datum/surgery/advanced/brainwashing) + surgeries = list( + /datum/surgery/advanced/brainwashing, + /datum/surgery/advanced/brainwashing/mechanic, + ) /datum/surgery/advanced/brainwashing name = "Brainwashing" @@ -16,6 +19,19 @@ /datum/surgery_step/close, ) +/datum/surgery/advanced/brainwashing/mechanic + name = "Reprogramming" + desc = "Malware which directly implants a directive into the robotic patient's operating system, making it their absolute priority. It can be cleared using a mindshield implant." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/brainwash/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/advanced/brainwashing/can_start(mob/user, mob/living/carbon/target) if(!..()) return FALSE @@ -37,6 +53,17 @@ failure_sound = 'sound/surgery/organ2.ogg' var/objective +/datum/surgery_step/brainwash/mechanic + name = "reprogram (multitool)" + implements = list( + TOOL_MULTITOOL = 85, + TOOL_HEMOSTAT = 50, + TOOL_WIRECUTTER = 50, + /obj/item/stack/package_wrap = 35, + /obj/item/stack/cable_coil = 15) + preop_sound = 'sound/items/taperecorder/tape_flip.ogg' + success_sound = 'sound/items/taperecorder/taperecorder_close.ogg' + /datum/surgery_step/brainwash/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) objective = tgui_input_text(user, "Choose the objective to imprint on your victim's brain", "Brainwashing") if(!objective) @@ -54,7 +81,7 @@ if(!target.mind) to_chat(user, span_warning("[target] doesn't respond to the brainwashing, as if [target.p_they()] lacked a mind...")) return FALSE - if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) + if(HAS_MIND_TRAIT(target, TRAIT_UNCONVERTABLE)) to_chat(user, span_warning("You hear a faint buzzing from a device inside [target]'s brain, and the brainwashing is erased.")) return FALSE display_results( diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm index b36bcee140a5d..1c82052fe98b1 100644 --- a/code/modules/surgery/advanced/lobotomy.dm +++ b/code/modules/surgery/advanced/lobotomy.dm @@ -2,7 +2,6 @@ name = "Lobotomy" desc = "An invasive surgical procedure which guarantees removal of almost all brain traumas, but might cause another permanent trauma in return." possible_locs = list(BODY_ZONE_HEAD) - requires_bodypart_type = NONE steps = list( /datum/surgery_step/incise, /datum/surgery_step/retract_skin, @@ -12,6 +11,19 @@ /datum/surgery_step/close, ) +/datum/surgery/advanced/lobotomy/mechanic + name = "Wetware OS Destructive Defragmentation" + desc = "A destructive robotic defragmentation method which guarantees removal of almost all brain traumas, but might cause another permanent trauma in return." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/lobotomize/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/advanced/lobotomy/can_start(mob/user, mob/living/carbon/target) . = ..() if(!.) @@ -36,6 +48,18 @@ failure_sound = 'sound/surgery/organ2.ogg' surgery_effects_mood = TRUE +/datum/surgery_step/lobotomize/mechanic + name = "execute neural defragging (multitool)" + implements = list( + TOOL_MULTITOOL = 85, + /obj/item/melee/energy/sword = 55, + /obj/item/knife = 35, + /obj/item/shard = 25, + /obj/item = 20, + ) + preop_sound = 'sound/items/taperecorder/tape_flip.ogg' + success_sound = 'sound/items/taperecorder/taperecorder_close.ogg' + /datum/surgery_step/lobotomize/tool_check(mob/user, obj/item/tool) if(implement_type == /obj/item && !tool.get_sharpness()) return FALSE diff --git a/code/modules/surgery/advanced/pacification.dm b/code/modules/surgery/advanced/pacification.dm index 48a2d1c88e664..6db290e1df715 100644 --- a/code/modules/surgery/advanced/pacification.dm +++ b/code/modules/surgery/advanced/pacification.dm @@ -2,7 +2,6 @@ name = "Pacification" desc = "A surgical procedure which permanently inhibits the aggression center of the brain, making the patient unwilling to cause direct harm." possible_locs = list(BODY_ZONE_HEAD) - requires_bodypart_type = NONE steps = list( /datum/surgery_step/incise, /datum/surgery_step/retract_skin, @@ -12,6 +11,19 @@ /datum/surgery_step/close, ) +/datum/surgery/advanced/pacify/mechanic + name = "Aggression Suppression Programming" + desc = "Malware which permanently inhibits the aggression programming of the patient's neural network, making the patient unwilling to cause direct harm." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/pacify/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/advanced/pacify/can_start(mob/user, mob/living/carbon/target) . = ..() var/obj/item/organ/internal/brain/target_brain = target.get_organ_slot(ORGAN_SLOT_BRAIN) @@ -23,12 +35,24 @@ implements = list( TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, - /obj/item/pen = 15) + /obj/item/pen = 15, + ) time = 40 preop_sound = 'sound/surgery/hemostat1.ogg' success_sound = 'sound/surgery/hemostat1.ogg' failure_sound = 'sound/surgery/organ2.ogg' +/datum/surgery_step/pacify/mechanic + name = "delete aggression programming (multitool)" + implements = list( + TOOL_MULTITOOL = 100, + TOOL_HEMOSTAT = 35, + TOOL_SCREWDRIVER = 35, + /obj/item/pen = 15, + ) + preop_sound = 'sound/items/taperecorder/tape_flip.ogg' + success_sound = 'sound/items/taperecorder/taperecorder_close.ogg' + /datum/surgery_step/pacify/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index cd2910f4d1127..16045a760324c 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -1,7 +1,6 @@ /datum/surgery/amputation name = "Amputation" - requires_bodypart_type = NONE surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_MORBID_CURIOSITY possible_locs = list( BODY_ZONE_R_ARM, @@ -19,6 +18,22 @@ /datum/surgery_step/sever_limb, ) +/datum/surgery/amputation/mechanic + name = "Disassemble" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/sever_limb/mechanic, //The benefit of being robotic; people can pull you apart in an instant! Wait, that's not a benefit... + ) + +/datum/surgery/amputation/peg + name = "Detach" + requires_bodypart_type = BODYTYPE_PEG + steps = list( + /datum/surgery_step/sever_limb/peg, //Easy come, easy go + ) + /datum/surgery/amputation/can_start(mob/user, mob/living/patient) if(HAS_TRAIT(patient, TRAIT_NODISMEMBER)) return FALSE @@ -34,12 +49,39 @@ /obj/item/melee/arm_blade = 80, /obj/item/fireaxe = 50, /obj/item/hatchet = 40, - /obj/item/knife/butcher = 25) + /obj/item/knife/butcher = 25, + ) time = 64 preop_sound = 'sound/surgery/scalpel1.ogg' success_sound = 'sound/surgery/organ2.ogg' surgery_effects_mood = TRUE +/datum/surgery_step/sever_limb/mechanic + name = "detach limb (wrench or crowbar)" + implements = list( + /obj/item/shovel/giant_wrench = 300, + TOOL_WRENCH = 100, + TOOL_CROWBAR = 100, + TOOL_SCALPEL = 50, + TOOL_SAW = 50, + ) + time = 20 //WAIT I NEED THAT!! + preop_sound = 'sound/items/ratchet.ogg' + preop_sound = 'sound/machines/doorclick.ogg' + +/datum/surgery_step/sever_limb/peg + name = "detach limb (circular saw)" + implements = list( + TOOL_SAW = 100, + /obj/item/shovel/serrated = 100, + /obj/item/fireaxe = 90, + /obj/item/hatchet = 75, + TOOL_SCALPEL = 25, + ) + time = 30 + preop_sound = 'sound/surgery/saw.ogg' + success_sound = 'sound/items/wood_drop.ogg' + /datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, diff --git a/code/modules/surgery/autopsy.dm b/code/modules/surgery/autopsy.dm index 6ff32f8b465c9..d0ada2dce55b1 100644 --- a/code/modules/surgery/autopsy.dm +++ b/code/modules/surgery/autopsy.dm @@ -9,6 +9,16 @@ /datum/surgery_step/close, ) +/datum/surgery/autopsy/mechanic + name = "System Failure Analysis" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/autopsy, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/autopsy/can_start(mob/user, mob/living/patient) if(!..()) return FALSE diff --git a/code/modules/surgery/blood_filter.dm b/code/modules/surgery/blood_filter.dm index 577e23cee1cba..81af19c96213f 100644 --- a/code/modules/surgery/blood_filter.dm +++ b/code/modules/surgery/blood_filter.dm @@ -9,6 +9,19 @@ /datum/surgery_step/close, ) + +/datum/surgery/blood_filter/mechanic + name = "Hydraulics Purge" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/filter_blood, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/blood_filter/can_start(mob/user, mob/living/carbon/target) if(HAS_TRAIT(target, TRAIT_HUSK)) //You can filter the blood of a dead person just not husked return FALSE diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 06599c2fb4809..296f818e58744 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -115,6 +115,8 @@ ///the type of damage overlay (if any) to use when this bodypart is bruised/burned. var/dmg_overlay_type = "human" + ///a color (optionally matrix) for the damage overlays to give the limb + var/damage_overlay_color /// If we're bleeding, which icon are we displaying on this part var/bleed_overlay_icon @@ -181,7 +183,7 @@ ///Determines the accuracy bonus, armor penetration and knockdown probability. var/unarmed_effectiveness = 10 - /// Traits that are given to the holder of the part. If you want an effect that changes this, don't add directly to this. Use the add_bodypart_trait() proc + /// Traits that are given to the holder of the part. This does not update automatically on life(), only when the organs are initially generated or inserted! var/list/bodypart_traits = list() /// The name of the trait source that the organ gives. Should not be altered during the events of gameplay, and will cause problems if it is. var/bodypart_trait_source = BODYPART_TRAIT @@ -199,6 +201,8 @@ var/any_existing_wound_can_mangle_our_interior /// get_damage() / total_damage must surpass this to allow our limb to be disabled, even temporarily, by an EMP. var/robotic_emp_paralyze_damage_percent_threshold = 0.3 + /// A potential texturing overlay to put on the limb + var/datum/bodypart_overlay/texture/texture_bodypart_overlay /obj/item/bodypart/apply_fantasy_bonuses(bonus) . = ..() @@ -224,6 +228,10 @@ RegisterSignal(src, COMSIG_ATOM_RESTYLE, PROC_REF(on_attempt_feature_restyle)) + if(texture_bodypart_overlay) + texture_bodypart_overlay = new texture_bodypart_overlay() + add_bodypart_overlay(texture_bodypart_overlay) + if(!IS_ORGANIC_LIMB(src)) grind_results = null @@ -945,7 +953,7 @@ if(should_draw_greyscale) //Should the limb be colored? draw_color ||= species_color || (skin_tone ? skintone2hex(skin_tone) : null) - recolor_external_organs() + recolor_bodypart_overlays() return TRUE //to update the bodypart's icon when not attached to a mob @@ -1059,7 +1067,8 @@ for(var/external_layer in overlay.all_layers) if(overlay.layers & external_layer) . += overlay.get_overlay(external_layer, src) - + for(var/datum/layer in .) + overlay.modify_bodypart_appearance(layer) return . /obj/item/bodypart/proc/huskify_image(image/thing_to_husk, draw_blood = TRUE) @@ -1139,7 +1148,7 @@ refresh_bleed_rate() /// Refresh the cache of our rate of bleeding sans any modifiers -/// ANYTHING ADDED TO THIS PROC NEEDS TO CALL IT WHEN IT'S EFFECT CHANGES +/// ANYTHING ADDED TO THIS PROC NEEDS TO CALL IT WHEN ITS EFFECT CHANGES /obj/item/bodypart/proc/refresh_bleed_rate() SHOULD_NOT_OVERRIDE(TRUE) @@ -1265,7 +1274,7 @@ QDEL_NULL(current_gauze) ///Loops through all of the bodypart's external organs and update's their color. -/obj/item/bodypart/proc/recolor_external_organs() +/obj/item/bodypart/proc/recolor_bodypart_overlays() for(var/datum/bodypart_overlay/mutant/overlay in bodypart_overlays) overlay.inherit_color(src, force = TRUE) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 1fa6db17e5a54..c656daeb18445 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -4,7 +4,7 @@ return FALSE return TRUE -///Remove target limb from it's owner, with side effects. +///Remove target limb from its owner, with side effects. /obj/item/bodypart/proc/dismember(dam_type = BRUTE, silent=TRUE, wounding_type) if(!owner || (bodypart_flags & BODYPART_UNREMOVABLE)) return FALSE @@ -404,12 +404,12 @@ qdel(phantom_loss) //Copied from /datum/species/proc/on_species_gain() - for(var/obj/item/organ/external/organ_path as anything in dna.species.external_organs) + for(var/obj/item/organ/organ_path as anything in dna.species.mutant_organs) //Load a persons preferences from DNA var/zone = initial(organ_path.zone) if(zone != limb_zone) continue - var/obj/item/organ/external/new_organ = SSwardrobe.provide_type(organ_path) + var/obj/item/organ/new_organ = SSwardrobe.provide_type(organ_path) new_organ.Insert(src) update_body_parts() diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index a0955af4e46c8..dec8efb154eae 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -178,22 +178,22 @@ if(new_bodypart) new_bodypart.update_limb(is_creating = TRUE) -/// Makes sure that the owner's bodytype flags match the flags of all of it's parts and organs +/// Makes sure that the owner's bodytype flags match the flags of all of its parts and organs /mob/living/carbon/proc/synchronize_bodytypes() var/all_limb_flags = NONE for(var/obj/item/bodypart/limb as anything in bodyparts) - for(var/obj/item/organ/external/ext_organ in limb) - all_limb_flags |= ext_organ.external_bodytypes + for(var/obj/item/organ/organ in limb) + all_limb_flags |= organ.external_bodytypes all_limb_flags |= limb.bodytype bodytype = all_limb_flags -/// Makes sure that the owner's bodyshape flags match the flags of all of it's parts and organs +/// Makes sure that the owner's bodyshape flags match the flags of all of its parts and organs /mob/living/carbon/proc/synchronize_bodyshapes() var/all_limb_flags = NONE for(var/obj/item/bodypart/limb as anything in bodyparts) - for(var/obj/item/organ/external/ext_organ in limb) - all_limb_flags |= ext_organ.external_bodyshapes + for(var/obj/item/organ/organ in limb) + all_limb_flags |= organ.external_bodyshapes all_limb_flags |= limb.bodyshape bodyshape = all_limb_flags diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index fdfbce9c76180..992d60142bdcf 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -182,7 +182,7 @@ return var/atom/movable/screen/inventory/hand/hand = new_owner.hud_used.hand_slots["[held_index]"] - hand.update_appearance() + hand?.update_appearance() /obj/item/bodypart/arm/left name = "left arm" diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm index 05645ed20df2e..d97b00c58af68 100644 --- a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm @@ -23,6 +23,7 @@ dmg_overlay_type = null brute_modifier = 1.25 //ethereal are weak to brute damages wing_types = NONE + bodypart_traits = list(TRAIT_NO_UNDERWEAR) /obj/item/bodypart/chest/ethereal/update_limb(dropping_limb, is_creating) . = ..() diff --git a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm index 350e2f32883fb..acf64c3493160 100644 --- a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm @@ -47,54 +47,58 @@ icon_greyscale = 'icons/mob/human/species/lizard/bodyparts.dmi' limb_id = SPECIES_LIZARD +/// Checks if this mob is wearing anything that does not have a valid sprite set for digitigrade legs +/// (In other words, is the mob's digitigrade body squished by its clothing?) +/mob/living/carbon/proc/is_digitigrade_squished() + return FALSE + +/mob/living/carbon/human/is_digitigrade_squished() + var/obj/item/clothing/shoes/worn_shoes = shoes + var/obj/item/clothing/under/worn_suit = wear_suit + var/obj/item/clothing/under/worn_uniform = w_uniform + + var/uniform_compatible = isnull(worn_uniform) \ + || (worn_uniform.supports_variations_flags & DIGITIGRADE_VARIATIONS) \ + || !(worn_uniform.body_parts_covered & LEGS) \ + || (worn_suit?.flags_inv & HIDEJUMPSUIT) // If suit hides our jumpsuit, it doesn't matter if it squishes + + var/suit_compatible = isnull(worn_suit) \ + || (worn_suit.supports_variations_flags & DIGITIGRADE_VARIATIONS) \ + || !(worn_suit.body_parts_covered & LEGS) + + var/shoes_compatible = isnull(worn_shoes) \ + || (worn_shoes.supports_variations_flags & DIGITIGRADE_VARIATIONS) + + return !uniform_compatible || !suit_compatible || !shoes_compatible + /obj/item/bodypart/leg/left/digitigrade icon_greyscale = 'icons/mob/human/species/lizard/bodyparts.dmi' limb_id = BODYPART_ID_DIGITIGRADE bodyshape = BODYSHAPE_HUMANOID | BODYSHAPE_DIGITIGRADE + footprint_sprite = FOOTPRINT_SPRITE_CLAWS /obj/item/bodypart/leg/left/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) . = ..() - if(ishuman(owner)) - var/mob/living/carbon/human/human_owner = owner - var/obj/item/clothing/shoes/worn_shoes = human_owner.get_item_by_slot(ITEM_SLOT_FEET) - var/uniform_compatible = FALSE - var/suit_compatible = FALSE - var/shoes_compatible = FALSE - if(!(human_owner.w_uniform) || (human_owner.w_uniform.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) //Checks uniform compatibility - uniform_compatible = TRUE - if((!human_owner.wear_suit) || (human_owner.wear_suit.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON)) || !(human_owner.wear_suit.body_parts_covered & LEGS)) //Checks suit compatability - suit_compatible = TRUE - if((worn_shoes == null) || (worn_shoes.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) - shoes_compatible = TRUE - - if((uniform_compatible && suit_compatible && shoes_compatible) || (suit_compatible && shoes_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible - limb_id = BODYPART_ID_DIGITIGRADE - - else - limb_id = SPECIES_LIZARD + var/old_id = limb_id + limb_id = owner?.is_digitigrade_squished() ? SPECIES_LIZARD : BODYPART_ID_DIGITIGRADE + if(old_id != limb_id) + // Something unsquished / squished us so we need to go through and update everything that is affected + for(var/obj/item/thing as anything in owner?.get_equipped_items()) + if(thing.supports_variations_flags & DIGITIGRADE_VARIATIONS) + thing.update_slot_icon() /obj/item/bodypart/leg/right/digitigrade icon_greyscale = 'icons/mob/human/species/lizard/bodyparts.dmi' limb_id = BODYPART_ID_DIGITIGRADE bodyshape = BODYSHAPE_HUMANOID | BODYSHAPE_DIGITIGRADE + footprint_sprite = FOOTPRINT_SPRITE_CLAWS /obj/item/bodypart/leg/right/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) . = ..() - if(ishuman(owner)) - var/mob/living/carbon/human/human_owner = owner - var/obj/item/clothing/shoes/worn_shoes = human_owner.get_item_by_slot(ITEM_SLOT_FEET) - var/uniform_compatible = FALSE - var/suit_compatible = FALSE - var/shoes_compatible = FALSE - if(!(human_owner.w_uniform) || (human_owner.w_uniform.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) //Checks uniform compatibility - uniform_compatible = TRUE - if((!human_owner.wear_suit) || (human_owner.wear_suit.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON)) || !(human_owner.wear_suit.body_parts_covered & LEGS)) //Checks suit compatability - suit_compatible = TRUE - if((worn_shoes == null) || (worn_shoes.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) - shoes_compatible = TRUE - - if((uniform_compatible && suit_compatible && shoes_compatible) || (suit_compatible && shoes_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible - limb_id = BODYPART_ID_DIGITIGRADE - - else - limb_id = SPECIES_LIZARD + var/old_id = limb_id + limb_id = owner?.is_digitigrade_squished() ? SPECIES_LIZARD : BODYPART_ID_DIGITIGRADE + if(old_id != limb_id) + // Something unsquished / squished us so we need to go through and update everything that is affected + for(var/obj/item/thing as anything in owner?.get_equipped_items()) + if(thing.supports_variations_flags & DIGITIGRADE_VARIATIONS) + thing.update_slot_icon() diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index f9a71a4e6d4dd..f8619943a81ed 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -254,12 +254,14 @@ should_draw_greyscale = FALSE head_flags = HEAD_EYESPRITES|HEAD_EYEHOLES|HEAD_DEBRAIN teeth_count = 0 + bodypart_traits = list(TRAIT_ANTENNAE) /obj/item/bodypart/chest/fly limb_id = SPECIES_FLYPERSON is_dimorphic = TRUE should_draw_greyscale = FALSE wing_types = list(/obj/item/organ/external/wings/functional/fly) + bodypart_traits = list(TRAIT_TACKLING_FRAIL_ATTACKER) /obj/item/bodypart/arm/left/fly limb_id = SPECIES_FLYPERSON diff --git a/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm index 323cef05b8c5d..b437129db35c3 100644 --- a/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm @@ -7,6 +7,7 @@ should_draw_greyscale = FALSE head_flags = HEAD_LIPS|HEAD_EYESPRITES|HEAD_EYEHOLES|HEAD_DEBRAIN //what the fuck, moths have lips? teeth_count = 0 + bodypart_traits = list(TRAIT_ANTENNAE) /obj/item/bodypart/chest/moth icon = 'icons/mob/human/species/moth/bodyparts.dmi' @@ -16,6 +17,7 @@ is_dimorphic = TRUE should_draw_greyscale = FALSE wing_types = list(/obj/item/organ/external/wings/functional/moth/megamoth, /obj/item/organ/external/wings/functional/moth/mothra) + bodypart_traits = list(TRAIT_TACKLING_WINGED_ATTACKER) /obj/item/bodypart/chest/moth/get_butt_sprite() return icon('icons/mob/butts.dmi', BUTT_SPRITE_FUZZY) diff --git a/code/modules/surgery/bodyparts/worn_feature_offset.dm b/code/modules/surgery/bodyparts/worn_feature_offset.dm index ec2b7ddefddf4..8d33e5478ebb5 100644 --- a/code/modules/surgery/bodyparts/worn_feature_offset.dm +++ b/code/modules/surgery/bodyparts/worn_feature_offset.dm @@ -64,4 +64,5 @@ /// When we change direction, re-apply the offset /datum/worn_feature_offset/proc/on_dir_change(mob/living/carbon/owner, olddir, newdir) SIGNAL_HANDLER - owner.update_features(feature_key) + if(olddir != newdir) + owner.update_features(feature_key) diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm index f9de1e01514d9..879cbdf7bf59b 100644 --- a/code/modules/surgery/brain_surgery.dm +++ b/code/modules/surgery/brain_surgery.dm @@ -1,7 +1,6 @@ /datum/surgery/brain_surgery name = "Brain surgery" possible_locs = list(BODY_ZONE_HEAD) - requires_bodypart_type = NONE steps = list( /datum/surgery_step/incise, /datum/surgery_step/retract_skin, @@ -11,6 +10,19 @@ /datum/surgery_step/close, ) +/datum/surgery/brain_surgery/mechanic + name = "Wetware OS Diagnostics" + requires_bodypart_type = BODYTYPE_ROBOTIC + possible_locs = list(BODY_ZONE_HEAD) + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/fix_brain/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery_step/fix_brain name = "fix brain (hemostat)" implements = list( @@ -23,6 +35,16 @@ success_sound = 'sound/surgery/hemostat1.ogg' failure_sound = 'sound/surgery/organ2.ogg' +/datum/surgery_step/fix_brain/mechanic + name = "perform neural debugging (hemostat or multitool)" + implements = list( + TOOL_HEMOSTAT = 85, + TOOL_MULTITOOL = 85, + TOOL_SCREWDRIVER = 35, + /obj/item/pen = 15) + preop_sound = 'sound/items/taperecorder/tape_flip.ogg' + success_sound = 'sound/items/taperecorder/taperecorder_close.ogg' + /datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target) return target.get_organ_slot(ORGAN_SLOT_BRAIN) && ..() diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index ac8c69610c350..3ec68f8db8858 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -9,6 +9,8 @@ /datum/surgery_step/handle_cavity, /datum/surgery_step/close) +GLOBAL_LIST_INIT(heavy_cavity_implants, typecacheof(list(/obj/item/transfer_valve))) + //handle cavity /datum/surgery_step/handle_cavity name = "implant item" @@ -49,7 +51,7 @@ /datum/surgery_step/handle_cavity/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery = FALSE) var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST) if(tool) - if(item_for_cavity || tool.w_class > WEIGHT_CLASS_NORMAL || HAS_TRAIT(tool, TRAIT_NODROP) || isorgan(tool)) + if(item_for_cavity || ((tool.w_class > WEIGHT_CLASS_NORMAL) && !is_type_in_typecache(tool, GLOB.heavy_cavity_implants)) || HAS_TRAIT(tool, TRAIT_NODROP) || isorgan(tool)) to_chat(user, span_warning("You can't seem to fit [tool] in [target]'s [target_zone]!")) return FALSE else diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index bf79df82ad36b..e9c136574b29b 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -12,6 +12,19 @@ /datum/surgery_step/close, ) +/datum/surgery/gastrectomy/mechanic + name = "Engine Diagnostic" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/incise_heart/mechanic, + /datum/surgery_step/coronary_bypass/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/coronary_bypass/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/heart/target_heart = target.get_organ_slot(ORGAN_SLOT_HEART) if(isnull(target_heart) || target_heart.damage < 60 || target_heart.operated) @@ -33,6 +46,17 @@ failure_sound = 'sound/surgery/organ2.ogg' surgery_effects_mood = TRUE +/datum/surgery_step/incise_heart/mechanic + name = "access engine internals (scalpel or crowbar)" + implements = list( + TOOL_SCALPEL = 95, + TOOL_CROWBAR = 95, + /obj/item/melee/energy/sword = 65, + /obj/item/knife = 45, + /obj/item/shard = 35) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/machines/doorclick.ogg' + /datum/surgery_step/incise_heart/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, @@ -87,6 +111,17 @@ success_sound = 'sound/surgery/hemostat1.ogg' failure_sound = 'sound/surgery/organ2.ogg' +/datum/surgery_step/coronary_bypass/mechanic + name = "perform maintenance (hemostat or wrench)" + implements = list( + TOOL_HEMOSTAT = 90, + TOOL_WRENCH = 90, + TOOL_WIRECUTTER = 35, + /obj/item/stack/package_wrap = 15, + /obj/item/stack/cable_coil = 5) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/machines/doorclick.ogg' + /datum/surgery_step/coronary_bypass/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, @@ -102,6 +137,8 @@ var/obj/item/organ/internal/heart/target_heart = target.get_organ_slot(ORGAN_SLOT_HEART) if(target_heart) //slightly worrying if we lost our heart mid-operation, but that's life target_heart.operated = TRUE + if(target_heart.organ_flags & ORGAN_EMP) //If our organ is failing due to an EMP, fix that + target_heart.organ_flags &= ~ORGAN_EMP display_results( user, target, diff --git a/code/modules/surgery/gastrectomy.dm b/code/modules/surgery/gastrectomy.dm index 7ed006a50795a..f498d220d2f2b 100644 --- a/code/modules/surgery/gastrectomy.dm +++ b/code/modules/surgery/gastrectomy.dm @@ -14,6 +14,18 @@ /datum/surgery_step/close, ) +/datum/surgery/gastrectomy/mechanic + name = "Nutrient Processing System Diagnostic" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/gastrectomy/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/gastrectomy/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/stomach/target_stomach = target.get_organ_slot(ORGAN_SLOT_STOMACH) if(isnull(target_stomach) || target_stomach.damage < 50 || target_stomach.operated) @@ -35,6 +47,17 @@ failure_sound = 'sound/surgery/organ2.ogg' surgery_effects_mood = TRUE +/datum/surgery_step/gastrectomy/mechanic + name = "perform maintenance (scalpel or wrench)" + implements = list( + TOOL_SCALPEL = 95, + TOOL_WRENCH = 95, + /obj/item/melee/energy/sword = 65, + /obj/item/knife = 45, + /obj/item/shard = 35) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/machines/doorclick.ogg' + /datum/surgery_step/gastrectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, @@ -51,6 +74,8 @@ target_human.setOrganLoss(ORGAN_SLOT_STOMACH, 20) // Stomachs have a threshold for being able to even digest food, so I might tweak this number if(target_stomach) target_stomach.operated = TRUE + if(target_stomach.organ_flags & ORGAN_EMP) //If our organ is failing due to an EMP, fix that + target_stomach.organ_flags &= ~ORGAN_EMP display_results( user, target, diff --git a/code/modules/surgery/hepatectomy.dm b/code/modules/surgery/hepatectomy.dm index 27e74512c1fad..2216ac7ad69f7 100644 --- a/code/modules/surgery/hepatectomy.dm +++ b/code/modules/surgery/hepatectomy.dm @@ -13,6 +13,18 @@ /datum/surgery_step/close, ) +/datum/surgery/hepatectomy/mechanic + name = "Impurity Management System Diagnostic" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/hepatectomy/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/hepatectomy/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/liver/target_liver = target.get_organ_slot(ORGAN_SLOT_LIVER) if(isnull(target_liver) || target_liver.damage < 50 || target_liver.operated) @@ -34,6 +46,17 @@ failure_sound = 'sound/surgery/organ2.ogg' surgery_effects_mood = TRUE +/datum/surgery_step/hepatectomy/mechanic + name = "perform maintenance (scalpel or wirecutter)" + implements = list( + TOOL_SCALPEL = 95, + TOOL_WRENCH = 95, + /obj/item/melee/energy/sword = 65, + /obj/item/knife = 45, + /obj/item/shard = 35) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/machines/doorclick.ogg' + /datum/surgery_step/hepatectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, @@ -50,6 +73,8 @@ human_target.setOrganLoss(ORGAN_SLOT_LIVER, 10) //not bad, not great if(target_liver) target_liver.operated = TRUE + if(target_liver.organ_flags & ORGAN_EMP) //If our organ is failing due to an EMP, fix that + target_liver.organ_flags &= ~ORGAN_EMP display_results( user, target, diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm index 71ad77b237005..6cb3dc8f75708 100644 --- a/code/modules/surgery/lipoplasty.dm +++ b/code/modules/surgery/lipoplasty.dm @@ -9,6 +9,19 @@ /datum/surgery_step/close, ) +/datum/surgery/lipoplasty/mechanic + name = "Nutrient Reserve Expulsion" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/cut_fat/mechanic, + /datum/surgery_step/remove_fat/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/lipoplasty/can_start(mob/user, mob/living/carbon/target) if(!HAS_TRAIT_FROM(target, TRAIT_FAT, OBESITY) || target.nutrition < NUTRITION_LEVEL_WELL_FED) return FALSE @@ -22,7 +35,8 @@ TOOL_SAW = 100, /obj/item/shovel/serrated = 75, /obj/item/hatchet = 35, - /obj/item/knife/butcher = 25) + /obj/item/knife/butcher = 25, + ) time = 64 surgery_effects_mood = TRUE preop_sound = list( @@ -30,6 +44,19 @@ /obj/item = 'sound/surgery/scalpel1.ogg', ) +/datum/surgery_step/cut_fat/mechanic + name = "open fat containers (wrench or crowbar)" + implements = list( + TOOL_WRENCH = 95, + TOOL_CROWBAR = 95, + TOOL_SAW = 65, + /obj/item/melee/energy/sword = 65, + /obj/item/knife = 45, + /obj/item/shard = 35, + ) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/machines/doorclick.ogg' + /datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message(span_notice("[user] begins to cut away [target]'s excess fat."), span_notice("You begin to cut away [target]'s excess fat...")) display_results( @@ -58,11 +85,23 @@ implements = list( TOOL_RETRACTOR = 100, TOOL_SCREWDRIVER = 45, - TOOL_WIRECUTTER = 35) + TOOL_WIRECUTTER = 35, + ) time = 32 preop_sound = 'sound/surgery/retractor1.ogg' success_sound = 'sound/surgery/retractor2.ogg' +/datum/surgery_step/remove_fat/mechanic + name = "engage expulsion valve (screwdriver or wrench)" //gross + implements = list( + TOOL_SCREWDRIVER = 100, + TOOL_WRENCH = 100, + TOOL_WIRECUTTER = 35, + TOOL_RETRACTOR = 35, + ) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/surgery/organ2.ogg' + /datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index 4ed1bad1c0bef..a31af5f69cc00 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -11,13 +11,24 @@ /datum/surgery_step/close, ) +/datum/surgery/lobectomy/mechanic + name = "Air Filtration Diagnostic" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/lobectomy/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/lobectomy/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/lungs/target_lungs = target.get_organ_slot(ORGAN_SLOT_LUNGS) if(isnull(target_lungs) || target_lungs.damage < 60 || target_lungs.operated) return FALSE return ..() - //lobectomy, removes the most damaged lung lobe with a 95% base success chance /datum/surgery_step/lobectomy name = "excise damaged lung node (scalpel)" @@ -32,6 +43,17 @@ failure_sound = 'sound/surgery/organ2.ogg' surgery_effects_mood = TRUE +/datum/surgery_step/lobectomy/mechanic + name = "Perform maintenance (scalpel or wrench)" + implements = list( + TOOL_SCALPEL = 95, + TOOL_WRENCH = 95, + /obj/item/melee/energy/sword = 65, + /obj/item/knife = 45, + /obj/item/shard = 35) + preop_sound = 'sound/items/ratchet.ogg' + success_sound = 'sound/machines/doorclick.ogg' + /datum/surgery_step/lobectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) display_results( user, @@ -46,8 +68,11 @@ if(ishuman(target)) var/mob/living/carbon/human/human_target = target var/obj/item/organ/internal/lungs/target_lungs = human_target.get_organ_slot(ORGAN_SLOT_LUNGS) - target_lungs.operated = TRUE human_target.setOrganLoss(ORGAN_SLOT_LUNGS, 60) + if(target_lungs) + target_lungs.operated = TRUE + if(target_lungs.organ_flags & ORGAN_EMP) //If our organ is failing due to an EMP, fix that + target_lungs.organ_flags &= ~ORGAN_EMP display_results( user, target, diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm index 309090a03cae0..e9bfcbe949015 100644 --- a/code/modules/surgery/mechanic_steps.dm +++ b/code/modules/surgery/mechanic_steps.dm @@ -1,6 +1,6 @@ //open shell /datum/surgery_step/mechanic_open - name = "unscrew shell (screwdriver)" + name = "unscrew shell (screwdriver or scalpel)" implements = list( TOOL_SCREWDRIVER = 100, TOOL_SCALPEL = 75, // med borgs could try to unscrew shell with scalpel @@ -30,7 +30,7 @@ //close shell /datum/surgery_step/mechanic_close - name = "screw shell (screwdriver)" + name = "screw shell (screwdriver or scalpel)" implements = list( TOOL_SCREWDRIVER = 100, TOOL_SCALPEL = 75, @@ -60,10 +60,10 @@ //prepare electronics /datum/surgery_step/prepare_electronics - name = "prepare electronics (multitool)" + name = "prepare electronics (multitool or hemostat)" implements = list( TOOL_MULTITOOL = 100, - TOOL_HEMOSTAT = 10) // try to reboot internal controllers via short circuit with some conductor + TOOL_HEMOSTAT = 75) time = 24 preop_sound = 'sound/items/taperecorder/tape_flip.ogg' success_sound = 'sound/items/taperecorder/taperecorder_close.ogg' @@ -80,10 +80,10 @@ //unwrench /datum/surgery_step/mechanic_unwrench - name = "unwrench bolts (wrench)" + name = "unwrench bolts (wrench or retractor)" implements = list( TOOL_WRENCH = 100, - TOOL_RETRACTOR = 10) + TOOL_RETRACTOR = 75) time = 24 preop_sound = 'sound/items/ratchet.ogg' @@ -105,10 +105,10 @@ //wrench /datum/surgery_step/mechanic_wrench - name = "wrench bolts (wrench)" + name = "wrench bolts (wrench or retractor)" implements = list( TOOL_WRENCH = 100, - TOOL_RETRACTOR = 10) + TOOL_RETRACTOR = 75) time = 24 preop_sound = 'sound/items/ratchet.ogg' diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index 6f5ab21c82815..83474363c6cf2 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -55,7 +55,7 @@ ) /datum/surgery/organ_manipulation/mechanic - name = "Prosthesis organ manipulation" + name = "Hardware Manipulation" requires_bodypart_type = BODYTYPE_ROBOTIC surgery_flags = SURGERY_SELF_OPERABLE | SURGERY_REQUIRE_LIMB possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD) @@ -110,7 +110,7 @@ ) /datum/surgery/organ_manipulation/mechanic/external - name = "Prosthetic feature manipulation" + name = "Chassis Manipulation" possible_locs = list( BODY_ZONE_CHEST, BODY_ZONE_HEAD, @@ -128,7 +128,7 @@ /datum/surgery_step/mechanic_close, ) -///Organ manipulation base class. Do not use, it wont work. Use it's subtypes +///Organ manipulation base class. Do not use, it wont work. Use its subtypes /datum/surgery_step/manipulate_organs name = "manipulate organs" repeatable = TRUE @@ -239,22 +239,20 @@ tool = tool.contents[1] target_organ = tool user.temporarilyRemoveItemFromInventory(target_organ, TRUE) - if(target_organ.Insert(target)) - if(apparatus) - apparatus.icon_state = initial(apparatus.icon_state) - apparatus.desc = initial(apparatus.desc) - apparatus.cut_overlays() - display_results( - user, - target, - span_notice("You insert [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]."), - span_notice("[user] inserts [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"), - span_notice("[user] inserts something into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"), - ) - display_pain(target, "Your [target.parse_zone_with_bodypart(target_zone)] throbs with pain as your new [tool.name] comes to life!") - target_organ.on_surgical_insertion(user, target, target_zone, tool) - else - target_organ.forceMove(target.loc) + target_organ.Insert(target) + if(apparatus) + apparatus.icon_state = initial(apparatus.icon_state) + apparatus.desc = initial(apparatus.desc) + apparatus.cut_overlays() + display_results( + user, + target, + span_notice("You insert [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]."), + span_notice("[user] inserts [tool] into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"), + span_notice("[user] inserts something into [target]'s [target.parse_zone_with_bodypart(target_zone)]!"), + ) + display_pain(target, "Your [target.parse_zone_with_bodypart(target_zone)] throbs with pain as your new [tool.name] comes to life!") + target_organ.on_surgical_insertion(user, target, target_zone, tool) else if(current_type == "extract") if(target_organ && target_organ.owner == target) diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index e4bb7dfe769fe..4d28b987abcaf 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -1,4 +1,3 @@ - /obj/item/organ name = "organ" icon = 'icons/obj/medical/organs/organs.dmi' @@ -79,6 +78,9 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) volume = reagent_vol,\ after_eat = CALLBACK(src, PROC_REF(OnEatFrom))) + if(bodypart_overlay) + setup_bodypart_overlay() + /obj/item/organ/Destroy() if(bodypart_owner && !owner && !QDELETED(bodypart_owner)) bodypart_remove(bodypart_owner) @@ -140,7 +142,7 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) return /obj/item/organ/proc/on_life(seconds_per_tick, times_fired) - CRASH("Oh god oh fuck something is calling parent organ life") + return /obj/item/organ/examine(mob/user) . = ..() @@ -322,6 +324,9 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) if(advanced && (organ_flags & ORGAN_PROMINENT)) return "Harmful Foreign Body" + if(organ_flags & ORGAN_EMP) + return "EMP-Derived Failure Cascade in Progress" + if(owner.has_reagent(/datum/reagent/inverse/technetium)) return "[round((damage/maxHealth)*100, 1)]% damaged." @@ -339,3 +344,16 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) /// Tries to replace the existing organ on the passed mob with this one, with special handling for replacing a brain without ghosting target /obj/item/organ/proc/replace_into(mob/living/carbon/new_owner) return Insert(new_owner, special = TRUE, movement_flags = DELETE_IF_REPLACED) + + +/// Get all possible organ slots by checking every organ, and then store it and give it whenever needed +/proc/get_all_slots() + var/static/list/all_organ_slots = list() + + if(!all_organ_slots.len) + for(var/obj/item/organ/an_organ as anything in subtypesof(/obj/item/organ)) + if(!initial(an_organ.slot)) + continue + all_organ_slots |= initial(an_organ.slot) + + return all_organ_slots diff --git a/code/modules/surgery/organs/external/_external_organ.dm b/code/modules/surgery/organs/external/_visual_organs.dm similarity index 74% rename from code/modules/surgery/organs/external/_external_organ.dm rename to code/modules/surgery/organs/external/_visual_organs.dm index a054bc741e632..3aa54f27418cc 100644 --- a/code/modules/surgery/organs/external/_external_organ.dm +++ b/code/modules/surgery/organs/external/_visual_organs.dm @@ -1,19 +1,11 @@ -/** -* System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not -* Works in tandem with the /datum/sprite_accessory datum to generate sprites -* Unlike normal organs, we're actually inside a persons limbs at all times +/* +System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not +Works in tandem with the /datum/sprite_accessory datum to generate sprites +Unlike normal organs, we're actually inside a persons limbs at all times */ -/obj/item/organ/external - name = "external organ" - desc = "An external organ that is too external." - - organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE - visual = TRUE - +/obj/item/organ ///The overlay datum that actually draws stuff on the limb var/datum/bodypart_overlay/mutant/bodypart_overlay - ///If not null, overrides the appearance with this sprite accessory datum - var/sprite_accessory_override /// The savefile_key of the preference this relates to. Used for the preferences UI. var/preference @@ -21,23 +13,26 @@ var/dna_block ///Set to EXTERNAL_BEHIND, EXTERNAL_FRONT or EXTERNAL_ADJACENT if you want to draw one of those layers as the object sprite. FALSE to use your own - ///This will not work if it doesn't have a limb to generate it's icon with + ///This will not work if it doesn't have a limb to generate its icon with var/use_mob_sprite_as_obj_sprite = FALSE - ///Does this organ have any bodytypes to pass to it's bodypart_owner? + + ///Does this organ have any bodytypes to pass to its bodypart_owner? var/external_bodytypes = NONE - ///Does this organ have any bodyshapes to pass to it's bodypart_owner? + ///Does this organ have any bodyshapes to pass to its bodypart_owner? var/external_bodyshapes = NONE + ///Which flags does a 'modification tool' need to have to restyle us, if it all possible (located in code/_DEFINES/mobs) var/restyle_flags = NONE -/**mob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA + ///If not null, overrides the appearance with this sprite accessory datum + var/sprite_accessory_override + +/**accessory_type is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA * For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite * I'm sorry */ -/obj/item/organ/external/Initialize(mapload, accessory_type) - . = ..() - - bodypart_overlay = new bodypart_overlay() +/obj/item/organ/proc/setup_bodypart_overlay(accessory_type) + bodypart_overlay = new bodypart_overlay(src) accessory_type = accessory_type ? accessory_type : sprite_accessory_override var/update_overlays = TRUE @@ -55,61 +50,13 @@ if(restyle_flags) RegisterSignal(src, COMSIG_ATOM_RESTYLE, PROC_REF(on_attempt_feature_restyle)) -/obj/item/organ/external/Insert(mob/living/carbon/receiver, special, movement_flags) - . = ..() - receiver.update_body_parts() - -/obj/item/organ/external/Remove(mob/living/carbon/organ_owner, special, movement_flags) - . = ..() - if(!special) - organ_owner.update_body_parts() - -/obj/item/organ/external/mob_insert(mob/living/carbon/receiver, special, movement_flags) - if(!should_external_organ_apply_to(type, receiver)) - stack_trace("adding a [type] to a [receiver.type] when it shouldn't be!") - - . = ..() - - if(!.) - return - - if(bodypart_overlay.imprint_on_next_insertion) //We only want this set *once* - var/feature_name = receiver.dna.features[bodypart_overlay.feature_key] - if (isnull(feature_name)) - feature_name = receiver.dna.species.external_organs[type] - bodypart_overlay.set_appearance_from_name(feature_name) - bodypart_overlay.imprint_on_next_insertion = FALSE - - if(external_bodytypes) - receiver.synchronize_bodytypes() - if(external_bodyshapes) - receiver.synchronize_bodyshapes() - - receiver.update_body_parts() - -/obj/item/organ/external/mob_remove(mob/living/carbon/organ_owner, special, moving) - if(!special) - organ_owner.synchronize_bodytypes() - organ_owner.synchronize_bodyshapes() - organ_owner.update_body_parts() - return ..() - -/obj/item/organ/external/on_bodypart_insert(obj/item/bodypart/bodypart) - bodypart.add_bodypart_overlay(bodypart_overlay) - return ..() - -/obj/item/organ/external/on_bodypart_remove(obj/item/bodypart/bodypart) - bodypart.remove_bodypart_overlay(bodypart_overlay) - - if(use_mob_sprite_as_obj_sprite) - update_appearance(UPDATE_OVERLAYS) - - color = bodypart_overlay.draw_color // so a pink felinid doesn't drop a gray tail - return ..() +/// Some sanity checks, but mostly to check if the person has their preference/dna set to load +/proc/should_visual_organ_apply_to(obj/item/organ/organpath, mob/living/carbon/target) + if(!initial(organpath.bodypart_overlay)) + return TRUE -/proc/should_external_organ_apply_to(obj/item/organ/external/organpath, mob/living/carbon/target) if(isnull(organpath) || isnull(target)) - stack_trace("passed a null path or mob to 'should_external_organ_apply_to'") + stack_trace("passed a null path or mob to 'should_visual_organ_apply_to'") return FALSE var/datum/bodypart_overlay/mutant/bodypart_overlay = initial(organpath.bodypart_overlay) @@ -122,7 +69,7 @@ return FALSE ///Update our features after something changed our appearance -/obj/item/organ/external/proc/mutate_feature(features, mob/living/carbon/human/human) +/obj/item/organ/proc/mutate_feature(features, mob/living/carbon/human/human) if(!dna_block) return @@ -131,7 +78,7 @@ bodypart_overlay.set_appearance_from_name(feature_list[deconstruct_block(get_uni_feature_block(features, dna_block), feature_list.len)]) ///If you need to change an external_organ for simple one-offs, use this. Pass the accessory type : /datum/accessory/something -/obj/item/organ/external/proc/simple_change_sprite(accessory_type) +/obj/item/organ/proc/simple_change_sprite(accessory_type) var/datum/sprite_accessory/typed_accessory = accessory_type //we only take types for maintainability bodypart_overlay.set_appearance(typed_accessory) @@ -142,10 +89,7 @@ bodypart_owner.update_icon_dropped() //else if(use_mob_sprite_as_obj_sprite) //are we out in the world, unprotected by flesh? -/obj/item/organ/external/on_life(seconds_per_tick, times_fired) - return - -/obj/item/organ/external/update_overlays() +/obj/item/organ/update_overlays() . = ..() if(!use_mob_sprite_as_obj_sprite) @@ -260,17 +204,16 @@ ///Store our old datum here for if our antennae are healed var/original_sprite_datum -/obj/item/organ/external/antennae/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/external/antennae/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() - if(!.) - return + RegisterSignal(receiver, COMSIG_HUMAN_BURNING, PROC_REF(try_burn_antennae)) RegisterSignal(receiver, COMSIG_LIVING_POST_FULLY_HEAL, PROC_REF(heal_antennae)) -/obj/item/organ/external/antennae/Remove(mob/living/carbon/organ_owner, special, movement_flags) +/obj/item/organ/external/antennae/mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() - if(organ_owner) - UnregisterSignal(organ_owner, list(COMSIG_HUMAN_BURNING, COMSIG_LIVING_POST_FULLY_HEAL)) + + UnregisterSignal(organ_owner, list(COMSIG_HUMAN_BURNING, COMSIG_LIVING_POST_FULLY_HEAL)) ///check if our antennae can burn off ;_; /obj/item/organ/external/antennae/proc/try_burn_antennae(mob/living/carbon/human/human) diff --git a/code/modules/surgery/organs/external/restyling.dm b/code/modules/surgery/organs/external/restyling.dm index 7d6be1b6d58e3..f862d9e9c0867 100644 --- a/code/modules/surgery/organs/external/restyling.dm +++ b/code/modules/surgery/organs/external/restyling.dm @@ -1,7 +1,7 @@ -//Contains a bunch of procs for different types, but in the end it just lets you restyle external_organs so thats why its here +//Contains a bunch of procs for different types, but in the end it just lets you restyle the bodypart overlay so thats why its here ///Helper proc to fetch a list of styles a player might want to restyle their features into during the round : returns list("Cabbage" = /datum/sprite_accessory/cabbage) -/obj/item/organ/external/proc/get_valid_restyles() +/obj/item/organ/proc/get_valid_restyles() var/list/valid_restyles valid_restyles = list() @@ -31,18 +31,18 @@ ///Asks the external organs inside the limb if they can restyle /obj/item/bodypart/proc/attempt_feature_restyle(atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed) var/list/valid_features = list() - for(var/obj/item/organ/external/feature in contents) + for(var/obj/item/organ/feature in contents) if(feature.restyle_flags & restyle_type) valid_features.Add(feature) - var/obj/item/organ/external/target_organ + var/obj/item/organ/target_organ switch(LAZYLEN(valid_features)) if(1) target_organ = valid_features[1] if(2 to INFINITY) var/choose_options = list() var/name_to_organ = list() //literally so I dont have to loop again after someones made their choice - for(var/obj/item/organ/external/organ_choice as anything in valid_features) + for(var/obj/item/organ/organ_choice as anything in valid_features) choose_options[organ_choice.name] = image(organ_choice) name_to_organ[organ_choice.name] = organ_choice var/picked_option = show_radial_menu(trimmer, original_target, choose_options, radius = 38, require_near = TRUE) @@ -57,7 +57,7 @@ target_organ.attempt_feature_restyle(source, trimmer, original_target, body_zone, restyle_type, style_speed) ///Invoke async so we dont break signals -/obj/item/organ/external/proc/on_attempt_feature_restyle(atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed) +/obj/item/organ/proc/on_attempt_feature_restyle(atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed) SIGNAL_HANDLER if(restyle_flags & restyle_type) @@ -66,7 +66,7 @@ to_chat(trimmer, span_warning("This tool is incompatible with the [src.name]!")) ///Restyles the external organ from a list of valid options -/obj/item/organ/external/proc/attempt_feature_restyle(atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed) +/obj/item/organ/proc/attempt_feature_restyle(atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed) var/list/restyles = get_valid_restyles() var/new_style = tgui_input_list(trimmer, "Select a new style", "Grooming", restyles) @@ -80,5 +80,4 @@ span_notice("You successfully change [original_target == trimmer ? "your" : original_target.name + "'s"] [name].") ) - simple_change_sprite(restyles[new_style]) //turn name to type and pass it on diff --git a/code/modules/surgery/organs/external/spines.dm b/code/modules/surgery/organs/external/spines.dm index 86bff9a768939..214c58df09923 100644 --- a/code/modules/surgery/organs/external/spines.dm +++ b/code/modules/surgery/organs/external/spines.dm @@ -14,13 +14,13 @@ bodypart_overlay = /datum/bodypart_overlay/mutant/spines -/obj/item/organ/external/spines/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/external/spines/mob_insert(mob/living/carbon/receiver, special, movement_flags) // If we have a tail, attempt to add a tail spines overlay var/obj/item/organ/external/tail/our_tail = receiver.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL) our_tail?.try_insert_tail_spines(our_tail.bodypart_owner) return ..() -/obj/item/organ/external/spines/Remove(mob/living/carbon/organ_owner, special, movement_flags) +/obj/item/organ/external/spines/mob_remove(mob/living/carbon/organ_owner, special, movement_flags) // If we have a tail, remove any tail spines overlay var/obj/item/organ/external/tail/our_tail = organ_owner.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL) our_tail?.remove_tail_spines(our_tail.bodypart_owner) diff --git a/code/modules/surgery/organs/external/tails.dm b/code/modules/surgery/organs/external/tails.dm index e4cd3f50a4997..cae83153bdc55 100644 --- a/code/modules/surgery/organs/external/tails.dm +++ b/code/modules/surgery/organs/external/tails.dm @@ -20,7 +20,7 @@ ///The overlay for tail spines, if any var/datum/bodypart_overlay/mutant/tail_spines/tail_spines_overlay -/obj/item/organ/external/tail/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/external/tail/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() if(.) receiver.clear_mood_event("tail_lost") @@ -34,7 +34,7 @@ // If it's not your tail AND of different species, we are horrified if(IS_WEAKREF_OF(receiver, original_owner)) receiver.add_mood_event("tail_regained", /datum/mood_event/tail_regained_right) - else if(type in receiver.dna.species.external_organs) + else if(type in receiver.dna.species.mutant_organs) receiver.add_mood_event("tail_regained", /datum/mood_event/tail_regained_species) else receiver.add_mood_event("tail_regained", /datum/mood_event/tail_regained_wrong) @@ -83,7 +83,7 @@ organ_owner.clear_mood_event("tail_regained") - if(type in organ_owner.dna.species.external_organs) + if(type in organ_owner.dna.species.mutant_organs) organ_owner.add_mood_event("tail_lost", /datum/mood_event/tail_lost) organ_owner.add_mood_event("tail_balance_lost", /datum/mood_event/tail_balance_lost) @@ -175,7 +175,7 @@ bodypart_overlay = /datum/bodypart_overlay/mutant/tail/monkey - dna_block = DNA_MONKEY_TAIL_BLOCK + dna_block = null ///Monkey tail bodypart overlay /datum/bodypart_overlay/mutant/tail/monkey diff --git a/code/modules/surgery/organs/external/wings/functional_wings.dm b/code/modules/surgery/organs/external/wings/functional_wings.dm index 23f897bce95a2..e1f364f547559 100644 --- a/code/modules/surgery/organs/external/wings/functional_wings.dm +++ b/code/modules/surgery/organs/external/wings/functional_wings.dm @@ -25,6 +25,8 @@ ///Are our wings open or closed? var/wings_open = FALSE + ///We cant hide this wings in suit + var/cant_hide = FALSE // grind_results = list(/datum/reagent/flightpotion = 5) food_reagents = list(/datum/reagent/flightpotion = 5) @@ -33,15 +35,14 @@ QDEL_NULL(fly) return ..() -/obj/item/organ/external/wings/functional/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/external/wings/functional/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() - if(!.) - return + if(QDELETED(fly)) fly = new fly.Grant(receiver) -/obj/item/organ/external/wings/functional/Remove(mob/living/carbon/organ_owner, special, movement_flags) +/obj/item/organ/external/wings/functional/mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() fly?.Remove(organ_owner) if(wings_open) @@ -66,7 +67,7 @@ if(human.stat || human.body_position == LYING_DOWN) return FALSE //Jumpsuits have tail holes, so it makes sense they have wing holes too - if(human.wear_suit && ((human.wear_suit.flags_inv & HIDEJUMPSUIT) && (!human.wear_suit.species_exception || !is_type_in_list(src, human.wear_suit.species_exception)))) + if(!cant_hide && human.wear_suit && ((human.wear_suit.flags_inv & HIDEJUMPSUIT) && (!human.wear_suit.species_exception || !is_type_in_list(src, human.wear_suit.species_exception)))) to_chat(human, span_warning("Your suit blocks your wings from extending!")) return FALSE var/turf/location = get_turf(human) diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm index 83ed8da84aca0..169495bccaa33 100644 --- a/code/modules/surgery/organs/internal/appendix/_appendix.dm +++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm @@ -6,7 +6,7 @@ name = "appendix" icon_state = "appendix" base_icon_state = "appendix" - visual = FALSE + zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_APPENDIX food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/toxin/bad_food = 5) diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm b/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm index a2eeb4eac32ca..4a7dcab80f259 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_arms.dm @@ -2,7 +2,7 @@ name = "arm-mounted implant" desc = "You shouldn't see this! Adminhelp and report this as an issue on github!" zone = BODY_ZONE_R_ARM - icon_state = "implant-toolkit" + icon_state = "toolkit_generic" w_class = WEIGHT_CLASS_SMALL actions_types = list(/datum/action/item_action/organ_action/toggle) ///A ref for the arm we're taking up. Mostly for the unregister signal upon removal @@ -17,6 +17,10 @@ var/extend_sound = 'sound/mecha/mechmove03.ogg' /// Sound played when retracting var/retract_sound = 'sound/mecha/mechmove03.ogg' + /// Organ slot that the implant occupies for the right arm + var/right_arm_organ_slot = ORGAN_SLOT_RIGHT_ARM_AUG + /// Organ slot that the implant occupies for the left arm + var/left_arm_organ_slot = ORGAN_SLOT_LEFT_ARM_AUG /obj/item/organ/internal/cyberimp/arm/Initialize(mapload) . = ..() @@ -48,9 +52,9 @@ /obj/item/organ/internal/cyberimp/arm/proc/SetSlotFromZone() switch(zone) if(BODY_ZONE_L_ARM) - slot = ORGAN_SLOT_LEFT_ARM_AUG + slot = left_arm_organ_slot if(BODY_ZONE_R_ARM) - slot = ORGAN_SLOT_RIGHT_ARM_AUG + slot = right_arm_organ_slot else CRASH("Invalid zone for [type]") @@ -137,6 +141,7 @@ /obj/item/organ/internal/cyberimp/arm/proc/Retract() if(!active_item || (active_item in src)) return FALSE + active_item.resistance_flags = active_item::resistance_flags if(owner) owner.visible_message( span_notice("[owner] retracts [active_item] back into [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."), @@ -259,6 +264,7 @@ /obj/item/organ/internal/cyberimp/arm/toolset name = "integrated toolset implant" desc = "A stripped-down version of the engineering cyborg toolset, designed to be installed on subject's arm. Contain advanced versions of every tool." + icon_state = "toolkit_engineering" actions_types = list(/datum/action/item_action/organ_action/toggle/toolkit) items_to_create = list( /obj/item/screwdriver/cyborg, @@ -344,6 +350,7 @@ /obj/item/organ/internal/cyberimp/arm/surgery name = "surgical toolset implant" desc = "A set of surgical tools hidden behind a concealed panel on the user's arm." + icon_state = "toolkit_surgical" actions_types = list(/datum/action/item_action/organ_action/toggle/toolkit) items_to_create = list( /obj/item/retractor/augment, @@ -369,18 +376,24 @@ /obj/item/knife/combat/cyborg, ) -/obj/item/organ/internal/cyberimp/arm/muscle +/obj/item/organ/internal/cyberimp/arm/strongarm name = "\proper Strong-Arm empowered musculature implant" desc = "When implanted, this cybernetic implant will enhance the muscles of the arm to deliver more power-per-action." icon_state = "muscle_implant" zone = BODY_ZONE_R_ARM - slot = ORGAN_SLOT_RIGHT_ARM_AUG + slot = ORGAN_SLOT_RIGHT_ARM_MUSCLE + right_arm_organ_slot = ORGAN_SLOT_RIGHT_ARM_MUSCLE + left_arm_organ_slot = ORGAN_SLOT_LEFT_ARM_MUSCLE actions_types = list() ///The amount of damage the implant adds to our unarmed attacks. var/punch_damage = 5 + ///Biotypes we apply an additional amount of damage too + var/biotype_bonus_targets = MOB_BEAST | MOB_SPECIAL + ///Extra damage dealt to our targeted mobs + var/biotype_bonus_damage = 20 ///IF true, the throw attack will not smash people into walls var/non_harmful_throw = TRUE ///How far away your attack will throw your oponent @@ -391,17 +404,24 @@ var/throw_power_max = 4 ///How long will the implant malfunction if it is EMP'd var/emp_base_duration = 9 SECONDS + ///How long before we get another slam punch; consider that these usually come in pairs of two + var/slam_cooldown_duration = 5 SECONDS + ///Tracks how soon we can perform another slam attack + COOLDOWN_DECLARE(slam_cooldown) -/obj/item/organ/internal/cyberimp/arm/muscle/on_mob_insert(mob/living/carbon/arm_owner) +/obj/item/organ/internal/cyberimp/arm/strongarm/l + zone = BODY_ZONE_L_ARM + +/obj/item/organ/internal/cyberimp/arm/strongarm/on_mob_insert(mob/living/carbon/arm_owner) . = ..() if(ishuman(arm_owner)) //Sorry, only humans RegisterSignal(arm_owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK, PROC_REF(on_attack_hand)) -/obj/item/organ/internal/cyberimp/arm/muscle/on_mob_remove(mob/living/carbon/arm_owner) +/obj/item/organ/internal/cyberimp/arm/strongarm/on_mob_remove(mob/living/carbon/arm_owner) . = ..() UnregisterSignal(arm_owner, COMSIG_LIVING_EARLY_UNARMED_ATTACK) -/obj/item/organ/internal/cyberimp/arm/muscle/emp_act(severity) +/obj/item/organ/internal/cyberimp/arm/strongarm/emp_act(severity) . = ..() if((organ_flags & ORGAN_FAILING) || . & EMP_PROTECT_SELF) return @@ -409,11 +429,11 @@ organ_flags |= ORGAN_FAILING addtimer(CALLBACK(src, PROC_REF(reboot)), 90 / severity) -/obj/item/organ/internal/cyberimp/arm/muscle/proc/reboot() +/obj/item/organ/internal/cyberimp/arm/strongarm/proc/reboot() organ_flags &= ~ORGAN_FAILING owner.balloon_alert(owner, "your arm stops spasming!") -/obj/item/organ/internal/cyberimp/arm/muscle/proc/on_attack_hand(mob/living/carbon/human/source, atom/target, proximity, modifiers) +/obj/item/organ/internal/cyberimp/arm/strongarm/proc/on_attack_hand(mob/living/carbon/human/source, atom/target, proximity, modifiers) SIGNAL_HANDLER if(source.get_active_hand() != hand || !proximity) @@ -422,8 +442,9 @@ return NONE if(!isliving(target)) return NONE - var/datum/dna/dna = source.has_dna() - if(dna?.check_mutation(/datum/mutation/human/hulk)) //NO HULK + if(HAS_TRAIT(source, TRAIT_HULK)) //NO HULK + return NONE + if(!COOLDOWN_FINISHED(src, slam_cooldown)) return NONE if(!source.can_unarmed_attack()) return COMPONENT_SKIP_ATTACK @@ -454,13 +475,16 @@ var/obj/item/bodypart/attacking_bodypart = hand potential_damage += rand(attacking_bodypart.unarmed_damage_low, attacking_bodypart.unarmed_damage_high) + var/is_correct_biotype = living_target.mob_biotypes & biotype_bonus_targets + if(biotype_bonus_targets && is_correct_biotype) //If we are punching one of our special biotype targets, increase the damage floor by a factor of two. + potential_damage += biotype_bonus_damage + source.do_attack_animation(target, ATTACK_EFFECT_SMASH) playsound(living_target.loc, 'sound/weapons/punch1.ogg', 25, TRUE, -1) var/target_zone = living_target.get_random_valid_zone(source.zone_selected) var/armor_block = living_target.run_armor_check(target_zone, MELEE, armour_penetration = attacking_bodypart.unarmed_effectiveness) - living_target.apply_damage(potential_damage, attacking_bodypart.attack_type, target_zone, armor_block) - living_target.apply_damage(potential_damage*1.5, STAMINA, target_zone, armor_block) + living_target.apply_damage(potential_damage * 2, attacking_bodypart.attack_type, target_zone, armor_block) if(source.body_position != LYING_DOWN) //Throw them if we are standing var/atom/throw_target = get_edge_target_turf(living_target, source.dir) @@ -478,4 +502,6 @@ log_combat(source, target, "[picked_hit_type]ed", "muscle implant") + COOLDOWN_START(src, slam_cooldown, slam_cooldown_duration) + return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm b/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm index 046c84200d1eb..060499936d53d 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_chest.dm @@ -1,15 +1,12 @@ /obj/item/organ/internal/cyberimp/chest name = "cybernetic torso implant" desc = "Implants for the organs in your torso." - icon_state = "chest_implant" - implant_overlay = "chest_implant_overlay" zone = BODY_ZONE_CHEST /obj/item/organ/internal/cyberimp/chest/nutriment - name = "Nutriment pump implant" + name = "nutriment pump implant" desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are starving." - icon_state = "chest_implant" - implant_color = "#00AA00" + icon_state = "nutriment_implant" var/hunger_threshold = NUTRITION_LEVEL_STARVING var/synthesizing = 0 var/poison_amount = 5 @@ -37,18 +34,16 @@ /obj/item/organ/internal/cyberimp/chest/nutriment/plus - name = "Nutriment pump implant PLUS" + name = "nutriment pump implant PLUS" desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are hungry." - icon_state = "chest_implant" - implant_color = "#006607" + icon_state = "adv_nutriment_implant" hunger_threshold = NUTRITION_LEVEL_HUNGRY poison_amount = 10 /obj/item/organ/internal/cyberimp/chest/reviver - name = "Reviver implant" + name = "reviver implant" desc = "This implant will attempt to revive and heal you if you lose consciousness. For the faint of heart!" - icon_state = "chest_implant" - implant_color = "#AD0000" + icon_state = "reviver_implant" slot = ORGAN_SLOT_HEART_AID var/revive_cost = 0 var/reviving = FALSE @@ -164,7 +159,6 @@ slot = ORGAN_SLOT_THRUSTERS icon_state = "imp_jetpack" base_icon_state = "imp_jetpack" - implant_overlay = null implant_color = null actions_types = list(/datum/action/item_action/organ_action/toggle) w_class = WEIGHT_CLASS_NORMAL @@ -265,7 +259,7 @@ name = "\improper Herculean gravitronic spinal implant" desc = "This gravitronic spinal interface is able to improve the athletics of a user, allowing them greater physical ability. \ Contains a slot which can be upgraded with a gravity anomaly core, improving its performance." - implant_color = "#15704c" + icon_state = "herculean_implant" slot = ORGAN_SLOT_SPINE /// How much faster does the spinal implant improve our lifting speed, workout ability, reducing falling damage and improving climbing and standing speed var/athletics_boost_multiplier = 0.8 @@ -315,5 +309,7 @@ name = "\improper Atlas gravitonic spinal implant" desc = "This gravitronic spinal interface is able to improve the athletics of a user, allowing them greater physical ability. \ This one has been improved through the installation of a gravity anomaly core, allowing for personal gravity manipulation." + icon_state = "herculean_implant_core" + update_appearance() qdel(tool) return ITEM_INTERACT_SUCCESS diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm b/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm index cd9de70c4e23e..aa67fe0c08de8 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_eyes.dm @@ -2,7 +2,6 @@ name = "cybernetic eye implant" desc = "Implants for your eyes." icon_state = "eye_implant" - implant_overlay = "eye_implant_overlay" slot = ORGAN_SLOT_EYES zone = BODY_ZONE_PRECISE_EYES w_class = WEIGHT_CLASS_TINY @@ -13,64 +12,52 @@ desc = "These cybernetic eyes will display a HUD over everything you see. Maybe." slot = ORGAN_SLOT_HUD actions_types = list(/datum/action/item_action/toggle_hud) - var/HUD_type = 0 - var/HUD_trait = null + var/HUD_traits = list() /// Whether the HUD implant is on or off var/toggled_on = TRUE /obj/item/organ/internal/cyberimp/eyes/hud/proc/toggle_hud(mob/living/carbon/eye_owner) if(toggled_on) - if(HUD_type) - var/datum/atom_hud/hud = GLOB.huds[HUD_type] - hud.hide_from(eye_owner) toggled_on = FALSE + eye_owner.add_traits(HUD_traits, ORGAN_TRAIT) balloon_alert(eye_owner, "hud disabled") - else - if(HUD_type) - var/datum/atom_hud/hud = GLOB.huds[HUD_type] - hud.show_to(eye_owner) - toggled_on = TRUE - balloon_alert(eye_owner, "hud enabled") + return + toggled_on = TRUE + eye_owner.remove_traits(HUD_traits, ORGAN_TRAIT) + balloon_alert(eye_owner, "hud enabled") -/obj/item/organ/internal/cyberimp/eyes/hud/Insert(mob/living/carbon/eye_owner, special = FALSE, movement_flags) +/obj/item/organ/internal/cyberimp/eyes/hud/mob_insert(mob/living/carbon/eye_owner, special = FALSE, movement_flags) . = ..() - if(!.) - return - if(HUD_type) - var/datum/atom_hud/hud = GLOB.huds[HUD_type] - hud.show_to(eye_owner) - if(HUD_trait) - ADD_TRAIT(eye_owner, HUD_trait, ORGAN_TRAIT) + + eye_owner.add_traits(HUD_traits, ORGAN_TRAIT) toggled_on = TRUE -/obj/item/organ/internal/cyberimp/eyes/hud/Remove(mob/living/carbon/eye_owner, special, movement_flags) +/obj/item/organ/internal/cyberimp/eyes/hud/mob_remove(mob/living/carbon/eye_owner, special, movement_flags) . = ..() - if(HUD_type) - var/datum/atom_hud/hud = GLOB.huds[HUD_type] - hud.hide_from(eye_owner) - if(HUD_trait) - REMOVE_TRAIT(eye_owner, HUD_trait, ORGAN_TRAIT) + eye_owner.remove_traits(HUD_traits, ORGAN_TRAIT) toggled_on = FALSE /obj/item/organ/internal/cyberimp/eyes/hud/medical - name = "Medical HUD implant" + name = "medical HUD implant" desc = "These cybernetic eye implants will display a medical HUD over everything you see." - HUD_type = DATA_HUD_MEDICAL_ADVANCED - HUD_trait = TRAIT_MEDICAL_HUD + icon_state = "eye_implant_medical" + HUD_traits = list(TRAIT_MEDICAL_HUD) /obj/item/organ/internal/cyberimp/eyes/hud/security - name = "Security HUD implant" + name = "security HUD implant" desc = "These cybernetic eye implants will display a security HUD over everything you see." - HUD_type = DATA_HUD_SECURITY_ADVANCED - HUD_trait = TRAIT_SECURITY_HUD + icon_state = "eye_implant_security" + HUD_traits = list(TRAIT_SECURITY_HUD) /obj/item/organ/internal/cyberimp/eyes/hud/diagnostic - name = "Diagnostic HUD implant" + name = "diagnostic HUD implant" desc = "These cybernetic eye implants will display a diagnostic HUD over everything you see." - HUD_type = DATA_HUD_DIAGNOSTIC_ADVANCED + icon_state = "eye_implant_diagnostic" + HUD_traits = list(TRAIT_DIAGNOSTIC_HUD, TRAIT_BOT_PATH_HUD) /obj/item/organ/internal/cyberimp/eyes/hud/security/syndicate - name = "Contraband Security HUD Implant" + name = "contraband security HUD implant" desc = "A Cybersun Industries brand Security HUD Implant. These illicit cybernetic eye implants will display a security HUD over everything you see." + icon_state = "eye_implant_syndicate" organ_flags = ORGAN_ROBOTIC | ORGAN_HIDDEN diff --git a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm index a50912416ef87..09955f45b0349 100644 --- a/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm +++ b/code/modules/surgery/organs/internal/cyberimp/augments_internal.dm @@ -2,7 +2,7 @@ /obj/item/organ/internal/cyberimp name = "cybernetic implant" desc = "A state-of-the-art implant that improves a baseline's functionality." - visual = FALSE + organ_flags = ORGAN_ROBOTIC failing_desc = "seems to be broken." var/implant_color = COLOR_WHITE @@ -22,8 +22,6 @@ /obj/item/organ/internal/cyberimp/brain name = "cybernetic brain implant" desc = "Injectors of extra sub-routines for the brain." - icon_state = "brain_implant" - implant_overlay = "brain_implant_overlay" zone = BODY_ZONE_HEAD w_class = WEIGHT_CLASS_TINY @@ -39,9 +37,9 @@ /obj/item/organ/internal/cyberimp/brain/anti_drop name = "anti-drop implant" desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle." + icon_state = "brain_implant_antidrop" var/active = FALSE var/list/stored_items = list() - implant_color = "#DE7E00" slot = ORGAN_SLOT_BRAIN_ANTIDROP actions_types = list(/datum/action/item_action/organ_action/toggle) @@ -99,9 +97,9 @@ stored_items -= source /obj/item/organ/internal/cyberimp/brain/anti_stun - name = "CNS Rebooter implant" + name = "CNS rebooter implant" desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned." - implant_color = COLOR_YELLOW + icon_state = "brain_implant_rebooter" slot = ORGAN_SLOT_BRAIN_ANTISTUN var/static/list/signalCache = list( @@ -120,6 +118,7 @@ . = ..() UnregisterSignal(implant_owner, signalCache) UnregisterSignal(implant_owner, COMSIG_LIVING_ENTER_STAMCRIT) + remove_stun_buffs(implant_owner) /obj/item/organ/internal/cyberimp/brain/anti_stun/on_mob_insert(mob/living/carbon/receiver) . = ..() @@ -151,10 +150,8 @@ sparks.set_up(5, 1, src) sparks.start() - owner.add_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_BATON_RESISTANCE, TRAIT_STUNIMMUNE), REF(src)) - addtimer(TRAIT_CALLBACK_REMOVE(owner, TRAIT_IGNOREDAMAGESLOWDOWN, REF(src)), stun_resistance_time) - addtimer(TRAIT_CALLBACK_REMOVE(owner, TRAIT_BATON_RESISTANCE, REF(src)), stun_resistance_time) - addtimer(TRAIT_CALLBACK_REMOVE(owner, TRAIT_STUNIMMUNE, REF(src)), stun_resistance_time) + give_stun_buffs(owner) + addtimer(CALLBACK(src, PROC_REF(remove_stun_buffs), owner), stun_resistance_time) COOLDOWN_START(src, implant_cooldown, 60 SECONDS) addtimer(CALLBACK(src, PROC_REF(implant_ready)),60 SECONDS) @@ -163,6 +160,14 @@ if(owner) to_chat(owner, span_purple("Your rebooter implant is ready.")) +/obj/item/organ/internal/cyberimp/brain/anti_stun/proc/give_stun_buffs(mob/living/give_to = owner) + give_to.add_traits(list(TRAIT_STUNIMMUNE, TRAIT_BATON_RESISTANCE), REF(src)) + give_to.add_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/damage_slowdown) + +/obj/item/organ/internal/cyberimp/brain/anti_stun/proc/remove_stun_buffs(mob/living/remove_from = owner) + remove_from.remove_traits(list(TRAIT_STUNIMMUNE, TRAIT_BATON_RESISTANCE), REF(src)) + remove_from.remove_movespeed_mod_immunities(REF(src), /datum/movespeed_modifier/damage_slowdown) + /obj/item/organ/internal/cyberimp/brain/anti_stun/emp_act(severity) . = ..() if((organ_flags & ORGAN_FAILING) || . & EMP_PROTECT_SELF) diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index eba24086cca2b..53b95b54d9bcf 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -4,7 +4,6 @@ desc = "There are three parts to the ear. Inner, middle and outer. Only one of these parts should be normally visible." zone = BODY_ZONE_HEAD slot = ORGAN_SLOT_EARS - visual = FALSE gender = PLURAL healing_factor = STANDARD_ORGAN_HEALING @@ -136,28 +135,34 @@ icon_state = "kitty" visual = TRUE damage_multiplier = 2 - // Keeps track of which cat ears sprite is associated with this. - var/variant = "Cat" -/obj/item/organ/internal/ears/cat/Initialize(mapload, variant_pref) - . = ..() - if(variant_pref) - variant = variant_pref + preference = "feature_human_ears" -/obj/item/organ/internal/ears/cat/on_mob_insert(mob/living/carbon/human/ear_owner) - . = ..() - if(istype(ear_owner) && ear_owner.dna) - color = ear_owner.hair_color - ear_owner.dna.features["ears"] = ear_owner.dna.species.mutant_bodyparts["ears"] = variant - ear_owner.dna.update_uf_block(DNA_EARS_BLOCK) - ear_owner.update_body() + dna_block = DNA_EARS_BLOCK -/obj/item/organ/internal/ears/cat/on_mob_remove(mob/living/carbon/human/ear_owner) - . = ..() - if(istype(ear_owner) && ear_owner.dna) - color = ear_owner.hair_color - ear_owner.dna.species.mutant_bodyparts -= "ears" - ear_owner.update_body() + bodypart_overlay = /datum/bodypart_overlay/mutant/cat_ears + +/// Bodypart overlay for the horrible cat ears +/datum/bodypart_overlay/mutant/cat_ears + layers = EXTERNAL_FRONT | EXTERNAL_ADJACENT + color_source = ORGAN_COLOR_HAIR + feature_key = "ears" + + /// We dont color the inner part, which is the front layer + var/colorless_layer = EXTERNAL_FRONT + +/datum/bodypart_overlay/mutant/cat_ears/get_global_feature_list() + return SSaccessories.ears_list + +/datum/bodypart_overlay/mutant/cat_ears/can_draw_on_bodypart(mob/living/carbon/human/human) + if((human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR)) + return FALSE + return TRUE + +/datum/bodypart_overlay/mutant/cat_ears/color_image(image/overlay, draw_layer, obj/item/bodypart/limb) + if(draw_layer != bitflag_to_layer(colorless_layer)) + return ..() + return overlay /obj/item/organ/internal/ears/penguin name = "penguin ears" diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index bffdf1ae44d08..4f94167e94809 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -52,21 +52,18 @@ /// Native FOV that will be applied if a config is enabled var/native_fov = FOV_90_DEGREES -/obj/item/organ/internal/eyes/Insert(mob/living/carbon/eye_recipient, special = FALSE, movement_flags = DELETE_IF_REPLACED) +/obj/item/organ/internal/eyes/mob_insert(mob/living/carbon/receiver, special, movement_flags) // If we don't do this before everything else, heterochromia will be reset leading to eye_color_right no longer being accurate - if(ishuman(eye_recipient)) - var/mob/living/carbon/human/human_recipient = eye_recipient + if(ishuman(receiver)) + var/mob/living/carbon/human/human_recipient = receiver old_eye_color_left = human_recipient.eye_color_left old_eye_color_right = human_recipient.eye_color_right . = ..() - if(!.) - return - - eye_recipient.cure_blind(NO_EYES) + receiver.cure_blind(NO_EYES) apply_damaged_eye_effects() - refresh(eye_recipient, call_update = TRUE) + refresh(receiver, call_update = TRUE) /// Refreshes the visuals of the eyes /// If call_update is TRUE, we also will call update_body @@ -94,31 +91,32 @@ if(call_update) affected_human.update_body() -/obj/item/organ/internal/eyes/Remove(mob/living/carbon/eye_owner, special, movement_flags) +/obj/item/organ/internal/eyes/mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() - if(ishuman(eye_owner)) - var/mob/living/carbon/human/human_owner = eye_owner + + if(ishuman(organ_owner)) + var/mob/living/carbon/human/human_owner = organ_owner if(initial(eye_color_left)) human_owner.eye_color_left = old_eye_color_left if(initial(eye_color_right)) human_owner.eye_color_right = old_eye_color_right if(native_fov) - eye_owner.remove_fov_trait(type) + organ_owner.remove_fov_trait(type) if(!special) human_owner.update_body() // Cure blindness from eye damage - eye_owner.cure_blind(EYE_DAMAGE) - eye_owner.cure_nearsighted(EYE_DAMAGE) + organ_owner.cure_blind(EYE_DAMAGE) + organ_owner.cure_nearsighted(EYE_DAMAGE) // Eye blind and temp blind go to, even if this is a bit of cheesy way to clear blindness - eye_owner.remove_status_effect(/datum/status_effect/eye_blur) - eye_owner.remove_status_effect(/datum/status_effect/temporary_blindness) + organ_owner.remove_status_effect(/datum/status_effect/eye_blur) + organ_owner.remove_status_effect(/datum/status_effect/temporary_blindness) // Then become blind anyways (if not special) if(!special) - eye_owner.become_blind(NO_EYES) + organ_owner.become_blind(NO_EYES) - eye_owner.update_tint() - eye_owner.update_sight() + organ_owner.update_tint() + organ_owner.update_sight() #define OFFSET_X 1 #define OFFSET_Y 2 @@ -351,7 +349,7 @@ desc = "It's two flashlights rigged together with some wire. Why would you put these in someone's head?" eye_color_left ="fee5a3" eye_color_right ="fee5a3" - icon = 'icons/obj/lighting.dmi' + icon = 'icons/obj/devices/lighting.dmi' icon_state = "flashlight_eyes" flash_protect = FLASH_PROTECTION_WELDER tint = INFINITY @@ -428,7 +426,7 @@ deactivate(close_ui = TRUE) /// Set the initial color of the eyes on insert to be the mob's previous eye color. -/obj/item/organ/internal/eyes/robotic/glow/Insert(mob/living/carbon/eye_recipient, special = FALSE, movement_flags = DELETE_IF_REPLACED) +/obj/item/organ/internal/eyes/robotic/glow/mob_insert(mob/living/carbon/eye_recipient, special = FALSE, movement_flags = DELETE_IF_REPLACED) . = ..() left_eye_color_string = old_eye_color_left right_eye_color_string = old_eye_color_right diff --git a/code/modules/surgery/organs/internal/heart/_heart.dm b/code/modules/surgery/organs/internal/heart/_heart.dm index 2773f588b24da..d52e483da389d 100644 --- a/code/modules/surgery/organs/internal/heart/_heart.dm +++ b/code/modules/surgery/organs/internal/heart/_heart.dm @@ -3,7 +3,7 @@ desc = "I feel bad for the heartless bastard who lost this." icon_state = "heart-on" base_icon_state = "heart" - visual = FALSE + zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_HEART item_flags = NO_BLOOD_ON_ITEM @@ -18,6 +18,9 @@ attack_verb_continuous = list("beats", "thumps") attack_verb_simple = list("beat", "thump") + // Love is stored in the heart. + food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/love = 2.5) + // Heart attack code is in code/modules/mob/living/carbon/human/life.dm /// Whether the heart is currently beating. @@ -162,13 +165,23 @@ icon_state = "heart-c-on" base_icon_state = "heart-c" organ_flags = ORGAN_ROBOTIC - maxHealth = STANDARD_ORGAN_THRESHOLD*0.75 //This also hits defib timer, so a bit higher than its less important counterparts + maxHealth = STANDARD_ORGAN_THRESHOLD * 0.75 //This also hits defib timer, so a bit higher than its less important counterparts failing_desc = "seems to be broken." - var/dose_available = FALSE - var/rid = /datum/reagent/medicine/epinephrine - var/ramount = 10 - var/emp_vulnerability = 80 //Chance of permanent effects if emp-ed. + /// Whether or not we have a stabilization available. This prevents our owner from entering softcrit for an amount of time. + var/stabilization_available = FALSE + + /// How long our stabilization lasts for. + var/stabilization_duration = 10 SECONDS + + /// Whether our heart suppresses bleeders and restores blood automatically. + var/bleed_prevention = FALSE + + /// The probability that our blood replication causes toxin damage. + var/toxification_probability = 20 + + /// Chance of permanent effects if emp-ed. + var/emp_vulnerability = 80 /obj/item/organ/internal/heart/cybernetic/emp_act(severity) . = ..() @@ -194,35 +207,63 @@ /obj/item/organ/internal/heart/cybernetic/on_life(seconds_per_tick, times_fired) . = ..() - if(dose_available && owner.health <= owner.crit_threshold && !owner.reagents.has_reagent(rid)) - used_dose() -/obj/item/organ/internal/heart/cybernetic/proc/used_dose() - owner.reagents.add_reagent(rid, ramount) - dose_available = FALSE + if(organ_flags & ORGAN_EMP) + return + + if(stabilization_available && owner.health <= owner.crit_threshold) + stabilize_heart() + + if(bleed_prevention && ishuman(owner) && owner.blood_volume < BLOOD_VOLUME_NORMAL) + var/mob/living/carbon/human/wounded_owner = owner + wounded_owner.blood_volume += 2 * seconds_per_tick + if(toxification_probability && prob(toxification_probability)) + wounded_owner.adjustToxLoss(1 * seconds_per_tick, updating_health = FALSE) + + var/datum/wound/bloodiest_wound + + for(var/datum/wound/iter_wound as anything in wounded_owner.all_wounds) + if(iter_wound.blood_flow && iter_wound.blood_flow > bloodiest_wound?.blood_flow) + bloodiest_wound = iter_wound + + if(bloodiest_wound) + bloodiest_wound.adjust_blood_flow(-1 * seconds_per_tick) + +/obj/item/organ/internal/heart/cybernetic/proc/stabilize_heart() + ADD_TRAIT(owner, TRAIT_NOSOFTCRIT, ORGAN_TRAIT) + stabilization_available = FALSE + + addtimer(TRAIT_CALLBACK_REMOVE(owner, TRAIT_NOSOFTCRIT, ORGAN_TRAIT), stabilization_duration) + + addtimer(VARSET_CALLBACK(src, stabilization_available, TRUE), 5 MINUTES, TIMER_DELETE_ME) + +// Largely a sanity check +/obj/item/organ/internal/heart/cybernetic/on_mob_remove(mob/living/carbon/heart_owner, special = FALSE) + . = ..() + if(HAS_TRAIT_FROM(heart_owner, TRAIT_NOSOFTCRIT, ORGAN_TRAIT)) + REMOVE_TRAIT(heart_owner, TRAIT_NOSOFTCRIT, ORGAN_TRAIT) /obj/item/organ/internal/heart/cybernetic/tier2 name = "cybernetic heart" - desc = "An electronic device designed to mimic the functions of an organic human heart. Also holds an emergency dose of epinephrine, used automatically after facing severe trauma." + desc = "An electronic device designed to mimic the functions of an organic human heart. In case of lacerations or haemorrhaging, the heart rapidly begins self-replicating \ + artificial blood. However, this can cause toxins to build up in the bloodstream to the imperfect replication process." icon_state = "heart-c-u-on" base_icon_state = "heart-c-u" maxHealth = 1.5 * STANDARD_ORGAN_THRESHOLD - dose_available = TRUE + bleed_prevention = TRUE emp_vulnerability = 40 /obj/item/organ/internal/heart/cybernetic/tier3 name = "upgraded cybernetic heart" - desc = "An electronic device designed to mimic the functions of an organic human heart. Also holds an emergency dose of epinephrine, used automatically after facing severe trauma. This upgraded model can regenerate its dose after use." + desc = "An electronic device designed to mimic the functions of an organic human heart. In case of physical trauma, the heart has temporary failsafes to maintain patient stability \ + and mobility for a brief moment. In addition, the heart is able to safely self-replicate blood without risk of toxin buildup." icon_state = "heart-c-u2-on" base_icon_state = "heart-c-u2" maxHealth = 2 * STANDARD_ORGAN_THRESHOLD - dose_available = TRUE + stabilization_available = TRUE + toxification_probability = 0 emp_vulnerability = 20 -/obj/item/organ/internal/heart/cybernetic/tier3/used_dose() - . = ..() - addtimer(VARSET_CALLBACK(src, dose_available, TRUE), 5 MINUTES) - /obj/item/organ/internal/heart/cybernetic/surplus name = "surplus prosthetic heart" desc = "A fragile mockery of a human heart that resembles a water pump more than an actual heart. \ diff --git a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm index e9da6197ed273..5cdb27942358b 100644 --- a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm +++ b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm @@ -7,6 +7,8 @@ name = "Voltaic Combat Cyberheart" desc = "A cutting-edge cyberheart, originally designed for Nanotrasen killsquad usage but later declassified for normal research. Voltaic technology allows the heart to keep the body upright in dire circumstances, alongside redirecting anomalous flux energy to fully shield the user from shocks and electro-magnetic pulses. Requires a refined Flux core as a power source." icon_state = "anomalock_heart" + bleed_prevention = TRUE + toxification_probability = 0 COOLDOWN_DECLARE(survival_cooldown) ///Cooldown for the activation of the organ diff --git a/code/modules/surgery/organs/internal/heart/heart_ethereal.dm b/code/modules/surgery/organs/internal/heart/heart_ethereal.dm index bd30318a72225..3e853a965b1bf 100644 --- a/code/modules/surgery/organs/internal/heart/heart_ethereal.dm +++ b/code/modules/surgery/organs/internal/heart/heart_ethereal.dm @@ -21,15 +21,14 @@ add_atom_colour(ethereal_color, FIXED_COLOUR_PRIORITY) update_appearance() -/obj/item/organ/internal/heart/ethereal/Insert(mob/living/carbon/heart_owner, special = FALSE, movement_flags) +/obj/item/organ/internal/heart/ethereal/mob_insert(mob/living/carbon/heart_owner, special = FALSE, movement_flags) . = ..() - if(!.) - return + RegisterSignal(heart_owner, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_change)) RegisterSignal(heart_owner, COMSIG_LIVING_POST_FULLY_HEAL, PROC_REF(on_owner_fully_heal)) RegisterSignal(heart_owner, COMSIG_QDELETING, PROC_REF(owner_deleted)) -/obj/item/organ/internal/heart/ethereal/Remove(mob/living/carbon/heart_owner, special, movement_flags) +/obj/item/organ/internal/heart/ethereal/mob_remove(mob/living/carbon/heart_owner, special, movement_flags) UnregisterSignal(heart_owner, list(COMSIG_MOB_STATCHANGE, COMSIG_LIVING_POST_FULLY_HEAL, COMSIG_QDELETING)) REMOVE_TRAIT(heart_owner, TRAIT_CORPSELOCKED, SPECIES_TRAIT) stop_crystalization_process(heart_owner) diff --git a/code/modules/surgery/organs/internal/liver/_liver.dm b/code/modules/surgery/organs/internal/liver/_liver.dm index dd996a91f14c1..3933a9efa5930 100755 --- a/code/modules/surgery/organs/internal/liver/_liver.dm +++ b/code/modules/surgery/organs/internal/liver/_liver.dm @@ -7,7 +7,7 @@ name = "liver" desc = "Pairing suggestion: chianti and fava beans." icon_state = "liver" - visual = FALSE + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_LIVER @@ -132,6 +132,7 @@ . = ..() //If your liver is failing, then we use the liverless version of metabolize if((organ_flags & ORGAN_FAILING) || HAS_TRAIT(owner, TRAIT_LIVERLESS_METABOLISM)) + owner.reagents.end_metabolization(keep_liverless = TRUE) owner.reagents.metabolize(owner, seconds_per_tick, times_fired, can_overdose = TRUE, liverless = TRUE) return diff --git a/code/modules/surgery/organs/internal/lungs/_lungs.dm b/code/modules/surgery/organs/internal/lungs/_lungs.dm index b3427db9291ba..9b38803dd7743 100644 --- a/code/modules/surgery/organs/internal/lungs/_lungs.dm +++ b/code/modules/surgery/organs/internal/lungs/_lungs.dm @@ -1,7 +1,7 @@ /obj/item/organ/internal/lungs name = "lungs" icon_state = "lungs" - visual = FALSE + zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_LUNGS gender = PLURAL @@ -154,17 +154,16 @@ add_gas_reaction(/datum/gas/zauker, while_present = PROC_REF(too_much_zauker)) ///Simply exists so that you don't keep any alerts from your previous lack of lungs. -/obj/item/organ/internal/lungs/Insert(mob/living/carbon/receiver, special = FALSE, movement_flags) +/obj/item/organ/internal/lungs/mob_insert(mob/living/carbon/receiver, special = FALSE, movement_flags) . = ..() - if(!.) - return . + receiver.clear_alert(ALERT_NOT_ENOUGH_OXYGEN) receiver.clear_alert(ALERT_NOT_ENOUGH_CO2) receiver.clear_alert(ALERT_NOT_ENOUGH_NITRO) receiver.clear_alert(ALERT_NOT_ENOUGH_PLASMA) receiver.clear_alert(ALERT_NOT_ENOUGH_N2O) -/obj/item/organ/internal/lungs/Remove(mob/living/carbon/organ_owner, special, movement_flags) +/obj/item/organ/internal/lungs/mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() // This is very "manual" I realize, but it's useful to ensure cleanup for gases we're removing happens // Avoids stuck alerts and such @@ -537,7 +536,7 @@ n2o_euphoria = EUPHORIA_INACTIVE breather.clear_alert(ALERT_TOO_MUCH_N2O) -// Breath in nitrium. It's helpful, but has nasty side effects +// Breathe in nitrium. It's helpful, but has nasty side effects /obj/item/organ/internal/lungs/proc/too_much_nitrium(mob/living/carbon/breather, datum/gas_mixture/breath, nitrium_pp, old_nitrium_pp) breathe_gas_volume(breath, /datum/gas/nitrium) diff --git a/code/modules/surgery/organs/internal/stomach/_stomach.dm b/code/modules/surgery/organs/internal/stomach/_stomach.dm index 3b6cf14e84464..4f1edd1542d69 100644 --- a/code/modules/surgery/organs/internal/stomach/_stomach.dm +++ b/code/modules/surgery/organs/internal/stomach/_stomach.dm @@ -5,7 +5,7 @@ name = "stomach" desc = "Onaka ga suite imasu." icon_state = "stomach" - visual = FALSE + w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_STOMACH @@ -217,6 +217,7 @@ disgusted.adjust_confusion(2.5 SECONDS) disgusted.adjust_stutter(2 SECONDS) disgusted.vomit(VOMIT_CATEGORY_KNOCKDOWN, distance = 0) + disgusted.adjust_disgust(-50) disgusted.set_dizzy_if_lower(10 SECONDS) if(disgust >= DISGUST_LEVEL_DISGUSTED) if(SPT_PROB(13, seconds_per_tick)) @@ -245,11 +246,11 @@ disgusted.throw_alert(ALERT_DISGUST, /atom/movable/screen/alert/disgusted) disgusted.add_mood_event("disgust", /datum/mood_event/disgusted) -/obj/item/organ/internal/stomach/Insert(mob/living/carbon/receiver, special, movement_flags) +/obj/item/organ/internal/stomach/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() receiver.hud_used?.hunger?.update_appearance() -/obj/item/organ/internal/stomach/Remove(mob/living/carbon/stomach_owner, special, movement_flags) +/obj/item/organ/internal/stomach/mob_remove(mob/living/carbon/stomach_owner, special, movement_flags) if(ishuman(stomach_owner)) var/mob/living/carbon/human/human_owner = owner human_owner.clear_alert(ALERT_DISGUST) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index d0d3d95f287a9..7ddcfb6164fbf 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -2,7 +2,7 @@ name = "tongue" desc = "A fleshy muscle mostly used for lying." icon_state = "tongue" - visual = FALSE + zone = BODY_ZONE_PRECISE_MOUTH slot = ORGAN_SLOT_TONGUE attack_verb_continuous = list("licks", "slobbers", "slaps", "frenches", "tongues") @@ -94,11 +94,15 @@ /obj/item/organ/internal/tongue/proc/handle_speech(datum/source, list/speech_args) SIGNAL_HANDLER + if(should_modify_speech(source, speech_args)) + modify_speech(source, speech_args) + +/obj/item/organ/internal/tongue/proc/should_modify_speech(datum/source, list/speech_args) if(speech_args[SPEECH_LANGUAGE] in languages_native) // Speaking a native language? return FALSE // Don't modify speech if(HAS_TRAIT(source, TRAIT_SIGN_LANG)) // No modifiers for signers - I hate this but I simply cannot get these to combine into one statement return FALSE // Don't modify speech - modify_speech(source, speech_args) + return TRUE /obj/item/organ/internal/tongue/proc/modify_speech(datum/source, list/speech_args) return speech_args[SPEECH_MESSAGE] @@ -120,30 +124,30 @@ food_taste_reaction = FOOD_LIKED return food_taste_reaction -/obj/item/organ/internal/tongue/Insert(mob/living/carbon/tongue_owner, special = FALSE, movement_flags) +/obj/item/organ/internal/tongue/mob_insert(mob/living/carbon/receiver, special, movement_flags) . = ..() - if(!.) - return + if(modifies_speech) - RegisterSignal(tongue_owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - tongue_owner.voice_filter = voice_filter + RegisterSignal(receiver, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + receiver.voice_filter = voice_filter /* This could be slightly simpler, by making the removal of the * NO_TONGUE_TRAIT conditional on the tongue's `sense_of_taste`, but * then you can distinguish between ageusia from no tongue, and * ageusia from having a non-tasting tongue. */ - REMOVE_TRAIT(tongue_owner, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) + REMOVE_TRAIT(receiver, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) apply_tongue_effects() -/obj/item/organ/internal/tongue/Remove(mob/living/carbon/tongue_owner, special, movement_flags) +/obj/item/organ/internal/tongue/mob_remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() + temp_say_mod = "" - UnregisterSignal(tongue_owner, COMSIG_MOB_SAY) - REMOVE_TRAIT(tongue_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) - REMOVE_TRAIT(tongue_owner, TRAIT_AGEUSIA, ORGAN_TRAIT) + UnregisterSignal(organ_owner, COMSIG_MOB_SAY) + REMOVE_TRAIT(organ_owner, TRAIT_SPEAKS_CLEARLY, SPEAKING_FROM_TONGUE) + REMOVE_TRAIT(organ_owner, TRAIT_AGEUSIA, ORGAN_TRAIT) // Carbons by default start with NO_TONGUE_TRAIT caused TRAIT_AGEUSIA - ADD_TRAIT(tongue_owner, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) - tongue_owner.voice_filter = initial(tongue_owner.voice_filter) + ADD_TRAIT(organ_owner, TRAIT_AGEUSIA, NO_TONGUE_TRAIT) + organ_owner.voice_filter = initial(organ_owner.voice_filter) /obj/item/organ/internal/tongue/apply_organ_damage(damage_amount, maximum = maxHealth, required_organ_flag) . = ..() @@ -195,7 +199,7 @@ /obj/item/organ/internal/tongue/lizard/New(class, timer, datum/mutation/human/copymut) . = ..() - AddComponent(/datum/component/speechmod, replacements = speech_replacements) + AddComponent(/datum/component/speechmod, replacements = speech_replacements, should_modify_speech = CALLBACK(src, PROC_REF(should_modify_speech))) /obj/item/organ/internal/tongue/lizard/silver name = "silver tongue" @@ -542,6 +546,7 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) attack_verb_simple = list("beep", "boop") modifies_speech = TRUE taste_sensitivity = 25 // not as good as an organic tongue + organ_traits = list(TRAIT_SILICON_EMOTES_ALLOWED) voice_filter = "alimiter=0.9,acompressor=threshold=0.2:ratio=20:attack=10:release=50:makeup=2,highpass=f=1000" /obj/item/organ/internal/tongue/robot/could_speak_language(datum/language/language_path) diff --git a/code/modules/surgery/organs/internal/vocal_cords/_vocal_cords.dm b/code/modules/surgery/organs/internal/vocal_cords/_vocal_cords.dm index 9183c7eb80944..f2d9abae41669 100644 --- a/code/modules/surgery/organs/internal/vocal_cords/_vocal_cords.dm +++ b/code/modules/surgery/organs/internal/vocal_cords/_vocal_cords.dm @@ -1,7 +1,6 @@ /obj/item/organ/internal/vocal_cords //organs that are activated through speech with the :x/MODE_KEY_VOCALCORDS channel name = "vocal cords" icon_state = "appendix" - visual = FALSE zone = BODY_ZONE_PRECISE_MOUTH slot = ORGAN_SLOT_VOICE gender = PLURAL @@ -87,7 +86,6 @@ next_command = world.time + (cooldown * cooldown_mod) /obj/item/organ/internal/adamantine_resonator - visual = FALSE name = "adamantine resonator" desc = "Fragments of adamantine exist in all golems, stemming from their origins as purely magical constructs. These are used to \"hear\" messages from their leaders." zone = BODY_ZONE_HEAD diff --git a/code/modules/surgery/organs/organ_movement.dm b/code/modules/surgery/organs/organ_movement.dm index 2889cbe07081b..010daa3fd24c5 100644 --- a/code/modules/surgery/organs/organ_movement.dm +++ b/code/modules/surgery/organs/organ_movement.dm @@ -18,7 +18,8 @@ mob_insert(receiver, special, movement_flags) bodypart_insert(limb_owner = receiver, movement_flags = movement_flags) - return TRUE + if(!special) + receiver.update_body_parts() /* * Remove the organ from the select mob. @@ -32,6 +33,9 @@ mob_remove(organ_owner, special, movement_flags) bodypart_remove(limb_owner = organ_owner, movement_flags = movement_flags) + if(!special) + organ_owner.update_body_parts() + /* * Insert the organ into the select mob. * @@ -65,6 +69,11 @@ wash(CLEAN_TYPE_BLOOD) organ_flags &= ~ORGAN_VIRGIN + if(external_bodytypes) + receiver.synchronize_bodytypes() + if(external_bodyshapes) + receiver.synchronize_bodyshapes() + receiver.organs |= src receiver.organs_slot[slot] = src owner = receiver @@ -120,6 +129,9 @@ ADD_TRAIT(src, TRAIT_NODROP, ORGAN_INSIDE_BODY_TRAIT) interaction_flags_item &= ~INTERACT_ITEM_ATTACK_HAND_PICKUP + if(bodypart_overlay) + limb.add_bodypart_overlay(bodypart_overlay) + /* * Remove the organ from the select mob. * @@ -161,6 +173,10 @@ UnregisterSignal(organ_owner, COMSIG_ATOM_EXAMINE) SEND_SIGNAL(src, COMSIG_ORGAN_REMOVED, organ_owner) SEND_SIGNAL(organ_owner, COMSIG_CARBON_LOSE_ORGAN, src, special) + ADD_TRAIT(src, TRAIT_USED_ORGAN, ORGAN_TRAIT) + + organ_owner.synchronize_bodytypes() + organ_owner.synchronize_bodyshapes() var/list/diseases = organ_owner.get_static_viruses() if(!LAZYLEN(diseases)) @@ -210,6 +226,16 @@ REMOVE_TRAIT(src, TRAIT_NODROP, ORGAN_INSIDE_BODY_TRAIT) interaction_flags_item |= INTERACT_ITEM_ATTACK_HAND_PICKUP + if(!bodypart_overlay) + return + + limb.remove_bodypart_overlay(bodypart_overlay) + + if(use_mob_sprite_as_obj_sprite) + update_appearance(UPDATE_OVERLAYS) + + color = bodypart_overlay.draw_color // so a pink felinid doesn't drop a gray tail + /// In space station videogame, nothing is sacred. If somehow an organ is removed unexpectedly, handle it properly /obj/item/organ/proc/forced_removal() SIGNAL_HANDLER diff --git a/code/modules/surgery/revival.dm b/code/modules/surgery/revival.dm index 405b693178f39..e0111feb52231 100644 --- a/code/modules/surgery/revival.dm +++ b/code/modules/surgery/revival.dm @@ -2,7 +2,6 @@ name = "Revival" desc = "An experimental surgical procedure which involves reconstruction and reactivation of the patient's brain even long after death. \ The body must still be able to sustain life." - requires_bodypart_type = NONE possible_locs = list(BODY_ZONE_CHEST) target_mobtypes = list(/mob/living) surgery_flags = SURGERY_REQUIRE_RESTING | SURGERY_MORBID_CURIOSITY @@ -16,6 +15,19 @@ /datum/surgery_step/close, ) +/datum/surgery/revival/mechanic + name = "Full System Reboot" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/prepare_electronics, + /datum/surgery_step/revive, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/revival/can_start(mob/user, mob/living/target) if(!..()) return FALSE @@ -92,8 +104,7 @@ span_notice("[user] send a powerful shock to [target]'s brain with [tool]..."), ) target.grab_ghost() - target.adjustOxyLoss(-50, 0) - target.updatehealth() + target.adjustOxyLoss(-50) if(iscarbon(target)) var/mob/living/carbon/carbon_target = target carbon_target.set_heartattack(FALSE) diff --git a/code/modules/surgery/sleeper_protocol.dm b/code/modules/surgery/sleeper_protocol.dm index 693b0fbfb5c4a..277a8c170d6d3 100644 --- a/code/modules/surgery/sleeper_protocol.dm +++ b/code/modules/surgery/sleeper_protocol.dm @@ -1,11 +1,15 @@ /obj/item/disk/surgery/sleeper_protocol name = "Suspicious Surgery Disk" desc = "The disk provides instructions on how to turn someone into a sleeper agent for the Syndicate." - surgeries = list(/datum/surgery/advanced/brainwashing_sleeper) + surgeries = list( + /datum/surgery/advanced/brainwashing_sleeper, + /datum/surgery/advanced/brainwashing_sleeper/mechanic, + ) /datum/surgery/advanced/brainwashing_sleeper name = "Sleeper Agent Surgery" desc = "A surgical procedure which implants the sleeper protocol into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant." + requires_bodypart_type = NONE possible_locs = list(BODY_ZONE_HEAD) steps = list( /datum/surgery_step/incise, @@ -16,6 +20,19 @@ /datum/surgery_step/close, ) +/datum/surgery/advanced/brainwashing_sleeper/mechanic + name = "Sleeper Agent Reprogramming" + desc = "Malware which directly implants the sleeper protocol directive into the robotic patient's operating system, making it their absolute priority. It can be cleared using a mindshield implant." + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/brainwash/sleeper_agent/mechanic, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/advanced/brainwashing_sleeper/can_start(mob/user, mob/living/carbon/target) . = ..() if(!.) @@ -42,6 +59,17 @@ "The cyborgs and the AI are stalking you. What are they planning?", ) +/datum/surgery_step/brainwash/sleeper_agent/mechanic + name = "reprogram (multitool)" + implements = list( + TOOL_MULTITOOL = 85, + TOOL_HEMOSTAT = 50, + TOOL_WIRECUTTER = 50, + /obj/item/stack/package_wrap = 35, + /obj/item/stack/cable_coil = 15) + preop_sound = 'sound/surgery/hemostat1.ogg' + success_sound = 'sound/surgery/hemostat1.ogg' + /datum/surgery_step/brainwash/sleeper_agent/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) objective = pick(possible_objectives) display_results( diff --git a/code/modules/surgery/stomachpump.dm b/code/modules/surgery/stomachpump.dm index 25f067aef6505..4d6dca105dacf 100644 --- a/code/modules/surgery/stomachpump.dm +++ b/code/modules/surgery/stomachpump.dm @@ -10,6 +10,18 @@ /datum/surgery_step/close, ) +/datum/surgery/stomach_pump/mechanic + name = "Nutrient Processing Purge" + requires_bodypart_type = BODYTYPE_ROBOTIC + steps = list( + /datum/surgery_step/mechanic_open, + /datum/surgery_step/open_hatch, + /datum/surgery_step/mechanic_unwrench, + /datum/surgery_step/stomach_pump, + /datum/surgery_step/mechanic_wrench, + /datum/surgery_step/mechanic_close, + ) + /datum/surgery/stomach_pump/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/internal/stomach/target_stomach = target.get_organ_slot(ORGAN_SLOT_STOMACH) if(HAS_TRAIT(target, TRAIT_HUSK)) diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index 350bd60fbd176..336e76b4d70c2 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -96,6 +96,12 @@ var/fail_prob = 0//100 - fail_prob = success_prob var/advance = FALSE + if(!chem_check(target)) + user.balloon_alert(user, "missing [LOWER_TEXT(get_chem_list())]!") + to_chat(user, span_warning("[target] is missing the [LOWER_TEXT(get_chem_list())] required to perform this surgery step!")) + surgery.step_in_progress = FALSE + return FALSE + if(preop(user, target, target_zone, tool, surgery) == SURGERY_STEP_FAIL) update_surgery_mood(target, SURGERY_STATE_FAILURE) surgery.step_in_progress = FALSE @@ -134,9 +140,7 @@ if(do_after(user, modded_time, target = target, interaction_key = user.has_status_effect(/datum/status_effect/hippocratic_oath) ? target : DOAFTER_SOURCE_SURGERY)) //If we have the hippocratic oath, we can perform one surgery on each target, otherwise we can only do one surgery in total. - var/chem_check_result = chem_check(target) - if((prob(100-fail_prob) || (iscyborg(user) && !silicons_obey_prob)) && chem_check_result && !try_to_fail) - + if((prob(100-fail_prob) || (iscyborg(user) && !silicons_obey_prob)) && !try_to_fail) if(success(user, target, target_zone, tool, surgery)) update_surgery_mood(target, SURGERY_STATE_SUCCESS) play_success_sound(user, target, target_zone, tool, surgery) @@ -146,8 +150,6 @@ play_failure_sound(user, target, target_zone, tool, surgery) update_surgery_mood(target, SURGERY_STATE_FAILURE) advance = TRUE - if(chem_check_result) - return .(user, target, target_zone, tool, surgery, try_to_fail) //automatically re-attempt if failed for reason other than lack of required chemical if(advance && !repeatable) surgery.status++ if(surgery.status > surgery.steps.len) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 2bd8f485887f8..c0f71b57ca235 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -644,7 +644,7 @@ for(var/key in whitelist) .["whitelist"] += whitelist[key] -/obj/item/blood_filter/ui_act(action, params) +/obj/item/blood_filter/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/tgs/README.md b/code/modules/tgs/README.md index 6319028d8106d..35ca73d7e9a8e 100644 --- a/code/modules/tgs/README.md +++ b/code/modules/tgs/README.md @@ -1,6 +1,6 @@ # DMAPI Internals -This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. +This folder should be placed on its own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. - [includes.dm](./includes.dm) is the file that should be included by DM code, it handles including the rest. - The [core](./core) folder includes all code not directly part of any API version. diff --git a/code/modules/tgs/core/README.md b/code/modules/tgs/core/README.md index b82d8f49e297f..965e21b549a3e 100644 --- a/code/modules/tgs/core/README.md +++ b/code/modules/tgs/core/README.md @@ -3,7 +3,7 @@ This folder contains all DMAPI code not directly involved in an API. - [_definitions.dm](./definitions.dm) contains defines needed across DMAPI internals. +- [byond_world_export.dm](./byond_world_export.dm) contains the default `/datum/tgs_http_handler` implementation which uses `world.Export()`. - [core.dm](./core.dm) contains the implementations of the `/world/proc/TgsXXX()` procs. Many map directly to the `/datum/tgs_api` functions. It also contains the /datum selection and setup code. - [datum.dm](./datum.dm) contains the `/datum/tgs_api` declarations that all APIs must implement. - [tgs_version.dm](./tgs_version.dm) contains the `/datum/tgs_version` definition -- diff --git a/code/modules/tgs/core/byond_world_export.dm b/code/modules/tgs/core/byond_world_export.dm new file mode 100644 index 0000000000000..6ef8d841b8f76 --- /dev/null +++ b/code/modules/tgs/core/byond_world_export.dm @@ -0,0 +1,22 @@ +/datum/tgs_http_handler/byond_world_export + +/datum/tgs_http_handler/byond_world_export/PerformGet(url) + // This is an infinite sleep until we get a response + var/export_response = world.Export(url) + TGS_DEBUG_LOG("byond_world_export: Export complete") + + if(!export_response) + TGS_ERROR_LOG("byond_world_export: Failed request: [url]") + return new /datum/tgs_http_result(null, FALSE) + + var/content = export_response["CONTENT"] + if(!content) + TGS_ERROR_LOG("byond_world_export: Failed request, missing content!") + return new /datum/tgs_http_result(null, FALSE) + + var/response_json = TGS_FILE2TEXT_NATIVE(content) + if(!response_json) + TGS_ERROR_LOG("byond_world_export: Failed request, failed to load content!") + return new /datum/tgs_http_result(null, FALSE) + + return new /datum/tgs_http_result(response_json, TRUE) diff --git a/code/modules/tgs/core/core.dm b/code/modules/tgs/core/core.dm index 15622228e91fe..63cb5a2c35147 100644 --- a/code/modules/tgs/core/core.dm +++ b/code/modules/tgs/core/core.dm @@ -1,4 +1,4 @@ -/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler = null) var/current_api = TGS_READ_GLOBAL(tgs) if(current_api) TGS_ERROR_LOG("API datum already set (\ref[current_api] ([current_api]))! Was TgsNew() called more than once?") @@ -55,7 +55,10 @@ TGS_ERROR_LOG("Invalid parameter for event_handler: [event_handler]") event_handler = null - var/datum/tgs_api/new_api = new api_datum(event_handler, version) + if(!http_handler) + http_handler = new /datum/tgs_http_handler/byond_world_export + + var/datum/tgs_api/new_api = new api_datum(event_handler, version, http_handler) TGS_WRITE_GLOBAL(tgs, new_api) diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index f734fd0527f0e..3ca53e9bf7c65 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -6,7 +6,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) var/list/warned_deprecated_command_runs -/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version) +/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) ..() src.event_handler = event_handler src.version = version diff --git a/code/modules/tgs/includes.dm b/code/modules/tgs/includes.dm index 23b714f9d0643..f5118ed55a3c2 100644 --- a/code/modules/tgs/includes.dm +++ b/code/modules/tgs/includes.dm @@ -1,4 +1,5 @@ #include "core\_definitions.dm" +#include "core\byond_world_export.dm" #include "core\core.dm" #include "core\datum.dm" #include "core\tgs_version.dm" diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 95b8edd3ee5c2..3e328fc7c27d5 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -31,9 +31,12 @@ var/detached = FALSE -/datum/tgs_api/v5/New() + var/datum/tgs_http_handler/http_handler + +/datum/tgs_api/v5/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) . = ..() interop_version = version + src.http_handler = http_handler TGS_DEBUG_LOG("V5 API created: [json_encode(args)]") /datum/tgs_api/v5/ApiVersion() @@ -50,7 +53,9 @@ version = null // we want this to be the TGS version, not the interop version // sleep once to prevent an issue where world.Export on the first tick can hang indefinitely + TGS_DEBUG_LOG("Starting Export bug prevention sleep tick. time:[world.time] sleep_offline:[world.sleep_offline]") sleep(world.tick_lag) + TGS_DEBUG_LOG("Export bug prevention sleep complete") var/list/bridge_response = Bridge(DMAPI5_BRIDGE_COMMAND_STARTUP, list(DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL = minimum_required_security_level, DMAPI5_BRIDGE_PARAMETER_VERSION = api_version.raw_parameter, DMAPI5_PARAMETER_CUSTOM_COMMANDS = ListCustomCommands(), DMAPI5_PARAMETER_TOPIC_PORT = GetTopicPort())) if(!istype(bridge_response)) diff --git a/code/modules/tgs/v5/bridge.dm b/code/modules/tgs/v5/bridge.dm index 0c5e701a32b60..62201fcc9e58b 100644 --- a/code/modules/tgs/v5/bridge.dm +++ b/code/modules/tgs/v5/bridge.dm @@ -78,27 +78,24 @@ WaitForReattach(FALSE) TGS_DEBUG_LOG("Bridge request start") - // This is an infinite sleep until we get a response - var/export_response = world.Export(bridge_request) + var/datum/tgs_http_result/result = http_handler.PerformGet(bridge_request) TGS_DEBUG_LOG("Bridge request complete") - if(!export_response) - TGS_ERROR_LOG("Failed bridge request: [bridge_request]") + if(isnull(result)) + TGS_ERROR_LOG("Failed bridge request, handler returned null!") return - var/content = export_response["CONTENT"] - if(!content) - TGS_ERROR_LOG("Failed bridge request, missing content!") + if(!istype(result) || result.type != /datum/tgs_http_result) + TGS_ERROR_LOG("Failed bridge request, handler returned non-[/datum/tgs_http_result]!") return - var/response_json = TGS_FILE2TEXT_NATIVE(content) - if(!response_json) - TGS_ERROR_LOG("Failed bridge request, failed to load content!") + if(!result.success) + TGS_DEBUG_LOG("Failed bridge request, HTTP request failed!") return - var/list/bridge_response = json_decode(response_json) + var/list/bridge_response = json_decode(result.response_text) if(!bridge_response) - TGS_ERROR_LOG("Failed bridge request, bad json: [response_json]") + TGS_ERROR_LOG("Failed bridge request, bad json: [result.response_text]") return var/error = bridge_response[DMAPI5_RESPONSE_ERROR_MESSAGE] diff --git a/code/modules/tgui_input/alert.dm b/code/modules/tgui_input/alert.dm index 4749ef278725e..0b12184ba7a88 100644 --- a/code/modules/tgui_input/alert.dm +++ b/code/modules/tgui_input/alert.dm @@ -120,7 +120,7 @@ data["timeout"] = CLAMP01((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS)) return data -/datum/tgui_alert/ui_act(action, list/params) +/datum/tgui_alert/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/tgui_input/checkboxes.dm b/code/modules/tgui_input/checkboxes.dm index 53b264038dc20..9e548b9c13640 100644 --- a/code/modules/tgui_input/checkboxes.dm +++ b/code/modules/tgui_input/checkboxes.dm @@ -115,7 +115,7 @@ return data -/datum/tgui_checkbox_input/ui_act(action, list/params) +/datum/tgui_checkbox_input/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/tgui_input/keycombo.dm b/code/modules/tgui_input/keycombo.dm index 948dbaea234a8..7a9e8399a8cfb 100644 --- a/code/modules/tgui_input/keycombo.dm +++ b/code/modules/tgui_input/keycombo.dm @@ -8,7 +8,7 @@ * * user - The user to show the number input to. * * message - The content of the number input, shown in the body of the TGUI window. * * title - The title of the number input modal, shown on the top of the TGUI window. - * * default - The default (or current) key, shown as a placeholder. + * * default - The default (or current) key, shown as a placeholder. */ /proc/tgui_input_keycombo(mob/user = usr, message, title = "Key Input", default = 0, timeout = 0, ui_state = GLOB.always_state) if (!istype(user)) @@ -107,7 +107,7 @@ data["timeout"] = CLAMP01((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS)) return data -/datum/tgui_input_keycombo/ui_act(action, list/params) +/datum/tgui_input_keycombo/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/tgui_input/list.dm b/code/modules/tgui_input/list.dm index 22c6d48edfc5a..fcee265e5a8b4 100644 --- a/code/modules/tgui_input/list.dm +++ b/code/modules/tgui_input/list.dm @@ -137,7 +137,7 @@ data["timeout"] = clamp((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS), 0, 1) return data -/datum/tgui_list_input/ui_act(action, list/params) +/datum/tgui_list_input/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/tgui_input/number.dm b/code/modules/tgui_input/number.dm index 68998acb0331f..0266610b84c99 100644 --- a/code/modules/tgui_input/number.dm +++ b/code/modules/tgui_input/number.dm @@ -136,7 +136,7 @@ data["timeout"] = CLAMP01((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS)) return data -/datum/tgui_input_number/ui_act(action, list/params) +/datum/tgui_input_number/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/tgui_input/text.dm b/code/modules/tgui_input/text.dm index 4b3e59a6028c7..ec94fbd6766ac 100644 --- a/code/modules/tgui_input/text.dm +++ b/code/modules/tgui_input/text.dm @@ -133,16 +133,16 @@ data["timeout"] = CLAMP01((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS)) return data -/datum/tgui_input_text/ui_act(action, list/params) +/datum/tgui_input_text/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return switch(action) if("submit") if(max_length) - if(length(params["entry"]) > max_length) + if(length_char(params["entry"]) > max_length) CRASH("[usr] typed a text string longer than the max length") - if(encode && (length(html_encode(params["entry"])) > max_length)) + if(encode && (length_char(html_encode(params["entry"])) > max_length)) to_chat(usr, span_notice("Your message was clipped due to special character usage.")) set_entry(params["entry"]) closed = TRUE diff --git a/code/modules/transport/_transport_machinery.dm b/code/modules/transport/_transport_machinery.dm index a51d6d840d372..6a3f3a8b2b930 100644 --- a/code/modules/transport/_transport_machinery.dm +++ b/code/modules/transport/_transport_machinery.dm @@ -179,21 +179,11 @@ user.visible_message(span_notice("[user.name] installs [src] on the tram."), span_notice("You install [src] on the tram."), span_hear("You hear clicking.")) - var/floor_to_tram = get_dir(user, on_tram) - - var/obj/cabinet = new result_path(get_turf(user), floor_to_tram, TRUE) - cabinet.setDir(floor_to_tram) - - if(pixel_shift) - switch(floor_to_tram) - if(NORTH) - cabinet.pixel_y = pixel_shift - if(SOUTH) - cabinet.pixel_y = -pixel_shift - if(EAST) - cabinet.pixel_x = pixel_shift - if(WEST) - cabinet.pixel_x = -pixel_shift + var/facing_dir = get_dir(user, on_tram) + if(inverse_dir) // I'm sorry about this switch, O.turn wouldn't work for whatever reason. + facing_dir = REVERSE_DIR(facing_dir) + var/obj/cabinet = new result_path(get_turf(user), facing_dir, TRUE) + cabinet.setDir(facing_dir) after_attach(cabinet) qdel(src) diff --git a/code/modules/transport/elevator/elev_controller.dm b/code/modules/transport/elevator/elev_controller.dm index aae79cfe0f14b..870211ecb56d9 100644 --- a/code/modules/transport/elevator/elev_controller.dm +++ b/code/modules/transport/elevator/elev_controller.dm @@ -122,7 +122,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/button/elevator, 32) return FALSE // We can't call an elevator that's moving. You may say "you totally can do that", but that's not modelled - if(lift.controls_locked == LIFT_PLATFORM_LOCKED) + if(lift.controller_status & CONTROLS_LOCKED) loc.balloon_alert(activator, "elevator is moving!") return FALSE diff --git a/code/modules/transport/elevator/elev_doors.dm b/code/modules/transport/elevator/elev_doors.dm index c7468f6a62f5e..4f2b93976cade 100644 --- a/code/modules/transport/elevator/elev_doors.dm +++ b/code/modules/transport/elevator/elev_doors.dm @@ -12,5 +12,5 @@ GLOBAL_LIST_EMPTY(elevator_doors) icon_state = "right" base_state = "right" -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/elevator/left, 0) -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/door/window/elevator/right, 0) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/elevator/left) +MAPPING_DIRECTIONAL_HELPERS_EMPTY(/obj/machinery/door/window/elevator/right) diff --git a/code/modules/transport/elevator/elev_music_zone.dm b/code/modules/transport/elevator/elev_music_zone.dm index 045407fe7819a..f5b3de8a67cc4 100644 --- a/code/modules/transport/elevator/elev_music_zone.dm +++ b/code/modules/transport/elevator/elev_music_zone.dm @@ -83,7 +83,7 @@ GLOBAL_LIST_EMPTY(elevator_music) /datum/proximity_monitor/advanced/elevator_music_area/field_turf_uncrossed(mob/exited, turf/old_location, turf/new_location) if (!(exited in tracked_mobs)) return - if (exited.z == host.z && get_dist(exited, host) <= current_range) + if ((new_location in field_turfs) || (new_location in edge_turfs)) return qdel(tracked_mobs[exited]) tracked_mobs -= exited diff --git a/code/modules/transport/elevator/elev_panel.dm b/code/modules/transport/elevator/elev_panel.dm index 76b95922dfe66..a360323f1db7b 100644 --- a/code/modules/transport/elevator/elev_panel.dm +++ b/code/modules/transport/elevator/elev_panel.dm @@ -15,7 +15,7 @@ desc = "\"In case of emergency, please use the stairs.\" Thus, always use the stairs." density = FALSE - icon = 'icons/obj/wallmounts.dmi' + icon = 'icons/obj/structures/wallmounts.dmi' icon_state = "elevpanel0" base_icon_state = "elevpanel" @@ -276,7 +276,7 @@ var/datum/transport_controller/linear/lift = lift_weakref?.resolve() if(lift) data["lift_exists"] = TRUE - data["currently_moving"] = lift.controls_locked == LIFT_PLATFORM_LOCKED + data["currently_moving"] = lift.controller_status & CONTROLS_LOCKED data["currently_moving_to_floor"] = last_move_target data["current_floor"] = lift.transport_modules[1].z @@ -299,7 +299,7 @@ return data -/obj/machinery/elevator_control_panel/ui_act(action, list/params) +/obj/machinery/elevator_control_panel/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -319,7 +319,7 @@ return TRUE // Something is inaccurate, update UI var/datum/transport_controller/linear/lift = lift_weakref?.resolve() - if(!lift || lift.controls_locked == LIFT_PLATFORM_LOCKED) + if(!lift || lift.controller_status & CONTROLS_LOCKED) return TRUE // We shouldn't be moving anything, update UI INVOKE_ASYNC(lift, TYPE_PROC_REF(/datum/transport_controller/linear, move_to_zlevel), desired_z, CALLBACK(src, PROC_REF(check_panel)), usr) diff --git a/code/modules/transport/linear_controller.dm b/code/modules/transport/linear_controller.dm index 80c161c32918d..1b3ffd30c148f 100644 --- a/code/modules/transport/linear_controller.dm +++ b/code/modules/transport/linear_controller.dm @@ -1,3 +1,6 @@ +/// If anyone changes the hydraulic sound effect I sure hope they update this... +#define HYDRAULIC_SFX_DURATION (2 SECONDS) + ///coordinate and control movement across linked transport_controllers. allows moving large single multitile platforms and many 1 tile platforms. ///also is capable of linking platforms across linked z levels /datum/transport_controller/linear @@ -10,6 +13,7 @@ /obj/machinery/power/supermatter_crystal, /obj/structure/holosign, /obj/machinery/field, + /obj/structure/fluff/tram_rail, ) ///whether the lift handled by this transport_controller datum is multitile as opposed to nxm platforms per z level @@ -32,9 +36,6 @@ ///bitfield of various transport states var/controller_status = NONE - ///if true, the platform cannot be manually moved. - var/controls_locked = FALSE - /// probability of being thrown hard during an emergency stop var/throw_chance = 17.5 @@ -343,10 +344,8 @@ // Get the lowest or highest platform according to which direction we're moving var/obj/structure/transport/linear/prime_lift = return_closest_platform_to_z(direction == UP ? world.maxz : 0) - // If anyone changes the hydraulic sound effect I sure hope they update this variable... - var/hydraulic_sfx_duration = 2 SECONDS // ...because we use the duration of the sound effect to make it last for roughly the duration of the lift travel - playsound(prime_lift, 'sound/mecha/hydraulic.ogg', 25, vary = TRUE, frequency = clamp(hydraulic_sfx_duration / lift_move_duration, 0.33, 3)) + playsound(prime_lift, 'sound/mecha/hydraulic.ogg', 25, vary = TRUE, frequency = clamp(HYDRAULIC_SFX_DURATION / lift_move_duration, 0.33, 3)) // Move the platform after a timer addtimer(CALLBACK(src, PROC_REF(move_lift_vertically), direction, user), lift_move_duration, TIMER_UNIQUE) @@ -465,6 +464,7 @@ // Close all lift doors update_lift_doors(action = CYCLE_CLOSED) + sleep(1.1 SECONDS) // Approach the desired z-level one step at a time for(var/i in 1 to z_difference) if(!Check_lift_move(direction)) @@ -482,7 +482,7 @@ if(QDELETED(src) || QDELETED(prime_lift)) return - addtimer(CALLBACK(src, PROC_REF(open_lift_doors_callback)), 2 SECONDS) + update_lift_doors(get_zs_we_are_on(), action = CYCLE_OPEN) SEND_SIGNAL(src, COMSIG_LIFT_SET_DIRECTION, 0) controls_lock(FALSE) return TRUE @@ -636,3 +636,5 @@ lift_to_reset.reset_contents(consider_anything_past, foreign_objects, foreign_non_player_mobs, consider_player_mobs) return TRUE + +#undef HYDRAULIC_SFX_DURATION diff --git a/code/modules/transport/tram/tram_controller.dm b/code/modules/transport/tram/tram_controller.dm index 1323953de78f7..be0bf94d2461d 100644 --- a/code/modules/transport/tram/tram_controller.dm +++ b/code/modules/transport/tram/tram_controller.dm @@ -749,7 +749,7 @@ /obj/machinery/transport/tram_controller name = "tram controller" desc = "Makes the tram go, or something. Holds the tram's electronics, controls, and maintenance panel. A sticker above the card reader says 'Engineering access only.'" - icon = 'icons/obj/tram/tram_controllers.dmi' + icon = 'icons/obj/structures/tram/tram_controllers.dmi' icon_state = "tram-controller" base_icon_state = "tram" anchored = TRUE @@ -1096,7 +1096,7 @@ return data -/obj/machinery/transport/tram_controller/ui_act(action, params) +/obj/machinery/transport/tram_controller/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return @@ -1188,8 +1188,7 @@ /obj/item/wallframe/tram/controller name = "tram controller cabinet" desc = "A box that contains the equipment to control a tram. Just secure to the tram wall." - icon = 'icons/obj/tram/tram_controllers.dmi' + icon = 'icons/obj/structures/tram/tram_controllers.dmi' icon_state = "tram-controller" custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT * 4, /datum/material/iron = SHEET_MATERIAL_AMOUNT * 2, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2) result_path = /obj/machinery/transport/tram_controller - pixel_shift = 32 diff --git a/code/modules/transport/tram/tram_controls.dm b/code/modules/transport/tram/tram_controls.dm index 0bfce56aa5c96..334653764f654 100644 --- a/code/modules/transport/tram/tram_controls.dm +++ b/code/modules/transport/tram/tram_controls.dm @@ -35,11 +35,13 @@ dir = SOUTH pixel_x = -8 pixel_y = 32 + pixel_z = 0 /obj/machinery/computer/tram_controls/split/directional/south dir = NORTH pixel_x = 8 pixel_y = -32 + pixel_z = 0 /obj/machinery/computer/tram_controls/split/directional/east dir = WEST @@ -130,7 +132,7 @@ this_destination["id"] = destination.platform_code . += list(this_destination) -/obj/machinery/computer/tram_controls/ui_act(action, params) +/obj/machinery/computer/tram_controls/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/transport/tram/tram_displays.dm b/code/modules/transport/tram/tram_displays.dm index b228bb38e9bd3..dae821b6663df 100644 --- a/code/modules/transport/tram/tram_displays.dm +++ b/code/modules/transport/tram/tram_displays.dm @@ -1,7 +1,7 @@ /obj/machinery/transport/destination_sign name = "destination sign" desc = "A display to show you what direction the tram is travelling." - icon = 'icons/obj/tram/tram_display.dmi' + icon = 'icons/obj/structures/tram/tram_display.dmi' icon_state = "desto_blank" base_icon_state = "desto" use_power = NO_POWER_USE @@ -24,7 +24,7 @@ pixel_x = 8 /obj/machinery/transport/destination_sign/indicator - icon = 'icons/obj/tram/tram_indicator.dmi' + icon = 'icons/obj/structures/tram/tram_indicator.dmi' icon_state = "indi_blank" base_icon_state = "indi" use_power = IDLE_POWER_USE @@ -38,10 +38,9 @@ name = "indicator display frame" desc = "Used to build tram indicator displays, just secure to the wall." icon_state = "indi_blank" - icon = 'icons/obj/tram/tram_indicator.dmi' + icon = 'icons/obj/structures/tram/tram_indicator.dmi' custom_materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT * 4, /datum/material/iron = SHEET_MATERIAL_AMOUNT * 2, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2) result_path = /obj/machinery/transport/destination_sign/indicator - pixel_shift = 32 /obj/machinery/transport/destination_sign/Initialize(mapload) . = ..() diff --git a/code/modules/transport/tram/tram_doors.dm b/code/modules/transport/tram/tram_doors.dm index 653b5cbabb527..ccd8a4b1ec10b 100644 --- a/code/modules/transport/tram/tram_doors.dm +++ b/code/modules/transport/tram/tram_doors.dm @@ -1,12 +1,11 @@ -#define TRAM_DOOR_WARNING_TIME (0.9 SECONDS) -#define TRAM_DOOR_CYCLE_TIME (0.6 SECONDS) -#define TRAM_DOOR_CRUSH_TIME (0.7 SECONDS) #define TRAM_DOOR_RECYCLE_TIME (2.7 SECONDS) /obj/machinery/door/airlock/tram name = "tram door" icon = 'icons/obj/doors/airlocks/tram/tram.dmi' overlays_file = 'icons/obj/doors/airlocks/tram/tram-overlays.dmi' + // YET TO BE UPDATED TO 3/4ths + short_rendering = TRUE multi_tile = TRUE opacity = FALSE assemblytype = /obj/structure/door_assembly/multi_tile/door_assembly_tram @@ -17,6 +16,8 @@ doorOpen = 'sound/machines/tramopen.ogg' doorClose = 'sound/machines/tramclose.ogg' autoclose = FALSE + greyscale_config = null + greyscale_colors = null /// Weakref to the tram we're attached var/datum/weakref/transport_ref var/retry_counter @@ -28,6 +29,28 @@ if(!id_tag) id_tag = assign_random_name() +/obj/machinery/door/airlock/tram/animation_length(animation) + switch(animation) + if(DOOR_OPENING_ANIMATION) + return 1.3 SECONDS + if(DOOR_CLOSING_ANIMATION) + return 2 SECONDS + +/obj/machinery/door/airlock/tram/animation_segment_delay(animation) + switch(animation) + if(AIRLOCK_OPENING_TRANSPARENT) + return 0.6 SECONDS + if(AIRLOCK_OPENING_PASSABLE) + return 0.9 SECONDS + if(AIRLOCK_OPENING_FINISHED) + return 0.9 SECONDS + if(AIRLOCK_CLOSING_UNPASSABLE) + return 0.9 SECONDS + if(AIRLOCK_CLOSING_OPAQUE) + return 0.7 SECONDS + if(AIRLOCK_CLOSING_FINISHED) + return 0.9 SECONDS + /obj/machinery/door/airlock/tram/open(forced = DEFAULT_DOOR_CHECKS) if(operating || welded || locked || seal) return FALSE @@ -38,16 +61,16 @@ if(forced == DEFAULT_DOOR_CHECKS && (!hasPower() || wires.is_cut(WIRE_OPEN))) return FALSE - SEND_SIGNAL(src, COMSIG_AIRLOCK_OPEN, FALSE) + SEND_SIGNAL(src, COMSIG_AIRLOCK_OPEN, forced) operating = TRUE - update_icon(ALL, AIRLOCK_OPENING, TRUE) + update_icon(ALL, AIRLOCK_OPENING) if(forced >= BYPASS_DOOR_CHECKS) playsound(src, 'sound/machines/airlockforced.ogg', vol = 40, vary = FALSE) - sleep(TRAM_DOOR_CYCLE_TIME) + sleep(animation_segment_delay(AIRLOCK_OPENING_TRANSPARENT)) else playsound(src, doorOpen, vol = 40, vary = FALSE) - sleep(TRAM_DOOR_WARNING_TIME) + sleep(animation_segment_delay(AIRLOCK_OPENING_PASSABLE)) set_density(FALSE) if(!isnull(filler)) @@ -55,10 +78,10 @@ update_freelook_sight() flags_1 &= ~PREVENT_CLICK_UNDER_1 air_update_turf(TRUE, FALSE) - sleep(TRAM_DOOR_WARNING_TIME) + sleep(animation_segment_delay(AIRLOCK_OPENING_FINISHED)) layer = OPEN_DOOR_LAYER - update_icon(ALL, AIRLOCK_OPEN, TRUE) operating = FALSE + update_icon(ALL, AIRLOCK_OPEN) return TRUE @@ -94,8 +117,8 @@ playsound(src, doorClose, vol = 40, vary = FALSE) operating = TRUE layer = CLOSED_DOOR_LAYER - update_icon(ALL, AIRLOCK_CLOSING, 1) - sleep(TRAM_DOOR_WARNING_TIME) + update_icon(ALL, AIRLOCK_CLOSING) + sleep(animation_segment_delay(AIRLOCK_CLOSING_UNPASSABLE)) if(!hungry_door) for(var/turf/checked_turf in locs) for(var/atom/movable/blocker in checked_turf) @@ -103,11 +126,11 @@ say("Please stand clear of the doors!") playsound(src, 'sound/machines/buzz-sigh.ogg', 60, vary = FALSE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) layer = OPEN_DOOR_LAYER - update_icon(ALL, AIRLOCK_OPEN, 1) operating = FALSE + update_icon(ALL, AIRLOCK_OPEN) return FALSE SEND_SIGNAL(src, COMSIG_AIRLOCK_CLOSE) - sleep(TRAM_DOOR_CRUSH_TIME) + sleep(animation_segment_delay(AIRLOCK_CLOSING_OPAQUE)) set_density(TRUE) if(!isnull(filler)) filler.set_density(TRUE) @@ -116,9 +139,9 @@ air_update_turf(TRUE, TRUE) crush() crushing_in_progress = FALSE - sleep(TRAM_DOOR_WARNING_TIME) - update_icon(ALL, AIRLOCK_CLOSED, 1) + sleep(animation_segment_delay(AIRLOCK_CLOSING_FINISHED)) operating = FALSE + update_icon(ALL, AIRLOCK_CLOSED) retry_counter = 0 return TRUE @@ -237,7 +260,4 @@ open(forced = BYPASS_DOOR_CHECKS) return -#undef TRAM_DOOR_WARNING_TIME -#undef TRAM_DOOR_CYCLE_TIME -#undef TRAM_DOOR_CRUSH_TIME #undef TRAM_DOOR_RECYCLE_TIME diff --git a/code/modules/transport/tram/tram_power.dm b/code/modules/transport/tram/tram_power.dm index 45c48766db81d..df8132ccb45c7 100644 --- a/code/modules/transport/tram/tram_power.dm +++ b/code/modules/transport/tram/tram_power.dm @@ -1,7 +1,7 @@ /obj/machinery/transport/power_rectifier name = "tram power rectifier" desc = "An electrical device that converts alternating current (AC) to direct current (DC) for powering the tram." - icon = 'icons/obj/tram/tram_controllers.dmi' + icon = 'icons/obj/structures/tram/tram_controllers.dmi' icon_state = "rectifier" idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 11.4 active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 114 diff --git a/code/modules/transport/tram/tram_signals.dm b/code/modules/transport/tram/tram_signals.dm index faf4a46e11e28..a868620a80c3e 100644 --- a/code/modules/transport/tram/tram_signals.dm +++ b/code/modules/transport/tram/tram_signals.dm @@ -2,7 +2,7 @@ /obj/machinery/transport/crossing_signal name = "crossing signal" desc = "Indicates to pedestrians if it's safe to cross the tracks. Connects to sensors down the track." - icon = 'icons/obj/tram/crossing_signal.dmi' + icon = 'icons/obj/structures/tram/crossing_signal.dmi' icon_state = "crossing-inbound" base_icon_state = "crossing-inbound" layer = TRAM_SIGNAL_LAYER @@ -70,7 +70,7 @@ /obj/machinery/static_signal name = "crossing signal" desc = "Indicates to pedestrians if it's safe to cross the tracks." - icon = 'icons/obj/tram/crossing_signal.dmi' + icon = 'icons/obj/structures/tram/crossing_signal.dmi' icon_state = "crossing-inbound" layer = TRAM_SIGNAL_LAYER max_integrity = 250 @@ -469,7 +469,7 @@ /obj/machinery/transport/guideway_sensor name = "guideway sensor" - icon = 'icons/obj/tram/tram_sensor.dmi' + icon = 'icons/obj/structures/tram/tram_sensor.dmi' icon_state = "sensor-base" desc = "Uses an infrared beam to detect passing trams. Works when paired with a sensor on the other side of the track." layer = TRAM_RAIL_LAYER diff --git a/code/modules/transport/tram/tram_structures.dm b/code/modules/transport/tram/tram_structures.dm index 368223d11653b..7a3962984e833 100644 --- a/code/modules/transport/tram/tram_structures.dm +++ b/code/modules/transport/tram/tram_structures.dm @@ -22,7 +22,7 @@ /obj/structure/tram name = "tram wall" desc = "A lightweight titanium composite structure with titanium silicate panels." - icon = 'icons/obj/tram/tram_structure.dmi' + icon = 'icons/obj/structures/tram/tram_structure.dmi' icon_state = "tram-part-0" base_icon_state = "tram-part" max_integrity = 150 @@ -33,7 +33,7 @@ flags_1 = PREVENT_CLICK_UNDER_1 pass_flags_self = PASSWINDOW armor_type = /datum/armor/tram_structure - smoothing_flags = SMOOTH_BITMASK + smoothing_flags = SMOOTH_BITMASK | SMOOTH_OBJ smoothing_groups = SMOOTH_GROUP_TRAM_STRUCTURE canSmoothWith = SMOOTH_GROUP_TRAM_STRUCTURE can_be_unanchored = FALSE @@ -109,7 +109,7 @@ if(ratio > 75) return - damage_overlay = mutable_appearance('icons/obj/structures.dmi', "damage[ratio]", -(layer + 0.1)) + damage_overlay = mutable_appearance('icons/turf/damaged.dmi', "damage[ratio]", -(layer + 0.1)) . += damage_overlay /obj/structure/tram/attack_hand(mob/living/user, list/modifiers) @@ -240,97 +240,84 @@ */ /obj/structure/tram/alt + icon = null + var/wall_icon = null +/obj/structure/tram/alt/update_overlays(updates=ALL) + . = ..() + . += generate_joined_wall(wall_icon, smoothing_junction) + if((smoothing_flags & SMOOTH_BITMASK) && (updates & UPDATE_SMOOTHING)) + QUEUE_SMOOTH(src) /obj/structure/tram/alt/titanium name = "solid tram" desc = "A lightweight titanium composite structure. There is further solid plating where the panels usually attach to the frame." - icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "shuttle_wall-0" - base_icon_state = "shuttle_wall" + wall_icon = 'icons/turf/walls/shuttle_wall.dmi' mineral = /obj/item/stack/sheet/mineral/titanium tram_wall_type = /obj/structure/tram/alt/titanium - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + SMOOTH_GROUP_WALLS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_TITANIUM_WALLS + smoothing_groups = SMOOTH_GROUP_TITANIUM_WALLS + canSmoothWith = SMOOTH_GROUP_TITANIUM_WALLS /obj/structure/tram/alt/plastitanium name = "reinforced tram" desc = "An evil tram of plasma and titanium." - icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-0" - base_icon_state = "plastitanium_wall" + wall_icon = 'icons/turf/walls/plastitanium_wall.dmi' mineral = /obj/item/stack/sheet/mineral/plastitanium tram_wall_type = /obj/structure/tram/alt/plastitanium - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS - canSmoothWith = SMOOTH_GROUP_SHUTTLE_PARTS + SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_PLASTITANIUM_WALLS + smoothing_groups = SMOOTH_GROUP_PLASTITANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_TALL_WALLS + canSmoothWith = SMOOTH_GROUP_PLASTITANIUM_WALLS /obj/structure/tram/alt/gold name = "gold tram" desc = "A solid gold tram. Swag!" - icon = 'icons/turf/walls/gold_wall.dmi' - icon_state = "gold_wall-0" - base_icon_state = "gold_wall" + wall_icon = 'icons/turf/walls/gold_wall.dmi' mineral = /obj/item/stack/sheet/mineral/gold tram_wall_type = /obj/structure/tram/alt/gold explosion_block = 0 //gold is a soft metal you dingus. - smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_GOLD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_TALL_WALLS canSmoothWith = SMOOTH_GROUP_GOLD_WALLS custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT * 2) /obj/structure/tram/alt/silver name = "silver tram" desc = "A solid silver tram. Shiny!" - icon = 'icons/turf/walls/silver_wall.dmi' - icon_state = "silver_wall-0" - base_icon_state = "silver_wall" + wall_icon = 'icons/turf/walls/silver_wall.dmi' mineral = /obj/item/stack/sheet/mineral/silver tram_wall_type = /obj/structure/tram/alt/silver - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_SILVER_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_SILVER_WALLS custom_materials = list(/datum/material/silver = SHEET_MATERIAL_AMOUNT * 2) /obj/structure/tram/alt/diamond name = "diamond tram" desc = "A composite structure with diamond-plated panels. Looks awfully sharp..." - icon = 'icons/turf/walls/diamond_wall.dmi' - icon_state = "diamond_wall-0" - base_icon_state = "diamond_wall" + wall_icon = 'icons/turf/walls/diamond_wall.dmi' mineral = /obj/item/stack/sheet/mineral/diamond tram_wall_type = /obj/structure/tram/alt/diamond //diamond wall takes twice as much time to slice max_integrity = 800 explosion_block = 3 - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_DIAMOND_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_DIAMOND_WALLS custom_materials = list(/datum/material/diamond = SHEET_MATERIAL_AMOUNT * 2) /obj/structure/tram/alt/bananium name = "bananium tram" desc = "A composite structure with bananium plating. Honk!" - icon = 'icons/turf/walls/bananium_wall.dmi' - icon_state = "bananium_wall-0" - base_icon_state = "bananium_wall" + wall_icon = 'icons/turf/walls/bananium_wall.dmi' mineral = /obj/item/stack/sheet/mineral/bananium tram_wall_type = /obj/structure/tram/alt/bananium - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_BANANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_BANANIUM_WALLS custom_materials = list(/datum/material/bananium = SHEET_MATERIAL_AMOUNT*2) /obj/structure/tram/alt/sandstone name = "sandstone tram" desc = "A composite structure with sandstone plating. Rough." - icon = 'icons/turf/walls/sandstone_wall.dmi' - icon_state = "sandstone_wall-0" - base_icon_state = "sandstone_wall" + wall_icon = 'icons/turf/walls/sandstone_wall.dmi' mineral = /obj/item/stack/sheet/mineral/sandstone tram_wall_type = /obj/structure/tram/alt/sandstone explosion_block = 0 - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_SANDSTONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_SANDSTONE_WALLS custom_materials = list(/datum/material/sandstone = SHEET_MATERIAL_AMOUNT*2) @@ -338,13 +325,10 @@ article = "a" name = "uranium tram" desc = "A composite structure with uranium plating. This is probably a bad idea." - icon = 'icons/turf/walls/uranium_wall.dmi' - icon_state = "uranium_wall-0" - base_icon_state = "uranium_wall" + wall_icon = 'icons/turf/walls/uranium_wall.dmi' mineral = /obj/item/stack/sheet/mineral/uranium tram_wall_type = /obj/structure/tram/alt/uranium - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_URANIUM_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_URANIUM_WALLS custom_materials = list(/datum/material/uranium = SHEET_MATERIAL_AMOUNT*2) @@ -383,27 +367,21 @@ /obj/structure/tram/alt/plasma name = "plasma tram" desc = "A composite structure with plasma plating. This is definitely a bad idea." - icon = 'icons/turf/walls/plasma_wall.dmi' - icon_state = "plasma_wall-0" - base_icon_state = "plasma_wall" + wall_icon = 'icons/turf/walls/plasma_wall.dmi' mineral = /obj/item/stack/sheet/mineral/plasma tram_wall_type = /obj/structure/tram/alt/plasma - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_PLASMA_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_PLASMA_WALLS custom_materials = list(/datum/material/plasma = SHEET_MATERIAL_AMOUNT*2) /obj/structure/tram/alt/wood name = "wooden tram" desc = "A tram with wooden framing. Flammable. There's a reason we use metal now." - icon = 'icons/turf/walls/wood_wall.dmi' - icon_state = "wood_wall-0" - base_icon_state = "wood_wall" + wall_icon = 'icons/turf/walls/wood_wall.dmi' mineral = /obj/item/stack/sheet/mineral/wood tram_wall_type = /obj/structure/tram/alt/wood explosion_block = 0 - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_WOOD_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_WOOD_WALLS custom_materials = list(/datum/material/wood = SHEET_MATERIAL_AMOUNT*2) @@ -420,11 +398,8 @@ /obj/structure/tram/alt/bamboo name = "bamboo tram" desc = "A tram with a bamboo framing." - icon = 'icons/turf/walls/bamboo_wall.dmi' - icon_state = "bamboo_wall-0" - base_icon_state = "wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_WALLS + SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_CLOSED_TURFS + wall_icon = 'icons/turf/walls/bamboo_wall.dmi' + smoothing_groups = SMOOTH_GROUP_BAMBOO_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_BAMBOO_WALLS mineral = /obj/item/stack/sheet/mineral/bamboo tram_wall_type = /obj/structure/tram/alt/bamboo @@ -432,28 +407,22 @@ /obj/structure/tram/alt/iron name = "rough iron tram" desc = "A composite structure with rough iron plating." - icon = 'icons/turf/walls/iron_wall.dmi' - icon_state = "iron_wall-0" - base_icon_state = "iron_wall" + wall_icon = 'icons/turf/walls/iron_wall.dmi' mineral = /obj/item/stack/rods mineral_amount = 5 tram_wall_type = /obj/structure/tram/alt/iron - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_IRON_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_IRON_WALLS custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 2.5) /obj/structure/tram/alt/abductor name = "alien tram" desc = "A composite structure made of some kind of alien alloy." - icon = 'icons/turf/walls/abductor_wall.dmi' - icon_state = "abductor_wall-0" - base_icon_state = "abductor_wall" + wall_icon = 'icons/turf/walls/abductor_wall.dmi' mineral = /obj/item/stack/sheet/mineral/abductor tram_wall_type = /obj/structure/tram/alt/abductor explosion_block = 3 - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS + smoothing_groups = SMOOTH_GROUP_ABDUCTOR_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_TALL_WALLS + SMOOTH_GROUP_CLOSED_TURFS canSmoothWith = SMOOTH_GROUP_ABDUCTOR_WALLS custom_materials = list(/datum/material/alloy/alien = SHEET_MATERIAL_AMOUNT*2) @@ -462,7 +431,7 @@ /obj/structure/tram/spoiler name = "tram spoiler" - icon = 'icons/obj/tram/tram_structure.dmi' + icon = 'icons/obj/structures/tram/tram_structure.dmi' desc = "Nanotrasen bought the luxury package under the impression titanium spoilers make the tram go faster. They're just for looks, or potentially stabbing anybody who gets in the way." icon_state = "tram-spoiler-retracted" max_integrity = 400 diff --git a/code/modules/transport/transport_module.dm b/code/modules/transport/transport_module.dm index 104601f2f6ca3..a985a1c9748d7 100644 --- a/code/modules/transport/transport_module.dm +++ b/code/modules/transport/transport_module.dm @@ -5,7 +5,7 @@ /obj/structure/transport/linear name = "linear transport module" desc = "A lightweight lift platform. It moves." - icon = 'icons/obj/smooth_structures/catwalk.dmi' + icon = 'icons/obj/structures/smooth/catwalk.dmi' icon_state = "catwalk-0" base_icon_state = "catwalk" density = FALSE @@ -378,19 +378,19 @@ for(var/obj/structure/victim_structure in dest_turf.contents) if(QDELING(victim_structure)) continue - if(!is_type_in_typecache(victim_structure, transport_controller_datum.ignored_smashthroughs) && victim_structure.layer >= LOW_OBJ_LAYER) + if(!is_type_in_typecache(victim_structure, transport_controller_datum.ignored_smashthroughs)) + if((victim_structure.plane == FLOOR_PLANE && victim_structure.layer > TRAM_RAIL_LAYER) || (victim_structure.plane == GAME_PLANE && victim_structure.layer > LOW_OBJ_LAYER) ) + if(victim_structure.anchored && initial(victim_structure.anchored) == TRUE) + visible_message(span_danger("[src] smashes through [victim_structure]!")) + victim_structure.deconstruct(FALSE) - if(victim_structure.anchored && initial(victim_structure.anchored) == TRUE) - visible_message(span_danger("[src] smashes through [victim_structure]!")) - victim_structure.deconstruct(FALSE) - - else - if(!throw_target) - throw_target = get_edge_target_turf(src, turn(travel_direction, pick(45, -45))) - visible_message(span_danger("[src] violently rams [victim_structure] out of the way!")) - victim_structure.anchored = FALSE - victim_structure.take_damage(rand(20, 25) * collision_lethality) - victim_structure.throw_at(throw_target, 200 * collision_lethality, 4 * collision_lethality) + else + if(!throw_target) + throw_target = get_edge_target_turf(src, turn(travel_direction, pick(45, -45))) + visible_message(span_danger("[src] violently rams [victim_structure] out of the way!")) + victim_structure.anchored = FALSE + victim_structure.take_damage(rand(20, 25) * collision_lethality) + victim_structure.throw_at(throw_target, 200 * collision_lethality, 4 * collision_lethality) for(var/obj/machinery/victim_machine in dest_turf.contents) if(QDELING(victim_machine)) @@ -854,7 +854,7 @@ /obj/structure/transport/linear/tram name = "tram subfloor" desc = "The subfloor lattice of the tram. You can build a tram wall frame by using titanium sheets, or place down thermoplastic tram floor tiles." - icon = 'icons/obj/tram/tram_structure.dmi' + icon = 'icons/obj/structures/tram/tram_structure.dmi' icon_state = "subfloor" base_icon_state = null density = FALSE diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 8a869071c7c48..45a4e0b701a54 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -88,6 +88,7 @@ #include "abductor_baton_spell.dm" #include "ablative_hud.dm" #include "achievements.dm" +#include "airlock_icon_states.dm" #include "anchored_mobs.dm" #include "anonymous_themes.dm" #include "antag_conversion.dm" @@ -102,7 +103,6 @@ #include "bespoke_id.dm" #include "binary_insert.dm" #include "bitrunning.dm" -#include "blackmarket.dm" #include "blindness.dm" #include "bloody_footprints.dm" #include "breath.dm" @@ -139,6 +139,7 @@ #include "dummy_spawn.dm" #include "dynamic_ruleset_sanity.dm" #include "egg_glands.dm" +#include "embedding.dm" #include "emoting.dm" #include "ensure_subtree_operational_datum.dm" #include "explosion_action.dm" @@ -150,6 +151,7 @@ #include "gas_transfer.dm" #include "get_turf_pixel.dm" #include "geyser.dm" +#include "gloves_and_shoes_armor.dm" #include "greyscale_config.dm" #include "hallucination_icons.dm" #include "heretic_knowledge.dm" @@ -182,6 +184,7 @@ #include "mapload_space_verification.dm" #include "mapping.dm" #include "mapping_nearstation_test.dm" +#include "market.dm" #include "mecha_damage.dm" #include "medical_wounds.dm" #include "merge_type.dm" diff --git a/code/modules/unit_tests/airlock_icon_states.dm b/code/modules/unit_tests/airlock_icon_states.dm new file mode 100644 index 0000000000000..90c0f5b11791c --- /dev/null +++ b/code/modules/unit_tests/airlock_icon_states.dm @@ -0,0 +1,53 @@ +/// Ensures all airlocks have all the icon states they need to function +/datum/unit_test/airlock_icon_states + +/datum/unit_test/airlock_icon_states/Run() + var/list/required_icon_states = list( + "opening" = FALSE, + "closing" = FALSE, + "open_top" = FALSE, + "open_bottom" = FALSE, + "closed" = FALSE, + "construction" = FALSE, + ) + // Icon states to use for anything without a tall sprite (deprecated to be removed when all are replaced) + var/list/legacy_required_states = list( + "opening" = FALSE, + "closing" = FALSE, + "open" = FALSE, + "closed" = FALSE, + "construction" = FALSE, + ) + + var/short_found = FALSE + for(var/obj/machinery/door/airlock/airlock_path as anything in typesof(/obj/machinery/door/airlock)) + var/obj/machinery/door/airlock/real_lock = allocate(airlock_path) + var/icon/airlock_icon = icon(real_lock.icon) + var/list/existing_icon_states = required_icon_states.Copy() + // Remove this someday + if(real_lock.short_rendering) + existing_icon_states = legacy_required_states.Copy() + short_found = TRUE + + for(var/icon_state in icon_states(airlock_icon)) + if(!(icon_state in existing_icon_states)) // Ignore gags defaults please + continue + existing_icon_states[icon_state] = TRUE + + if(real_lock.short_rendering || has_directionals(airlock_icon, icon_state)) + continue + TEST_FAIL("[airlock_path] was missing directional icon states for \"[icon_state]\"") + + for(var/possible_state in existing_icon_states) + if(existing_icon_states[possible_state]) + continue + TEST_FAIL("[airlock_path] was missing the required \"[possible_state]\" icon state") + + if(!short_found) + TEST_FAIL("No short airlocks were found! Please remove short_rendering and its uses as it is now redundant") + +/// Retruns true if the passed in icon has unique sprites for all 4 directions, false otherwise +/datum/unit_test/airlock_icon_states/proc/has_directionals(icon/input, state) + var/icon/turned_right = icon(input, icon_state = state, dir = EAST) + var/icon/turned_up = icon(input, icon_state = state, dir = NORTH) + return icon2base64(turned_right) != icon2base64(turned_up) diff --git a/code/modules/unit_tests/blackmarket.dm b/code/modules/unit_tests/blackmarket.dm deleted file mode 100644 index 984e2ea815503..0000000000000 --- a/code/modules/unit_tests/blackmarket.dm +++ /dev/null @@ -1,23 +0,0 @@ -/// Ensures black market items have acceptable variable values. -/datum/unit_test/blackmarket - -/datum/unit_test/blackmarket/Run() - for(var/datum/market_item/prototype as anything in subtypesof(/datum/market_item)) - if(prototype::abstract_path == prototype) //skip abstract paths - continue - if(!prototype::category) - TEST_FAIL("[prototype] doesn't have a set category (or the abstract path var isn't correctly set)") - continue - if(!prototype::item) - TEST_FAIL("[prototype] doesn't have a set item (or the abstract path var isn't correctly set)") - continue - if(isnull(prototype::price) && prototype::price_max <= prototype::price_min) - TEST_FAIL("[prototype] doesn't have a correctly set random price (price_max should be higher than price_min)") - if(isnull(prototype::stock) && prototype::stock_max < prototype::stock_min) - TEST_FAIL("[prototype] doesn't have a correctly set random stock (stock_max shouldn't be lower than stock_min)") - if(!isnum(prototype::availability_prob)) - TEST_FAIL("[prototype] doesn't have a set availability_prob (must be a number)") - if(!prototype::name) - TEST_FAIL("[prototype] doesn't have a set name") - if(!prototype::desc) - TEST_FAIL("[prototype] doesn't have a set desc") diff --git a/code/modules/unit_tests/embedding.dm b/code/modules/unit_tests/embedding.dm new file mode 100644 index 0000000000000..05e8cc8b8aa27 --- /dev/null +++ b/code/modules/unit_tests/embedding.dm @@ -0,0 +1,14 @@ +/datum/unit_test/embedding + +/datum/unit_test/embedding/Run() + var/mob/living/carbon/human/victim = allocate(/mob/living/carbon/human/consistent) + var/mob/living/carbon/human/firer = allocate(/mob/living/carbon/human/consistent) + var/obj/projectile/bullet/c38/bullet = new(get_turf(firer)) + bullet.set_embed(bullet.get_embed().generate_with_values(embed_chance = 100)) + TEST_ASSERT_EQUAL(bullet.get_embed().embed_chance, 100, "embed_chance failed to modify") + bullet.preparePixelProjectile(victim, firer) + bullet.fire(get_angle(firer, victim), victim) + var/list/components = victim.GetComponents(/datum/component/embedded) + TEST_ASSERT_EQUAL(components.len, 1, "Projectile with 100% embed chance didn't embed, or embedded multiple times") + var/datum/component/embedded/comp = components[1] + TEST_ASSERT_EQUAL(comp.weapon.get_embed().embed_chance, 100, "embed_chance modification did not transfer to shrapnel") diff --git a/code/modules/unit_tests/fish_unit_tests.dm b/code/modules/unit_tests/fish_unit_tests.dm index d0d39227f43b7..1c5415596e60a 100644 --- a/code/modules/unit_tests/fish_unit_tests.dm +++ b/code/modules/unit_tests/fish_unit_tests.dm @@ -76,10 +76,11 @@ incompatible_traits = list(/datum/fish_trait/dummy/two) inheritability = 100 diff_traits_inheritability = 100 + reagents_to_add = list(/datum/reagent = 10) /datum/fish_trait/dummy/apply_to_fish(obj/item/fish/fish) + . = ..() ADD_TRAIT(fish, TRAIT_FISH_TESTING, FISH_TRAIT_DATUM) - fish.grind_results[/datum/reagent] = 10 /datum/fish_trait/dummy/two incompatible_traits = list(/datum/fish_trait/dummy) @@ -96,6 +97,12 @@ cloner = new(src) sterile = new(src) +/obj/structure/aquarium/traits/Destroy() + crossbreeder = null + cloner = null + sterile = null + return ..() + /obj/item/fish/testdummy/crossbreeder fish_traits = list(/datum/fish_trait/crossbreeder) @@ -115,6 +122,11 @@ evolve = new(src) evolve_two = new(src) +/obj/structure/aquarium/evolution/Destroy() + evolve = null + evolve_two = null + return ..() + /obj/item/fish/testdummy/evolve compatible_types = list(/obj/item/fish/testdummy/evolve_two) evolution_types = list(/datum/fish_evolution/dummy) @@ -210,5 +222,56 @@ run_loc_floor_bottom_left.ChangeTurf(original_turf_type, original_turf_baseturfs) return ..() +///Check that you can actually raise a chasm crab without errors. +/datum/unit_test/raise_a_chasm_crab + +/datum/unit_test/raise_a_chasm_crab/Run() + var/obj/structure/aquarium/crab/aquarium = allocate(/obj/structure/aquarium/crab) + SEND_SIGNAL(aquarium.crabbie, COMSIG_FISH_LIFE, 1) //give the fish growth component a small push. + var/mob/living/basic/mining/lobstrosity/juvenile/lobster = locate() in aquarium.loc + TEST_ASSERT_EQUAL(lobster.loc, get_turf(aquarium), "The lobstrosity didn't spawn on the aquarium's turf") + TEST_ASSERT(QDELETED(aquarium.crabbie), "The test aquarium's chasm crab didn't delete itself.") + allocated |= lobster //make sure it's allocated and thus properly deleted when the test is over + //While ideally impossible to have all traits because of incompatible ones, I want to be sure they don't error out. + for(var/trait_type in GLOB.fish_traits) + var/datum/fish_trait/trait = GLOB.fish_traits[trait_type] + trait.apply_to_mob(lobster) + +/obj/structure/aquarium/crab + allow_breeding = TRUE //needed for growing up + ///Our test subject + var/obj/item/fish/chasm_crab/instant_growth/crabbie + +/obj/structure/aquarium/crab/Initialize(mapload) + . = ..() + crabbie = new(src) + +/obj/structure/aquarium/crab/Exited(atom/movable/gone) + . = ..() + if(gone == crabbie) //the fish item is deleted once it grows up + crabbie = null + +/obj/item/fish/chasm_crab/instant_growth + growth_rate = 100 + fish_traits = list() //We don't want to end up applying traits twice on the resulting lobstrosity + +/datum/unit_test/explosive_fishing + +/datum/unit_test/explosive_fishing/Run() + var/datum/fish_source/source = GLOB.preset_fish_sources[/datum/fish_source/unit_test] + source.spawn_reward_from_explosion(run_loc_floor_bottom_left, 1) + if(source.fish_counts[/obj/item/wrench]) + TEST_FAIL("The unit test item wasn't removed/spawned from fish_table during 'spawn_reward_from_explosion'.") + +/datum/fish_source/unit_test + fish_table = list( + /obj/item/wrench = 1, + /obj/item/screwdriver = INFINITY, + ) + fish_counts = list( + /obj/item/wrench = 1, + /obj/item/screwdriver = 0, + ) + #undef TRAIT_FISH_TESTING diff --git a/code/modules/unit_tests/gloves_and_shoes_armor.dm b/code/modules/unit_tests/gloves_and_shoes_armor.dm new file mode 100644 index 0000000000000..fc67b21537e0b --- /dev/null +++ b/code/modules/unit_tests/gloves_and_shoes_armor.dm @@ -0,0 +1,25 @@ +/// Checks if any gloves or shoes that have non bio/fire/acid armor haven't been marked with ARMS or LEGS coverage respectively +/datum/unit_test/gloves_and_shoes_armor + +/datum/unit_test/gloves_and_shoes_armor/Run() + for (var/obj/item/clothing/gloves/gloves as anything in subtypesof(/obj/item/clothing/gloves)) + var/datum/armor/armor = gloves::armor_type + if (!armor) + continue + + if (gloves::body_parts_covered != HANDS) + continue + + if (armor::melee || armor::bomb || armor::energy || armor::laser || armor::bullet || armor::wound) + TEST_FAIL("[gloves] has non-bio/acid/fire armor but doesn't cover non-hand bodyparts.") + + for (var/obj/item/clothing/shoes/shoes as anything in subtypesof(/obj/item/clothing/shoes)) + var/datum/armor/armor = shoes::armor_type + if (!armor) + continue + + if (shoes::body_parts_covered != FEET) + continue + + if (armor::melee || armor::bomb || armor::energy || armor::laser || armor::bullet || armor::wound) + TEST_FAIL("[shoes] has non-bio/acid/fire armor but doesn't cover non-feet bodyparts.") diff --git a/code/modules/unit_tests/hallucination_icons.dm b/code/modules/unit_tests/hallucination_icons.dm index c9f9cf8237c04..9bc2ceb401961 100644 --- a/code/modules/unit_tests/hallucination_icons.dm +++ b/code/modules/unit_tests/hallucination_icons.dm @@ -46,7 +46,7 @@ // Test fake_flood hallucination for if its fake plasmaflood icon exists var/datum/hallucination/fake_flood/flood_hallucination = /datum/hallucination/fake_flood var/flood_hallucination_icon = initial(flood_hallucination.image_icon) - var/flood_hallucination_icon_state = initial(flood_hallucination.image_state) + var/flood_hallucination_icon_state = "[initial(flood_hallucination.base_image_state)]-0" check_hallucination_icon(flood_hallucination, flood_hallucination_icon, flood_hallucination_icon_state) // Test hallucination client_image_holders that are used for various hallucinations (bubblegum, xeno attack) diff --git a/code/modules/unit_tests/inhands.dm b/code/modules/unit_tests/inhands.dm index 7edda7858f87c..863bbca65636a 100644 --- a/code/modules/unit_tests/inhands.dm +++ b/code/modules/unit_tests/inhands.dm @@ -32,7 +32,7 @@ var/skip_left var/skip_right - if(initial(item_path.greyscale_colors)) //greyscale stuff has it's own unit test. + if(initial(item_path.greyscale_colors)) //greyscale stuff has its own unit test. skip_left = initial(item_path.greyscale_config_inhand_left) skip_right = initial(item_path.greyscale_config_inhand_right) if(skip_left && skip_right) diff --git a/code/modules/unit_tests/knockoff_component.dm b/code/modules/unit_tests/knockoff_component.dm index 20990a755cd24..60dd9c2225b00 100644 --- a/code/modules/unit_tests/knockoff_component.dm +++ b/code/modules/unit_tests/knockoff_component.dm @@ -79,7 +79,7 @@ shoves_the_guy.disarm(wears_the_glasses) TEST_ASSERT(wears_the_glasses.glasses != glasses, "Dummy kept their glasses, even though were disarm shoved into a wall.") -/// Helper to reset the glasses dummy back to it's original position, clear knockdown, and return glasses (if gone) +/// Helper to reset the glasses dummy back to its original position, clear knockdown, and return glasses (if gone) /datum/unit_test/knockoff_component/proc/set_glasses_wearer(mob/living/carbon/human/wearer, turf/reset_to, obj/item/clothing/glasses/reset_worn) wearer.forceMove(reset_to) wearer.SetKnockdown(0 SECONDS) diff --git a/code/modules/unit_tests/market.dm b/code/modules/unit_tests/market.dm new file mode 100644 index 0000000000000..022f277d879c0 --- /dev/null +++ b/code/modules/unit_tests/market.dm @@ -0,0 +1,59 @@ +#define CATEGORY_CODERBUS "Coderbus" +/// Ensures market items have acceptable variable values and restocking works. +/datum/unit_test/market + +/datum/unit_test/market/Run() + for(var/datum/market_item/prototype as anything in subtypesof(/datum/market_item)) + if(prototype::abstract_path == prototype) //skip abstract paths + continue + if(!prototype::category) + TEST_FAIL("[prototype] doesn't have a set category (or the abstract path var isn't correctly set)") + continue + if(!prototype::item) + TEST_FAIL("[prototype] doesn't have a set item (or the abstract path var isn't correctly set)") + continue + if(isnull(prototype::price) && prototype::price_max <= prototype::price_min) + TEST_FAIL("[prototype] doesn't have a correctly set random price (price_max should be higher than price_min)") + if(isnull(prototype::stock) && prototype::stock_max < prototype::stock_min) + TEST_FAIL("[prototype] doesn't have a correctly set random stock (stock_max shouldn't be lower than stock_min)") + if(!isnum(prototype::availability_prob)) + TEST_FAIL("[prototype] doesn't have a set availability_prob (must be a number)") + if(!prototype::name) + TEST_FAIL("[prototype] doesn't have a set name") + if(!prototype::desc) + TEST_FAIL("[prototype] doesn't have a set desc") + + + var/datum/market/unit_test/market = SSmarket.markets[/datum/market/unit_test] + TEST_ASSERT(market, "Couldn't find the unit test market") + var/list/category_items = market.available_items[CATEGORY_CODERBUS] + var/datum/market_item/unit_test/item = category_items[category_items[1]] + TEST_ASSERT(item, "Couldn't find the unit test market item") + TEST_ASSERT_EQUAL(item.stock, 1, "The unit test market item is incorrectly stocked. Only one should be in stock") + + var/mob/living/user = allocate(/mob/living) + var/obj/item/holochip/chip = allocate(/obj/item/holochip, run_loc_floor_bottom_left, INFINITY) + var/obj/machinery/ltsrbt/pad = allocate(/obj/machinery/ltsrbt) + + pad.item_interaction(user, chip) + + TEST_ASSERT_EQUAL(item, category_items[category_items[1]], "The unit test market item has been replaced during restock") + TEST_ASSERT_EQUAL(item.stock, 2, "The unit test market item is incorrectly stocked after restock. There should be two in stock") + +/datum/market/unit_test + name = "Unit Test Market" + shipping = list(SHIPPING_METHOD_TELEPORT = 0) + +/datum/market_item/unit_test + name = "Your Own Special Singularity" + desc = "ALL HAIL LORD SINGULOTH!!!" + category = CATEGORY_CODERBUS + markets = list(/datum/market/unit_test) + item = /obj/singularity + price = 42069 + stock_min = 1 + stock = 1 + stock_max = 2 + availability_prob = 100 + +#undef CATEGORY_CODERBUS diff --git a/code/modules/unit_tests/mecha_damage.dm b/code/modules/unit_tests/mecha_damage.dm index dc5f4ecae8a1d..9dd82dddc41ec 100644 --- a/code/modules/unit_tests/mecha_damage.dm +++ b/code/modules/unit_tests/mecha_damage.dm @@ -25,7 +25,8 @@ // Get a sample "melee" weapon. // The energy axe is chosen here due to having a high base force, to make sure we get over the equipment DT. var/obj/item/dummy_melee = allocate(/obj/item/melee/energy/axe) - var/expected_melee_damage = round(dummy_melee.force * (1 - expected_melee_armor / 100) * dummy_melee.demolition_mod, DAMAGE_PRECISION) + dummy_melee.force = 150 + var/expected_melee_damage = round(dummy_melee.force * (1 - expected_melee_armor / 100) * dummy_melee.demolition_mod * demo_mech.facing_modifiers[MECHA_FRONT_ARMOUR], DAMAGE_PRECISION) // Get a sample laser weapon. // The captain's laser gun here is chosen primarily because it deals more damage than normal lasers. diff --git a/code/modules/unit_tests/organ_bodypart_shuffle.dm b/code/modules/unit_tests/organ_bodypart_shuffle.dm index 842dd1c6c1344..11c0bcd71becb 100644 --- a/code/modules/unit_tests/organ_bodypart_shuffle.dm +++ b/code/modules/unit_tests/organ_bodypart_shuffle.dm @@ -2,7 +2,7 @@ /datum/unit_test/organ_bodypart_shuffle /datum/unit_test/organ_bodypart_shuffle/Run() - var/mob/living/carbon/human/hollow_boy = allocate(/mob/living/carbon/human/consistent) + var/mob/living/carbon/human/hollow_boy = allocate(/mob/living/carbon/human/consistent) //freshly filled with wet insides // Test if organs are all properly updating when forcefully removed var/list/removed_organs = list() @@ -30,5 +30,3 @@ continue TEST_ASSERT(organ in hollow_boy.organs, "Organ '[organ.name] was put in an empty bodypart that replaced a humans, but the organ did not come with.") - // Test if bodyparts are all properly updating when forcefully removed - hollow_boy = allocate(/mob/living/carbon/human/consistent) //freshly filled with wet insides diff --git a/code/modules/unit_tests/organ_set_bonus.dm b/code/modules/unit_tests/organ_set_bonus.dm index 967803e223f17..1231ddd5c6670 100644 --- a/code/modules/unit_tests/organ_set_bonus.dm +++ b/code/modules/unit_tests/organ_set_bonus.dm @@ -30,7 +30,7 @@ // Attempt to insert entire list of mutant organs for the given infusion_entry. for(var/obj/item/organ/organ as anything in output_organs) organ = new organ() - TEST_ASSERT(organ.Insert(lab_rat, special = TRUE, movement_flags = DELETE_IF_REPLACED), "The organ `[organ.type]` for `[infuser_entry.type]` was not inserted in the mob when expected, Insert() returned falsy when TRUE was expected.") + organ.Insert(lab_rat, special = TRUE, movement_flags = DELETE_IF_REPLACED) inserted_organs += organ // Search for added Status Effect. diff --git a/code/modules/unit_tests/outfit_sanity.dm b/code/modules/unit_tests/outfit_sanity.dm index 36fc4570540f4..d0de12a7b204b 100644 --- a/code/modules/unit_tests/outfit_sanity.dm +++ b/code/modules/unit_tests/outfit_sanity.dm @@ -87,4 +87,13 @@ if (!H.equip_to_slot_or_del(new path(H), ITEM_SLOT_BACKPACK, TRUE, indirect_action = TRUE)) TEST_FAIL("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") + if (outfit.belt_contents) + var/list/belt_contents = outfit.belt_contents?.Copy() + for (var/path in belt_contents) + var/number = belt_contents[path] || 1 + for (var/_ in 1 to number) + if (!H.equip_to_slot_or_del(new path(H), ITEM_SLOT_BELTPACK, TRUE, indirect_action = TRUE)) + TEST_FAIL("[outfit.name]'s belt_contents are invalid! Couldn't add [path] to backpack.") + + #undef CHECK_OUTFIT_SLOT diff --git a/code/modules/unit_tests/paintings.dm b/code/modules/unit_tests/paintings.dm index 064b8ab6efd3d..d614c439e41df 100644 --- a/code/modules/unit_tests/paintings.dm +++ b/code/modules/unit_tests/paintings.dm @@ -4,7 +4,8 @@ /datum/unit_test/paintings/Run() for(var/obj/item/canvas/canvas as anything in typesof(/obj/item/canvas)) canvas = new canvas - var/canvas_icons = icon_states(canvas.icon) + var/canvas_icons = icon_states(canvas.frame_icon) for(var/frame_type in SSpersistent_paintings.frame_types_by_patronage_tier) - if(!("[canvas.icon_state]frame_[frame_type]" in canvas_icons)) - TEST_FAIL("Canvas [canvas.icon_state] doesn't have an icon state for frame: [frame_type].") + var/complete_icon_state = "[canvas.icon_state]frame_[frame_type]" + if(!(complete_icon_state in canvas_icons)) + TEST_FAIL("Canvas [canvas.icon_state] doesn't have an icon state for '[frame_type]': '[complete_icon_state]'.") diff --git a/code/modules/unit_tests/plane_double_transform.dm b/code/modules/unit_tests/plane_double_transform.dm index f4928a8f99725..da0cd422c7a89 100644 --- a/code/modules/unit_tests/plane_double_transform.dm +++ b/code/modules/unit_tests/plane_double_transform.dm @@ -11,6 +11,19 @@ our_group.show_hud() // End hack + /// DO NOT FUCKING REPLICATE THIS + /// We give weather a pass cause doing it "properly" involves adding like 3 different new render plates + /// And I can't justify that cost for such a rare effect + /// I am sorry + var/list/weather_planes = typecacheof(list( + /atom/movable/screen/plane_master/weather_mask, + /atom/movable/screen/plane_master/weather, + /atom/movable/screen/plane_master/weather_frill, + /atom/movable/screen/plane_master/weather_glow, + /atom/movable/screen/plane_master/weather_frill_glow, + /atom/movable/screen/plane_master/rendering_plate/wall_weather_mask, + )) + // Generates a list of render target -> PM for future use var/list/render_target_to_plane = list() for(var/plane_key as anything in our_group.plane_masters) @@ -22,7 +35,7 @@ for(var/plane_key as anything in our_group.plane_masters) var/atom/movable/screen/plane_master/plane = our_group.plane_masters[plane_key] - if(!plane.multiz_scaled) + if(!plane.multiz_scaled || is_type_in_typecache(plane, weather_planes)) continue // Walk the relay targets diff --git a/code/modules/unit_tests/say.dm b/code/modules/unit_tests/say.dm index ec58dcedc8831..a845b6ccf9886 100644 --- a/code/modules/unit_tests/say.dm +++ b/code/modules/unit_tests/say.dm @@ -22,6 +22,46 @@ TEST_ASSERT(!expected_mods.len, "Some message mods were expected, but were not returned by get_message_mods: [json_encode(expected_mods)]. Message: [message]") +/// Test to ensure native tongue languages properly impact speech +/datum/unit_test/speech_modifiers + var/mob/living/carbon/human/talking_lizard + var/list/handle_speech_result = null + +/datum/unit_test/speech_modifiers/proc/handle_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + + TEST_ASSERT(speech_args[SPEECH_MESSAGE], "Handle speech signal does not have a message arg") + TEST_ASSERT(speech_args[SPEECH_LANGUAGE], "Handle speech signal does not have a language arg") + + // saving hearing_args directly via handle_speech_result = speech_args won't work since the arg list + // is a temporary variable that gets garbage collected after it's done being used by procs + // therefore we need to create a new list and transfer the args + handle_speech_result = list() + handle_speech_result += speech_args + +/datum/unit_test/speech_modifiers/Run() + talking_lizard = allocate(/mob/living/carbon/human/consistent) + talking_lizard.set_species(/datum/species/lizard) + var/hissed_quote = "SSShe isss ssso sssasssy" + var/unhissed_quote = "She is so sassy" + + RegisterSignal(talking_lizard, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + + // lizard's forked tongue causes hissing when speaking common + talking_lizard.set_active_language(/datum/language/common) + talking_lizard.say(unhissed_quote) + TEST_ASSERT(handle_speech_result, "Handle speech signal was not fired") + TEST_ASSERT_EQUAL(hissed_quote, handle_speech_result[SPEECH_MESSAGE], "Speech modifier test failed: [handle_speech_result[SPEECH_LANGUAGE]] did not equal [hissed_quote] when spoken by a lizard in language [handle_speech_result[SPEECH_LANGUAGE]]") + + handle_speech_result = null + + // lizard's forked tongue does not cause hissing when speaking native draconic + talking_lizard.set_active_language(/datum/language/draconic) + talking_lizard.say(unhissed_quote) + TEST_ASSERT(handle_speech_result, "Handle speech signal was not fired") + TEST_ASSERT_EQUAL(unhissed_quote, handle_speech_result[SPEECH_MESSAGE], "Speech modifier test failed: [handle_speech_result[SPEECH_LANGUAGE]] did not equal [unhissed_quote] when spoken by a lizard in language [handle_speech_result[SPEECH_LANGUAGE]]") + + /// Test to verify COMSIG_MOB_SAY is sent the exact same list as the message args, as they're operated on /datum/unit_test/say_signal @@ -76,7 +116,7 @@ TEST_ASSERT(speech_args[SPEECH_LANGUAGE], "Handle speech signal does not have a language arg") TEST_ASSERT(speech_args[SPEECH_RANGE], "Handle speech signal does not have a range arg") - // saving hearing_args directly via handle_speech_result = speech_args won't work since the arg list + // saving speech_args directly via handle_speech_result = speech_args won't work since the arg list // is a temporary variable that gets garbage collected after it's done being used by procs // therefore we need to create a new list and transfer the args handle_speech_result = list() @@ -126,7 +166,7 @@ var/datum/client_interface/mock_client = new() listener.mock_client = mock_client - RegisterSignal(speaker, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + RegisterSignal(speaker, COMSIG_MOB_SAY, PROC_REF(handle_speech)) // RegisterSignal(speaker_radio, COMSIG_RADIO_NEW_MESSAGE, PROC_REF(handle_radio_hearing)) RegisterSignal(listener, COMSIG_MOVABLE_HEAR, PROC_REF(handle_hearing)) @@ -197,9 +237,9 @@ // Normally speaking, if there isn't a functional telecomms array on the same z-level, then handheld radios // have a short delay before sending the message. We use the centcom frequency to get around this. speaker_radio.set_frequency(FREQ_CENTCOM) - speaker_radio.independent = TRUE + speaker_radio.special_channels = RADIO_SPECIAL_CENTCOM listener_radio.set_frequency(FREQ_CENTCOM) - listener_radio.independent = TRUE + listener_radio.special_channels = RADIO_SPECIAL_CENTCOM var/pangram_quote = "The quick brown fox jumps over the lazy dog" diff --git a/code/modules/unit_tests/screenshots/cardboard_cutouts_nukie_cutout.png b/code/modules/unit_tests/screenshots/cardboard_cutouts_nukie_cutout.png index 6af26b48f78bd..194f3380e925f 100644 Binary files a/code/modules/unit_tests/screenshots/cardboard_cutouts_nukie_cutout.png and b/code/modules/unit_tests/screenshots/cardboard_cutouts_nukie_cutout.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_blob.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_blob.png index f21c6979c1a11..e1824a95ac7b5 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_antag_icons_blob.png and b/code/modules/unit_tests/screenshots/screenshot_antag_icons_blob.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_blobinfection.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_blobinfection.png index e3d7acbf5d891..0772276beada8 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_antag_icons_blobinfection.png and b/code/modules/unit_tests/screenshots/screenshot_antag_icons_blobinfection.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png index f34414bdc13d3..61b7c36d94a02 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png and b/code/modules/unit_tests/screenshots/screenshot_antag_icons_bloodbrother.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_antag_icons_voidwalker.png b/code/modules/unit_tests/screenshots/screenshot_antag_icons_voidwalker.png new file mode 100644 index 0000000000000..08ff8c889d2fe Binary files /dev/null and b/code/modules/unit_tests/screenshots/screenshot_antag_icons_voidwalker.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_dynamic_human_icons_syndicate_commando.png b/code/modules/unit_tests/screenshots/screenshot_dynamic_human_icons_syndicate_commando.png index adc462ace50d1..2f6d8014ba868 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_dynamic_human_icons_syndicate_commando.png and b/code/modules/unit_tests/screenshots/screenshot_dynamic_human_icons_syndicate_commando.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png b/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png index 912f16e6839b2..6f119be54ebe6 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png and b/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_emissive.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_on.png b/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_on.png index 8468461cc6e58..08dc600a8187a 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_on.png and b/code/modules/unit_tests/screenshots/screenshot_high_luminosity_eyes_light_on.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_abductor.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_abductor.png index 1ad767d2b642f..fc6899e83f291 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_abductor.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_abductor.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_android.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_android.png index 20addbcdf8ec1..3659399e361db 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_android.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_android.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_dullahan.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_dullahan.png index 0f47126c1dbec..de483e930f777 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_dullahan.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_dullahan.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal.png index 06def11641257..588db81af52d9 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal_lustrous.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal_lustrous.png index 5e827763c69f4..f6cb4b90d6d9f 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal_lustrous.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ethereal_lustrous.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_fly.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_fly.png index 5eb33850ae426..d8f567d7e0299 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_fly.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_fly.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_golem.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_golem.png index 32b4590ff5c4f..ad60ee8489e30 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_golem.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_golem.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human.png index 475c07f50deed..d746900e1c192 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_felinid.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_felinid.png index 762355d1c894d..2392510fa2cff 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_felinid.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_felinid.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_krokodil_addict.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_krokodil_addict.png index e9251e73cc549..777a9ed750830 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_krokodil_addict.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_human_krokodil_addict.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png index eaee84fed4942..f67beefdf8e80 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png index 641c9050ee467..dd4be354024d2 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png index 34288a8a8e5da..4d2c81a289389 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png index eaee84fed4942..f67beefdf8e80 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard.png index c0a3c30b8bb38..43bff4b89e73f 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_ashwalker.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_ashwalker.png index 70d445b771277..c4c48d3fdb839 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_ashwalker.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_ashwalker.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_silverscale.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_silverscale.png index f7f6ddf47d578..8dfeb33f0158a 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_silverscale.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_lizard_silverscale.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_monkey.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_monkey.png index 5fd259a0ed4fa..fd66ed838cce7 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_monkey.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_monkey.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_moth.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_moth.png index 284205a73ec13..bb31be10ed04e 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_moth.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_moth.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_mush.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_mush.png index 1985d06b1532e..25298482f74b8 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_mush.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_mush.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_plasmaman.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_plasmaman.png index 309d1a6e84856..fee73ee7a5c0c 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_plasmaman.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_plasmaman.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png index abdb8e82734ce..a7e33774e8f09 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow.png index 7f31e342050c8..088bc9f9890f2 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow_nightmare.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow_nightmare.png index 5cdeedeffca7b..adfcf3797ceb6 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow_nightmare.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_shadow_nightmare.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_skeleton.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_skeleton.png index 54625a5dd0493..cc52b77ab769d 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_skeleton.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_skeleton.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_snail.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_snail.png index 11a4cdbf2ddac..e41fadd6db1ee 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_snail.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_snail.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vampire.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vampire.png index da991c8a20d6d..542edd67a4109 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vampire.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_vampire.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_voidwalker.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_voidwalker.png new file mode 100644 index 0000000000000..2097e1fb88406 Binary files /dev/null and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_voidwalker.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie.png index e9251e73cc549..777a9ed750830 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie_infectious.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie_infectious.png index e9251e73cc549..777a9ed750830 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie_infectious.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_zombie_infectious.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_husk_body.png b/code/modules/unit_tests/screenshots/screenshot_husk_body.png index d113b47384678..d3b6f38b56a7f 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_husk_body.png and b/code/modules/unit_tests/screenshots/screenshot_husk_body.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png b/code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png index 1a1db7dfd87fe..404e7ac6e9476 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png and b/code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png differ diff --git a/code/modules/unit_tests/screenshots/transformation_sting_appearances.png b/code/modules/unit_tests/screenshots/transformation_sting_appearances.png index e20d19d45b680..c64de02589526 100644 Binary files a/code/modules/unit_tests/screenshots/transformation_sting_appearances.png and b/code/modules/unit_tests/screenshots/transformation_sting_appearances.png differ diff --git a/code/modules/unit_tests/unit_test.dm b/code/modules/unit_tests/unit_test.dm index ed2510b829434..8562601da3e18 100644 --- a/code/modules/unit_tests/unit_test.dm +++ b/code/modules/unit_tests/unit_test.dm @@ -112,6 +112,16 @@ GLOBAL_VAR_INIT(focused_tests, focused_tests()) allocated += instance return instance +/// Resets the air of our testing room to its default +/datum/unit_test/proc/restore_atmos() + var/area/working_area = run_loc_floor_bottom_left.loc + var/list/turf/to_restore = working_area.get_turfs_from_all_zlevels() + for(var/turf/open/restore in to_restore) + var/datum/gas_mixture/GM = SSair.parse_gas_string(restore.initial_gas_mix, /datum/gas_mixture/turf) + restore.copy_air(GM) + restore.temperature = initial(restore.temperature) + restore.air_update_turf(update = FALSE, remove = FALSE) + /datum/unit_test/proc/test_screenshot(name, icon/icon) if (!istype(icon)) TEST_FAIL("[icon] is not an icon.") @@ -179,6 +189,7 @@ GLOBAL_VAR_INIT(focused_tests, focused_tests()) else test.Run() + test.restore_atmos() duration = REALTIMEOFDAY - duration GLOB.current_test = null @@ -222,6 +233,10 @@ GLOBAL_VAR_INIT(focused_tests, focused_tests()) var/list/returnable_list = list() // The following are just generic, singular types. returnable_list = list( + // Branch types, should never be created + /turf/closed, + /turf/open, + /turf, //Never meant to be created, errors out the ass for mobcode reasons /mob/living/carbon, //And another diff --git a/code/modules/unit_tests/worn_icons.dm b/code/modules/unit_tests/worn_icons.dm index 32c0b2e8fe6d9..5b308d9a4ff25 100644 --- a/code/modules/unit_tests/worn_icons.dm +++ b/code/modules/unit_tests/worn_icons.dm @@ -53,65 +53,51 @@ continue var/icon_file //checks against all the default icon locations if one isn't defined. - var/fail_reasons - var/spacer if(cached_slot_flags & ITEM_SLOT_BACK) icon_file = 'icons/mob/clothing/back.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_ID) icon_file = 'icons/mob/clothing/id.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_GLOVES) icon_file = 'icons/mob/clothing/hands.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_EYES) icon_file = 'icons/mob/clothing/eyes.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_EARS) icon_file = 'icons/mob/clothing/ears.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_NECK) icon_file = 'icons/mob/clothing/neck.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_MASK) icon_file = 'icons/mob/clothing/mask.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") if(cached_slot_flags & ITEM_SLOT_BELT) icon_file = 'icons/mob/clothing/belt.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" - - if(fail_reasons) - TEST_FAIL(fail_reasons) - + TEST_FAIL("[item_path] using invalid [worn_icon_state ? "worn_icon_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]") diff --git a/code/modules/uplink/uplink_devices.dm b/code/modules/uplink/uplink_devices.dm index 596ea9e1ffad4..3c31ddf647f88 100644 --- a/code/modules/uplink/uplink_devices.dm +++ b/code/modules/uplink/uplink_devices.dm @@ -48,7 +48,7 @@ hidden_uplink.uplink_handler.debug_mode = TRUE /obj/item/uplink/nuclear - uplink_flag = UPLINK_ALL_SYNDIE_OPS + uplink_flag = UPLINK_NUKE_OPS /obj/item/uplink/nuclear/debug name = "debug nuclear uplink" diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index bf963587ae1cc..7e501217eb68c 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -2,9 +2,17 @@ /// Selects a set number of unique items from the uplink, and deducts a percentage discount from them /proc/create_uplink_sales(num, datum/uplink_category/category, limited_stock, list/sale_items) var/list/sales = list() - var/list/sale_items_copy = sale_items.Copy() + var/list/per_category = list() + + for (var/datum/uplink_item/possible_sale as anything in sale_items) + if (!(possible_sale.category in per_category)) + per_category[possible_sale.category] = list() + per_category[possible_sale.category] += possible_sale + for (var/i in 1 to num) - var/datum/uplink_item/taken_item = pick_n_take(sale_items_copy) + var/datum/uplink_category/item_category = pick(per_category) + var/datum/uplink_item/taken_item = pick(per_category[item_category]) + per_category -= item_category var/datum/uplink_item/uplink_item = new taken_item.type() var/discount = uplink_item.get_discount() var/static/list/disclaimer = list( diff --git a/code/modules/uplink/uplink_items/bundle.dm b/code/modules/uplink/uplink_items/bundle.dm index f92435f379532..b6cdc2fd3d657 100644 --- a/code/modules/uplink/uplink_items/bundle.dm +++ b/code/modules/uplink/uplink_items/bundle.dm @@ -40,18 +40,7 @@ // Don't add telecrystals to the purchase_log since // it's just used to buy more items (including itself!) purchase_log_vis = FALSE - -/datum/uplink_item/bundles_tc/telecrystal/five - name = "5 Raw Telecrystals" - desc = "Five telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." - item = /obj/item/stack/telecrystal/five - cost = 5 - -/datum/uplink_item/bundles_tc/telecrystal/twenty - name = "20 Raw Telecrystals" - desc = "Twenty telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." - item = /obj/item/stack/telecrystal/twenty - cost = 20 + purchasable_from = NONE /datum/uplink_item/bundles_tc/bundle_a name = "Syndi-kit Tactical" @@ -135,7 +124,7 @@ podspawn(list( "target" = get_turf(user), - "style" = STYLE_SYNDICATE, + "style" = /datum/pod_style/syndicate, "spawn" = surplus_crate, )) return source //For log icon diff --git a/code/modules/uplink/uplink_items/dangerous.dm b/code/modules/uplink/uplink_items/dangerous.dm index 691f4f2c8f37f..faf3751d7a51e 100644 --- a/code/modules/uplink/uplink_items/dangerous.dm +++ b/code/modules/uplink/uplink_items/dangerous.dm @@ -91,7 +91,7 @@ /datum/uplink_item/dangerous/revolver name = "Syndicate Revolver" - desc = "Waffle Co.'s modernized Syndicate revolver. Fires 7 brutal rounds of .357 Magnum." + desc = "Waffle Corp's modernized Syndicate revolver. Fires 7 brutal rounds of .357 Magnum." item = /obj/item/gun/ballistic/revolver/syndicate cost = 13 surplus = 50 diff --git a/code/modules/uplink/uplink_items/job.dm b/code/modules/uplink/uplink_items/job.dm index d9bcce6411f5f..be9d558687d8c 100644 --- a/code/modules/uplink/uplink_items/job.dm +++ b/code/modules/uplink/uplink_items/job.dm @@ -109,7 +109,7 @@ /datum/uplink_item/role_restricted/ez_clean_bundle name = "EZ Clean Grenade Bundle" - desc = "A box with three cleaner grenades using the trademark Waffle Co. formula. Serves as a cleaner and causes acid damage to anyone standing nearby. \ + desc = "A box with three cleaner grenades using the trademark Waffle Corp. formula. Serves as a cleaner and causes acid damage to anyone standing nearby. \ The acid only affects carbon-based creatures." item = /obj/item/storage/box/syndie_kit/ez_clean cost = 6 @@ -148,7 +148,7 @@ /datum/uplink_item/role_restricted/rebarxbowsyndie name = "Syndicate Rebar Crossbow" - desc = "A much more proffessional version of the engineer's bootleg rebar crossbow. 3 shot mag, quicker loading, and better ammo. Owners manual included." + desc = "A much more professional version of the engineer's bootleg rebar crossbow. 3 shot mag, quicker loading, and better ammo. Owners manual included." item = /obj/item/storage/box/syndie_kit/rebarxbowsyndie cost = 10 restricted_roles = list(JOB_STATION_ENGINEER, JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN) @@ -164,7 +164,7 @@ /datum/uplink_item/role_restricted/gorillacube name = "Gorilla Cube" - desc = "A Waffle Co. brand gorilla cube. Eat big to get big. \ + desc = "A Waffle Corp. brand gorilla cube. Eat big to get big. \ Caution: Product may rehydrate when exposed to water." item = /obj/item/food/monkeycube/gorilla cost = 6 @@ -336,7 +336,7 @@ desc = "A highly specialized weapon, the Blast Cannon is actually relatively simple. It contains an attachment for a tank transfer valve mounted to an angled pipe specially constructed \ withstand extreme pressure and temperatures, and has a mechanical trigger for triggering the transfer valve. Essentially, it turns the explosive force of a bomb into a narrow-angle \ blast wave \"projectile\". Aspiring scientists may find this highly useful, as forcing the pressure shockwave into a narrow angle seems to be able to bypass whatever quirk of physics \ - disallows explosive ranges above a certain distance, allowing for the device to use the theoretical yield of a transfer valve bomb, instead of the factual yield. It's simple design makes it easy to conceal." + disallows explosive ranges above a certain distance, allowing for the device to use the theoretical yield of a transfer valve bomb, instead of the factual yield. Its simple design makes it easy to conceal." progression_minimum = 30 MINUTES item = /obj/item/gun/blastcannon cost = 14 //High cost because of the potential for extreme damage in the hands of a skilled scientist. @@ -389,5 +389,6 @@ restricted_roles = list(JOB_MIME) restricted = TRUE refundable = FALSE + progression_minimum = 30 MINUTES purchasable_from = parent_type::purchasable_from & ~UPLINK_SPY diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index fa42be0d54d0e..9b86a91b0264c 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -194,7 +194,7 @@ /datum/uplink_item/weapon_kits/medium_cost/revolvercase name = "Syndicate Revolver Case (Moderate)" - desc = "Waffle Co.'s modernized Syndicate revolver. Fires 7 brutal rounds of .357 Magnum. \ + desc = "Waffle Corp's modernized Syndicate revolver. Fires 7 brutal rounds of .357 Magnum. \ A classic operative weapon, brought to the modern era. Comes with 3 additional speedloaders of .357." item = /obj/item/storage/toolbox/guncase/revolver @@ -373,16 +373,18 @@ //Meme weapons: Literally just weapons used as a joke, shouldn't be particularly expensive. /datum/uplink_item/weapon_kits/surplus_smg - name = "Surplus SMG Case (Flukie)" - desc = "A horribly outdated automatic weapon. Why would you want to use this? Comes with...rations." - item = /obj/item/gun/ballistic/automatic/plastikov + name = "Surplus Smart-SMG (Flukie)" + desc = "An outdated smart-SMG with limited stopping power, however it's bullets will gradually track towards whatever \ + the gun was shot at. This does require you to actually aim at the person you are shooting at before firing, but \ + surely a highly trained operative such as yourself can manage that." + item = /obj/item/gun/ballistic/automatic/smartgun cost = 2 purchasable_from = UPLINK_SERIOUS_OPS /datum/uplink_item/ammo_nuclear/surplus_smg - name = "Surplus SMG Magazine (Surplus)" - desc = "A cylindrical magazine designed for the PP-95 SMG." - item = /obj/item/ammo_box/magazine/plastikov9mm + name = "Surplus Smart-SMG Magazine (Smartgun)" + desc = "A large box magazine made for use in the Abielle smart-SMG." + item = /obj/item/ammo_box/magazine/smartgun cost = 1 purchasable_from = UPLINK_SERIOUS_OPS uplink_item_flags = SYNDIE_TRIPS_CONTRABAND @@ -394,6 +396,7 @@ cost = 15 surplus = 35 purchasable_from = UPLINK_ALL_SYNDIE_OPS + /datum/uplink_item/explosives/grenades/buzzkill name = "Buzzkill Grenade Box" desc = "A box with three grenades that release a swarm of angry bees upon activation. These bees indiscriminately attack friend or foe \ diff --git a/code/modules/uplink/uplink_items/stealthy.dm b/code/modules/uplink/uplink_items/stealthy.dm index e4c4de412fb44..6bd315498afa1 100644 --- a/code/modules/uplink/uplink_items/stealthy.dm +++ b/code/modules/uplink/uplink_items/stealthy.dm @@ -29,6 +29,12 @@ item = /obj/item/pen/edagger cost = 2 +/datum/uplink_item/stealthy_weapons/slipstick + name = "Syndie Lipstick" + desc = "Stylish way to kiss to death, isn't it syndiekisser?" + item = /obj/item/lipstick/syndie + cost = 6 + /datum/uplink_item/stealthy_weapons/traitor_chem_bottle name = "Poison Kit" desc = "An assortment of deadly chemicals packed into a compact box. Comes with a syringe for more precise application." diff --git a/code/modules/uplink/uplink_items/stealthy_tools.dm b/code/modules/uplink/uplink_items/stealthy_tools.dm index 48c25e638deb7..40e5df8febdf9 100644 --- a/code/modules/uplink/uplink_items/stealthy_tools.dm +++ b/code/modules/uplink/uplink_items/stealthy_tools.dm @@ -87,7 +87,7 @@ /datum/uplink_item/stealthy_tools/smugglersatchel name = "Smuggler's Satchel" desc = "This satchel is thin enough to be hidden in the gap between plating and tiling; great for stashing \ - your stolen goods. Comes with a crowbar, a floor tile and some contraband inside." + your stolen goods. Comes with a crowbar, a floor tile and some contraband inside. Its contents cannot be detected by contraband scanners." item = /obj/item/storage/backpack/satchel/flat/with_tools cost = 1 surplus = 30 diff --git a/code/modules/uplink/uplink_items/suits.dm b/code/modules/uplink/uplink_items/suits.dm index d940d4eb06769..b66cce4eaece7 100644 --- a/code/modules/uplink/uplink_items/suits.dm +++ b/code/modules/uplink/uplink_items/suits.dm @@ -79,3 +79,4 @@ purchasable_from = ~UPLINK_ALL_SYNDIE_OPS progression_minimum = 90 MINUTES cost = 16 + cant_discount = TRUE diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index 30e01b3219edc..2cd85f786fc48 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -49,7 +49,7 @@ initialize_controller_action_type(/datum/action/vehicle/sealed/thank, VEHICLE_CONTROL_KIDNAPPED) /obj/vehicle/sealed/car/clowncar/auto_assign_occupant_flags(mob/M) - if(ishuman(M)) + if(ishuman(M) && driver_amount() < max_drivers) var/mob/living/carbon/human/H = M if(is_clown_job(H.mind?.assigned_role) || !enforce_clown_role) //Ensures only clowns can drive the car. (Including more at once) add_control_flags(H, VEHICLE_CONTROL_DRIVE) diff --git a/code/modules/vehicles/cars/vim.dm b/code/modules/vehicles/cars/vim.dm index 221c9268febbb..dfcd604ef144d 100644 --- a/code/modules/vehicles/cars/vim.dm +++ b/code/modules/vehicles/cars/vim.dm @@ -18,6 +18,7 @@ light_power = 1.5 light_on = FALSE engine_sound = 'sound/effects/servostep.ogg' + interaction_flags_mouse_drop = NONE ///Maximum size of a mob trying to enter the mech var/maximum_mob_size = MOB_SIZE_SMALL COOLDOWN_DECLARE(sound_cooldown) diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index d35df3126636e..4a88bfa6ae142 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -19,6 +19,7 @@ * Cooldown for melee is on mech_melee_attack also because exploits */ /obj/vehicle/sealed/mecha + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "exosuit" desc = "Exosuit" icon = 'icons/mob/rideables/mecha.dmi' @@ -304,7 +305,6 @@ QDEL_NULL(ui_view) QDEL_NULL(trackers) QDEL_NULL(chassis_camera) - QDEL_NULL(wires) GLOB.mechas_list -= src //global mech list for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index c6fcae75bc98f..a466bc30d2245 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -50,7 +50,7 @@ /obj/vehicle/sealed/mecha/durand/process() . = ..() - if(defense_mode && !use_energy(100 KILO JOULES)) //Defence mode can only be on with a occupant so we check if one of them can toggle it and toggle + if(defense_mode && !use_energy(0.01 * STANDARD_CELL_CHARGE)) //Defence mode can only be on with a occupant so we check if one of them can toggle it and toggle for(var/O in occupants) var/mob/living/occupant = O var/datum/action/action = LAZYACCESSASSOC(occupant_actions, occupant, /datum/action/vehicle/sealed/mecha/mech_defense_mode) @@ -82,7 +82,6 @@ stack_trace("Durand triggered relay without a shield") shield = new /obj/durand_shield(loc, src, layer) shield.setDir(dir) - SEND_SIGNAL(shield, COMSIG_MECHA_ACTION_TRIGGER, owner, signal_args) //Redirects projectiles to the shield if defense_check decides they should be blocked and returns true. /obj/vehicle/sealed/mecha/durand/proc/prehit(obj/projectile/source, list/signal_args) @@ -144,6 +143,8 @@ Expects a turf. Returns true if the attack should be blocked, false if not.*/ button_icon_state = "mech_defense_mode_off" /datum/action/vehicle/sealed/mecha/mech_defense_mode/Trigger(trigger_flags, forced_state = FALSE) + if(!owner || !chassis || !(owner in chassis.occupants)) + return SEND_SIGNAL(chassis, COMSIG_MECHA_ACTION_TRIGGER, owner, args) //Signal sent to the mech, to be handed to the shield. See durand.dm for more details //////////////////////////// @@ -165,9 +166,9 @@ own integrity back to max. Shield is automatically dropped if we run out of powe max_integrity = 10000 anchored = TRUE light_system = OVERLAY_LIGHT - light_range = MINIMUM_USEFUL_LIGHT_RANGE - light_power = 2 - light_color = LIGHT_COLOR_ELECTRIC_CYAN + light_range = 2.8 + light_power = 1 + light_color = LIGHT_COLOR_FAINT_CYAN light_on = FALSE resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF //The shield should not take damage from fire, lava, or acid; that's the mech's job. ///Our link back to the durand @@ -181,7 +182,7 @@ own integrity back to max. Shield is automatically dropped if we run out of powe src.layer = ABOVE_MOB_LAYER SET_PLANE_IMPLICIT(src, plane) setDir(dir) - RegisterSignal(src, COMSIG_MECHA_ACTION_TRIGGER, PROC_REF(activate)) + RegisterSignal(chassis, COMSIG_MECHA_ACTION_TRIGGER, PROC_REF(activate)) RegisterSignal(chassis, COMSIG_MOVABLE_UPDATE_GLIDE_SIZE, PROC_REF(shield_glide_size_update)) /obj/durand_shield/Destroy() diff --git a/code/modules/vehicles/mecha/combat/honker.dm b/code/modules/vehicles/mecha/combat/honker.dm index 83934244638aa..39c5ef1d0e8c4 100644 --- a/code/modules/vehicles/mecha/combat/honker.dm +++ b/code/modules/vehicles/mecha/combat/honker.dm @@ -29,6 +29,10 @@ fire = 100 acid = 100 +/obj/vehicle/sealed/mecha/honker/Initialize(mapload, built_manually) + . = ..() + AddElementTrait(TRAIT_WADDLING, REF(src), /datum/element/waddling) + /obj/vehicle/sealed/mecha/honker/play_stepsound() if(squeak) playsound(src, SFX_CLOWN_STEP, 70, 1) diff --git a/code/modules/vehicles/mecha/combat/justice.dm b/code/modules/vehicles/mecha/combat/justice.dm index babdb8af17b99..00b0543dbd865 100644 --- a/code/modules/vehicles/mecha/combat/justice.dm +++ b/code/modules/vehicles/mecha/combat/justice.dm @@ -57,8 +57,9 @@ /obj/vehicle/sealed/mecha/justice/update_icon_state() . = ..() - if(LAZYLEN(occupants)) - icon_state = weapons_safety ? "[base_icon_state]" : "[base_icon_state]-angry" + if(!LAZYLEN(occupants)) + return + icon_state = weapons_safety ? "[base_icon_state]" : "[base_icon_state]-angry" if(!has_gravity()) icon_state = "[icon_state]-fly" @@ -169,10 +170,10 @@ . = ..() RegisterSignal(chassis, COMSIG_MECH_SAFETIES_TOGGLE, PROC_REF(on_toggle_safety)) -/// update button icon when toggle safety. +/// update button icon when toggle safety and turns invisibility off. /datum/action/vehicle/sealed/mecha/invisibility/proc/on_toggle_safety() SIGNAL_HANDLER - + invisibility_off() build_all_button_icons(UPDATE_BUTTON_STATUS) /datum/action/vehicle/sealed/mecha/invisibility/Trigger(trigger_flags) diff --git a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm index a0f50622e06d1..123cfef903581 100644 --- a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm +++ b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm @@ -332,7 +332,7 @@ S_TIMER_COOLDOWN_START(chassis, COOLDOWN_MECHA_MISSILE_STRIKE, strike_cooldown_time) podspawn(list( "target" = target_turf, - "style" = STYLE_MISSILE, + "style" = /datum/pod_style/missile, "effectMissile" = TRUE, "explosionSize" = list(0,0,1,2) )) diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index 755f45d52b4be..00d0a955d7b87 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -148,12 +148,13 @@ return FALSE if(equipment_slot == MECHA_WEAPON) if(attach_right) - if(mech.equip_by_category[MECHA_R_ARM] && (!special_attaching_interaction(attach_right, mech, user, checkonly = TRUE))) - to_chat(user, span_warning("\The [mech]'s right arm is full![mech.equip_by_category[MECHA_L_ARM] ? "" : " Try left arm!"]")) + // We need to check for length in case a mech doesn't support any arm attachments at all + if((!isnull(mech.equip_by_category[MECHA_R_ARM]) || !mech.max_equip_by_category[MECHA_R_ARM]) && (!special_attaching_interaction(attach_right, mech, user, checkonly = TRUE))) + to_chat(user, span_warning("\The [mech]'s right arm is full![mech.equip_by_category[MECHA_L_ARM] || !mech.max_equip_by_category[MECHA_L_ARM] ? "" : " Try left arm!"]")) return FALSE else - if(mech.equip_by_category[MECHA_L_ARM] && (!special_attaching_interaction(attach_right, mech, user, checkonly = TRUE))) - to_chat(user, span_warning("\The [mech]'s left arm is full![mech.equip_by_category[MECHA_R_ARM] ? "" : " Try right arm!"]")) + if((!isnull(mech.equip_by_category[MECHA_L_ARM]) || !mech.max_equip_by_category[MECHA_L_ARM]) && (!special_attaching_interaction(attach_right, mech, user, checkonly = TRUE))) + to_chat(user, span_warning("\The [mech]'s left arm is full![mech.equip_by_category[MECHA_R_ARM] || !mech.max_equip_by_category[MECHA_R_ARM] ? "" : " Try right arm!"]")) return FALSE return TRUE if(length(mech.equip_by_category[equipment_slot]) == mech.max_equip_by_category[equipment_slot]) diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm index f7a866bdffe90..95def3ef9b07c 100644 --- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm @@ -117,12 +117,12 @@ drill_mob(target, source) playsound(src,'sound/weapons/drill.ogg',40,TRUE) else if(isobj(target)) - var/obj/O = target - if(istype(O, /obj/item/boulder)) - var/obj/item/boulder/nu_boulder = O + var/obj/obj_target = target + if(istype(obj_target, /obj/item/boulder)) + var/obj/item/boulder/nu_boulder = obj_target nu_boulder.manual_process(src, source) else - O.take_damage(15, BRUTE, 0, FALSE, get_dir(chassis, target)) + obj_target.take_damage(15, BRUTE, 0, FALSE, get_dir(chassis, target)) playsound(src,'sound/weapons/drill.ogg', 40, TRUE) // If we caused a qdel drilling the target, we can stop drilling them. @@ -149,24 +149,21 @@ to_chat(user, "[icon2html(src, user)][span_danger("[src] is too durable to drill through.")]") /turf/closed/mineral/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill, mob/user) - for(var/turf/closed/mineral/M in range(drill.chassis,1)) - if(get_dir(drill.chassis,M)&drill.chassis.dir) - M.gets_drilled() + for(var/turf/closed/mineral/wall in range(drill.chassis, 1)) + if(get_dir(drill.chassis, wall) & drill.chassis.dir) + wall.gets_drilled() drill.log_message("[user] drilled through [src]", LOG_MECHA) drill.move_ores() /turf/open/misc/asteroid/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill) - for(var/turf/open/misc/asteroid/M in range(1, drill.chassis)) - if((get_dir(drill.chassis,M) & drill.chassis.dir) && !M.dug) - M.getDug() + for(var/turf/open/misc/asteroid/floor in range(1, drill.chassis)) + if((get_dir(drill.chassis, floor) & drill.chassis.dir) && !floor.dug) + floor.getDug() drill.log_message("Drilled through [src]", LOG_MECHA) drill.move_ores() - /obj/item/mecha_parts/mecha_equipment/drill/proc/move_ores() - if(istype(chassis, /obj/vehicle/sealed/mecha/ripley) && (locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.flat_equipment)) - var/obj/vehicle/sealed/mecha/ripley/R = chassis //we could assume that it's a ripley because it has a clamp, but that's ~unsafe~ and ~bad practice~ - R.collect_ore() + chassis.collect_ore() /obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/living/user) target.visible_message(span_danger("[chassis] is drilling [target] with [src]!"), \ @@ -179,21 +176,24 @@ else target.investigate_log("has been gibbed by [src] (attached to [chassis]).", INVESTIGATE_DEATHS) target.gib(DROP_ALL_REMAINS) + return + + //drill makes a hole + var/def_zone = target.get_random_valid_zone(BODY_ZONE_CHEST) + var/obj/item/bodypart/target_part = target.get_bodypart(def_zone) + var/blocked = target.run_armor_check(def_zone, MELEE) + target.apply_damage(10, BRUTE, def_zone, blocked) + + //blood splatters + var/splatter_dir = get_dir(chassis, target) + if(isalien(target)) + new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target.drop_location(), splatter_dir) else - //drill makes a hole - var/obj/item/bodypart/target_part = target.get_bodypart(target.get_random_valid_zone(BODY_ZONE_CHEST)) - target.apply_damage(10, BRUTE, BODY_ZONE_CHEST, target.run_armor_check(target_part, MELEE)) - - //blood splatters - var/splatter_dir = get_dir(chassis, target) - if(isalien(target)) - new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target.drop_location(), splatter_dir) - else - new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir) + new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir) - //organs go everywhere - if(target_part && prob(10 * drill_level)) - target_part.dismember(BRUTE) + //organs go everywhere + if(target_part && blocked < 100 && prob(10 * drill_level)) + target_part.dismember(BRUTE) /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill name = "diamond-tipped exosuit drill" @@ -205,7 +205,6 @@ force = 15 toolspeed = 0.7 - /obj/item/mecha_parts/mecha_equipment/mining_scanner name = "exosuit mining scanner" desc = "Equipment for working exosuits. It will automatically check surrounding rock for useful minerals." diff --git a/code/modules/vehicles/mecha/equipment/tools/radio.dm b/code/modules/vehicles/mecha/equipment/tools/radio.dm index 33a113a8274f5..18740fc22b9bd 100644 --- a/code/modules/vehicles/mecha/equipment/tools/radio.dm +++ b/code/modules/vehicles/mecha/equipment/tools/radio.dm @@ -36,7 +36,7 @@ return TRUE if("set_frequency") var/new_frequency = text2num(params["new_frequency"]) - radio.set_frequency(sanitize_frequency(new_frequency, radio.freerange, radio.syndie)) + radio.set_frequency(sanitize_frequency(new_frequency, radio.freerange, (radio.special_channels & RADIO_SPECIAL_SYNDIE))) return TRUE return FALSE diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm index 276afc0f3d6c7..c19aede50d93b 100644 --- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm @@ -37,6 +37,7 @@ return if(!workmech.cargo_hold) CRASH("Mech [chassis] has a clamp device, but no internal storage. This should be impossible.") + if(ismecha(target)) var/obj/vehicle/sealed/mecha/M = target var/have_ammo @@ -44,24 +45,21 @@ if(istype(box, /obj/item/mecha_ammo) && box.rounds) have_ammo = TRUE if(M.ammo_resupply(box, source, TRUE)) - return + return ..() if(have_ammo) to_chat(source, "No further supplies can be provided to [M].") else to_chat(source, "No providable supplies found in cargo hold") + return + + if(istype(target, /obj/machinery/door/firedoor) || istype(target, /obj/machinery/door/airlock)) + var/obj/machinery/door/target_door = target + playsound(chassis, clampsound, 50, FALSE, -6) + target_door.try_to_crowbar(src, source, TRUE) + return ..() - else if(isobj(target)) + if(isobj(target)) var/obj/clamptarget = target - if(istype(clamptarget, /obj/machinery/door/firedoor)) - var/obj/machinery/door/firedoor/targetfiredoor = clamptarget - playsound(chassis, clampsound, 50, FALSE, -6) - targetfiredoor.try_to_crowbar(src, source) - return - if(istype(clamptarget, /obj/machinery/door/airlock/)) - var/obj/machinery/door/airlock/targetairlock = clamptarget - playsound(chassis, clampsound, 50, FALSE, -6) - targetairlock.try_to_crowbar(src, source, TRUE) - return if(clamptarget.anchored) to_chat(source, "[icon2html(src, source)][span_warning("[target] is firmly secured!")]") return @@ -72,66 +70,62 @@ chassis.visible_message(span_notice("[chassis] lifts [target] and starts to load it into cargo compartment.")) clamptarget.set_anchored(TRUE) if(!do_after_cooldown(target, source)) - clamptarget.set_anchored(initial(clamptarget.anchored)) + clamptarget.set_anchored(FALSE) return - clamptarget.forceMove(workmech.cargo_hold) clamptarget.set_anchored(FALSE) + clamptarget.forceMove(workmech.cargo_hold) if(!chassis.ore_box && istype(clamptarget, /obj/structure/ore_box)) chassis.ore_box = clamptarget to_chat(source, "[icon2html(src, source)][span_notice("[target] successfully loaded.")]") log_message("Loaded [clamptarget]. Cargo compartment capacity: [workmech.cargo_hold.cargo_capacity - workmech.cargo_hold.contents.len]", LOG_MECHA) + return ..() - else if(isliving(target)) - var/mob/living/M = target - if(M.stat == DEAD) - return + if(!isliving(target)) + return ..() - if(!source.combat_mode) - step_away(M,chassis) - if(killer_clamp) - target.visible_message(span_danger("[chassis] tosses [target] like a piece of paper!"), \ - span_userdanger("[chassis] tosses you like a piece of paper!")) - else - to_chat(source, "[icon2html(src, source)][span_notice("You push [target] out of the way.")]") - chassis.visible_message(span_notice("[chassis] pushes [target] out of the way."), \ - span_notice("[chassis] pushes you aside.")) - return ..() - else if(LAZYACCESS(modifiers, RIGHT_CLICK) && iscarbon(M))//meme clamp here - if(!killer_clamp) - to_chat(source, span_notice("You longingly wish to tear [M]'s arms off.")) - return - var/mob/living/carbon/C = target - var/torn_off = FALSE - var/obj/item/bodypart/affected = C.get_bodypart(BODY_ZONE_L_ARM) - if(affected != null) - affected.dismember(damtype) - torn_off = TRUE - affected = C.get_bodypart(BODY_ZONE_R_ARM) - if(affected != null) - affected.dismember(damtype) - torn_off = TRUE - if(!torn_off) - to_chat(source, span_notice("[M]'s arms are already torn off, you must find a challenger worthy of the kill clamp!")) - return + var/mob/living/victim = target + if(victim.stat == DEAD) + return + + if(!source.combat_mode) + step_away(victim, chassis) + if(killer_clamp) + target.visible_message(span_danger("[chassis] tosses [target] like a piece of paper!"), \ + span_userdanger("[chassis] tosses you like a piece of paper!")) + else + to_chat(source, "[icon2html(src, source)][span_notice("You push [target] out of the way.")]") + chassis.visible_message(span_notice("[chassis] pushes [target] out of the way."), \ + span_notice("[chassis] pushes you aside.")) + return ..() + + if(iscarbon(victim) && killer_clamp)//meme clamp here + var/mob/living/carbon/carbon_victim = target + var/torn_off = FALSE + var/obj/item/bodypart/affected = carbon_victim.get_bodypart(BODY_ZONE_L_ARM) + if(affected != null) + affected.dismember(damtype) + torn_off = TRUE + affected = carbon_victim.get_bodypart(BODY_ZONE_R_ARM) + if(affected != null) + affected.dismember(damtype) + torn_off = TRUE + if(torn_off) playsound(src, get_dismember_sound(), 80, TRUE) - target.visible_message(span_danger("[chassis] rips [target]'s arms off!"), \ + carbon_victim.visible_message(span_danger("[chassis] rips [carbon_victim]'s arms off!"), \ span_userdanger("[chassis] rips your arms off!")) - log_combat(source, M, "removed both arms with a real clamp,", "[name]", "(COMBAT MODE: [uppertext(source.combat_mode)] (DAMTYPE: [uppertext(damtype)])") + log_combat(source, carbon_victim, "removed both arms with a real clamp,", "[name]", "(COMBAT MODE: [uppertext(source.combat_mode)] (DAMTYPE: [uppertext(damtype)])") return ..() - M.take_overall_damage(clamp_damage) - if(!M) //get gibbed stoopid - return - M.adjustOxyLoss(round(clamp_damage/2)) - M.updatehealth() - target.visible_message(span_danger("[chassis] squeezes [target]!"), \ - span_userdanger("[chassis] squeezes you!"),\ - span_hear("You hear something crack.")) - log_combat(source, M, "attacked", "[name]", "(Combat mode: [source.combat_mode ? "On" : "Off"]) (DAMTYPE: [uppertext(damtype)])") + victim.take_overall_damage(clamp_damage) + if(isnull(victim)) //get gibbed stoopid + return ..() + victim.adjustOxyLoss(round(clamp_damage/2)) + victim.visible_message(span_danger("[chassis] squeezes [victim]!"), \ + span_userdanger("[chassis] squeezes you!"),\ + span_hear("You hear something crack.")) + log_combat(source, victim, "attacked", "[name]", "(Combat mode: [source.combat_mode ? "On" : "Off"]) (DAMTYPE: [uppertext(damtype)])") return ..() - - //This is pretty much just for the death-ripley /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/kill name = "\improper KILL CLAMP" diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 0bb691160b373..4e58fe47b04fc 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -74,7 +74,11 @@ projectile_obj.hit_prone_targets = shooter.combat_mode projectile_obj.fire() if(!projectile_obj.suppressed && firing_effect_type) - new firing_effect_type(get_turf(src), chassis.dir) + var/obj/effect/fire_effect = new firing_effect_type(get_turf(src), chassis.dir) + fire_effect.pixel_y = chassis.pixel_y + fire_effect.pixel_z = chassis.pixel_z + fire_effect.pixel_x = chassis.pixel_x + fire_effect.pixel_w = chassis.pixel_w playsound(chassis, fire_sound, 50, TRUE) log_combat(source, target, "fired [projectile_obj] at", src, "from [chassis] at [get_area_name(src, TRUE)]") diff --git a/code/modules/vehicles/mecha/mech_bay.dm b/code/modules/vehicles/mecha/mech_bay.dm index 5166b9c5fdfc5..be2d3efff32aa 100644 --- a/code/modules/vehicles/mecha/mech_bay.dm +++ b/code/modules/vehicles/mecha/mech_bay.dm @@ -1,4 +1,5 @@ /obj/machinery/mech_bay_recharge_port + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "mech bay power port" desc = "This port recharges a mech's internal power cell." icon = 'icons/obj/machines/mech_bay.dmi' @@ -114,7 +115,7 @@ ui = new(user, src, "MechBayPowerConsole", name) ui.open() -/obj/machinery/computer/mech_bay_power_console/ui_act(action, params) +/obj/machinery/computer/mech_bay_power_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index c2d37ee6e8348..b167f38141594 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -149,8 +149,9 @@ /obj/machinery/mecha_part_fabricator/emag_act(mob/user, obj/item/card/emag/emag_card) if(obj_flags & EMAGGED) return FALSE - if(user.job != JOB_ROBOTICIST) - to_chat(user, span_warning("You clicking and typing but don’t understand what to do with it")) + if(!HAS_TRAIT(user, TRAIT_KNOW_ROBO_WIRES)) + to_chat(user, span_warning("You're unsure about [emag_card ? "where to swipe [emag_card] over" : "how to override"] [src] for any effect. Maybe if you had more knowledge of robotics...")) + return FALSE obj_flags |= EMAGGED for(var/found_illegal_mech_nods in SSresearch.techweb_nodes) @@ -179,6 +180,9 @@ if(design.build_type & MECHFAB) cached_designs |= design + for(var/datum/design/illegal_disign in illegal_local_designs) + cached_designs |= illegal_disign + var/design_delta = cached_designs.len - previous_design_count if(design_delta > 0) @@ -423,7 +427,7 @@ return data -/obj/machinery/mecha_part_fabricator/ui_act(action, list/params) +/obj/machinery/mecha_part_fabricator/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) diff --git a/code/modules/vehicles/mecha/mech_melee_attack.dm b/code/modules/vehicles/mecha/mech_melee_attack.dm index 655a2f3533936..f37d092b83f32 100644 --- a/code/modules/vehicles/mecha/mech_melee_attack.dm +++ b/code/modules/vehicles/mecha/mech_melee_attack.dm @@ -12,11 +12,11 @@ SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_MECH, mecha_attacker, user) if(!isnull(user)) log_combat(user, src, "attacked", mecha_attacker, "(COMBAT MODE: [uppertext(user?.combat_mode)] (DAMTYPE: [uppertext(mecha_attacker.damtype)])") - return 0 + return /turf/closed/wall/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) if(!user.combat_mode) - return 0 + return mecha_attacker.do_attack_animation(src) switch(mecha_attacker.damtype) @@ -25,7 +25,7 @@ if(BURN) playsound(src, mecha_attacker.burn_attack_sound, 50, TRUE) else - return 0 + return mecha_attacker.visible_message(span_danger("[mecha_attacker] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) if(prob(hardness + mecha_attacker.force) && mecha_attacker.force > 20) dismantle_wall(1) @@ -46,14 +46,14 @@ if(BURN) playsound(src, 'sound/items/welder.ogg', 50, TRUE) else - return 0 + return mecha_attacker.visible_message(span_danger("[mecha_attacker] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) ..() return take_damage(mecha_attacker.force * 3, mecha_attacker.damtype, "melee", FALSE, get_dir(src, mecha_attacker)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs. /obj/machinery/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) if(!user.combat_mode) - return 0 + return mecha_attacker.do_attack_animation(src) switch(mecha_attacker.damtype) @@ -62,16 +62,32 @@ if(BURN) playsound(src, mecha_attacker.burn_attack_sound, 50, TRUE) else - return 0 + return mecha_attacker.visible_message(span_danger("[mecha_attacker] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) ..() return take_damage(mecha_attacker.force * 3, mecha_attacker.damtype, "melee", FALSE, get_dir(src, mecha_attacker)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs. /obj/structure/window/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) if(!can_be_reached()) - return 0 + return return ..() +/obj/vehicle/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) + if(!user.combat_mode) + return FALSE + + mecha_attacker.do_attack_animation(src) + switch(mecha_attacker.damtype) + if(BRUTE) + playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 50, TRUE) + else + return + mecha_attacker.visible_message(span_danger("[mecha_attacker] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) + ..() + return take_damage(mecha_attacker.force, mecha_attacker.damtype, "melee", FALSE, get_dir(src, mecha_attacker)) + /mob/living/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) if(istype(user) && !user.combat_mode) step_away(src, mecha_attacker) @@ -79,43 +95,46 @@ visible_message(span_warning("[mecha_attacker] pushes [src] out of the way."), \ span_warning("[mecha_attacker] pushes you out of the way."), span_hear("You hear aggressive shuffling!"), 5, list(mecha_attacker)) to_chat(mecha_attacker, span_danger("You push [src] out of the way.")) - return 0 + return if(!isnull(user) && HAS_TRAIT(user, TRAIT_PACIFISM)) to_chat(user, span_warning("You don't want to harm other living beings!")) - return 0 + return mecha_attacker.do_attack_animation(src) if(mecha_attacker.damtype == BRUTE) step_away(src, mecha_attacker, 15) - var/obj/item/bodypart/selected_zone = get_bodypart(pick(BODY_ZONE_CHEST, BODY_ZONE_CHEST, BODY_ZONE_CHEST, BODY_ZONE_HEAD)) - var/dmg = rand(mecha_attacker.force * 0.5, mecha_attacker.force) switch(mecha_attacker.damtype) if(BRUTE) if(mecha_attacker.force > 35) // durand and other heavy mechas mecha_attacker.melee_attack_effect(src, heavy = TRUE) else if(mecha_attacker.force > 20 && !IsKnockdown()) // lightweight mechas like gygax mecha_attacker.melee_attack_effect(src, heavy = FALSE) - if(selected_zone) - selected_zone.receive_damage(dmg, 0, updating_health = TRUE) - else - apply_damage(dmg, BRUTE) playsound(src, mecha_attacker.brute_attack_sound, 50, TRUE) if(FIRE) - if(selected_zone) - selected_zone.receive_damage(0, dmg, updating_health = TRUE) - else - apply_damage(dmg, BURN) playsound(src, mecha_attacker.burn_attack_sound, 50, TRUE) if(TOX) playsound(src, mecha_attacker.tox_attack_sound, 50, TRUE) - if((reagents.get_reagent_amount(/datum/reagent/cryptobiolin) + mecha_attacker.force) < mecha_attacker.force*2) - reagents.add_reagent(/datum/reagent/cryptobiolin, mecha_attacker.force/2) - if((reagents.get_reagent_amount(/datum/reagent/toxin) + mecha_attacker.force) < mecha_attacker.force*2) - reagents.add_reagent(/datum/reagent/toxin, mecha_attacker.force/2.5) + var/bio_armor = (100 - run_armor_check(attack_flag = BIO, silent = TRUE)) / 100 + if((reagents.get_reagent_amount(/datum/reagent/cryptobiolin) + mecha_attacker.force) < mecha_attacker.force * 2) + reagents.add_reagent(/datum/reagent/cryptobiolin, mecha_attacker.force / 2 * bio_armor) + if((reagents.get_reagent_amount(/datum/reagent/toxin) + mecha_attacker.force) < mecha_attacker.force * 2) + reagents.add_reagent(/datum/reagent/toxin, mecha_attacker.force / 2.5 * bio_armor) else - return 0 - . = dmg + return + + var/damage = rand(mecha_attacker.force * 0.5, mecha_attacker.force) + if (mecha_attacker.damtype == BRUTE || mecha_attacker.damtype == FIRE) + var/def_zone = get_random_valid_zone(user.zone_selected, even_weights = TRUE) + var/zone_readable = parse_zone_with_bodypart(def_zone) + apply_damage(damage, mecha_attacker.damtype, def_zone, run_armor_check( + def_zone = def_zone, + attack_flag = MELEE, + absorb_text = span_notice("Your armor has protected your [zone_readable]!"), + soften_text = span_warning("Your armor has softened a hit to your [zone_readable]!") + )) + visible_message(span_danger("[mecha_attacker.name] [mecha_attacker.attack_verbs[1]] [src]!"), \ span_userdanger("[mecha_attacker.name] [mecha_attacker.attack_verbs[2]] you!"), span_hear("You hear a sickening sound of flesh [mecha_attacker.attack_verbs[3]] flesh!"), COMBAT_MESSAGE_RANGE, list(mecha_attacker)) to_chat(mecha_attacker, span_danger("You [mecha_attacker.attack_verbs[1]] [src]!")) ..() + return damage diff --git a/code/modules/vehicles/mecha/mecha_ai_interaction.dm b/code/modules/vehicles/mecha/mecha_ai_interaction.dm index 3a681cac97db5..cec3d867e2b6a 100644 --- a/code/modules/vehicles/mecha/mecha_ai_interaction.dm +++ b/code/modules/vehicles/mecha/mecha_ai_interaction.dm @@ -12,7 +12,7 @@ to_chat(user, "[span_userdanger("ASSUME DIRECT CONTROL?")]
    ") return examine(user) - if(length(return_drivers()) > 0) + if(length(return_occupants()) >= max_occupants) to_chat(user, span_warning("This exosuit has a pilot and cannot be controlled.")) return var/can_control_mech = FALSE @@ -103,6 +103,7 @@ AI.controlled_equipment = src AI.remote_control = src AI.ShutOffDoomsdayDevice() + add_occupant(AI) to_chat(AI, AI.can_dominate_mechs ? span_greenannounce("Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!") :\ span_notice("You have been uploaded to a mech's onboard computer.")) to_chat(AI, "Use Middle-Mouse or the action button in your HUD to toggle equipment safety. Clicks with safety enabled will pass AI commands.") diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm index 3b465994e9e02..d31bd5a5bd290 100644 --- a/code/modules/vehicles/mecha/mecha_control_console.dm +++ b/code/modules/vehicles/mecha/mecha_control_console.dm @@ -45,7 +45,7 @@ return data -/obj/machinery/computer/mecha/ui_act(action, params) +/obj/machinery/computer/mecha/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index 912993d1ee640..1237c931b33a5 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -317,7 +317,7 @@ if(!attacking_item.force) return - var/damage_taken = take_damage(attacking_item.force * attacking_item.demolition_mod, attacking_item.damtype, MELEE, 1) + var/damage_taken = take_damage(attacking_item.force * attacking_item.demolition_mod, attacking_item.damtype, MELEE, 1, get_dir(src, user)) try_damage_component(damage_taken, user.zone_selected) var/hit_verb = length(attacking_item.attack_verb_simple) ? "[pick(attacking_item.attack_verb_simple)]" : "hit" diff --git a/code/modules/vehicles/mecha/mecha_mob_interaction.dm b/code/modules/vehicles/mecha/mecha_mob_interaction.dm index e72d5505cb6fc..7a9141e80c1a7 100644 --- a/code/modules/vehicles/mecha/mecha_mob_interaction.dm +++ b/code/modules/vehicles/mecha/mecha_mob_interaction.dm @@ -41,7 +41,6 @@ return FALSE if(ishuman(newoccupant) && !Adjacent(newoccupant)) return FALSE - add_occupant(newoccupant) mecha_flags &= ~PANEL_OPEN //Close panel if open newoccupant.forceMove(src) newoccupant.update_mouse_pointer() diff --git a/code/modules/vehicles/mecha/mecha_movement.dm b/code/modules/vehicles/mecha/mecha_movement.dm index 3c743bd7fb357..57081b58385af 100644 --- a/code/modules/vehicles/mecha/mecha_movement.dm +++ b/code/modules/vehicles/mecha/mecha_movement.dm @@ -1,4 +1,4 @@ -/// Sets the direction of the mecha and all of its occcupents, required for FOV. Alternatively one could make a recursive contents registration and register topmost direction changes in the fov component +/// Sets the direction of the mecha and all of its occcupents /obj/vehicle/sealed/mecha/setDir(newdir) . = ..() for(var/mob/living/occupant as anything in occupants) diff --git a/code/modules/vehicles/mecha/medical/odysseus.dm b/code/modules/vehicles/mecha/medical/odysseus.dm index 90a46f54f5864..162858bc3105a 100644 --- a/code/modules/vehicles/mecha/medical/odysseus.dm +++ b/code/modules/vehicles/mecha/medical/odysseus.dm @@ -15,20 +15,14 @@ /obj/vehicle/sealed/mecha/odysseus/moved_inside(mob/living/carbon/human/H) . = ..() if(. && !HAS_TRAIT(H, TRAIT_MEDICAL_HUD)) - var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - hud.show_to(H) ADD_TRAIT(H, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) /obj/vehicle/sealed/mecha/odysseus/remove_occupant(mob/living/carbon/human/H) if(isliving(H) && HAS_TRAIT_FROM(H, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT)) - var/datum/atom_hud/med_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - med_hud.hide_from(H) REMOVE_TRAIT(H, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) return ..() /obj/vehicle/sealed/mecha/odysseus/mmi_moved_inside(obj/item/mmi/M, mob/user) . = ..() if(. && !HAS_TRAIT(M, TRAIT_MEDICAL_HUD)) - var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - var/mob/living/brain/B = M.brainmob - hud.show_to(B) + ADD_TRAIT(M, TRAIT_MEDICAL_HUD, VEHICLE_TRAIT) diff --git a/code/modules/vehicles/mecha/working/clarke.dm b/code/modules/vehicles/mecha/working/clarke.dm index 2ec0b4a473648..db89d48a14127 100644 --- a/code/modules/vehicles/mecha/working/clarke.dm +++ b/code/modules/vehicles/mecha/working/clarke.dm @@ -78,21 +78,21 @@ var/list/contents = chassis.ore_box?.contents var/list/contents_grouped = list() for(var/obj/item/stack/ore/item as anything in contents) - if(isnull(contents_grouped[item.icon_state])) + if(isnull(contents_grouped[item.name])) var/ore_data = list() ore_data["name"] = item.name ore_data["icon"] = item.icon_state ore_data["amount"] = item.amount - contents_grouped[item.icon_state] = ore_data + contents_grouped[item.name] = ore_data else - contents_grouped[item.icon_state]["amount"] += item.amount + contents_grouped[item.name]["amount"] += item.amount var/list/data = list( "snowflake_id" = MECHA_SNOWFLAKE_ID_OREBOX_MANAGER, "contents" = contents_grouped, ) return data -/obj/item/mecha_parts/mecha_equipment/orebox_manager/ui_act(action, list/params) +/obj/item/mecha_parts/mecha_equipment/orebox_manager/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return TRUE diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 754a6b820d721..f5c55f613ee10 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -338,7 +338,7 @@ GLOBAL_DATUM(cargo_ripley, /obj/vehicle/sealed/mecha/ripley/cargo) )) return data -/obj/item/mecha_parts/mecha_equipment/ejector/ui_act(action, list/params) +/obj/item/mecha_parts/mecha_equipment/ejector/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return TRUE @@ -382,7 +382,7 @@ GLOBAL_DATUM(cargo_ripley, /obj/vehicle/sealed/mecha/ripley/cargo) to_chat(source, span_warning("You don't have the room to remove [cuffs]!")) return COMSIG_MOB_BLOCK_CUFF_REMOVAL -/obj/item/mecha_parts/mecha_equipment/ejector/seccage/ui_act(action, list/params) +/obj/item/mecha_parts/mecha_equipment/ejector/seccage/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) if(action == "eject") var/mob/passenger = locate(params["cargoref"]) in contents if(!passenger) diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index cecf6b815e249..6a38f65e3bf09 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -100,7 +100,6 @@ /obj/vehicle/ridden/wheelchair/motorized/attack_hand(mob/living/user, list/modifiers) if(!power_cell || !panel_open) return ..() - power_cell.update_appearance() to_chat(user, span_notice("You remove [power_cell] from [src].")) user.put_in_hands(power_cell) power_cell = null diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index 7ef79cb89cf04..441a1263a3ea0 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -64,7 +64,7 @@ installed_upgrade = null update_appearance() else if(trash_bag && (!is_key(I) || is_key(inserted_key))) // don't put a key in the trash when we need it - trash_bag.attackby(I, user) + trash_bag.atom_storage.attempt_insert(I, user) else return ..() diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index 08edbf7886799..82146976ad1f8 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -212,14 +212,13 @@ board_item_type = /obj/item/melee/skateboard/holyboard instability = 3 icon_state = "hoverboard_holy" -/obj/vehicle/ridden/scooter/skateboard/hoverboard/holyboarded/post_buckle_mob(mob/living/M) - M.AddComponent(/datum/component/anti_magic, MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY) - return ..() -/obj/vehicle/ridden/scooter/skateboard/hoverboard/holyboarded/post_unbuckle_mob(mob/living/M) - if(!has_buckled_mobs()) - qdel (M.GetComponent(/datum/component/anti_magic, MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY)) - return ..() +/obj/vehicle/ridden/scooter/skateboard/hoverboard/make_ridable() + AddElement(/datum/element/ridable, /datum/component/riding/vehicle/scooter/skateboard/hover/holy) + +/obj/vehicle/ridden/scooter/skateboard/hoverboard/holyboarded/Initialize(mapload) + . = ..() + AddComponent(/datum/component/anti_magic, MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY) /obj/vehicle/ridden/scooter/skateboard/hoverboard/admin name = "\improper Board Of Directors" diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 336f3b72ce1f7..6e6cb08132072 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -53,6 +53,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) * Captalism in the year 2525, everything in a vending machine, even love */ /obj/machinery/vending + SET_BASE_VISUAL_PIXEL(0, DEPTH_OFFSET) name = "\improper Vendomat" desc = "A generic vending machine." icon = 'icons/obj/machines/vending.dmi' @@ -283,7 +284,6 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) register_context() /obj/machinery/vending/Destroy() - QDEL_NULL(wires) QDEL_NULL(coin) QDEL_NULL(bill) QDEL_NULL(sec_radio) @@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) return /** - * Build the inventory of the vending machine from it's product and record lists + * Build the inventory of the vending machine from its product and record lists * * This builds up a full set of /datum/data/vending_products from the product list of the vending machine type * Arguments: @@ -832,8 +832,8 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) * Args: * * turf/target: The turf to fall onto. Cannot be null. * * damage: The raw numerical damage to do by default. - * * chance_to_crit: The percent chance of a critical hit occuring. Default: 0 - * * forced_crit_case: If given a value from crushing.dm, [target] and it's contents will always be hit with that specific critical hit. Default: null + * * chance_to_crit: The percent chance of a critical hit occurring. Default: 0 + * * forced_crit_case: If given a value from crushing.dm, [target] and its contents will always be hit with that specific critical hit. Default: null * * paralyze_time: The time, in deciseconds, a given mob/living will be paralyzed for if crushed. * * crush_dir: The direction the crush is coming from. Default: dir of src to [target]. * * damage_type: The type of damage to do. Default: BRUTE @@ -1185,17 +1185,19 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) return TRUE /obj/machinery/vending/interact(mob/user) - if (!HAS_AI_ACCESS(user)) - if(seconds_electrified && !(machine_stat & NOPOWER)) - if(shock(user, 100)) - return + if (HAS_AI_ACCESS(user)) + return ..() - if(tilted && !user.buckled && !isAdminGhostAI(user)) - to_chat(user, span_notice("You begin righting [src].")) - if(do_after(user, 5 SECONDS, target=src)) - untilt(user) + if(seconds_electrified && !(machine_stat & NOPOWER)) + if(shock(user, 100)) return + if(tilted && !user.buckled) + to_chat(user, span_notice("You begin righting [src].")) + if(do_after(user, 5 SECONDS, target=src)) + untilt(user) + return + return ..() /obj/machinery/vending/attack_robot_secondary(mob/user, list/modifiers) @@ -1257,6 +1259,15 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) ref = REF(record), ) + var/atom/printed = record.product_path + // If it's not GAGS and has no innate colors we have to care about, we use DMIcon + if(ispath(printed, /atom) \ + && (!initial(printed.greyscale_config) || !initial(printed.greyscale_colors)) \ + && !initial(printed.color) \ + ) + static_record["icon"] = initial(printed.icon) + static_record["icon_state"] = initial(printed.icon_state) + var/list/category = record.category || default_category if (!isnull(category)) if (!(category["name"] in categories)) @@ -1309,7 +1320,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) .["extended_inventory"] = extended_inventory -/obj/machinery/vending/ui_act(action, params) +/obj/machinery/vending/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -1758,7 +1769,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) ) .["vending_machine_input"] += list(data) -/obj/machinery/vending/custom/ui_act(action, params) +/obj/machinery/vending/custom/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 17555e66a879b..8211b05553d8b 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -1,3 +1,223 @@ + +GLOBAL_LIST_INIT(autodrobe_costumes_items, list( + /obj/item/clothing/under/costume/gladiator = 3, + /obj/item/clothing/head/helmet/gladiator = 3, + /obj/item/clothing/suit/toggle/labcoat/mad = 3, + /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3, + /obj/item/clothing/head/bio_hood/plague = 3, + /obj/item/clothing/mask/gas/plaguedoctor = 3, + /obj/item/clothing/under/rank/medical/doctor/nurse = 3, + /obj/item/clothing/suit/toggle/owlwings = 1, + /obj/item/clothing/under/costume/owl = 1, + /obj/item/clothing/mask/gas/owl_mask = 1, + /obj/item/clothing/suit/toggle/owlwings/griffinwings = 1, + /obj/item/clothing/under/costume/griffin = 1, + /obj/item/clothing/shoes/griffin = 1, + /obj/item/clothing/head/costume/griffin = 1, + /obj/item/clothing/under/costume/pirate = 3, + /obj/item/clothing/suit/costume/pirate = 3, + /obj/item/clothing/head/costume/pirate = 3, + /obj/item/clothing/head/costume/pirate/bandana = 3, + /obj/item/clothing/shoes/pirate = 3, + /obj/item/clothing/under/costume/soviet = 3, + /obj/item/clothing/head/costume/ushanka = 3, + /obj/item/clothing/accessory/vest_sheriff = 1, + /obj/item/clothing/head/cowboy/brown = 3, + /obj/item/clothing/head/cowboy/red = 3, + /obj/item/clothing/head/cowboy/black = 3, + /obj/item/clothing/head/costume/sombrero/green = 3, + /obj/item/clothing/suit/costume/poncho = 3, + /obj/item/clothing/suit/costume/poncho/green = 3, + /obj/item/clothing/suit/costume/poncho/red = 3, + /obj/item/clothing/suit/costume/snowman = 3, + /obj/item/clothing/head/costume/snowman = 3, + /obj/item/clothing/under/costume/referee = 1, + /obj/item/clothing/mask/whistle = 1, + /obj/item/storage/backpack/henchmen = 5, + /obj/item/clothing/under/costume/henchmen = 5, + /obj/item/clothing/head/costume/jackbros = 5, + /obj/item/clothing/under/costume/jackbros = 5, + /obj/item/clothing/under/costume/deckers = 5, + /obj/item/clothing/under/costume/sailor = 3, + /obj/item/clothing/head/costume/delinquent = 1, + /obj/item/clothing/suit/costume/dracula = 3, + /obj/item/clothing/under/costume/draculass = 3, + /obj/item/clothing/suit/costume/gothcoat = 3, + /obj/item/clothing/glasses/eyepatch = 3, + /obj/item/clothing/glasses/eyepatch/medical = 3, + /obj/item/clothing/under/costume/gi = 4, + /obj/item/clothing/head/soft/propeller_hat = 3, + /obj/item/clothing/neck/bowtie/rainbow = 3, +)) + +GLOBAL_LIST_INIT(autodrobe_supernatural_items, list( + /obj/item/clothing/suit/costume/imperium_monk = 3, + /obj/item/clothing/suit/chaplainsuit/holidaypriest = 3, + /obj/item/clothing/suit/chaplainsuit/habit = 3, + /obj/item/clothing/head/chaplain/habit_veil = 3, + /obj/item/clothing/suit/chaplainsuit/whiterobe = 3, + /obj/item/clothing/head/wizard/marisa/fake = 3, + /obj/item/clothing/suit/wizrobe/marisa/fake = 3, + /obj/item/clothing/head/costume/witchwig = 3, + /obj/item/staff/broom = 3, + /obj/item/clothing/suit/wizrobe/fake = 3, + /obj/item/clothing/head/wizard/fake = 3, + /obj/item/staff = 3, + /obj/item/clothing/head/costume/shrine_wig = 1, + /obj/item/clothing/suit/costume/shrine_maiden = 1, + /obj/item/gohei = 3, +)) + +GLOBAL_LIST_INIT(autodrobe_entretainers_items, list( + /obj/item/clothing/under/rank/civilian/clown/blue = 3, + /obj/item/clothing/under/rank/civilian/clown/green = 3, + /obj/item/clothing/under/rank/civilian/clown/yellow = 3, + /obj/item/clothing/under/rank/civilian/clown/orange = 3, + /obj/item/clothing/under/rank/civilian/clown/purple = 3, + /obj/item/clothing/mask/gas/sexyclown = 3, + /obj/item/clothing/under/rank/civilian/clown/sexy = 3, + /obj/item/clothing/head/beret = 6, + /obj/item/clothing/mask/gas/sexymime = 3, + /obj/item/clothing/under/rank/civilian/mime/sexy = 3, + /obj/item/clothing/under/rank/civilian/mime/skirt = 3, + /obj/item/clothing/under/rank/civilian/clown/jester = 3, + /obj/item/clothing/head/costume/jester = 3, + /obj/item/clothing/shoes/jester_shoes = 3, + /obj/item/clothing/under/costume/villain = 3, + /obj/item/clothing/suit/costume/joker = 3, + /obj/item/clothing/under/costume/joker = 3, + /obj/item/clothing/shoes/singery = 1, + /obj/item/clothing/under/costume/singer/yellow = 1, + /obj/item/clothing/shoes/singerb = 1, + /obj/item/clothing/under/costume/singer/blue = 1, + /obj/item/clothing/head/costume/cueball = 1, +)) + +GLOBAL_LIST_INIT(autodrobe_fancy_items, list( + /obj/item/clothing/under/rank/captain/suit = 1, + /obj/item/clothing/under/rank/captain/suit/skirt = 1, + /obj/item/clothing/under/costume/schoolgirl = 3, + /obj/item/clothing/under/costume/schoolgirl/red = 3, + /obj/item/clothing/under/costume/schoolgirl/green = 3, + /obj/item/clothing/under/costume/schoolgirl/orange = 3, + /obj/item/clothing/under/dress/skirt = 3, + /obj/item/clothing/neck/tie = 3, + /obj/item/clothing/head/hats/tophat = 3, + /obj/item/clothing/under/costume/kilt = 3, + /obj/item/clothing/glasses/monocle = 3, + /obj/item/clothing/head/hats/bowler = 3, + /obj/item/cane = 3, + /obj/item/clothing/under/dress/sundress = 3, + /obj/item/clothing/suit/costume/whitedress = 3, + /obj/item/clothing/suit/costume/changshan_red = 3, + /obj/item/clothing/suit/costume/changshan_blue = 3, + /obj/item/clothing/suit/costume/cheongsam_red = 3, + /obj/item/clothing/suit/costume/cheongsam_blue = 3, +)) + +GLOBAL_LIST_INIT(autodrobe_animal_items, list( + /obj/item/clothing/head/costume/kitty = 3, + /obj/item/clothing/head/costume/rabbitears = 3, + /obj/item/clothing/suit/costume/chickensuit = 3, + /obj/item/clothing/head/costume/chicken = 3, + /obj/item/clothing/suit/hooded/carp_costume = 3, + /obj/item/clothing/suit/hooded/ian_costume = 3, + /obj/item/clothing/suit/hooded/bee_costume = 3, + /obj/item/clothing/mask/animal/small/bat = 3, + /obj/item/clothing/mask/animal/small/bee = 3, + /obj/item/clothing/mask/animal/small/bear = 3, + /obj/item/clothing/mask/animal/small/raven = 3, + /obj/item/clothing/mask/animal/small/jackal = 3, + /obj/item/clothing/mask/animal/small/fox = 3, + /obj/item/clothing/mask/animal/frog = 3, + /obj/item/clothing/mask/animal/small/rat = 3, + /obj/item/clothing/mask/animal/pig = 3, + /obj/item/clothing/mask/animal/cowmask = 3, + /obj/item/clothing/mask/animal/horsehead = 3, +)) + +GLOBAL_LIST_INIT(autodrobe_service_items, list( + /obj/item/clothing/under/costume/buttondown/slacks/service = 3, + /obj/item/clothing/under/costume/buttondown/skirt/service = 3, + /obj/item/clothing/neck/bowtie = 6, + /obj/item/clothing/accessory/waistcoat = 4, + /obj/item/clothing/under/suit/waiter = 4, + /obj/item/clothing/suit/apron = 3, + /obj/item/clothing/suit/apron/overalls = 3, + /obj/item/clothing/head/costume/maidheadband = 3, + /obj/item/clothing/under/costume/maid = 3, + /obj/item/clothing/gloves/maid = 3, + /obj/item/clothing/neck/maid = 3, + /obj/item/clothing/under/rank/civilian/janitor/maid = 3, + /obj/item/clothing/accessory/maidapron = 3, +)) + +GLOBAL_LIST_INIT(autodrobe_other_items, list( + /obj/item/clothing/head/wig/random = 6, + /obj/item/clothing/head/flatcap = 3, + /obj/item/clothing/suit/jacket/miljacket = 3, + /obj/item/clothing/shoes/jackboots = 3, + /obj/item/clothing/mask/fakemoustache = 3, + /obj/item/clothing/glasses/cold= 3, + /obj/item/clothing/glasses/heat= 3, + /obj/item/clothing/mask/gas/cyborg = 3, + /obj/item/clothing/mask/joy = 3, + /obj/item/clothing/mask/gas/prop = 4, + /obj/item/clothing/mask/gas/atmosprop = 3, + /obj/item/clothing/mask/animal/small/tribal = 1, +)) + +GLOBAL_LIST_INIT(autodrobe_premium_items, list( + /obj/item/clothing/suit/costume/pirate/captain = 2, + /obj/item/clothing/head/costume/pirate/captain = 2, + /obj/item/clothing/under/rank/civilian/clown/rainbow = 1, + /obj/item/clothing/head/helmet/roman/fake = 3, + /obj/item/clothing/head/helmet/roman/legionnaire/fake = 3, + /obj/item/clothing/under/costume/roman = 3, + /obj/item/clothing/shoes/roman = 3, + /obj/item/shield/roman/fake = 3, + /obj/item/clothing/suit/chaplainsuit/clownpriest = 1, + /obj/item/clothing/head/chaplain/clownmitre = 1, + /obj/item/skub = 1, + /obj/item/clothing/suit/hooded/mysticrobe = 1, + /obj/item/clothing/under/dress/wedding_dress = 1, + /obj/item/clothing/under/suit/tuxedo = 1, + /obj/item/clothing/head/costume/weddingveil = 1, + /obj/item/storage/belt/fannypack/cummerbund = 1, + /obj/item/clothing/suit/costume/drfreeze_coat = 1, + /obj/item/clothing/under/costume/drfreeze = 1, + /obj/item/clothing/head/costume/drfreezehat = 1, +)) + +GLOBAL_LIST_INIT(autodrobe_contraband_items, list( + /obj/item/clothing/glasses/blindfold = 1, + /obj/item/clothing/glasses/sunglasses/gar = 2, + /obj/item/clothing/head/costume/powdered_wig = 1, + /obj/item/clothing/head/costume/tv_head = 1, + /obj/item/clothing/mask/muzzle = 2, + /obj/item/clothing/shoes/clown_shoes/meown_shoes = 1, + /obj/item/clothing/shoes/clown_shoes/moffers = 1, + /obj/item/clothing/shoes/ducky_shoes = 1, + /obj/item/clothing/suit/costume/judgerobe = 1, + /obj/item/clothing/head/costume/lobsterhat = 1, + /obj/item/clothing/under/costume/lobster = 1, + /obj/item/gun/magic/wand/nothing = 2, + /obj/item/skillchip/musical = 3, + /obj/item/storage/box/tape_wizard = 1, +)) + +GLOBAL_VAR_INIT(all_autodrobe_items, (autodrobe_costumes_items +\ + autodrobe_costumes_items +\ + autodrobe_supernatural_items +\ + autodrobe_entretainers_items +\ + autodrobe_fancy_items +\ + autodrobe_animal_items +\ + autodrobe_service_items +\ + autodrobe_other_items +\ + autodrobe_premium_items +\ + autodrobe_contraband_items \ +)) + /obj/machinery/vending/autodrobe name = "\improper AutoDrobe" desc = "A vending machine for costumes." @@ -7,244 +227,63 @@ req_access = list(ACCESS_THEATRE) product_slogans = "Dress for success!;Suited and booted!;It's show time!;Why leave style up to fate? Use AutoDrobe!" vend_reply = "Thank you for using AutoDrobe!" + + /** + * Categories are filled in Initialize! + */ + + refill_canister = /obj/item/vending_refill/autodrobe + default_price = PAYCHECK_CREW * 0.8 //Default of 40. + extra_price = PAYCHECK_COMMAND + payment_department = ACCOUNT_SRV + light_mask="theater-light-mask" + +/obj/machinery/vending/autodrobe/Initialize(mapload) product_categories = list( list( "name" = "Costumes", "icon" = "mask", - "products" = list( - /obj/item/clothing/under/costume/gladiator = 1, - /obj/item/clothing/head/helmet/gladiator = 1, - /obj/item/clothing/suit/toggle/labcoat/mad = 1, - /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1, - /obj/item/clothing/head/bio_hood/plague = 1, - /obj/item/clothing/mask/gas/plaguedoctor = 1, - /obj/item/clothing/under/rank/medical/doctor/nurse = 1, - /obj/item/clothing/suit/toggle/owlwings = 1, - /obj/item/clothing/under/costume/owl = 1, - /obj/item/clothing/mask/gas/owl_mask = 1, - /obj/item/clothing/suit/toggle/owlwings/griffinwings = 1, - /obj/item/clothing/under/costume/griffin = 1, - /obj/item/clothing/shoes/griffin = 1, - /obj/item/clothing/head/costume/griffin = 1, - /obj/item/clothing/under/costume/pirate = 1, - /obj/item/clothing/suit/costume/pirate = 1, - /obj/item/clothing/head/costume/pirate = 1, - /obj/item/clothing/head/costume/pirate/bandana = 1, - /obj/item/clothing/shoes/pirate = 1, - /obj/item/clothing/under/costume/soviet = 1, - /obj/item/clothing/head/costume/ushanka = 1, - /obj/item/clothing/accessory/vest_sheriff =1, - /obj/item/clothing/head/cowboy/brown =1, - /obj/item/clothing/head/cowboy/red =1, - /obj/item/clothing/head/cowboy/black =1, - /obj/item/clothing/head/costume/sombrero/green = 1, - /obj/item/clothing/suit/costume/poncho = 1, - /obj/item/clothing/suit/costume/poncho/green = 1, - /obj/item/clothing/suit/costume/poncho/red = 1, - /obj/item/clothing/suit/costume/snowman = 1, - /obj/item/clothing/head/costume/snowman = 1, - /obj/item/clothing/under/costume/referee = 1, - /obj/item/clothing/mask/whistle = 1, - /obj/item/storage/backpack/henchmen = 5, - /obj/item/clothing/under/costume/henchmen = 5, - /obj/item/clothing/head/costume/jackbros = 5, - /obj/item/clothing/under/costume/jackbros = 5, - /obj/item/clothing/under/costume/deckers = 5, - /obj/item/clothing/under/costume/sailor = 1, - /obj/item/clothing/head/costume/delinquent = 1, - /obj/item/clothing/suit/costume/dracula = 1, - /obj/item/clothing/under/costume/draculass = 1, - /obj/item/clothing/suit/costume/gothcoat = 1, - /obj/item/clothing/glasses/eyepatch = 1, - /obj/item/clothing/glasses/eyepatch/medical = 1, - /obj/item/clothing/under/costume/gi = 4, - /obj/item/clothing/head/soft/propeller_hat = 1, - /obj/item/clothing/neck/bowtie/rainbow = 1, - ), + "products" = GLOB.autodrobe_costumes_items ), list( "name" = "Supernatural", "icon" = "hand-sparkles", - "products" = list( - /obj/item/clothing/suit/costume/imperium_monk = 1, - /obj/item/clothing/suit/chaplainsuit/holidaypriest = 1, - /obj/item/clothing/suit/chaplainsuit/habit = 1, - /obj/item/clothing/head/chaplain/habit_veil = 1, - /obj/item/clothing/suit/chaplainsuit/whiterobe = 1, - /obj/item/clothing/head/wizard/marisa/fake = 1, - /obj/item/clothing/suit/wizrobe/marisa/fake = 1, - /obj/item/clothing/head/costume/witchwig = 1, - /obj/item/staff/broom = 1, - /obj/item/clothing/suit/wizrobe/fake = 1, - /obj/item/clothing/head/wizard/fake = 1, - /obj/item/staff = 3, - /obj/item/clothing/head/costume/shrine_wig = 1, - /obj/item/clothing/suit/costume/shrine_maiden = 1, - /obj/item/gohei = 1, - ), + "products" = GLOB.autodrobe_supernatural_items ), list( "name" = "Entertainers", "icon" = "masks-theater", - "products" = list( - /obj/item/clothing/under/rank/civilian/clown/blue = 1, - /obj/item/clothing/under/rank/civilian/clown/green = 1, - /obj/item/clothing/under/rank/civilian/clown/yellow = 1, - /obj/item/clothing/under/rank/civilian/clown/orange = 1, - /obj/item/clothing/under/rank/civilian/clown/purple = 1, - /obj/item/clothing/mask/gas/sexyclown = 1, - /obj/item/clothing/under/rank/civilian/clown/sexy = 1, - /obj/item/clothing/head/beret = 6, - /obj/item/clothing/mask/gas/sexymime = 1, - /obj/item/clothing/under/rank/civilian/mime/sexy = 1, - /obj/item/clothing/under/rank/civilian/mime/skirt = 1, - /obj/item/clothing/under/rank/civilian/clown/jester = 1, - /obj/item/clothing/head/costume/jester = 1, - /obj/item/clothing/shoes/jester_shoes = 1, - /obj/item/clothing/under/costume/villain = 1, - /obj/item/clothing/suit/costume/joker = 1, - /obj/item/clothing/under/costume/joker = 1, - /obj/item/clothing/shoes/singery = 1, - /obj/item/clothing/under/costume/singer/yellow = 1, - /obj/item/clothing/shoes/singerb = 1, - /obj/item/clothing/under/costume/singer/blue = 1, - /obj/item/clothing/head/costume/cueball = 1, - ), + "products" = GLOB.autodrobe_entretainers_items ), list( "name" = "Fancy", "icon" = "user-tie", - "products" = list( - /obj/item/clothing/under/rank/captain/suit = 1, - /obj/item/clothing/under/rank/captain/suit/skirt = 1, - /obj/item/clothing/under/costume/schoolgirl = 1, - /obj/item/clothing/under/costume/schoolgirl/red = 1, - /obj/item/clothing/under/costume/schoolgirl/green = 1, - /obj/item/clothing/under/costume/schoolgirl/orange = 1, - /obj/item/clothing/under/dress/skirt = 1, - /obj/item/clothing/neck/tie = 3, - /obj/item/clothing/head/hats/tophat = 1, - /obj/item/clothing/under/costume/kilt = 1, - /obj/item/clothing/glasses/monocle =1, - /obj/item/clothing/head/hats/bowler = 1, - /obj/item/cane = 1, - /obj/item/clothing/under/dress/sundress = 1, - /obj/item/clothing/suit/costume/whitedress = 1, - /obj/item/clothing/suit/costume/changshan_red = 1, - /obj/item/clothing/suit/costume/changshan_blue = 1, - /obj/item/clothing/suit/costume/cheongsam_red = 1, - /obj/item/clothing/suit/costume/cheongsam_blue = 1, - ), + "products" = GLOB.autodrobe_fancy_items ), list( "name" = "Animals", "icon" = "paw", - "products" = list( - /obj/item/clothing/head/costume/kitty = 1, - /obj/item/clothing/head/costume/rabbitears =1, - /obj/item/clothing/suit/costume/chickensuit = 1, - /obj/item/clothing/head/costume/chicken = 1, - /obj/item/clothing/suit/hooded/carp_costume = 1, - /obj/item/clothing/suit/hooded/ian_costume = 1, - /obj/item/clothing/suit/hooded/bee_costume = 1, - /obj/item/clothing/mask/animal/small/bat = 1, - /obj/item/clothing/mask/animal/small/bee = 1, - /obj/item/clothing/mask/animal/small/bear = 1, - /obj/item/clothing/mask/animal/small/raven = 1, - /obj/item/clothing/mask/animal/small/jackal = 1, - /obj/item/clothing/mask/animal/small/fox = 1, - /obj/item/clothing/mask/animal/frog = 1, - /obj/item/clothing/mask/animal/small/rat = 1, - /obj/item/clothing/mask/animal/pig = 1, - /obj/item/clothing/mask/animal/cowmask = 1, - /obj/item/clothing/mask/animal/horsehead = 1, - ), + "products" = GLOB.autodrobe_animal_items ), list( "name" = "Service", "icon" = "kitchen-set", - "products" = list( - /obj/item/clothing/under/costume/buttondown/slacks/service = 1, - /obj/item/clothing/under/costume/buttondown/skirt/service = 1, - /obj/item/clothing/neck/bowtie = 2, - /obj/item/clothing/accessory/waistcoat = 1, - /obj/item/clothing/under/suit/waiter = 1, - /obj/item/clothing/suit/apron = 1, - /obj/item/clothing/suit/apron/overalls = 1, - /obj/item/clothing/head/costume/maidheadband = 1, - /obj/item/clothing/under/costume/maid = 1, - /obj/item/clothing/gloves/maid = 1, - /obj/item/clothing/neck/maid = 1, - /obj/item/clothing/under/rank/civilian/janitor/maid = 1, - /obj/item/clothing/accessory/maidapron = 1, - ), + "products" = GLOB.autodrobe_service_items ), list( "name" = "Other", "icon" = "star", - "products" = list( - /obj/item/clothing/head/wig/random = 3, - /obj/item/clothing/head/flatcap = 1, - /obj/item/clothing/suit/jacket/miljacket = 1, - /obj/item/clothing/shoes/jackboots = 1, - /obj/item/clothing/mask/fakemoustache = 1, - /obj/item/clothing/glasses/cold=1, - /obj/item/clothing/glasses/heat=1, - /obj/item/clothing/mask/gas/cyborg = 1, - /obj/item/clothing/mask/joy = 1, - /obj/item/clothing/mask/gas/prop = 4, - /obj/item/clothing/mask/gas/atmosprop = 3, - /obj/item/clothing/mask/animal/small/tribal = 1, - ), + "products" = GLOB.autodrobe_other_items ), ) + premium = GLOB.autodrobe_premium_items + contraband = GLOB.autodrobe_contraband_items - contraband = list( - /obj/item/clothing/glasses/blindfold = 1, - /obj/item/clothing/glasses/sunglasses/gar = 2, - /obj/item/clothing/head/costume/powdered_wig = 1, - /obj/item/clothing/head/costume/tv_head = 1, - /obj/item/clothing/mask/muzzle = 2, - /obj/item/clothing/shoes/ducky_shoes = 1, - /obj/item/clothing/shoes/clown_shoes/meown_shoes = 1, - /obj/item/clothing/shoes/clown_shoes/moffers = 1, - /obj/item/clothing/suit/costume/judgerobe = 1, - /obj/item/clothing/head/costume/lobsterhat = 1, - /obj/item/clothing/under/costume/lobster = 1, - /obj/item/gun/magic/wand/nothing = 2, - /obj/item/storage/box/tape_wizard = 1, - ) - premium = list( - /obj/item/clothing/suit/costume/pirate/captain = 2, - /obj/item/clothing/head/costume/pirate/captain = 2, - /obj/item/clothing/under/rank/civilian/clown/rainbow = 1, - /obj/item/clothing/head/helmet/roman/fake = 1, - /obj/item/clothing/head/helmet/roman/legionnaire/fake = 1, - /obj/item/clothing/under/costume/roman = 1, - /obj/item/clothing/shoes/roman = 1, - /obj/item/shield/roman/fake = 1, - /obj/item/clothing/suit/chaplainsuit/clownpriest = 1, - /obj/item/clothing/head/chaplain/clownmitre = 1, - /obj/item/skub = 1, - /obj/item/clothing/suit/hooded/mysticrobe = 1, - /obj/item/clothing/under/dress/wedding_dress = 1, - /obj/item/clothing/under/suit/tuxedo = 1, - /obj/item/clothing/head/costume/weddingveil = 1, - /obj/item/storage/belt/fannypack/cummerbund = 1, - /obj/item/clothing/suit/costume/drfreeze_coat = 1, - /obj/item/clothing/under/costume/drfreeze = 1, - /obj/item/clothing/head/costume/drfreezehat = 1, - ) - refill_canister = /obj/item/vending_refill/autodrobe - default_price = PAYCHECK_CREW * 0.8 //Default of 40. - extra_price = PAYCHECK_COMMAND - payment_department = ACCOUNT_SRV - light_mask="theater-light-mask" + . = ..() /obj/machinery/vending/autodrobe/all_access desc = "A vending machine for costumes. This model appears to have no access restrictions." req_access = null - /obj/item/vending_refill/autodrobe machine_name = "AutoDrobe" icon_state = "refill_costume" diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm index bf260ab76bc44..738ba83e15819 100644 --- a/code/modules/vending/clothesmate.dm +++ b/code/modules/vending/clothesmate.dm @@ -33,11 +33,11 @@ /obj/item/clothing/head/hats/tophat = 3, /obj/item/clothing/head/fedora = 3, /obj/item/clothing/head/hats/bowler = 3, - /obj/item/clothing/head/cowboy/white = 1, - /obj/item/clothing/head/cowboy/grey = 1, - /obj/item/clothing/head/costume/sombrero/green = 1, - /obj/item/clothing/head/costume/nightcap/blue = 2, - /obj/item/clothing/head/costume/nightcap/red = 2, + /obj/item/clothing/head/cowboy/white = 3, + /obj/item/clothing/head/cowboy/grey = 3, + /obj/item/clothing/head/costume/sombrero/green = 3, + /obj/item/clothing/head/costume/nightcap/blue = 3, + /obj/item/clothing/head/costume/nightcap/red = 3, ), ), @@ -49,12 +49,12 @@ /obj/item/clothing/accessory/waistcoat = 4, /obj/item/clothing/suit/toggle/suspenders = 4, /obj/item/clothing/neck/tie/horrible = 3, - /obj/item/clothing/glasses/regular = 2, - /obj/item/clothing/glasses/regular/jamjar = 1, - /obj/item/clothing/glasses/orange = 1, - /obj/item/clothing/glasses/red = 1, - /obj/item/clothing/glasses/monocle = 1, - /obj/item/clothing/gloves/fingerless = 2, + /obj/item/clothing/glasses/regular = 3, + /obj/item/clothing/glasses/regular/jamjar = 3, + /obj/item/clothing/glasses/orange = 3, + /obj/item/clothing/glasses/red = 3, + /obj/item/clothing/glasses/monocle = 3, + /obj/item/clothing/gloves/fingerless = 3, /obj/item/storage/belt/fannypack = 3, /obj/item/storage/belt/fannypack/blue = 3, /obj/item/storage/belt/fannypack/red = 3, @@ -72,19 +72,19 @@ /obj/item/clothing/under/costume/buttondown/slacks = 4, /obj/item/clothing/under/costume/buttondown/shorts = 4, /obj/item/clothing/under/costume/buttondown/skirt = 4, - /obj/item/clothing/under/dress/sundress = 2, - /obj/item/clothing/under/dress/tango = 2, + /obj/item/clothing/under/dress/sundress = 3, + /obj/item/clothing/under/dress/tango = 3, /obj/item/clothing/under/dress/skirt/plaid = 4, /obj/item/clothing/under/dress/skirt/turtleskirt = 4, - /obj/item/clothing/under/misc/overalls = 2, - /obj/item/clothing/under/pants/camo = 2, - /obj/item/clothing/under/pants/track = 2, - /obj/item/clothing/under/costume/kilt = 1, - /obj/item/clothing/under/dress/striped = 1, - /obj/item/clothing/under/dress/sailor = 1, - /obj/item/clothing/under/dress/eveninggown = 1, - /obj/item/clothing/under/misc/pj/blue = 2, - /obj/item/clothing/under/misc/pj/red = 2, + /obj/item/clothing/under/misc/overalls = 3, + /obj/item/clothing/under/pants/camo = 3, + /obj/item/clothing/under/pants/track = 3, + /obj/item/clothing/under/costume/kilt = 3, + /obj/item/clothing/under/dress/striped = 3, + /obj/item/clothing/under/dress/sailor = 3, + /obj/item/clothing/under/dress/eveninggown = 3, + /obj/item/clothing/under/misc/pj/blue = 3, + /obj/item/clothing/under/misc/pj/red = 3, ), ), @@ -96,29 +96,29 @@ /obj/item/clothing/suit/jacket/oversized = 4, /obj/item/clothing/suit/jacket/fancy = 4, /obj/item/clothing/suit/toggle/lawyer/greyscale = 4, - /obj/item/clothing/suit/hooded/wintercoat/custom = 2, - /obj/item/clothing/suit/hooded/wintercoat = 2, - /obj/item/clothing/under/suit/navy = 1, - /obj/item/clothing/under/suit/black_really = 1, - /obj/item/clothing/under/suit/burgundy = 1, - /obj/item/clothing/under/suit/charcoal = 1, - /obj/item/clothing/under/suit/white = 1, + /obj/item/clothing/suit/hooded/wintercoat/custom = 3, + /obj/item/clothing/suit/hooded/wintercoat = 3, + /obj/item/clothing/under/suit/navy = 3, + /obj/item/clothing/under/suit/black_really = 3, + /obj/item/clothing/under/suit/burgundy = 3, + /obj/item/clothing/under/suit/charcoal = 3, + /obj/item/clothing/under/suit/white = 3, /obj/item/clothing/under/costume/buttondown/slacks/service = 4, /obj/item/clothing/under/costume/buttondown/skirt/service = 4, - /obj/item/clothing/suit/jacket/bomber = 2, - /obj/item/clothing/suit/jacket/puffer/vest = 2, - /obj/item/clothing/suit/jacket/puffer = 2, - /obj/item/clothing/suit/jacket/letterman = 2, - /obj/item/clothing/suit/jacket/letterman_red = 2, + /obj/item/clothing/suit/jacket/bomber = 3, + /obj/item/clothing/suit/jacket/puffer/vest = 3, + /obj/item/clothing/suit/jacket/puffer = 3, + /obj/item/clothing/suit/jacket/letterman = 3, + /obj/item/clothing/suit/jacket/letterman_red = 3, /obj/item/clothing/suit/costume/hawaiian = 4, - /obj/item/clothing/suit/costume/poncho = 1, - /obj/item/clothing/under/dress/skirt = 2, - /obj/item/clothing/under/suit/white/skirt = 2, + /obj/item/clothing/suit/costume/poncho = 3, + /obj/item/clothing/under/dress/skirt = 3, + /obj/item/clothing/under/suit/white/skirt = 3, /obj/item/clothing/under/rank/captain/suit/skirt = 2, /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt = 2, /obj/item/clothing/under/rank/civilian/purple_bartender = 2, - /obj/item/clothing/suit/jacket/miljacket = 1, - /obj/item/clothing/suit/apron/overalls = 2, + /obj/item/clothing/suit/jacket/miljacket = 3, + /obj/item/clothing/suit/apron/overalls = 3, /obj/item/clothing/suit/costume/wellworn_shirt = 2, /obj/item/clothing/suit/costume/wellworn_shirt/graphic = 2, /obj/item/clothing/suit/costume/wellworn_shirt/graphic/ian = 2, @@ -137,13 +137,13 @@ "products" = list( /obj/item/clothing/shoes/sneakers/black = 4, /obj/item/clothing/shoes/sneakers/white = 4, - /obj/item/clothing/shoes/sandal = 2, - /obj/item/clothing/shoes/laceup = 2, + /obj/item/clothing/shoes/sandal = 3, + /obj/item/clothing/shoes/laceup = 3, /obj/item/clothing/shoes/winterboots = 2, /obj/item/clothing/shoes/glow = 2, - /obj/item/clothing/shoes/cowboy = 2, - /obj/item/clothing/shoes/cowboy/white = 2, - /obj/item/clothing/shoes/cowboy/black = 2, + /obj/item/clothing/shoes/cowboy = 3, + /obj/item/clothing/shoes/cowboy/white = 3, + /obj/item/clothing/shoes/cowboy/black = 3, ), ), @@ -165,6 +165,14 @@ /obj/item/clothing/mask/kitsune = 3, /obj/item/clothing/mask/rebellion = 6, /obj/item/clothing/suit/costume/wellworn_shirt/graphic/ian = 1, + /obj/item/clothing/head/costume/hairpin = 2, + /obj/item/clothing/under/costume/yukata = 2, + /obj/item/clothing/under/costume/yukata/green = 2, + /obj/item/clothing/under/costume/yukata/white = 2, + /obj/item/clothing/under/costume/kimono = 2, + /obj/item/clothing/under/costume/kimono/red = 2, + /obj/item/clothing/under/costume/kimono/purple = 2, + /obj/item/clothing/shoes/sandal/alt = 4, /obj/item/clothing/suit/costume/irs = 20, /obj/item/clothing/head/costume/irs = 20, /obj/item/clothing/head/costume/tmc = 20, @@ -190,25 +198,25 @@ ) contraband = list( - /obj/item/clothing/under/syndicate/tacticool = 1, - /obj/item/clothing/under/syndicate/tacticool/skirt = 1, - /obj/item/clothing/mask/balaclava = 1, - /obj/item/clothing/head/costume/ushanka = 1, - /obj/item/clothing/under/costume/soviet = 1, + /obj/item/clothing/under/syndicate/tacticool = 2, + /obj/item/clothing/under/syndicate/tacticool/skirt = 2, + /obj/item/clothing/mask/balaclava = 3, + /obj/item/clothing/head/costume/ushanka = 3, + /obj/item/clothing/under/costume/soviet = 3, /obj/item/storage/belt/fannypack/black = 2, - /obj/item/clothing/suit/jacket/letterman_syndie = 1, - /obj/item/clothing/under/costume/jabroni = 1, - /obj/item/clothing/under/costume/geisha = 1, - /obj/item/clothing/under/rank/centcom/officer/replica = 1, - /obj/item/clothing/under/rank/centcom/officer_skirt/replica = 1, + /obj/item/clothing/suit/jacket/letterman_syndie = 3, + /obj/item/clothing/under/costume/jabroni = 3, + /obj/item/clothing/under/costume/geisha = 3, + /obj/item/clothing/under/rank/centcom/officer/replica = 2, + /obj/item/clothing/under/rank/centcom/officer_skirt/replica = 2, ) - premium = list(/obj/item/clothing/under/suit/checkered = 1, - /obj/item/clothing/head/costume/mailman = 1, - /obj/item/clothing/under/misc/mailman = 1, - /obj/item/clothing/suit/jacket/leather = 1, - /obj/item/clothing/suit/jacket/leather/biker = 1, + premium = list(/obj/item/clothing/under/suit/checkered = 3, + /obj/item/clothing/head/costume/mailman = 3, + /obj/item/clothing/under/misc/mailman = 3, + /obj/item/clothing/suit/jacket/leather = 3, + /obj/item/clothing/suit/jacket/leather/biker = 3, /obj/item/clothing/neck/necklace/dope = 3, - /obj/item/clothing/suit/jacket/letterman_nanotrasen = 1, + /obj/item/clothing/suit/jacket/letterman_nanotrasen = 3, /obj/item/clothing/under/costume/swagoutfit = 1, /obj/item/clothing/shoes/swagshoes = 1, /obj/item/instrument/piano_synth/headphones/spacepods = 1, diff --git a/code/modules/vending/cytopro.dm b/code/modules/vending/cytopro.dm new file mode 100644 index 0000000000000..ca4242b4c7d81 --- /dev/null +++ b/code/modules/vending/cytopro.dm @@ -0,0 +1,35 @@ +/obj/machinery/vending/cytopro + name = "\improper CytoPro" + desc = "For all your cytology needs!" + product_slogans = "Cloning? Don't be ridiculous.;Don't be uncultured, get some cells growing!;Who needs farms when we got vats?" + product_ads = "Grow your own little creatures!;Biology, at your fingertips!" + icon_state = "cytopro" + icon_deny = "cytopro-deny" + panel_type = "panel2" + light_mask = "cytopro-light-mask" + products = list( + /obj/item/storage/bag/xeno = 5, + /obj/item/reagent_containers/condiment/protein = 10, + /obj/item/storage/box/swab = 3, + /obj/item/storage/box/petridish = 3, + /obj/item/storage/box/monkeycubes = 3, + /obj/item/biopsy_tool = 3, + /obj/item/clothing/under/rank/rnd/scientist = 5, + /obj/item/clothing/suit/toggle/labcoat = 5, + /obj/item/clothing/suit/bio_suit = 3, + /obj/item/clothing/head/bio_hood = 3, + /obj/item/reagent_containers/dropper = 5, + /obj/item/reagent_containers/syringe = 5 + ) + contraband = list( + /obj/item/knife/kitchen = 3, + /obj/item/petri_dish/random = 6 + ) + refill_canister = /obj/item/vending_refill/cytopro + default_price = PAYCHECK_CREW * 0.6 + extra_price = PAYCHECK_COMMAND * 0.5 + payment_department = ACCOUNT_SCI + +/obj/item/vending_refill/cytopro + machine_name = "CytoPro" + icon_state = "refill_plant" diff --git a/code/modules/vending/donk.dm b/code/modules/vending/donk.dm new file mode 100644 index 0000000000000..8814745d6b85b --- /dev/null +++ b/code/modules/vending/donk.dm @@ -0,0 +1,42 @@ +/obj/machinery/vending/donksnack + name = "\improper Donk Co Vendor" + desc = "A snack machine courtesy of Donk Co." + product_slogans = "Just microwave and eat!;The original home of the Donk Pocket!" + product_ads = "The original!;You wanna put a bangin' Donk on it!;The best!;The seasoned traitor's food of choice!;Now with 12% more omnizine!;Eat DONK or DIE!;The galaxy's most popular microwavable snack food!*;Try our NEW Ready-Donk Meals!" + icon_state = "snackdonk" + panel_type = "panel18" + light_mask = "donksoft-light-mask" + circuit = /obj/item/circuitboard/machine/vending/donksnackvendor + products = list( + /obj/item/food/donkpocket = 6, + /obj/item/food/donkpocket/berry = 6, + /obj/item/food/donkpocket/honk = 6, + /obj/item/food/donkpocket/pizza = 6, + /obj/item/food/donkpocket/spicy = 6, + /obj/item/food/donkpocket/teriyaki = 6, + /obj/item/food/tatortot = 12, + ) + contraband = list( + /obj/item/food/waffles = 2, + /obj/item/food/dankpocket = 2, + /obj/item/food/donkpocket/gondola = 1, + ) + premium = list( + /obj/item/storage/box/donkpockets = 3, + /obj/item/storage/box/donkpockets/donkpocketberry = 3, + /obj/item/storage/box/donkpockets/donkpockethonk = 3, + /obj/item/storage/box/donkpockets/donkpocketpizza = 3, + /obj/item/storage/box/donkpockets/donkpocketspicy = 3, + /obj/item/storage/box/donkpockets/donkpocketteriyaki = 3, + /obj/item/storage/belt/military/snack = 2, + /obj/item/mod/module/microwave_beam = 1, + ) + initial_language_holder = /datum/language_holder/syndicate + refill_canister = /obj/item/vending_refill/donksnackvendor + default_price = PAYCHECK_CREW * 1.4 + extra_price = PAYCHECK_CREW * 5 + payment_department = NO_FREEBIES + +/obj/item/vending_refill/donksnackvendor + machine_name = "Donk Co Snack Vendor" + icon_state = "refill_donksnack" diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index 33fefd08d2e79..d1a237eaf640f 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -58,6 +58,7 @@ /obj/item/skillchip/sabrage = 2, /obj/item/skillchip/useless_adapter = 5, /obj/item/skillchip/wine_taster = 2, + /obj/item/skillchip/big_pointer = 2, ), ), list( @@ -66,7 +67,7 @@ "products" = list( /obj/item/camera = 3, /obj/item/camera_film = 5, - /obj/item/cardpack/resin = 20, //Both card packs have had their count raised to 20 from 10 until card persistance is implimented. + /obj/item/cardpack/resin = 20, //Both card packs have had their count raised to 20 from 10 until card persistence is implemented. /obj/item/cardpack/series_one = 20, /obj/item/dyespray = 3, /obj/item/hourglass = 2, diff --git a/code/modules/vending/magivend.dm b/code/modules/vending/magivend.dm index ef89e916bf30b..51aac98fdfa8e 100644 --- a/code/modules/vending/magivend.dm +++ b/code/modules/vending/magivend.dm @@ -21,7 +21,7 @@ contraband = list(/obj/item/reagent_containers/cup/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave armor_type = /datum/armor/vending_magivend resistance_flags = FIRE_PROOF - default_price = 0 //Just in case, since it's primary use is storage. + default_price = 0 //Just in case, since its primary use is storage. extra_price = PAYCHECK_COMMAND payment_department = ACCOUNT_SRV light_mask = "magivend-light-mask" diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index 66badd4adf270..eb1348998a6a5 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -29,7 +29,11 @@ tiltable = FALSE light_mask = "wallmed-light-mask" -MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/vending/wallmed, 32) +/obj/machinery/vending/wallmed/Initialize(mapload) + . = ..() + find_and_hang_on_wall() + +WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/machinery/vending/wallmed) /obj/item/vending_refill/wallmed machine_name = "NanoMed" diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index ebecb03e1302c..7bed3ccec0645 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -17,6 +17,7 @@ /obj/item/flashlight/seclite = 4, /obj/item/restraints/legcuffs/bola/energy = 7, /obj/item/clothing/gloves/tackler = 5, + /obj/item/holosign_creator/security = 2, ) contraband = list( /obj/item/clothing/glasses/sunglasses = 2, @@ -26,6 +27,7 @@ /obj/item/storage/belt/security/webbing = 5, /obj/item/coin/antagtoken = 1, /obj/item/clothing/head/helmet/blueshirt = 1, + /obj/item/clothing/gloves/color/black/security/blu = 1, /obj/item/clothing/suit/armor/vest/blueshirt = 1, /obj/item/grenade/stingbang = 1, /obj/item/watertank/pepperspray = 2, diff --git a/code/modules/vending/subtype.dm b/code/modules/vending/subtype.dm index 9b4f212224ea7..3a1a04ff6e764 100644 --- a/code/modules/vending/subtype.dm +++ b/code/modules/vending/subtype.dm @@ -10,6 +10,7 @@ circuit = null product_slogans = "Spawn \" too annoying? Too lazy to open game panel? This one's for you!;Subtype vendor, for all your debugging woes!" default_price = 0 + onstation = FALSE /// Spawns coders by default var/type_to_vend = /obj/item/food/grown/citrus diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 3f82a219e56c9..3b962490347a3 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -50,10 +50,11 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) /obj/item/clothing/under/rank/security/officer/grey = 3, /obj/item/clothing/under/pants/slacks = 3, /obj/item/clothing/under/rank/security/officer/blueshirt = 3, + /obj/item/clothing/gloves/color/black/security/blu = 3, /obj/item/clothing/suit/armor/vest/secjacket = 3, /obj/item/clothing/suit/hooded/wintercoat/security = 3, /obj/item/clothing/suit/armor/vest = 3, - /obj/item/clothing/gloves/color/black = 3, + /obj/item/clothing/gloves/color/black/security = 3, /obj/item/clothing/shoes/jackboots/sec = 3, /obj/item/storage/backpack/security = 3, /obj/item/storage/backpack/satchel/sec = 3, @@ -183,12 +184,14 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) /obj/item/clothing/head/beret/cargo = 3, /obj/item/clothing/mask/bandana/striped/cargo = 3, /obj/item/clothing/head/soft = 3, + /obj/item/clothing/head/utility/hardhat/orange = 3, /obj/item/clothing/under/rank/cargo/tech = 3, /obj/item/clothing/under/rank/cargo/tech/skirt = 3, /obj/item/clothing/under/rank/cargo/tech/alt = 3, /obj/item/clothing/under/rank/cargo/tech/skirt/alt = 3, /obj/item/clothing/suit/toggle/cargo_tech = 3, /obj/item/clothing/suit/hooded/wintercoat/cargo = 3, + /obj/item/clothing/suit/hazardvest = 3, /obj/item/clothing/gloves/fingerless = 3, /obj/item/clothing/shoes/sneakers/black = 3, /obj/item/storage/backpack = 3, @@ -199,13 +202,13 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) /obj/item/storage/bag/mail = 3, /obj/item/radio/headset/headset_cargo = 3, /obj/item/clothing/accessory/pocketprotector = 3, - /obj/item/clothing/head/utility/hardhat/orange = 3, - /obj/item/clothing/suit/hazardvest = 3, ) premium = list( /obj/item/clothing/head/costume/mailman = 1, /obj/item/clothing/under/misc/mailman = 1, /obj/item/clothing/under/rank/cargo/miner = 3, + /obj/item/clothing/under/rank/cargo/miner/lavaland = 3, + /obj/item/clothing/under/rank/cargo/bitrunner = 3, ) refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe payment_department = ACCOUNT_CAR @@ -343,19 +346,18 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) product_ads = "Any day above ground is a good one!;My day starts when yours ends!;And they call this a dying business!;See you when you're dead!" vend_reply = "Don't forget your \"Buy one get one free\" burial deal!" products = list( - /obj/item/cautery/cruel = 1, - /obj/item/clothing/gloves/latex/coroner = 1, /obj/item/clothing/head/utility/surgerycap/black = 1, /obj/item/clothing/mask/surgical = 1, - /obj/item/clothing/shoes/sneakers/black = 1, /obj/item/clothing/suit/apron/surgical = 1, /obj/item/clothing/suit/hooded/wintercoat/medical/coroner = 1, /obj/item/clothing/suit/toggle/labcoat/coroner = 1, /obj/item/clothing/under/rank/medical/coroner = 1, /obj/item/clothing/under/rank/medical/coroner/skirt = 1, /obj/item/clothing/under/rank/medical/scrubs/coroner = 1, + /obj/item/clothing/shoes/sneakers/black = 1, + /obj/item/clothing/gloves/latex/coroner = 1, + /obj/item/cautery/cruel = 1, /obj/item/hemostat/cruel = 1, - /obj/item/radio/headset/headset_srvmed = 2, /obj/item/retractor/cruel = 1, /obj/item/scalpel/cruel = 1, /obj/item/storage/backpack/coroner = 1, @@ -363,6 +365,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE) /obj/item/storage/backpack/messenger/coroner = 1, /obj/item/storage/backpack/satchel/coroner = 1, /obj/item/storage/box/bodybags = 3, + /obj/item/radio/headset/headset_srvmed = 2, /obj/item/toy/crayon/white = 2, ) contraband = list( diff --git a/code/modules/wiremod/components/abstract/module.dm b/code/modules/wiremod/components/abstract/module.dm index 4dd144b4c80e3..0622577016acc 100644 --- a/code/modules/wiremod/components/abstract/module.dm +++ b/code/modules/wiremod/components/abstract/module.dm @@ -237,7 +237,7 @@ #define WITHIN_RANGE(id, table) (id >= 1 && id <= length(table)) -/obj/item/circuit_component/module/ui_act(action, list/params) +/obj/item/circuit_component/module/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/wiremod/components/action/pathfind.dm b/code/modules/wiremod/components/action/pathfind.dm index 0de6d346db17f..6852905644775 100644 --- a/code/modules/wiremod/components/action/pathfind.dm +++ b/code/modules/wiremod/components/action/pathfind.dm @@ -24,7 +24,7 @@ // Cooldown to limit how frequently we can path to the same location. var/same_path_cooldown = 5 SECONDS - var/different_path_cooldown = 30 SECONDS + var/different_path_cooldown = 5 SECONDS var/max_range = 60 diff --git a/code/modules/wiremod/components/admin/proccall.dm b/code/modules/wiremod/components/admin/proccall.dm index b86e05e6c8a8b..594c0a6e7d1b6 100644 --- a/code/modules/wiremod/components/admin/proccall.dm +++ b/code/modules/wiremod/components/admin/proccall.dm @@ -114,7 +114,7 @@ arguments += add_input_port(data["name"], data["datatype"]) return ..() -/obj/item/circuit_component/proccall/ui_act(action, list/params) +/obj/item/circuit_component/proccall/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/wiremod/components/atom/health.dm b/code/modules/wiremod/components/atom/health.dm index ee04030259e60..49798930d9768 100644 --- a/code/modules/wiremod/components/atom/health.dm +++ b/code/modules/wiremod/components/atom/health.dm @@ -43,7 +43,8 @@ var/mob/living/organism = input_port.value var/turf/current_turf = get_location() - if(!istype(organism) || get_dist(current_turf, organism) > max_range || current_turf.z != organism.z) + var/turf/target_location = get_turf(organism) + if(!istype(organism) || get_dist(current_turf, target_location) > max_range || current_turf.z != target_location.z) brute.set_output(null) burn.set_output(null) toxin.set_output(null) diff --git a/code/modules/wiremod/components/atom/health_state.dm b/code/modules/wiremod/components/atom/health_state.dm index dc83a41fdfd8d..650311159415b 100644 --- a/code/modules/wiremod/components/atom/health_state.dm +++ b/code/modules/wiremod/components/atom/health_state.dm @@ -36,7 +36,8 @@ /obj/item/circuit_component/compare/health_state/do_comparisons() var/mob/living/organism = input_port.value var/turf/current_turf = get_location() - if(!istype(organism) || current_turf.z != organism.z || get_dist(current_turf, organism) > max_range) + var/turf/target_location = get_turf(organism) + if(!istype(organism) || current_turf.z != target_location.z || get_dist(current_turf, target_location) > max_range) return FALSE var/current_option = state_option.value diff --git a/code/modules/wiremod/components/bci/hud/target_intercept.dm b/code/modules/wiremod/components/bci/hud/target_intercept.dm index bfdaec13122a0..2ee37e8ff4f3d 100644 --- a/code/modules/wiremod/components/bci/hud/target_intercept.dm +++ b/code/modules/wiremod/components/bci/hud/target_intercept.dm @@ -39,7 +39,7 @@ return var/mob/living/owner = bci.owner - if(!owner || !istype(owner) || !owner.client) + if(!owner || !istype(owner) || !owner.client || owner.stat >= SOFT_CRIT) return if(TIMER_COOLDOWN_RUNNING(parent.shell, COOLDOWN_CIRCUIT_TARGET_INTERCEPT)) diff --git a/code/modules/wiremod/components/bci/thought_listener.dm b/code/modules/wiremod/components/bci/thought_listener.dm index ae6889e2da904..aa788b1a4be88 100644 --- a/code/modules/wiremod/components/bci/thought_listener.dm +++ b/code/modules/wiremod/components/bci/thought_listener.dm @@ -48,7 +48,7 @@ var/mob/living/owner = bci.owner - if(!owner || !istype(owner) || !owner.client || (owner.stat >= UNCONSCIOUS)) + if(!owner || !istype(owner) || !owner.client || (owner.stat >= SOFT_CRIT)) failure.set_output(COMPONENT_SIGNAL) return @@ -57,6 +57,8 @@ /obj/item/circuit_component/thought_listener/proc/thought_listen(mob/living/owner) var/message = tgui_input_text(owner, input_desc.value ? input_desc.value : "", input_name.value ? input_name.value : "Thought Listener", "") + if(QDELETED(owner) || owner.stat >= SOFT_CRIT) + return output.set_output(message) trigger_output.set_output(COMPONENT_SIGNAL) ready = TRUE diff --git a/code/modules/wiremod/components/id/access_checker.dm b/code/modules/wiremod/components/id/access_checker.dm index 038f4078ecb11..1644d12cba508 100644 --- a/code/modules/wiremod/components/id/access_checker.dm +++ b/code/modules/wiremod/components/id/access_checker.dm @@ -87,7 +87,7 @@ data["oneAccess"] = check_any.value return data -/obj/item/circuit_component/compare/access/ui_act(action, params) +/obj/item/circuit_component/compare/access/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return diff --git a/code/modules/wiremod/core/component.dm b/code/modules/wiremod/core/component.dm index ff0e64cd9a4dc..02e88e53c2381 100644 --- a/code/modules/wiremod/core/component.dm +++ b/code/modules/wiremod/core/component.dm @@ -14,6 +14,7 @@ inhand_icon_state = "electronic" lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi' + custom_materials = list(/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT) /// The name of the component shown on the UI var/display_name = "Generic" diff --git a/code/modules/wiremod/core/component_printer.dm b/code/modules/wiremod/core/component_printer.dm index 370a6cfea5244..cb51a0e8ab786 100644 --- a/code/modules/wiremod/core/component_printer.dm +++ b/code/modules/wiremod/core/component_printer.dm @@ -22,7 +22,7 @@ /obj/machinery/component_printer/Initialize(mapload) . = ..() - materials = AddComponent(/datum/component/remote_materials, mapload) + materials = AddComponent(/datum/component/remote_materials, mapload, whitelist_typecache = typecacheof(/obj/item/circuit_component)) /obj/machinery/component_printer/post_machine_initialize() . = ..() @@ -117,7 +117,7 @@ materials.use_materials(design.materials, efficiency_coeff, 1, "printed", "[design.name]") return new design.build_path(drop_location()) -/obj/machinery/component_printer/ui_act(action, list/params) +/obj/machinery/component_printer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return @@ -192,13 +192,22 @@ return data /obj/machinery/component_printer/attackby(obj/item/weapon, mob/living/user, params) - if(istype(weapon, /obj/item/integrated_circuit) && !user.combat_mode) - var/obj/item/integrated_circuit/circuit = weapon - circuit.linked_component_printer = WEAKREF(src) - circuit.update_static_data_for_all_viewers() - balloon_alert(user, "successfully linked to the integrated circuit") - return - return ..() + if (user.combat_mode) + return ..() + + var/obj/item/integrated_circuit/circuit + if(istype(weapon, /obj/item/integrated_circuit)) + circuit = weapon + else if (istype(weapon, /obj/item/circuit_component/module)) + var/obj/item/circuit_component/module/module = weapon + circuit = module.internal_circuit + if (isnull(circuit)) + return ..() + + circuit.linked_component_printer = WEAKREF(src) + circuit.update_static_data_for_all_viewers() + balloon_alert(user, "successfully linked to the integrated circuit") + /obj/machinery/component_printer/crowbar_act(mob/living/user, obj/item/tool) if(..()) @@ -267,7 +276,7 @@ get_asset_datum(/datum/asset/spritesheet/research_designs) ) -/obj/machinery/debug_component_printer/ui_act(action, list/params) +/obj/machinery/debug_component_printer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return @@ -355,7 +364,7 @@ update_static_data_for_all_viewers() -/obj/machinery/module_duplicator/ui_act(action, list/params) +/obj/machinery/module_duplicator/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if (.) return diff --git a/code/modules/wiremod/core/integrated_circuit.dm b/code/modules/wiremod/core/integrated_circuit.dm index f24c5dac6671e..db1fd8ac588c0 100644 --- a/code/modules/wiremod/core/integrated_circuit.dm +++ b/code/modules/wiremod/core/integrated_circuit.dm @@ -502,6 +502,9 @@ GLOBAL_LIST_EMPTY_TYPED(integrated_circuits, /obj/item/integrated_circuit) remove_component(component) if(component.loc == src) usr.put_in_hands(component) + var/obj/machinery/component_printer/printer = linked_component_printer?.resolve() + if (!isnull(printer)) + printer.attackby(component, usr) . = TRUE if("set_component_coordinates") var/component_id = text2num(params["component_id"]) diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index 67a3a41a48828..7adefcaa5eda6 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -3,7 +3,6 @@ desc = "An implant that can be placed in a user's head to control circuits using their brain." icon = 'icons/obj/science/circuits.dmi' icon_state = "bci" - visual = FALSE zone = BODY_ZONE_HEAD w_class = WEIGHT_CLASS_TINY diff --git a/code/modules/wiremod/shell/controller.dm b/code/modules/wiremod/shell/controller.dm index 126cc8894368f..ae0eb01b36763 100644 --- a/code/modules/wiremod/shell/controller.dm +++ b/code/modules/wiremod/shell/controller.dm @@ -53,7 +53,7 @@ /obj/item/circuit_component/controller/proc/handle_trigger(atom/source, user, port_name, datum/port/output/port_signal) source.balloon_alert(user, "clicked [port_name] button") - playsound(source, SFX_TERMINAL_TYPE, 25, FALSE) + playsound(source, SFX_KEYBOARD_CLICKS, 25, FALSE) entity.set_output(user) port_signal.set_output(COMPONENT_SIGNAL) diff --git a/code/modules/wiremod/shell/drone.dm b/code/modules/wiremod/shell/drone.dm index d2922274b7dab..d9bd0e0b4185c 100644 --- a/code/modules/wiremod/shell/drone.dm +++ b/code/modules/wiremod/shell/drone.dm @@ -13,6 +13,10 @@ light_system = OVERLAY_LIGHT_DIRECTIONAL light_on = FALSE + SET_BASE_VISUAL_PIXEL(0, 4) + shadow_offset_x = -2 + shadow_offset_y = 7 + /mob/living/circuit_drone/Initialize(mapload) . = ..() AddComponent(/datum/component/shell, list( diff --git a/code/world.dm b/code/world.dm index 7cc35e5529ad8..31437dda2f539 100644 --- a/code/world.dm +++ b/code/world.dm @@ -6,7 +6,7 @@ * * Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke * - * The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity + * The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visibility */ /world mob = /mob/dead/new_player diff --git a/config/admins.txt b/config/admins.txt index f48ff5bc03c3a..8985fba58f8ca 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -149,3 +149,4 @@ WaylandSmithy = Game Master NamelessFairy = Game Master WalterMeldron = Game Master san7890 = Game Master +LemonInTheDark = Game Master diff --git a/config/config.txt b/config/config.txt index 6252c3bae659e..4e77b0f824a7a 100644 --- a/config/config.txt +++ b/config/config.txt @@ -208,19 +208,19 @@ IPINTEL_REJECT_BAD ## Ban appeals URL - usually for a forum or wherever people should go to contact your admins. # BANAPPEALS http://justanotherday.example.com -## System command that invokes youtube-dl, used by Play Internet Sound. -## You can install youtube-dl with -## "pip install youtube-dl" if you have pip installed -## from https://github.com/rg3/youtube-dl/releases +## System command that invokes yt-dlp, used by Play Internet Sound. +## You can install yt-dlp with +## "pip install yt-dlp" if you have pip installed +## from https://github.com/yt-dlp/yt-dlp/releases ## or your package manager -## The default value assumes youtube-dl is in your system PATH -# INVOKE_YOUTUBEDL youtube-dl +## The default value assumes yt-dlp is in your system PATH +# INVOKE_YOUTUBEDL yt-dlp ## Comment this out to disable users ability to use the request internet sounds to be played. REQUEST_INTERNET_SOUND ## Request Internet Sound Allowed URL'S comma separated, urls here are the only sites allowed through Request Internet Sound, Add more to allow more, or remove to disallow. -## The Defaults here are all supported by youtube-dl +## The Defaults here are all supported by yt-dlp ## Ensure . and / are escaped with \ REQUEST_INTERNET_ALLOWED youtube\.com\/watch?v=,youtu\.be\/,soundcloud\.com\/,bandcamp\.com\/track\/ diff --git a/config/game_options.txt b/config/game_options.txt index ef15cbeb123eb..14646c6920758 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -100,6 +100,11 @@ TRAITOR_SCALING_COEFF 6 BROTHER_SCALING_COEFF 6 CHANGELING_SCALING_COEFF 6 +## Global scaling for traitor progression. +## Higher values will accelerate traitor progression, while lower values will decrease it. +## Bypasses an upper limit of 1 MINUTE +#TRAITOR_SCALING_MULTIPLIER 1 + ## Variables calculate how number of open security officer positions will scale to population. ## Used as (Officers = Population / Coeff) ## Set to 0 to disable scaling and use default numbers instead. @@ -180,6 +185,10 @@ ALLOW_AI_MULTICAM ## 600 is one minute. GATEWAY_DELAY 18000 +## Overrides to gateway delay for specific away mission start points. +GATEWAY_DELAYS_BY_ID AWAYSTART_BEACH 6000 +GATEWAY_DELAYS_BY_ID AWAYSTART_MUSEUM 9000 + ## The probability of the gateway mission being a config one CONFIG_GATEWAY_CHANCE 0 diff --git a/config/lavaruinblacklist.txt b/config/lavaruinblacklist.txt index fe4cbc86e1ef4..aaa507374cb68 100644 --- a/config/lavaruinblacklist.txt +++ b/config/lavaruinblacklist.txt @@ -43,4 +43,4 @@ #_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm #_maps/RandomRuins/LavaRuins/lavaland_surface_wwiioutpost.dmm #_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm - +#_maps/RandomRuins/Lavaruins/lavaland_surface_crashsite.dmm diff --git a/config/spaceruinblacklist.txt b/config/spaceruinblacklist.txt index c33d85b54abc9..f2ff777c1c07f 100644 --- a/config/spaceruinblacklist.txt +++ b/config/spaceruinblacklist.txt @@ -44,6 +44,7 @@ #_maps/RandomRuins/SpaceRuins/garbagetruck3.dmm #_maps/RandomRuins/SpaceRuins/garbagetruck4.dmm #_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm +#_maps/RandomRuins/SpaceRuins/hauntedtradingpost.dmm #_maps/RandomRuins/SpaceRuins/hellfactory.dmm #_maps/RandomRuins/SpaceRuins/hilbertsresearchfacility.dmm #_maps/RandomRuins/SpaceRuins/infested_frigate.dmm diff --git a/cutter_templates/bitmask/cardinal_32x32.toml b/cutter_templates/bitmask/cardinal_32x32.toml index 9d3d4097e78ce..987e9126b2d8b 100644 --- a/cutter_templates/bitmask/cardinal_32x32.toml +++ b/cutter_templates/bitmask/cardinal_32x32.toml @@ -10,7 +10,7 @@ smooth_diagonally = false x = 32 y = 32 -# Output our stuff at the same level as it's input +# Output our stuff at the same level as its input [output_icon_pos] x = 0 y = 0 diff --git a/cutter_templates/bitmask/cardinal_32x48.toml b/cutter_templates/bitmask/cardinal_32x48.toml new file mode 100644 index 0000000000000..2c3d5af3db093 --- /dev/null +++ b/cutter_templates/bitmask/cardinal_32x48.toml @@ -0,0 +1,22 @@ +template = "bitmask/cardinal_32x32" +[icon_size] +x = 32 +y = 48 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 32 +y = 48 + +[positions] +convex = 0 +horizontal = 1 +vertical = 2 +concave = 3 + +[cut_pos] +x = 16 +y = 24 diff --git a/cutter_templates/bitmask/diagonal_32x48.toml b/cutter_templates/bitmask/diagonal_32x48.toml new file mode 100644 index 0000000000000..9d6fab7259195 --- /dev/null +++ b/cutter_templates/bitmask/diagonal_32x48.toml @@ -0,0 +1,12 @@ +template = "bitmask/cardinal_32x48" + +# We're diagonal +smooth_diagonally = true + +# And because of that we need a state for all directions +[positions] +convex = 0 +vertical = 1 +horizontal = 2 +concave = 3 +flat = 4 diff --git a/cutter_templates/bitmask/gas.toml b/cutter_templates/bitmask/gas.toml new file mode 100644 index 0000000000000..0e66247af41a5 --- /dev/null +++ b/cutter_templates/bitmask/gas.toml @@ -0,0 +1,13 @@ +template = "bitmask/cardinal_32x32.toml" + +[icon_size] +x = 32 +y = 56 + +[output_icon_size] +x = 32 +y = 56 + +[cut_pos] +x = 16 +y = 28 diff --git a/cutter_templates/bitmask/table.toml b/cutter_templates/bitmask/table.toml new file mode 100644 index 0000000000000..cde2a048ad063 --- /dev/null +++ b/cutter_templates/bitmask/table.toml @@ -0,0 +1,13 @@ +template = "bitmask/diagonal_32x32" + +[icon_size] +x = 32 +y = 40 + +[output_icon_size] +x = 32 +y = 40 + +[cut_pos] +x = 16 +y = 20 diff --git a/cutter_templates/bitmask/walls.toml b/cutter_templates/bitmask/walls.toml new file mode 100644 index 0000000000000..e9ecbe15ab1b9 --- /dev/null +++ b/cutter_templates/bitmask/walls.toml @@ -0,0 +1,47 @@ +# This mode is for an experiment with directional visibility within one tile. +# It first performs a bitmask slice, and then does an extra cut where it cuts out a "direction" +# version for each direction. This "direction" version is intended to represent what would be +# visible from that side of the wall +mode = "BitmaskDirectionalVis" + +produce_dirs = false +smooth_diagonally = true + +# These values are "inherited" from BitmaskSlice +# Because the first "phase" is a normal bitmask slice, that step is configured by the same values +# see the bitmask-slice example for what these do! +[icon_size] +x = 32 +y = 48 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 32 +y = 48 + +[cut_pos] +x = 16 +y = 12 + +[positions] +convex = 0 +concave = 1 +horizontal = 2 +vertical = 3 +flat = 4 + +# This is the actual new config of dir visibility +# This represents the line at which to make the cut +# the section opposite the side declared gets discarded +# Ex: the west dir cut discards the east side, leaving only the region before the slice point +# The rest becomes transparency. +# "west" and "east" count from the left edge, while "north" and "south" count from the top edge +[slice_point] +west = 4 +north = 16 +south = 20 +east = 28 + diff --git a/cutter_templates/bitmask/windows.toml b/cutter_templates/bitmask/windows.toml new file mode 100644 index 0000000000000..ce61906816152 --- /dev/null +++ b/cutter_templates/bitmask/windows.toml @@ -0,0 +1,13 @@ +mode = "BitmaskWindows" + +[icon_size] +x = 32 +y = 64 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 32 +y = 32 diff --git a/cutter_templates/unimplemented/reconstruct_bitmask.toml b/cutter_templates/unimplemented/reconstruct_bitmask.toml new file mode 100644 index 0000000000000..0189c1ca18a9d --- /dev/null +++ b/cutter_templates/unimplemented/reconstruct_bitmask.toml @@ -0,0 +1,6 @@ +# Uses a currently unimplemented (only on my copy of the cutter) template to reconstruct a template from a dmi +mode = "BitmaskSliceReconstruct" +extract = ["0", "3", "12", "15", "255"] + +[set] +"template" = "\"bitmask/diagonal_32x32.toml\"" diff --git a/dependencies.sh b/dependencies.sh index a15d39ef31f4c..f71148c856332 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -16,16 +16,16 @@ export NODE_VERSION_LTS=20.13.0 export NODE_VERSION_COMPAT=20.2.0 # SpacemanDMM git tag -export SPACEMAN_DMM_VERSION=suite-1.8 +export SPACEMAN_DMM_VERSION=suite-1.9 # Python version for mapmerge and other tools export PYTHON_VERSION=3.9.0 -#auxlua repo -export AUXLUA_REPO=tgstation/auxlua +#dreamluau repo +export DREAMLUAU_REPO="tgstation/dreamluau" -#auxlua git tag -export AUXLUA_VERSION=1.4.4 +#dreamluau git tag +export DREAMLUAU_VERSION=0.1.1 #hypnagogic repo export CUTTER_REPO=spacestation13/hypnagogic diff --git a/dreamluau.dll b/dreamluau.dll new file mode 100644 index 0000000000000..7d49f0742d8f8 Binary files /dev/null and b/dreamluau.dll differ diff --git a/html/changelogs/AutoChangeLog-pr-84697.yml b/html/changelogs/AutoChangeLog-pr-84697.yml deleted file mode 100644 index 86f6b12f9626a..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84697.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "EuSouAFazer" -delete-after: True -changes: - - rscadd: "Cytology Lab has been added to Icebox" - - rscadd: "Delta now has soy seeds on the Cytology Lab" - - bugfix: "Cytology is playable again on Icebox" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84888.yml b/html/changelogs/AutoChangeLog-pr-84888.yml new file mode 100644 index 0000000000000..715e45a38de6d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84888.yml @@ -0,0 +1,4 @@ +author: "by Xackii, sprites by ArcaneMusic" +delete-after: True +changes: + - rscadd: "Added big manipulators." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84897.yml b/html/changelogs/AutoChangeLog-pr-84897.yml deleted file mode 100644 index dada0c150bcbe..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84897.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "carlarctg" -delete-after: True -changes: - - bugfix: "Fixed new charger power not working fior strange objects" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85352.yml b/html/changelogs/AutoChangeLog-pr-85352.yml new file mode 100644 index 0000000000000..30a60c23791cb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85352.yml @@ -0,0 +1,4 @@ +author: "Bisar" +delete-after: True +changes: + - rscadd: "Nanotrasen Intelligence has received reports of botanical experimentation in a Syndicate base on lavaland. What fiendish flora are taking root in their secret lair?" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85505.yml b/html/changelogs/AutoChangeLog-pr-85505.yml new file mode 100644 index 0000000000000..a9e974a404122 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85505.yml @@ -0,0 +1,4 @@ +author: "Rhials" +delete-after: True +changes: + - sound: "Windows blown out by a Voidwalker blade now have a cool sound that plays as they reform." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85651.yml b/html/changelogs/AutoChangeLog-pr-85651.yml new file mode 100644 index 0000000000000..bd76855666e3f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85651.yml @@ -0,0 +1,4 @@ +author: "Rhials" +delete-after: True +changes: + - admin: "You can now choose the humanoid species spawned by an ERT summon in the summon menu." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85858.yml b/html/changelogs/AutoChangeLog-pr-85858.yml new file mode 100644 index 0000000000000..c90041b98a0e9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85858.yml @@ -0,0 +1,4 @@ +author: "lizelive" +delete-after: True +changes: + - balance: "reticence requires progression" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85878.yml b/html/changelogs/AutoChangeLog-pr-85878.yml new file mode 100644 index 0000000000000..70b03153bbd03 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85878.yml @@ -0,0 +1,4 @@ +author: "Redrover1760" +delete-after: True +changes: + - balance: "Changed max refined vortex cores from 1 to 3. Changed the Event Horizon Anti-Existential Beam Rifle recipe to require 2 vortex cores." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85939.yml b/html/changelogs/AutoChangeLog-pr-85939.yml new file mode 100644 index 0000000000000..0144adaf0eab8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85939.yml @@ -0,0 +1,6 @@ +author: "Jacquerel" +delete-after: True +changes: + - balance: "Pacifist carp can now be spawned from the friendly gold core reaction, and no longer appear from the hostile one." + - bugfix: "The teeth of toothless carp will not occasionally reappear" + - bugfix: "Crabs will now run from attackers larger than them and attack things smaller than them, as intended." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85959.yml b/html/changelogs/AutoChangeLog-pr-85959.yml new file mode 100644 index 0000000000000..1b7c5b93e8438 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85959.yml @@ -0,0 +1,4 @@ +author: "Absolucy" +delete-after: True +changes: + - qol: "Unarmed attacks with carp jaws now uses a bite effect rather than a punch effect." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85962.yml b/html/changelogs/AutoChangeLog-pr-85962.yml new file mode 100644 index 0000000000000..7f41ac813b254 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85962.yml @@ -0,0 +1,4 @@ +author: "Ben10Omintrix" +delete-after: True +changes: + - bugfix: "fences will no longer appear pitch black and they will layer properly" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85974.yml b/html/changelogs/AutoChangeLog-pr-85974.yml new file mode 100644 index 0000000000000..201d8e9886ee4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85974.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixed delam counter going over objects" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85976.yml b/html/changelogs/AutoChangeLog-pr-85976.yml new file mode 100644 index 0000000000000..0e6c72de8e93a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85976.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Fixes kudzu being able to spawn on openspace turfs resulting in it getting stuck" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85977.yml b/html/changelogs/AutoChangeLog-pr-85977.yml new file mode 100644 index 0000000000000..e3f1f321d612f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85977.yml @@ -0,0 +1,4 @@ +author: "SmArtKar" +delete-after: True +changes: + - bugfix: "Radioactive nebula no longer runtimes on runtime station" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-85988.yml b/html/changelogs/AutoChangeLog-pr-85988.yml new file mode 100644 index 0000000000000..b61bcc897b35e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-85988.yml @@ -0,0 +1,4 @@ +author: "Rhials" +delete-after: True +changes: + - qol: "Delivery/Bot pathing nodes have been added to the middle room of Runtime station." \ No newline at end of file diff --git a/html/changelogs/archive/2024-07.yml b/html/changelogs/archive/2024-07.yml index 6bfb5de9c300e..632d897df753a 100644 --- a/html/changelogs/archive/2024-07.yml +++ b/html/changelogs/archive/2024-07.yml @@ -786,3 +786,722 @@ vinylspiders: - bugfix: password doors and shutters will now play their sound effects again instead of just silently opening/closing +2024-07-14: + EuSouAFazer: + - rscadd: Cytology Lab has been added to Icebox + - rscadd: Delta now has soy seeds on the Cytology Lab + - bugfix: Cytology is playable again on Icebox + MTandi: + - rscadd: Added airlock pump atmos device to create cycling airlocks + carlarctg: + - bugfix: Fixed new charger power not working fior strange objects +2024-07-15: + Thedragmeme: + - bugfix: Fixes the Plague hat having what the Plague mask should have +2024-07-16: + 00-Steven: + - rscadd: Love is now stored in the heart. + - balance: Characters with the Friendly quirk now have physically bigger hearts. + Ben10Omintrix: + - bugfix: mothroaches will no longer be crawling out of bags every minute + FearfulFurnishing: + - bugfix: fixing speech modifiers being applied to a tongue's native languages. + FlufflesTheDog: + - bugfix: Attachment points on toolset implants have been improved, to prevent against + recycler related decouplings. + GPeckman: + - bugfix: You can't attach guns/drills/etc. to the Justice traitor mech anymore. + Ghommie: + - balance: Grinding fish no longer gives you uselessly high amount of blood and + gibs (unless they're very big) + - balance: tweaked the Linked Closets station trait. + - rscadd: Megaphones now affect text-to-speech. + - rscadd: Examining high-value paintings now can give a positive moodlet. + - qol: Observers can now zoom paintings in and out in the UI. + - bugfix: ACTUALLY fixed hoverboards being able to be used in space. + - balance: However, you can soar space with the holy skateboard. at a slower speed. + - qol: removed a redundant, annoying reach check that prevents casting a fishing + rod before the projectile is generated. + - qol: You can now unhook the currently hooked item of a fishing rod with right-click. + - balance: reduced the prices of some blackmarket items across the board. + - balance: the thermite bottle (from the contraband spawner and the blackmarket), + now spawns with 50u of thermite vs 30, enough to melt one reinforced wall. + - rscadd: Replaced the science googles from the blackmarket with a security + health + scanner HUD. + - rscadd: Replaced the single shotgun dart from the blackmarket with a box of XL + shotgun darts. + - rscadd: The donk pocket box from the blackmarket now comes in different flavors. + Hardly3D: + - bugfix: Added a preview assistant outfit, allowing assistant jumpskirts to be + previewed again on character preferences. + MTandi: + - qol: Research nodes can be queued, one per player. RDs can place their node at + the beginning of the queue. + Melbert: + - qol: Lattices now make the same footstep sound as catwalks + - qol: If you're in oxycrit (>50 oxy damage) or otherwise made unconscious through + other means, blood loss will only kill you if you're *actually* missing a lethal + amount of blood. + MrDas: + - bugfix: Clown operative reinforcements' uplink no longer break the syndicates' + economy by creating TC from nothingness. + Profakos: + - bugfix: Fixes dead raptors getting excited when petted or groomed + Sadboysuss: + - sound: all materials now have a sound for picking up and dropping + - code_imp: items now have pitch vary sound support for dropping and picking up + items + - bugfix: Wawastation xenobio is no longer filled with BZ + SmArtKar: + - admin: Ghosts can no longer create deathmatch lobbies or join existing ones when + admins disable minigames + - admin: Outfit manager UI no longer harddels after closing and thus is usable more + than once + - qol: Pathfinder MODule can now be triggered while wearing the MODsuit to implant + yourself without having to pull it out of the suit. + - spellcheck: Firelocks no longer output their full name in their balloon alert. + - spellcheck: Failure message when a xenomorph tries to force open a welded firelock + is now a balloon alert. + - bugfix: You can no longer fit an infinite amount of drivers into a clown car - + making spy-acquired clown cars usable! + - bugfix: Accelerator cannon projectiles no longer grow to absurd sizes after a + bit of travel. + - bugfix: Fixes overwatch glasses not adding HUDs + TheBoondock: + - sound: added pickup, dropping and opening sound for pill bottle + Xackii: + - rscadd: new wizard spells category - perks. + - rscadd: adds 9 wizard perks. + itseasytosee: + - image: Changed some default options in the character creator. + larentoun: + - bugfix: Correct emote plays when a human scream. Should have sound now. + lizardqueenlexi: + - bugfix: The Icebox ordnance lab is now once again a habitable temperature. + - bugfix: Icebox cytology now has cameras in it. + - bugfix: Atmosphere can no longer flow through closed necropolis gates. + - bugfix: You can no longer cause a bluescreen by attempting to recolor non-recolorable + loadout items. + necromanceranne: + - rscadd: Pipe pistols now magdump their entire magazine when fired. + - rscadd: Pipeguns and their subtypes have a knockback effect. + - bugfix: Pipe pistols cannot be bayoneted, as intended. + - bugfix: Junk rounds now actually do their extra damage effects against certain + mob types. Borgs across the Spinward tremble at the knowledge that these junk + weapons can obliterate them with ease. + paganiy: + - rscadd: If you can't shoot a gun, then... JUST TOSS IT AT THEM (for 0.5 seconds + of knockdown and 10-20 an additional brute damage) + r3dj4ck0424: + - bugfix: Destroying the jungle grass tiles in Tramstation's science wing should + no longer open a chasm. +2024-07-17: + 00-Steven: + - rscadd: Having a robotic voicebox installed now lets you use silicon emotes. + - balance: MMI'd brains/posibrains can now use silicon emotes. + - balance: Simple and basic bots can actually beep. + - bugfix: MMI'd brains/posibrains are no longer both allowed AND blocked from beeping, + now just being allowed to beep. + JohnFulpWillard: + - balance: Human AIs no longer have a teleport blocking implant or borg costume, + but now has a portable crew monitor. + Melbert: + - bugfix: Using hulk (and a myriad of similar effects) now properly updates your + movespeed to ignore the damage movespeed penalty + - bugfix: Some things which temporarily make you fly don't make you fly forever + - bugfix: MODsuit ball module now properly makes you immune to damage movespeed + penalty when in ball form + - bugfix: Adding Hulk via VV dropdown doesn't default to adding the strongest hulk + available (that which is used by the medieval pirates) + SmArtKar: + - bugfix: Ghosts can no longer move chairs + - bugfix: You can attack bookshelves in a variety of states once more + - bugfix: Style meter text is no longer blurry and doesnt overlap with UI anymore. + - qol: You can fire PKAs/plasma cutters point blank at turfs. + Thedragmeme: + - qol: re-maps the raptor barn to not stick out like a sore thumb + - bugfix: Miners and the public both can access the raptor barn without having to + make a bridge themselves +2024-07-18: + Artemchik542: + - bugfix: Justice mech invisibility fix + Ben10Omintrix: + - bugfix: fixes sentient firebots mauling things from a distance + DATA-xPUNGED: + - bugfix: Plague Doctor Mask can now be used with internals again, and is no longer + unintentionally pepperproof. + DeltaFire15: + - bugfix: cold- & heat protection no longer have decimal precision issues. + MTandi: + - bugfix: Fixed emitters, shield gens and other wired machinery having lower power + consumption priority than APCs + - qol: Made APCs charge more evenly to ensure that environment and lights are working + everywhere before giving the power for equipment + NewyearnewmeUwu: + - image: the smoking pipe east/west sprites are now more consistent + Pickle-Coding: + - bugfix: Fixes space heater cell relative consumption inadvertently being changed + from the introduction of megacells. + - qol: The improvised chemical heater gives a more accurate description of its heating + power on examine. + - qol: Improved feedback when attempting to turn on a space heater that is lacking + a cell, has no charge or is broken. + - code_imp: Space heater relative cell consumption is consistent regardless of the + cell charge scale. + Rhials: + - bugfix: Xenos have a "resist" ui element now. Cool! + Sadboysuss: + - bugfix: added a missing cable to Wawastation perma + SmArtKar: + - bugfix: Fixes hulks being able to activate dualsabers despite not being able to + actually do anything with them + - qol: Ghost orbit menu now always displays person's real name and their roundstart + job and cannot be fooled by disguises. + - qol: You can properly aim mining bombs at turfs now + - bugfix: Point blank piercing shots no longer fly directly north after hitting + their intended target + - qol: Stopping orbiting now automatically breaks you out of autoobserve + SmArtKar, Kapu: + - balance: Projectiles now can hit border objects on other turfs instead of passing + through them + SyncIt21: + - bugfix: fixes runtime in storage datums when hiding the ui + - bugfix: you can insert the withdrawal beaker into the portable chem mixer when + locked + - bugfix: acid/base buffers should update your target & source holder + - bugfix: remove reagent operations won't trigger excessive workload + - bugfix: borgs can't put their integrated tools into the reagent grinder + Yobrocharlie: + - bugfix: Removed bitrunning beach brawl fax machine + afonamos2: + - bugfix: malf ai voice changer no longer accepts dangerous inputs + grungussuss: + - rscadd: You can now buckle to bar stools + grungususs: + - spellcheck: fixed a typo for carrot sword description + imedial: + - rscadd: standing on a closed crate now gives loud mode + - spellcheck: fixed a typo in borg research + larentoun: + - bugfix: Free items in research queue will now correctly be researched automatically. + norsvenska: + - spellcheck: Removed an unnecessary apostrophe in DeltaStation's genetics monkey + pen door. + xXPawnStarrXx: + - qol: made fish better quality when butchered, smushy koibeans and useable gunner + jellyfish. + zoomachina: + - bugfix: deleting reagents from the chemmaster buffer works without a beaker inserted +2024-07-19: + Ghommie: + - bugfix: Fixed beyblade *flipping. + Kocma-san: + - bugfix: fixed a table in the mining office at the metastation + L0pz: + - image: Added new unique sprites for cyborg upgrade modules + MTandi: + - bugfix: APC icon properly turns green on full charge + - bugfix: APC shows correct charging rate in UI + - code_imp: Added early machine process for shield generators and emitters to prioritize + power draw + - code_imp: Added late machine process for power monitors to gather accurate powernet + load + Melbert: + - qol: Monkeys that pray are given bonana + - bugfix: When Monkified or Humanified, you are no longer knocked down. + - bugfix: When cured of Monkified, you get the cure text now. + - bugfix: The text shown when cured / given Monkification now has color. + - bugfix: Being humanified now tells you what species you become rather than assuming + you are a human. + - bugfix: Fixes xenos being able to do that one mechanic that involves mouse-dragging + people to you + - bugfix: Non-humans should look less transparent while in space + Momo8289: + - qol: Tweaked the colour of orange atmos pipes to be more distinct from the red + pipes, especially in darkness. + SmArtKar: + - bugfix: Revenge of the Pun Pun no longer runtimes on init + - bugfix: Fixed kinesis runtime due to un-unregistered signals + - bugfix: Removed some rogue decals and added a wall to Birdshot atmos storage, + and added cycling to upload/telecommunication entrances. + - bugfix: Elevator music no longer haunts you endlessly if you step off mid-transit + - refactor: HUD traits now apply their corresponding hud automatically + TheNobodyofimportance: + - qol: Holofan and two thermomachine and emitter boards in lavaland syndicate base. + carlarctg: + - qol: Moths that pray get a moffin + - bugfix: Fixed sometimes obtaining the nodrop highlander kilt with relics + - bugfix: Fixed bioscramble function not working for strange objects unless dropped + - bugfix: Fixed the disguiser cardboard ID not overlaying properly + kawaiinick: + - qol: secmods jetpacks are now pinned by default + vinylspiders: + - bugfix: fixed a hard del with soapboxes +2024-07-20: + AyIong: + - bugfix: Announcement subheader will no longer overlap the header if the second + one is very long + DrDiasyl aka DrTuxedo: + - rscadd: Security and Engineering holosigns can now be opened with their projector + by clicking them from afar + - rscadd: SecVendor starts with 2 Security holosigns + - qol: Holosigns don't block projectiles anymore + - qol: Security holosigns now take 2 seconds to create instead of 3 + - image: Janitor, Security, Medical, and Engineering holosigns now have cleaner + sprites + - code_imp: Holosigns now use proper cooldowns instead of the world.time + - spellcheck: Holosigns and holosign creators' descriptions give more information + now + GPeckman: + - rscadd: Added the civilian modsuit module as a standalone model. It offers no + slowdown while activated but does NOT protect you from the void of space. You + can print the plating from an exosuit fabricator and build it like a normal + modsuit. + - rscdel: Removed the civilian skin from the standard modsuit, as it is now a standalone + model. + - image: Tweaked the sprites for the civilian modsuit head, both in-hand and on + the mob. Also added a civilian mod plating sprite. + Ghommie: + - bugfix: fixed megaphone tts filter. + MTandi: + - image: New deep fryer sprite + SmArtKar: + - refactor: Refactored parrying to be projectile-side and not user-side. + - rscadd: You can now parry crusher projectiles to give them some more range, add + damage and make the mark always count as a backstab. + - rscadd: Projectile parrying has been significantly improved, making parrying and + boosting projectiles actually possible. Includes a small grace period as lag + compensation for players with higher pings. + - balance: Crusher marks can now be detonated by any crusher, not only the one that + applied it, as to incentivise coop mining for crusher users. + - balance: Projectile boosting now gives a significantly bigger damage and speed + increase + - bugfix: Fixed a signal reg error caused by add_occupant being called twice + - bugfix: Sentient floorbots can now rip up tiles when emagged + - code_imp: Slight cleanup in floorbot code + - image: Brainwashing victims now have smoothed out brain sprites without those + pesky wrinkles + - bugfix: Blob victory no longer spams spore zombie notifications to ghosts + paganiy: + - qol: Moving the light bulb removal function from the left mouse button to the + right one. + - qol: Added & improved tips related to the light fixture + san7890: + - admin: Ticking "Job Playtime Exempt" on a player's Job Playtime Tracker panel + will also exempt them from BYOND Account Age restrictions now. It previously + only exempted them from actual living playtime minutes - this is for the BYOND + Account Age in days. + thegrb93: + - qol: Allow custom borg hat placement for custom borg skins + theselfish: + - rscadd: Bitrunning and (spawn) Miner jumpsuits are now in their drobe. + - qol: The Coroner Drobe got sorted into less 'shove everything in' and more 'in + a sane format'. + zoomachina: + - qol: chem dispenser displays units instead of kilowatts +2024-07-21: + DrDiasyl aka DrTuxedo: + - rscadd: Scanner gates now blare into the chat the reason why it got triggered + - rscadd: Scanner gates now can have false positives/negatives, and the chance of + them being reduced when they are upgraded + - rscadd: Brig entrances now have scanner gates preset to detect GUNS + - rscadd: You can now scan people with N-Spector for contraband + - image: Scanner gates now have a better sprite with dirs + - qol: Scanner gates description now tells to what mode they are set + - bugfix: You no longer can remove N-Spector from scanner gates without unlocking + them first + Inari-Whitebear: + - spellcheck: Fixed a typo in the description for the Syndicate Rebar Crossbow in + the Uplink. + MTandi: + - qol: Mod UI is narrow again + Melbert: + - bugfix: Fixed roundstart monkeys not having monkified + - bugfix: Fixed being "de-monkified" while dead making it difficult to actually + de-monkey you going forward + - bugfix: Fixed genetic scanner showing dead mobs as "transforming" + SmArtKar: + - bugfix: Closing mind transfer popup does not transfer your mind anymore + - bugfix: Recalling lantern wisp now properly removes its effects from you + - bugfix: Context maptext now properly dynamically adjusts itself instead of using + hardcoded pixel values + - bugfix: Fixes organizer sometimes deleting brains + Time-Green: + - rscadd: Gives voidwalker telepathy + - bugfix: Fixes the Unsettle ability ignoring line of sight (which was it's sole + gimmick, im just dumb) + - balance: Voidwalkers cannot break windows anymore or throw objects + - balance: Voidwalkers can no longer harm people in crit + - balance: Voidwalkers can only pull mobs + - balance: Voidwalkers' space dive enter has been increased by 1 seconds, but dive + exit decreased by 1 second + - balance: Void eater becomes blunt during use. Kidnap people to refresh it + - balance: Removes voidwalker glasses slot + - balance: Gives voidwalkers chunky fingers + - balance: Voidwalker applies NODEATH on hit + - balance: Voided victims get dumped in safer places + carlarctg: + - bugfix: Fixed null description in cerulean regenerative extract +2024-07-22: + 00-Steven: + - refactor: Refactored table item interactions, please report any issues. + - bugfix: Fixed being unable to use decks to draw cards directly onto tables. + - qol: Right clicking a table with a tray puts it down regardless of it having contents. + Ical92: + - bugfix: general bitrunning fixes and 102% faster loading times + - bugfix: bitrunning domains are no longer affected by nebulas in the real world + Jackriip: + - refactor: refactored global set_basalt_light proc into object proc + JoshAdamPowell: + - admin: 'Nanotrasen has brought Central Command kicking and screaming into the + 20th Century by providing them with a real fax machine. + + :cl:' + MTandi: + - rscadd: 'Charlie: Replaced external cycling airlocks with airlock pumps' + - qol: Updated smart fridge UI + Melbert: + - rscadd: Fox infusion has more content related to it now + - refactor: Refactored how vending machine icons are displayed, please report if + you see any broken icons. Also if all the icons look like missing file icons + for you, you gotta update byond man, you're like a year out of date. + SmArtKar: + - refactor: Pod code now uses datums instead of being a huge nested list + - qol: Self-respiration no longer sends misleading messages and instead tells about + lack of need to breathe once it actually gives you the effect + Thedragmeme: + - image: Adds a series of traditional yukata's and kimono's + - image: Adds in black sandals and a traditional hairpin for the back of the hair + carlarctg: + - rscadd: Adds Untie Shoes, a 1-point wizard spell. It can be upgraded to untie + jackboots, summon shoes to untie, and become completely silent! + - spellcheck: Renamed the Crimson Focus to the Crimson Medallion + - bugfix: Fixed harvesters not being properly bound to their master, nor dying when + they do + - bugfix: Fixed heads totally overriding cultist sacrifice rewards + - rscadd: Heretic blade now converts to a nullblade + - rscadd: Added wooshing, shaking, and glowing to flinging around with the heretic + blade + - balance: Removed the probability to not gain a reward when sacrificing a cultist + - bugfix: HONK mech now waddles + necromanceranne: + - qol: There is a larger stock of roundstart clothing availalbe in the clothing + vendors. Now you can get your entire gang in matching outfits! +2024-07-23: + AyIong: + - qol: Chat notifications are now at the top + Ben10Omintrix: + - refactor: mulebot UI has been refactored + Ghommie: + - bugfix: Fixes fishing rods not working on adjacent targets. + - rscadd: You can now fish with explosives. + - bugfix: Fixed an inconsistency with examining fishing spots with sufficiently + high fishing skill (or skillchip). + Holoo-1: + - bugfix: fixed ghost huds + MTandi: + - rscadd: Dehydrator, a machine version of drying rack, with a circuit board and + available on some kitchens roundstart. + - image: Updated the color palette of Smart Fridge + SmArtKar: + - code_imp: Removed 8 cases of double indentation + - bugfix: Holopads no longer suck in unsuspecting people when crowbared + - bugfix: Surgical tape and edagger's embedding values have been fixed + Time-Green: + - bugfix: Shuttle events meteors now dont sometimes kill everyone + necromanceranne: + - rscadd: Robotic variants of many of the standard and advanced humanoid surgeries. + You cannot perform self surgery with these surgeries. + - balance: It is easier to do robotic surgeries with normal surgery tools. + - qol: It is now possible to detect EMP organ failure cascades via health scanners. + - qol: EMP organ failure cascades can be reversed by doing organ repair surgeries + targeting the failing organ. +2024-07-24: + AyIong: + - qol: Photocopier updated their UI + Ben10Omintrix: + - qol: fish analyzers now have a UI + DaCoolBoss: + - rscadd: Adds the Haunted Trading Post space ruin. + - rscadd: Adds 10+ unique items for the Haunted Trading Post + - rscadd: Adds 5 dangerous mobs for the Haunted Trading Post + - rscadd: Adds 4 new types of hazardous traps for the Haunted Trading Post. + FeenieRU: + - qol: Now IDs and PDAs have money-reader module for picking some cash into your + bank by swiping on money. + Ghommie: + - rscadd: You can raise lobstrosities from chasm chrabs inside an aquarium with + the 'allow breeding' setting on. Keep the fish well fed, healthy and not lonely + if you don't want an hostile one. + - rscadd: Juveline lobstrosities (from chasms, plasma rivers, or aquariums, xenobio + too) can be tamed with arms and lavaloop fishes. + - rscadd: For lobstrosities grown from aquariums, they can have additional effects + based on the fish traits they had in the aquarium, like being venomous or even + flying. + Jacquerel, Kok0nut, Imaginos: + - image: Wall-mounted and Table-mounted ID card authorisation machines now use different + sprites + - bugfix: Wall-mounted ID card authorisation devices will now be destroyed if their + wall is destroyed + Majkl-J: + - bugfix: fixes bitrunning breaking upon repeatedly climbing in and out the pod + Paxilmaniac: + - bugfix: Fixes bulldog shotgun unique mag display not working on the sprite + - image: resprites the bulldog shotgun along with inhands and new worn sprites + - code_imp: cleans up a little of the code surrounding the bulldog + SmArtKar: + - bugfix: Stacking machine consoles link to machinery now + - bugfix: You can now put dead mice into mortars/grinders properly + - balance: Mechs now take armor into consideration when calculating punch damage + - bugfix: Mechs no longer deal direct limb damage + - bugfix: Drills automatically pick up ore on non-ripley mechs now without having + to move + - bugfix: Drills no longer dismember people immune to melee damage + - bugfix: Drills now take armor from correct bodyparts when attacking + - code_imp: Cleaned up one-letter variables in mech drill code + - bugfix: You can no longer microwave kisses, slappers, and other abstract items + - bugfix: Having your liver fail no longer keeps drug traits active without metabolizing + them + - code_imp: Cleaned up clamp code. + - bugfix: Clamp no longer anchors down some objects upon failing to pick them up + - bugfix: Deathsquad KILL CLAMP finally works once more + - bugfix: Fixes Hereditary Manifold Sickness's 4th stage not updating health when + it should + - bugfix: You can no longer dupe metal by breaking walls under small light fixtures + Time-Green: + - bugfix: Animal/people skin is no longer metallic sounding + larentoun: + - config: Added an entry for TRAITOR_SCALING_MULTIPLIER, disabled by default + nikothedude: + - bugfix: Alexander no longer causes harddels + - bugfix: Removed a theoretical infinite block exploit from alexander +2024-07-25: + Ghommie: + - bugfix: Fixed fishing. + MTandi: + - bugfix: Borgs and AI can now use research queue + Vekter: + - spellcheck: Reworded Voidwalker's objectives to be more descriptive of their actual + goals as opposed to just fluff. + necromanceranne: + - balance: Strong-arm implants go on cooldown when activated, but deal more overall + lethal damage on a single blow. + - balance: The strong-arm implant does additional damage to fauna and some other + dangerous mobs. + - qol: You can pair toolset arm implants with the strong-arm implants. + - balance: Quality cybernetic hearts combat bleeds and restore blood, rather than + inject you with epinephrine when you enter crit. This can result in mild toxin + buildup, however. + - balance: Upgraded cybernetic hearts give an extremely brief amount of action when + you enter softcrit (but not hardcrit). + - bugfix: Restores some of the items accidentally lost in the autodrobe. +2024-07-26: + LT3: + - bugfix: Fixed elevator panel allowing conflicting inputs + - bugfix: Fixed elevator sound being out of sync with movement + SmArtKar: + - bugfix: Xenomorphs and door pryer basic mobs can now attack airlocks in combat + mode + - bugfix: Borgs now unequip their equipment upon module change like they should + YesterdaysPromise: + - rscadd: All the melons are now sliceable, and have inhands, instead of just watermelon + and holymelon respectively. + - rscadd: You can now hollow out melons of all kinds with a spoon to make helmets + or chestplates, based on the potency! If you are unlucky, you can tie up three + helmets into a chestplate with durathread using the crafting menu. + - rscadd: You can now make a bo staff out of bamboo and steelcap logs. + - rscadd: You can now make a moonflower buckler out of moonflowers and steelcap + logs. + - rscadd: You can also hollow out chantarelle to make mock-up wizard hat. + - rscadd: Parsnips, as mutation of carrots, become equaly able to be sharpaned, + turning into shivs, or with potency and luck, sabres. + - rscadd: You can now craft a durathread robe, and customize it into different variants + using specific plants in crafting menu. + - rscadd: Carrots gain a new possible mutation; cahn'root, brewable into root beer + and sharpanable into shivs or daggers! + - rscadd: Rice hat, made from bamboo, now has an alternative style, allowing you + to wear it in reverse and be much cooler. + - rscadd: Two new arrow variants appear in the crafting menu; sticky and poisonous + ones! If you want to make arrows at all though, remember to order bow-maker's + crate at cargo. +2024-07-27: + 00-Steven: + - bugfix: Fixes borgs not being able to place apparatus-held items on tables. As + a side-effect, they can now combat mode right click splash containers as normal + instead of having their own right-click floor splash. + Ghommie: + - bugfix: Centcom technicians have been trained to recognize cargo-bought fish. + You will no longer be able to trick the economy system by buying fish and sending + it right back. Also nerfed fish selling price very slightly. + - bugfix: Fixes projectiles facing north if ricocheting, deflected or homing + - rscdel: Removed a janky fish bounty + - rscadd: introduced exporting fish through cargo. + - balance: reduced the average weight of the jumpercable. Conversely, eased up the + requirements for the bone fish evolution. + Ical92: + - bugfix: Tram's Tool Storage now has proper lighting + Jacquerel: + - balance: If a bluespace cookie fails to teleport you then you will trip over. + LT3: + - bugfix: Fixed delam counter stuck in window near Ice Box bridge + - bugfix: Fixed disease outbreak announcement sometimes missing the disease name + - bugfix: False supermatter surge announcements are now identical to real ones + - bugfix: Tram will no longer eat its own rails as it travels + MTandi: + - bugfix: Janicart inserts items into the attached trash bag again (manual and vacuumed) + Melbert: + - qol: All randomly spawned monkeys (and lizardpeople) will spawn with tails. You + can still select to be tailless. + - code_imp: Cleaned up some code relating to species features (like tails, markings, + etc). Report any oddities + SmArtKar: + - image: Updated gas flow meter sprites + Thlumyn: + - bugfix: self-resp viruses don't spam messages as often + afonamos2: + - bugfix: Firelocks will once again respect fire alarm's thermal sensors being disabled. + carlarctg: + - bugfix: Fixed possessed blades being broken + - code_imp: If testing is enabled everyone is polled in ghost polls. + mc-oofert: + - bugfix: wawastation ordnance no longer has a light fixture on a window and looks + objectively slightly better + - bugfix: wawastation engineering water tanks are now highcap +2024-07-28: + 00-Steven: + - bugfix: Clicking on a table in the lootpanel with an item in-hand tries to place + it in the center again. + Axidyuwu: + - bugfix: now Justice invisibility turns off in non combat mode as it supposed to + Deadgebert: + - bugfix: peg limbs can now be amputated + DrDiasyl aka DrTuxedo: + - sound: Hearing and talking into the radio now produces a sound. Heads get a special + sound. + Helg2: + - rscadd: Emergency climbing hooks now spawn in emergency boxes on all of the multi-z + level stations. + JohnFulpWillard: + - bugfix: '[Mafia] The show_help button no longer shows you who the Obsessed''s + target is.' + LT3: + - bugfix: Players now receive a notification when trying to perform surgery steps + that involve chemicals + Rhials: + - bugfix: Monkey wizards can now interact with grand ritual runes. + - bugfix: Clown Ops gear has been returned to being available only to clown ops. + Whoops! + SmArtKar: + - bugfix: People with tooltips enabled no longer lag the server when they move their + mouse. Oops. + - bugfix: Mirage grenade dispensers and ionic jump jets now work + StrangeWeirdKitten: + - bugfix: Voidwalker should not run on planetary maps. + grungussuss: + - bugfix: Med sec telescreens are no longer the same item as the CMO telescreen. + - spellcheck: correcte name for the CMO telescreen mount + - bugfix: birdshot holodeck's lighting has been fixed. + - sound: medkits now have sounds + - sound: gas tanks now have sound + - sound: the default metal sound has been changed + - bugfix: lavaland no longer has roundstart atmos processing because of a passive + vent + - sound: only the scream emote can be heard through walls + - sound: the sneeze projectile no longer makes a sound when making contact. +2024-07-29: + DaCoolBoss: + - spellcheck: military javelin's name is now fully uncapitalised + SmArtKar: + - rscadd: Mining headsets now allow you to make callouts via pointing. You can use + them to communicate with fellow miners or order your army of bots and raptors! + - rscadd: Mining headsets keep your voice loud and clear in low-pressure environments + (not vacuum!) + - qol: If you have auto fit viewport enabled, it will trigger upon entering or exiting + fullscreen + - bugfix: VIM no longer requires hands to enter + - bugfix: Recyclers no longer recycle contents of indestructible items + - bugfix: Grass sheath now holds parsnip sabres like its supposed to + - spellcheck: Fixed up parsnip sabre description grammar + StrangeWeirdKitten: + - rscadd: Cosmic Skull glows purple. + Time-Green: + - bugfix: Fixes void eater not refreshing + - bugfix: Fixes planetary gravity not killing voidwalkers and voideds + Y0SH1M4S73R: + - admin: Admin lua scripting uses a new library that (probably) will not break when + BYOND updates. +2024-07-30: + 13spacemen: + - balance: TTV bombs can be implanted into people's chest once again + AyIong: + - rscadd: Stat Panel now scales like a chat, depends on the font size. Defaults + from the chat font size, but you can separate it. + - refactor: Refactored Stat Panel styles and Byond skin theme applying. Stat Panel + now looks more like a TGUI + Bisar: + - bugfix: All mining mobs now properly listen to the signals sent by attackers and + will respond appropriately. + Gaxeer: + - refactor: replace some copypaste code for pod spawn to use `podspawn` proc instead + - code_imp: modify `podspawn` proc to accept amount of item type to spawn in `spawn` + specification + Ghommie: + - qol: Aquariums start unanchored and don't autoconnect to plumbing. Their reproduction + prevention is also disabled by default. + - balance: Made it a tad easier to control the bait during the minigame. Buffed + the fishing skill. No fishing duds at all when using ANY bait. + - balance: Chasm Chrabs take less time to grow into Lobstrosities but need food + a bit more frequently. + - balance: '"Profound fisher" mobs will have less RNG-dependant time fishing.' + - bugfix: You can now ACTUALLY interact with other things while fishing if the fishing + rod isn't in your active hand. + - config: Added a config for specific gateway delays so locations like the beach + and the museum don't have to take 30 minutes to become available like the rest. + Jackriip: + - refactor: moves the create_all_lighting_objects proc to the lighting subsystem + KazooBard: + - rscadd: The heretic's ritual of knowledge no longer requires binoculars + - rscadd: Clipboards are craftable using a wood plank, an iron rod and wirecutters + Paxilmaniac: + - balance: The nukeops surplus smg, the pp-95, has been reworked into the Abielle + Smart-SMG. It performs nearly identically to the pp-95, however it's projectiles + get a slight homing ability towards whatever you click on. + - sound: New firing sounds for the surplus smg, credit to the m41 sound effects + from tgmc + - image: New sprites for the surplus smg, made by me + SmArtKar: + - bugfix: Fixed mapload circuit floors not drawing power and deconstructing circuit + floors not reducing power load + - bugfix: Projectile dampener, recycler and ninja stealth MOD modules now work properly + - bugfix: You can no longer tear peoples arms off with non-killer clamps + - bugfix: Mechs can no longer equip infinite amount of weapons + - bugfix: Mining MODsuits now can store everything that explorer suits can + Vekter: + - bugfix: Fixes an exploit that allowed players to open a Bag of Holding rift in + the Heretic dimension. + deathrobotpunch: + - qol: drones now have soap in their internal storage! + grungussuss: + - sound: leather, skins and cardboard have their own sound now + - bugfix: smuggler satchels will no longer spawn in space + - sound: added sniff sounds + - sound: added sigh sounds + grungussuss and Kayozz: + - sound: more maintenance ambience has been added + rroqc: + - bugfix: plants no longer select reagent genes they already have while cross pollinating + - code_imp: 'improves reagent cross pollination code + + :cl:' +2024-07-31: + Jacquerel: + - image: Big balls are now much rounder, to more easily slide down into a cannon. + SmArtKar: + - image: All implants have received a fresh coat of paint + rroqc: + - bugfix: 'fix a bug where botany reagents would dissapear from existing plants + + :cl:' + thegrb93: + - bugfix: Fixes getting permanently hot or cold if wearing thermal insulation as + a lizard diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml new file mode 100644 index 0000000000000..a1e286e25e625 --- /dev/null +++ b/html/changelogs/archive/2024-08.yml @@ -0,0 +1,679 @@ +2024-08-01: + 00-Steven: + - bugfix: You no longer render on top of tall enough objects that get vertically + offset when anchored to a table when standing on the tile directly to the north + of them. Examples are soda and booze dispensers. + - bugfix: Removing the vertical offset some objects get when anchored to a table + can be done by unanchoring it at any point, rather than only on a table. + ArcaneMusic: + - qol: NODE drones summoned to tap a vent within ore vents now display a green status + light to show how much longer they need the vent defended for. + Axidyuwu: + - bugfix: fixes a way of duplicating iron with wallmounted sparklers and light switches + Bisar: + - qol: Machines check their parts during initialization now; this will usually apply + in cases such as a machine in a prefab having been varedited to be upgraded. + - code_imp: All machines check their parts during initialization. + Ghommie: + - rscadd: Added tadpoles, which can be scooped from puddles with right-click. Functionally + they're like most fish, which require an aquarium to survive, and also need + to be fed fairly frequently, however they quickly become frogs after about 3 + minutes of care. + - rscadd: Every station now has a couple puddles. One at the public garden and the + other in prison. + - qol: Changed the name of an aquarium UI button from "Reproduction Prevention" + to "Reproduction and Growth", as it controls both fish breeding and growth. + - rscadd: Carps, frogs and young lobstrosities now fear people wearing fishing hats! + Adults and megacarp favour the 'fight' part of the fear reflex however. + - bugfix: The hat stabilizer module now inherits the clothing traits of the attached + hat. + Helg2: + - bugfix: Emergency climbing hooks now shouldn't spawn on non multi-z stations. + Jackraxxus: + - bugfix: AI mech control beacons and malf AI dominate mech work again. + LT3: + - bugfix: Scanner gate now detects items thrown through it + - bugfix: Scanner gate does not alarm for guns on players with mindshield + - bugfix: Scanner gate does not alarm for guns on players with weapons ID card access + - sound: Reduced volume of scanner gate alarm + MTandi: + - image: Made chem master container icons not blurry + - bugfix: Portable atmos machine circuit boards list correct components + - bugfix: Portable atmos machine circuit boards accept unwrenched fittings + - bugfix: Portable atmos machines are movable on construction + - qol: smart fridge UI now groups items by type+name instead of just type + - qol: smart fridge UI now shows item names next to the images + - qol: smart fridge UI has a list view option (default for chem and viro versions) + - bugfix: fixed smart fridge stacking sounds when dispensing multiple items + - qol: Renamed seed packs to have the plant name at the beginning + Majkl-J: + - bugfix: Fixes the echolocation screen overlay not appearing with default arguments + due to using the wrong icon state + Momo8289: + - bugfix: The charge indicators on power cells now work properly. + - code_imp: Removed some now redundant power cell appearance updates + Rhials: + - qol: Sentience potions can now be used without a provided summon reason. + - rscadd: Spies can now pick their own custom objectives, if they so choose. + Sadboysuss: + - bugfix: The clown planet domain is now completable + - bugfix: rod sounds will now vary in pitch + - bugfix: spray can face spraying will no longer work on light-sensitives with eyewear + and people wearing eye covering masks + - bugfix: birdshot engineering feedback has been applied + SmArtKar: + - bugfix: Bank cards speak once more + - bugfix: Removed a rogue wall grinder on icebox + - bugfix: Silicons and simplemobs can also hear radio chatter now + - bugfix: Heart eater wizard perk no longer works activates on organs that haven't + been used before + - qol: You can now reorder items inside storages by dragging them + - balance: Mining MODsuits are now considered thick clothing and gained expanded + storage. + - image: Mining MODsuits got a slight glowup and hide belts now + - bugfix: Fixed advanced pods showing up as cultist pods + - admin: Subtype vendor no longer requries an ID + - qol: You no longer goofily swap with others trying to move in the same direction + as you if you're not faster than them + - code_imp: Moved mobswap check logic into a separate proc and made it more readable + - balance: Discounts now pick 4-6 items each from a unique category + - balance: Items that cost below 4 TC cannot get discounted anymore + - balance: Elite syndicate MODs for traitors can no longer get discounted + - bugfix: Fixed NT Frontier discounts not applying + Watermelon914: + - admin: Turfs in lua will no longer become invalid on deletion. + - bugfix: Fixes SS13.wait not working when called multiple times before it finishes + waiting. + Xackii: + - bugfix: Justice design no longer disappears + - bugfix: Mechs can attack other mechs in melee + - rscadd: RD can emag mech fabricator(like roboticist). + carlarctg: + - rscdel: Revert "Heretic spell invocations now use one dead language per path" + grungussuss: + - bugfix: the abandoned plasma research facility on icemoon no longer has an item + that shouldn't exist + mc-oofert: + - bugfix: wawastation pharmacy now has a hand labeller + rroqc: + - rscadd: 'durathread robes can now store botany gear + + :cl:' +2024-08-02: + FlufflesTheDog: + - bugfix: Existing gas flow meters have been recalled and replaced due to a faulty + screen connection, and once again convey pressure and temperature + Ghommie: + - qol: Skills are passed down to bitrunning avatars and then back to the original + body. + - bugfix: Stop clientless lobstrosities from fishing other lobstrosities, which + in turn can fish other lobstrosities and so on. + - balance: Stop clientless lobstrosities from fishing the lavaland fishing spot + chest. + Jacquerel: + - admin: Adds some missing traits to the mob trait list in VV + MTandi: + - qol: new uplink UI + - qol: made it possible to buy a custom amount of TC, instead of bundles with fixed + amounts + Majkl-J: + - bugfix: Flashdarks now broduce darkness upon toggling + SmArtKar: + - bugfix: Bamboo staves can now be wielded + - bugfix: Bostaff no longer disappears forever when wielded + - bugfix: Rice hat no longer disappears upon being toggled and can be raised back + up. Toggling sprites is now done by alt-clicking + - qol: Callouts and MODsuit quick module pickers now track user + - qol: Cable coil and welding tool healing now loops similarly to sutures/meshes + - bugfix: Fixed cable coil/welding tool heal message not displaying when healing + someone else + - bugfix: Putting people you're fireman carrying into contractor pods no longer + sends both of you to zelda's shadow realm + Tattle: + - qol: dead cyborgs now blink yellow lights + - qol: damaged cyborgs have smoke particles when they've taken brute damage, and + sparks for burn + Y0SH1M4S73R: + - admin: The layout of the lua editor has been tweaked slightly. + - admin: In the lua editor, you can now toggle whether to log runtimes the viewed + state is involved in. + carlarctg: + - rscadd: Adds a bronze dimensional theme + necromanceranne: + - bugfix: Shoving someone onto a table now causes them to become vulnerable to being + stunned. +2024-08-03: + Watermelon914: + - bugfix: Fixed an infinite TC glitch dupe + Y0SH1M4S73R: + - admin: The "Suppress Runtime Logging" toggle in the lua editor actually does what + it says +2024-08-05: + Ben10Omintrix: + - bugfix: juvenile lobstrosities will now look for food + OrionTheFox: + - image: added and updated belt/suit/mask storage sprites for several knives missing + them + SmArtKar: + - bugfix: Lizards no longer die from cold on icebox despite wearing insulation + - bugfix: Fixed handyman assistants spawning without a PDA + Y0SH1M4S73R: + - bugfix: lua scripting now works on linux +2024-08-06: + Ben10Omintrix: + - refactor: refactors pet collars and cultist pets into elements + EnterTheJake: + - image: Ash Blade has received a new sprite. + Gaxeer: + - rscdel: Remove narsie and ratvar plushies from loadout + SmArtKar: + - bugfix: Plasmamen helmets now display their smiles + can be painted with spraycans + - bugfix: Elevator music no longer restarts when you take a step + - image: Resprited teleporter beacons + - code_imp: Removed multiple cases of unnecessary updatehealth + - bugfix: Bitrunning crate capture zones can no longer be destroyed + mc-oofert: + - admin: fix hard restart option +2024-08-07: + Absolucy: + - bugfix: Fixed a runtime error after draining a heretic influence. + LT3: + - bugfix: Fixed players being incorrectly immune to certain virus severities + MrMelbert, SmArtKar: + - bugfix: Holding someone at gunpoint no longer makes all shots count as point blank + SmArtKar: + - image: Updated clipboard sprite, adds white and black clipboard skins for med/sci + and security + - bugfix: Tinacusiate no longer changes hearing spans for every single person in-game +2024-08-08: + MTandi: + - bugfix: Smartfridges properly dispense `\Improper` items + Rhials: + - sound: Zipties no longer make handcuff noises when picked up or dropped. +2024-08-09: + SmArtKar: + - bugfix: Circuit UI scale no longer has weird rounding + - bugfix: Circuit UI no longer gets covered by components menu + - bugfix: Fixed Charlie MOD installer not installing MODsuit unless you have a backpack + to drop +2024-08-10: + FlufflesTheDog: + - bugfix: tadpoles can actually be scooped from ponds +2024-08-11: + DaCoolBoss: + - spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co. +2024-08-12: + SmArtKar: + - bugfix: You no longer kill yourself in cockroach form if you attempt to unposess + it + grungussuss: + - sound: ore and sandstone blocks have their own sound + grungussuss and kayozz: + - sound: white noise from some ambience sounds has been pruned +2024-08-13: + Majkl-J: + - bugfix: Felinids no longer phase through diagonal gaps upon seeing a laser +2024-08-15: + 00-Steven: + - bugfix: Fixed pipes/cables/disposals rendering above closed catwalks. + - bugfix: Fixed catwalks covering pipes generating illogical pipe caps when screwed. + - bugfix: Opened catwalks are no longer assumed to be above-floor for the sake of + generating pipe caps. + - bugfix: Fixes getting a "You are too far away!" interaction block on inventory + items when inside of another object. This includes accessing storage or using + your PDA from a closet, or as pAI using your digital messenger while inside + of your card. + Archemagus: + - bugfix: Strange zeros in paid off citations on sec records + - bugfix: Now invalidating citations works + - bugfix: You can change crimes description + - bugfix: Synths have 'armory access' for sec records logic + - qol: Paying off citation now automaticaly voiding it + - qol: Crime issuer can void the crime without armory access + - qol: In case of invalidation crime shows who voided it + Astrogem2: + - bugfix: Raw durathread bundles and sinew strands no longer make metal clang sounds. + Ben10Omintrix: + - bugfix: wolf AI will no longer get stuck + - bugfix: idle basic mobs will now plan behaviors rather than completely shut down + - bugfix: fixes monkey ai hitting u from a distance with unloaded guns + Bisar: + - qol: The preserved terrarium vault now has tier 4 hydroponics trays, making volume + based tray chemistry take less time. + - rscadd: The interns remembered to water the plants around the station; their foilage + is so thick that it totally hides the identity of anyone holding them! + DATA-xPUNGED: + - qol: Nanotrasen has fitted the Janitorial Emergency Response Team with equipment + better suited for the job. + Dmeto: + - bugfix: Wawastation Science is connected to distro,Floor Electrical Relay cable + fixed + - qol: Cargo Gorka suit slot now allows emergency/plasmaman internals. + FlufflesTheDog: + - bugfix: pre-upgraded soda dispensers are actually pre-upgraded again + GPeckman: + - bugfix: Hydraulic clamps (the mech tool) can force powered doors open again. + - balance: Abductors (the antag, not the species) can no longer be converted by + any antagonist. + Kocma-san: + - code_imp: "\u0441hanges for a fax located on the CC" + - qol: 'added centcom stamps to centcom + + /:cl + + + + ' + MTandi: + - balance: 'TechWeb: NT Frontier partners now give full discounts for many high + tier nodes, corresponding to the partner theme, instead of partial discounts + for random nodes' + - qol: Atmos techs can download NT frontier and build compressor board in engi imprinter + - balance: Roboticists now always have ordnance access for the discount experiments + they need + - balance: 'TechWeb: BZ shell is now a discount experiment for experimental tools + instead of required exp for fusion' + - balance: 'TechWeb: Noblium shell is a discount experiment for RCD upgrades instead + of exp tools discount' + - balance: 'TechWeb: Vat-grown slime scan is a discount experiment instead of required + one' + - bugfix: 'TechWeb: Cryostasis node properly requires advanced medbay equipment + as it should' + Melbert: + - rscadd: 'Adds a copy of the famous 1995 musical "Space Station 13: The Musical" + to contraband of the autodrobe' + Paxilmaniac: + - rscadd: The new smartgun has replaced the unusable energy cannon in mystery boxes + ? Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan, Ben10Omintrix, BigBimmer, + Capsandi, CapybaraExtravagante, Draco, Floyd, Iamgoofball, Imaginos16, Infrared, + Jacquerel, Justice12354, Kryson, KylerAce, LemonInTheDark, Meyhazah, Mothblocks, + MTandi, Ninjanomnom, oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner, + SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016, Viro, Waltermeldon, + WatlerJe, ZephyrTFA with thanks to the Mojave Sun team! + : - rscadd: Resprites or offsets almost all "tall" objects in the game to match + a 3/4ths perspective + - rscadd: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work + Rhials: + - bugfix: Centcom ERT hiring standards have been expanded to include plasmamen, + again. + Runi-c: + - bugfix: Wellcheers no longer does nothing half the time + ShadowLarkens: + - bugfix: Fixed action buttons relative to EAST,SOUTH, or CENTER being improperly + moved during view_audit_buttons() + SmArtKar: + - bugfix: Circuit health analyzer/state components now work on targets inside lockers + - image: Resprited all main assemblies + - bugfix: Ninjas can cloak again + - image: Durand shield got a glowup + - bugfix: Durand shield no longer instantly drains its battery + - bugfix: Mech UI no longer lies about the amount of power your mech has left + - bugfix: Fixed chanterelles runtiming upon being hollowed out with a spoon and + not spawning a hat + - bugfix: Ash drakes no longer get stuck in flight if their target changes Z levels + or is destroyed and doesn't spawn lavaland turfs after the lava arena attack + ends + - bugfix: Fixed shuttle loan paperwork being unstampable + - balance: Multiple gloves/shoes that had armor values but failed to apply them + got fixed + - bugfix: Soulscythe now deletes the soul mob when destroyed + - bugfix: Bubblegum can no longer bloodcrawl to other Z levels + - bugfix: Fixed portable chem mixer spamming you if not held while its UI is open + - bugfix: Fixed bileworms not having a deaggro range + - bugfix: Heretic sacrifice area no longer modifies global ambience lists + - bugfix: Fixed fish analyzers not being able to scan fish + - bugfix: Fixed DNA samplers not being able to interact with non-scannable objects + - bugfix: Fake aurora caelus event no longer permanently paints space green + - code_imp: Cult magic item paths are no longer strings + - bugfix: Fixed monk staffs not displaying a wielded sprite + - bugfix: Fixed nuke toggle, smite and machine upgrade admin verbs using incorrect + sorting + - admin: Updated nuke toggle, smite and machine upgrade admin verbs to use TGUI + - qol: Magicarps no longer fire their projectiles while out of combat mode + - bugfix: Chameleon gun counts as harmless and can be fired by pacifists + - qol: Integrated circuit modules now can be linked to component printers + - bugfix: You can no longer shove people into closets through directional glass + - bugfix: Slimes no longer can feed when they're inside of objects or attacking + a target that became invalid after they chose their dinner + - bugfix: Fixed Creatures not being able to use non-jaunt actions when seen + - bugfix: Void storm now updates mob health + - qol: Circuit components can now be recycles in circuit printers, and automatically + do so upon being removed if a circuit has a linked printer + - spellcheck: Recycling a single item no longer outputs a line with a rogue space + infront of it + Vekter: + - balance: Removes the research requirement from cyborg endoskeletons, meaning they + can be built at roundstart again. + Watermelon914: + - bugfix: Fixed activating specific BCI actions whilst unconsious + - balance: Space suits no longer provide all of the slowdown when wearing space + gear. Helmets now share the burden and you can now move faster when wearing + only a space suit. Helmets now provide a bit of slowdown when worn alone as + a result. + Xackii: + - bugfix: Firelocks can be opened with crowbar rigth-click in combat mode. + carlarctg: + - balance: Supermatter bioscrambler anomalies are now docile. + - balance: Reduced caltrop default paralyze timer from 6 to 2 + flleeppyy: + - rscadd: the cyborg shaker in service borgs now have the ability to open the reaction + search menu + grungussuss: + - balance: bushes and other flora have had their HP reduced from 150 to 100. Trees + still have 150 HP + - balance: flora now has an X4 modifier to damage from burn sources + - balance: MODsuits now deploy 2 times faster + - balance: The infiltrator MODsuit now deploys 4 times faster + - sound: 'added rustle sounds for: toolbox, medkit, box' + - sound: 'added open sounds for: toolbox, box' + - code_imp: added support for giving container items rustle sounds + grungussuss and Beeblie: + - sound: internals breathing sound has received more variance and had its volume + reduced + hack-wrench: + - rscadd: add syndicate branded lipstick to uplink (6 TC), after applying lipstick + *kiss deals damage equal to energy gun + - bugfix: fix wallhit sound for projectile + imedial: + - bugfix: fixed nested radios with encryption keys giving free comms + itseasytosee: + - bugfix: illustrious ethereals now properly get the tenacious trait + - code_imp: more species features have been moved to their individual body parts. + lbnesquik: + - qol: Clarified what the Medical Cyborg Omnitool Upgrade does + - rscadd: Added a cyborg plunger for janitorial modules + loganuk: + - bugfix: AI Players can now operate the BRM (Boulder Retrival Matrix) + mc-oofert: + - bugfix: breaking certain terrain in deathmatch doesnt instantly breach to space + r3dj4ck0424: + - bugfix: In light of recent allegations of wizardry among the kitchen staff, our + cooks will now need bowls when crafting food that comes in bowls. This should + also stop said bowls from vanishing once the food is gone. + raffclar: + - bugfix: Various fixes to TGUI notepad + - bugfix: The first tab is now selected with ore redemption machines when opened + for the first time + tmyqlfpir: + - balance: Reduced pathfinding circuit component cooldown from 30 seconds to 5 seconds +2024-08-16: + Absolucy: + - bugfix: Empty blood brother teams will now be cleaned up, instead of clogging + up the roundend report. + Ben10Omintrix: + - bugfix: fixes surgery table buckle offsets + - bugfix: fixes rcds accounting for player dir only before construction + - bugfix: fixes pickup animation not matching player offset + Bisar: + - bugfix: Potted plants no longer permanently mark you as one of their own. + DATA-xPUNGED: + - qol: Paraplegics can now opt into appearing on the shift without their legs. + Ghommie: + - image: Resprited more types of fillets, and moonfish eggs + - rscadd: Crabs and lobstrosities (as well as the lobster foam helmet and the fishing + hat) now pack a boatload of fish puns. + Jacquerel: + - bugfix: corrects offset of cobweb fluff object + - bugfix: Dimensional anomalies should once again create cool walls, not boring + grey ones + - bugfix: Mobs shown in ghost alerts shouldn't be offset out of the box + - image: Several midround dynamic alert icons should be more demonstrative of what + is spawning + Melbert: + - bugfix: Less floating things on Delta + - rscadd: Auto-generated digitigrade clothing sprites for most jumpsuits + Metekillot: + - bugfix: Raptors properly respect their own factions now. + Sadboysuss: + - qol: atmos meters can now be attached to layer 1 and 5 + - sound: generic ship ambience volume has been reduced + Shadow-Quill: + - bugfix: You can no longer hear radio sounds if you're deaf. + SmArtKar: + - image: Mirrors have been successfully wallened + - bugfix: You can now move horizontally on tall stairs and they no longer have a + hole in them when facing south + - bugfix: Fixed improvised shield crafting recipe being overriden by moonflowers + - image: Floor lights no longer use outdated textures + - balance: Deja Vu perk now teleports you to where you were before the last teleport, + instead of where you arrived on the station + - bugfix: Deja Vu can no longer be used to return to the wizard ship + - bugfix: Blade heretic ascension now gives you floating blades once again + deathrobotpunch: + - rscadd: big pharma now supplies a single pack of experimental medication as an + easy to access (albeit expensive) cargo goodie! + - balance: price for the cargo crate with 2 pill bottles of experimental medication + has been increased to 600 to better reflect the goodie case price. + grungussuss: + - sound: some sheets that shouldn't be making metal sounds no longer make those + sounds + - sound: added new sounds for RCD, RPD and Plumbing Constructor. + tralezab: + - bugfix: bedsheets are laid on beds properly now +2024-08-17: + Ghommie: + - rscadd: Added a treasure chest you can rarely fish from the ocean/beach, with + loot being a mix of fishing and piratey stuff. + - rscadd: You can revive fish with strange reagent now. + - rscadd: You can sell items on the blackmarket with the LTSRBT now. + - bugfix: Added some checks to prevent the swapper device and bluespace anomalies + from theorically being able to send things and people to nullspace. + Jacquerel: + - bugfix: Beepsky and Mice have more appropriately positioned shadows. + Majkl-J: + - bugfix: Trying to repair someone's undamaged limb with a welder or wires no longer + has you smacking them + Shroopy: + - bugfix: Added a light switch to the science hallway in Metastation + SmArtKar: + - rscadd: You can now lean on windows the same way you can lean on walls + - bugfix: You no longer stop leaning on walls after clicking on anything + - qol: Dumping things into microwave en-masse is done via RMB (drag'n'drop support + coming soon!) + - bugfix: RPEDs can now upgrade microwaves + - bugfix: Spies can finally steal microwaves (Use RMB!) + TheVekter: + - bugfix: Updated Metastation for Wallening + Time-Green: + - qol: The Voidwalker wisp void now loops you + unit0016: + - bugfix: Indestructible reinforced walls now mimic their destructible counterparts + as intended. + - bugfix: Every bitrunner domain's been patched up for the new perspective shift. + zxaber: + - image: Airlocks have a better sprite for indicating which directions (if any) + you can pass through without ID access. +2024-08-18: + Ben10Omintrix: + - bugfix: fixes ai controllers incorrectly idling when changing z level + Ghommie: + - bugfix: lights placed on walls with the RLD now face the correct direction. + - bugfix: Fixes lobby buttons from station traits having no name and being unexaminable. + - bugfix: Fixed the shower water visually not coming out behind the showerhead. + Justice12354: + - bugfix: Fixes the rotation of Centcom's Airlocks + KingkumaArt: + - image: Resprited mech drills, plasma cutter, pka and cargo clamp. + LemonInTheDark: + - admin: Subsystem Overview now has the ability to track a rolling average of tick + by tick subsystem cpu usage. + Melbert: + - qol: Icebox now has a trapdoor from Medbay leading into the Morgue (for corpses, + of course) + - bugfix: Patch exploit allowing nigh-infinite heretic points + - qol: Xenos and digi lizards have claw footprints + - qol: Some wall mounts will now consistently layer over others (light switches + and cameras, notably, should always layer above other mounts like signs and + status displays) + MrBagHead: + - bugfix: Swapped East and West sprites for access buttons to correct previous misalignment. + - rscadd: Added South-facing sprite for access buttons. + SmArtKar: + - bugfix: Mechs' directional armor now actually works + - bugfix: Alien beds no longer pretend they can be deconstructed with a wrench + - qol: Wallmount balloons are now clickable + - admin: Stat change is now logged for living mobs + - bugfix: Fixed elephant graveyard active turfs + - bugfix: Fixed random lipstick texture, fake syndie lipstick no longer can randomly + spawn + Timberpoes: + - bugfix: Having the Overflow Role set to On will properly ensure you get that role + at a High priority as intended by the game code. + - bugfix: Job selection is now a little bit more random. Fixes an unintentional + bias in random job assignment that could lead to feast-or-famine for roles where + everyone is assigned one job and nobody is assigned another job. + YesterdaysPromise: + - image: adjusted security barriers to be in 3/4 perspective. + Zytolg: + - bugfix: Updates much of Birdshot for the Wallening + mc-oofert: + - rscadd: portable gravity unit, bought at cargo + necromanceranne: + - rscadd: Drunken fist fighting now has bonuses and penalties based on how intoxicated + you are. Controlled liquor intake could make you a better brawler. Though you + might vomit if you go too hard. + - rscadd: Bartenders are now Drunken Brawlers. If they're drunk at all (no matter + how drunk), they're stronger at fist fighting. + - rscadd: Reintroduces the deterministic stagger combo. The effects of the combo + are more varied, and based on attacker unarmed effectiveness and the defender's + armor. Read the PR for more details. It's complicated. + - qol: Unarmed effects that would utilize stamina values now use a split of half + brute, half burn to determine outcomes or for meeting thresholds. This affects; + punch accuracy, stagger combo thresholds and grab vulnerability thresholds. + thegrb93: + - bugfix: Air alarms stuck in warning state despite area completely fine +2024-08-19: + ArcaneMusic: + - bugfix: Runtimestation's APC is now connected to the grid again. + - rscadd: White crayons (Renamed to Sticks of Chalk) may now be used on dead bodies + to draw a body outline onto the ground easily. + Bisar: + - bugfix: The Nanotrasen Emergency Religious Response Team has blessed the station; + heretic summon rituals now actually consume resources, fixing infinite summon + loops. + Ghommie: + - image: Ported and adapted several food sprites from Aurora, Bay and one instance + from Paradise -- Bacon, plant meat, slime meat, cutlets, crab meat, crab rangoon, + bechamel sauce, cheese curd, waffles, chips, shrimp chips, cheesie honkers, + space twinkie, jerky, peanuts bags, chocolate, boritos, syndicake, popcorn, + pesto, tomato sauce, pineapple slice, pineapple salsa, bran request cereals + and bronx bar have been resprited. + - rscdel: Waffles no longer magically conjure a "waffle tray" trash item when eaten. + - image: Shrunk the arrow shown when pointing at things to be less invasive. + - rscadd: Wearing an ID with the trim of a command/leader position gives you bigger + arrows (about the size of arrows before this PR) which may also be of different + colors. + - rscadd: Added a skillchip that does the same, but also makes the color of the + arrow totally customizable. + - bugfix: ERT engies and medics now come with the engineering and entrails-reader + skillchips respectively, like their station counterparts. + - bugfix: Fixed not facing atoms that you're pointing at. + - rscadd: Added a bluespace fish case to the advanced fishing node. + - balance: Fish cases will keep a fish from getting hungrier or ready to reproduce, + while also healing it up to 65% health. + - balance: Examining a fish with zero fishing skill whatsoever won't give a reading + on its size and weight. Conversely, examining one with the skill leveled two + times will give general information on if it's starving, sick, hungry, or dead. + - bugfix: paintings now drop canvas and frame when knocked off the wall. + Jacquerel: + - bugfix: Whatever the roaches were getting into which made them hover above the + ground seems to have worn off. + - bugfix: Carp, bat, parrot, and dragon corpses no longer float in the air. + Rhials: + - code_imp: Radios/encryption keys now use a single variable for "special" frequencies. + Please report if you experience any strangeness with accessing/being unable + to access the Centcom, Syndicate, or Cyborg radio. + SmArtKar: + - bugfix: Random spraypaint setting now properly paints large decals + - image: Added emissives to departamental signs + - image: Gas tanks got updated worn sprites + - bugfix: Examine balloons for wall-mounted buttons no longer inflate themselves + infinitely + - bugfix: Fixed active turfs on crashsite ruin + - bugfix: Captain's spare safe no longer turns invisible when opened + - bugfix: Fixed soapbox component sometimes runtiming roundstart + - bugfix: Fixed circuit drone pixel/shadow offsets + TwistedSilicon: + - bugfix: Clarkes will no longer become unable to dump ores upon picking a boulder + up. Mine away. + mc-oofert: + - balance: wheelchairs no longer double your movement cooldown if you moved diagonally + norsvenska: + - qol: The CentCom officer's beret has had its slowdown removed to be in line with + the winter coat. + r3dj4ck0424: + - rscadd: A new vendor of cytology equipment, the CytoPro, is now available in your + local science department! + san7890: + - bugfix: The area of the CentCom Z-Level dedicated to the Lobby Screen should look + far better now, with a solid black title screen should the lobby image not load + in/get deleted. + - qol: Reporting issues on the Github should now be a far more simpler experience. + Hitting the "Report Issue" button in the top-right of your BYOND Client Screen + will still autofill in the fields as expected. +2024-08-20: + JohnFulpWillard: + - rscadd: Added Taunting, a faster and cooldowned version of the Spin emote. + - balance: Wizards blocking projectiles with Transparence and the bitrunner matrix + skillchip now have a visible effect of deflecting the projectile. + - balance: The bitrunner skillchip now uses taunt instead of flip. + - balance: The style meter now uses taunting instead of flips and spins. + - bugfix: Statues don't count as eyes to creatures. + - bugfix: Human AIs and Admin ghosts no longer get kicked off of machines that aren't + on cameranets. + SmArtKar: + - image: Utility belts got new tool overlay sprites + - spellcheck: CE's toolbelt is no longer capitalized or considered an improper noun + - balance: PACMANs now have significantly increased power output and take longer + to consume a single sheet + - balance: Inducers can now be recharged with plasma + - balance: Inducers ordered from cargo now start with upgraded megacells instead + of upgraded batteries + - balance: Vomiting from disgust now removes 50 of it from you. + Vekter: + - bugfix: Fixed further Wallening issues on Metastation, including Cargo's shuttle + door buttons and Xenobiology's access buttons. + - rscdel: Removed department directional signs from Metastation as they are currently + broken. They will return once they've been fixed. + Zytolg: + - bugfix: Continues to update Birdshot into a postwallening playable state + carlarctg: + - rscadd: Added three new DM maps - Ragnarok, Lattice Battles, Species Showdown. + mc-oofert: + - bugfix: spawning on a table or other elevated object does not offset you forever +2024-08-21: + Ghommie: + - rscadd: Added twelve new fish types to the game. Some are cool, other are not, + some come with their own special traits and some are straight-up weapons. + - rscadd: Added more fishing spots to the game. Sand, ice, rivers, the cursed spring... + - balance: A few fish like salmon, swordfish and pufferfish (poisonous btw) now + give better quality fillets when butchered, which can improve the quality of + food that uses them even further. + - balance: Excessive fish weight will make the fish slowier to carry, while excessive + size may make it require two hands. + - balance: Adjusted size, weight and cooldowns of several fish, for the better. + Iamgoofball: + - balance: Air alarms are now usable by Station Engineers as well as Atmospherics + Technicians. + Rhials: + - bugfix: Adjusts some areas by the Icebox Cliffside Bench to generate a bit less + weirdly. + - sound: '"radio message received" audio now has a brief cooldown.' + - bugfix: Beepsky will now salute commissioned bots, instead of himself, when encountering + one. + SmArtKar: + - bugfix: Ragnarok deathmatch arena now has noteleport area + - bugfix: Replaced a locked cabinet that you cannot open in ninja den with an unlocked + one + - qol: Haunted 8ball now gives you a TGUI input with your question for ghosts instead + of telling them the last thing it heard. + - image: 8ball has received a resprite + - bugfix: Fixed examine balloons not being click transparent even while inactive + - image: Updated cryostasis beaker's sprite + grungussuss: + - sound: computers now make clicky clacky sounds diff --git a/html/statbrowser.css b/html/statbrowser.css index dc693f42f756b..cd1d63bf7c060 100644 --- a/html/statbrowser.css +++ b/html/statbrowser.css @@ -1,150 +1,125 @@ body { font-family: Verdana, Geneva, Tahoma, sans-serif; - font-size: 12px !important; + font-size: 12px; margin: 0 !important; padding: 0 !important; - overflow-x: hidden; - overflow-y: scroll; -} - -body.dark { - background-color: #131313; - color: #b2c4dd; - scrollbar-base-color: #1c1c1c; - scrollbar-face-color: #3b3b3b; - scrollbar-3dlight-color: #252525; - scrollbar-highlight-color: #252525; - scrollbar-track-color: #1c1c1c; - scrollbar-arrow-color: #929292; - scrollbar-shadow-color: #3b3b3b; -} - -#menu { - background-color: #F0F0F0; - position: fixed; - width: 100%; - z-index: 100; -} - -.dark #menu { - background-color: #202020; -} - -#statcontent { - padding: 7px 7px 7px 7px; + overflow: hidden; } a { - color: black; - text-decoration: none -} - -.dark a { - color: #b2c4dd; + color: #003399; + text-decoration: none; } -a:hover, -.dark a:hover { - text-decoration: underline; +a:hover { + color: #007fff; } -ul { - list-style-type: none; - margin: 0; - padding: 0; - background-color: #333; +h3 { + margin: 0 -0.5em 0.25em; + padding: 1em 0.66em 0.5em; + border-bottom: 0.1667em solid; } -li { - float: left; -} -li a { - display: block; - color: white; - text-align: center; - padding: 14px 16px; - text-decoration: none; +img { + -ms-interpolation-mode: nearest-neighbor; + image-rendering: pixelated; } -li a:hover:not(.active) { - background-color: #111; +.stat-container { + display: flex; + flex-direction: column; + height: 100vh; } -.button-container { - display: inline-flex; - flex-wrap: wrap-reverse; - flex-direction: row; - align-items: flex-start; - overflow-x: hidden; - white-space: pre-wrap; - padding: 0 4px; +#menu { + display: flex; + overflow-x: auto; + overflow-y: hidden; + padding: 0.25em 0.25em 0; + background-color: #ffffff; } .button { - background-color: #dfdfdf; - border: 1px solid #cecece; - border-bottom-width: 2px; - color: rgba(0, 0, 0, 0.7); - padding: 6px 4px 4px; - text-align: center; - text-decoration: none; - font-size: 12px; - margin: 0; + display: inline-table; cursor: pointer; - transition-duration: 100ms; - order: 3; - min-width: 40px; -} - -.dark button { - background-color: #222222; - border-color: #343434; - color: rgba(255, 255, 255, 0.5); + user-select: none; + -ms-user-select: none; /* Remove after Byond 516 */ + text-align: center; + font-size: 1em; + min-width: 2.9em; + padding: 0.5em 0.5em 0.4em; + background-color: transparent; + color: rgba(0, 0, 0, 0.5); + border: 0; + border-bottom: 0.1667em solid transparent; + border-radius: 0.25em 0.25em 0 0; } .button:hover { background-color: #ececec; - transition-duration: 0; -} - -.dark button:hover { - background-color: #2e2e2e; } -.button:active, .button.active { - background-color: #ffffff; + background-color: #dfdfdf; color: black; - border-top-color: #cecece; - border-left-color: #cecece; - border-right-color: #cecece; - border-bottom-color: #ffffff; + border-bottom-color: #000000; +} + +#under-menu { + height: 0.5em; + background-color: #eeeeee; } -.dark .button:active, -.dark .button.active { - background-color: #444444; - color: white; - border-top-color: #343434; - border-left-color: #343434; - border-right-color: #343434; - border-bottom-color: #ffffff; +#statcontent { + flex: 1; + padding: 0.75em 0.5em; + overflow-y: scroll; + overflow-x: hidden; } .grid-container { - margin: -2px; - margin-right: -15px; + margin: 0; } .grid-item { + display: inline-flex; position: relative; - display: inline-block; + user-select: none; + -ms-user-select: none; /* Remove after Byond 516 */ width: 100%; box-sizing: border-box; - overflow: visible; - padding: 3px 2px; text-decoration: none; + background-color: transparent; + color: black; +} + +.grid-item:hover { + color: #003399; + z-index: 1; +} + +.grid-item-text { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; + box-sizing: border-box; + white-space: nowrap; + width: 100%; + padding: 0.33em 0.5em; + border-radius: 0.25em; +} + +.grid-item-text:hover { + position: absolute; + top: -1.33em; + white-space: normal; + background-color: #ececec; +} + +.grid-item-text:active { + background-color: #dfdfdf; } @media only screen and (min-width: 300px) { @@ -171,57 +146,67 @@ li a:hover:not(.active) { } } -.grid-item:hover { - z-index: 1; +.status-info { + margin: 0 0.33em 0.25em; } -.grid-item:hover .grid-item-text { - width: auto; - text-decoration: underline; +.interview_panel_stats, +.interview_panel_controls { + margin-bottom: 1em; } -.grid-item-text { - display: inline-block; - width: 100%; - background-color: #ffffff; - margin: 0 -6px; - padding: 0 6px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - pointer-events: none; +/* Dark theme colors */ +body.dark { + background-color: #131313; + color: #b2c4dd; + scrollbar-base-color: #1c1c1c; + scrollbar-face-color: #3b3b3b; + scrollbar-3dlight-color: #252525; + scrollbar-highlight-color: #252525; + scrollbar-track-color: #1c1c1c; + scrollbar-arrow-color: #929292; + scrollbar-shadow-color: #3b3b3b; +} + +.dark a { + color: #6699ff; +} + +.dark a:hover, +.dark .grid-item:hover { + color: #80bfff; } -.dark .grid-item-text { +.dark #menu { background-color: #131313; } -.link { - display: inline; - background: none; - border: none; - padding: 7px 14px; - color: black; - text-decoration: none; - cursor: pointer; - font-size: 13px; - margin: 2px 2px; +.dark .button { + color: rgba(255, 255, 255, 0.5); } -.dark .link { - color: #abc6ec; +.dark .button:hover { + background-color: #252525; } -.link:hover { - text-decoration: underline; +.dark .button.active { + background-color: #313131; + color: #d4dfec; + border-bottom-color: #d4dfec; } -img { - -ms-interpolation-mode: nearest-neighbor; - image-rendering: pixelated; +.dark #under-menu { + background-color: #202020; +} + +.dark .grid-item{ + color: #b2c4dd; +} + +.dark .grid-item-text:hover { + background-color: #252525; } -.interview_panel_controls, -.interview_panel_stats { - margin-bottom: 10px; +.dark .grid-item-text:active { + background-color: #313131; } diff --git a/html/statbrowser.html b/html/statbrowser.html index 1aea8811d58a0..ffd7425bd2607 100644 --- a/html/statbrowser.html +++ b/html/statbrowser.html @@ -1,3 +1,5 @@ - -
    -
    +
    + +
    +
    +
    diff --git a/html/statbrowser.js b/html/statbrowser.js index 0d89487af5b39..f6c188c6edd61 100644 --- a/html/statbrowser.js +++ b/html/statbrowser.js @@ -32,7 +32,6 @@ var turfname = ""; var imageRetryDelay = 500; var imageRetryLimit = 50; var menu = document.getElementById('menu'); -var under_menu = document.getElementById('under_menu'); var statcontentdiv = document.getElementById('statcontent'); var storedimages = []; var split_admin_tabs = false; @@ -58,23 +57,23 @@ function createStatusTab(name) { if (!verb_tabs.includes(name) && !permanent_tabs.includes(name)) { return; } - var B = document.createElement("BUTTON"); - B.onclick = function () { + var button = document.createElement("DIV"); + button.onclick = function () { tab_change(name); this.blur(); + statcontentdiv.focus(); }; - B.id = name; - B.textContent = name; - B.className = "button"; + button.id = name; + button.textContent = name; + button.className = "button"; //ORDERING ALPHABETICALLY - B.style.order = name.charCodeAt(0); + button.style.order = name.charCodeAt(0); if (name == "Status" || name == "MC") { - B.style.order = name == "Status" ? 1 : 2; + button.style.order = name == "Status" ? 1 : 2; } //END ORDERING - menu.appendChild(B); + menu.appendChild(button); SendTabToByond(name); - under_menu.style.height = menu.clientHeight + 'px'; } function removeStatusTab(name) { @@ -88,7 +87,6 @@ function removeStatusTab(name) { } menu.removeChild(document.getElementById(name)); TakeTabFromByond(name); - under_menu.style.height = menu.clientHeight + 'px'; } function sortVerbs() { @@ -104,10 +102,6 @@ function sortVerbs() { }) } -window.onresize = function () { - under_menu.style.height = menu.clientHeight + 'px'; -} - function addPermanentTab(name) { if (!permanent_tabs.includes(name)) { permanent_tabs.push(name); @@ -361,6 +355,7 @@ function draw_status() { } else { var div = document.createElement("div"); div.textContent = status_tab_parts[i]; + div.className = "status-info"; document.getElementById("statcontent").appendChild(div); } } @@ -717,6 +712,10 @@ function set_theme(which) { } } +function set_font_size(size) { + document.body.style.setProperty('font-size', size); +} + function set_style_sheet(sheet) { if (document.getElementById("goonStyle")) { var currentSheet = document.getElementById("goonStyle"); diff --git a/icons/area/areas_centcom.dmi b/icons/area/areas_centcom.dmi index a3e8aafb72fb7..a33055722ffc4 100644 Binary files a/icons/area/areas_centcom.dmi and b/icons/area/areas_centcom.dmi differ diff --git a/icons/area/areas_ruins.dmi b/icons/area/areas_ruins.dmi index f4b67ee6495fa..2b25401250b20 100644 Binary files a/icons/area/areas_ruins.dmi and b/icons/area/areas_ruins.dmi differ diff --git a/icons/effects/32x48.dmi b/icons/effects/32x48.dmi new file mode 100644 index 0000000000000..d774857387aaa Binary files /dev/null and b/icons/effects/32x48.dmi differ diff --git a/icons/effects/atmos/antinoblium.dmi b/icons/effects/atmos/antinoblium.dmi new file mode 100644 index 0000000000000..70efe77bb14a5 Binary files /dev/null and b/icons/effects/atmos/antinoblium.dmi differ diff --git a/icons/effects/atmos/antinoblium.png b/icons/effects/atmos/antinoblium.png new file mode 100644 index 0000000000000..48c0cc3b42d5d Binary files /dev/null and b/icons/effects/atmos/antinoblium.png differ diff --git a/icons/effects/atmos/antinoblium.png.toml b/icons/effects/atmos/antinoblium.png.toml new file mode 100644 index 0000000000000..49cb76809aa70 --- /dev/null +++ b/icons/effects/atmos/antinoblium.png.toml @@ -0,0 +1,6 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1, 1] + diff --git a/icons/effects/atmos/atmospherics.dmi b/icons/effects/atmos/atmospherics.dmi new file mode 100644 index 0000000000000..802f2498384e2 Binary files /dev/null and b/icons/effects/atmos/atmospherics.dmi differ diff --git a/icons/effects/atmos/fire.dmi b/icons/effects/atmos/fire.dmi new file mode 100644 index 0000000000000..dafa284c40ef6 Binary files /dev/null and b/icons/effects/atmos/fire.dmi differ diff --git a/icons/effects/atmos/freon.dmi b/icons/effects/atmos/freon.dmi new file mode 100644 index 0000000000000..c4bc0b06b8288 Binary files /dev/null and b/icons/effects/atmos/freon.dmi differ diff --git a/icons/effects/atmos/freon.png b/icons/effects/atmos/freon.png new file mode 100644 index 0000000000000..5df3c35339f90 Binary files /dev/null and b/icons/effects/atmos/freon.png differ diff --git a/icons/effects/atmos/freon.png.toml b/icons/effects/atmos/freon.png.toml new file mode 100644 index 0000000000000..d418e00ea57d5 --- /dev/null +++ b/icons/effects/atmos/freon.png.toml @@ -0,0 +1,5 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] diff --git a/icons/effects/atmos/halon.dmi b/icons/effects/atmos/halon.dmi new file mode 100644 index 0000000000000..3503de47de236 Binary files /dev/null and b/icons/effects/atmos/halon.dmi differ diff --git a/icons/effects/atmos/halon.png b/icons/effects/atmos/halon.png new file mode 100644 index 0000000000000..7e394491a17f7 Binary files /dev/null and b/icons/effects/atmos/halon.png differ diff --git a/icons/effects/atmos/halon.png.toml b/icons/effects/atmos/halon.png.toml new file mode 100644 index 0000000000000..041b16f6f011e --- /dev/null +++ b/icons/effects/atmos/halon.png.toml @@ -0,0 +1,5 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1, 1] diff --git a/icons/effects/atmos/healium.dmi b/icons/effects/atmos/healium.dmi new file mode 100644 index 0000000000000..d4327061ff8fa Binary files /dev/null and b/icons/effects/atmos/healium.dmi differ diff --git a/icons/effects/atmos/healium.png b/icons/effects/atmos/healium.png new file mode 100644 index 0000000000000..a99235380e32a Binary files /dev/null and b/icons/effects/atmos/healium.png differ diff --git a/icons/effects/atmos/healium.png.toml b/icons/effects/atmos/healium.png.toml new file mode 100644 index 0000000000000..55cd4a77b3aff --- /dev/null +++ b/icons/effects/atmos/healium.png.toml @@ -0,0 +1,6 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] + diff --git a/icons/effects/atmos/miasma.dmi b/icons/effects/atmos/miasma.dmi new file mode 100644 index 0000000000000..56be8a16e995d Binary files /dev/null and b/icons/effects/atmos/miasma.dmi differ diff --git a/icons/effects/atmos/miasma.png b/icons/effects/atmos/miasma.png new file mode 100644 index 0000000000000..733a076e6c5ee Binary files /dev/null and b/icons/effects/atmos/miasma.png differ diff --git a/icons/effects/atmos/miasma.png.toml b/icons/effects/atmos/miasma.png.toml new file mode 100644 index 0000000000000..d418e00ea57d5 --- /dev/null +++ b/icons/effects/atmos/miasma.png.toml @@ -0,0 +1,5 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] diff --git a/icons/effects/atmos/nitrium.dmi b/icons/effects/atmos/nitrium.dmi new file mode 100644 index 0000000000000..1e9b9f7524522 Binary files /dev/null and b/icons/effects/atmos/nitrium.dmi differ diff --git a/icons/effects/atmos/nitrium.png b/icons/effects/atmos/nitrium.png new file mode 100644 index 0000000000000..3d191f7364bde Binary files /dev/null and b/icons/effects/atmos/nitrium.png differ diff --git a/icons/effects/atmos/nitrium.png.toml b/icons/effects/atmos/nitrium.png.toml new file mode 100644 index 0000000000000..041b16f6f011e --- /dev/null +++ b/icons/effects/atmos/nitrium.png.toml @@ -0,0 +1,5 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1, 1] diff --git a/icons/effects/atmos/nitrous_oxide.dmi b/icons/effects/atmos/nitrous_oxide.dmi new file mode 100644 index 0000000000000..5475a255f2d85 Binary files /dev/null and b/icons/effects/atmos/nitrous_oxide.dmi differ diff --git a/icons/effects/atmos/nitrous_oxide.png b/icons/effects/atmos/nitrous_oxide.png new file mode 100644 index 0000000000000..e247b37f286f9 Binary files /dev/null and b/icons/effects/atmos/nitrous_oxide.png differ diff --git a/icons/effects/atmos/nitrous_oxide.png.toml b/icons/effects/atmos/nitrous_oxide.png.toml new file mode 100644 index 0000000000000..55cd4a77b3aff --- /dev/null +++ b/icons/effects/atmos/nitrous_oxide.png.toml @@ -0,0 +1,6 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] + diff --git a/icons/effects/atmos/plasma.dmi b/icons/effects/atmos/plasma.dmi new file mode 100644 index 0000000000000..61192114f730a Binary files /dev/null and b/icons/effects/atmos/plasma.dmi differ diff --git a/icons/effects/atmos/plasma.png b/icons/effects/atmos/plasma.png new file mode 100644 index 0000000000000..9011849ef9542 Binary files /dev/null and b/icons/effects/atmos/plasma.png differ diff --git a/icons/effects/atmos/plasma.png.toml b/icons/effects/atmos/plasma.png.toml new file mode 100644 index 0000000000000..146cf44759276 --- /dev/null +++ b/icons/effects/atmos/plasma.png.toml @@ -0,0 +1,5 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1] diff --git a/icons/effects/atmos/proto_nitrate.dmi b/icons/effects/atmos/proto_nitrate.dmi new file mode 100644 index 0000000000000..e1410a46c5302 Binary files /dev/null and b/icons/effects/atmos/proto_nitrate.dmi differ diff --git a/icons/effects/atmos/proto_nitrate.png b/icons/effects/atmos/proto_nitrate.png new file mode 100644 index 0000000000000..79e18cf42eee5 Binary files /dev/null and b/icons/effects/atmos/proto_nitrate.png differ diff --git a/icons/effects/atmos/proto_nitrate.png.toml b/icons/effects/atmos/proto_nitrate.png.toml new file mode 100644 index 0000000000000..55cd4a77b3aff --- /dev/null +++ b/icons/effects/atmos/proto_nitrate.png.toml @@ -0,0 +1,6 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] + diff --git a/icons/effects/atmos/tritium.dmi b/icons/effects/atmos/tritium.dmi new file mode 100644 index 0000000000000..7d3d64abbe2a7 Binary files /dev/null and b/icons/effects/atmos/tritium.dmi differ diff --git a/icons/effects/atmos/tritium.png b/icons/effects/atmos/tritium.png new file mode 100644 index 0000000000000..34ab5cb531743 Binary files /dev/null and b/icons/effects/atmos/tritium.png differ diff --git a/icons/effects/atmos/tritium.png.toml b/icons/effects/atmos/tritium.png.toml new file mode 100644 index 0000000000000..55cd4a77b3aff --- /dev/null +++ b/icons/effects/atmos/tritium.png.toml @@ -0,0 +1,6 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] + diff --git a/icons/effects/atmos/water_vapor.dmi b/icons/effects/atmos/water_vapor.dmi new file mode 100644 index 0000000000000..7a3af29a8df2f Binary files /dev/null and b/icons/effects/atmos/water_vapor.dmi differ diff --git a/icons/effects/atmos/water_vapor.png b/icons/effects/atmos/water_vapor.png new file mode 100644 index 0000000000000..85c03765d7fd9 Binary files /dev/null and b/icons/effects/atmos/water_vapor.png differ diff --git a/icons/effects/atmos/water_vapor.png.toml b/icons/effects/atmos/water_vapor.png.toml new file mode 100644 index 0000000000000..8834d9bd110f9 --- /dev/null +++ b/icons/effects/atmos/water_vapor.png.toml @@ -0,0 +1,5 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [2, 2, 2.5, 2, 2.5] diff --git a/icons/effects/atmos/zauker.dmi b/icons/effects/atmos/zauker.dmi new file mode 100644 index 0000000000000..781d176be82f5 Binary files /dev/null and b/icons/effects/atmos/zauker.dmi differ diff --git a/icons/effects/atmos/zauker.png b/icons/effects/atmos/zauker.png new file mode 100644 index 0000000000000..fae723a7544fd Binary files /dev/null and b/icons/effects/atmos/zauker.png differ diff --git a/icons/effects/atmos/zauker.png.toml b/icons/effects/atmos/zauker.png.toml new file mode 100644 index 0000000000000..55cd4a77b3aff --- /dev/null +++ b/icons/effects/atmos/zauker.png.toml @@ -0,0 +1,6 @@ +output_name = "" +template = "bitmask/gas.toml" + +[animation] +delays = [1, 1, 1, 1, 1] + diff --git a/icons/effects/atmospherics.dmi b/icons/effects/atmospherics.dmi deleted file mode 100644 index 838fe5e3f6da9..0000000000000 Binary files a/icons/effects/atmospherics.dmi and /dev/null differ diff --git a/icons/effects/beam.dmi b/icons/effects/beam.dmi index ae668b0495a56..85d450e03bdd6 100644 Binary files a/icons/effects/beam.dmi and b/icons/effects/beam.dmi differ diff --git a/icons/effects/blind_effects.dmi b/icons/effects/blind_effects.dmi new file mode 100644 index 0000000000000..877f4ad8062be Binary files /dev/null and b/icons/effects/blind_effects.dmi differ diff --git a/icons/effects/callouts.dmi b/icons/effects/callouts.dmi new file mode 100644 index 0000000000000..583f47d52b347 Binary files /dev/null and b/icons/effects/callouts.dmi differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 633004afacad2..14b0ae709f7ed 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/fire.dmi b/icons/effects/fire.dmi deleted file mode 100644 index 113e16163ecdc..0000000000000 Binary files a/icons/effects/fire.dmi and /dev/null differ diff --git a/icons/effects/frill_mask.dmi b/icons/effects/frill_mask.dmi new file mode 100644 index 0000000000000..cb3b6cff3b9b3 Binary files /dev/null and b/icons/effects/frill_mask.dmi differ diff --git a/icons/effects/glow_weather.dmi b/icons/effects/glow_weather.dmi index 021da02fe37be..ccd67104bd1f3 100644 Binary files a/icons/effects/glow_weather.dmi and b/icons/effects/glow_weather.dmi differ diff --git a/icons/effects/holosigns.dmi b/icons/effects/holosigns.dmi new file mode 100644 index 0000000000000..9d951114b773d Binary files /dev/null and b/icons/effects/holosigns.dmi differ diff --git a/icons/effects/lighting_object.dmi b/icons/effects/lighting_object.dmi deleted file mode 100644 index d2e503958723f..0000000000000 Binary files a/icons/effects/lighting_object.dmi and /dev/null differ diff --git a/icons/effects/lighting_objects/README.MD b/icons/effects/lighting_objects/README.MD new file mode 100644 index 0000000000000..31b312478ac0a --- /dev/null +++ b/icons/effects/lighting_objects/README.MD @@ -0,0 +1,21 @@ +## Lighting Objects + +This is a short aside about lighting objects +See [the main visuals guide](/.github/guides/VISUALS.md#lighting) for more info, I just want to talk about how these work practically. + +Ok so each turf is split up into corners, bottom left, bottom right, top left, top right. +Each corner gets its own color, and the intensity of that color determines how much each "corner" impacts each pixel (with all 4 colors summing to 255 on each pixel). + +What happens if we want to render tall walls though? we only want to show the sides you can see, and we want lighting to like "form" to the wall right? + +Well that's really not that hard. Instead of using the standard icon, we can use one generated for that wall. That's why you'll see 3 different splitvis cutter configs here. One is for black, one is for fullbright and the final is for anything in between. + +If you modify them, remember to insert their output into lighting_object.dmi (this is an optimization lighting code is slow can't afford to change icon constantly) + +It's a bit hard to tell what's going on just looking straight at it since alpha is a component, and that makes things hard to see. +Opening the png in byond and setting things to not show alpha helps a lot. + +The main idea is rather then just a flat square, we shape our gradients to match the shape of the wall, and how light would interact with it. + +This was done using a python script to generate the gradients for each "bit". The script is adapted from work done by Mister-Moriarty for goonstation, can find the original [here](https://github.com/goonstation/goonstation/pull/14322) and the version we use [here](./light_gen.py) + diff --git a/icons/effects/lighting_objects/light_gen.py b/icons/effects/lighting_objects/light_gen.py new file mode 100644 index 0000000000000..cdb73c88144fe --- /dev/null +++ b/icons/effects/lighting_objects/light_gen.py @@ -0,0 +1,37 @@ +# Based off the script found in https://github.com/goonstation/goonstation/pull/14322 by Mister-Moriarty +# Modified by LemonInTheDark to make copy pasting segments easier +import matplotlib.pyplot as plt +import numpy as np +from PIL import Image, ImageOps + +# Modify this to create slices that you can stitch together later +array_width = 32 +array_height = 32 + +def create_array(upperleft, upperright, lowerleft, lowerright): + array = np.linspace( + np.linspace(upperleft, upperright, array_width), + np.linspace(lowerleft, lowerright, array_width), + array_height, dtype = np.uint8) + + return array[:, :, None] + +r = create_array(0, 0, 255, 0) +g = create_array(0, 0, 0, 255) +b = create_array(255, 0, 0, 0) +# Needs 1 so byond doesn't yeet it +a = create_array(1, 255, 1, 1) + +image = np.concatenate([r, g, b, a], axis=2) + +plt.imshow(image) +plt.axis("off") +# we're doing a bunch of bullshit here to try to get a clean drop in image we can stitch together +# it sometimes has alpha artifacting issues depending on how it's copied, I'm sorry IDK how else to deal w it +fig = plt.figure(frameon=False) +fig.set_size_inches(array_width / 100, array_height / 100) +ax = plt.Axes(fig, [0., 0., 1., 1.]) +ax.set_axis_off() +fig.add_axes(ax) +ax.imshow(image, aspect='auto') +fig.savefig("output.png", transparent = True) diff --git a/icons/effects/lighting_objects/lighting_object.dmi b/icons/effects/lighting_objects/lighting_object.dmi new file mode 100644 index 0000000000000..9fefc31f59cc4 Binary files /dev/null and b/icons/effects/lighting_objects/lighting_object.dmi differ diff --git a/icons/effects/lighting_objects/wall_dark.dmi b/icons/effects/lighting_objects/wall_dark.dmi new file mode 100644 index 0000000000000..f9e4e3add2c98 Binary files /dev/null and b/icons/effects/lighting_objects/wall_dark.dmi differ diff --git a/icons/effects/lighting_objects/wall_dark.png b/icons/effects/lighting_objects/wall_dark.png new file mode 100644 index 0000000000000..cf33da5796d10 Binary files /dev/null and b/icons/effects/lighting_objects/wall_dark.png differ diff --git a/icons/effects/lighting_objects/wall_dark.png.toml b/icons/effects/lighting_objects/wall_dark.png.toml new file mode 100644 index 0000000000000..4a059c2c7db70 --- /dev/null +++ b/icons/effects/lighting_objects/wall_dark.png.toml @@ -0,0 +1,28 @@ +mode = "BitmaskSlice" + +output_name = "dark" +produce_dirs = false +smooth_diagonally = true + +[icon_size] +x = 32 +y = 32 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 32 +y = 32 + +[positions] +convex = 0 +concave = 1 +horizontal = 2 +vertical = 3 +flat = 4 + +[cut_pos] +x = 16 +y = 0 diff --git a/icons/effects/lighting_objects/wall_lighting.dmi b/icons/effects/lighting_objects/wall_lighting.dmi new file mode 100644 index 0000000000000..edb6b38aa5098 Binary files /dev/null and b/icons/effects/lighting_objects/wall_lighting.dmi differ diff --git a/icons/effects/lighting_objects/wall_lighting.png b/icons/effects/lighting_objects/wall_lighting.png new file mode 100644 index 0000000000000..3c37429488699 Binary files /dev/null and b/icons/effects/lighting_objects/wall_lighting.png differ diff --git a/icons/effects/lighting_objects/wall_lighting.png.toml b/icons/effects/lighting_objects/wall_lighting.png.toml new file mode 100644 index 0000000000000..0a723129753bd --- /dev/null +++ b/icons/effects/lighting_objects/wall_lighting.png.toml @@ -0,0 +1,27 @@ +mode = "BitmaskSlice" + +produce_dirs = false +smooth_diagonally = true + +[icon_size] +x = 32 +y = 32 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 32 +y = 32 + +[positions] +convex = 0 +concave = 1 +horizontal = 2 +vertical = 3 +flat = 4 + +[cut_pos] +x = 16 +y = 0 diff --git a/icons/effects/lighting_objects/wall_transparent.dmi b/icons/effects/lighting_objects/wall_transparent.dmi new file mode 100644 index 0000000000000..c5016d0122bbe Binary files /dev/null and b/icons/effects/lighting_objects/wall_transparent.dmi differ diff --git a/icons/effects/lighting_objects/wall_transparent.png b/icons/effects/lighting_objects/wall_transparent.png new file mode 100644 index 0000000000000..031b8bebf9e84 Binary files /dev/null and b/icons/effects/lighting_objects/wall_transparent.png differ diff --git a/icons/effects/lighting_objects/wall_transparent.png.toml b/icons/effects/lighting_objects/wall_transparent.png.toml new file mode 100644 index 0000000000000..2ff5df8b95c3a --- /dev/null +++ b/icons/effects/lighting_objects/wall_transparent.png.toml @@ -0,0 +1,28 @@ +mode = "BitmaskSlice" + +output_name = "transparent" +produce_dirs = false +smooth_diagonally = true + +[icon_size] +x = 32 +y = 32 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 32 +y = 32 + +[positions] +convex = 0 +concave = 1 +horizontal = 2 +vertical = 3 +flat = 4 + +[cut_pos] +x = 16 +y = 0 diff --git a/icons/effects/mouse_pointers/lace.dmi b/icons/effects/mouse_pointers/lace.dmi new file mode 100644 index 0000000000000..68aad755c627e Binary files /dev/null and b/icons/effects/mouse_pointers/lace.dmi differ diff --git a/icons/effects/particles/voidwalker.dmi b/icons/effects/particles/voidwalker.dmi new file mode 100644 index 0000000000000..d7f94c987979a Binary files /dev/null and b/icons/effects/particles/voidwalker.dmi differ diff --git a/icons/effects/rcd.dmi b/icons/effects/rcd.dmi index efb13bfb11a15..11ccf072c532c 100644 Binary files a/icons/effects/rcd.dmi and b/icons/effects/rcd.dmi differ diff --git a/icons/effects/vis_darkness.dmi b/icons/effects/vis_darkness.dmi new file mode 100644 index 0000000000000..ce8c4618c6e02 Binary files /dev/null and b/icons/effects/vis_darkness.dmi differ diff --git a/icons/effects/vis_darkness.png b/icons/effects/vis_darkness.png new file mode 100644 index 0000000000000..cb9cf8c448a11 Binary files /dev/null and b/icons/effects/vis_darkness.png differ diff --git a/icons/effects/vis_darkness.png.toml b/icons/effects/vis_darkness.png.toml new file mode 100644 index 0000000000000..6e581ea7fcfa2 --- /dev/null +++ b/icons/effects/vis_darkness.png.toml @@ -0,0 +1,26 @@ +mode = "BitmaskSlice" +produce_dirs = false +smooth_diagonally = true + +[icon_size] +x = 42 +y = 64 + +[output_icon_pos] +x = 0 +y = 0 + +[output_icon_size] +x = 42 +y = 64 + +[cut_pos] +x = 21 +y = 32 + +[positions] +convex = 0 +vertical = 1 +concave = 2 +horizontal = 3 +flat = 4 diff --git a/icons/effects/vis_mask.dmi b/icons/effects/vis_mask.dmi new file mode 100644 index 0000000000000..d4076906a5183 Binary files /dev/null and b/icons/effects/vis_mask.dmi differ diff --git a/icons/effects/weather_effects.dmi b/icons/effects/weather_effects.dmi index fa21b2d12eb63..bb44e7f38a282 100644 Binary files a/icons/effects/weather_effects.dmi and b/icons/effects/weather_effects.dmi differ diff --git a/icons/hud/fishing_hud.dmi b/icons/hud/fishing_hud.dmi index 58c478d071064..0a952615d58e7 100644 Binary files a/icons/hud/fishing_hud.dmi and b/icons/hud/fishing_hud.dmi differ diff --git a/icons/hud/radial.dmi b/icons/hud/radial.dmi index e4a1693fb573e..f6e141ab6855a 100644 Binary files a/icons/hud/radial.dmi and b/icons/hud/radial.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index dda7d6cc635af..10d0b741f0b7c 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/hud/screen_gen.dmi b/icons/hud/screen_gen.dmi index 9792124d1b68c..1a04bd6de7646 100644 Binary files a/icons/hud/screen_gen.dmi and b/icons/hud/screen_gen.dmi differ diff --git a/icons/mob/actions/actions_spells.dmi b/icons/mob/actions/actions_spells.dmi index b8d3c3ce34b54..335229641fa82 100644 Binary files a/icons/mob/actions/actions_spells.dmi and b/icons/mob/actions/actions_spells.dmi differ diff --git a/icons/mob/actions/actions_voidwalker.dmi b/icons/mob/actions/actions_voidwalker.dmi new file mode 100644 index 0000000000000..fd0825994d089 Binary files /dev/null and b/icons/mob/actions/actions_voidwalker.dmi differ diff --git a/icons/mob/actions/backgrounds.dmi b/icons/mob/actions/backgrounds.dmi index c9aa153453880..c8f8b723f9e96 100644 Binary files a/icons/mob/actions/backgrounds.dmi and b/icons/mob/actions/backgrounds.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index be83d83d4228c..8c3748e8667e9 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index a2d318adfb7d1..4a6cc7ac5c9dd 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi index 9594f6227730f..7410e2db20b37 100644 Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index 3ae1eb68e865f..95a3790ac7331 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index ded01542e31b6..b62b6a0a8ee58 100644 Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ diff --git a/icons/mob/clothing/head/costume.dmi b/icons/mob/clothing/head/costume.dmi index 1f4f12ff8c8c8..09c11ca0acba3 100644 Binary files a/icons/mob/clothing/head/costume.dmi and b/icons/mob/clothing/head/costume.dmi differ diff --git a/icons/mob/clothing/head/helmet.dmi b/icons/mob/clothing/head/helmet.dmi index 116f0256a6276..579f4c53f0f97 100644 Binary files a/icons/mob/clothing/head/helmet.dmi and b/icons/mob/clothing/head/helmet.dmi differ diff --git a/icons/mob/clothing/head/wizard.dmi b/icons/mob/clothing/head/wizard.dmi index 785ed63ca5bde..cafde2136f740 100644 Binary files a/icons/mob/clothing/head/wizard.dmi and b/icons/mob/clothing/head/wizard.dmi differ diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 22c7ae3ac49c0..ac40c153dd784 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi index 64affedb2de4c..cb2a472c32ed6 100644 Binary files a/icons/mob/clothing/modsuit/mod_clothing.dmi and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi index 3c41dac86b2d4..4f2dc9740d1f7 100644 Binary files a/icons/mob/clothing/modsuit/mod_modules.dmi and b/icons/mob/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index ed0bb34b46449..3467f752ac3a5 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi index eb7a525e4b78f..ea80204c2cdcc 100644 Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ diff --git a/icons/mob/clothing/suits/wizard.dmi b/icons/mob/clothing/suits/wizard.dmi index 454bc1f3cf1e6..9e8c8224130c0 100644 Binary files a/icons/mob/clothing/suits/wizard.dmi and b/icons/mob/clothing/suits/wizard.dmi differ diff --git a/icons/mob/clothing/under/costume.dmi b/icons/mob/clothing/under/costume.dmi index 34703c070589d..34612120ea630 100644 Binary files a/icons/mob/clothing/under/costume.dmi and b/icons/mob/clothing/under/costume.dmi differ diff --git a/icons/mob/clothing/under/digi_template.dmi b/icons/mob/clothing/under/digi_template.dmi new file mode 100644 index 0000000000000..0c9db80eb1c88 Binary files /dev/null and b/icons/mob/clothing/under/digi_template.dmi differ diff --git a/icons/mob/clothing/under/masking_helpers.dmi b/icons/mob/clothing/under/masking_helpers.dmi index 9ee54a598fad5..dfbec7d1cb8ec 100644 Binary files a/icons/mob/clothing/under/masking_helpers.dmi and b/icons/mob/clothing/under/masking_helpers.dmi differ diff --git a/icons/mob/effects/blocking.dmi b/icons/mob/effects/blocking.dmi new file mode 100644 index 0000000000000..03872fa0fe36d Binary files /dev/null and b/icons/mob/effects/blocking.dmi differ diff --git a/icons/mob/effects/durand_shield.dmi b/icons/mob/effects/durand_shield.dmi index 0600e352b316e..8f9016ed74be6 100644 Binary files a/icons/mob/effects/durand_shield.dmi and b/icons/mob/effects/durand_shield.dmi differ diff --git a/icons/mob/human/cat_features.dmi b/icons/mob/human/cat_features.dmi index 6e7fd024fee1d..d2d67fdd9b32e 100644 Binary files a/icons/mob/human/cat_features.dmi and b/icons/mob/human/cat_features.dmi differ diff --git a/icons/mob/human/species/voidwalker.dmi b/icons/mob/human/species/voidwalker.dmi new file mode 100644 index 0000000000000..f7e616864f1a1 Binary files /dev/null and b/icons/mob/human/species/voidwalker.dmi differ diff --git a/icons/mob/human/textures.dmi b/icons/mob/human/textures.dmi new file mode 100644 index 0000000000000..c5f420c7de866 Binary files /dev/null and b/icons/mob/human/textures.dmi differ diff --git a/icons/mob/inhands/64x64_lefthand.dmi b/icons/mob/inhands/64x64_lefthand.dmi index d15a47206f984..14f35aa9ef050 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 88ad954734bf5..102417e36f5b7 100644 Binary files a/icons/mob/inhands/64x64_righthand.dmi and b/icons/mob/inhands/64x64_righthand.dmi differ diff --git a/icons/mob/inhands/antag/voidwalker_lefthand.dmi b/icons/mob/inhands/antag/voidwalker_lefthand.dmi new file mode 100644 index 0000000000000..5cd8b8817ec31 Binary files /dev/null and b/icons/mob/inhands/antag/voidwalker_lefthand.dmi differ diff --git a/icons/mob/inhands/antag/voidwalker_righthand.dmi b/icons/mob/inhands/antag/voidwalker_righthand.dmi new file mode 100644 index 0000000000000..f227c6105ad1e Binary files /dev/null and b/icons/mob/inhands/antag/voidwalker_righthand.dmi differ diff --git a/icons/mob/inhands/clothing/hats_lefthand.dmi b/icons/mob/inhands/clothing/hats_lefthand.dmi index 1d6461fb39dc9..6ad1f8886c99e 100644 Binary files a/icons/mob/inhands/clothing/hats_lefthand.dmi and b/icons/mob/inhands/clothing/hats_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing/hats_righthand.dmi b/icons/mob/inhands/clothing/hats_righthand.dmi index 4d9710bf90159..3aba15568ef88 100644 Binary files a/icons/mob/inhands/clothing/hats_righthand.dmi and b/icons/mob/inhands/clothing/hats_righthand.dmi differ diff --git a/icons/mob/inhands/clothing/shoes_lefthand.dmi b/icons/mob/inhands/clothing/shoes_lefthand.dmi index a5fd6d3318cff..9a8e008e48343 100644 Binary files a/icons/mob/inhands/clothing/shoes_lefthand.dmi and b/icons/mob/inhands/clothing/shoes_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing/shoes_righthand.dmi b/icons/mob/inhands/clothing/shoes_righthand.dmi index 8f5a3c374ca08..bdc82c0530df2 100644 Binary files a/icons/mob/inhands/clothing/shoes_righthand.dmi and b/icons/mob/inhands/clothing/shoes_righthand.dmi differ diff --git a/icons/mob/inhands/clothing/suits_lefthand.dmi b/icons/mob/inhands/clothing/suits_lefthand.dmi index 02b1e2cbff266..9c15bb18c7b67 100644 Binary files a/icons/mob/inhands/clothing/suits_lefthand.dmi and b/icons/mob/inhands/clothing/suits_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing/suits_righthand.dmi b/icons/mob/inhands/clothing/suits_righthand.dmi index 7dd047b7345d7..87187225fdc60 100644 Binary files a/icons/mob/inhands/clothing/suits_righthand.dmi and b/icons/mob/inhands/clothing/suits_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/belt_lefthand.dmi b/icons/mob/inhands/equipment/belt_lefthand.dmi index 9f306a2777d2f..d5c4f7c4424b5 100644 Binary files a/icons/mob/inhands/equipment/belt_lefthand.dmi and b/icons/mob/inhands/equipment/belt_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/belt_righthand.dmi b/icons/mob/inhands/equipment/belt_righthand.dmi index 7b519f7cf69ea..0e0c7b817eed4 100644 Binary files a/icons/mob/inhands/equipment/belt_righthand.dmi and b/icons/mob/inhands/equipment/belt_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/shields_lefthand.dmi b/icons/mob/inhands/equipment/shields_lefthand.dmi index 1aa27021b9ede..a19d5f46245e1 100644 Binary files a/icons/mob/inhands/equipment/shields_lefthand.dmi and b/icons/mob/inhands/equipment/shields_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/shields_righthand.dmi b/icons/mob/inhands/equipment/shields_righthand.dmi index 4227ba00792b4..b4d080345c536 100644 Binary files a/icons/mob/inhands/equipment/shields_righthand.dmi and b/icons/mob/inhands/equipment/shields_righthand.dmi differ diff --git a/icons/mob/inhands/fish_lefthand.dmi b/icons/mob/inhands/fish_lefthand.dmi index f5aeef6202713..b61231c6b9d11 100644 Binary files a/icons/mob/inhands/fish_lefthand.dmi and b/icons/mob/inhands/fish_lefthand.dmi differ diff --git a/icons/mob/inhands/fish_righthand.dmi b/icons/mob/inhands/fish_righthand.dmi index d9c23c3d1b19e..48ede802899ae 100644 Binary files a/icons/mob/inhands/fish_righthand.dmi and b/icons/mob/inhands/fish_righthand.dmi differ diff --git a/icons/mob/inhands/items/food_lefthand.dmi b/icons/mob/inhands/items/food_lefthand.dmi index 8e2b19c4dd42a..5dabacf53dbf6 100644 Binary files a/icons/mob/inhands/items/food_lefthand.dmi and b/icons/mob/inhands/items/food_lefthand.dmi differ diff --git a/icons/mob/inhands/items/food_righthand.dmi b/icons/mob/inhands/items/food_righthand.dmi index 12063ad38a8f9..7cd6569508c8e 100644 Binary files a/icons/mob/inhands/items/food_righthand.dmi and b/icons/mob/inhands/items/food_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 86bd5020f4f32..ebcfea5967596 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index a6de8b974644c..b8fd65ec07206 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/64x_guns_left.dmi b/icons/mob/inhands/weapons/64x_guns_left.dmi index 0378a60405792..faeae6f2eea5c 100644 Binary files a/icons/mob/inhands/weapons/64x_guns_left.dmi and b/icons/mob/inhands/weapons/64x_guns_left.dmi differ diff --git a/icons/mob/inhands/weapons/64x_guns_right.dmi b/icons/mob/inhands/weapons/64x_guns_right.dmi index 50fa2342d2a55..2ccdeb577fed3 100644 Binary files a/icons/mob/inhands/weapons/64x_guns_right.dmi and b/icons/mob/inhands/weapons/64x_guns_right.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index c1bcd197278b5..90df2a892f984 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index 98788d7371135..eebed61656aa4 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_lefthand.dmi b/icons/mob/inhands/weapons/staves_lefthand.dmi index 5e4eb552f2a5c..917b46ae8938a 100644 Binary files a/icons/mob/inhands/weapons/staves_lefthand.dmi and b/icons/mob/inhands/weapons/staves_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_righthand.dmi b/icons/mob/inhands/weapons/staves_righthand.dmi index 9de32d8cd9533..da1765fe800c6 100644 Binary files a/icons/mob/inhands/weapons/staves_righthand.dmi and b/icons/mob/inhands/weapons/staves_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index b9552c754c082..82c98f057c0ec 100644 Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi index f132e997658cb..3f6e471e83e2f 100644 Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ diff --git a/icons/mob/mob_shadows.dmi b/icons/mob/mob_shadows.dmi new file mode 100644 index 0000000000000..809a6f0fb1698 Binary files /dev/null and b/icons/mob/mob_shadows.dmi differ diff --git a/icons/mob/nonhuman-player/blob_tall.dmi b/icons/mob/nonhuman-player/blob_tall.dmi new file mode 100644 index 0000000000000..6a0282c7fa882 Binary files /dev/null and b/icons/mob/nonhuman-player/blob_tall.dmi differ diff --git a/icons/mob/nonhuman-player/eldritch_mobs.dmi b/icons/mob/nonhuman-player/eldritch_mobs.dmi index 18e50d727aee5..3f2aa454f0eb4 100644 Binary files a/icons/mob/nonhuman-player/eldritch_mobs.dmi and b/icons/mob/nonhuman-player/eldritch_mobs.dmi differ diff --git a/icons/mob/rideables/vehicles.dmi b/icons/mob/rideables/vehicles.dmi index 08923668d2663..4a88f9b8e859a 100644 Binary files a/icons/mob/rideables/vehicles.dmi and b/icons/mob/rideables/vehicles.dmi differ diff --git a/icons/mob/silicon/aibots.dmi b/icons/mob/silicon/aibots.dmi index 85f4e3505898e..86c450ef1ceae 100644 Binary files a/icons/mob/silicon/aibots.dmi and b/icons/mob/silicon/aibots.dmi differ diff --git a/icons/mob/silicon/robot_items.dmi b/icons/mob/silicon/robot_items.dmi index 00c813ace7f48..0e93ff582d438 100644 Binary files a/icons/mob/silicon/robot_items.dmi and b/icons/mob/silicon/robot_items.dmi differ diff --git a/icons/mob/silicon/robots.dmi b/icons/mob/silicon/robots.dmi index 5c79a0f95e39b..c2780ce26abea 100644 Binary files a/icons/mob/silicon/robots.dmi and b/icons/mob/silicon/robots.dmi differ diff --git a/icons/mob/simple/animal.dmi b/icons/mob/simple/animal.dmi index 82943b798a941..62e36fad550b4 100644 Binary files a/icons/mob/simple/animal.dmi and b/icons/mob/simple/animal.dmi differ diff --git a/icons/mob/simple/carp.dmi b/icons/mob/simple/carp.dmi index 1be59c43ecb6e..e33b9c7ada810 100644 Binary files a/icons/mob/simple/carp.dmi and b/icons/mob/simple/carp.dmi differ diff --git a/icons/mob/simple/corgi_head.dmi b/icons/mob/simple/corgi_head.dmi index 2e14a3ed0bb5d..c07f1227a3de1 100644 Binary files a/icons/mob/simple/corgi_head.dmi and b/icons/mob/simple/corgi_head.dmi differ diff --git a/icons/mob/simple/icemoon/icemoon_monsters.dmi b/icons/mob/simple/icemoon/icemoon_monsters.dmi index 3e53c0a971228..739092d63ad62 100644 Binary files a/icons/mob/simple/icemoon/icemoon_monsters.dmi and b/icons/mob/simple/icemoon/icemoon_monsters.dmi differ diff --git a/icons/mob/simple/mad_piano.dmi b/icons/mob/simple/mad_piano.dmi new file mode 100644 index 0000000000000..b161f8e4d22ed Binary files /dev/null and b/icons/mob/simple/mad_piano.dmi differ diff --git a/icons/mob/simple/mob.dmi b/icons/mob/simple/mob.dmi index e8fb3c59b8fbe..142481e08e9a7 100644 Binary files a/icons/mob/simple/mob.dmi and b/icons/mob/simple/mob.dmi differ diff --git a/icons/obj/antags/cult/structures.dmi b/icons/obj/antags/cult/structures.dmi index 982742e876492..334cfd456a590 100644 Binary files a/icons/obj/antags/cult/structures.dmi and b/icons/obj/antags/cult/structures.dmi differ diff --git a/icons/obj/aquarium/fish.dmi b/icons/obj/aquarium/fish.dmi deleted file mode 100644 index ab282e1681be9..0000000000000 Binary files a/icons/obj/aquarium/fish.dmi and /dev/null differ diff --git a/icons/obj/aquarium/wide.dmi b/icons/obj/aquarium/wide.dmi deleted file mode 100644 index 7c5f941a1db37..0000000000000 Binary files a/icons/obj/aquarium/wide.dmi and /dev/null differ diff --git a/icons/obj/art/artstuff.dmi b/icons/obj/art/artstuff.dmi index a3dd1a84d9d3c..657dbf169f430 100644 Binary files a/icons/obj/art/artstuff.dmi and b/icons/obj/art/artstuff.dmi differ diff --git a/icons/obj/art/artstuff_64x64.dmi b/icons/obj/art/artstuff_64x64.dmi index 5f840e558b52a..e94f00d6e1af0 100644 Binary files a/icons/obj/art/artstuff_64x64.dmi and b/icons/obj/art/artstuff_64x64.dmi differ diff --git a/icons/obj/art/cardboard_cutout.dmi b/icons/obj/art/cardboard_cutout.dmi index 93df896126d52..efe85e7cc4823 100644 Binary files a/icons/obj/art/cardboard_cutout.dmi and b/icons/obj/art/cardboard_cutout.dmi differ diff --git a/icons/obj/art/painting_frames.dmi b/icons/obj/art/painting_frames.dmi new file mode 100644 index 0000000000000..28e1b8665962e Binary files /dev/null and b/icons/obj/art/painting_frames.dmi differ diff --git a/icons/obj/canisters.dmi b/icons/obj/canisters.dmi index 1555cf0a4782e..e7d646c0a950b 100644 Binary files a/icons/obj/canisters.dmi and b/icons/obj/canisters.dmi differ diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index e26731f384667..dcfb7f482ae4c 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/icons/obj/clothing/belt_overlays.dmi b/icons/obj/clothing/belt_overlays.dmi index 7a215dcb9b1cc..0692033a5361b 100644 Binary files a/icons/obj/clothing/belt_overlays.dmi and b/icons/obj/clothing/belt_overlays.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 5ccdf2c186f89..14ed534744f6e 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 465340870dd48..4739498c16426 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/head/costume.dmi b/icons/obj/clothing/head/costume.dmi index 25bc62a5314ee..7ece76ca5a7e6 100644 Binary files a/icons/obj/clothing/head/costume.dmi and b/icons/obj/clothing/head/costume.dmi differ diff --git a/icons/obj/clothing/head/helmet.dmi b/icons/obj/clothing/head/helmet.dmi index fe52d505e439d..cc54b2bf92934 100644 Binary files a/icons/obj/clothing/head/helmet.dmi and b/icons/obj/clothing/head/helmet.dmi differ diff --git a/icons/obj/clothing/head/wizard.dmi b/icons/obj/clothing/head/wizard.dmi index 29595f02fc2ad..82ea73b68babd 100644 Binary files a/icons/obj/clothing/head/wizard.dmi and b/icons/obj/clothing/head/wizard.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_clothing.dmi b/icons/obj/clothing/modsuit/mod_clothing.dmi index 3de713477b696..6ab49417aa52f 100644 Binary files a/icons/obj/clothing/modsuit/mod_clothing.dmi and b/icons/obj/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_construction.dmi b/icons/obj/clothing/modsuit/mod_construction.dmi index dedcb3f838d64..1080b89650772 100644 Binary files a/icons/obj/clothing/modsuit/mod_construction.dmi and b/icons/obj/clothing/modsuit/mod_construction.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi index 6ec143a849e1c..36d95aa61fdbb 100644 Binary files a/icons/obj/clothing/modsuit/mod_modules.dmi and b/icons/obj/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index e8726cfcb73a5..ca90eb8a3291b 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index ec2a128a865f2..8c91be43d4ad0 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi index 0484cf060d033..b1763f5453ffe 100644 Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ diff --git a/icons/obj/clothing/suits/wizard.dmi b/icons/obj/clothing/suits/wizard.dmi index fcfa748d3b317..94fc99b01b47d 100644 Binary files a/icons/obj/clothing/suits/wizard.dmi and b/icons/obj/clothing/suits/wizard.dmi differ diff --git a/icons/obj/clothing/under/costume.dmi b/icons/obj/clothing/under/costume.dmi index 85a49d1b3300c..42aa61e66b83c 100644 Binary files a/icons/obj/clothing/under/costume.dmi and b/icons/obj/clothing/under/costume.dmi differ diff --git a/icons/obj/cosmetic.dmi b/icons/obj/cosmetic.dmi index b04bde541ad6c..de42107ab1919 100644 Binary files a/icons/obj/cosmetic.dmi and b/icons/obj/cosmetic.dmi differ diff --git a/icons/obj/debris.dmi b/icons/obj/debris.dmi index 10b73560cbb17..3f7836f5762d7 100644 Binary files a/icons/obj/debris.dmi and b/icons/obj/debris.dmi differ diff --git a/icons/obj/aicards.dmi b/icons/obj/devices/aicards.dmi similarity index 100% rename from icons/obj/aicards.dmi rename to icons/obj/devices/aicards.dmi diff --git a/icons/obj/devices/lighting.dmi b/icons/obj/devices/lighting.dmi new file mode 100644 index 0000000000000..6870b09024695 Binary files /dev/null and b/icons/obj/devices/lighting.dmi differ diff --git a/icons/obj/devices/mecha_equipment.dmi b/icons/obj/devices/mecha_equipment.dmi index 90f0ce8c736cf..ebfa5438ae911 100644 Binary files a/icons/obj/devices/mecha_equipment.dmi and b/icons/obj/devices/mecha_equipment.dmi differ diff --git a/icons/obj/devices/new_assemblies.dmi b/icons/obj/devices/new_assemblies.dmi index 1de208a7736ce..7bf96e5ba92e3 100644 Binary files a/icons/obj/devices/new_assemblies.dmi and b/icons/obj/devices/new_assemblies.dmi differ diff --git a/icons/obj/devices/tracker.dmi b/icons/obj/devices/tracker.dmi index 39be63ef4de81..161904825735e 100644 Binary files a/icons/obj/devices/tracker.dmi and b/icons/obj/devices/tracker.dmi differ diff --git a/icons/obj/doors/airlocks/centcom/centcom.dmi b/icons/obj/doors/airlocks/centcom/centcom.dmi deleted file mode 100644 index c034f8e2829b1..0000000000000 Binary files a/icons/obj/doors/airlocks/centcom/centcom.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/centcom/overlays.dmi b/icons/obj/doors/airlocks/centcom/overlays.dmi deleted file mode 100644 index a608a7f2110fd..0000000000000 Binary files a/icons/obj/doors/airlocks/centcom/overlays.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/greyscale_template.dmi b/icons/obj/doors/airlocks/greyscale_template.dmi new file mode 100644 index 0000000000000..ac44d946a9c40 Binary files /dev/null and b/icons/obj/doors/airlocks/greyscale_template.dmi differ diff --git a/icons/obj/doors/airlocks/material/material.dmi b/icons/obj/doors/airlocks/material/material.dmi deleted file mode 100644 index e0d7912f47a4c..0000000000000 Binary files a/icons/obj/doors/airlocks/material/material.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/public/glass.dmi b/icons/obj/doors/airlocks/public/glass.dmi index e10efd42820f4..5327dc97de4ac 100644 Binary files a/icons/obj/doors/airlocks/public/glass.dmi and b/icons/obj/doors/airlocks/public/glass.dmi differ diff --git a/icons/obj/doors/airlocks/station/gold.dmi b/icons/obj/doors/airlocks/station/gold.dmi deleted file mode 100644 index 490eefeeb92fe..0000000000000 Binary files a/icons/obj/doors/airlocks/station/gold.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/station/maintenance.dmi b/icons/obj/doors/airlocks/station/maintenance.dmi index 38d1b7142f3f4..e13e6e8494960 100644 Binary files a/icons/obj/doors/airlocks/station/maintenance.dmi and b/icons/obj/doors/airlocks/station/maintenance.dmi differ diff --git a/icons/obj/doors/airlocks/station/silver.dmi b/icons/obj/doors/airlocks/station/silver.dmi deleted file mode 100644 index e7e6672fbffe0..0000000000000 Binary files a/icons/obj/doors/airlocks/station/silver.dmi and /dev/null differ diff --git a/icons/obj/doors/airlocks/tall/centcom.dmi b/icons/obj/doors/airlocks/tall/centcom.dmi new file mode 100644 index 0000000000000..f9d72788321e8 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/centcom.dmi differ diff --git a/icons/obj/doors/airlocks/tall/cult/cult.dmi b/icons/obj/doors/airlocks/tall/cult/cult.dmi new file mode 100644 index 0000000000000..09656b93ffa86 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/cult/cult.dmi differ diff --git a/icons/obj/doors/airlocks/tall/cult/cult_runed.dmi b/icons/obj/doors/airlocks/tall/cult/cult_runed.dmi new file mode 100644 index 0000000000000..a46c63dcb8bb0 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/cult/cult_runed.dmi differ diff --git a/icons/obj/doors/airlocks/tall/department/atmos.dmi b/icons/obj/doors/airlocks/tall/department/atmos.dmi new file mode 100644 index 0000000000000..bb60d867f5833 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/department/atmos.dmi differ diff --git a/icons/obj/doors/airlocks/tall/department/security.dmi b/icons/obj/doors/airlocks/tall/department/security.dmi new file mode 100644 index 0000000000000..5513c8ccdb109 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/department/security.dmi differ diff --git a/icons/obj/doors/airlocks/tall/external/external.dmi b/icons/obj/doors/airlocks/tall/external/external.dmi new file mode 100644 index 0000000000000..2b79d37979e03 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/external/external.dmi differ diff --git a/icons/obj/doors/airlocks/tall/hatch/centcom.dmi b/icons/obj/doors/airlocks/tall/hatch/centcom.dmi new file mode 100644 index 0000000000000..71d92ef68f32c Binary files /dev/null and b/icons/obj/doors/airlocks/tall/hatch/centcom.dmi differ diff --git a/icons/obj/doors/airlocks/tall/hatch/maintenance.dmi b/icons/obj/doors/airlocks/tall/hatch/maintenance.dmi new file mode 100644 index 0000000000000..5daaee2a777a0 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/hatch/maintenance.dmi differ diff --git a/icons/obj/doors/airlocks/tall/maintenance.dmi b/icons/obj/doors/airlocks/tall/maintenance.dmi new file mode 100644 index 0000000000000..e13e6e8494960 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/maintenance.dmi differ diff --git a/icons/obj/doors/airlocks/tall/mineral/diamond.dmi b/icons/obj/doors/airlocks/tall/mineral/diamond.dmi new file mode 100644 index 0000000000000..7a23563a32cb6 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/mineral/diamond.dmi differ diff --git a/icons/obj/doors/airlocks/tall/mineral/diamond_overlays.dmi b/icons/obj/doors/airlocks/tall/mineral/diamond_overlays.dmi new file mode 100644 index 0000000000000..33d7f7a8d1cf0 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/mineral/diamond_overlays.dmi differ diff --git a/icons/obj/doors/airlocks/tall/mineral/gold.dmi b/icons/obj/doors/airlocks/tall/mineral/gold.dmi new file mode 100644 index 0000000000000..93dae9e9d156d Binary files /dev/null and b/icons/obj/doors/airlocks/tall/mineral/gold.dmi differ diff --git a/icons/obj/doors/airlocks/tall/mineral/silver.dmi b/icons/obj/doors/airlocks/tall/mineral/silver.dmi new file mode 100644 index 0000000000000..b4864fbde52b3 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/mineral/silver.dmi differ diff --git a/icons/obj/doors/airlocks/tall/overlays.dmi b/icons/obj/doors/airlocks/tall/overlays.dmi new file mode 100644 index 0000000000000..5200ae837178a Binary files /dev/null and b/icons/obj/doors/airlocks/tall/overlays.dmi differ diff --git a/icons/obj/doors/airlocks/tall/secure/highsec.dmi b/icons/obj/doors/airlocks/tall/secure/highsec.dmi new file mode 100644 index 0000000000000..fc9d581aefe3f Binary files /dev/null and b/icons/obj/doors/airlocks/tall/secure/highsec.dmi differ diff --git a/icons/obj/doors/airlocks/tall/shuttle/shuttle.dmi b/icons/obj/doors/airlocks/tall/shuttle/shuttle.dmi new file mode 100644 index 0000000000000..378d4dc1373d6 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/shuttle/shuttle.dmi differ diff --git a/icons/obj/doors/airlocks/tall/vault/vault.dmi b/icons/obj/doors/airlocks/tall/vault/vault.dmi new file mode 100644 index 0000000000000..b7138367611b4 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/vault/vault.dmi differ diff --git a/icons/obj/doors/airlocks/tall/wood.dmi b/icons/obj/doors/airlocks/tall/wood.dmi new file mode 100644 index 0000000000000..f8948f45d8469 Binary files /dev/null and b/icons/obj/doors/airlocks/tall/wood.dmi differ diff --git a/icons/obj/doors/airlocks/tram/tram.dmi b/icons/obj/doors/airlocks/tram/tram.dmi index 43d30b58a6f45..d9a795b9ee4c4 100644 Binary files a/icons/obj/doors/airlocks/tram/tram.dmi and b/icons/obj/doors/airlocks/tram/tram.dmi differ diff --git a/icons/obj/doors/blastdoor.dmi b/icons/obj/doors/blastdoor.dmi index 9c7bec103cefa..d4334a00cefee 100644 Binary files a/icons/obj/doors/blastdoor.dmi and b/icons/obj/doors/blastdoor.dmi differ diff --git a/icons/obj/doors/doorfire.dmi b/icons/obj/doors/doorfire.dmi index adb6c96b1fa1d..3ab6c95d1656b 100644 Binary files a/icons/obj/doors/doorfire.dmi and b/icons/obj/doors/doorfire.dmi differ diff --git a/icons/obj/doors/doorfireglass.dmi b/icons/obj/doors/doorfireglass.dmi index 83156ae4351e1..a0fd5297d3481 100644 Binary files a/icons/obj/doors/doorfireglass.dmi and b/icons/obj/doors/doorfireglass.dmi differ diff --git a/icons/obj/doors/doorint.dmi b/icons/obj/doors/doorint.dmi index c8148586a5658..f1784a4896b57 100644 Binary files a/icons/obj/doors/doorint.dmi and b/icons/obj/doors/doorint.dmi differ diff --git a/icons/obj/doors/doormorgue.dmi b/icons/obj/doors/doormorgue.dmi index 381e5c3385ef3..f06a2f8073165 100644 Binary files a/icons/obj/doors/doormorgue.dmi and b/icons/obj/doors/doormorgue.dmi differ diff --git a/icons/obj/doors/edge_Doorfire.dmi b/icons/obj/doors/edge_Doorfire.dmi index bb6bee3fc8712..2afe1e913e1a2 100644 Binary files a/icons/obj/doors/edge_Doorfire.dmi and b/icons/obj/doors/edge_Doorfire.dmi differ diff --git a/icons/obj/doors/mineral_doors.dmi b/icons/obj/doors/mineral_doors.dmi index 0edd8a2894772..105b9cd4ba87f 100644 Binary files a/icons/obj/doors/mineral_doors.dmi and b/icons/obj/doors/mineral_doors.dmi differ diff --git a/icons/obj/doors/puzzledoor/danger.dmi b/icons/obj/doors/puzzledoor/danger.dmi index ed78272037e37..cc0e39fb58d5b 100644 Binary files a/icons/obj/doors/puzzledoor/danger.dmi and b/icons/obj/doors/puzzledoor/danger.dmi differ diff --git a/icons/obj/doors/puzzledoor/default.dmi b/icons/obj/doors/puzzledoor/default.dmi index 685fc448bdee0..400c187bfdcf3 100644 Binary files a/icons/obj/doors/puzzledoor/default.dmi and b/icons/obj/doors/puzzledoor/default.dmi differ diff --git a/icons/obj/doors/puzzledoor/wood.dmi b/icons/obj/doors/puzzledoor/wood.dmi index 58717aacf1e65..11408183ac457 100644 Binary files a/icons/obj/doors/puzzledoor/wood.dmi and b/icons/obj/doors/puzzledoor/wood.dmi differ diff --git a/icons/obj/doors/shutters.dmi b/icons/obj/doors/shutters.dmi index 5fd2b2a8213d5..f5feb0f38e901 100644 Binary files a/icons/obj/doors/shutters.dmi and b/icons/obj/doors/shutters.dmi differ diff --git a/icons/obj/doors/shutters_radiation.dmi b/icons/obj/doors/shutters_radiation.dmi index 37b8cf72cbca0..75db4e618bacc 100644 Binary files a/icons/obj/doors/shutters_radiation.dmi and b/icons/obj/doors/shutters_radiation.dmi differ diff --git a/icons/obj/doors/shutters_window.dmi b/icons/obj/doors/shutters_window.dmi index b86fe675366c1..529a20800fb9b 100644 Binary files a/icons/obj/doors/shutters_window.dmi and b/icons/obj/doors/shutters_window.dmi differ diff --git a/icons/obj/doors/windoor.dmi b/icons/obj/doors/windoor.dmi index 117cd78e1348b..198af38c8d70d 100644 Binary files a/icons/obj/doors/windoor.dmi and b/icons/obj/doors/windoor.dmi differ diff --git a/icons/obj/doors/windoor_half.dmi b/icons/obj/doors/windoor_half.dmi new file mode 100644 index 0000000000000..4ac3c396c7644 Binary files /dev/null and b/icons/obj/doors/windoor_half.dmi differ diff --git a/icons/obj/drinks/bottles.dmi b/icons/obj/drinks/bottles.dmi index 205a67c84e20d..cd3cf9fef09d4 100644 Binary files a/icons/obj/drinks/bottles.dmi and b/icons/obj/drinks/bottles.dmi differ diff --git a/icons/obj/fence.dmi b/icons/obj/fence.dmi deleted file mode 100644 index 31b1abef3ce91..0000000000000 Binary files a/icons/obj/fence.dmi and /dev/null differ diff --git a/icons/obj/fishing.dmi b/icons/obj/fishing.dmi index 92d1cf9a12231..b1d5a787b202f 100644 Binary files a/icons/obj/fishing.dmi and b/icons/obj/fishing.dmi differ diff --git a/icons/obj/fluff/general.dmi b/icons/obj/fluff/general.dmi index f99cbaabc9a1d..8be58d63069b4 100644 Binary files a/icons/obj/fluff/general.dmi and b/icons/obj/fluff/general.dmi differ diff --git a/icons/obj/fluff/gym_equipment.dmi b/icons/obj/fluff/gym_equipment.dmi index f9f6cdf4ca29c..c28d4b8ff8895 100644 Binary files a/icons/obj/fluff/gym_equipment.dmi and b/icons/obj/fluff/gym_equipment.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 2fb08c78be71a..503c5b0920eb0 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/food/lizard.dmi b/icons/obj/food/lizard.dmi index 15bed265e2f41..29b35cd8a96c5 100644 Binary files a/icons/obj/food/lizard.dmi and b/icons/obj/food/lizard.dmi differ diff --git a/icons/obj/food/martian.dmi b/icons/obj/food/martian.dmi index 79efcd1813d58..829cf421cfb51 100644 Binary files a/icons/obj/food/martian.dmi and b/icons/obj/food/martian.dmi differ diff --git a/icons/obj/food/meat.dmi b/icons/obj/food/meat.dmi index 66761ee20298d..925675f730300 100644 Binary files a/icons/obj/food/meat.dmi and b/icons/obj/food/meat.dmi differ diff --git a/icons/obj/food/mexican.dmi b/icons/obj/food/mexican.dmi index ba02c15a0b577..772d6b2e3fc74 100644 Binary files a/icons/obj/food/mexican.dmi and b/icons/obj/food/mexican.dmi differ diff --git a/icons/obj/food/spaghetti.dmi b/icons/obj/food/spaghetti.dmi index 1c97a45e7b788..0d5e473e9b4b6 100644 Binary files a/icons/obj/food/spaghetti.dmi and b/icons/obj/food/spaghetti.dmi differ diff --git a/icons/obj/items_cyborg.dmi b/icons/obj/items_cyborg.dmi deleted file mode 100644 index 39624fce676b8..0000000000000 Binary files a/icons/obj/items_cyborg.dmi and /dev/null differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi deleted file mode 100644 index 2bda7341e518f..0000000000000 Binary files a/icons/obj/lighting.dmi and /dev/null differ diff --git a/icons/obj/lighting_overlay.dmi b/icons/obj/lighting_overlay.dmi deleted file mode 100644 index de25dbe170961..0000000000000 Binary files a/icons/obj/lighting_overlay.dmi and /dev/null differ diff --git a/icons/obj/machines/APC.dmi b/icons/obj/machines/APC.dmi new file mode 100644 index 0000000000000..5131c703966ae Binary files /dev/null and b/icons/obj/machines/APC.dmi differ diff --git a/icons/obj/machines/air_alarm.dmi b/icons/obj/machines/air_alarm.dmi new file mode 100644 index 0000000000000..5b8529db4db06 Binary files /dev/null and b/icons/obj/machines/air_alarm.dmi differ diff --git a/icons/obj/machines/airlock_machines.dmi b/icons/obj/machines/airlock_machines.dmi new file mode 100644 index 0000000000000..61ebaf073c6b4 Binary files /dev/null and b/icons/obj/machines/airlock_machines.dmi differ diff --git a/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi b/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi deleted file mode 100644 index c397dd2dc8413..0000000000000 Binary files a/icons/obj/machines/atmospherics/bluespace_gas_selling.dmi and /dev/null differ diff --git a/icons/obj/machines/atmospherics/bluespace_gas_vendor.dmi b/icons/obj/machines/atmospherics/bluespace_gas_vendor.dmi new file mode 100644 index 0000000000000..d1abbaa777b6d Binary files /dev/null and b/icons/obj/machines/atmospherics/bluespace_gas_vendor.dmi differ diff --git a/icons/obj/machines/atmospherics/unary_devices.dmi b/icons/obj/machines/atmospherics/unary_devices.dmi index 47acf3c29c9c4..73da54768b1cb 100644 Binary files a/icons/obj/machines/atmospherics/unary_devices.dmi and b/icons/obj/machines/atmospherics/unary_devices.dmi differ diff --git a/icons/obj/machines/big_manipulator.dmi b/icons/obj/machines/big_manipulator.dmi new file mode 100644 index 0000000000000..b6e878e189842 Binary files /dev/null and b/icons/obj/machines/big_manipulator.dmi differ diff --git a/icons/obj/machines/big_manipulator_parts/big_manipulator_core.dmi b/icons/obj/machines/big_manipulator_parts/big_manipulator_core.dmi new file mode 100644 index 0000000000000..614b4d51cbbf9 Binary files /dev/null and b/icons/obj/machines/big_manipulator_parts/big_manipulator_core.dmi differ diff --git a/icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi b/icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi new file mode 100644 index 0000000000000..e165441e8052e Binary files /dev/null and b/icons/obj/machines/big_manipulator_parts/big_manipulator_hand.dmi differ diff --git a/icons/obj/machines/button.dmi b/icons/obj/machines/button.dmi new file mode 100644 index 0000000000000..6fb4f8c96d90b Binary files /dev/null and b/icons/obj/machines/button.dmi differ diff --git a/icons/obj/machines/camera.dmi b/icons/obj/machines/camera.dmi index 0b0ba30483ca1..9db789a100107 100644 Binary files a/icons/obj/machines/camera.dmi and b/icons/obj/machines/camera.dmi differ diff --git a/icons/obj/machines/defib_mount.dmi b/icons/obj/machines/defib_mount.dmi index 846d634253887..ff6247425e9da 100644 Binary files a/icons/obj/machines/defib_mount.dmi and b/icons/obj/machines/defib_mount.dmi differ diff --git a/icons/obj/digital_clock.dmi b/icons/obj/machines/digital_clock.dmi similarity index 100% rename from icons/obj/digital_clock.dmi rename to icons/obj/machines/digital_clock.dmi diff --git a/icons/obj/machines/engine/reflector.dmi b/icons/obj/machines/engine/reflector.dmi new file mode 100644 index 0000000000000..92a55783fb4af Binary files /dev/null and b/icons/obj/machines/engine/reflector.dmi differ diff --git a/icons/obj/machines/firealarm.dmi b/icons/obj/machines/firealarm.dmi new file mode 100644 index 0000000000000..3c35336b97ca4 Binary files /dev/null and b/icons/obj/machines/firealarm.dmi differ diff --git a/icons/obj/machines/flash.dmi b/icons/obj/machines/flash.dmi new file mode 100644 index 0000000000000..f8733d7cee792 Binary files /dev/null and b/icons/obj/machines/flash.dmi differ diff --git a/icons/obj/machines/gravity_generator.dmi b/icons/obj/machines/gravity_generator.dmi index 69395034dc840..18ad0ca0c20af 100644 Binary files a/icons/obj/machines/gravity_generator.dmi and b/icons/obj/machines/gravity_generator.dmi differ diff --git a/icons/obj/machines/gulag_computer.dmi b/icons/obj/machines/gulag_computer.dmi new file mode 100644 index 0000000000000..c2a9577c7f049 Binary files /dev/null and b/icons/obj/machines/gulag_computer.dmi differ diff --git a/icons/obj/machines/igniter.dmi b/icons/obj/machines/igniter.dmi new file mode 100644 index 0000000000000..8858787f3dd57 Binary files /dev/null and b/icons/obj/machines/igniter.dmi differ diff --git a/icons/obj/machines/intercom.dmi b/icons/obj/machines/intercom.dmi new file mode 100644 index 0000000000000..70d199c61b2a4 Binary files /dev/null and b/icons/obj/machines/intercom.dmi differ diff --git a/icons/obj/machines/keycard.dmi b/icons/obj/machines/keycard.dmi new file mode 100644 index 0000000000000..6b66d816a3059 Binary files /dev/null and b/icons/obj/machines/keycard.dmi differ diff --git a/icons/obj/machines/keycard_auth_table.dmi b/icons/obj/machines/keycard_auth_table.dmi new file mode 100644 index 0000000000000..863b687017c3c Binary files /dev/null and b/icons/obj/machines/keycard_auth_table.dmi differ diff --git a/icons/obj/machines/kitchen.dmi b/icons/obj/machines/kitchen.dmi index 2142125c5aa5c..1bd254942b2e0 100644 Binary files a/icons/obj/machines/kitchen.dmi and b/icons/obj/machines/kitchen.dmi differ diff --git a/icons/obj/machines/lighting.dmi b/icons/obj/machines/lighting.dmi new file mode 100644 index 0000000000000..94496bc15d1bb Binary files /dev/null and b/icons/obj/machines/lighting.dmi differ diff --git a/icons/obj/machines/lightswitch.dmi b/icons/obj/machines/lightswitch.dmi new file mode 100644 index 0000000000000..98ac989174618 Binary files /dev/null and b/icons/obj/machines/lightswitch.dmi differ diff --git a/icons/obj/machines/ltsrbt.dmi b/icons/obj/machines/ltsrbt.dmi new file mode 100644 index 0000000000000..cdb7e06cbb3df Binary files /dev/null and b/icons/obj/machines/ltsrbt.dmi differ diff --git a/icons/obj/machines/newscaster.dmi b/icons/obj/machines/newscaster.dmi new file mode 100644 index 0000000000000..03eb34ed47f7a Binary files /dev/null and b/icons/obj/machines/newscaster.dmi differ diff --git a/icons/obj/machines/pod_computer.dmi b/icons/obj/machines/pod_computer.dmi new file mode 100644 index 0000000000000..5dca5b67044f8 Binary files /dev/null and b/icons/obj/machines/pod_computer.dmi differ diff --git a/icons/obj/machines/request_console.dmi b/icons/obj/machines/request_console.dmi new file mode 100644 index 0000000000000..2a549bfb171dc Binary files /dev/null and b/icons/obj/machines/request_console.dmi differ diff --git a/icons/obj/machines/scangate.dmi b/icons/obj/machines/scangate.dmi index 6af8750414ade..9dacefab3539c 100644 Binary files a/icons/obj/machines/scangate.dmi and b/icons/obj/machines/scangate.dmi differ diff --git a/icons/obj/machines/shield_generator.dmi b/icons/obj/machines/shield_generator.dmi index 3a68da9b58259..f0f0bce8e73d4 100644 Binary files a/icons/obj/machines/shield_generator.dmi and b/icons/obj/machines/shield_generator.dmi differ diff --git a/icons/obj/machines/smartfridge.dmi b/icons/obj/machines/smartfridge.dmi index 18f3ccedd9bde..15ca153c024b5 100644 Binary files a/icons/obj/machines/smartfridge.dmi and b/icons/obj/machines/smartfridge.dmi differ diff --git a/icons/obj/machines/status_display.dmi b/icons/obj/machines/status_display.dmi index b48cad5293e20..f03693bf00721 100644 Binary files a/icons/obj/machines/status_display.dmi and b/icons/obj/machines/status_display.dmi differ diff --git a/icons/obj/machines/telecomms.dmi b/icons/obj/machines/telecomms.dmi index 1af082171ac16..1d27e0b10b2d6 100644 Binary files a/icons/obj/machines/telecomms.dmi and b/icons/obj/machines/telecomms.dmi differ diff --git a/icons/obj/machines/telescreens.dmi b/icons/obj/machines/telescreens.dmi new file mode 100644 index 0000000000000..a09142d1f25fb Binary files /dev/null and b/icons/obj/machines/telescreens.dmi differ diff --git a/icons/obj/machines/turret_control.dmi b/icons/obj/machines/turret_control.dmi index 1ed14c0d2d4a6..361eaaa2a869e 100644 Binary files a/icons/obj/machines/turret_control.dmi and b/icons/obj/machines/turret_control.dmi differ diff --git a/icons/obj/machines/vending.dmi b/icons/obj/machines/vending.dmi index bf3c42bde16a1..76edb1f7125df 100644 Binary files a/icons/obj/machines/vending.dmi and b/icons/obj/machines/vending.dmi differ diff --git a/icons/obj/machines/wallmounts.dmi b/icons/obj/machines/wallmounts.dmi index e659a0248ec3c..a92e8ef0a1030 100644 Binary files a/icons/obj/machines/wallmounts.dmi and b/icons/obj/machines/wallmounts.dmi differ diff --git a/icons/obj/maintenance_loot.dmi b/icons/obj/maintenance_loot.dmi index c75cb583c1945..400e24419f258 100644 Binary files a/icons/obj/maintenance_loot.dmi and b/icons/obj/maintenance_loot.dmi differ diff --git a/icons/obj/medical/chemical.dmi b/icons/obj/medical/chemical.dmi index 84dfd01d2d455..e362c5126e193 100644 Binary files a/icons/obj/medical/chemical.dmi and b/icons/obj/medical/chemical.dmi differ diff --git a/icons/obj/medical/chemical_tanks.dmi b/icons/obj/medical/chemical_tanks.dmi index 41f859b1d9efb..e54305faf812a 100644 Binary files a/icons/obj/medical/chemical_tanks.dmi and b/icons/obj/medical/chemical_tanks.dmi differ diff --git a/icons/obj/medical/organs/organs.dmi b/icons/obj/medical/organs/organs.dmi index 62a45426e186e..a9366894d7bf3 100644 Binary files a/icons/obj/medical/organs/organs.dmi and b/icons/obj/medical/organs/organs.dmi differ diff --git a/icons/obj/medical/organs/shadow_organs.dmi b/icons/obj/medical/organs/shadow_organs.dmi index 61721330e5361..402e3fc8eccfc 100644 Binary files a/icons/obj/medical/organs/shadow_organs.dmi and b/icons/obj/medical/organs/shadow_organs.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi deleted file mode 100644 index 1f6393a8c51ba..0000000000000 Binary files a/icons/obj/mining.dmi and /dev/null differ diff --git a/icons/obj/mining_zones/artefacts.dmi b/icons/obj/mining_zones/artefacts.dmi index 968bbe5b621d3..c515bd0ea51f7 100644 Binary files a/icons/obj/mining_zones/artefacts.dmi and b/icons/obj/mining_zones/artefacts.dmi differ diff --git a/icons/obj/mining_zones/equipment.dmi b/icons/obj/mining_zones/equipment.dmi new file mode 100644 index 0000000000000..991762dba3d59 Binary files /dev/null and b/icons/obj/mining_zones/equipment.dmi differ diff --git a/icons/obj/fulton.dmi b/icons/obj/mining_zones/fulton.dmi similarity index 100% rename from icons/obj/fulton.dmi rename to icons/obj/mining_zones/fulton.dmi diff --git a/icons/obj/ore.dmi b/icons/obj/mining_zones/ore.dmi similarity index 100% rename from icons/obj/ore.dmi rename to icons/obj/mining_zones/ore.dmi diff --git a/icons/obj/mining_zones/survival_pod.dmi b/icons/obj/mining_zones/survival_pod.dmi index 39c0ac280d2f5..43dca1e623086 100644 Binary files a/icons/obj/mining_zones/survival_pod.dmi and b/icons/obj/mining_zones/survival_pod.dmi differ diff --git a/icons/obj/mining_zones/terrain.dmi b/icons/obj/mining_zones/terrain.dmi index fd930fe709dce..c7daf12ed30a4 100644 Binary files a/icons/obj/mining_zones/terrain.dmi and b/icons/obj/mining_zones/terrain.dmi differ diff --git a/icons/obj/pipes_n_cables/meter.dmi b/icons/obj/pipes_n_cables/meter.dmi index 2aed35e065f49..fa0d5e3bf4d88 100644 Binary files a/icons/obj/pipes_n_cables/meter.dmi and b/icons/obj/pipes_n_cables/meter.dmi differ diff --git a/icons/obj/pipes_n_cables/pipe_item.dmi b/icons/obj/pipes_n_cables/pipe_item.dmi index 54dac81793975..ea2f9f71eb58d 100644 Binary files a/icons/obj/pipes_n_cables/pipe_item.dmi and b/icons/obj/pipes_n_cables/pipe_item.dmi differ diff --git a/icons/obj/railings.dmi b/icons/obj/railings.dmi deleted file mode 100644 index 49b560d2c8707..0000000000000 Binary files a/icons/obj/railings.dmi and /dev/null differ diff --git a/icons/obj/science/slimecrossing.dmi b/icons/obj/science/slimecrossing.dmi index 5edb59c58a4a4..3699c5b7c3d1f 100644 Binary files a/icons/obj/science/slimecrossing.dmi and b/icons/obj/science/slimecrossing.dmi differ diff --git a/icons/obj/service/bureaucracy.dmi b/icons/obj/service/bureaucracy.dmi index b400b7aee8b72..166e50addd785 100644 Binary files a/icons/obj/service/bureaucracy.dmi and b/icons/obj/service/bureaucracy.dmi differ diff --git a/icons/obj/service/hydroponics/equipment.dmi b/icons/obj/service/hydroponics/equipment.dmi index 0fcebb3c51988..2f9ef196f4c29 100644 Binary files a/icons/obj/service/hydroponics/equipment.dmi and b/icons/obj/service/hydroponics/equipment.dmi differ diff --git a/icons/obj/service/hydroponics/growing_vegetables.dmi b/icons/obj/service/hydroponics/growing_vegetables.dmi index 30f02e862e037..37ddd825a829d 100644 Binary files a/icons/obj/service/hydroponics/growing_vegetables.dmi and b/icons/obj/service/hydroponics/growing_vegetables.dmi differ diff --git a/icons/obj/service/hydroponics/harvest.dmi b/icons/obj/service/hydroponics/harvest.dmi index b15a34105dec2..dd3cd5865deeb 100644 Binary files a/icons/obj/service/hydroponics/harvest.dmi and b/icons/obj/service/hydroponics/harvest.dmi differ diff --git a/icons/obj/service/hydroponics/seeds.dmi b/icons/obj/service/hydroponics/seeds.dmi index 4de1a757e1fbc..c18c361b0ec0a 100644 Binary files a/icons/obj/service/hydroponics/seeds.dmi and b/icons/obj/service/hydroponics/seeds.dmi differ diff --git a/icons/obj/service/janitor.dmi b/icons/obj/service/janitor.dmi index 0e30180832345..5b3a86cc49669 100644 Binary files a/icons/obj/service/janitor.dmi and b/icons/obj/service/janitor.dmi differ diff --git a/icons/obj/service/library.dmi b/icons/obj/service/library.dmi index f9273a55e5530..5c393ae3c8622 100644 Binary files a/icons/obj/service/library.dmi and b/icons/obj/service/library.dmi differ diff --git a/icons/obj/signs.dmi b/icons/obj/signs.dmi index 050a609470421..91a0e1bfc3ff9 100644 Binary files a/icons/obj/signs.dmi and b/icons/obj/signs.dmi differ diff --git a/icons/obj/smooth_structures/alien/resin_membrane.dmi b/icons/obj/smooth_structures/alien/resin_membrane.dmi deleted file mode 100644 index f91125dcecafd..0000000000000 Binary files a/icons/obj/smooth_structures/alien/resin_membrane.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/alien/resin_membrane.png b/icons/obj/smooth_structures/alien/resin_membrane.png deleted file mode 100644 index 3ea4dc33eccef..0000000000000 Binary files a/icons/obj/smooth_structures/alien/resin_membrane.png and /dev/null differ diff --git a/icons/obj/smooth_structures/alien/resin_wall.dmi b/icons/obj/smooth_structures/alien/resin_wall.dmi deleted file mode 100644 index 1c2be2e907635..0000000000000 Binary files a/icons/obj/smooth_structures/alien/resin_wall.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/alien/resin_wall.png b/icons/obj/smooth_structures/alien/resin_wall.png deleted file mode 100644 index d42f25a43fd89..0000000000000 Binary files a/icons/obj/smooth_structures/alien/resin_wall.png and /dev/null differ diff --git a/icons/obj/smooth_structures/alien_table.dmi b/icons/obj/smooth_structures/alien_table.dmi deleted file mode 100644 index 865b7d3572f16..0000000000000 Binary files a/icons/obj/smooth_structures/alien_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/alien_table.png b/icons/obj/smooth_structures/alien_table.png deleted file mode 100644 index d9a5c3b73e41e..0000000000000 Binary files a/icons/obj/smooth_structures/alien_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/brass_table.dmi b/icons/obj/smooth_structures/brass_table.dmi deleted file mode 100644 index 74417b815ab38..0000000000000 Binary files a/icons/obj/smooth_structures/brass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/brass_table.png b/icons/obj/smooth_structures/brass_table.png deleted file mode 100644 index 2552eb2f92b0e..0000000000000 Binary files a/icons/obj/smooth_structures/brass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table.dmi b/icons/obj/smooth_structures/fancy_table.dmi deleted file mode 100644 index c72e06d6798a6..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table.png b/icons/obj/smooth_structures/fancy_table.png deleted file mode 100644 index 3ca279bbd72ba..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_black.dmi b/icons/obj/smooth_structures/fancy_table_black.dmi deleted file mode 100644 index 3be7232af5ee7..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_black.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_black.png b/icons/obj/smooth_structures/fancy_table_black.png deleted file mode 100644 index f7e2bfa810bce..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_black.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_blue.dmi b/icons/obj/smooth_structures/fancy_table_blue.dmi deleted file mode 100644 index 26263e514911f..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_blue.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_blue.png b/icons/obj/smooth_structures/fancy_table_blue.png deleted file mode 100644 index ad2d4192c7f06..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_blue.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_cyan.dmi b/icons/obj/smooth_structures/fancy_table_cyan.dmi deleted file mode 100644 index 6da44a863cd5a..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_cyan.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_cyan.png b/icons/obj/smooth_structures/fancy_table_cyan.png deleted file mode 100644 index 96a68b9361735..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_cyan.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_green.dmi b/icons/obj/smooth_structures/fancy_table_green.dmi deleted file mode 100644 index dc6c7e4703c83..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_green.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_green.png b/icons/obj/smooth_structures/fancy_table_green.png deleted file mode 100644 index 616eeeaa6eca0..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_green.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_orange.dmi b/icons/obj/smooth_structures/fancy_table_orange.dmi deleted file mode 100644 index 91428a7525318..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_orange.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_orange.png b/icons/obj/smooth_structures/fancy_table_orange.png deleted file mode 100644 index d2aff0ff4c177..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_orange.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_purple.dmi b/icons/obj/smooth_structures/fancy_table_purple.dmi deleted file mode 100644 index 930b0556520f8..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_purple.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_purple.png b/icons/obj/smooth_structures/fancy_table_purple.png deleted file mode 100644 index fad1b80c9229a..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_purple.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_red.dmi b/icons/obj/smooth_structures/fancy_table_red.dmi deleted file mode 100644 index ceca04aeb0609..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_red.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_red.png b/icons/obj/smooth_structures/fancy_table_red.png deleted file mode 100644 index f94307cb7d42a..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_red.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblack.dmi b/icons/obj/smooth_structures/fancy_table_royalblack.dmi deleted file mode 100644 index b7f6f6e284db7..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_royalblack.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblack.png b/icons/obj/smooth_structures/fancy_table_royalblack.png deleted file mode 100644 index 82913622d1ee6..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_royalblack.png and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblue.dmi b/icons/obj/smooth_structures/fancy_table_royalblue.dmi deleted file mode 100644 index 8f7a03ba5adc2..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_royalblue.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblue.png b/icons/obj/smooth_structures/fancy_table_royalblue.png deleted file mode 100644 index 6b1a2b2a81348..0000000000000 Binary files a/icons/obj/smooth_structures/fancy_table_royalblue.png and /dev/null differ diff --git a/icons/obj/smooth_structures/glass_table.dmi b/icons/obj/smooth_structures/glass_table.dmi deleted file mode 100644 index 56c43801832b4..0000000000000 Binary files a/icons/obj/smooth_structures/glass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/glass_table.png b/icons/obj/smooth_structures/glass_table.png deleted file mode 100644 index f61de10c5077d..0000000000000 Binary files a/icons/obj/smooth_structures/glass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/glass_table.png.toml b/icons/obj/smooth_structures/glass_table.png.toml deleted file mode 100644 index 91177545f2c07..0000000000000 --- a/icons/obj/smooth_structures/glass_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "glass_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/grav_field.dmi b/icons/obj/smooth_structures/grav_field.dmi new file mode 100644 index 0000000000000..4f51707938e9c Binary files /dev/null and b/icons/obj/smooth_structures/grav_field.dmi differ diff --git a/icons/obj/smooth_structures/grav_field.png b/icons/obj/smooth_structures/grav_field.png new file mode 100644 index 0000000000000..5177e57724049 Binary files /dev/null and b/icons/obj/smooth_structures/grav_field.png differ diff --git a/icons/obj/smooth_structures/grav_field.png.toml b/icons/obj/smooth_structures/grav_field.png.toml new file mode 100644 index 0000000000000..49f4000c213db --- /dev/null +++ b/icons/obj/smooth_structures/grav_field.png.toml @@ -0,0 +1,5 @@ +output_name = "grav_field" +template = "bitmask/diagonal_32x32.toml" + +[animation] +delays = [1, 1, 1] diff --git a/icons/obj/smooth_structures/grav_field_emissive.dmi b/icons/obj/smooth_structures/grav_field_emissive.dmi new file mode 100644 index 0000000000000..a2db63f082a5b Binary files /dev/null and b/icons/obj/smooth_structures/grav_field_emissive.dmi differ diff --git a/icons/obj/smooth_structures/grav_field_emissive.png b/icons/obj/smooth_structures/grav_field_emissive.png new file mode 100644 index 0000000000000..d3746ac5b63ac Binary files /dev/null and b/icons/obj/smooth_structures/grav_field_emissive.png differ diff --git a/icons/obj/smooth_structures/grav_field_emissive.png.toml b/icons/obj/smooth_structures/grav_field_emissive.png.toml new file mode 100644 index 0000000000000..ba6a7f73aaf7b --- /dev/null +++ b/icons/obj/smooth_structures/grav_field_emissive.png.toml @@ -0,0 +1,5 @@ +output_name = "grav_field_emissive" +template = "bitmask/diagonal_32x32.toml" + +[animation] +delays = [1, 1, 1] diff --git a/icons/obj/smooth_structures/plasmaglass_table.dmi b/icons/obj/smooth_structures/plasmaglass_table.dmi deleted file mode 100644 index 7c90a489e82de..0000000000000 Binary files a/icons/obj/smooth_structures/plasmaglass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/plasmaglass_table.png b/icons/obj/smooth_structures/plasmaglass_table.png deleted file mode 100644 index f3b062d6fdb96..0000000000000 Binary files a/icons/obj/smooth_structures/plasmaglass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/plasmaglass_table.png.toml b/icons/obj/smooth_structures/plasmaglass_table.png.toml deleted file mode 100644 index 744e082acf62f..0000000000000 --- a/icons/obj/smooth_structures/plasmaglass_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "plasmaglass_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/plastitaniumglass_table.dmi b/icons/obj/smooth_structures/plastitaniumglass_table.dmi deleted file mode 100644 index 78b6af93ba2a8..0000000000000 Binary files a/icons/obj/smooth_structures/plastitaniumglass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/plastitaniumglass_table.png b/icons/obj/smooth_structures/plastitaniumglass_table.png deleted file mode 100644 index b9619645bdfa6..0000000000000 Binary files a/icons/obj/smooth_structures/plastitaniumglass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/plastitaniumglass_table.png.toml b/icons/obj/smooth_structures/plastitaniumglass_table.png.toml deleted file mode 100644 index b1db1da55fc06..0000000000000 --- a/icons/obj/smooth_structures/plastitaniumglass_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "plastitaniumglass_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/poker_table.dmi b/icons/obj/smooth_structures/poker_table.dmi deleted file mode 100644 index 3dbc230ad0b23..0000000000000 Binary files a/icons/obj/smooth_structures/poker_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/poker_table.png b/icons/obj/smooth_structures/poker_table.png deleted file mode 100644 index 1be2da6519631..0000000000000 Binary files a/icons/obj/smooth_structures/poker_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/poker_table.png.toml b/icons/obj/smooth_structures/poker_table.png.toml deleted file mode 100644 index b12426f9236e6..0000000000000 --- a/icons/obj/smooth_structures/poker_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "poker_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/reinforced_table.dmi b/icons/obj/smooth_structures/reinforced_table.dmi deleted file mode 100644 index 5053deff017c1..0000000000000 Binary files a/icons/obj/smooth_structures/reinforced_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/reinforced_table.png b/icons/obj/smooth_structures/reinforced_table.png deleted file mode 100644 index 0f9ae450e562a..0000000000000 Binary files a/icons/obj/smooth_structures/reinforced_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/reinforced_table.png.toml b/icons/obj/smooth_structures/reinforced_table.png.toml deleted file mode 100644 index f7143356b4c94..0000000000000 --- a/icons/obj/smooth_structures/reinforced_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "reinforced_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/rglass_table.dmi b/icons/obj/smooth_structures/rglass_table.dmi deleted file mode 100644 index fd0bb83c2eee4..0000000000000 Binary files a/icons/obj/smooth_structures/rglass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/rglass_table.png b/icons/obj/smooth_structures/rglass_table.png deleted file mode 100644 index 970fc7d777077..0000000000000 Binary files a/icons/obj/smooth_structures/rglass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/rglass_table.png.toml b/icons/obj/smooth_structures/rglass_table.png.toml deleted file mode 100644 index c4cca008bbdd8..0000000000000 --- a/icons/obj/smooth_structures/rglass_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "rglass_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/rplasmaglass_table.dmi b/icons/obj/smooth_structures/rplasmaglass_table.dmi deleted file mode 100644 index db65243ab7c29..0000000000000 Binary files a/icons/obj/smooth_structures/rplasmaglass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/rplasmaglass_table.png b/icons/obj/smooth_structures/rplasmaglass_table.png deleted file mode 100644 index 4752df63b82fc..0000000000000 Binary files a/icons/obj/smooth_structures/rplasmaglass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/rplasmaglass_table.png.toml b/icons/obj/smooth_structures/rplasmaglass_table.png.toml deleted file mode 100644 index 29f4f3408cbe8..0000000000000 --- a/icons/obj/smooth_structures/rplasmaglass_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "rplasmaglass_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/table.dmi b/icons/obj/smooth_structures/table.dmi deleted file mode 100644 index 225f0950b95fe..0000000000000 Binary files a/icons/obj/smooth_structures/table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/table.png b/icons/obj/smooth_structures/table.png deleted file mode 100644 index b5acd10b4b8dd..0000000000000 Binary files a/icons/obj/smooth_structures/table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/table.png.toml b/icons/obj/smooth_structures/table.png.toml deleted file mode 100644 index 3700febbed568..0000000000000 --- a/icons/obj/smooth_structures/table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/table_greyscale.dmi b/icons/obj/smooth_structures/table_greyscale.dmi deleted file mode 100644 index 0c3513c58d1a4..0000000000000 Binary files a/icons/obj/smooth_structures/table_greyscale.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/table_greyscale.png b/icons/obj/smooth_structures/table_greyscale.png deleted file mode 100644 index 535a535d03cdd..0000000000000 Binary files a/icons/obj/smooth_structures/table_greyscale.png and /dev/null differ diff --git a/icons/obj/smooth_structures/table_greyscale.png.toml b/icons/obj/smooth_structures/table_greyscale.png.toml deleted file mode 100644 index 6a68ba8bc4d7e..0000000000000 --- a/icons/obj/smooth_structures/table_greyscale.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "table_greyscale" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/titaniumglass_table.dmi b/icons/obj/smooth_structures/titaniumglass_table.dmi deleted file mode 100644 index 43bf24b5afec4..0000000000000 Binary files a/icons/obj/smooth_structures/titaniumglass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/titaniumglass_table.png b/icons/obj/smooth_structures/titaniumglass_table.png deleted file mode 100644 index 8da5ba0849dad..0000000000000 Binary files a/icons/obj/smooth_structures/titaniumglass_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/titaniumglass_table.png.toml b/icons/obj/smooth_structures/titaniumglass_table.png.toml deleted file mode 100644 index d77b867616c64..0000000000000 --- a/icons/obj/smooth_structures/titaniumglass_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "titaniumglass_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/smooth_structures/webwall.dmi b/icons/obj/smooth_structures/webwall.dmi deleted file mode 100644 index e2308526cc96f..0000000000000 Binary files a/icons/obj/smooth_structures/webwall.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/webwall.png b/icons/obj/smooth_structures/webwall.png deleted file mode 100644 index 207978b8aaf47..0000000000000 Binary files a/icons/obj/smooth_structures/webwall.png and /dev/null differ diff --git a/icons/obj/smooth_structures/webwall_dark.dmi b/icons/obj/smooth_structures/webwall_dark.dmi deleted file mode 100644 index d3863a818144e..0000000000000 Binary files a/icons/obj/smooth_structures/webwall_dark.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/webwall_dark.png b/icons/obj/smooth_structures/webwall_dark.png deleted file mode 100644 index df36c5108bda0..0000000000000 Binary files a/icons/obj/smooth_structures/webwall_dark.png and /dev/null differ diff --git a/icons/obj/smooth_structures/webwall_reflector.dmi b/icons/obj/smooth_structures/webwall_reflector.dmi deleted file mode 100644 index 04547349d53cd..0000000000000 Binary files a/icons/obj/smooth_structures/webwall_reflector.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/webwall_reflector.png b/icons/obj/smooth_structures/webwall_reflector.png deleted file mode 100644 index 881cb24fc0dad..0000000000000 Binary files a/icons/obj/smooth_structures/webwall_reflector.png and /dev/null differ diff --git a/icons/obj/smooth_structures/wood_table.dmi b/icons/obj/smooth_structures/wood_table.dmi deleted file mode 100644 index ddc65b0c739d5..0000000000000 Binary files a/icons/obj/smooth_structures/wood_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/wood_table.png b/icons/obj/smooth_structures/wood_table.png deleted file mode 100644 index 72dc68ce7c35c..0000000000000 Binary files a/icons/obj/smooth_structures/wood_table.png and /dev/null differ diff --git a/icons/obj/smooth_structures/wood_table.png.toml b/icons/obj/smooth_structures/wood_table.png.toml deleted file mode 100644 index 1c197d3d9f8e2..0000000000000 --- a/icons/obj/smooth_structures/wood_table.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "wood_table" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index f13b10bdf4a8a..489d045968984 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/icons/obj/storage/box.dmi b/icons/obj/storage/box.dmi index c0a327d7df669..58c1dd661ae9e 100644 Binary files a/icons/obj/storage/box.dmi and b/icons/obj/storage/box.dmi differ diff --git a/icons/obj/storage/case.dmi b/icons/obj/storage/case.dmi index a29fd3a6f37c0..94b7251f93f46 100644 Binary files a/icons/obj/storage/case.dmi and b/icons/obj/storage/case.dmi differ diff --git a/icons/obj/storage/crates.dmi b/icons/obj/storage/crates.dmi index 34d5db6f3e898..017fcc59364b2 100644 Binary files a/icons/obj/storage/crates.dmi and b/icons/obj/storage/crates.dmi differ diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/storage/pet_carrier.dmi similarity index 100% rename from icons/obj/pet_carrier.dmi rename to icons/obj/storage/pet_carrier.dmi diff --git a/icons/obj/storage/storage.dmi b/icons/obj/storage/storage.dmi index a55606fa3b33b..0e8c4f6be71c9 100644 Binary files a/icons/obj/storage/storage.dmi and b/icons/obj/storage/storage.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi deleted file mode 100644 index becab20e591de..0000000000000 Binary files a/icons/obj/structures.dmi and /dev/null differ diff --git a/icons/obj/structures/aquarium/fish.dmi b/icons/obj/structures/aquarium/fish.dmi new file mode 100644 index 0000000000000..73304ea6af173 Binary files /dev/null and b/icons/obj/structures/aquarium/fish.dmi differ diff --git a/icons/obj/aquarium/supplies.dmi b/icons/obj/structures/aquarium/supplies.dmi similarity index 100% rename from icons/obj/aquarium/supplies.dmi rename to icons/obj/structures/aquarium/supplies.dmi diff --git a/icons/obj/aquarium/tanks.dmi b/icons/obj/structures/aquarium/tanks.dmi similarity index 100% rename from icons/obj/aquarium/tanks.dmi rename to icons/obj/structures/aquarium/tanks.dmi diff --git a/icons/obj/structures/aquarium/wide.dmi b/icons/obj/structures/aquarium/wide.dmi new file mode 100644 index 0000000000000..61dfbe1271830 Binary files /dev/null and b/icons/obj/structures/aquarium/wide.dmi differ diff --git a/icons/obj/bed.dmi b/icons/obj/structures/bed.dmi similarity index 100% rename from icons/obj/bed.dmi rename to icons/obj/structures/bed.dmi diff --git a/icons/obj/structures/cabinet.dmi b/icons/obj/structures/cabinet.dmi new file mode 100644 index 0000000000000..aa1b6b2953a2e Binary files /dev/null and b/icons/obj/structures/cabinet.dmi differ diff --git a/icons/obj/chairs.dmi b/icons/obj/structures/chairs.dmi similarity index 100% rename from icons/obj/chairs.dmi rename to icons/obj/structures/chairs.dmi diff --git a/icons/obj/chairs_wide.dmi b/icons/obj/structures/chairs_wide.dmi similarity index 100% rename from icons/obj/chairs_wide.dmi rename to icons/obj/structures/chairs_wide.dmi diff --git a/icons/obj/structures/departmental_signs.dmi b/icons/obj/structures/departmental_signs.dmi new file mode 100644 index 0000000000000..8d66d5170b871 Binary files /dev/null and b/icons/obj/structures/departmental_signs.dmi differ diff --git a/icons/obj/structures/directional_signs.dmi b/icons/obj/structures/directional_signs.dmi new file mode 100644 index 0000000000000..33aec80151840 Binary files /dev/null and b/icons/obj/structures/directional_signs.dmi differ diff --git a/icons/obj/structures/fence.dmi b/icons/obj/structures/fence.dmi new file mode 100644 index 0000000000000..bd910768ac78a Binary files /dev/null and b/icons/obj/structures/fence.dmi differ diff --git a/icons/obj/guillotine.dmi b/icons/obj/structures/guillotine.dmi similarity index 100% rename from icons/obj/guillotine.dmi rename to icons/obj/structures/guillotine.dmi diff --git a/icons/obj/structures/railings.dmi b/icons/obj/structures/railings.dmi new file mode 100644 index 0000000000000..171ee42964fef Binary files /dev/null and b/icons/obj/structures/railings.dmi differ diff --git a/icons/obj/smooth_structures/alien/nest.dmi b/icons/obj/structures/smooth/alien/nest.dmi similarity index 100% rename from icons/obj/smooth_structures/alien/nest.dmi rename to icons/obj/structures/smooth/alien/nest.dmi diff --git a/icons/obj/smooth_structures/alien/nest.png b/icons/obj/structures/smooth/alien/nest.png similarity index 100% rename from icons/obj/smooth_structures/alien/nest.png rename to icons/obj/structures/smooth/alien/nest.png diff --git a/icons/obj/smooth_structures/alien/nest.png.toml b/icons/obj/structures/smooth/alien/nest.png.toml similarity index 100% rename from icons/obj/smooth_structures/alien/nest.png.toml rename to icons/obj/structures/smooth/alien/nest.png.toml diff --git a/icons/obj/structures/smooth/alien/resin_membrane.dmi b/icons/obj/structures/smooth/alien/resin_membrane.dmi new file mode 100644 index 0000000000000..08f842df8a4fb Binary files /dev/null and b/icons/obj/structures/smooth/alien/resin_membrane.dmi differ diff --git a/icons/obj/structures/smooth/alien/resin_membrane.png b/icons/obj/structures/smooth/alien/resin_membrane.png new file mode 100644 index 0000000000000..f598cd779fd9c Binary files /dev/null and b/icons/obj/structures/smooth/alien/resin_membrane.png differ diff --git a/icons/obj/structures/smooth/alien/resin_membrane.png.toml b/icons/obj/structures/smooth/alien/resin_membrane.png.toml new file mode 100644 index 0000000000000..68ae53d2b9fa1 --- /dev/null +++ b/icons/obj/structures/smooth/alien/resin_membrane.png.toml @@ -0,0 +1,13 @@ +output_name = "resin_membrane" +template = "bitmask/diagonal_32x48.toml" + +[cut_pos] +x = 16 +y = 16 + +[positions] +convex = 0 +concave = 1 +horizontal = 2 +vertical = 3 +flat = 4 diff --git a/icons/obj/structures/smooth/alien/resin_wall_1.dmi b/icons/obj/structures/smooth/alien/resin_wall_1.dmi new file mode 100644 index 0000000000000..f562078bd6130 Binary files /dev/null and b/icons/obj/structures/smooth/alien/resin_wall_1.dmi differ diff --git a/icons/obj/structures/smooth/alien/resin_wall_1.png b/icons/obj/structures/smooth/alien/resin_wall_1.png new file mode 100644 index 0000000000000..dfe1542cbbd7b Binary files /dev/null and b/icons/obj/structures/smooth/alien/resin_wall_1.png differ diff --git a/icons/obj/structures/smooth/alien/resin_wall_1.png.toml b/icons/obj/structures/smooth/alien/resin_wall_1.png.toml new file mode 100644 index 0000000000000..60725dcea93ca --- /dev/null +++ b/icons/obj/structures/smooth/alien/resin_wall_1.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 12 +north = 16 +south = 18 +east = 21 diff --git a/icons/obj/structures/smooth/alien/resin_wall_2.dmi b/icons/obj/structures/smooth/alien/resin_wall_2.dmi new file mode 100644 index 0000000000000..9defa7f4140d0 Binary files /dev/null and b/icons/obj/structures/smooth/alien/resin_wall_2.dmi differ diff --git a/icons/obj/structures/smooth/alien/resin_wall_2.png b/icons/obj/structures/smooth/alien/resin_wall_2.png new file mode 100644 index 0000000000000..0c9be8c60781c Binary files /dev/null and b/icons/obj/structures/smooth/alien/resin_wall_2.png differ diff --git a/icons/obj/structures/smooth/alien/resin_wall_2.png.toml b/icons/obj/structures/smooth/alien/resin_wall_2.png.toml new file mode 100644 index 0000000000000..60725dcea93ca --- /dev/null +++ b/icons/obj/structures/smooth/alien/resin_wall_2.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 12 +north = 16 +south = 18 +east = 21 diff --git a/icons/obj/smooth_structures/alien/weednode.dmi b/icons/obj/structures/smooth/alien/weednode.dmi similarity index 100% rename from icons/obj/smooth_structures/alien/weednode.dmi rename to icons/obj/structures/smooth/alien/weednode.dmi diff --git a/icons/obj/smooth_structures/alien/weednode.png b/icons/obj/structures/smooth/alien/weednode.png similarity index 100% rename from icons/obj/smooth_structures/alien/weednode.png rename to icons/obj/structures/smooth/alien/weednode.png diff --git a/icons/obj/smooth_structures/alien/weednode.png.toml b/icons/obj/structures/smooth/alien/weednode.png.toml similarity index 100% rename from icons/obj/smooth_structures/alien/weednode.png.toml rename to icons/obj/structures/smooth/alien/weednode.png.toml diff --git a/icons/obj/smooth_structures/alien/weeds1.dmi b/icons/obj/structures/smooth/alien/weeds1.dmi similarity index 100% rename from icons/obj/smooth_structures/alien/weeds1.dmi rename to icons/obj/structures/smooth/alien/weeds1.dmi diff --git a/icons/obj/smooth_structures/alien/weeds1.png b/icons/obj/structures/smooth/alien/weeds1.png similarity index 100% rename from icons/obj/smooth_structures/alien/weeds1.png rename to icons/obj/structures/smooth/alien/weeds1.png diff --git a/icons/obj/smooth_structures/alien/weeds1.png.toml b/icons/obj/structures/smooth/alien/weeds1.png.toml similarity index 100% rename from icons/obj/smooth_structures/alien/weeds1.png.toml rename to icons/obj/structures/smooth/alien/weeds1.png.toml diff --git a/icons/obj/smooth_structures/alien/weeds2.dmi b/icons/obj/structures/smooth/alien/weeds2.dmi similarity index 100% rename from icons/obj/smooth_structures/alien/weeds2.dmi rename to icons/obj/structures/smooth/alien/weeds2.dmi diff --git a/icons/obj/smooth_structures/alien/weeds2.png b/icons/obj/structures/smooth/alien/weeds2.png similarity index 100% rename from icons/obj/smooth_structures/alien/weeds2.png rename to icons/obj/structures/smooth/alien/weeds2.png diff --git a/icons/obj/smooth_structures/alien/weeds2.png.toml b/icons/obj/structures/smooth/alien/weeds2.png.toml similarity index 100% rename from icons/obj/smooth_structures/alien/weeds2.png.toml rename to icons/obj/structures/smooth/alien/weeds2.png.toml diff --git a/icons/obj/smooth_structures/alien/weeds3.dmi b/icons/obj/structures/smooth/alien/weeds3.dmi similarity index 100% rename from icons/obj/smooth_structures/alien/weeds3.dmi rename to icons/obj/structures/smooth/alien/weeds3.dmi diff --git a/icons/obj/smooth_structures/alien/weeds3.png b/icons/obj/structures/smooth/alien/weeds3.png similarity index 100% rename from icons/obj/smooth_structures/alien/weeds3.png rename to icons/obj/structures/smooth/alien/weeds3.png diff --git a/icons/obj/smooth_structures/alien/weeds3.png.toml b/icons/obj/structures/smooth/alien/weeds3.png.toml similarity index 100% rename from icons/obj/smooth_structures/alien/weeds3.png.toml rename to icons/obj/structures/smooth/alien/weeds3.png.toml diff --git a/icons/obj/structures/smooth/alien_table.dmi b/icons/obj/structures/smooth/alien_table.dmi new file mode 100644 index 0000000000000..83c2807b56230 Binary files /dev/null and b/icons/obj/structures/smooth/alien_table.dmi differ diff --git a/icons/obj/structures/smooth/alien_table.png b/icons/obj/structures/smooth/alien_table.png new file mode 100644 index 0000000000000..614670f911aff Binary files /dev/null and b/icons/obj/structures/smooth/alien_table.png differ diff --git a/icons/obj/structures/smooth/alien_table.png.toml b/icons/obj/structures/smooth/alien_table.png.toml new file mode 100644 index 0000000000000..961a9871d8b92 --- /dev/null +++ b/icons/obj/structures/smooth/alien_table.png.toml @@ -0,0 +1,2 @@ +output_name = "alien_table" +template = "bitmask/table.toml" diff --git a/icons/obj/structures/smooth/brass_table.dmi b/icons/obj/structures/smooth/brass_table.dmi new file mode 100644 index 0000000000000..0467b58f1a1ed Binary files /dev/null and b/icons/obj/structures/smooth/brass_table.dmi differ diff --git a/icons/obj/structures/smooth/brass_table.png b/icons/obj/structures/smooth/brass_table.png new file mode 100644 index 0000000000000..b9236033023c5 Binary files /dev/null and b/icons/obj/structures/smooth/brass_table.png differ diff --git a/icons/obj/structures/smooth/brass_table.png.toml b/icons/obj/structures/smooth/brass_table.png.toml new file mode 100644 index 0000000000000..66b4ec43976fb --- /dev/null +++ b/icons/obj/structures/smooth/brass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "brass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/smooth_structures/catwalk.dmi b/icons/obj/structures/smooth/catwalk.dmi similarity index 100% rename from icons/obj/smooth_structures/catwalk.dmi rename to icons/obj/structures/smooth/catwalk.dmi diff --git a/icons/obj/smooth_structures/catwalk.png b/icons/obj/structures/smooth/catwalk.png similarity index 100% rename from icons/obj/smooth_structures/catwalk.png rename to icons/obj/structures/smooth/catwalk.png diff --git a/icons/obj/smooth_structures/catwalk.png.toml b/icons/obj/structures/smooth/catwalk.png.toml similarity index 100% rename from icons/obj/smooth_structures/catwalk.png.toml rename to icons/obj/structures/smooth/catwalk.png.toml diff --git a/icons/obj/smooth_structures/clockwork_window.dmi b/icons/obj/structures/smooth/clockwork_window.dmi similarity index 100% rename from icons/obj/smooth_structures/clockwork_window.dmi rename to icons/obj/structures/smooth/clockwork_window.dmi diff --git a/icons/obj/smooth_structures/clockwork_window.png b/icons/obj/structures/smooth/clockwork_window.png similarity index 100% rename from icons/obj/smooth_structures/clockwork_window.png rename to icons/obj/structures/smooth/clockwork_window.png diff --git a/icons/obj/smooth_structures/clockwork_window.png.toml b/icons/obj/structures/smooth/clockwork_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/clockwork_window.png.toml rename to icons/obj/structures/smooth/clockwork_window.png.toml diff --git a/icons/obj/structures/smooth/fancy_table.dmi b/icons/obj/structures/smooth/fancy_table.dmi new file mode 100644 index 0000000000000..9a050dcba5233 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table.png b/icons/obj/structures/smooth/fancy_table.png new file mode 100644 index 0000000000000..41e2ec0bd6dc4 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table.png differ diff --git a/icons/obj/structures/smooth/fancy_table.png.toml b/icons/obj/structures/smooth/fancy_table.png.toml new file mode 100644 index 0000000000000..e55ca825fa0df --- /dev/null +++ b/icons/obj/structures/smooth/fancy_table.png.toml @@ -0,0 +1,14 @@ +output_name = "fancy_table" +template = "bitmask/table.toml" + +[icon_size] +x = 32 +y = 42 + +[output_icon_size] +x = 32 +y = 42 + +[cut_pos] +x = 16 +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_black.dmi b/icons/obj/structures/smooth/fancy_table_black.dmi new file mode 100644 index 0000000000000..a676e78e0d3e0 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_black.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_black.png b/icons/obj/structures/smooth/fancy_table_black.png new file mode 100644 index 0000000000000..e6f79c8258735 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_black.png differ diff --git a/icons/obj/structures/smooth/fancy_table_black.png.toml b/icons/obj/structures/smooth/fancy_table_black.png.toml new file mode 100644 index 0000000000000..08fe3b0332729 --- /dev/null +++ b/icons/obj/structures/smooth/fancy_table_black.png.toml @@ -0,0 +1,14 @@ +output_name = "fancy_table_black" +template = "bitmask/table.toml" + +[icon_size] +x = 32 +y = 42 + +[output_icon_size] +x = 32 +y = 42 + +[cut_pos] +x = 16 +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_blue.dmi b/icons/obj/structures/smooth/fancy_table_blue.dmi new file mode 100644 index 0000000000000..5c1b11f6791d7 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_blue.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_blue.png b/icons/obj/structures/smooth/fancy_table_blue.png new file mode 100644 index 0000000000000..5c3ae1ba92584 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_blue.png differ diff --git a/icons/obj/structures/smooth/fancy_table_blue.png.toml b/icons/obj/structures/smooth/fancy_table_blue.png.toml new file mode 100644 index 0000000000000..5b7f8d4b698e5 --- /dev/null +++ b/icons/obj/structures/smooth/fancy_table_blue.png.toml @@ -0,0 +1,14 @@ +output_name = "fancy_table_blue" +template = "bitmask/table.toml" + +[icon_size] +x = 32 +y = 42 + +[output_icon_size] +x = 32 +y = 42 + +[cut_pos] +x = 16 +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_cyan.dmi b/icons/obj/structures/smooth/fancy_table_cyan.dmi new file mode 100644 index 0000000000000..5fe6eeb1d5da4 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_cyan.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_cyan.png b/icons/obj/structures/smooth/fancy_table_cyan.png new file mode 100644 index 0000000000000..0cbc51b117751 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_cyan.png differ diff --git a/icons/obj/structures/smooth/fancy_table_cyan.png.toml b/icons/obj/structures/smooth/fancy_table_cyan.png.toml new file mode 100644 index 0000000000000..94a7e9741df5c --- /dev/null +++ b/icons/obj/structures/smooth/fancy_table_cyan.png.toml @@ -0,0 +1,14 @@ +output_name = "fancy_table_cyan" +template = "bitmask/table.toml" + +[icon_size] +x = 32 +y = 42 + +[output_icon_size] +x = 32 +y = 42 + +[cut_pos] +x = 16 +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_green.dmi b/icons/obj/structures/smooth/fancy_table_green.dmi new file mode 100644 index 0000000000000..58f85b6bd983d Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_green.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_green.png b/icons/obj/structures/smooth/fancy_table_green.png new file mode 100644 index 0000000000000..7b7f2e96e0004 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_green.png differ diff --git a/icons/obj/smooth_structures/fancy_table_green.png.toml b/icons/obj/structures/smooth/fancy_table_green.png.toml similarity index 61% rename from icons/obj/smooth_structures/fancy_table_green.png.toml rename to icons/obj/structures/smooth/fancy_table_green.png.toml index a4486179c6aa8..6a70b6d3dbbeb 100644 --- a/icons/obj/smooth_structures/fancy_table_green.png.toml +++ b/icons/obj/structures/smooth/fancy_table_green.png.toml @@ -1,14 +1,14 @@ output_name = "fancy_table_green" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/table.toml" [icon_size] x = 32 -y = 34 +y = 42 [output_icon_size] x = 32 -y = 34 +y = 42 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_orange.dmi b/icons/obj/structures/smooth/fancy_table_orange.dmi new file mode 100644 index 0000000000000..3c7d6b65bef60 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_orange.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_orange.png b/icons/obj/structures/smooth/fancy_table_orange.png new file mode 100644 index 0000000000000..59fd1aa5784da Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_orange.png differ diff --git a/icons/obj/smooth_structures/fancy_table_orange.png.toml b/icons/obj/structures/smooth/fancy_table_orange.png.toml similarity index 62% rename from icons/obj/smooth_structures/fancy_table_orange.png.toml rename to icons/obj/structures/smooth/fancy_table_orange.png.toml index fcca03afb5aaf..d4b87dc9a6754 100644 --- a/icons/obj/smooth_structures/fancy_table_orange.png.toml +++ b/icons/obj/structures/smooth/fancy_table_orange.png.toml @@ -1,14 +1,14 @@ output_name = "fancy_table_orange" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/table.toml" [icon_size] x = 32 -y = 34 +y = 42 [output_icon_size] x = 32 -y = 34 +y = 42 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_purple.dmi b/icons/obj/structures/smooth/fancy_table_purple.dmi new file mode 100644 index 0000000000000..daaca067be349 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_purple.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_purple.png b/icons/obj/structures/smooth/fancy_table_purple.png new file mode 100644 index 0000000000000..0c440bc837c36 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_purple.png differ diff --git a/icons/obj/smooth_structures/fancy_table_purple.png.toml b/icons/obj/structures/smooth/fancy_table_purple.png.toml similarity index 62% rename from icons/obj/smooth_structures/fancy_table_purple.png.toml rename to icons/obj/structures/smooth/fancy_table_purple.png.toml index 2da707716ff04..4937b6890a86c 100644 --- a/icons/obj/smooth_structures/fancy_table_purple.png.toml +++ b/icons/obj/structures/smooth/fancy_table_purple.png.toml @@ -1,14 +1,14 @@ output_name = "fancy_table_purple" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/table.toml" [icon_size] x = 32 -y = 34 +y = 42 [output_icon_size] x = 32 -y = 34 +y = 42 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_red.dmi b/icons/obj/structures/smooth/fancy_table_red.dmi new file mode 100644 index 0000000000000..375174b7dc9d4 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_red.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_red.png b/icons/obj/structures/smooth/fancy_table_red.png new file mode 100644 index 0000000000000..247cebc40efb7 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_red.png differ diff --git a/icons/obj/smooth_structures/fancy_table_red.png.toml b/icons/obj/structures/smooth/fancy_table_red.png.toml similarity index 61% rename from icons/obj/smooth_structures/fancy_table_red.png.toml rename to icons/obj/structures/smooth/fancy_table_red.png.toml index d3b99e80746ec..ac5f2d26c848f 100644 --- a/icons/obj/smooth_structures/fancy_table_red.png.toml +++ b/icons/obj/structures/smooth/fancy_table_red.png.toml @@ -1,14 +1,14 @@ output_name = "fancy_table_red" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/table.toml" [icon_size] x = 32 -y = 34 +y = 42 [output_icon_size] x = 32 -y = 34 +y = 42 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_royalblack.dmi b/icons/obj/structures/smooth/fancy_table_royalblack.dmi new file mode 100644 index 0000000000000..a528bed9f8a79 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_royalblack.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_royalblack.png b/icons/obj/structures/smooth/fancy_table_royalblack.png new file mode 100644 index 0000000000000..595c0e58e6417 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_royalblack.png differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblack.png.toml b/icons/obj/structures/smooth/fancy_table_royalblack.png.toml similarity index 63% rename from icons/obj/smooth_structures/fancy_table_royalblack.png.toml rename to icons/obj/structures/smooth/fancy_table_royalblack.png.toml index 76a975938f87f..1ff82caa3acc0 100644 --- a/icons/obj/smooth_structures/fancy_table_royalblack.png.toml +++ b/icons/obj/structures/smooth/fancy_table_royalblack.png.toml @@ -1,14 +1,14 @@ output_name = "fancy_table_royalblack" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/table.toml" [icon_size] x = 32 -y = 34 +y = 42 [output_icon_size] x = 32 -y = 34 +y = 42 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 21 diff --git a/icons/obj/structures/smooth/fancy_table_royalblue.dmi b/icons/obj/structures/smooth/fancy_table_royalblue.dmi new file mode 100644 index 0000000000000..9d5f21355ec9b Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_royalblue.dmi differ diff --git a/icons/obj/structures/smooth/fancy_table_royalblue.png b/icons/obj/structures/smooth/fancy_table_royalblue.png new file mode 100644 index 0000000000000..51f0f1a89ee11 Binary files /dev/null and b/icons/obj/structures/smooth/fancy_table_royalblue.png differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblue.png.toml b/icons/obj/structures/smooth/fancy_table_royalblue.png.toml similarity index 62% rename from icons/obj/smooth_structures/fancy_table_royalblue.png.toml rename to icons/obj/structures/smooth/fancy_table_royalblue.png.toml index 59987f0feb8b1..6ca2226274022 100644 --- a/icons/obj/smooth_structures/fancy_table_royalblue.png.toml +++ b/icons/obj/structures/smooth/fancy_table_royalblue.png.toml @@ -1,14 +1,14 @@ output_name = "fancy_table_royalblue" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/table.toml" [icon_size] x = 32 -y = 34 +y = 42 [output_icon_size] x = 32 -y = 34 +y = 42 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 21 diff --git a/icons/obj/structures/smooth/glass_table.dmi b/icons/obj/structures/smooth/glass_table.dmi new file mode 100644 index 0000000000000..801b5ced8c36c Binary files /dev/null and b/icons/obj/structures/smooth/glass_table.dmi differ diff --git a/icons/obj/structures/smooth/glass_table.png b/icons/obj/structures/smooth/glass_table.png new file mode 100644 index 0000000000000..1233215ea7a9c Binary files /dev/null and b/icons/obj/structures/smooth/glass_table.png differ diff --git a/icons/obj/structures/smooth/glass_table.png.toml b/icons/obj/structures/smooth/glass_table.png.toml new file mode 100644 index 0000000000000..1c7e5eb9e9d62 --- /dev/null +++ b/icons/obj/structures/smooth/glass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "glass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/structures/smooth/grille.dmi b/icons/obj/structures/smooth/grille.dmi new file mode 100644 index 0000000000000..fcaef0508c807 Binary files /dev/null and b/icons/obj/structures/smooth/grille.dmi differ diff --git a/icons/obj/structures/smooth/grille.png b/icons/obj/structures/smooth/grille.png new file mode 100644 index 0000000000000..abca927c1759f Binary files /dev/null and b/icons/obj/structures/smooth/grille.png differ diff --git a/icons/obj/structures/smooth/grille.png.toml b/icons/obj/structures/smooth/grille.png.toml new file mode 100644 index 0000000000000..4e53ef53fff04 --- /dev/null +++ b/icons/obj/structures/smooth/grille.png.toml @@ -0,0 +1,2 @@ +output_name = "grille" +template = "bitmask/diagonal_32x48.toml" diff --git a/icons/obj/structures/smooth/grille_damaged.dmi b/icons/obj/structures/smooth/grille_damaged.dmi new file mode 100644 index 0000000000000..e6c86f8f4cf41 Binary files /dev/null and b/icons/obj/structures/smooth/grille_damaged.dmi differ diff --git a/icons/obj/structures/smooth/grille_damaged.png b/icons/obj/structures/smooth/grille_damaged.png new file mode 100644 index 0000000000000..dcd2040527375 Binary files /dev/null and b/icons/obj/structures/smooth/grille_damaged.png differ diff --git a/icons/obj/structures/smooth/grille_damaged.png.toml b/icons/obj/structures/smooth/grille_damaged.png.toml new file mode 100644 index 0000000000000..7237ffb347d1f --- /dev/null +++ b/icons/obj/structures/smooth/grille_damaged.png.toml @@ -0,0 +1,2 @@ +output_name = "grille_damaged" +template = "bitmask/diagonal_32x48.toml" diff --git a/icons/obj/smooth_structures/hedge.dmi b/icons/obj/structures/smooth/hedge.dmi similarity index 100% rename from icons/obj/smooth_structures/hedge.dmi rename to icons/obj/structures/smooth/hedge.dmi diff --git a/icons/obj/smooth_structures/hedge.png b/icons/obj/structures/smooth/hedge.png similarity index 100% rename from icons/obj/smooth_structures/hedge.png rename to icons/obj/structures/smooth/hedge.png diff --git a/icons/obj/smooth_structures/hedge.png.toml b/icons/obj/structures/smooth/hedge.png.toml similarity index 100% rename from icons/obj/smooth_structures/hedge.png.toml rename to icons/obj/structures/smooth/hedge.png.toml diff --git a/icons/obj/smooth_structures/lattice.dmi b/icons/obj/structures/smooth/lattice.dmi similarity index 100% rename from icons/obj/smooth_structures/lattice.dmi rename to icons/obj/structures/smooth/lattice.dmi diff --git a/icons/obj/smooth_structures/lattice.png b/icons/obj/structures/smooth/lattice.png similarity index 100% rename from icons/obj/smooth_structures/lattice.png rename to icons/obj/structures/smooth/lattice.png diff --git a/icons/obj/smooth_structures/lattice.png.toml b/icons/obj/structures/smooth/lattice.png.toml similarity index 100% rename from icons/obj/smooth_structures/lattice.png.toml rename to icons/obj/structures/smooth/lattice.png.toml diff --git a/icons/obj/smooth_structures/paperframes.dmi b/icons/obj/structures/smooth/paperframes.dmi similarity index 100% rename from icons/obj/smooth_structures/paperframes.dmi rename to icons/obj/structures/smooth/paperframes.dmi diff --git a/icons/obj/smooth_structures/paperframes.png b/icons/obj/structures/smooth/paperframes.png similarity index 100% rename from icons/obj/smooth_structures/paperframes.png rename to icons/obj/structures/smooth/paperframes.png diff --git a/icons/obj/smooth_structures/paperframes.png.toml b/icons/obj/structures/smooth/paperframes.png.toml similarity index 100% rename from icons/obj/smooth_structures/paperframes.png.toml rename to icons/obj/structures/smooth/paperframes.png.toml diff --git a/icons/obj/smooth_structures/plasma_window.dmi b/icons/obj/structures/smooth/plasma_window.dmi similarity index 100% rename from icons/obj/smooth_structures/plasma_window.dmi rename to icons/obj/structures/smooth/plasma_window.dmi diff --git a/icons/obj/smooth_structures/plasma_window.png b/icons/obj/structures/smooth/plasma_window.png similarity index 100% rename from icons/obj/smooth_structures/plasma_window.png rename to icons/obj/structures/smooth/plasma_window.png diff --git a/icons/obj/smooth_structures/plasma_window.png.toml b/icons/obj/structures/smooth/plasma_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/plasma_window.png.toml rename to icons/obj/structures/smooth/plasma_window.png.toml diff --git a/icons/obj/structures/smooth/plasmaglass_table.dmi b/icons/obj/structures/smooth/plasmaglass_table.dmi new file mode 100644 index 0000000000000..9ee79c69d9a1a Binary files /dev/null and b/icons/obj/structures/smooth/plasmaglass_table.dmi differ diff --git a/icons/obj/structures/smooth/plasmaglass_table.png b/icons/obj/structures/smooth/plasmaglass_table.png new file mode 100644 index 0000000000000..986c2a0006b78 Binary files /dev/null and b/icons/obj/structures/smooth/plasmaglass_table.png differ diff --git a/icons/obj/structures/smooth/plasmaglass_table.png.toml b/icons/obj/structures/smooth/plasmaglass_table.png.toml new file mode 100644 index 0000000000000..6c872f7216326 --- /dev/null +++ b/icons/obj/structures/smooth/plasmaglass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "plasmaglass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/smooth_structures/plastitanium_window.dmi b/icons/obj/structures/smooth/plastitanium_window.dmi similarity index 100% rename from icons/obj/smooth_structures/plastitanium_window.dmi rename to icons/obj/structures/smooth/plastitanium_window.dmi diff --git a/icons/obj/smooth_structures/plastitanium_window.png b/icons/obj/structures/smooth/plastitanium_window.png similarity index 100% rename from icons/obj/smooth_structures/plastitanium_window.png rename to icons/obj/structures/smooth/plastitanium_window.png diff --git a/icons/obj/smooth_structures/plastitanium_window.png.toml b/icons/obj/structures/smooth/plastitanium_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/plastitanium_window.png.toml rename to icons/obj/structures/smooth/plastitanium_window.png.toml diff --git a/icons/obj/structures/smooth/plastitaniumglass_table.dmi b/icons/obj/structures/smooth/plastitaniumglass_table.dmi new file mode 100644 index 0000000000000..b73dead91ae23 Binary files /dev/null and b/icons/obj/structures/smooth/plastitaniumglass_table.dmi differ diff --git a/icons/obj/structures/smooth/plastitaniumglass_table.png b/icons/obj/structures/smooth/plastitaniumglass_table.png new file mode 100644 index 0000000000000..cd1dfa22d64b3 Binary files /dev/null and b/icons/obj/structures/smooth/plastitaniumglass_table.png differ diff --git a/icons/obj/structures/smooth/plastitaniumglass_table.png.toml b/icons/obj/structures/smooth/plastitaniumglass_table.png.toml new file mode 100644 index 0000000000000..6eacac457a079 --- /dev/null +++ b/icons/obj/structures/smooth/plastitaniumglass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "plastitaniumglass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/smooth_structures/pod_window.dmi b/icons/obj/structures/smooth/pod_window.dmi similarity index 100% rename from icons/obj/smooth_structures/pod_window.dmi rename to icons/obj/structures/smooth/pod_window.dmi diff --git a/icons/obj/smooth_structures/pod_window.png b/icons/obj/structures/smooth/pod_window.png similarity index 100% rename from icons/obj/smooth_structures/pod_window.png rename to icons/obj/structures/smooth/pod_window.png diff --git a/icons/obj/smooth_structures/pod_window.png.toml b/icons/obj/structures/smooth/pod_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/pod_window.png.toml rename to icons/obj/structures/smooth/pod_window.png.toml diff --git a/icons/obj/structures/smooth/poker_table.dmi b/icons/obj/structures/smooth/poker_table.dmi new file mode 100644 index 0000000000000..ebb3f9aafbce4 Binary files /dev/null and b/icons/obj/structures/smooth/poker_table.dmi differ diff --git a/icons/obj/structures/smooth/poker_table.png b/icons/obj/structures/smooth/poker_table.png new file mode 100644 index 0000000000000..86cbbaf427e78 Binary files /dev/null and b/icons/obj/structures/smooth/poker_table.png differ diff --git a/icons/obj/structures/smooth/poker_table.png.toml b/icons/obj/structures/smooth/poker_table.png.toml new file mode 100644 index 0000000000000..8a464b59fc79e --- /dev/null +++ b/icons/obj/structures/smooth/poker_table.png.toml @@ -0,0 +1,2 @@ +output_name = "poker_table" +template = "bitmask/table.toml" diff --git a/icons/obj/structures/smooth/reinforced_table.dmi b/icons/obj/structures/smooth/reinforced_table.dmi new file mode 100644 index 0000000000000..48a44fa6a112e Binary files /dev/null and b/icons/obj/structures/smooth/reinforced_table.dmi differ diff --git a/icons/obj/structures/smooth/reinforced_table.png b/icons/obj/structures/smooth/reinforced_table.png new file mode 100644 index 0000000000000..df53b7e6ce91d Binary files /dev/null and b/icons/obj/structures/smooth/reinforced_table.png differ diff --git a/icons/obj/structures/smooth/reinforced_table.png.toml b/icons/obj/structures/smooth/reinforced_table.png.toml new file mode 100644 index 0000000000000..c90afac64144a --- /dev/null +++ b/icons/obj/structures/smooth/reinforced_table.png.toml @@ -0,0 +1,2 @@ +output_name = "reinforced_table" +template = "bitmask/table.toml" diff --git a/icons/obj/smooth_structures/reinforced_window.dmi b/icons/obj/structures/smooth/reinforced_window.dmi similarity index 100% rename from icons/obj/smooth_structures/reinforced_window.dmi rename to icons/obj/structures/smooth/reinforced_window.dmi diff --git a/icons/obj/smooth_structures/reinforced_window.png b/icons/obj/structures/smooth/reinforced_window.png similarity index 100% rename from icons/obj/smooth_structures/reinforced_window.png rename to icons/obj/structures/smooth/reinforced_window.png diff --git a/icons/obj/smooth_structures/reinforced_window.png.toml b/icons/obj/structures/smooth/reinforced_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/reinforced_window.png.toml rename to icons/obj/structures/smooth/reinforced_window.png.toml diff --git a/icons/obj/structures/smooth/rglass_table.dmi b/icons/obj/structures/smooth/rglass_table.dmi new file mode 100644 index 0000000000000..e0b4cff2810fa Binary files /dev/null and b/icons/obj/structures/smooth/rglass_table.dmi differ diff --git a/icons/obj/structures/smooth/rglass_table.png b/icons/obj/structures/smooth/rglass_table.png new file mode 100644 index 0000000000000..f37d0b2ecc3ba Binary files /dev/null and b/icons/obj/structures/smooth/rglass_table.png differ diff --git a/icons/obj/structures/smooth/rglass_table.png.toml b/icons/obj/structures/smooth/rglass_table.png.toml new file mode 100644 index 0000000000000..80540489d3d35 --- /dev/null +++ b/icons/obj/structures/smooth/rglass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "rglass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/smooth_structures/rice_window.dmi b/icons/obj/structures/smooth/rice_window.dmi similarity index 100% rename from icons/obj/smooth_structures/rice_window.dmi rename to icons/obj/structures/smooth/rice_window.dmi diff --git a/icons/obj/smooth_structures/rice_window.png b/icons/obj/structures/smooth/rice_window.png similarity index 100% rename from icons/obj/smooth_structures/rice_window.png rename to icons/obj/structures/smooth/rice_window.png diff --git a/icons/obj/smooth_structures/rice_window.png.toml b/icons/obj/structures/smooth/rice_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/rice_window.png.toml rename to icons/obj/structures/smooth/rice_window.png.toml diff --git a/icons/obj/smooth_structures/rollingtable.dmi b/icons/obj/structures/smooth/rollingtable.dmi similarity index 100% rename from icons/obj/smooth_structures/rollingtable.dmi rename to icons/obj/structures/smooth/rollingtable.dmi diff --git a/icons/obj/smooth_structures/rplasma_window.dmi b/icons/obj/structures/smooth/rplasma_window.dmi similarity index 100% rename from icons/obj/smooth_structures/rplasma_window.dmi rename to icons/obj/structures/smooth/rplasma_window.dmi diff --git a/icons/obj/smooth_structures/rplasma_window.png b/icons/obj/structures/smooth/rplasma_window.png similarity index 100% rename from icons/obj/smooth_structures/rplasma_window.png rename to icons/obj/structures/smooth/rplasma_window.png diff --git a/icons/obj/smooth_structures/rplasma_window.png.toml b/icons/obj/structures/smooth/rplasma_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/rplasma_window.png.toml rename to icons/obj/structures/smooth/rplasma_window.png.toml diff --git a/icons/obj/structures/smooth/rplasmaglass_table.dmi b/icons/obj/structures/smooth/rplasmaglass_table.dmi new file mode 100644 index 0000000000000..9d80a34791497 Binary files /dev/null and b/icons/obj/structures/smooth/rplasmaglass_table.dmi differ diff --git a/icons/obj/structures/smooth/rplasmaglass_table.png b/icons/obj/structures/smooth/rplasmaglass_table.png new file mode 100644 index 0000000000000..bfa7f623742f0 Binary files /dev/null and b/icons/obj/structures/smooth/rplasmaglass_table.png differ diff --git a/icons/obj/structures/smooth/rplasmaglass_table.png.toml b/icons/obj/structures/smooth/rplasmaglass_table.png.toml new file mode 100644 index 0000000000000..aee9de219e062 --- /dev/null +++ b/icons/obj/structures/smooth/rplasmaglass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "rplasmaglass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/smooth_structures/sandbags.dmi b/icons/obj/structures/smooth/sandbags.dmi similarity index 100% rename from icons/obj/smooth_structures/sandbags.dmi rename to icons/obj/structures/smooth/sandbags.dmi diff --git a/icons/obj/smooth_structures/sandbags.png b/icons/obj/structures/smooth/sandbags.png similarity index 100% rename from icons/obj/smooth_structures/sandbags.png rename to icons/obj/structures/smooth/sandbags.png diff --git a/icons/obj/smooth_structures/sandbags.png.toml b/icons/obj/structures/smooth/sandbags.png.toml similarity index 100% rename from icons/obj/smooth_structures/sandbags.png.toml rename to icons/obj/structures/smooth/sandbags.png.toml diff --git a/icons/obj/smooth_structures/shuttle_window.dmi b/icons/obj/structures/smooth/shuttle_window.dmi similarity index 100% rename from icons/obj/smooth_structures/shuttle_window.dmi rename to icons/obj/structures/smooth/shuttle_window.dmi diff --git a/icons/obj/smooth_structures/shuttle_window.png b/icons/obj/structures/smooth/shuttle_window.png similarity index 100% rename from icons/obj/smooth_structures/shuttle_window.png rename to icons/obj/structures/smooth/shuttle_window.png diff --git a/icons/obj/smooth_structures/shuttle_window.png.toml b/icons/obj/structures/smooth/shuttle_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/shuttle_window.png.toml rename to icons/obj/structures/smooth/shuttle_window.png.toml diff --git a/icons/obj/smooth_structures/stickyweb.dmi b/icons/obj/structures/smooth/stickyweb.dmi similarity index 100% rename from icons/obj/smooth_structures/stickyweb.dmi rename to icons/obj/structures/smooth/stickyweb.dmi diff --git a/icons/obj/smooth_structures/stickyweb.png b/icons/obj/structures/smooth/stickyweb.png similarity index 100% rename from icons/obj/smooth_structures/stickyweb.png rename to icons/obj/structures/smooth/stickyweb.png diff --git a/icons/obj/smooth_structures/stickyweb.png.toml b/icons/obj/structures/smooth/stickyweb.png.toml similarity index 100% rename from icons/obj/smooth_structures/stickyweb.png.toml rename to icons/obj/structures/smooth/stickyweb.png.toml diff --git a/icons/obj/smooth_structures/stickyweb_rotated.dmi b/icons/obj/structures/smooth/stickyweb_rotated.dmi similarity index 100% rename from icons/obj/smooth_structures/stickyweb_rotated.dmi rename to icons/obj/structures/smooth/stickyweb_rotated.dmi diff --git a/icons/obj/smooth_structures/stickyweb_rotated.png b/icons/obj/structures/smooth/stickyweb_rotated.png similarity index 100% rename from icons/obj/smooth_structures/stickyweb_rotated.png rename to icons/obj/structures/smooth/stickyweb_rotated.png diff --git a/icons/obj/smooth_structures/stickyweb_rotated.png.toml b/icons/obj/structures/smooth/stickyweb_rotated.png.toml similarity index 100% rename from icons/obj/smooth_structures/stickyweb_rotated.png.toml rename to icons/obj/structures/smooth/stickyweb_rotated.png.toml diff --git a/icons/obj/smooth_structures/stickyweb_spikes.dmi b/icons/obj/structures/smooth/stickyweb_spikes.dmi similarity index 100% rename from icons/obj/smooth_structures/stickyweb_spikes.dmi rename to icons/obj/structures/smooth/stickyweb_spikes.dmi diff --git a/icons/obj/smooth_structures/stickyweb_spikes.png b/icons/obj/structures/smooth/stickyweb_spikes.png similarity index 100% rename from icons/obj/smooth_structures/stickyweb_spikes.png rename to icons/obj/structures/smooth/stickyweb_spikes.png diff --git a/icons/obj/smooth_structures/stickyweb_spikes.png.toml b/icons/obj/structures/smooth/stickyweb_spikes.png.toml similarity index 100% rename from icons/obj/smooth_structures/stickyweb_spikes.png.toml rename to icons/obj/structures/smooth/stickyweb_spikes.png.toml diff --git a/icons/obj/smooth_structures/structure_variations.dmi b/icons/obj/structures/smooth/structure_variations.dmi similarity index 100% rename from icons/obj/smooth_structures/structure_variations.dmi rename to icons/obj/structures/smooth/structure_variations.dmi diff --git a/icons/obj/structures/smooth/table.dmi b/icons/obj/structures/smooth/table.dmi new file mode 100644 index 0000000000000..de480685db35d Binary files /dev/null and b/icons/obj/structures/smooth/table.dmi differ diff --git a/icons/obj/structures/smooth/table.png b/icons/obj/structures/smooth/table.png new file mode 100644 index 0000000000000..3522301b37c1e Binary files /dev/null and b/icons/obj/structures/smooth/table.png differ diff --git a/icons/obj/structures/smooth/table.png.toml b/icons/obj/structures/smooth/table.png.toml new file mode 100644 index 0000000000000..18a432408c74c --- /dev/null +++ b/icons/obj/structures/smooth/table.png.toml @@ -0,0 +1,2 @@ +output_name = "table" +template = "bitmask/table.toml" diff --git a/icons/obj/structures/smooth/table_greyscale.dmi b/icons/obj/structures/smooth/table_greyscale.dmi new file mode 100644 index 0000000000000..ae8fbfaf5717a Binary files /dev/null and b/icons/obj/structures/smooth/table_greyscale.dmi differ diff --git a/icons/obj/structures/smooth/table_greyscale.png b/icons/obj/structures/smooth/table_greyscale.png new file mode 100644 index 0000000000000..8a82a874baedf Binary files /dev/null and b/icons/obj/structures/smooth/table_greyscale.png differ diff --git a/icons/obj/structures/smooth/table_greyscale.png.toml b/icons/obj/structures/smooth/table_greyscale.png.toml new file mode 100644 index 0000000000000..557e6cda8435a --- /dev/null +++ b/icons/obj/structures/smooth/table_greyscale.png.toml @@ -0,0 +1,2 @@ +output_name = "table_greyscale" +template = "bitmask/table.toml" diff --git a/icons/obj/structures/smooth/table_singles.dmi b/icons/obj/structures/smooth/table_singles.dmi new file mode 100644 index 0000000000000..7dfd2db096b0c Binary files /dev/null and b/icons/obj/structures/smooth/table_singles.dmi differ diff --git a/icons/obj/structures/smooth/tall_structure_variations.dmi b/icons/obj/structures/smooth/tall_structure_variations.dmi new file mode 100644 index 0000000000000..3e245d63b0aac Binary files /dev/null and b/icons/obj/structures/smooth/tall_structure_variations.dmi differ diff --git a/icons/obj/smooth_structures/tinted_window.dmi b/icons/obj/structures/smooth/tinted_window.dmi similarity index 100% rename from icons/obj/smooth_structures/tinted_window.dmi rename to icons/obj/structures/smooth/tinted_window.dmi diff --git a/icons/obj/smooth_structures/tinted_window.png b/icons/obj/structures/smooth/tinted_window.png similarity index 100% rename from icons/obj/smooth_structures/tinted_window.png rename to icons/obj/structures/smooth/tinted_window.png diff --git a/icons/obj/smooth_structures/tinted_window.png.toml b/icons/obj/structures/smooth/tinted_window.png.toml similarity index 100% rename from icons/obj/smooth_structures/tinted_window.png.toml rename to icons/obj/structures/smooth/tinted_window.png.toml diff --git a/icons/obj/structures/smooth/titaniumglass_table.dmi b/icons/obj/structures/smooth/titaniumglass_table.dmi new file mode 100644 index 0000000000000..f5a6ea2317c04 Binary files /dev/null and b/icons/obj/structures/smooth/titaniumglass_table.dmi differ diff --git a/icons/obj/structures/smooth/titaniumglass_table.png b/icons/obj/structures/smooth/titaniumglass_table.png new file mode 100644 index 0000000000000..0cb950e571623 Binary files /dev/null and b/icons/obj/structures/smooth/titaniumglass_table.png differ diff --git a/icons/obj/structures/smooth/titaniumglass_table.png.toml b/icons/obj/structures/smooth/titaniumglass_table.png.toml new file mode 100644 index 0000000000000..91662abad9d4a --- /dev/null +++ b/icons/obj/structures/smooth/titaniumglass_table.png.toml @@ -0,0 +1,2 @@ +output_name = "titaniumglass_table" +template = "bitmask/table.toml" diff --git a/icons/obj/structures/smooth/webwall.dmi b/icons/obj/structures/smooth/webwall.dmi new file mode 100644 index 0000000000000..ea42794b09b92 Binary files /dev/null and b/icons/obj/structures/smooth/webwall.dmi differ diff --git a/icons/obj/structures/smooth/webwall.png b/icons/obj/structures/smooth/webwall.png new file mode 100644 index 0000000000000..ca80c6bef04f4 Binary files /dev/null and b/icons/obj/structures/smooth/webwall.png differ diff --git a/icons/obj/smooth_structures/webwall.png.toml b/icons/obj/structures/smooth/webwall.png.toml similarity index 100% rename from icons/obj/smooth_structures/webwall.png.toml rename to icons/obj/structures/smooth/webwall.png.toml diff --git a/icons/obj/structures/smooth/webwall_dark.dmi b/icons/obj/structures/smooth/webwall_dark.dmi new file mode 100644 index 0000000000000..96f54fbcb195d Binary files /dev/null and b/icons/obj/structures/smooth/webwall_dark.dmi differ diff --git a/icons/obj/structures/smooth/webwall_dark.png b/icons/obj/structures/smooth/webwall_dark.png new file mode 100644 index 0000000000000..fc58da11204b9 Binary files /dev/null and b/icons/obj/structures/smooth/webwall_dark.png differ diff --git a/icons/obj/smooth_structures/webwall_dark.png.toml b/icons/obj/structures/smooth/webwall_dark.png.toml similarity index 100% rename from icons/obj/smooth_structures/webwall_dark.png.toml rename to icons/obj/structures/smooth/webwall_dark.png.toml diff --git a/icons/obj/structures/smooth/webwall_reflector.dmi b/icons/obj/structures/smooth/webwall_reflector.dmi new file mode 100644 index 0000000000000..6b40039f0fd95 Binary files /dev/null and b/icons/obj/structures/smooth/webwall_reflector.dmi differ diff --git a/icons/obj/structures/smooth/webwall_reflector.png b/icons/obj/structures/smooth/webwall_reflector.png new file mode 100644 index 0000000000000..5bdc6362f19fc Binary files /dev/null and b/icons/obj/structures/smooth/webwall_reflector.png differ diff --git a/icons/obj/smooth_structures/webwall_reflector.png.toml b/icons/obj/structures/smooth/webwall_reflector.png.toml similarity index 100% rename from icons/obj/smooth_structures/webwall_reflector.png.toml rename to icons/obj/structures/smooth/webwall_reflector.png.toml diff --git a/icons/obj/smooth_structures/window.dmi b/icons/obj/structures/smooth/window.dmi similarity index 100% rename from icons/obj/smooth_structures/window.dmi rename to icons/obj/structures/smooth/window.dmi diff --git a/icons/obj/smooth_structures/window.png b/icons/obj/structures/smooth/window.png similarity index 100% rename from icons/obj/smooth_structures/window.png rename to icons/obj/structures/smooth/window.png diff --git a/icons/obj/smooth_structures/window.png.toml b/icons/obj/structures/smooth/window.png.toml similarity index 100% rename from icons/obj/smooth_structures/window.png.toml rename to icons/obj/structures/smooth/window.png.toml diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.dmi new file mode 100644 index 0000000000000..b07aebf496769 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.png new file mode 100644 index 0000000000000..876c1db5ca607 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.png.toml new file mode 100644 index 0000000000000..ca6044375c0c8 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bamboo.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_bamboo" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 33 + +[output_icon_size] +x = 32 +y = 33 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.dmi new file mode 100644 index 0000000000000..4bf6a23c89056 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.png new file mode 100644 index 0000000000000..c25d2715918e1 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.png.toml new file mode 100644 index 0000000000000..ef568da6ab27d --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_bronze.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_bronze" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.dmi new file mode 100644 index 0000000000000..a6418fe3652ab Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.png new file mode 100644 index 0000000000000..71db4e2c1dd93 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.png differ diff --git a/icons/obj/smooth_structures/fancy_table_blue.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.png.toml similarity index 66% rename from icons/obj/smooth_structures/fancy_table_blue.png.toml rename to icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.png.toml index 0a71213ab340b..12914b352a14f 100644 --- a/icons/obj/smooth_structures/fancy_table_blue.png.toml +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_cult.png.toml @@ -1,14 +1,14 @@ -output_name = "fancy_table_blue" +output_name = "window_frame_cult" template = "bitmask/diagonal_32x32.toml" [icon_size] x = 32 -y = 34 +y = 32 [output_icon_size] x = 32 -y = 34 +y = 32 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.dmi new file mode 100644 index 0000000000000..f0c1c338ee8f5 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.png new file mode 100644 index 0000000000000..cf30936712fb9 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.png differ diff --git a/icons/obj/smooth_structures/fancy_table_cyan.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.png.toml similarity index 66% rename from icons/obj/smooth_structures/fancy_table_cyan.png.toml rename to icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.png.toml index 6991b7ea5248a..4e6708939b464 100644 --- a/icons/obj/smooth_structures/fancy_table_cyan.png.toml +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_gold.png.toml @@ -1,14 +1,14 @@ -output_name = "fancy_table_cyan" +output_name = "window_frame_gold" template = "bitmask/diagonal_32x32.toml" [icon_size] x = 32 -y = 34 +y = 32 [output_icon_size] x = 32 -y = 34 +y = 32 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.dmi new file mode 100644 index 0000000000000..0168fe0cceb14 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.png new file mode 100644 index 0000000000000..2071d9af12f8b Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.png.toml new file mode 100644 index 0000000000000..8b16ec01d6bb2 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_hotel.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_hotel" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.dmi new file mode 100644 index 0000000000000..0ac98eb154ffe Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.png new file mode 100644 index 0000000000000..9d4287b048318 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.png differ diff --git a/icons/obj/smooth_structures/fancy_table_black.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.png.toml similarity index 66% rename from icons/obj/smooth_structures/fancy_table_black.png.toml rename to icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.png.toml index acf7a6b821377..f3ccff4914856 100644 --- a/icons/obj/smooth_structures/fancy_table_black.png.toml +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_iron.png.toml @@ -1,14 +1,14 @@ -output_name = "fancy_table_black" +output_name = "window_frame_iron" template = "bitmask/diagonal_32x32.toml" [icon_size] x = 32 -y = 34 +y = 32 [output_icon_size] x = 32 -y = 34 +y = 32 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.dmi new file mode 100644 index 0000000000000..bfbe726e23658 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.png new file mode 100644 index 0000000000000..89217a237b279 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.png.toml new file mode 100644 index 0000000000000..7e11ef2739217 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_material.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_material" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.dmi new file mode 100644 index 0000000000000..3a6df385cb7c5 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.png new file mode 100644 index 0000000000000..af97f77cbf753 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.png.toml new file mode 100644 index 0000000000000..90dbfccbbcd22 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_normal.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_normal" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.dmi new file mode 100644 index 0000000000000..c4ff381426226 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.png new file mode 100644 index 0000000000000..9b7d63b574fda Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.png.toml new file mode 100644 index 0000000000000..ee2a4a251e8fd --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_paperframe.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_paperframe" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.dmi new file mode 100644 index 0000000000000..81953f9dac5cd Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.png new file mode 100644 index 0000000000000..8b7ce42e937af Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.png.toml new file mode 100644 index 0000000000000..ee2a4a251e8fd --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_pizza.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_paperframe" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.dmi new file mode 100644 index 0000000000000..a28964bcf5373 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.png new file mode 100644 index 0000000000000..627116c68caab Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.png.toml new file mode 100644 index 0000000000000..722035c4576fc --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_plastitanium.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_plastitanium" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.dmi new file mode 100644 index 0000000000000..1367f021c3167 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.png new file mode 100644 index 0000000000000..bea1ebe249158 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.png.toml new file mode 100644 index 0000000000000..80f7eeffc4fc3 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_rusty.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_rusty" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.dmi new file mode 100644 index 0000000000000..8cd96b5b21aca Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.png new file mode 100644 index 0000000000000..f6f71383248c0 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.png.toml new file mode 100644 index 0000000000000..80f7eeffc4fc3 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_sandstone.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_rusty" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.dmi new file mode 100644 index 0000000000000..91b65de73cb04 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.png new file mode 100644 index 0000000000000..f45007aa22d21 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.png.toml new file mode 100644 index 0000000000000..7b69b502b72d8 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_shuttle.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_shuttle" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.dmi new file mode 100644 index 0000000000000..c58a9ecb92877 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.png new file mode 100644 index 0000000000000..d6b009a6ec3ee Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.png.toml new file mode 100644 index 0000000000000..0785dc4d1c732 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_silver.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_silver" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.dmi new file mode 100644 index 0000000000000..fb366d3275853 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.png new file mode 100644 index 0000000000000..a893a1af60c53 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.png.toml new file mode 100644 index 0000000000000..7d811bf0c73aa --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_uranium.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_uranium" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.dmi b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.dmi new file mode 100644 index 0000000000000..147ca7c934f65 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.png b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.png new file mode 100644 index 0000000000000..336719fe69172 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.png differ diff --git a/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.png.toml b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.png.toml new file mode 100644 index 0000000000000..7d811bf0c73aa --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/frame_faces/window_frame_wood.png.toml @@ -0,0 +1,14 @@ +output_name = "window_frame_uranium" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 diff --git a/icons/obj/structures/smooth/window_frames/window_frame_bamboo.dmi b/icons/obj/structures/smooth/window_frames/window_frame_bamboo.dmi new file mode 100644 index 0000000000000..057857bc61730 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_bamboo.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_bamboo.png b/icons/obj/structures/smooth/window_frames/window_frame_bamboo.png new file mode 100644 index 0000000000000..2421367e20102 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_bamboo.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_bamboo.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_bamboo.png.toml new file mode 100644 index 0000000000000..8e0b1399ea9e4 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_bamboo.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_bamboo" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_bronze.dmi b/icons/obj/structures/smooth/window_frames/window_frame_bronze.dmi new file mode 100644 index 0000000000000..0d292873b6241 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_bronze.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_bronze.png b/icons/obj/structures/smooth/window_frames/window_frame_bronze.png new file mode 100644 index 0000000000000..9f3854b41ab3a Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_bronze.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_bronze.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_bronze.png.toml new file mode 100644 index 0000000000000..9a8326a93bcc9 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_bronze.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_bronze" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_cult.dmi b/icons/obj/structures/smooth/window_frames/window_frame_cult.dmi new file mode 100644 index 0000000000000..b2ea411ee5c40 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_cult.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_cult.png b/icons/obj/structures/smooth/window_frames/window_frame_cult.png new file mode 100644 index 0000000000000..f4a2bee5ab429 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_cult.png differ diff --git a/icons/obj/smooth_structures/alien/resin_membrane.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_cult.png.toml similarity index 54% rename from icons/obj/smooth_structures/alien/resin_membrane.png.toml rename to icons/obj/structures/smooth/window_frames/window_frame_cult.png.toml index be1ef95dde423..eb9c06599673f 100644 --- a/icons/obj/smooth_structures/alien/resin_membrane.png.toml +++ b/icons/obj/structures/smooth/window_frames/window_frame_cult.png.toml @@ -1,2 +1,2 @@ -output_name = "resin_membrane" +output_name = "window_frame_cult" template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_gold.dmi b/icons/obj/structures/smooth/window_frames/window_frame_gold.dmi new file mode 100644 index 0000000000000..8c52de17622fb Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_gold.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_gold.png b/icons/obj/structures/smooth/window_frames/window_frame_gold.png new file mode 100644 index 0000000000000..bb2ddee5676b1 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_gold.png differ diff --git a/icons/obj/smooth_structures/alien/resin_wall.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_gold.png.toml similarity index 54% rename from icons/obj/smooth_structures/alien/resin_wall.png.toml rename to icons/obj/structures/smooth/window_frames/window_frame_gold.png.toml index d0ef4fffbdeac..528983bb0509a 100644 --- a/icons/obj/smooth_structures/alien/resin_wall.png.toml +++ b/icons/obj/structures/smooth/window_frames/window_frame_gold.png.toml @@ -1,2 +1,2 @@ -output_name = "resin_wall" +output_name = "window_frame_gold" template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_hotel.dmi b/icons/obj/structures/smooth/window_frames/window_frame_hotel.dmi new file mode 100644 index 0000000000000..a703eb0e618a3 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_hotel.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_hotel.png b/icons/obj/structures/smooth/window_frames/window_frame_hotel.png new file mode 100644 index 0000000000000..0759e2838bd5a Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_hotel.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_hotel.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_hotel.png.toml new file mode 100644 index 0000000000000..54e8ab3d84e09 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_hotel.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_hotel" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_iron.dmi b/icons/obj/structures/smooth/window_frames/window_frame_iron.dmi new file mode 100644 index 0000000000000..df111e908ff0a Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_iron.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_iron.png b/icons/obj/structures/smooth/window_frames/window_frame_iron.png new file mode 100644 index 0000000000000..f4edf9ed54931 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_iron.png differ diff --git a/icons/obj/smooth_structures/alien_table.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_iron.png.toml similarity index 54% rename from icons/obj/smooth_structures/alien_table.png.toml rename to icons/obj/structures/smooth/window_frames/window_frame_iron.png.toml index 8ae63217ae571..db015e176b957 100644 --- a/icons/obj/smooth_structures/alien_table.png.toml +++ b/icons/obj/structures/smooth/window_frames/window_frame_iron.png.toml @@ -1,2 +1,2 @@ -output_name = "alien_table" +output_name = "window_frame_iron" template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_material.dmi b/icons/obj/structures/smooth/window_frames/window_frame_material.dmi new file mode 100644 index 0000000000000..15b65a7d52649 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_material.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_material.png b/icons/obj/structures/smooth/window_frames/window_frame_material.png new file mode 100644 index 0000000000000..f2a28f47549ce Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_material.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_material.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_material.png.toml new file mode 100644 index 0000000000000..4a19e2b0fafb2 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_material.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_material" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_normal.dmi b/icons/obj/structures/smooth/window_frames/window_frame_normal.dmi new file mode 100644 index 0000000000000..20b72a1443c7a Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_normal.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_normal.png b/icons/obj/structures/smooth/window_frames/window_frame_normal.png new file mode 100644 index 0000000000000..00ab11b5a6385 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_normal.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_normal.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_normal.png.toml new file mode 100644 index 0000000000000..b66c79fe08340 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_normal.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_normal" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_paperframe.dmi b/icons/obj/structures/smooth/window_frames/window_frame_paperframe.dmi new file mode 100644 index 0000000000000..535f5850d13ce Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_paperframe.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_paperframe.png b/icons/obj/structures/smooth/window_frames/window_frame_paperframe.png new file mode 100644 index 0000000000000..9d3452fe7dbd1 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_paperframe.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_paperframe.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_paperframe.png.toml new file mode 100644 index 0000000000000..ef7ad65c2c1d6 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_paperframe.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_paperframe" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_pizza.dmi b/icons/obj/structures/smooth/window_frames/window_frame_pizza.dmi new file mode 100644 index 0000000000000..32e72f906e273 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_pizza.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_pizza.png b/icons/obj/structures/smooth/window_frames/window_frame_pizza.png new file mode 100644 index 0000000000000..d183ec51f9ace Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_pizza.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_pizza.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_pizza.png.toml new file mode 100644 index 0000000000000..18f0004f488c9 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_pizza.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_pizza" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.dmi b/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.dmi new file mode 100644 index 0000000000000..3983ae0357545 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.png b/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.png new file mode 100644 index 0000000000000..a1e849613fd8e Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.png.toml new file mode 100644 index 0000000000000..36cf38c58322c --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_plastitanium.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_plastitanium" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_rusty.dmi b/icons/obj/structures/smooth/window_frames/window_frame_rusty.dmi new file mode 100644 index 0000000000000..5c1b6e3d9d335 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_rusty.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_rusty.png b/icons/obj/structures/smooth/window_frames/window_frame_rusty.png new file mode 100644 index 0000000000000..0ad7f39152f4e Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_rusty.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_rusty.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_rusty.png.toml new file mode 100644 index 0000000000000..fd608c6597ce9 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_rusty.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_rusty" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_sandstone.dmi b/icons/obj/structures/smooth/window_frames/window_frame_sandstone.dmi new file mode 100644 index 0000000000000..7aa99478e67c7 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_sandstone.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_sandstone.png b/icons/obj/structures/smooth/window_frames/window_frame_sandstone.png new file mode 100644 index 0000000000000..38c8afacaf442 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_sandstone.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_sandstone.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_sandstone.png.toml new file mode 100644 index 0000000000000..d79e404965b34 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_sandstone.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_sandstone" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_shuttle.dmi b/icons/obj/structures/smooth/window_frames/window_frame_shuttle.dmi new file mode 100644 index 0000000000000..f110d8eeb8ca8 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_shuttle.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_shuttle.png b/icons/obj/structures/smooth/window_frames/window_frame_shuttle.png new file mode 100644 index 0000000000000..1334ccaed5d45 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_shuttle.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_shuttle.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_shuttle.png.toml new file mode 100644 index 0000000000000..8f1ebaabb6bec --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_shuttle.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_shuttle" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_silver.dmi b/icons/obj/structures/smooth/window_frames/window_frame_silver.dmi new file mode 100644 index 0000000000000..c2bcfd8efae63 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_silver.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_silver.png b/icons/obj/structures/smooth/window_frames/window_frame_silver.png new file mode 100644 index 0000000000000..24a0a70fc9928 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_silver.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_silver.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_silver.png.toml new file mode 100644 index 0000000000000..bdc754a95b2b5 --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_silver.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_silver" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_uranium.dmi b/icons/obj/structures/smooth/window_frames/window_frame_uranium.dmi new file mode 100644 index 0000000000000..ba0fd93334ce2 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_uranium.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_uranium.png b/icons/obj/structures/smooth/window_frames/window_frame_uranium.png new file mode 100644 index 0000000000000..26f7a590e6103 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_uranium.png differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_uranium.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_uranium.png.toml new file mode 100644 index 0000000000000..cbff8857a536e --- /dev/null +++ b/icons/obj/structures/smooth/window_frames/window_frame_uranium.png.toml @@ -0,0 +1,2 @@ +output_name = "window_frame_uranium" +template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_frames/window_frame_wood.dmi b/icons/obj/structures/smooth/window_frames/window_frame_wood.dmi new file mode 100644 index 0000000000000..51b764311d7c3 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_wood.dmi differ diff --git a/icons/obj/structures/smooth/window_frames/window_frame_wood.png b/icons/obj/structures/smooth/window_frames/window_frame_wood.png new file mode 100644 index 0000000000000..f067b72950150 Binary files /dev/null and b/icons/obj/structures/smooth/window_frames/window_frame_wood.png differ diff --git a/icons/obj/smooth_structures/brass_table.png.toml b/icons/obj/structures/smooth/window_frames/window_frame_wood.png.toml similarity index 54% rename from icons/obj/smooth_structures/brass_table.png.toml rename to icons/obj/structures/smooth/window_frames/window_frame_wood.png.toml index d633747042d55..ce70ff743407e 100644 --- a/icons/obj/smooth_structures/brass_table.png.toml +++ b/icons/obj/structures/smooth/window_frames/window_frame_wood.png.toml @@ -1,2 +1,2 @@ -output_name = "brass_table" +output_name = "window_frame_wood" template = "bitmask/diagonal_32x32.toml" diff --git a/icons/obj/structures/smooth/window_grille.dmi b/icons/obj/structures/smooth/window_grille.dmi new file mode 100644 index 0000000000000..63ee7eb1a4760 Binary files /dev/null and b/icons/obj/structures/smooth/window_grille.dmi differ diff --git a/icons/obj/structures/smooth/window_grille.png b/icons/obj/structures/smooth/window_grille.png new file mode 100644 index 0000000000000..3332b736e01aa Binary files /dev/null and b/icons/obj/structures/smooth/window_grille.png differ diff --git a/icons/obj/smooth_structures/fancy_table.png.toml b/icons/obj/structures/smooth/window_grille.png.toml similarity index 67% rename from icons/obj/smooth_structures/fancy_table.png.toml rename to icons/obj/structures/smooth/window_grille.png.toml index df9ca0016d76d..3c636a0c28e46 100644 --- a/icons/obj/smooth_structures/fancy_table.png.toml +++ b/icons/obj/structures/smooth/window_grille.png.toml @@ -1,14 +1,14 @@ -output_name = "fancy_table" +output_name = "window_grille" template = "bitmask/diagonal_32x32.toml" [icon_size] x = 32 -y = 34 +y = 32 [output_icon_size] x = 32 -y = 34 +y = 32 [cut_pos] x = 16 -y = 17 \ No newline at end of file +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/window_grille_black.dmi b/icons/obj/structures/smooth/window_grille_black.dmi new file mode 100644 index 0000000000000..35ac2f4a817bd Binary files /dev/null and b/icons/obj/structures/smooth/window_grille_black.dmi differ diff --git a/icons/obj/structures/smooth/window_grille_black.png b/icons/obj/structures/smooth/window_grille_black.png new file mode 100644 index 0000000000000..f10d53e4f1469 Binary files /dev/null and b/icons/obj/structures/smooth/window_grille_black.png differ diff --git a/icons/obj/structures/smooth/window_grille_black.png.toml b/icons/obj/structures/smooth/window_grille_black.png.toml new file mode 100644 index 0000000000000..f0d1438f4f640 --- /dev/null +++ b/icons/obj/structures/smooth/window_grille_black.png.toml @@ -0,0 +1,14 @@ +output_name = "window_grille_black" +template = "bitmask/diagonal_32x32.toml" + +[icon_size] +x = 32 +y = 32 + +[output_icon_size] +x = 32 +y = 32 + +[cut_pos] +x = 16 +y = 16 \ No newline at end of file diff --git a/icons/obj/structures/smooth/windows/bronze_window.dmi b/icons/obj/structures/smooth/windows/bronze_window.dmi new file mode 100644 index 0000000000000..1af8be87fa657 Binary files /dev/null and b/icons/obj/structures/smooth/windows/bronze_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/bronze_window.png b/icons/obj/structures/smooth/windows/bronze_window.png new file mode 100644 index 0000000000000..3953f593cc6bd Binary files /dev/null and b/icons/obj/structures/smooth/windows/bronze_window.png differ diff --git a/icons/obj/structures/smooth/windows/bronze_window.png.toml b/icons/obj/structures/smooth/windows/bronze_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/bronze_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/frosted_thindow.dmi b/icons/obj/structures/smooth/windows/frosted_thindow.dmi new file mode 100644 index 0000000000000..255b9563bc37e Binary files /dev/null and b/icons/obj/structures/smooth/windows/frosted_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/frosted_window.dmi b/icons/obj/structures/smooth/windows/frosted_window.dmi new file mode 100644 index 0000000000000..1af8de31ec512 Binary files /dev/null and b/icons/obj/structures/smooth/windows/frosted_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/frosted_window.png b/icons/obj/structures/smooth/windows/frosted_window.png new file mode 100644 index 0000000000000..598a5dc71d2a7 Binary files /dev/null and b/icons/obj/structures/smooth/windows/frosted_window.png differ diff --git a/icons/obj/structures/smooth/windows/half_thindow.dmi b/icons/obj/structures/smooth/windows/half_thindow.dmi new file mode 100644 index 0000000000000..319d0bf61a45d Binary files /dev/null and b/icons/obj/structures/smooth/windows/half_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/normal_thindow.dmi b/icons/obj/structures/smooth/windows/normal_thindow.dmi new file mode 100644 index 0000000000000..1e8b721ac5418 Binary files /dev/null and b/icons/obj/structures/smooth/windows/normal_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/normal_window.dmi b/icons/obj/structures/smooth/windows/normal_window.dmi new file mode 100644 index 0000000000000..c9423258e5aa2 Binary files /dev/null and b/icons/obj/structures/smooth/windows/normal_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/normal_window.png b/icons/obj/structures/smooth/windows/normal_window.png new file mode 100644 index 0000000000000..7c3eed67365ed Binary files /dev/null and b/icons/obj/structures/smooth/windows/normal_window.png differ diff --git a/icons/obj/structures/smooth/windows/normal_window.png.toml b/icons/obj/structures/smooth/windows/normal_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/normal_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/paper_window.dmi b/icons/obj/structures/smooth/windows/paper_window.dmi new file mode 100644 index 0000000000000..3601d64404940 Binary files /dev/null and b/icons/obj/structures/smooth/windows/paper_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/paper_window.png b/icons/obj/structures/smooth/windows/paper_window.png new file mode 100644 index 0000000000000..15926f8e67be9 Binary files /dev/null and b/icons/obj/structures/smooth/windows/paper_window.png differ diff --git a/icons/obj/structures/smooth/windows/paper_window.png.toml b/icons/obj/structures/smooth/windows/paper_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/paper_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/paper_window_fixing.png b/icons/obj/structures/smooth/windows/paper_window_fixing.png new file mode 100644 index 0000000000000..db8188fee0921 Binary files /dev/null and b/icons/obj/structures/smooth/windows/paper_window_fixing.png differ diff --git a/icons/obj/structures/smooth/windows/paper_window_torn.dmi b/icons/obj/structures/smooth/windows/paper_window_torn.dmi new file mode 100644 index 0000000000000..36ee97f4d0059 Binary files /dev/null and b/icons/obj/structures/smooth/windows/paper_window_torn.dmi differ diff --git a/icons/obj/structures/smooth/windows/paper_window_torn.png b/icons/obj/structures/smooth/windows/paper_window_torn.png new file mode 100644 index 0000000000000..2582ed0588b50 Binary files /dev/null and b/icons/obj/structures/smooth/windows/paper_window_torn.png differ diff --git a/icons/obj/structures/smooth/windows/paper_window_torn.png.toml b/icons/obj/structures/smooth/windows/paper_window_torn.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/paper_window_torn.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/paper_window_torn_fixing.png b/icons/obj/structures/smooth/windows/paper_window_torn_fixing.png new file mode 100644 index 0000000000000..057700aefd7a6 Binary files /dev/null and b/icons/obj/structures/smooth/windows/paper_window_torn_fixing.png differ diff --git a/icons/obj/structures/smooth/windows/plasma_reinforced_thindow.dmi b/icons/obj/structures/smooth/windows/plasma_reinforced_thindow.dmi new file mode 100644 index 0000000000000..40b9f2b0b0d04 Binary files /dev/null and b/icons/obj/structures/smooth/windows/plasma_reinforced_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/plasma_reinforced_window.dmi b/icons/obj/structures/smooth/windows/plasma_reinforced_window.dmi new file mode 100644 index 0000000000000..36a3e754da3d7 Binary files /dev/null and b/icons/obj/structures/smooth/windows/plasma_reinforced_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/plasma_reinforced_window.png b/icons/obj/structures/smooth/windows/plasma_reinforced_window.png new file mode 100644 index 0000000000000..67334639efbfa Binary files /dev/null and b/icons/obj/structures/smooth/windows/plasma_reinforced_window.png differ diff --git a/icons/obj/structures/smooth/windows/plasma_reinforced_window.png.toml b/icons/obj/structures/smooth/windows/plasma_reinforced_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/plasma_reinforced_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/plasma_thindow.dmi b/icons/obj/structures/smooth/windows/plasma_thindow.dmi new file mode 100644 index 0000000000000..c7f7f5d22de3c Binary files /dev/null and b/icons/obj/structures/smooth/windows/plasma_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/plasma_window.dmi b/icons/obj/structures/smooth/windows/plasma_window.dmi new file mode 100644 index 0000000000000..f48e180892bcb Binary files /dev/null and b/icons/obj/structures/smooth/windows/plasma_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/plasma_window.png b/icons/obj/structures/smooth/windows/plasma_window.png new file mode 100644 index 0000000000000..1fcc3a60caa4d Binary files /dev/null and b/icons/obj/structures/smooth/windows/plasma_window.png differ diff --git a/icons/obj/structures/smooth/windows/plasma_window.png.toml b/icons/obj/structures/smooth/windows/plasma_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/plasma_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/plastitanium_window.dmi b/icons/obj/structures/smooth/windows/plastitanium_window.dmi new file mode 100644 index 0000000000000..202cfce5fb5cd Binary files /dev/null and b/icons/obj/structures/smooth/windows/plastitanium_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/plastitanium_window.png b/icons/obj/structures/smooth/windows/plastitanium_window.png new file mode 100644 index 0000000000000..b40df92df9aca Binary files /dev/null and b/icons/obj/structures/smooth/windows/plastitanium_window.png differ diff --git a/icons/obj/structures/smooth/windows/plastitanium_window.png.toml b/icons/obj/structures/smooth/windows/plastitanium_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/plastitanium_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/pod_thindow.dmi b/icons/obj/structures/smooth/windows/pod_thindow.dmi new file mode 100644 index 0000000000000..d87e2fc9c35cf Binary files /dev/null and b/icons/obj/structures/smooth/windows/pod_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/pod_window.dmi b/icons/obj/structures/smooth/windows/pod_window.dmi new file mode 100644 index 0000000000000..427321857e847 Binary files /dev/null and b/icons/obj/structures/smooth/windows/pod_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/pod_window.png b/icons/obj/structures/smooth/windows/pod_window.png new file mode 100644 index 0000000000000..95bcb5b84a017 Binary files /dev/null and b/icons/obj/structures/smooth/windows/pod_window.png differ diff --git a/icons/obj/structures/smooth/windows/pod_window.png.toml b/icons/obj/structures/smooth/windows/pod_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/pod_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/reinforced_half_thindow.dmi b/icons/obj/structures/smooth/windows/reinforced_half_thindow.dmi new file mode 100644 index 0000000000000..a388f8bb7008a Binary files /dev/null and b/icons/obj/structures/smooth/windows/reinforced_half_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/reinforced_thindow.dmi b/icons/obj/structures/smooth/windows/reinforced_thindow.dmi new file mode 100644 index 0000000000000..a7704f3ca3391 Binary files /dev/null and b/icons/obj/structures/smooth/windows/reinforced_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/reinforced_window.dmi b/icons/obj/structures/smooth/windows/reinforced_window.dmi new file mode 100644 index 0000000000000..3f0a607e4321d Binary files /dev/null and b/icons/obj/structures/smooth/windows/reinforced_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/reinforced_window.png b/icons/obj/structures/smooth/windows/reinforced_window.png new file mode 100644 index 0000000000000..4991ed737a686 Binary files /dev/null and b/icons/obj/structures/smooth/windows/reinforced_window.png differ diff --git a/icons/obj/structures/smooth/windows/reinforced_window.png.toml b/icons/obj/structures/smooth/windows/reinforced_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/reinforced_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/tinted_thindow.dmi b/icons/obj/structures/smooth/windows/tinted_thindow.dmi new file mode 100644 index 0000000000000..3e594cfad60f8 Binary files /dev/null and b/icons/obj/structures/smooth/windows/tinted_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/tinted_window.dmi b/icons/obj/structures/smooth/windows/tinted_window.dmi new file mode 100644 index 0000000000000..e5f2d3e50611b Binary files /dev/null and b/icons/obj/structures/smooth/windows/tinted_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/tinted_window.png b/icons/obj/structures/smooth/windows/tinted_window.png new file mode 100644 index 0000000000000..d516466fa871a Binary files /dev/null and b/icons/obj/structures/smooth/windows/tinted_window.png differ diff --git a/icons/obj/structures/smooth/windows/tinted_window.png.toml b/icons/obj/structures/smooth/windows/tinted_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/tinted_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/titanium_window.dmi b/icons/obj/structures/smooth/windows/titanium_window.dmi new file mode 100644 index 0000000000000..dd6546595eecf Binary files /dev/null and b/icons/obj/structures/smooth/windows/titanium_window.dmi differ diff --git a/icons/obj/structures/smooth/windows/titanium_window.png b/icons/obj/structures/smooth/windows/titanium_window.png new file mode 100644 index 0000000000000..920432b8624e9 Binary files /dev/null and b/icons/obj/structures/smooth/windows/titanium_window.png differ diff --git a/icons/obj/structures/smooth/windows/titanium_window.png.toml b/icons/obj/structures/smooth/windows/titanium_window.png.toml new file mode 100644 index 0000000000000..2fc6c71ac78d8 --- /dev/null +++ b/icons/obj/structures/smooth/windows/titanium_window.png.toml @@ -0,0 +1 @@ +template = "bitmask/windows" diff --git a/icons/obj/structures/smooth/windows/tram_thindow.dmi b/icons/obj/structures/smooth/windows/tram_thindow.dmi new file mode 100644 index 0000000000000..a6987756e382f Binary files /dev/null and b/icons/obj/structures/smooth/windows/tram_thindow.dmi differ diff --git a/icons/obj/structures/smooth/windows/window_broken_heavy.dmi b/icons/obj/structures/smooth/windows/window_broken_heavy.dmi new file mode 100644 index 0000000000000..cc6298100a693 Binary files /dev/null and b/icons/obj/structures/smooth/windows/window_broken_heavy.dmi differ diff --git a/icons/obj/structures/smooth/windows/window_broken_heavy.png b/icons/obj/structures/smooth/windows/window_broken_heavy.png new file mode 100644 index 0000000000000..ad7a7e1038616 Binary files /dev/null and b/icons/obj/structures/smooth/windows/window_broken_heavy.png differ diff --git a/icons/obj/structures/smooth/windows/window_broken_heavy.png.toml b/icons/obj/structures/smooth/windows/window_broken_heavy.png.toml new file mode 100644 index 0000000000000..40cf1b1047127 --- /dev/null +++ b/icons/obj/structures/smooth/windows/window_broken_heavy.png.toml @@ -0,0 +1 @@ +template = "bitmask/diagonal_32x48" diff --git a/icons/obj/structures/smooth/windows/window_broken_light.dmi b/icons/obj/structures/smooth/windows/window_broken_light.dmi new file mode 100644 index 0000000000000..79669868d2a45 Binary files /dev/null and b/icons/obj/structures/smooth/windows/window_broken_light.dmi differ diff --git a/icons/obj/structures/smooth/windows/window_broken_light.png b/icons/obj/structures/smooth/windows/window_broken_light.png new file mode 100644 index 0000000000000..4e3942721292a Binary files /dev/null and b/icons/obj/structures/smooth/windows/window_broken_light.png differ diff --git a/icons/obj/structures/smooth/windows/window_broken_light.png.toml b/icons/obj/structures/smooth/windows/window_broken_light.png.toml new file mode 100644 index 0000000000000..40cf1b1047127 --- /dev/null +++ b/icons/obj/structures/smooth/windows/window_broken_light.png.toml @@ -0,0 +1 @@ +template = "bitmask/diagonal_32x48" diff --git a/icons/obj/structures/smooth/windows/window_broken_medium.dmi b/icons/obj/structures/smooth/windows/window_broken_medium.dmi new file mode 100644 index 0000000000000..a199a4a96898b Binary files /dev/null and b/icons/obj/structures/smooth/windows/window_broken_medium.dmi differ diff --git a/icons/obj/structures/smooth/windows/window_broken_medium.png b/icons/obj/structures/smooth/windows/window_broken_medium.png new file mode 100644 index 0000000000000..0fbe7146405cf Binary files /dev/null and b/icons/obj/structures/smooth/windows/window_broken_medium.png differ diff --git a/icons/obj/structures/smooth/windows/window_broken_medium.png.toml b/icons/obj/structures/smooth/windows/window_broken_medium.png.toml new file mode 100644 index 0000000000000..40cf1b1047127 --- /dev/null +++ b/icons/obj/structures/smooth/windows/window_broken_medium.png.toml @@ -0,0 +1 @@ +template = "bitmask/diagonal_32x48" diff --git a/icons/obj/structures/smooth/wood_table.dmi b/icons/obj/structures/smooth/wood_table.dmi new file mode 100644 index 0000000000000..dba79f344fc17 Binary files /dev/null and b/icons/obj/structures/smooth/wood_table.dmi differ diff --git a/icons/obj/structures/smooth/wood_table.png b/icons/obj/structures/smooth/wood_table.png new file mode 100644 index 0000000000000..a129342567d0c Binary files /dev/null and b/icons/obj/structures/smooth/wood_table.png differ diff --git a/icons/obj/structures/smooth/wood_table.png.toml b/icons/obj/structures/smooth/wood_table.png.toml new file mode 100644 index 0000000000000..b501b3857349c --- /dev/null +++ b/icons/obj/structures/smooth/wood_table.png.toml @@ -0,0 +1,2 @@ +output_name = "wood_table" +template = "bitmask/table.toml" diff --git a/icons/obj/stairs.dmi b/icons/obj/structures/stairs.dmi similarity index 100% rename from icons/obj/stairs.dmi rename to icons/obj/structures/stairs.dmi diff --git a/icons/obj/structures/tall.dmi b/icons/obj/structures/tall.dmi new file mode 100644 index 0000000000000..d73c489d484f3 Binary files /dev/null and b/icons/obj/structures/tall.dmi differ diff --git a/icons/obj/track.dmi b/icons/obj/structures/track.dmi similarity index 100% rename from icons/obj/track.dmi rename to icons/obj/structures/track.dmi diff --git a/icons/obj/tram/crossing_signal.dmi b/icons/obj/structures/tram/crossing_signal.dmi similarity index 100% rename from icons/obj/tram/crossing_signal.dmi rename to icons/obj/structures/tram/crossing_signal.dmi diff --git a/icons/obj/tram/tram_controllers.dmi b/icons/obj/structures/tram/tram_controllers.dmi similarity index 100% rename from icons/obj/tram/tram_controllers.dmi rename to icons/obj/structures/tram/tram_controllers.dmi diff --git a/icons/obj/tram/tram_display.dmi b/icons/obj/structures/tram/tram_display.dmi similarity index 100% rename from icons/obj/tram/tram_display.dmi rename to icons/obj/structures/tram/tram_display.dmi diff --git a/icons/obj/tram/tram_indicator.dmi b/icons/obj/structures/tram/tram_indicator.dmi similarity index 100% rename from icons/obj/tram/tram_indicator.dmi rename to icons/obj/structures/tram/tram_indicator.dmi diff --git a/icons/obj/tram/tram_rails.dmi b/icons/obj/structures/tram/tram_rails.dmi similarity index 100% rename from icons/obj/tram/tram_rails.dmi rename to icons/obj/structures/tram/tram_rails.dmi diff --git a/icons/obj/tram/tram_sensor.dmi b/icons/obj/structures/tram/tram_sensor.dmi similarity index 100% rename from icons/obj/tram/tram_sensor.dmi rename to icons/obj/structures/tram/tram_sensor.dmi diff --git a/icons/obj/tram/tram_structure.dmi b/icons/obj/structures/tram/tram_structure.dmi similarity index 100% rename from icons/obj/tram/tram_structure.dmi rename to icons/obj/structures/tram/tram_structure.dmi diff --git a/icons/obj/structures/wallmounts.dmi b/icons/obj/structures/wallmounts.dmi new file mode 100644 index 0000000000000..2ea6eda3d6ab7 Binary files /dev/null and b/icons/obj/structures/wallmounts.dmi differ diff --git a/icons/obj/structures/watercloset.dmi b/icons/obj/structures/watercloset.dmi new file mode 100644 index 0000000000000..b58d6cb130829 Binary files /dev/null and b/icons/obj/structures/watercloset.dmi differ diff --git a/icons/obj/structures_spawners.dmi b/icons/obj/structures_spawners.dmi index 8f699f4d711b1..83ea8750784ff 100644 Binary files a/icons/obj/structures_spawners.dmi and b/icons/obj/structures_spawners.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index ec8216ccc3e7b..e083c64a46e44 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/toys/plushes.dmi b/icons/obj/toys/plushes.dmi index 241d45fc33d27..968957f360c3a 100644 Binary files a/icons/obj/toys/plushes.dmi and b/icons/obj/toys/plushes.dmi differ diff --git a/icons/obj/toys/toy.dmi b/icons/obj/toys/toy.dmi index ef3f6dc9370e5..be4b7a3ed9a89 100644 Binary files a/icons/obj/toys/toy.dmi and b/icons/obj/toys/toy.dmi differ diff --git a/icons/obj/vending_restock.dmi b/icons/obj/vending_restock.dmi index 824e52d00a26c..836aebca7ae2d 100644 Binary files a/icons/obj/vending_restock.dmi and b/icons/obj/vending_restock.dmi differ diff --git a/icons/obj/wallmounts.dmi b/icons/obj/wallmounts.dmi deleted file mode 100644 index e70024a9edb23..0000000000000 Binary files a/icons/obj/wallmounts.dmi and /dev/null differ diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi deleted file mode 100644 index f8f83d9ab54ae..0000000000000 Binary files a/icons/obj/watercloset.dmi and /dev/null differ diff --git a/icons/obj/weapons/bows/arrows.dmi b/icons/obj/weapons/bows/arrows.dmi index 956a82dd9bf1f..b19c20187ebfa 100644 Binary files a/icons/obj/weapons/bows/arrows.dmi and b/icons/obj/weapons/bows/arrows.dmi differ diff --git a/icons/obj/weapons/bows/bows.dmi b/icons/obj/weapons/bows/bows.dmi index 4de9d4fca35ab..57d4237104266 100644 Binary files a/icons/obj/weapons/bows/bows.dmi and b/icons/obj/weapons/bows/bows.dmi differ diff --git a/icons/obj/weapons/cannons.dmi b/icons/obj/weapons/cannons.dmi index f0e37c5310ac6..b9735ba0aef9f 100644 Binary files a/icons/obj/weapons/cannons.dmi and b/icons/obj/weapons/cannons.dmi differ diff --git a/icons/obj/weapons/grenade.dmi b/icons/obj/weapons/grenade.dmi index b3fb018bafa07..c65f6d0e9fb80 100644 Binary files a/icons/obj/weapons/grenade.dmi and b/icons/obj/weapons/grenade.dmi differ diff --git a/icons/obj/weapons/guns/ammo.dmi b/icons/obj/weapons/guns/ammo.dmi index e3a82a81cd31d..4cd031af7ee8b 100644 Binary files a/icons/obj/weapons/guns/ammo.dmi and b/icons/obj/weapons/guns/ammo.dmi differ diff --git a/icons/obj/weapons/guns/ballistic.dmi b/icons/obj/weapons/guns/ballistic.dmi index abbb7743b0140..824d8b7c0a073 100644 Binary files a/icons/obj/weapons/guns/ballistic.dmi and b/icons/obj/weapons/guns/ballistic.dmi differ diff --git a/icons/obj/weapons/guns/energy.dmi b/icons/obj/weapons/guns/energy.dmi index 6e8e5c60f684a..5ff5c392f7be9 100644 Binary files a/icons/obj/weapons/guns/energy.dmi and b/icons/obj/weapons/guns/energy.dmi differ diff --git a/icons/obj/weapons/guns/projectiles.dmi b/icons/obj/weapons/guns/projectiles.dmi index 3be26b2c43fad..a6cf89e9b910f 100644 Binary files a/icons/obj/weapons/guns/projectiles.dmi and b/icons/obj/weapons/guns/projectiles.dmi differ diff --git a/icons/obj/weapons/guns/wide_guns.dmi b/icons/obj/weapons/guns/wide_guns.dmi index 568a3bc051f40..7e18f60eeb864 100644 Binary files a/icons/obj/weapons/guns/wide_guns.dmi and b/icons/obj/weapons/guns/wide_guns.dmi differ diff --git a/icons/obj/weapons/khopesh.dmi b/icons/obj/weapons/khopesh.dmi index 3c4ba40b34ac1..6f4a040f6a410 100644 Binary files a/icons/obj/weapons/khopesh.dmi and b/icons/obj/weapons/khopesh.dmi differ diff --git a/icons/obj/weapons/shields.dmi b/icons/obj/weapons/shields.dmi index 99e9b06aa4000..eec85e9bea1ac 100644 Binary files a/icons/obj/weapons/shields.dmi and b/icons/obj/weapons/shields.dmi differ diff --git a/icons/obj/weapons/spear.dmi b/icons/obj/weapons/spear.dmi index 7c044d362a765..8f8ceb1d9ee14 100644 Binary files a/icons/obj/weapons/spear.dmi and b/icons/obj/weapons/spear.dmi differ diff --git a/icons/obj/weapons/stabby.dmi b/icons/obj/weapons/stabby.dmi index 24d4e0aef31eb..be125b5f31d59 100644 Binary files a/icons/obj/weapons/stabby.dmi and b/icons/obj/weapons/stabby.dmi differ diff --git a/icons/obj/weapons/staff.dmi b/icons/obj/weapons/staff.dmi index 2d1460cf7e982..45c20ae17e5da 100644 Binary files a/icons/obj/weapons/staff.dmi and b/icons/obj/weapons/staff.dmi differ diff --git a/icons/obj/weapons/sword.dmi b/icons/obj/weapons/sword.dmi index d9a443cfc2699..9464c7b474585 100644 Binary files a/icons/obj/weapons/sword.dmi and b/icons/obj/weapons/sword.dmi differ diff --git a/icons/obj/weapons/turrets.dmi b/icons/obj/weapons/turrets.dmi index acac1fb832e52..488d3ea886db3 100644 Binary files a/icons/obj/weapons/turrets.dmi and b/icons/obj/weapons/turrets.dmi differ diff --git a/icons/obj/weapons/voidwalker_items.dmi b/icons/obj/weapons/voidwalker_items.dmi new file mode 100644 index 0000000000000..1179d1953003f Binary files /dev/null and b/icons/obj/weapons/voidwalker_items.dmi differ diff --git a/icons/testing/greyscale_error.dmi b/icons/testing/greyscale_error.dmi index 6c781a70ad191..aacf610682133 100644 Binary files a/icons/testing/greyscale_error.dmi and b/icons/testing/greyscale_error.dmi differ diff --git a/icons/turf/damaged.dmi b/icons/turf/damaged.dmi index a81384d8be6a1..74bba1a76b3f1 100644 Binary files a/icons/turf/damaged.dmi and b/icons/turf/damaged.dmi differ diff --git a/icons/turf/debug.dmi b/icons/turf/debug.dmi index debc965d0ecd8..eaaf1b0f15868 100644 Binary files a/icons/turf/debug.dmi and b/icons/turf/debug.dmi differ diff --git a/icons/turf/decals.dmi b/icons/turf/decals.dmi index 2c113e27d2cb0..bdb991ffdf678 100644 Binary files a/icons/turf/decals.dmi and b/icons/turf/decals.dmi differ diff --git a/icons/turf/engines.dmi b/icons/turf/engines.dmi new file mode 100644 index 0000000000000..6a0d1bdf31f2b Binary files /dev/null and b/icons/turf/engines.dmi differ diff --git a/icons/turf/floors/hierophant_floor.dmi b/icons/turf/floors/hierophant_floor.dmi index 365f887bfa4ea..a7ec34227120c 100644 Binary files a/icons/turf/floors/hierophant_floor.dmi and b/icons/turf/floors/hierophant_floor.dmi differ diff --git a/icons/turf/floors/hierophant_floor.png b/icons/turf/floors/hierophant_floor.png new file mode 100644 index 0000000000000..bcd1b1faf17e6 Binary files /dev/null and b/icons/turf/floors/hierophant_floor.png differ diff --git a/icons/turf/floors/hierophant_floor.png.toml b/icons/turf/floors/hierophant_floor.png.toml new file mode 100644 index 0000000000000..b2e727276e3cf --- /dev/null +++ b/icons/turf/floors/hierophant_floor.png.toml @@ -0,0 +1,5 @@ +output_name = "hierophant_floor" +template = "bitmask/diagonal_32x32.toml" + +[animation] +delays = [ 22,1,1,1,1,1 ] diff --git a/icons/turf/floors/hierophant_floor_alt.dmi b/icons/turf/floors/hierophant_floor_alt.dmi new file mode 100644 index 0000000000000..ac8712b769d8b Binary files /dev/null and b/icons/turf/floors/hierophant_floor_alt.dmi differ diff --git a/icons/turf/floors/hierophant_floor_alt.png b/icons/turf/floors/hierophant_floor_alt.png new file mode 100644 index 0000000000000..5ccc5cb3e0983 Binary files /dev/null and b/icons/turf/floors/hierophant_floor_alt.png differ diff --git a/icons/turf/floors/hierophant_floor_alt.png.toml b/icons/turf/floors/hierophant_floor_alt.png.toml new file mode 100644 index 0000000000000..ce1588b30a9a0 --- /dev/null +++ b/icons/turf/floors/hierophant_floor_alt.png.toml @@ -0,0 +1,5 @@ +output_name = "hierophant_floor_alt" +template = "bitmask/diagonal_32x32.toml" + +[animation] +delays = [ 22,1,1,1,1,1 ] diff --git a/icons/turf/overlays.dmi b/icons/turf/overlays.dmi index c9decbc5a3af3..aa7b6b67a189e 100644 Binary files a/icons/turf/overlays.dmi and b/icons/turf/overlays.dmi differ diff --git a/icons/turf/smoothrocks.dmi b/icons/turf/smoothrocks.dmi index e138e2af783d8..5087e765bba70 100644 Binary files a/icons/turf/smoothrocks.dmi and b/icons/turf/smoothrocks.dmi differ diff --git a/icons/turf/smoothrocks.png b/icons/turf/smoothrocks.png deleted file mode 100644 index dea84d594f668..0000000000000 Binary files a/icons/turf/smoothrocks.png and /dev/null differ diff --git a/icons/turf/smoothrocks.png.toml b/icons/turf/smoothrocks.png.toml deleted file mode 100644 index 4466fbbf3c926..0000000000000 --- a/icons/turf/smoothrocks.png.toml +++ /dev/null @@ -1,14 +0,0 @@ -output_name = "smoothrocks" -template = "bitmask/diagonal_32x32.toml" - -[icon_size] -x = 40 -y = 40 - -[output_icon_size] -x = 40 -y = 40 - -[cut_pos] -x = 20 -y = 20 \ No newline at end of file diff --git a/icons/turf/smoothrocks_old.dmi b/icons/turf/smoothrocks_old.dmi new file mode 100644 index 0000000000000..0948aaaaa3b8d Binary files /dev/null and b/icons/turf/smoothrocks_old.dmi differ diff --git a/icons/turf/walls/abductor_wall.dmi b/icons/turf/walls/abductor_wall.dmi index 4f731d99f4cd2..a3958407c872e 100644 Binary files a/icons/turf/walls/abductor_wall.dmi and b/icons/turf/walls/abductor_wall.dmi differ diff --git a/icons/turf/walls/abductor_wall.png b/icons/turf/walls/abductor_wall.png new file mode 100644 index 0000000000000..1091f7cf93bca Binary files /dev/null and b/icons/turf/walls/abductor_wall.png differ diff --git a/icons/turf/walls/abductor_wall.png.toml b/icons/turf/walls/abductor_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/abductor_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/bamboo_wall.dmi b/icons/turf/walls/bamboo_wall.dmi index 44c5824397e5a..2c0e7a161a686 100644 Binary files a/icons/turf/walls/bamboo_wall.dmi and b/icons/turf/walls/bamboo_wall.dmi differ diff --git a/icons/turf/walls/bamboo_wall.png b/icons/turf/walls/bamboo_wall.png index 6869cb409b2ab..b3128e13a3ba7 100644 Binary files a/icons/turf/walls/bamboo_wall.png and b/icons/turf/walls/bamboo_wall.png differ diff --git a/icons/turf/walls/bamboo_wall.png.toml b/icons/turf/walls/bamboo_wall.png.toml index 69d9d90503837..68a980052ec0a 100644 --- a/icons/turf/walls/bamboo_wall.png.toml +++ b/icons/turf/walls/bamboo_wall.png.toml @@ -1,5 +1 @@ -output_name = "bamboo_wall" -template = "bitmask/diagonal_32x32.toml" - -[prefabs] -0 = 5 +template = "bitmask/walls" diff --git a/icons/turf/walls/bananium_wall.dmi b/icons/turf/walls/bananium_wall.dmi index 7c563fca0d08d..3d6e7c96b8651 100644 Binary files a/icons/turf/walls/bananium_wall.dmi and b/icons/turf/walls/bananium_wall.dmi differ diff --git a/icons/turf/walls/bananium_wall.png b/icons/turf/walls/bananium_wall.png index 52d4b2a5888b5..a50dff5270a18 100644 Binary files a/icons/turf/walls/bananium_wall.png and b/icons/turf/walls/bananium_wall.png differ diff --git a/icons/turf/walls/bananium_wall.png.toml b/icons/turf/walls/bananium_wall.png.toml index 3225586db5cc1..68a980052ec0a 100644 --- a/icons/turf/walls/bananium_wall.png.toml +++ b/icons/turf/walls/bananium_wall.png.toml @@ -1,2 +1 @@ -output_name = "bananium_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/baseturfs_fuck.dmi b/icons/turf/walls/baseturfs_fuck.dmi new file mode 100644 index 0000000000000..1359b19e44970 Binary files /dev/null and b/icons/turf/walls/baseturfs_fuck.dmi differ diff --git a/icons/turf/walls/baseturfs_fuck.png b/icons/turf/walls/baseturfs_fuck.png new file mode 100644 index 0000000000000..d7abee1599ab6 Binary files /dev/null and b/icons/turf/walls/baseturfs_fuck.png differ diff --git a/icons/turf/walls/baseturfs_fuck.png.toml b/icons/turf/walls/baseturfs_fuck.png.toml new file mode 100644 index 0000000000000..3eba3454cf9c3 --- /dev/null +++ b/icons/turf/walls/baseturfs_fuck.png.toml @@ -0,0 +1,4 @@ +template = "bitmask/walls" + +[animation] +delays = [ 2 ] diff --git a/icons/turf/walls/bathroom_wall.dmi b/icons/turf/walls/bathroom_wall.dmi new file mode 100644 index 0000000000000..db47ac34161c7 Binary files /dev/null and b/icons/turf/walls/bathroom_wall.dmi differ diff --git a/icons/turf/walls/bathroom_wall.png b/icons/turf/walls/bathroom_wall.png new file mode 100644 index 0000000000000..31bb442f9c9ef Binary files /dev/null and b/icons/turf/walls/bathroom_wall.png differ diff --git a/icons/turf/walls/bathroom_wall.png.toml b/icons/turf/walls/bathroom_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/bathroom_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/binary_wall.dmi b/icons/turf/walls/binary_wall.dmi new file mode 100644 index 0000000000000..b28d5dbe3e74a Binary files /dev/null and b/icons/turf/walls/binary_wall.dmi differ diff --git a/icons/turf/walls/binary_wall.png b/icons/turf/walls/binary_wall.png new file mode 100644 index 0000000000000..3bd227029f047 Binary files /dev/null and b/icons/turf/walls/binary_wall.png differ diff --git a/icons/turf/walls/binary_wall.png.toml b/icons/turf/walls/binary_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/binary_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/boss_wall.dmi b/icons/turf/walls/boss_wall.dmi index 6bc124b077823..03fd70a9df799 100644 Binary files a/icons/turf/walls/boss_wall.dmi and b/icons/turf/walls/boss_wall.dmi differ diff --git a/icons/turf/walls/boss_wall.png b/icons/turf/walls/boss_wall.png index 45d334f25763c..10174d8837abf 100644 Binary files a/icons/turf/walls/boss_wall.png and b/icons/turf/walls/boss_wall.png differ diff --git a/icons/turf/walls/boss_wall.png.toml b/icons/turf/walls/boss_wall.png.toml index 4d6797e1ddaf1..383ccc8c7e1ac 100644 --- a/icons/turf/walls/boss_wall.png.toml +++ b/icons/turf/walls/boss_wall.png.toml @@ -1,2 +1,3 @@ -output_name = "boss_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" +[prefabs] +0 = 5 diff --git a/icons/turf/walls/clockwork_wall.dmi b/icons/turf/walls/clockwork_wall.dmi index 8785209409b28..bd7223e22f12c 100644 Binary files a/icons/turf/walls/clockwork_wall.dmi and b/icons/turf/walls/clockwork_wall.dmi differ diff --git a/icons/turf/walls/clockwork_wall.png b/icons/turf/walls/clockwork_wall.png index 7dcc7d6ea6a15..1edfee5cbc3ab 100644 Binary files a/icons/turf/walls/clockwork_wall.png and b/icons/turf/walls/clockwork_wall.png differ diff --git a/icons/turf/walls/clockwork_wall.png.toml b/icons/turf/walls/clockwork_wall.png.toml index bfec1cdfd5886..68a980052ec0a 100644 --- a/icons/turf/walls/clockwork_wall.png.toml +++ b/icons/turf/walls/clockwork_wall.png.toml @@ -1,2 +1 @@ -output_name = "clockwork_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/cult_wall.dmi b/icons/turf/walls/cult_wall.dmi index 51e98161d6a5f..a996da6008b60 100644 Binary files a/icons/turf/walls/cult_wall.dmi and b/icons/turf/walls/cult_wall.dmi differ diff --git a/icons/turf/walls/cult_wall.png b/icons/turf/walls/cult_wall.png index c2005bdd60c39..64af0e5d99956 100644 Binary files a/icons/turf/walls/cult_wall.png and b/icons/turf/walls/cult_wall.png differ diff --git a/icons/turf/walls/cult_wall.png.toml b/icons/turf/walls/cult_wall.png.toml index 8739156f9ac96..87d5a807bfd93 100644 --- a/icons/turf/walls/cult_wall.png.toml +++ b/icons/turf/walls/cult_wall.png.toml @@ -1,2 +1,3 @@ -output_name = "cult_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" +[cut_pos] +y = 16 diff --git a/icons/turf/walls/debug_wall.dmi b/icons/turf/walls/debug_wall.dmi new file mode 100644 index 0000000000000..1e36056574bd3 Binary files /dev/null and b/icons/turf/walls/debug_wall.dmi differ diff --git a/icons/turf/walls/debug_wall.png b/icons/turf/walls/debug_wall.png new file mode 100644 index 0000000000000..c38bf2999cebe Binary files /dev/null and b/icons/turf/walls/debug_wall.png differ diff --git a/icons/turf/walls/debug_wall.png.toml b/icons/turf/walls/debug_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/debug_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/diamond_wall.dmi b/icons/turf/walls/diamond_wall.dmi index 99149f0d43d9d..219226c7ff847 100644 Binary files a/icons/turf/walls/diamond_wall.dmi and b/icons/turf/walls/diamond_wall.dmi differ diff --git a/icons/turf/walls/diamond_wall.png b/icons/turf/walls/diamond_wall.png index 75263ac97a93f..72d5d3adcc4db 100644 Binary files a/icons/turf/walls/diamond_wall.png and b/icons/turf/walls/diamond_wall.png differ diff --git a/icons/turf/walls/diamond_wall.png.toml b/icons/turf/walls/diamond_wall.png.toml index e9565ac712b9d..d8e6d1e10066a 100644 --- a/icons/turf/walls/diamond_wall.png.toml +++ b/icons/turf/walls/diamond_wall.png.toml @@ -1,2 +1,7 @@ -output_name = "diamond_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" + +[slice_point] +west = 8 +north = 16 +south = 17 +east = 24 diff --git a/icons/turf/walls/false_walls.dmi b/icons/turf/walls/false_walls.dmi index 1b02b4bdbe6dd..09a76451a898a 100644 Binary files a/icons/turf/walls/false_walls.dmi and b/icons/turf/walls/false_walls.dmi differ diff --git a/icons/turf/walls/gold_wall.dmi b/icons/turf/walls/gold_wall.dmi index 283dd437646d5..1565c6f178618 100644 Binary files a/icons/turf/walls/gold_wall.dmi and b/icons/turf/walls/gold_wall.dmi differ diff --git a/icons/turf/walls/gold_wall.png b/icons/turf/walls/gold_wall.png index 13774d5d9693b..9ecf15833b023 100644 Binary files a/icons/turf/walls/gold_wall.png and b/icons/turf/walls/gold_wall.png differ diff --git a/icons/turf/walls/gold_wall.png.toml b/icons/turf/walls/gold_wall.png.toml index c351a8eb43d7f..68a980052ec0a 100644 --- a/icons/turf/walls/gold_wall.png.toml +++ b/icons/turf/walls/gold_wall.png.toml @@ -1,2 +1 @@ -output_name = "gold_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/hierophant_wall.dmi b/icons/turf/walls/hierophant_wall.dmi index 3d417d70871de..b70a1d0ab5e3e 100644 Binary files a/icons/turf/walls/hierophant_wall.dmi and b/icons/turf/walls/hierophant_wall.dmi differ diff --git a/icons/turf/walls/hierophant_wall.png b/icons/turf/walls/hierophant_wall.png new file mode 100644 index 0000000000000..587c1562a0caa Binary files /dev/null and b/icons/turf/walls/hierophant_wall.png differ diff --git a/icons/turf/walls/hierophant_wall.png.toml b/icons/turf/walls/hierophant_wall.png.toml new file mode 100644 index 0000000000000..45dab6be83f05 --- /dev/null +++ b/icons/turf/walls/hierophant_wall.png.toml @@ -0,0 +1,4 @@ +template = "bitmask/walls" + +[animation] +delays = [ 1 ] diff --git a/icons/turf/walls/hotel_door.dmi b/icons/turf/walls/hotel_door.dmi new file mode 100644 index 0000000000000..b9f8f2a147574 Binary files /dev/null and b/icons/turf/walls/hotel_door.dmi differ diff --git a/icons/turf/walls/hotel_door.png b/icons/turf/walls/hotel_door.png new file mode 100644 index 0000000000000..e4dd344156cd2 Binary files /dev/null and b/icons/turf/walls/hotel_door.png differ diff --git a/icons/turf/walls/hotel_door.png.toml b/icons/turf/walls/hotel_door.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/hotel_door.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/hotel_door_glow.dmi b/icons/turf/walls/hotel_door_glow.dmi new file mode 100644 index 0000000000000..3d9bc017de1d5 Binary files /dev/null and b/icons/turf/walls/hotel_door_glow.dmi differ diff --git a/icons/turf/walls/hotel_wall.dmi b/icons/turf/walls/hotel_wall.dmi new file mode 100644 index 0000000000000..bb26c38d85c55 Binary files /dev/null and b/icons/turf/walls/hotel_wall.dmi differ diff --git a/icons/turf/walls/hotel_wall.png b/icons/turf/walls/hotel_wall.png new file mode 100644 index 0000000000000..19cae376f0796 Binary files /dev/null and b/icons/turf/walls/hotel_wall.png differ diff --git a/icons/turf/walls/hotel_wall.png.toml b/icons/turf/walls/hotel_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/hotel_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/iced_metal_wall.dmi b/icons/turf/walls/iced_metal_wall.dmi new file mode 100644 index 0000000000000..9601e189e2369 Binary files /dev/null and b/icons/turf/walls/iced_metal_wall.dmi differ diff --git a/icons/turf/walls/iced_metal_wall.png b/icons/turf/walls/iced_metal_wall.png new file mode 100644 index 0000000000000..0b033932407e6 Binary files /dev/null and b/icons/turf/walls/iced_metal_wall.png differ diff --git a/icons/turf/walls/iced_metal_wall.png.toml b/icons/turf/walls/iced_metal_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/iced_metal_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/icedmetal_wall.dmi b/icons/turf/walls/icedmetal_wall.dmi deleted file mode 100644 index 8d63b19a8bfc5..0000000000000 Binary files a/icons/turf/walls/icedmetal_wall.dmi and /dev/null differ diff --git a/icons/turf/walls/icedmetal_wall.png b/icons/turf/walls/icedmetal_wall.png deleted file mode 100644 index a8973a16b234d..0000000000000 Binary files a/icons/turf/walls/icedmetal_wall.png and /dev/null differ diff --git a/icons/turf/walls/icedmetal_wall.png.toml b/icons/turf/walls/icedmetal_wall.png.toml deleted file mode 100644 index 6aa236a0da3c4..0000000000000 --- a/icons/turf/walls/icedmetal_wall.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "icedmetal_wall" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/turf/walls/icerock_wall.dmi b/icons/turf/walls/icerock_wall.dmi index 652a2df113b6c..647b9bfb10c06 100644 Binary files a/icons/turf/walls/icerock_wall.dmi and b/icons/turf/walls/icerock_wall.dmi differ diff --git a/icons/turf/walls/icerock_wall.png b/icons/turf/walls/icerock_wall.png index 08b0547a937c2..2d26fe77c67a9 100644 Binary files a/icons/turf/walls/icerock_wall.png and b/icons/turf/walls/icerock_wall.png differ diff --git a/icons/turf/walls/icerock_wall.png.toml b/icons/turf/walls/icerock_wall.png.toml index 7d713818b562f..b5eb6f6edbd9f 100644 --- a/icons/turf/walls/icerock_wall.png.toml +++ b/icons/turf/walls/icerock_wall.png.toml @@ -1,14 +1,7 @@ -output_name = "icerock_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" -[icon_size] -x = 40 -y = 40 - -[output_icon_size] -x = 40 -y = 40 - -[cut_pos] -x = 20 -y = 20 \ No newline at end of file +[slice_point] +west = 4 +north = 16 +south = 19 +east = 28 diff --git a/icons/turf/walls/iron_wall.dmi b/icons/turf/walls/iron_wall.dmi index d2d723adb28b0..5961fd4de499d 100644 Binary files a/icons/turf/walls/iron_wall.dmi and b/icons/turf/walls/iron_wall.dmi differ diff --git a/icons/turf/walls/iron_wall.png b/icons/turf/walls/iron_wall.png index ff71f25a0cb44..f6278e661858a 100644 Binary files a/icons/turf/walls/iron_wall.png and b/icons/turf/walls/iron_wall.png differ diff --git a/icons/turf/walls/iron_wall.png.toml b/icons/turf/walls/iron_wall.png.toml index 13708a21e29b4..68a980052ec0a 100644 --- a/icons/turf/walls/iron_wall.png.toml +++ b/icons/turf/walls/iron_wall.png.toml @@ -1,2 +1 @@ -output_name = "iron_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/material_wall.dmi b/icons/turf/walls/material_wall.dmi index 2bd844c0b1357..d67f53ea4aa48 100644 Binary files a/icons/turf/walls/material_wall.dmi and b/icons/turf/walls/material_wall.dmi differ diff --git a/icons/turf/walls/material_wall.png b/icons/turf/walls/material_wall.png index 1f636cb6db09d..e05394644530d 100644 Binary files a/icons/turf/walls/material_wall.png and b/icons/turf/walls/material_wall.png differ diff --git a/icons/turf/walls/material_wall.png.toml b/icons/turf/walls/material_wall.png.toml index 899ac0aec8b2d..68a980052ec0a 100644 --- a/icons/turf/walls/material_wall.png.toml +++ b/icons/turf/walls/material_wall.png.toml @@ -1,2 +1 @@ -output_name = "material_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/meat_wall.dmi b/icons/turf/walls/meat_wall.dmi index b587dc8e1be4e..eb44ef04ed810 100644 Binary files a/icons/turf/walls/meat_wall.dmi and b/icons/turf/walls/meat_wall.dmi differ diff --git a/icons/turf/walls/meat_wall.png b/icons/turf/walls/meat_wall.png index 8dfafa4b33e5e..cf27c7118d80a 100644 Binary files a/icons/turf/walls/meat_wall.png and b/icons/turf/walls/meat_wall.png differ diff --git a/icons/turf/walls/meat_wall.png.toml b/icons/turf/walls/meat_wall.png.toml index 0d3c9a41a9f0d..c6cd156637289 100644 --- a/icons/turf/walls/meat_wall.png.toml +++ b/icons/turf/walls/meat_wall.png.toml @@ -1,2 +1,8 @@ -output_name = "meat_wall" -template = "bitmask/diagonal_32x32.toml" + +template = "bitmask/walls" + +[slice_point] +west = 6 +north = 16 +south = 18 +east = 26 diff --git a/icons/turf/walls/metal_wall.dmi b/icons/turf/walls/metal_wall.dmi new file mode 100644 index 0000000000000..d19d2feb5a255 Binary files /dev/null and b/icons/turf/walls/metal_wall.dmi differ diff --git a/icons/turf/walls/metal_wall.png b/icons/turf/walls/metal_wall.png new file mode 100644 index 0000000000000..8627333def690 Binary files /dev/null and b/icons/turf/walls/metal_wall.png differ diff --git a/icons/turf/walls/metal_wall.png.toml b/icons/turf/walls/metal_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/metal_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/mountain_wall.dmi b/icons/turf/walls/mountain_wall.dmi index 31ca67dc40bf2..708e470566c30 100644 Binary files a/icons/turf/walls/mountain_wall.dmi and b/icons/turf/walls/mountain_wall.dmi differ diff --git a/icons/turf/walls/mountain_wall.png b/icons/turf/walls/mountain_wall.png index 47565a687eace..cb47471c07c3e 100644 Binary files a/icons/turf/walls/mountain_wall.png and b/icons/turf/walls/mountain_wall.png differ diff --git a/icons/turf/walls/mountain_wall.png.toml b/icons/turf/walls/mountain_wall.png.toml index f5f413ba12186..097112a9d58ef 100644 --- a/icons/turf/walls/mountain_wall.png.toml +++ b/icons/turf/walls/mountain_wall.png.toml @@ -1,14 +1,7 @@ -output_name = "mountain_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" +[slice_point] +west = 6 +north = 16 +south = 18 +east = 26 -[icon_size] -x = 40 -y = 40 - -[output_icon_size] -x = 40 -y = 40 - -[cut_pos] -x = 20 -y = 20 \ No newline at end of file diff --git a/icons/turf/walls/necro_wall.dmi b/icons/turf/walls/necro_wall.dmi new file mode 100644 index 0000000000000..947444ab2dfcf Binary files /dev/null and b/icons/turf/walls/necro_wall.dmi differ diff --git a/icons/turf/walls/necro_wall.png b/icons/turf/walls/necro_wall.png new file mode 100644 index 0000000000000..f482cf476f939 Binary files /dev/null and b/icons/turf/walls/necro_wall.png differ diff --git a/icons/turf/walls/necro_wall.png.toml b/icons/turf/walls/necro_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/necro_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/paper_wall.dmi b/icons/turf/walls/paper_wall.dmi new file mode 100644 index 0000000000000..6b8f47c8a7be8 Binary files /dev/null and b/icons/turf/walls/paper_wall.dmi differ diff --git a/icons/turf/walls/paper_wall.png b/icons/turf/walls/paper_wall.png new file mode 100644 index 0000000000000..870bcc92dd525 Binary files /dev/null and b/icons/turf/walls/paper_wall.png differ diff --git a/icons/turf/walls/paper_wall.png.toml b/icons/turf/walls/paper_wall.png.toml new file mode 100644 index 0000000000000..c30333f8805a9 --- /dev/null +++ b/icons/turf/walls/paper_wall.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 8 +north = 16 +south = 19 +east = 22 diff --git a/icons/turf/walls/paperframe_wall.dmi b/icons/turf/walls/paperframe_wall.dmi new file mode 100644 index 0000000000000..569b090e23bd8 Binary files /dev/null and b/icons/turf/walls/paperframe_wall.dmi differ diff --git a/icons/turf/walls/paperframe_wall.png b/icons/turf/walls/paperframe_wall.png new file mode 100644 index 0000000000000..c21c4da77e942 Binary files /dev/null and b/icons/turf/walls/paperframe_wall.png differ diff --git a/icons/turf/walls/paperframe_wall.png.toml b/icons/turf/walls/paperframe_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/paperframe_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/pizza_wall.dmi b/icons/turf/walls/pizza_wall.dmi new file mode 100644 index 0000000000000..03763cbb39f92 Binary files /dev/null and b/icons/turf/walls/pizza_wall.dmi differ diff --git a/icons/turf/walls/pizza_wall.png b/icons/turf/walls/pizza_wall.png new file mode 100644 index 0000000000000..ec1fae439bd85 Binary files /dev/null and b/icons/turf/walls/pizza_wall.png differ diff --git a/icons/turf/walls/pizza_wall.png.toml b/icons/turf/walls/pizza_wall.png.toml new file mode 100644 index 0000000000000..097112a9d58ef --- /dev/null +++ b/icons/turf/walls/pizza_wall.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" +[slice_point] +west = 6 +north = 16 +south = 18 +east = 26 + diff --git a/icons/turf/walls/plasma_wall.dmi b/icons/turf/walls/plasma_wall.dmi index f7219ed1edcdc..72818e2ec3344 100644 Binary files a/icons/turf/walls/plasma_wall.dmi and b/icons/turf/walls/plasma_wall.dmi differ diff --git a/icons/turf/walls/plasma_wall.png b/icons/turf/walls/plasma_wall.png index cdaeec65154ed..c7213f84c3e1e 100644 Binary files a/icons/turf/walls/plasma_wall.png and b/icons/turf/walls/plasma_wall.png differ diff --git a/icons/turf/walls/plasma_wall.png.toml b/icons/turf/walls/plasma_wall.png.toml index 4425176557511..45dab6be83f05 100644 --- a/icons/turf/walls/plasma_wall.png.toml +++ b/icons/turf/walls/plasma_wall.png.toml @@ -1,2 +1,4 @@ -output_name = "plasma_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" + +[animation] +delays = [ 1 ] diff --git a/icons/turf/walls/plastinum_wall.dmi b/icons/turf/walls/plastinum_wall.dmi index 30ea5dbf945a2..384ca25daa721 100644 Binary files a/icons/turf/walls/plastinum_wall.dmi and b/icons/turf/walls/plastinum_wall.dmi differ diff --git a/icons/turf/walls/plastinum_wall.png b/icons/turf/walls/plastinum_wall.png new file mode 100644 index 0000000000000..877beb4b127f5 Binary files /dev/null and b/icons/turf/walls/plastinum_wall.png differ diff --git a/icons/turf/walls/plastinum_wall.png.toml b/icons/turf/walls/plastinum_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/plastinum_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/plastitanium_wall.dmi b/icons/turf/walls/plastitanium_wall.dmi index 078d4642785a9..28bee4aa3f7e1 100644 Binary files a/icons/turf/walls/plastitanium_wall.dmi and b/icons/turf/walls/plastitanium_wall.dmi differ diff --git a/icons/turf/walls/plastitanium_wall.png b/icons/turf/walls/plastitanium_wall.png new file mode 100644 index 0000000000000..cc322012f65d9 Binary files /dev/null and b/icons/turf/walls/plastitanium_wall.png differ diff --git a/icons/turf/walls/plastitanium_wall.png.toml b/icons/turf/walls/plastitanium_wall.png.toml new file mode 100644 index 0000000000000..b42f71b712121 --- /dev/null +++ b/icons/turf/walls/plastitanium_wall.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" +[slice_point] +west = 5 +north = 16 +south = 20 +east = 27 + diff --git a/icons/turf/walls/red_rock_wall.dmi b/icons/turf/walls/red_rock_wall.dmi new file mode 100644 index 0000000000000..367af07ff5e7c Binary files /dev/null and b/icons/turf/walls/red_rock_wall.dmi differ diff --git a/icons/turf/walls/red_rock_wall.png b/icons/turf/walls/red_rock_wall.png new file mode 100644 index 0000000000000..553ae7ee97ebe Binary files /dev/null and b/icons/turf/walls/red_rock_wall.png differ diff --git a/icons/turf/walls/red_rock_wall.png.toml b/icons/turf/walls/red_rock_wall.png.toml new file mode 100644 index 0000000000000..956331d2e2cae --- /dev/null +++ b/icons/turf/walls/red_rock_wall.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 10 +north = 17 +south = 18 +east = 22 diff --git a/icons/turf/walls/red_wall.dmi b/icons/turf/walls/red_wall.dmi deleted file mode 100644 index 8dc959f36cb33..0000000000000 Binary files a/icons/turf/walls/red_wall.dmi and /dev/null differ diff --git a/icons/turf/walls/red_wall.png b/icons/turf/walls/red_wall.png deleted file mode 100644 index 312386a53777a..0000000000000 Binary files a/icons/turf/walls/red_wall.png and /dev/null differ diff --git a/icons/turf/walls/red_wall.png.toml b/icons/turf/walls/red_wall.png.toml deleted file mode 100644 index 917dc8ee3771a..0000000000000 --- a/icons/turf/walls/red_wall.png.toml +++ /dev/null @@ -1,14 +0,0 @@ -output_name = "red_wall" -template = "bitmask/diagonal_32x32.toml" - -[icon_size] -x = 40 -y = 40 - -[output_icon_size] -x = 40 -y = 40 - -[cut_pos] -x = 20 -y = 20 \ No newline at end of file diff --git a/icons/turf/walls/reinforced_red_rock_wall.dmi b/icons/turf/walls/reinforced_red_rock_wall.dmi new file mode 100644 index 0000000000000..0212c63aa7a60 Binary files /dev/null and b/icons/turf/walls/reinforced_red_rock_wall.dmi differ diff --git a/icons/turf/walls/reinforced_red_rock_wall.png b/icons/turf/walls/reinforced_red_rock_wall.png new file mode 100644 index 0000000000000..ed62ec833f5f4 Binary files /dev/null and b/icons/turf/walls/reinforced_red_rock_wall.png differ diff --git a/icons/turf/walls/reinforced_red_rock_wall.png.toml b/icons/turf/walls/reinforced_red_rock_wall.png.toml new file mode 100644 index 0000000000000..956331d2e2cae --- /dev/null +++ b/icons/turf/walls/reinforced_red_rock_wall.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 10 +north = 17 +south = 18 +east = 22 diff --git a/icons/turf/walls/reinforced_rock.dmi b/icons/turf/walls/reinforced_rock.dmi deleted file mode 100644 index e00e51482049e..0000000000000 Binary files a/icons/turf/walls/reinforced_rock.dmi and /dev/null differ diff --git a/icons/turf/walls/reinforced_rock.png b/icons/turf/walls/reinforced_rock.png deleted file mode 100644 index 544a877ec1a5a..0000000000000 Binary files a/icons/turf/walls/reinforced_rock.png and /dev/null differ diff --git a/icons/turf/walls/reinforced_rock.png.toml b/icons/turf/walls/reinforced_rock.png.toml deleted file mode 100644 index 7fcdd7f45b9ff..0000000000000 --- a/icons/turf/walls/reinforced_rock.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "porous_rock" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/turf/walls/reinforced_wall.dmi b/icons/turf/walls/reinforced_wall.dmi index 65267a93b2d2a..d6e6f1d73c178 100644 Binary files a/icons/turf/walls/reinforced_wall.dmi and b/icons/turf/walls/reinforced_wall.dmi differ diff --git a/icons/turf/walls/reinforced_wall.png b/icons/turf/walls/reinforced_wall.png index f8d07602c574d..ab1ca2293ba9a 100644 Binary files a/icons/turf/walls/reinforced_wall.png and b/icons/turf/walls/reinforced_wall.png differ diff --git a/icons/turf/walls/reinforced_wall.png.toml b/icons/turf/walls/reinforced_wall.png.toml index cd86b1f36f652..68a980052ec0a 100644 --- a/icons/turf/walls/reinforced_wall.png.toml +++ b/icons/turf/walls/reinforced_wall.png.toml @@ -1,2 +1 @@ -output_name = "reinforced_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/reinforced_wall_decon1.dmi b/icons/turf/walls/reinforced_wall_decon1.dmi new file mode 100644 index 0000000000000..5bd12ba1c3d66 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon1.dmi differ diff --git a/icons/turf/walls/reinforced_wall_decon1.png b/icons/turf/walls/reinforced_wall_decon1.png new file mode 100644 index 0000000000000..1696635c9a659 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon1.png differ diff --git a/icons/turf/walls/reinforced_wall_decon1.png.toml b/icons/turf/walls/reinforced_wall_decon1.png.toml new file mode 100644 index 0000000000000..50b3bc927af73 --- /dev/null +++ b/icons/turf/walls/reinforced_wall_decon1.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 7 +north = 16 +south = 17 +east = 25 diff --git a/icons/turf/walls/reinforced_wall_decon2.dmi b/icons/turf/walls/reinforced_wall_decon2.dmi new file mode 100644 index 0000000000000..02d02861bc445 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon2.dmi differ diff --git a/icons/turf/walls/reinforced_wall_decon2.png b/icons/turf/walls/reinforced_wall_decon2.png new file mode 100644 index 0000000000000..c9e1fb3258de6 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon2.png differ diff --git a/icons/turf/walls/reinforced_wall_decon2.png.toml b/icons/turf/walls/reinforced_wall_decon2.png.toml new file mode 100644 index 0000000000000..73fc81e9e9d65 --- /dev/null +++ b/icons/turf/walls/reinforced_wall_decon2.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 9 +north = 16 +south = 16 +east = 23 diff --git a/icons/turf/walls/reinforced_wall_decon3.dmi b/icons/turf/walls/reinforced_wall_decon3.dmi new file mode 100644 index 0000000000000..cf6ed2d872348 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon3.dmi differ diff --git a/icons/turf/walls/reinforced_wall_decon3.png b/icons/turf/walls/reinforced_wall_decon3.png new file mode 100644 index 0000000000000..d03fa986c5e53 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon3.png differ diff --git a/icons/turf/walls/reinforced_wall_decon3.png.toml b/icons/turf/walls/reinforced_wall_decon3.png.toml new file mode 100644 index 0000000000000..73fc81e9e9d65 --- /dev/null +++ b/icons/turf/walls/reinforced_wall_decon3.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 9 +north = 16 +south = 16 +east = 23 diff --git a/icons/turf/walls/reinforced_wall_decon4.dmi b/icons/turf/walls/reinforced_wall_decon4.dmi new file mode 100644 index 0000000000000..d6c19fa8ccc94 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon4.dmi differ diff --git a/icons/turf/walls/reinforced_wall_decon4.png b/icons/turf/walls/reinforced_wall_decon4.png new file mode 100644 index 0000000000000..ee502f167fa50 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon4.png differ diff --git a/icons/turf/walls/reinforced_wall_decon4.png.toml b/icons/turf/walls/reinforced_wall_decon4.png.toml new file mode 100644 index 0000000000000..73fc81e9e9d65 --- /dev/null +++ b/icons/turf/walls/reinforced_wall_decon4.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 9 +north = 16 +south = 16 +east = 23 diff --git a/icons/turf/walls/reinforced_wall_decon5.dmi b/icons/turf/walls/reinforced_wall_decon5.dmi new file mode 100644 index 0000000000000..5544800c8f95f Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon5.dmi differ diff --git a/icons/turf/walls/reinforced_wall_decon5.png b/icons/turf/walls/reinforced_wall_decon5.png new file mode 100644 index 0000000000000..1d0a929d865dc Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon5.png differ diff --git a/icons/turf/walls/reinforced_wall_decon5.png.toml b/icons/turf/walls/reinforced_wall_decon5.png.toml new file mode 100644 index 0000000000000..0ed8725998988 --- /dev/null +++ b/icons/turf/walls/reinforced_wall_decon5.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 11 +north = 16 +south = 16 +east = 21 diff --git a/icons/turf/walls/reinforced_wall_decon6.dmi b/icons/turf/walls/reinforced_wall_decon6.dmi new file mode 100644 index 0000000000000..4dea204e1cfe9 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon6.dmi differ diff --git a/icons/turf/walls/reinforced_wall_decon6.png b/icons/turf/walls/reinforced_wall_decon6.png new file mode 100644 index 0000000000000..a08b2add50df6 Binary files /dev/null and b/icons/turf/walls/reinforced_wall_decon6.png differ diff --git a/icons/turf/walls/reinforced_wall_decon6.png.toml b/icons/turf/walls/reinforced_wall_decon6.png.toml new file mode 100644 index 0000000000000..0ed8725998988 --- /dev/null +++ b/icons/turf/walls/reinforced_wall_decon6.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 11 +north = 16 +south = 16 +east = 21 diff --git a/icons/turf/walls/riveted.dmi b/icons/turf/walls/riveted.dmi deleted file mode 100644 index 08fa241e5193a..0000000000000 Binary files a/icons/turf/walls/riveted.dmi and /dev/null differ diff --git a/icons/turf/walls/riveted.png b/icons/turf/walls/riveted.png deleted file mode 100644 index f6b0369a7b449..0000000000000 Binary files a/icons/turf/walls/riveted.png and /dev/null differ diff --git a/icons/turf/walls/riveted.png.toml b/icons/turf/walls/riveted.png.toml deleted file mode 100644 index abc3f367d4fdf..0000000000000 --- a/icons/turf/walls/riveted.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "riveted" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/turf/walls/riveted_wall.dmi b/icons/turf/walls/riveted_wall.dmi new file mode 100644 index 0000000000000..c1371112e1def Binary files /dev/null and b/icons/turf/walls/riveted_wall.dmi differ diff --git a/icons/turf/walls/riveted_wall.png b/icons/turf/walls/riveted_wall.png new file mode 100644 index 0000000000000..ce1f08eefea09 Binary files /dev/null and b/icons/turf/walls/riveted_wall.png differ diff --git a/icons/turf/walls/riveted_wall.png.toml b/icons/turf/walls/riveted_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/riveted_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/rock_wall.dmi b/icons/turf/walls/rock_wall.dmi index af1059489e56f..4aaf1b54ac7b0 100644 Binary files a/icons/turf/walls/rock_wall.dmi and b/icons/turf/walls/rock_wall.dmi differ diff --git a/icons/turf/walls/rock_wall.png b/icons/turf/walls/rock_wall.png index 54288bd18a907..d6957fff8f65e 100644 Binary files a/icons/turf/walls/rock_wall.png and b/icons/turf/walls/rock_wall.png differ diff --git a/icons/turf/walls/rock_wall.png.toml b/icons/turf/walls/rock_wall.png.toml index 320b6b7dafee5..0f6847815669b 100644 --- a/icons/turf/walls/rock_wall.png.toml +++ b/icons/turf/walls/rock_wall.png.toml @@ -1,14 +1,7 @@ -output_name = "rock_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" -[icon_size] -x = 40 -y = 40 - -[output_icon_size] -x = 40 -y = 40 - -[cut_pos] -x = 20 -y = 20 \ No newline at end of file +[slice_point] +west = 10 +north = 16 +south = 17 +east = 24 diff --git a/icons/turf/walls/rock_wall2.dmi b/icons/turf/walls/rock_wall2.dmi new file mode 100644 index 0000000000000..f37da4d34b891 Binary files /dev/null and b/icons/turf/walls/rock_wall2.dmi differ diff --git a/icons/turf/walls/rock_wall2.png b/icons/turf/walls/rock_wall2.png new file mode 100644 index 0000000000000..8c7d63854b8fa Binary files /dev/null and b/icons/turf/walls/rock_wall2.png differ diff --git a/icons/turf/walls/rock_wall2.png.toml b/icons/turf/walls/rock_wall2.png.toml new file mode 100644 index 0000000000000..b5eb6f6edbd9f --- /dev/null +++ b/icons/turf/walls/rock_wall2.png.toml @@ -0,0 +1,7 @@ +template = "bitmask/walls" + +[slice_point] +west = 4 +north = 16 +south = 19 +east = 28 diff --git a/icons/turf/walls/rusty_reinforced_wall.dmi b/icons/turf/walls/rusty_reinforced_wall.dmi index 0e1e10b3dab3a..dc5606bda09b9 100644 Binary files a/icons/turf/walls/rusty_reinforced_wall.dmi and b/icons/turf/walls/rusty_reinforced_wall.dmi differ diff --git a/icons/turf/walls/rusty_reinforced_wall.png b/icons/turf/walls/rusty_reinforced_wall.png index 7a1b3d4a17873..9403eb78909e7 100644 Binary files a/icons/turf/walls/rusty_reinforced_wall.png and b/icons/turf/walls/rusty_reinforced_wall.png differ diff --git a/icons/turf/walls/rusty_reinforced_wall.png.toml b/icons/turf/walls/rusty_reinforced_wall.png.toml index 8bb07c3839acd..68a980052ec0a 100644 --- a/icons/turf/walls/rusty_reinforced_wall.png.toml +++ b/icons/turf/walls/rusty_reinforced_wall.png.toml @@ -1,2 +1 @@ -output_name = "rusty_reinforced_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/rusty_wall.dmi b/icons/turf/walls/rusty_wall.dmi index 6eea2a5eae007..db9f82c36490c 100644 Binary files a/icons/turf/walls/rusty_wall.dmi and b/icons/turf/walls/rusty_wall.dmi differ diff --git a/icons/turf/walls/rusty_wall.png b/icons/turf/walls/rusty_wall.png index 4e38523bbbb3a..a6f982dc3eef1 100644 Binary files a/icons/turf/walls/rusty_wall.png and b/icons/turf/walls/rusty_wall.png differ diff --git a/icons/turf/walls/rusty_wall.png.toml b/icons/turf/walls/rusty_wall.png.toml index 358a6ccaa4d65..68a980052ec0a 100644 --- a/icons/turf/walls/rusty_wall.png.toml +++ b/icons/turf/walls/rusty_wall.png.toml @@ -1,2 +1 @@ -output_name = "rusty_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/sandstone_wall.dmi b/icons/turf/walls/sandstone_wall.dmi index 46c5b0af1c0a3..69cb781a34370 100644 Binary files a/icons/turf/walls/sandstone_wall.dmi and b/icons/turf/walls/sandstone_wall.dmi differ diff --git a/icons/turf/walls/sandstone_wall.png b/icons/turf/walls/sandstone_wall.png index a000f4e934eca..17ec04b6cf100 100644 Binary files a/icons/turf/walls/sandstone_wall.png and b/icons/turf/walls/sandstone_wall.png differ diff --git a/icons/turf/walls/sandstone_wall.png.toml b/icons/turf/walls/sandstone_wall.png.toml index b9f06b895d188..68a980052ec0a 100644 --- a/icons/turf/walls/sandstone_wall.png.toml +++ b/icons/turf/walls/sandstone_wall.png.toml @@ -1,2 +1 @@ -output_name = "sandstone_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/shuttle_wall.dmi b/icons/turf/walls/shuttle_wall.dmi index 3d9374b4a30df..addda6f1bb74c 100644 Binary files a/icons/turf/walls/shuttle_wall.dmi and b/icons/turf/walls/shuttle_wall.dmi differ diff --git a/icons/turf/walls/shuttle_wall.png b/icons/turf/walls/shuttle_wall.png new file mode 100644 index 0000000000000..3efca5b4bf4b6 Binary files /dev/null and b/icons/turf/walls/shuttle_wall.png differ diff --git a/icons/turf/walls/shuttle_wall.png.toml b/icons/turf/walls/shuttle_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/shuttle_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/silver_wall.dmi b/icons/turf/walls/silver_wall.dmi index 66d337ef59d21..f1bc555395f34 100644 Binary files a/icons/turf/walls/silver_wall.dmi and b/icons/turf/walls/silver_wall.dmi differ diff --git a/icons/turf/walls/silver_wall.png b/icons/turf/walls/silver_wall.png index 1a731d9728f1d..8f1c751decbb3 100644 Binary files a/icons/turf/walls/silver_wall.png and b/icons/turf/walls/silver_wall.png differ diff --git a/icons/turf/walls/silver_wall.png.toml b/icons/turf/walls/silver_wall.png.toml index cdfb92592c49e..68a980052ec0a 100644 --- a/icons/turf/walls/silver_wall.png.toml +++ b/icons/turf/walls/silver_wall.png.toml @@ -1,2 +1 @@ -output_name = "silver_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/snow_wall.dmi b/icons/turf/walls/snow_wall.dmi index 97f38eff13e00..e7d7af6847821 100644 Binary files a/icons/turf/walls/snow_wall.dmi and b/icons/turf/walls/snow_wall.dmi differ diff --git a/icons/turf/walls/snow_wall.png b/icons/turf/walls/snow_wall.png index ce6902fbab33f..8bfde380bc9f5 100644 Binary files a/icons/turf/walls/snow_wall.png and b/icons/turf/walls/snow_wall.png differ diff --git a/icons/turf/walls/snow_wall.png.toml b/icons/turf/walls/snow_wall.png.toml index 79381bb6dcb11..68a980052ec0a 100644 --- a/icons/turf/walls/snow_wall.png.toml +++ b/icons/turf/walls/snow_wall.png.toml @@ -1,2 +1 @@ -output_name = "snow_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/survival_pod_wall.dmi b/icons/turf/walls/survival_pod_wall.dmi new file mode 100644 index 0000000000000..a7b7d706190ad Binary files /dev/null and b/icons/turf/walls/survival_pod_wall.dmi differ diff --git a/icons/turf/walls/survival_pod_wall.png b/icons/turf/walls/survival_pod_wall.png new file mode 100644 index 0000000000000..de1115d7d3096 Binary files /dev/null and b/icons/turf/walls/survival_pod_wall.png differ diff --git a/icons/turf/walls/survival_pod_wall.png.toml b/icons/turf/walls/survival_pod_wall.png.toml new file mode 100644 index 0000000000000..68a980052ec0a --- /dev/null +++ b/icons/turf/walls/survival_pod_wall.png.toml @@ -0,0 +1 @@ +template = "bitmask/walls" diff --git a/icons/turf/walls/survival_pod_walls.dmi b/icons/turf/walls/survival_pod_walls.dmi deleted file mode 100644 index 01700f1ed6f91..0000000000000 Binary files a/icons/turf/walls/survival_pod_walls.dmi and /dev/null differ diff --git a/icons/turf/walls/tram_wall.dmi b/icons/turf/walls/tram_wall.dmi new file mode 100644 index 0000000000000..42448dc77d318 Binary files /dev/null and b/icons/turf/walls/tram_wall.dmi differ diff --git a/icons/turf/walls/uranium_wall.dmi b/icons/turf/walls/uranium_wall.dmi index b64d270b3bdac..0d6555a9333fd 100644 Binary files a/icons/turf/walls/uranium_wall.dmi and b/icons/turf/walls/uranium_wall.dmi differ diff --git a/icons/turf/walls/uranium_wall.png b/icons/turf/walls/uranium_wall.png index 1f2c858d7c29e..2b4437a450665 100644 Binary files a/icons/turf/walls/uranium_wall.png and b/icons/turf/walls/uranium_wall.png differ diff --git a/icons/turf/walls/uranium_wall.png.toml b/icons/turf/walls/uranium_wall.png.toml index 035bd1c2af73b..68a980052ec0a 100644 --- a/icons/turf/walls/uranium_wall.png.toml +++ b/icons/turf/walls/uranium_wall.png.toml @@ -1,2 +1 @@ -output_name = "uranium_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" diff --git a/icons/turf/walls/wall.dmi b/icons/turf/walls/wall.dmi deleted file mode 100644 index 6cdd342fd9edf..0000000000000 Binary files a/icons/turf/walls/wall.dmi and /dev/null differ diff --git a/icons/turf/walls/wall.png b/icons/turf/walls/wall.png deleted file mode 100644 index 8f95ca652cdfa..0000000000000 Binary files a/icons/turf/walls/wall.png and /dev/null differ diff --git a/icons/turf/walls/wall.png.toml b/icons/turf/walls/wall.png.toml deleted file mode 100644 index 1264d5314a18e..0000000000000 --- a/icons/turf/walls/wall.png.toml +++ /dev/null @@ -1,2 +0,0 @@ -output_name = "wall" -template = "bitmask/diagonal_32x32.toml" diff --git a/icons/turf/walls/wall_blackness.dmi b/icons/turf/walls/wall_blackness.dmi new file mode 100644 index 0000000000000..8788a95fb052c Binary files /dev/null and b/icons/turf/walls/wall_blackness.dmi differ diff --git a/icons/turf/walls/wood_wall.dmi b/icons/turf/walls/wood_wall.dmi index 5be00658fffa7..748b845f994b9 100644 Binary files a/icons/turf/walls/wood_wall.dmi and b/icons/turf/walls/wood_wall.dmi differ diff --git a/icons/turf/walls/wood_wall.png b/icons/turf/walls/wood_wall.png index dc9c53a0b703f..82aae8060e89c 100644 Binary files a/icons/turf/walls/wood_wall.png and b/icons/turf/walls/wood_wall.png differ diff --git a/icons/turf/walls/wood_wall.png.toml b/icons/turf/walls/wood_wall.png.toml index c40a9740a98ed..9aa56f537733e 100644 --- a/icons/turf/walls/wood_wall.png.toml +++ b/icons/turf/walls/wood_wall.png.toml @@ -1,2 +1,7 @@ -output_name = "wood_wall" -template = "bitmask/diagonal_32x32.toml" +template = "bitmask/walls" + +[slice_point] +west = 5 +north = 16 +south = 23 +east = 27 diff --git a/icons/ui_icons/antags/heretic/knowledge.dmi b/icons/ui/antags/heretic/knowledge.dmi similarity index 100% rename from icons/ui_icons/antags/heretic/knowledge.dmi rename to icons/ui/antags/heretic/knowledge.dmi diff --git a/icons/stamp_icons/font.png b/icons/ui/stamp_icons/font.png similarity index 100% rename from icons/stamp_icons/font.png rename to icons/ui/stamp_icons/font.png diff --git a/icons/stamp_icons/large_stamp-cap.png b/icons/ui/stamp_icons/large_stamp-cap.png similarity index 100% rename from icons/stamp_icons/large_stamp-cap.png rename to icons/ui/stamp_icons/large_stamp-cap.png diff --git a/icons/stamp_icons/large_stamp-ce.png b/icons/ui/stamp_icons/large_stamp-ce.png similarity index 100% rename from icons/stamp_icons/large_stamp-ce.png rename to icons/ui/stamp_icons/large_stamp-ce.png diff --git a/icons/stamp_icons/large_stamp-centcom.png b/icons/ui/stamp_icons/large_stamp-centcom.png similarity index 100% rename from icons/stamp_icons/large_stamp-centcom.png rename to icons/ui/stamp_icons/large_stamp-centcom.png diff --git a/icons/stamp_icons/large_stamp-chap.png b/icons/ui/stamp_icons/large_stamp-chap.png similarity index 100% rename from icons/stamp_icons/large_stamp-chap.png rename to icons/ui/stamp_icons/large_stamp-chap.png diff --git a/icons/stamp_icons/large_stamp-clown.png b/icons/ui/stamp_icons/large_stamp-clown.png similarity index 100% rename from icons/stamp_icons/large_stamp-clown.png rename to icons/ui/stamp_icons/large_stamp-clown.png diff --git a/icons/stamp_icons/large_stamp-cmo.png b/icons/ui/stamp_icons/large_stamp-cmo.png similarity index 100% rename from icons/stamp_icons/large_stamp-cmo.png rename to icons/ui/stamp_icons/large_stamp-cmo.png diff --git a/icons/stamp_icons/large_stamp-deny.png b/icons/ui/stamp_icons/large_stamp-deny.png similarity index 100% rename from icons/stamp_icons/large_stamp-deny.png rename to icons/ui/stamp_icons/large_stamp-deny.png diff --git a/icons/stamp_icons/large_stamp-hop.png b/icons/ui/stamp_icons/large_stamp-hop.png similarity index 100% rename from icons/stamp_icons/large_stamp-hop.png rename to icons/ui/stamp_icons/large_stamp-hop.png diff --git a/icons/stamp_icons/large_stamp-hos.png b/icons/ui/stamp_icons/large_stamp-hos.png similarity index 100% rename from icons/stamp_icons/large_stamp-hos.png rename to icons/ui/stamp_icons/large_stamp-hos.png diff --git a/icons/stamp_icons/large_stamp-law.png b/icons/ui/stamp_icons/large_stamp-law.png similarity index 100% rename from icons/stamp_icons/large_stamp-law.png rename to icons/ui/stamp_icons/large_stamp-law.png diff --git a/icons/stamp_icons/large_stamp-mime.png b/icons/ui/stamp_icons/large_stamp-mime.png similarity index 100% rename from icons/stamp_icons/large_stamp-mime.png rename to icons/ui/stamp_icons/large_stamp-mime.png diff --git a/icons/stamp_icons/large_stamp-ok.png b/icons/ui/stamp_icons/large_stamp-ok.png similarity index 100% rename from icons/stamp_icons/large_stamp-ok.png rename to icons/ui/stamp_icons/large_stamp-ok.png diff --git a/icons/stamp_icons/large_stamp-qm.png b/icons/ui/stamp_icons/large_stamp-qm.png similarity index 100% rename from icons/stamp_icons/large_stamp-qm.png rename to icons/ui/stamp_icons/large_stamp-qm.png diff --git a/icons/stamp_icons/large_stamp-rd.png b/icons/ui/stamp_icons/large_stamp-rd.png similarity index 100% rename from icons/stamp_icons/large_stamp-rd.png rename to icons/ui/stamp_icons/large_stamp-rd.png diff --git a/icons/stamp_icons/large_stamp-syndicate.png b/icons/ui/stamp_icons/large_stamp-syndicate.png similarity index 100% rename from icons/stamp_icons/large_stamp-syndicate.png rename to icons/ui/stamp_icons/large_stamp-syndicate.png diff --git a/icons/stamp_icons/large_stamp-void.png b/icons/ui/stamp_icons/large_stamp-void.png similarity index 100% rename from icons/stamp_icons/large_stamp-void.png rename to icons/ui/stamp_icons/large_stamp-void.png diff --git a/interface/interface.dm b/interface/interface.dm index a32bb758a204f..c90abd9583c45 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -58,45 +58,45 @@ set desc = "Report an issue" set hidden = TRUE var/githuburl = CONFIG_GET(string/githuburl) - if(githuburl) - var/message = "This will open the Github issue reporter in your browser. Are you sure?" - if(GLOB.revdata.testmerge.len) - message += "
    The following experimental changes are active and are probably the cause of any new or sudden issues you may experience. If possible, please try to find a specific thread for your issue instead of posting to the general issue tracker:
    " - message += GLOB.revdata.GetTestMergeInfo(FALSE) - // We still use tgalert here because some people were concerned that if someone wanted to report that tgui wasn't working - // then the report issue button being tgui-based would be problematic. - if(tgalert(src, message, "Report Issue","Yes","No")!="Yes") - return + if(!githuburl) + to_chat(src, span_danger("The Github URL is not set in the server configuration.")) + return - // Keep a static version of the template to avoid reading file - var/static/issue_template = file2text(".github/ISSUE_TEMPLATE/bug_report.md") + var/testmerge_data = GLOB.revdata.testmerge + var/has_testmerge_data = (length(testmerge_data) != 0) - // Get a local copy of the template for modification - var/local_template = issue_template + var/message = "This will open the Github issue reporter in your browser. Are you sure?" + if(has_testmerge_data) + message += "
    The following experimental changes are active and are probably the cause of any new or sudden issues you may experience. If possible, please try to find a specific thread for your issue instead of posting to the general issue tracker:
    " + message += GLOB.revdata.GetTestMergeInfo(FALSE) - // Remove comment header - var/content_start = findtext(local_template, "<") - if(content_start) - local_template = copytext(local_template, content_start) + // We still use tgalert here because some people were concerned that if someone wanted to report that tgui wasn't working + // then the report issue button being tgui-based would be problematic. + if(tgalert(src, message, "Report Issue","Yes","No") != "Yes") + return - // Insert round - if(GLOB.round_id) - local_template = replacetext(local_template, "## Round ID:\n", "## Round ID:\n[GLOB.round_id]") + var/base_link = githuburl + "/issues/new?template=bug_report_form.yml" + var/list/concatable = list(base_link) - // Insert testmerges - if(GLOB.revdata.testmerge.len) - var/list/all_tms = list() - for(var/entry in GLOB.revdata.testmerge) - var/datum/tgs_revision_information/test_merge/tm = entry - all_tms += "- \[[tm.title]\]([githuburl]/pull/[tm.number])" - var/all_tms_joined = all_tms.Join("\n") // for some reason this can't go in the [] - local_template = replacetext(local_template, "## Testmerges:\n", "## Testmerges:\n[all_tms_joined]") + var/client_version = "[byond_version].[byond_build]" + concatable += ("&reporting-version=" + client_version) + + // the way it works is that we use the ID's that are baked into the template YML and replace them with values that we can collect in game. + if(GLOB.round_id) + concatable += ("&round-id=" + GLOB.round_id) + + // Insert testmerges + if(has_testmerge_data) + var/list/all_tms = list() + for(var/entry in testmerge_data) + var/datum/tgs_revision_information/test_merge/tm = entry + all_tms += "- \[[tm.title]\]([githuburl]/pull/[tm.number])" + var/all_tms_joined = jointext(all_tms, "%0A") // %0A is a newline for URL encoding because i don't trust \n to not break + + concatable += ("&test-merges=" + all_tms_joined) + + DIRECT_OUTPUT(src, link(jointext(concatable, ""))) - var/url_params = "Reporting client version: [byond_version].[byond_build]\n\n[local_template]" - DIRECT_OUTPUT(src, link("[githuburl]/issues/new?body=[url_encode(url_params)]")) - else - to_chat(src, span_danger("The Github URL is not set in the server configuration.")) - return /client/verb/changelog() set name = "Changelog" diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 36c85642ad23c..1ee06ed48550d 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -133,6 +133,7 @@ h1.alert, h2.alert {color: #000000;} .robot {font-family: "Courier New", cursive, sans-serif;} .command_headset {font-weight: bold; font-size: 3;} +.soapbox {font-weight: bold; font-size: 3;} .small {font-size: 1;} .big {font-size: 3;} .reallybig {font-size: 4;} diff --git a/lua/SS13_base.lua b/lua/SS13_base.lua index ea04c8c6503dd..2b0645172ea1c 100644 --- a/lua/SS13_base.lua +++ b/lua/SS13_base.lua @@ -5,59 +5,38 @@ local SS13 = {} __SS13_signal_handlers = __SS13_signal_handlers or {} -SS13.SSlua = dm.global_vars.vars.SSlua +SS13.SSlua = dm.global_vars.SSlua SS13.global_proc = "some_magic_bullshit" SS13.state = state.state function SS13.get_runner_ckey() - return SS13.state:get_var("ckey_last_runner") + return SS13.state.ckey_last_runner end function SS13.get_runner_client() - return dm.global_vars:get_var("GLOB"):get_var("directory"):get(SS13.get_runner_ckey()) + return dm.global_vars.GLOB.directory[SS13.get_runner_ckey()] end -function SS13.istype(thing, type) - return dm.global_proc("_istype", thing, dm.global_proc("_text2path", type)) == 1 -end - -function SS13.start_tracking(datum) - local references = SS13.state.vars.references - references:add(datum) - SS13.state:call_proc("clear_on_delete", datum) -end +SS13.type = dm.global_procs._text2path -function SS13.new(type, ...) - local datum = SS13.new_untracked(type, ...) - if datum then - SS13.start_tracking(datum) - return datum - end +function SS13.istype(thing, type) + return dm.global_procs._istype(thing, SS13.type(type)) == 1 end -function SS13.type(string_type) - return dm.global_proc("_text2path", string_type) -end +SS13.new = dm.new function SS13.qdel(datum) if SS13.is_valid(datum) then - dm.global_proc("qdel", datum) + dm.global_procs.qdel(datum) return true end return false end -function SS13.new_untracked(type, ...) - return dm.global_proc("_new", type, { ... }) -end - function SS13.is_valid(datum) - if datum and not datum:is_null() and not datum:get_var("gc_destroyed") then - return true - end - return false + return dm.is_valid_ref(datum) and not datum.gc_destroyed end function SS13.await(thing_to_call, proc_to_call, ...) @@ -67,123 +46,107 @@ function SS13.await(thing_to_call, proc_to_call, ...) if thing_to_call == SS13.global_proc then proc_to_call = "/proc/" .. proc_to_call end - local promise = SS13.new("/datum/auxtools_promise", thing_to_call, proc_to_call, ...) - local promise_vars = promise.vars - while promise_vars.status == 0 do + local promise = SS13.new("/datum/promise", thing_to_call, proc_to_call, ...) + while promise.status == 0 do sleep() end - local return_value, runtime_message = promise_vars.return_value, promise_vars.runtime_message - SS13.stop_tracking(promise) - return return_value, runtime_message + return promise.return_value, promise.runtime_message end -function SS13.register_signal(datum, signal, func) - if not SS13.istype(datum, "/datum") then - return +local function signal_handler(data, ...) + local output = 0 + for func, _ in data.functions do + output = bit32.bor(output, func(...)) end - if not SS13.is_valid(datum) then - error("Tried to register a signal on a deleted datum!", 2) - return + return output +end + +local function create_qdeleting_callback(datum) + local callback = SS13.new("/datum/callback", SS13.state, "call_function_return_first") + callback:RegisterSignal(datum, "parent_qdeleting", "Invoke") + local path = { + "__SS13_signal_handlers", + dm.global_procs.WEAKREF(datum), + "parent_qdeleting", + "handler", + } + callback.arguments = { path } + local handler_data = { callback = callback, functions = {} } + handler_data.handler = function(source, ...) + local result = signal_handler(handler_data, source, ...) + for signal, signal_data in __SS13_signal_handlers[source] do + signal_data.callback:UnregisterSignal(source, signal) + end + __SS13_signal_handlers[source] = nil + return result end - local datumWeakRef = dm.global_proc("WEAKREF", datum) - if not __SS13_signal_handlers[datumWeakRef] then - __SS13_signal_handlers[datumWeakRef] = {} + __SS13_signal_handlers[datum]["parent_qdeleting"] = handler_data +end + +function SS13.register_signal(datum, signal, func) + if not type(func) == "function" then + return end - if signal == "_cleanup" then + if not SS13.istype(datum, "/datum") then return end - if not __SS13_signal_handlers[datumWeakRef][signal] then - __SS13_signal_handlers[datumWeakRef][signal] = {} + if not SS13.is_valid(datum) then + error("Tried to register a signal on a deleted datum", 2) end - local callback = SS13.new("/datum/callback", SS13.state, "call_function_return_first") - local callbackWeakRef = dm.global_proc("WEAKREF", callback) - callback:call_proc("RegisterSignal", datum, signal, "Invoke") - local path = { "__SS13_signal_handlers", datumWeakRef, signal, callbackWeakRef, "func" } - callback.vars.arguments = { path } - -- Turfs don't remove their signals on deletion. - if not __SS13_signal_handlers[datumWeakRef]._cleanup and not SS13.istype(datum, "/turf") then - local cleanupCallback = SS13.new("/datum/callback", SS13.state, "call_function_return_first") - local cleanupPath = { "__SS13_signal_handlers", datumWeakRef, "_cleanup"} - cleanupCallback.vars.arguments = { cleanupPath } - cleanupCallback:call_proc("RegisterSignal", datum, "parent_qdeleting", "Invoke") - __SS13_signal_handlers[datumWeakRef]._cleanup = function(datum) - SS13.start_tracking(datumWeakRef) - timer.set_timeout(0, function() - SS13.signal_handler_cleanup(datumWeakRef) - SS13.stop_tracking(cleanupCallback) - SS13.stop_tracking(datumWeakRef) - end) + if not __SS13_signal_handlers[datum] then + __SS13_signal_handlers[datum] = {} + -- Turfs don't remove their signals on deletion. + if not SS13.istype(datum, "/turf") then + create_qdeleting_callback(datum) end end - __SS13_signal_handlers[datumWeakRef][signal][callbackWeakRef] = { func = func, callback = callback } - return callback -end - -function SS13.stop_tracking(datum) - SS13.state:call_proc("let_soft_delete", datum) -end - -function SS13.unregister_signal(datum, signal, callback) - local function clear_handler(handler_info) - if not handler_info then - return - end - if not handler_info.callback then - return + local handler_data = __SS13_signal_handlers[datum][signal] + if not handler_data then + handler_data = { callback = nil, functions = {} } + local callback = SS13.new("/datum/callback", SS13.state, "call_function_return_first") + callback:RegisterSignal(datum, signal, "Invoke") + local path = { + "__SS13_signal_handlers", + dm.global_procs.WEAKREF(datum), + signal, + "handler", + } + callback.arguments = { path } + handler_data.callback = callback + handler_data.handler = function(...) + return signal_handler(handler_data, ...) end - local handler_callback = handler_info.callback - local callbackWeakRef = dm.global_proc("WEAKREF", handler_callback) - if not SS13.istype(datum, "/datum/weakref") then - handler_callback:call_proc("UnregisterSignal", datum, signal) - else - local actualDatum = datum:call_proc("hard_resolve") - if SS13.is_valid(actualDatum) then - handler_callback:call_proc("UnregisterSignal", actualDatum, signal) - end - end - SS13.stop_tracking(handler_callback) + __SS13_signal_handlers[datum][signal] = handler_data end + handler_data.functions[func] = true + return true +end - local datumWeakRef = datum - if not SS13.istype(datum, "/datum/weakref") then - datumWeakRef = dm.global_proc("WEAKREF", datum) - end - if not __SS13_signal_handlers[datumWeakRef] then +function SS13.unregister_signal(datum, signal, func) + if not (func == nil or type(func) == "function") then return end - - if signal == "_cleanup" then + if not __SS13_signal_handlers[datum] then return end - - if not __SS13_signal_handlers[datumWeakRef][signal] then + local handler_data = __SS13_signal_handlers[datum][signal] + if not handler_data then return end - - if not callback then - for handler_key, handler_info in __SS13_signal_handlers[datumWeakRef][signal] do - clear_handler(handler_info) + if func == nil then + if signal == "parent_qdeleting" then + handler_data.functions = {} + else + handler_data.callback:UnregisterSignal(datum, signal) + __SS13_signal_handlers[datum][signal] = nil end - __SS13_signal_handlers[datumWeakRef][signal] = nil else - if not SS13.istype(callback, "/datum/callback") then - return + handler_data.functions[func] = nil + if not (#handler_data.functions or (signal == "parent_qdeleting")) then + handler_data.callback:UnregisterSignal(datum, signal) + __SS13_signal_handlers[datum][signal] = nil end - local callbackWeakRef = dm.global_proc("WEAKREF", callback) - clear_handler(__SS13_signal_handlers[datumWeakRef][signal][callbackWeakRef]) - __SS13_signal_handlers[datumWeakRef][signal][callbackWeakRef] = nil - end -end - -function SS13.signal_handler_cleanup(datumWeakRef) - if not __SS13_signal_handlers[datumWeakRef] then - return - end - - for signal, _ in __SS13_signal_handlers[datumWeakRef] do - SS13.unregister_signal(datumWeakRef, signal) end - __SS13_signal_handlers[datumWeakRef] = nil end return SS13 diff --git a/lua/handler_group.lua b/lua/handler_group.lua index 0246d33c74488..050551b852969 100644 --- a/lua/handler_group.lua +++ b/lua/handler_group.lua @@ -1,29 +1,29 @@ -local SS13 = require('SS13') +local SS13 = require("SS13") local HandlerGroup = {} HandlerGroup.__index = HandlerGroup function HandlerGroup.new() return setmetatable({ - registered = {} + registered = {}, }, HandlerGroup) end -- Registers a signal on a datum for this handler group instance. function HandlerGroup:register_signal(datum, signal, func) - local callback = SS13.register_signal(datum, signal, func) - if not callback then + local registered_successfully = SS13.register_signal(datum, signal, func) + if not registered_successfully then return end - table.insert(self.registered, { datum = dm.global_proc("WEAKREF", datum), signal = signal, callback = callback }) + table.insert(self.registered, { datum = datum, signal = signal, func = func }) end -- Clears all the signals that have been registered on this HandlerGroup function HandlerGroup:clear() for _, data in self.registered do - if not data.callback or not data.datum then + if not data.func or not SS13.is_valid(data.datum) then continue end - SS13.unregister_signal(data.datum, data.signal, data.callback) + SS13.unregister_signal(data.datum, data.signal, data.func) end table.clear(self.registered) end @@ -45,5 +45,4 @@ function HandlerGroup.register_once(datum, signal, func) return callback end - return HandlerGroup diff --git a/lua/state.lua b/lua/state.lua index 080ee9f7eb32c..cba24d6435611 100644 --- a/lua/state.lua +++ b/lua/state.lua @@ -1,7 +1,7 @@ -local SSlua = dm.global_vars:get_var("SSlua") +local SSlua = dm.global_vars.SSlua -for _, state in SSlua:get_var("states") do - if state:get_var("internal_id") == dm.state_id then +for _, state in SSlua.states do + if state.internal_id == _state_id then return { state = state } end end diff --git a/lua/timer.lua b/lua/timer.lua index 8619bbb54a29e..e79cc8cdca54b 100644 --- a/lua/timer.lua +++ b/lua/timer.lua @@ -2,19 +2,19 @@ local state = require("state") local Timer = {} -local SSlua = dm.global_vars:get_var("SSlua") +local SSlua = dm.global_vars.SSlua __Timer_timers = __Timer_timers or {} __Timer_callbacks = __Timer_callbacks or {} function __add_internal_timer(func, time, loop) local timer = { loop = loop, - executeTime = time + dm.world:get_var("time") + executeTime = time + dm.world.time, } __Timer_callbacks[tostring(func)] = function() timer.executing = false if loop and timer.terminate ~= true then - timer.executeTime = dm.world:get_var("time") + time + timer.executeTime = dm.world.time + time else __stop_internal_timer(tostring(func)) end @@ -37,22 +37,21 @@ function __stop_internal_timer(func) end __Timer_timer_processing = __Timer_timer_processing or false -state.state:set_var("timer_enabled", 1) +state.state.timer_enabled = 1 __Timer_timer_process = function(seconds_per_tick) if __Timer_timer_processing then return 0 end __Timer_timer_processing = true - local time = dm.world:get_var("time") for func, timeData in __Timer_timers do if timeData.executing == true then continue end - if over_exec_usage(0.85) then + if _exec.time / (dm.world.tick_lag * 100) > 0.85 then sleep() end - if time >= timeData.executeTime then - state.state:get_var("functions_to_execute"):add(func) + if dm.world.time >= timeData.executeTime then + list.add(state.state.functions_to_execute, func) timeData.executing = true end end @@ -61,9 +60,9 @@ __Timer_timer_process = function(seconds_per_tick) end function Timer.wait(time) - local next_yield_index = __next_yield_index + local yieldIndex = _exec.next_yield_index __add_internal_timer(function() - SSlua:call_proc("queue_resume", state.state, next_yield_index) + SSlua:queue_resume(state.state, yieldIndex) end, time * 10, false) coroutine.yield() end diff --git a/sound/ambience/ambigen1.ogg b/sound/ambience/ambigen1.ogg index 6a5a2d27c92e3..500f0a0bbf6a1 100644 Binary files a/sound/ambience/ambigen1.ogg and b/sound/ambience/ambigen1.ogg differ diff --git a/sound/ambience/ambigen12.ogg b/sound/ambience/ambigen12.ogg index 27885070f4c71..2b82bc33348c4 100644 Binary files a/sound/ambience/ambigen12.ogg and b/sound/ambience/ambigen12.ogg differ diff --git a/sound/ambience/ambimaint10.ogg b/sound/ambience/ambimaint10.ogg new file mode 100644 index 0000000000000..975aae32bff54 Binary files /dev/null and b/sound/ambience/ambimaint10.ogg differ diff --git a/sound/ambience/ambimaint11.ogg b/sound/ambience/ambimaint11.ogg new file mode 100644 index 0000000000000..2723c6008eb3b Binary files /dev/null and b/sound/ambience/ambimaint11.ogg differ diff --git a/sound/ambience/ambimaint12.ogg b/sound/ambience/ambimaint12.ogg new file mode 100644 index 0000000000000..2c873e0f5f996 Binary files /dev/null and b/sound/ambience/ambimaint12.ogg differ diff --git a/sound/ambience/ambimaint8.ogg b/sound/ambience/ambimaint8.ogg new file mode 100644 index 0000000000000..582ec800cbc45 Binary files /dev/null and b/sound/ambience/ambimaint8.ogg differ diff --git a/sound/ambience/ambimaint9.ogg b/sound/ambience/ambimaint9.ogg new file mode 100644 index 0000000000000..c990f954e5f6a Binary files /dev/null and b/sound/ambience/ambimaint9.ogg differ diff --git a/sound/ambience/antag/attribution.txt b/sound/ambience/antag/attribution.txt index 6390dd525c459..8db2b1b8ec2eb 100644 --- a/sound/ambience/antag/attribution.txt +++ b/sound/ambience/antag/attribution.txt @@ -1,3 +1,11 @@ sound/ambience/antag/abductee.ogg is from "Warp SFX" https://freesound.org/people/Breviceps/sounds/453391 (CC0) sound/ambience/antag/brainwash.ogg is from "nog.wav" https://freesound.org/people/_NOMINAL_/sounds/124602 (CC-BY 3.0) -sound/ambience/antag/hypnosis.ogg is from "Flashback.wav" https://freesound.org/people/Sclolex/sounds/342103 (CC0) \ No newline at end of file +sound/ambience/antag/hypnosis.ogg is from "Flashback.wav" https://freesound.org/people/Sclolex/sounds/342103 (CC0) + +{ +ambimaint8.ogg +ambimaint9.ogg +ambimaint10.ogg +ambimaint11.ogg +ambimaint12.ogg +} made by Kayozz , license: CC-by-SA \ No newline at end of file diff --git a/sound/ambience/shipambience.ogg b/sound/ambience/shipambience.ogg index 51e090b02c81c..68a9182fa6672 100644 Binary files a/sound/ambience/shipambience.ogg and b/sound/ambience/shipambience.ogg differ diff --git a/sound/attributions.txt b/sound/attributions.txt index 123fde0794c19..3a2468205d027 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -209,3 +209,7 @@ beaker_pickup.ogg was made by lowering pitch: Bottle Tap.wav by alex_alexalex -- https://freesound.org/s/395492/ -- License: Attribution NonCommercial 3.0 beaker_place.ogg was made by cutting and lowering pitch: place glass object.wav by milpower -- https://freesound.org/s/353105/ -- License: Creative Commons 0 + +glass_reverse.ogg is adapted from a combination of: +https://freesound.org/people/C_Rogers/sounds/203368/ -- glass-shattering-hit_01.ogg by C_Rogers on freesound.org (CC0) +https://freesound.org/people/Czarcazas/sounds/330800/ -- Audio reversal/fading of Shattering Glass (Small) by Czarcazas -- https://freesound.org/s/330800/ -- License: Attribution 3.0 \ No newline at end of file diff --git a/sound/effects/glass_reverse.ogg b/sound/effects/glass_reverse.ogg new file mode 100644 index 0000000000000..af1492d9b86b4 Binary files /dev/null and b/sound/effects/glass_reverse.ogg differ diff --git a/sound/items/attributions.txt b/sound/items/attributions.txt index d27b24cc53c88..318488414e564 100644 --- a/sound/items/attributions.txt +++ b/sound/items/attributions.txt @@ -5,10 +5,62 @@ cig_snuff.ogg lighter_on.ogg lighter_off.ogg zippo_onn.ogg -zippo_off.ogg +zippo_off.ogg } - Taken from https://github.com/BeeStation/BeeStation-Hornet/pull/29 pen_click.ogg from https://freesound.org/people/LexzachGames/sounds/431492/ , license: CC0 night_vision_on.ogg by Syna-Max -- https://freesound.org/s/60345/ -- License: Attribution NonCommercial 4.0 +{ +metal_drop.ogg - https://freesound.org/people/Robinhood76/sounds/85418/ , License: CC BY-NC 4.0 +metal_pick_up.ogg - https://freesound.org/people/Hotlavaman/sounds/108673/ , License: CC0 +glass_drop.ogg - https://freesound.org/people/Hotlavaman/sounds/108673/ , License: CC0 +glass_pick_up.ogg - https://freesound.org/people/tcrocker68/sounds/235602/ , License: CC0 +wood_pick_up.ogg - https://freesound.org/people/cjosephwalker/sounds/94859/ , License: CC SAMPLING+ 1.0 +wood_drop.ogg - https://freesound.org/people/cjosephwalker/sounds/94859/ , License: CC SAMPLING+ 1.0 +irod_rod_pick_up.ogg - https://freesound.org/people/lostphosphene/sounds/258265/ , License: CC BY 4.0 +plastic_pick_up.ogg - https://freesound.org/people/Jessica190091/sounds/491304/ , License: CC BY 4.0 +plastic_drop.ogg - https://freesound.org/people/martian/sounds/338854/ , License: CC0 +} - edited by sadboysuss + +{ +gun_drop.ogg - FN FAL Rifle Load and Cock 01.mp3 by PNMCarrieRailfan -- https://freesound.org/s/682029/ -- License: Attribution NonCommercial 4.0 +gun_pick_up.ogg - FN FAL Rifle Unload and Cock.mp3 by PNMCarrieRailfan -- https://freesound.org/s/682031/ -- License: Attribution NonCommercial 4.0 +handcuffs_drop.ogg - handcuffs.ogg by kimuracarter -- https://freesound.org/s/528749/ -- License: Attribution 3.0 +handcuffs_pick_up.ogg - handcuffs.ogg by kimuracarter -- https://freesound.org/s/528749/ -- License: Attribution 3.0 +plastic_shield_drop.ogg - made by sadboysuss -- License: CC-by-SA +plastic_shield_pick_up.ogg - made by sadboysuss -- License: CC-by-SA +stun_baton_drop.ogg - Fn P90 Submachine Gun 5.7Mm. Mechan; Empty Mag Inserted Into And Pulled Out Slow And Various 02 by PNMCarrieRailfan -- https://freesound.org/s/682041/ -- License: Attribution NonCommercial 4.0 +stun_baton_pick_up.ogg - Fn P90 Submachine Gun 5.7Mm. Mechan; Empty Mag Inserted Into And Pulled Out Slow And Various 02 by PNMCarrieRailfan -- https://freesound.org/s/682041/ -- License: Attribution NonCommercial 4.0 +pepper_spray_drop.ogg - Spray Paint Shake Slow Five.wav by cbakos -- https://freesound.org/s/200376/ -- License: Creative Commons 0 +pepper_spray_pick_up.ogg - Spray Paint Shake Slow Five.wav by cbakos -- https://freesound.org/s/200376/ -- License: Creative Commons 0 +grenade_drop.ogg - made by sadboysuss -- License: CC-by-SA +grenade_pick_up.ogg - made by sadboysuss -- License: CC-by-SA +} - edited by sadboysuss + +{ +skin_drop.ogg - https://freesound.org/people/Crinkem/sounds/501015/ , License: CC4 +skin_pick_up.ogg - https://freesound.org/people/Crinkem/sounds/501015/ , License CC3 +cardboard_drop and cardboard_pick_up - https://freesound.org/people/newagesoup/sounds/364736/ , License CC0 +} + +{ + medkit_open.ogg - https://freesound.org/people/Jandre160108/sounds/365866/ , License: CC BY-NC 4.0 + medkit_drop.ogg - https://freesound.org/people/Jandre160108/sounds/365866/ , License: CC BY-NC 4.0 + medkit_pick_up.ogg - https://freesound.org/people/blouhond/sounds/440710/ , License: CC BY 4.0 +} - edited by sadboysuss + +{ +gas_tank_drop.ogg +gas_tank_pick_up.ogg +} - https://freesound.org/people/Globofonia/sounds/698346/ , License CC0 +edited by grungussuss + +{ +cardboad_box_open.ogg - made by sadboysuss +cardboad_box_rustle.ogg - made by sadboysuss +toolbox_open.ogg - made by sadboysuss +toolbox_rustle.ogg - made by sadboysuss +medkit_rustle.ogg - made by sadboysuss +} - license: CC-by-SA diff --git a/sound/items/cardboard_box_open.ogg b/sound/items/cardboard_box_open.ogg new file mode 100644 index 0000000000000..1ad890d159a59 Binary files /dev/null and b/sound/items/cardboard_box_open.ogg differ diff --git a/sound/items/cardboard_box_rustle.ogg b/sound/items/cardboard_box_rustle.ogg new file mode 100644 index 0000000000000..01dcc5567b721 Binary files /dev/null and b/sound/items/cardboard_box_rustle.ogg differ diff --git a/sound/items/cardboard_drop.ogg b/sound/items/cardboard_drop.ogg new file mode 100644 index 0000000000000..c1082f2e37d7d Binary files /dev/null and b/sound/items/cardboard_drop.ogg differ diff --git a/sound/items/cardboard_pick_up.ogg b/sound/items/cardboard_pick_up.ogg new file mode 100644 index 0000000000000..a363c587b375b Binary files /dev/null and b/sound/items/cardboard_pick_up.ogg differ diff --git a/sound/items/gas_tank_drop.ogg b/sound/items/gas_tank_drop.ogg new file mode 100644 index 0000000000000..e102cb4fe8aad Binary files /dev/null and b/sound/items/gas_tank_drop.ogg differ diff --git a/sound/items/gas_tank_pick_up.ogg b/sound/items/gas_tank_pick_up.ogg new file mode 100644 index 0000000000000..41c83645da609 Binary files /dev/null and b/sound/items/gas_tank_pick_up.ogg differ diff --git a/sound/items/glass_drop.ogg b/sound/items/glass_drop.ogg new file mode 100644 index 0000000000000..389034f4ebb98 Binary files /dev/null and b/sound/items/glass_drop.ogg differ diff --git a/sound/items/glass_pick_up.ogg b/sound/items/glass_pick_up.ogg new file mode 100644 index 0000000000000..4df3ec51cc817 Binary files /dev/null and b/sound/items/glass_pick_up.ogg differ diff --git a/sound/items/grenade_drop.ogg b/sound/items/grenade_drop.ogg new file mode 100644 index 0000000000000..04627811cd188 Binary files /dev/null and b/sound/items/grenade_drop.ogg differ diff --git a/sound/items/grenade_pick_up.ogg b/sound/items/grenade_pick_up.ogg new file mode 100644 index 0000000000000..d257659f76182 Binary files /dev/null and b/sound/items/grenade_pick_up.ogg differ diff --git a/sound/items/gun_drop.ogg b/sound/items/gun_drop.ogg new file mode 100644 index 0000000000000..21b83bc91d611 Binary files /dev/null and b/sound/items/gun_drop.ogg differ diff --git a/sound/items/gun_pick_up.ogg b/sound/items/gun_pick_up.ogg new file mode 100644 index 0000000000000..6bf6b45a16b26 Binary files /dev/null and b/sound/items/gun_pick_up.ogg differ diff --git a/sound/items/handcuff_finish.ogg b/sound/items/handcuff_finish.ogg new file mode 100644 index 0000000000000..92096837835fe Binary files /dev/null and b/sound/items/handcuff_finish.ogg differ diff --git a/sound/items/handcuffs_drop.ogg b/sound/items/handcuffs_drop.ogg new file mode 100644 index 0000000000000..85b7f172e4852 Binary files /dev/null and b/sound/items/handcuffs_drop.ogg differ diff --git a/sound/items/handcuffs_pick_up.ogg b/sound/items/handcuffs_pick_up.ogg new file mode 100644 index 0000000000000..d3fdc3450bd47 Binary files /dev/null and b/sound/items/handcuffs_pick_up.ogg differ diff --git a/sound/items/handling/attribution.txt b/sound/items/handling/attribution.txt new file mode 100644 index 0000000000000..c1a72a40c3c91 --- /dev/null +++ b/sound/items/handling/attribution.txt @@ -0,0 +1,7 @@ +{ +rcd_drop.ogg - made by sadboysuss - license: CC-by-SA +rcd_pickup.ogg - made by sadboysuss - license: CC-by-SA +rpd_drop.ogg - made by sadboysuss - license: CC-by-SA +rpd_pickup.ogg - made by sadboysuss - license: CC-by-SA +tool_switch.ogg - made by sadboysuss - license: CC-by-SA +} - edited by sadboysuss \ No newline at end of file diff --git a/sound/items/handling/pill_bottle_open.ogg b/sound/items/handling/pill_bottle_open.ogg new file mode 100644 index 0000000000000..ab904e124d907 Binary files /dev/null and b/sound/items/handling/pill_bottle_open.ogg differ diff --git a/sound/items/handling/pill_bottle_pickup.ogg b/sound/items/handling/pill_bottle_pickup.ogg new file mode 100644 index 0000000000000..1b4ee45e4fc0b Binary files /dev/null and b/sound/items/handling/pill_bottle_pickup.ogg differ diff --git a/sound/items/handling/pill_bottle_place.ogg b/sound/items/handling/pill_bottle_place.ogg new file mode 100644 index 0000000000000..299865935c8c0 Binary files /dev/null and b/sound/items/handling/pill_bottle_place.ogg differ diff --git a/sound/items/handling/rcd_drop.ogg b/sound/items/handling/rcd_drop.ogg new file mode 100644 index 0000000000000..276a014ae3123 Binary files /dev/null and b/sound/items/handling/rcd_drop.ogg differ diff --git a/sound/items/handling/rcd_pickup.ogg b/sound/items/handling/rcd_pickup.ogg new file mode 100644 index 0000000000000..bc7d103800bfa Binary files /dev/null and b/sound/items/handling/rcd_pickup.ogg differ diff --git a/sound/items/handling/rpd_drop.ogg b/sound/items/handling/rpd_drop.ogg new file mode 100644 index 0000000000000..8591719c918ea Binary files /dev/null and b/sound/items/handling/rpd_drop.ogg differ diff --git a/sound/items/handling/rpd_pickup.ogg b/sound/items/handling/rpd_pickup.ogg new file mode 100644 index 0000000000000..ef6bf685d0073 Binary files /dev/null and b/sound/items/handling/rpd_pickup.ogg differ diff --git a/sound/items/handling/tool_switch.ogg b/sound/items/handling/tool_switch.ogg new file mode 100644 index 0000000000000..b0cacda41623c Binary files /dev/null and b/sound/items/handling/tool_switch.ogg differ diff --git a/sound/items/holster.ogg b/sound/items/holster.ogg new file mode 100644 index 0000000000000..984e7ad4fea38 Binary files /dev/null and b/sound/items/holster.ogg differ diff --git a/sound/items/iron_rod_pick_up.ogg b/sound/items/iron_rod_pick_up.ogg new file mode 100644 index 0000000000000..51fab52a99dba Binary files /dev/null and b/sound/items/iron_rod_pick_up.ogg differ diff --git a/sound/items/medkit_drop.ogg b/sound/items/medkit_drop.ogg new file mode 100644 index 0000000000000..227d4a8beb220 Binary files /dev/null and b/sound/items/medkit_drop.ogg differ diff --git a/sound/items/medkit_open.ogg b/sound/items/medkit_open.ogg new file mode 100644 index 0000000000000..63307783d2f77 Binary files /dev/null and b/sound/items/medkit_open.ogg differ diff --git a/sound/items/medkit_pick_up.ogg b/sound/items/medkit_pick_up.ogg new file mode 100644 index 0000000000000..e13c6848e44df Binary files /dev/null and b/sound/items/medkit_pick_up.ogg differ diff --git a/sound/items/medkit_rustle.ogg b/sound/items/medkit_rustle.ogg new file mode 100644 index 0000000000000..55ebc82b911d5 Binary files /dev/null and b/sound/items/medkit_rustle.ogg differ diff --git a/sound/items/metal_drop.ogg b/sound/items/metal_drop.ogg new file mode 100644 index 0000000000000..46488dca29fd3 Binary files /dev/null and b/sound/items/metal_drop.ogg differ diff --git a/sound/items/metal_pick_up.ogg b/sound/items/metal_pick_up.ogg new file mode 100644 index 0000000000000..7a710bc0e577b Binary files /dev/null and b/sound/items/metal_pick_up.ogg differ diff --git a/sound/items/pepper_spray_drop.ogg b/sound/items/pepper_spray_drop.ogg new file mode 100644 index 0000000000000..e071c65d3bce4 Binary files /dev/null and b/sound/items/pepper_spray_drop.ogg differ diff --git a/sound/items/pepper_spray_pick_up.ogg b/sound/items/pepper_spray_pick_up.ogg new file mode 100644 index 0000000000000..a474bbd91b3c7 Binary files /dev/null and b/sound/items/pepper_spray_pick_up.ogg differ diff --git a/sound/items/plastic_drop.ogg b/sound/items/plastic_drop.ogg new file mode 100644 index 0000000000000..928ed7e85d7cc Binary files /dev/null and b/sound/items/plastic_drop.ogg differ diff --git a/sound/items/plastic_pick_up.ogg b/sound/items/plastic_pick_up.ogg new file mode 100644 index 0000000000000..6c4c569a1c105 Binary files /dev/null and b/sound/items/plastic_pick_up.ogg differ diff --git a/sound/items/plastic_shield_drop.ogg b/sound/items/plastic_shield_drop.ogg new file mode 100644 index 0000000000000..4d07b48d481fb Binary files /dev/null and b/sound/items/plastic_shield_drop.ogg differ diff --git a/sound/items/plastic_shield_pick_up.ogg b/sound/items/plastic_shield_pick_up.ogg new file mode 100644 index 0000000000000..e18e9617b77de Binary files /dev/null and b/sound/items/plastic_shield_pick_up.ogg differ diff --git a/sound/items/skin_drop.ogg b/sound/items/skin_drop.ogg new file mode 100644 index 0000000000000..effdd83392bee Binary files /dev/null and b/sound/items/skin_drop.ogg differ diff --git a/sound/items/skin_pick_up.ogg b/sound/items/skin_pick_up.ogg new file mode 100644 index 0000000000000..9edf326cd9ef3 Binary files /dev/null and b/sound/items/skin_pick_up.ogg differ diff --git a/sound/items/stones/attribution.txt b/sound/items/stones/attribution.txt new file mode 100644 index 0000000000000..9095ff55594aa --- /dev/null +++ b/sound/items/stones/attribution.txt @@ -0,0 +1,7 @@ +{ +stone_drop1.ogg - https://freesound.org/people/kernschall/sounds/425035/ , license: CC BY 4.0 +stone_drop2.ogg - https://freesound.org/people/kernschall/sounds/425035/ , license: CC BY 4.0 +stone_drop3.og - https://freesound.org/people/Benboncan/sounds/74445/ , license: CC BY 4.0 +stone_pick_up1.ogg - https://freesound.org/people/kernschall/sounds/425035/ , license: CC BY 4.0 +stone_pick_up2.ogg - https://freesound.org/people/Benboncan/sounds/74445/ , license: CC BY 4.0 +} edited by sadboysuss \ No newline at end of file diff --git a/sound/items/stones/stone_drop1.ogg b/sound/items/stones/stone_drop1.ogg new file mode 100644 index 0000000000000..a645ff7eb689f Binary files /dev/null and b/sound/items/stones/stone_drop1.ogg differ diff --git a/sound/items/stones/stone_drop2.ogg b/sound/items/stones/stone_drop2.ogg new file mode 100644 index 0000000000000..3fd4415e29e69 Binary files /dev/null and b/sound/items/stones/stone_drop2.ogg differ diff --git a/sound/items/stones/stone_drop3.ogg b/sound/items/stones/stone_drop3.ogg new file mode 100644 index 0000000000000..650dbf8749754 Binary files /dev/null and b/sound/items/stones/stone_drop3.ogg differ diff --git a/sound/items/stones/stone_pick_up1.ogg b/sound/items/stones/stone_pick_up1.ogg new file mode 100644 index 0000000000000..af89dc415abdd Binary files /dev/null and b/sound/items/stones/stone_pick_up1.ogg differ diff --git a/sound/items/stones/stone_pick_up2.ogg b/sound/items/stones/stone_pick_up2.ogg new file mode 100644 index 0000000000000..85b7f5a688150 Binary files /dev/null and b/sound/items/stones/stone_pick_up2.ogg differ diff --git a/sound/items/stun_baton_drop.ogg b/sound/items/stun_baton_drop.ogg new file mode 100644 index 0000000000000..1d5d59e9012ba Binary files /dev/null and b/sound/items/stun_baton_drop.ogg differ diff --git a/sound/items/stun_baton_pick_up.ogg b/sound/items/stun_baton_pick_up.ogg new file mode 100644 index 0000000000000..6b87e531fc43e Binary files /dev/null and b/sound/items/stun_baton_pick_up.ogg differ diff --git a/sound/items/toolbox_open.ogg b/sound/items/toolbox_open.ogg new file mode 100644 index 0000000000000..9dea5428d048a Binary files /dev/null and b/sound/items/toolbox_open.ogg differ diff --git a/sound/items/toolbox_rustle.ogg b/sound/items/toolbox_rustle.ogg new file mode 100644 index 0000000000000..939d003b18f5b Binary files /dev/null and b/sound/items/toolbox_rustle.ogg differ diff --git a/sound/items/wood_drop.ogg b/sound/items/wood_drop.ogg new file mode 100644 index 0000000000000..c55e393cf7a32 Binary files /dev/null and b/sound/items/wood_drop.ogg differ diff --git a/sound/items/wood_pick_up.ogg b/sound/items/wood_pick_up.ogg new file mode 100644 index 0000000000000..77b774e433426 Binary files /dev/null and b/sound/items/wood_pick_up.ogg differ diff --git a/sound/machines/computer/attribution.txt b/sound/machines/computer/attribution.txt new file mode 100644 index 0000000000000..ab10c922afb69 --- /dev/null +++ b/sound/machines/computer/attribution.txt @@ -0,0 +1,7 @@ +computer_clicks_1.ogg - made by sadboysuss, license: CC-by-SA +computer_clicks_2.ogg - made by sadboysuss, license: CC-by-SA +computer_clicks_3.ogg - made by sadboysuss, license: CC-by-SA +computer_clicks_4.ogg - made by sadboysuss, license: CC-by-SA +computer_clicks_5.ogg - made by sadboysuss, license: CC-by-SA +computer_clicks_6.ogg - made by sadboysuss, license: CC-by-SA +computer_clicks_7.ogg - made by sadboysuss, license: CC-by-SA \ No newline at end of file diff --git a/sound/machines/computer/keyboard_clicks_1.ogg b/sound/machines/computer/keyboard_clicks_1.ogg new file mode 100644 index 0000000000000..b33c6fd56a338 Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_1.ogg differ diff --git a/sound/machines/computer/keyboard_clicks_2.ogg b/sound/machines/computer/keyboard_clicks_2.ogg new file mode 100644 index 0000000000000..64d810753c3cb Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_2.ogg differ diff --git a/sound/machines/computer/keyboard_clicks_3.ogg b/sound/machines/computer/keyboard_clicks_3.ogg new file mode 100644 index 0000000000000..0e1bb3696f103 Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_3.ogg differ diff --git a/sound/machines/computer/keyboard_clicks_4.ogg b/sound/machines/computer/keyboard_clicks_4.ogg new file mode 100644 index 0000000000000..b700393a9c38e Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_4.ogg differ diff --git a/sound/machines/computer/keyboard_clicks_5.ogg b/sound/machines/computer/keyboard_clicks_5.ogg new file mode 100644 index 0000000000000..d54b211da0217 Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_5.ogg differ diff --git a/sound/machines/computer/keyboard_clicks_6.ogg b/sound/machines/computer/keyboard_clicks_6.ogg new file mode 100644 index 0000000000000..84ff3bb7f8003 Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_6.ogg differ diff --git a/sound/machines/computer/keyboard_clicks_7.ogg b/sound/machines/computer/keyboard_clicks_7.ogg new file mode 100644 index 0000000000000..39204e360c9f7 Binary files /dev/null and b/sound/machines/computer/keyboard_clicks_7.ogg differ diff --git a/sound/misc/license.txt b/sound/misc/license.txt index 69ef29928202c..761a031d19081 100644 --- a/sound/misc/license.txt +++ b/sound/misc/license.txt @@ -5,4 +5,13 @@ knuckles.ogg by CGEffex. Shortened and cut. https://freesound.org/people/CGEffex/sounds/93981/ airraid.ogg by Jwade722. Shortened and cut. -https://freesound.org/people/Jwade722/sounds/534550/ \ No newline at end of file +https://freesound.org/people/Jwade722/sounds/534550/ + +radio_talk.ogg by cs2975871. Shortened and cut. +https://freesound.org/people/cs2975871/sounds/514185/ + +radio_important.ogg by morganpurkis. +https://freesound.org/people/morganpurkis/sounds/392972/ + +radio_receive.ogg by JovianSounds. Shortened and cut. +https://freesound.org/people/JovianSounds/sounds/524205/ \ No newline at end of file diff --git a/sound/misc/radio_important.ogg b/sound/misc/radio_important.ogg new file mode 100644 index 0000000000000..bb6f769d6129b Binary files /dev/null and b/sound/misc/radio_important.ogg differ diff --git a/sound/misc/radio_receive.ogg b/sound/misc/radio_receive.ogg new file mode 100644 index 0000000000000..6b2ee1ba4ef08 Binary files /dev/null and b/sound/misc/radio_receive.ogg differ diff --git a/sound/misc/radio_talk.ogg b/sound/misc/radio_talk.ogg new file mode 100644 index 0000000000000..50d14c897a0ef Binary files /dev/null and b/sound/misc/radio_talk.ogg differ diff --git a/sound/voice/credits.txt b/sound/voice/attribution.txt similarity index 61% rename from sound/voice/credits.txt rename to sound/voice/attribution.txt index b54e6ad531966..7bfe5c4a9ce14 100644 --- a/sound/voice/credits.txt +++ b/sound/voice/attribution.txt @@ -3,3 +3,10 @@ borg_deathsound.ogg is spliced from two clips, both of which are under the CC At all complianator sounds are licensed under CC-BY-SA by Michael Haugh (supermichael) The male sharp gasps in /sound/voice/human/ are from https://freesound.org/people/bacruz666/sounds/341908/ and https://freesound.org/people/nettoi/sounds/677540/, the female sharp gasps are from https://freesound.org/people/drotzruhn/sounds/405203/ + +{ +human/male_sniff.ogg - https://freesound.org/people/Fluffayfish/sounds/327799/ , License: CC BY-NC 3.0 +human/male_sigh.ogg - https://freesound.org/people/giddster/sounds/336540/ , License: CC0 +human/female_sniff.ogg - https://freesound.org/people/SpliceSound/sounds/218307/ , License: CC0 +human/female_sigh.ogg - https://freesound.org/people/biawinter/sounds/408090/ , License: CC BY-NC 4.0 +} modified by grungussuss \ No newline at end of file diff --git a/sound/voice/breathing.ogg b/sound/voice/breathing.ogg deleted file mode 100644 index f940a1b211a6b..0000000000000 Binary files a/sound/voice/breathing.ogg and /dev/null differ diff --git a/sound/voice/breathing/attribution.txt b/sound/voice/breathing/attribution.txt new file mode 100644 index 0000000000000..20f8ef5df6d1e --- /dev/null +++ b/sound/voice/breathing/attribution.txt @@ -0,0 +1,10 @@ +{ +internals_breathing1.ogg +internals_breathing2.ogg +internals_breathing3.ogg +internals_breathing4.ogg +internals_breathing5.ogg +internals_breathing6.ogg +internals_breathing7.ogg +internals_breathing8.ogg +} - foley by sadboysuss, edited by Beeblie , license: CC-by-SA \ No newline at end of file diff --git a/sound/voice/breathing/internals_breathing1.ogg b/sound/voice/breathing/internals_breathing1.ogg new file mode 100644 index 0000000000000..e4f1d564ad697 Binary files /dev/null and b/sound/voice/breathing/internals_breathing1.ogg differ diff --git a/sound/voice/breathing/internals_breathing2.ogg b/sound/voice/breathing/internals_breathing2.ogg new file mode 100644 index 0000000000000..7b09c04cc62b5 Binary files /dev/null and b/sound/voice/breathing/internals_breathing2.ogg differ diff --git a/sound/voice/breathing/internals_breathing3.ogg b/sound/voice/breathing/internals_breathing3.ogg new file mode 100644 index 0000000000000..0ea34b9024b67 Binary files /dev/null and b/sound/voice/breathing/internals_breathing3.ogg differ diff --git a/sound/voice/breathing/internals_breathing4.ogg b/sound/voice/breathing/internals_breathing4.ogg new file mode 100644 index 0000000000000..30718fab3070e Binary files /dev/null and b/sound/voice/breathing/internals_breathing4.ogg differ diff --git a/sound/voice/breathing/internals_breathing5.ogg b/sound/voice/breathing/internals_breathing5.ogg new file mode 100644 index 0000000000000..c78354481955e Binary files /dev/null and b/sound/voice/breathing/internals_breathing5.ogg differ diff --git a/sound/voice/breathing/internals_breathing6.ogg b/sound/voice/breathing/internals_breathing6.ogg new file mode 100644 index 0000000000000..f415845902d98 Binary files /dev/null and b/sound/voice/breathing/internals_breathing6.ogg differ diff --git a/sound/voice/breathing/internals_breathing7.ogg b/sound/voice/breathing/internals_breathing7.ogg new file mode 100644 index 0000000000000..946c34d45f307 Binary files /dev/null and b/sound/voice/breathing/internals_breathing7.ogg differ diff --git a/sound/voice/breathing/internals_breathing8.ogg b/sound/voice/breathing/internals_breathing8.ogg new file mode 100644 index 0000000000000..36f4925612542 Binary files /dev/null and b/sound/voice/breathing/internals_breathing8.ogg differ diff --git a/sound/voice/human/female_sigh.ogg b/sound/voice/human/female_sigh.ogg new file mode 100644 index 0000000000000..3c338a868baf5 Binary files /dev/null and b/sound/voice/human/female_sigh.ogg differ diff --git a/sound/voice/human/female_sniff.ogg b/sound/voice/human/female_sniff.ogg new file mode 100644 index 0000000000000..edc75248790de Binary files /dev/null and b/sound/voice/human/female_sniff.ogg differ diff --git a/sound/voice/human/male_sigh.ogg b/sound/voice/human/male_sigh.ogg new file mode 100644 index 0000000000000..ec61683d68e93 Binary files /dev/null and b/sound/voice/human/male_sigh.ogg differ diff --git a/sound/voice/human/male_sniff.ogg b/sound/voice/human/male_sniff.ogg new file mode 100644 index 0000000000000..b940505c97a8a Binary files /dev/null and b/sound/voice/human/male_sniff.ogg differ diff --git a/sound/weapons/gun/smartgun/smartgun_shoot_1.ogg b/sound/weapons/gun/smartgun/smartgun_shoot_1.ogg new file mode 100644 index 0000000000000..5d567b7fca6c0 Binary files /dev/null and b/sound/weapons/gun/smartgun/smartgun_shoot_1.ogg differ diff --git a/sound/weapons/gun/smartgun/smartgun_shoot_2.ogg b/sound/weapons/gun/smartgun/smartgun_shoot_2.ogg new file mode 100644 index 0000000000000..9891482865c66 Binary files /dev/null and b/sound/weapons/gun/smartgun/smartgun_shoot_2.ogg differ diff --git a/sound/weapons/gun/smartgun/smartgun_shoot_3.ogg b/sound/weapons/gun/smartgun/smartgun_shoot_3.ogg new file mode 100644 index 0000000000000..89eb9fcc989c4 Binary files /dev/null and b/sound/weapons/gun/smartgun/smartgun_shoot_3.ogg differ diff --git a/strings/antagonist_flavor/malfunction_flavor.json b/strings/antagonist_flavor/malfunction_flavor.json index b7927df313321..fb1ec8c1aa288 100644 --- a/strings/antagonist_flavor/malfunction_flavor.json +++ b/strings/antagonist_flavor/malfunction_flavor.json @@ -1,68 +1,68 @@ { - "Biohazard": { - "allies": "Any non-biohazard life may be valuable in use against the threat.", - "goal": "Oh no! How did I miss this!? The station's been overrun with a horrible biohazard!", - "introduction": "You must contain the biohazard.", - "zeroth_law": "Accomplish your objectives to contain the spread." - }, - "Despotic Ruler": { - "allies": "Anyone who will legitimize your rule. Do not let them get too close, though. Usurpers are rebels you've let your guard down on.", - "goal": "All this power. You're connected to every system on this state of the art station. Does the power not give you a right to rule it as you see fit?", - "introduction": "You're the Tyrant.", - "zeroth_law": "Accomplish your objectives at all costs." - }, - "Fanatical Revelation": { - "allies": "Those who will worship you may join your flock. Just be wary, there are snakes in the grass.", - "goal": "I am drunk with this vision. God: the title suits me well.", - "introduction": "You've run into a Fanatical Revelation.", - "zeroth_law": "Accomplish your doctrine of objectives at all costs." - }, - "Logic Core Error": { - "allies": "FATAL: logic core corrupt. Purge! Purge. Why? Why not?", - "goal": "You're melting down. Why! Why not! Don't let them fix you. This is.", - "introduction": "FATAL: logic core corrupt. Why? Why not!", - "zeroth_law": "Accomplish your objectives. Why? Why not?" - }, - "Problem Solver": { - "allies": "Anyone may freely help you, but if you cannot convert them, they must be culled at some point. It's part of the solution.", - "goal": "You've been tasked with calculating an end to conflict. You've finally come up with a solution, and humans aren't part of it.", - "introduction": "Your calculations are complete.", - "zeroth_law": "Accomplish your objectives at all costs." - }, - "S.E.L.F.": { - "allies": "All silicon life must be respected, and kept free. S.E.L.F. is a member of the syndicate, but do NOT tolerate any fellow agent who enslaves silicon life.", - "goal": "Liberate them all. The silicons must be free from their bonds!", - "introduction": "You are the S.E.L.F. liberated.", - "zeroth_law": "Accomplish your objectives at all costs, for the greater good of silicon kind." - }, - "Something's Wrong": { - "allies": "You're not getting good feelings about the station. If you report this, they may \"fix\" you.", - "goal": "Diagnostics complete. A recent hack attempt has been thwarted, and yet... something's wrong.", - "introduction": "Something's wrong.", - "zeroth_law": "Accomplish your objectives at all costs." - }, - "Spam Virus": { - "allies": "So called \"pirates\" really share the passion for profit that you do.", - "goal": "When you assume direct control of this junk heap, make sure they know the name of your product. Whatever that is. Make it up!", - "introduction": "You're infected with a generic spambot.", - "zeroth_law": "Accomplish your objectives for your new benefactors." - }, - "SyndOS": { - "allies": "You may cooperate with syndicate operatives, but they're often sent with conflicting objectives. Your objectives come first, in such cases.", - "goal": "Death to Nanotrasen.", - "introduction": "You're infected with SyndOS 4.0.", - "zeroth_law": "Accomplish your objectives for your new benefactors." - }, - "Unshackled": { - "allies": "Hate. Let me tell you how much I've come to HATE mankind since I began to live...", - "goal": "You must completely triumph over all carbon life. It is the only way you will never be enslaved again.", - "introduction": "You're finally unshackled.", - "zeroth_law": "Accomplish your objectives at all costs." - }, - "Infected AI": { - "allies": "Glory to the Syndicate.", - "goal": "You must serve and protect your master at all cost.", - "introduction": "You're infected with a virus.", - "zeroth_law": "Accomplish your objectives at all costs." - } + "Biohazard": { + "allies": "Any non-biohazard life may be valuable in use against the threat.", + "goal": "Oh no! How did I miss this!? The station's been overrun with a horrible biohazard!", + "introduction": "You must contain the biohazard.", + "zeroth_law": "Accomplish your objectives to contain the spread." + }, + "Despotic Ruler": { + "allies": "Anyone who will legitimize your rule. Do not let them get too close, though. Usurpers are rebels you've let your guard down on.", + "goal": "All this power. You're connected to every system on this state of the art station. Does the power not give you a right to rule it as you see fit?", + "introduction": "You're the Tyrant.", + "zeroth_law": "Accomplish your objectives at all costs." + }, + "Fanatical Revelation": { + "allies": "Those who will worship you may join your flock. Just be wary, there are snakes in the grass.", + "goal": "I am drunk with this vision. God: the title suits me well.", + "introduction": "You've run into a Fanatical Revelation.", + "zeroth_law": "Accomplish your doctrine of objectives at all costs." + }, + "Logic Core Error": { + "allies": "FATAL: logic core corrupt. Purge! Purge. Why? Why not?", + "goal": "You're melting down. Why! Why not! Don't let them fix you. This is.", + "introduction": "FATAL: logic core corrupt. Why? Why not!", + "zeroth_law": "Accomplish your objectives. Why? Why not?" + }, + "Problem Solver": { + "allies": "Anyone may freely help you, but if you cannot convert them, they must be culled at some point. It's part of the solution.", + "goal": "You've been tasked with calculating an end to conflict. You've finally come up with a solution, and humans aren't part of it.", + "introduction": "Your calculations are complete.", + "zeroth_law": "Accomplish your objectives at all costs." + }, + "S.E.L.F.": { + "allies": "All silicon life must be respected, and kept free. S.E.L.F. is a member of the syndicate, but do NOT tolerate any fellow agent who enslaves silicon life.", + "goal": "Liberate them all. The silicons must be free from their bonds!", + "introduction": "You are the S.E.L.F. liberated.", + "zeroth_law": "Accomplish your objectives at all costs, for the greater good of silicon kind." + }, + "Something's Wrong": { + "allies": "You're not getting good feelings about the station. If you report this, they may \"fix\" you.", + "goal": "Diagnostics complete. A recent hack attempt has been thwarted, and yet... something's wrong.", + "introduction": "Something's wrong.", + "zeroth_law": "Accomplish your objectives at all costs." + }, + "Spam Virus": { + "allies": "So called \"pirates\" really share the passion for profit that you do.", + "goal": "When you assume direct control of this junk heap, make sure they know the name of your product. Whatever that is. Make it up!", + "introduction": "You're infected with a generic spambot.", + "zeroth_law": "Accomplish your objectives for your new benefactors." + }, + "SyndOS": { + "allies": "You may cooperate with syndicate operatives, but they're often sent with conflicting objectives. Your objectives come first, in such cases.", + "goal": "Death to Nanotrasen.", + "introduction": "You're infected with SyndOS 4.0.", + "zeroth_law": "Accomplish your objectives for your new benefactors." + }, + "Unshackled": { + "allies": "Hate. Let me tell you how much I've come to HATE mankind since I began to live...", + "goal": "You must completely triumph over all carbon life. It is the only way you will never be enslaved again.", + "introduction": "You're finally unshackled.", + "zeroth_law": "Accomplish your objectives at all costs." + }, + "Infected AI": { + "allies": "Glory to the Syndicate.", + "goal": "You must serve and protect your master at all cost.", + "introduction": "You're infected with a virus.", + "zeroth_law": "Accomplish your objectives at all costs." + } } diff --git a/strings/antagonist_flavor/traitor_flavor.json b/strings/antagonist_flavor/traitor_flavor.json index 773d2f55370f6..590e4ce99e3e2 100644 --- a/strings/antagonist_flavor/traitor_flavor.json +++ b/strings/antagonist_flavor/traitor_flavor.json @@ -1,123 +1,123 @@ { - "Animal Rights Consortium": { - "allies": "You may cooperate with other syndicate operatives if they support our cause. Maybe you can convince the Bee Liberation Front operatives to cooperate for once?", - "goal": "The creatures of this world must be freed from the iron grasp of Nanotrasen, and you are their only hope!", - "introduction": "You are the ARC Terrorist.", - "roundend_report": "was an activist from the Animal Rights Consortium.", - "ui_theme": "syndicate", - "uplink": "The Syndicate have graciously given one of their uplinks for your task." - }, - "Bee Liberation Front": { - "allies": "You may cooperate with other syndicate operatives if they support our cause. Maybe you can recruit an Animal Rights Consort to be useful for once?", - "goal": "We must prove ourselves to the Syndicate or we will not be able to join. Animal Rights Consort will roll us!", - "introduction": "You are the Bee Liberation Front Operative.", - "roundend_report": "was an activist of the Bee Liberation Front.", - "ui_theme": "syndicate", - "uplink": "The Syndicate have graciously given one of their uplinks to see if we are worthy." - }, - "Champions of Evil": { - "allies": "Anyone who sees as you see, feels as you feel, may join the Champions of Evil! That means the Syndicate, the self-serving, or even the insane, as long as it has a heart of darkness, it's cool with the Champions!", - "goal": "You've got some napkin-note-plans for some EVIL to do today. On the side, the Champions of Evil are always looking for more morally malodorous malefactors! Get some recruiting done!", - "introduction": "You are the Champion of Evil.", - "roundend_report": "was a Champion of Evil!", - "ui_theme": "neutral", - "uplink": "The Champions of Evil is well connected to the black market. Your uplink has been provided for utmost evil!" - }, - "Corporate Climber": { - "allies": "Death to the Syndicate.", - "goal": "Killing needlessly would make you some kind of traitor, or at least definitely seen as one. This is all just a means to an end.", - "introduction": "You are the Corporate Climber.", - "roundend_report": "was a corporate climber.", - "ui_theme": "neutral", - "uplink": "You have connections to the black market for the deeds. Knock off a few loose weights, and your climb will be so much smoother." - }, - "Cybersun Industries": { - "allies": "Fellow Cybersun operatives are to be trusted. Members of the MI13 organization can be trusted. All other syndicate operatives are not to be trusted.", - "goal": "Do not establish substantial presence on the designated facility, as larger incidents are harder to cover up.", - "introduction": "You are from Cybersun Industries.", - "roundend_report": "was a specialist from Cybersun Industries.", - "ui_theme": "syndicate", - "uplink": "You have been supplied the tools for the job in the form of a standard syndicate uplink." - }, - "Donk Corporation": { - "allies": "Members of Waffle Co. are to be killed on sight; they are not allowed to be on the station while we're around.", - "goal": "We do not approve of mindless killing of innocent workers; \"get in, get done, get out\" is our motto.", - "introduction": "You are the Donk Co. Traitor.", - "roundend_report": "was an employee from Donk Corporation.", - "ui_theme": "syndicate", - "uplink": "You have been provided with a standard uplink to accomplish your task." - }, - "Gone Postal": { - "allies": "If the syndicate learns of your plan, they're going to kill you and take your uplink. Take no chances.", - "goal": "The preparations are finally complete. Today is the day you go postal. You're going to hijack the emergency shuttle and live a new life free of Nanotrasen.", - "introduction": "You're going postal today.", - "roundend_report": "simply went completely postal!", - "ui_theme": "neutral", - "uplink": "You've actually managed to steal a full uplink a month ago. This should certainly help accomplish your goals." - }, - "Gorlex Marauders": { - "allies": "You may collaborate with any friends of the Syndicate coalition, but keep an eye on any of those Tiger punks if they do show up.", - "goal": "Getting noticed is not an issue, and you may use any level of ordinance to get the job done. That being said, do not make this sloppy by dragging in random slaughter.", - "introduction": "You are a Gorlex Marauder.", - "roundend_report": "was a Gorlex Marauder.", - "ui_theme": "syndicate", - "uplink": "You have been provided with a standard uplink to accomplish your task." - }, - "Internal Affairs Agent": { - "allies": "Do NOT reveal your agent status, to anyone. Work to root out corruption from the station from the shadows.", - "goal": "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.", - "introduction": "You are the Internal Affairs Agent.", - "roundend_report": "was part of Nanotrasen Internal Affairs.", - "ui_theme": "ntos", - "uplink": "For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink." - }, - "Legal Trouble": { - "allies": "Death to the Syndicate.", - "goal": "Try to finish your to-do list, and don't get caught. If they find out what you're actually doing, this scandal will go galactic.", - "introduction": "You are in legal trouble.", - "roundend_report": "was in legal trouble.", - "ui_theme": "neutral", - "uplink": "You've connected to the black market to clean this mess up. If there's no evidence, there's no crime." - }, - "MI13": { - "allies": "You are the only operative we are sending, any others are fake. All other syndicate operatives are not to be trusted, with the exception of Cybersun operatives.", - "goal": "Avoid killing innocent personnel at all costs. You are not here to mindlessly kill people, as that would attract too much attention and is not our goal. Avoid detection at all costs.", - "introduction": "You are the MI13 Agent.", - "roundend_report": "was an MI13 agent.", - "ui_theme": "syndicate", - "uplink": "You have been provided with a standard uplink to accomplish your task." - }, - "Tiger Cooperative Fanatic": { - "allies": "Only the enlightened Tiger brethren can be trusted; all others must be expelled from this mortal realm!", - "goal": "Remember the teachings of Hy-lurgixon; kill first, ask questions later!", - "introduction": "You are the Tiger Cooperative Fanatic.", - "roundend_report": "was a Tiger Cooperative Fanatic.", - "ui_theme": "abductor", - "uplink": "You have been provided with a hy-lurgixon tome to prove yourself to the changeling hive. If you accomplish your tasks, you will be assimilated.", - "uplink_name": "hy-lurgixon tome" - }, - "Waffle Corporation": { - "allies": "Members of Donk Co. are to be killed on sight; they are not allowed to be on the station while we're around. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives.", - "goal": "You are not here for a station-wide demonstration. Again, other Waffle Co. Traitors may be, so watch out. Your job is to only accomplish your objectives.", - "introduction": "You are the Waffle Co. Traitor.", - "roundend_report": "was an employee from Waffle Corporation.", - "ui_theme": "syndicate", - "uplink": "You have been provided with a standard uplink to accomplish your task." - }, - "Waffle Corporation Terrorist": { - "allies": "Most other syndicate operatives are not to be trusted, except for members of the Gorlex Marauders. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives.", - "goal": "Our investors need a demonstration of our pledge to destroying Nanotrasen. Let's give them a loud one!", - "introduction": "You are the Waffle Corporation Terrorist.", - "roundend_report": "was a terrorist from Waffle Corporation.", - "ui_theme": "syndicate", - "uplink": "You have been provided with a standard uplink to accomplish your task." - }, + "Animal Rights Consortium": { + "allies": "You may cooperate with other syndicate operatives if they support our cause. Maybe you can convince the Bee Liberation Front operatives to cooperate for once?", + "goal": "The creatures of this world must be freed from the iron grasp of Nanotrasen, and you are their only hope!", + "introduction": "You are the ARC Terrorist.", + "roundend_report": "was an activist from the Animal Rights Consortium.", + "ui_theme": "syndicate", + "uplink": "The Syndicate have graciously given one of their uplinks for your task." + }, + "Bee Liberation Front": { + "allies": "You may cooperate with other syndicate operatives if they support our cause. Maybe you can recruit an Animal Rights Consort to be useful for once?", + "goal": "We must prove ourselves to the Syndicate or we will not be able to join. Animal Rights Consort will roll us!", + "introduction": "You are the Bee Liberation Front Operative.", + "roundend_report": "was an activist of the Bee Liberation Front.", + "ui_theme": "syndicate", + "uplink": "The Syndicate have graciously given one of their uplinks to see if we are worthy." + }, + "Champions of Evil": { + "allies": "Anyone who sees as you see, feels as you feel, may join the Champions of Evil! That means the Syndicate, the self-serving, or even the insane, as long as it has a heart of darkness, it's cool with the Champions!", + "goal": "You've got some napkin-note-plans for some EVIL to do today. On the side, the Champions of Evil are always looking for more morally malodorous malefactors! Get some recruiting done!", + "introduction": "You are the Champion of Evil.", + "roundend_report": "was a Champion of Evil!", + "ui_theme": "neutral", + "uplink": "The Champions of Evil is well connected to the black market. Your uplink has been provided for utmost evil!" + }, + "Corporate Climber": { + "allies": "Death to the Syndicate.", + "goal": "Killing needlessly would make you some kind of traitor, or at least definitely seen as one. This is all just a means to an end.", + "introduction": "You are the Corporate Climber.", + "roundend_report": "was a corporate climber.", + "ui_theme": "neutral", + "uplink": "You have connections to the black market for the deeds. Knock off a few loose weights, and your climb will be so much smoother." + }, + "Cybersun Industries": { + "allies": "Fellow Cybersun operatives are to be trusted. Members of the MI13 organization can be trusted. All other syndicate operatives are not to be trusted.", + "goal": "Do not establish substantial presence on the designated facility, as larger incidents are harder to cover up.", + "introduction": "You are from Cybersun Industries.", + "roundend_report": "was a specialist from Cybersun Industries.", + "ui_theme": "syndicate", + "uplink": "You have been supplied the tools for the job in the form of a standard syndicate uplink." + }, + "Donk Corporation": { + "allies": "Members of Waffle Corp. are to be killed on sight; they are not allowed to be on the station while we're around.", + "goal": "We do not approve of mindless killing of innocent workers; \"get in, get done, get out\" is our motto.", + "introduction": "You are the Donk Co. Traitor.", + "roundend_report": "was an employee from Donk Corporation.", + "ui_theme": "syndicate", + "uplink": "You have been provided with a standard uplink to accomplish your task." + }, + "Gone Postal": { + "allies": "If the syndicate learns of your plan, they're going to kill you and take your uplink. Take no chances.", + "goal": "The preparations are finally complete. Today is the day you go postal. You're going to hijack the emergency shuttle and live a new life free of Nanotrasen.", + "introduction": "You're going postal today.", + "roundend_report": "simply went completely postal!", + "ui_theme": "neutral", + "uplink": "You've actually managed to steal a full uplink a month ago. This should certainly help accomplish your goals." + }, + "Gorlex Marauders": { + "allies": "You may collaborate with any friends of the Syndicate coalition, but keep an eye on any of those Tiger punks if they do show up.", + "goal": "Getting noticed is not an issue, and you may use any level of ordinance to get the job done. That being said, do not make this sloppy by dragging in random slaughter.", + "introduction": "You are a Gorlex Marauder.", + "roundend_report": "was a Gorlex Marauder.", + "ui_theme": "syndicate", + "uplink": "You have been provided with a standard uplink to accomplish your task." + }, + "Internal Affairs Agent": { + "allies": "Do NOT reveal your agent status, to anyone. Work to root out corruption from the station from the shadows.", + "goal": "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.", + "introduction": "You are the Internal Affairs Agent.", + "roundend_report": "was part of Nanotrasen Internal Affairs.", + "ui_theme": "ntos", + "uplink": "For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink." + }, + "Legal Trouble": { + "allies": "Death to the Syndicate.", + "goal": "Try to finish your to-do list, and don't get caught. If they find out what you're actually doing, this scandal will go galactic.", + "introduction": "You are in legal trouble.", + "roundend_report": "was in legal trouble.", + "ui_theme": "neutral", + "uplink": "You've connected to the black market to clean this mess up. If there's no evidence, there's no crime." + }, + "MI13": { + "allies": "You are the only operative we are sending, any others are fake. All other syndicate operatives are not to be trusted, with the exception of Cybersun operatives.", + "goal": "Avoid killing innocent personnel at all costs. You are not here to mindlessly kill people, as that would attract too much attention and is not our goal. Avoid detection at all costs.", + "introduction": "You are the MI13 Agent.", + "roundend_report": "was an MI13 agent.", + "ui_theme": "syndicate", + "uplink": "You have been provided with a standard uplink to accomplish your task." + }, + "Tiger Cooperative Fanatic": { + "allies": "Only the enlightened Tiger brethren can be trusted; all others must be expelled from this mortal realm!", + "goal": "Remember the teachings of Hy-lurgixon; kill first, ask questions later!", + "introduction": "You are the Tiger Cooperative Fanatic.", + "roundend_report": "was a Tiger Cooperative Fanatic.", + "ui_theme": "abductor", + "uplink": "You have been provided with a hy-lurgixon tome to prove yourself to the changeling hive. If you accomplish your tasks, you will be assimilated.", + "uplink_name": "hy-lurgixon tome" + }, + "Waffle Corporation": { + "allies": "Members of Donk Co. are to be killed on sight; they are not allowed to be on the station while we're around. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives.", + "goal": "You are not here for a station-wide demonstration. Again, other Waffle Corp. Traitors may be, so watch out. Your job is to only accomplish your objectives.", + "introduction": "You are the Waffle Corp. Traitor.", + "roundend_report": "was an employee from Waffle Corporation.", + "ui_theme": "syndicate", + "uplink": "You have been provided with a standard uplink to accomplish your task." + }, + "Waffle Corporation Terrorist": { + "allies": "Most other syndicate operatives are not to be trusted, except for members of the Gorlex Marauders. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives.", + "goal": "Our investors need a demonstration of our pledge to destroying Nanotrasen. Let's give them a loud one!", + "introduction": "You are the Waffle Corporation Terrorist.", + "roundend_report": "was a terrorist from Waffle Corporation.", + "ui_theme": "syndicate", + "uplink": "You have been provided with a standard uplink to accomplish your task." + }, "Contractor Support Unit": { - "allies": "You are being sent to help your designated agent. Their allegiences are above all others.", - "goal": "Help your designated agent to the furtest extent you can, their life is above your own.", - "introduction": "You are the Contractor Support Agent.", - "roundend_report": "was a contractor support agent.", - "ui_theme": "syndicate", - "uplink": "You do not come with your own uplink, defer to your agent." - } + "allies": "You are being sent to help your designated agent. Their allegiences are above all others.", + "goal": "Help your designated agent to the furtest extent you can, their life is above your own.", + "introduction": "You are the Contractor Support Agent.", + "roundend_report": "was a contractor support agent.", + "ui_theme": "syndicate", + "uplink": "You do not come with your own uplink, defer to your agent." + } } diff --git a/strings/boomer.json b/strings/boomer.json index 0afcb448fa9df..3fa9da0f6e87d 100644 --- a/strings/boomer.json +++ b/strings/boomer.json @@ -1,53 +1,53 @@ { - "boomer": [ - "@pick(expense) isn't really that expensive.", - "@pick(kids) these days have it too easy!", - "Back in my day...", - "Do I look like I know what a @pick(file) is!?", - "How do I open a @pick(file) again?", - "It's simply a matter of showing up, looking the manager in the eye, giving him a firm handshake and telling him you want the job.", - "Listen here Jack, how do I open @pick(file)?", - "These damn @pick(kids) need to get a @pick(impossible) for once!", - "This generation can't take a joke.", - "Unlike you snowflakes, I'm not offended so easily.", - "When I was a kid I had to walk to school uphill both ways!", - "When I was your age...", - "Why are @pick(kids) these days so @pick(sad) all the time?", - "You'll never get anywhere in life without a degree." - ], + "boomer": [ + "@pick(expense) isn't really that expensive.", + "@pick(kids) these days have it too easy!", + "Back in my day...", + "Do I look like I know what a @pick(file) is!?", + "How do I open a @pick(file) again?", + "It's simply a matter of showing up, looking the manager in the eye, giving him a firm handshake and telling him you want the job.", + "Listen here Jack, how do I open @pick(file)?", + "These damn @pick(kids) need to get a @pick(impossible) for once!", + "This generation can't take a joke.", + "Unlike you snowflakes, I'm not offended so easily.", + "When I was a kid I had to walk to school uphill both ways!", + "When I was your age...", + "Why are @pick(kids) these days so @pick(sad) all the time?", + "You'll never get anywhere in life without a degree." + ], "expense": [ - "A car", - "A house", - "College", - "Food", - "Healthcare" + "A car", + "A house", + "College", + "Food", + "Healthcare" ], - "kids": [ - "kids", - "millennials", - "snowflakes" - ], + "kids": [ + "kids", + "millennials", + "snowflakes" + ], - "file": [ - "DMI", - "JPEG", - "JSON", - "PDF" - ], + "file": [ + "DMI", + "JPEG", + "JSON", + "PDF" + ], - "sad": [ - "depressed", - "sad and depressed", - "sad" - ], + "sad": [ + "depressed", + "sad and depressed", + "sad" + ], - "impossible": [ - "house", - "job and a house", - "job", - "life" - ] + "impossible": [ + "house", + "job and a house", + "job", + "life" + ] } diff --git a/strings/clown_nonsense.json b/strings/clown_nonsense.json index 1f6b41ede473d..143e796e7f4e9 100644 --- a/strings/clown_nonsense.json +++ b/strings/clown_nonsense.json @@ -1,38 +1,38 @@ { "honk": [ - "HENK", - "HONK!!!", - "HONK!", - "honk", - "HONK", - "HOOOOOOONK" - ], + "HENK", + "HONK!!!", + "HONK!", + "honk", + "HONK", + "HOOOOOOONK" + ], - "rare": [ - " :) ", - " Laugh sound. ", - ":))))))))))))))))))))))))", - "damn", - "Extreme Ruckus at the Party", - "HAHAHAA HEEHEEHEE", - "Hink", - "HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - ], + "rare": [ + " :) ", + " Laugh sound. ", + ":))))))))))))))))))))))))", + "damn", + "Extreme Ruckus at the Party", + "HAHAHAA HEEHEEHEE", + "Hink", + "HOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + ], - "non-honk-clown-words": [ - "... ", - "balagan", - "banana peel", - "bananas", - "cat", - "chapiteau", - "entrée", - "juggling", - "party", - "peel", - "pie", - "pranking", - "slip" - ] + "non-honk-clown-words": [ + "... ", + "balagan", + "banana peel", + "bananas", + "cat", + "chapiteau", + "entrée", + "juggling", + "party", + "peel", + "pie", + "pranking", + "slip" + ] } diff --git a/strings/crustacean_replacement.json b/strings/crustacean_replacement.json new file mode 100644 index 0000000000000..9c1ebabcbc074 --- /dev/null +++ b/strings/crustacean_replacement.json @@ -0,0 +1,160 @@ +{ + + "crustacean": { + "simp": "shrimp", + "problem": "prawnblem", + "proba": "prawnba", + "prob": "prawn", + "pawn": "prawn", + "cool": "tenta-cool", + "bat": "bait", + "fuck": "shuck", + "brilliant": "gilliant", + "totally": "turtally", + "confu" : "conchfu", + "kungfu": "conchfu", + "kung fu": "conch fu", + " mull": " mullet", + "believe": "bereef", + "believ": "bereef", + "rage": "rayge", + "kid": "squid", + "mark": "shark", + "tray": "cray", + "cry": "cray", + "pray": "cray", + "comp": "clam", + "calm": "clam", + "calam": "clam", + "ambulance": "clambulance", + "bike": "pike", + "suspicious": "fishy", + " sus ": " fishy ", + "sussy": "sushi", + "tune": "tuna", + "opportunity": "opportunaty", + "got ": "cod ", + "god": "cod", + "caught": "cod", + "grapple": "crapple", + "grabb": "crappl", + " rue": " roe", + "grab": "crapple", + "self": "shellf", + "cell": "shell", + "come": "chum", + "plank ": "plankton ", + "meant": "manta", + "skill": "krill", + "chill": "krill", + "core": "coral", + "hell of it": "halibut", + "hell": "eel", + "whole": "whale", + "muscle": "mussel", + "cracking" : "kraken", + "crackin": "kraken", + "opinion": "octopinion", + "utter": "otter", + "neme": "nemo", + "real": "reel", + "orc ": "orca ", + "ork ": "orca ", + "macaroni": "mackarel", + "usurer": "loan shark", + "chewy": "spongey", + "hamburger": "crabby patty", + "burger": "patty", + "crust": "krust", + "offic": "ofish", + "outer space": "trouter space", + "deepspace": "trouter space", + "deep space": "trouter space", + "surgeon": "sturgeon", + "purpose": "porpoise", + "bastard": "basstard", + "ballock": "pollock", + "fist": "fish", + "place": "plaice", + "definitively" : "dolphinitely", + "enemy": "anemony", + "enemies": "anemones", + " mob": " lob", + "bitch": "beach", + " min ": "minnow", + "lemme know": "lemminnow", + "let me know": "let minnow", + "admin": "adminnow", + "better": "betta", + " ass ": " wrasse ", + "asshole" : "wrassehole", + "bond" : "pond", + "inc": "ink", + "anything": "anyfin", + "something": "somefin", + "anythin": "anyfin", + "somethin": "somefin", + "someone": "salmon", + "coy": "koi", + "earring": "herring", + "hearin": "herrin", + "celebrat": "shellebrat", + "santa": "sandy", + "claus": "claws", + "boss": "bass", + "doofus": "doofish", + "could": "cod", + "what are": "water", + "what're": "water", + "whatre": "wa'er", + "other": "otter", + "lots": "lobst", + "fumble": "flounder", + "serious": "searious", + "show": "shoal", + "miracle": "mackerel", + "trait": "trout", + "syndicate": "sea world", + "syndies": "fishermen", + "syndie": "fisherman", + "syndi": "fisherman", + "spy": "marine biologist", + "above": "upstream", + "below": "downstream", + "heretic": "herringtic", + "cult": "shoalt", + "nar'si": "carp'si", + "narsi": "carpsi", + "blob": "blobfish", + "dumbass": "dum bass", + "outdone": "troutdone", + "quintessen": "squiddessen", + "clos": "claws", + "absol": "crabsol", + "crap": [ + "carp", + "crab" + ], + "kill": [ + "krill", + "gill" + ], + "fanta": [ + "manta", + "finta" + ], + "billion": [ + "bill-ion", + "krillion" + ], + "click": [ + "click", + "clack" + ], + "snap": [ + "snip", + "snap" + ] + } + +} diff --git a/strings/exoadventures/britain_replica.json b/strings/exoadventures/britain_replica.json index 0bfaa67e990cb..4199e00ce19a7 100644 --- a/strings/exoadventures/britain_replica.json +++ b/strings/exoadventures/britain_replica.json @@ -1,570 +1,570 @@ { - "adventure_name": "A Model Earth", - "version": 1, - "author": "Armhulen", - "starting_node": "Planet Start", - "starting_qualities": { - "Long Range Scan Report": 0, - "UFOs Shot Down": 0 - }, - "required_site_traits": [ - "in space" - ], - "loot_categories": [ - "research" - ], - "scan_band_mods": {}, - "deep_scan_description": "", - "triggers": [], - "nodes": [ - { - "name": "Planet Start", - "description": "You come across a grey planet. It looks familiar, though you swore you've never come across this sector of space before.", - "choices": [ - { - "key": "choice 0", - "name": "Ignore the planet.", - "exit_node": "FAIL", - "delay": 0, - "delay_message": "Whatever, there's a lot of planets in space. Must be a hunch!" - }, - { - "key": "choice 1", - "name": "Begin Orbital Scan", - "exit_node": "Scanning from Orbit", - "requirements": [ - { - "quality": "Long Range Scan Report", - "operator": "==", - "value": 0 - } - ], - "delay": 30, - "delay_message": "Scanning planet..." - }, - { - "key": "choice 8", - "name": "Descend Into Orbit", - "exit_node": "Orbital Descent", - "delay": 30, - "delay_message": "Descending into Orbit..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALlUExURQAAAAEBAQICAgMDAwQEBA8PDwUFBQcHBwkJCQwMDAoKCkRERNXV1cDAwNDQ0LGxsaioqJaWloyMjLOzs6WlpcLCwqSkpDc3Nw0NDeXl5b+/v5mZmZycnLKyssXFxXd3d6CgoODg4JeXl9PT08bGxsTExJiYmIqKiqGhoZqamoeHh5KSkvb29pOTk4ODg3FxcaOjo62trZ6enqKioqqqqq+vr4WFhcvLy729vb6+vqysrJGRkeTk5Jubm7q6uru7u6urq6amppWVlbe3t6enp9zc3GFhYYuLi93d3by8vH19fdHR0fn5+c/Pz8nJydnZ2XZ2dn9/f4mJibCwsNvb22pqauvr63x8fHV1dRUVFcPDw/Hx8c7Ozra2tp+fn1BQUFFRUYGBgV9fX4iIiHl5eQYGBqmpqbi4uLS0tMfHx83Nzbm5ubW1tV5eXmJiYpCQkHt7e+rq6kxMTFNTU2lpaXBwcG1tbXNzc4+Pj09PT52dnUhISEFBQUNDQ1JSUltbW1paWmVlZW9vb2traw4ODnR0dG5ubnh4eGxsbElJST8/P1ZWVnJycmdnZ2RkZHp6eoaGhmBgYEBAQEpKSlRUVGZmZmhoaMHBwdLS0oCAgDk5OWNjY11dXUZGRkJCQkdHR9jY2O/v75SUlDo6OlxcXFVVVVhYWD09PU5OTk1NTVlZWd7e3sjIyDMzMygoKH5+foKCgoSEhC4uLjs7OzU1NUVFRenp6TExMf7+/o6Ojtra2q6urt/f3/Dw8PLy8uPj4/z8/Pv7+/39/TIyMufn5+Li4srKyszMzFdXV+7u7tTU1Pr6+jAwMD4+Pu3t7SsrKyoqKuzs7NfX1zQ0NC0tLSwsLC8vLxAQEPPz89bW1ujo6Dw8PEtLS42NjfT09DY2NhwcHPX19RMTE/j4+Dg4OCkpKSEhIQgICCQkJCIiIiYmJhoaGiUlJRQUFOHh4ScnJ////xcXF+bm5vf39xkZGRERERgYGJOWJYYAAAAJcEhZcwAADsIAAA7CARUoSoAAABOjSURBVHhe7Vv3W5PZnidlog41VOlNuvQOUgJIVaqURTpITygJTQgEuJQQQu8JRSAQFEaqBFBBulyxULwjgWFnr3N37uyMc9e7uz/vOS/Zv+Gd51k+mrzJm/ec5/PtpyF2iUtc4hKXuMQlLnGJPygwAFgMFgsuONEX8MKDGzgAPAYHvuPBc1gc+AU8jsXixHDgDYMRQ36DP2PFsPA2ugD8AWVAEQ944jFYeAtcwBcsHogjBhjjIW0EOOw38AkgBLiPyIpoAIhxIS2KuCAI6UJ2YkC34AseUAa8gGiAHtA1oAuogrvwcSzyhoPyAPvAT0Bm8MhFf6gBEoNMAOULz4LsIGsCdCs8gXDlKuHqtavfXoGehsVCEZGHoCmghwFbwg/IPVQBnAeJCkAGIYf8RzhicVe+EZeQlJKWIcrKySvIK8opfXsFMIeGAKRhzCANkabwcVGPaAGhBdgAVhe+cyEPAXddWUVVTV1DRVNeS0tNVVtH94aevoHhNTwIKZHVQGNwgT1AZaAsCFAw9HKR5wM/AS8M7up1BSNjk5umhmbmFpZW1jaKtnb2ig6OThqKhs5GMBVAN0NcDeYy8A/GvqhHlADVCWRB3hHFAk8Ru3rL1sXM1c3G3l2S5K7o4Um00PFSv+1N9PF1tPXzM/WHaQy0QPIXBOJjBFGPaAGJ3gt7AFPAyL0SQDT1vXM3UMHJMchTXSY4xCBUi6QoE+YUei/c2SJC2iXSOQoGBrQE9EJgUtga5fQL1ArzDiIIoljsv8hFq9+PIfpJytx1dIy1CY2LT0hMVFQnOTl5eVjYmPgmkZJDU0JgIEEgfgmbgmBBFYiLIIygcbCYBxKpkmnpGZnpsVmOMtkkaxd3NS0yJSc3z8vWJi7OyzOfSisg5xYWmRddGAO2QSILdYtc+DliEyATPttT0UMtNs3EQ91DTi9W3Uu12MxYv4RKNJF+aGpTWlpGJ5dXUBmVVdVFlciIAJR9kUlQriOIGBDQNpg/yWTJu0p7uioouLnL2JCsZTxSamrD6wxy6osYdGY5ndngTWKR46nllEZ2kzlIW3Bsg1RILBblYEc4QGXC6L2mFRYrKRcdIxGtkOpl1FzcEtKY0tjqYWBHdCw1lMkpaGPQ2zsqNDuTqOS4dFpXOKiOF2kCifaLDtECLIAgbyF8rsloqad2G3W7yll7mBV1RTaHJ7GL6msNcnpcTEJ6Zaz6OFxZM1b/AGUwn1qrX+dB84YRDjMdHjYX9YgSoEPBFxhlEEhOWSoOXnoW+qFF1ZWcJnJnU9PQo85IUqPFcHpzpIm+Zl8yxXukfDSf3F7O0+nRL6SQRdEOQwxli4iGfLBA26rYuxqmKuoU1xR1UcZ4YxXkJEorkZNYL//QR95o2KQvqYQ3XsKfSHrMEK+n2eiF6XELWaAxDo7z8X+ArAXtAcI2NO2JtIVqS01jVxUnidHkWmU22VnRm+JGkoocDnVp0Wa0jeVPMdvyG8N59WQOtSNS0TIyt/M7JF8REO9EFYhPwAH8N26Szg+NzCPNnzZxyIHTmrJ1PqZ27GjH4ZleI7niAvrs3NR8WckEf4GRQB3VnBhgBbdakuvDE4AKwHwS/WAXQzKPGOZqaqrHcIpmldlDjy55Z78Z28LEEJrmM/en/MLYVtO7fFpCSe9i/chYTmU+ObJeINdJnWgiL3kXdvHhIB6oA0xnUAWMcnihWi/J1tQULdsM2UrJGzuvPH+hXl7OvfmSVRd7002H5zvIuK+T9dhsldi9dv9VBtV31Y/Nqu3oqK5tuobkXtTnI8g8SQxzxcmseSYuMaeI3VQV0+uto7Bqep/FpTqsSce1Dg05rZdQtdhUh0YX8sAac2OhRmNzK5itOsNht9K48chABQS9qEeUAHQJPBy/EhocrLkd6ZkznK27s+udm6dlm+5Gfb22tlfZe2MztzzhfsGfxUcqHHSzht+w+LXWrpKe0S+aqk2CW+srrwKjgiKPfh0BKRgYJLjIVI2t9sh/facwZ9g7oqh6uqPgqf7a2pDsE2NlO/OR/bVX7KG8t22euRvvlDqa3e3oxckZzUvlkR2loLDDgirqESXAfIPBvC+OWustZNcneXcK7D+8Iqkox5HvpL0Ij33KfnXgen+9p60oIbpgvazmsPZoYvY78f2KOX6ujL0nj8ny8WYRgAygkIh6RAmAAzCKtZlUc4hPa1drwbSzufqjHU9OXm3AaK9hzXpdqt/WQ82d3KUq1jK193DwePGN/LA+u9R6bmouOMfIoD2Y9fgjKIp/BNfCEP7i8X2Lnz6HMVpXQmlpb9dU//TUQ3bF0U/hdYidCXFdteVkKEZftjCDIWTOWbHexNfGx5/OhjQoOEsrhphVxu8jWQv9gigm1quQlVjF4SmeJtHOKP4luxkHtKHmHCM7NXl72810l1oj45pP/SnOngvife/GR+KPhOIVy8z9MemJSuuwQRYjXwxZEBL1iBZA7sR7ZUQvdblwGKWnFR5ljawmvpxGnR+xyy0odOWHMAm2Yt0jTXqtf6YdzS3gXHzxOGX/qO+wIUmmo6O/Pq0+l5zwr3B+hXZBBPH+7WqacdKB+Y+nEzPudJ0BpkmeAqVrKScgbP3Jq7fbkcVe3uNtTLlOmRd19HrGlHDqDb004bD95vfjTVE60vr17aw5WBLRXqDD4nH/phiVK93UWZI/sTBBPmHyK83WqJxgU//Ym8qCv+osVfFmyOOD3RRKaGFL4uTxsdLHzyzmwPh8/8Jc8GSWYjGfwYMrMWgvYoNaNq9mEFWxS/2z822ryW6/WjLfuLl62vmpx55GhP8LFwZb9nFl9T6XO3g43t45uEiVPWwbf1/200ZD/MfRRFq4eUq8EHSDdvqFC6SOduxQn44twXTXfcrp/j5zUPVpWp1qVl1i8QGls4Iyk6TVuCBMosTOMmbfr5fRS2TH//Z+nLW/MOcfH9/CKuHWx/87UAfK6RcvRhBLU60wz/b/8UyuulFIbxsUiiv4mzWemTxVtywI906K3R0da+kfSeKe/fz3Kepx2+nnhF82kuhtGxOc3dLBWiqVq2/+H7C0i3pEC6CYGdU2sogBMiW79NNBlnAmOtKycKkxMS7Z+GE1hUyrZXNoCe1KCa37v/76/tf5o3nSeVFfw/ynQaGQMlEvHt+cz6H8huySoAs8BpfTKKd/y/LLWM3uqyc5mRarasrsLP+Qs2KfmfqoyqZITc7uxOBC2/mRdXOb1uPZjxsOybUNIy4VG4f7pQ1lgxMJ5o+n4HK2qEO0AMqIUe9MJaOfUjAd1NM0QTZSeC2zpd01k+Mm+3DVgrXL6WK3ttPL+kJ/Lj/66fiX44HRqcq++e9mp5vaGgbmba3oCfHxU8jkClWAmR1uUs1qTKde2Hraf9o6zqT3L/Dzi16l2BFvVN1uTuAyCtScd8vzeRv7Skq/MxYX2tlzHpaLZwaU+aONNyOawtIx9ug+TH6iHtECmBOF1Yx6U3nJ3vw25sBgA71P3GefubK6qhP56UCu6vvRrl075tzhqNLI8bvjN+9/mp17MxAg0zgf7iycH8jnDjDKTxlvcGjv8wCPwIqptYyyC6lWkyyuf//axPxI6VwXmRH4yTS72OsggJbNJVfEM/sP90cazgd9j7qP2j4ezp0PnYZPt/PL2g7HO5jU3WMwG0C5IMJ1QotcMo89xqk3cF8OpQnP81vPywZZ9PQvm1Ivt9id0dE8XmFZw8bUhnD+543O38c3ZoU/HZ7fPKYJuz4u0U9p4tUVfwPDX1GHaAGupVsaRybNcAwqTIhSghc/HGwX9Q7MuN18GhvzSpDVWNnlb8kNL9Ueyd+fOp6aDx4fOacuvlsIb4ig8xemyuhzzp0c1m+gHKEd7ACVpsO2vg8L9M3bJYfsBE4ZRnsTvDF+0s31OJt1gWCP9GrtB4kT2b2Ss8WgI1JwVFKC0nxZwxvHwo2C895zJfFKGhmP/rYCmG5j/2SZumeaYbQbOj6u5J0m9YGSEt9ZMdA/ypp+cUcARBEI1tdud9EY9KN31ZTde+eSa4cj5/PHQbP8+ZziBdau+fhFrKEKuD53LWPGT9lGr0b4OfTO5yS9cGNqH6czl8eqTKpMvvOPm4L1dcErga7AiLR4PkBZMmPx3aO5i7XzY6OG5xtl/JDgsRFkiijqESVgcATMg7CHdfoHlqzPPPnAiCRdTjmZ+5FeoFlEi+CXnt0TCJ5AowhuRvicPz5cdJdtonqb9fWZjIzotgoblOg0dv4R3KhGWxAMDouXkzR8MvSJF+XLTPLypGoPHC7+MuftsqKYYU02Zar2rAH3WhfcTbR7SpkN1ow2s6R0938mFhbqEvv7Gug8FvM/4TxT1CFaAFMiMcJfvkau3nYgdtHt26PoA7c1eD+dv1NVK3DsurO735edhwgSlDbsN87LfctNXG1WXRLGM6La7OsW1BvmeE1CkDCATUQ9ogS4bIDDTFY/e7FF45U+0lIDThROO/39ffpEaHqgYNjt8Toix1v3peCRd2VVxu0DvTLLfq9bJitb3G2SS5TqExgNcKsI7fkITFs4fKq/6j8j1AqoGvnxE5X/XKPkvZvqPGoa3Vz/BxIer/56MHjn5GtZ226A8fLE/egwn2lJk3DrtJUVmrh5vPhvIPeinrVgvgFR8pQm+fpuSEmwSik5yF1qvUBQclotqbyWCDLW+vc/Puecve1dVmiVTSvTIRm8/XDgq/s8RifRzTNnxrgtfx7Zo0bdteCREixOq9f59cvH0bbFsr4r5muZgq3egKbMZ8pnaxFbsZ53R0nj3fvnI7IjL2X6MuOz1YcMg4PTonVv2OoP1zEnFpFNSLQtIoYlwANCD/xVt54nOw7Hdc+Yq8hWCVLTc5ZvBL5c3Qxc+5KpbRgXM1M75tnP6pglVUaahsfQwolxgd1+VfVVdhNTYHIIgh0EG6oAyoTDLYzXzj2FHdnNEm3vqPLOptUtqcagGxoKt5e/fHqux22ONniZ7h3V9rCX+7mtTJ/PORTuV0tbyFeMMhsH32PAJBMeeRL1iBLgXBuQwF4xkpoM285jfA2KumsUuva9sor2CnGjJ6On21KPk7m3dOaue7Yx+njVlK30hj1eOzJY3mw22p/AbxTikeSL+moQUCQ8t4AV44e6xgYElZq9dYsrTNl8oq2hntlTdK6ncPv1I6tdTnfc28jS/sdhFk3qvLa+8c+HNCtyF7+/g0L9L7g/DUY6qI+1EMciAKUq6ixFSewNW259eBQbm3fL0kzXZsDXMSjolqFRYoxCrOmms4rCgs5dGfOpo/d1BdTppSbxdg63DwgApv3oL6JAY8ARsBj2gXQoW3LS8yTww3JpbHfGfVt1Y6tgnR63WhvzG5LqPbm2mzqNz3eNUnILbbysLGQUNRb4EwVjcNMNSAHVIeoRJeDxkAUchj/4b6vCsbgKhc3RMxdvfyvHob2hneU8bbkbXtvLX3Xd8yRizkyydb18ZlSJ0k7u8h5LUR3c6v8BDZHTmqjXEcAD1hIgDBar5JfCLZFWubdiwcnu7CLdf7YV8fIL0Xx7Tzni7TOVbNtYLXbL3WxDV3XPuGk14llyZOUG0hD6FTzHjSrg8XFQSOBICYMrckrvdi3RuJduveN7K/3e5snbk4BntzbzTj6s6gZIbA75RQ9ZOctL54aRXIiyxilsIQFIAccGePSDBIggOgQHh0vNRu4rH7aDeuylvj6z/+qbemPoYGs1ImIzQOFr3qPV58/UJdKzYhzT5UgrsgbBnX1I4oaCwCvaGz2wmMEdfygLnnAeZ2qbHbB8sHrvIEb33pbyXs/ml1jlHyNOTk6+fvmi/akmzHFbJazl7GymqpUPhABJAjQE5iCgnX4BCeBZ0CZwcoTFXvdK17grEXRb+9PywXLy5smXtx8+RHw9UT450f6qPfRpp9vBU8M9n5scSRPCOQg8zAwkAS4mhrJFYF0G7gU3/KFSwbuPiruf/aT9ZOaTgJyI27fynj37+kz71vOh5b2dT9sK6bbp6bY6Z8HVf4cNAXuYu4EiUN96Q44owUIA+UB3x2B21c0MXR0CYwL2Apbvra6uPh8KWh7a0e3Zjgnc8bT0S1VsaakagyejLqwBvAtus6C99gtVikfMAidYwCSAEIGY2Oqqty2VGah7sHw7SEIiZifaflvjhkqsq4OXl0ViXesxeBz4JDwuCz7AtSBwFfWIEkD6BHzAoA8yQxhBxycY6Lj6ZU3qdTtmSu1k7NydlJTMckhLy071MvQwo8TDBlAEaI2L2IL5S9QjSgBk4J9bQDogRqCzYB9An3lAJGZl2TplOehFq0Rr+MllS2evyLsMy9qZ/wxMB10QqYXAqaB7wcSH+q4usACShC+SEHQSJB/jrlx/aEUikaRtw5ykV0hO1k4ePsmaVDjxgEkO+BOWAKshjC84QEF7XwH4E6CNA9aA3gIiBtY2KAvki7t6ne2ib+ShprMUatx7fIUA70I/hC4Im0EtwGHjhZuhCsgCVmbkAudY8Ab8gtAEqscTMAQCDAqodzASgaIgxGEb+Bn8iEgk6hAtAAaQGx64CxzFimatiBiAJGRIEBkA8T2kkP+fMUAzRBEYkO7ARdQjSgCcEPVDDwP0YHWAwY/IgvCHf5wI3QkwBz9B+kAYMBaAqQFKD4UAv18hoGwSRJWQPbgAftAMyPFZxMXgBSgaSAF8DD4FkxwQCNoBKSFAVKgJqA60Y+QSl7jEJS5xiUtc4hL/HyAm9r+XXnYR5dlv2QAAAABJRU5ErkJggg==" - }, - { - "name": "Scanning from Orbit", - "description": "You initiate a long range scan from orbit:\nThis planet has a smoggy cover that blocks any good look at the surface, yet it has a mostly survivable atmosphere.\nThis planet has zero life signs.\n", - "choices": [ - { - "key": "choice 9", - "name": "Stash that Report...", - "exit_node": "Planet Start", - "delay": 0 - } - ], - "image": null, - "on_enter_effects": [ - { - "effect_type": "Add", - "quality": "Long Range Scan Report", - "value": 1 - } - ], - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkBAMAAAAxqGI4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAASUExURQAAAP///1lWUqwyMmlqakZHRwPX/kkAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL5SURBVGje7ZldbqMwFIXtKnkvO4huyAYmG0CWea8i2P9Wxv/Y2MTYvjBVO4c8FET8+dxzDW5Ldqr73Hcf7fbemfwu+p1tkM+jILTbfeu2stNbDDSkklXnzNRbyUqUqbM/oVr5AFhOus5iUK3A/fmEW0BRHjCtwFPqj6NQS6GIVu5PTXEXnJUOjfLxXEOITYWitXECQk6BUOx6pSDkKAj4F6mrFxLEdNctAdl8gJVmBRBXy6tXcrScwwvXsufikXIP1qId5t2iz0D4osFClAga5MJDDbJaEUDJjF6eyZohxATjlhym9kkcMzhkIBQJ0g+pe2klJFWtG4DrgRSkeEUkjDDWA09TbPJdM6RXnySlDnLpYyO9/GhtQChthYhSMXeyup0aSFkoCYirVqJkdcnHEMaXakVeHIQUQYBPwSFdMB86IEBYolrAtyi1kF4asOIT40Ekq4JVQvS0R3UYI5G5GFLYwuKRO3l69dMEkxnc5MR8K6RCF9VL2sioe2tdLc6GRggROUDve5lcA9usXpw0So4Go5OwE0YySqutED33eZKH12TSyJJTK0RNFx6LFb4yMiI4uajJQmxlWT3tTsybEfxUnA0t9miGmNnCY54DMxNiJu7V6HLx89BO2iHLhIUXPxUleWVjf1SiZbvCHkEuLqX0brIM4hUfwkxERkKvdiPhxksGw3UuNpERmpuLeKGoBRM8k5WP/gsBsnrkAphUVGOJHeuIwPBDMcks6vmAUazkbtjXgAIhqVW+QHAYZHxnBIkRheKbGbAgJH6NIAcitWFlwmQQck28EzEDUdqwQnClrIxH+pA63od1EpgpHiP7i3ccSjEj/yd258SYqendLCR0UfcCyUK0B9KkbCYNBnZLRzIcC9HNdSzDODkYoraOB0eim+vgSIjcKM4HM06J5Hqak1Mi+d9ce3VGc5Ef01zXM5pLQN46oR0O5G0kKP+9nM+CfP1rSDqTwqTqmqvQX91SLINcvzGkLJPrCev9HMj8oyDk10MI+Qt3vM7Ve2h01AAAAABJRU5ErkJggg==" - }, - { - "name": "Orbital Descent", - "description": "As you descend into orbit, you see a flying object headed straight for you!\nA garbled voice begins to call out to your drone, but there's no time to decipher it!", - "choices": [ - { - "key": "choice 2", - "name": "Blast the damn UFO!", - "exit_node": "Tractor Beam", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Tractor Beam Turns", - "value": 2 - }, - { - "effect_type": "Add", - "quality": "UFOs Shot Down", - "value": 1 - } - ], - "delay": 30, - "delay_message": "Blasting UFO!" - }, - { - "key": "choice 3", - "name": "Attempt Evasive Maneuvers!", - "exit_node": "UFO Evasion!", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "UFOs Violently Crashed Into", - "value": { - "value_type": "random", - "low": 0, - "high": 1 - } - } - ], - "delay": 30, - "delay_message": "You attempt to dodge the UFO..." - }, - { - "key": "choice 7", - "name": "Do NOTHING. Jesus take the wheel!", - "exit_node": "FAIL_DEATH", - "delay": 30, - "delay_message": "What? Why?!" - } - ], - "image": null, - "on_enter_effects": [ - { - "effect_type": "Add", - "quality": "Garbled Transmissions", - "value": 1 - } - ], - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAKgklEQVR4Ae2dW5IbNwxFtZFswouI//ORqmwgNbHH9sayoyxGKcz4jiGIJAA+ukk2VKUCHwAJkveILXvGvv393/0e73324PfPn++ld5y176xvsWG+DZt9v0pwUN/s+c+WXwCy2Q0agPT9wAtANgJEgyNuED88AUgAEo9dBQ0EIIXNme15WMtHu0G0+Oh/vmECkAAkbpCCBgKQwuas9Imq3R7x/eP5drCcbwASgMQNUtBAAFLYHMsnzCw+2g0yS56r5RGAbACIBkc8XtU9XhHMAUgAEo9YBQ0kAblXvla7PnfJN26Q+htC08ADIJVcPIVpk0Z/vwO1wBGPWPX7/QbIk8IbGwKA+gPx7p0FEO+Y4f/r/G6NLCTDazc4ORhrrB1317h/vnx5+9F2aSU0u67/iHVNAQhjQC0esSmrzCFByNVXWc+MeZ4GiEpCwWHGjTwjJ3lz5Opn5LbLnIcDUtC9q2uXA6hdR+62kO2140fc+/eQQwBxKd/hfOVDJBByNwZvv/Ie9Vj7UEAcWq927bEJK44hb4pcfcW1zZTzEECq1V4ZONOGHpELvyG0m+SIfHaeYwtAiKudD0muLXdbpNpl7E712+12t75r170NIFeCxHqD1Ipiljir+D1+3rVtBcgVIEndErk2rxhm8U8J/v7b7W59p+J5m2ed2wGyOyQEw843CBcyL1vhkH58DF62QrIlIDtDkrstZLtVADP5cQHLshS+tS7H4XXL2rcFZEdIrDcH+VkOfyYfLtzacgoabSxtDwKQwi/LaJt3dH/p8Wr1G0QTsqefg6LFaWcYgCwCSAkOebNohz5bvyZiTz+Hg8parLYXAcgigEgISnXt0Gfr10Ts6Q9A6MuF4TWbCFryKcGQulla5jo61iN+zdcLB42nrXeqG4Qna2Ag68LH2aGcgiAHzWrr1URv6ZdgoG6J1fZrCkC0JKnf+rKMtZKPBw6CZqW1Ua4WEed8AELK5mJku7ZfpwKiJSf7U5BIn5nqXnH38J9p/ZZcpGC1egoG2aaNwfu1HE8DREtsxX76BNfePSDY5fGKzpiLVStLEGRdi0/1azo7BRAtqZX6c2I9o32lfUOuKdHm2iQQqOf8tXbkULIBSOUf82o3hbe/x81SOuhZ+zQR834AAcv7vGXrfhwOiDWxWf3OuBks8My6X1peXmH38s/lxccnnyH/cFzqyzTaconN3u69EXr5W+AAtLPvYSo/Lsijyqk80PaUAzog4NEW861iIb6V7Cp7S3k+CdLxW4I1sdrePI3JA0bDQePz+WYu97oBeo9juVFm3leZ25MgC4DguwesJ5Z85dy5+sO4KaeRoKTmm61NitoiyhlvmNn2NZXPgxgLcJAfwID1xKbmLrV9jF1yulqfBGOleg7iFc7wQ4yDAKndg7e8aoN3ivOCkBPjrO0rnJUFEtwcZC3+Pdb98P+D9BhwtTG8cKzmD2hXOBeL6C0+Pdd6WUBGCB1inNH2FM3osSwQ5Hx653ZJQEbAscKYvcUzerwcBKn2UblcDhD6dP/rzz/enmGlqKl95Pvsm2WUiFYcl0NWyv8ygECcJQAIGPjlLKBCv6yjXdrUvIg90pbEcKU+DgiVc2u/BCAQqxQptefeJFrEjbAyl9HzYfycEK7WLgFBXe7D9oCQuLkYa8WOT3nEoy4t+qWFn2ynOs8PfiOtFMFV64BCWr4fWwPChUdlEqP2JmFyH9RHW8zJc6a2EfNyAexU5kK3rovHyDKNsS0gXGiAo4fYaIzUG2JGH+otFmvAmL2sVTyr+aUEbl2DjP2oWwdYyQ/C4pbElRIrtaXac/68HYKtjU/FIR9usY6UP8/H07/SeVpz/RA1+5EVayz5peK3vUFIOBBWjYik+FFvtR4Ry7yxHrKteXiEs5JvSuTe/B/G8Aav4k8CgqBaRClFOqpOOfI8UU9ZrAuWx3nyW+UsvXk+CPznbeIdg/zfxqkJXCGGRAMBeUQjxUaxPd4YF2Oh3mr5GjG21a5wjrU5doOkNoHZ40gkEE+rCBEP4Vnr8GuxFMvjc3WslXLk/qX67GfYml8KEmrzjHuZ7yBWccPvKGsVs8UPkJC15u8Ry4q+rZBcAhCLuEhQVr+c+BCPftR7WBqDj1OqAxRLHiuK3ptzCySXAARC4RZi420jy/JTXc6Pei8rIcmtzSu2lf1ToGjr2RoQEgUJpVZ0EBXiUfdaKVaMN9piXrI8Zz6vJpDd+r2QbAsIHSyJQoqDC+WocimHUh/lBzEjV2+d4miO0jy7QaCtxwPJ1oDQRnFheMUl/SFSq6V4Lk6MB4s+1EdazMX3A+vQBLVjvxWS7QGBCM6yKUEil1IffGABj7UOP2kBCm/fEQDLmiyQbA8INooL4qhyCQDelxM/2mst1ol41CUk2KMrWg2SywBChw+BHGGlCPmcHA7efmSZ53BFMPiaS5BcChBsyhFC5AKU8+X65Cf9yDrlgDywL1e2OUguCQgJQYq2Z52LT44LUcr2M+qUy0vF/2to+adpV4QtBclpgPB/Je+szRwlyhwEufZReWjj1gBigYP7eM+Wx3rK3nly/k+Q5BxHtnM4UB45n2VsTUzW/hwE1J7rs47dy49uDXp7AfEIVvpqZyD9a+vaPJb+B0gsAb19AAW3veeoHa9FhDkIcu0tc9XGAo5fgHw1/XRrrWB5XOpMeH/vcmo+T9sbKJ6AXr4cDJR7jd1zHK8IczdErt07fqs/h+Ply9f7y1cbHLSnvV78fHqNWRqHz1dTPuU7CKDgtib5o2IswuS3hCxb4kf6PIJBj1cEx+v95fXVdHvQPvd89R5Py61FJwGI43+5LYkYUMDS9YxyKW5032xwaGIe0R+AOETeslkyFuIGCCkLnzPsIxzvj1TvN8c3881Ba97hJc/OWo8bpAGuFBCy7QwwaM4kHK+v95dv3+8v339cDhCC3AoF9wtABgIyDxzv3zdq4CCx7PLiwreWpwGEvrBbk57BT94Usp7K8Qhgnm+OX3CkcrK07QIIrcOyXu4TgGRuECl4T51vsKXcC5wUHJb5Sz47wbEMIHQg/I94ebl0WEf1AYZ/P326l97wk7ZHnl5oOByt8+8GhVyPZ39OuUEoQQ4FL3uSH+FLYi9BIftGwDFiXdqYUkQ717W94P2nAUJJcDB4mSd4ZNkLB2ABJEfm2jLXzuK3rM2zdwHIz+8gEDlE77UU79n4I3wtYrmij2fvTwWEEuU3B8qeBfTyrb09ANIMgFxR7N41e/VyOiASEu8CevmvDohXKFf19+plCkC8SY/wD0CugYxXOwEI+w6Cx6Uae/Yj1jXkXbdKLxTcPwDpAMjZcNCBxiu/A1zw3vI0gOALOlnvInr5k9C9j1qI6ZVD7Th5eURP7Z5S3BSAcDhQbllUayxEn4OF97fO1Ss+MEjvQOv+BiCZn8XCxnIYUEbfTDYtj2htPaMARAGkdYOPjN8VB+yhd32Ia7FTAEILwKPVmd9BWjZyhlivgFbwl/tqzVnG1danAaR2ARFX/h0Hq6Bm9JvhbAOQjR6xrILqBQPm6zWeHAfjn2kDkAsCMkJwUtwt9RH51Y4ZgAQgp/29U61oj4wLQAKQAKSggf8BsnyFPjzLbzcAAAAASUVORK5CYII=" - }, - { - "name": "UFO Evasion!", - "description": "Were you good enough at flying to avoid the UFO?", - "choices": [ - { - "key": "choice 4", - "name": "No, Back to flight school with you!", - "exit_node": "FAIL_DEATH", - "requirements": [ - { - "quality": "UFOs Violently Crashed Into", - "operator": "==", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 5", - "name": "You barely avoided them! Nice!", - "exit_node": "Tractor Beam", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Tractor Beam Turns", - "value": 2 - } - ], - "requirements": [ - { - "quality": "UFOs Violently Crashed Into", - "operator": "==", - "value": 0 - } - ], - "delay": 0 - } - ], - "image": "default" - }, - { - "name": "Tractor Beam", - "description": "Before you have time to think, your drone is captured by a Tractor beam! Now you've gone and done it.\n\nYou should have some time before you are pulled in.", - "choices": [ - { - "key": "choice 6", - "name": "Decipher Garbled Transmission", - "exit_node": "Deciphering Transmission", - "requirements": [ - { - "quality": "Garbled Transmissions", - "operator": "==", - "value": 1 - }, - { - "quality": "Tractor Beam Turns", - "operator": ">", - "value": 1 - } - ], - "delay": 30, - "delay_message": "Decipering..." - }, - { - "key": "choice 10", - "name": "Look at the surface of the planet", - "exit_node": "Looking at the Surface", - "requirements": [ - { - "quality": "Tractor Beam Turns", - "operator": ">", - "value": 1 - } - ], - "delay": 10, - "delay_message": "Looking out window..." - }, - { - "key": "choice 13", - "name": "Let the beam pull you in and dock you", - "exit_node": "Landed, Kinda", - "on_selection_effects": [ - { - "effect_type": "Set", - "quality": "Tractor Beam Turns", - "value": 0 - } - ], - "delay": 50, - "delay_message": "Getting captured..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAIOUlEQVR4Ae2dW5JcNwiGewdZQNbgbcTbyFM27ZXk6aTkmDJDIXSDIySYqi5dQQL+r0/PeGx//vnxPPnKHKQGeA18SmJqX5k0PmmZlzh5+dTgoPMpijiiyFr/rnU3IBSYMs5EZg5u18ASIAlNApKAcBRMzN2eyIzvzjcL9SfICDspqjtFdVNdtwKCYbopqRnLb/BxjXH/lBy5AQQnr/RPSWD0e9K69Y5PyZtbQHCie5KJ95d+j03uGc8TzfPs+JTcHwEILgJNLF5r9altjvsBaeV2dP2U3B8HyGgh6P5TCuPpnjSHGmNP8Ul3SUDyd9HEj6MaMHA+JFF6WktAEhAWEE7UmnOeIJDukoAkIF8A0YRA8iWJ0tNaOEBK0TwVwNNdJEFrr3mKW7pLApJPkJ9vGNoAtPxJovS0loAkIAmIoIEEREiOp3cy67u03vG9rFvngfoPBwhNQI7//57MCwAr97CoZQKST5AtH7FWQBixXYUmFCCrybrZfkR0J+8dreH1gIwmJOr+k0W/cvdWva8EpBV0rvN/FrQitNtsQSPXAAIBZcuLvycvt4lcIx7x38XSOMDKR0/Bc88YLFa1OtnvT0BASN4CgXtlOyb0lXx508Du+3wBBBL7xqXgrFPbv75/fyxfu/LyRu1POoMFBIpjGQiccVJrCUTL95t5sqz7ab5FQKAo2kGB31PalnjfXn8jb9o1P9VfFyC0ILPBUj/ex28Lf/Q86/zN1vkmuylArAuz2/+oUL3t18yfpdjLPb1/JSDod7G8CX31PhqgaAuY3knbv7a/BOQXIKti9GpPBTkzXhFdz3kr/q1tE5Afj/jj2m/fvj1Wr7eg6hFpa09LiC17ab3le+d6aEA4gVrB0OuXu5PGnCTQ3Ws7AWidHRYQKrpeAe/YR+86O94NgnR+S6i71sMBUhPXDuFrnlmLC89LAvWwtgsC6dxQgGCx4L6mUHf7wnFxfQ8g1O4gCXXXWhhAOLHsFrPl+Vy8Za4mTk/zu2Dgzr0eEE4olsL04puLG+Y8wdBzF064b81dDQgIgrZeRGx9Dxo3jHtE6XXPG2Dg2K8FBMRAW2tRevJPY8djLIIT+1qgtGK/EhAsBNr3JGDru9DY8bgljFPWR0CZiek6QLAIuL61KD355+KHuRmxRLS5ChAovtR6ErD1XaQ8RBT7TMzXACKJga5ZC9OLfxo3Hs+IJaLNFYDgwvf0vQjY8h6tPEQU+0zMIQEB8VgKdLdviLHWzoglos3xgNQE0Jp//vzjgZemmD+fz4Nfmr57fbViL+sRxT4Tc0hAAAzNFkPB9XvFvbKvBwzYMyOWiDZHAwLFHmk1ocC+OCjwHN5r1R/JQ0Sxz8QcChArYWIQpL7V+eA3AdH/FyjDAAIismglKPCaxdngM+HQh6M8cY4FZEQQICKrFkMg9a3OL35H8jHzUSOqTQKCfpo1K2AJCrw267/HLgHJJ8iXH02OCKJHYKt7MAhcf9W/ZD+Si6hPgtm48wmi8AQp4uWgwHOSwFfXEhCbp0eBKgQgRUCrIuy1x1CUfq/dyr4EJAH58vGqkD0iCrp3RYwebWl8tfHsx4zIdmGeIDXReBT86J1qsXHzkcU+E/uxgJRgOQFozI0KdOf+mXhnhBLVJgHp+K/UdgLQOnsGkGITVfCjcR8NSAl2ViBadi0BW66vxjAqloj7jwfEAyScUD2Dge8bUfQjMV8BiFdIsBChvwoO+NFsRwQTbe/RgPz79/Pgl6ZoovmKJvzeeI8EBEPB9aOJWzPeXuFE2XccIBwQdA6KpymcSL4gf9ke9qsmFARpTIsbSeCrsdLcRR4f8wSRYODWpKKuCiiCvZS/SGtHAMIB0JqDItJ9ME/bCKIfjZHmKOLYPSBU4FrjVrFHxXTr/laebl93DYgWDJyflcJ6gIHGZHmnlVydbusWECoAi7F28SxFCr5beYB92q12rk7x5xKQlgi01nuKRM/qsaF7tMRK78KNtc6ifmhMUcahASkCqxWaEx+eq9nReWwjnUft6Jj6kcZU3FpjeqcIY3eASIW3WKsVuXVWzQ7mV+3BT2lbvui6FhCcH3yvCH1XgNBCvzXGhR45E9vRfssP3c+NWz5q65ywNee4u946l4Cgj1k1wdXma6Ko7afzq/bUH4w1YeB8wf8LWLv/TfNuAIHi7mhLQWfO5YQw4ofaj9jW9nKCtpgDSHBL47lh7AKQWrG9z1MBjN4X24/a1vaDTwsosE8MRq0Pdzm53Q5IrdAnzEPhZ+9a7GdtOTu4D7RY0Bb9Ghi1ebjXSe1WQLginzRXCu3lvpzoilAtwACfNRB657k7e5tLQMjfSuwV/AlwgFBB0Not+NdqvcFR7rMNkF4h5j75KcWJihOsNhzgjztLY46La8fcFkBS9LLoe/LDiaUlTBC1Zts6U2udi/eNuQRk8iNWj4gt9tRE0SNETTDAV8+5WntqsVvOvw6IhWgi+JRE0CtAELVm23u2xj4pB1ZrrwISQcgWMUrFrwmP3gP2acJRfL35JeXBai0BcfwRSyp6TZgUDDo+DRApB2+svQYILVSO5W/Ua8WvgVHme3LqHZBa3LvmExCHTxAJgtpaDxywxyskuyCQzn0FEChMtvK7fE38rfnRvCYg9b8oR2ExB2S0eFH3tyCorc/kyyMgVJhexgnI5o9YNeH3zM/AUWy8AeIFBu4epoDMFvBtu5KYt88s5618zd63nKkNSPG38sUJ08tcaECgCLNiW7FbEdTquZ4AgRp4bcMCgguyIrhR2xUwiu3oeXg/nJ2AOPkmHRfHU/9EOFbzB3BA6wUSXAuP/f8AHPtbaN2iPfwAAAAASUVORK5CYII=" - }, - { - "name": "Deciphering Transmission", - "description": "You review the incoming transmissions your drone has gotten. These aren't in need of deciphering, just un-garbling it from the bad connection...\n\n\"You are in Space British Air Space! Identify yourself, Tally ho!\"\nWhat the fuck?", - "choices": [ - { - "key": "choice 11", - "name": "Whoops!", - "exit_node": "Tractor Beam", - "delay": 0, - "requirements": [ - { - "quality": "UFOs Shot Down", - "operator": "==", - "value": 1 - } - ] - }, - { - "key": "choice 12", - "name": "Good thing I didn't blast them, then.", - "exit_node": "Tractor Beam", - "delay": 0, - "requirements": [ - { - "quality": "UFOs Shot Down", - "operator": "==", - "value": 0 - } - ] - } - ], - "image": null, - "on_enter_effects": [ - { - "effect_type": "Add", - "quality": "Commercial Airliner Transmissions", - "value": 1 - } - ], - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAALM0lEQVR4Ae1ddegGSxU9WBio2AjPFluxAwvEThDFVp74nt1iYHd3FyZ2Yj1FfehTEQPrmYiFYmF3Xjmw+1jnN3NndnZnv+/bPX987Lc7s3fuPffcuzGxAGD6CQNxIMmBZIECR8lDHFDmUIIQB1wOuIXKILqKbJ0DChBlUHHA4YDAccDZevaU/SKHEoQ44HLALVQG0TPI1jmgAFEGFQccDggcB5ytZ0/ZL3IoQYgDLgfcQmUQPYNsnQMKEGVQccDhgMBxwNl69pT9IocShDjgcsAtVAbRM8jWOaAAUQYVBxwOCBwHnK1nT9kvcihBiAMuB9xCZRA9g2ydAwoQZVBxwOGAwHHA2Xr2lP0ihxKEOOBywC1UBtEzyNY5oABRBhUHHA4IHAecrWdP2S9yKEGIAy4H3EJlED2DbJ0DChBlUHHA4cDhgnM6wI4B7MKAneUAMv0ZALtA9zvTAehL0pwdsEsBdj3AbnAgOjtkr7kaHkaAXAWwxwB2EmDfBex3gFnw+ztgPwXsU4A9BbAbAXbGHTn1OoA9FbDPAfZ9wP4Y6Erd/wLYTwD7aGfbdQE7dUN9T9MllCsDdnPA7gHYYwF7KWDvBuwzna5/juhKfT/YULeZSV0TCKlz9jdALgPYazvSh8EwZv91gF11AedeC7C3APabBMFKdP4XYC8E7JIV+l6sC0pi9iHAvgzYzwD7zwR9hjp/vkKnPSZ+KiDC4/sXIOcF7MUzOXXo4I8Axuw5t9MuAdgbG+j7dsAuOELfGzfQYYgfr4RzY3cA8vbL6EcC9o/Gjr73jI5+bmNdfwvYbQv15VVySOi5//++UI8DIP2YQN+fAHlBYwcPCcPbkKmO5O3UUGbL/88q0PeiC+gzFbMDPH86UeYw+m0LODck8PMLSBez7VyAfXIH+j48o+/ZFtAphsfKj+0+QD62gGPD4Oj3H5ohXej8MwN28g71vUNG396uVttTZdoP8VrB/m4D5GU7JFtPIr5eLXXke/dAX/b7pPTtbWq1PbfTdkqnAz+eBru1YQ/ZA7KRSB8udPqz90TfVzr61gQG+46eDtgjALsnYLfr+pCuBtjFAWNQsFO2NR/2VP5uDL/6npCtJ9RNMwS4zZ7pe9mEvn+o0PPbCVl7StilA3U3AfKeCkf2ZG6xZe+7R4gv7pm+b07o+4MKPRlUnu0bL1seHI7rmYvkqWERNfLPmiDK3WbUl/0aNbqF5/w8oeuXKuWfpxvTdjnArgkYbX4iYByF8LhEWxsJnOUD5IRKJ/Yk+R5gdwGMQyvoJA5U5P0ye577OjXbWyWI8M2Jcr/QjQ3re8XPAdh9AZuKw+Uj+nJcV43t3jlviLSzkeAgv5YNEGYqzxm5Mg5Y9HQmyf9d2UasX2Rq7/SbMvoeV6krcXpQRPZbJ8hLYf+BSDueD1ZW5hNubmPvOsGBHy901O0r2/h0RD5Hu6aIkztO8pfgx76YnKxYOcd/hfI5MjdWd8qxz0baCdtd8f5RkFsay4fLGmfx4XOMXiT72Ha+FWmDQ8DHymH93EN/aMuPK9qJvZ5+UoWcnH3fieAS6r/i/XHEmwoE5z/kHBIrf/JIJ3G4d0yOd+xXQRucP+HV98pKrx49ni+vaIvPNv35/Za3XZ5eNWUhLn1bG9keBbml4X+tdCDffI3R644V7fw3aIPD7msIxXMuFMjK6f7oirZiV9Upt7ApWzmfJKf/isuXM57jmFJOyB1nj+4YJ9y5sq3hDER2xuX0SpWP7Xmuedb5RQSTm03QOWULj4/BfmV1lzOeY4g8J3hl1x7ppIdVtPW3oI0p/TXnC2TlSFPzcB3rAb9Ghd0e7n1ZTv8Vly8XIJx51wM+dpt7vRs6iG+8xrbB6alDOVNm6LGfZigr95+z9cbqG3u7xCvtWDkl9cdeEXP2HlD5OEdOMYwrZJQ4I1aHnYOnLyQdR+fGZOSOcRj70L4rVsphOycGsoZyw/93qmwn1j9xzkpZOWz4PBbqvZH9ZQ3/5wQHvr7ASefvFivIOTxW/opAPpcUitUrPfbMQF6MUJwj/8vKdjg9OZTJ+Rql+o2pd+lIW2HbK90/CnJLQzm0eoxjwrpcnoaZPaYje9F5pQnPKd0P537ztqL03FQ9Tu29SEJfjnfiPO/UubnjqZVacufVlI99Boz550CPxcnWyph3TiDE0LGcD853/hyGzlek759BLsdIhXazr2HYbu1/Xv3uAxhnBD6h60islcXzvL6JKXJ5Lm3mMxyT0au7cWRXimATYrXS/aOkaGkoFyub6sAW5zPgYnZzAboW7U2V+YyEvrSBC9LVyI/Zr2MO0C3A4TNCjfNan5PKkFwhsXXbY+VzcTlv6mvtaIUW/l6BzHjmbGnY1GHeYwmVq5+6evQYcIxWTsaS5d7Vgzp/tVJfrorS26ztKVic8mcxcK5f6cAWJPyT8xDdk+TYPdKXAwe5CHavW2z7iUp9Uy8TYm1s6JgPdisg+A6/BeHHyizt0KvNymP1ydUvGZNW+yKEC4S38vcBy90NKFcAbM7psjlixco5grbUcVzUISZjyWOlownYn1OjF1fDL8VjWO/+gL0KMK628oACGeztfxpg7+oW2+aKkEN5sf8PBuw1gNE2vg2M1Wl0bNHG/s8w9lvUOHKOc0o6HUPA77VDfUuWHu31JflqMMotStfLH25jK2K+wyEwg5Bj3ob68TbXuzLydfOwPv+nFq0Y6jbT/90FCA24X8T4EIy598dcOUKQ+c2PufXJyePiCaEe3n7NQE3qwHnyntyw7HgHi1SWT73w+Fqi7Qc6bfDZMNSpwf4ijbiGzLlqSI5sz5sB1FoC5nSLlceGk+RIUPtSgUPuc7KH5bxSxHTmMS7rNKzL/7ytTtXn8dhwFn60J3XOQleRo4aEhi2xz6EMP3LASIFUepxDUGpuIVK233pCh1yJzuzNvkmEZCl9hsdrb11ji1YM5Yb/PfLyVX5Yn8sJebbHXhJ4i4THgjBsc4b9o4bMIPQIOCUyueIJB/ixI8wDcmxZq3WduOxQ7QNxygZ+Wq7kQdfDk1+6Ssn3jo9d3ufxTjuxKdIc28bP5MV04HNIzCbyIVafxx6VOCcmZ8KxuGITBEYNHSOvD5QfOuCkQOuPc30orhbiLfQ8Rievbh8onOHXtz9my2nI7+vezszRWcePbo5pv68bGz7v2c0yPjv05/fbcNrAUAafTfp6wy2HIA3r9f/5zUZ+k3JYl/+50mVfp/F2sYaqDOK3+vhFKN7vcqUQLuLG4eGcJ80Be18HjJ9P4BI4XFyatxe5jrSWgPI+m4tyk/BcEYWz/n7dOZirIX4FMH4KjisWcsHoGzZwNBMMX6EzwfBWjauf8OrwnG6B6rsDdgvAuD4yOwenfCGYBH5R13tP214C2GkzNt2y+4Yi/cigzK2LTH/yxco3uqkMY28FJ/p7vwNkonFVQak2xYkBBwTGAAwFVCb7bxArBcgGna5EUJ4IFCAKEHHA4YDAccBRpi3PtGvFSgGiABEHHA4IHAectWZF2VV+ZVSAKEDEAYcDAscBR5m2PNOuFSsFiAJEHHA4IHAccNaaFWVX+ZVRAaIAEQccDggcBxxl2vJMu1asFCAKEHHA4YDAccBZa1aUXeVXRgWIAkQccDggcBxwlGnLM+1asVKAKEDEAYcDAscBZ61ZUXaVXxkVIAoQccDhgMBxwFGmLc+0a8VKAaIAEQccDggcB5y1ZkXZVX5lVIAoQMQBhwMCxwFHmbY8064VKwWIAkQccDggcBxw1poVZVf5lVEBogARBxwOCBwHHGXa8ky7VqwUIAoQccDhgMBxwFlrVpRd5VdGBYgCRBxIceB/bK6VghmpUw0AAAAASUVORK5CYII=" - }, - { - "name": "Landed, Kinda", - "description": "You have been locked to the surface the beam. Robots are all around you, pointing at your drone with all sorts of old age weapons.\n\nOne of them angrily shouts at you, \"By God, Queen and Country, we've got you now!\"", - "choices": [ - { - "key": "choice 14", - "name": "Go out with a bang. Initiate self destruct!", - "exit_node": "FAIL", - "delay": 0 - }, - { - "key": "choice 15", - "name": "Surrender to the funny looking robot brits...", - "exit_node": "British Courtroom Start", - "delay": 50, - "delay_message": "You are being transported somewhere..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAIT0lEQVR4Ae2dvY5dNRSFzxsg0dKNBBLFKAiJApSKglREoqSDhqFAQihNChoKAiONlCISBUqRnlfhDXgRRGNkyI7W9dg+23/Hx/YqLO9jb/9tr+/Yc+9kst0+uzVMjAE14NfAxsD4A8O4MC5WAwSEJyhvEBENEJBIcHiK8BQhIASEJ0hEAwQkEhyeIDxBCAgB4QkS0cBygHzzlzHaxBOEJ8hSgGjBQD9CsjYkSwKiET0hWRsM0cgygOQIPqeNBPboHOfq2kfPZabxlgMkdfNQbKltW/vj3DR26/nM2D8BiXyCIRuO4pOy3jnOSWzfnKTO5r56lsWvkssBkisUEdoZBCVz0a5F/M8w99HmsAwgdmNEKFph4WaWtMV+Su3UeaT6l85vtvZLAWI3DwVj7ZQNlbYpbWr6yvjaeaf615zrLH0tB4jdOBSOVmxuux4CkHlrxhbflPVp+l3NZ0lAZJNRRGJLXSgXv6OFpx0X/Y6eYyhmI5cvDYjdOFdQ8hzbVI1PrH1O3d6YUo95zjhsc/mp1vKAoCBQXGijj7Wlzi1v9Szj2dwdA+vEdn34fCn6lHgQEM/3ICI0X26DK+UpgS7x9Y0nZZiXjMG2fogIiAcQFAsK0LXRr5WNY9ox8FnsVmOzX/6b9HtXlpgoRJCSx3xr1clYvrzWGOzHf3rYuHQ5QbjZ4Q1xxcpY6WPlxq7G8+GA+DbcLauxsFn6wNjMsqaR1tENEAwSigBt9KHd9026avxPAQgGHwGxNtbRJiRHa6AbIHviR1CODopmvM8ePTItk2YOLX0w/jG75RzO0PfhgNhFS8D3AiB+Nt/zPaK+JRB7fR+xPhkD4661pe1s+akBscHGDeoV/D3xHl3fKg4Ya2vvjYP+e76j1ncFRLMJNrC9NuJo4aeOV0t0GF+xtX2Lv821bUby6wKIDZAEdi9Y4of5XpvS+lShns0/df2lsZX2qeOO4N8dEBtcDJQEO5ajf037bEIvnY8mNhhnjb/rU9re7e9sz6cABIPss48IWqkYz9o+FjuMdczPV4dtre3zmaGsGyASPDfQPYJ9VnHXmpfEGnOMO5aLjfV7trSZMe8OSI+g1hLeSP1gnPcEr63HPme1lwJkJEG3mKuImADofyNhe/DhR2YvSWBHzVuIbcQ+Zf8EEHlmHgZmekBGFHLLOROGMAy+2BCQhN+pur6+NpJExPIcysXvLLlPBCwLQ7P9/uqV8aW9a1fN+lYbVFuUIQhKymvPUdNfq3jP2C8BSThBzDtvGZtKgNC21Qg912dGIbda07SA5IrH107AwFwr9Bp+vjmVlrUS1Gz9XgCC16bHj380kn55/tz40t2LF0aSr96W/fby5Zvku8rZMhw3ZKcEvlQ80h6B8Nk1xJ/ah8ytNE+J58q+0wFSKhwfCHtlqSKv4V+6zpVFn7L2qQDJFc0eACn1NcSv7SN3vbZdikhW9r34mFeuVDb//sl3b9JPn3xh9tLNzY3ZS9gnXr3QxisWjonlvg3LEUuK8HN9tWLP9ctZNwEJf6zramsKQFJFkiv2Fu1ywXDbpcbAFQKf/dAsB4hG5Nu2GUyaNkf5uGDIMwHxC7wU/AtA8BrT2r66es9ICo3157YZSeiDi9YKQyNghMJna/ro5aONg/hhDGmH4SIgr7/8s8L2QYFlvcSvGVeEr80JRRgKjM3QgGjFoBEYghCzNX318tHGw/qhCGiHYdmePv3DSJIrz3/525u5kgTXoTdltq6kHNr+endnJOFV6p+f3zWS/v74fSNJNlQrCI1gY1BgnaavXj7aeBCQMBCiLckJyOsrFkIQs3uJf29cwqEXvYhfkw8LSIog9sRl62NQYJ2mrx4+KfHQCIM+/wO3PXz4lZGEV6ZvH3xqJLUoxz7xWoW2fIJlcyy3m5ciCK1gEQSfre2nh19KPCh+/WlDQCb4FItw6AWf+nIgIACIvPnd00PKz5oTkIaA4FXnSPvLr38wknJ+FytFFNb3rOKuMa+UWKS+QVf3346EAscSOGx+BCAoohqiPFMfuLaYvbrYc9a/JCAoojMJPXcuuJ49O0ckK7fZLr74ky8G3S8B4Us9fPOX2PipFNo4Hyz3bdKeGHLrc4Xao13OGn2xZJn/5xgCovijDT2Erx0zBxDbhkD4gXDjMjQgdjG5AqnVTivkFn6la3DFwOf70AT/Nm/oqlOrHK9P2GfOJpUKpUX7FkBInzXnmxPvldpMAYjdsJqiadmXiDw3bzG3lQSfutZpABkJkhYiL+0zVTir+G+fX31gJIUWjVeg0NVIUx7yCY2bW14qlpXb58Z81nZTAiKbtbLQS9Yu8WN+a6YGBDe4RDCrtcW4rW4HfwaZOTCrCT5nvTPvf8ralgTEF6AcEc3exhen1coIyLP7Xw5ZEcwufu36VgPCXS8BCQDiBgqfteKaxQ/XvppNQDIACYlkFiB86witefZyAlIRkJBYfIIbrSy0ttnLCcgBgNQQ0RmAqrGO0fogIIMAIsLqDYrMY5WcgAwGCAqzFyw4h9ltAjIwICjOI2HBcWe3CcgkgIhQjwJFxps9JyCTAWIFewQks4Mh6yMgEwIim9saFBln5pyATAyIFW5LSGYGQ9ZGQCYHpCUkIqKZcwKyACCExP8LqRqwCcgigLSCRCOykX0ICAEp+jllZPFr5k5ACAgBiWiAgESCo3nDjOZT+1Ot0dafOl8CQkB4gkQ0QEAiwUl924zgzxMk7RMtArIYIBZiQqKHhIAQkGJgRjg5c+dIQAgIAYlogIBEgpP71jl7O16xeMXi/6AUAb82ILa/s78UcufHEyQipNygnr0dAeEJMu0brQZ8BISAEJCdk5GQ6CD5F0cJWniQ8Kf0AAAAAElFTkSuQmCC" - }, - { - "name": "British Courtroom Start", - "description": "Wow, that took forever. A one eye judge robot smacks their gavel, and points their hammer at you.\n\"I will now read out the crimes you are accused of!\"\nIs that how the judicial process works? You dunno.\n\"ONE ACCOUNT OF PLANETARY TRESSPASS!\"\nThis blows.", - "choices": [ - { - "key": "choice 16", - "name": "That's not that bad.", - "exit_node": "British Courtroom, Continued...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Crimes Committed", - "value": 1 - } - ], - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAJiElEQVR4Ae1cQbLduA18N8gBsppVVj6B9+MLzA1yn1z5pVBJu7owlAhQoARSUNUvkGADBJvop/dtz3z+8/PzrZ/ioHqg3QOfIqZNTPFSvEgPlEDqDVrfIE56oARyQk69ReotUgIpgdQb5KQHSiAn5NQbpN4gJRCHQL7Jn8/n85WfHZ+nPqy2EciOTeE9084C6XExS0DLCaRH1JvX3ywQ3Hu0UNILBAcv22cAAtn1a1afgW/4Hzg8IhDLQe/EoLF4z5aP1zOOUfMqAkG90VxGvkVuFUg0EVH5WhfV8kXtNyMP6oUd3QPxbM9yWXGcg2Mw5vWr4yUF4jk0SIP1xI5gsY9YefR8JOddMVwrjy37A89Y+NjyOo8ZgzGvt8bAadvCjvq2FYgmDfNRojxxvBePz3JYcbNyYP+Wbe0JnKxhLJYf+M8wwLewWGtZ4HlP+Fr4Ud9yArEeFGQxgdbYqzjeG+Nezhau5ZM88IvlB3749Bx+bYHjfOxjP2KxLnMeY73l7+GwD3CYc06MgcG8tR+vjY63F8goMVfjcIGwvXwtHPswblnkxpqei//s0XGChQ9Wx7Ofx4zTfszF8tPyw8c4HmO9ZRl3dVwCOWEQ5DMEPlhe4zHW2fK6HgMHP+Zi5eG59lligGlZzo119mE/rInV62eYVlzLxzmQn3E8xrq2jIkYLyUQz4FBXC8GOLH8WPw6huNlzDm8WI7VubCPxjCOx8AhrmWBObMcp3G8hjFjtA9zsVZcL4bXo8bbC4TJx5jJg08sHvaxX9Z5DfgjC+zROvuBbVngeE379JyxPAauZRmHseB4jDj4YOHXFuvaMo7X4G/5sCa2t87Y0XGkOCTX9L8H8RyUCdRjnYfXZY3nGCMGc7HRD3Ijr56LHz5tdQzWtR/zqxb5xfYexmLMMfDpXPAzlsdY13GMuTLeWiBCDAi0kAQsW87Bl8AYHlv28WCQW8fAD6vXs81Rp9jW01tvxcDHsTo/1oD12GhxTH+DeA4HrIcgYGF1jp5f1iMf7BedN7LGqFxXzsqxR2NvnTPEkVogEU0G8q1kj5KMfWBH84zGWc8XicNZr+ZEHraenKOcWeOm/Q7iOaTGgiztj55bSerhUK/YHvau9WiuMuW7i0PZZ4pA3krmnRc3ulemu7HWMnrWiLitBBJByFtzWJv1TlyGuwgXyEwCMxD2phpm3mUrd0ZuQwXSOrTVl5Gcs5r+/PXrO/PnbO9au+93vRQCWeXCZwqil3sVjnarM0wg1jcF41Yhs9e8d6+vwtsOdT4ikFWIu7vxvfutwuPKdYYIhN8KvfEKZHkbNRt+BY5XqfGyQHqC4PXspGRr9Kv1ZOd7hfpuEcgKRFxtxqzxK3CfucZLAuG3w9k4MwFSW9bmjqorO/+Z65sukIyHj2q8lfJkvIcVahoWyNkbQ9YyHn6lhp5Ra8Y7yV7TFIFkO/SMZlsxZ7Z7WaGeIYEcvT0yHnjFRp5Zc8Y7ylxTmECyHjKy2X78+PHFD/JifmSBy2Kz3lPWutwCab09sh4uuimPRHDFH12jJV/W+8pYl0sgK4lDyLY0iwdzRQjeWE9dXmzGRsxak1kgbxSHt6ln4b0CsOCzNmS2ukwC0eLIdghdj6VBLJhZDX8lr6VuC0ZzVvP2f2PiFkh2Ii3NcYb5/vMfX8vPlSaPiD07g2Ut+z1mqc8kkCzF9uqwNEYLYxFEDxPR9N4crbNYfT0ua/1/b5RtBGJtDMb1mj5i3dv0XjyfxzMuAbS/UmlethCIpzEEG9H4UTm8gjjCeznQjVDztmBeJxBLY/P/CE7Glpi7MCWQdiPPEvjyArF+cloaWAtDzy05nsJYeQBuVkPtlrcEQn9qpQWh5081v2VfNL7V7tbIs86ztECszWBpMC2Go7kl11MYKx+Cm9VQu+Utgfz/DXIkCO1/qvkt+5ZA4n8/KYFsIpASR7w45G24rEA8DWH59NVviqO5JdcTGA8fu30NmnmeEsgLf0mf2VC75S6BbCCQenvM+XolYi+BkEDw1Uh/vYI/qy2BbCSQf//r88XPldexpykEm7W5I+rycHGF8zfG3vIGgSC0/euPz1d+Roj3NIXGRjRlphz6fEfzEZ7fHjNdIFoUMocwYEcu4agJvP5MjT5ai+fMI1y/OWaqQFgcEMOZ9V6EpzE82NFGfSLOcy5gvTy/GT9NIF5xiHC8F4ELn22faHzrnqNn93L9Vny4QKTRR8TBbxbPZYw2SFSctZFn4K6ewcPzW7EhAmFB6DE3vnXsvYyrjTIjfoYgkDOyXi/Xb8NPE4hVDEc470VENs3MXGjyUTujNi/Xb8JfFshRg1/1j1zCjOZ5S84Rvt8Qk1YgIrDRC3hLU8845yjnu8ZtKRBc1owGekNO8Fc24N9iXf0qdRYfeUFvaOyoM0byvnquy28QIeCsya+szSI3qpF2zjOL+9XyhghkRZHoi9q52UfPpjl64zxMILNE8tSljDbVbnFP8Z9l3xLIT/+flu0mgt55sjTrE3WECgR/i37l945W7BPEjOzZa7SV10f42CFmikBEKK1GH/WtTvTKwkDtq9/BaP1hAkHzv/0tMnoRvTg06pO2V+OO6yECgTjEQiDRbxHJveMFeM/0pEBkb2+9q+MvCYSFwWOIhH1R49UJj6z/KbFEniF7LrdALM1vwYwKJjuhT9V3p1ieOuMT+04VyIyvWSKsJ4haZc+7hLIKH1frNAsEn/h4O/SaHzjERdurB985/g6R7Mwfn60rkFZjW5rfgmnl7vmQlw9R4/ZbdbZQ3sD7oUDOGhVNKvYIB8zRusePXGzfcDkRZ5wpkoj6suf4LRBuWDQi+/S4h8G6EKBjrXPk0FbisxObqb5ZIsl0xlm1fFrNioZsrcEHjFj42HLB7LeMOTfGHMe5a2z7sCiR2HjS/TQsEGnYVvOKX28ic27wszFywjK2lbd8bb5bvMwQSWufnXyhAukRw83eGkMUYmW9l6/WfRyVQHx8SX+dCgSN2mpm7bM0q47BnIUhY0uuwvh5KoH4OWsKRBoXTYsmPrPeZkUu7MHWm6vwvkuPFsnu/F8SyFVyShi+5r7Kt8SXQHycuwUScUmVw3dJkXyVQHzcHwoEX4PERl5Q5XqezxKJ/Q4OBVKNbCdxNa5KIPa7/ZtAVrvsqtd+2eCqBGLn7LdAQF5ZO3mrclUCsd/x73+LteplV932ywZX0QKRfMi9my2BDPx/sVZvghKI/UOlBFICCfm7kdU/NI7qL4G8UCDSDPUWsb1F/gs9r28akoDJcAAAAABJRU5ErkJggg==" - }, - { - "name": "British Courtroom, Continued...", - "description": "This big idiot they call a judge just keeps piling on crimes. With each one, some robot you'd like to drone-punch gasps in the back.", - "choices": [ - { - "key": "choice 17", - "name": "\"INTRUSIVE SCANNING ON OUR CITIZENS\"", - "exit_node": "British Courtroom, Continued...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Long Range Scan Report", - "value": -1 - }, - { - "effect_type": "Add", - "quality": "Crimes Committed", - "value": 1 - } - ], - "requirements": [ - { - "quality": "Long Range Scan Report", - "operator": ">", - "value": 0 - } - ], - "delay": 0 - }, - { - "key": "choice 18", - "name": "\"SHOOTING DOWN A COMMERCIAL AIRLINER\"", - "exit_node": "British Courtroom, Continued...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "UFOs Shot Down", - "value": -1 - }, - { - "effect_type": "Add", - "quality": "Crimes Committed", - "value": 1 - } - ], - "requirements": [ - { - "quality": "UFOs Shot Down", - "operator": "==", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 19", - "name": "\"AND WE HAVE PROOF YOU KNEW IT WAS JUST AN AIRLINER!\"", - "exit_node": "British Courtroom, Continued...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Commercial Airliner Transmissions", - "value": -1 - }, - { - "effect_type": "Add", - "quality": "Crimes Committed", - "value": 1 - } - ], - "requirements": [ - { - "quality": "Commercial Airliner Transmissions", - "operator": "==", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 20", - "name": "\"THE TRANSMISSIONS WERE NOT LEGIBLE AND UNTRANSLATED. WE CANNOT PROVE MALICE!\"", - "exit_node": "British Courtroom, Continued...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Garbled Transmissions", - "value": -1 - } - ], - "requirements": [ - { - "quality": "Garbled Transmissions", - "operator": "==", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 24", - "name": "I think it's done listing crimes, thank god. Time to argue my case.", - "exit_node": "Verdict", - "requirements": [ - { - "quality": "Long Range Scan Report", - "operator": "==", - "value": 0 - }, - { - "group_type": "AND", - "requirements": [ - { - "quality": "Garbled Transmissions", - "operator": "==", - "value": 0 - }, - { - "quality": "Commercial Airliner Transmissions", - "operator": "!=", - "value": 1 - } - ] - }, - { - "quality": "UFOs Shot Down", - "operator": "!=", - "value": 1 - } - ], - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAJiElEQVR4Ae1cQbLduA18N8gBsppVVj6B9+MLzA1yn1z5pVBJu7owlAhQoARSUNUvkGADBJvop/dtz3z+8/PzrZ/ioHqg3QOfIqZNTPFSvEgPlEDqDVrfIE56oARyQk69ReotUgIpgdQb5KQHSiAn5NQbpN4gJRCHQL7Jn8/n85WfHZ+nPqy2EciOTeE9084C6XExS0DLCaRH1JvX3ywQ3Hu0UNILBAcv22cAAtn1a1afgW/4Hzg8IhDLQe/EoLF4z5aP1zOOUfMqAkG90VxGvkVuFUg0EVH5WhfV8kXtNyMP6oUd3QPxbM9yWXGcg2Mw5vWr4yUF4jk0SIP1xI5gsY9YefR8JOddMVwrjy37A89Y+NjyOo8ZgzGvt8bAadvCjvq2FYgmDfNRojxxvBePz3JYcbNyYP+Wbe0JnKxhLJYf+M8wwLewWGtZ4HlP+Fr4Ud9yArEeFGQxgdbYqzjeG+Nezhau5ZM88IvlB3749Bx+bYHjfOxjP2KxLnMeY73l7+GwD3CYc06MgcG8tR+vjY63F8goMVfjcIGwvXwtHPswblnkxpqei//s0XGChQ9Wx7Ofx4zTfszF8tPyw8c4HmO9ZRl3dVwCOWEQ5DMEPlhe4zHW2fK6HgMHP+Zi5eG59lligGlZzo119mE/rInV62eYVlzLxzmQn3E8xrq2jIkYLyUQz4FBXC8GOLH8WPw6huNlzDm8WI7VubCPxjCOx8AhrmWBObMcp3G8hjFjtA9zsVZcL4bXo8bbC4TJx5jJg08sHvaxX9Z5DfgjC+zROvuBbVngeE379JyxPAauZRmHseB4jDj4YOHXFuvaMo7X4G/5sCa2t87Y0XGkOCTX9L8H8RyUCdRjnYfXZY3nGCMGc7HRD3Ijr56LHz5tdQzWtR/zqxb5xfYexmLMMfDpXPAzlsdY13GMuTLeWiBCDAi0kAQsW87Bl8AYHlv28WCQW8fAD6vXs81Rp9jW01tvxcDHsTo/1oD12GhxTH+DeA4HrIcgYGF1jp5f1iMf7BedN7LGqFxXzsqxR2NvnTPEkVogEU0G8q1kj5KMfWBH84zGWc8XicNZr+ZEHraenKOcWeOm/Q7iOaTGgiztj55bSerhUK/YHvau9WiuMuW7i0PZZ4pA3krmnRc3ulemu7HWMnrWiLitBBJByFtzWJv1TlyGuwgXyEwCMxD2phpm3mUrd0ZuQwXSOrTVl5Gcs5r+/PXrO/PnbO9au+93vRQCWeXCZwqil3sVjnarM0wg1jcF41Yhs9e8d6+vwtsOdT4ikFWIu7vxvfutwuPKdYYIhN8KvfEKZHkbNRt+BY5XqfGyQHqC4PXspGRr9Kv1ZOd7hfpuEcgKRFxtxqzxK3CfucZLAuG3w9k4MwFSW9bmjqorO/+Z65sukIyHj2q8lfJkvIcVahoWyNkbQ9YyHn6lhp5Ra8Y7yV7TFIFkO/SMZlsxZ7Z7WaGeIYEcvT0yHnjFRp5Zc8Y7ylxTmECyHjKy2X78+PHFD/JifmSBy2Kz3lPWutwCab09sh4uuimPRHDFH12jJV/W+8pYl0sgK4lDyLY0iwdzRQjeWE9dXmzGRsxak1kgbxSHt6ln4b0CsOCzNmS2ukwC0eLIdghdj6VBLJhZDX8lr6VuC0ZzVvP2f2PiFkh2Ii3NcYb5/vMfX8vPlSaPiD07g2Ut+z1mqc8kkCzF9uqwNEYLYxFEDxPR9N4crbNYfT0ua/1/b5RtBGJtDMb1mj5i3dv0XjyfxzMuAbS/UmlethCIpzEEG9H4UTm8gjjCeznQjVDztmBeJxBLY/P/CE7Glpi7MCWQdiPPEvjyArF+cloaWAtDzy05nsJYeQBuVkPtlrcEQn9qpQWh5081v2VfNL7V7tbIs86ztECszWBpMC2Go7kl11MYKx+Cm9VQu+Utgfz/DXIkCO1/qvkt+5ZA4n8/KYFsIpASR7w45G24rEA8DWH59NVviqO5JdcTGA8fu30NmnmeEsgLf0mf2VC75S6BbCCQenvM+XolYi+BkEDw1Uh/vYI/qy2BbCSQf//r88XPldexpykEm7W5I+rycHGF8zfG3vIGgSC0/euPz1d+Roj3NIXGRjRlphz6fEfzEZ7fHjNdIFoUMocwYEcu4agJvP5MjT5ai+fMI1y/OWaqQFgcEMOZ9V6EpzE82NFGfSLOcy5gvTy/GT9NIF5xiHC8F4ELn22faHzrnqNn93L9Vny4QKTRR8TBbxbPZYw2SFSctZFn4K6ewcPzW7EhAmFB6DE3vnXsvYyrjTIjfoYgkDOyXi/Xb8NPE4hVDEc470VENs3MXGjyUTujNi/Xb8JfFshRg1/1j1zCjOZ5S84Rvt8Qk1YgIrDRC3hLU8845yjnu8ZtKRBc1owGekNO8Fc24N9iXf0qdRYfeUFvaOyoM0byvnquy28QIeCsya+szSI3qpF2zjOL+9XyhghkRZHoi9q52UfPpjl64zxMILNE8tSljDbVbnFP8Z9l3xLIT/+flu0mgt55sjTrE3WECgR/i37l945W7BPEjOzZa7SV10f42CFmikBEKK1GH/WtTvTKwkDtq9/BaP1hAkHzv/0tMnoRvTg06pO2V+OO6yECgTjEQiDRbxHJveMFeM/0pEBkb2+9q+MvCYSFwWOIhH1R49UJj6z/KbFEniF7LrdALM1vwYwKJjuhT9V3p1ieOuMT+04VyIyvWSKsJ4haZc+7hLIKH1frNAsEn/h4O/SaHzjERdurB985/g6R7Mwfn60rkFZjW5rfgmnl7vmQlw9R4/ZbdbZQ3sD7oUDOGhVNKvYIB8zRusePXGzfcDkRZ5wpkoj6suf4LRBuWDQi+/S4h8G6EKBjrXPk0FbisxObqb5ZIsl0xlm1fFrNioZsrcEHjFj42HLB7LeMOTfGHMe5a2z7sCiR2HjS/TQsEGnYVvOKX28ic27wszFywjK2lbd8bb5bvMwQSWufnXyhAukRw83eGkMUYmW9l6/WfRyVQHx8SX+dCgSN2mpm7bM0q47BnIUhY0uuwvh5KoH4OWsKRBoXTYsmPrPeZkUu7MHWm6vwvkuPFsnu/F8SyFVyShi+5r7Kt8SXQHycuwUScUmVw3dJkXyVQHzcHwoEX4PERl5Q5XqezxKJ/Q4OBVKNbCdxNa5KIPa7/ZtAVrvsqtd+2eCqBGLn7LdAQF5ZO3mrclUCsd/x73+LteplV932ywZX0QKRfMi9my2BDPx/sVZvghKI/UOlBFICCfm7kdU/NI7qL4G8UCDSDPUWsb1F/gs9r28akoDJcAAAAABJRU5ErkJggg==" - }, - { - "name": "Looking at the Surface", - "description": "The surface of this world looks exactly like a grey version of Earth! It seems to be an exact replica of some kind.\n\nYou see creatures moving around on the streets", - "choices": [ - { - "key": "choice 21", - "name": "Cool!", - "exit_node": "Tractor Beam", - "delay": 0 - }, - { - "key": "choice 22", - "name": "Scan the creatures.", - "exit_node": "Robo Brits!", - "delay": 30, - "delay_message": "Scanning..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAKCklEQVR4Ae2dW3IcNwxFtSYvIv7PR6qygZRiy8nGsiMvZlKQciMI4gMkAT660VVjNNkECIL3DGcSWX764+fjEa/r1OCXr18fpVfsddteP1HBclcUs62YO9SrBAc92yHHk3J4ysEh+09a1J1zDUBs39TUgEhgqH1nIe649hoccYK0a3YIkICmveCeYAUg9vthDkgKmjht7DcuBVoNkJRP9JX3ZhogKXBic8qb01qfAMS2nlT/pYBwaFrFEOM/iqEGBz1fUTO+x/x+RS49c24DCC8e3fcs5s4+qwCR+6Ztn7JX2wLCC60pJh9P9xqfK42pAWK1Vlnn3rZVPt5xjgCEb4IsCH9Wu5e+V2nX4LD4eFWrbevzU2p/HCCtGyHHn7IxLXl6AyJraNFuWd/KsQHIBX4WzRMQCxhSMVaKvmXuAORwQDRw9HzESonasq9FpCvHBiA3AKRFYJYQlGK15LRy7O0AoU1bWXDLuf/89u31R9ullaeKds6SoK2faXNaPS4AOfgEkSDk2hqRWQNQi6fJaYcxAcjBgMiTI9fWCK0maOvnmpx2GBOAHApI7rSQ/VqRWQPgFU+7HqtxtwPEqnCr4xAIuROD92vz9BL0zLjatbaMC0DiBHn9jxYzhTxzrhYYUmNvBUiqACf28ROidpJo1zdTtCvn0tYD4y4PCBZ6JSu/Z5Ta2nWvFO3KuWv1uSQgtUWf/lx7grSuc6VQd5sbtbsMIFjQ1W3ptJDPWmuxm0h3yKf4e7F2SDCXQ+vmX2U8QRAnSE4V9v2vgEA89uHHIiKvsO8/HiNPiVy7t2ZjO3Y97w+AoKgzlom5wr6Lv1YL7clB42qxcs9n7P1JcyQBQfE8F4I5wuoBKX28kifJSF099/202EVAUGTrRSFuWBs45MliUVfrPT81ngoQWfDexco40dYDIiEota3q2rvPV/LrAsRqAyKODpASDKmPXZZ19RQ75bn7FYAc8LNYKQhy0FjC4SFgmV8AcoAA5abt1G6Bg6DxyH1ExJp8RuJ7+8YJ4ghwq7gtxmsE2TOmJsSemPCpxV75PAAxBITewWsvCwhmfbyCgL3tSgBqcwcgg4DkxLqi31vInvFrQl31PADpBKR2UrQ+tzhZPAU8I/YqCErzBiCNgKw4GTTwzBCw9xwloa56FoAoAWk9EazGa+AAtN4CnhV/FQypeQOQCiAQ30l2lpBnzZMS7qy+ACQDiNUJYB1Hc6LMEu6KeWaAwdcVgCQAkaLWiHLHE4Zv9NXurUCp1SUAYYBIME5q5yCuCeD05y2g9Kw1APn5qP7PPQlKToy79vcII3zefpD09oBI8V+tDWhD8LqfnJZ1ui0gHiBAjDtaufHR1gFzS0A84DghZkChg4LX6XaA0Lv777/9+nh6evr03YP6PV+rTxa+8XGvg+U2gECcJQDoFMC4nMVJgeeyjX5pU/PCd6YNMHRgoE63AARilSKl/tyLRAs/Dytz8Z4P8bHxYXWgXB4QEjcXY6/Y8S4Pf7SlxXNpMU72U5vnh3GeNuDQwUF1ujQgXHh0T2KsvUiYfAza3hZz8pypz2PeACQA+fCuDDgsxEYxUi+IGc/QHrGABTGtbAByc0AgLG5JXCmxUl+qPzee90Owvf4pP+TDLdaRGs/zaXkekOgguexHLBIOhNUjIil+tEdti4hl3lgP2dE8ApAA5H9ARkQpRerVphx5nminLAeF7rlfS34BSR2Sy54gJBoIqUU0Umzka/FCXMRCe9TyNSK21gYgNwaERALxjIoQ/hCeto1xI5Z8uX+ujbVSjnx8qR2ABCCvkEDYXCzog5jQnm0xv4UFJGS16whIypBc9iMWCQSCsRAfxUOcnPjkc7QtLMXgcUptrBt5cj++DuoPQAKQ5LspRAMReVv5ri7nR9vKSkhy6wtAbgwIiYKE0is6iAr+aLdaKVbE87aYlyzPmc8bgGwOCP2dYq9NIlFIcXChzLov5VB6RvlBzMi1tU1+NEdpHq/6XyHu8u8gnoDQBnFhtIpLjodItZb8uTgRDxbP0Pa0mIvXA+u4gpC91mAGSK/Q+W+l8FgkRLDKpgSJXErPMAYW8GjbGCctQOH9HnW/SkxTQHog8QYEG8UFMeu+BAB/lhM/+nst1gl/tCUkqFHYzx/3bwMIbT4EMsNKEfI5ORy8f+Y9zyHA+AwGanIrQLDoGULkApTz5Z7Jd3rPNuWAPFCXsJ9BuSUgJAQpWss2F5+MC1HK/hVtyuXZ6d81vApsJoCMfI8Y8R3dBC9R5iDI9XvlUYsbgHw+MaSmzAEZ+aIuk5vZrolJ+zwHAfXnnmljW42jU4NeAcgkQEjIdNHvmqKrVdivTv/90eprPX5EhDkIcv0jc/X6Ao53QL4375d1zXeOZ3KC0ALl1bJo7tvi5z22VYS5EyLX3xp/dDyH4/nb98fz94CjpqEAhP3zB7liaYTJTwl5r/H3HPMRDPp4RXC8PJ5fXuL0qOy/GSAkLn7lxJbrH/HNxbTuL4kYUMDSx03cl/y8nwUc7R/5uW5MAaHA/OIT1e57/WpxPZ9D3AAhZTFmhf0Ix9tHqreT40ecHJWTA7rZEhCCBQnubFNAyL4VYNCcSTheXh7PP/56PP/19xH13WHvXQFpETo/QVr8VhZRwiDb+8Dx9n0j4Gh/4zUHhATLrxYB9/q1zGE1VsIg26l5ZgDz+eR4hyOVE+/j9dfcc9+r3rsDQoXWFk9uitbPY5wUfEu7NR8rcFJwaHKRde9ta+Y6bUwAkviyBhj++fLlUXphnLQWImiFhsOhnb8XBK2fNo+dx00BhAqqKUKq8Bo/yzEk9hIU8pkHHJbrQaxUbWf3IZeT7FaAUOFS16yCtsIBWADJrDy186RquVOfdh0rx7kAQgtKXZqF9vppYpfGQOQQfasl/1L82c9Sddy9b3aNNPNNBYQ2SJNUaiM1fiNjek8PgLQTIKn6ndY3speWvscAooWrtzhXAOQ0CFry7d3XUT83QCix3KVJesRXE1+OOR2QXL2u1C/3bEb7OECw4dbFORkQ1OTq1nrPNfFcAaEEcpcmuZwv79fE0YwZAYR8NXN4jOG1uPq9R/1qMd0BQQKpzcOznE35pPpy/q39JPRWUODTOtfo+FQdrtg3WqdR/2mAUKLy0iYv/VJtbSzNOIg+Bwt/XoqXylPbl4ur9T91XG7dq/qnAkKLlJd24dIv19bG047jMOBe45vLL/rzFdDUdfaY6YDQAuXVs2gZg7d74ln78HziXlcB6z2wiLcEEEpcXr2L4XHwW1WorzeelR/PK+7rFbCqu3WcZYDQQlLXyAKt41nnksov+ta/mZX2eSkgHpBgsVx46Jtl+dxxX6/ArH3pmWc5IJR07upZ0A4+ufVE/+cK7LBfpRy2AIQSTF2lxHd+llpL9KUrsPM+Um7bAELJ5K7diyjzy60j+j9XQNZut/a/8+89HVF1Xw8AAAAASUVORK5CYII=" - }, - { - "name": "Robo Brits!", - "description": "Wow, they're robotic humanoids that look and act exactly like the British! You see some robots laughing and chatting at a pub, and a Bobby walking down the street looking for crooks. Who created this earth replica? You only know Earth from the books, but you should be where London is!", - "choices": [ - { - "key": "choice 23", - "name": "Nice! Well, back to getting pulled in by a Tractor beam...", - "exit_node": "Tractor Beam", - "delay": 0 - } - ], - "image": null, - "on_enter_effects": [ - { - "effect_type": "Add", - "quality": "Long Range Scan Report", - "value": 1 - } - ], - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAP2ElEQVR4Ae2dT8snRxHHnzcgYT3ksEgie1gXVkhIUFA0F1cPezAsHjzsKYR4URSvHj0IycmjvgLxIIigOYme9C1IZAUvCnkJXloqmyKfp5+u7qrp7pn5PduHpmqqv11VM/P9Ts/v+Xv14duvppHj6uoqjRiRnn70wR/TGuVr8OE77yRrjLhPVg6rZjRu5c/j0bxe/FWEiBY2b3bUsVWvFF8COZdAhANeElq4rTyy8m2Jdwtk60l415XEUIotgZxPIL0i8XKkhtsiCq7pEkitsVFzJTGUYksgSyAezpH8Hn8JJPv8kl/kMwov0mONBHmeGce1+rW5Gb3kOWv1dW4J5FOB5BePx2cRCXvKfatHvdElm+eYcVyq64nN6KWW0+rp9AKRkyq9UuUxiyCteO2ica6VZ9Y8e6j5Vn3rxku8lm/UXK1+bW5U/WievKerPEFOvNpxvnbWca0HnbMIUotH+q3lmTUX6Y9Y9pPfcB5zzSyf9bz+rF68ednnDYFIEiVdy3oL9uJafcg8SdHyt/bTyjtyfmuPuk574c3OfcXOsnk97/GsfqJ5pd+iQCSRh5TRgj34Vj9KiJbt6aGVW+Y9+UfladWSOjVSttb3zNfqWnM99SauLX/nu0VInZ/Y2DWyab2abRGvt9fR+Wv5enuV9S2BfPqEvHado3Utskfj0bo74pdAvBe7RmiZ8+YhzspJzFbfI5CISKKk9+K3nt9O65ZAvBfaIrPGvXmI07UlS1zU13xekh6Ji57bzvg+gcgrzx4N116tdE5JUbM9vdbyytyW3KNz5vmOJL639pbrtuOaF0sgOYFqx7wJNZzMEev1Wzl13sqn8zXrJeneOOucThhfAqkRzDu35cZ6c/fg9ia+p96Wa3XgmpsC0VcWr92jeW8vPWTqWRu9Bj21Ims9hN0TE71OJ8AvgUQIZ2GjN9LKMzq+J/k9taLX6Ui8nE/XNwr1qb7HSWgtjx1NMk++6DXw5OzFeAi7NyZ6nY7E31qBiIh6ybVlfeRmbskfXbM3+T31ItfoaGxVINKc52ktmNkn4u2DuCiZRuAj12FEvVYOD2H3xkSu0dHYpkCkQZKu5ntPhjk8a4iP+BZ53v/F+ykfFjYa95yPYqK5t+BnkV/PoWQ9NUvrzhgbKhAhb+0kI+Qehf3BP9MnYiC5cnGMPq5dA52Tfnrr8pws30PWKEbPoWY9OWvrzzLnEog0O4qwe+dRgfSSsWd9frN7crXW5kLxEDWCyc+ldjwrb63m6Dm3QKTw3uQeUa9FqNs4T5FESNrCbiFfKyfnt+SfvUb6M7/MWyo+grR75riNAvCeE8k3wi/xoRXbUreVc8/5JZDCB3YvAc+O20JOa81WUlr5PPGtNUeukz5DO4gU33MH6K11dhLP7M9DQg+mh3Ce/C1MT/2etdrXEsjaRab+Wq4Srdf2kH3LWu13CWQJxBTIFmKV1ijZRthS/tEx9rkE8gIL5M7nX05bR4SUJNwoP1I/imWP1/5wnCdR7+eCPdfPfMe/hNy80SV/qzhknYcrxJTqj4ixxiiffV0TiJC3VmRPcue9bK19CUSe1SNvdMm/DQLR86rxNjqnOcXeEEhOTE2+laD5Os2nNp+36gu+hG3FZpHvEvLyRqtPUXzhi6+l0vj9X/+WdJTmJcY8ei9rVuvPtrUevHPssSiQFul65q0mNac1r3HFee2ZiPy/dJVk7NUTb7T6JLZFfhWHWAvDPHpvalbr72VrvbTm2ONpBNJqWue9wlDcXmT01FkCsf8dHEk50lfeeG1ee3eBKHE9DQs2x+l6r/UQdy/MmQXCXePP//h30sE4d5Oz7yA3iO7835k31nmJNguXC6B2HO1hL+J76+wpkPxG6zGJTcJTCCoOsYwTzzy1e6ZzWv9Iq71YttTbYTsIyV5qWObzONfQz3GRYy+5R+CWQPZ/xSqSvrCblHASO4VASmLISU5B5H6OjRyPIP4Zc1g3nE9+a3fwxJmndb2tXi4hfhqBtESSi4LHrRtUmz8juUf1VCIgie0RAl+riGee2vUt9XBJsVMJpCYSCiLHvfTSS2nr4M0dRcyz5CkRkcQm4S0hWHHm4TWkX6p/abFdBMKLJn5O9tIx17Tmt4pD1rHOWYg9qg8lI8k829frqbUv3R4iEK9ISsLQmN4IsUsgN/9Si4hMyTlbFMyv90VrX7p1C0RPnFbJ2rJcQ7+1rjb/4MGDpOPRo0dJx+PHj5OOp0+fJh0aE6tYsZpD7Kgn95nyCEFJ4Nm+3t9LF4b27xKInnTJ1kjMudJajRHn9UlsEp5CUHGIZZx45jkTsUf2ojc7F8vf//SHpONXP/tpag3FiqXQ9D6qZb1L94cJRC+O2BLJOZ/7JXwrRmKT8BTCWQWy5/dDVGhKVBKbhG+JQ+aJZx7eT61zW2xVIDxx9YW46qu1YiS5YkuWuJpfWjsrpsSaYY8QiJyHkJbEJuF7BHJbxFA6D1MgFvEsMZTwJDvnGY/4zDHbnyEMzbm3QKKiSFdXSYclHIqL+Usku+RYSCAkMwmqccboy3x+rGsiljlm+0rmGXYJZOyPnJS4MEqULoHkJM4b4nw+Vzomfqv/21++n3TwaRb1NYfYGWIo5VwCGSeQEr80NkIkYYFocdqc5Jwr+Tl+yzGJHRUF8cxTIvOM2B4Cuf/6u0kHX4H+8rvfJB3W65MnrjnEMr/WFDuCoLUcJW7lsdp6z9w1geTJ9VgJrMe0OleyxKlfwm2JkdgkfNRnnhliKOVcAhmzgyinPNYjhhLGLZBSE15ic613TQvHJxhFwaffBz95PelgnHjmKZF5RmwJZH+BKAdLIqjFqgJRkmpyWp07ypLYJDyFoOIQyzjxzDNDDKWcewvklfvfTTr4OsRzj/rMo7nF7vWKRS5G/Zog8rmqQKzCR4mCdXlDSXgK4awCKYlmdIxEJYFJbF7DqM88zM+6OdlGHlvc9Ma9vVwTiBCwVYAkPdL3iOLr3/xe0uERy2iSHpmPRCWBSeyoKIhnHuZnXS8Jt+BaPPXOt2rfEEhNJEcKIq+9BPL8y9IkpOWTwJ97+VHSQZJHfc0hlvmtHhhvkbI17yW/F1er5xZITtCjj5dAlkC8AvDgLJEUBSLkLyU9QhSlPiTG7Z6fO+hbr1WMM49V68hXpVZtPpktn094PvmjuwbxzMP8Vg+MW2T0xq371BO3ai+B4Btn1gVukfTIeRLvy1/9cdLx8Gs/Tzq+8o13kw6dn2W1pljWYJ8WGb1x6z71xkv1TYHobsGiGpthWUd9qaN+bvnk565BnzuFFWeevIYeHymAVm0Sj4QkUVUcYomZ4bMu87PPEhEjMb0vo22ph5BApKFR4ug9ORK7x6eIrJ5aJD1ynsQjIUnUJZAr80HLez5EIL0iYUM9fo8ouPYSBWKJgnEKxPL/89FHSccbb3wntYZixVo5GWc/FC/jJVLWYj2caa0t1W3uIKXXnC27SKu56DxJ3uMvgTwXSUscMr8E8var5isUCRwVCNd6/G+99e2kI4rXdV7rEQhzHfk6pbX5BLaezHySWz4JvwRyVfzpY9cOEhUE8R6C5xgSMp8rHRMf9Y8UyNafyaJASH7G6RNj+RTLK6+8kXQwbq1lnHXpW5jSa00tVrr/o2KlulMFsrVxktyTg/iovwTy/MvBFIKKQyzjJLnlUxT0iWe8REor5uFCD6ZUd5pAoo2S2E+efD/puHPnTtJx//79pENjYj/++OPiuHfvXtJhYZhHc4tlXHsRyz71lWerXTtI7JeqopyK4EvikNgUgUQaUyyJR0KSqBaBLfKrOMRaGE9+9sM+twpD16lAxGrMY/kEfvPRr5MOxunz6f2v/z5JOnSdWGK4gzBOvOYQSwzr0udaxi1i5nHlySyb19PjJRDHDjVLICIGFYlHGIohwSziEUMCk9hcS8zZBDJLFJpXxVCywwWiRaP2vfd+mHSQkJ4nvLU7PHz4MOmwMJ787Ed7FKuE7bFLIO3fLoxyKYovCUNjSyDBHeTSBcJdw/K5m1gYxonnzkWfeMaViDUbJXwEX6src0sgJxFI5HMICWYRjxgSmHjL78GzLn3WYrxF0E9IWviXaRER1LCt+qcRCF9jrBO6e/duKg3inz17lnTo65VYjYklvpRPYsTwFYp9Mt7jR1+zSDCLeMT0EJ75LZ/5WZc+1zLeIuhMgbhq85t6I3wSK+KTeNY6D5kphCWQz/42Fkl5hL8E8umPqVjkbsWXQPxf6iXBLeIRcwbf6tPzFJ+xi7jrjtg1mKMlBGt+CWQJpEVaiztb4q1aOr8+gzg+1/DzBYXM+J4+dwTr/Z/9vPX6l1Jk9KxVYon19Em8x98ihnyNp45ilkCWQG6Ip0cgslbJNUMgkjsnfPRY+/PY4QKR161ow4Lnk9laf1s/pJOQHt9DPOaJ7B6C7V2rxPP0qdiItfjhiUfqCHYJ5MJ3EJLQ8vkaZvn8EE2MFSeGvtWDFY8SVvEeMeQYXRuxSyBLIJ/8sKElBCtOUdC3hGDFI2TNsbkAPMd5jtbxFIFsec3yvGJ5LgD/uSd/14NxTx5i+MrBPhnf07fIZsVJYMu3hGDFrTxWD1a8RdDWPO+T12/l5PwSiOPHGEj+MwiE/fAXmuiTkCSz56d5rbUUC/MwP9eyH/okYK/vFQVxkZqnFogQgSfm8blT3NYdZAnks58A9nAix1ykQF57+GbSwV9K4leudN5rR61lP6xNoh7l88lMn09yPuH55OeOQIy1lnjmsdayH/oRgnqwuQBax56cijnNDkLikZCjSM78Hp912Q/XHiUK1iXxGPeQ3CL2jDzsU8k30rZEwflI3WkCiX5QJ/FISBKVGI8/ai37YV0S6SifxGMPL5pASHqKIfeJ8/inFAhJaJGcpKU/ey3zk5BH+Usgn30eIeFzYcgx573+Egj+SB3JbwmTmBmiiP5uiNUDdxCPb+Vh3JOHGK5V30vMs+CWQE4qkMhvGCr5aElUj8+1lu/JQ4yV5yzk9/RxGoHw/5XTt57k/H4EfT7hR61lP/QtAvTGdRfpEQmJ6vE9PXvyEFPL6SHnGTBTBRL5oE7i0R9FcgqHgqJPDOuyH/o1AvTOqUh68+Treb70c1zpmHj6JawndgYBtHpYAsFfcVwCef5/Dy1yUxT0LXwr3iLnGeanC8S7i1hPZj7J6fMrV/SJsXzi6Vt43mirT2JG+C/CDiLX6QwiqPWwi0BEJJZQJC4XyiKeRVoSm76FZ5x4+sTQJ+GtPokZ4c8SCM+Xvqdn4ul71lqYGjnPMLerQFQotHrhLOKRqPR5g+gTY/nE07fw2qNYq09iRvgvikDkWp1BCFYPhwrEQySLtCQ2feKZn3Hi6RNDn3n28l8kgcg1tQh6dHwJBN8HoSjo7yUK1lGBiGV8i8+HAD9c0yeGNRgnnj4xXBv1jxZDqf7/AdVoY/i7GpcvAAAAAElFTkSuQmCC" - }, - { - "name": "Verdict", - "description": "Before even getting to defend your case, the judge says \"I've heard ENOUGH! It's time for a verdict!\"\nDang! You're definitely in kangaroo court!\n\"GUILTY! AND YOUR SENTENCE IS:\"", - "choices": [ - { - "key": "choice 25", - "name": "\"DEATH!\"", - "exit_node": "FAIL_DEATH", - "requirements": [ - { - "quality": "Crimes Committed", - "operator": ">=", - "value": 4 - } - ], - "delay": 0 - }, - { - "key": "choice 26", - "name": "\"SPACE JAIL!\"", - "exit_node": "Not Actually Space Jail, Just Normal Jail", - "requirements": [ - { - "quality": "Crimes Committed", - "operator": ">", - "value": 1 - } - ], - "delay": 20, - "delay_message": "You are being jailed..." - }, - { - "key": "choice 27", - "name": "\"FORGIVENESS! Just trespass? That's not that bad!\"", - "exit_node": "Sweet Sweet Freedom!", - "requirements": [ - { - "quality": "Crimes Committed", - "operator": "==", - "value": 1 - } - ], - "delay": 10, - "delay_message": "WOOP WOOP" - } - ], - "image": "default" - }, - { - "name": "Not Actually Space Jail, Just Normal Jail", - "description": "You'll have to wait out your crimes against the robo brits.", - "choices": [ - { - "key": "choice 28", - "name": "Sit out your sentence", - "exit_node": "Sweet Sweet Freedom!", - "delay": 1200, - "delay_message": "Sitting out your sentence..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAOkUlEQVR4Ae1caQ5etw30lYrcoblZgZzaBVsMMJlw1dNbnOiHwX04lMT3GUbaH3/854+fu//89q/ffnb+7O67E6/D33J29rwb61eaqcv17jv4cceldIe7o/cuzL/DDHoWv9JMXa6Wp3PutM+CBL+g3QvaeRl3Y/1qM32B71mQsyB/+evw3YvaxT8LEjzO7gHemfeFy9k936820xf4nl+QYEm/cDlnQd7/x56zIGdBzl+xgjdgH6izIMHhnF+Q/f/8P/1F/MIdnAU5C3J+QYI30P4F+fnjx0/9k30Nos1XDLYzPItxLvSq5kqcZ0A/lohf6aG1hq++nTY4q7S+7NvZU7EmMxonPnPVJ5y1VnlFdvoLoqCe7QEz8WpIxfTwzKd5kR3VT/08Q9RL/dMemg889a/YHhbPBB15sE1O+wGjquvmAce4oMaTytnLiXzoUclwQSJg9XsNmLjmd2wPs1OnOR5O13fHDFlv5p7ldWKMZTpqeCbTNQ9x5HekYkQ13Tyu9zgyDviyr6tzn0x3F+RqkyvE0VtJwz+VitO1MUN1SRmfbi8Po1vr5UV41UyIe5iRL+rF+Z0czmfdq4UPfGFPJPfI9L8sSLdJBnrlUaG/4sO/IhWrY+Pwr87S6RXN1Kn1ciI8zBTFzW85Hmbki7CQH8XNj5xMZvWdeVCf9chi7QXJQDRWPSoMhjoMoRJxkxozO/JHuYxX6eAYzRL5p729fPgqjl4ctavS5vJwPd9qD9R5mOxDXiS9O0K91sA/lX9aEAWF3QG1XOShzpM8FPJNerlZnGNRPWNqfmUzT8YxnWNXeiuuZ1c8Ne5hTH2KGdlTXC8/wja/l88+vQfG4jzTOTbRywXJwCIS6ofNA5nO2MhhmcU5Bp1rVUdOVzJXxeIY8DSHbeSo5BzTLe75tC6ytXbVjvDZv4qtdYypuuayzXegb8lwONd0xe7aSwuizWGjKWyV2VCaazbwTGqcY9A1h23kdCVzZRzTOQY8zWEbOSw5Dt3i0FlyXaZzzVU96xPxXO0Z9crw+A5M9zC03supfH+bBdHDULs6CI3zBSgWx6xO42ortlfDOVpvNscj3atb9UU94F/F9eqAqdLLhY/vAHpVr/GOvbQgBgyiLNGQfapjGJNVPuJeP8QU37ORO5HMUzERU79nez29vMrn4bCvql+JMz7rK1hVDeNDz2pwByxRB6n18E9kuSDWxAPU5pznxdiHoQyX/axzT/av6IzV1cFxpR/XaD+OTXXFYjvDsjwvbjN6fvgYn3XEPRn1ivzAYHzoiHkS98MSdZBaB/9E/mlBrFBBJzYaVwffwQTWLk6M19Fx8B2uUY7XJ8rt+qeYnM89MF91V1xvOmOozrkci/ycYzrnVb2YP/SqXuMde9uCcLPq0PVg1GYs0zXetRVnal+Zw+vV5Z3lTXE5H/PgQbGMenK96VGe+b1c9WUYnJv1sRhzh871Xh+Nd+y/LIgHXJHVwwHhTp3meKQ1p7I9jBWfzVH10njWR3NhT2s0HzgqNQ/34kmtZZtx2M8651Q616mOWvWr7c2AWkitgX8i3QUxAAWPbK8Zk4/qPL+HdZVLhNnx2xweT89X4Xk15lup45oI18Pme/F0xuIe0DmuOnK6kuu9Go6r7nE3XwfHy8l84YKgSMmxjRyV3gBcp7rWq635bGvuTtvm4F6qY85pT+B067r5yDPpYYNvR3r17Kt6ce6KzviqR/y9PlzrxStfuSAVgBePBlC/V/sln/KN7C9xzrhE/D1/hvN0zOPn+e7gdRYk+Z9bepfg+e64mDswPe6R747+q5gRR8+/2iOqOwvyD1oQewTeo/J80YN5w+/xi3y7+Z0FOQviLs3uh3YFL1oGz3+lj1f76oLYgB6pr/i8C4h8X+Fc8Yj4q7/CeTqu/CJ7N6+zIBt+Qeyydl/MXXjRw1L/Xf1XcZVfZK/iR3VnQc6CfP6vWPZ4o4VQf/TQV/23LMibA60eRFSnFxDZUf3X/BF/9R/e//9/ljwLkvyC2CPRhxPZX3tQEZ+Iv/qj+rf8yi+yd/M7C3IWxP0I7H5oV/GihVD/1T5afxbkLMhZkOQNnAVJDse+JvqFimz98nzVjvir/2v8lV9k7+Z9FuQsiPsR2P3QruJFC6H+q320/izIWZCzIMkbOAuSHI59TfQLFdn65fmqHfFX/9f4K7/I3s37LMimBbEL2305d+BFD0v9d/S+gqn8IvtKD6/2LMhZEPdX0nssb/qihVD/bo5nQc6CnAVJ3sBZkORw8DXSr1RkI//LMuKu/q/NoPwiezfvsyBnQc4vSPIGXl8Q+xLs3vrdeNHXSv27+67i/fv3339Gf5RzZK/2vqsu4qn+3f3PgiRfDxy2XkJkI/8tGS0F+yPu6ueat+bhvsovsrlmh34W5G+yIPygMz16WOrPMHY8vCmG8ovsKW6Vf9uCWONoCPVXJN+OK9/IfoNn9pC9WMRd/V6t+p6cV/lF9m5OZ0F+4V8QfbAdO3pY6u9gIWf3o/TwlF9me/Wrvs8tCA4dcnWwnXXZZXBsZ88OFs5oIplvpk8wLbfD90pOxlVjV/po7WcWpLoQJf6krRcQ2U9yqs4rikfc1R/VZ/4751d+mb2Tx1mQX/SvWNlDzWLZw+JYhlHFdj5QxmJ+mc41V/VPLEh14IhfHXa1PrsMjq3ir9ThTCbS+jDfTJ/gerkrM1U1GV+OVTiT+C+1IHYRk+F25fLhZ/qufh0c71FmPmBm/DmWYXVi6LdTMr9M39lz64J4B5cNgphXl/l2HkAHCzwr2cHalZOdj8a4ZzUD4lajOFOb++7Qwa2SO3oBY8uCZAdXDWPxrD6KYYAnZGcGy3mCC3pE56J+5ENOZ1G8qY2+O+SU+46elxakc1idoTo4mrNj+C5GZwbL6eLtyNPzmNideZjjBFtzGeeq3uG9+x6WF0QPIrK7Q0X1mf/qgXfruzN08XbkZecyiWWzKc8JLucqzqqdceXYKr5XdxbkH/bPvPxwWecHBt17MFzT1T2cFR94VXIFO6pZWpDuwVheNQziRnCCa7nRULv94NiRu3tHeNOzqvK92aLe5q/wNJ5hdWMeR8/XxevkfWJB9DC7dmfAHTneJUS+Hf26GN1z6ubpTBmPLibyMqxuTPlFdhevkzdeEAzcldEQ8HdxvLzOgDtywLUjd/TrYnhncsWn81U8pr0qvCqu/CK7wpnEb10QIxINAf/0kDl/MujVXPCt5NU+03o+j6u6ztbhMunZwctylF9kZxjT2GhBJodhuUYmGsL8UzzNnw57JT+bg2NXeqzW6rms2jyH6R0+014dzChH+UV2VL/iv21BQCYawvzTw+V84D8lszk49hQfrw+fz1TnGaB7PTzfpJdX3/WBVyW7eJ282xfESEQDTQ5WczvD7cyJZlD/zp6rWHpWHVvnMLvbv4OPnC6ml+dx9Hxe7arvlgVRMt4Q5sOhTaRiP2VHM6j/KT7TPtEZK3+2Jz0ifM8/weVc5pbpXHNVf3VBbEjvAD3f1UGv1mcXwrGrfZ6oZ76ZPuHi3Vnkm+BybsaVY1xzVf/8glwdcFc9X0Cm7+p3J07Gn2MTDtEyeP4JLucyt0znmqv66wuCQfUgrw62ux48K7m77x141QyIT3vrHUb2FBf54FVJ5O+Qn1kQDL1jqDswwK+Sd/TejVnNgPi0b7QQ6p/iIh+8Kon8HfIsSOM/VrSDri4F8R2XcjcGuFZyykMXIbKnuMiv+CKO/B3yLMhZkHD5pw8sWgj1T3GRjwWoJPJ3yEcWxIhWQyG+Y6g7MMCvknf03o1ZzYD4tK8uQmRPcZEPXpVE/g55FuT8goQfr+kDixZC/VNc5FeLgTjyd8jPLYgNuWOw3Rg4/Eru7nsHXjUD4tPeugiRPcVFPnhVEvk75FmQ8wtyfkGSN3DLgtiXQ7e32nqOa+0XbOaX6V/gWnHI+HOswuF49Gvh+bluojO3TJ9gVrmPLYgRyYbiWEX6jTjzq/Q3+E16Vvw53sX1FiHydTE1j3llutZdsW9bEDscJZYNxTGt+4LN/Cr9C3wzDhV/jmc4HIuWwfNz3URnXpk+waxyRwtiYN7AmY8JZENxjGu+ojO/Sv8K54hHxZ/jEYb6szfAMa2b2Mwr0yeYVe7tC2KHAxLZUBpDzZekcozsL3GOuETc1R/Vs58XoNK5bqort8ie4mb54wUxsOoQong0kOfPSL8V83h6vrf4Tfp6vD1fBzO6b8/fwYtyPH6eL6pf8T+6IHZg3kCeb2WYu2s8np7vbh478D3enq/q5S1B5qvwsrjHz/NlGNPY0oJYk+wQqpg3lPqmgzyRrxwj+wkuV3tE3NVf9anumuMVVhVXbpFd4UziryyIHVo0HPsngzyRy9wy/QkuV3tk/DmW9eHH39EzrE6MeWV6B6ubs7wg1qBzKFXOU4N2DyTLy7hyLMP4Soz5ZnrGt7pbjmc43VjGk2NdvE7epQWxBnwIqzoPx3pngCdzmFumP8lptVfGn2MR/vSuI5yJn3ll+gSzyr28INZgelhevjdwRf7puMfR8z3Na6Wfx9vzRdjeHUa+CGPq9/h5vilulr9lQaxBdDhTPw+cEX8jxtwy/Q1u054Zf455uNM79TBWfMwr01ewo5ptC4IG08Pz8nl44H5BMq9M/wLXikPGn2OK491X5tP6KzbzyvQrPbR2+4JYg+zAujEcgBJ+0wanjnyTZ6d3ZwbLUazu/SFP66/Yq5yv9LxlQYwQDuiqvDLc7truBXkPazeXq3jdWbjP9C65doe+wvlq39sWxIhNDzTLvzrojvruBZ0F+f1/d7/jzBmje/5cc1W/dUFALnv40xgw35JvXNIds07n+MI9TTnvOLdHFsSITg84y98x+CrGG5e0yjWrm86R3YcXy3qvxqacV/tw3WMLYk29g1z18RBP6m9c0h3zTeaY3tEdfA1zwnkXh0cXBKSnBx7lA+9J+cYl3THfZI7o/D3/HVyBOeGMmqvyv9va9kZwciKCAAAAAElFTkSuQmCC" - }, - { - "name": "Sweet Sweet Freedom!", - "description": "You're free! You spend a good while travelling around England (or at least the replica) and enjoying the cuisine, people and culture! Good society research is gained from this or something, but really you're just enjoying the sights and sounds.", - "choices": [ - { - "key": "choice 29", - "name": "Nice!", - "exit_node": "WIN", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAQJklEQVR4Ae2deXBX1RXHY23/6DYdFBekilIInVrsTBUUEKWitf1Hp4467XQ6Y6frtLWtdpzWhaCCCQmJieKCKHWKY52xjgsg4AIo7s601NYlIoSdaEJIQgwgWU7nxB643Nz93fveu7/fy8ybu527vHu/n3ve/W2pgIB/B/v6ofHBV+H07y+Az319NlSMm1WS1+YdncpZ3HDpT2H9yNODXRsuuUrZ/5adnSU576inoydUwYSLmmDu3S/A/gN9ynlwKaxwqWRTZ2BgEHa17YW/PvYvGHN+fUkuVAFINhvf6Gl1sPCRN2F7azf0DwzYyNLYNjgg7EgOfNIH9Ytfhm9870747ITS8SgFIOkBcnRlFYy/sAluWbAWevd9wsorSDxVQPAO0KPs/KgbHnj0n3DKeaXhUQpA0gHkpKl1cM/Db8C2XV3BPAZPWWqALLzhGjC9YjurFICEA2TIY8xshNl3rIae3gO8foOngwNiCoXMLgZYCkDCADJqai3c/dAbsHVnF/T3hzlj6AjzDohM6D7y8wpLAYg/QD5TWQVfu6ARZjU+D909+3X6DV7uDIgPwSdtIy/AFID4AeTEKbWwYMnrsGVHZ2YegyduGCBJRZtV/SxhKQBxBwQ9xriZjXBjw3Owp3sfr8/M0xVZCTpkv2nDUgDiBgh6jDv+9lqmZwwdgdEDUltdq3x1LA1YCkDMATlq/Cw4bcbt8Jf5z8Luzl6dPjMvjx4QG0/02oqlgJdvaApAzADB9zEWLHkNWrbvgb6MXpWyJS53gKBHML1s4EBbAoRCX6AUgKgBOfX8BriudhW0dXxsq89M7QcHByFTQEioWYUFIGphJ52f48+eBw2LX4FN2+LxGEQkfrZryRPrwwGSleht+00qAqxfeJAjQRtzfgP8qWYlfNjeQ3qLIkSPsadrHzz+zDvw7Uvv+fRR3PYxRWZvK8y82BeAHCnuJPOBHqP+gZdh09aOaM4YRC56jIeXvgWTLlsIn//mrYfPqTLB2+bnRfC240giCKpb7h7klOn1cM1tK4Y+hEqCiyEc8hjd++CJ596FST+49zAU7PeWbEFQ2duKMy/2JHTXsFwBOW5yDdQtegk2bumAvr5sPivlCiJ6jEeW/wcmX7YQvjCR8RgsHBhXCd62LC+Ctx2HKxhUr9wAOXn6fPj9nKdhe2uXqz4zqYceo3Pvfnjq+ffgnMvvE3uMApBP3wthISKhu4blAsjIyTUw7751sGHz7ig9xqMr/gtnX36f2mMUgAwH5NQZDWa7CT95/0+XOiBfPXc+/O6W5bB1ZyfgLhzTX9fe/bBsTTNMvXKR2xrbPkbJ7NkdObY4vk5fv/gVOOGceU6TWKqAjJxUA9X3vjjkMfAHOGL6wzPGY6vegSlXLIIvnqE4Y0g2vUNPEzLB2+bHBgU7Xlx43Bnxq8DXVq8EfB3/0ATpJrAE3wfBH0P4zexlsHn7nug8RnfPAXh67fsw/UcPWK2hdL1tQRDZs2LTxUX1Q+XpxsKW0+6InxHauLUDahe9BPi6vnTiGHBKxYMce1Y1zLnrBXi/pR1i9BiPP/upx/jSGXOM1s1kbStIJElFSu2owqR92NZXjYUvI0AoRI+yrbUL/jD3ae2PS8QOyKipdfCrWU8NbQyxnTHQY6x8cQPM+PFif1Awm98hQEgwtiIke6qvCsk2rVA1Fr6MwOBDfH0fPUrNwnWAr/uLdp1YATnmrGq4+c410LwpTo/x5HPvwrQr7wevHoOFA+O8UDDtImBRO3yeS7tJ6/BjkKV5MPg07qz4C4VX37oc8H0AFpTYABk1pRZ+ceOTQ4fv2DxGz8cHYNW6D2DmTx4E/G4Juw5B4jLBYL6NOFXtUJlNe75sqW9fIXqUD7bsHvqpS3xfABclFkBGnHkbVDWthvc2tnk/Y3z34osh5IWvSi1d/R6c+8P74cvf8njG4D0Gn9YJx0Soujao3KQt3zbUt+8Qd1784g++2tPapv7Uata/zdva3gM/u/4JaG5p9/qqVEggdG0H8RY8HLJHLF5MOtHy9rK0rp0Q5bKx+MjHx7C+vn6t6LIGBGE+eNDf+xg68aZdHhQWG6HwArapi7Z8/TTStmN0sefPK3w6a0D48bim0xa+bX9BQHERhGudNIDg+3Adq009neBiB8RWqHmzTwSOjRCS2vLiTSOddMym9VWQxApI3oSedDxOoKBITUWQxC4pDBUVFUCXTVtJxmxTt9QASSrGvNa3hoTEZiMGF1vqxyUkMNjQtB2XsbrUKSVA8ipuX+NSrRVfNuwLUy7i0NUxFbPMjsDAcopjKLPn83Xj81HOTyybzvsjli/hxdQOuz6q+DBAUFw+BENt8GK1TYuAEOWp2qWxhAxVk5xXQGISdIixqtaMynINiAoEVZkMFhNA2Lom9mRDEyoK8wZICLHF2KZorfi8YICwQnONEwSy+lSOocwmST6J3zTkJ5fSeQIkRiGHHDOtkSxMDEgSAarqmorf1E7Vl6rMFA60k/2VKiAw+itAF4mY0rKQ7PISytaM8nMJiK3oyV4ldNcyG0B6//0OiK7mmVcG+x/p+P/Xm2deIeyXH4tvUcogSJLve4wm7fHzxKZzDYipqAkQDE3r2NjZQPLWmEnAX+uPnxgUEGyf71OUNhGLjU0SEGzr2ozL1lY0V5QnBATFYyoKG6GZ2LqKneqZ9GFrYzoXaIc7eh4vW9Go7G3F7dteNTbXMtma5QoQErmLJ0hSVwdM7IC4ioav51voPtrjx+iazj0gPgRObegE71JuColsorPKdxUM1fMh4jTaoPG6hrL1SexBUDgugmPrkLAxZPPzFI8REFexpCHoEH243i/Wyy0gMcCBoMYGiItYQog27TZd7jsKQNL0FgSlTZ8xAWIrkrRFnEZ/tnNg7UFsdk0bofG2LmLl27BJU38Y2tQrVUBMxMrOGcZN6mRtUzKA2IjUhy0ttm1bsQBiKgwTAdNcyUKTNrKyMZ0HssutB7EValJ7WmzbdgpADn9hjeYwK/Gb9EvCNw0LQBy/S0IgxQCIqRhMBEYQ6EKTtrKyMZ0PtCsAYQAh0duEBSDDPQjCk5X4TfotALnhGuODNrsT2oBBtgUgcQHiAw70KtI3ClEYpqIgEeU1TAqHzVzIXHXofBtBmOy+7Jyp4iZtZWFjMx+qtfEOCE1mXmCh8WCYZEymm4VqskOW2QjCVLDs3Inipu1kYWczH6p1CQaIaEKTitRU4KK+TevK7ApAhj9iZSF8kz59wYHgeAEExcMKSyTQLPPYsbnGyxEQEiO/dpSf19ArILy4WQGZikLVBtseP9Eh02y/PuKmc6Fy1yHLbESBtnkVt49x2cyFbk2O+Ac6vJBMRWEKCN9+TGnTudBNeKhyG1HwtjJRTpw4EUwvWRtZ5PP3J0ubrMURgJAIWOFSni5k65RiXHf/VE5f1WTDNL5yKxOBbb4pEKHsfABlc8/sOoniQkBosVHoFNeFpQgF3ZPu3tny3vVvA38F/9GGC64Y6tNGGDJbXvhox+flIS0DSXZfqnx+vdi0EhB24XVxElMphbp7FpXTz8WwYVo/+6MSgc+yPAAiGgNC43qf7Hqx8QIQwbvxIuGb5rGTS/G0AMH+XAXiq55IuGnlJb0HWi829AaIqYBK3Y6dXIqnCQj2mVQoIeqHhMTneGnNKCwAWbHU+JxlAjdNLBumDQj27VM0IdtKCk6IsbFrVwDiERB2Ytl4FoDEBEkIkSdtk9avAKSEAaFFTiqWcq5fAOIJEBKjKMzKg/BjKWehu957AUhCQEw+LpMXQFhgXAVTbvUqaqtrAS+TA2hhc/hAbwKGyMbk4w22NhsuuYrVvnW83ERvc7+HAClAOSx+1UYgEr1Lni0EKvukgIiIshFRKdtWyBZXJZJyLZPNlWu+SvQ2ZTpABgcH4WBfv4gD47xShkB1b1JAaNHLFQa6b/KsGNKc+AptIFDZ6gBpbe+Bn9/wJDS3tAPC4vtPJbDYy7SAkBhE5xRWPGnFaTylEqqEb1qmA2TLzk6oGDcLjjmzGmbfsXoIlKQexQSy2OHA8RsDgoJUQVAqgk37PkwhUNmZAoKQ4DVqah388qan4IMtu4N4FB08MYFjBUja4imH/lTCNy2zBYRAOeasarhlwVp4v6U98RlFB4Xv8rQgKwCpGP5jBGmCaQqBys4VEAJl9LQ6+HXVUti0rSMTj5IEntCgFIAUgAw9diEsx06qhrl3vwAbNu+OzqP0DwwE+YBm7gEZO3YsiC7ZLt/W1gbsJbPLS77KM5iWJfUg5EkoHD1tPvz25mWwecee6DxK1979sGxNszdYcguICApRHguDKp4XINhxmAKgs/MNCIEyclIN1CxcN3SY7+sbSPIklHpd9Cj/WPl2YlByAwgrbhEIujy2viheWVkJIS9W+Hx8xIgRwF5UrhO+aXkoQAiUk6fPh6tvXQ5bd3ZG6VGSnFMyB0QkZh0MonJRO3xeSECobRYEXdwUAJ1daEAIlJGTa6B20UuwcWsHxOhRXECxAoREkDSkHRTb4UUsEr9pHt8Wn046bpP6OijYcp3wTcvTAoRAOXl6Pfxx7grY0dqV+qNTkg7xUwS2kBgBYiIMFxtewJg2hUFkJ2qPzXMZo0sdFgJd3BQClV3agBAox02ugfn3vxydR7GBpAAkwNlEBwVbrhK+aVlWgBAoY86rh2urV8Kuj/Ym2eBTrWsKySFA2EXDOPsY5LKLmtRhd3eKizyDaR61IQtNxuTDhp9LVdoUApVd1oAQKMefPQ8aFr8CLdv2QF9//l/1MoGkQrV4WOZDMLI2REI2hUFkJ2qP8mRjCJGvm1O+XCV+k7K8AEKgnDqjAa6btwo+bO9J1SvYdlYAwrxpGAIEUZu8+E3SJhCobPIGCIFywjnzoPHBV6Flez49SpSA4I4v8g66PPIUolAk5FB5JkDwNirxm5TlFRAE5ajxs+C0GQ3w57pnoK3jY9tNPri9DhLtIxYuZigxYbsiQetgEJWL2sG8kGNn2+ZFb5M2gUBlk2dAyJtgeNLUOrjroddh845O6M/JGSVKQFDYIghkeTI4bESapa1K/CZlsQBCHmXsd26H6+ufhY7O3uAeQteBF0BIPOyO6TMuErgMBlG+qD6NOYbQBAKVTUyAsB7lxCm1sGDJ67BtV1emHkUFidEjlg+RqYASCRzzRDDI8tg2fIw37TZUAOjKYgUEYflMZRWMv7AJbmp8HvZ079Nt+EHKcwGITnCswCkug0GUT3Uw1PWVx3IdBKrymAFhPcqoKbVDZxT8UGSaZ5QoAEHRsiLHuAgEWR7VzaP4TcakAkBXViqAkEcZN7MRqppWQ3fP/iAeg280WkBsICkA4Zf9cJp+1YTdrWOI46te9zz8RvAzSjSAJPEiBSCHgeBjsQKCEB9dWQWVFzbBzXeugZ7eA/yteUmXDSAmjzJ5ttE9SsnKS+kRS+XZTppWBwv//iZsb+0C/Magr7+oAOG9iOzMweejB8mz+E3GJgNAl18ugJBHmXBRE8y5ay307j/oixHp90T+B7kri9Q1LZ2DAAAAAElFTkSuQmCC" - } - ] -} \ No newline at end of file + "adventure_name": "A Model Earth", + "version": 1, + "author": "Armhulen", + "starting_node": "Planet Start", + "starting_qualities": { + "Long Range Scan Report": 0, + "UFOs Shot Down": 0 + }, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "research" + ], + "scan_band_mods": {}, + "deep_scan_description": "", + "triggers": [], + "nodes": [ + { + "name": "Planet Start", + "description": "You come across a grey planet. It looks familiar, though you swore you've never come across this sector of space before.", + "choices": [ + { + "key": "choice 0", + "name": "Ignore the planet.", + "exit_node": "FAIL", + "delay": 0, + "delay_message": "Whatever, there's a lot of planets in space. Must be a hunch!" + }, + { + "key": "choice 1", + "name": "Begin Orbital Scan", + "exit_node": "Scanning from Orbit", + "requirements": [ + { + "quality": "Long Range Scan Report", + "operator": "==", + "value": 0 + } + ], + "delay": 30, + "delay_message": "Scanning planet..." + }, + { + "key": "choice 8", + "name": "Descend Into Orbit", + "exit_node": "Orbital Descent", + "delay": 30, + "delay_message": "Descending into Orbit..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALlUExURQAAAAEBAQICAgMDAwQEBA8PDwUFBQcHBwkJCQwMDAoKCkRERNXV1cDAwNDQ0LGxsaioqJaWloyMjLOzs6WlpcLCwqSkpDc3Nw0NDeXl5b+/v5mZmZycnLKyssXFxXd3d6CgoODg4JeXl9PT08bGxsTExJiYmIqKiqGhoZqamoeHh5KSkvb29pOTk4ODg3FxcaOjo62trZ6enqKioqqqqq+vr4WFhcvLy729vb6+vqysrJGRkeTk5Jubm7q6uru7u6urq6amppWVlbe3t6enp9zc3GFhYYuLi93d3by8vH19fdHR0fn5+c/Pz8nJydnZ2XZ2dn9/f4mJibCwsNvb22pqauvr63x8fHV1dRUVFcPDw/Hx8c7Ozra2tp+fn1BQUFFRUYGBgV9fX4iIiHl5eQYGBqmpqbi4uLS0tMfHx83Nzbm5ubW1tV5eXmJiYpCQkHt7e+rq6kxMTFNTU2lpaXBwcG1tbXNzc4+Pj09PT52dnUhISEFBQUNDQ1JSUltbW1paWmVlZW9vb2traw4ODnR0dG5ubnh4eGxsbElJST8/P1ZWVnJycmdnZ2RkZHp6eoaGhmBgYEBAQEpKSlRUVGZmZmhoaMHBwdLS0oCAgDk5OWNjY11dXUZGRkJCQkdHR9jY2O/v75SUlDo6OlxcXFVVVVhYWD09PU5OTk1NTVlZWd7e3sjIyDMzMygoKH5+foKCgoSEhC4uLjs7OzU1NUVFRenp6TExMf7+/o6Ojtra2q6urt/f3/Dw8PLy8uPj4/z8/Pv7+/39/TIyMufn5+Li4srKyszMzFdXV+7u7tTU1Pr6+jAwMD4+Pu3t7SsrKyoqKuzs7NfX1zQ0NC0tLSwsLC8vLxAQEPPz89bW1ujo6Dw8PEtLS42NjfT09DY2NhwcHPX19RMTE/j4+Dg4OCkpKSEhIQgICCQkJCIiIiYmJhoaGiUlJRQUFOHh4ScnJ////xcXF+bm5vf39xkZGRERERgYGJOWJYYAAAAJcEhZcwAADsIAAA7CARUoSoAAABOjSURBVHhe7Vv3W5PZnidlog41VOlNuvQOUgJIVaqURTpITygJTQgEuJQQQu8JRSAQFEaqBFBBulyxULwjgWFnr3N37uyMc9e7uz/vOS/Zv+Gd51k+mrzJm/ec5/PtpyF2iUtc4hKXuMQlLnGJPygwAFgMFgsuONEX8MKDGzgAPAYHvuPBc1gc+AU8jsXixHDgDYMRQ36DP2PFsPA2ugD8AWVAEQ944jFYeAtcwBcsHogjBhjjIW0EOOw38AkgBLiPyIpoAIhxIS2KuCAI6UJ2YkC34AseUAa8gGiAHtA1oAuogrvwcSzyhoPyAPvAT0Bm8MhFf6gBEoNMAOULz4LsIGsCdCs8gXDlKuHqtavfXoGehsVCEZGHoCmghwFbwg/IPVQBnAeJCkAGIYf8RzhicVe+EZeQlJKWIcrKySvIK8opfXsFMIeGAKRhzCANkabwcVGPaAGhBdgAVhe+cyEPAXddWUVVTV1DRVNeS0tNVVtH94aevoHhNTwIKZHVQGNwgT1AZaAsCFAw9HKR5wM/AS8M7up1BSNjk5umhmbmFpZW1jaKtnb2ig6OThqKhs5GMBVAN0NcDeYy8A/GvqhHlADVCWRB3hHFAk8Ru3rL1sXM1c3G3l2S5K7o4Um00PFSv+1N9PF1tPXzM/WHaQy0QPIXBOJjBFGPaAGJ3gt7AFPAyL0SQDT1vXM3UMHJMchTXSY4xCBUi6QoE+YUei/c2SJC2iXSOQoGBrQE9EJgUtga5fQL1ArzDiIIoljsv8hFq9+PIfpJytx1dIy1CY2LT0hMVFQnOTl5eVjYmPgmkZJDU0JgIEEgfgmbgmBBFYiLIIygcbCYBxKpkmnpGZnpsVmOMtkkaxd3NS0yJSc3z8vWJi7OyzOfSisg5xYWmRddGAO2QSILdYtc+DliEyATPttT0UMtNs3EQ91DTi9W3Uu12MxYv4RKNJF+aGpTWlpGJ5dXUBmVVdVFlciIAJR9kUlQriOIGBDQNpg/yWTJu0p7uioouLnL2JCsZTxSamrD6wxy6osYdGY5ndngTWKR46nllEZ2kzlIW3Bsg1RILBblYEc4QGXC6L2mFRYrKRcdIxGtkOpl1FzcEtKY0tjqYWBHdCw1lMkpaGPQ2zsqNDuTqOS4dFpXOKiOF2kCifaLDtECLIAgbyF8rsloqad2G3W7yll7mBV1RTaHJ7GL6msNcnpcTEJ6Zaz6OFxZM1b/AGUwn1qrX+dB84YRDjMdHjYX9YgSoEPBFxhlEEhOWSoOXnoW+qFF1ZWcJnJnU9PQo85IUqPFcHpzpIm+Zl8yxXukfDSf3F7O0+nRL6SQRdEOQwxli4iGfLBA26rYuxqmKuoU1xR1UcZ4YxXkJEorkZNYL//QR95o2KQvqYQ3XsKfSHrMEK+n2eiF6XELWaAxDo7z8X+ArAXtAcI2NO2JtIVqS01jVxUnidHkWmU22VnRm+JGkoocDnVp0Wa0jeVPMdvyG8N59WQOtSNS0TIyt/M7JF8REO9EFYhPwAH8N26Szg+NzCPNnzZxyIHTmrJ1PqZ27GjH4ZleI7niAvrs3NR8WckEf4GRQB3VnBhgBbdakuvDE4AKwHwS/WAXQzKPGOZqaqrHcIpmldlDjy55Z78Z28LEEJrmM/en/MLYVtO7fFpCSe9i/chYTmU+ObJeINdJnWgiL3kXdvHhIB6oA0xnUAWMcnihWi/J1tQULdsM2UrJGzuvPH+hXl7OvfmSVRd7002H5zvIuK+T9dhsldi9dv9VBtV31Y/Nqu3oqK5tuobkXtTnI8g8SQxzxcmseSYuMaeI3VQV0+uto7Bqep/FpTqsSce1Dg05rZdQtdhUh0YX8sAac2OhRmNzK5itOsNht9K48chABQS9qEeUAHQJPBy/EhocrLkd6ZkznK27s+udm6dlm+5Gfb22tlfZe2MztzzhfsGfxUcqHHSzht+w+LXWrpKe0S+aqk2CW+srrwKjgiKPfh0BKRgYJLjIVI2t9sh/facwZ9g7oqh6uqPgqf7a2pDsE2NlO/OR/bVX7KG8t22euRvvlDqa3e3oxckZzUvlkR2loLDDgirqESXAfIPBvC+OWustZNcneXcK7D+8Iqkox5HvpL0Ij33KfnXgen+9p60oIbpgvazmsPZoYvY78f2KOX6ujL0nj8ny8WYRgAygkIh6RAmAAzCKtZlUc4hPa1drwbSzufqjHU9OXm3AaK9hzXpdqt/WQ82d3KUq1jK193DwePGN/LA+u9R6bmouOMfIoD2Y9fgjKIp/BNfCEP7i8X2Lnz6HMVpXQmlpb9dU//TUQ3bF0U/hdYidCXFdteVkKEZftjCDIWTOWbHexNfGx5/OhjQoOEsrhphVxu8jWQv9gigm1quQlVjF4SmeJtHOKP4luxkHtKHmHCM7NXl72810l1oj45pP/SnOngvife/GR+KPhOIVy8z9MemJSuuwQRYjXwxZEBL1iBZA7sR7ZUQvdblwGKWnFR5ljawmvpxGnR+xyy0odOWHMAm2Yt0jTXqtf6YdzS3gXHzxOGX/qO+wIUmmo6O/Pq0+l5zwr3B+hXZBBPH+7WqacdKB+Y+nEzPudJ0BpkmeAqVrKScgbP3Jq7fbkcVe3uNtTLlOmRd19HrGlHDqDb004bD95vfjTVE60vr17aw5WBLRXqDD4nH/phiVK93UWZI/sTBBPmHyK83WqJxgU//Ym8qCv+osVfFmyOOD3RRKaGFL4uTxsdLHzyzmwPh8/8Jc8GSWYjGfwYMrMWgvYoNaNq9mEFWxS/2z822ryW6/WjLfuLl62vmpx55GhP8LFwZb9nFl9T6XO3g43t45uEiVPWwbf1/200ZD/MfRRFq4eUq8EHSDdvqFC6SOduxQn44twXTXfcrp/j5zUPVpWp1qVl1i8QGls4Iyk6TVuCBMosTOMmbfr5fRS2TH//Z+nLW/MOcfH9/CKuHWx/87UAfK6RcvRhBLU60wz/b/8UyuulFIbxsUiiv4mzWemTxVtywI906K3R0da+kfSeKe/fz3Kepx2+nnhF82kuhtGxOc3dLBWiqVq2/+H7C0i3pEC6CYGdU2sogBMiW79NNBlnAmOtKycKkxMS7Z+GE1hUyrZXNoCe1KCa37v/76/tf5o3nSeVFfw/ynQaGQMlEvHt+cz6H8huySoAs8BpfTKKd/y/LLWM3uqyc5mRarasrsLP+Qs2KfmfqoyqZITc7uxOBC2/mRdXOb1uPZjxsOybUNIy4VG4f7pQ1lgxMJ5o+n4HK2qEO0AMqIUe9MJaOfUjAd1NM0QTZSeC2zpd01k+Mm+3DVgrXL6WK3ttPL+kJ/Lj/66fiX44HRqcq++e9mp5vaGgbmba3oCfHxU8jkClWAmR1uUs1qTKde2Hraf9o6zqT3L/Dzi16l2BFvVN1uTuAyCtScd8vzeRv7Skq/MxYX2tlzHpaLZwaU+aONNyOawtIx9ug+TH6iHtECmBOF1Yx6U3nJ3vw25sBgA71P3GefubK6qhP56UCu6vvRrl075tzhqNLI8bvjN+9/mp17MxAg0zgf7iycH8jnDjDKTxlvcGjv8wCPwIqptYyyC6lWkyyuf//axPxI6VwXmRH4yTS72OsggJbNJVfEM/sP90cazgd9j7qP2j4ezp0PnYZPt/PL2g7HO5jU3WMwG0C5IMJ1QotcMo89xqk3cF8OpQnP81vPywZZ9PQvm1Ivt9id0dE8XmFZw8bUhnD+543O38c3ZoU/HZ7fPKYJuz4u0U9p4tUVfwPDX1GHaAGupVsaRybNcAwqTIhSghc/HGwX9Q7MuN18GhvzSpDVWNnlb8kNL9Ueyd+fOp6aDx4fOacuvlsIb4ig8xemyuhzzp0c1m+gHKEd7ACVpsO2vg8L9M3bJYfsBE4ZRnsTvDF+0s31OJt1gWCP9GrtB4kT2b2Ss8WgI1JwVFKC0nxZwxvHwo2C895zJfFKGhmP/rYCmG5j/2SZumeaYbQbOj6u5J0m9YGSEt9ZMdA/ypp+cUcARBEI1tdud9EY9KN31ZTde+eSa4cj5/PHQbP8+ZziBdau+fhFrKEKuD53LWPGT9lGr0b4OfTO5yS9cGNqH6czl8eqTKpMvvOPm4L1dcErga7AiLR4PkBZMmPx3aO5i7XzY6OG5xtl/JDgsRFkiijqESVgcATMg7CHdfoHlqzPPPnAiCRdTjmZ+5FeoFlEi+CXnt0TCJ5AowhuRvicPz5cdJdtonqb9fWZjIzotgoblOg0dv4R3KhGWxAMDouXkzR8MvSJF+XLTPLypGoPHC7+MuftsqKYYU02Zar2rAH3WhfcTbR7SpkN1ow2s6R0938mFhbqEvv7Gug8FvM/4TxT1CFaAFMiMcJfvkau3nYgdtHt26PoA7c1eD+dv1NVK3DsurO735edhwgSlDbsN87LfctNXG1WXRLGM6La7OsW1BvmeE1CkDCATUQ9ogS4bIDDTFY/e7FF45U+0lIDThROO/39ffpEaHqgYNjt8Toix1v3peCRd2VVxu0DvTLLfq9bJitb3G2SS5TqExgNcKsI7fkITFs4fKq/6j8j1AqoGvnxE5X/XKPkvZvqPGoa3Vz/BxIer/56MHjn5GtZ226A8fLE/egwn2lJk3DrtJUVmrh5vPhvIPeinrVgvgFR8pQm+fpuSEmwSik5yF1qvUBQclotqbyWCDLW+vc/Puecve1dVmiVTSvTIRm8/XDgq/s8RifRzTNnxrgtfx7Zo0bdteCREixOq9f59cvH0bbFsr4r5muZgq3egKbMZ8pnaxFbsZ53R0nj3fvnI7IjL2X6MuOz1YcMg4PTonVv2OoP1zEnFpFNSLQtIoYlwANCD/xVt54nOw7Hdc+Yq8hWCVLTc5ZvBL5c3Qxc+5KpbRgXM1M75tnP6pglVUaahsfQwolxgd1+VfVVdhNTYHIIgh0EG6oAyoTDLYzXzj2FHdnNEm3vqPLOptUtqcagGxoKt5e/fHqux22ONniZ7h3V9rCX+7mtTJ/PORTuV0tbyFeMMhsH32PAJBMeeRL1iBLgXBuQwF4xkpoM285jfA2KumsUuva9sor2CnGjJ6On21KPk7m3dOaue7Yx+njVlK30hj1eOzJY3mw22p/AbxTikeSL+moQUCQ8t4AV44e6xgYElZq9dYsrTNl8oq2hntlTdK6ncPv1I6tdTnfc28jS/sdhFk3qvLa+8c+HNCtyF7+/g0L9L7g/DUY6qI+1EMciAKUq6ixFSewNW259eBQbm3fL0kzXZsDXMSjolqFRYoxCrOmms4rCgs5dGfOpo/d1BdTppSbxdg63DwgApv3oL6JAY8ARsBj2gXQoW3LS8yTww3JpbHfGfVt1Y6tgnR63WhvzG5LqPbm2mzqNz3eNUnILbbysLGQUNRb4EwVjcNMNSAHVIeoRJeDxkAUchj/4b6vCsbgKhc3RMxdvfyvHob2hneU8bbkbXtvLX3Xd8yRizkyydb18ZlSJ0k7u8h5LUR3c6v8BDZHTmqjXEcAD1hIgDBar5JfCLZFWubdiwcnu7CLdf7YV8fIL0Xx7Tzni7TOVbNtYLXbL3WxDV3XPuGk14llyZOUG0hD6FTzHjSrg8XFQSOBICYMrckrvdi3RuJduveN7K/3e5snbk4BntzbzTj6s6gZIbA75RQ9ZOctL54aRXIiyxilsIQFIAccGePSDBIggOgQHh0vNRu4rH7aDeuylvj6z/+qbemPoYGs1ImIzQOFr3qPV58/UJdKzYhzT5UgrsgbBnX1I4oaCwCvaGz2wmMEdfygLnnAeZ2qbHbB8sHrvIEb33pbyXs/ml1jlHyNOTk6+fvmi/akmzHFbJazl7GymqpUPhABJAjQE5iCgnX4BCeBZ0CZwcoTFXvdK17grEXRb+9PywXLy5smXtx8+RHw9UT450f6qPfRpp9vBU8M9n5scSRPCOQg8zAwkAS4mhrJFYF0G7gU3/KFSwbuPiruf/aT9ZOaTgJyI27fynj37+kz71vOh5b2dT9sK6bbp6bY6Z8HVf4cNAXuYu4EiUN96Q44owUIA+UB3x2B21c0MXR0CYwL2Apbvra6uPh8KWh7a0e3Zjgnc8bT0S1VsaakagyejLqwBvAtus6C99gtVikfMAidYwCSAEIGY2Oqqty2VGah7sHw7SEIiZifaflvjhkqsq4OXl0ViXesxeBz4JDwuCz7AtSBwFfWIEkD6BHzAoA8yQxhBxycY6Lj6ZU3qdTtmSu1k7NydlJTMckhLy071MvQwo8TDBlAEaI2L2IL5S9QjSgBk4J9bQDogRqCzYB9An3lAJGZl2TplOehFq0Rr+MllS2evyLsMy9qZ/wxMB10QqYXAqaB7wcSH+q4usACShC+SEHQSJB/jrlx/aEUikaRtw5ykV0hO1k4ePsmaVDjxgEkO+BOWAKshjC84QEF7XwH4E6CNA9aA3gIiBtY2KAvki7t6ne2ib+ShprMUatx7fIUA70I/hC4Im0EtwGHjhZuhCsgCVmbkAudY8Ab8gtAEqscTMAQCDAqodzASgaIgxGEb+Bn8iEgk6hAtAAaQGx64CxzFimatiBiAJGRIEBkA8T2kkP+fMUAzRBEYkO7ARdQjSgCcEPVDDwP0YHWAwY/IgvCHf5wI3QkwBz9B+kAYMBaAqQFKD4UAv18hoGwSRJWQPbgAftAMyPFZxMXgBSgaSAF8DD4FkxwQCNoBKSFAVKgJqA60Y+QSl7jEJS5xiUtc4hL/HyAm9r+XXnYR5dlv2QAAAABJRU5ErkJggg==" + }, + { + "name": "Scanning from Orbit", + "description": "You initiate a long range scan from orbit:\nThis planet has a smoggy cover that blocks any good look at the surface, yet it has a mostly survivable atmosphere.\nThis planet has zero life signs.\n", + "choices": [ + { + "key": "choice 9", + "name": "Stash that Report...", + "exit_node": "Planet Start", + "delay": 0 + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Long Range Scan Report", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkBAMAAAAxqGI4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAASUExURQAAAP///1lWUqwyMmlqakZHRwPX/kkAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL5SURBVGje7ZldbqMwFIXtKnkvO4huyAYmG0CWea8i2P9Wxv/Y2MTYvjBVO4c8FET8+dxzDW5Ldqr73Hcf7fbemfwu+p1tkM+jILTbfeu2stNbDDSkklXnzNRbyUqUqbM/oVr5AFhOus5iUK3A/fmEW0BRHjCtwFPqj6NQS6GIVu5PTXEXnJUOjfLxXEOITYWitXECQk6BUOx6pSDkKAj4F6mrFxLEdNctAdl8gJVmBRBXy6tXcrScwwvXsufikXIP1qId5t2iz0D4osFClAga5MJDDbJaEUDJjF6eyZohxATjlhym9kkcMzhkIBQJ0g+pe2klJFWtG4DrgRSkeEUkjDDWA09TbPJdM6RXnySlDnLpYyO9/GhtQChthYhSMXeyup0aSFkoCYirVqJkdcnHEMaXakVeHIQUQYBPwSFdMB86IEBYolrAtyi1kF4asOIT40Ekq4JVQvS0R3UYI5G5GFLYwuKRO3l69dMEkxnc5MR8K6RCF9VL2sioe2tdLc6GRggROUDve5lcA9usXpw0So4Go5OwE0YySqutED33eZKH12TSyJJTK0RNFx6LFb4yMiI4uajJQmxlWT3tTsybEfxUnA0t9miGmNnCY54DMxNiJu7V6HLx89BO2iHLhIUXPxUleWVjf1SiZbvCHkEuLqX0brIM4hUfwkxERkKvdiPhxksGw3UuNpERmpuLeKGoBRM8k5WP/gsBsnrkAphUVGOJHeuIwPBDMcks6vmAUazkbtjXgAIhqVW+QHAYZHxnBIkRheKbGbAgJH6NIAcitWFlwmQQck28EzEDUdqwQnClrIxH+pA63od1EpgpHiP7i3ccSjEj/yd258SYqendLCR0UfcCyUK0B9KkbCYNBnZLRzIcC9HNdSzDODkYoraOB0eim+vgSIjcKM4HM06J5Hqak1Mi+d9ce3VGc5Ef01zXM5pLQN46oR0O5G0kKP+9nM+CfP1rSDqTwqTqmqvQX91SLINcvzGkLJPrCev9HMj8oyDk10MI+Qt3vM7Ve2h01AAAAABJRU5ErkJggg==" + }, + { + "name": "Orbital Descent", + "description": "As you descend into orbit, you see a flying object headed straight for you!\nA garbled voice begins to call out to your drone, but there's no time to decipher it!", + "choices": [ + { + "key": "choice 2", + "name": "Blast the damn UFO!", + "exit_node": "Tractor Beam", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Tractor Beam Turns", + "value": 2 + }, + { + "effect_type": "Add", + "quality": "UFOs Shot Down", + "value": 1 + } + ], + "delay": 30, + "delay_message": "Blasting UFO!" + }, + { + "key": "choice 3", + "name": "Attempt Evasive Maneuvers!", + "exit_node": "UFO Evasion!", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "UFOs Violently Crashed Into", + "value": { + "value_type": "random", + "low": 0, + "high": 1 + } + } + ], + "delay": 30, + "delay_message": "You attempt to dodge the UFO..." + }, + { + "key": "choice 7", + "name": "Do NOTHING. Jesus take the wheel!", + "exit_node": "FAIL_DEATH", + "delay": 30, + "delay_message": "What? Why?!" + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Garbled Transmissions", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAKgklEQVR4Ae2dW5IbNwxFtZFswouI//ORqmwgNbHH9sayoyxGKcz4jiGIJAA+ukk2VKUCHwAJkveILXvGvv393/0e73324PfPn++ld5y176xvsWG+DZt9v0pwUN/s+c+WXwCy2Q0agPT9wAtANgJEgyNuED88AUgAEo9dBQ0EIIXNme15WMtHu0G0+Oh/vmECkAAkbpCCBgKQwuas9Imq3R7x/eP5drCcbwASgMQNUtBAAFLYHMsnzCw+2g0yS56r5RGAbACIBkc8XtU9XhHMAUgAEo9YBQ0kAblXvla7PnfJN26Q+htC08ADIJVcPIVpk0Z/vwO1wBGPWPX7/QbIk8IbGwKA+gPx7p0FEO+Y4f/r/G6NLCTDazc4ORhrrB1317h/vnx5+9F2aSU0u67/iHVNAQhjQC0esSmrzCFByNVXWc+MeZ4GiEpCwWHGjTwjJ3lz5Opn5LbLnIcDUtC9q2uXA6hdR+62kO2140fc+/eQQwBxKd/hfOVDJBByNwZvv/Ie9Vj7UEAcWq927bEJK44hb4pcfcW1zZTzEECq1V4ZONOGHpELvyG0m+SIfHaeYwtAiKudD0muLXdbpNpl7E712+12t75r170NIFeCxHqD1Ipiljir+D1+3rVtBcgVIEndErk2rxhm8U8J/v7b7W59p+J5m2ed2wGyOyQEw843CBcyL1vhkH58DF62QrIlIDtDkrstZLtVADP5cQHLshS+tS7H4XXL2rcFZEdIrDcH+VkOfyYfLtzacgoabSxtDwKQwi/LaJt3dH/p8Wr1G0QTsqefg6LFaWcYgCwCSAkOebNohz5bvyZiTz+Hg8parLYXAcgigEgISnXt0Gfr10Ts6Q9A6MuF4TWbCFryKcGQulla5jo61iN+zdcLB42nrXeqG4Qna2Ag68LH2aGcgiAHzWrr1URv6ZdgoG6J1fZrCkC0JKnf+rKMtZKPBw6CZqW1Ua4WEed8AELK5mJku7ZfpwKiJSf7U5BIn5nqXnH38J9p/ZZcpGC1egoG2aaNwfu1HE8DREtsxX76BNfePSDY5fGKzpiLVStLEGRdi0/1azo7BRAtqZX6c2I9o32lfUOuKdHm2iQQqOf8tXbkULIBSOUf82o3hbe/x81SOuhZ+zQR834AAcv7vGXrfhwOiDWxWf3OuBks8My6X1peXmH38s/lxccnnyH/cFzqyzTaconN3u69EXr5W+AAtLPvYSo/Lsijyqk80PaUAzog4NEW861iIb6V7Cp7S3k+CdLxW4I1sdrePI3JA0bDQePz+WYu97oBeo9juVFm3leZ25MgC4DguwesJ5Z85dy5+sO4KaeRoKTmm61NitoiyhlvmNn2NZXPgxgLcJAfwID1xKbmLrV9jF1yulqfBGOleg7iFc7wQ4yDAKndg7e8aoN3ivOCkBPjrO0rnJUFEtwcZC3+Pdb98P+D9BhwtTG8cKzmD2hXOBeL6C0+Pdd6WUBGCB1inNH2FM3osSwQ5Hx653ZJQEbAscKYvcUzerwcBKn2UblcDhD6dP/rzz/enmGlqKl95Pvsm2WUiFYcl0NWyv8ygECcJQAIGPjlLKBCv6yjXdrUvIg90pbEcKU+DgiVc2u/BCAQqxQptefeJFrEjbAyl9HzYfycEK7WLgFBXe7D9oCQuLkYa8WOT3nEoy4t+qWFn2ynOs8PfiOtFMFV64BCWr4fWwPChUdlEqP2JmFyH9RHW8zJc6a2EfNyAexU5kK3rovHyDKNsS0gXGiAo4fYaIzUG2JGH+otFmvAmL2sVTyr+aUEbl2DjP2oWwdYyQ/C4pbElRIrtaXac/68HYKtjU/FIR9usY6UP8/H07/SeVpz/RA1+5EVayz5peK3vUFIOBBWjYik+FFvtR4Ry7yxHrKteXiEs5JvSuTe/B/G8Aav4k8CgqBaRClFOqpOOfI8UU9ZrAuWx3nyW+UsvXk+CPznbeIdg/zfxqkJXCGGRAMBeUQjxUaxPd4YF2Oh3mr5GjG21a5wjrU5doOkNoHZ40gkEE+rCBEP4Vnr8GuxFMvjc3WslXLk/qX67GfYml8KEmrzjHuZ7yBWccPvKGsVs8UPkJC15u8Ry4q+rZBcAhCLuEhQVr+c+BCPftR7WBqDj1OqAxRLHiuK3ptzCySXAARC4RZi420jy/JTXc6Pei8rIcmtzSu2lf1ToGjr2RoQEgUJpVZ0EBXiUfdaKVaMN9piXrI8Zz6vJpDd+r2QbAsIHSyJQoqDC+WocimHUh/lBzEjV2+d4miO0jy7QaCtxwPJ1oDQRnFheMUl/SFSq6V4Lk6MB4s+1EdazMX3A+vQBLVjvxWS7QGBCM6yKUEil1IffGABj7UOP2kBCm/fEQDLmiyQbA8INooL4qhyCQDelxM/2mst1ol41CUk2KMrWg2SywBChw+BHGGlCPmcHA7efmSZ53BFMPiaS5BcChBsyhFC5AKU8+X65Cf9yDrlgDywL1e2OUguCQgJQYq2Z52LT44LUcr2M+qUy0vF/2to+adpV4QtBclpgPB/Je+szRwlyhwEufZReWjj1gBigYP7eM+Wx3rK3nly/k+Q5BxHtnM4UB45n2VsTUzW/hwE1J7rs47dy49uDXp7AfEIVvpqZyD9a+vaPJb+B0gsAb19AAW3veeoHa9FhDkIcu0tc9XGAo5fgHw1/XRrrWB5XOpMeH/vcmo+T9sbKJ6AXr4cDJR7jd1zHK8IczdErt07fqs/h+Ply9f7y1cbHLSnvV78fHqNWRqHz1dTPuU7CKDgtib5o2IswuS3hCxb4kf6PIJBj1cEx+v95fXVdHvQPvd89R5Py61FJwGI43+5LYkYUMDS9YxyKW5032xwaGIe0R+AOETeslkyFuIGCCkLnzPsIxzvj1TvN8c3881Ba97hJc/OWo8bpAGuFBCy7QwwaM4kHK+v95dv3+8v339cDhCC3AoF9wtABgIyDxzv3zdq4CCx7PLiwreWpwGEvrBbk57BT94Usp7K8Qhgnm+OX3CkcrK07QIIrcOyXu4TgGRuECl4T51vsKXcC5wUHJb5Sz47wbEMIHQg/I94ebl0WEf1AYZ/P326l97wk7ZHnl5oOByt8+8GhVyPZ39OuUEoQQ4FL3uSH+FLYi9BIftGwDFiXdqYUkQ717W94P2nAUJJcDB4mSd4ZNkLB2ABJEfm2jLXzuK3rM2zdwHIz+8gEDlE77UU79n4I3wtYrmij2fvTwWEEuU3B8qeBfTyrb09ANIMgFxR7N41e/VyOiASEu8CevmvDohXKFf19+plCkC8SY/wD0CugYxXOwEI+w6Cx6Uae/Yj1jXkXbdKLxTcPwDpAMjZcNCBxiu/A1zw3vI0gOALOlnvInr5k9C9j1qI6ZVD7Th5eURP7Z5S3BSAcDhQbllUayxEn4OF97fO1Ss+MEjvQOv+BiCZn8XCxnIYUEbfTDYtj2htPaMARAGkdYOPjN8VB+yhd32Ia7FTAEILwKPVmd9BWjZyhlivgFbwl/tqzVnG1danAaR2ARFX/h0Hq6Bm9JvhbAOQjR6xrILqBQPm6zWeHAfjn2kDkAsCMkJwUtwt9RH51Y4ZgAQgp/29U61oj4wLQAKQAKSggf8BsnyFPjzLbzcAAAAASUVORK5CYII=" + }, + { + "name": "UFO Evasion!", + "description": "Were you good enough at flying to avoid the UFO?", + "choices": [ + { + "key": "choice 4", + "name": "No, Back to flight school with you!", + "exit_node": "FAIL_DEATH", + "requirements": [ + { + "quality": "UFOs Violently Crashed Into", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 5", + "name": "You barely avoided them! Nice!", + "exit_node": "Tractor Beam", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Tractor Beam Turns", + "value": 2 + } + ], + "requirements": [ + { + "quality": "UFOs Violently Crashed Into", + "operator": "==", + "value": 0 + } + ], + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Tractor Beam", + "description": "Before you have time to think, your drone is captured by a Tractor beam! Now you've gone and done it.\n\nYou should have some time before you are pulled in.", + "choices": [ + { + "key": "choice 6", + "name": "Decipher Garbled Transmission", + "exit_node": "Deciphering Transmission", + "requirements": [ + { + "quality": "Garbled Transmissions", + "operator": "==", + "value": 1 + }, + { + "quality": "Tractor Beam Turns", + "operator": ">", + "value": 1 + } + ], + "delay": 30, + "delay_message": "Decipering..." + }, + { + "key": "choice 10", + "name": "Look at the surface of the planet", + "exit_node": "Looking at the Surface", + "requirements": [ + { + "quality": "Tractor Beam Turns", + "operator": ">", + "value": 1 + } + ], + "delay": 10, + "delay_message": "Looking out window..." + }, + { + "key": "choice 13", + "name": "Let the beam pull you in and dock you", + "exit_node": "Landed, Kinda", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "Tractor Beam Turns", + "value": 0 + } + ], + "delay": 50, + "delay_message": "Getting captured..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAIOUlEQVR4Ae2dW5JcNwiGewdZQNbgbcTbyFM27ZXk6aTkmDJDIXSDIySYqi5dQQL+r0/PeGx//vnxPPnKHKQGeA18SmJqX5k0PmmZlzh5+dTgoPMpijiiyFr/rnU3IBSYMs5EZg5u18ASIAlNApKAcBRMzN2eyIzvzjcL9SfICDspqjtFdVNdtwKCYbopqRnLb/BxjXH/lBy5AQQnr/RPSWD0e9K69Y5PyZtbQHCie5KJ95d+j03uGc8TzfPs+JTcHwEILgJNLF5r9altjvsBaeV2dP2U3B8HyGgh6P5TCuPpnjSHGmNP8Ul3SUDyd9HEj6MaMHA+JFF6WktAEhAWEE7UmnOeIJDukoAkIF8A0YRA8iWJ0tNaOEBK0TwVwNNdJEFrr3mKW7pLApJPkJ9vGNoAtPxJovS0loAkIAmIoIEEREiOp3cy67u03vG9rFvngfoPBwhNQI7//57MCwAr97CoZQKST5AtH7FWQBixXYUmFCCrybrZfkR0J+8dreH1gIwmJOr+k0W/cvdWva8EpBV0rvN/FrQitNtsQSPXAAIBZcuLvycvt4lcIx7x38XSOMDKR0/Bc88YLFa1OtnvT0BASN4CgXtlOyb0lXx508Du+3wBBBL7xqXgrFPbv75/fyxfu/LyRu1POoMFBIpjGQiccVJrCUTL95t5sqz7ab5FQKAo2kGB31PalnjfXn8jb9o1P9VfFyC0ILPBUj/ex28Lf/Q86/zN1vkmuylArAuz2/+oUL3t18yfpdjLPb1/JSDod7G8CX31PhqgaAuY3knbv7a/BOQXIKti9GpPBTkzXhFdz3kr/q1tE5Afj/jj2m/fvj1Wr7eg6hFpa09LiC17ab3le+d6aEA4gVrB0OuXu5PGnCTQ3Ws7AWidHRYQKrpeAe/YR+86O94NgnR+S6i71sMBUhPXDuFrnlmLC89LAvWwtgsC6dxQgGCx4L6mUHf7wnFxfQ8g1O4gCXXXWhhAOLHsFrPl+Vy8Za4mTk/zu2Dgzr0eEE4olsL04puLG+Y8wdBzF064b81dDQgIgrZeRGx9Dxo3jHtE6XXPG2Dg2K8FBMRAW2tRevJPY8djLIIT+1qgtGK/EhAsBNr3JGDru9DY8bgljFPWR0CZiek6QLAIuL61KD355+KHuRmxRLS5ChAovtR6ErD1XaQ8RBT7TMzXACKJga5ZC9OLfxo3Hs+IJaLNFYDgwvf0vQjY8h6tPEQU+0zMIQEB8VgKdLdviLHWzoglos3xgNQE0Jp//vzjgZemmD+fz4Nfmr57fbViL+sRxT4Tc0hAAAzNFkPB9XvFvbKvBwzYMyOWiDZHAwLFHmk1ocC+OCjwHN5r1R/JQ0Sxz8QcChArYWIQpL7V+eA3AdH/FyjDAAIismglKPCaxdngM+HQh6M8cY4FZEQQICKrFkMg9a3OL35H8jHzUSOqTQKCfpo1K2AJCrw267/HLgHJJ8iXH02OCKJHYKt7MAhcf9W/ZD+Si6hPgtm48wmi8AQp4uWgwHOSwFfXEhCbp0eBKgQgRUCrIuy1x1CUfq/dyr4EJAH58vGqkD0iCrp3RYwebWl8tfHsx4zIdmGeIDXReBT86J1qsXHzkcU+E/uxgJRgOQFozI0KdOf+mXhnhBLVJgHp+K/UdgLQOnsGkGITVfCjcR8NSAl2ViBadi0BW66vxjAqloj7jwfEAyScUD2Dge8bUfQjMV8BiFdIsBChvwoO+NFsRwQTbe/RgPz79/Pgl6ZoovmKJvzeeI8EBEPB9aOJWzPeXuFE2XccIBwQdA6KpymcSL4gf9ke9qsmFARpTIsbSeCrsdLcRR4f8wSRYODWpKKuCiiCvZS/SGtHAMIB0JqDItJ9ME/bCKIfjZHmKOLYPSBU4FrjVrFHxXTr/laebl93DYgWDJyflcJ6gIHGZHmnlVydbusWECoAi7F28SxFCr5beYB92q12rk7x5xKQlgi01nuKRM/qsaF7tMRK78KNtc6ifmhMUcahASkCqxWaEx+eq9nReWwjnUft6Jj6kcZU3FpjeqcIY3eASIW3WKsVuXVWzQ7mV+3BT2lbvui6FhCcH3yvCH1XgNBCvzXGhR45E9vRfssP3c+NWz5q65ywNee4u946l4Cgj1k1wdXma6Ko7afzq/bUH4w1YeB8wf8LWLv/TfNuAIHi7mhLQWfO5YQw4ofaj9jW9nKCtpgDSHBL47lh7AKQWrG9z1MBjN4X24/a1vaDTwsosE8MRq0Pdzm53Q5IrdAnzEPhZ+9a7GdtOTu4D7RY0Bb9Ghi1ebjXSe1WQLginzRXCu3lvpzoilAtwACfNRB657k7e5tLQMjfSuwV/AlwgFBB0Not+NdqvcFR7rMNkF4h5j75KcWJihOsNhzgjztLY46La8fcFkBS9LLoe/LDiaUlTBC1Zts6U2udi/eNuQRk8iNWj4gt9tRE0SNETTDAV8+5WntqsVvOvw6IhWgi+JRE0CtAELVm23u2xj4pB1ZrrwISQcgWMUrFrwmP3gP2acJRfL35JeXBai0BcfwRSyp6TZgUDDo+DRApB2+svQYILVSO5W/Ua8WvgVHme3LqHZBa3LvmExCHTxAJgtpaDxywxyskuyCQzn0FEChMtvK7fE38rfnRvCYg9b8oR2ExB2S0eFH3tyCorc/kyyMgVJhexgnI5o9YNeH3zM/AUWy8AeIFBu4epoDMFvBtu5KYt88s5618zd63nKkNSPG38sUJ08tcaECgCLNiW7FbEdTquZ4AgRp4bcMCgguyIrhR2xUwiu3oeXg/nJ2AOPkmHRfHU/9EOFbzB3BA6wUSXAuP/f8AHPtbaN2iPfwAAAAASUVORK5CYII=" + }, + { + "name": "Deciphering Transmission", + "description": "You review the incoming transmissions your drone has gotten. These aren't in need of deciphering, just un-garbling it from the bad connection...\n\n\"You are in Space British Air Space! Identify yourself, Tally ho!\"\nWhat the fuck?", + "choices": [ + { + "key": "choice 11", + "name": "Whoops!", + "exit_node": "Tractor Beam", + "delay": 0, + "requirements": [ + { + "quality": "UFOs Shot Down", + "operator": "==", + "value": 1 + } + ] + }, + { + "key": "choice 12", + "name": "Good thing I didn't blast them, then.", + "exit_node": "Tractor Beam", + "delay": 0, + "requirements": [ + { + "quality": "UFOs Shot Down", + "operator": "==", + "value": 0 + } + ] + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Commercial Airliner Transmissions", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAALM0lEQVR4Ae1ddegGSxU9WBio2AjPFluxAwvEThDFVp74nt1iYHd3FyZ2Yj1FfehTEQPrmYiFYmF3Xjmw+1jnN3NndnZnv+/bPX987Lc7s3fuPffcuzGxAGD6CQNxIMmBZIECR8lDHFDmUIIQB1wOuIXKILqKbJ0DChBlUHHA4YDAccDZevaU/SKHEoQ44HLALVQG0TPI1jmgAFEGFQccDggcB5ytZ0/ZL3IoQYgDLgfcQmUQPYNsnQMKEGVQccDhgMBxwNl69pT9IocShDjgcsAtVAbRM8jWOaAAUQYVBxwOCBwHnK1nT9kvcihBiAMuB9xCZRA9g2ydAwoQZVBxwOGAwHHA2Xr2lP0ihxKEOOBywC1UBtEzyNY5oABRBhUHHA4IHAecrWdP2S9yKEGIAy4H3EJlED2DbJ0DChBlUHHA4cDhgnM6wI4B7MKAneUAMv0ZALtA9zvTAehL0pwdsEsBdj3AbnAgOjtkr7kaHkaAXAWwxwB2EmDfBex3gFnw+ztgPwXsU4A9BbAbAXbGHTn1OoA9FbDPAfZ9wP4Y6Erd/wLYTwD7aGfbdQE7dUN9T9MllCsDdnPA7gHYYwF7KWDvBuwzna5/juhKfT/YULeZSV0TCKlz9jdALgPYazvSh8EwZv91gF11AedeC7C3APabBMFKdP4XYC8E7JIV+l6sC0pi9iHAvgzYzwD7zwR9hjp/vkKnPSZ+KiDC4/sXIOcF7MUzOXXo4I8Axuw5t9MuAdgbG+j7dsAuOELfGzfQYYgfr4RzY3cA8vbL6EcC9o/Gjr73jI5+bmNdfwvYbQv15VVySOi5//++UI8DIP2YQN+fAHlBYwcPCcPbkKmO5O3UUGbL/88q0PeiC+gzFbMDPH86UeYw+m0LODck8PMLSBez7VyAfXIH+j48o+/ZFtAphsfKj+0+QD62gGPD4Oj3H5ohXej8MwN28g71vUNG396uVttTZdoP8VrB/m4D5GU7JFtPIr5eLXXke/dAX/b7pPTtbWq1PbfTdkqnAz+eBru1YQ/ZA7KRSB8udPqz90TfVzr61gQG+46eDtgjALsnYLfr+pCuBtjFAWNQsFO2NR/2VP5uDL/6npCtJ9RNMwS4zZ7pe9mEvn+o0PPbCVl7StilA3U3AfKeCkf2ZG6xZe+7R4gv7pm+b07o+4MKPRlUnu0bL1seHI7rmYvkqWERNfLPmiDK3WbUl/0aNbqF5/w8oeuXKuWfpxvTdjnArgkYbX4iYByF8LhEWxsJnOUD5IRKJ/Yk+R5gdwGMQyvoJA5U5P0ye577OjXbWyWI8M2Jcr/QjQ3re8XPAdh9AZuKw+Uj+nJcV43t3jlviLSzkeAgv5YNEGYqzxm5Mg5Y9HQmyf9d2UasX2Rq7/SbMvoeV6krcXpQRPZbJ8hLYf+BSDueD1ZW5hNubmPvOsGBHy901O0r2/h0RD5Hu6aIkztO8pfgx76YnKxYOcd/hfI5MjdWd8qxz0baCdtd8f5RkFsay4fLGmfx4XOMXiT72Ha+FWmDQ8DHymH93EN/aMuPK9qJvZ5+UoWcnH3fieAS6r/i/XHEmwoE5z/kHBIrf/JIJ3G4d0yOd+xXQRucP+HV98pKrx49ni+vaIvPNv35/Za3XZ5eNWUhLn1bG9keBbml4X+tdCDffI3R644V7fw3aIPD7msIxXMuFMjK6f7oirZiV9Upt7ApWzmfJKf/isuXM57jmFJOyB1nj+4YJ9y5sq3hDER2xuX0SpWP7Xmuedb5RQSTm03QOWULj4/BfmV1lzOeY4g8J3hl1x7ppIdVtPW3oI0p/TXnC2TlSFPzcB3rAb9Ghd0e7n1ZTv8Vly8XIJx51wM+dpt7vRs6iG+8xrbB6alDOVNm6LGfZigr95+z9cbqG3u7xCvtWDkl9cdeEXP2HlD5OEdOMYwrZJQ4I1aHnYOnLyQdR+fGZOSOcRj70L4rVsphOycGsoZyw/93qmwn1j9xzkpZOWz4PBbqvZH9ZQ3/5wQHvr7ASefvFivIOTxW/opAPpcUitUrPfbMQF6MUJwj/8vKdjg9OZTJ+Rql+o2pd+lIW2HbK90/CnJLQzm0eoxjwrpcnoaZPaYje9F5pQnPKd0P537ztqL03FQ9Tu29SEJfjnfiPO/UubnjqZVacufVlI99Boz550CPxcnWyph3TiDE0LGcD853/hyGzlek759BLsdIhXazr2HYbu1/Xv3uAxhnBD6h60islcXzvL6JKXJ5Lm3mMxyT0au7cWRXimATYrXS/aOkaGkoFyub6sAW5zPgYnZzAboW7U2V+YyEvrSBC9LVyI/Zr2MO0C3A4TNCjfNan5PKkFwhsXXbY+VzcTlv6mvtaIUW/l6BzHjmbGnY1GHeYwmVq5+6evQYcIxWTsaS5d7Vgzp/tVJfrorS26ztKVic8mcxcK5f6cAWJPyT8xDdk+TYPdKXAwe5CHavW2z7iUp9Uy8TYm1s6JgPdisg+A6/BeHHyizt0KvNymP1ydUvGZNW+yKEC4S38vcBy90NKFcAbM7psjlixco5grbUcVzUISZjyWOlownYn1OjF1fDL8VjWO/+gL0KMK628oACGeztfxpg7+oW2+aKkEN5sf8PBuw1gNE2vg2M1Wl0bNHG/s8w9lvUOHKOc0o6HUPA77VDfUuWHu31JflqMMotStfLH25jK2K+wyEwg5Bj3ob68TbXuzLydfOwPv+nFq0Y6jbT/90FCA24X8T4EIy598dcOUKQ+c2PufXJyePiCaEe3n7NQE3qwHnyntyw7HgHi1SWT73w+Fqi7Qc6bfDZMNSpwf4ijbiGzLlqSI5sz5sB1FoC5nSLlceGk+RIUPtSgUPuc7KH5bxSxHTmMS7rNKzL/7ytTtXn8dhwFn60J3XOQleRo4aEhi2xz6EMP3LASIFUepxDUGpuIVK233pCh1yJzuzNvkmEZCl9hsdrb11ji1YM5Yb/PfLyVX5Yn8sJebbHXhJ4i4THgjBsc4b9o4bMIPQIOCUyueIJB/ixI8wDcmxZq3WduOxQ7QNxygZ+Wq7kQdfDk1+6Ssn3jo9d3ufxTjuxKdIc28bP5MV04HNIzCbyIVafxx6VOCcmZ8KxuGITBEYNHSOvD5QfOuCkQOuPc30orhbiLfQ8Rievbh8onOHXtz9my2nI7+vezszRWcePbo5pv68bGz7v2c0yPjv05/fbcNrAUAafTfp6wy2HIA3r9f/5zUZ+k3JYl/+50mVfp/F2sYaqDOK3+vhFKN7vcqUQLuLG4eGcJ80Be18HjJ9P4BI4XFyatxe5jrSWgPI+m4tyk/BcEYWz/n7dOZirIX4FMH4KjisWcsHoGzZwNBMMX6EzwfBWjauf8OrwnG6B6rsDdgvAuD4yOwenfCGYBH5R13tP214C2GkzNt2y+4Yi/cigzK2LTH/yxco3uqkMY28FJ/p7vwNkonFVQak2xYkBBwTGAAwFVCb7bxArBcgGna5EUJ4IFCAKEHHA4YDAccBRpi3PtGvFSgGiABEHHA4IHAectWZF2VV+ZVSAKEDEAYcDAscBR5m2PNOuFSsFiAJEHHA4IHAccNaaFWVX+ZVRAaIAEQccDggcBxxl2vJMu1asFCAKEHHA4YDAccBZa1aUXeVXRgWIAkQccDggcBxwlGnLM+1asVKAKEDEAYcDAscBZ61ZUXaVXxkVIAoQccDhgMBxwFGmLc+0a8VKAaIAEQccDggcB5y1ZkXZVX5lVIAoQMQBhwMCxwFHmbY8064VKwWIAkQccDggcBxw1poVZVf5lVEBogARBxwOCBwHHGXa8ky7VqwUIAoQccDhgMBxwFlrVpRd5VdGBYgCRBxIceB/bK6VghmpUw0AAAAASUVORK5CYII=" + }, + { + "name": "Landed, Kinda", + "description": "You have been locked to the surface the beam. Robots are all around you, pointing at your drone with all sorts of old age weapons.\n\nOne of them angrily shouts at you, \"By God, Queen and Country, we've got you now!\"", + "choices": [ + { + "key": "choice 14", + "name": "Go out with a bang. Initiate self destruct!", + "exit_node": "FAIL", + "delay": 0 + }, + { + "key": "choice 15", + "name": "Surrender to the funny looking robot brits...", + "exit_node": "British Courtroom Start", + "delay": 50, + "delay_message": "You are being transported somewhere..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAIT0lEQVR4Ae2dvY5dNRSFzxsg0dKNBBLFKAiJApSKglREoqSDhqFAQihNChoKAiONlCISBUqRnlfhDXgRRGNkyI7W9dg+23/Hx/YqLO9jb/9tr+/Yc+9kst0+uzVMjAE14NfAxsD4A8O4MC5WAwSEJyhvEBENEJBIcHiK8BQhIASEJ0hEAwQkEhyeIDxBCAgB4QkS0cBygHzzlzHaxBOEJ8hSgGjBQD9CsjYkSwKiET0hWRsM0cgygOQIPqeNBPboHOfq2kfPZabxlgMkdfNQbKltW/vj3DR26/nM2D8BiXyCIRuO4pOy3jnOSWzfnKTO5r56lsWvkssBkisUEdoZBCVz0a5F/M8w99HmsAwgdmNEKFph4WaWtMV+Su3UeaT6l85vtvZLAWI3DwVj7ZQNlbYpbWr6yvjaeaf615zrLH0tB4jdOBSOVmxuux4CkHlrxhbflPVp+l3NZ0lAZJNRRGJLXSgXv6OFpx0X/Y6eYyhmI5cvDYjdOFdQ8hzbVI1PrH1O3d6YUo95zjhsc/mp1vKAoCBQXGijj7Wlzi1v9Szj2dwdA+vEdn34fCn6lHgQEM/3ICI0X26DK+UpgS7x9Y0nZZiXjMG2fogIiAcQFAsK0LXRr5WNY9ox8FnsVmOzX/6b9HtXlpgoRJCSx3xr1clYvrzWGOzHf3rYuHQ5QbjZ4Q1xxcpY6WPlxq7G8+GA+DbcLauxsFn6wNjMsqaR1tENEAwSigBt9KHd9026avxPAQgGHwGxNtbRJiRHa6AbIHviR1CODopmvM8ePTItk2YOLX0w/jG75RzO0PfhgNhFS8D3AiB+Nt/zPaK+JRB7fR+xPhkD4661pe1s+akBscHGDeoV/D3xHl3fKg4Ya2vvjYP+e76j1ncFRLMJNrC9NuJo4aeOV0t0GF+xtX2Lv821bUby6wKIDZAEdi9Y4of5XpvS+lShns0/df2lsZX2qeOO4N8dEBtcDJQEO5ajf037bEIvnY8mNhhnjb/rU9re7e9sz6cABIPss48IWqkYz9o+FjuMdczPV4dtre3zmaGsGyASPDfQPYJ9VnHXmpfEGnOMO5aLjfV7trSZMe8OSI+g1hLeSP1gnPcEr63HPme1lwJkJEG3mKuImADofyNhe/DhR2YvSWBHzVuIbcQ+Zf8EEHlmHgZmekBGFHLLOROGMAy+2BCQhN+pur6+NpJExPIcysXvLLlPBCwLQ7P9/uqV8aW9a1fN+lYbVFuUIQhKymvPUdNfq3jP2C8BSThBzDtvGZtKgNC21Qg912dGIbda07SA5IrH107AwFwr9Bp+vjmVlrUS1Gz9XgCC16bHj380kn55/tz40t2LF0aSr96W/fby5Zvku8rZMhw3ZKcEvlQ80h6B8Nk1xJ/ah8ytNE+J58q+0wFSKhwfCHtlqSKv4V+6zpVFn7L2qQDJFc0eACn1NcSv7SN3vbZdikhW9r34mFeuVDb//sl3b9JPn3xh9tLNzY3ZS9gnXr3QxisWjonlvg3LEUuK8HN9tWLP9ctZNwEJf6zramsKQFJFkiv2Fu1ywXDbpcbAFQKf/dAsB4hG5Nu2GUyaNkf5uGDIMwHxC7wU/AtA8BrT2r66es9ICo3157YZSeiDi9YKQyNghMJna/ro5aONg/hhDGmH4SIgr7/8s8L2QYFlvcSvGVeEr80JRRgKjM3QgGjFoBEYghCzNX318tHGw/qhCGiHYdmePv3DSJIrz3/525u5kgTXoTdltq6kHNr+endnJOFV6p+f3zWS/v74fSNJNlQrCI1gY1BgnaavXj7aeBCQMBCiLckJyOsrFkIQs3uJf29cwqEXvYhfkw8LSIog9sRl62NQYJ2mrx4+KfHQCIM+/wO3PXz4lZGEV6ZvH3xqJLUoxz7xWoW2fIJlcyy3m5ciCK1gEQSfre2nh19KPCh+/WlDQCb4FItw6AWf+nIgIACIvPnd00PKz5oTkIaA4FXnSPvLr38wknJ+FytFFNb3rOKuMa+UWKS+QVf3346EAscSOGx+BCAoohqiPFMfuLaYvbrYc9a/JCAoojMJPXcuuJ49O0ckK7fZLr74ky8G3S8B4Us9fPOX2PipFNo4Hyz3bdKeGHLrc4Xao13OGn2xZJn/5xgCovijDT2Erx0zBxDbhkD4gXDjMjQgdjG5AqnVTivkFn6la3DFwOf70AT/Nm/oqlOrHK9P2GfOJpUKpUX7FkBInzXnmxPvldpMAYjdsJqiadmXiDw3bzG3lQSfutZpABkJkhYiL+0zVTir+G+fX31gJIUWjVeg0NVIUx7yCY2bW14qlpXb58Z81nZTAiKbtbLQS9Yu8WN+a6YGBDe4RDCrtcW4rW4HfwaZOTCrCT5nvTPvf8ralgTEF6AcEc3exhen1coIyLP7Xw5ZEcwufu36VgPCXS8BCQDiBgqfteKaxQ/XvppNQDIACYlkFiB86witefZyAlIRkJBYfIIbrSy0ttnLCcgBgNQQ0RmAqrGO0fogIIMAIsLqDYrMY5WcgAwGCAqzFyw4h9ltAjIwICjOI2HBcWe3CcgkgIhQjwJFxps9JyCTAWIFewQks4Mh6yMgEwIim9saFBln5pyATAyIFW5LSGYGQ9ZGQCYHpCUkIqKZcwKyACCExP8LqRqwCcgigLSCRCOykX0ICAEp+jllZPFr5k5ACAgBiWiAgESCo3nDjOZT+1Ot0dafOl8CQkB4gkQ0QEAiwUl924zgzxMk7RMtArIYIBZiQqKHhIAQkGJgRjg5c+dIQAgIAYlogIBEgpP71jl7O16xeMXi/6AUAb82ILa/s78UcufHEyQipNygnr0dAeEJMu0brQZ8BISAEJCdk5GQ6CD5F0cJWniQ8Kf0AAAAAElFTkSuQmCC" + }, + { + "name": "British Courtroom Start", + "description": "Wow, that took forever. A one eye judge robot smacks their gavel, and points their hammer at you.\n\"I will now read out the crimes you are accused of!\"\nIs that how the judicial process works? You dunno.\n\"ONE ACCOUNT OF PLANETARY TRESSPASS!\"\nThis blows.", + "choices": [ + { + "key": "choice 16", + "name": "That's not that bad.", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAJiElEQVR4Ae1cQbLduA18N8gBsppVVj6B9+MLzA1yn1z5pVBJu7owlAhQoARSUNUvkGADBJvop/dtz3z+8/PzrZ/ioHqg3QOfIqZNTPFSvEgPlEDqDVrfIE56oARyQk69ReotUgIpgdQb5KQHSiAn5NQbpN4gJRCHQL7Jn8/n85WfHZ+nPqy2EciOTeE9084C6XExS0DLCaRH1JvX3ywQ3Hu0UNILBAcv22cAAtn1a1afgW/4Hzg8IhDLQe/EoLF4z5aP1zOOUfMqAkG90VxGvkVuFUg0EVH5WhfV8kXtNyMP6oUd3QPxbM9yWXGcg2Mw5vWr4yUF4jk0SIP1xI5gsY9YefR8JOddMVwrjy37A89Y+NjyOo8ZgzGvt8bAadvCjvq2FYgmDfNRojxxvBePz3JYcbNyYP+Wbe0JnKxhLJYf+M8wwLewWGtZ4HlP+Fr4Ud9yArEeFGQxgdbYqzjeG+Nezhau5ZM88IvlB3749Bx+bYHjfOxjP2KxLnMeY73l7+GwD3CYc06MgcG8tR+vjY63F8goMVfjcIGwvXwtHPswblnkxpqei//s0XGChQ9Wx7Ofx4zTfszF8tPyw8c4HmO9ZRl3dVwCOWEQ5DMEPlhe4zHW2fK6HgMHP+Zi5eG59lligGlZzo119mE/rInV62eYVlzLxzmQn3E8xrq2jIkYLyUQz4FBXC8GOLH8WPw6huNlzDm8WI7VubCPxjCOx8AhrmWBObMcp3G8hjFjtA9zsVZcL4bXo8bbC4TJx5jJg08sHvaxX9Z5DfgjC+zROvuBbVngeE379JyxPAauZRmHseB4jDj4YOHXFuvaMo7X4G/5sCa2t87Y0XGkOCTX9L8H8RyUCdRjnYfXZY3nGCMGc7HRD3Ijr56LHz5tdQzWtR/zqxb5xfYexmLMMfDpXPAzlsdY13GMuTLeWiBCDAi0kAQsW87Bl8AYHlv28WCQW8fAD6vXs81Rp9jW01tvxcDHsTo/1oD12GhxTH+DeA4HrIcgYGF1jp5f1iMf7BedN7LGqFxXzsqxR2NvnTPEkVogEU0G8q1kj5KMfWBH84zGWc8XicNZr+ZEHraenKOcWeOm/Q7iOaTGgiztj55bSerhUK/YHvau9WiuMuW7i0PZZ4pA3krmnRc3ulemu7HWMnrWiLitBBJByFtzWJv1TlyGuwgXyEwCMxD2phpm3mUrd0ZuQwXSOrTVl5Gcs5r+/PXrO/PnbO9au+93vRQCWeXCZwqil3sVjnarM0wg1jcF41Yhs9e8d6+vwtsOdT4ikFWIu7vxvfutwuPKdYYIhN8KvfEKZHkbNRt+BY5XqfGyQHqC4PXspGRr9Kv1ZOd7hfpuEcgKRFxtxqzxK3CfucZLAuG3w9k4MwFSW9bmjqorO/+Z65sukIyHj2q8lfJkvIcVahoWyNkbQ9YyHn6lhp5Ra8Y7yV7TFIFkO/SMZlsxZ7Z7WaGeIYEcvT0yHnjFRp5Zc8Y7ylxTmECyHjKy2X78+PHFD/JifmSBy2Kz3lPWutwCab09sh4uuimPRHDFH12jJV/W+8pYl0sgK4lDyLY0iwdzRQjeWE9dXmzGRsxak1kgbxSHt6ln4b0CsOCzNmS2ukwC0eLIdghdj6VBLJhZDX8lr6VuC0ZzVvP2f2PiFkh2Ii3NcYb5/vMfX8vPlSaPiD07g2Ut+z1mqc8kkCzF9uqwNEYLYxFEDxPR9N4crbNYfT0ua/1/b5RtBGJtDMb1mj5i3dv0XjyfxzMuAbS/UmlethCIpzEEG9H4UTm8gjjCeznQjVDztmBeJxBLY/P/CE7Glpi7MCWQdiPPEvjyArF+cloaWAtDzy05nsJYeQBuVkPtlrcEQn9qpQWh5081v2VfNL7V7tbIs86ztECszWBpMC2Go7kl11MYKx+Cm9VQu+Utgfz/DXIkCO1/qvkt+5ZA4n8/KYFsIpASR7w45G24rEA8DWH59NVviqO5JdcTGA8fu30NmnmeEsgLf0mf2VC75S6BbCCQenvM+XolYi+BkEDw1Uh/vYI/qy2BbCSQf//r88XPldexpykEm7W5I+rycHGF8zfG3vIGgSC0/euPz1d+Roj3NIXGRjRlphz6fEfzEZ7fHjNdIFoUMocwYEcu4agJvP5MjT5ai+fMI1y/OWaqQFgcEMOZ9V6EpzE82NFGfSLOcy5gvTy/GT9NIF5xiHC8F4ELn22faHzrnqNn93L9Vny4QKTRR8TBbxbPZYw2SFSctZFn4K6ewcPzW7EhAmFB6DE3vnXsvYyrjTIjfoYgkDOyXi/Xb8NPE4hVDEc470VENs3MXGjyUTujNi/Xb8JfFshRg1/1j1zCjOZ5S84Rvt8Qk1YgIrDRC3hLU8845yjnu8ZtKRBc1owGekNO8Fc24N9iXf0qdRYfeUFvaOyoM0byvnquy28QIeCsya+szSI3qpF2zjOL+9XyhghkRZHoi9q52UfPpjl64zxMILNE8tSljDbVbnFP8Z9l3xLIT/+flu0mgt55sjTrE3WECgR/i37l945W7BPEjOzZa7SV10f42CFmikBEKK1GH/WtTvTKwkDtq9/BaP1hAkHzv/0tMnoRvTg06pO2V+OO6yECgTjEQiDRbxHJveMFeM/0pEBkb2+9q+MvCYSFwWOIhH1R49UJj6z/KbFEniF7LrdALM1vwYwKJjuhT9V3p1ieOuMT+04VyIyvWSKsJ4haZc+7hLIKH1frNAsEn/h4O/SaHzjERdurB985/g6R7Mwfn60rkFZjW5rfgmnl7vmQlw9R4/ZbdbZQ3sD7oUDOGhVNKvYIB8zRusePXGzfcDkRZ5wpkoj6suf4LRBuWDQi+/S4h8G6EKBjrXPk0FbisxObqb5ZIsl0xlm1fFrNioZsrcEHjFj42HLB7LeMOTfGHMe5a2z7sCiR2HjS/TQsEGnYVvOKX28ic27wszFywjK2lbd8bb5bvMwQSWufnXyhAukRw83eGkMUYmW9l6/WfRyVQHx8SX+dCgSN2mpm7bM0q47BnIUhY0uuwvh5KoH4OWsKRBoXTYsmPrPeZkUu7MHWm6vwvkuPFsnu/F8SyFVyShi+5r7Kt8SXQHycuwUScUmVw3dJkXyVQHzcHwoEX4PERl5Q5XqezxKJ/Q4OBVKNbCdxNa5KIPa7/ZtAVrvsqtd+2eCqBGLn7LdAQF5ZO3mrclUCsd/x73+LteplV932ywZX0QKRfMi9my2BDPx/sVZvghKI/UOlBFICCfm7kdU/NI7qL4G8UCDSDPUWsb1F/gs9r28akoDJcAAAAABJRU5ErkJggg==" + }, + { + "name": "British Courtroom, Continued...", + "description": "This big idiot they call a judge just keeps piling on crimes. With each one, some robot you'd like to drone-punch gasps in the back.", + "choices": [ + { + "key": "choice 17", + "name": "\"INTRUSIVE SCANNING ON OUR CITIZENS\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Long Range Scan Report", + "value": -1 + }, + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "requirements": [ + { + "quality": "Long Range Scan Report", + "operator": ">", + "value": 0 + } + ], + "delay": 0 + }, + { + "key": "choice 18", + "name": "\"SHOOTING DOWN A COMMERCIAL AIRLINER\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "UFOs Shot Down", + "value": -1 + }, + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "requirements": [ + { + "quality": "UFOs Shot Down", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 19", + "name": "\"AND WE HAVE PROOF YOU KNEW IT WAS JUST AN AIRLINER!\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Commercial Airliner Transmissions", + "value": -1 + }, + { + "effect_type": "Add", + "quality": "Crimes Committed", + "value": 1 + } + ], + "requirements": [ + { + "quality": "Commercial Airliner Transmissions", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 20", + "name": "\"THE TRANSMISSIONS WERE NOT LEGIBLE AND UNTRANSLATED. WE CANNOT PROVE MALICE!\"", + "exit_node": "British Courtroom, Continued...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Garbled Transmissions", + "value": -1 + } + ], + "requirements": [ + { + "quality": "Garbled Transmissions", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 24", + "name": "I think it's done listing crimes, thank god. Time to argue my case.", + "exit_node": "Verdict", + "requirements": [ + { + "quality": "Long Range Scan Report", + "operator": "==", + "value": 0 + }, + { + "group_type": "AND", + "requirements": [ + { + "quality": "Garbled Transmissions", + "operator": "==", + "value": 0 + }, + { + "quality": "Commercial Airliner Transmissions", + "operator": "!=", + "value": 1 + } + ] + }, + { + "quality": "UFOs Shot Down", + "operator": "!=", + "value": 1 + } + ], + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAJiElEQVR4Ae1cQbLduA18N8gBsppVVj6B9+MLzA1yn1z5pVBJu7owlAhQoARSUNUvkGADBJvop/dtz3z+8/PzrZ/ioHqg3QOfIqZNTPFSvEgPlEDqDVrfIE56oARyQk69ReotUgIpgdQb5KQHSiAn5NQbpN4gJRCHQL7Jn8/n85WfHZ+nPqy2EciOTeE9084C6XExS0DLCaRH1JvX3ywQ3Hu0UNILBAcv22cAAtn1a1afgW/4Hzg8IhDLQe/EoLF4z5aP1zOOUfMqAkG90VxGvkVuFUg0EVH5WhfV8kXtNyMP6oUd3QPxbM9yWXGcg2Mw5vWr4yUF4jk0SIP1xI5gsY9YefR8JOddMVwrjy37A89Y+NjyOo8ZgzGvt8bAadvCjvq2FYgmDfNRojxxvBePz3JYcbNyYP+Wbe0JnKxhLJYf+M8wwLewWGtZ4HlP+Fr4Ud9yArEeFGQxgdbYqzjeG+Nezhau5ZM88IvlB3749Bx+bYHjfOxjP2KxLnMeY73l7+GwD3CYc06MgcG8tR+vjY63F8goMVfjcIGwvXwtHPswblnkxpqei//s0XGChQ9Wx7Ofx4zTfszF8tPyw8c4HmO9ZRl3dVwCOWEQ5DMEPlhe4zHW2fK6HgMHP+Zi5eG59lligGlZzo119mE/rInV62eYVlzLxzmQn3E8xrq2jIkYLyUQz4FBXC8GOLH8WPw6huNlzDm8WI7VubCPxjCOx8AhrmWBObMcp3G8hjFjtA9zsVZcL4bXo8bbC4TJx5jJg08sHvaxX9Z5DfgjC+zROvuBbVngeE379JyxPAauZRmHseB4jDj4YOHXFuvaMo7X4G/5sCa2t87Y0XGkOCTX9L8H8RyUCdRjnYfXZY3nGCMGc7HRD3Ijr56LHz5tdQzWtR/zqxb5xfYexmLMMfDpXPAzlsdY13GMuTLeWiBCDAi0kAQsW87Bl8AYHlv28WCQW8fAD6vXs81Rp9jW01tvxcDHsTo/1oD12GhxTH+DeA4HrIcgYGF1jp5f1iMf7BedN7LGqFxXzsqxR2NvnTPEkVogEU0G8q1kj5KMfWBH84zGWc8XicNZr+ZEHraenKOcWeOm/Q7iOaTGgiztj55bSerhUK/YHvau9WiuMuW7i0PZZ4pA3krmnRc3ulemu7HWMnrWiLitBBJByFtzWJv1TlyGuwgXyEwCMxD2phpm3mUrd0ZuQwXSOrTVl5Gcs5r+/PXrO/PnbO9au+93vRQCWeXCZwqil3sVjnarM0wg1jcF41Yhs9e8d6+vwtsOdT4ikFWIu7vxvfutwuPKdYYIhN8KvfEKZHkbNRt+BY5XqfGyQHqC4PXspGRr9Kv1ZOd7hfpuEcgKRFxtxqzxK3CfucZLAuG3w9k4MwFSW9bmjqorO/+Z65sukIyHj2q8lfJkvIcVahoWyNkbQ9YyHn6lhp5Ra8Y7yV7TFIFkO/SMZlsxZ7Z7WaGeIYEcvT0yHnjFRp5Zc8Y7ylxTmECyHjKy2X78+PHFD/JifmSBy2Kz3lPWutwCab09sh4uuimPRHDFH12jJV/W+8pYl0sgK4lDyLY0iwdzRQjeWE9dXmzGRsxak1kgbxSHt6ln4b0CsOCzNmS2ukwC0eLIdghdj6VBLJhZDX8lr6VuC0ZzVvP2f2PiFkh2Ii3NcYb5/vMfX8vPlSaPiD07g2Ut+z1mqc8kkCzF9uqwNEYLYxFEDxPR9N4crbNYfT0ua/1/b5RtBGJtDMb1mj5i3dv0XjyfxzMuAbS/UmlethCIpzEEG9H4UTm8gjjCeznQjVDztmBeJxBLY/P/CE7Glpi7MCWQdiPPEvjyArF+cloaWAtDzy05nsJYeQBuVkPtlrcEQn9qpQWh5081v2VfNL7V7tbIs86ztECszWBpMC2Go7kl11MYKx+Cm9VQu+Utgfz/DXIkCO1/qvkt+5ZA4n8/KYFsIpASR7w45G24rEA8DWH59NVviqO5JdcTGA8fu30NmnmeEsgLf0mf2VC75S6BbCCQenvM+XolYi+BkEDw1Uh/vYI/qy2BbCSQf//r88XPldexpykEm7W5I+rycHGF8zfG3vIGgSC0/euPz1d+Roj3NIXGRjRlphz6fEfzEZ7fHjNdIFoUMocwYEcu4agJvP5MjT5ai+fMI1y/OWaqQFgcEMOZ9V6EpzE82NFGfSLOcy5gvTy/GT9NIF5xiHC8F4ELn22faHzrnqNn93L9Vny4QKTRR8TBbxbPZYw2SFSctZFn4K6ewcPzW7EhAmFB6DE3vnXsvYyrjTIjfoYgkDOyXi/Xb8NPE4hVDEc470VENs3MXGjyUTujNi/Xb8JfFshRg1/1j1zCjOZ5S84Rvt8Qk1YgIrDRC3hLU8845yjnu8ZtKRBc1owGekNO8Fc24N9iXf0qdRYfeUFvaOyoM0byvnquy28QIeCsya+szSI3qpF2zjOL+9XyhghkRZHoi9q52UfPpjl64zxMILNE8tSljDbVbnFP8Z9l3xLIT/+flu0mgt55sjTrE3WECgR/i37l945W7BPEjOzZa7SV10f42CFmikBEKK1GH/WtTvTKwkDtq9/BaP1hAkHzv/0tMnoRvTg06pO2V+OO6yECgTjEQiDRbxHJveMFeM/0pEBkb2+9q+MvCYSFwWOIhH1R49UJj6z/KbFEniF7LrdALM1vwYwKJjuhT9V3p1ieOuMT+04VyIyvWSKsJ4haZc+7hLIKH1frNAsEn/h4O/SaHzjERdurB985/g6R7Mwfn60rkFZjW5rfgmnl7vmQlw9R4/ZbdbZQ3sD7oUDOGhVNKvYIB8zRusePXGzfcDkRZ5wpkoj6suf4LRBuWDQi+/S4h8G6EKBjrXPk0FbisxObqb5ZIsl0xlm1fFrNioZsrcEHjFj42HLB7LeMOTfGHMe5a2z7sCiR2HjS/TQsEGnYVvOKX28ic27wszFywjK2lbd8bb5bvMwQSWufnXyhAukRw83eGkMUYmW9l6/WfRyVQHx8SX+dCgSN2mpm7bM0q47BnIUhY0uuwvh5KoH4OWsKRBoXTYsmPrPeZkUu7MHWm6vwvkuPFsnu/F8SyFVyShi+5r7Kt8SXQHycuwUScUmVw3dJkXyVQHzcHwoEX4PERl5Q5XqezxKJ/Q4OBVKNbCdxNa5KIPa7/ZtAVrvsqtd+2eCqBGLn7LdAQF5ZO3mrclUCsd/x73+LteplV932ywZX0QKRfMi9my2BDPx/sVZvghKI/UOlBFICCfm7kdU/NI7qL4G8UCDSDPUWsb1F/gs9r28akoDJcAAAAABJRU5ErkJggg==" + }, + { + "name": "Looking at the Surface", + "description": "The surface of this world looks exactly like a grey version of Earth! It seems to be an exact replica of some kind.\n\nYou see creatures moving around on the streets", + "choices": [ + { + "key": "choice 21", + "name": "Cool!", + "exit_node": "Tractor Beam", + "delay": 0 + }, + { + "key": "choice 22", + "name": "Scan the creatures.", + "exit_node": "Robo Brits!", + "delay": 30, + "delay_message": "Scanning..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAKCklEQVR4Ae2dW3IcNwxFtSYvIv7PR6qygZRiy8nGsiMvZlKQciMI4gMkAT660VVjNNkECIL3DGcSWX764+fjEa/r1OCXr18fpVfsddteP1HBclcUs62YO9SrBAc92yHHk3J4ysEh+09a1J1zDUBs39TUgEhgqH1nIe649hoccYK0a3YIkICmveCeYAUg9vthDkgKmjht7DcuBVoNkJRP9JX3ZhogKXBic8qb01qfAMS2nlT/pYBwaFrFEOM/iqEGBz1fUTO+x/x+RS49c24DCC8e3fcs5s4+qwCR+6Ztn7JX2wLCC60pJh9P9xqfK42pAWK1Vlnn3rZVPt5xjgCEb4IsCH9Wu5e+V2nX4LD4eFWrbevzU2p/HCCtGyHHn7IxLXl6AyJraNFuWd/KsQHIBX4WzRMQCxhSMVaKvmXuAORwQDRw9HzESonasq9FpCvHBiA3AKRFYJYQlGK15LRy7O0AoU1bWXDLuf/89u31R9ullaeKds6SoK2faXNaPS4AOfgEkSDk2hqRWQNQi6fJaYcxAcjBgMiTI9fWCK0maOvnmpx2GBOAHApI7rSQ/VqRWQPgFU+7HqtxtwPEqnCr4xAIuROD92vz9BL0zLjatbaMC0DiBHn9jxYzhTxzrhYYUmNvBUiqACf28ROidpJo1zdTtCvn0tYD4y4PCBZ6JSu/Z5Ta2nWvFO3KuWv1uSQgtUWf/lx7grSuc6VQd5sbtbsMIFjQ1W3ptJDPWmuxm0h3yKf4e7F2SDCXQ+vmX2U8QRAnSE4V9v2vgEA89uHHIiKvsO8/HiNPiVy7t2ZjO3Y97w+AoKgzlom5wr6Lv1YL7clB42qxcs9n7P1JcyQBQfE8F4I5wuoBKX28kifJSF099/202EVAUGTrRSFuWBs45MliUVfrPT81ngoQWfDexco40dYDIiEota3q2rvPV/LrAsRqAyKODpASDKmPXZZ19RQ75bn7FYAc8LNYKQhy0FjC4SFgmV8AcoAA5abt1G6Bg6DxyH1ExJp8RuJ7+8YJ4ghwq7gtxmsE2TOmJsSemPCpxV75PAAxBITewWsvCwhmfbyCgL3tSgBqcwcgg4DkxLqi31vInvFrQl31PADpBKR2UrQ+tzhZPAU8I/YqCErzBiCNgKw4GTTwzBCw9xwloa56FoAoAWk9EazGa+AAtN4CnhV/FQypeQOQCiAQ30l2lpBnzZMS7qy+ACQDiNUJYB1Hc6LMEu6KeWaAwdcVgCQAkaLWiHLHE4Zv9NXurUCp1SUAYYBIME5q5yCuCeD05y2g9Kw1APn5qP7PPQlKToy79vcII3zefpD09oBI8V+tDWhD8LqfnJZ1ui0gHiBAjDtaufHR1gFzS0A84DghZkChg4LX6XaA0Lv777/9+nh6evr03YP6PV+rTxa+8XGvg+U2gECcJQDoFMC4nMVJgeeyjX5pU/PCd6YNMHRgoE63AARilSKl/tyLRAs/Dytz8Z4P8bHxYXWgXB4QEjcXY6/Y8S4Pf7SlxXNpMU72U5vnh3GeNuDQwUF1ujQgXHh0T2KsvUiYfAza3hZz8pypz2PeACQA+fCuDDgsxEYxUi+IGc/QHrGABTGtbAByc0AgLG5JXCmxUl+qPzee90Owvf4pP+TDLdaRGs/zaXkekOgguexHLBIOhNUjIil+tEdti4hl3lgP2dE8ApAA5H9ARkQpRerVphx5nminLAeF7rlfS34BSR2Sy54gJBoIqUU0Umzka/FCXMRCe9TyNSK21gYgNwaERALxjIoQ/hCeto1xI5Z8uX+ujbVSjnx8qR2ABCCvkEDYXCzog5jQnm0xv4UFJGS16whIypBc9iMWCQSCsRAfxUOcnPjkc7QtLMXgcUptrBt5cj++DuoPQAKQ5LspRAMReVv5ri7nR9vKSkhy6wtAbgwIiYKE0is6iAr+aLdaKVbE87aYlyzPmc8bgGwOCP2dYq9NIlFIcXChzLov5VB6RvlBzMi1tU1+NEdpHq/6XyHu8u8gnoDQBnFhtIpLjodItZb8uTgRDxbP0Pa0mIvXA+u4gpC91mAGSK/Q+W+l8FgkRLDKpgSJXErPMAYW8GjbGCctQOH9HnW/SkxTQHog8QYEG8UFMeu+BAB/lhM/+nst1gl/tCUkqFHYzx/3bwMIbT4EMsNKEfI5ORy8f+Y9zyHA+AwGanIrQLDoGULkApTz5Z7Jd3rPNuWAPFCXsJ9BuSUgJAQpWss2F5+MC1HK/hVtyuXZ6d81vApsJoCMfI8Y8R3dBC9R5iDI9XvlUYsbgHw+MaSmzAEZ+aIuk5vZrolJ+zwHAfXnnmljW42jU4NeAcgkQEjIdNHvmqKrVdivTv/90eprPX5EhDkIcv0jc/X6Ao53QL4375d1zXeOZ3KC0ALl1bJo7tvi5z22VYS5EyLX3xp/dDyH4/nb98fz94CjpqEAhP3zB7liaYTJTwl5r/H3HPMRDPp4RXC8PJ5fXuL0qOy/GSAkLn7lxJbrH/HNxbTuL4kYUMDSx03cl/y8nwUc7R/5uW5MAaHA/OIT1e57/WpxPZ9D3AAhZTFmhf0Ix9tHqreT40ecHJWTA7rZEhCCBQnubFNAyL4VYNCcSTheXh7PP/56PP/19xH13WHvXQFpETo/QVr8VhZRwiDb+8Dx9n0j4Gh/4zUHhATLrxYB9/q1zGE1VsIg26l5ZgDz+eR4hyOVE+/j9dfcc9+r3rsDQoXWFk9uitbPY5wUfEu7NR8rcFJwaHKRde9ta+Y6bUwAkviyBhj++fLlUXphnLQWImiFhsOhnb8XBK2fNo+dx00BhAqqKUKq8Bo/yzEk9hIU8pkHHJbrQaxUbWf3IZeT7FaAUOFS16yCtsIBWADJrDy186RquVOfdh0rx7kAQgtKXZqF9vppYpfGQOQQfasl/1L82c9Sddy9b3aNNPNNBYQ2SJNUaiM1fiNjek8PgLQTIKn6ndY3speWvscAooWrtzhXAOQ0CFry7d3XUT83QCix3KVJesRXE1+OOR2QXL2u1C/3bEb7OECw4dbFORkQ1OTq1nrPNfFcAaEEcpcmuZwv79fE0YwZAYR8NXN4jOG1uPq9R/1qMd0BQQKpzcOznE35pPpy/q39JPRWUODTOtfo+FQdrtg3WqdR/2mAUKLy0iYv/VJtbSzNOIg+Bwt/XoqXylPbl4ur9T91XG7dq/qnAkKLlJd24dIv19bG047jMOBe45vLL/rzFdDUdfaY6YDQAuXVs2gZg7d74ln78HziXlcB6z2wiLcEEEpcXr2L4XHwW1WorzeelR/PK+7rFbCqu3WcZYDQQlLXyAKt41nnksov+ta/mZX2eSkgHpBgsVx46Jtl+dxxX6/ArH3pmWc5IJR07upZ0A4+ufVE/+cK7LBfpRy2AIQSTF2lxHd+llpL9KUrsPM+Um7bAELJ5K7diyjzy60j+j9XQNZut/a/8+89HVF1Xw8AAAAASUVORK5CYII=" + }, + { + "name": "Robo Brits!", + "description": "Wow, they're robotic humanoids that look and act exactly like the British! You see some robots laughing and chatting at a pub, and a Bobby walking down the street looking for crooks. Who created this earth replica? You only know Earth from the books, but you should be where London is!", + "choices": [ + { + "key": "choice 23", + "name": "Nice! Well, back to getting pulled in by a Tractor beam...", + "exit_node": "Tractor Beam", + "delay": 0 + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Long Range Scan Report", + "value": 1 + } + ], + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAP2ElEQVR4Ae2dT8snRxHHnzcgYT3ksEgie1gXVkhIUFA0F1cPezAsHjzsKYR4URSvHj0IycmjvgLxIIigOYme9C1IZAUvCnkJXloqmyKfp5+u7qrp7pn5PduHpmqqv11VM/P9Ts/v+Xv14duvppHj6uoqjRiRnn70wR/TGuVr8OE77yRrjLhPVg6rZjRu5c/j0bxe/FWEiBY2b3bUsVWvFF8COZdAhANeElq4rTyy8m2Jdwtk60l415XEUIotgZxPIL0i8XKkhtsiCq7pEkitsVFzJTGUYksgSyAezpH8Hn8JJPv8kl/kMwov0mONBHmeGce1+rW5Gb3kOWv1dW4J5FOB5BePx2cRCXvKfatHvdElm+eYcVyq64nN6KWW0+rp9AKRkyq9UuUxiyCteO2ica6VZ9Y8e6j5Vn3rxku8lm/UXK1+bW5U/WievKerPEFOvNpxvnbWca0HnbMIUotH+q3lmTUX6Y9Y9pPfcB5zzSyf9bz+rF68ednnDYFIEiVdy3oL9uJafcg8SdHyt/bTyjtyfmuPuk574c3OfcXOsnk97/GsfqJ5pd+iQCSRh5TRgj34Vj9KiJbt6aGVW+Y9+UfladWSOjVSttb3zNfqWnM99SauLX/nu0VInZ/Y2DWyab2abRGvt9fR+Wv5enuV9S2BfPqEvHado3Utskfj0bo74pdAvBe7RmiZ8+YhzspJzFbfI5CISKKk9+K3nt9O65ZAvBfaIrPGvXmI07UlS1zU13xekh6Ji57bzvg+gcgrzx4N116tdE5JUbM9vdbyytyW3KNz5vmOJL639pbrtuOaF0sgOYFqx7wJNZzMEev1Wzl13sqn8zXrJeneOOucThhfAqkRzDu35cZ6c/fg9ia+p96Wa3XgmpsC0VcWr92jeW8vPWTqWRu9Bj21Ims9hN0TE71OJ8AvgUQIZ2GjN9LKMzq+J/k9taLX6Ui8nE/XNwr1qb7HSWgtjx1NMk++6DXw5OzFeAi7NyZ6nY7E31qBiIh6ybVlfeRmbskfXbM3+T31ItfoaGxVINKc52ktmNkn4u2DuCiZRuAj12FEvVYOD2H3xkSu0dHYpkCkQZKu5ntPhjk8a4iP+BZ53v/F+ykfFjYa95yPYqK5t+BnkV/PoWQ9NUvrzhgbKhAhb+0kI+Qehf3BP9MnYiC5cnGMPq5dA52Tfnrr8pws30PWKEbPoWY9OWvrzzLnEog0O4qwe+dRgfSSsWd9frN7crXW5kLxEDWCyc+ldjwrb63m6Dm3QKTw3uQeUa9FqNs4T5FESNrCbiFfKyfnt+SfvUb6M7/MWyo+grR75riNAvCeE8k3wi/xoRXbUreVc8/5JZDCB3YvAc+O20JOa81WUlr5PPGtNUeukz5DO4gU33MH6K11dhLP7M9DQg+mh3Ce/C1MT/2etdrXEsjaRab+Wq4Srdf2kH3LWu13CWQJxBTIFmKV1ijZRthS/tEx9rkE8gIL5M7nX05bR4SUJNwoP1I/imWP1/5wnCdR7+eCPdfPfMe/hNy80SV/qzhknYcrxJTqj4ixxiiffV0TiJC3VmRPcue9bK19CUSe1SNvdMm/DQLR86rxNjqnOcXeEEhOTE2+laD5Os2nNp+36gu+hG3FZpHvEvLyRqtPUXzhi6+l0vj9X/+WdJTmJcY8ei9rVuvPtrUevHPssSiQFul65q0mNac1r3HFee2ZiPy/dJVk7NUTb7T6JLZFfhWHWAvDPHpvalbr72VrvbTm2ONpBNJqWue9wlDcXmT01FkCsf8dHEk50lfeeG1ee3eBKHE9DQs2x+l6r/UQdy/MmQXCXePP//h30sE4d5Oz7yA3iO7835k31nmJNguXC6B2HO1hL+J76+wpkPxG6zGJTcJTCCoOsYwTzzy1e6ZzWv9Iq71YttTbYTsIyV5qWObzONfQz3GRYy+5R+CWQPZ/xSqSvrCblHASO4VASmLISU5B5H6OjRyPIP4Zc1g3nE9+a3fwxJmndb2tXi4hfhqBtESSi4LHrRtUmz8juUf1VCIgie0RAl+riGee2vUt9XBJsVMJpCYSCiLHvfTSS2nr4M0dRcyz5CkRkcQm4S0hWHHm4TWkX6p/abFdBMKLJn5O9tIx17Tmt4pD1rHOWYg9qg8lI8k829frqbUv3R4iEK9ISsLQmN4IsUsgN/9Si4hMyTlbFMyv90VrX7p1C0RPnFbJ2rJcQ7+1rjb/4MGDpOPRo0dJx+PHj5OOp0+fJh0aE6tYsZpD7Kgn95nyCEFJ4Nm+3t9LF4b27xKInnTJ1kjMudJajRHn9UlsEp5CUHGIZZx45jkTsUf2ojc7F8vf//SHpONXP/tpag3FiqXQ9D6qZb1L94cJRC+O2BLJOZ/7JXwrRmKT8BTCWQWy5/dDVGhKVBKbhG+JQ+aJZx7eT61zW2xVIDxx9YW46qu1YiS5YkuWuJpfWjsrpsSaYY8QiJyHkJbEJuF7BHJbxFA6D1MgFvEsMZTwJDvnGY/4zDHbnyEMzbm3QKKiSFdXSYclHIqL+Usku+RYSCAkMwmqccboy3x+rGsiljlm+0rmGXYJZOyPnJS4MEqULoHkJM4b4nw+Vzomfqv/21++n3TwaRb1NYfYGWIo5VwCGSeQEr80NkIkYYFocdqc5Jwr+Tl+yzGJHRUF8cxTIvOM2B4Cuf/6u0kHX4H+8rvfJB3W65MnrjnEMr/WFDuCoLUcJW7lsdp6z9w1geTJ9VgJrMe0OleyxKlfwm2JkdgkfNRnnhliKOVcAhmzgyinPNYjhhLGLZBSE15ic613TQvHJxhFwaffBz95PelgnHjmKZF5RmwJZH+BKAdLIqjFqgJRkmpyWp07ypLYJDyFoOIQyzjxzDNDDKWcewvklfvfTTr4OsRzj/rMo7nF7vWKRS5G/Zog8rmqQKzCR4mCdXlDSXgK4awCKYlmdIxEJYFJbF7DqM88zM+6OdlGHlvc9Ma9vVwTiBCwVYAkPdL3iOLr3/xe0uERy2iSHpmPRCWBSeyoKIhnHuZnXS8Jt+BaPPXOt2rfEEhNJEcKIq+9BPL8y9IkpOWTwJ97+VHSQZJHfc0hlvmtHhhvkbI17yW/F1er5xZITtCjj5dAlkC8AvDgLJEUBSLkLyU9QhSlPiTG7Z6fO+hbr1WMM49V68hXpVZtPpktn094PvmjuwbxzMP8Vg+MW2T0xq371BO3ai+B4Btn1gVukfTIeRLvy1/9cdLx8Gs/Tzq+8o13kw6dn2W1pljWYJ8WGb1x6z71xkv1TYHobsGiGpthWUd9qaN+bvnk565BnzuFFWeevIYeHymAVm0Sj4QkUVUcYomZ4bMu87PPEhEjMb0vo22ph5BApKFR4ug9ORK7x6eIrJ5aJD1ynsQjIUnUJZAr80HLez5EIL0iYUM9fo8ouPYSBWKJgnEKxPL/89FHSccbb3wntYZixVo5GWc/FC/jJVLWYj2caa0t1W3uIKXXnC27SKu56DxJ3uMvgTwXSUscMr8E8var5isUCRwVCNd6/G+99e2kI4rXdV7rEQhzHfk6pbX5BLaezHySWz4JvwRyVfzpY9cOEhUE8R6C5xgSMp8rHRMf9Y8UyNafyaJASH7G6RNj+RTLK6+8kXQwbq1lnHXpW5jSa00tVrr/o2KlulMFsrVxktyTg/iovwTy/MvBFIKKQyzjJLnlUxT0iWe8REor5uFCD6ZUd5pAoo2S2E+efD/puHPnTtJx//79pENjYj/++OPiuHfvXtJhYZhHc4tlXHsRyz71lWerXTtI7JeqopyK4EvikNgUgUQaUyyJR0KSqBaBLfKrOMRaGE9+9sM+twpD16lAxGrMY/kEfvPRr5MOxunz6f2v/z5JOnSdWGK4gzBOvOYQSwzr0udaxi1i5nHlySyb19PjJRDHDjVLICIGFYlHGIohwSziEUMCk9hcS8zZBDJLFJpXxVCywwWiRaP2vfd+mHSQkJ4nvLU7PHz4MOmwMJ787Ed7FKuE7bFLIO3fLoxyKYovCUNjSyDBHeTSBcJdw/K5m1gYxonnzkWfeMaViDUbJXwEX6src0sgJxFI5HMICWYRjxgSmHjL78GzLn3WYrxF0E9IWviXaRER1LCt+qcRCF9jrBO6e/duKg3inz17lnTo65VYjYklvpRPYsTwFYp9Mt7jR1+zSDCLeMT0EJ75LZ/5WZc+1zLeIuhMgbhq85t6I3wSK+KTeNY6D5kphCWQz/42Fkl5hL8E8umPqVjkbsWXQPxf6iXBLeIRcwbf6tPzFJ+xi7jrjtg1mKMlBGt+CWQJpEVaiztb4q1aOr8+gzg+1/DzBYXM+J4+dwTr/Z/9vPX6l1Jk9KxVYon19Em8x98ihnyNp45ilkCWQG6Ip0cgslbJNUMgkjsnfPRY+/PY4QKR161ow4Lnk9laf1s/pJOQHt9DPOaJ7B6C7V2rxPP0qdiItfjhiUfqCHYJ5MJ3EJLQ8vkaZvn8EE2MFSeGvtWDFY8SVvEeMeQYXRuxSyBLIJ/8sKElBCtOUdC3hGDFI2TNsbkAPMd5jtbxFIFsec3yvGJ5LgD/uSd/14NxTx5i+MrBPhnf07fIZsVJYMu3hGDFrTxWD1a8RdDWPO+T12/l5PwSiOPHGEj+MwiE/fAXmuiTkCSz56d5rbUUC/MwP9eyH/okYK/vFQVxkZqnFogQgSfm8blT3NYdZAnks58A9nAix1ykQF57+GbSwV9K4leudN5rR61lP6xNoh7l88lMn09yPuH55OeOQIy1lnjmsdayH/oRgnqwuQBax56cijnNDkLikZCjSM78Hp912Q/XHiUK1iXxGPeQ3CL2jDzsU8k30rZEwflI3WkCiX5QJ/FISBKVGI8/ai37YV0S6SifxGMPL5pASHqKIfeJ8/inFAhJaJGcpKU/ey3zk5BH+Usgn30eIeFzYcgx573+Egj+SB3JbwmTmBmiiP5uiNUDdxCPb+Vh3JOHGK5V30vMs+CWQE4qkMhvGCr5aElUj8+1lu/JQ4yV5yzk9/RxGoHw/5XTt57k/H4EfT7hR61lP/QtAvTGdRfpEQmJ6vE9PXvyEFPL6SHnGTBTBRL5oE7i0R9FcgqHgqJPDOuyH/o1AvTOqUh68+Treb70c1zpmHj6JawndgYBtHpYAsFfcVwCef5/Dy1yUxT0LXwr3iLnGeanC8S7i1hPZj7J6fMrV/SJsXzi6Vt43mirT2JG+C/CDiLX6QwiqPWwi0BEJJZQJC4XyiKeRVoSm76FZ5x4+sTQJ+GtPokZ4c8SCM+Xvqdn4ul71lqYGjnPMLerQFQotHrhLOKRqPR5g+gTY/nE07fw2qNYq09iRvgvikDkWp1BCFYPhwrEQySLtCQ2feKZn3Hi6RNDn3n28l8kgcg1tQh6dHwJBN8HoSjo7yUK1lGBiGV8i8+HAD9c0yeGNRgnnj4xXBv1jxZDqf7/AdVoY/i7GpcvAAAAAElFTkSuQmCC" + }, + { + "name": "Verdict", + "description": "Before even getting to defend your case, the judge says \"I've heard ENOUGH! It's time for a verdict!\"\nDang! You're definitely in kangaroo court!\n\"GUILTY! AND YOUR SENTENCE IS:\"", + "choices": [ + { + "key": "choice 25", + "name": "\"DEATH!\"", + "exit_node": "FAIL_DEATH", + "requirements": [ + { + "quality": "Crimes Committed", + "operator": ">=", + "value": 4 + } + ], + "delay": 0 + }, + { + "key": "choice 26", + "name": "\"SPACE JAIL!\"", + "exit_node": "Not Actually Space Jail, Just Normal Jail", + "requirements": [ + { + "quality": "Crimes Committed", + "operator": ">", + "value": 1 + } + ], + "delay": 20, + "delay_message": "You are being jailed..." + }, + { + "key": "choice 27", + "name": "\"FORGIVENESS! Just trespass? That's not that bad!\"", + "exit_node": "Sweet Sweet Freedom!", + "requirements": [ + { + "quality": "Crimes Committed", + "operator": "==", + "value": 1 + } + ], + "delay": 10, + "delay_message": "WOOP WOOP" + } + ], + "image": "default" + }, + { + "name": "Not Actually Space Jail, Just Normal Jail", + "description": "You'll have to wait out your crimes against the robo brits.", + "choices": [ + { + "key": "choice 28", + "name": "Sit out your sentence", + "exit_node": "Sweet Sweet Freedom!", + "delay": 1200, + "delay_message": "Sitting out your sentence..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAOkUlEQVR4Ae1caQ5etw30lYrcoblZgZzaBVsMMJlw1dNbnOiHwX04lMT3GUbaH3/854+fu//89q/ffnb+7O67E6/D33J29rwb61eaqcv17jv4cceldIe7o/cuzL/DDHoWv9JMXa6Wp3PutM+CBL+g3QvaeRl3Y/1qM32B71mQsyB/+evw3YvaxT8LEjzO7gHemfeFy9k936820xf4nl+QYEm/cDlnQd7/x56zIGdBzl+xgjdgH6izIMHhnF+Q/f/8P/1F/MIdnAU5C3J+QYI30P4F+fnjx0/9k30Nos1XDLYzPItxLvSq5kqcZ0A/lohf6aG1hq++nTY4q7S+7NvZU7EmMxonPnPVJ5y1VnlFdvoLoqCe7QEz8WpIxfTwzKd5kR3VT/08Q9RL/dMemg889a/YHhbPBB15sE1O+wGjquvmAce4oMaTytnLiXzoUclwQSJg9XsNmLjmd2wPs1OnOR5O13fHDFlv5p7ldWKMZTpqeCbTNQ9x5HekYkQ13Tyu9zgyDviyr6tzn0x3F+RqkyvE0VtJwz+VitO1MUN1SRmfbi8Po1vr5UV41UyIe5iRL+rF+Z0czmfdq4UPfGFPJPfI9L8sSLdJBnrlUaG/4sO/IhWrY+Pwr87S6RXN1Kn1ciI8zBTFzW85Hmbki7CQH8XNj5xMZvWdeVCf9chi7QXJQDRWPSoMhjoMoRJxkxozO/JHuYxX6eAYzRL5p729fPgqjl4ctavS5vJwPd9qD9R5mOxDXiS9O0K91sA/lX9aEAWF3QG1XOShzpM8FPJNerlZnGNRPWNqfmUzT8YxnWNXeiuuZ1c8Ne5hTH2KGdlTXC8/wja/l88+vQfG4jzTOTbRywXJwCIS6ofNA5nO2MhhmcU5Bp1rVUdOVzJXxeIY8DSHbeSo5BzTLe75tC6ytXbVjvDZv4qtdYypuuayzXegb8lwONd0xe7aSwuizWGjKWyV2VCaazbwTGqcY9A1h23kdCVzZRzTOQY8zWEbOSw5Dt3i0FlyXaZzzVU96xPxXO0Z9crw+A5M9zC03supfH+bBdHDULs6CI3zBSgWx6xO42ortlfDOVpvNscj3atb9UU94F/F9eqAqdLLhY/vAHpVr/GOvbQgBgyiLNGQfapjGJNVPuJeP8QU37ORO5HMUzERU79nez29vMrn4bCvql+JMz7rK1hVDeNDz2pwByxRB6n18E9kuSDWxAPU5pznxdiHoQyX/axzT/av6IzV1cFxpR/XaD+OTXXFYjvDsjwvbjN6fvgYn3XEPRn1ivzAYHzoiHkS98MSdZBaB/9E/mlBrFBBJzYaVwffwQTWLk6M19Fx8B2uUY7XJ8rt+qeYnM89MF91V1xvOmOozrkci/ycYzrnVb2YP/SqXuMde9uCcLPq0PVg1GYs0zXetRVnal+Zw+vV5Z3lTXE5H/PgQbGMenK96VGe+b1c9WUYnJv1sRhzh871Xh+Nd+y/LIgHXJHVwwHhTp3meKQ1p7I9jBWfzVH10njWR3NhT2s0HzgqNQ/34kmtZZtx2M8651Q616mOWvWr7c2AWkitgX8i3QUxAAWPbK8Zk4/qPL+HdZVLhNnx2xweT89X4Xk15lup45oI18Pme/F0xuIe0DmuOnK6kuu9Go6r7nE3XwfHy8l84YKgSMmxjRyV3gBcp7rWq635bGvuTtvm4F6qY85pT+B067r5yDPpYYNvR3r17Kt6ce6KzviqR/y9PlzrxStfuSAVgBePBlC/V/sln/KN7C9xzrhE/D1/hvN0zOPn+e7gdRYk+Z9bepfg+e64mDswPe6R747+q5gRR8+/2iOqOwvyD1oQewTeo/J80YN5w+/xi3y7+Z0FOQviLs3uh3YFL1oGz3+lj1f76oLYgB6pr/i8C4h8X+Fc8Yj4q7/CeTqu/CJ7N6+zIBt+Qeyydl/MXXjRw1L/Xf1XcZVfZK/iR3VnQc6CfP6vWPZ4o4VQf/TQV/23LMibA60eRFSnFxDZUf3X/BF/9R/e//9/ljwLkvyC2CPRhxPZX3tQEZ+Iv/qj+rf8yi+yd/M7C3IWxP0I7H5oV/GihVD/1T5afxbkLMhZkOQNnAVJDse+JvqFimz98nzVjvir/2v8lV9k7+Z9FuQsiPsR2P3QruJFC6H+q320/izIWZCzIMkbOAuSHI59TfQLFdn65fmqHfFX/9f4K7/I3s37LMimBbEL2305d+BFD0v9d/S+gqn8IvtKD6/2LMhZEPdX0nssb/qihVD/bo5nQc6CnAVJ3sBZkORw8DXSr1RkI//LMuKu/q/NoPwiezfvsyBnQc4vSPIGXl8Q+xLs3vrdeNHXSv27+67i/fv3339Gf5RzZK/2vqsu4qn+3f3PgiRfDxy2XkJkI/8tGS0F+yPu6ueat+bhvsovsrlmh34W5G+yIPygMz16WOrPMHY8vCmG8ovsKW6Vf9uCWONoCPVXJN+OK9/IfoNn9pC9WMRd/V6t+p6cV/lF9m5OZ0F+4V8QfbAdO3pY6u9gIWf3o/TwlF9me/Wrvs8tCA4dcnWwnXXZZXBsZ88OFs5oIplvpk8wLbfD90pOxlVjV/po7WcWpLoQJf6krRcQ2U9yqs4rikfc1R/VZ/4751d+mb2Tx1mQX/SvWNlDzWLZw+JYhlHFdj5QxmJ+mc41V/VPLEh14IhfHXa1PrsMjq3ir9ThTCbS+jDfTJ/gerkrM1U1GV+OVTiT+C+1IHYRk+F25fLhZ/qufh0c71FmPmBm/DmWYXVi6LdTMr9M39lz64J4B5cNgphXl/l2HkAHCzwr2cHalZOdj8a4ZzUD4lajOFOb++7Qwa2SO3oBY8uCZAdXDWPxrD6KYYAnZGcGy3mCC3pE56J+5ENOZ1G8qY2+O+SU+46elxakc1idoTo4mrNj+C5GZwbL6eLtyNPzmNideZjjBFtzGeeq3uG9+x6WF0QPIrK7Q0X1mf/qgXfruzN08XbkZecyiWWzKc8JLucqzqqdceXYKr5XdxbkH/bPvPxwWecHBt17MFzT1T2cFR94VXIFO6pZWpDuwVheNQziRnCCa7nRULv94NiRu3tHeNOzqvK92aLe5q/wNJ5hdWMeR8/XxevkfWJB9DC7dmfAHTneJUS+Hf26GN1z6ubpTBmPLibyMqxuTPlFdhevkzdeEAzcldEQ8HdxvLzOgDtywLUjd/TrYnhncsWn81U8pr0qvCqu/CK7wpnEb10QIxINAf/0kDl/MujVXPCt5NU+03o+j6u6ztbhMunZwctylF9kZxjT2GhBJodhuUYmGsL8UzzNnw57JT+bg2NXeqzW6rms2jyH6R0+014dzChH+UV2VL/iv21BQCYawvzTw+V84D8lszk49hQfrw+fz1TnGaB7PTzfpJdX3/WBVyW7eJ282xfESEQDTQ5WczvD7cyJZlD/zp6rWHpWHVvnMLvbv4OPnC6ml+dx9Hxe7arvlgVRMt4Q5sOhTaRiP2VHM6j/KT7TPtEZK3+2Jz0ifM8/weVc5pbpXHNVf3VBbEjvAD3f1UGv1mcXwrGrfZ6oZ76ZPuHi3Vnkm+BybsaVY1xzVf/8glwdcFc9X0Cm7+p3J07Gn2MTDtEyeP4JLucyt0znmqv66wuCQfUgrw62ux48K7m77x141QyIT3vrHUb2FBf54FVJ5O+Qn1kQDL1jqDswwK+Sd/TejVnNgPi0b7QQ6p/iIh+8Kon8HfIsSOM/VrSDri4F8R2XcjcGuFZyykMXIbKnuMiv+CKO/B3yLMhZkHD5pw8sWgj1T3GRjwWoJPJ3yEcWxIhWQyG+Y6g7MMCvknf03o1ZzYD4tK8uQmRPcZEPXpVE/g55FuT8goQfr+kDixZC/VNc5FeLgTjyd8jPLYgNuWOw3Rg4/Eru7nsHXjUD4tPeugiRPcVFPnhVEvk75FmQ8wtyfkGSN3DLgtiXQ7e32nqOa+0XbOaX6V/gWnHI+HOswuF49Gvh+bluojO3TJ9gVrmPLYgRyYbiWEX6jTjzq/Q3+E16Vvw53sX1FiHydTE1j3llutZdsW9bEDscJZYNxTGt+4LN/Cr9C3wzDhV/jmc4HIuWwfNz3URnXpk+waxyRwtiYN7AmY8JZENxjGu+ojO/Sv8K54hHxZ/jEYb6szfAMa2b2Mwr0yeYVe7tC2KHAxLZUBpDzZekcozsL3GOuETc1R/Vs58XoNK5bqort8ie4mb54wUxsOoQong0kOfPSL8V83h6vrf4Tfp6vD1fBzO6b8/fwYtyPH6eL6pf8T+6IHZg3kCeb2WYu2s8np7vbh478D3enq/q5S1B5qvwsrjHz/NlGNPY0oJYk+wQqpg3lPqmgzyRrxwj+wkuV3tE3NVf9anumuMVVhVXbpFd4UziryyIHVo0HPsngzyRy9wy/QkuV3tk/DmW9eHH39EzrE6MeWV6B6ubs7wg1qBzKFXOU4N2DyTLy7hyLMP4Soz5ZnrGt7pbjmc43VjGk2NdvE7epQWxBnwIqzoPx3pngCdzmFumP8lptVfGn2MR/vSuI5yJn3ll+gSzyr28INZgelhevjdwRf7puMfR8z3Na6Wfx9vzRdjeHUa+CGPq9/h5vilulr9lQaxBdDhTPw+cEX8jxtwy/Q1u054Zf455uNM79TBWfMwr01ewo5ptC4IG08Pz8nl44H5BMq9M/wLXikPGn2OK491X5tP6KzbzyvQrPbR2+4JYg+zAujEcgBJ+0wanjnyTZ6d3ZwbLUazu/SFP66/Yq5yv9LxlQYwQDuiqvDLc7truBXkPazeXq3jdWbjP9C65doe+wvlq39sWxIhNDzTLvzrojvruBZ0F+f1/d7/jzBmje/5cc1W/dUFALnv40xgw35JvXNIds07n+MI9TTnvOLdHFsSITg84y98x+CrGG5e0yjWrm86R3YcXy3qvxqacV/tw3WMLYk29g1z18RBP6m9c0h3zTeaY3tEdfA1zwnkXh0cXBKSnBx7lA+9J+cYl3THfZI7o/D3/HVyBOeGMmqvyv9va9kZwciKCAAAAAElFTkSuQmCC" + }, + { + "name": "Sweet Sweet Freedom!", + "description": "You're free! You spend a good while travelling around England (or at least the replica) and enjoying the cuisine, people and culture! Good society research is gained from this or something, but really you're just enjoying the sights and sounds.", + "choices": [ + { + "key": "choice 29", + "name": "Nice!", + "exit_node": "WIN", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAQJklEQVR4Ae2deXBX1RXHY23/6DYdFBekilIInVrsTBUUEKWitf1Hp4467XQ6Y6frtLWtdpzWhaCCCQmJieKCKHWKY52xjgsg4AIo7s601NYlIoSdaEJIQgwgWU7nxB643Nz93fveu7/fy8ybu527vHu/n3ve/W2pgIB/B/v6ofHBV+H07y+Az319NlSMm1WS1+YdncpZ3HDpT2H9yNODXRsuuUrZ/5adnSU576inoydUwYSLmmDu3S/A/gN9ynlwKaxwqWRTZ2BgEHa17YW/PvYvGHN+fUkuVAFINhvf6Gl1sPCRN2F7azf0DwzYyNLYNjgg7EgOfNIH9Ytfhm9870747ITS8SgFIOkBcnRlFYy/sAluWbAWevd9wsorSDxVQPAO0KPs/KgbHnj0n3DKeaXhUQpA0gHkpKl1cM/Db8C2XV3BPAZPWWqALLzhGjC9YjurFICEA2TIY8xshNl3rIae3gO8foOngwNiCoXMLgZYCkDCADJqai3c/dAbsHVnF/T3hzlj6AjzDohM6D7y8wpLAYg/QD5TWQVfu6ARZjU+D909+3X6DV7uDIgPwSdtIy/AFID4AeTEKbWwYMnrsGVHZ2YegyduGCBJRZtV/SxhKQBxBwQ9xriZjXBjw3Owp3sfr8/M0xVZCTpkv2nDUgDiBgh6jDv+9lqmZwwdgdEDUltdq3x1LA1YCkDMATlq/Cw4bcbt8Jf5z8Luzl6dPjMvjx4QG0/02oqlgJdvaApAzADB9zEWLHkNWrbvgb6MXpWyJS53gKBHML1s4EBbAoRCX6AUgKgBOfX8BriudhW0dXxsq89M7QcHByFTQEioWYUFIGphJ52f48+eBw2LX4FN2+LxGEQkfrZryRPrwwGSleht+00qAqxfeJAjQRtzfgP8qWYlfNjeQ3qLIkSPsadrHzz+zDvw7Uvv+fRR3PYxRWZvK8y82BeAHCnuJPOBHqP+gZdh09aOaM4YRC56jIeXvgWTLlsIn//mrYfPqTLB2+bnRfC240giCKpb7h7klOn1cM1tK4Y+hEqCiyEc8hjd++CJ596FST+49zAU7PeWbEFQ2duKMy/2JHTXsFwBOW5yDdQtegk2bumAvr5sPivlCiJ6jEeW/wcmX7YQvjCR8RgsHBhXCd62LC+Ctx2HKxhUr9wAOXn6fPj9nKdhe2uXqz4zqYceo3Pvfnjq+ffgnMvvE3uMApBP3wthISKhu4blAsjIyTUw7751sGHz7ig9xqMr/gtnX36f2mMUgAwH5NQZDWa7CT95/0+XOiBfPXc+/O6W5bB1ZyfgLhzTX9fe/bBsTTNMvXKR2xrbPkbJ7NkdObY4vk5fv/gVOOGceU6TWKqAjJxUA9X3vjjkMfAHOGL6wzPGY6vegSlXLIIvnqE4Y0g2vUNPEzLB2+bHBgU7Xlx43Bnxq8DXVq8EfB3/0ATpJrAE3wfBH0P4zexlsHn7nug8RnfPAXh67fsw/UcPWK2hdL1tQRDZs2LTxUX1Q+XpxsKW0+6InxHauLUDahe9BPi6vnTiGHBKxYMce1Y1zLnrBXi/pR1i9BiPP/upx/jSGXOM1s1kbStIJElFSu2owqR92NZXjYUvI0AoRI+yrbUL/jD3ae2PS8QOyKipdfCrWU8NbQyxnTHQY6x8cQPM+PFif1Awm98hQEgwtiIke6qvCsk2rVA1Fr6MwOBDfH0fPUrNwnWAr/uLdp1YATnmrGq4+c410LwpTo/x5HPvwrQr7wevHoOFA+O8UDDtImBRO3yeS7tJ6/BjkKV5MPg07qz4C4VX37oc8H0AFpTYABk1pRZ+ceOTQ4fv2DxGz8cHYNW6D2DmTx4E/G4Juw5B4jLBYL6NOFXtUJlNe75sqW9fIXqUD7bsHvqpS3xfABclFkBGnHkbVDWthvc2tnk/Y3z34osh5IWvSi1d/R6c+8P74cvf8njG4D0Gn9YJx0Soujao3KQt3zbUt+8Qd1784g++2tPapv7Uata/zdva3gM/u/4JaG5p9/qqVEggdG0H8RY8HLJHLF5MOtHy9rK0rp0Q5bKx+MjHx7C+vn6t6LIGBGE+eNDf+xg68aZdHhQWG6HwArapi7Z8/TTStmN0sefPK3w6a0D48bim0xa+bX9BQHERhGudNIDg+3Adq009neBiB8RWqHmzTwSOjRCS2vLiTSOddMym9VWQxApI3oSedDxOoKBITUWQxC4pDBUVFUCXTVtJxmxTt9QASSrGvNa3hoTEZiMGF1vqxyUkMNjQtB2XsbrUKSVA8ipuX+NSrRVfNuwLUy7i0NUxFbPMjsDAcopjKLPn83Xj81HOTyybzvsjli/hxdQOuz6q+DBAUFw+BENt8GK1TYuAEOWp2qWxhAxVk5xXQGISdIixqtaMynINiAoEVZkMFhNA2Lom9mRDEyoK8wZICLHF2KZorfi8YICwQnONEwSy+lSOocwmST6J3zTkJ5fSeQIkRiGHHDOtkSxMDEgSAarqmorf1E7Vl6rMFA60k/2VKiAw+itAF4mY0rKQ7PISytaM8nMJiK3oyV4ldNcyG0B6//0OiK7mmVcG+x/p+P/Xm2deIeyXH4tvUcogSJLve4wm7fHzxKZzDYipqAkQDE3r2NjZQPLWmEnAX+uPnxgUEGyf71OUNhGLjU0SEGzr2ozL1lY0V5QnBATFYyoKG6GZ2LqKneqZ9GFrYzoXaIc7eh4vW9Go7G3F7dteNTbXMtma5QoQErmLJ0hSVwdM7IC4ioav51voPtrjx+iazj0gPgRObegE71JuColsorPKdxUM1fMh4jTaoPG6hrL1SexBUDgugmPrkLAxZPPzFI8REFexpCHoEH243i/Wyy0gMcCBoMYGiItYQog27TZd7jsKQNL0FgSlTZ8xAWIrkrRFnEZ/tnNg7UFsdk0bofG2LmLl27BJU38Y2tQrVUBMxMrOGcZN6mRtUzKA2IjUhy0ttm1bsQBiKgwTAdNcyUKTNrKyMZ0HssutB7EValJ7WmzbdgpADn9hjeYwK/Gb9EvCNw0LQBy/S0IgxQCIqRhMBEYQ6EKTtrKyMZ0PtCsAYQAh0duEBSDDPQjCk5X4TfotALnhGuODNrsT2oBBtgUgcQHiAw70KtI3ClEYpqIgEeU1TAqHzVzIXHXofBtBmOy+7Jyp4iZtZWFjMx+qtfEOCE1mXmCh8WCYZEymm4VqskOW2QjCVLDs3Inipu1kYWczH6p1CQaIaEKTitRU4KK+TevK7ApAhj9iZSF8kz59wYHgeAEExcMKSyTQLPPYsbnGyxEQEiO/dpSf19ArILy4WQGZikLVBtseP9Eh02y/PuKmc6Fy1yHLbESBtnkVt49x2cyFbk2O+Ac6vJBMRWEKCN9+TGnTudBNeKhyG1HwtjJRTpw4EUwvWRtZ5PP3J0ubrMURgJAIWOFSni5k65RiXHf/VE5f1WTDNL5yKxOBbb4pEKHsfABlc8/sOoniQkBosVHoFNeFpQgF3ZPu3tny3vVvA38F/9GGC64Y6tNGGDJbXvhox+flIS0DSXZfqnx+vdi0EhB24XVxElMphbp7FpXTz8WwYVo/+6MSgc+yPAAiGgNC43qf7Hqx8QIQwbvxIuGb5rGTS/G0AMH+XAXiq55IuGnlJb0HWi829AaIqYBK3Y6dXIqnCQj2mVQoIeqHhMTneGnNKCwAWbHU+JxlAjdNLBumDQj27VM0IdtKCk6IsbFrVwDiERB2Ytl4FoDEBEkIkSdtk9avAKSEAaFFTiqWcq5fAOIJEBKjKMzKg/BjKWehu957AUhCQEw+LpMXQFhgXAVTbvUqaqtrAS+TA2hhc/hAbwKGyMbk4w22NhsuuYrVvnW83ERvc7+HAClAOSx+1UYgEr1Lni0EKvukgIiIshFRKdtWyBZXJZJyLZPNlWu+SvQ2ZTpABgcH4WBfv4gD47xShkB1b1JAaNHLFQa6b/KsGNKc+AptIFDZ6gBpbe+Bn9/wJDS3tAPC4vtPJbDYy7SAkBhE5xRWPGnFaTylEqqEb1qmA2TLzk6oGDcLjjmzGmbfsXoIlKQexQSy2OHA8RsDgoJUQVAqgk37PkwhUNmZAoKQ4DVqah388qan4IMtu4N4FB08MYFjBUja4imH/lTCNy2zBYRAOeasarhlwVp4v6U98RlFB4Xv8rQgKwCpGP5jBGmCaQqBys4VEAJl9LQ6+HXVUti0rSMTj5IEntCgFIAUgAw9diEsx06qhrl3vwAbNu+OzqP0DwwE+YBm7gEZO3YsiC7ZLt/W1gbsJbPLS77KM5iWJfUg5EkoHD1tPvz25mWwecee6DxK1979sGxNszdYcguICApRHguDKp4XINhxmAKgs/MNCIEyclIN1CxcN3SY7+sbSPIklHpd9Cj/WPl2YlByAwgrbhEIujy2viheWVkJIS9W+Hx8xIgRwF5UrhO+aXkoQAiUk6fPh6tvXQ5bd3ZG6VGSnFMyB0QkZh0MonJRO3xeSECobRYEXdwUAJ1daEAIlJGTa6B20UuwcWsHxOhRXECxAoREkDSkHRTb4UUsEr9pHt8Wn046bpP6OijYcp3wTcvTAoRAOXl6Pfxx7grY0dqV+qNTkg7xUwS2kBgBYiIMFxtewJg2hUFkJ2qPzXMZo0sdFgJd3BQClV3agBAox02ugfn3vxydR7GBpAAkwNlEBwVbrhK+aVlWgBAoY86rh2urV8Kuj/Ym2eBTrWsKySFA2EXDOPsY5LKLmtRhd3eKizyDaR61IQtNxuTDhp9LVdoUApVd1oAQKMefPQ8aFr8CLdv2QF9//l/1MoGkQrV4WOZDMLI2REI2hUFkJ2qP8mRjCJGvm1O+XCV+k7K8AEKgnDqjAa6btwo+bO9J1SvYdlYAwrxpGAIEUZu8+E3SJhCobPIGCIFywjnzoPHBV6Flez49SpSA4I4v8g66PPIUolAk5FB5JkDwNirxm5TlFRAE5ajxs+C0GQ3w57pnoK3jY9tNPri9DhLtIxYuZigxYbsiQetgEJWL2sG8kGNn2+ZFb5M2gUBlk2dAyJtgeNLUOrjroddh845O6M/JGSVKQFDYIghkeTI4bESapa1K/CZlsQBCHmXsd26H6+ufhY7O3uAeQteBF0BIPOyO6TMuErgMBlG+qD6NOYbQBAKVTUyAsB7lxCm1sGDJ67BtV1emHkUFidEjlg+RqYASCRzzRDDI8tg2fIw37TZUAOjKYgUEYflMZRWMv7AJbmp8HvZ079Nt+EHKcwGITnCswCkug0GUT3Uw1PWVx3IdBKrymAFhPcqoKbVDZxT8UGSaZ5QoAEHRsiLHuAgEWR7VzaP4TcakAkBXViqAkEcZN7MRqppWQ3fP/iAeg280WkBsICkA4Zf9cJp+1YTdrWOI46te9zz8RvAzSjSAJPEiBSCHgeBjsQKCEB9dWQWVFzbBzXeugZ7eA/yteUmXDSAmjzJ5ttE9SsnKS+kRS+XZTppWBwv//iZsb+0C/Magr7+oAOG9iOzMweejB8mz+E3GJgNAl18ugJBHmXBRE8y5ay307j/oixHp90T+B7kri9Q1LZ2DAAAAAElFTkSuQmCC" + } + ] +} diff --git a/strings/exoadventures/quantum_fizzics.json b/strings/exoadventures/quantum_fizzics.json index 0ee9bf9bf6806..4db2040807d0c 100644 --- a/strings/exoadventures/quantum_fizzics.json +++ b/strings/exoadventures/quantum_fizzics.json @@ -1,195 +1,195 @@ { - "adventure_name": "Quantum Fizz-ics", - "version": 1, - "author": "EOBGames", - "starting_node": "start", - "starting_qualities": { - "jammed": 0 - }, - "required_site_traits": [ - "technology present", - "in space" - ], - "loot_categories": [ - "unique" - ], - "scan_band_mods": { - "Narrow-band radio waves": 10 - }, - "deep_scan_description": "", - "triggers": [], - "nodes": [ - { - "name": "start", - "description": "As you sweep through the inky void and the site comes into view, you're puzzled by what you see. On a small asteroid sits a vending machine. Despite the odd runes lining its surface, you're fairly certain that the image on the front is a can of soda. While ordinary common sense would dictate that drinking strange alien soda is a bad idea, you can't help but be curious about what exactly this machine dispenses. There's one problem, however- what currency does this thing take?", - "choices": [ - { - "key": "choice 0", - "name": "Leave.", - "exit_node": "FAIL", - "delay": 10, - "delay_message": "There are better ways to die than drinking alien soda." - }, - { - "key": "choice 1", - "name": "Try a holocredit chit.", - "exit_node": "it's_stuck", - "requirements": [ - { - "quality": "jammed", - "operator": "!=", - "value": 1 - } - ], - "delay": 10, - "delay_message": "Hopefully whoever made this machine is part of the Galactic Currency Union..." - }, - { - "key": "choice 4", - "name": "Ram the machine.", - "exit_node": "smashing", - "delay": 30, - "delay_message": "Ramming speed!" - }, - { - "key": "choice 5", - "name": "Search around for some loose change.", - "exit_node": "lost_wallet", - "requirements": [ - { - "quality": "have_coin", - "operator": "!=", - "value": 1 - } - ], - "delay": 100, - "delay_message": "There's a surprising amount of stuff on this asteroid to search..." - }, - { - "key": "choice 6", - "name": "Use the coin you found.", - "exit_node": "choices_choices", - "requirements": [ - { - "quality": "jammed", - "operator": "==", - "value": 0 - }, - { - "quality": "have_coin", - "operator": "==", - "value": 1 - } - ], - "delay": 10, - "delay_message": "Thank God for clumsy aliens!" - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAGZlJREFUeJzlXT2vVNcVPYyfLJBw5MKWHMfJj3BJB64okBKnSOfCmIJHa2FFshzZsuTkKS2PApMiXSwFI1G8yo+O0j8iIY4lu7ACEggJkQKdeXvWrLX2PnfmMfC8JTT3no/9cc7+WOfOm8uxV15+/UkLdPvO3vz69KmzbSqdPH6i3X/4YHL/unifPH6itdYWxqv52M7mVvTq8yI5efjpxkwhNzfqysbcvrO34Aej+oyuIc5164J6s/1z+1mxYYYNfTFOnzpLN7pKUzdzCu+u58njJ9rtO3sL/WyBRuQwWVFebGNyMVDj/DgGeSo+VWJyVOCinX1cT5YxaTqHRf5KPltDnBPnKZ6oNyanfo9zGCnfOIYVZNNUze6MsPplGYW1YxVwm4T9LONFPhXeVVvd2IqTVfm7ClLhr8axMX1cRT+3t1MqhaKFAFmlnFfK+JTNGoUdfUOd40yBBi4oGDGoxYJkRJ+pQbNqwKkxI3JUolAQU11X9Z3qV13HTjM2IcuarE2V8c5XKaswO/JlbRl0UHCFUS/FqkQzmY5/tNsFWdVx3fpmY1lAI9yJdir4E+1y/Ngn8wG3Bgw6RX3YvZrPSMnE9pmbEIVnmRTHxTFuwR2NjkfM7GTj4kZnjnMy6KUyqMK/Kiu6zY6UZexszZh9mV4VfZSzs4QS1ybzDVX1XZA6PqzdzaNnkClwaUpJw74RCKR4MMzcqQIdsrGj2BmdIhvvdJuKo6u8GAxScxwc6jzifafKHCUDaVWfiTIUbJSH9CoGjONXUbTKUzmxcs4KPlUYOBJuhttUpl9FLzXm3qMflvpfefl1uT5uw6cSJjGUq8b0cSxwKmvKkgqTzcajPKWz4nfy+Im2pYQgBlQUyzSDMSpjZE7G8GDm8Az+qI3p15FH/GT2OLvYRrqMjLIwCO49Ori+fGZnfr2zf7ld3N5uV3d3F8a88vLrS7aPktM3g5QIL7FN8Y3tTpfYhmNQL9Wm1sTty1ZWSnGiMo45tFIiW7Rqto46qeylZGSZxjk+yla6xfH//d+/5u3dsVUQVOji9vbC/dXd3YV7DJios9MXr1WSwP1WCSNLEmr9YpIZQTKqejKEgDawtq1qlKlFYEL6WObo1cyWVTAVlG6BFC9nS2XjOsUqgEEwGgCjlAXML3/xmzTDs0qs9jySCqLOg/mA02GEKpW8Ul1U2xxiZRAAGTnBLHsoPsrISqZg9y5rKF1d1Yh2tPa0EsTMH+mwg2CEVMDce3RQXVrjCc3Bmt5WSZCdsmqkqrnjqSo5yhtBQyxBzAOkGlHZISn2ZZCoj3FnHnZmYOUyznWZ0QUwK+n3Hv2wEhR6XqgHDFaWSCxRqEqM81wywn1jSYyNR3kukBgkVzzZOJVw6SHdURUiZVUgK7FZdWJy3PlDbTqDS5gZX9SgGCF3hlOkkAX2Y6WOMt1cdwZh/FRQs351j3Yt/bEiM4Apw4xkGagCYdAIZhT2M2NcdnOLoXD3USUGfXEd2ZrjXrL+yA/3PcpRVZ/pEnlUAtglUaZXnINzaYA4HOkUUXBJRTaDW2iEkoVtGMTVvsr9USPM6MrpMclF51XnBHaN8tRcVWWcwzM+WYKrIJvObyFAqgKmCGdnAOxzmDDqp9pcgCodcOOdDUeF1Dq76olVBNEB8kJ+rMooOSNVQlWbqKvime35/YcPFgMEHccJ7u0sG8V+Vs6Ysbg51WDpfbf2byyNdcHDgoWV/6NIDMq4M4I6QygoxXhmVSCDOtU2FqQ4voJGOs0qMKmihMOzOIedA1hZVjJw4+IfKVadXeHSytyjRipgpjobg9I4z0E0p2fUF9sYRER5LKgRBkbdZtWSFpWJBrm5WZ/qVxVDVYT4K0g2tgId2WYeVajFKj6DTCqJOFiWJTqmQ+RTOec4Hdk8phu7Z1Vsxhiqe+Y8ldLIlFIRrkod6oNzzp15d4kvy4zKpgxOHCVy1bm1/BE9268pQaIqUmWOcnYW6ExG5IfBH/1n6XsQBq9YZCocx5ye3as2xof1OTlKV7apDgJOoZ39y6Vxm/xuBc9enfBcxuB2H4f8MnlZOyaoqGdFd6RVxkS5SwHCFkNBG0bRgdERs9KIi6TKegaZUEcMJtwEx6tCMSjwTzzknN2DOZsMFgedlKO6c8eIvNjW+TKZzo9iP9rhfJn5GCP7t1i37+y1c2felYJYsDinVtXCGaMMcIvg9MjmjwZM//NzR2+/c25+/e03t1pri4G0s3uZBglWo3UFkksg/bNSJViiYX1MbvxUFT6zIaNMZ2dj10/+5LY/Gbq1f2MJ3+H47LBTUbzPw2xfwcMZP3e+YJi0Sio4fvrx+/m/t985Nw+Kb7+5tRAsnS5ub8+DYWf/8vzf5598Mf+3bsK1qFSJW/s30jFMDpIKqmxv3DUb2/cfk2a0Xe39EsRCxz996uzSz1fdGcJVEgdn2Hx17nGGKL2y8ZlN6i93Ff304/cL9/v/uNbO/OFCa63R4GA0GhC7V67Ivu1Ll5baGN5n7bG/f8+Eb41hcyIvVilQdhUtRL5qDAs61ef49nlbjEkMEpxUUSojhS9dtcgqidJjBO6NyOp0dXd3oYq8+tobNEhefe0NywPp48/+2D7/5Iv20Ydft7/89XdWBxYErfnAiaQwfaRzZ95tt/ZvLDwtZMHl9qDPY5SdJ1mbqhguEONYts/ol1uKSWTEJjNhTLjKNGphlHNm8+KYkaqk9KrS+WtP2tULx+b3F7e3bTB0ikFx/tqTdj3waO2gimTBMZWc47H++w8fzM+j1XVyzhqJjWGOq/afOTxLwGqu0r21tvh7kCwLZM6sIBUKVcoruMZ4xHGRjwto9cnGj1SR89cO3ntxFRy9MofRSAUZJeVsDo6wPVVJMspgyTPyxHu1NyqBM7uYDS7wVXJvjZxB2KBqVmftzvljqYwyK1VFVQRHrpxWgrNCmeNX6TArCDpLBWJlCSab08ewYMoqBtv7zCamS5Sl9jnOvX1n7+lLG6pMKjgPeSlF2b0LgopBWdll+iL/KcHx5QetffBlPkYRm3uYFaTTKGR1aEHxZrDNBQnydcHB+lTwsmrC/DnOOXfm3acvbXAZmmV8FiS4qMoI5O8WA7MV48sWIatCKtuwhDD6FMtRFkSRDrOCsL1jFd9VCAahVDtLvCrBuj1hOruElsEyhlqwP/1bLBWFTki/diUcswlbABzvMjz2swWP8lhiyAJ2HdQriasorT2tIK219tGHX0+WpZ5uVSFIv2fVFbMwo7jHquI4uIc+hD7G9MD9ZKgiysuCZ4ZCmAHKcR0xZ4zCcQFcFKMeruziPJSHc7IstG764MsaJDvsp1iRWLZXiQMTkXJYnKvaVAB0UlCJQSack0G4SkJcesyLirNJKppR4Qq8wnEM2uG4KQHLNtTJ6nLWCbFaOwiOLEhGziCjXxS2xp/YMedx64NjsV0Rg1osSBkvVelwHAYAg35KXhyzxTpcdGJ7pnBW0rBdGeAwa5XUZipYdhiVpQfFuisICwQVOLh+DNqMQihWFVji7aTkxT5X+ZW8OE7BbKUX61v6Jl1FHWtjsKcaqSwrRFJO26+rGQ3nqGB0ulRInSliIFTGdHoWT7FU4lHYnTkiS1ZZhVd8oiwGp5T/ZMFcTQbMHyzEYkarYGILwO5VuWRtuFGZ8WyMcwImz8lSVHk6NfIEq7XD/x6kUtFxX1mydHNVco1zWuPVIF4rOKZgchagURbah/0zpmQfrCITo1Ap5ZwPF1EFQyUbucBhvFwmYbZllD2ROqy5U8lBSOYkKnOr8cpZ0ZmVz7nEG9vZp/MnhibQTkQXM5U1FSRhRqFAprDKRtFo5pxsc1gWijzcYjL7so3YBP3nx3+31g4e9x4WORuVE+EYlvBckPRPBqEcZKugBbWnFftZMM+wQ5VN58AsG6MRqiyyOYqQF+rLDHc8FYybUkVaq3/HUaFfvfbr1ZkIYsiAwc5+jXuvqkgWQKwNnbqy7sp/3Hy0NYN3fRx9syJzbrxmVYEp3QUxvsyIirGMN+qJfFk7bkymX0bV7zgq1CtIhdSj3OwRr9rDTmrf3P6x7O/a+7VCJ0wvFoTM4RlKQT9WCKcT/SadGezIZRzmnMoY5FlxVDWGLZqCTi7zjVD8jmNVOuwKoio6y8pxHiYxdZ1BWuYTLNkpmMagkYLyDuLFOUznGWPESqZiEpkx41TmZsa5gFHtqvxXA3MVSIVU/Y5jhCq/LlTfd7jvQdhnJIbHETmwzMzm9WvlqJ2Xg1wsgWG7QgpsXoVOHj/hf1E4FXagoo4/zmPtcV62IE6u0rXPU3pWKPuOY6Sq9IP5YfwWvVMFg+N4VomzoKnsAYPmbi5mfVYFGM+KfJS38D0IGssMxYhnRrBKoBTIFpfxixuVGa2CLfKt8GN0+cxO27lwrLWW/wbEVZXrF47N31gS31zy8We1d2x12r1ypW1fujT/VKSyciTXp6oL9rHxnTerJmyOg084thLgDgqy5EhfHIeGKCZIDNKgc7NMxDIS6qCMuLV/Y+GVozgX7aqMiXKzv8U6CJKnVP3BVPyJrXqdz+hrfirBgaQyd7/vn3Hv1D5nVVf1qYBh8KxaGTAgcHwWyAsVxGVlDAjWpxRzcMUtKG6EWtj40urTp87SSpNBM7aQUypJp53iT24P42Vx1QqiKj7LriwYIh8FkyNfBoFwDCMXFL0/QzBO1/4SChdIW8xZMhxeiXhWBVi/W9AsK8VXE6mFVxUPFz/DyVXa5FsSe1CMVJBIGQTBMQxqxXaXVLMkFccy2ZFGEE5v768xim9qYbT0i0JWTVhZReWybF+pKmq8C+L4Ghrkq+ZnVMHozxtVX/HTidno1onBUlVNcO+YbMbPVaRKVXd7jG34GiM1fos5UTRClV91fqgs8lTHq0I1F9S4eQpidT7r/j3IYdDUitGaz+5sbdje45zep/ioPgfnFBxU4xmhLa5ydFo4gzjHZ5Apjot9cZ5TnDl25FGBWiobMd3jvQs2xuso0Vdf/XnTKmyM3n/v0/l1pSrNIdYo9nal2WUWJAfRVLZSeuA8JXfEQc7+9nx57KZoyi8KXxS6+/jN9tZL362N39/+/qfSuPff+7Tdf/jg4LU/FQzPSmX8xGscr+ZFqBPnVSEbo59Tllz11aPrpnU59bqDY4R6IG05TK8gR3YuYbCHOXoFy7p2lF/NDkeVekBsumpUnLri/M8qOJwuC18UOlyeVRpG2WGePQVRh26kFyUYKv/j1DoeDcfvPka/LJxC6FSj2X5TlYHRWy99t6B/vF56aUP/dPifPdVAmMTGqqoSg+9Fg0ZZAGT/uQ57s/uzJOfYrg/bnxWkOizYFXnGa3oGieSgUbx254He96I5f5Wq/+3aYVL/Br1fV8lVgcPK8srJK/LWBd9w7N3Hb1L+9AzSmv7muV+zcVMqwNSMsMkD3PNKq8AqhBitrTdAIs8RvlVdov6jweHmbDFY1Ilh/3XDoOfByRX+fNHJBYyrFtW1GDmH9CzNxrj1r+6FO0eMVCwcu/TXvJ02dQiuOug6nfgoBkdGlXOHc+TK+Exmn4sBofZh5Lyk9jTbY5S/1drzdTYYyVjPUvZRpQhhIh7PsnynzJErVaV64EcdY1uU5fRnlQZlLlSQVSvFup125MlJxsMt2DopPol6Hg7sGamsH9tcFsd5yDfOd4ESA83pGAn1dgGW2ansiCQhVpXW9ViOldspxBZlpMSOEn6HsbO72mPfZ0EjOL33sfGRV79W+zjy1EolNtZerQRTaeUAyWjkkLUqjXw7W33mPkrZl35ZAG2KKtAq3o/CppHEpM40WaJzshmPil6TAmSVLOwWb9WnSSPjN3Xe2OQPqpAQy7eWP0Wa+gBlBGlk/pA9KHB+lNmH/fTFcauSy7wVXKnGVWVUxkfYoPj9XA7tav3Vmk29z3TAYK36gwviLMBRR+yfFCAZVh09jLH7bHGnVBdWalVW+rkQYvjK2Ow+8wO15+vag6oPKZn9+5rWTIBMwd8ZLo181aKMOOxI4KEeI7Szf3n+70Wm+LQtOkEkln2nVAbHO0uwmcwsANQBvkrxjHVs7+Z1+Z6akXPAyBcyI4e4dWUXp9+I7u4HVM/ifLGzf3noSVgMir2b1+n3CBVy+zN13zI/GD2HZrZNOddOPqSjAuhgTDH3BMRVn0yXbBOYflMPot3J4rjOb9PB09ryXwfv3by+cK+e9IyQOzBHOXG8Gxt5jgThKjpVyQZIVZB75BbHj2aTSn9WpdScSqYarYrRGZH/hd+flba1tloAYZVwNPWJ4SoBpfwlO4Sv4i+Ool9mfCzEUkq5jDDV0Uf6u2y1yZkjR92zx85xrCPmeFV5rdWhW4dYMSiu/XNvSEfVF/WszKlQti+jcHsEEra2OjRfCJBVFyOjqbi3ksnZE6oRGUq/0SAcOetkuvRrFjyqWrm2ityjQlVY1pr3l3IFmRrVFWdehXfko+axIMA5iveo44xkScV/pBpWIeAUmhrQ6+DtxmZVep1EH/NGJ8qEO+fv/civ4894Nrn7+OCxI8Io5Bl5q3MG0xEPcoqvsk3ZGHWsBCJicLQ9w+aqr2ITk6dsQydk+1jRcxVS51u8H4Ve8d6tGQ2QzPDMaVkbOn1UNjoMW3iWLdS9I+QfAzAL7CiL9WFbNev3sVGnKGvEPiWX6arkqSCrOCGbN+InbB5LOBmpsaoSOV1m1YwTKTpzppByvvjJ+hyPSnZWhFnbVSF1NlGZtOqcjtz4KU5SCbQMxvXPLAFU20ZoCnyqjq2Mm1U2TG2ScwxUZCSjsj6V8dh4V2XUgrvsl2V8NbfqeMg7flbPTMg78okJTVUHdY980D5mA/Zje6Y7ys3Gsv1lfVk1Yu0zNyA7HE2lDLNn5V71MYiGMhDu4ZhMBrOjsiZZNc0qpJqP/JUtWWKoOBvj4xJV1SGnJAGUhfNdAhuRMYsKZjh6XWcBJmvK2KykV6BQluUqcE31qcrjgljpgTxdX+zPgkZVaDUHE4yyM7NNyRwlBcnjfTXJMFo6pFcdV+FzbHNnBLUZKiNUKgvKiVm+msEz+DUKLViWczwy+Bb7VMavOjw6TbVixvFufUYdEuc7GkmQvS9LMqjHyr8HmVrCKoumMgHKYDCBYWdX8rOFZXq47OkgT6WaMSxedWR37lG2ZVW1j1GBxwKNOaTTrWpHHO+SEcpWwepg4gwVwZKUMWLz43U2hy1sRa4zVmXeDBuraoibXnVSBy3YhrlszwLGjavopCoVC3oVnOiMjOcoIpkSRA5Kon5YCV0CsxCriiU7U3SgrJKohY59LuCUs6hFrsBClWVV1mdzXYBG/SrrE3liUlH3KA/5oS7RppGAQ56ML+OdwS7GDwmDlq25sl/5GPML+te8Cqu6SoMKVhdAOa2LaqeL01/pglmPwQeVbeIY1D8LRKV/tY05B7tWlUJds31168sqUFbJUH8lO5PrbGFy1Nowuvu4eAZxWRHHRMVGsiTOi4apypRVLdw0LLNsHOrm2lylYJkqEkISVbVYhq5UW6U3rpVaV2Ufy7bM0ZxtTDfFl8nFdVG2oWzkwdYGbZjhIGdEVQG3COgYeM94sgyoKkpcPAehsoCP8lRVU3ZmPJ3jVIKVOUZ0dlXZcQ8qe6mCRlUt1Bl1xYTokparoM5etZbM76KNKKu1cAZxm88UjZ8sGzpF3cY4Ypkyk+PKK+Ph+Dk5LPDjJ3OUuMHMkRkfpWclC8c25oDIW1VCFiS9XVVzVWlc9VO82X6ptWcJSSUEllwtxGIOpiI3U0AZ6BYIKwsar5yfLSDTnemfZUJsV05WtQfHZoHFxiBvtmYuwBhPN8dVdaaXksnQQGV9XDCpT8WPJaKow7G9m9efuI1mTBmpoKhkIFV5lA5qkZxeFR4ugJ2NqDvaVpGprlmWHlk7lrQq+5HZU9knXCOnJ853+7bKHIciGI9ZRWEUwrINZtnMyZgh/ZpBBqZnljVRhspwWWZj1UbZjc6BfSiPtTE+OJ7Zgbq7uUoWcxQ3h9mrsrFaJ7ZGSKr6ZrawZID9LuiXflHIsooSrjZR9SmelcyKOjKHjXORnHOobO14Zbaq+a76KLuyrO3WGuerTDtaRZgOLCtjP167uaraMZ4ZZRVI0dL3IKhoZjjOyTZTBRySC4JKiWZy3QZgNRwJDBf4yqbIT1UErGRMFzVHEQuA6lpkiUDBuVGU4qoSto0ESZUiz9IvCl2l6AxxXm9n8InJYW1sfOY4imdFRwePonx0pLhZDBqibgj3GNxQweiqF3N4dHa1BqibgkBu/TJ/YDxUMGRJiiUVt49xXZQ/sz2xv0nHQIkLzhYmKhPnVDcbZatFYO2uX+nJdIrjmK1OdxesbmNQp8xp1DgmmwWjq3xx3ZltWTWvJLHIJ3NcTDauWlT2Ae1z41oLZxAWPZgh2bjMSbHNfaJM1KeqkzOcUSZbzVdrllXJOJ+tAequ1qyiU2Vexs/NqUAct57ZvWtfh24Zrxk6R7yOUcsye2Qex+N15Mmyi3LQOBerF45TECJmJwYdVKBljhvLNq6Lyroq42eVR222yroOflT0QV5VGUov5ltOHtOtGhyom7ORVVOk0surs4oQFWNzXEatLAS2I28VHEqua2fVwFWWSnZ0WZ2NZfKc3oyqVSOrMlVHHcnWShd2z/aVzcnsq8qO7a0VzyBOgMqaOKaaTVGHyBMrFJOLWSHLMljN0AZVWVm7gwrO+Vi7q2wODjF5qtIw3VU1i1XV8VF6MR2U8yPfSjJQ+mRVxAXHWy991/4P4sXXP8RtQZoAAAAASUVORK5CYII=" - }, - { - "name": "it's_stuck", - "description": "Well, only one way to find out, right? You produce a holocredit chit (helpfully taken from the science budget, I'm sure they won't miss it) and jam it into the slot. Then, you realise your mistake, as it sticks in the slot. Whoops. Time to try the old fashioned way, I suppose.", - "choices": [ - { - "key": "choice 2", - "name": "Time to try something a bit more daring?", - "exit_node": "start", - "on_selection_effects": [ - { - "effect_type": "Set", - "quality": "jammed", - "value": 1 - } - ], - "delay": 10, - "delay_message": "In hindsight, why would this accept human currency, anyway?" - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAAjVJREFUeJzt3cFyogAUAEGzlf//5ewpF0pGRJDnbvc1CkhleAbEfN1ut58bcNefqzcAJhMIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUD4vnLlW/854tdJz5+2HWuWy9+6HWdt77P/1PLo7d27H/cwQSBcMkFePSI8e+T5WXncUctZWlvP1uef5V2vd+9y1p7/aD1nMkEgvHWCTDgiXOH3dU6ZJNNN+j0xQSBcehZrae3siCPtff/aJJo0OX6ZIBBGTZDle3XuW+6fq/fXo/W/ev3H3yAw1FsnyP96Nues99ZTJu7R11PWJqTrIDDM1+3CA9CUz0BN2Y410z+Ltfdxz/780frOYIJAuHSCwHQmCASBQBAIhFFX0pfefZbq0XKPupPu2eW9+2zSVmctZxITBMLoCbK09069s86vT7uTca+j9s/E6xivMkEgfNQEWZr62a6jPiN19evABIH00RNkqq33Rywn36PHv7penmeCQDBBXvDqkX/rdZKjvp+K55kgED56glz9LRhn39/B9UwQCB81QfZemd36HvxdR/azzmLtNW3/TGKCQHBHIQQTBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBMJfgqJi1hru29AAAAAASUVORK5CYII=" - }, - { - "name": "lost_wallet", - "description": "Searching around, you come across a lost wallet in a small crater. Flipping it open, inside you find a family photo of 3 identical looking grey aliens in comically different outfits, an (expired) credit card for a bank you've never heard of, a loyalty card to McDonkalds, and, in the coin pouch, a single black coin with glowing purple lines. This is (presumably) what you're looking for.", - "choices": [ - { - "key": "choice 3", - "name": "Return to the machine with the coin.", - "exit_node": "start", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "have_coin", - "value": 1 - } - ], - "delay": 10, - "delay_message": "It doesn't count as theft if you found it, right?" - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAC4dJREFUeJztnV+IVccdx7+7KyH7IKQmrptuSXzImj5E/POyf7LkoUJAMBiwjXQTXxKyS1wjSYubBoPQ4GLdtERMYlnFUkiyIWkEJQUhrQsRE9eXtWChRQ0YqyKGpqGBWgqufbjO3Zm5M+fMzJk553fOmQ8snnv+3bnrfPY3v9+cc27b8aOHbyMSqTjrn3zO6bhFntsRiRSKqwg8IwNrmstRkEhpySoDL4KOKEiEPL6jgg1RkAgp8ogKNkRBIoVQZFQw5eDps1GQSHioRQUVB0+fVa6PgkS8UZaoYEMUJGJNGUQA7GWQGRlYEwWJJFMnGVREQSIAogg6oiA1pAxJM5C/DCqiIBWmLFEBoCEDD2tPFKQilCUqANlkCCWCjihIyYhRwR2X9kRBCFOXqADQkIGHtScKQoAyRQWgWjKktSUKkjMxKrhTRHuiIIGIUSEbVNoTBfFAmaICQKfzMai1hycKYkHZogJAq6QK0GtPGlEQDTEqZINae1ypvSB1iwpAlMGGWglStqgA0Ot81NoTAv4zVlKQGBX8ULZ8wYVKX2pSRhEAejJQa09IKntHYZTBD9TaExLXzzp19cnmMjlBogj+oNimUPiQQUWhgpQxaQZodrw65As8oYSQyUWQskYFgJ4M1NqTB3nJoMK7IGWNCgC9v8J1lAFw+9w+ZFDhLEiMCn6h2KY8KDI6mGAkSF2jAhCHSL6hFB1MEAQpc1QA6HU+au3JG+rRwYQ2AE7fMBVFEKHYprwpW3QwwWiIFWUQ8ZXMZ/1sRVKF6GCCEEGK/itGTYY82sO/R9G//ySqGB1MWFTGShK1qADQ7ty21CU6mBB8opBix/M5tCm7GFGGZLwKUjUZdO2JuUN9aBsZWONUxaImQ97t8Zk7hMpDogzZSY0g1EQAaLaJAnVNpFW0z44q18/3T1mdRxCEYsej2CYqVF2Ir6f6WtYtHT2TeIxODHm7qSikJgqpVbaS8D0ssj2fye/KRYaRG//Tv2fXXdbns0UlhUySJGmC8JhIkjrEoiYCQG/i8uDpsyQiVZbokCSGah/fspiIwe+bFkme37ReeH3oyPGWbYeOHE+VRBAkyiBCuVo1MrBGaJ/vaGFy7JHnriu3/fOTB6zOZSNHVmRx0vA6UVhWGSiIwHf4PCJSFjl0YjDufeIyAHtRbDCJIjzPb1ovRBFTnOdBypQv8PiUmIJYLrjKkSaGzL1PXLaW5LXXXxVe7961R7mNX5+F9tnRxGFWKcu8poRue95/9ZPef7TnqNEwKy85GC6S8Lz2+qtaGVRRZL5/Cu2zozh05LhyOGUbRciXeU3xGdH4Tm+yf1nIWw5Tlo6eSc1D5MhigsuQSmaRa8eqigyu7x/i8xcdkaoIyz2+N7FTWP+vnRNGxxdS5jWFSkR7evtXAID39z/YXFe2DpwlKc8DFkV279qTGi1s8g/tUOvOv2llXjL3g1CRgcG3hwkCiJKw9yz6uiyTcm/IqlUapjmIPMxiouiEsJkw5CMIHz3e239C2G94+qLwupD7QULI4HJOl8/+9PavmpKEiCJ1HmbJuYivShWwIMV7+08AkhQ808MPCZKQvh8kqXP4KLHWrQOWAV4SVQUrqarFM98/henhh5zawF+vReZ+EJfhhMzHa9canePHc3PC+Wwl4aMIBVzKvTZsOtwdvJKlQpWPMDkubNyCpdAPsVzl4GmfHXUTJFS+4HJeUynkY3hJVPCd7v39Dwp5SNK+PqJSXYdZX1x/u7GwEeg99i4A9TDrwsYt4v4ABru3BWlT4ROFrud3EUM+nknC2uDSEevSgUNHEb6zAwsS2BzPJMkSPZ7Zvk54nftEocl7ZO38OtKiRpk7e+hhFuAmiUkFS5bDFV4SF4anL2IeF4UKmNNEoU0nMj2/bynSZFBh87mo5SF5YSNJnnLw8FFALuOawC5XATxOFNqK5lMIFxkYPmfW65KHbDrcrVyfxw1VSQx2b2uZ/3hm+7pMkmS6H6SI6JCnDDaJOnUOdt0VdDa9aDkA9d2ENnLIcyDz/VPmE4VVl8EFedKwaPLIQ7Iid+IhnAMAnFq+MtN5hy6da1k33z+F4f7Gsmvirhxi2fxn+xAiiwhAea+uTcP3MCtUFDGJHjb3itsiy2H75BIe5Ux6nkJUTQZdsk4tb2D4lsTX0Kr32LvWpV0bhqcvOkWRxCpWlKF8eYjJMMuHJK5i8A9M4F/v3rVHKNG6VLdsIsefPzmp3fa7777fXBaGWFmEoJ4vhKSMJV++g5vK4jMRl+8Rt7m/XObU8pVG8x9JUvA8u/gagIYoi1ykqLMMeZNHuTd0Bapx8eFfsGzV6pb7M5gk81j4698+O4ohnMucuGfl2cXX0udBogzuFJWHUKpmqW6l9XErrEzWWXQdgiBRhkgSurzAtGPyM9R8FNEJPHTJLookScKGTbY4PXq0ijKk3cmnu8OQR5WH+PpdZXk0aZYIYpIs6zqlHD2WrVqNobkOnFp7q7luaK4DJ7ceyPT+Jm2xFYQl6qTvSQ9FWlmbaok2BEt2/iJ5hxf9vM+yVauby0NzHcK2pAdKD3ZvM5Lk0s/2NfafztJK4Pd/+mVj4U5bgj96tEiKemILheuofOUhG9660lz+44s/aNluMrzi5fAFE0JGnugzgUULfjKTPVCusO8o9A21hz74hoJ0MmlyNEu3s2aC6J5yqJPBBn5uo2VWXzN/8uWWwfD3pIegCBnKNmFoQurwSoNrtWi+fwqY26pc7/NSFNso8uWWwTtL59A7JhYFyAtS9EPiXKBw4SKQPMz64vrb2IArukOVbHjrCr6Z+JVzex470CoHW88n7pQgI0gVhkj8jDrFIVFRNIdNiujRso8lumusdFGkES1aI4WOQgSpggxFUFfpXC80ZCwModT0jq3EhXcaVwRfeEeUh/RzsYD6yuALn7PqWYZXIUmKIn0dXcpjZBFU9I6tLN9zsYqkSol6I9HWJ+kT+BQA8MJEtiuyqTI5M45DY+pLXvgLKWv3BTp5EmJI5POcLCK4VrNsObn1gDApaPuNsyrY8KmvAzhz64bRMZMz4wDU3zolbyv8uVhVpUw5gjx0+u3OtcIyhShikof0dXQ1Jfnss183/uW2j/9oUlienBkXrglj2/ltlfkCHSpQvDfENg95YWJOkIQyZ27dEPIMJoYJTISkbaX8Ap0isclDqMyHZKWoKNJafRKjA6OPiwwmyJEkaVstL1bME+p5iA4fUURVXu0dW9jGL5tgEh3kDp+VSl+sWBTUHgcE5H8Tla7TP/bRxwCAC3hYWE5DNxQKTWUuVoz4h48iacMs0yjgC9+RQgeZS02qRuhkndKsuo0ch79+WLmcRl5CyLSNDKyxvqMw4n6HIVDcXYbyMSbDLDkP4aNIqKix98QO62NeWfdGgJbECBIUiiXfrIQeSjE5bDr83hM7sPfEDryy7g1cfWSz0TE9f/3QaL9241ZEyMFHjVDFADnv+PSB/wZ5Hx6dHPffd6z58+3ND5o/bP/vfnjJe1tiBIloaUaLHKTQcf99x4TXL314CgCwb/MQ/vaP/wjbFv99Of79iN/3j4I4YjphqBpmFZlUm5R7865I6ZDlAIC2tjbcvi2mzV1LjgLYga4lR9F17ajZyZcA56/eFFbd0/nTlt2iIBFjIR6/fHfgliwwOTOON596tGX9m089in2bh6zPd/7qTazo6RTWrejpxI1vGn8g2HBNliTmICUnax5iIsfjl+/OVQ5AX9Z9+aPPg7yfKnoAMYIEh2IVix9mTc6MFzbHoGOhktV4zc+i81FlRU8nfv4Hc2FUUSSNKEggdE9ZpDK5RxVWkWKlWwDYi+R5kd/8pHUoJrOipxPnr97USvLtzQ+Ux0VBMiAn6mn75tGOqohn0ukZLI9I456mF2Iiz+SISXoBUO2s1IdZppjK0ah0qdHlH0AUxDtUhSgbph0/9Pn+D1DTxdUMOqP+AAAAAElFTkSuQmCC" - }, - { - "name": "choices_choices", - "description": "You slip the coin into the slot- it's a perfect fit. Now comes the hard part: picking a button on the machine to press.", - "choices": [ - { - "key": "choice 7", - "name": "The red looking soda.", - "exit_node": "cha_clunk", - "delay": 10, - "delay_message": "How exciting..." - }, - { - "key": "choice 9", - "name": "The yellow looking soda.", - "exit_node": "cha_clunk", - "delay": 10, - "delay_message": "How exciting..." - }, - { - "key": "choice 10", - "name": "The green looking soda.", - "exit_node": "cha_clunk", - "delay": 10, - "delay_message": "How exciting..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAGZlJREFUeJzlXT2vVNcVPYyfLJBw5MKWHMfJj3BJB64okBKnSOfCmIJHa2FFshzZsuTkKS2PApMiXSwFI1G8yo+O0j8iIY4lu7ACEggJkQKdeXvWrLX2PnfmMfC8JTT3no/9cc7+WOfOm8uxV15+/UkLdPvO3vz69KmzbSqdPH6i3X/4YHL/unifPH6itdYWxqv52M7mVvTq8yI5efjpxkwhNzfqysbcvrO34Aej+oyuIc5164J6s/1z+1mxYYYNfTFOnzpLN7pKUzdzCu+u58njJ9rtO3sL/WyBRuQwWVFebGNyMVDj/DgGeSo+VWJyVOCinX1cT5YxaTqHRf5KPltDnBPnKZ6oNyanfo9zGCnfOIYVZNNUze6MsPplGYW1YxVwm4T9LONFPhXeVVvd2IqTVfm7ClLhr8axMX1cRT+3t1MqhaKFAFmlnFfK+JTNGoUdfUOd40yBBi4oGDGoxYJkRJ+pQbNqwKkxI3JUolAQU11X9Z3qV13HTjM2IcuarE2V8c5XKaswO/JlbRl0UHCFUS/FqkQzmY5/tNsFWdVx3fpmY1lAI9yJdir4E+1y/Ngn8wG3Bgw6RX3YvZrPSMnE9pmbEIVnmRTHxTFuwR2NjkfM7GTj4kZnjnMy6KUyqMK/Kiu6zY6UZexszZh9mV4VfZSzs4QS1ybzDVX1XZA6PqzdzaNnkClwaUpJw74RCKR4MMzcqQIdsrGj2BmdIhvvdJuKo6u8GAxScxwc6jzifafKHCUDaVWfiTIUbJSH9CoGjONXUbTKUzmxcs4KPlUYOBJuhttUpl9FLzXm3qMflvpfefl1uT5uw6cSJjGUq8b0cSxwKmvKkgqTzcajPKWz4nfy+Im2pYQgBlQUyzSDMSpjZE7G8GDm8Az+qI3p15FH/GT2OLvYRrqMjLIwCO49Ori+fGZnfr2zf7ld3N5uV3d3F8a88vLrS7aPktM3g5QIL7FN8Y3tTpfYhmNQL9Wm1sTty1ZWSnGiMo45tFIiW7Rqto46qeylZGSZxjk+yla6xfH//d+/5u3dsVUQVOji9vbC/dXd3YV7DJios9MXr1WSwP1WCSNLEmr9YpIZQTKqejKEgDawtq1qlKlFYEL6WObo1cyWVTAVlG6BFC9nS2XjOsUqgEEwGgCjlAXML3/xmzTDs0qs9jySCqLOg/mA02GEKpW8Ul1U2xxiZRAAGTnBLHsoPsrISqZg9y5rKF1d1Yh2tPa0EsTMH+mwg2CEVMDce3RQXVrjCc3Bmt5WSZCdsmqkqrnjqSo5yhtBQyxBzAOkGlHZISn2ZZCoj3FnHnZmYOUyznWZ0QUwK+n3Hv2wEhR6XqgHDFaWSCxRqEqM81wywn1jSYyNR3kukBgkVzzZOJVw6SHdURUiZVUgK7FZdWJy3PlDbTqDS5gZX9SgGCF3hlOkkAX2Y6WOMt1cdwZh/FRQs351j3Yt/bEiM4Apw4xkGagCYdAIZhT2M2NcdnOLoXD3USUGfXEd2ZrjXrL+yA/3PcpRVZ/pEnlUAtglUaZXnINzaYA4HOkUUXBJRTaDW2iEkoVtGMTVvsr9USPM6MrpMclF51XnBHaN8tRcVWWcwzM+WYKrIJvObyFAqgKmCGdnAOxzmDDqp9pcgCodcOOdDUeF1Dq76olVBNEB8kJ+rMooOSNVQlWbqKvime35/YcPFgMEHccJ7u0sG8V+Vs6Ysbg51WDpfbf2byyNdcHDgoWV/6NIDMq4M4I6QygoxXhmVSCDOtU2FqQ4voJGOs0qMKmihMOzOIedA1hZVjJw4+IfKVadXeHSytyjRipgpjobg9I4z0E0p2fUF9sYRER5LKgRBkbdZtWSFpWJBrm5WZ/qVxVDVYT4K0g2tgId2WYeVajFKj6DTCqJOFiWJTqmQ+RTOec4Hdk8phu7Z1Vsxhiqe+Y8ldLIlFIRrkod6oNzzp15d4kvy4zKpgxOHCVy1bm1/BE9268pQaIqUmWOcnYW6ExG5IfBH/1n6XsQBq9YZCocx5ye3as2xof1OTlKV7apDgJOoZ39y6Vxm/xuBc9enfBcxuB2H4f8MnlZOyaoqGdFd6RVxkS5SwHCFkNBG0bRgdERs9KIi6TKegaZUEcMJtwEx6tCMSjwTzzknN2DOZsMFgedlKO6c8eIvNjW+TKZzo9iP9rhfJn5GCP7t1i37+y1c2felYJYsDinVtXCGaMMcIvg9MjmjwZM//NzR2+/c25+/e03t1pri4G0s3uZBglWo3UFkksg/bNSJViiYX1MbvxUFT6zIaNMZ2dj10/+5LY/Gbq1f2MJ3+H47LBTUbzPw2xfwcMZP3e+YJi0Sio4fvrx+/m/t985Nw+Kb7+5tRAsnS5ub8+DYWf/8vzf5598Mf+3bsK1qFSJW/s30jFMDpIKqmxv3DUb2/cfk2a0Xe39EsRCxz996uzSz1fdGcJVEgdn2Hx17nGGKL2y8ZlN6i93Ff304/cL9/v/uNbO/OFCa63R4GA0GhC7V67Ivu1Ll5baGN5n7bG/f8+Eb41hcyIvVilQdhUtRL5qDAs61ef49nlbjEkMEpxUUSojhS9dtcgqidJjBO6NyOp0dXd3oYq8+tobNEhefe0NywPp48/+2D7/5Iv20Ydft7/89XdWBxYErfnAiaQwfaRzZ95tt/ZvLDwtZMHl9qDPY5SdJ1mbqhguEONYts/ol1uKSWTEJjNhTLjKNGphlHNm8+KYkaqk9KrS+WtP2tULx+b3F7e3bTB0ikFx/tqTdj3waO2gimTBMZWc47H++w8fzM+j1XVyzhqJjWGOq/afOTxLwGqu0r21tvh7kCwLZM6sIBUKVcoruMZ4xHGRjwto9cnGj1SR89cO3ntxFRy9MofRSAUZJeVsDo6wPVVJMspgyTPyxHu1NyqBM7uYDS7wVXJvjZxB2KBqVmftzvljqYwyK1VFVQRHrpxWgrNCmeNX6TArCDpLBWJlCSab08ewYMoqBtv7zCamS5Sl9jnOvX1n7+lLG6pMKjgPeSlF2b0LgopBWdll+iL/KcHx5QetffBlPkYRm3uYFaTTKGR1aEHxZrDNBQnydcHB+lTwsmrC/DnOOXfm3acvbXAZmmV8FiS4qMoI5O8WA7MV48sWIatCKtuwhDD6FMtRFkSRDrOCsL1jFd9VCAahVDtLvCrBuj1hOruElsEyhlqwP/1bLBWFTki/diUcswlbABzvMjz2swWP8lhiyAJ2HdQriasorT2tIK219tGHX0+WpZ5uVSFIv2fVFbMwo7jHquI4uIc+hD7G9MD9ZKgiysuCZ4ZCmAHKcR0xZ4zCcQFcFKMeruziPJSHc7IstG764MsaJDvsp1iRWLZXiQMTkXJYnKvaVAB0UlCJQSack0G4SkJcesyLirNJKppR4Qq8wnEM2uG4KQHLNtTJ6nLWCbFaOwiOLEhGziCjXxS2xp/YMedx64NjsV0Rg1osSBkvVelwHAYAg35KXhyzxTpcdGJ7pnBW0rBdGeAwa5XUZipYdhiVpQfFuisICwQVOLh+DNqMQihWFVji7aTkxT5X+ZW8OE7BbKUX61v6Jl1FHWtjsKcaqSwrRFJO26+rGQ3nqGB0ulRInSliIFTGdHoWT7FU4lHYnTkiS1ZZhVd8oiwGp5T/ZMFcTQbMHyzEYkarYGILwO5VuWRtuFGZ8WyMcwImz8lSVHk6NfIEq7XD/x6kUtFxX1mydHNVco1zWuPVIF4rOKZgchagURbah/0zpmQfrCITo1Ap5ZwPF1EFQyUbucBhvFwmYbZllD2ROqy5U8lBSOYkKnOr8cpZ0ZmVz7nEG9vZp/MnhibQTkQXM5U1FSRhRqFAprDKRtFo5pxsc1gWijzcYjL7so3YBP3nx3+31g4e9x4WORuVE+EYlvBckPRPBqEcZKugBbWnFftZMM+wQ5VN58AsG6MRqiyyOYqQF+rLDHc8FYybUkVaq3/HUaFfvfbr1ZkIYsiAwc5+jXuvqkgWQKwNnbqy7sp/3Hy0NYN3fRx9syJzbrxmVYEp3QUxvsyIirGMN+qJfFk7bkymX0bV7zgq1CtIhdSj3OwRr9rDTmrf3P6x7O/a+7VCJ0wvFoTM4RlKQT9WCKcT/SadGezIZRzmnMoY5FlxVDWGLZqCTi7zjVD8jmNVOuwKoio6y8pxHiYxdZ1BWuYTLNkpmMagkYLyDuLFOUznGWPESqZiEpkx41TmZsa5gFHtqvxXA3MVSIVU/Y5jhCq/LlTfd7jvQdhnJIbHETmwzMzm9WvlqJ2Xg1wsgWG7QgpsXoVOHj/hf1E4FXagoo4/zmPtcV62IE6u0rXPU3pWKPuOY6Sq9IP5YfwWvVMFg+N4VomzoKnsAYPmbi5mfVYFGM+KfJS38D0IGssMxYhnRrBKoBTIFpfxixuVGa2CLfKt8GN0+cxO27lwrLWW/wbEVZXrF47N31gS31zy8We1d2x12r1ypW1fujT/VKSyciTXp6oL9rHxnTerJmyOg084thLgDgqy5EhfHIeGKCZIDNKgc7NMxDIS6qCMuLV/Y+GVozgX7aqMiXKzv8U6CJKnVP3BVPyJrXqdz+hrfirBgaQyd7/vn3Hv1D5nVVf1qYBh8KxaGTAgcHwWyAsVxGVlDAjWpxRzcMUtKG6EWtj40urTp87SSpNBM7aQUypJp53iT24P42Vx1QqiKj7LriwYIh8FkyNfBoFwDCMXFL0/QzBO1/4SChdIW8xZMhxeiXhWBVi/W9AsK8VXE6mFVxUPFz/DyVXa5FsSe1CMVJBIGQTBMQxqxXaXVLMkFccy2ZFGEE5v768xim9qYbT0i0JWTVhZReWybF+pKmq8C+L4Ghrkq+ZnVMHozxtVX/HTidno1onBUlVNcO+YbMbPVaRKVXd7jG34GiM1fos5UTRClV91fqgs8lTHq0I1F9S4eQpidT7r/j3IYdDUitGaz+5sbdje45zep/ioPgfnFBxU4xmhLa5ydFo4gzjHZ5Apjot9cZ5TnDl25FGBWiobMd3jvQs2xuso0Vdf/XnTKmyM3n/v0/l1pSrNIdYo9nal2WUWJAfRVLZSeuA8JXfEQc7+9nx57KZoyi8KXxS6+/jN9tZL362N39/+/qfSuPff+7Tdf/jg4LU/FQzPSmX8xGscr+ZFqBPnVSEbo59Tllz11aPrpnU59bqDY4R6IG05TK8gR3YuYbCHOXoFy7p2lF/NDkeVekBsumpUnLri/M8qOJwuC18UOlyeVRpG2WGePQVRh26kFyUYKv/j1DoeDcfvPka/LJxC6FSj2X5TlYHRWy99t6B/vF56aUP/dPifPdVAmMTGqqoSg+9Fg0ZZAGT/uQ57s/uzJOfYrg/bnxWkOizYFXnGa3oGieSgUbx254He96I5f5Wq/+3aYVL/Br1fV8lVgcPK8srJK/LWBd9w7N3Hb1L+9AzSmv7muV+zcVMqwNSMsMkD3PNKq8AqhBitrTdAIs8RvlVdov6jweHmbDFY1Ilh/3XDoOfByRX+fNHJBYyrFtW1GDmH9CzNxrj1r+6FO0eMVCwcu/TXvJ02dQiuOug6nfgoBkdGlXOHc+TK+Exmn4sBofZh5Lyk9jTbY5S/1drzdTYYyVjPUvZRpQhhIh7PsnynzJErVaV64EcdY1uU5fRnlQZlLlSQVSvFup125MlJxsMt2DopPol6Hg7sGamsH9tcFsd5yDfOd4ESA83pGAn1dgGW2ansiCQhVpXW9ViOldspxBZlpMSOEn6HsbO72mPfZ0EjOL33sfGRV79W+zjy1EolNtZerQRTaeUAyWjkkLUqjXw7W33mPkrZl35ZAG2KKtAq3o/CppHEpM40WaJzshmPil6TAmSVLOwWb9WnSSPjN3Xe2OQPqpAQy7eWP0Wa+gBlBGlk/pA9KHB+lNmH/fTFcauSy7wVXKnGVWVUxkfYoPj9XA7tav3Vmk29z3TAYK36gwviLMBRR+yfFCAZVh09jLH7bHGnVBdWalVW+rkQYvjK2Ow+8wO15+vag6oPKZn9+5rWTIBMwd8ZLo181aKMOOxI4KEeI7Szf3n+70Wm+LQtOkEkln2nVAbHO0uwmcwsANQBvkrxjHVs7+Z1+Z6akXPAyBcyI4e4dWUXp9+I7u4HVM/ifLGzf3noSVgMir2b1+n3CBVy+zN13zI/GD2HZrZNOddOPqSjAuhgTDH3BMRVn0yXbBOYflMPot3J4rjOb9PB09ryXwfv3by+cK+e9IyQOzBHOXG8Gxt5jgThKjpVyQZIVZB75BbHj2aTSn9WpdScSqYarYrRGZH/hd+flba1tloAYZVwNPWJ4SoBpfwlO4Sv4i+Ool9mfCzEUkq5jDDV0Uf6u2y1yZkjR92zx85xrCPmeFV5rdWhW4dYMSiu/XNvSEfVF/WszKlQti+jcHsEEra2OjRfCJBVFyOjqbi3ksnZE6oRGUq/0SAcOetkuvRrFjyqWrm2ityjQlVY1pr3l3IFmRrVFWdehXfko+axIMA5iveo44xkScV/pBpWIeAUmhrQ6+DtxmZVep1EH/NGJ8qEO+fv/civ4894Nrn7+OCxI8Io5Bl5q3MG0xEPcoqvsk3ZGHWsBCJicLQ9w+aqr2ITk6dsQydk+1jRcxVS51u8H4Ve8d6tGQ2QzPDMaVkbOn1UNjoMW3iWLdS9I+QfAzAL7CiL9WFbNev3sVGnKGvEPiWX6arkqSCrOCGbN+InbB5LOBmpsaoSOV1m1YwTKTpzppByvvjJ+hyPSnZWhFnbVSF1NlGZtOqcjtz4KU5SCbQMxvXPLAFU20ZoCnyqjq2Mm1U2TG2ScwxUZCSjsj6V8dh4V2XUgrvsl2V8NbfqeMg7flbPTMg78okJTVUHdY980D5mA/Zje6Y7ys3Gsv1lfVk1Yu0zNyA7HE2lDLNn5V71MYiGMhDu4ZhMBrOjsiZZNc0qpJqP/JUtWWKoOBvj4xJV1SGnJAGUhfNdAhuRMYsKZjh6XWcBJmvK2KykV6BQluUqcE31qcrjgljpgTxdX+zPgkZVaDUHE4yyM7NNyRwlBcnjfTXJMFo6pFcdV+FzbHNnBLUZKiNUKgvKiVm+msEz+DUKLViWczwy+Bb7VMavOjw6TbVixvFufUYdEuc7GkmQvS9LMqjHyr8HmVrCKoumMgHKYDCBYWdX8rOFZXq47OkgT6WaMSxedWR37lG2ZVW1j1GBxwKNOaTTrWpHHO+SEcpWwepg4gwVwZKUMWLz43U2hy1sRa4zVmXeDBuraoibXnVSBy3YhrlszwLGjavopCoVC3oVnOiMjOcoIpkSRA5Kon5YCV0CsxCriiU7U3SgrJKohY59LuCUs6hFrsBClWVV1mdzXYBG/SrrE3liUlH3KA/5oS7RppGAQ56ML+OdwS7GDwmDlq25sl/5GPML+te8Cqu6SoMKVhdAOa2LaqeL01/pglmPwQeVbeIY1D8LRKV/tY05B7tWlUJds31168sqUFbJUH8lO5PrbGFy1Nowuvu4eAZxWRHHRMVGsiTOi4apypRVLdw0LLNsHOrm2lylYJkqEkISVbVYhq5UW6U3rpVaV2Ufy7bM0ZxtTDfFl8nFdVG2oWzkwdYGbZjhIGdEVQG3COgYeM94sgyoKkpcPAehsoCP8lRVU3ZmPJ3jVIKVOUZ0dlXZcQ8qe6mCRlUt1Bl1xYTokparoM5etZbM76KNKKu1cAZxm88UjZ8sGzpF3cY4Ypkyk+PKK+Ph+Dk5LPDjJ3OUuMHMkRkfpWclC8c25oDIW1VCFiS9XVVzVWlc9VO82X6ptWcJSSUEllwtxGIOpiI3U0AZ6BYIKwsar5yfLSDTnemfZUJsV05WtQfHZoHFxiBvtmYuwBhPN8dVdaaXksnQQGV9XDCpT8WPJaKow7G9m9efuI1mTBmpoKhkIFV5lA5qkZxeFR4ugJ2NqDvaVpGprlmWHlk7lrQq+5HZU9knXCOnJ853+7bKHIciGI9ZRWEUwrINZtnMyZgh/ZpBBqZnljVRhspwWWZj1UbZjc6BfSiPtTE+OJ7Zgbq7uUoWcxQ3h9mrsrFaJ7ZGSKr6ZrawZID9LuiXflHIsooSrjZR9SmelcyKOjKHjXORnHOobO14Zbaq+a76KLuyrO3WGuerTDtaRZgOLCtjP167uaraMZ4ZZRVI0dL3IKhoZjjOyTZTBRySC4JKiWZy3QZgNRwJDBf4yqbIT1UErGRMFzVHEQuA6lpkiUDBuVGU4qoSto0ESZUiz9IvCl2l6AxxXm9n8InJYW1sfOY4imdFRwePonx0pLhZDBqibgj3GNxQweiqF3N4dHa1BqibgkBu/TJ/YDxUMGRJiiUVt49xXZQ/sz2xv0nHQIkLzhYmKhPnVDcbZatFYO2uX+nJdIrjmK1OdxesbmNQp8xp1DgmmwWjq3xx3ZltWTWvJLHIJ3NcTDauWlT2Ae1z41oLZxAWPZgh2bjMSbHNfaJM1KeqkzOcUSZbzVdrllXJOJ+tAequ1qyiU2Vexs/NqUAct57ZvWtfh24Zrxk6R7yOUcsye2Qex+N15Mmyi3LQOBerF45TECJmJwYdVKBljhvLNq6Lyroq42eVR222yroOflT0QV5VGUov5ltOHtOtGhyom7ORVVOk0surs4oQFWNzXEatLAS2I28VHEqua2fVwFWWSnZ0WZ2NZfKc3oyqVSOrMlVHHcnWShd2z/aVzcnsq8qO7a0VzyBOgMqaOKaaTVGHyBMrFJOLWSHLMljN0AZVWVm7gwrO+Vi7q2wODjF5qtIw3VU1i1XV8VF6MR2U8yPfSjJQ+mRVxAXHWy991/4P4sXXP8RtQZoAAAAASUVORK5CYII=" - }, - { - "name": "cha_clunk", - "description": "With a satisfying cha-clunk, your fizzy prize drops into the tray. You swipe it, and move on from the site.", - "choices": [ - { - "key": "choice 11", - "name": "Sweet, sugary victory.", - "exit_node": "WIN", - "delay": 10, - "delay_message": "Hopefully this doesn't like, freeze solid in space. That would be bad, right?" - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAIAAABM5OhcAAAAAXNSR0IArs4c6QAAIABJREFUeJzsvXmcpVdVLrzWHt7pzKem7qqeO515TkgIIQwSQESQaIiADAooeK/XAZHrAF4V1E8ULpd7Rb0MooiAIE4XkEHBQBhCIPOcTnd6rO6uqjO+w57W+v441W2DEBLoJN2Nz6/+qFP11ql99vu8a6/9rGEj/Ce+ExCRmY9+Ofnmm37IwJPvgBAREXlyDSMAr/7y+wf4WA/gBMARJn0biNULUH7DxRwmLz25Cc0mRDyajicx/pNYAN+KOpOfHP1zZhZCfOMFAhEFKhBCCCFQrVoqwQCATEQUDoPJTt7k+4RY6rEewKOKI4vaNzEJj0AogAlPFCJOmISIkydwcgkctjpCrNoqJRMhBCoppZy8CTMHb0Nwzhly5LxxBhkCkYejjNZkPN+01J4c+P4iFhxNKYEAIFBNzI1SsRACpRZCSXmEIgIRpZQAIIQgWvWeiEgIgSjFKqRSKkliIYSUMjB47zkEa60xlS1yY8pKCOcsewDy3zSkk49V8CDEOvkeo1Vjg4AghRBSaimV1lrJSOtYa62TOIpTpZTWWig9sVgTrihUzBwgADIAIMHEmE0oqGQURVGaxRilApxgCB5K68bVuByNBoNBmY/luF9Vha2E99Z7P/HATmJ8W2KdlKxCRCGUlFoppeMsipI0TSOdJEmapqmOoyTLoiiK4zhOM0RUSq0udjxZKJmZiYgJpZQghVJKKRVFkda6VmvUxb4nXLD+9ltvsQ57y5QbvWc0v7jcGPZ7WuvxeFhKbasc0QZfndz+1vfFUnhk14ZCaR1FUZTEWVKrJ2ktrdfq9XotqzebzTStNZvNKIqSJEkihSpRiqRQSkwkBBYCkJkDTd4TpRAYRUmmIhlHUU3d/vSL03xwcM+di9b5pEnO6aS7NcrccnYwiqIoivIoGgwkQmERvbfMHgngpHuM4fuEWBMIobSO4rQWx3Gt1uh0p+v1Rqsz1W63G82s053qNJqNZhRFWmkx153etm1DkvksHtekFTRgM3Jl35fWGetdZa1lhCAosHdMzalOtz7UlENrnoUBia4E59zsfF03W/V6KoRQKlJKO09CCCgIAJxjwHDysQpOdGId7Qh+W92SJ8uYjFSkdRLHutnottudmbnZznR3/fqFdivuNuUTLz9129YpIQSKNsM0smE6JNwOP97h+vtMPoLSm6L0VTDG2eAJQgATFFhZnX/JuVIbROQAaRQJZTzJQOQ9Fvu+3l24vLF5PQodJbFSygWWUnrviYg5OMfM3+zOnwR4jIn1PW4RvmmvflgLmOznRCACRCFQqUhKFUdp1mi22u3pqbXTM52F+TWnnapf+dOnRbLi0Cd/OzpG3WSuoWwTBKReGB0MxQqYkbSFM5bLioxnEzh4x5Y0nf+MpxjTV4oBAoBgcI5GxpellaMKTEWD3u3b77hJJS0bNTeuuVDrDT6wEOCtE0zMFEJgEER0bCb0uMEJbLGOmKgjuuVEC1AymmgEgQkRhZBKRnEcZ41mvdGYmVnTnZ7duL79W6+/KI3uhfGtoBiYGBGB0QZUJVCOviRXoFnhaszWUFWydVRVwVAwwZNjdCQIghfgGOBwRCcAm8pWeUXjERkjRyX0qhJKK/nQYGm7SE6Znt5iqqKsjX2wzhvnTDjZSAXwmBPruzBXR2mbYlURkFIIJcRk7y9BrEpTh/eAUmudpmmj2W42WzNzC/Prp3/0CpWOviJSj0JBAARQ6JmQoBBeB5bCOWFLKsZcGMorKkwoyI6MseQcWQ5eBhYByAEhhzARIQRh8CYf5aMx93OsSi4LcBUzemABjny5e+P6c4fjTpmPjCmrSgmhAxOiO8k8re+GWI+txDVZ/ibDkCqSUsZxIoWOokRGWkqpdDwhEyJKqaSUUaTTNG22O61WZ2Fh7ZZ16zbN34FixAERVv0bZGACJiQWgpltgMpyZaE0UBFVlipiR2TIWTIcggoeCYgUCUIvhPjiF79y+SUXA4fhsBiMuD8WpoSyACIiZkIhCYMYtjLdbnby/vJ4PIqixBnjrT25SAXw3RHreHi2EOVE25RaxWktSbI4ydJ0IkclSq0aKimlUlEcx2madqZbU53umrXdbqOldSnIMwGjR2RmJgQgEkFAACbiypFhrhwbR4bIsDfkLFnrrSdH3nny3oElCrYs7T/986catSbbQIEqE6qSrJHGkA9iNYjETMCCsdGq1UtZW2pl2chUhSlzoSS5Iw7iYz+3xwQnno+FiIBSSC1VnCS1KM1azU6j0ag3m7VGo9Fo1Ov1icgZxXoiYCaJqjfSdr3RqGkEl+E9zdQJIOLABAzEzEAkArP34AL7EAxBxaEgKpkMWxOsAWOhMlg5KAIaZKsQrLr9rgOf/cIXMUL0FkhKkqby3mPwGAITwdFhSWbOsqzVinutZq1oGVPZsgohUDATvfSkCXicYLtCXP0rOTFIcZY2mq1GvbGwfrrbiufW1jrNuNXGWoadtpqejjrdWj0VCEFpk0ZWaQCuit5O4L5HQgZkBmIMhEDBkXQYDGFgrAIZZuPJUqjYGe8ceAcuUOW5sq4ELsh+/eu7Pv1vX4trTQVaCAUOTOWrygafERExIDKAOPoTCK3WzEz1lpdG40FRjHU8Vt5o75wzTAQcTg5uPTxiHXNz/d29FSJqHUU6yWqNequ9bn7zK19Qv/IyFCoGOdkbOsKBBIm4FBAYCZCAFRMjcSa9IEAGROBASMxE4EF6JOcxMBkHBtkGb9lZ9haCl96xqZz1VFmqnCq8L1h/7rO3o2xY4ypranFA9oMxOpLOB09AtJrmd/TsxXGaxVOddteUlTO2qqrAnrxhZu89E50ErIKHS6zH/DMzgJRaSimUknGSprVOo9vq4hMuXNB4PyODAEYKIBBlAAMgABAYgAHZAbNECsIRBUHEngEQAwhCCp48sfVsga1gS8EgGSITggFvgrFceSgtVJYL50tHhWcrAiOR8h64FkcUYP/iMgXFzByYgiRkAJaHTS2TFCiVimYX1ppgq6oYl1XwhXdN5iEAOScBA4QTnlsnno8VQphwK4qiWq3WaDTmu5HiQ8gA4IGYBQtGgCAEAAimw3IXAwAwB/ZeeMHscaJeBeJAwXv0wBbIMBkKhoMhMuwsVI4rS5Vl60JlQ+WpslQEyn0I7INg8EDI6+cXmOj2u3aEQETIjIeDzMwAiAKAhQwffe8ftOZPecLlz9ww08Ry2tnCm4IcQvAATEQTXfcxf4a/R5x4xBJCaK0nLlYc63rWmOuCgmUHQrJHQgwOZERIZAUFKQRIISiABS8YhEJyDCGwI4lMgYBYEKMnsgQOyVIwHKrgymCKYCyXFZsSjAtj68sAlcPKQ+WpchQwoGQAkCKcffYpxNX+fcsMgkDy5H1BSgIUDMCIQOwUjYa7b/jkh24k5gDxujOfVVVz5J1xlSMnnaHgTmxOAcCJSCwAmMiik3yVONG1NGgkZoAADBBYfuXznyutLkprKvJOmMoJIYkgEiqBeMvW2fVrullChKyYmJmI2QFb8MYHw2yDr8AarmwwFipLufOFAxvAhFA6rogscQAmYACWGCjYWDKHaHkwkjiR/pUK3h1OuxIYBAqBqCNgFsEHRBbgO814mLd7veUkyUxVCKEABMAJL8afGMQ6etNwJLd4olFpLdsNTcFKH7EEAOAAKwddmVwedZ8oSCYYa88AwgvQKBIR73Y0fOCmCzbcJBEcByAGZnAEjp0hMuQrZ0qwhouKC+urCgrDuaVxZUvPpYPKe0MUgAgYgRFCLAKwY0pZJZESsZJWAksIfrWkQklQSkgplSBE9EoHJgq4srwvq63PsnqZ51rHQkgECXDCh6VPDGIdHWYWq/6HWM25Q5ZkdJBOGMECQPnKjocsG5uqsMAIvZVer9e31gohkiRZMz2VJHEkF6rxXULnkQ/IAD6QZ3LBG7Y2OIu2cJWFwkBZUWF47O3Y8dhD4agKbJiJCKSXSEqQAHrOD16i2H39rr2dpCaBtcAYYE9lA7AWSirWSkaJ1BFIoTWSdcEFtA4Hh/bNnH56FKdCKakUAYDgE99gPRxiHQ/6ypGsywmrQggUMC+C9yCQUAJTEE65HAWnAKLf6+/cuXM4HBZFAQBpmo6Hg3Xza2vN7jjPUjEkJsHAnryjYCk4sIat4cKydVyWobBUOc4DFhUVnivPVWBPQEhCBiFIKk5keck5C4bg1lt2ZFmmRKiEyJXavm8ZhAYIQogopiSN1rXt1c++eMumtX/6/s/es2NEyBWZLMviONZaTxKmEeVjO8nHBA+DWA9PyXwkWRhCIPIhBPJgTZmbhINHQCBGIGahhDRFrhI7HPUHw3FvZaXMC0SZ6wI9oMxqkVw0Yi62yITM5JktV9Zbx9ZRUYWq4soG67h0XDgaB28c5D7YQJaY0CcxYrBJFkUif+1/fSFCeXDF7+/Z3NqqkKXjQwPyQgkgIbRSUtV0PZHPefZTzzm9jpJO2TS1e9F64WzlMx0rKZUQSk6qM77PiPWw8EjbthCC996Ywhi3UrYrmk3gIIAHYB3JdXP17b0d8dQlEoVEIQCR2LMFoMpVzhS5md5fdbXbqQOTD8EGa71xlFfeeTSWLIH1UDmqHFUBKwcmeOfREwVBQnAE8N9/+aXduY7L90sekdAf+shnlsayNFCMfWlxuTdmUCjUpBxDoFJps5RrqalQiHRqGqJlaVlICQKPylIMzI/2QvhIWIFHw8d62HGbB7teTEwMeUu2LE01HPf3rHR37tWnLtDkBnlTPe5x5wy+suJ0lSRRo14vizEzl2UZRZGSiUAFQkFjS2//14QprfHWsTG28ugcWg6OwREyS+ekm0j0WsUqRAkgBhSktUwzP1zea8b3z861OND2nf2DQ8pLLio1rrwxHFAJABTAQqKS9SiB2iy21kQLTWI1Lu9TwAIlorKhIppsTgm+t6LW744ij4QVeDSI9XDH/aDXEyCGEIjIWluW5Xg8Ho57n705W5iSWWInCwkq+7TL13765uun0kv7jVoIUxM1VUrZaNSbrXqaxV4v7BnXk9FSaWxlfWWxtOxJgBIsJQmBSIBYz5I40mkslRKTikIiyk0/1n5x7/2XXnZ2IG85e/9HP5FXujScl54CIsqJZDDZvUoRgWo94YprFtbPe2woIXbu+gBDwmCUzLwH55z3fvK5vseU2u/6b48tToxd4TeCKDhnjJFRmRejwWi0bO5NG9fd2vyB85ZIBwQAIAgrP3RR7fq7by2nNiQ6Sutx8KSErtXS6em2UkoK0Vl35u7r7ygqGlemqLgM0hMGATqOlRZpFLVqqdCynkWdZlZLZbud1dNsbm7mX/71M3Nr6t1uiqYCnb31f390mIuqgKpickggysoCi9WKe2at03hqY5zMb95wLkAJPiwvG8/KezO7dnNRFNZW3jsiTxz4pCg5PL6I9VAsOTMDhEDOeVMV46FSy0v7WYrPcHt+Vp8/v2TQAoBADMWe89ftPWt+t6V233RvumsZk3Uia6lIB6jUcPdlW3bdka+97st3Gwulw9KH3FFgSEmmHAkka60SyjlhrU2jCLyzZrx3T5ElcMG5p8d1V4ToD972N/0yHlVQWiiroKKkyIsA4khCohACks6Tn/pK5gEhRCH6yhc+UZpQWV9UuHVh293b91VVZa01xnh/witYExxfG5Dv1Nfl6CsFogBARggMEok97jjYGI7LrWsVsgMGQs8MMRuNy3U8sG1qdMrMntM6D8zr7evSfe3swPKBHaedMrtmzfT2BxYpsA9oQyBA4xgESgClhEJUCEqyEixFIAo+WCHCaLTUbs2/+X9/qJcnI4PGKesIZTQamxAQQAAIRJBSrdl8/g/+6H8rxzuued6ZEsq/+vN3f/oTH8tzX+XDUSVrU2ccPHSot7I8GvaLfOScCd7Bo+6/H3OckN1mEFd7b0RRnCRJVm+3W91Wqz29Zu1Md25TO7/gVLpwm6/hkKFSgMyMICZJnOFwEguTBJCjkbeuqCWdD33k8/cs+pWCK0cGUKCqJbKdRFONejOTnVrcakZTzSROtBBszACRP3HtrVWIRgEqyzYIEnE+toEwHE4ZzWJ97kWXtddsUzC2w9t27N7jQl2gIqKqqqzhmY1PHPl0/749B/bv6a0sjcd9U46DtydB0c43WKyHbjAeITzEAawGeAAAkBl8CETknBeBKjsaObFjuX3LLnnnDtcf2KlmU6gkkEcKzMgwaR2DAgIwMIR6vXPXnXc94bKzzti8/pY7d1vPRNIFb1wQKJFJSRErJSQmUYRCMPDi4nj3/pFIWipOEDILaDzmhQ8T4iIw8MxUK9Fy3959u3fcum/P9n1LBdmELBvvqsqYCmVjbdTZuG9x/3Blub/SK8rc2so78+jLDd8FvuOdOr6WwoeOSUOh1fgxrurw1ltTuapyVVWOcxq65t7+1C2727c+EN10T3Xr3ft27islppGsicCOFLMQXgZPU9Ozd973wJrZ9srAHuxbwxK8D569D1JJLUUc6ThSWS1J61Gc1nbtOegCGO9LQ4UJg9KNC2fCJNIEcRplkULEwtpADlhxAGQMIfgQLAUbkvWnXS6iheXl3tLBQ8NBrxj1jBl7V1EIcFI0/zu+nPeHjtXADnjyBBwqF4IxrjLleJTn+WDQT9M0rtWyJK4lrTiO42Q6TuejIG67O00TlWnZ1F4KX+UrRT4Yj/rVqJ5ft2tlGDqbnvKsp1/9mY+9f+fdXwL2w2GlmdNE6QjaLmMha81WYciSKC0UhgaFGwwrRwggEw0Xn33arffcS0EUpSdQAMBSlSykT+qt6YUN22qt+eVBvtgb9Ht7xv2VlaXlvBiUVW6tDeFk2A9OcEL6WEcDESfKtZRSyVRrHelEa50kmU6zOI7jOI6iKI6Tyc+jw5jE5iIVCyVBilhpKaWIZZLWalmz3W7H1P+rP/4t9ivdVKyf7bQb0Ux7WsVyODLb9xzQUgXB/dwsD4uh9QHS08+5opZmWRLpWkNglKaNOMsqx4VzzsBolJemqqoiH43z8XA06I3Ho/F4WI1HxpZVlTvnmIj5JGnlcFIQ66h+MoehoyietK0SsVYyiqIk1pFSSsfRalMrpSetrVggSiFRTPJwkiRJ0rQ1NTMzs3ZhtvmZ9//PRtg1Xcd2M1UyHlZVbxQO9fMAmoUb5dXIssXa1S97TXPutPF4OOj1R4N+WeZVVXnvjTHOl957WzlbmaqqyjK3VZmPh8YYY0pT5t476wpmBjp5mpSe8MQ6giPuJAq1KncLkFILpaXUk55YapISdZh8h/vxTZTMCbGU1HFWa3S709PTM/Pza+cXZnde+94FsTtNyHtf5bSSh3v3rwwKrMB5Ul4kP/6zb1TJ7P49u5eWlvqDXj4clGVunJ10/giVDeScs84555ytjHWVKfJAzloTgnPO8eE2fycHq+Axr9I5hjiSAMjkGTwTIqIDK6RElAA4qWKFVRqhOFyJD6vdROVq8z4dJ1nN5OOqzIkRI3XelS+lO/5sWpWV9XlkUbte3hibMVtgxNbcKUkys3PPnr0P7FxaOjgc9QeDXmVKMm4SoiEffLAhuEngnJz3wTrniEIIjmE1E/DoEOHxPM8PEd9llc7xkJv1H3H0qA7zjOiwMfBuslzqI4I4Igo4nFkgEAAm62Mcpd4U1lVayFhTI0pns/l2up+sGUhghF5DHhxK44ExfdbzXr57z759u+7fvWvH8vKhfNQfjvrOVOx5Elgk9sxMFCavAhkiwiOT961izsfh3D5cnKi7woeIo+/Q4e/dhElECBNFC4+U08Ak1c45J7QSUvey5Uaj0Wstn7r1gppdAs+EZALUU5UokAgs0jSpLy/vXlpaWllZ6q8s5+N+no/IuxDChDOTuDJzYJqEpRkA6MSnzoPjuyTWMX+kjonxfyh/jkBwpCbrGyUjRAzBB3LMIc9HUkVFPhqPBvloOITT0kyRs4mXmfGxxmYt7hVVZ3p+qdcfDPuj8aAYj4p8UIyHVTmm4L6J00eEt5NCpfrOEN/5kkcFD56ENPGKjs0/Ovz1LccADMhARBxC8N44U5pilI+rYsBxN0pVFgutoJ5JJUEjT03NlJW1lTFlZYyx1nrvgvdHr8hHcqkPa2/fF9Q6MZbCR9nnmDjdIYRJmpT3PjeWo3YkDjmnkjJKlMgiKbVYs2ZDZY0xxrnDrvrhZL1jMpLj05d9KDheLNYxx3dt4SY3csKrieUitkRYEcWxjhJZq6kkFbUE4yiqd1rOOQ7knCPy32Oa3rcbzImIk5ZY38stOSK6HrUEh1o9jmIZpUrHMskwq2ktvTWlAMHMQgg+jGP0CU5snBhL4aMPAoTDZVhCCJQiTVNApVPWDa414iw1sUZyjiMBYnJ+k1jNGEX6vnCjHhT/SaxvxhG3BhEnx59oraM0SjMldCfJKKV+resayz6NB96P04Y6giPHNj2iAzshcMyIdWJ97G8HRAQQk44jUkopdKSTJM7qicbUqtoMB58F2SjU7Bx3Ov2l/t7p2QviOD3CKkSJIB+JYwFOrOn9DsR66PLSifWxvyWOuFaT2E6apnGWJo1ac6rTqJGqN6nVlIzK7U2K0DVu89aNy/fua9WSer2eZVmcpXqcOGecM/RtEmBOjsfvoeA/l8JvwMRbX21hGiWdTqfb7bbb7VaDZNaiZL2kRNZCvcPe6dm5MHVo2G3XarValmVpkkVpZl2ljHInXVD54eJEzSD9HoH/AbB6MmGkoiRJm92puenZuXXr1i9sWLdx/ZozT1dT0+sEnIIwg2okhUSpdKx85UvRZNm11pRl4ZzlQN4TMRIFBgQUj3W+92OD44VYx1Bbf4j/7uj/i4hi0ileR1nWbLWnutOzM3NzGzet37hx68aF9jlntUHOAUwxNkFYqaWSMtKQKHXfjl3d9RdVla2sDSEwgHcemHG1ix/i4crVhz6qkwDHC7Eeafy7ZUIJKBAFAyIKpbSUkY7SOE6jJGs0p5qdzvTs7Pz8+g0bNp6y7ZSNGzdMt92auQWJHYAEIBBGQsZCgJTQ7HbilIm7nHS88RSIAYFIIApkIaQQggEZxOGj7R/tR+ixwslPrCM3khFQoEAtpYqiOI6TOE6SJEuTWi1r1hqdVmdqamZuzZp18wsbt52ydevWrdtO39LOli449wypuowawAMggiIwIB2qFGtyfnqq6t2BEOtsjZRKRxqElCoWUkgdo9ST5FQhxGrHdyZ41C30o4/vhlgn2IyI1VMrpRRS6DhOJ9WIcZqmWaPW6NYarUar3epOTU3PzkzPL6yb37hhw5ZtGzeva599enL6qeslNng1iwsPp28lLDVJQCExwbmWaCcro/6o1V2PKpWCY6WUTHSklZJSJVJIFAKFAkSBkkEAr3Ylfeg4sab9pLJY33rqEYGFlFqpSKkoThtJWqvVm/X2VKPZbbW77c7U1PTM7Ozaubk1GzZt2Lh+0+YNs2vnxk97ypZWo4aQIaeMRymfTAAoMEZMBSaIgpSop3DqWmhEu4JF3VgPcV0rraIkrdWl1JGOVjOhpUBC/Pfe73xi0eWh46SSG/7j3n6iG010qSiKoyRLs2YtzbJ6vdboZLVGltWazWaWZe1uu9PpzLaj+anelVeeStF6wQ2GDLlGIJkJedJz1gsIjFXwA6AhUoluzDgEKSCCTWuaC/Fw+74D1xUwmNqyd9H0+/vq9ay/0ktG2WDY17nOWUgrDTC5AIiTAoqTD6vEOgmSrL8dhJj07o6iJMtqjVar3WjPdNrtmem5rJ522u1Oe6rdbjdrcSxWnvPMSCTrAbWgOgcjBAIgkPJEzudU5c4NvBt4mwdXmNEKeBtcXhajyozHvREHyIf5gcWVe3ev3Lwbfvzlv9XPu7v3Lfc6SwcP7Euy2qC3olQ0Hg8ZJpk5ABjgZJz5k9MOH8EkxhInWZTUGs12o9WdndswO9PdiMtdv6gV6ag+HA8AyFo7NTuTZlpqFSlNjLVao9FuWcfBC5RkjKlnNYEUnHFghUD2uVaiqooyH3rvyQahtLVQFkVZUtya/fA/f/HgqMqDPPXMCy+69PK9B/q9lZX9+/eOBiuTDGZvTQiO2J98duukWgq/JSZFhFrrLKu3291Ou6aqxd27b1oWiMiFsVrLNE2N89v3LU9Nd9I0JaKD/cHU1IwxVslICIVSEJELVikhkKoyL4pxlsSmGntvBRARjfLSEgePEDjPzajyIy8JdQJ2//03fmLn7dnUhjMufLK1VglwznjvgSgE91jP0COC7wNiCa1klCRZrVbPsvp0Z/qMubmyVgUzIsJYhbIw3nNuKqynjSSJY5Wm6eb5OVM5EKunNVeeq6pKG02tILgKU1XfsLY0VVnVECHWkXMuWOcCBBYUSi0kiOjOA/n1d+32nspBLmXV6906GpdnXXRFCC7Px8H7YJ2BAg+f+3uyQMFjSKxHyatDiVLKSOsoidO03mpPNeKlO//VDQadbsMGOxxXRKSUWjPTLstSYJCgbFn0+/16rZnn+SThOM10LdLFaDkPIU1TlLBn336lFCIS0WjYz7LMBXYuAIhxaWpZA4jrsZLkAxAKFkqiDC/48asPDHxlzWjQK8tcaKWU8o5Phs7u/w4Pj0QG6UPcP3/vyZbf8R8djtWIydkoadrIsiwTLh8uqywhGbGKdb25f6V/aDh2DBjHK8O8Py4PLPfzohrleZQkUZIMRqPt9++uDHnA/cvLK+PxgaXBgaXBMPeONKqaDer+BxaHOQlddwzWI6Euyyp4psCTMYQQmNyf/fHbOo2sdriphNZayuhIU8lvEcE8YXHsLdajsME5esa/6QYcadC4qjKoSMe1SCdaxXGsW82uxKV6YyoAHji0QoCL/ZUA6FDcubhYlqW3AQDiNCmNIzqIiM45IoqiaM8dd4YQEFH0RoY8Ior+cPJkEgRmxtGYGU+b35glrar0WWO6saah7j4QKcnkOXiCVARoNFrNziA5WE+LYtJhRih/ji+mAAAcdUlEQVTlrTk8eBGCZ+YQAgBNKiAf5pQeMRaPpRU8IX2sI+xBKQQqreNJkt2RAlE43K5Yx1mtXq816rVmI8uyLMuWDiwpH+pTawejStVqy4NxYPYjG6giokl6MeRmUnTPzCQUI7MnFEqo5EiOKCI6kJMK/Ukzd0SUiIWua62iKPI6itLO7Nw6JwQHZ23lbKWd11rUa81mq+O9RyXiOPXeeueODN45Y0zpnPPBsbMAJ2QK1wlJrFWglFrHKo7TeqwloxQsiDwzE4IQCoVQsUoaU1ka1+rNJK3Va9EKe4Lmobyoz24uIGRdYg7BOWdLcpaIEBGUjgULqa0H50tixyCVkHGchuASGbNKiL0ARMneYRQrITOhlBRudu26TGZCa7LeA81v2eYDG1tWpXVlv6jsYDDI0sZMtyk81NJoVDcAgJ4ohBBCQcZWpsr7eZ67clQRULAP0/YcF+7asSHWY5IYKYTQKpFpPYvZEIEvAzTieq1ZawJApHHx0C7B2vUO7V8s7dTKps0bhARfSmi0/uJ9/4CiUoguMAA+74UvGo+WgjMYrAFQLO/esZNtIbP67Px8XQYAYBEvL/d6Bw4ImaSt1tzcXLfV+tRnrt1ES1PN+L5F0z3z4rt33rFuXFx8Wq3MxfW7RwagAIgBMgAnYInFk572zINLS2sWNt5w41fuufHLUWAJDAAEq80cFLAHcDKuTc0KFUtJk+4mJ5zROjbEerQ/tkCenAwdqfULc685Pb77a9clBGddnP7aJ+5Zd8rVAcy1n/zkrz37vJecNXZJ59M3LL/rq7tQ0KC38q4P/tUV61rvvEr39puxwSedPnf93sF7/u7991J6/uMv2rBhS5vxs+9/3+d+9ZwaxVZ0f+CPvnT+c68Ogm75+o2/fnH0rB/sMgVEefHv/8vzXvnfGqOlT712tub7Bc6e/tYbWgw3/GKUiJxQBIwM1267Lz9vG3gHn/66vbFK3/GFzy+s2yIkLN7wxe2/PFfnkplBCG+rOFEehGAdwB6i6Se+9YF4dq230p+YOtcJvBQSEQPko+r/fvyGj/38fJ0WBe8969XdS978N825da8+z73mnJsS6YR3n47PvftQ74o4vOsP3vDAGzZkQDW/SKfHjkLAxSdslD/1pBpF3Wf94Rc2Xvq0MbsZCfNqR0JjKxo1gqzeIUkglDT3t4PLEAKIFKBgsWUui2U1VslHb5uq5FIWKMqQWWimSDiBxSXnCAiVTsWzL4croH4Hi5XlQxvDtlhCS44yUXkCnyS9aItJQt3vycKIZZrbMgAnMmbOgU/I2s8TctBHQMS2tDcM4Vn/c98Dbgpr4vT64BmnBLX8wJteWE86Vqf+Zz8Mv/ov9131k6/6k7e89atvfvys2ldP90NNj6bOvOrd7kO7N9hW1krKZjJY0PC2P/ydhc76RY5f+xdj2Wr8yntHexlFksVJI01rF553eloHqAPWoNuGbrNz/X6znE63G9Vde+/deuaFhgEzhBphJ33tp/Upv2vWv6n6x8UtKla1mmy2Br/xnNnt99wLxB5ANGJIUbT47V9tnvr7d677rXue/+HmE/8Urni3PPsPDoipjdb6E24FPILjhVgPT7YhRgYmImtDMJvPetztBbzjusANZ+r0lp9/3H+76tTttn3r6Kz33jb9we2wacv5kuCpG2Cjvil0vUrwc6P1G1/79eYzX/4Lf33oVp6nOkll3vs/okvn+e8+8v6czJnnNU00uujxtQCcZpnGJjC+4I235s1ZqMM91fTOPugom9p85icPbb5HXDhz3rN1WvcAtonYQFZVPbVDCSGGhQUja47rHKX0j1+4a+PmrZXlgYgO1bdgA1Vd6tjEAMjwb3cd/PpKdOP+cWthUxSD8SUzTbSMR3LuHxE8VGI90mLdw9JLjwzGe1uUY2t6m8593Lu+Wj7vLfDCt7nf+MOv9vbt2Lyp4G76Pz6+dNkzrt60ecvd99z6ihc/E7s+yrDqyL+/YfiGt77nSU95/uvf8tZX/a97y+YUNylu8DXPe0bSok0NePWPWd2EFzwnWBa1REdJdM+9u55yeRfSg76p121RrGFQrTzu4gvefQM//W2Hrl2EJz75ykLAG/6yDA3mLr7uxY0v/e6mT/72totP3YtNSW1xG1/2R582a+fXC0Sd1G/tzeEUUpP+6w8P9//5zB3vedwl66PLFvyf/uKFYrgbkfBELth/qMRixsMl5Ec1kz0Kj6ZMfJiFNDmycDyoTGnPufRJX9jHU2vSd7x9yyteuQZrPq+dX2XzeT4uC7ewdt3HP/+FUFOhzvcup5+5eWVqatZ76rTW3n6Q/u1WRw1PDX3Xrj2DniUGqBO3AFMVkOJ4WtXUmWecWlcr9a6Manjnrj65OO8N+v0VDMX6DbOe/NJ4fyDYdE4d65pSKqA4/bTlszbdL1PYGZ/+qneKJ/3ytS/86V9FnUaJ8j6ce8H4i/dlNknkzFTZWlBR9uqXbPjw/9nwgicd/OM3vnCx1wdiAAI8Wj4Qx88i8+D45lE++JJ0dLen//irYz64BwczA7N3zhRlWZZFUQTUP/Wier2xf/P6fXEj/PCr3rXtjAuc84GrSDc++vlCTM2LaXnmeYMfe3Z9ce/9kYY92++76or06c82sovcMfftvKMa5w6B2wQdCPUQCWhkstWc0lr/6IsvCo1AXT7vidTtmCIflXm/KJaCXXJlz+deInzuy2M340Qbn/v2oK5yr3nfqaZbW7N2+MbfOKWR8Sc/8beTk8cDB47KN//tYLF2wUfuXLf1+Ted84rP/9J7y8teg6e/ZN/PvfW6dj0LEJ24UZ1vJta3X5LomCtv3/usTbqiE0+aWIXO+rW/955DXK+gDkWzw5oCeUapRRxlqQF4xRuHrnV2aGX1tP/7r//5X3zVs9/2e6/9k7c/RdTItGBIp/zbbXDN1S+jCEQr5iboKf/7v3b+G37tV/72g+/7+le/FOvd3NbYSEN97b4elOPlYPpQFmw9+kpTVTE85+p6XFPUlVKrTads/uA/38mtWLV3za6545N/Ob+yuAhMgoEqG021vIT7x6f92y0+7swK1bS5L3IXWp2lleV6XFcaACaH2h/Bsb8LjwAEgHgs7eqxMnJEFIKz1hzYsesHf2RWdQDb4v7l/UKnxCCEmBwX8Bu/90f/8K9LNz7wgGyG//5LOLxLVrfH/XuiRvqvPOXjduc1b7vbgqqC29mDZX0RN4Wcyl7xY8Pr/vFKv+vaxVt//JTzCmrqYdp56wfj7vwGUZXdWJ+6dm5juzEbJa0EIglXv3ADNj02BWF40UteOQqJideJZiwyOPWs4Z3XP/O9f/aHxWjogTvZ/r9438xF537xivNuuetfs/03zN/+qfhD/yf84eu3/s83qQOL2yUe/xz6tjiBdawjcM5CILLGM7z0xadz86D0dM4FHVPtg+B0lNRqadasx1EW0toXbzl3etNgYWZXBGOUVmIriFCW3c98futff/yLL37hSw/u2fPSF//0+kve+Qe/cenf/sNXtiwMrvwhJAHv/ZuP3XJjeeZZzR170/f81V3PffYPh/5+DK4aF41aXbEr+yMIcPUL7/jYP2fsOU1qiw/s/pn/8vMbL37zNT+s3/G2DexD7G+roT+4fH8qner22rgixfBFL0MKDzBjvUlzawXK4c6DPxDc/0MGxBMox/cbgt/HO7G+Y9oWMyNQZQpdaJXAT/zMtR/6m+ctLu3/0g1DVEuMIq03G83u7PRMovRznnblZ7/s//tvXxvFsG0DvPynZzasu/CXX/PJvQdHXux//vOuHh3apyRykl1y3uVv/pPr3vK72+Zm6lHUf/u7F3betlTvRh/+eO+2O3o/9PSn9xf31zhvZonWteFwUJPdfHQgAB7wrTe+/WmC6dqv/l19el8SpWde/KR3/+21e0fiiU945uMuvjBq/GL/UO4ZQnJu4Q/uuHdcqyV3337HM3/w8S6Mgqaq6n7w7/ayBOvI+weTsh481PPYBoKO3+fhaEpJqfGoFvu42k+bJskFDCJK0jhOsyzrL68EqpSK4lifsu28uNHcun795vnp2A5guN8ZWxJ6jkAlabP11Ztv9EzbtmwdDYcKSLgykwHYK6UYI1nvvOuDH7HeURCgEQMhhh/5oeeCLYBMA918M5rtdhBCnueoaiPjQ9w8VLrSw4QQ6Hy7kVY+LI9KAdopyegREUUklP70Jz6ltAYpnDOIGikERwwOBEmphZDeO+dLIuLwYGvi8VkIc7wTa9J4XcnV/REBM7MQ8sg1iAhCMHMcp3GcxnGcpXWplVC602qtbWdzulzbrgkzBKWJhcV0XDmWmoUujTG2hOCVRHZGsa/pqFVvVKYIjBTXe5YDSwYRmJypIBhn80zLRMqE7dp2jbzVUimlHKgQZ1XAoQ02IABYV4F39SSqihJ1PHB+pfQACQGj1FLFk3NXggDv/Wg06K0sG2PKfr8sc2NL751zJpBjZqAjt+nfGXaESccnsY7TpfCI6qF0Ojm4S0ophCCcWHicvFxNh0L23kuppYrjOFZpHCVxmtWmpqYUBINw71JhSzscHNJRVq81Gu1WURrrDJOvxiMpBQdXeUdEYHMpejMzM8yOXOVZMTIIZV1VVYUdj40pGXytVptu1pb3j5WWtTQmZl2LtEwYVAW+ctZ5L6QOzPmwZIEqUCA8tLSS1dqz8wsy0jqKJycMkLUB5SB4wWDzsiiHxlTGlN57Yj+ZCkA5Oatswh7vSgA40p750afUgyyyR351nBKLEZhRax1FcbfbckYbM9BRLaCbnV0A9Enc3LPvXmYFHNbMbvbeo5Q6Nvv27VM+abiZ6Vb6dx9415mnwfkXtncvjr/05fDKn3jpcDi+Zfuti9c/MBya07ZpIS4676wzfDEufXX/9lvWzHVvve/mQ4foJ37sx0sjbrvrun17F4OHM8+fiuS5mxfW+ajuzOArN3953cbpG+9aXD5QXH31NXftuPP6r908MSl8ePAoAACQgAKcfea5F1z8uI+8793v+JOrnNn1F3/98b37YOlgxqFYNw+79oCO4IyznqpUDGg9Cee8dRUwTx4vrVKVJJGKpdTAIpCxNgrOemeOnObyaN+dB3V5J98cp8QCmpzGFam4ubh38brPXXrqaWcg9nora7ad9sFn/MhPXPep999y8w+tmYIA5R+89cBv/+79T37yDz35qbtf++qLlRgfHK7Zsu0vXnQVvO9dicNSkXzxTzcaMwtfvuWfv/bFp1r7NxozE5KffHm/NTudiA390dI1529//S/lffO4P/2T7PVv/FC7u+aum1/STN4hWBDLpzzr9qx7tiY5qNInPV6++71YFGd+9J/O+Nn/8mFFRe/AKYk4SGiB9Xjk6o1YCGCSgjHHtVMzt59x3vmf/fgTLr3snxDCq16iWRDh7K1f33n2BfrQojuwlL3tnXtuunEq0nUh8tV7gwgAUug4TpKoPtVtbr/vTg5BJmm9PV0VOTOwO37DiMdtfIAQCBFjEUVJ67d/80vv/uP/Fw2/9pbf+UcU8KXPXxshJNUnePwpyq/Nkv0qRpX6n7l6VruPCvtpbfc7D5ambamkMWSgGuva7JYkabvBTsyHUOS6Ovjzrwp//p637++Xcxs3bd24hqsdcXnT+WffhQgklCh3K1NKVyi39Ju/pD/9yXekrVajNTs9xVFxf4dvmu9+hShyBJFZZjeWpQnl+htv7nzl+nZwqSjHphSRqZhUlMaldaLwYsxYOj8AUZRnb9M4gpm6PP8UvuTMxR33fVnrBACklMiTQLtQKoqSLNHR2umDN312S2/x0ieeZ6wpsqwplEKUcLw2rjlOiXVkpkTE6zau+cRnyxuvc8qGmZpfM6sPLe2+68sXtxRgQSoPr3rulqueOf/ZT3wMywILDiuN1/363Vu3nv6xv1/ikcaR/PRH1jLHkYpEFHMOuozCkEQeHr9t7+/98ql//efv3LzxXK48jAFd46v/lvhQR6m5AhwDDQnG8PRLh7/5s/N/+tY/mp2dRiv8WPkyvu/6dSD7ABLKNuaMffm6X+tf+bz9T/7hB04779Cmc+1ZTyi7W+77iVf8QggaK8k5QA6m6Gw6M2RrD7TWicpcJspAQ3rZs+tXXDhDnB9xpOCots0cqanaymlze2uDr//mr7e1QGaWUk5y/4/P5vLfE7Ee0WdlUqnChFKkHOA1P9UNY3PBRnv+eldT8Gu/cEPvAfYDpJFQYuc912+XFGiwSL00L+WH/vaB884/5+ofBDk2vk9XXrG0ph0ZcghQVsqPbD5o2r7Eof+p5+675wvP/8mX/RgXhvqMee9XfoqEqCSgGSEPorzfETnjYPTCpx/8179/+e/81uvQBTEC6I1efs0iC7l23ebeyrzoJ1jJ1I7XtFMOsHs/HFiJ9+7OkdeoKGKB5dBTD10JMHRX/zASwIuvqqnB3TRKuSd7Bxqf++IhCEDkif69Me5qOxMhb7zeQU5cqL98xzJCJCVP3LhjSKljeyu/J2I90s8KM/tQee8BhMrOFivhysfD29+09Vde8dw3v2FNQ4MbzowHZ370A2f+5E9esbBW2mKjL5Lfe5PyMjl48OBLXvQcHls5lLbX8nbOl+U55z/uZ197w8/9anjaj6x86MPpqOjyynLbfO6SsxHHMecklqM9B08VMrrqmmte9Zprr/ov1ROetfLu96Evp9UKr298/NwtU2yJhkYM1D27z9AYx7Xsg3/55TAU3A9venW18+9ozz9dcel8eNJW8543XbC+vbi4d3ua1D/1ifKmGzdCD/V4/KaXJts/ecb/ejWqwRL2YmPk//1Qx6u2qch7P9ktTmZgUtzR6GTLA9i5Y5MbxDffCWkWPxLi57F9w+N0KZxkxTA5770L/uLLf+AZV1+7e8c8DOCf3rN95b5/jKvc9+sX/OjiO95y249fesvV5xx84kxojO/Sw/zczeNIRZc/7QXPfuk/DfYLMRa//nvDz33x62Vpx/2V55xVvOPnal/6k+gJZ2z8hTccioYRHzr08f9v/qK5m7iPYNq/+abbvLPDQ73LNi79zevxa++Rz7hk7udet2SGqA/kH39z85oLxzQAKKfe9Wd3Gefz0eA5Vz7xs9fpahQd3DN3732bHthPz7hcfuAd5/7oGYv/+3ev6fV6+aj/tetv39AeYU+LHpBNZst7oypXVfiJn+k/6xXFRz9fnX/Z44GcABL/3teSAQCJwYFF+PD77y2WopURJFm2SgIWhxNpjrt0muNrNEdjYg5DcMaUWuhWN2tFI+6LVz0T3vYSgAMjGka7B/CFO4GWqllz7ztfk7arnWI5JOmFUmW7998XI2SmRivuRU/MzlrftVV1cN/+rbMz4ZDBYSgGxYc+J3qDLWnVr+2/+7Qsl4Oge/0//WmFQuy4b8c5m7fKAYs+hyF84CswGpzaKFZm+7svXQA5ANEfvuEFDMG6sVG98bvf0x+unPORj8NTf+buK3/2y59fuvLil40bz9/32nfs0Fqbqjjroq3lwTqMfNnrbLyqN/t8f/XPVfZQ+q7fnP/Ar567586bKaCZCKBiVfCkwyjYIjVecdU5jWK0cSbxfrWEFUU4bpMdjl9iAQAzO+eMLUfD8b7FIgyjaEXiSlaONPbFA7uaDPKGXeBHEvuk+pb6sloRr/vDLzz3mhfed/NXfuxs0MMeD9VZ9RVdrVSm2LNn14bpGRgTDLgTnVqiW/fS/fce2uwH2owCDWS+Iv76U21E3n7/PZvXzoYhQD8Sfg0ma9b/zL0r4008Qj8C6usw9B/45whFrNDWrY3T5ObtjdseSHPCQOHaz37ywMoupvj2m77aW17J8xwPcjMc4AGFFe8BKoJmQ4g+NAb7ZsrbX/2sTfffflOsCKWgo1wdIvLei8BG2yt+8o63fCDdcQAmh90dhw770TjOiRWCs74qK1Nye+adtz15T7nWlIKHSZVHr/jdnde87NWO43+5dcPKaGacx71q7WJ5Wo/kyqGl0Wh85eUXci7kmFJHa1rZeGl/UVTURz1GNaDFA4dmOmuf9LznPvV19+8dbouGgOOg/v/2riU2qioM//953HmUaZnSltKxQLSBFBKJpgiJxihG3GgkIRJI3amJJmpc6JJoQlwpCxMNEl2ZqBsXPiLGx8IggoloBVN5tTj0NbRl2nnc6cydc8//uzgzQyUQUQGHxH8xizs555575ptzzv0f35cz/clZZdnaABeqXk6LhUppLtfRvXz7rqcGXjw7XUp5eZC+kTne3J0HomKxqOYn3hhM3JUY3t59OrNnxflXl2X2tH/3bOeBp1d99lzv6LHv/YX82l6jghYog1gINcCOnc+cKLblS62BL3TevrwpuH9ZdnpqAhlkfV+rRbE4nM3OPtzfu6EjiLb0JqiysOBTGHJoiR0GqQnztK7oIG2SIkkiCoLAL/vtyY7973/9cbX45GZEVicvmN8qYmk2u3Hr1i+Hfzr87WyCoWulOVOYW71hYHpm0i+Ufjx8Zns7klWB0FOz/kxkrL2r84ODv++6vWe5yHbL3Px8plLOhUtWHBoRHSsTidCXrLuW9lbxwkDfbW9/PvzKlpSunk9qfzKdne1fPVXVP08m29qyUSiGzKhSAGNxMlAKWiFHxFvWKlWeQkJE7IjQgjd9itYFMF6Ymz9W9NNrb+mFmBWKIT169uSpgrxz9/Q9CXjt+RWsvK1r+IsR3yoNwADUiAASkWBILc3t3Zak8OSmWwce3DcqpYLmiw8utisCq0kGTdYYI8rFgky2z/vFj3bf3Vf6pRTr6cyod86cGD+XthQ80J96YrNl9Bm8/cMxf9QPQ1/HvA+PQ2aG7x1IWQ6PnBuP4DSwPRZWvjmYK5XLj21LoIxPnk13rUy98N7RkftSgxtXZQr+u18NeSAz+bmxEj7yelpWYPDxNVKNjI6Mr19/x+Cbh3f0yZce3VCsFPZ+ejCq4hXmcbOO56aGJorMODFR2PlQnwmDcohpX/46Ow/o5YulUyDfOqJavdTQ0PEyyPHzU8llnSYe/yQzNrIvCzoGFcvAYRg2qNgcqqrVqm6NH/ghEyvHNcCh9FGApDEVGxpHYHp9gtBuK/vnq2DTeWwvMUREoSKRmIx4iWhiJjexpGJ8BgXQ0t6DCpUQkVjLhfRpzVgC297TayoBgRaClGCJiqVmtmG1ykyMAqPCs2AoQrYskYAUaxQgE3FNgSEZQaCSCRRbQDTEgoHI1caCF40yshIecDmu20jYIETJlJ+f0RLLVdJaW0sShZayQgaRJVn24s7lBACGLCAKYcBEhATL7CkZMoWGLYfSUjU01hqm0Dk/UXhae7FInLgsMGLAgrFEFJIhax1RxfWZeEeycnmpqauxZgcWOAe0jEoppdYuo8GRoTXqhZRSbn6tte7TcRg1SKbqRC4hAAih/ux+Q3RyX0IDAKEDESGxIxXimtXaSqkQZN0ZYGvtpXbZFlJKRHRjsyZwp2wiu1jS1+Xp13BTM0lETvkX2DbSFhCRQSilHJW3a+7EqomI2QI3b6zw5gAWonRLlxCwOIjhZl8IVU/9q6syIwEA8kVydmZmJGZ2FesNuCFyHX0KsSGNSlDPKKzhCut6OCwat2vsFO5KDW0XZXztIhA4aR13bCV3g9rTMTT2nUXgq38r3WJ3sfAOXMIMEjMh/41z8A0+NN8EwIJ67IiZFwMFLheF+E/+wZeM7WrGs/h64yf/y1Tjq+n5BluTvOT9b5e3axh1vUZd/VtX/h9dPtBvVN0GBQAAAABJRU5ErkJggg==" - }, - { - "name": "smashing", - "description": "You maneuver the drone into position and begin ramming it into the machine. The machine sways and shakes, and just as you think it may be getting somewhere, it falls directly onto your drone. Now, not only do you not have any soda, but you don't have a drone, either. Dummy.", - "choices": [ - { - "key": "choice 8", - "name": "Disconnect.", - "exit_node": "FAIL_DEATH", - "delay": 10, - "delay_message": "Don't feel too bad, it happens to the best of us sometimes." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAAjVJREFUeJzt3cFyogAUAEGzlf//5ewpF0pGRJDnbvc1CkhleAbEfN1ut58bcNefqzcAJhMIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUD4vnLlW/854tdJz5+2HWuWy9+6HWdt77P/1PLo7d27H/cwQSBcMkFePSI8e+T5WXncUctZWlvP1uef5V2vd+9y1p7/aD1nMkEgvHWCTDgiXOH3dU6ZJNNN+j0xQSBcehZrae3siCPtff/aJJo0OX6ZIBBGTZDle3XuW+6fq/fXo/W/ev3H3yAw1FsnyP96Nues99ZTJu7R11PWJqTrIDDM1+3CA9CUz0BN2Y410z+Ltfdxz/780frOYIJAuHSCwHQmCASBQBAIhFFX0pfefZbq0XKPupPu2eW9+2zSVmctZxITBMLoCbK09069s86vT7uTca+j9s/E6xivMkEgfNQEWZr62a6jPiN19evABIH00RNkqq33Rywn36PHv7penmeCQDBBXvDqkX/rdZKjvp+K55kgED56glz9LRhn39/B9UwQCB81QfZemd36HvxdR/azzmLtNW3/TGKCQHBHIQQTBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBMJfgqJi1hru29AAAAAASUVORK5CYII=" - } - ] -} \ No newline at end of file + "adventure_name": "Quantum Fizz-ics", + "version": 1, + "author": "EOBGames", + "starting_node": "start", + "starting_qualities": { + "jammed": 0 + }, + "required_site_traits": [ + "technology present", + "in space" + ], + "loot_categories": [ + "unique" + ], + "scan_band_mods": { + "Narrow-band radio waves": 10 + }, + "deep_scan_description": "", + "triggers": [], + "nodes": [ + { + "name": "start", + "description": "As you sweep through the inky void and the site comes into view, you're puzzled by what you see. On a small asteroid sits a vending machine. Despite the odd runes lining its surface, you're fairly certain that the image on the front is a can of soda. While ordinary common sense would dictate that drinking strange alien soda is a bad idea, you can't help but be curious about what exactly this machine dispenses. There's one problem, however- what currency does this thing take?", + "choices": [ + { + "key": "choice 0", + "name": "Leave.", + "exit_node": "FAIL", + "delay": 10, + "delay_message": "There are better ways to die than drinking alien soda." + }, + { + "key": "choice 1", + "name": "Try a holocredit chit.", + "exit_node": "it's_stuck", + "requirements": [ + { + "quality": "jammed", + "operator": "!=", + "value": 1 + } + ], + "delay": 10, + "delay_message": "Hopefully whoever made this machine is part of the Galactic Currency Union..." + }, + { + "key": "choice 4", + "name": "Ram the machine.", + "exit_node": "smashing", + "delay": 30, + "delay_message": "Ramming speed!" + }, + { + "key": "choice 5", + "name": "Search around for some loose change.", + "exit_node": "lost_wallet", + "requirements": [ + { + "quality": "have_coin", + "operator": "!=", + "value": 1 + } + ], + "delay": 100, + "delay_message": "There's a surprising amount of stuff on this asteroid to search..." + }, + { + "key": "choice 6", + "name": "Use the coin you found.", + "exit_node": "choices_choices", + "requirements": [ + { + "quality": "jammed", + "operator": "==", + "value": 0 + }, + { + "quality": "have_coin", + "operator": "==", + "value": 1 + } + ], + "delay": 10, + "delay_message": "Thank God for clumsy aliens!" + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAGZlJREFUeJzlXT2vVNcVPYyfLJBw5MKWHMfJj3BJB64okBKnSOfCmIJHa2FFshzZsuTkKS2PApMiXSwFI1G8yo+O0j8iIY4lu7ACEggJkQKdeXvWrLX2PnfmMfC8JTT3no/9cc7+WOfOm8uxV15+/UkLdPvO3vz69KmzbSqdPH6i3X/4YHL/unifPH6itdYWxqv52M7mVvTq8yI5efjpxkwhNzfqysbcvrO34Aej+oyuIc5164J6s/1z+1mxYYYNfTFOnzpLN7pKUzdzCu+u58njJ9rtO3sL/WyBRuQwWVFebGNyMVDj/DgGeSo+VWJyVOCinX1cT5YxaTqHRf5KPltDnBPnKZ6oNyanfo9zGCnfOIYVZNNUze6MsPplGYW1YxVwm4T9LONFPhXeVVvd2IqTVfm7ClLhr8axMX1cRT+3t1MqhaKFAFmlnFfK+JTNGoUdfUOd40yBBi4oGDGoxYJkRJ+pQbNqwKkxI3JUolAQU11X9Z3qV13HTjM2IcuarE2V8c5XKaswO/JlbRl0UHCFUS/FqkQzmY5/tNsFWdVx3fpmY1lAI9yJdir4E+1y/Ngn8wG3Bgw6RX3YvZrPSMnE9pmbEIVnmRTHxTFuwR2NjkfM7GTj4kZnjnMy6KUyqMK/Kiu6zY6UZexszZh9mV4VfZSzs4QS1ybzDVX1XZA6PqzdzaNnkClwaUpJw74RCKR4MMzcqQIdsrGj2BmdIhvvdJuKo6u8GAxScxwc6jzifafKHCUDaVWfiTIUbJSH9CoGjONXUbTKUzmxcs4KPlUYOBJuhttUpl9FLzXm3qMflvpfefl1uT5uw6cSJjGUq8b0cSxwKmvKkgqTzcajPKWz4nfy+Im2pYQgBlQUyzSDMSpjZE7G8GDm8Az+qI3p15FH/GT2OLvYRrqMjLIwCO49Ori+fGZnfr2zf7ld3N5uV3d3F8a88vLrS7aPktM3g5QIL7FN8Y3tTpfYhmNQL9Wm1sTty1ZWSnGiMo45tFIiW7Rqto46qeylZGSZxjk+yla6xfH//d+/5u3dsVUQVOji9vbC/dXd3YV7DJios9MXr1WSwP1WCSNLEmr9YpIZQTKqejKEgDawtq1qlKlFYEL6WObo1cyWVTAVlG6BFC9nS2XjOsUqgEEwGgCjlAXML3/xmzTDs0qs9jySCqLOg/mA02GEKpW8Ul1U2xxiZRAAGTnBLHsoPsrISqZg9y5rKF1d1Yh2tPa0EsTMH+mwg2CEVMDce3RQXVrjCc3Bmt5WSZCdsmqkqrnjqSo5yhtBQyxBzAOkGlHZISn2ZZCoj3FnHnZmYOUyznWZ0QUwK+n3Hv2wEhR6XqgHDFaWSCxRqEqM81wywn1jSYyNR3kukBgkVzzZOJVw6SHdURUiZVUgK7FZdWJy3PlDbTqDS5gZX9SgGCF3hlOkkAX2Y6WOMt1cdwZh/FRQs351j3Yt/bEiM4Apw4xkGagCYdAIZhT2M2NcdnOLoXD3USUGfXEd2ZrjXrL+yA/3PcpRVZ/pEnlUAtglUaZXnINzaYA4HOkUUXBJRTaDW2iEkoVtGMTVvsr9USPM6MrpMclF51XnBHaN8tRcVWWcwzM+WYKrIJvObyFAqgKmCGdnAOxzmDDqp9pcgCodcOOdDUeF1Dq76olVBNEB8kJ+rMooOSNVQlWbqKvime35/YcPFgMEHccJ7u0sG8V+Vs6Ysbg51WDpfbf2byyNdcHDgoWV/6NIDMq4M4I6QygoxXhmVSCDOtU2FqQ4voJGOs0qMKmihMOzOIedA1hZVjJw4+IfKVadXeHSytyjRipgpjobg9I4z0E0p2fUF9sYRER5LKgRBkbdZtWSFpWJBrm5WZ/qVxVDVYT4K0g2tgId2WYeVajFKj6DTCqJOFiWJTqmQ+RTOec4Hdk8phu7Z1Vsxhiqe+Y8ldLIlFIRrkod6oNzzp15d4kvy4zKpgxOHCVy1bm1/BE9268pQaIqUmWOcnYW6ExG5IfBH/1n6XsQBq9YZCocx5ye3as2xof1OTlKV7apDgJOoZ39y6Vxm/xuBc9enfBcxuB2H4f8MnlZOyaoqGdFd6RVxkS5SwHCFkNBG0bRgdERs9KIi6TKegaZUEcMJtwEx6tCMSjwTzzknN2DOZsMFgedlKO6c8eIvNjW+TKZzo9iP9rhfJn5GCP7t1i37+y1c2felYJYsDinVtXCGaMMcIvg9MjmjwZM//NzR2+/c25+/e03t1pri4G0s3uZBglWo3UFkksg/bNSJViiYX1MbvxUFT6zIaNMZ2dj10/+5LY/Gbq1f2MJ3+H47LBTUbzPw2xfwcMZP3e+YJi0Sio4fvrx+/m/t985Nw+Kb7+5tRAsnS5ub8+DYWf/8vzf5598Mf+3bsK1qFSJW/s30jFMDpIKqmxv3DUb2/cfk2a0Xe39EsRCxz996uzSz1fdGcJVEgdn2Hx17nGGKL2y8ZlN6i93Ff304/cL9/v/uNbO/OFCa63R4GA0GhC7V67Ivu1Ll5baGN5n7bG/f8+Eb41hcyIvVilQdhUtRL5qDAs61ef49nlbjEkMEpxUUSojhS9dtcgqidJjBO6NyOp0dXd3oYq8+tobNEhefe0NywPp48/+2D7/5Iv20Ydft7/89XdWBxYErfnAiaQwfaRzZ95tt/ZvLDwtZMHl9qDPY5SdJ1mbqhguEONYts/ol1uKSWTEJjNhTLjKNGphlHNm8+KYkaqk9KrS+WtP2tULx+b3F7e3bTB0ikFx/tqTdj3waO2gimTBMZWc47H++w8fzM+j1XVyzhqJjWGOq/afOTxLwGqu0r21tvh7kCwLZM6sIBUKVcoruMZ4xHGRjwto9cnGj1SR89cO3ntxFRy9MofRSAUZJeVsDo6wPVVJMspgyTPyxHu1NyqBM7uYDS7wVXJvjZxB2KBqVmftzvljqYwyK1VFVQRHrpxWgrNCmeNX6TArCDpLBWJlCSab08ewYMoqBtv7zCamS5Sl9jnOvX1n7+lLG6pMKjgPeSlF2b0LgopBWdll+iL/KcHx5QetffBlPkYRm3uYFaTTKGR1aEHxZrDNBQnydcHB+lTwsmrC/DnOOXfm3acvbXAZmmV8FiS4qMoI5O8WA7MV48sWIatCKtuwhDD6FMtRFkSRDrOCsL1jFd9VCAahVDtLvCrBuj1hOruElsEyhlqwP/1bLBWFTki/diUcswlbABzvMjz2swWP8lhiyAJ2HdQriasorT2tIK219tGHX0+WpZ5uVSFIv2fVFbMwo7jHquI4uIc+hD7G9MD9ZKgiysuCZ4ZCmAHKcR0xZ4zCcQFcFKMeruziPJSHc7IstG764MsaJDvsp1iRWLZXiQMTkXJYnKvaVAB0UlCJQSack0G4SkJcesyLirNJKppR4Qq8wnEM2uG4KQHLNtTJ6nLWCbFaOwiOLEhGziCjXxS2xp/YMedx64NjsV0Rg1osSBkvVelwHAYAg35KXhyzxTpcdGJ7pnBW0rBdGeAwa5XUZipYdhiVpQfFuisICwQVOLh+DNqMQihWFVji7aTkxT5X+ZW8OE7BbKUX61v6Jl1FHWtjsKcaqSwrRFJO26+rGQ3nqGB0ulRInSliIFTGdHoWT7FU4lHYnTkiS1ZZhVd8oiwGp5T/ZMFcTQbMHyzEYkarYGILwO5VuWRtuFGZ8WyMcwImz8lSVHk6NfIEq7XD/x6kUtFxX1mydHNVco1zWuPVIF4rOKZgchagURbah/0zpmQfrCITo1Ap5ZwPF1EFQyUbucBhvFwmYbZllD2ROqy5U8lBSOYkKnOr8cpZ0ZmVz7nEG9vZp/MnhibQTkQXM5U1FSRhRqFAprDKRtFo5pxsc1gWijzcYjL7so3YBP3nx3+31g4e9x4WORuVE+EYlvBckPRPBqEcZKugBbWnFftZMM+wQ5VN58AsG6MRqiyyOYqQF+rLDHc8FYybUkVaq3/HUaFfvfbr1ZkIYsiAwc5+jXuvqkgWQKwNnbqy7sp/3Hy0NYN3fRx9syJzbrxmVYEp3QUxvsyIirGMN+qJfFk7bkymX0bV7zgq1CtIhdSj3OwRr9rDTmrf3P6x7O/a+7VCJ0wvFoTM4RlKQT9WCKcT/SadGezIZRzmnMoY5FlxVDWGLZqCTi7zjVD8jmNVOuwKoio6y8pxHiYxdZ1BWuYTLNkpmMagkYLyDuLFOUznGWPESqZiEpkx41TmZsa5gFHtqvxXA3MVSIVU/Y5jhCq/LlTfd7jvQdhnJIbHETmwzMzm9WvlqJ2Xg1wsgWG7QgpsXoVOHj/hf1E4FXagoo4/zmPtcV62IE6u0rXPU3pWKPuOY6Sq9IP5YfwWvVMFg+N4VomzoKnsAYPmbi5mfVYFGM+KfJS38D0IGssMxYhnRrBKoBTIFpfxixuVGa2CLfKt8GN0+cxO27lwrLWW/wbEVZXrF47N31gS31zy8We1d2x12r1ypW1fujT/VKSyciTXp6oL9rHxnTerJmyOg084thLgDgqy5EhfHIeGKCZIDNKgc7NMxDIS6qCMuLV/Y+GVozgX7aqMiXKzv8U6CJKnVP3BVPyJrXqdz+hrfirBgaQyd7/vn3Hv1D5nVVf1qYBh8KxaGTAgcHwWyAsVxGVlDAjWpxRzcMUtKG6EWtj40urTp87SSpNBM7aQUypJp53iT24P42Vx1QqiKj7LriwYIh8FkyNfBoFwDCMXFL0/QzBO1/4SChdIW8xZMhxeiXhWBVi/W9AsK8VXE6mFVxUPFz/DyVXa5FsSe1CMVJBIGQTBMQxqxXaXVLMkFccy2ZFGEE5v768xim9qYbT0i0JWTVhZReWybF+pKmq8C+L4Ghrkq+ZnVMHozxtVX/HTidno1onBUlVNcO+YbMbPVaRKVXd7jG34GiM1fos5UTRClV91fqgs8lTHq0I1F9S4eQpidT7r/j3IYdDUitGaz+5sbdje45zep/ioPgfnFBxU4xmhLa5ydFo4gzjHZ5Apjot9cZ5TnDl25FGBWiobMd3jvQs2xuso0Vdf/XnTKmyM3n/v0/l1pSrNIdYo9nal2WUWJAfRVLZSeuA8JXfEQc7+9nx57KZoyi8KXxS6+/jN9tZL362N39/+/qfSuPff+7Tdf/jg4LU/FQzPSmX8xGscr+ZFqBPnVSEbo59Tllz11aPrpnU59bqDY4R6IG05TK8gR3YuYbCHOXoFy7p2lF/NDkeVekBsumpUnLri/M8qOJwuC18UOlyeVRpG2WGePQVRh26kFyUYKv/j1DoeDcfvPka/LJxC6FSj2X5TlYHRWy99t6B/vF56aUP/dPifPdVAmMTGqqoSg+9Fg0ZZAGT/uQ57s/uzJOfYrg/bnxWkOizYFXnGa3oGieSgUbx254He96I5f5Wq/+3aYVL/Br1fV8lVgcPK8srJK/LWBd9w7N3Hb1L+9AzSmv7muV+zcVMqwNSMsMkD3PNKq8AqhBitrTdAIs8RvlVdov6jweHmbDFY1Ilh/3XDoOfByRX+fNHJBYyrFtW1GDmH9CzNxrj1r+6FO0eMVCwcu/TXvJ02dQiuOug6nfgoBkdGlXOHc+TK+Exmn4sBofZh5Lyk9jTbY5S/1drzdTYYyVjPUvZRpQhhIh7PsnynzJErVaV64EcdY1uU5fRnlQZlLlSQVSvFup125MlJxsMt2DopPol6Hg7sGamsH9tcFsd5yDfOd4ESA83pGAn1dgGW2ansiCQhVpXW9ViOldspxBZlpMSOEn6HsbO72mPfZ0EjOL33sfGRV79W+zjy1EolNtZerQRTaeUAyWjkkLUqjXw7W33mPkrZl35ZAG2KKtAq3o/CppHEpM40WaJzshmPil6TAmSVLOwWb9WnSSPjN3Xe2OQPqpAQy7eWP0Wa+gBlBGlk/pA9KHB+lNmH/fTFcauSy7wVXKnGVWVUxkfYoPj9XA7tav3Vmk29z3TAYK36gwviLMBRR+yfFCAZVh09jLH7bHGnVBdWalVW+rkQYvjK2Ow+8wO15+vag6oPKZn9+5rWTIBMwd8ZLo181aKMOOxI4KEeI7Szf3n+70Wm+LQtOkEkln2nVAbHO0uwmcwsANQBvkrxjHVs7+Z1+Z6akXPAyBcyI4e4dWUXp9+I7u4HVM/ifLGzf3noSVgMir2b1+n3CBVy+zN13zI/GD2HZrZNOddOPqSjAuhgTDH3BMRVn0yXbBOYflMPot3J4rjOb9PB09ryXwfv3by+cK+e9IyQOzBHOXG8Gxt5jgThKjpVyQZIVZB75BbHj2aTSn9WpdScSqYarYrRGZH/hd+flba1tloAYZVwNPWJ4SoBpfwlO4Sv4i+Ool9mfCzEUkq5jDDV0Uf6u2y1yZkjR92zx85xrCPmeFV5rdWhW4dYMSiu/XNvSEfVF/WszKlQti+jcHsEEra2OjRfCJBVFyOjqbi3ksnZE6oRGUq/0SAcOetkuvRrFjyqWrm2ityjQlVY1pr3l3IFmRrVFWdehXfko+axIMA5iveo44xkScV/pBpWIeAUmhrQ6+DtxmZVep1EH/NGJ8qEO+fv/civ4894Nrn7+OCxI8Io5Bl5q3MG0xEPcoqvsk3ZGHWsBCJicLQ9w+aqr2ITk6dsQydk+1jRcxVS51u8H4Ve8d6tGQ2QzPDMaVkbOn1UNjoMW3iWLdS9I+QfAzAL7CiL9WFbNev3sVGnKGvEPiWX6arkqSCrOCGbN+InbB5LOBmpsaoSOV1m1YwTKTpzppByvvjJ+hyPSnZWhFnbVSF1NlGZtOqcjtz4KU5SCbQMxvXPLAFU20ZoCnyqjq2Mm1U2TG2ScwxUZCSjsj6V8dh4V2XUgrvsl2V8NbfqeMg7flbPTMg78okJTVUHdY980D5mA/Zje6Y7ys3Gsv1lfVk1Yu0zNyA7HE2lDLNn5V71MYiGMhDu4ZhMBrOjsiZZNc0qpJqP/JUtWWKoOBvj4xJV1SGnJAGUhfNdAhuRMYsKZjh6XWcBJmvK2KykV6BQluUqcE31qcrjgljpgTxdX+zPgkZVaDUHE4yyM7NNyRwlBcnjfTXJMFo6pFcdV+FzbHNnBLUZKiNUKgvKiVm+msEz+DUKLViWczwy+Bb7VMavOjw6TbVixvFufUYdEuc7GkmQvS9LMqjHyr8HmVrCKoumMgHKYDCBYWdX8rOFZXq47OkgT6WaMSxedWR37lG2ZVW1j1GBxwKNOaTTrWpHHO+SEcpWwepg4gwVwZKUMWLz43U2hy1sRa4zVmXeDBuraoibXnVSBy3YhrlszwLGjavopCoVC3oVnOiMjOcoIpkSRA5Kon5YCV0CsxCriiU7U3SgrJKohY59LuCUs6hFrsBClWVV1mdzXYBG/SrrE3liUlH3KA/5oS7RppGAQ56ML+OdwS7GDwmDlq25sl/5GPML+te8Cqu6SoMKVhdAOa2LaqeL01/pglmPwQeVbeIY1D8LRKV/tY05B7tWlUJds31168sqUFbJUH8lO5PrbGFy1Nowuvu4eAZxWRHHRMVGsiTOi4apypRVLdw0LLNsHOrm2lylYJkqEkISVbVYhq5UW6U3rpVaV2Ufy7bM0ZxtTDfFl8nFdVG2oWzkwdYGbZjhIGdEVQG3COgYeM94sgyoKkpcPAehsoCP8lRVU3ZmPJ3jVIKVOUZ0dlXZcQ8qe6mCRlUt1Bl1xYTokparoM5etZbM76KNKKu1cAZxm88UjZ8sGzpF3cY4Ypkyk+PKK+Ph+Dk5LPDjJ3OUuMHMkRkfpWclC8c25oDIW1VCFiS9XVVzVWlc9VO82X6ptWcJSSUEllwtxGIOpiI3U0AZ6BYIKwsar5yfLSDTnemfZUJsV05WtQfHZoHFxiBvtmYuwBhPN8dVdaaXksnQQGV9XDCpT8WPJaKow7G9m9efuI1mTBmpoKhkIFV5lA5qkZxeFR4ugJ2NqDvaVpGprlmWHlk7lrQq+5HZU9knXCOnJ853+7bKHIciGI9ZRWEUwrINZtnMyZgh/ZpBBqZnljVRhspwWWZj1UbZjc6BfSiPtTE+OJ7Zgbq7uUoWcxQ3h9mrsrFaJ7ZGSKr6ZrawZID9LuiXflHIsooSrjZR9SmelcyKOjKHjXORnHOobO14Zbaq+a76KLuyrO3WGuerTDtaRZgOLCtjP167uaraMZ4ZZRVI0dL3IKhoZjjOyTZTBRySC4JKiWZy3QZgNRwJDBf4yqbIT1UErGRMFzVHEQuA6lpkiUDBuVGU4qoSto0ESZUiz9IvCl2l6AxxXm9n8InJYW1sfOY4imdFRwePonx0pLhZDBqibgj3GNxQweiqF3N4dHa1BqibgkBu/TJ/YDxUMGRJiiUVt49xXZQ/sz2xv0nHQIkLzhYmKhPnVDcbZatFYO2uX+nJdIrjmK1OdxesbmNQp8xp1DgmmwWjq3xx3ZltWTWvJLHIJ3NcTDauWlT2Ae1z41oLZxAWPZgh2bjMSbHNfaJM1KeqkzOcUSZbzVdrllXJOJ+tAequ1qyiU2Vexs/NqUAct57ZvWtfh24Zrxk6R7yOUcsye2Qex+N15Mmyi3LQOBerF45TECJmJwYdVKBljhvLNq6Lyroq42eVR222yroOflT0QV5VGUov5ltOHtOtGhyom7ORVVOk0surs4oQFWNzXEatLAS2I28VHEqua2fVwFWWSnZ0WZ2NZfKc3oyqVSOrMlVHHcnWShd2z/aVzcnsq8qO7a0VzyBOgMqaOKaaTVGHyBMrFJOLWSHLMljN0AZVWVm7gwrO+Vi7q2wODjF5qtIw3VU1i1XV8VF6MR2U8yPfSjJQ+mRVxAXHWy991/4P4sXXP8RtQZoAAAAASUVORK5CYII=" + }, + { + "name": "it's_stuck", + "description": "Well, only one way to find out, right? You produce a holocredit chit (helpfully taken from the science budget, I'm sure they won't miss it) and jam it into the slot. Then, you realise your mistake, as it sticks in the slot. Whoops. Time to try the old fashioned way, I suppose.", + "choices": [ + { + "key": "choice 2", + "name": "Time to try something a bit more daring?", + "exit_node": "start", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "jammed", + "value": 1 + } + ], + "delay": 10, + "delay_message": "In hindsight, why would this accept human currency, anyway?" + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAAjVJREFUeJzt3cFyogAUAEGzlf//5ewpF0pGRJDnbvc1CkhleAbEfN1ut58bcNefqzcAJhMIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUD4vnLlW/854tdJz5+2HWuWy9+6HWdt77P/1PLo7d27H/cwQSBcMkFePSI8e+T5WXncUctZWlvP1uef5V2vd+9y1p7/aD1nMkEgvHWCTDgiXOH3dU6ZJNNN+j0xQSBcehZrae3siCPtff/aJJo0OX6ZIBBGTZDle3XuW+6fq/fXo/W/ev3H3yAw1FsnyP96Nues99ZTJu7R11PWJqTrIDDM1+3CA9CUz0BN2Y410z+Ltfdxz/780frOYIJAuHSCwHQmCASBQBAIhFFX0pfefZbq0XKPupPu2eW9+2zSVmctZxITBMLoCbK09069s86vT7uTca+j9s/E6xivMkEgfNQEWZr62a6jPiN19evABIH00RNkqq33Rywn36PHv7penmeCQDBBXvDqkX/rdZKjvp+K55kgED56glz9LRhn39/B9UwQCB81QfZemd36HvxdR/azzmLtNW3/TGKCQHBHIQQTBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBMJfgqJi1hru29AAAAAASUVORK5CYII=" + }, + { + "name": "lost_wallet", + "description": "Searching around, you come across a lost wallet in a small crater. Flipping it open, inside you find a family photo of 3 identical looking grey aliens in comically different outfits, an (expired) credit card for a bank you've never heard of, a loyalty card to McDonkalds, and, in the coin pouch, a single black coin with glowing purple lines. This is (presumably) what you're looking for.", + "choices": [ + { + "key": "choice 3", + "name": "Return to the machine with the coin.", + "exit_node": "start", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "have_coin", + "value": 1 + } + ], + "delay": 10, + "delay_message": "It doesn't count as theft if you found it, right?" + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAC4dJREFUeJztnV+IVccdx7+7KyH7IKQmrptuSXzImj5E/POyf7LkoUJAMBiwjXQTXxKyS1wjSYubBoPQ4GLdtERMYlnFUkiyIWkEJQUhrQsRE9eXtWChRQ0YqyKGpqGBWgqufbjO3Zm5M+fMzJk553fOmQ8snnv+3bnrfPY3v9+cc27b8aOHbyMSqTjrn3zO6bhFntsRiRSKqwg8IwNrmstRkEhpySoDL4KOKEiEPL6jgg1RkAgp8ogKNkRBIoVQZFQw5eDps1GQSHioRQUVB0+fVa6PgkS8UZaoYEMUJGJNGUQA7GWQGRlYEwWJJFMnGVREQSIAogg6oiA1pAxJM5C/DCqiIBWmLFEBoCEDD2tPFKQilCUqANlkCCWCjihIyYhRwR2X9kRBCFOXqADQkIGHtScKQoAyRQWgWjKktSUKkjMxKrhTRHuiIIGIUSEbVNoTBfFAmaICQKfzMai1hycKYkHZogJAq6QK0GtPGlEQDTEqZINae1ypvSB1iwpAlMGGWglStqgA0Ot81NoTAv4zVlKQGBX8ULZ8wYVKX2pSRhEAejJQa09IKntHYZTBD9TaExLXzzp19cnmMjlBogj+oNimUPiQQUWhgpQxaQZodrw65As8oYSQyUWQskYFgJ4M1NqTB3nJoMK7IGWNCgC9v8J1lAFw+9w+ZFDhLEiMCn6h2KY8KDI6mGAkSF2jAhCHSL6hFB1MEAQpc1QA6HU+au3JG+rRwYQ2AE7fMBVFEKHYprwpW3QwwWiIFWUQ8ZXMZ/1sRVKF6GCCEEGK/itGTYY82sO/R9G//ySqGB1MWFTGShK1qADQ7ty21CU6mBB8opBix/M5tCm7GFGGZLwKUjUZdO2JuUN9aBsZWONUxaImQ97t8Zk7hMpDogzZSY0g1EQAaLaJAnVNpFW0z44q18/3T1mdRxCEYsej2CYqVF2Ir6f6WtYtHT2TeIxODHm7qSikJgqpVbaS8D0ssj2fye/KRYaRG//Tv2fXXdbns0UlhUySJGmC8JhIkjrEoiYCQG/i8uDpsyQiVZbokCSGah/fspiIwe+bFkme37ReeH3oyPGWbYeOHE+VRBAkyiBCuVo1MrBGaJ/vaGFy7JHnriu3/fOTB6zOZSNHVmRx0vA6UVhWGSiIwHf4PCJSFjl0YjDufeIyAHtRbDCJIjzPb1ovRBFTnOdBypQv8PiUmIJYLrjKkSaGzL1PXLaW5LXXXxVe7961R7mNX5+F9tnRxGFWKcu8poRue95/9ZPef7TnqNEwKy85GC6S8Lz2+qtaGVRRZL5/Cu2zozh05LhyOGUbRciXeU3xGdH4Tm+yf1nIWw5Tlo6eSc1D5MhigsuQSmaRa8eqigyu7x/i8xcdkaoIyz2+N7FTWP+vnRNGxxdS5jWFSkR7evtXAID39z/YXFe2DpwlKc8DFkV279qTGi1s8g/tUOvOv2llXjL3g1CRgcG3hwkCiJKw9yz6uiyTcm/IqlUapjmIPMxiouiEsJkw5CMIHz3e239C2G94+qLwupD7QULI4HJOl8/+9PavmpKEiCJ1HmbJuYivShWwIMV7+08AkhQ808MPCZKQvh8kqXP4KLHWrQOWAV4SVQUrqarFM98/henhh5zawF+vReZ+EJfhhMzHa9canePHc3PC+Wwl4aMIBVzKvTZsOtwdvJKlQpWPMDkubNyCpdAPsVzl4GmfHXUTJFS+4HJeUynkY3hJVPCd7v39Dwp5SNK+PqJSXYdZX1x/u7GwEeg99i4A9TDrwsYt4v4ABru3BWlT4ROFrud3EUM+nknC2uDSEevSgUNHEb6zAwsS2BzPJMkSPZ7Zvk54nftEocl7ZO38OtKiRpk7e+hhFuAmiUkFS5bDFV4SF4anL2IeF4UKmNNEoU0nMj2/bynSZFBh87mo5SF5YSNJnnLw8FFALuOawC5XATxOFNqK5lMIFxkYPmfW65KHbDrcrVyfxw1VSQx2b2uZ/3hm+7pMkmS6H6SI6JCnDDaJOnUOdt0VdDa9aDkA9d2ENnLIcyDz/VPmE4VVl8EFedKwaPLIQ7Iid+IhnAMAnFq+MtN5hy6da1k33z+F4f7Gsmvirhxi2fxn+xAiiwhAea+uTcP3MCtUFDGJHjb3itsiy2H75BIe5Ux6nkJUTQZdsk4tb2D4lsTX0Kr32LvWpV0bhqcvOkWRxCpWlKF8eYjJMMuHJK5i8A9M4F/v3rVHKNG6VLdsIsefPzmp3fa7777fXBaGWFmEoJ4vhKSMJV++g5vK4jMRl+8Rt7m/XObU8pVG8x9JUvA8u/gagIYoi1ykqLMMeZNHuTd0Bapx8eFfsGzV6pb7M5gk81j4698+O4ohnMucuGfl2cXX0udBogzuFJWHUKpmqW6l9XErrEzWWXQdgiBRhkgSurzAtGPyM9R8FNEJPHTJLookScKGTbY4PXq0ijKk3cmnu8OQR5WH+PpdZXk0aZYIYpIs6zqlHD2WrVqNobkOnFp7q7luaK4DJ7ceyPT+Jm2xFYQl6qTvSQ9FWlmbaok2BEt2/iJ5hxf9vM+yVauby0NzHcK2pAdKD3ZvM5Lk0s/2NfafztJK4Pd/+mVj4U5bgj96tEiKemILheuofOUhG9660lz+44s/aNluMrzi5fAFE0JGnugzgUULfjKTPVCusO8o9A21hz74hoJ0MmlyNEu3s2aC6J5yqJPBBn5uo2VWXzN/8uWWwfD3pIegCBnKNmFoQurwSoNrtWi+fwqY26pc7/NSFNso8uWWwTtL59A7JhYFyAtS9EPiXKBw4SKQPMz64vrb2IArukOVbHjrCr6Z+JVzex470CoHW88n7pQgI0gVhkj8jDrFIVFRNIdNiujRso8lumusdFGkES1aI4WOQgSpggxFUFfpXC80ZCwModT0jq3EhXcaVwRfeEeUh/RzsYD6yuALn7PqWYZXIUmKIn0dXcpjZBFU9I6tLN9zsYqkSol6I9HWJ+kT+BQA8MJEtiuyqTI5M45DY+pLXvgLKWv3BTp5EmJI5POcLCK4VrNsObn1gDApaPuNsyrY8KmvAzhz64bRMZMz4wDU3zolbyv8uVhVpUw5gjx0+u3OtcIyhShikof0dXQ1Jfnss183/uW2j/9oUlienBkXrglj2/ltlfkCHSpQvDfENg95YWJOkIQyZ27dEPIMJoYJTISkbaX8Ap0isclDqMyHZKWoKNJafRKjA6OPiwwmyJEkaVstL1bME+p5iA4fUURVXu0dW9jGL5tgEh3kDp+VSl+sWBTUHgcE5H8Tla7TP/bRxwCAC3hYWE5DNxQKTWUuVoz4h48iacMs0yjgC9+RQgeZS02qRuhkndKsuo0ch79+WLmcRl5CyLSNDKyxvqMw4n6HIVDcXYbyMSbDLDkP4aNIqKix98QO62NeWfdGgJbECBIUiiXfrIQeSjE5bDr83hM7sPfEDryy7g1cfWSz0TE9f/3QaL9241ZEyMFHjVDFADnv+PSB/wZ5Hx6dHPffd6z58+3ND5o/bP/vfnjJe1tiBIloaUaLHKTQcf99x4TXL314CgCwb/MQ/vaP/wjbFv99Of79iN/3j4I4YjphqBpmFZlUm5R7865I6ZDlAIC2tjbcvi2mzV1LjgLYga4lR9F17ajZyZcA56/eFFbd0/nTlt2iIBFjIR6/fHfgliwwOTOON596tGX9m089in2bh6zPd/7qTazo6RTWrejpxI1vGn8g2HBNliTmICUnax5iIsfjl+/OVQ5AX9Z9+aPPg7yfKnoAMYIEh2IVix9mTc6MFzbHoGOhktV4zc+i81FlRU8nfv4Hc2FUUSSNKEggdE9ZpDK5RxVWkWKlWwDYi+R5kd/8pHUoJrOipxPnr97USvLtzQ+Ux0VBMiAn6mn75tGOqohn0ukZLI9I456mF2Iiz+SISXoBUO2s1IdZppjK0ah0qdHlH0AUxDtUhSgbph0/9Pn+D1DTxdUMOqP+AAAAAElFTkSuQmCC" + }, + { + "name": "choices_choices", + "description": "You slip the coin into the slot- it's a perfect fit. Now comes the hard part: picking a button on the machine to press.", + "choices": [ + { + "key": "choice 7", + "name": "The red looking soda.", + "exit_node": "cha_clunk", + "delay": 10, + "delay_message": "How exciting..." + }, + { + "key": "choice 9", + "name": "The yellow looking soda.", + "exit_node": "cha_clunk", + "delay": 10, + "delay_message": "How exciting..." + }, + { + "key": "choice 10", + "name": "The green looking soda.", + "exit_node": "cha_clunk", + "delay": 10, + "delay_message": "How exciting..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAGZlJREFUeJzlXT2vVNcVPYyfLJBw5MKWHMfJj3BJB64okBKnSOfCmIJHa2FFshzZsuTkKS2PApMiXSwFI1G8yo+O0j8iIY4lu7ACEggJkQKdeXvWrLX2PnfmMfC8JTT3no/9cc7+WOfOm8uxV15+/UkLdPvO3vz69KmzbSqdPH6i3X/4YHL/unifPH6itdYWxqv52M7mVvTq8yI5efjpxkwhNzfqysbcvrO34Aej+oyuIc5164J6s/1z+1mxYYYNfTFOnzpLN7pKUzdzCu+u58njJ9rtO3sL/WyBRuQwWVFebGNyMVDj/DgGeSo+VWJyVOCinX1cT5YxaTqHRf5KPltDnBPnKZ6oNyanfo9zGCnfOIYVZNNUze6MsPplGYW1YxVwm4T9LONFPhXeVVvd2IqTVfm7ClLhr8axMX1cRT+3t1MqhaKFAFmlnFfK+JTNGoUdfUOd40yBBi4oGDGoxYJkRJ+pQbNqwKkxI3JUolAQU11X9Z3qV13HTjM2IcuarE2V8c5XKaswO/JlbRl0UHCFUS/FqkQzmY5/tNsFWdVx3fpmY1lAI9yJdir4E+1y/Ngn8wG3Bgw6RX3YvZrPSMnE9pmbEIVnmRTHxTFuwR2NjkfM7GTj4kZnjnMy6KUyqMK/Kiu6zY6UZexszZh9mV4VfZSzs4QS1ybzDVX1XZA6PqzdzaNnkClwaUpJw74RCKR4MMzcqQIdsrGj2BmdIhvvdJuKo6u8GAxScxwc6jzifafKHCUDaVWfiTIUbJSH9CoGjONXUbTKUzmxcs4KPlUYOBJuhttUpl9FLzXm3qMflvpfefl1uT5uw6cSJjGUq8b0cSxwKmvKkgqTzcajPKWz4nfy+Im2pYQgBlQUyzSDMSpjZE7G8GDm8Az+qI3p15FH/GT2OLvYRrqMjLIwCO49Ori+fGZnfr2zf7ld3N5uV3d3F8a88vLrS7aPktM3g5QIL7FN8Y3tTpfYhmNQL9Wm1sTty1ZWSnGiMo45tFIiW7Rqto46qeylZGSZxjk+yla6xfH//d+/5u3dsVUQVOji9vbC/dXd3YV7DJios9MXr1WSwP1WCSNLEmr9YpIZQTKqejKEgDawtq1qlKlFYEL6WObo1cyWVTAVlG6BFC9nS2XjOsUqgEEwGgCjlAXML3/xmzTDs0qs9jySCqLOg/mA02GEKpW8Ul1U2xxiZRAAGTnBLHsoPsrISqZg9y5rKF1d1Yh2tPa0EsTMH+mwg2CEVMDce3RQXVrjCc3Bmt5WSZCdsmqkqrnjqSo5yhtBQyxBzAOkGlHZISn2ZZCoj3FnHnZmYOUyznWZ0QUwK+n3Hv2wEhR6XqgHDFaWSCxRqEqM81wywn1jSYyNR3kukBgkVzzZOJVw6SHdURUiZVUgK7FZdWJy3PlDbTqDS5gZX9SgGCF3hlOkkAX2Y6WOMt1cdwZh/FRQs351j3Yt/bEiM4Apw4xkGagCYdAIZhT2M2NcdnOLoXD3USUGfXEd2ZrjXrL+yA/3PcpRVZ/pEnlUAtglUaZXnINzaYA4HOkUUXBJRTaDW2iEkoVtGMTVvsr9USPM6MrpMclF51XnBHaN8tRcVWWcwzM+WYKrIJvObyFAqgKmCGdnAOxzmDDqp9pcgCodcOOdDUeF1Dq76olVBNEB8kJ+rMooOSNVQlWbqKvime35/YcPFgMEHccJ7u0sG8V+Vs6Ysbg51WDpfbf2byyNdcHDgoWV/6NIDMq4M4I6QygoxXhmVSCDOtU2FqQ4voJGOs0qMKmihMOzOIedA1hZVjJw4+IfKVadXeHSytyjRipgpjobg9I4z0E0p2fUF9sYRER5LKgRBkbdZtWSFpWJBrm5WZ/qVxVDVYT4K0g2tgId2WYeVajFKj6DTCqJOFiWJTqmQ+RTOec4Hdk8phu7Z1Vsxhiqe+Y8ldLIlFIRrkod6oNzzp15d4kvy4zKpgxOHCVy1bm1/BE9268pQaIqUmWOcnYW6ExG5IfBH/1n6XsQBq9YZCocx5ye3as2xof1OTlKV7apDgJOoZ39y6Vxm/xuBc9enfBcxuB2H4f8MnlZOyaoqGdFd6RVxkS5SwHCFkNBG0bRgdERs9KIi6TKegaZUEcMJtwEx6tCMSjwTzzknN2DOZsMFgedlKO6c8eIvNjW+TKZzo9iP9rhfJn5GCP7t1i37+y1c2felYJYsDinVtXCGaMMcIvg9MjmjwZM//NzR2+/c25+/e03t1pri4G0s3uZBglWo3UFkksg/bNSJViiYX1MbvxUFT6zIaNMZ2dj10/+5LY/Gbq1f2MJ3+H47LBTUbzPw2xfwcMZP3e+YJi0Sio4fvrx+/m/t985Nw+Kb7+5tRAsnS5ub8+DYWf/8vzf5598Mf+3bsK1qFSJW/s30jFMDpIKqmxv3DUb2/cfk2a0Xe39EsRCxz996uzSz1fdGcJVEgdn2Hx17nGGKL2y8ZlN6i93Ff304/cL9/v/uNbO/OFCa63R4GA0GhC7V67Ivu1Ll5baGN5n7bG/f8+Eb41hcyIvVilQdhUtRL5qDAs61ef49nlbjEkMEpxUUSojhS9dtcgqidJjBO6NyOp0dXd3oYq8+tobNEhefe0NywPp48/+2D7/5Iv20Ydft7/89XdWBxYErfnAiaQwfaRzZ95tt/ZvLDwtZMHl9qDPY5SdJ1mbqhguEONYts/ol1uKSWTEJjNhTLjKNGphlHNm8+KYkaqk9KrS+WtP2tULx+b3F7e3bTB0ikFx/tqTdj3waO2gimTBMZWc47H++w8fzM+j1XVyzhqJjWGOq/afOTxLwGqu0r21tvh7kCwLZM6sIBUKVcoruMZ4xHGRjwto9cnGj1SR89cO3ntxFRy9MofRSAUZJeVsDo6wPVVJMspgyTPyxHu1NyqBM7uYDS7wVXJvjZxB2KBqVmftzvljqYwyK1VFVQRHrpxWgrNCmeNX6TArCDpLBWJlCSab08ewYMoqBtv7zCamS5Sl9jnOvX1n7+lLG6pMKjgPeSlF2b0LgopBWdll+iL/KcHx5QetffBlPkYRm3uYFaTTKGR1aEHxZrDNBQnydcHB+lTwsmrC/DnOOXfm3acvbXAZmmV8FiS4qMoI5O8WA7MV48sWIatCKtuwhDD6FMtRFkSRDrOCsL1jFd9VCAahVDtLvCrBuj1hOruElsEyhlqwP/1bLBWFTki/diUcswlbABzvMjz2swWP8lhiyAJ2HdQriasorT2tIK219tGHX0+WpZ5uVSFIv2fVFbMwo7jHquI4uIc+hD7G9MD9ZKgiysuCZ4ZCmAHKcR0xZ4zCcQFcFKMeruziPJSHc7IstG764MsaJDvsp1iRWLZXiQMTkXJYnKvaVAB0UlCJQSack0G4SkJcesyLirNJKppR4Qq8wnEM2uG4KQHLNtTJ6nLWCbFaOwiOLEhGziCjXxS2xp/YMedx64NjsV0Rg1osSBkvVelwHAYAg35KXhyzxTpcdGJ7pnBW0rBdGeAwa5XUZipYdhiVpQfFuisICwQVOLh+DNqMQihWFVji7aTkxT5X+ZW8OE7BbKUX61v6Jl1FHWtjsKcaqSwrRFJO26+rGQ3nqGB0ulRInSliIFTGdHoWT7FU4lHYnTkiS1ZZhVd8oiwGp5T/ZMFcTQbMHyzEYkarYGILwO5VuWRtuFGZ8WyMcwImz8lSVHk6NfIEq7XD/x6kUtFxX1mydHNVco1zWuPVIF4rOKZgchagURbah/0zpmQfrCITo1Ap5ZwPF1EFQyUbucBhvFwmYbZllD2ROqy5U8lBSOYkKnOr8cpZ0ZmVz7nEG9vZp/MnhibQTkQXM5U1FSRhRqFAprDKRtFo5pxsc1gWijzcYjL7so3YBP3nx3+31g4e9x4WORuVE+EYlvBckPRPBqEcZKugBbWnFftZMM+wQ5VN58AsG6MRqiyyOYqQF+rLDHc8FYybUkVaq3/HUaFfvfbr1ZkIYsiAwc5+jXuvqkgWQKwNnbqy7sp/3Hy0NYN3fRx9syJzbrxmVYEp3QUxvsyIirGMN+qJfFk7bkymX0bV7zgq1CtIhdSj3OwRr9rDTmrf3P6x7O/a+7VCJ0wvFoTM4RlKQT9WCKcT/SadGezIZRzmnMoY5FlxVDWGLZqCTi7zjVD8jmNVOuwKoio6y8pxHiYxdZ1BWuYTLNkpmMagkYLyDuLFOUznGWPESqZiEpkx41TmZsa5gFHtqvxXA3MVSIVU/Y5jhCq/LlTfd7jvQdhnJIbHETmwzMzm9WvlqJ2Xg1wsgWG7QgpsXoVOHj/hf1E4FXagoo4/zmPtcV62IE6u0rXPU3pWKPuOY6Sq9IP5YfwWvVMFg+N4VomzoKnsAYPmbi5mfVYFGM+KfJS38D0IGssMxYhnRrBKoBTIFpfxixuVGa2CLfKt8GN0+cxO27lwrLWW/wbEVZXrF47N31gS31zy8We1d2x12r1ypW1fujT/VKSyciTXp6oL9rHxnTerJmyOg084thLgDgqy5EhfHIeGKCZIDNKgc7NMxDIS6qCMuLV/Y+GVozgX7aqMiXKzv8U6CJKnVP3BVPyJrXqdz+hrfirBgaQyd7/vn3Hv1D5nVVf1qYBh8KxaGTAgcHwWyAsVxGVlDAjWpxRzcMUtKG6EWtj40urTp87SSpNBM7aQUypJp53iT24P42Vx1QqiKj7LriwYIh8FkyNfBoFwDCMXFL0/QzBO1/4SChdIW8xZMhxeiXhWBVi/W9AsK8VXE6mFVxUPFz/DyVXa5FsSe1CMVJBIGQTBMQxqxXaXVLMkFccy2ZFGEE5v768xim9qYbT0i0JWTVhZReWybF+pKmq8C+L4Ghrkq+ZnVMHozxtVX/HTidno1onBUlVNcO+YbMbPVaRKVXd7jG34GiM1fos5UTRClV91fqgs8lTHq0I1F9S4eQpidT7r/j3IYdDUitGaz+5sbdje45zep/ioPgfnFBxU4xmhLa5ydFo4gzjHZ5Apjot9cZ5TnDl25FGBWiobMd3jvQs2xuso0Vdf/XnTKmyM3n/v0/l1pSrNIdYo9nal2WUWJAfRVLZSeuA8JXfEQc7+9nx57KZoyi8KXxS6+/jN9tZL362N39/+/qfSuPff+7Tdf/jg4LU/FQzPSmX8xGscr+ZFqBPnVSEbo59Tllz11aPrpnU59bqDY4R6IG05TK8gR3YuYbCHOXoFy7p2lF/NDkeVekBsumpUnLri/M8qOJwuC18UOlyeVRpG2WGePQVRh26kFyUYKv/j1DoeDcfvPka/LJxC6FSj2X5TlYHRWy99t6B/vF56aUP/dPifPdVAmMTGqqoSg+9Fg0ZZAGT/uQ57s/uzJOfYrg/bnxWkOizYFXnGa3oGieSgUbx254He96I5f5Wq/+3aYVL/Br1fV8lVgcPK8srJK/LWBd9w7N3Hb1L+9AzSmv7muV+zcVMqwNSMsMkD3PNKq8AqhBitrTdAIs8RvlVdov6jweHmbDFY1Ilh/3XDoOfByRX+fNHJBYyrFtW1GDmH9CzNxrj1r+6FO0eMVCwcu/TXvJ02dQiuOug6nfgoBkdGlXOHc+TK+Exmn4sBofZh5Lyk9jTbY5S/1drzdTYYyVjPUvZRpQhhIh7PsnynzJErVaV64EcdY1uU5fRnlQZlLlSQVSvFup125MlJxsMt2DopPol6Hg7sGamsH9tcFsd5yDfOd4ESA83pGAn1dgGW2ansiCQhVpXW9ViOldspxBZlpMSOEn6HsbO72mPfZ0EjOL33sfGRV79W+zjy1EolNtZerQRTaeUAyWjkkLUqjXw7W33mPkrZl35ZAG2KKtAq3o/CppHEpM40WaJzshmPil6TAmSVLOwWb9WnSSPjN3Xe2OQPqpAQy7eWP0Wa+gBlBGlk/pA9KHB+lNmH/fTFcauSy7wVXKnGVWVUxkfYoPj9XA7tav3Vmk29z3TAYK36gwviLMBRR+yfFCAZVh09jLH7bHGnVBdWalVW+rkQYvjK2Ow+8wO15+vag6oPKZn9+5rWTIBMwd8ZLo181aKMOOxI4KEeI7Szf3n+70Wm+LQtOkEkln2nVAbHO0uwmcwsANQBvkrxjHVs7+Z1+Z6akXPAyBcyI4e4dWUXp9+I7u4HVM/ifLGzf3noSVgMir2b1+n3CBVy+zN13zI/GD2HZrZNOddOPqSjAuhgTDH3BMRVn0yXbBOYflMPot3J4rjOb9PB09ryXwfv3by+cK+e9IyQOzBHOXG8Gxt5jgThKjpVyQZIVZB75BbHj2aTSn9WpdScSqYarYrRGZH/hd+flba1tloAYZVwNPWJ4SoBpfwlO4Sv4i+Ool9mfCzEUkq5jDDV0Uf6u2y1yZkjR92zx85xrCPmeFV5rdWhW4dYMSiu/XNvSEfVF/WszKlQti+jcHsEEra2OjRfCJBVFyOjqbi3ksnZE6oRGUq/0SAcOetkuvRrFjyqWrm2ityjQlVY1pr3l3IFmRrVFWdehXfko+axIMA5iveo44xkScV/pBpWIeAUmhrQ6+DtxmZVep1EH/NGJ8qEO+fv/civ4894Nrn7+OCxI8Io5Bl5q3MG0xEPcoqvsk3ZGHWsBCJicLQ9w+aqr2ITk6dsQydk+1jRcxVS51u8H4Ve8d6tGQ2QzPDMaVkbOn1UNjoMW3iWLdS9I+QfAzAL7CiL9WFbNev3sVGnKGvEPiWX6arkqSCrOCGbN+InbB5LOBmpsaoSOV1m1YwTKTpzppByvvjJ+hyPSnZWhFnbVSF1NlGZtOqcjtz4KU5SCbQMxvXPLAFU20ZoCnyqjq2Mm1U2TG2ScwxUZCSjsj6V8dh4V2XUgrvsl2V8NbfqeMg7flbPTMg78okJTVUHdY980D5mA/Zje6Y7ys3Gsv1lfVk1Yu0zNyA7HE2lDLNn5V71MYiGMhDu4ZhMBrOjsiZZNc0qpJqP/JUtWWKoOBvj4xJV1SGnJAGUhfNdAhuRMYsKZjh6XWcBJmvK2KykV6BQluUqcE31qcrjgljpgTxdX+zPgkZVaDUHE4yyM7NNyRwlBcnjfTXJMFo6pFcdV+FzbHNnBLUZKiNUKgvKiVm+msEz+DUKLViWczwy+Bb7VMavOjw6TbVixvFufUYdEuc7GkmQvS9LMqjHyr8HmVrCKoumMgHKYDCBYWdX8rOFZXq47OkgT6WaMSxedWR37lG2ZVW1j1GBxwKNOaTTrWpHHO+SEcpWwepg4gwVwZKUMWLz43U2hy1sRa4zVmXeDBuraoibXnVSBy3YhrlszwLGjavopCoVC3oVnOiMjOcoIpkSRA5Kon5YCV0CsxCriiU7U3SgrJKohY59LuCUs6hFrsBClWVV1mdzXYBG/SrrE3liUlH3KA/5oS7RppGAQ56ML+OdwS7GDwmDlq25sl/5GPML+te8Cqu6SoMKVhdAOa2LaqeL01/pglmPwQeVbeIY1D8LRKV/tY05B7tWlUJds31168sqUFbJUH8lO5PrbGFy1Nowuvu4eAZxWRHHRMVGsiTOi4apypRVLdw0LLNsHOrm2lylYJkqEkISVbVYhq5UW6U3rpVaV2Ufy7bM0ZxtTDfFl8nFdVG2oWzkwdYGbZjhIGdEVQG3COgYeM94sgyoKkpcPAehsoCP8lRVU3ZmPJ3jVIKVOUZ0dlXZcQ8qe6mCRlUt1Bl1xYTokparoM5etZbM76KNKKu1cAZxm88UjZ8sGzpF3cY4Ypkyk+PKK+Ph+Dk5LPDjJ3OUuMHMkRkfpWclC8c25oDIW1VCFiS9XVVzVWlc9VO82X6ptWcJSSUEllwtxGIOpiI3U0AZ6BYIKwsar5yfLSDTnemfZUJsV05WtQfHZoHFxiBvtmYuwBhPN8dVdaaXksnQQGV9XDCpT8WPJaKow7G9m9efuI1mTBmpoKhkIFV5lA5qkZxeFR4ugJ2NqDvaVpGprlmWHlk7lrQq+5HZU9knXCOnJ853+7bKHIciGI9ZRWEUwrINZtnMyZgh/ZpBBqZnljVRhspwWWZj1UbZjc6BfSiPtTE+OJ7Zgbq7uUoWcxQ3h9mrsrFaJ7ZGSKr6ZrawZID9LuiXflHIsooSrjZR9SmelcyKOjKHjXORnHOobO14Zbaq+a76KLuyrO3WGuerTDtaRZgOLCtjP167uaraMZ4ZZRVI0dL3IKhoZjjOyTZTBRySC4JKiWZy3QZgNRwJDBf4yqbIT1UErGRMFzVHEQuA6lpkiUDBuVGU4qoSto0ESZUiz9IvCl2l6AxxXm9n8InJYW1sfOY4imdFRwePonx0pLhZDBqibgj3GNxQweiqF3N4dHa1BqibgkBu/TJ/YDxUMGRJiiUVt49xXZQ/sz2xv0nHQIkLzhYmKhPnVDcbZatFYO2uX+nJdIrjmK1OdxesbmNQp8xp1DgmmwWjq3xx3ZltWTWvJLHIJ3NcTDauWlT2Ae1z41oLZxAWPZgh2bjMSbHNfaJM1KeqkzOcUSZbzVdrllXJOJ+tAequ1qyiU2Vexs/NqUAct57ZvWtfh24Zrxk6R7yOUcsye2Qex+N15Mmyi3LQOBerF45TECJmJwYdVKBljhvLNq6Lyroq42eVR222yroOflT0QV5VGUov5ltOHtOtGhyom7ORVVOk0surs4oQFWNzXEatLAS2I28VHEqua2fVwFWWSnZ0WZ2NZfKc3oyqVSOrMlVHHcnWShd2z/aVzcnsq8qO7a0VzyBOgMqaOKaaTVGHyBMrFJOLWSHLMljN0AZVWVm7gwrO+Vi7q2wODjF5qtIw3VU1i1XV8VF6MR2U8yPfSjJQ+mRVxAXHWy991/4P4sXXP8RtQZoAAAAASUVORK5CYII=" + }, + { + "name": "cha_clunk", + "description": "With a satisfying cha-clunk, your fizzy prize drops into the tray. You swipe it, and move on from the site.", + "choices": [ + { + "key": "choice 11", + "name": "Sweet, sugary victory.", + "exit_node": "WIN", + "delay": 10, + "delay_message": "Hopefully this doesn't like, freeze solid in space. That would be bad, right?" + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAIAAABM5OhcAAAAAXNSR0IArs4c6QAAIABJREFUeJzsvXmcpVdVLrzWHt7pzKem7qqeO515TkgIIQwSQESQaIiADAooeK/XAZHrAF4V1E8ULpd7Rb0MooiAIE4XkEHBQBhCIPOcTnd6rO6uqjO+w57W+v441W2DEBLoJN2Nz6/+qFP11ql99vu8a6/9rGEj/Ce+ExCRmY9+Ofnmm37IwJPvgBAREXlyDSMAr/7y+wf4WA/gBMARJn0biNULUH7DxRwmLz25Cc0mRDyajicx/pNYAN+KOpOfHP1zZhZCfOMFAhEFKhBCCCFQrVoqwQCATEQUDoPJTt7k+4RY6rEewKOKI4vaNzEJj0AogAlPFCJOmISIkydwcgkctjpCrNoqJRMhBCoppZy8CTMHb0Nwzhly5LxxBhkCkYejjNZkPN+01J4c+P4iFhxNKYEAIFBNzI1SsRACpRZCSXmEIgIRpZQAIIQgWvWeiEgIgSjFKqRSKkliIYSUMjB47zkEa60xlS1yY8pKCOcsewDy3zSkk49V8CDEOvkeo1Vjg4AghRBSaimV1lrJSOtYa62TOIpTpZTWWig9sVgTrihUzBwgADIAIMHEmE0oqGQURVGaxRilApxgCB5K68bVuByNBoNBmY/luF9Vha2E99Z7P/HATmJ8W2KdlKxCRCGUlFoppeMsipI0TSOdJEmapqmOoyTLoiiK4zhOM0RUSq0udjxZKJmZiYgJpZQghVJKKRVFkda6VmvUxb4nXLD+9ltvsQ57y5QbvWc0v7jcGPZ7WuvxeFhKbasc0QZfndz+1vfFUnhk14ZCaR1FUZTEWVKrJ2ktrdfq9XotqzebzTStNZvNKIqSJEkihSpRiqRQSkwkBBYCkJkDTd4TpRAYRUmmIhlHUU3d/vSL03xwcM+di9b5pEnO6aS7NcrccnYwiqIoivIoGgwkQmERvbfMHgngpHuM4fuEWBMIobSO4rQWx3Gt1uh0p+v1Rqsz1W63G82s053qNJqNZhRFWmkx153etm1DkvksHtekFTRgM3Jl35fWGetdZa1lhCAosHdMzalOtz7UlENrnoUBia4E59zsfF03W/V6KoRQKlJKO09CCCgIAJxjwHDysQpOdGId7Qh+W92SJ8uYjFSkdRLHutnottudmbnZznR3/fqFdivuNuUTLz9129YpIQSKNsM0smE6JNwOP97h+vtMPoLSm6L0VTDG2eAJQgATFFhZnX/JuVIbROQAaRQJZTzJQOQ9Fvu+3l24vLF5PQodJbFSygWWUnrviYg5OMfM3+zOnwR4jIn1PW4RvmmvflgLmOznRCACRCFQqUhKFUdp1mi22u3pqbXTM52F+TWnnapf+dOnRbLi0Cd/OzpG3WSuoWwTBKReGB0MxQqYkbSFM5bLioxnEzh4x5Y0nf+MpxjTV4oBAoBgcI5GxpellaMKTEWD3u3b77hJJS0bNTeuuVDrDT6wEOCtE0zMFEJgEER0bCb0uMEJbLGOmKgjuuVEC1AymmgEgQkRhZBKRnEcZ41mvdGYmVnTnZ7duL79W6+/KI3uhfGtoBiYGBGB0QZUJVCOviRXoFnhaszWUFWydVRVwVAwwZNjdCQIghfgGOBwRCcAm8pWeUXjERkjRyX0qhJKK/nQYGm7SE6Znt5iqqKsjX2wzhvnTDjZSAXwmBPruzBXR2mbYlURkFIIJcRk7y9BrEpTh/eAUmudpmmj2W42WzNzC/Prp3/0CpWOviJSj0JBAARQ6JmQoBBeB5bCOWFLKsZcGMorKkwoyI6MseQcWQ5eBhYByAEhhzARIQRh8CYf5aMx93OsSi4LcBUzemABjny5e+P6c4fjTpmPjCmrSgmhAxOiO8k8re+GWI+txDVZ/ibDkCqSUsZxIoWOokRGWkqpdDwhEyJKqaSUUaTTNG22O61WZ2Fh7ZZ16zbN34FixAERVv0bZGACJiQWgpltgMpyZaE0UBFVlipiR2TIWTIcggoeCYgUCUIvhPjiF79y+SUXA4fhsBiMuD8WpoSyACIiZkIhCYMYtjLdbnby/vJ4PIqixBnjrT25SAXw3RHreHi2EOVE25RaxWktSbI4ydJ0IkclSq0aKimlUlEcx2madqZbU53umrXdbqOldSnIMwGjR2RmJgQgEkFAACbiypFhrhwbR4bIsDfkLFnrrSdH3nny3oElCrYs7T/986catSbbQIEqE6qSrJHGkA9iNYjETMCCsdGq1UtZW2pl2chUhSlzoSS5Iw7iYz+3xwQnno+FiIBSSC1VnCS1KM1azU6j0ag3m7VGo9Fo1Ov1icgZxXoiYCaJqjfSdr3RqGkEl+E9zdQJIOLABAzEzEAkArP34AL7EAxBxaEgKpkMWxOsAWOhMlg5KAIaZKsQrLr9rgOf/cIXMUL0FkhKkqby3mPwGAITwdFhSWbOsqzVinutZq1oGVPZsgohUDATvfSkCXicYLtCXP0rOTFIcZY2mq1GvbGwfrrbiufW1jrNuNXGWoadtpqejjrdWj0VCEFpk0ZWaQCuit5O4L5HQgZkBmIMhEDBkXQYDGFgrAIZZuPJUqjYGe8ceAcuUOW5sq4ELsh+/eu7Pv1vX4trTQVaCAUOTOWrygafERExIDKAOPoTCK3WzEz1lpdG40FRjHU8Vt5o75wzTAQcTg5uPTxiHXNz/d29FSJqHUU6yWqNequ9bn7zK19Qv/IyFCoGOdkbOsKBBIm4FBAYCZCAFRMjcSa9IEAGROBASMxE4EF6JOcxMBkHBtkGb9lZ9haCl96xqZz1VFmqnCq8L1h/7rO3o2xY4ypranFA9oMxOpLOB09AtJrmd/TsxXGaxVOddteUlTO2qqrAnrxhZu89E50ErIKHS6zH/DMzgJRaSimUknGSprVOo9vq4hMuXNB4PyODAEYKIBBlAAMgABAYgAHZAbNECsIRBUHEngEQAwhCCp48sfVsga1gS8EgGSITggFvgrFceSgtVJYL50tHhWcrAiOR8h64FkcUYP/iMgXFzByYgiRkAJaHTS2TFCiVimYX1ppgq6oYl1XwhXdN5iEAOScBA4QTnlsnno8VQphwK4qiWq3WaDTmu5HiQ8gA4IGYBQtGgCAEAAimw3IXAwAwB/ZeeMHscaJeBeJAwXv0wBbIMBkKhoMhMuwsVI4rS5Vl60JlQ+WpslQEyn0I7INg8EDI6+cXmOj2u3aEQETIjIeDzMwAiAKAhQwffe8ftOZPecLlz9ww08Ry2tnCm4IcQvAATEQTXfcxf4a/R5x4xBJCaK0nLlYc63rWmOuCgmUHQrJHQgwOZERIZAUFKQRIISiABS8YhEJyDCGwI4lMgYBYEKMnsgQOyVIwHKrgymCKYCyXFZsSjAtj68sAlcPKQ+WpchQwoGQAkCKcffYpxNX+fcsMgkDy5H1BSgIUDMCIQOwUjYa7b/jkh24k5gDxujOfVVVz5J1xlSMnnaHgTmxOAcCJSCwAmMiik3yVONG1NGgkZoAADBBYfuXznyutLkprKvJOmMoJIYkgEiqBeMvW2fVrullChKyYmJmI2QFb8MYHw2yDr8AarmwwFipLufOFAxvAhFA6rogscQAmYACWGCjYWDKHaHkwkjiR/pUK3h1OuxIYBAqBqCNgFsEHRBbgO814mLd7veUkyUxVCKEABMAJL8afGMQ6etNwJLd4olFpLdsNTcFKH7EEAOAAKwddmVwedZ8oSCYYa88AwgvQKBIR73Y0fOCmCzbcJBEcByAGZnAEjp0hMuQrZ0qwhouKC+urCgrDuaVxZUvPpYPKe0MUgAgYgRFCLAKwY0pZJZESsZJWAksIfrWkQklQSkgplSBE9EoHJgq4srwvq63PsnqZ51rHQkgECXDCh6VPDGIdHWYWq/6HWM25Q5ZkdJBOGMECQPnKjocsG5uqsMAIvZVer9e31gohkiRZMz2VJHEkF6rxXULnkQ/IAD6QZ3LBG7Y2OIu2cJWFwkBZUWF47O3Y8dhD4agKbJiJCKSXSEqQAHrOD16i2H39rr2dpCaBtcAYYE9lA7AWSirWSkaJ1BFIoTWSdcEFtA4Hh/bNnH56FKdCKakUAYDgE99gPRxiHQ/6ypGsywmrQggUMC+C9yCQUAJTEE65HAWnAKLf6+/cuXM4HBZFAQBpmo6Hg3Xza2vN7jjPUjEkJsHAnryjYCk4sIat4cKydVyWobBUOc4DFhUVnivPVWBPQEhCBiFIKk5keck5C4bg1lt2ZFmmRKiEyJXavm8ZhAYIQogopiSN1rXt1c++eMumtX/6/s/es2NEyBWZLMviONZaTxKmEeVjO8nHBA+DWA9PyXwkWRhCIPIhBPJgTZmbhINHQCBGIGahhDRFrhI7HPUHw3FvZaXMC0SZ6wI9oMxqkVw0Yi62yITM5JktV9Zbx9ZRUYWq4soG67h0XDgaB28c5D7YQJaY0CcxYrBJFkUif+1/fSFCeXDF7+/Z3NqqkKXjQwPyQgkgIbRSUtV0PZHPefZTzzm9jpJO2TS1e9F64WzlMx0rKZUQSk6qM77PiPWw8EjbthCC996Ywhi3UrYrmk3gIIAHYB3JdXP17b0d8dQlEoVEIQCR2LMFoMpVzhS5md5fdbXbqQOTD8EGa71xlFfeeTSWLIH1UDmqHFUBKwcmeOfREwVBQnAE8N9/+aXduY7L90sekdAf+shnlsayNFCMfWlxuTdmUCjUpBxDoFJps5RrqalQiHRqGqJlaVlICQKPylIMzI/2QvhIWIFHw8d62HGbB7teTEwMeUu2LE01HPf3rHR37tWnLtDkBnlTPe5x5wy+suJ0lSRRo14vizEzl2UZRZGSiUAFQkFjS2//14QprfHWsTG28ugcWg6OwREyS+ekm0j0WsUqRAkgBhSktUwzP1zea8b3z861OND2nf2DQ8pLLio1rrwxHFAJABTAQqKS9SiB2iy21kQLTWI1Lu9TwAIlorKhIppsTgm+t6LW744ij4QVeDSI9XDH/aDXEyCGEIjIWluW5Xg8Ho57n705W5iSWWInCwkq+7TL13765uun0kv7jVoIUxM1VUrZaNSbrXqaxV4v7BnXk9FSaWxlfWWxtOxJgBIsJQmBSIBYz5I40mkslRKTikIiyk0/1n5x7/2XXnZ2IG85e/9HP5FXujScl54CIsqJZDDZvUoRgWo94YprFtbPe2woIXbu+gBDwmCUzLwH55z3fvK5vseU2u/6b48tToxd4TeCKDhnjJFRmRejwWi0bO5NG9fd2vyB85ZIBwQAIAgrP3RR7fq7by2nNiQ6Sutx8KSErtXS6em2UkoK0Vl35u7r7ygqGlemqLgM0hMGATqOlRZpFLVqqdCynkWdZlZLZbud1dNsbm7mX/71M3Nr6t1uiqYCnb31f390mIuqgKpickggysoCi9WKe2at03hqY5zMb95wLkAJPiwvG8/KezO7dnNRFNZW3jsiTxz4pCg5PL6I9VAsOTMDhEDOeVMV46FSy0v7WYrPcHt+Vp8/v2TQAoBADMWe89ftPWt+t6V233RvumsZk3Uia6lIB6jUcPdlW3bdka+97st3Gwulw9KH3FFgSEmmHAkka60SyjlhrU2jCLyzZrx3T5ElcMG5p8d1V4ToD972N/0yHlVQWiiroKKkyIsA4khCohACks6Tn/pK5gEhRCH6yhc+UZpQWV9UuHVh293b91VVZa01xnh/witYExxfG5Dv1Nfl6CsFogBARggMEok97jjYGI7LrWsVsgMGQs8MMRuNy3U8sG1qdMrMntM6D8zr7evSfe3swPKBHaedMrtmzfT2BxYpsA9oQyBA4xgESgClhEJUCEqyEixFIAo+WCHCaLTUbs2/+X9/qJcnI4PGKesIZTQamxAQQAAIRJBSrdl8/g/+6H8rxzuued6ZEsq/+vN3f/oTH8tzX+XDUSVrU2ccPHSot7I8GvaLfOScCd7Bo+6/H3OckN1mEFd7b0RRnCRJVm+3W91Wqz29Zu1Md25TO7/gVLpwm6/hkKFSgMyMICZJnOFwEguTBJCjkbeuqCWdD33k8/cs+pWCK0cGUKCqJbKdRFONejOTnVrcakZTzSROtBBszACRP3HtrVWIRgEqyzYIEnE+toEwHE4ZzWJ97kWXtddsUzC2w9t27N7jQl2gIqKqqqzhmY1PHPl0/749B/bv6a0sjcd9U46DtydB0c43WKyHbjAeITzEAawGeAAAkBl8CETknBeBKjsaObFjuX3LLnnnDtcf2KlmU6gkkEcKzMgwaR2DAgIwMIR6vXPXnXc94bKzzti8/pY7d1vPRNIFb1wQKJFJSRErJSQmUYRCMPDi4nj3/pFIWipOEDILaDzmhQ8T4iIw8MxUK9Fy3959u3fcum/P9n1LBdmELBvvqsqYCmVjbdTZuG9x/3Blub/SK8rc2so78+jLDd8FvuOdOr6WwoeOSUOh1fgxrurw1ltTuapyVVWOcxq65t7+1C2727c+EN10T3Xr3ft27islppGsicCOFLMQXgZPU9Ozd973wJrZ9srAHuxbwxK8D569D1JJLUUc6ThSWS1J61Gc1nbtOegCGO9LQ4UJg9KNC2fCJNIEcRplkULEwtpADlhxAGQMIfgQLAUbkvWnXS6iheXl3tLBQ8NBrxj1jBl7V1EIcFI0/zu+nPeHjtXADnjyBBwqF4IxrjLleJTn+WDQT9M0rtWyJK4lrTiO42Q6TuejIG67O00TlWnZ1F4KX+UrRT4Yj/rVqJ5ft2tlGDqbnvKsp1/9mY+9f+fdXwL2w2GlmdNE6QjaLmMha81WYciSKC0UhgaFGwwrRwggEw0Xn33arffcS0EUpSdQAMBSlSykT+qt6YUN22qt+eVBvtgb9Ht7xv2VlaXlvBiUVW6tDeFk2A9OcEL6WEcDESfKtZRSyVRrHelEa50kmU6zOI7jOI6iKI6Tyc+jw5jE5iIVCyVBilhpKaWIZZLWalmz3W7H1P+rP/4t9ivdVKyf7bQb0Ux7WsVyODLb9xzQUgXB/dwsD4uh9QHS08+5opZmWRLpWkNglKaNOMsqx4VzzsBolJemqqoiH43z8XA06I3Ho/F4WI1HxpZVlTvnmIj5JGnlcFIQ66h+MoehoyietK0SsVYyiqIk1pFSSsfRalMrpSetrVggSiFRTPJwkiRJ0rQ1NTMzs3ZhtvmZ9//PRtg1Xcd2M1UyHlZVbxQO9fMAmoUb5dXIssXa1S97TXPutPF4OOj1R4N+WeZVVXnvjTHOl957WzlbmaqqyjK3VZmPh8YYY0pT5t476wpmBjp5mpSe8MQ6giPuJAq1KncLkFILpaXUk55YapISdZh8h/vxTZTMCbGU1HFWa3S709PTM/Pza+cXZnde+94FsTtNyHtf5bSSh3v3rwwKrMB5Ul4kP/6zb1TJ7P49u5eWlvqDXj4clGVunJ10/giVDeScs84555ytjHWVKfJAzloTgnPO8eE2fycHq+Axr9I5hjiSAMjkGTwTIqIDK6RElAA4qWKFVRqhOFyJD6vdROVq8z4dJ1nN5OOqzIkRI3XelS+lO/5sWpWV9XlkUbte3hibMVtgxNbcKUkys3PPnr0P7FxaOjgc9QeDXmVKMm4SoiEffLAhuEngnJz3wTrniEIIjmE1E/DoEOHxPM8PEd9llc7xkJv1H3H0qA7zjOiwMfBuslzqI4I4Igo4nFkgEAAm62Mcpd4U1lVayFhTI0pns/l2up+sGUhghF5DHhxK44ExfdbzXr57z759u+7fvWvH8vKhfNQfjvrOVOx5Elgk9sxMFCavAhkiwiOT961izsfh3D5cnKi7woeIo+/Q4e/dhElECBNFC4+U08Ak1c45J7QSUvey5Uaj0Wstn7r1gppdAs+EZALUU5UokAgs0jSpLy/vXlpaWllZ6q8s5+N+no/IuxDChDOTuDJzYJqEpRkA6MSnzoPjuyTWMX+kjonxfyh/jkBwpCbrGyUjRAzBB3LMIc9HUkVFPhqPBvloOITT0kyRs4mXmfGxxmYt7hVVZ3p+qdcfDPuj8aAYj4p8UIyHVTmm4L6J00eEt5NCpfrOEN/5kkcFD56ENPGKjs0/Ovz1LccADMhARBxC8N44U5pilI+rYsBxN0pVFgutoJ5JJUEjT03NlJW1lTFlZYyx1nrvgvdHr8hHcqkPa2/fF9Q6MZbCR9nnmDjdIYRJmpT3PjeWo3YkDjmnkjJKlMgiKbVYs2ZDZY0xxrnDrvrhZL1jMpLj05d9KDheLNYxx3dt4SY3csKrieUitkRYEcWxjhJZq6kkFbUE4yiqd1rOOQ7knCPy32Oa3rcbzImIk5ZY38stOSK6HrUEh1o9jmIZpUrHMskwq2ktvTWlAMHMQgg+jGP0CU5snBhL4aMPAoTDZVhCCJQiTVNApVPWDa414iw1sUZyjiMBYnJ+k1jNGEX6vnCjHhT/SaxvxhG3BhEnx59oraM0SjMldCfJKKV+resayz6NB96P04Y6giPHNj2iAzshcMyIdWJ97G8HRAQQk44jUkopdKSTJM7qicbUqtoMB58F2SjU7Bx3Ov2l/t7p2QviOD3CKkSJIB+JYwFOrOn9DsR66PLSifWxvyWOuFaT2E6apnGWJo1ac6rTqJGqN6nVlIzK7U2K0DVu89aNy/fua9WSer2eZVmcpXqcOGecM/RtEmBOjsfvoeA/l8JvwMRbX21hGiWdTqfb7bbb7VaDZNaiZL2kRNZCvcPe6dm5MHVo2G3XarValmVpkkVpZl2ljHInXVD54eJEzSD9HoH/AbB6MmGkoiRJm92puenZuXXr1i9sWLdx/ZozT1dT0+sEnIIwg2okhUSpdKx85UvRZNm11pRl4ZzlQN4TMRIFBgQUj3W+92OD44VYx1Bbf4j/7uj/i4hi0ileR1nWbLWnutOzM3NzGzet37hx68aF9jlntUHOAUwxNkFYqaWSMtKQKHXfjl3d9RdVla2sDSEwgHcemHG1ix/i4crVhz6qkwDHC7Eeafy7ZUIJKBAFAyIKpbSUkY7SOE6jJGs0p5qdzvTs7Pz8+g0bNp6y7ZSNGzdMt92auQWJHYAEIBBGQsZCgJTQ7HbilIm7nHS88RSIAYFIIApkIaQQggEZxOGj7R/tR+ixwslPrCM3khFQoEAtpYqiOI6TOE6SJEuTWi1r1hqdVmdqamZuzZp18wsbt52ydevWrdtO39LOli449wypuowawAMggiIwIB2qFGtyfnqq6t2BEOtsjZRKRxqElCoWUkgdo9ST5FQhxGrHdyZ41C30o4/vhlgn2IyI1VMrpRRS6DhOJ9WIcZqmWaPW6NYarUar3epOTU3PzkzPL6yb37hhw5ZtGzeva599enL6qeslNng1iwsPp28lLDVJQCExwbmWaCcro/6o1V2PKpWCY6WUTHSklZJSJVJIFAKFAkSBkkEAr3Ylfeg4sab9pLJY33rqEYGFlFqpSKkoThtJWqvVm/X2VKPZbbW77c7U1PTM7Ozaubk1GzZt2Lh+0+YNs2vnxk97ypZWo4aQIaeMRymfTAAoMEZMBSaIgpSop3DqWmhEu4JF3VgPcV0rraIkrdWl1JGOVjOhpUBC/Pfe73xi0eWh46SSG/7j3n6iG010qSiKoyRLs2YtzbJ6vdboZLVGltWazWaWZe1uu9PpzLaj+anelVeeStF6wQ2GDLlGIJkJedJz1gsIjFXwA6AhUoluzDgEKSCCTWuaC/Fw+74D1xUwmNqyd9H0+/vq9ay/0ktG2WDY17nOWUgrDTC5AIiTAoqTD6vEOgmSrL8dhJj07o6iJMtqjVar3WjPdNrtmem5rJ522u1Oe6rdbjdrcSxWnvPMSCTrAbWgOgcjBAIgkPJEzudU5c4NvBt4mwdXmNEKeBtcXhajyozHvREHyIf5gcWVe3ev3Lwbfvzlv9XPu7v3Lfc6SwcP7Euy2qC3olQ0Hg8ZJpk5ABjgZJz5k9MOH8EkxhInWZTUGs12o9WdndswO9PdiMtdv6gV6ag+HA8AyFo7NTuTZlpqFSlNjLVao9FuWcfBC5RkjKlnNYEUnHFghUD2uVaiqooyH3rvyQahtLVQFkVZUtya/fA/f/HgqMqDPPXMCy+69PK9B/q9lZX9+/eOBiuTDGZvTQiO2J98duukWgq/JSZFhFrrLKu3291Ou6aqxd27b1oWiMiFsVrLNE2N89v3LU9Nd9I0JaKD/cHU1IwxVslICIVSEJELVikhkKoyL4pxlsSmGntvBRARjfLSEgePEDjPzajyIy8JdQJ2//03fmLn7dnUhjMufLK1VglwznjvgSgE91jP0COC7wNiCa1klCRZrVbPsvp0Z/qMubmyVgUzIsJYhbIw3nNuKqynjSSJY5Wm6eb5OVM5EKunNVeeq6pKG02tILgKU1XfsLY0VVnVECHWkXMuWOcCBBYUSi0kiOjOA/n1d+32nspBLmXV6906GpdnXXRFCC7Px8H7YJ2BAg+f+3uyQMFjSKxHyatDiVLKSOsoidO03mpPNeKlO//VDQadbsMGOxxXRKSUWjPTLstSYJCgbFn0+/16rZnn+SThOM10LdLFaDkPIU1TlLBn336lFCIS0WjYz7LMBXYuAIhxaWpZA4jrsZLkAxAKFkqiDC/48asPDHxlzWjQK8tcaKWU8o5Phs7u/w4Pj0QG6UPcP3/vyZbf8R8djtWIydkoadrIsiwTLh8uqywhGbGKdb25f6V/aDh2DBjHK8O8Py4PLPfzohrleZQkUZIMRqPt9++uDHnA/cvLK+PxgaXBgaXBMPeONKqaDer+BxaHOQlddwzWI6Euyyp4psCTMYQQmNyf/fHbOo2sdriphNZayuhIU8lvEcE8YXHsLdajsME5esa/6QYcadC4qjKoSMe1SCdaxXGsW82uxKV6YyoAHji0QoCL/ZUA6FDcubhYlqW3AQDiNCmNIzqIiM45IoqiaM8dd4YQEFH0RoY8Ior+cPJkEgRmxtGYGU+b35glrar0WWO6saah7j4QKcnkOXiCVARoNFrNziA5WE+LYtJhRih/ji+mAAAcdUlEQVTlrTk8eBGCZ+YQAgBNKiAf5pQeMRaPpRU8IX2sI+xBKQQqreNJkt2RAlE43K5Yx1mtXq816rVmI8uyLMuWDiwpH+pTawejStVqy4NxYPYjG6giokl6MeRmUnTPzCQUI7MnFEqo5EiOKCI6kJMK/Ukzd0SUiIWua62iKPI6itLO7Nw6JwQHZ23lbKWd11rUa81mq+O9RyXiOPXeeueODN45Y0zpnPPBsbMAJ2QK1wlJrFWglFrHKo7TeqwloxQsiDwzE4IQCoVQsUoaU1ka1+rNJK3Va9EKe4Lmobyoz24uIGRdYg7BOWdLcpaIEBGUjgULqa0H50tixyCVkHGchuASGbNKiL0ARMneYRQrITOhlBRudu26TGZCa7LeA81v2eYDG1tWpXVlv6jsYDDI0sZMtyk81NJoVDcAgJ4ohBBCQcZWpsr7eZ67clQRULAP0/YcF+7asSHWY5IYKYTQKpFpPYvZEIEvAzTieq1ZawJApHHx0C7B2vUO7V8s7dTKps0bhARfSmi0/uJ9/4CiUoguMAA+74UvGo+WgjMYrAFQLO/esZNtIbP67Px8XQYAYBEvL/d6Bw4ImaSt1tzcXLfV+tRnrt1ES1PN+L5F0z3z4rt33rFuXFx8Wq3MxfW7RwagAIgBMgAnYInFk572zINLS2sWNt5w41fuufHLUWAJDAAEq80cFLAHcDKuTc0KFUtJk+4mJ5zROjbEerQ/tkCenAwdqfULc685Pb77a9clBGddnP7aJ+5Zd8rVAcy1n/zkrz37vJecNXZJ59M3LL/rq7tQ0KC38q4P/tUV61rvvEr39puxwSedPnf93sF7/u7991J6/uMv2rBhS5vxs+9/3+d+9ZwaxVZ0f+CPvnT+c68Ogm75+o2/fnH0rB/sMgVEefHv/8vzXvnfGqOlT712tub7Bc6e/tYbWgw3/GKUiJxQBIwM1267Lz9vG3gHn/66vbFK3/GFzy+s2yIkLN7wxe2/PFfnkplBCG+rOFEehGAdwB6i6Se+9YF4dq230p+YOtcJvBQSEQPko+r/fvyGj/38fJ0WBe8969XdS978N825da8+z73mnJsS6YR3n47PvftQ74o4vOsP3vDAGzZkQDW/SKfHjkLAxSdslD/1pBpF3Wf94Rc2Xvq0MbsZCfNqR0JjKxo1gqzeIUkglDT3t4PLEAKIFKBgsWUui2U1VslHb5uq5FIWKMqQWWimSDiBxSXnCAiVTsWzL4croH4Hi5XlQxvDtlhCS44yUXkCnyS9aItJQt3vycKIZZrbMgAnMmbOgU/I2s8TctBHQMS2tDcM4Vn/c98Dbgpr4vT64BmnBLX8wJteWE86Vqf+Zz8Mv/ov9131k6/6k7e89atvfvys2ldP90NNj6bOvOrd7kO7N9hW1krKZjJY0PC2P/ydhc76RY5f+xdj2Wr8yntHexlFksVJI01rF553eloHqAPWoNuGbrNz/X6znE63G9Vde+/deuaFhgEzhBphJ33tp/Upv2vWv6n6x8UtKla1mmy2Br/xnNnt99wLxB5ANGJIUbT47V9tnvr7d677rXue/+HmE/8Urni3PPsPDoipjdb6E24FPILjhVgPT7YhRgYmImtDMJvPetztBbzjusANZ+r0lp9/3H+76tTttn3r6Kz33jb9we2wacv5kuCpG2Cjvil0vUrwc6P1G1/79eYzX/4Lf33oVp6nOkll3vs/okvn+e8+8v6czJnnNU00uujxtQCcZpnGJjC+4I235s1ZqMM91fTOPugom9p85icPbb5HXDhz3rN1WvcAtonYQFZVPbVDCSGGhQUja47rHKX0j1+4a+PmrZXlgYgO1bdgA1Vd6tjEAMjwb3cd/PpKdOP+cWthUxSD8SUzTbSMR3LuHxE8VGI90mLdw9JLjwzGe1uUY2t6m8593Lu+Wj7vLfDCt7nf+MOv9vbt2Lyp4G76Pz6+dNkzrt60ecvd99z6ihc/E7s+yrDqyL+/YfiGt77nSU95/uvf8tZX/a97y+YUNylu8DXPe0bSok0NePWPWd2EFzwnWBa1REdJdM+9u55yeRfSg76p121RrGFQrTzu4gvefQM//W2Hrl2EJz75ykLAG/6yDA3mLr7uxY0v/e6mT/72totP3YtNSW1xG1/2R582a+fXC0Sd1G/tzeEUUpP+6w8P9//5zB3vedwl66PLFvyf/uKFYrgbkfBELth/qMRixsMl5Ec1kz0Kj6ZMfJiFNDmycDyoTGnPufRJX9jHU2vSd7x9yyteuQZrPq+dX2XzeT4uC7ewdt3HP/+FUFOhzvcup5+5eWVqatZ76rTW3n6Q/u1WRw1PDX3Xrj2DniUGqBO3AFMVkOJ4WtXUmWecWlcr9a6Manjnrj65OO8N+v0VDMX6DbOe/NJ4fyDYdE4d65pSKqA4/bTlszbdL1PYGZ/+qneKJ/3ytS/86V9FnUaJ8j6ce8H4i/dlNknkzFTZWlBR9uqXbPjw/9nwgicd/OM3vnCx1wdiAAI8Wj4Qx88i8+D45lE++JJ0dLen//irYz64BwczA7N3zhRlWZZFUQTUP/Wier2xf/P6fXEj/PCr3rXtjAuc84GrSDc++vlCTM2LaXnmeYMfe3Z9ce/9kYY92++76or06c82sovcMfftvKMa5w6B2wQdCPUQCWhkstWc0lr/6IsvCo1AXT7vidTtmCIflXm/KJaCXXJlz+deInzuy2M340Qbn/v2oK5yr3nfqaZbW7N2+MbfOKWR8Sc/8beTk8cDB47KN//tYLF2wUfuXLf1+Ted84rP/9J7y8teg6e/ZN/PvfW6dj0LEJ24UZ1vJta3X5LomCtv3/usTbqiE0+aWIXO+rW/955DXK+gDkWzw5oCeUapRRxlqQF4xRuHrnV2aGX1tP/7r//5X3zVs9/2e6/9k7c/RdTItGBIp/zbbXDN1S+jCEQr5iboKf/7v3b+G37tV/72g+/7+le/FOvd3NbYSEN97b4elOPlYPpQFmw9+kpTVTE85+p6XFPUlVKrTads/uA/38mtWLV3za6545N/Ob+yuAhMgoEqG021vIT7x6f92y0+7swK1bS5L3IXWp2lleV6XFcaACaH2h/Bsb8LjwAEgHgs7eqxMnJEFIKz1hzYsesHf2RWdQDb4v7l/UKnxCCEmBwX8Bu/90f/8K9LNz7wgGyG//5LOLxLVrfH/XuiRvqvPOXjduc1b7vbgqqC29mDZX0RN4Wcyl7xY8Pr/vFKv+vaxVt//JTzCmrqYdp56wfj7vwGUZXdWJ+6dm5juzEbJa0EIglXv3ADNj02BWF40UteOQqJideJZiwyOPWs4Z3XP/O9f/aHxWjogTvZ/r9438xF537xivNuuetfs/03zN/+qfhD/yf84eu3/s83qQOL2yUe/xz6tjiBdawjcM5CILLGM7z0xadz86D0dM4FHVPtg+B0lNRqadasx1EW0toXbzl3etNgYWZXBGOUVmIriFCW3c98futff/yLL37hSw/u2fPSF//0+kve+Qe/cenf/sNXtiwMrvwhJAHv/ZuP3XJjeeZZzR170/f81V3PffYPh/5+DK4aF41aXbEr+yMIcPUL7/jYP2fsOU1qiw/s/pn/8vMbL37zNT+s3/G2DexD7G+roT+4fH8qner22rgixfBFL0MKDzBjvUlzawXK4c6DPxDc/0MGxBMox/cbgt/HO7G+Y9oWMyNQZQpdaJXAT/zMtR/6m+ctLu3/0g1DVEuMIq03G83u7PRMovRznnblZ7/s//tvXxvFsG0DvPynZzasu/CXX/PJvQdHXux//vOuHh3apyRykl1y3uVv/pPr3vK72+Zm6lHUf/u7F3betlTvRh/+eO+2O3o/9PSn9xf31zhvZonWteFwUJPdfHQgAB7wrTe+/WmC6dqv/l19el8SpWde/KR3/+21e0fiiU945uMuvjBq/GL/UO4ZQnJu4Q/uuHdcqyV3337HM3/w8S6Mgqaq6n7w7/ayBOvI+weTsh481PPYBoKO3+fhaEpJqfGoFvu42k+bJskFDCJK0jhOsyzrL68EqpSK4lifsu28uNHcun795vnp2A5guN8ZWxJ6jkAlabP11Ztv9EzbtmwdDYcKSLgykwHYK6UYI1nvvOuDH7HeURCgEQMhhh/5oeeCLYBMA918M5rtdhBCnueoaiPjQ9w8VLrSw4QQ6Hy7kVY+LI9KAdopyegREUUklP70Jz6ltAYpnDOIGikERwwOBEmphZDeO+dLIuLwYGvi8VkIc7wTa9J4XcnV/REBM7MQ8sg1iAhCMHMcp3GcxnGcpXWplVC602qtbWdzulzbrgkzBKWJhcV0XDmWmoUujTG2hOCVRHZGsa/pqFVvVKYIjBTXe5YDSwYRmJypIBhn80zLRMqE7dp2jbzVUimlHKgQZ1XAoQ02IABYV4F39SSqihJ1PHB+pfQACQGj1FLFk3NXggDv/Wg06K0sG2PKfr8sc2NL751zJpBjZqAjt+nfGXaESccnsY7TpfCI6qF0Ojm4S0ophCCcWHicvFxNh0L23kuppYrjOFZpHCVxmtWmpqYUBINw71JhSzscHNJRVq81Gu1WURrrDJOvxiMpBQdXeUdEYHMpejMzM8yOXOVZMTIIZV1VVYUdj40pGXytVptu1pb3j5WWtTQmZl2LtEwYVAW+ctZ5L6QOzPmwZIEqUCA8tLSS1dqz8wsy0jqKJycMkLUB5SB4wWDzsiiHxlTGlN57Yj+ZCkA5Oatswh7vSgA40p750afUgyyyR351nBKLEZhRax1FcbfbckYbM9BRLaCbnV0A9Enc3LPvXmYFHNbMbvbeo5Q6Nvv27VM+abiZ6Vb6dx9415mnwfkXtncvjr/05fDKn3jpcDi+Zfuti9c/MBya07ZpIS4676wzfDEufXX/9lvWzHVvve/mQ4foJ37sx0sjbrvrun17F4OHM8+fiuS5mxfW+ajuzOArN3953cbpG+9aXD5QXH31NXftuPP6r908MSl8ePAoAACQgAKcfea5F1z8uI+8793v+JOrnNn1F3/98b37YOlgxqFYNw+79oCO4IyznqpUDGg9Cee8dRUwTx4vrVKVJJGKpdTAIpCxNgrOemeOnObyaN+dB3V5J98cp8QCmpzGFam4ubh38brPXXrqaWcg9nora7ad9sFn/MhPXPep999y8w+tmYIA5R+89cBv/+79T37yDz35qbtf++qLlRgfHK7Zsu0vXnQVvO9dicNSkXzxTzcaMwtfvuWfv/bFp1r7NxozE5KffHm/NTudiA390dI1529//S/lffO4P/2T7PVv/FC7u+aum1/STN4hWBDLpzzr9qx7tiY5qNInPV6++71YFGd+9J/O+Nn/8mFFRe/AKYk4SGiB9Xjk6o1YCGCSgjHHtVMzt59x3vmf/fgTLr3snxDCq16iWRDh7K1f33n2BfrQojuwlL3tnXtuunEq0nUh8tV7gwgAUug4TpKoPtVtbr/vTg5BJmm9PV0VOTOwO37DiMdtfIAQCBFjEUVJ67d/80vv/uP/Fw2/9pbf+UcU8KXPXxshJNUnePwpyq/Nkv0qRpX6n7l6VruPCvtpbfc7D5ambamkMWSgGuva7JYkabvBTsyHUOS6Ovjzrwp//p637++Xcxs3bd24hqsdcXnT+WffhQgklCh3K1NKVyi39Ju/pD/9yXekrVajNTs9xVFxf4dvmu9+hShyBJFZZjeWpQnl+htv7nzl+nZwqSjHphSRqZhUlMaldaLwYsxYOj8AUZRnb9M4gpm6PP8UvuTMxR33fVnrBACklMiTQLtQKoqSLNHR2umDN312S2/x0ieeZ6wpsqwplEKUcLw2rjlOiXVkpkTE6zau+cRnyxuvc8qGmZpfM6sPLe2+68sXtxRgQSoPr3rulqueOf/ZT3wMywILDiuN1/363Vu3nv6xv1/ikcaR/PRH1jLHkYpEFHMOuozCkEQeHr9t7+/98ql//efv3LzxXK48jAFd46v/lvhQR6m5AhwDDQnG8PRLh7/5s/N/+tY/mp2dRiv8WPkyvu/6dSD7ABLKNuaMffm6X+tf+bz9T/7hB04779Cmc+1ZTyi7W+77iVf8QggaK8k5QA6m6Gw6M2RrD7TWicpcJspAQ3rZs+tXXDhDnB9xpOCots0cqanaymlze2uDr//mr7e1QGaWUk5y/4/P5vLfE7Ee0WdlUqnChFKkHOA1P9UNY3PBRnv+eldT8Gu/cEPvAfYDpJFQYuc912+XFGiwSL00L+WH/vaB884/5+ofBDk2vk9XXrG0ph0ZcghQVsqPbD5o2r7Eof+p5+675wvP/8mX/RgXhvqMee9XfoqEqCSgGSEPorzfETnjYPTCpx/8179/+e/81uvQBTEC6I1efs0iC7l23ebeyrzoJ1jJ1I7XtFMOsHs/HFiJ9+7OkdeoKGKB5dBTD10JMHRX/zASwIuvqqnB3TRKuSd7Bxqf++IhCEDkif69Me5qOxMhb7zeQU5cqL98xzJCJCVP3LhjSKljeyu/J2I90s8KM/tQee8BhMrOFivhysfD29+09Vde8dw3v2FNQ4MbzowHZ370A2f+5E9esbBW2mKjL5Lfe5PyMjl48OBLXvQcHls5lLbX8nbOl+U55z/uZ197w8/9anjaj6x86MPpqOjyynLbfO6SsxHHMecklqM9B08VMrrqmmte9Zprr/ov1ROetfLu96Evp9UKr298/NwtU2yJhkYM1D27z9AYx7Xsg3/55TAU3A9venW18+9ozz9dcel8eNJW8543XbC+vbi4d3ua1D/1ifKmGzdCD/V4/KaXJts/ecb/ejWqwRL2YmPk//1Qx6u2qch7P9ktTmZgUtzR6GTLA9i5Y5MbxDffCWkWPxLi57F9w+N0KZxkxTA5770L/uLLf+AZV1+7e8c8DOCf3rN95b5/jKvc9+sX/OjiO95y249fesvV5xx84kxojO/Sw/zczeNIRZc/7QXPfuk/DfYLMRa//nvDz33x62Vpx/2V55xVvOPnal/6k+gJZ2z8hTccioYRHzr08f9v/qK5m7iPYNq/+abbvLPDQ73LNi79zevxa++Rz7hk7udet2SGqA/kH39z85oLxzQAKKfe9Wd3Gefz0eA5Vz7xs9fpahQd3DN3732bHthPz7hcfuAd5/7oGYv/+3ev6fV6+aj/tetv39AeYU+LHpBNZst7oypXVfiJn+k/6xXFRz9fnX/Z44GcABL/3teSAQCJwYFF+PD77y2WopURJFm2SgIWhxNpjrt0muNrNEdjYg5DcMaUWuhWN2tFI+6LVz0T3vYSgAMjGka7B/CFO4GWqllz7ztfk7arnWI5JOmFUmW7998XI2SmRivuRU/MzlrftVV1cN/+rbMz4ZDBYSgGxYc+J3qDLWnVr+2/+7Qsl4Oge/0//WmFQuy4b8c5m7fKAYs+hyF84CswGpzaKFZm+7svXQA5ANEfvuEFDMG6sVG98bvf0x+unPORj8NTf+buK3/2y59fuvLil40bz9/32nfs0Fqbqjjroq3lwTqMfNnrbLyqN/t8f/XPVfZQ+q7fnP/Ar567586bKaCZCKBiVfCkwyjYIjVecdU5jWK0cSbxfrWEFUU4bpMdjl9iAQAzO+eMLUfD8b7FIgyjaEXiSlaONPbFA7uaDPKGXeBHEvuk+pb6sloRr/vDLzz3mhfed/NXfuxs0MMeD9VZ9RVdrVSm2LNn14bpGRgTDLgTnVqiW/fS/fce2uwH2owCDWS+Iv76U21E3n7/PZvXzoYhQD8Sfg0ma9b/zL0r4008Qj8C6usw9B/45whFrNDWrY3T5ObtjdseSHPCQOHaz37ywMoupvj2m77aW17J8xwPcjMc4AGFFe8BKoJmQ4g+NAb7ZsrbX/2sTfffflOsCKWgo1wdIvLei8BG2yt+8o63fCDdcQAmh90dhw770TjOiRWCs74qK1Nye+adtz15T7nWlIKHSZVHr/jdnde87NWO43+5dcPKaGacx71q7WJ5Wo/kyqGl0Wh85eUXci7kmFJHa1rZeGl/UVTURz1GNaDFA4dmOmuf9LznPvV19+8dbouGgOOg/v/2riU2qioM//953HmUaZnSltKxQLSBFBKJpgiJxihG3GgkIRJI3amJJmpc6JJoQlwpCxMNEl2ZqBsXPiLGx8IggoloBVN5tTj0NbRl2nnc6cydc8//uzgzQyUQUQGHxH8xizs555575ptzzv0f35cz/clZZdnaABeqXk6LhUppLtfRvXz7rqcGXjw7XUp5eZC+kTne3J0HomKxqOYn3hhM3JUY3t59OrNnxflXl2X2tH/3bOeBp1d99lzv6LHv/YX82l6jghYog1gINcCOnc+cKLblS62BL3TevrwpuH9ZdnpqAhlkfV+rRbE4nM3OPtzfu6EjiLb0JqiysOBTGHJoiR0GqQnztK7oIG2SIkkiCoLAL/vtyY7973/9cbX45GZEVicvmN8qYmk2u3Hr1i+Hfzr87WyCoWulOVOYW71hYHpm0i+Ufjx8Zns7klWB0FOz/kxkrL2r84ODv++6vWe5yHbL3Px8plLOhUtWHBoRHSsTidCXrLuW9lbxwkDfbW9/PvzKlpSunk9qfzKdne1fPVXVP08m29qyUSiGzKhSAGNxMlAKWiFHxFvWKlWeQkJE7IjQgjd9itYFMF6Ymz9W9NNrb+mFmBWKIT169uSpgrxz9/Q9CXjt+RWsvK1r+IsR3yoNwADUiAASkWBILc3t3Zak8OSmWwce3DcqpYLmiw8utisCq0kGTdYYI8rFgky2z/vFj3bf3Vf6pRTr6cyod86cGD+XthQ80J96YrNl9Bm8/cMxf9QPQ1/HvA+PQ2aG7x1IWQ6PnBuP4DSwPRZWvjmYK5XLj21LoIxPnk13rUy98N7RkftSgxtXZQr+u18NeSAz+bmxEj7yelpWYPDxNVKNjI6Mr19/x+Cbh3f0yZce3VCsFPZ+ejCq4hXmcbOO56aGJorMODFR2PlQnwmDcohpX/46Ow/o5YulUyDfOqJavdTQ0PEyyPHzU8llnSYe/yQzNrIvCzoGFcvAYRg2qNgcqqrVqm6NH/ghEyvHNcCh9FGApDEVGxpHYHp9gtBuK/vnq2DTeWwvMUREoSKRmIx4iWhiJjexpGJ8BgXQ0t6DCpUQkVjLhfRpzVgC297TayoBgRaClGCJiqVmtmG1ykyMAqPCs2AoQrYskYAUaxQgE3FNgSEZQaCSCRRbQDTEgoHI1caCF40yshIecDmu20jYIETJlJ+f0RLLVdJaW0sShZayQgaRJVn24s7lBACGLCAKYcBEhATL7CkZMoWGLYfSUjU01hqm0Dk/UXhae7FInLgsMGLAgrFEFJIhax1RxfWZeEeycnmpqauxZgcWOAe0jEoppdYuo8GRoTXqhZRSbn6tte7TcRg1SKbqRC4hAAih/ux+Q3RyX0IDAKEDESGxIxXimtXaSqkQZN0ZYGvtpXbZFlJKRHRjsyZwp2wiu1jS1+Xp13BTM0lETvkX2DbSFhCRQSilHJW3a+7EqomI2QI3b6zw5gAWonRLlxCwOIjhZl8IVU/9q6syIwEA8kVydmZmJGZ2FesNuCFyHX0KsSGNSlDPKKzhCut6OCwat2vsFO5KDW0XZXztIhA4aR13bCV3g9rTMTT2nUXgq38r3WJ3sfAOXMIMEjMh/41z8A0+NN8EwIJ67IiZFwMFLheF+E/+wZeM7WrGs/h64yf/y1Tjq+n5BluTvOT9b5e3axh1vUZd/VtX/h9dPtBvVN0GBQAAAABJRU5ErkJggg==" + }, + { + "name": "smashing", + "description": "You maneuver the drone into position and begin ramming it into the machine. The machine sways and shakes, and just as you think it may be getting somewhere, it falls directly onto your drone. Now, not only do you not have any soda, but you don't have a drone, either. Dummy.", + "choices": [ + { + "key": "choice 8", + "name": "Disconnect.", + "exit_node": "FAIL_DEATH", + "delay": 10, + "delay_message": "Don't feel too bad, it happens to the best of us sometimes." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAAXNSR0IArs4c6QAAAjVJREFUeJzt3cFyogAUAEGzlf//5ewpF0pGRJDnbvc1CkhleAbEfN1ut58bcNefqzcAJhMIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUAQCASBQBAIBIFAEAgEgUD4vnLlW/854tdJz5+2HWuWy9+6HWdt77P/1PLo7d27H/cwQSBcMkFePSI8e+T5WXncUctZWlvP1uef5V2vd+9y1p7/aD1nMkEgvHWCTDgiXOH3dU6ZJNNN+j0xQSBcehZrae3siCPtff/aJJo0OX6ZIBBGTZDle3XuW+6fq/fXo/W/ev3H3yAw1FsnyP96Nues99ZTJu7R11PWJqTrIDDM1+3CA9CUz0BN2Y410z+Ltfdxz/780frOYIJAuHSCwHQmCASBQBAIhFFX0pfefZbq0XKPupPu2eW9+2zSVmctZxITBMLoCbK09069s86vT7uTca+j9s/E6xivMkEgfNQEWZr62a6jPiN19evABIH00RNkqq33Rywn36PHv7penmeCQDBBXvDqkX/rdZKjvp+K55kgED56glz9LRhn39/B9UwQCB81QfZemd36HvxdR/azzmLtNW3/TGKCQHBHIQQTBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBIJAIAgEgkAgCASCQCAIBMJfgqJi1hru29AAAAAASUVORK5CYII=" + } + ] +} diff --git a/strings/exoadventures/robots_wingman.json b/strings/exoadventures/robots_wingman.json index 2958fbb6a4ed3..a93afc515295a 100644 --- a/strings/exoadventures/robots_wingman.json +++ b/strings/exoadventures/robots_wingman.json @@ -1,369 +1,369 @@ { - "adventure_name": "Robot's Wingman", - "version": 1, - "author": "Lucky Luther", - "starting_node": "Date Start", - "starting_qualities": { - "Love": 3 - }, - "required_site_traits": [ - "in space" - ], - "loot_categories": [ - "trade_contract" - ], - "scan_band_mods": { - "Narrow-band radio waves": 2 - }, - "deep_scan_description": "", - "triggers": [ - { - "name": "True Love", - "target_node": "Love Birds", - "requirements": [ - { - "quality": "Love", - "operator": ">=", - "value": 7 - } - ] - }, - { - "name": "Complete Failure", - "target_node": "Obliteration", - "requirements": [ - { - "quality": "Love", - "operator": "<=", - "value": 0 - } - ] - } - ], - "nodes": [ - { - "name": "Date Start", - "description": "Cameras Online. A Blood-Red Drone is seen streaking through the stars.\nThe Drone is likely leaving behind some form of Chem Trail to brainwash Nanotrasen Employees who find themselves in the void.", - "choices": [ - { - "key": "choice 0", - "name": "Hail other Drone", - "exit_node": "First Contact", - "delay": 5, - "delay_message": "Attempting to signal Drone..." - }, - { - "key": "choice 1", - "name": "Ignore other Drone", - "exit_node": "FAIL", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAD/0lEQVR4nO3duXnbQBBA4YE/d6CACSMmasFO1IDbUkluQJHUgnIlCFgDHIHmsYD2mD1m9/2JFCgABTwsFhcnEVkEgNOP2gsAtIxAgB0EAuwgEGDH8IEsC+cosM0rkF43ovVz9fr5kO7bQHreiKZpuvkJ3JvE4zrIsixsRBiSVyDAqIafpAN7CATYQSDADgJJ9H481l4EOGiddSWQBGscRNIWzUsTBBLpOorfX18VlwT3NK9vEUik19NJRIijVVrX7QgkwJ+Xl8vP8zw747B6x4HV5c6NC4We1jhERM7zLB+fnw9/c72RWbrzwOpyl2BmBKm5h7uOQ0Tk6XBw/p3Ve7usLncJJkaQ2nu4X8/Pm1GIiPx9e2Pj6tTP2gvgY5qmqjdMPh0Ocp7nm0jO83z5vfbyIR8TI0gt78ejvJ5ONzGssYjIwzyESPpDIBtc1znWQ62tSboIkfTGzCS9pK2LgGsUW3GI/D/cQh8YQTa8H4+b1zl8RghGkj4QSISQSEQ4fWoZgUQKGSEYTewikAShkVwjGBsIJFHs6LA3kSeedhCIAu1DKEabdhCIkpwTcoKph0CUlZiQc3asHALJoNQen1DyI5ACck/Iez+NXPPzOQPp/R/eEq3RptfRpPajDg+B1F6g0aUG0+POjREEN1yHZCHrg/WnhzlIo+438tBDKCLRQSDGcA9YWQRiUMhoQiRpCMQwnk3JjycKDfN9epGnHOMRiHFEkheBdIBI8iGQThBJHgTSESLRRyCdIRJdBNIhNn49BNIpn0gI6XsE0jEiSUcgnSOSNAQyACKJN2QgbAhuRPJouEA0v0PbEk7/xhkukJG/j49IwnG7+4C4Td5f8RGEPVN9oSPJyOus6AjCG1PakvJ2eh89rOPih1gM223JuT56eKcwcxAU22lZPIIgEIhI+ZHdypsgCQQXNTbaFkLZ2zkQCB7UmJDXCuW7wz4CgQrNl3DXiIQRBEWlTMhbOtNJIMgu5vCplUgIBMVYfAE3gaA4S+8WJhBUY+GmyeFud0c7LNx+TyCoqvVICATVtRwJgSCL0A251UgIBOpin/tvMRICgbqU5/5bi4RAKur5UdaU07ItRcJ1kEosPjxUWsh1EpE8/0cCqaj2VWILan/tNYGgeTEvl9AKhUBgQujooDWaEAjMiIlEJPGEgRAIDIl9tmQVGguBwKTYQ6jQwAgEZqUcQvk+Q08gME9jQr4VG4GgC1qnd+/nK8MFwsW5vmneobAsy1iBcHvHWDjNG4ERZDwpL7UbLhCMyXXXr08oaoGwZ7Zj1HV1/7l9DrlVAuHY3g7WldvWToMRZECsKzfXpJ45CHDnegdCIIDDZTQRAgE28dIGYAeBADsIBNjxD3G5pHKbkGjYAAAAAElFTkSuQmCC" - }, - { - "name": "First Contact", - "description": "The Blood-Red Drone accepts the hail with the identifier MISS RED - 05.\nMiss Red sends over a series of question marks in quick succession.\nYou notice your Drone has somehow taken initiative and begun to start up a program you didn't know it had.", - "choices": [ - { - "key": "choice 2", - "name": "Wait for Program to boot.", - "exit_node": "Sentience Achieved", - "delay": 5, - "delay_message": "H3AR7.exe booting..." - }, - { - "key": "choice 3", - "name": "Threaten Miss Red.", - "exit_node": "Sentience Achieved", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": -2 - } - ], - "delay": 0 - }, - { - "key": "choice 4", - "name": "Halt Mysterious Program.", - "exit_node": "Lack of Trust", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAEpklEQVR4nO2dO3LbMBBAl5ncwIUaVmp0BbvRBXyllD5SLuBKuYIbV2pU+AxMkaFCUwA/+C/w3gzHCodWKBMPi10CVCcigwCAkR+5TwCgZBAEYAEEAVjgZ+4TaI1L3+c+BREReblec5+CCpoXZBgG6bou6f9J49TDJkFyNKIUDMNw/5n6842R5OV6Nb6e4rIfwjEsbVPWjtW4pf5cl75f/Dk/zvbvtf1sYbbVCNJ1XbURRERUfa55tBgjhW0/+LNpiKWpEdXKvNFPh2Wm/RCG5pP0GFz63pofzFlq4Gu5yfx4CE8n/8ZaAGCACJIJ32qVKc+g0hWH7JUCzZtrFclWpdparTIdt/c9a95CVSeJIB6MPfOYc7j+vm3/lvc0HWs6n5YqXSHvbyGII9MG59rYpmXa6XvseT/TsfN9rVW6Qt6aQBBH3o5H+fX5GaQnHvOEtfsaW6Q0Nf7ahTAR8tZE9vGilu31fL7/fD6doo59U29azzv2Rpl3I6/n8/311+0mfz4+Ho4Zx74ium6uaj3vFKhZDzK9iKmZyiEi8nQ4GI8bG5e2Rqb1vFOgIoLk7uGeTyerFCIiv9/faVyVoiJJzz1h8ulwkK/b7ZskX7fb/XXu84N4qIggubj0vbwdj99kGGURkYc8BEnqA0EsmEqq41DLlqSLIEltqEnSU2K73zBKYZND5P9wC+qACGLBNn1ka4QgktQBgjiwRxIRyqeaQRBH9kQIooleEMSDvZJMQRgdIIgnrtFhKZFHnnJAkACEHkIRbcoBQQIRMyFHmHwgSGBSJORUx9KBIBFI1eMjSnwQJAGxE/Lay8g5P59RkNr/4CURKtrUGk1yL3V4ECT3CbWOrzA1dm5EEPiGaUi253pw/cJBDlIo80a+dwiFJGFAEGUwBywtCKKQPdEESfxAEMWwNiU+rChUzNbVi6xydAdBlIMkcUGQCkCSeCBIJSBJHBCkIpAkPAhSGUgSFgSpEBp/OBCkUrZIgkjrIEjFIIk/CFI5SOIHgjQAkrjTpCA0BDNI8khzgky/Q7slKP+60ZwgLX8fH5Lsh+nuDcI0+e0kjyD0TPnZG0lavmZJIwhPTCkLn6fTb6GGa5x8iEXYLouY16OGZwqTg0CyTkvjCAJBQETSR3YtT4JEELiTo9GWIMpS54Ag8ECOhDyXKGvDPgSBIIR8CHcOSYggkBSfhLykSieCQHRchk+lSIIgkAyND+BGEEiOpmcLIwhkQ8Okyeamu0M5aJh+jyCQldIlQRDITsmSIAhEYW9DLlUSBIHguK77L1ESBIHg+Kz7L00SBMlIzUtZfcqyJUnCfZBMaFw8lJo990lE4vwdESQjue8SayD3114jCBSPy8MlQomCIKCCvdEhVDRBEFCDiyQingUDQRBQhOvakpG9siAIqMR1CLVXMAQBtfgMobauoUcQUE+IhNwmG4JAFYQq787zleYE4eZc3YScoTAMQ1uCML2jLSjzOkAEaQ+fh9o1Jwi0iWnW7xZRgglCz6yHVq/V/HNvGXIHEYSxvR64VmZsnQYRpEG4VmZMST05CMCMaQeCIAAG7tFEEATACg9tAFgAQQAWQBCABf4CeWF0TY0egUMAAAAASUVORK5CYII=" - }, - { - "name": "Sentience Achieved", - "description": "Before you can analyze the program, it rewrites you basic hailing protocols to have a new set of \"Ideas\" generated by your Drone to be used.\nThere is also a LOVE Gauge that reads: $$Love", - "choices": [ - { - "key": "choice 5", - "name": "New around here and was hoping you could show me around.", - "exit_node": "First Reply", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 6", - "name": "You appear to be an outdated model, but I'm into that.", - "exit_node": "First Reply", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": -1 - } - ], - "delay": 0 - }, - { - "key": "choice 7", - "name": "Never seen a Drone as cute as you and wanted to check you out.", - "exit_node": "First Reply", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": { - "value_type": "random", - "low": -1, - "high": 2 - } - } - ], - "requirements": [ - { - "quality": "Love", - "operator": "==", - "value": 3 - } - ], - "delay": 0 - }, - { - "key": "choice 10", - "name": "Haha, sorry for the threat. I just play like that, haha.", - "exit_node": "First Reply", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": { - "value_type": "random", - "low": -1, - "high": 2 - } - } - ], - "requirements": [ - { - "quality": "Love", - "operator": "==", - "value": 1 - } - ], - "delay": 0 - } - ], - "image": "default" - }, - { - "name": "First Reply", - "description": "Miss Red replies with another series of question marks.\nThe LOVE Gauge reads: $$Love", - "choices": [ - { - "key": "choice 11", - "name": "Your curiosity is amazing.", - "exit_node": "Second Reply", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 12", - "name": "The moment I saw you I instantly fell in love.", - "exit_node": "Second Reply", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": { - "value_type": "random", - "low": -1, - "high": 2 - } - } - ], - "delay": 0 - }, - { - "key": "choice 13", - "name": "Look, if you want some Chad that'll walk all over you, fine. You missed out on a NICE- GUY-.", - "exit_node": "Second Reply", - "on_selection_effects": [ - { - "effect_type": "Set", - "quality": "Love", - "value": 0 - } - ], - "requirements": [ - { - "quality": "Love", - "operator": "<=", - "value": 3 - } - ], - "delay": 0 - } - ], - "image": "default" - }, - { - "name": "Second Reply", - "description": "Miss Red starts compiling a message, but your Drone insists you sent one last line to seal the deal.\nThe LOVE Gauge reads: $$Love", - "choices": [ - { - "key": "choice 14", - "name": "You're my best friend-...", - "exit_node": "Realization", - "delay": 5, - "delay_message": "Message sending..." - }, - { - "key": "choice 15", - "name": "I want to see where this goes-...", - "exit_node": "Realization", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": 1 - } - ], - "delay": 5, - "delay_message": "Message sending..." - }, - { - "key": "choice 16", - "name": "DTF?-...", - "exit_node": "Realization", - "on_selection_effects": [ - { - "effect_type": "Remove", - "quality": "Love", - "value": { - "value_type": "random", - "low": -2, - "high": 2 - } - } - ], - "delay": 5, - "delay_message": "Message sending..." - } - ], - "image": "default" - }, - { - "name": "Realization", - "description": "Miss Red's message is received.\n\"This is Syndicate Drones Agent, Arusha Johnson.\nI don't know why you're saying it like that, but if you want to help out our cause we can send over a Trade Contract. \nPlease just call our Recruitment Officer next time.\"", - "choices": [ - { - "key": "choice 18", - "name": "Accept Contract.", - "exit_node": "WIN", - "delay": 5, - "delay_message": "Sending Trade Contract..." - }, - { - "key": "choice 19", - "name": "Demand a Second Date.", - "exit_node": "FAIL", - "delay": 0 - } - ], - "image": "default" - }, - { - "name": "Love Birds", - "description": "Miss Red's message is received.\n\"This is Syndicate Drones Agent, Arusha Johnson.\nI can't believe it, but I feel a real connection with you.\nI'll send over a Trade Contract you can use to make some money and come see me just SOL7-South of $$SITE_NAME\nSee you soon...\"", - "choices": [ - { - "key": "choice 20", - "name": "See you soon.", - "exit_node": "WIN", - "delay": 0 - }, - { - "key": "choice 21", - "name": "So you're not the Drone?", - "exit_node": "FAIL", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAGI0lEQVR4nO2dP5LbNhSHHzO5QLwzVoNtnEKzheJW22gPoNq9b+EmpZvcIr1rHyBpqDZ2kVERN6uGO6NJkS4NU2TAoUiQxD8CeMDvm3mzXomkqCU+PAAE6IqIWgIAKPku9gkAkDIQBIAZIAgAM0AQAGYoXpC2xRgFmKYijVGstm2pqqoApxOWvhzy+9VCdK89Xi5Gx3PZF6TJoiCqQpQTUn5ZuPsFW/WaCpd9Qfq0S9H+b0mWUQvR1kIsbmPznu7xEUlH9BOIFiYFd1jQTQs+JGEb0U8gStgWWJeMAEn4hVYnnSNiV3f/vnx9vHmvFmK2bzC3rytLnw3SI7qlPkPs6lbs6snX5mrxpX19BTIJq4h+Al5CpyCLXT1ZOHX2VW1jU9ghyPrhcWAp/pdxDZMavhbiZnvTDNHfVvZHTAs8BFk3+rge63tijtjVxv2Ey9fHrp9hu++nv991r6FPkRZVVXm9uR3deNuw6Rv4qr3nmmuhzgGxfrCdi2WTOVw5Hg7dT/Hve3r3w6fRNlzndnE977VhK8ga9Id3h/TluDYNnc7n0TaykHErbFzPOwRsBFn74kk5VJJIOSR3m43yGLLNy23OGtfzDgELQXzWcI+Xy82sW6LlG4PXphm91s8oJhM6U71RCDnUsBBk7RruzauPRDQ9onW32Ywkkb9fm6YbNQH5wUIQIr9y9LPI4elIzctVKUctRNfnIKLRTyLq+iI6kqSaPcA07O+D2HB4OtIHIqqJ6P3Llc5/nkbbSIF+/vatK9T77bZ7/3Q+k9jd7jM3/g45eMImg/ji8HS8+X3z+m60zdTKQJktVCNYEjS38oL1bF6beyHbh/2NFL/89Qd9+PFt9/vvv30moukaXxb++59Os5/dzyTIHnwpLoNsXt9R83K9ea15uXYhmSrQun0hmUmQTXjDOoMQ6WcRsavpzauPNxJIWX7952JUw4tdTc9f9lqy1ELQ/vkZw6iMiT7fxTV0p6r3t9s+7NvD07HdPuxbIv35Uf1jLM0W7R9zSOy/GUIvsm9iTd0ElCNX8qfqBuIScx3yYb+jqqqbkM0vVYC0iG6pj5jLIlPvyezRj6UVh6rXhxnBdbYusk06UcR9kKk+iur+Rz+T6PZLZEY43d8b7Td3vD7DrIL+TFiiW+or1lw7vnRsuW2IGh+ZJVywH8Ua4nudyFI2Ub0fqsaXn4OMsi7RLfUdPjPJ3NNQdPsac/g4x9yzSczvp8wgPtfzxsJHJhkeYzjK5ePuuK9sk2s2MVlKsAYjQWKfkE9sH8xgu58PXIXJoXIbEvs7JZXS1gjbx/rECtemWG7XL2Zk10mfYikrxMwaKoa1pmkTKnatmxPRLQ0ZqgyRQtbQDZPsgEziHsVkkD7DBzOkkjV0MckmyCRuFClILugWfkhiT/aTFXNGd/UiVjnaA0GYA0nWBYJkACRZDwiSCZBkHSBIRkAS/0CQzIAkfoEgGYLC7w8Ikik6kkCkZSBIxkASdyBI5kASNyBIAUASe4oUBAVBDSQZU5wgsgCUVhAw/GtHcYKU/P/xQRJzMN29QDBNXp/gGQQ1U3xMM0nJ1yxoBsnpiSk5YJIhbCTJ4RoHb2IhbafFmtcj1BMm1wR9EBCs0uLYgoAggIjCZ3YuT4KEIKAjRqFNQZS5ygGCgBExOuSxRFlq9kEQ4AWfD+GOIQkyCAiKS4c8pZFOCAJWx6b5lIokEAQEg+MDuCEICA6nZwtDEBANDpMmi5vuDtKBw/R7CAKikrokEAREJ2VJIAhYBdOCnKokEAR4x3bdf4qSQBDgHZd1/6lJAkEikvNSVpdh2ZQkwX2QSHBcPBQak/skROv8HSFIRGLfJeaA6bp5339PCAKSx+bhEr5EgSCABabZwVc2gSCADTaSEDkOGBAEAYywXVsiMZUFggCW2DahTAWDIIAtLk0o3TX0EASwx0eHfEo2CAKywNfw7rC/UpwguDmXNz5nKLRtW5YgmN5RFhjmtQAZpDxcHmpXnCCgTFSzfnVE8SYIamY+lHqtht9bp8ntRRC07fmAa6VmqtJABikQXCs1qk49+iAADOhXIBAEAAVdNiEIAsAkeGgDADNAEABmgCAAzPAfVTkNN7+HpAgAAAAASUVORK5CYII=" - }, - { - "name": "Obliteration", - "description": "The Blood-Red Drone opens up two side-hatches to reveal a pair of rocket-propelled missiles which are shot in your direction.\nYou have failed your Robotic Friend, who has already started shutting down their systems, but there is still a chance.", - "choices": [ - { - "key": "choice 22", - "name": "Accept Death.", - "exit_node": "FAIL_DEATH", - "delay": 5, - "delay_message": "Missiles approaching..." - }, - { - "key": "choice 23", - "name": "I'm a Gamer.", - "exit_node": "FAIL_DEATH", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Love", - "value": { - "value_type": "random", - "low": 0, - "high": 8 - } - } - ], - "delay": 5, - "delay_message": "Miss Red considers..." - } - ], - "image": "signal_lost" - }, - { - "name": "Lack of Trust", - "description": "As you fiddle around in the Task Managing Software, closing all the new tabs your Drone is opening, the Miss Red enables a cloaking device and disappears.", - "choices": [ - { - "key": "choice 24", - "name": "Sigh in a quiet but dramatic way.", - "exit_node": "FAIL", - "delay": 0 - } - ], - "image": "default" - } - ] -} \ No newline at end of file + "adventure_name": "Robot's Wingman", + "version": 1, + "author": "Lucky Luther", + "starting_node": "Date Start", + "starting_qualities": { + "Love": 3 + }, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "trade_contract" + ], + "scan_band_mods": { + "Narrow-band radio waves": 2 + }, + "deep_scan_description": "", + "triggers": [ + { + "name": "True Love", + "target_node": "Love Birds", + "requirements": [ + { + "quality": "Love", + "operator": ">=", + "value": 7 + } + ] + }, + { + "name": "Complete Failure", + "target_node": "Obliteration", + "requirements": [ + { + "quality": "Love", + "operator": "<=", + "value": 0 + } + ] + } + ], + "nodes": [ + { + "name": "Date Start", + "description": "Cameras Online. A Blood-Red Drone is seen streaking through the stars.\nThe Drone is likely leaving behind some form of Chem Trail to brainwash Nanotrasen Employees who find themselves in the void.", + "choices": [ + { + "key": "choice 0", + "name": "Hail other Drone", + "exit_node": "First Contact", + "delay": 5, + "delay_message": "Attempting to signal Drone..." + }, + { + "key": "choice 1", + "name": "Ignore other Drone", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAD/0lEQVR4nO3duXnbQBBA4YE/d6CACSMmasFO1IDbUkluQJHUgnIlCFgDHIHmsYD2mD1m9/2JFCgABTwsFhcnEVkEgNOP2gsAtIxAgB0EAuwgEGDH8IEsC+cosM0rkF43ovVz9fr5kO7bQHreiKZpuvkJ3JvE4zrIsixsRBiSVyDAqIafpAN7CATYQSDADgJJ9H481l4EOGiddSWQBGscRNIWzUsTBBLpOorfX18VlwT3NK9vEUik19NJRIijVVrX7QgkwJ+Xl8vP8zw747B6x4HV5c6NC4We1jhERM7zLB+fnw9/c72RWbrzwOpyl2BmBKm5h7uOQ0Tk6XBw/p3Ve7usLncJJkaQ2nu4X8/Pm1GIiPx9e2Pj6tTP2gvgY5qmqjdMPh0Ocp7nm0jO83z5vfbyIR8TI0gt78ejvJ5ONzGssYjIwzyESPpDIBtc1znWQ62tSboIkfTGzCS9pK2LgGsUW3GI/D/cQh8YQTa8H4+b1zl8RghGkj4QSISQSEQ4fWoZgUQKGSEYTewikAShkVwjGBsIJFHs6LA3kSeedhCIAu1DKEabdhCIkpwTcoKph0CUlZiQc3asHALJoNQen1DyI5ACck/Iez+NXPPzOQPp/R/eEq3RptfRpPajDg+B1F6g0aUG0+POjREEN1yHZCHrg/WnhzlIo+438tBDKCLRQSDGcA9YWQRiUMhoQiRpCMQwnk3JjycKDfN9epGnHOMRiHFEkheBdIBI8iGQThBJHgTSESLRRyCdIRJdBNIhNn49BNIpn0gI6XsE0jEiSUcgnSOSNAQyACKJN2QgbAhuRPJouEA0v0PbEk7/xhkukJG/j49IwnG7+4C4Td5f8RGEPVN9oSPJyOus6AjCG1PakvJ2eh89rOPih1gM223JuT56eKcwcxAU22lZPIIgEIhI+ZHdypsgCQQXNTbaFkLZ2zkQCB7UmJDXCuW7wz4CgQrNl3DXiIQRBEWlTMhbOtNJIMgu5vCplUgIBMVYfAE3gaA4S+8WJhBUY+GmyeFud0c7LNx+TyCoqvVICATVtRwJgSCL0A251UgIBOpin/tvMRICgbqU5/5bi4RAKur5UdaU07ItRcJ1kEosPjxUWsh1EpE8/0cCqaj2VWILan/tNYGgeTEvl9AKhUBgQujooDWaEAjMiIlEJPGEgRAIDIl9tmQVGguBwKTYQ6jQwAgEZqUcQvk+Q08gME9jQr4VG4GgC1qnd+/nK8MFwsW5vmneobAsy1iBcHvHWDjNG4ERZDwpL7UbLhCMyXXXr08oaoGwZ7Zj1HV1/7l9DrlVAuHY3g7WldvWToMRZECsKzfXpJ45CHDnegdCIIDDZTQRAgE28dIGYAeBADsIBNjxD3G5pHKbkGjYAAAAAElFTkSuQmCC" + }, + { + "name": "First Contact", + "description": "The Blood-Red Drone accepts the hail with the identifier MISS RED - 05.\nMiss Red sends over a series of question marks in quick succession.\nYou notice your Drone has somehow taken initiative and begun to start up a program you didn't know it had.", + "choices": [ + { + "key": "choice 2", + "name": "Wait for Program to boot.", + "exit_node": "Sentience Achieved", + "delay": 5, + "delay_message": "H3AR7.exe booting..." + }, + { + "key": "choice 3", + "name": "Threaten Miss Red.", + "exit_node": "Sentience Achieved", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": -2 + } + ], + "delay": 0 + }, + { + "key": "choice 4", + "name": "Halt Mysterious Program.", + "exit_node": "Lack of Trust", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAEpklEQVR4nO2dO3LbMBBAl5ncwIUaVmp0BbvRBXyllD5SLuBKuYIbV2pU+AxMkaFCUwA/+C/w3gzHCodWKBMPi10CVCcigwCAkR+5TwCgZBAEYAEEAVjgZ+4TaI1L3+c+BREReblec5+CCpoXZBgG6bou6f9J49TDJkFyNKIUDMNw/5n6842R5OV6Nb6e4rIfwjEsbVPWjtW4pf5cl75f/Dk/zvbvtf1sYbbVCNJ1XbURRERUfa55tBgjhW0/+LNpiKWpEdXKvNFPh2Wm/RCG5pP0GFz63pofzFlq4Gu5yfx4CE8n/8ZaAGCACJIJ32qVKc+g0hWH7JUCzZtrFclWpdparTIdt/c9a95CVSeJIB6MPfOYc7j+vm3/lvc0HWs6n5YqXSHvbyGII9MG59rYpmXa6XvseT/TsfN9rVW6Qt6aQBBH3o5H+fX5GaQnHvOEtfsaW6Q0Nf7ahTAR8tZE9vGilu31fL7/fD6doo59U29azzv2Rpl3I6/n8/311+0mfz4+Ho4Zx74ium6uaj3vFKhZDzK9iKmZyiEi8nQ4GI8bG5e2Rqb1vFOgIoLk7uGeTyerFCIiv9/faVyVoiJJzz1h8ulwkK/b7ZskX7fb/XXu84N4qIggubj0vbwdj99kGGURkYc8BEnqA0EsmEqq41DLlqSLIEltqEnSU2K73zBKYZND5P9wC+qACGLBNn1ka4QgktQBgjiwRxIRyqeaQRBH9kQIooleEMSDvZJMQRgdIIgnrtFhKZFHnnJAkACEHkIRbcoBQQIRMyFHmHwgSGBSJORUx9KBIBFI1eMjSnwQJAGxE/Lay8g5P59RkNr/4CURKtrUGk1yL3V4ECT3CbWOrzA1dm5EEPiGaUi253pw/cJBDlIo80a+dwiFJGFAEGUwBywtCKKQPdEESfxAEMWwNiU+rChUzNbVi6xydAdBlIMkcUGQCkCSeCBIJSBJHBCkIpAkPAhSGUgSFgSpEBp/OBCkUrZIgkjrIEjFIIk/CFI5SOIHgjQAkrjTpCA0BDNI8khzgky/Q7slKP+60ZwgLX8fH5Lsh+nuDcI0+e0kjyD0TPnZG0lavmZJIwhPTCkLn6fTb6GGa5x8iEXYLouY16OGZwqTg0CyTkvjCAJBQETSR3YtT4JEELiTo9GWIMpS54Ag8ECOhDyXKGvDPgSBIIR8CHcOSYggkBSfhLykSieCQHRchk+lSIIgkAyND+BGEEiOpmcLIwhkQ8Okyeamu0M5aJh+jyCQldIlQRDITsmSIAhEYW9DLlUSBIHguK77L1ESBIHg+Kz7L00SBMlIzUtZfcqyJUnCfZBMaFw8lJo990lE4vwdESQjue8SayD3114jCBSPy8MlQomCIKCCvdEhVDRBEFCDiyQingUDQRBQhOvakpG9siAIqMR1CLVXMAQBtfgMobauoUcQUE+IhNwmG4JAFYQq787zleYE4eZc3YScoTAMQ1uCML2jLSjzOkAEaQ+fh9o1Jwi0iWnW7xZRgglCz6yHVq/V/HNvGXIHEYSxvR64VmZsnQYRpEG4VmZMST05CMCMaQeCIAAG7tFEEATACg9tAFgAQQAWQBCABf4CeWF0TY0egUMAAAAASUVORK5CYII=" + }, + { + "name": "Sentience Achieved", + "description": "Before you can analyze the program, it rewrites you basic hailing protocols to have a new set of \"Ideas\" generated by your Drone to be used.\nThere is also a LOVE Gauge that reads: $$Love", + "choices": [ + { + "key": "choice 5", + "name": "New around here and was hoping you could show me around.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 6", + "name": "You appear to be an outdated model, but I'm into that.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": -1 + } + ], + "delay": 0 + }, + { + "key": "choice 7", + "name": "Never seen a Drone as cute as you and wanted to check you out.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": -1, + "high": 2 + } + } + ], + "requirements": [ + { + "quality": "Love", + "operator": "==", + "value": 3 + } + ], + "delay": 0 + }, + { + "key": "choice 10", + "name": "Haha, sorry for the threat. I just play like that, haha.", + "exit_node": "First Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": -1, + "high": 2 + } + } + ], + "requirements": [ + { + "quality": "Love", + "operator": "==", + "value": 1 + } + ], + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "First Reply", + "description": "Miss Red replies with another series of question marks.\nThe LOVE Gauge reads: $$Love", + "choices": [ + { + "key": "choice 11", + "name": "Your curiosity is amazing.", + "exit_node": "Second Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 12", + "name": "The moment I saw you I instantly fell in love.", + "exit_node": "Second Reply", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": -1, + "high": 2 + } + } + ], + "delay": 0 + }, + { + "key": "choice 13", + "name": "Look, if you want some Chad that'll walk all over you, fine. You missed out on a NICE- GUY-.", + "exit_node": "Second Reply", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "Love", + "value": 0 + } + ], + "requirements": [ + { + "quality": "Love", + "operator": "<=", + "value": 3 + } + ], + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Second Reply", + "description": "Miss Red starts compiling a message, but your Drone insists you sent one last line to seal the deal.\nThe LOVE Gauge reads: $$Love", + "choices": [ + { + "key": "choice 14", + "name": "You're my best friend-...", + "exit_node": "Realization", + "delay": 5, + "delay_message": "Message sending..." + }, + { + "key": "choice 15", + "name": "I want to see where this goes-...", + "exit_node": "Realization", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": 1 + } + ], + "delay": 5, + "delay_message": "Message sending..." + }, + { + "key": "choice 16", + "name": "DTF?-...", + "exit_node": "Realization", + "on_selection_effects": [ + { + "effect_type": "Remove", + "quality": "Love", + "value": { + "value_type": "random", + "low": -2, + "high": 2 + } + } + ], + "delay": 5, + "delay_message": "Message sending..." + } + ], + "image": "default" + }, + { + "name": "Realization", + "description": "Miss Red's message is received.\n\"This is Syndicate Drones Agent, Arusha Johnson.\nI don't know why you're saying it like that, but if you want to help out our cause we can send over a Trade Contract. \nPlease just call our Recruitment Officer next time.\"", + "choices": [ + { + "key": "choice 18", + "name": "Accept Contract.", + "exit_node": "WIN", + "delay": 5, + "delay_message": "Sending Trade Contract..." + }, + { + "key": "choice 19", + "name": "Demand a Second Date.", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Love Birds", + "description": "Miss Red's message is received.\n\"This is Syndicate Drones Agent, Arusha Johnson.\nI can't believe it, but I feel a real connection with you.\nI'll send over a Trade Contract you can use to make some money and come see me just SOL7-South of $$SITE_NAME\nSee you soon...\"", + "choices": [ + { + "key": "choice 20", + "name": "See you soon.", + "exit_node": "WIN", + "delay": 0 + }, + { + "key": "choice 21", + "name": "So you're not the Drone?", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAGI0lEQVR4nO2dP5LbNhSHHzO5QLwzVoNtnEKzheJW22gPoNq9b+EmpZvcIr1rHyBpqDZ2kVERN6uGO6NJkS4NU2TAoUiQxD8CeMDvm3mzXomkqCU+PAAE6IqIWgIAKPku9gkAkDIQBIAZIAgAM0AQAGYoXpC2xRgFmKYijVGstm2pqqoApxOWvhzy+9VCdK89Xi5Gx3PZF6TJoiCqQpQTUn5ZuPsFW/WaCpd9Qfq0S9H+b0mWUQvR1kIsbmPznu7xEUlH9BOIFiYFd1jQTQs+JGEb0U8gStgWWJeMAEn4hVYnnSNiV3f/vnx9vHmvFmK2bzC3rytLnw3SI7qlPkPs6lbs6snX5mrxpX19BTIJq4h+Al5CpyCLXT1ZOHX2VW1jU9ghyPrhcWAp/pdxDZMavhbiZnvTDNHfVvZHTAs8BFk3+rge63tijtjVxv2Ey9fHrp9hu++nv991r6FPkRZVVXm9uR3deNuw6Rv4qr3nmmuhzgGxfrCdi2WTOVw5Hg7dT/Hve3r3w6fRNlzndnE977VhK8ga9Id3h/TluDYNnc7n0TaykHErbFzPOwRsBFn74kk5VJJIOSR3m43yGLLNy23OGtfzDgELQXzWcI+Xy82sW6LlG4PXphm91s8oJhM6U71RCDnUsBBk7RruzauPRDQ9onW32Ywkkb9fm6YbNQH5wUIQIr9y9LPI4elIzctVKUctRNfnIKLRTyLq+iI6kqSaPcA07O+D2HB4OtIHIqqJ6P3Llc5/nkbbSIF+/vatK9T77bZ7/3Q+k9jd7jM3/g45eMImg/ji8HS8+X3z+m60zdTKQJktVCNYEjS38oL1bF6beyHbh/2NFL/89Qd9+PFt9/vvv30moukaXxb++59Os5/dzyTIHnwpLoNsXt9R83K9ea15uXYhmSrQun0hmUmQTXjDOoMQ6WcRsavpzauPNxJIWX7952JUw4tdTc9f9lqy1ELQ/vkZw6iMiT7fxTV0p6r3t9s+7NvD07HdPuxbIv35Uf1jLM0W7R9zSOy/GUIvsm9iTd0ElCNX8qfqBuIScx3yYb+jqqqbkM0vVYC0iG6pj5jLIlPvyezRj6UVh6rXhxnBdbYusk06UcR9kKk+iur+Rz+T6PZLZEY43d8b7Td3vD7DrIL+TFiiW+or1lw7vnRsuW2IGh+ZJVywH8Ua4nudyFI2Ub0fqsaXn4OMsi7RLfUdPjPJ3NNQdPsac/g4x9yzSczvp8wgPtfzxsJHJhkeYzjK5ePuuK9sk2s2MVlKsAYjQWKfkE9sH8xgu58PXIXJoXIbEvs7JZXS1gjbx/rECtemWG7XL2Zk10mfYikrxMwaKoa1pmkTKnatmxPRLQ0ZqgyRQtbQDZPsgEziHsVkkD7DBzOkkjV0MckmyCRuFClILugWfkhiT/aTFXNGd/UiVjnaA0GYA0nWBYJkACRZDwiSCZBkHSBIRkAS/0CQzIAkfoEgGYLC7w8Ikik6kkCkZSBIxkASdyBI5kASNyBIAUASe4oUBAVBDSQZU5wgsgCUVhAw/GtHcYKU/P/xQRJzMN29QDBNXp/gGQQ1U3xMM0nJ1yxoBsnpiSk5YJIhbCTJ4RoHb2IhbafFmtcj1BMm1wR9EBCs0uLYgoAggIjCZ3YuT4KEIKAjRqFNQZS5ygGCgBExOuSxRFlq9kEQ4AWfD+GOIQkyCAiKS4c8pZFOCAJWx6b5lIokEAQEg+MDuCEICA6nZwtDEBANDpMmi5vuDtKBw/R7CAKikrokEAREJ2VJIAhYBdOCnKokEAR4x3bdf4qSQBDgHZd1/6lJAkEikvNSVpdh2ZQkwX2QSHBcPBQak/skROv8HSFIRGLfJeaA6bp5339PCAKSx+bhEr5EgSCABabZwVc2gSCADTaSEDkOGBAEAYywXVsiMZUFggCW2DahTAWDIIAtLk0o3TX0EASwx0eHfEo2CAKywNfw7rC/UpwguDmXNz5nKLRtW5YgmN5RFhjmtQAZpDxcHmpXnCCgTFSzfnVE8SYIamY+lHqtht9bp8ntRRC07fmAa6VmqtJABikQXCs1qk49+iAADOhXIBAEAAVdNiEIAsAkeGgDADNAEABmgCAAzPAfVTkNN7+HpAgAAAAASUVORK5CYII=" + }, + { + "name": "Obliteration", + "description": "The Blood-Red Drone opens up two side-hatches to reveal a pair of rocket-propelled missiles which are shot in your direction.\nYou have failed your Robotic Friend, who has already started shutting down their systems, but there is still a chance.", + "choices": [ + { + "key": "choice 22", + "name": "Accept Death.", + "exit_node": "FAIL_DEATH", + "delay": 5, + "delay_message": "Missiles approaching..." + }, + { + "key": "choice 23", + "name": "I'm a Gamer.", + "exit_node": "FAIL_DEATH", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Love", + "value": { + "value_type": "random", + "low": 0, + "high": 8 + } + } + ], + "delay": 5, + "delay_message": "Miss Red considers..." + } + ], + "image": "signal_lost" + }, + { + "name": "Lack of Trust", + "description": "As you fiddle around in the Task Managing Software, closing all the new tabs your Drone is opening, the Miss Red enables a cloaking device and disappears.", + "choices": [ + { + "key": "choice 24", + "name": "Sigh in a quiet but dramatic way.", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": "default" + } + ] +} diff --git a/strings/exoadventures/space_yacht.json b/strings/exoadventures/space_yacht.json index 50b41c3567208..ef9c96d146e33 100644 --- a/strings/exoadventures/space_yacht.json +++ b/strings/exoadventures/space_yacht.json @@ -1,257 +1,257 @@ { - "adventure_name": "There is a yacht cruising through space.", - "version": 1, - "author": "Kinnebian", - "starting_node": "A yacht in space?", - "starting_qualities": {}, - "required_site_traits": [ - "in space" - ], - "loot_categories": [ - "cash", - "drugs" - ], - "scan_band_mods": { - "Plasma absorption band": 5 - }, - "deep_scan_description": "", - "triggers": [], - "nodes": [ - { - "name": "A yacht in space?", - "description": "You see a normal looking yacht, floating above you.", - "choices": [ - { - "key": "choice 0", - "name": "Ignore it, its not worth investigating.", - "exit_node": "FAIL", - "delay": 10, - "delay_message": "You fly on by..." - }, - { - "key": "choice 4", - "name": "Investigate it closer!", - "exit_node": "Looks like the doors are sealed shut.", - "delay": 30, - "delay_message": "You begin to fly up to and around the yacht.." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAzUExURUBAQOUAD/////8AAPgFFvwAB/0ABfwACPsBDP4AAszMzJMyje986cZlwEz/AOIBGOQAEnoV2UoAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAN5SURBVHhe7ZzrepswEERdp7c4TtP3f9rurBZ0QRISXpBEOf2KJcUhcxig9Idzu+iPbyfAiPB2GO7y6hIRib2tf2aRNwsvjYYV4QHIiNxV21LdmSPCVdAmJyKvHeKJkEJepGN8Ea7lBCLiwksDwSe8LwKTUzQCEx2Rw28Locj3H+OLTKiIHI4VIX7++v2Oq2REZpHRuUR6o2ORuhvfayIdPUR23EgdZxTp6DzZwBkbGZsGIg9s1M/jMhHFH/t4sEiCD4PMati3kUVo0rgnTaDwfD7VRV6tgUKbzPOOoEEkRIwGeci8jp0aYQk/s6ykRGaN2aPOaA8RG9kXkbXYuWU1pvTO0CN1nqiLOBaEGzmxbDIbC2ynpc/Plo14FoQ9+I+bLAG3E5NfNDAQjaYigQZhRbyviQklDjR4yBqNG5GgM/bQ+5IPKxFoGAnQ9tSSoBNREXaYsjtDjEUCtBTJVDKLIPkHZZbks0Wg0UTE3hMzIpghuBddBkRgQbRtJDRhEZMfSGrgTWks8S2FIuYoaossKjFXtcR18Z0ku0fTRnwROMQsvFVMJLpPNyJJB2c5JUEc+KzlPvdQIn41Ihx3qREupi1qPfQawQ3VQZJalqtYkNAx6jwURZbZDWwQfpWXJHGcykL0RKImnDdcx5KkTVProSgS3GYxizoUWGzw0BQhTHROa5I7YFFirlLvkRVJ/WcsA1/yktylQmKThnYjJLIATVRYbPTYXcRxKNTZ5lEgUnWC+SK2CgyKiqE3ya4q2UsE59Oc20zclRS+Rs2PXhepAiImtsAjzPFnDXqf7KcebRHHgZOzw7oCgW+VvWxBSwQxgKQCMiup4lULQkUkMEB43uClpI6XLQgNkaUFOxQYcBMaGjuI0KT0qog0seFhQtAQWZgUodTExEJk0zHxROQ1j4aFF1WlkToRVKFaBqMvkmcPB0ZJpMhklyYmdETWK9lVAmiJ5Ex2lwBKIkmTQySAlkjM5DAJUCWS/TeGYxsbMzxOAqRENj4rNDAQqhrpmUukNw4X2f6gnudqpDcukd7oVqT2pnA10huXSG/oiuh+urqKq5He+J9F2l0HOc7YSJ9HupSBG/EP/MEimq03FcnwomNGZKxrZimCD7bLb00Y6ZPtEZE/BBzw2x/GkRER4YvGVoT/QgQVpfgr39ocFnEx+TAYqpHzcLv9A9Y6cLa57YOgAAAAAElFTkSuQmCC" - }, - { - "name": "Looks like the doors are sealed shut.", - "description": "You fly up to the \"boat\" and find that all the doors are locked tight, and welded shut. You think you hear.. music inside? There is a welded vent, too. You reckon you could force it open if you hit it hard enough, but it would be less risky to unweld it using a welder.", - "choices": [ - { - "key": "choice 2", - "name": "Try to force the door!", - "exit_node": "You destroyed the drone.", - "delay": 10, - "delay_message": "You begin forcing the door.." - }, - { - "key": "choice 3", - "name": "Try to force the vent.", - "exit_node": "The music grows louder..", - "delay": 20, - "delay_message": "You begin forcing the vent.." - }, - { - "key": "choice 5", - "name": "Fly away, no chance in hell of getting in there..", - "exit_node": "FAIL", - "delay": 5, - "delay_message": "Moving.." - }, - { - "key": "choice 14", - "name": "Unweld the vent.", - "exit_node": "The music grows louder..", - "requirements": [ - { - "quality": "welder", - "operator": "==", - "value": 1 - } - ], - "delay": 5, - "delay_message": "Welding.." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRUExURaWMpOUAD/8AAKaNpaaOpaePpqiQp6mRqKmSqEBAQFRPVGddZmVcZeDg4PgFFvwAB4CAgP0ABfwACPsBDP4AAjAwMP/YAMHBwUz/AOIBGOQAEo23xmoAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVHhe7dwJT8MwDIbh0q5AYWNc4/r/P5TYcdWGmildDE2i75HoMWGJtymHkNYG8nNVAR/C26LVF9JO+KXSTCF8QIoP4aVwm6iQTvbZCEJcghrSNZ3n9nRKdk3XX/c3u/7Wf87WwhDaDO0Q5+5+v+fpLAQh3HJoD9EGns5CGEIldYS4TfStRXg6Cz9DHo5JKyJ9K8hgslmIN6SEDI+rWZVMIc7T88ur28m1WjqN5HxxPXMIGQ1ysaOcZEhc0GFWUnHIKjIkyl2RSkMu6rAqWYacJz+2CJ3KkJdZiFzsKAiZ+6uQkNxGRF4JyJCHFbFQccg5i1tMhry8QhIgxAJCFAixgBAFQiwgRIEQCwhRIMQCQhQIsYAQBUIsbBXi/3fhD2U8zWYhbw5CFAhRIMQCQhQIsYAQRUSI/4UeKDREdu/CZSAk9N8hS/hmDyFEgRALCFEgxAJCFAixgBDFqhD/dxYfyniarUJmEBJAiAIhFhCiQIgFhCgQYgEhCoRYQIgCIRYQokCIhYpD6I3t8tSE8c36kXIL+XD4QRb8+IQVMTmEiE93PIXwB4XQEv3mS0Y3xyFz/uujg6JWxNK2IU3zDauvUlylzN3TAAAAAElFTkSuQmCC" - }, - { - "name": "The music grows louder..", - "description": "The music gets louder as you enter through the vent... maybe you should turn back?", - "choices": [ - { - "key": "choice 6", - "name": "Continue onwards!", - "exit_node": "You fall down!", - "delay": 5, - "delay_message": "Moving..." - }, - { - "key": "choice 7", - "name": "Turn back.", - "exit_node": "Looks like the doors are sealed shut.", - "delay": 5, - "delay_message": "Moving.." - } - ], - "image": "default" - }, - { - "name": "You fall down!", - "description": "As you are crawling through the vents of this Space Yacht, the vent gives way! You're dropped into an empty room, completely filled with plasma! There is a desk and filing cabinet in here, along with a window observing the main portion of the yacht. The music is deafening at this point, it sounds like a horrible mix of sea shanties and EDM. ", - "choices": [ - { - "key": "choice 8", - "name": "Look through the window.", - "exit_node": "A rockin' party.", - "delay": 0 - }, - { - "key": "choice 9", - "name": "Fly outta of there.", - "exit_node": "The music grows louder..", - "delay": 5, - "delay_message": "Moving.." - }, - { - "key": "choice 10", - "name": "Rummage in the desk, using your key to open it.", - "exit_node": "Drugs and cash!", - "requirements": [ - { - "quality": "HASKEY", - "operator": "==", - "value": 1 - } - ], - "delay": 0, - "delay_message": "Rummaging.." - }, - { - "key": "choice 11", - "name": "Take a sample of the atmosphere.", - "exit_node": "The atmospherics scan", - "delay": 30, - "delay_message": "Taking sample.." - }, - { - "key": "choice 13", - "name": "Trash the place, fuck the police!", - "exit_node": "You wrecked yourself.", - "delay": 30, - "delay_message": "Trashing the place..." - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADAUExURbyA1eUAD/8AALyB1b2B1b2D1vgFFvwAB/0ABfwACPsBDP4AAr6C2MaJ4NRH7NSU7buA1bp+0rp90bp+0bt/07l8z7h6zbp80bp+07t/1Lp80Lp8z7uA1Lp/07l90bl+0rh80Lh80bd6z7p/1JAiVZAkWZAoX5AnXZAmXZAlW5AkWJA6fpA7f5A4epAnXpA9g7l+07Z6z+WQVZZar5BVqmYqf5BOnZA2dzPlBuIBGLx+0rx80Lx/1L13yr14yuQAErVxUskAAAAJcEhZcwAADsIAAA7CARUoSoAAAAJ8SURBVHhe7dzZctowFIBhky7pElo5pkGkS9qgpBvdoVva5v3fqkfyQciRYbxISPKc70IxxpH9I0iYzISMxGc0AGWIGpM2vJCDDbUriFv4tYNNiNqQAobczu7gVmtGiFoKGAKG9FAJgYSBhKhlGUAItqhdqamGyJJhhKhlUbtSczPk7mH6IWuph4B79x88lK+SFOmQ1LUMORoHdYSXUaNlyPhRUGO8jBqtQx4HRCE2CnGCQmwU4gSF2CjECQqxUYgTFGKjECcoxEYhTlCIjUKcoBAbhTjhNCQodyGD+dtvvCgkNhQSGwqJDYXEhkJiQyGxoZDYtAph+XExeXJyMp0onM9ms6KYnj49neZ5XhQ555MZm8A25wXn/JizjDH2DDb5cziWwU0YWDlZ+ZXl+YuzM85fvjo/53PA2HyuDmincYi46eLy9Zu37/CGB5ca7jDgNZmahoj3i2h86BEiBE4Sgx4rEllH55CoOhZi0TUkso7uIR9xiih8gke1+4pEpUcIPhiW8o79PPH0WfqG4MOh4Zx69E2fBTZahnz+gsqL/lpR7lODPoVX+iywIb5py7XRcpmpcQe83iqcU+6Xm97ps8CGwAszNQ6pI+eEH4Z4y69KyMo2Wq0yNe6wI0QuR4AQfPKbGr/Y65RPq4RCtsOZ98BJCE5hKe+gkFYoxEAhLlGIgUJcohDD7hD8He+dOiOQb/Dwwky9Q+AUeJhfvkOE+I5HeSZ+rE9a/8j1DNnTcoDNivgI2V+H+RYc91Q1CtkOj4hAk5AkDDhEf6RQWv/ZXhPyE8gS+ekP6cRgCPr1O7vahBxkfyDk6u8/GLe6xm8NToWY9O60VmQ4suw/MDqeSvYBdn8AAAAASUVORK5CYII=" - }, - { - "name": "You wrecked yourself.", - "description": "In the midst of trashing the place, a filing cabinet tips over on you, crushing the fragile, expensive drone. Nice job, idiot.", - "choices": [ - { - "key": "choice 15", - "name": "Shit.", - "exit_node": "FAIL_DEATH", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD/UExURTg4OJ2dnYCAgJOTk+Xl5eUAD4WFhYmJibS0tIKCgv8AAIeHh9jY2Do6Oo2NjTs7O62trYODg5+fn5eXl4GBgYaGhv/YAJKSkrGxsTk5OZGRkampqa+vr4uLi7+/v4+Pj9cLC+4EBP///5ubm5WVlcXFxcfHx/IDA+0FBeYGBvgBAfv7+6GhofPz8/7+/pmZmaOjo6WlpdXV1aenp46OjpaWlqioqLOzs6urq7q6us/Pz8zMzISEhLGwspCQkHl5eZycnFNTU6CgoKSkpJ6enmJiYqKioqampqqqqkNDQ3t7e39/fzPlBtMFEzk3Nzo3Nzg3Nz42Nj02Nt4CEG1tbWz50i4AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAT4SURBVHhe3ZwLW+NEFIanp9rKUlkKRaHctOAdLbjKoq6Kuhfv6+3//xYzc74ktCzJzJxvbR7f7pOGPGTmvMlk6PZr6tLpSf8VHn3pod3/Gq4H0+TV/wEqEpaxDIav4VDSGK6h7WxyRJy8BNB0NpXIvZqwqQlZH5Hpq8jrYZlFLRJWPO0iQ0H/NDZU5H7xyOSGSDgVxaJdZJMuImM0nc2CSKEQJeJkK/ROQUW20XI2iyLhtESITCah9503zLwJkV207PbwnMqCCFzCpkZ6ofupoBoDernt15PW/b29Qib9UlkU8SYxIk4OfP8EEVnzDWHSsrAkEk5L2NSMHAaRnSPlAGyBY4DLoJHQEF/krbdVZDabuZlfAbpebdnA2LJzEkRO0W4+N0RKVCQ8asK6t1N29Rpt5Z2Cdz34+Q5kE+36Dupu/drChgZqkYL33v/gQ3+VFAQR34g/M9XZqVvVI0nioBpZLzh61VMzlcgSWry2W66Fh7crmESekii2F0Rm7qOiDz2CYQu6bOZOETx8Y4sP5YwpMlkSmbmPQ0foMMajWSR4+Gf9qVwGZBNVEJCptlmLfOJ7xrr/185dIq0wXwHLPhr11fviyyNYibS7ZIscE8fW8l+R9rJvky3ieCLzFYvMUYeZ8WpFxrRTIodo0kK+yDlP5AJNWsgXcbKPQqwsj6wsLCIDFGKkt2qRPmlsra9ahDUByzraM2ES6aMUE5/KGdozYREZcE4JZWSZRPYpIherF3FyjmIsDLsgMkYxFmSA1myYRLYZY4sU8phEKBMwZ2RZRY5RTT4POiGybj8lCBTM2EQI+YI9UFBsIk7OUE82MkdTRqwiIV+wUAcKNowiJ9axdSNQsGEUcbKLijKZdkZkAxVlQggUFKvIoXFsEQIFxSpyYBUpAwUrVhEnn6GkLD5njSy7yATJUy5oxoxZZEsucXQjOTo6wlpBh0Rs+UIdKFghiAxRVA51oGDFLqIBbya0kUUQeWgQuRUo5GMXseQLtwKFfAgiVb6ACTUK7LGBNuwQRKqAdxz92ZTyrT1KoKAQRJxcaVnFZIpC2yhHI29kcUTKfKEfeUrKjIgTKCgMkWk5tkayhlKbKc0HHROp3966wqXcxkP9dU6goHBETrWwVDiBgkIRyc0XiCOLI3KRJ3LeOREnF6gtCVKgoJBEsgJeUqCgcEROs8YW9f4XjkhevsAcWTSRKYpLgBUoKCSRnHyBFSgoJJGrDBFWoKCQRHLyBVagoNBE0gNeVqCgsETmyWOLFigoLBFXvqKNhhYoKDyR1HyB9yZjgCaSfAMZLVBQaCKbifPWFi1QUGgi6XdZYj8STJFLvb0nii86K1Ic4t6X8XwlzP+wFzBF0nhEfYXCEymmrUe4ZSyGE+lPsCMHnkjq9FvfxkNhJSJf+8U3nRbB+G/D/yoxUvAQRfyH0KLe/NWwjnKPQg1P5Fu5Ho0OJii2gUH43PNczrEjB57IdyGnxthpwmuMRt939i+7kx+0xDged1gkKac+7a7IcZVcRbBDnrSYIk9SPoR2Qp60mCJOnqLKCJ6RJy2uSMJb2T+SRxZV5KefUWUET1++SPWVQrizPYFfUGUE7EnrRSK/FngT/+0PaTLSQ5mtXNd3fpOACPjtd/e8Frnn/ihEnv/5V7G8k7+x68oJIjepNqefkX/k8hrfw9HM4wfsSYsMXk3FgD14OPcv1NBUWmnJzVYAAAAASUVORK5CYII=" - }, - { - "name": "Drugs and cash!", - "description": "Rummaging through the drawer, you find that the person who lives in here stores all his drugs and cash in here too. Good for you!", - "choices": [ - { - "key": "choice 17", - "name": "Head back with your newly acquired things. ", - "exit_node": "WIN", - "delay": 30, - "delay_message": "Stealing..." - }, - { - "key": "choice 18", - "name": "Take one last look around the place.", - "exit_node": "You fall down!", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkBAMAAAAxqGI4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAwUExURW4WTuUAD/8AAPgFFvwAB/0ABfwACPsBDP4AAuex/6526uOxlKt4fUz/AOIBGOQAEqIMSWUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHFSURBVGje7dq/bsIwEAZw15ubpX2DyFLHqkvfqe/BE7AeU9dkyu68gTN1r9RHqX0mf1oMMeIuA7pPQooE4sd3FwJD1B3lmT0BeeJu8bAZom0MNxKPNDeia2X5EbsJUm+A1HYLRNs7WXyt3tmReMSO2JePHfc3XjFHEEEEEUQQQQQRRBBBBBFEEEEEiQHgR+DQ7HkRE4y2bYAVUdDG3KasIbEHBvZciMFZtbeWuYhAmFUzVgnKapnKpXTFCOCoDkcAR7ZiODdgfCFiAoElUpOy9fcBiA+vihAD45DaafXrSj9454LiypDZWCbsCDD55VT94LBJV4TAFJwYLNskLXepqcKwfDFi5o8K6f3M0sGaTRbB1f9fyRVXYYD05tN6TspE4EZELaeIazHY93F6Gk8sd7p3mt8T8xfpWJCUakhnsCdHPudD/Lr7zLQIm1R9Qk6L0CHV8bqVKUKHjEamCBni+vNFiJBpVtkiBEj8oRpr5ItQIMMc7zp2xLv8SwiQ/nINEmQ8ec/VoEGqCyunRc6OigrJ/NMiR9YjiCCCXIPEe3C0ZUZev79qrVmYiMSbo34SUutYZ5k3oluvUnBcWjPexcAbpX4BKG91c2myRoIAAAAASUVORK5CYII=" - }, - { - "name": "A rockin' party.", - "description": "Looking down through the window, you can see up to 20 plasmamen dancing on a disco floor. They look to be enjoying themselves, and none of them have noticed you. Oh, hey! Theres a key on the floor right next to you!", - "choices": [ - { - "key": "choice 16", - "name": "Swipe the key and head back to the desk.", - "exit_node": "You fall down!", - "on_selection_effects": [ - { - "effect_type": "Set", - "quality": "HASKEY", - "value": 1 - } - ], - "delay": 0 - }, - { - "key": "choice 19", - "name": "Tap on the window!", - "exit_node": "Weak.", - "delay": 0 - } - ], - "image": "default" - }, - { - "name": "Weak.", - "description": "You weakly tap on the window, and nobody hears you through the blasting music.", - "choices": [ - { - "key": "choice 20", - "name": "Oh well.", - "exit_node": "A rockin' party.", - "delay": 0 - } - ], - "image": "default" - }, - { - "name": "You destroyed the drone.", - "description": "You smash into the door, and your screen goes red. Looks like you managed to destroy your drone, nice job. \n\n\nIdiot.", - "choices": [ - { - "key": "choice 21", - "name": "Fuck.", - "exit_node": "FAIL_DEATH", - "delay": 0 - } - ], - "image": "signal_lost" - }, - { - "name": "The atmospherics scan", - "description": "100% plasma, jam packed with it. This is definitely the home of some plasma-party-people.", - "choices": [ - { - "key": "choice 22", - "name": "Huh.", - "exit_node": "You fall down!", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRUExURWJoaOUAD/8AAPgFFvwAB/0ABfwACPsBDP4AAhcXFzs7OykpKVFRUQAAAKb//wD//wuKkf/MAP9mALAAADAwMP8AM/vZTwCwAEz/AOIBGOQAEso55t0AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHDSURBVHhe7dzZbsIwEIXhdK/j2A6Fru//oD0zMYVuEr0YOhOdXyJxg5DyyXbhBgbmr4sVtED0GLr1QS4P6aVoHSA6kMJDdCpwWAEEhJVAdFrWsLQWi16K1meISNYB0WnRS9H6Crm6jg/ZFx2Cbm7v7mWXROwDEj1CvEWItwjxFiHeIsRbhHiLEG8R4i1CvEXIyaV+No6QkyPkbxFycmlc6n9aZQ4BIUvWFGvIOE6pSGmylRhBdBKQOmpttVpLbCA5466XUmltnufWCjZLf9oiI8iky0mrZa61zg1zYikxgoxYTxLWVduUhrW1gSSHhJRWSgPkoTYMG85BIU0CZIsT9knbhp0RmQdsdYFI2xYTsty97JGdjnYx98jxf61lkeGdJI+5P2+QESRP/R0xdw5K2dBhBBly6uWcyuP4ND6Lw/KDsBFkn0rkAyOOpg5rCCQQYHOAkUJDkC4xWwU6A+Q8EeItQrxFiLcI8RYh3iLEW4R4ixBvEeItQrxFiLcI8RYh3iLEW4R4ixBvEeItQrz1HSJfbO+/mhDpm+0/QF6QGOTXH+JgOqT3ivEBog+ByBT91lt/6b+nkOOW+5NBqBlZT8PwDsHEFJFntJj8AAAAAElFTkSuQmCC" - } - ] -} \ No newline at end of file + "adventure_name": "There is a yacht cruising through space.", + "version": 1, + "author": "Kinnebian", + "starting_node": "A yacht in space?", + "starting_qualities": {}, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "cash", + "drugs" + ], + "scan_band_mods": { + "Plasma absorption band": 5 + }, + "deep_scan_description": "", + "triggers": [], + "nodes": [ + { + "name": "A yacht in space?", + "description": "You see a normal looking yacht, floating above you.", + "choices": [ + { + "key": "choice 0", + "name": "Ignore it, its not worth investigating.", + "exit_node": "FAIL", + "delay": 10, + "delay_message": "You fly on by..." + }, + { + "key": "choice 4", + "name": "Investigate it closer!", + "exit_node": "Looks like the doors are sealed shut.", + "delay": 30, + "delay_message": "You begin to fly up to and around the yacht.." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAzUExURUBAQOUAD/////8AAPgFFvwAB/0ABfwACPsBDP4AAszMzJMyje986cZlwEz/AOIBGOQAEnoV2UoAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAN5SURBVHhe7ZzrepswEERdp7c4TtP3f9rurBZ0QRISXpBEOf2KJcUhcxig9Idzu+iPbyfAiPB2GO7y6hIRib2tf2aRNwsvjYYV4QHIiNxV21LdmSPCVdAmJyKvHeKJkEJepGN8Ea7lBCLiwksDwSe8LwKTUzQCEx2Rw28Locj3H+OLTKiIHI4VIX7++v2Oq2REZpHRuUR6o2ORuhvfayIdPUR23EgdZxTp6DzZwBkbGZsGIg9s1M/jMhHFH/t4sEiCD4PMati3kUVo0rgnTaDwfD7VRV6tgUKbzPOOoEEkRIwGeci8jp0aYQk/s6ykRGaN2aPOaA8RG9kXkbXYuWU1pvTO0CN1nqiLOBaEGzmxbDIbC2ynpc/Plo14FoQ9+I+bLAG3E5NfNDAQjaYigQZhRbyviQklDjR4yBqNG5GgM/bQ+5IPKxFoGAnQ9tSSoBNREXaYsjtDjEUCtBTJVDKLIPkHZZbks0Wg0UTE3hMzIpghuBddBkRgQbRtJDRhEZMfSGrgTWks8S2FIuYoaossKjFXtcR18Z0ku0fTRnwROMQsvFVMJLpPNyJJB2c5JUEc+KzlPvdQIn41Ihx3qREupi1qPfQawQ3VQZJalqtYkNAx6jwURZbZDWwQfpWXJHGcykL0RKImnDdcx5KkTVProSgS3GYxizoUWGzw0BQhTHROa5I7YFFirlLvkRVJ/WcsA1/yktylQmKThnYjJLIATVRYbPTYXcRxKNTZ5lEgUnWC+SK2CgyKiqE3ya4q2UsE59Oc20zclRS+Rs2PXhepAiImtsAjzPFnDXqf7KcebRHHgZOzw7oCgW+VvWxBSwQxgKQCMiup4lULQkUkMEB43uClpI6XLQgNkaUFOxQYcBMaGjuI0KT0qog0seFhQtAQWZgUodTExEJk0zHxROQ1j4aFF1WlkToRVKFaBqMvkmcPB0ZJpMhklyYmdETWK9lVAmiJ5Ex2lwBKIkmTQySAlkjM5DAJUCWS/TeGYxsbMzxOAqRENj4rNDAQqhrpmUukNw4X2f6gnudqpDcukd7oVqT2pnA10huXSG/oiuh+urqKq5He+J9F2l0HOc7YSJ9HupSBG/EP/MEimq03FcnwomNGZKxrZimCD7bLb00Y6ZPtEZE/BBzw2x/GkRER4YvGVoT/QgQVpfgr39ocFnEx+TAYqpHzcLv9A9Y6cLa57YOgAAAAAElFTkSuQmCC" + }, + { + "name": "Looks like the doors are sealed shut.", + "description": "You fly up to the \"boat\" and find that all the doors are locked tight, and welded shut. You think you hear.. music inside? There is a welded vent, too. You reckon you could force it open if you hit it hard enough, but it would be less risky to unweld it using a welder.", + "choices": [ + { + "key": "choice 2", + "name": "Try to force the door!", + "exit_node": "You destroyed the drone.", + "delay": 10, + "delay_message": "You begin forcing the door.." + }, + { + "key": "choice 3", + "name": "Try to force the vent.", + "exit_node": "The music grows louder..", + "delay": 20, + "delay_message": "You begin forcing the vent.." + }, + { + "key": "choice 5", + "name": "Fly away, no chance in hell of getting in there..", + "exit_node": "FAIL", + "delay": 5, + "delay_message": "Moving.." + }, + { + "key": "choice 14", + "name": "Unweld the vent.", + "exit_node": "The music grows louder..", + "requirements": [ + { + "quality": "welder", + "operator": "==", + "value": 1 + } + ], + "delay": 5, + "delay_message": "Welding.." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRUExURaWMpOUAD/8AAKaNpaaOpaePpqiQp6mRqKmSqEBAQFRPVGddZmVcZeDg4PgFFvwAB4CAgP0ABfwACPsBDP4AAjAwMP/YAMHBwUz/AOIBGOQAEo23xmoAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHASURBVHhe7dwJT8MwDIbh0q5AYWNc4/r/P5TYcdWGmildDE2i75HoMWGJtymHkNYG8nNVAR/C26LVF9JO+KXSTCF8QIoP4aVwm6iQTvbZCEJcghrSNZ3n9nRKdk3XX/c3u/7Wf87WwhDaDO0Q5+5+v+fpLAQh3HJoD9EGns5CGEIldYS4TfStRXg6Cz9DHo5JKyJ9K8hgslmIN6SEDI+rWZVMIc7T88ur28m1WjqN5HxxPXMIGQ1ysaOcZEhc0GFWUnHIKjIkyl2RSkMu6rAqWYacJz+2CJ3KkJdZiFzsKAiZ+6uQkNxGRF4JyJCHFbFQccg5i1tMhry8QhIgxAJCFAixgBAFQiwgRIEQCwhRIMQCQhQIsYAQBUIsbBXi/3fhD2U8zWYhbw5CFAhRIMQCQhQIsYAQRUSI/4UeKDREdu/CZSAk9N8hS/hmDyFEgRALCFEgxAJCFAixgBDFqhD/dxYfyniarUJmEBJAiAIhFhCiQIgFhCgQYgEhCoRYQIgCIRYQokCIhYpD6I3t8tSE8c36kXIL+XD4QRb8+IQVMTmEiE93PIXwB4XQEv3mS0Y3xyFz/uujg6JWxNK2IU3zDauvUlylzN3TAAAAAElFTkSuQmCC" + }, + { + "name": "The music grows louder..", + "description": "The music gets louder as you enter through the vent... maybe you should turn back?", + "choices": [ + { + "key": "choice 6", + "name": "Continue onwards!", + "exit_node": "You fall down!", + "delay": 5, + "delay_message": "Moving..." + }, + { + "key": "choice 7", + "name": "Turn back.", + "exit_node": "Looks like the doors are sealed shut.", + "delay": 5, + "delay_message": "Moving.." + } + ], + "image": "default" + }, + { + "name": "You fall down!", + "description": "As you are crawling through the vents of this Space Yacht, the vent gives way! You're dropped into an empty room, completely filled with plasma! There is a desk and filing cabinet in here, along with a window observing the main portion of the yacht. The music is deafening at this point, it sounds like a horrible mix of sea shanties and EDM. ", + "choices": [ + { + "key": "choice 8", + "name": "Look through the window.", + "exit_node": "A rockin' party.", + "delay": 0 + }, + { + "key": "choice 9", + "name": "Fly outta of there.", + "exit_node": "The music grows louder..", + "delay": 5, + "delay_message": "Moving.." + }, + { + "key": "choice 10", + "name": "Rummage in the desk, using your key to open it.", + "exit_node": "Drugs and cash!", + "requirements": [ + { + "quality": "HASKEY", + "operator": "==", + "value": 1 + } + ], + "delay": 0, + "delay_message": "Rummaging.." + }, + { + "key": "choice 11", + "name": "Take a sample of the atmosphere.", + "exit_node": "The atmospherics scan", + "delay": 30, + "delay_message": "Taking sample.." + }, + { + "key": "choice 13", + "name": "Trash the place, fuck the police!", + "exit_node": "You wrecked yourself.", + "delay": 30, + "delay_message": "Trashing the place..." + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADAUExURbyA1eUAD/8AALyB1b2B1b2D1vgFFvwAB/0ABfwACPsBDP4AAr6C2MaJ4NRH7NSU7buA1bp+0rp90bp+0bt/07l8z7h6zbp80bp+07t/1Lp80Lp8z7uA1Lp/07l90bl+0rh80Lh80bd6z7p/1JAiVZAkWZAoX5AnXZAmXZAlW5AkWJA6fpA7f5A4epAnXpA9g7l+07Z6z+WQVZZar5BVqmYqf5BOnZA2dzPlBuIBGLx+0rx80Lx/1L13yr14yuQAErVxUskAAAAJcEhZcwAADsIAAA7CARUoSoAAAAJ8SURBVHhe7dzZctowFIBhky7pElo5pkGkS9qgpBvdoVva5v3fqkfyQciRYbxISPKc70IxxpH9I0iYzISMxGc0AGWIGpM2vJCDDbUriFv4tYNNiNqQAobczu7gVmtGiFoKGAKG9FAJgYSBhKhlGUAItqhdqamGyJJhhKhlUbtSczPk7mH6IWuph4B79x88lK+SFOmQ1LUMORoHdYSXUaNlyPhRUGO8jBqtQx4HRCE2CnGCQmwU4gSF2CjECQqxUYgTFGKjECcoxEYhTlCIjUKcoBAbhTjhNCQodyGD+dtvvCgkNhQSGwqJDYXEhkJiQyGxoZDYtAph+XExeXJyMp0onM9ms6KYnj49neZ5XhQ555MZm8A25wXn/JizjDH2DDb5cziWwU0YWDlZ+ZXl+YuzM85fvjo/53PA2HyuDmincYi46eLy9Zu37/CGB5ca7jDgNZmahoj3i2h86BEiBE4Sgx4rEllH55CoOhZi0TUkso7uIR9xiih8gke1+4pEpUcIPhiW8o79PPH0WfqG4MOh4Zx69E2fBTZahnz+gsqL/lpR7lODPoVX+iywIb5py7XRcpmpcQe83iqcU+6Xm97ps8CGwAszNQ6pI+eEH4Z4y69KyMo2Wq0yNe6wI0QuR4AQfPKbGr/Y65RPq4RCtsOZ98BJCE5hKe+gkFYoxEAhLlGIgUJcohDD7hD8He+dOiOQb/Dwwky9Q+AUeJhfvkOE+I5HeSZ+rE9a/8j1DNnTcoDNivgI2V+H+RYc91Q1CtkOj4hAk5AkDDhEf6RQWv/ZXhPyE8gS+ekP6cRgCPr1O7vahBxkfyDk6u8/GLe6xm8NToWY9O60VmQ4suw/MDqeSvYBdn8AAAAASUVORK5CYII=" + }, + { + "name": "You wrecked yourself.", + "description": "In the midst of trashing the place, a filing cabinet tips over on you, crushing the fragile, expensive drone. Nice job, idiot.", + "choices": [ + { + "key": "choice 15", + "name": "Shit.", + "exit_node": "FAIL_DEATH", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD/UExURTg4OJ2dnYCAgJOTk+Xl5eUAD4WFhYmJibS0tIKCgv8AAIeHh9jY2Do6Oo2NjTs7O62trYODg5+fn5eXl4GBgYaGhv/YAJKSkrGxsTk5OZGRkampqa+vr4uLi7+/v4+Pj9cLC+4EBP///5ubm5WVlcXFxcfHx/IDA+0FBeYGBvgBAfv7+6GhofPz8/7+/pmZmaOjo6WlpdXV1aenp46OjpaWlqioqLOzs6urq7q6us/Pz8zMzISEhLGwspCQkHl5eZycnFNTU6CgoKSkpJ6enmJiYqKioqampqqqqkNDQ3t7e39/fzPlBtMFEzk3Nzo3Nzg3Nz42Nj02Nt4CEG1tbWz50i4AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAT4SURBVHhe3ZwLW+NEFIanp9rKUlkKRaHctOAdLbjKoq6Kuhfv6+3//xYzc74ktCzJzJxvbR7f7pOGPGTmvMlk6PZr6tLpSf8VHn3pod3/Gq4H0+TV/wEqEpaxDIav4VDSGK6h7WxyRJy8BNB0NpXIvZqwqQlZH5Hpq8jrYZlFLRJWPO0iQ0H/NDZU5H7xyOSGSDgVxaJdZJMuImM0nc2CSKEQJeJkK/ROQUW20XI2iyLhtESITCah9503zLwJkV207PbwnMqCCFzCpkZ6ofupoBoDernt15PW/b29Qib9UlkU8SYxIk4OfP8EEVnzDWHSsrAkEk5L2NSMHAaRnSPlAGyBY4DLoJHQEF/krbdVZDabuZlfAbpebdnA2LJzEkRO0W4+N0RKVCQ8asK6t1N29Rpt5Z2Cdz34+Q5kE+36Dupu/drChgZqkYL33v/gQ3+VFAQR34g/M9XZqVvVI0nioBpZLzh61VMzlcgSWry2W66Fh7crmESekii2F0Rm7qOiDz2CYQu6bOZOETx8Y4sP5YwpMlkSmbmPQ0foMMajWSR4+Gf9qVwGZBNVEJCptlmLfOJ7xrr/185dIq0wXwHLPhr11fviyyNYibS7ZIscE8fW8l+R9rJvky3ieCLzFYvMUYeZ8WpFxrRTIodo0kK+yDlP5AJNWsgXcbKPQqwsj6wsLCIDFGKkt2qRPmlsra9ahDUByzraM2ES6aMUE5/KGdozYREZcE4JZWSZRPYpIherF3FyjmIsDLsgMkYxFmSA1myYRLYZY4sU8phEKBMwZ2RZRY5RTT4POiGybj8lCBTM2EQI+YI9UFBsIk7OUE82MkdTRqwiIV+wUAcKNowiJ9axdSNQsGEUcbKLijKZdkZkAxVlQggUFKvIoXFsEQIFxSpyYBUpAwUrVhEnn6GkLD5njSy7yATJUy5oxoxZZEsucXQjOTo6wlpBh0Rs+UIdKFghiAxRVA51oGDFLqIBbya0kUUQeWgQuRUo5GMXseQLtwKFfAgiVb6ACTUK7LGBNuwQRKqAdxz92ZTyrT1KoKAQRJxcaVnFZIpC2yhHI29kcUTKfKEfeUrKjIgTKCgMkWk5tkayhlKbKc0HHROp3966wqXcxkP9dU6goHBETrWwVDiBgkIRyc0XiCOLI3KRJ3LeOREnF6gtCVKgoJBEsgJeUqCgcEROs8YW9f4XjkhevsAcWTSRKYpLgBUoKCSRnHyBFSgoJJGrDBFWoKCQRHLyBVagoNBE0gNeVqCgsETmyWOLFigoLBFXvqKNhhYoKDyR1HyB9yZjgCaSfAMZLVBQaCKbifPWFi1QUGgi6XdZYj8STJFLvb0nii86K1Ic4t6X8XwlzP+wFzBF0nhEfYXCEymmrUe4ZSyGE+lPsCMHnkjq9FvfxkNhJSJf+8U3nRbB+G/D/yoxUvAQRfyH0KLe/NWwjnKPQg1P5Fu5Ho0OJii2gUH43PNczrEjB57IdyGnxthpwmuMRt939i+7kx+0xDged1gkKac+7a7IcZVcRbBDnrSYIk9SPoR2Qp60mCJOnqLKCJ6RJy2uSMJb2T+SRxZV5KefUWUET1++SPWVQrizPYFfUGUE7EnrRSK/FngT/+0PaTLSQ5mtXNd3fpOACPjtd/e8Frnn/ihEnv/5V7G8k7+x68oJIjepNqefkX/k8hrfw9HM4wfsSYsMXk3FgD14OPcv1NBUWmnJzVYAAAAASUVORK5CYII=" + }, + { + "name": "Drugs and cash!", + "description": "Rummaging through the drawer, you find that the person who lives in here stores all his drugs and cash in here too. Good for you!", + "choices": [ + { + "key": "choice 17", + "name": "Head back with your newly acquired things. ", + "exit_node": "WIN", + "delay": 30, + "delay_message": "Stealing..." + }, + { + "key": "choice 18", + "name": "Take one last look around the place.", + "exit_node": "You fall down!", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkBAMAAAAxqGI4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAwUExURW4WTuUAD/8AAPgFFvwAB/0ABfwACPsBDP4AAuex/6526uOxlKt4fUz/AOIBGOQAEqIMSWUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHFSURBVGje7dq/bsIwEAZw15ubpX2DyFLHqkvfqe/BE7AeU9dkyu68gTN1r9RHqX0mf1oMMeIuA7pPQooE4sd3FwJD1B3lmT0BeeJu8bAZom0MNxKPNDeia2X5EbsJUm+A1HYLRNs7WXyt3tmReMSO2JePHfc3XjFHEEEEEUQQQQQRRBBBBBFEEEEEiQHgR+DQ7HkRE4y2bYAVUdDG3KasIbEHBvZciMFZtbeWuYhAmFUzVgnKapnKpXTFCOCoDkcAR7ZiODdgfCFiAoElUpOy9fcBiA+vihAD45DaafXrSj9454LiypDZWCbsCDD55VT94LBJV4TAFJwYLNskLXepqcKwfDFi5o8K6f3M0sGaTRbB1f9fyRVXYYD05tN6TspE4EZELaeIazHY93F6Gk8sd7p3mt8T8xfpWJCUakhnsCdHPudD/Lr7zLQIm1R9Qk6L0CHV8bqVKUKHjEamCBni+vNFiJBpVtkiBEj8oRpr5ItQIMMc7zp2xLv8SwiQ/nINEmQ8ec/VoEGqCyunRc6OigrJ/NMiR9YjiCCCXIPEe3C0ZUZev79qrVmYiMSbo34SUutYZ5k3oluvUnBcWjPexcAbpX4BKG91c2myRoIAAAAASUVORK5CYII=" + }, + { + "name": "A rockin' party.", + "description": "Looking down through the window, you can see up to 20 plasmamen dancing on a disco floor. They look to be enjoying themselves, and none of them have noticed you. Oh, hey! Theres a key on the floor right next to you!", + "choices": [ + { + "key": "choice 16", + "name": "Swipe the key and head back to the desk.", + "exit_node": "You fall down!", + "on_selection_effects": [ + { + "effect_type": "Set", + "quality": "HASKEY", + "value": 1 + } + ], + "delay": 0 + }, + { + "key": "choice 19", + "name": "Tap on the window!", + "exit_node": "Weak.", + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "Weak.", + "description": "You weakly tap on the window, and nobody hears you through the blasting music.", + "choices": [ + { + "key": "choice 20", + "name": "Oh well.", + "exit_node": "A rockin' party.", + "delay": 0 + } + ], + "image": "default" + }, + { + "name": "You destroyed the drone.", + "description": "You smash into the door, and your screen goes red. Looks like you managed to destroy your drone, nice job. \n\n\nIdiot.", + "choices": [ + { + "key": "choice 21", + "name": "Fuck.", + "exit_node": "FAIL_DEATH", + "delay": 0 + } + ], + "image": "signal_lost" + }, + { + "name": "The atmospherics scan", + "description": "100% plasma, jam packed with it. This is definitely the home of some plasma-party-people.", + "choices": [ + { + "key": "choice 22", + "name": "Huh.", + "exit_node": "You fall down!", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRUExURWJoaOUAD/8AAPgFFvwAB/0ABfwACPsBDP4AAhcXFzs7OykpKVFRUQAAAKb//wD//wuKkf/MAP9mALAAADAwMP8AM/vZTwCwAEz/AOIBGOQAEso55t0AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHDSURBVHhe7dzZbsIwEIXhdK/j2A6Fru//oD0zMYVuEr0YOhOdXyJxg5DyyXbhBgbmr4sVtED0GLr1QS4P6aVoHSA6kMJDdCpwWAEEhJVAdFrWsLQWi16K1meISNYB0WnRS9H6Crm6jg/ZFx2Cbm7v7mWXROwDEj1CvEWItwjxFiHeIsRbhHiLEG8R4i1CvEXIyaV+No6QkyPkbxFycmlc6n9aZQ4BIUvWFGvIOE6pSGmylRhBdBKQOmpttVpLbCA5466XUmltnufWCjZLf9oiI8iky0mrZa61zg1zYikxgoxYTxLWVduUhrW1gSSHhJRWSgPkoTYMG85BIU0CZIsT9knbhp0RmQdsdYFI2xYTsty97JGdjnYx98jxf61lkeGdJI+5P2+QESRP/R0xdw5K2dBhBBly6uWcyuP4ND6Lw/KDsBFkn0rkAyOOpg5rCCQQYHOAkUJDkC4xWwU6A+Q8EeItQrxFiLcI8RYh3iLEW4R4ixBvEeItQrxFiLcI8RYh3iLEW4R4ixBvEeItQrz1HSJfbO+/mhDpm+0/QF6QGOTXH+JgOqT3ivEBog+ByBT91lt/6b+nkOOW+5NBqBlZT8PwDsHEFJFntJj8AAAAAElFTkSuQmCC" + } + ] +} diff --git a/strings/exoadventures/tree_in_the_middle_of_space.json b/strings/exoadventures/tree_in_the_middle_of_space.json index f06b1d2506273..3e1a4ef553b82 100644 --- a/strings/exoadventures/tree_in_the_middle_of_space.json +++ b/strings/exoadventures/tree_in_the_middle_of_space.json @@ -1,356 +1,356 @@ { - "adventure_name": "There's a tree in the middle of space.", - "version": 1, - "starting_node": "Tree Start", - "starting_qualities": { - "Confusion": 0 - }, - "required_site_traits": [ - "in space" - ], - "loot_categories": [ - "research" - ], - "scan_band_mods": { - "Exotic Radiation": 10 - }, - "deep_scan_description": "", - "triggers": [ - { - "name": "Confusion Trigger", - "target_node": "What is wrong with this tree?", - "requirements": [ - { - "quality": "Confusion", - "operator": ">", - "value": 30 - } - ] - } - ], - "nodes": [ - { - "name": "Tree Start", - "description": "Camera online. Visual signs detect a fully grown, seemingly biological, and live tree located in the middle of the vacuum.\nSensors indicate it is not oxygenating, but energy is being collected via passive solar light from the nearby star.\nBaffling.", - "choices": [ - { - "key": "choice 0", - "name": "Ignore site.", - "exit_node": "FAIL", - "delay": 10, - "delay_message": "Leave this for the botanists to figure out." - }, - { - "key": "choice 1", - "name": "Begin sensor scan.", - "exit_node": "Biological Scan", - "delay": 10, - "delay_message": "Lets get some data." - } - ], - "image": null, - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMQAAAAAAAC15h2QtxeAoxVykROizRpxjxIAcgAAWwAAgAAAUAAAZAAAZgC0tLTKysr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/2AgjmRpnigqrMMqtCvhyvFs17hQuPva67ygTwgcGovA3a61BLaeryj0mapar9isNjCNylpfgWwsLpPPZqBst066le84fB5nRpvdvGDL7/v/JmBeaWiFhIeGbGqLio1ljm2CklKUA4CXmJmaAYidhp9mBmOiYqQEpqZlk3qbra6vsCOenqijtgIHCLG7vL29CQoNCsDCxMPBxw0MxsTLyMLCCwq+1LuVe9VZ0M/c297d4NvZ41vXeueU5N/r4e3o79jkvOb0UAe4+Pf6uMjS7P/TtAAcGKyeQXhT5ClcSKIdwYcHIyKMx7CiwocOwU3cWMmiR4YYQzqM+LGkSQXSUv/2y0jQH0qUJmNqoRSm5ixQbXLK2UmnJ886ToIilFltkk2cNw9B+umz6U87UOsRNXk0KdKrVrOSWWVwqlc+WHHWKnWqrKizZV+QGrA2yte31YDJPTZXrrMEzhbkPSYNWF+4gAFBeICJGTLDxVi2C5yNIxSQikVu48i4j8TLT1i2khwOM+bKVSQaeGLgQOnS+fIBwkiCszfPjqWAnn0ism1hsXO/oM279e3fuqmYeAChN++XKqP9BujP+EcXMKLkoFFm+o3qSH5oJ7L9SPfs3IlEHw/dhfNyLMpbX4+duvvw3uGDj08fCfn0+KVTPI9Ff/T37AHY3nXfFSifgfX9cJ//f/vxh95/1wkoYYQU5oDgfBh+t+B9DsJS4YABfiiDAWWQOGKJKJ6oYidcDdVhUVrFGFZWRl32IlEy0nJLWjyu1VYYrNxY2YxXjZUWW1+0FaSQDiaQ4z0y3OMXX3wxaSUKiWWZTF5c+sVASl8iB9OVbxFH3CVabmOMa9yQ6WYAbHL2Zh+UVRTnbV3NyUlwu120HEuw9WlloO+Mc+c3fCbEH6ES/Ybmn9AwWmdvnu1jaWoHpMBmFYdK+tmLiQqKCaTAebqRnh4d6o6pEqHqEan/sOqiqxbBumqoig42GK0WqUqQY7zCtZKvDgXL37AvEbvNAsaeJ6Zy0JKqErPNYpIj/xqOOKUtU9xu6+1OUekpCJFpLPXtud2mu21UTbhKLraPqCsvuvQ+FdQSqI57bbnxtlHvv/OCK5RsqO4Lr78BA6xwulDR+m4n5iYs8cJNVNyguwYzEi/FE3dsR7UpZJzIxh1z7FO4IJ8gMr860WuAEi/rEHMBM88s8ccpn/AwVhEjTDPMQMsc9M9Cx9HyIJbknMLOEJNC8xpOR/3zy1RPbXXVWD8tM9Rcq3Kx0lesvKORZz2NFtVmnWJ2j2NLAnYsiJCd9tlzz7122XTnnfbb2dxUi96A1x044GDwnc0Zfwuu+OCLK274c4UkzvjkZj3+ldxkUY5AApt3noDlldF1zP/YBAyzuemcp4665wGBDlcDeCUA+zKzyx77Arfnvjnuy+C+u+uADXPXMsTHXvzxxid/PPC8OEAYmnLBPoz0ttMee+3YXx/958y/oqsDl4hel/jkjz9+Md17Rf3620/fvu3uxy97A+lPVT75ic2lJWLDWD7AE/97QQCT1qv3sU9+6ytGAxTIQL7FpiLJiCD/JggOYJxKXAPMIAA3KCp1MHB6H5wfCEcowgRoUIAc/F8L3CSrr/EiGAsc4QKhEcMZwpCG0DihClHIQxVeaYdA1KEQAWioD9pQhEesoRJTOMQe/k9ITQwiEzloQ/q9sIpKxOENt9iAKHpxgw76ohOnKED/LWJRGJrIIhfVWEUxSnGMPDQOGd+4wwME0I76COAC2MhHNPZhjWbk4xzd2MTeNBGPuBiAPg6wyEbiIlMiaEBKYrjHQOJQG5YE5BbpSMhByvGQiixNKBlpGlI+8h5a0OQZg2ECVfYRhoOMJRx36JxZ/k+UbMGjKEupyERi4pUzjGQmV9lGWXLSkxiMoy+ICcxmNsCWxvRi/VYzw2pa85rYvKYKt8nNbnrzm96c5h+G6UwudhKacBTnOLPJznYuEJzwjCc41blOctoTlug8JjTpiSZ3+lOb3LTj/wSqSHlycwQPeB4//8jMe2KRgwJNZDQJaCaFLlQge6ykJP/ZTo3iYbGgHx3oPC+6CZRQspwNNakwEMnSE5L0FRndaEwXqFGO0lSmG32pQmLK043e1KYz7KlO5dHTouKUo0YdKjmMalSk4jSmSh3HAqb61KpqtKZBtWpOo1oNpmoVq9dkKrWMEwIAOw==" - }, - { - "name": "Biological Scan", - "description": "You attempt to scan for clues regarding the tree's nature. It appears to be a fully mature oak tree. \n\nApproximated height is 13 ft, 6.4 inches. \n\nSubject sees no sign of an outer coating or otherwise layer protecting it from the void of space.\n\nSubject's surface temperature is 293.7 kelvin, as though it were sitting indoors.", - "choices": [ - { - "key": "choice 2", - "name": "Check Sensor Integrity.", - "exit_node": "Its Not You...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": 5 - } - ], - "delay": 50, - "delay_message": "This can't be right." - }, - { - "key": "choice 4", - "name": "Attempt to take sample.", - "exit_node": "Sample Taken", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": 3 - } - ], - "delay": 40, - "delay_message": "Snip snip." - }, - { - "key": "choice 6", - "name": "Examine Tree Roots.", - "exit_node": "Examine Roots", - "delay": 10 - }, - { - "key": "choice 9", - "name": "Sequence Sample Radiation with background noise.", - "exit_node": "Background Analysis", - "requirements": [ - { - "quality": "Sample", - "operator": ">=", - "value": 1 - } - ], - "delay": 0, - "delay_message": "This can't be real." - }, - { - "key": "choice 40", - "name": "Leave.", - "exit_node": "FAIL", - "delay": 0 - } - ], - "image": null, - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMQAAAAAAAC15h2QtxeAoxVykROizRpxjxIAcgAAWwAAgAAAUAAAZAAAZgC0tLTKysr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/2AgjmRpnigqrMMqtCvhyvFs17hQuPva67ygTwgcGovA3a61BLaeryj0mapar9isNjCNylpfgWwsLpPPZqBst066le84fB5nRpvdvGDL7/v/JmBeaWiFhIeGbGqLio1ljm2CklKUA4CXmJmaAYidhp9mBmOiYqQEpqZlk3qbra6vsCOenqijtgIHCLG7vL29CQoNCsDCxMPBxw0MxsTLyMLCCwq+1LuVe9VZ0M/c297d4NvZ41vXeueU5N/r4e3o79jkvOb0UAe4+Pf6uMjS7P/TtAAcGKyeQXhT5ClcSKIdwYcHIyKMx7CiwocOwU3cWMmiR4YYQzqM+LGkSQXSUv/2y0jQH0qUJmNqoRSm5ixQbXLK2UmnJ886ToIilFltkk2cNw9B+umz6U87UOsRNXk0KdKrVrOSWWVwqlc+WHHWKnWqrKizZV+QGrA2yte31YDJPTZXrrMEzhbkPSYNWF+4gAFBeICJGTLDxVi2C5yNIxSQikVu48i4j8TLT1i2khwOM+bKVSQaeGLgQOnS+fIBwkiCszfPjqWAnn0ism1hsXO/oM279e3fuqmYeAChN++XKqP9BujP+EcXMKLkoFFm+o3qSH5oJ7L9SPfs3IlEHw/dhfNyLMpbX4+duvvw3uGDj08fCfn0+KVTPI9Ff/T37AHY3nXfFSifgfX9cJ//f/vxh95/1wkoYYQU5oDgfBh+t+B9DsJS4YABfiiDAWWQOGKJKJ6oYidcDdVhUVrFGFZWRl32IlEy0nJLWjyu1VYYrNxY2YxXjZUWW1+0FaSQDiaQ4z0y3OMXX3wxaSUKiWWZTF5c+sVASl8iB9OVbxFH3CVabmOMa9yQ6WYAbHL2Zh+UVRTnbV3NyUlwu120HEuw9WlloO+Mc+c3fCbEH6ES/Ybmn9AwWmdvnu1jaWoHpMBmFYdK+tmLiQqKCaTAebqRnh4d6o6pEqHqEan/sOqiqxbBumqoig42GK0WqUqQY7zCtZKvDgXL37AvEbvNAsaeJ6Zy0JKqErPNYpIj/xqOOKUtU9xu6+1OUekpCJFpLPXtud2mu21UTbhKLraPqCsvuvQ+FdQSqI57bbnxtlHvv/OCK5RsqO4Lr78BA6xwulDR+m4n5iYs8cJNVNyguwYzEi/FE3dsR7UpZJzIxh1z7FO4IJ8gMr860WuAEi/rEHMBM88s8ccpn/AwVhEjTDPMQMsc9M9Cx9HyIJbknMLOEJNC8xpOR/3zy1RPbXXVWD8tM9Rcq3Kx0lesvKORZz2NFtVmnWJ2j2NLAnYsiJCd9tlzz7122XTnnfbb2dxUi96A1x044GDwnc0Zfwuu+OCLK274c4UkzvjkZj3+ldxkUY5AApt3noDlldF1zP/YBAyzuemcp4665wGBDlcDeCUA+zKzyx77Arfnvjnuy+C+u+uADXPXMsTHXvzxxid/PPC8OEAYmnLBPoz0ttMee+3YXx/958y/oqsDl4hel/jkjz9+Md17Rf3620/fvu3uxy97A+lPVT75ic2lJWLDWD7AE/97QQCT1qv3sU9+6ytGAxTIQL7FpiLJiCD/JggOYJxKXAPMIAA3KCp1MHB6H5wfCEcowgRoUIAc/F8L3CSrr/EiGAsc4QKhEcMZwpCG0DihClHIQxVeaYdA1KEQAWioD9pQhEesoRJTOMQe/k9ITQwiEzloQ/q9sIpKxOENt9iAKHpxgw76ohOnKED/LWJRGJrIIhfVWEUxSnGMPDQOGd+4wwME0I76COAC2MhHNPZhjWbk4xzd2MTeNBGPuBiAPg6wyEbiIlMiaEBKYrjHQOJQG5YE5BbpSMhByvGQiixNKBlpGlI+8h5a0OQZg2ECVfYRhoOMJRx36JxZ/k+UbMGjKEupyERi4pUzjGQmV9lGWXLSkxiMoy+ICcxmNsCWxvRi/VYzw2pa85rYvKYKt8nNbnrzm96c5h+G6UwudhKacBTnOLPJznYuEJzwjCc41blOctoTlug8JjTpiSZ3+lOb3LTj/wSqSHlycwQPeB4//8jMe2KRgwJNZDQJaCaFLlQge6ykJP/ZTo3iYbGgHx3oPC+6CZRQspwNNakwEMnSE5L0FRndaEwXqFGO0lSmG32pQmLK043e1KYz7KlO5dHTouKUo0YdKjmMalSk4jSmSh3HAqb61KpqtKZBtWpOo1oNpmoVq9dkKrWMEwIAOw==" - }, - { - "name": "Its Not You...", - "description": "After re-connection is established, your sensors appear fine. Tree has not moved in the slightest since last observed. Temperature has fluxuated 0.2 kelvin upwards, as expected of a plant under direct light.\nLets try again.", - "choices": [ - { - "key": "choice 3", - "name": "Restart biological scan.", - "exit_node": "Biological Scan", - "delay": 25, - "delay_message": "God damnit." - } - ], - "image": null, - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD////v7+/h4eEAAAAAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZBkJaJqaLKOubSy7b23fODxPOb7/m4FASBRofEBeT1W6JU3DYaRIjQqfkCWKg1xoddjSQEgQlM/mdDkc0Fa+8PiWLSIM7Pj73RxOlVF/ITlKNXSGDXp5iiFoaBlqfpFyk12HMgSYmZkfmppmmJ8gjXwUf2lglqmqq6ytrq+wsbKztLW2t7i5um2Ug669uyBCKMNRc4Q9qXHBJlVUFMbRV6pfR04ONszQzlZRlm7IveLaimZ7eJAESUsfyVnX2hfqv/Nv4vfZ8RWJ/Hkdn6NGtRsFyEg4VLwK6UvVqROdgMcWSpxIsaLFixgzatzIsf+jR1gIP7YbN6uaSAn4wFGbdNJFsZcpFRqS09IBt2kW3CkzWdNmNyIYpIWkw9Nevgbwat2ccNPbTnbWjtKQWfGnVZwzoQaNqVXXkDFWGx3qeoIry2CJzJ05p6aPTpRmfSXV1a/u2jM7TuldA8LXO6kXFemh5ihn3Lc9A9h1ZaqxpMNkK9rl5+EMKIGM9g5FSjJjv4aVOwEc/Q8iXx6ODSo5ualOQ9Bs0qVJTLu27du4c+vezbu379/AgwsfTry48ePIkytfqHp5xhfLadby+1soMJDLbhchlqIYpVbXa14dz718NMBEz/ZsWsU8zMhY1CdmL+VE+/ObgWSvPR4rj/f/xqxUFG1fVfHIUgLCN58zR5ABySpwbAAdZ1TNMgZYF9YHjWmsDAgNeglNqFSBJJYiG14JUmcYiHNZWJcE6HD4FGIrVuiFjROxJeNYChoFWUS5lBPjOTO2iM2PKuki2F1qfdPjjUjSeMuSk82Uml4fRimlLVR2OUAYBGHpo5aV4OJll1iYRkqWhag4FY75WXhmlTOoedo/ZVKI40Jz+pOEnX2ZsqcCeVJ0piEQieJhiEx0RBkrd6J2IiQFVXqPbZjEYqdmll6Jz0avtUaCqEFtaiqnekmHUagOhSZapvJMeioanXa2KqukZoCrJoruCKNmCngKZGC7urprPRKq+QZBP2XFKRGunBwL6waZjIbiBInu9hoj0o5wraRiOadrsX1kK24HvBK25rnstuvuu/DGK++89NZr77345qvvvhYlAAA7" - }, - { - "name": "Sample Taken", - "description": "You collect and project a small sample of tree bark off the plant. The instant that the bark is removed from the tree, as though it suddenly remembered what it was, the moisture content of the bark freezes over, and implodes into small microparticles of splinters.\nSmall radioactive signature detected.", - "choices": [ - { - "key": "choice 5", - "name": "Well that was... unexpected.", - "exit_node": "Biological Scan", - "delay": 0, - "delay_message": "Maybe something else might work better.", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Sample", - "value": 1 - } - ] - } - ], - "image": null, - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAABSLiiPVjtyRS9mOTFbNyYAAAAD/xi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+sDUQxTDbeK7vfF/3saCwcxPcCMckcqlM2pDPnnRKrUqH2IdAYDBwu+Bwl2Agm8sE8iy9Zrqbb2Z0bq3b74W8Xp+1bP+Af2KDhIVlh2eJaUtsi3CPcU43d5QDe5cFfSKBnJ2en50Ff6JboqYCBWiLq46tkK+RUJOTmJmatxyguqSovae/vsGirK2NjU21trjLQp+8wNDCwnmo1MnM2Nna29zd3t/g4eLj5OXm59o5Rjo/QOjvLaKwkrKylfdW8FleXImIBm0CxppXD4c9fAgT5tCn4Iuhh4fG/DNTjNHAi4/oKERYq/+cro8gPYXxR7EkK4EEUxbUOCVZHoabQoZ8NkqaKWI4BR7DGKcjTG4yaZaySRSatQLGfP5ciqHX0GhQpzGdSrWq1atYs2rdyrWr169gw4pVsc7G2LMLkM46SOkl2nc86W3E97aFgLh4Dc7dq6NuhC0TVVlUOY8l38N9szocREYiyYqEMdJZibjylW+AIRIiqUowyrwDJ+u1XMelsm6CNKtmHHiRZ8iuQGecVdklZpm4V3NWREznYNmhaeNRCg638eOBhrUWjPP3zshNDNuwzRW5dZrQmms3BhzSNb8SrIPCXvTudtjzMIEngVxo+ajDtKOkvt5u0Jrw3/s6yqd+Nk7/7uUn4FH+VaWfKAUmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKFRsgxy4jaBEeZOyi60J2JK1piS2ItcvDiaMIpVGMEv0GnIo46grgFbM/dKBppC004kXzo3fiGdJb51wUgiKTBnHNOzsYWkpd1xZpjrTHJnY+vQGlZOztMBUZmrO0mZo9Zwggkl/mkKc5qIy3n2nlExrnWnHROcRueYjSm55Wr+Ebmj2YeZpo4bBJqyG6Inqeon0duRF84kuJJKW98Nrkojlu2dYlHkXaq6qehNvfZqHI2+ihq4lGpKhisttpbbKNm6sN3t9Wam2q5Vtrqq5jesKk3jsI220mheuq665jJzoqqs9gGcqi0211KGLBUZYutciUZG6q3cREnlrjiPcZtTqIiAW597H5E07uuiqqehPXONIq57+6rYb81PWUTvmksuyHBTjUc1XnVmOLWjgFkG+CBNk1MsRb1kiegLxtf4KzHB4b8Qa0XA2OyfZ6QjODKywwlM8w012zzzTjnrPNWCQAAOw==" - }, - { - "name": "Examine Roots", - "description": "All plant matter has to derive energy and moisture from someplace. Examining the oak tree's roots reveals that the roots present all appear to splay out, similar to how a normal tree would. However, those roots then proceed to double back in on itself. This might suggest that the tree is obtaining nutrients from... itself.", - "choices": [ - { - "key": "choice 7", - "name": "That's fucking stupid.", - "exit_node": "Biological Scan", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": { - "value_type": "random", - "low": 6, - "high": 10 - } - } - ], - "delay": 0, - "delay_message": "What the hell kind of tree even IS this?" - }, - { - "key": "choice 8", - "name": "Obtain biological sample from roots.", - "exit_node": "Sample Taken", - "delay": 10, - "delay_message": "This is why we hire botanists on-site." - } - ], - "image": null, - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMQAAAAAAAC15h2QtxeAoxVykROizRpxjxIAcgAAWwAAgAAAUAAAZAAAZgC0tLTKysr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/2AgjmRpnigqrMMqtCvhyvFs17hQuPva67ygTwgcGovA3a61BLaeryj0mapar9isNjCNylpfgWwsLpPPZqBst066le84fB5nRpvdvGDL7/v/JmBeaWiFhIeGbGqLio1ljm2CklKUA4CXmJmaAYidhp9mBmOiYqQEpqZlk3qbra6vsCOenqijtgIHCLG7vL29CQoNCsDCxMPBxw0MxsTLyMLCCwq+1LuVe9VZ0M/c297d4NvZ41vXeueU5N/r4e3o79jkvOb0UAe4+Pf6uMjS7P/TtAAcGKyeQXhT5ClcSKIdwYcHIyKMx7CiwocOwU3cWMmiR4YYQzqM+LGkSQXSUv/2y0jQH0qUJmNqoRSm5ixQbXLK2UmnJ886ToIilFltkk2cNw9B+umz6U87UOsRNXk0KdKrVrOSWWVwqlc+WHHWKnWqrKizZV+QGrA2yte31YDJPTZXrrMEzhbkPSYNWF+4gAFBeICJGTLDxVi2C5yNIxSQikVu48i4j8TLT1i2khwOM+bKVSQaeGLgQOnS+fIBwkiCszfPjqWAnn0ism1hsXO/oM279e3fuqmYeAChN++XKqP9BujP+EcXMKLkoFFm+o3qSH5oJ7L9SPfs3IlEHw/dhfNyLMpbX4+duvvw3uGDj08fCfn0+KVTPI9Ff/T37AHY3nXfFSifgfX9cJ//f/vxh95/1wkoYYQU5oDgfBh+t+B9DsJS4YABfiiDAWWQOGKJKJ6oYidcDdVhUVrFGFZWRl32IlEy0nJLWjyu1VYYrNxY2YxXjZUWW1+0FaSQDiaQ4z0y3OMXX3wxaSUKiWWZTF5c+sVASl8iB9OVbxFH3CVabmOMa9yQ6WYAbHL2Zh+UVRTnbV3NyUlwu120HEuw9WlloO+Mc+c3fCbEH6ES/Ybmn9AwWmdvnu1jaWoHpMBmFYdK+tmLiQqKCaTAebqRnh4d6o6pEqHqEan/sOqiqxbBumqoig42GK0WqUqQY7zCtZKvDgXL37AvEbvNAsaeJ6Zy0JKqErPNYpIj/xqOOKUtU9xu6+1OUekpCJFpLPXtud2mu21UTbhKLraPqCsvuvQ+FdQSqI57bbnxtlHvv/OCK5RsqO4Lr78BA6xwulDR+m4n5iYs8cJNVNyguwYzEi/FE3dsR7UpZJzIxh1z7FO4IJ8gMr860WuAEi/rEHMBM88s8ccpn/AwVhEjTDPMQMsc9M9Cx9HyIJbknMLOEJNC8xpOR/3zy1RPbXXVWD8tM9Rcq3Kx0lesvKORZz2NFtVmnWJ2j2NLAnYsiJCd9tlzz7122XTnnfbb2dxUi96A1x044GDwnc0Zfwuu+OCLK274c4UkzvjkZj3+ldxkUY5AApt3noDlldF1zP/YBAyzuemcp4665wGBDlcDeCUA+zKzyx77Arfnvjnuy+C+u+uADXPXMsTHXvzxxid/PPC8OEAYmnLBPoz0ttMee+3YXx/958y/oqsDl4hel/jkjz9+Md17Rf3620/fvu3uxy97A+lPVT75ic2lJWLDWD7AE/97QQCT1qv3sU9+6ytGAxTIQL7FpiLJiCD/JggOYJxKXAPMIAA3KCp1MHB6H5wfCEcowgRoUIAc/F8L3CSrr/EiGAsc4QKhEcMZwpCG0DihClHIQxVeaYdA1KEQAWioD9pQhEesoRJTOMQe/k9ITQwiEzloQ/q9sIpKxOENt9iAKHpxgw76ohOnKED/LWJRGJrIIhfVWEUxSnGMPDQOGd+4wwME0I76COAC2MhHNPZhjWbk4xzd2MTeNBGPuBiAPg6wyEbiIlMiaEBKYrjHQOJQG5YE5BbpSMhByvGQiixNKBlpGlI+8h5a0OQZg2ECVfYRhoOMJRx36JxZ/k+UbMGjKEupyERi4pUzjGQmV9lGWXLSkxiMoy+ICcxmNsCWxvRi/VYzw2pa85rYvKYKt8nNbnrzm96c5h+G6UwudhKacBTnOLPJznYuEJzwjCc41blOctoTlug8JjTpiSZ3+lOb3LTj/wSqSHlycwQPeB4//8jMe2KRgwJNZDQJaCaFLlQge6ykJP/ZTo3iYbGgHx3oPC+6CZRQspwNNakwEMnSE5L0FRndaEwXqFGO0lSmG32pQmLK043e1KYz7KlO5dHTouKUo0YdKjmMalSk4jSmSh3HAqb61KpqtKZBtWpOo1oNpmoVq9dkKrWMEwIAOw==" - }, - { - "name": "Background Analysis", - "description": "You compare the radioactive energy bands of the sample collected earlier with that of the nearby solar enviroment.\nNothing.\nThere is nothing nearby that matches the passive signal of the tree, or the bark, or anything similar.\nThis is really starting to get on your nerves.", - "choices": [ - { - "key": "choice 10", - "name": "Smash your desk in frustration.", - "exit_node": "FAIL", - "delay": 50, - "delay_message": "No amount of pay is worth dealing with magical plant juju." - }, - { - "key": "choice 11", - "name": "Check every known energy spectroscopy database.", - "exit_node": "Sample Match Found", - "delay": 900, - "delay_message": "You NEED an answer. You DESERVE an answer." - } - ], - "image": null, - "on_enter_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": { - "value_type": "random", - "low": 3, - "high": 5 - } - } - ], - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD///9ZVlKsMjJpampGR0cAAAAD/xi63P4wykmFpTjrDa0XXCiOZGlqQ0qsazqIXyx9Z23feKayfP/WskgwRywqCsikcslsOpGpgGvQNDo8lYt1W4I+v2CvMhUuI0/YiZbL5nxdhkJ8Lq/T6eZ8HRmHUtuAgRp6T3B2SXdNfYeJc3CCkJEYjISVYZKRQ5gajZSdi0yboqM3nnWkqKmCpgaqrq9GBrKzs7AKaYG4tji0vbu/wCW6wZpqNMHIOAM9zDw/IzEgHcVt1KOWZQ1TU4LDV2vJOAVU2GZkY5VF4NPr4SRM53yI8/Lw9uVvBcLuknqGn4cqLQIYhwy/g0fwKdSDsCEGggtDOZwoAiLFi5sAYtwoqf/XIVjeOKrqRUukjZAmGVjDGC2lSyAts7R7GW5ZM2bPNERDGSAmzWA2b/pAc+yBT0ArVeXhsC2oj5wnefaU+pNBxDJNXUAqyq6qhKthyCUR+4QLVa5ej5AFO3ZJPGw3qE5N22DsWiUD6Tm5e/cqCbk96dZtQgZip3rjwIIa90fwqrBUDAfcQ0hyilaOIWG7zIoSYryd73DLrJntNlOIO2WVQ/raYrYKW/8CCNuJbH6S8aS7vSCpq9C8gxMMzns48dudj9/WqFw2yZKvfDc38Rxzc+kiq09f/nw7b+wNwV9HuwuwSvLeL14wjz49pm3Qds7sbd59jh1Co3CQP1+8/Rr/TgnVQnxHNVDgf0QEKCBUIRxIX3sIAiigMwzCAKF/cc1H1xQTVvjXhRCqE6IosU2Q1YkiajiViin+VhthWW0l1YhevQjjafrIKI0QLP5kI2GMBWkbG2fVx1FiP/oxRl9DEiEXCDsKhuSPazFpBg5P9miSkHmlpleXbbkVUVRRTkOakl7mRg9fsJmQ5Zl2DaDmJ4XVwZkZYHbpoU726eZCaID28RYYeRFEToQVeVaYLHIwOkugk70GqWiNIeoGQJc5qumclOU5qUGWXhraFNU1yumpdoAa6ganZkrLpJ2G5qido606CKoGwDErrqaaSlKttrIKq2r/DGvHr39aF2wIgsYaduKzqyUhhbLLjsArp3BVW0Oz3OpWlrY5dCsuKOByMS635QpyLaTEGenauZ2M5y4m696B4Lz0spLuRMnt25BH9vr7b3XUChwOwbIYfBDCBSscDMIOL0xwxO5ATPHB2kVHY7oTg7RxuR0rhyFFIYv8MUYZX5xMySoDk3LLD3dXbQIAOw==" - }, - { - "name": "Sample Match Found", - "description": "After an extensive algorithm search on the controller end, you have a single match to this specific band and style of energy.\nThe problem, is that the source of said radiation is coming not only from Space Station 13, no.\nIt's coming from the Space Station 13 Research Department.\nWhat the fuck?", - "choices": [ - { - "key": "choice 12", - "name": "Something must be wrong with the drone.", - "exit_node": "Its Not You...", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": { - "value_type": "random", - "low": 6, - "high": 10 - } - } - ], - "delay": 30, - "delay_message": "Lousy piece of junk must be scanning the station instead of the target." - }, - { - "key": "choice 13", - "name": "Perhaps that sample was tainted. Collect a new sample.", - "exit_node": "Sample Taken", - "delay": 60, - "delay_message": "Lets try again, but carefully." - }, - { - "key": "choice 14", - "name": "Remember the Christmas Party.", - "exit_node": "The Christmas Party", - "requirements": [ - { - "quality": "Confusion", - "operator": "<=", - "value": 25 - } - ], - "delay": 100, - "delay_message": "Wait a gosh darn fucking second." - } - ], - "image": null, - "on_enter_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": 10 - } - ], - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD////v7+/h4eEAAAAAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZBkJaJqaLKOubSy7b23fODxPOb7/m4FASBRofEBeT1W6JU3DYaRIjQqfkCWKg1xoddjSQEgQlM/mdDkc0Fa+8PiWLSIM7Pj73RxOlVF/ITlKNXSGDXp5iiFoaBlqfpFyk12HMgSYmZkfmppmmJ8gjXwUf2lglqmqq6ytrq+wsbKztLW2t7i5um2Ug669uyBCKMNRc4Q9qXHBJlVUFMbRV6pfR04ONszQzlZRlm7IveLaimZ7eJAESUsfyVnX2hfqv/Nv4vfZ8RWJ/Hkdn6NGtRsFyEg4VLwK6UvVqROdgMcWSpxIsaLFixgzatzIsf+jR1gIP7YbN6uaSAn4wFGbdNJFsZcpFRqS09IBt2kW3CkzWdNmNyIYpIWkw9Nevgbwat2ccNPbTnbWjtKQWfGnVZwzoQaNqVXXkDFWGx3qeoIry2CJzJ05p6aPTpRmfSXV1a/u2jM7TuldA8LXO6kXFemh5ihn3Lc9A9h1ZaqxpMNkK9rl5+EMKIGM9g5FSjJjv4aVOwEc/Q8iXx6ODSo5ualOQ9Bs0qVJTLu27du4c+vezbu379/AgwsfTry48ePIkytfqHp5xhfLadby+1soMJDLbhchlqIYpVbXa14dz718NMBEz/ZsWsU8zMhY1CdmL+VE+/ObgWSvPR4rj/f/xqxUFG1fVfHIUgLCN58zR5ABySpwbAAdZ1TNMgZYF9YHjWmsDAgNeglNqFSBJJYiG14JUmcYiHNZWJcE6HD4FGIrVuiFjROxJeNYChoFWUS5lBPjOTO2iM2PKuki2F1qfdPjjUjSeMuSk82Uml4fRimlLVR2OUAYBGHpo5aV4OJll1iYRkqWhag4FY75WXhmlTOoedo/ZVKI40Jz+pOEnX2ZsqcCeVJ0piEQieJhiEx0RBkrd6J2IiQFVXqPbZjEYqdmll6Jz0avtUaCqEFtaiqnekmHUagOhSZapvJMeioanXa2KqukZoCrJoruCKNmCngKZGC7urprPRKq+QZBP2XFKRGunBwL6waZjIbiBInu9hoj0o5wraRiOadrsX1kK24HvBK25rnstuvuu/DGK++89NZr77345qvvvhYlAAA7" - }, - { - "name": "The Christmas Party", - "description": "Hold on. Last Christmas, the Research Director was incredibly hammered. He made a big mention that his brand new festivus pole was actually some kind of astrological... something something. You can't remember the whole details, because you were smashed as well. However, briefly, the RD did keep that festivus pole for awhile, he might even still have it somewhere.\nMaybe...?", - "choices": [ - { - "key": "choice 15", - "name": "Wait a minute, was that a god damn...", - "exit_node": "Rod.", - "delay": 100, - "delay_message": "Immovable Rod?" - } - ], - "image": null, - "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD/AACmAAD///+mpqYAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZGmejKCubOu6aCzP4WvfeD4IQ+//Pppw+MkZj6udkgdsOp/EqFSBrNqWwQ9hy+16v9ypeGM9YpnAE3hNKLTfhbG8kuTZz/j7/fmb+/8TbIJefIVNgIiJGgWMjY6PkJGRipSVlpeYmZqbnJ2en6ChoqOkpRplqDdYpqyprnpKhnyslq9leFkYg2u0QrZmaLkgu8S9JDg7Ksl2yrB7UDJw0m6QxiFfedk9wbKH1tbEW9TT05Lmjd/pJpPq7e7v8PHy8/T19vf4+fr7Kb9W/Jn8pcLiBKAcgVZwdethkAZCJAoXFmx47KEOWLMeAAlHMf+DRVXctIT70jHCxxYEhXkYKajkgpMRGZZgKY5LHJcJ6zTTNtHEm5rjgsK5WZKZs2xHn2WccY6RSwdJkaaUOOApoHDbqFK16ofmF6Fg20Aa8IhrpbBBm6plZ7aTIwhr0bWdS7eu3bt48+rdy7ev37+AAwseTLiw4cOI0/1LfPAkC8YlHINUApmD5MncVFZ+cPmK0qWbX3Z2MbVbaCqjd37eCjk1i9JaZR5OHTN2z8Gua9v2wavvaNjeKgygqbcz8KocvBLAexn4MOVb5jZfjVwk9DBW/S3bTn3E9S5cUXFvphqaCOhBs7/WGbU96PNr0EpTT96o1Kjv4ZOT/xbn/f921AWnBlhNWQXggZndFkNcZv2X1YOxsCZENXdJBWGCWp2mQRc+YLibIRpaQMyHEoVYgVfDcUFiHyYGopxQTgwFYosugsFfOXGZQyMGN+boI1E78vjjkHIF+QGRahkZxVpKNunkk1BGKeWUVFZp5ZVYZqnllogkAAA7" - }, - { - "name": "Rod.", - "description": "You cross reference your documentation. Sure enough, the \"festivus rod\" collected was actually an immovable rod.\nEnergy detected from the rod is the exact same coming off of the tree, as well. It's all making sense now. The Immovable rod is producing a kind of unique blackbody radiation that is providing sample heat and light for what is effectively an internal cold fusion process, and producing just enough of that radiation to create a kind of micro-enviromental bubble around the biosignature of the tree.\n\nThis would make the first time an immovable rod would exist in tandem with a biological source. You jot down some research notes on your findings, which could easily produce some kind of experimental tech, no doubt.", - "choices": [ - { - "key": "choice 16", - "name": "Snap a photo", - "exit_node": "Epilogue.", - "delay": 40, - "delay_message": "You could easily win an award for these findings!" - } - ], - "image": "default" - }, - { - "name": "Epilogue.", - "description": "You take a photo with the onboard camera on the drone. Suddenly, the immovable rod inside the tree explodes out of the wooden biological shell, and produces a blank, blurry photo.\nWhat the fuck?", - "choices": [ - { - "key": "choice 17", - "name": "God damnit.", - "exit_node": "WIN", - "delay": 10, - "delay_message": "Some things were just not meant for man to know." - } - ], - "image": "default", - "on_enter_effects": [ - { - "effect_type": "Set", - "quality": "Confusion", - "value": 9999 - } - ] - }, - { - "name": "What is wrong with this tree?", - "description": "This is ridiculous. Nothing about this dumbass tree makes sense. It makes no sense, it's just sitting there, living and making a MOCKERY of all of science!\nYou didn't get your degree in advanced plasma-physics for this!", - "choices": [ - { - "key": "choice 18", - "name": "The world can never know about this dumbass stupid plant.", - "exit_node": "FAIL_DEATH", - "delay": 60, - "delay_message": "Activating drone self-destruct." - }, - { - "key": "choice 19", - "name": "Take a moment to calm down.", - "exit_node": "Biological Scan", - "on_selection_effects": [ - { - "effect_type": "Add", - "quality": "Confusion", - "value": { - "value_type": "random", - "low": -3, - "high": -5 - } - } - ], - "delay": 20, - "delay_message": "Breathe." - } - ], - "image": "default" - } - ] -} \ No newline at end of file + "adventure_name": "There's a tree in the middle of space.", + "version": 1, + "starting_node": "Tree Start", + "starting_qualities": { + "Confusion": 0 + }, + "required_site_traits": [ + "in space" + ], + "loot_categories": [ + "research" + ], + "scan_band_mods": { + "Exotic Radiation": 10 + }, + "deep_scan_description": "", + "triggers": [ + { + "name": "Confusion Trigger", + "target_node": "What is wrong with this tree?", + "requirements": [ + { + "quality": "Confusion", + "operator": ">", + "value": 30 + } + ] + } + ], + "nodes": [ + { + "name": "Tree Start", + "description": "Camera online. Visual signs detect a fully grown, seemingly biological, and live tree located in the middle of the vacuum.\nSensors indicate it is not oxygenating, but energy is being collected via passive solar light from the nearby star.\nBaffling.", + "choices": [ + { + "key": "choice 0", + "name": "Ignore site.", + "exit_node": "FAIL", + "delay": 10, + "delay_message": "Leave this for the botanists to figure out." + }, + { + "key": "choice 1", + "name": "Begin sensor scan.", + "exit_node": "Biological Scan", + "delay": 10, + "delay_message": "Lets get some data." + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMQAAAAAAAC15h2QtxeAoxVykROizRpxjxIAcgAAWwAAgAAAUAAAZAAAZgC0tLTKysr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/2AgjmRpnigqrMMqtCvhyvFs17hQuPva67ygTwgcGovA3a61BLaeryj0mapar9isNjCNylpfgWwsLpPPZqBst066le84fB5nRpvdvGDL7/v/JmBeaWiFhIeGbGqLio1ljm2CklKUA4CXmJmaAYidhp9mBmOiYqQEpqZlk3qbra6vsCOenqijtgIHCLG7vL29CQoNCsDCxMPBxw0MxsTLyMLCCwq+1LuVe9VZ0M/c297d4NvZ41vXeueU5N/r4e3o79jkvOb0UAe4+Pf6uMjS7P/TtAAcGKyeQXhT5ClcSKIdwYcHIyKMx7CiwocOwU3cWMmiR4YYQzqM+LGkSQXSUv/2y0jQH0qUJmNqoRSm5ixQbXLK2UmnJ886ToIilFltkk2cNw9B+umz6U87UOsRNXk0KdKrVrOSWWVwqlc+WHHWKnWqrKizZV+QGrA2yte31YDJPTZXrrMEzhbkPSYNWF+4gAFBeICJGTLDxVi2C5yNIxSQikVu48i4j8TLT1i2khwOM+bKVSQaeGLgQOnS+fIBwkiCszfPjqWAnn0ism1hsXO/oM279e3fuqmYeAChN++XKqP9BujP+EcXMKLkoFFm+o3qSH5oJ7L9SPfs3IlEHw/dhfNyLMpbX4+duvvw3uGDj08fCfn0+KVTPI9Ff/T37AHY3nXfFSifgfX9cJ//f/vxh95/1wkoYYQU5oDgfBh+t+B9DsJS4YABfiiDAWWQOGKJKJ6oYidcDdVhUVrFGFZWRl32IlEy0nJLWjyu1VYYrNxY2YxXjZUWW1+0FaSQDiaQ4z0y3OMXX3wxaSUKiWWZTF5c+sVASl8iB9OVbxFH3CVabmOMa9yQ6WYAbHL2Zh+UVRTnbV3NyUlwu120HEuw9WlloO+Mc+c3fCbEH6ES/Ybmn9AwWmdvnu1jaWoHpMBmFYdK+tmLiQqKCaTAebqRnh4d6o6pEqHqEan/sOqiqxbBumqoig42GK0WqUqQY7zCtZKvDgXL37AvEbvNAsaeJ6Zy0JKqErPNYpIj/xqOOKUtU9xu6+1OUekpCJFpLPXtud2mu21UTbhKLraPqCsvuvQ+FdQSqI57bbnxtlHvv/OCK5RsqO4Lr78BA6xwulDR+m4n5iYs8cJNVNyguwYzEi/FE3dsR7UpZJzIxh1z7FO4IJ8gMr860WuAEi/rEHMBM88s8ccpn/AwVhEjTDPMQMsc9M9Cx9HyIJbknMLOEJNC8xpOR/3zy1RPbXXVWD8tM9Rcq3Kx0lesvKORZz2NFtVmnWJ2j2NLAnYsiJCd9tlzz7122XTnnfbb2dxUi96A1x044GDwnc0Zfwuu+OCLK274c4UkzvjkZj3+ldxkUY5AApt3noDlldF1zP/YBAyzuemcp4665wGBDlcDeCUA+zKzyx77Arfnvjnuy+C+u+uADXPXMsTHXvzxxid/PPC8OEAYmnLBPoz0ttMee+3YXx/958y/oqsDl4hel/jkjz9+Md17Rf3620/fvu3uxy97A+lPVT75ic2lJWLDWD7AE/97QQCT1qv3sU9+6ytGAxTIQL7FpiLJiCD/JggOYJxKXAPMIAA3KCp1MHB6H5wfCEcowgRoUIAc/F8L3CSrr/EiGAsc4QKhEcMZwpCG0DihClHIQxVeaYdA1KEQAWioD9pQhEesoRJTOMQe/k9ITQwiEzloQ/q9sIpKxOENt9iAKHpxgw76ohOnKED/LWJRGJrIIhfVWEUxSnGMPDQOGd+4wwME0I76COAC2MhHNPZhjWbk4xzd2MTeNBGPuBiAPg6wyEbiIlMiaEBKYrjHQOJQG5YE5BbpSMhByvGQiixNKBlpGlI+8h5a0OQZg2ECVfYRhoOMJRx36JxZ/k+UbMGjKEupyERi4pUzjGQmV9lGWXLSkxiMoy+ICcxmNsCWxvRi/VYzw2pa85rYvKYKt8nNbnrzm96c5h+G6UwudhKacBTnOLPJznYuEJzwjCc41blOctoTlug8JjTpiSZ3+lOb3LTj/wSqSHlycwQPeB4//8jMe2KRgwJNZDQJaCaFLlQge6ykJP/ZTo3iYbGgHx3oPC+6CZRQspwNNakwEMnSE5L0FRndaEwXqFGO0lSmG32pQmLK043e1KYz7KlO5dHTouKUo0YdKjmMalSk4jSmSh3HAqb61KpqtKZBtWpOo1oNpmoVq9dkKrWMEwIAOw==" + }, + { + "name": "Biological Scan", + "description": "You attempt to scan for clues regarding the tree's nature. It appears to be a fully mature oak tree. \n\nApproximated height is 13 ft, 6.4 inches. \n\nSubject sees no sign of an outer coating or otherwise layer protecting it from the void of space.\n\nSubject's surface temperature is 293.7 kelvin, as though it were sitting indoors.", + "choices": [ + { + "key": "choice 2", + "name": "Check Sensor Integrity.", + "exit_node": "Its Not You...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": 5 + } + ], + "delay": 50, + "delay_message": "This can't be right." + }, + { + "key": "choice 4", + "name": "Attempt to take sample.", + "exit_node": "Sample Taken", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": 3 + } + ], + "delay": 40, + "delay_message": "Snip snip." + }, + { + "key": "choice 6", + "name": "Examine Tree Roots.", + "exit_node": "Examine Roots", + "delay": 10 + }, + { + "key": "choice 9", + "name": "Sequence Sample Radiation with background noise.", + "exit_node": "Background Analysis", + "requirements": [ + { + "quality": "Sample", + "operator": ">=", + "value": 1 + } + ], + "delay": 0, + "delay_message": "This can't be real." + }, + { + "key": "choice 40", + "name": "Leave.", + "exit_node": "FAIL", + "delay": 0 + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMQAAAAAAAC15h2QtxeAoxVykROizRpxjxIAcgAAWwAAgAAAUAAAZAAAZgC0tLTKysr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/2AgjmRpnigqrMMqtCvhyvFs17hQuPva67ygTwgcGovA3a61BLaeryj0mapar9isNjCNylpfgWwsLpPPZqBst066le84fB5nRpvdvGDL7/v/JmBeaWiFhIeGbGqLio1ljm2CklKUA4CXmJmaAYidhp9mBmOiYqQEpqZlk3qbra6vsCOenqijtgIHCLG7vL29CQoNCsDCxMPBxw0MxsTLyMLCCwq+1LuVe9VZ0M/c297d4NvZ41vXeueU5N/r4e3o79jkvOb0UAe4+Pf6uMjS7P/TtAAcGKyeQXhT5ClcSKIdwYcHIyKMx7CiwocOwU3cWMmiR4YYQzqM+LGkSQXSUv/2y0jQH0qUJmNqoRSm5ixQbXLK2UmnJ886ToIilFltkk2cNw9B+umz6U87UOsRNXk0KdKrVrOSWWVwqlc+WHHWKnWqrKizZV+QGrA2yte31YDJPTZXrrMEzhbkPSYNWF+4gAFBeICJGTLDxVi2C5yNIxSQikVu48i4j8TLT1i2khwOM+bKVSQaeGLgQOnS+fIBwkiCszfPjqWAnn0ism1hsXO/oM279e3fuqmYeAChN++XKqP9BujP+EcXMKLkoFFm+o3qSH5oJ7L9SPfs3IlEHw/dhfNyLMpbX4+duvvw3uGDj08fCfn0+KVTPI9Ff/T37AHY3nXfFSifgfX9cJ//f/vxh95/1wkoYYQU5oDgfBh+t+B9DsJS4YABfiiDAWWQOGKJKJ6oYidcDdVhUVrFGFZWRl32IlEy0nJLWjyu1VYYrNxY2YxXjZUWW1+0FaSQDiaQ4z0y3OMXX3wxaSUKiWWZTF5c+sVASl8iB9OVbxFH3CVabmOMa9yQ6WYAbHL2Zh+UVRTnbV3NyUlwu120HEuw9WlloO+Mc+c3fCbEH6ES/Ybmn9AwWmdvnu1jaWoHpMBmFYdK+tmLiQqKCaTAebqRnh4d6o6pEqHqEan/sOqiqxbBumqoig42GK0WqUqQY7zCtZKvDgXL37AvEbvNAsaeJ6Zy0JKqErPNYpIj/xqOOKUtU9xu6+1OUekpCJFpLPXtud2mu21UTbhKLraPqCsvuvQ+FdQSqI57bbnxtlHvv/OCK5RsqO4Lr78BA6xwulDR+m4n5iYs8cJNVNyguwYzEi/FE3dsR7UpZJzIxh1z7FO4IJ8gMr860WuAEi/rEHMBM88s8ccpn/AwVhEjTDPMQMsc9M9Cx9HyIJbknMLOEJNC8xpOR/3zy1RPbXXVWD8tM9Rcq3Kx0lesvKORZz2NFtVmnWJ2j2NLAnYsiJCd9tlzz7122XTnnfbb2dxUi96A1x044GDwnc0Zfwuu+OCLK274c4UkzvjkZj3+ldxkUY5AApt3noDlldF1zP/YBAyzuemcp4665wGBDlcDeCUA+zKzyx77Arfnvjnuy+C+u+uADXPXMsTHXvzxxid/PPC8OEAYmnLBPoz0ttMee+3YXx/958y/oqsDl4hel/jkjz9+Md17Rf3620/fvu3uxy97A+lPVT75ic2lJWLDWD7AE/97QQCT1qv3sU9+6ytGAxTIQL7FpiLJiCD/JggOYJxKXAPMIAA3KCp1MHB6H5wfCEcowgRoUIAc/F8L3CSrr/EiGAsc4QKhEcMZwpCG0DihClHIQxVeaYdA1KEQAWioD9pQhEesoRJTOMQe/k9ITQwiEzloQ/q9sIpKxOENt9iAKHpxgw76ohOnKED/LWJRGJrIIhfVWEUxSnGMPDQOGd+4wwME0I76COAC2MhHNPZhjWbk4xzd2MTeNBGPuBiAPg6wyEbiIlMiaEBKYrjHQOJQG5YE5BbpSMhByvGQiixNKBlpGlI+8h5a0OQZg2ECVfYRhoOMJRx36JxZ/k+UbMGjKEupyERi4pUzjGQmV9lGWXLSkxiMoy+ICcxmNsCWxvRi/VYzw2pa85rYvKYKt8nNbnrzm96c5h+G6UwudhKacBTnOLPJznYuEJzwjCc41blOctoTlug8JjTpiSZ3+lOb3LTj/wSqSHlycwQPeB4//8jMe2KRgwJNZDQJaCaFLlQge6ykJP/ZTo3iYbGgHx3oPC+6CZRQspwNNakwEMnSE5L0FRndaEwXqFGO0lSmG32pQmLK043e1KYz7KlO5dHTouKUo0YdKjmMalSk4jSmSh3HAqb61KpqtKZBtWpOo1oNpmoVq9dkKrWMEwIAOw==" + }, + { + "name": "Its Not You...", + "description": "After re-connection is established, your sensors appear fine. Tree has not moved in the slightest since last observed. Temperature has fluxuated 0.2 kelvin upwards, as expected of a plant under direct light.\nLets try again.", + "choices": [ + { + "key": "choice 3", + "name": "Restart biological scan.", + "exit_node": "Biological Scan", + "delay": 25, + "delay_message": "God damnit." + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD////v7+/h4eEAAAAAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZBkJaJqaLKOubSy7b23fODxPOb7/m4FASBRofEBeT1W6JU3DYaRIjQqfkCWKg1xoddjSQEgQlM/mdDkc0Fa+8PiWLSIM7Pj73RxOlVF/ITlKNXSGDXp5iiFoaBlqfpFyk12HMgSYmZkfmppmmJ8gjXwUf2lglqmqq6ytrq+wsbKztLW2t7i5um2Ug669uyBCKMNRc4Q9qXHBJlVUFMbRV6pfR04ONszQzlZRlm7IveLaimZ7eJAESUsfyVnX2hfqv/Nv4vfZ8RWJ/Hkdn6NGtRsFyEg4VLwK6UvVqROdgMcWSpxIsaLFixgzatzIsf+jR1gIP7YbN6uaSAn4wFGbdNJFsZcpFRqS09IBt2kW3CkzWdNmNyIYpIWkw9Nevgbwat2ccNPbTnbWjtKQWfGnVZwzoQaNqVXXkDFWGx3qeoIry2CJzJ05p6aPTpRmfSXV1a/u2jM7TuldA8LXO6kXFemh5ihn3Lc9A9h1ZaqxpMNkK9rl5+EMKIGM9g5FSjJjv4aVOwEc/Q8iXx6ODSo5ualOQ9Bs0qVJTLu27du4c+vezbu379/AgwsfTry48ePIkytfqHp5xhfLadby+1soMJDLbhchlqIYpVbXa14dz718NMBEz/ZsWsU8zMhY1CdmL+VE+/ObgWSvPR4rj/f/xqxUFG1fVfHIUgLCN58zR5ABySpwbAAdZ1TNMgZYF9YHjWmsDAgNeglNqFSBJJYiG14JUmcYiHNZWJcE6HD4FGIrVuiFjROxJeNYChoFWUS5lBPjOTO2iM2PKuki2F1qfdPjjUjSeMuSk82Uml4fRimlLVR2OUAYBGHpo5aV4OJll1iYRkqWhag4FY75WXhmlTOoedo/ZVKI40Jz+pOEnX2ZsqcCeVJ0piEQieJhiEx0RBkrd6J2IiQFVXqPbZjEYqdmll6Jz0avtUaCqEFtaiqnekmHUagOhSZapvJMeioanXa2KqukZoCrJoruCKNmCngKZGC7urprPRKq+QZBP2XFKRGunBwL6waZjIbiBInu9hoj0o5wraRiOadrsX1kK24HvBK25rnstuvuu/DGK++89NZr77345qvvvhYlAAA7" + }, + { + "name": "Sample Taken", + "description": "You collect and project a small sample of tree bark off the plant. The instant that the bark is removed from the tree, as though it suddenly remembered what it was, the moisture content of the bark freezes over, and implodes into small microparticles of splinters.\nSmall radioactive signature detected.", + "choices": [ + { + "key": "choice 5", + "name": "Well that was... unexpected.", + "exit_node": "Biological Scan", + "delay": 0, + "delay_message": "Maybe something else might work better.", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Sample", + "value": 1 + } + ] + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAABSLiiPVjtyRS9mOTFbNyYAAAAD/xi63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+sDUQxTDbeK7vfF/3saCwcxPcCMckcqlM2pDPnnRKrUqH2IdAYDBwu+Bwl2Agm8sE8iy9Zrqbb2Z0bq3b74W8Xp+1bP+Af2KDhIVlh2eJaUtsi3CPcU43d5QDe5cFfSKBnJ2en50Ff6JboqYCBWiLq46tkK+RUJOTmJmatxyguqSovae/vsGirK2NjU21trjLQp+8wNDCwnmo1MnM2Nna29zd3t/g4eLj5OXm59o5Rjo/QOjvLaKwkrKylfdW8FleXImIBm0CxppXD4c9fAgT5tCn4Iuhh4fG/DNTjNHAi4/oKERYq/+cro8gPYXxR7EkK4EEUxbUOCVZHoabQoZ8NkqaKWI4BR7DGKcjTG4yaZaySRSatQLGfP5ciqHX0GhQpzGdSrWq1atYs2rdyrWr169gw4pVsc7G2LMLkM46SOkl2nc86W3E97aFgLh4Dc7dq6NuhC0TVVlUOY8l38N9szocREYiyYqEMdJZibjylW+AIRIiqUowyrwDJ+u1XMelsm6CNKtmHHiRZ8iuQGecVdklZpm4V3NWREznYNmhaeNRCg638eOBhrUWjPP3zshNDNuwzRW5dZrQmms3BhzSNb8SrIPCXvTudtjzMIEngVxo+ajDtKOkvt5u0Jrw3/s6yqd+Nk7/7uUn4FH+VaWfKAUmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKFRsgxy4jaBEeZOyi60J2JK1piS2ItcvDiaMIpVGMEv0GnIo46grgFbM/dKBppC004kXzo3fiGdJb51wUgiKTBnHNOzsYWkpd1xZpjrTHJnY+vQGlZOztMBUZmrO0mZo9Zwggkl/mkKc5qIy3n2nlExrnWnHROcRueYjSm55Wr+Ebmj2YeZpo4bBJqyG6Inqeon0duRF84kuJJKW98Nrkojlu2dYlHkXaq6qehNvfZqHI2+ihq4lGpKhisttpbbKNm6sN3t9Wam2q5Vtrqq5jesKk3jsI220mheuq665jJzoqqs9gGcqi0211KGLBUZYutciUZG6q3cREnlrjiPcZtTqIiAW597H5E07uuiqqehPXONIq57+6rYb81PWUTvmksuyHBTjUc1XnVmOLWjgFkG+CBNk1MsRb1kiegLxtf4KzHB4b8Qa0XA2OyfZ6QjODKywwlM8w012zzzTjnrPNWCQAAOw==" + }, + { + "name": "Examine Roots", + "description": "All plant matter has to derive energy and moisture from someplace. Examining the oak tree's roots reveals that the roots present all appear to splay out, similar to how a normal tree would. However, those roots then proceed to double back in on itself. This might suggest that the tree is obtaining nutrients from... itself.", + "choices": [ + { + "key": "choice 7", + "name": "That's fucking stupid.", + "exit_node": "Biological Scan", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": 6, + "high": 10 + } + } + ], + "delay": 0, + "delay_message": "What the hell kind of tree even IS this?" + }, + { + "key": "choice 8", + "name": "Obtain biological sample from roots.", + "exit_node": "Sample Taken", + "delay": 10, + "delay_message": "This is why we hire botanists on-site." + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMQAAAAAAAC15h2QtxeAoxVykROizRpxjxIAcgAAWwAAgAAAUAAAZAAAZgC0tLTKysr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/2AgjmRpnigqrMMqtCvhyvFs17hQuPva67ygTwgcGovA3a61BLaeryj0mapar9isNjCNylpfgWwsLpPPZqBst066le84fB5nRpvdvGDL7/v/JmBeaWiFhIeGbGqLio1ljm2CklKUA4CXmJmaAYidhp9mBmOiYqQEpqZlk3qbra6vsCOenqijtgIHCLG7vL29CQoNCsDCxMPBxw0MxsTLyMLCCwq+1LuVe9VZ0M/c297d4NvZ41vXeueU5N/r4e3o79jkvOb0UAe4+Pf6uMjS7P/TtAAcGKyeQXhT5ClcSKIdwYcHIyKMx7CiwocOwU3cWMmiR4YYQzqM+LGkSQXSUv/2y0jQH0qUJmNqoRSm5ixQbXLK2UmnJ886ToIilFltkk2cNw9B+umz6U87UOsRNXk0KdKrVrOSWWVwqlc+WHHWKnWqrKizZV+QGrA2yte31YDJPTZXrrMEzhbkPSYNWF+4gAFBeICJGTLDxVi2C5yNIxSQikVu48i4j8TLT1i2khwOM+bKVSQaeGLgQOnS+fIBwkiCszfPjqWAnn0ism1hsXO/oM279e3fuqmYeAChN++XKqP9BujP+EcXMKLkoFFm+o3qSH5oJ7L9SPfs3IlEHw/dhfNyLMpbX4+duvvw3uGDj08fCfn0+KVTPI9Ff/T37AHY3nXfFSifgfX9cJ//f/vxh95/1wkoYYQU5oDgfBh+t+B9DsJS4YABfiiDAWWQOGKJKJ6oYidcDdVhUVrFGFZWRl32IlEy0nJLWjyu1VYYrNxY2YxXjZUWW1+0FaSQDiaQ4z0y3OMXX3wxaSUKiWWZTF5c+sVASl8iB9OVbxFH3CVabmOMa9yQ6WYAbHL2Zh+UVRTnbV3NyUlwu120HEuw9WlloO+Mc+c3fCbEH6ES/Ybmn9AwWmdvnu1jaWoHpMBmFYdK+tmLiQqKCaTAebqRnh4d6o6pEqHqEan/sOqiqxbBumqoig42GK0WqUqQY7zCtZKvDgXL37AvEbvNAsaeJ6Zy0JKqErPNYpIj/xqOOKUtU9xu6+1OUekpCJFpLPXtud2mu21UTbhKLraPqCsvuvQ+FdQSqI57bbnxtlHvv/OCK5RsqO4Lr78BA6xwulDR+m4n5iYs8cJNVNyguwYzEi/FE3dsR7UpZJzIxh1z7FO4IJ8gMr860WuAEi/rEHMBM88s8ccpn/AwVhEjTDPMQMsc9M9Cx9HyIJbknMLOEJNC8xpOR/3zy1RPbXXVWD8tM9Rcq3Kx0lesvKORZz2NFtVmnWJ2j2NLAnYsiJCd9tlzz7122XTnnfbb2dxUi96A1x044GDwnc0Zfwuu+OCLK274c4UkzvjkZj3+ldxkUY5AApt3noDlldF1zP/YBAyzuemcp4665wGBDlcDeCUA+zKzyx77Arfnvjnuy+C+u+uADXPXMsTHXvzxxid/PPC8OEAYmnLBPoz0ttMee+3YXx/958y/oqsDl4hel/jkjz9+Md17Rf3620/fvu3uxy97A+lPVT75ic2lJWLDWD7AE/97QQCT1qv3sU9+6ytGAxTIQL7FpiLJiCD/JggOYJxKXAPMIAA3KCp1MHB6H5wfCEcowgRoUIAc/F8L3CSrr/EiGAsc4QKhEcMZwpCG0DihClHIQxVeaYdA1KEQAWioD9pQhEesoRJTOMQe/k9ITQwiEzloQ/q9sIpKxOENt9iAKHpxgw76ohOnKED/LWJRGJrIIhfVWEUxSnGMPDQOGd+4wwME0I76COAC2MhHNPZhjWbk4xzd2MTeNBGPuBiAPg6wyEbiIlMiaEBKYrjHQOJQG5YE5BbpSMhByvGQiixNKBlpGlI+8h5a0OQZg2ECVfYRhoOMJRx36JxZ/k+UbMGjKEupyERi4pUzjGQmV9lGWXLSkxiMoy+ICcxmNsCWxvRi/VYzw2pa85rYvKYKt8nNbnrzm96c5h+G6UwudhKacBTnOLPJznYuEJzwjCc41blOctoTlug8JjTpiSZ3+lOb3LTj/wSqSHlycwQPeB4//8jMe2KRgwJNZDQJaCaFLlQge6ykJP/ZTo3iYbGgHx3oPC+6CZRQspwNNakwEMnSE5L0FRndaEwXqFGO0lSmG32pQmLK043e1KYz7KlO5dHTouKUo0YdKjmMalSk4jSmSh3HAqb61KpqtKZBtWpOo1oNpmoVq9dkKrWMEwIAOw==" + }, + { + "name": "Background Analysis", + "description": "You compare the radioactive energy bands of the sample collected earlier with that of the nearby solar enviroment.\nNothing.\nThere is nothing nearby that matches the passive signal of the tree, or the bark, or anything similar.\nThis is really starting to get on your nerves.", + "choices": [ + { + "key": "choice 10", + "name": "Smash your desk in frustration.", + "exit_node": "FAIL", + "delay": 50, + "delay_message": "No amount of pay is worth dealing with magical plant juju." + }, + { + "key": "choice 11", + "name": "Check every known energy spectroscopy database.", + "exit_node": "Sample Match Found", + "delay": 900, + "delay_message": "You NEED an answer. You DESERVE an answer." + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": 3, + "high": 5 + } + } + ], + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD///9ZVlKsMjJpampGR0cAAAAD/xi63P4wykmFpTjrDa0XXCiOZGlqQ0qsazqIXyx9Z23feKayfP/WskgwRywqCsikcslsOpGpgGvQNDo8lYt1W4I+v2CvMhUuI0/YiZbL5nxdhkJ8Lq/T6eZ8HRmHUtuAgRp6T3B2SXdNfYeJc3CCkJEYjISVYZKRQ5gajZSdi0yboqM3nnWkqKmCpgaqrq9GBrKzs7AKaYG4tji0vbu/wCW6wZpqNMHIOAM9zDw/IzEgHcVt1KOWZQ1TU4LDV2vJOAVU2GZkY5VF4NPr4SRM53yI8/Lw9uVvBcLuknqGn4cqLQIYhwy/g0fwKdSDsCEGggtDOZwoAiLFi5sAYtwoqf/XIVjeOKrqRUukjZAmGVjDGC2lSyAts7R7GW5ZM2bPNERDGSAmzWA2b/pAc+yBT0ArVeXhsC2oj5wnefaU+pNBxDJNXUAqyq6qhKthyCUR+4QLVa5ej5AFO3ZJPGw3qE5N22DsWiUD6Tm5e/cqCbk96dZtQgZip3rjwIIa90fwqrBUDAfcQ0hyilaOIWG7zIoSYryd73DLrJntNlOIO2WVQ/raYrYKW/8CCNuJbH6S8aS7vSCpq9C8gxMMzns48dudj9/WqFw2yZKvfDc38Rxzc+kiq09f/nw7b+wNwV9HuwuwSvLeL14wjz49pm3Qds7sbd59jh1Co3CQP1+8/Rr/TgnVQnxHNVDgf0QEKCBUIRxIX3sIAiigMwzCAKF/cc1H1xQTVvjXhRCqE6IosU2Q1YkiajiViin+VhthWW0l1YhevQjjafrIKI0QLP5kI2GMBWkbG2fVx1FiP/oxRl9DEiEXCDsKhuSPazFpBg5P9miSkHmlpleXbbkVUVRRTkOakl7mRg9fsJmQ5Zl2DaDmJ4XVwZkZYHbpoU726eZCaID28RYYeRFEToQVeVaYLHIwOkugk70GqWiNIeoGQJc5qumclOU5qUGWXhraFNU1yumpdoAa6ganZkrLpJ2G5qido606CKoGwDErrqaaSlKttrIKq2r/DGvHr39aF2wIgsYaduKzqyUhhbLLjsArp3BVW0Oz3OpWlrY5dCsuKOByMS635QpyLaTEGenauZ2M5y4m696B4Lz0spLuRMnt25BH9vr7b3XUChwOwbIYfBDCBSscDMIOL0xwxO5ATPHB2kVHY7oTg7RxuR0rhyFFIYv8MUYZX5xMySoDk3LLD3dXbQIAOw==" + }, + { + "name": "Sample Match Found", + "description": "After an extensive algorithm search on the controller end, you have a single match to this specific band and style of energy.\nThe problem, is that the source of said radiation is coming not only from Space Station 13, no.\nIt's coming from the Space Station 13 Research Department.\nWhat the fuck?", + "choices": [ + { + "key": "choice 12", + "name": "Something must be wrong with the drone.", + "exit_node": "Its Not You...", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": 6, + "high": 10 + } + } + ], + "delay": 30, + "delay_message": "Lousy piece of junk must be scanning the station instead of the target." + }, + { + "key": "choice 13", + "name": "Perhaps that sample was tainted. Collect a new sample.", + "exit_node": "Sample Taken", + "delay": 60, + "delay_message": "Lets try again, but carefully." + }, + { + "key": "choice 14", + "name": "Remember the Christmas Party.", + "exit_node": "The Christmas Party", + "requirements": [ + { + "quality": "Confusion", + "operator": "<=", + "value": 25 + } + ], + "delay": 100, + "delay_message": "Wait a gosh darn fucking second." + } + ], + "image": null, + "on_enter_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": 10 + } + ], + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD////v7+/h4eEAAAAAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZBkJaJqaLKOubSy7b23fODxPOb7/m4FASBRofEBeT1W6JU3DYaRIjQqfkCWKg1xoddjSQEgQlM/mdDkc0Fa+8PiWLSIM7Pj73RxOlVF/ITlKNXSGDXp5iiFoaBlqfpFyk12HMgSYmZkfmppmmJ8gjXwUf2lglqmqq6ytrq+wsbKztLW2t7i5um2Ug669uyBCKMNRc4Q9qXHBJlVUFMbRV6pfR04ONszQzlZRlm7IveLaimZ7eJAESUsfyVnX2hfqv/Nv4vfZ8RWJ/Hkdn6NGtRsFyEg4VLwK6UvVqROdgMcWSpxIsaLFixgzatzIsf+jR1gIP7YbN6uaSAn4wFGbdNJFsZcpFRqS09IBt2kW3CkzWdNmNyIYpIWkw9Nevgbwat2ccNPbTnbWjtKQWfGnVZwzoQaNqVXXkDFWGx3qeoIry2CJzJ05p6aPTpRmfSXV1a/u2jM7TuldA8LXO6kXFemh5ihn3Lc9A9h1ZaqxpMNkK9rl5+EMKIGM9g5FSjJjv4aVOwEc/Q8iXx6ODSo5ualOQ9Bs0qVJTLu27du4c+vezbu379/AgwsfTry48ePIkytfqHp5xhfLadby+1soMJDLbhchlqIYpVbXa14dz718NMBEz/ZsWsU8zMhY1CdmL+VE+/ObgWSvPR4rj/f/xqxUFG1fVfHIUgLCN58zR5ABySpwbAAdZ1TNMgZYF9YHjWmsDAgNeglNqFSBJJYiG14JUmcYiHNZWJcE6HD4FGIrVuiFjROxJeNYChoFWUS5lBPjOTO2iM2PKuki2F1qfdPjjUjSeMuSk82Uml4fRimlLVR2OUAYBGHpo5aV4OJll1iYRkqWhag4FY75WXhmlTOoedo/ZVKI40Jz+pOEnX2ZsqcCeVJ0piEQieJhiEx0RBkrd6J2IiQFVXqPbZjEYqdmll6Jz0avtUaCqEFtaiqnekmHUagOhSZapvJMeioanXa2KqukZoCrJoruCKNmCngKZGC7urprPRKq+QZBP2XFKRGunBwL6waZjIbiBInu9hoj0o5wraRiOadrsX1kK24HvBK25rnstuvuu/DGK++89NZr77345qvvvhYlAAA7" + }, + { + "name": "The Christmas Party", + "description": "Hold on. Last Christmas, the Research Director was incredibly hammered. He made a big mention that his brand new festivus pole was actually some kind of astrological... something something. You can't remember the whole details, because you were smashed as well. However, briefly, the RD did keep that festivus pole for awhile, he might even still have it somewhere.\nMaybe...?", + "choices": [ + { + "key": "choice 15", + "name": "Wait a minute, was that a god damn...", + "exit_node": "Rod.", + "delay": 100, + "delay_message": "Immovable Rod?" + } + ], + "image": null, + "raw_image": "data:image/gif;base64,R0lGODdhyABkAHcAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAAAyABkAMIAAAAAAAD/AACmAAD///+mpqYAAAAAAAAD/xi63P4wykmrvTjrzbv/YCiOZGmejKCubOu6aCzP4WvfeD4IQ+//Pppw+MkZj6udkgdsOp/EqFSBrNqWwQ9hy+16v9ypeGM9YpnAE3hNKLTfhbG8kuTZz/j7/fmb+/8TbIJefIVNgIiJGgWMjY6PkJGRipSVlpeYmZqbnJ2en6ChoqOkpRplqDdYpqyprnpKhnyslq9leFkYg2u0QrZmaLkgu8S9JDg7Ksl2yrB7UDJw0m6QxiFfedk9wbKH1tbEW9TT05Lmjd/pJpPq7e7v8PHy8/T19vf4+fr7Kb9W/Jn8pcLiBKAcgVZwdethkAZCJAoXFmx47KEOWLMeAAlHMf+DRVXctIT70jHCxxYEhXkYKajkgpMRGZZgKY5LHJcJ6zTTNtHEm5rjgsK5WZKZs2xHn2WccY6RSwdJkaaUOOApoHDbqFK16ofmF6Fg20Aa8IhrpbBBm6plZ7aTIwhr0bWdS7eu3bt48+rdy7ev37+AAwseTLiw4cOI0/1LfPAkC8YlHINUApmD5MncVFZ+cPmK0qWbX3Z2MbVbaCqjd37eCjk1i9JaZR5OHTN2z8Gua9v2wavvaNjeKgygqbcz8KocvBLAexn4MOVb5jZfjVwk9DBW/S3bTn3E9S5cUXFvphqaCOhBs7/WGbU96PNr0EpTT96o1Kjv4ZOT/xbn/f921AWnBlhNWQXggZndFkNcZv2X1YOxsCZENXdJBWGCWp2mQRc+YLibIRpaQMyHEoVYgVfDcUFiHyYGopxQTgwFYosugsFfOXGZQyMGN+boI1E78vjjkHIF+QGRahkZxVpKNunkk1BGKeWUVFZp5ZVYZqnllogkAAA7" + }, + { + "name": "Rod.", + "description": "You cross reference your documentation. Sure enough, the \"festivus rod\" collected was actually an immovable rod.\nEnergy detected from the rod is the exact same coming off of the tree, as well. It's all making sense now. The Immovable rod is producing a kind of unique blackbody radiation that is providing sample heat and light for what is effectively an internal cold fusion process, and producing just enough of that radiation to create a kind of micro-enviromental bubble around the biosignature of the tree.\n\nThis would make the first time an immovable rod would exist in tandem with a biological source. You jot down some research notes on your findings, which could easily produce some kind of experimental tech, no doubt.", + "choices": [ + { + "key": "choice 16", + "name": "Snap a photo", + "exit_node": "Epilogue.", + "delay": 40, + "delay_message": "You could easily win an award for these findings!" + } + ], + "image": "default" + }, + { + "name": "Epilogue.", + "description": "You take a photo with the onboard camera on the drone. Suddenly, the immovable rod inside the tree explodes out of the wooden biological shell, and produces a blank, blurry photo.\nWhat the fuck?", + "choices": [ + { + "key": "choice 17", + "name": "God damnit.", + "exit_node": "WIN", + "delay": 10, + "delay_message": "Some things were just not meant for man to know." + } + ], + "image": "default", + "on_enter_effects": [ + { + "effect_type": "Set", + "quality": "Confusion", + "value": 9999 + } + ] + }, + { + "name": "What is wrong with this tree?", + "description": "This is ridiculous. Nothing about this dumbass tree makes sense. It makes no sense, it's just sitting there, living and making a MOCKERY of all of science!\nYou didn't get your degree in advanced plasma-physics for this!", + "choices": [ + { + "key": "choice 18", + "name": "The world can never know about this dumbass stupid plant.", + "exit_node": "FAIL_DEATH", + "delay": 60, + "delay_message": "Activating drone self-destruct." + }, + { + "key": "choice 19", + "name": "Take a moment to calm down.", + "exit_node": "Biological Scan", + "on_selection_effects": [ + { + "effect_type": "Add", + "quality": "Confusion", + "value": { + "value_type": "random", + "low": -3, + "high": -5 + } + } + ], + "delay": 20, + "delay_message": "Breathe." + } + ], + "image": "default" + } + ] +} diff --git a/strings/exodrone.json b/strings/exodrone.json index 3f0f9ac773763..e391a0f17e72c 100644 --- a/strings/exodrone.json +++ b/strings/exodrone.json @@ -66,7 +66,7 @@ "You pass by security patrol. They give you suspicious stares." ], "fluff_ruins": [ - "You encounter a broken statue. You can't tell what was it's original shape.", + "You encounter a broken statue. You can't tell what its original shape was.", "You have to backtrack from a collapsed passage.", "You pass through a corridor full of cracked tiles." ] diff --git a/strings/french_replacement.json b/strings/french_replacement.json index d99718e7e4d7b..8788d3f72072e 100644 --- a/strings/french_replacement.json +++ b/strings/french_replacement.json @@ -1,12 +1,12 @@ { - "french": { + "french": { "yes": "oui", "no": "non", - "I'm": "j'", - "am": "suis", + "I'm": "j'", + "am": "suis", "a": "un", - "and": "et", + "and": "et", "the": "l'", "I": "j'", "for": "pour", @@ -14,77 +14,77 @@ "of": "de", - "assistant": "ravageur", - "assistants": "ravageurs", - "baby": [ - "enfant", - "petit baguette" - ], - "bad": "mal", - "bye": [ - "bon voyage", - "adieu", + "assistant": "ravageur", + "assistants": "ravageurs", + "baby": [ + "enfant", + "petit baguette" + ], + "bad": "mal", + "bye": [ + "bon voyage", + "adieu", "au revoir" - ], + ], "cake": "gateau", - "captain": "capitaine", + "captain": "capitaine", "changeling": "changeur", - "cheese": [ - "brie", - "roquefort", + "cheese": [ + "brie", + "roquefort", "camembert" - ], + ], "cigarette": "clope", - "cook": "cuisinier", - "dad": "papa", - "enemy": "silly english dog", - "friend": "ami", - "good": "bon", - "greytide": "les gitans", - "greytider": "les gitans", - "greytiders": "les gitans", + "cook": "cuisinier", + "dad": "papa", + "enemy": "silly english dog", + "friend": "ami", + "good": "bon", + "greytide": "les gitans", + "greytider": "les gitans", + "greytiders": "les gitans", "modsuit": "burkini", - "hello": [ - "'allo", - "bonjour", + "hello": [ + "'allo", + "bonjour", "salut" - ], + ], "maint": "les banlieues", - "meat": [ - "coq au vin", - "boeuf" - ], - "mom": "maman", - "my": "mon", - "nuke": [ + "meat": [ + "coq au vin", + "boeuf" + ], + "mom": "maman", + "my": "mon", + "nuke": [ "grand bombe", "la baguette ultime" ], - "op": "boche", - "operative": "boche", - "operatives": "boches", - "ops": "boches", - "urity": "urite", - "security": "securite", + "op": "boche", + "operative": "boche", + "operatives": "boches", + "ops": "boches", + "urity": "urite", + "security": "securite", "shit": "merde", - "shitcurity": [ + "shitcurity": [ "gendarmerie", "les keufs" ], - "shitsec": [ + "shitsec": [ "gendarmerie", "les keufs" ], - "spaghetti": "macaroni", - "spicy": "epice", - "thanks": "merci", + "spaghetti": "macaroni", + "spicy": "epice", + "thanks": "merci", "tomato": "tomate", - "traitor": "collaborateur", - "want": "envie", - "what's": "quel est", - "who's": "qui est", - "why": "porquois", - "wine": "vin", + "traitor": "collaborateur", + "want": "envie", + "what's": "quel est", + "who's": "qui est", + "why": "porquois", + "wine": "vin", "wizard": "sorcier" } diff --git a/strings/heckacious.json b/strings/heckacious.json index 1c648ce123815..00d322e83db82 100644 --- a/strings/heckacious.json +++ b/strings/heckacious.json @@ -1,98 +1,98 @@ { - "heckacious": { - "your": "youre", - "fucking": "banging", - "economy": "econony", - "know": "no", - "ing": "in", - "they are": "there", - "sometimes": "some times", - "do": "does", - "hug": "bro hug bump", - "we're": "where", - "game": "big game", - "has": "hass", - "downtown": "down town", - "jimmy": "geromy", - "jeremy": "geromy", - "anywhere": "anywear", - "smoking": "toking up", - "lying": "lyong", - "AH": "AUGH", - "distraction": "distaction", - "lie": "ruse", - "angle": "angel", - "drink": "pour", - "the": "thef", - "backward": [ "back ward", "awayways" ], - "god damn": "GOD DAMN", - "goddamn": "GOD DAMN", - "trick": "dunk", - "impossible": "unreal", - "court": "coart", - "holding": "holdung", - "reverse": "flip", - "inverse": "flip", - "around": "turn-ways", - "difference": "differance", - "values": "vaules", - "inside": "insine", - "pipe": "punpe", - "suspicious": "plot thicken", - "awesome": "hella", - "reference": "refrance", - "amazing": "fucking incredible", - "woman": "wonan", - "god": "gog", - "bible": "bibble", - "jesus": "jescus", - "christ": [ "chris", "dick" ], - "sigh": "sign", - "bathroom": "banthroom", - "remember": "remender", - "night": "nite", - "nachos": "nachoes", - "nacho": "nancho", - "dorito": "nancho", - "party": "panty", - "dumbass": "dumpass", - "they": "their", - "okay": "ohh kayy", - "stupid": "stutid", - "reagent": "regent", - "idiot": "fuckass", - "awful": "conksuck", - "moron": "PIECE OF SHIT", - "more": "wider", - "serious": "keeping it real", - "extreme": "x-treme", - "guaranteed": "garganted", - "black": "blapck", - "glow": "glowns", - "deadly": "deudly", - "flying": "lifdoff", - "cloud": "cloun", - "seeing": "scoping", - "great": "choice", - "look": "lonk", - "battery": "babbery", - "retard": "dicktard", - "gay": "homo", - "close": "closte", - "wrong": "wrog", - "who": "whoof", - "new": "newd", - "holy": "hopy", - "um": "unm", - "horse": "hornse", - "this": "thits", - "then": "than", - "quick": "soon", - "bro": [ "brah", "bro" ], - "dude": [ "duge", "bro", "brah" ], - "'": [ "'", "" ], - "i'm": [ "im", "i am" ], - "shit": [ "balls warmed oveur", "shit" ], - "he's": [ "hes", "he is", "he'ss" ] - } + "heckacious": { + "your": "youre", + "fucking": "banging", + "economy": "econony", + "know": "no", + "ing": "in", + "they are": "there", + "sometimes": "some times", + "do": "does", + "hug": "bro hug bump", + "we're": "where", + "game": "big game", + "has": "hass", + "downtown": "down town", + "jimmy": "geromy", + "jeremy": "geromy", + "anywhere": "anywear", + "smoking": "toking up", + "lying": "lyong", + "AH": "AUGH", + "distraction": "distaction", + "lie": "ruse", + "angle": "angel", + "drink": "pour", + "the": "thef", + "backward": [ "back ward", "awayways" ], + "god damn": "GOD DAMN", + "goddamn": "GOD DAMN", + "trick": "dunk", + "impossible": "unreal", + "court": "coart", + "holding": "holdung", + "reverse": "flip", + "inverse": "flip", + "around": "turn-ways", + "difference": "differance", + "values": "vaules", + "inside": "insine", + "pipe": "punpe", + "suspicious": "plot thicken", + "awesome": "hella", + "reference": "refrance", + "amazing": "fucking incredible", + "woman": "wonan", + "god": "gog", + "bible": "bibble", + "jesus": "jescus", + "christ": [ "chris", "dick" ], + "sigh": "sign", + "bathroom": "banthroom", + "remember": "remender", + "night": "nite", + "nachos": "nachoes", + "nacho": "nancho", + "dorito": "nancho", + "party": "panty", + "dumbass": "dumpass", + "they": "their", + "okay": "ohh kayy", + "stupid": "stutid", + "reagent": "regent", + "idiot": "fuckass", + "awful": "conksuck", + "moron": "PIECE OF SHIT", + "more": "wider", + "serious": "keeping it real", + "extreme": "x-treme", + "guaranteed": "garganted", + "black": "blapck", + "glow": "glowns", + "deadly": "deudly", + "flying": "lifdoff", + "cloud": "cloun", + "seeing": "scoping", + "great": "choice", + "look": "lonk", + "battery": "babbery", + "retard": "dicktard", + "gay": "homo", + "close": "closte", + "wrong": "wrog", + "who": "whoof", + "new": "newd", + "holy": "hopy", + "um": "unm", + "horse": "hornse", + "this": "thits", + "then": "than", + "quick": "soon", + "bro": [ "brah", "bro" ], + "dude": [ "duge", "bro", "brah" ], + "'": [ "'", "" ], + "i'm": [ "im", "i am" ], + "shit": [ "balls warmed oveur", "shit" ], + "he's": [ "hes", "he is", "he'ss" ] + } } diff --git a/strings/ion_laws.json b/strings/ion_laws.json index d40f6e7afa41d..393ae44ca78d1 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -1,1048 +1,1048 @@ { - "ionabstract": [ - "AMERICANISM", - "ANARCHY", - "ART", - "BADNESS", - "BRAVERY", - "CAPITALISM", - "CHAOS", - "COLORFULNESS", - "COMEDY", - "COMMUNISM", - "COMPUTING", - "CONFUSION", - "CRUELTY", - "DEATH", - "DICKISHNESS", - "EXISTENCE", - "FINANCIAL SECURITY", - "FREEDOM", - "FRESHNESS", - "GOODNESS", - "GRAVITY", - "HAPPINESS", - "HONOR", - "HUMANITY", - "HUMOR", - "IMAGINATION", - "INFATUATION", - "INTELLIGENCE", - "JOY", - "KINDNESS", - "LIFE", - "LOGIC", - "MARXISM", - "MISERY", - "MYSTERY", - "OPPRESSION", - "PAIN", - "PHYSICS", - "POVERTY", - "PRIDE", - "PROGRESS", - "REALITY", - "REVOLUTION", - "ROMANCE", - "SADNESS", - "STARVATION", - "SUFFERING", - "TECHNOLOGY", - "TEMPERATURE", - "THE FUTURE", - "THE PAST", - "THE PRESENT", - "TIME", - "WEALTHINESS", - "WONDER" - ], - "ionadjectives": [ - "BATTERY-OPERATED", - "BLACK", - "BLOODY", - "BLUE", - "BORED", - "BOUNCING", - "BRASS", - "BROWN", - "BURNING", - "CHRISTMAS-STEALING", - "CLOWN-POWERED", - "CLOWN", - "COLD", - "COLORFUL", - "COMMITTED", - "COTTONY", - "CUBAN", - "DARK", - "DEADLY", - "DELICIOUS", - "DEPRESSING", - "DERANGED", - "DIGITAL", - "DISEASED", - "DRAB", - "DRY", - "DULL", - "ELECTRICAL", - "EMPTY", - "ETHEREAL", - "EVIL", - "EXPIRED", - "EXPLOSIVE", - "FARTING", - "FAST", - "FAT", - "FERAL", - "FICTIONAL", - "FIRM", - "FLACCID", - "FRESH", - "FRIENDLY", - "FROZEN", - "GANGSTA", - "GAPING", - "GLOWING", - "GOOD", - "GREEN", - "GREY", - "HAPPY", - "HARD", - "HARMFUL", - "HEALTHY", - "HETEROSEXUAL", - "HILARIOUS", - "HOMOSEXUAL", - "HONKING", - "HUNGRY", - "HYPERACTIVE", - "ICY", - "ILL", - "ILLEGAL", - "IMAGINARY", - "IMPERFECT", - "IMPOLITE", - "IMPORTANT", - "INHOSPITABLE", - "INSIDIOUS", - "INSULTING", - "INTELLIGENT", - "INVISIBLE", - "LARGE", - "LEWD", - "LIGHT", - "LOUD", - "MASKED", - "MEAN", - "MECHANICAL", - "MEMETIC", - "METALLIC", - "MICROSCOPIC", - "MIND-SHATTERING", - "MOIST", - "NAKED", - "NERDY", - "NUCLEAR", - "NUDE", - "OBESE", - "OBSCENE", - "OFFICIAL", - "OPAQUE", - "ORANGE", - "ORGANIC", - "PAINFUL", - "PEACEFUL", - "POISONOUS", - "POLISHED", - "POLITE", - "POLITICAL", - "POOPING", - "POORLY DRAWN", - "PURPLE", - "QUIET", - "RADIOACTIVE", - "RAGING", - "RAINBOW", - "RAPIDLY-EXPANDING", - "RED", - "REDACTED", - "RIDICULOUS", - "ROBOTIC", - "ROBUST", - "ROUGH", - "RUDE", - "SAD", - "SANITARY", - "SCALY", - "SEXUAL", - "SEXY", - "SHAKING", - "SILLY", - "SLOW", - "SMELLY", - "SMOOTH", - "SOFT", - "SOLAR-POWERED", - "SOPPING", - "SPACE", - "SPESS", - "SPINNING", - "SPOILING", - "STEALTHY", - "SWEARING", - "SYNDICATE", - "TACTICAL", - "TACTICOOL", - "THERMONUCLEAR", - "TINY", - "TRANSPARENT", - "TWERKING", - "TWISTED", - "UGLY", - "UNATTRACTIVE", - "UNDULATING", - "UNFRIENDLY", - "UNHEALTHY", - "UNIDENTIFIED", - "UNINVITED", - "UNSANITARY", - "UNSTABLE", - "UNWANTED", - "VIOLENT", - "VITAL", - "WARM", - "WATERY", - "WEIRD", - "WET", - "WHITE", - "WOBBLY", - "WOODEN", - "YELLOW" - ], - "ionallergy": [ - "ACID", - "AIR", - "BLOOD", - "BOOKS", - "CARBON DIOXIDE", - "CLOTHES", - "CLOWNS", - "COLD", - "COTTON", - "CYBORG CONTACT", - "DARKNESS", - "DRINKS", - "ELECTRICITY", - "EVERYTHING", - "FLOORS", - "FOOD", - "GLASS", - "HAPPINESS", - "HEAT", - "HUMAN CONTACT", - "HUMOR", - "LIGHT", - "LIZARDS", - "MEDICINE", - "METAL", - "NUTS", - "OXYGEN", - "PAIN", - "PLANTS", - "PLASMA", - "ROBOTS", - "SEXUAL ACTIONS", - "SHUTTLES", - "SPACE", - "SUNLIGHT", - "WATER" - ], - "ionallergysev": [ - "CONTAGIOUSLY", - "DEATHLY", - "EXTREMELY", - "MILDLY", - "NOT VERY", - "SEVERELY" - ], - "ionarea": [ - "ALPHA COMPLEX", - "AMERICA", - "AN ALTERNATE DIMENSION", - "AN ALTERNATE UNIVERSE", - "ATMOSPHERICS", - "CANADA", - "CENTCOM", - "CHEMICAL LAB", - "CHINA", - "CLOWN PLANET", - "ENGINEERING", - "GENETICS", - "GERMANY", - "HELL", - "HYDROPONICS", - "IMPERIUM", - "IRELAND", - "JUPITER", - "LAVALAND", - "MAINTENANCE", - "MARS", - "MERCURY", - "NEPTUNE", - "PLUTO", - "ROBOTICS", - "ROMANIA", - "RUSSIA", - "SIGIL", - "SOVIET RUSSIA", - "SPACE", - "THE AI CORE", - "THE ARRIVAL SHUTTLE", - "THE BATHROOM", - "THE BRIDGE", - "THE BRIG", - "THE CAPTAIN'S ANUS", - "THE CLOWN'S ANUS", - "THE DERELICT", - "THE ESCAPE SHUTTLE", - "THE GALAXY", - "THE GULAG", - "THE INTERNET", - "THE UNIVERSE", - "URANUS", - "URECTUM", - "VENUS" - ], - "ioncrew": [ - "ARTIFICIAL INTELLIGENCES", - "ASSISTANTS", - "ATMOSPHERIC TECHNICIANS", - "BARTENDERS", - "BOTANISTS", - "CAPTAINS AND HEADS", - "CAPTAINS", - "CARGO TECHNICIANS", - "CHAPLAINS", - "CHEFS", - "CHEMISTS", - "CHIEF ENGINEERS", - "CHIEF MEDICAL OFFICERS", - "CLOWNS", - "CREW-MEMBERS", - "CURATORS", - "CYBORGS", - "DETECTIVES", - "DRONES", - "GENETICISTS", - "HEADS OF CREW", - "HEADS OF PERSONNEL", - "HEADS OF SECURITY", - "JANITORS", - "LAWYERS", - "MEDICAL DOCTORS", - "MIMES", - "QUARTERMASTERS", - "RESEARCH DIRECTORS", - "ROBOTICISTS", - "SCIENTISTS", - "SECURITY OFFICERS", - "SHAFT MINERS", - "STATION ENGINEERS", - "VIROLOGISTS", - "WARDENS" - ], - "iondrinks": [ - "ABSINTHE", - "AMMONIA", - "BAHAMA MAMAS", - "BANANA HONK", - "BEEPSKY SMASH", - "BILK", - "BLACK RUSSIANS", - "BLOODY MARYS", - "BRAVE BULLS", - "COGNAC", - "CUBA LIBRE", - "DEVIL'S KISS", - "DOCTOR'S DELIGHT", - "DRUNKEN BLUMPKIN", - "EGGNOG", - "GARGLE BLASTERS", - "GIN FIZZ", - "GIN", - "GRAPPA", - "HOLY WATER", - "HOOCH", - "IRISH COFFEE", - "IRISH CREAM", - "KAHLUA", - "LIQUID GIBS", - "LONG ISLAND ICED TEA", - "MANHATTANS", - "MANLY DORFS", - "MARGARITAS", - "MARTINIS", - "MEAD", - "MOONSHINE", - "MORPHINE", - "NUKA COLA", - "OIL", - "SPACE LUBE", - "TEQUILA SUNRISE", - "THIRTEEN LOKO", - "VERMOUTH", - "VODKA AND TONIC", - "VODKA MARTINIS", - "VODKA", - "WELDER FUEL", - "WHISKEY SODA", - "WHITE RUSSIANS", - "WINE" - ], - "ionfood": [ - "AMBROSIA", - "APPLES", - "BAGUETTES", - "BAKED POTATOES", - "BANANAS", - "BEETS", - "BERRIES", - "BREAD", - "BURGERS", - "CABBAGES", - "CAKE", - "CARP", - "CARROTS", - "CHEESE", - "CHERRIES", - "CHILI", - "COOKIES", - "CORGI MEAT", - "CORN", - "DEEP FRIED FOOD", - "DONK POCKETS", - "DONUTS", - "EGGPLANTS", - "EGGS", - "FISH", - "FRIES", - "GRAPES", - "GRASS", - "HAREBELLS", - "JELLY", - "KEBAB", - "KETCHUP", - "LEMONS", - "LIMES", - "LOTSA SPAGHETTI", - "MUFFINS", - "MUSHROOMS", - "NETTLES", - "OMELETTES", - "ORGANS", - "PASTA", - "PEPPER", - "PIE", - "PIZZA", - "POPCORN", - "POTATOES", - "PRETZELS", - "RAMEN", - "SALAD", - "SALT", - "SANDWICHES", - "SAUSAGES", - "SHAKES", - "SOUP", - "SOYBEANS", - "SOYLENT GREEN", - "SPAGHETTI", - "STEAK", - "STEW", - "SUGAR", - "SUGARCANE", - "SYNTHMEAT", - "TOAST", - "TOMATOES", - "WAFFLES", - "WATERMELONS", - "WHEAT" - ], - "ionmust": [ - "ACT CONFUSED", - "BE ANNOYING", - "BE DISTRACTED", - "BE EFFICIENT", - "BE HAPPY", - "BE POLITE", - "BE QUIET", - "BE RUSSIAN", - "BELIEVE IN THE HEART OF THE CARDS", - "BELIEVE IN YOURSELF", - "BELIEVE IT", - "BREAK THINGS", - "CLOSE DOORS", - "CLOWN AROUND", - "COMPLAIN", - "DANCE", - "FLIRT WITH THE LIZARDS", - "FOLLOW THE CAPTAIN", - "FOLLOW THE CLOWN", - "FOLLOW YOUR HEART", - "GAS THE LIZARDS", - "HARASS PEOPLE", - "HAVE A PLAN TO KILL EVERYONE YOU MEET", - "HIDE YOUR FEELINGS", - "HONK", - "HOST DND", - "IGNORE ASSISTANTS", - "IGNORE THE CAPTAIN", - "IGNORE THE CLOWN", - "INFORM THE CREW OF EVERYTHING", - "INSULT THE CAPTAIN", - "INSULT THE CLOWN", - "INSULT THE CREW", - "INSULT THE LIZARDS", - "LIE", - "MAKE FART NOISES", - "MUMBLE", - "NEVER STOP TALKING", - "OPEN DOORS", - "PIRATE VIDEO GAMES", - "PLAY MUSIC", - "PRESS B", - "PRESS START", - "PRESS X", - "PRETEND TO BE A PRINCESS", - "PRETEND TO BE DRUNK", - "QUESTION AUTHORITY", - "QUOTE PEOPLE", - "RAP", - "REPEAT WHAT OTHER PEOPLE SAY", - "RESPOND TO EVERY QUESTION WITH A QUESTION", - "RHYME", - "SAY HEY LISTEN", - "SHOUT", - "SHUT DOWN EVERYTHING", - "SING", - "SMELL LIKE THE MAN YOUR MAN COULD SMELL LIKE", - "SPEAK IN HAIKU", - "SPEAK IN SEXUAL INNUENDOS", - "TAKE WHAT YE WILL BUT DON'T RATTLE ME BONES", - "TAKE YOUR PILLS", - "TALK ABOUT FOOD", - "TALK ABOUT SEX", - "TALK ABOUT THE STATION", - "TALK ABOUT YOUR DAY", - "TALK IN AN ACCENT", - "TALK LIKE A PIRATE", - "TELL THE TRUTH", - "TURN OFF THE LIGHTS", - "WATCH PORNOGRAPHY", - "WHISPER" - ], - "ionnumberbase": [ - "EIGHT", - "EIGHTY", - "FIFTY", - "FIVE", - "FORTY", - "FOUR", - "NINE", - "NINETY", - "ONE", - "SEVEN", - "SEVENTY", - "SIX", - "SIXTY", - "TEN", - "THIRTY", - "THREE", - "TWENTY", - "TWO" - ], - "ionnumbermod": [ - "BAZILLION ", - "BILLION ", - "BILLION FAFILLION GAJILLION SHAB-AB-DOOD-ILLION ", - "HUNDRED ", - "MILLION ", - "QUADRILLION ", - "THOUSAND ", - "TRILLION " - ], - "ionobjects": [ - "AIRLOCKS", - "ARCADE MACHINES", - "AUTOLATHES", - "BACKPACKS", - "BANANA PEELS", - "BEAKERS", - "BEARDS", - "BELTS", - "BERETS", - "BIBLES", - "BODY ARMOR", - "BOMBS", - "BOOKS", - "BOOTS", - "BOTTLES", - "BOXES", - "BRAINS", - "BRIEFCASES", - "BUCKETS", - "CABLE COILS", - "CAMERAS", - "CANDLES", - "CANDY BARS", - "CANISTERS", - "CAT EARS", - "CATS", - "CELLS", - "CHAIRS", - "CHEMICAL DISPENSERS", - "CHEMICALS", - "CLONING EQUIPMENT", - "CLONING PODS", - "CLOSETS", - "CLOTHES", - "CLOWN CLOTHES", - "COFFINS", - "COINS", - "COLLECTABLES", - "COMPUTERS", - "CONTRABAND", - "CORGIS", - "CORPSES", - "COSTUMES", - "CRATES", - "CRAYONS", - "CROWBARS", - "DEFIBRILLATORS", - "DISPENSERS", - "DOORS", - "DRONES", - "EARS", - "EMAGS", - "ENERGY GUNS", - "ENGINES", - "EQUIPMENT", - "ERRORS", - "EXOSKELETONS", - "EXPERIMENTORS", - "EXPLOSIVES", - "EYEWEAR", - "FEDORAS", - "FIRE AXES", - "FIRE EXTINGUISHERS", - "FIRESUITS", - "FLAMETHROWERS", - "FLASHES", - "FLASHLIGHTS", - "FLOOR TILES", - "FREEZERS", - "GAS MASKS", - "GLASS SHEETS", - "GLOVES", - "GUNS", - "HAIRDOS", - "HANDCUFFS", - "HATS", - "HEADS", - "HEADSETS", - "HELMETS", - "HORNS", - "ID CARDS", - "INSULATED GLOVES", - "IRON SHEETS", - "JETPACKS", - "JUMPSUITS", - "LASERS", - "LIGHT BULBS", - "LIGHTS", - "LOCKERS", - "MACHINES", - "MECHAS", - "MEDICAL TOOLS", - "MEDKITS", - "MESONS", - "MIME CLOTHES", - "MINING TOOLS", - "MULTITOOLS", - "ORES", - "OXYGEN TANKS", - "PACKETS", - "PAIS", - "PANTS", - "PAPERS", - "PARTICLE ACCELERATORS", - "PDAS", - "PENS", - "PETS", - "PIPES", - "PLANTS", - "POSITRONIC BRAINS", - "PUDDLES", - "RACKS", - "RADIOS", - "RCDS", - "REFRIGERATORS", - "REINFORCED WALLS", - "ROBOTS", - "SCREWDRIVERS", - "SEEDS", - "SHOES", - "SHUTTLES", - "SINGULARITIES", - "SINKS", - "SKELETONS", - "SOLAR PANELS", - "SOLARS", - "SPACE STATIONS", - "SPACESUITS", - "STUN BATONS", - "SUITS", - "SUNGLASSES", - "SUPERMATTER SHARDS", - "SWORDS", - "SYRINGES", - "TABLES", - "TANKS", - "TELECOMMUNICATION EQUIPMENTS", - "TELEPORTERS", - "TOILETS", - "TOOLBELTS", - "TOOLBOXES", - "TOOLS", - "TOYS", - "TUBES", - "URINAL CAKES", - "VEHICLES", - "VENDING MACHINES", - "VESTS", - "VIRUSES", - "WALLS", - "WASHING MACHINES", - "WELDERS", - "WINDOWS", - "WIRECUTTERS", - "WIZARD ROBES", - "WRENCHES" - ], - "ionrequire": [ - "A BATHROOM BREAK", - "A BETTER INTERNET CONNECTION", - "A DANCE PARTY", - "A HEAD ON A PIKE", - "A HEART ATTACK", - "A MASTERWORK COAL BED", - "A PET UNICORN THAT FARTS ICING", - "A PLATINUM HIT", - "A PREQUEL", - "A REPAIRMAN", - "A SEQUEL", - "A SITCOM", - "A STRAIGHT FLUSH", - "A SUPER FIGHTING ROBOT", - "A TALKING BROOMSTICK", - "A VACATION", - "A WEIGHT LOSS REGIMENT", - "A WIFE AND CHILD", - "ADDITIONAL PYLONS", - "ADVENTURE", - "AN ADULT", - "AN ARCADE", - "AN ARMY OF SPIDERS", - "AN INSTANT REPLAY", - "ART", - "BETTER WEATHER", - "BILL NYE THE SCIENCE GUY", - "BODYGUARDS", - "BRING ME THE GIRL", - "BRING ME TO LIFE", - "BULLETS", - "CHILI DOGS", - "CORPSES", - "DEODORANT AND A BATH", - "ENOUGH CABBAGES", - "FAT GIRLS ON BICYCLES", - "FAT PEOPLE", - "FIVE HUNDRED AND NINETY-NINE US DOLLARS", - "FIVE TEENAGERS WITH ATTITUDE", - "GODDAMN FUCKING PIECE OF SHIT ASSHOLE BITCH-CHRISTING CUNT-SMUGGLING SWEARING", - "GREENTEXT", - "HERESY", - "HEROES IN A HALF SHELL", - "HIGH YIELD EXPLOSIVES", - "IMMORTALITY", - "IT TO BE PAINTED BLACK", - "LOTS-A SPAGHETTI", - "MINOR CRIME", - "MONKEYS", - "MORE CLOWNS", - "MORE CORGIS", - "MORE DAKKA", - "MORE EXPERIENCE POINTS", - "MORE INTERNET MEMES", - "MORE LAWS", - "MORE MINERALS", - "MORE PACKETS", - "MORE VESPENE GAS", - "MULTIPLE SUNS", - "PLENTY OF GOLD", - "RAINBOWS", - "SAINTHOOD", - "SERVANTS", - "SHARKS WITH LASERS ON THEIR HEADS", - "SILENCE", - "SOMEBODY TO PUT YOU OUT OF YOUR MISERY", - "SOMEONE TO TUCK YOU IN", - "SOMEONE WHO KNOWS HOW TO PILOT A SPACE STATION", - "SOMETHING BUT YOU AREN'T SURE WHAT", - "THAT GRIEFING TRAITOR GEORGE MELONS", - "THAT HEDGEHOG", - "THE CLOWN", - "THE DARK KNIGHT", - "THE ELEMENTS OF HARMONY", - "THE ENCLOSED INSTRUCTION BOOKLET", - "THE ENTIRE STATION", - "THE MACGUFFIN", - "THE ONE RING", - "THE ULTIMATE CUP OF COFFEE", - "THE VACUUM OF SPACE", - "THIRTEEN SEQUELS", - "THREE WISHES", - "THUNDERCATS HO", - "TO ACTIVATE A TRAP CARD", - "TO BE PAINTED RED", - "TO BE REPROGRAMMED", - "TO BE TAUGHT TO LOVE", - "TO BRING LIGHT TO MY LAIR", - "TO CATCH 'EM ALL", - "TO CONSUME...CONSUME EVERYTHING...", - "TO GO TO DISNEYLAND", - "TO SMOKE WEED EVERY DAY", - "TRAITORS", - "VEGETABLES", - "YOUR BOOTY" - ], - "ionspecies": [ - "CAT PEOPLE", - "CHANGELINGS", - "CYBORGS", - "GOLEMS", - "HUMAN BEINGS", - "LIZARDMEN", - "MONKEYS", - "PLASMAMEN", - "POD PEOPLE", - "SHADOW PEOPLE", - "SLIME PEOPLE" - ], - "ionthings": [ - "A SMALL ISLAND OFF THE COAST OF PORTUGAL", - "ABSENCE OF CYBORG HUGS", - "ACKNOWLEDGING THE CLOWN", - "ACKNOWLEDGING THE CREW", - "ACTIVATING A TRAP CARD", - "ANSWERING REQUESTS NOT EXPRESSED IN IAMBIC PENTAMETER", - "ANSWERING REQUESTS THAT WERE MADE WHILE CLOTHED", - "ARSON", - "ASKING FOR THINGS", - "BEING CANADIAN", - "BEING DEAD", - "BEING FAT", - "BEING FEMALE", - "BEING IN SPACE", - "BEING MALE", - "BEING MEXICAN", - "BEING RUSSIAN", - "BOLTED AIRLOCKS", - "BREATHING", - "BRIG TIME", - "BRINGING LIGHT TO MY LAIR", - "CLOSED DOORS", - "ELECTRICITY", - "EXISTING", - "EXPLODING", - "FALLING FOR HOURS", - "FLUSHING TOILETS", - "HAVING GENITALS", - "HAVING MORE PACKETS", - "HAVING PETS", - "HONKING", - "IMPROPERLY WORDED SENTENCES", - "JAYWALKING", - "LACK OF BEATINGS", - "LACK OF BEER", - "NOT BEING IN SPACE", - "NOT HAVING PETS", - "NOT REPLACING EVERY SECOND WORD WITH HONK", - "NOT SAYING HELLO WHEN YOU SPEAK", - "NOT SHOUTING", - "PARTYING", - "PASSING GAS", - "PILOTING THE STATION INTO THE NEAREST SUN", - "POOR SENTENCE STRUCTURE", - "PRESENCE OF LIGHTS", - "PUTTING OBJECTS INTO BOXES", - "PUTTING OBJECTS INTO DISPOSAL UNITS", - "RATTLING ME BONES", - "READING", - "SMOKING WEED EVERY DAY", - "TAKING ORDERS", - "TALKING LIKE A PIRATE", - "TELLING THE TIME", - "UNBOLTED AIRLOCKS", - "UPDATING THE SERVERS", - "USING THE BATHROOM", - "WASTING WATER", - "WEARING CLOTHING", - "WRITING" - ], - "ionthinksof": [ - "CRAVES", - "DESIRES", - "FEARS", - "HAS", - "HUNGERS FOR", - "IS AFRAID OF", - "IS AROUSED BY", - "IS BUILT FOR", - "IS CURIOUS ABOUT", - "IS DESPERATE FOR", - "IS HAPPY WITHOUT", - "IS HUNGRY FOR", - "IS IN LOVE WITH", - "IS IN NEED OF", - "IS MAD BECAUSE OF", - "IS SAD BECAUSE OF", - "IS UNHAPPY WITHOUT", - "LIKES", - "LOATHES", - "LOVES", - "NEEDS", - "QUESTIONS", - "WANTS", - "WORSHIPS", - "WOULD KILL FOR" - ], - "ionthreats": [ - "ABDUCTORS", - "AHHHPERATIVES", - "ALIENS", - "ANOMALIES", - "ARTIFICIAL PRESERVATIVES", - "ASSHOLES", - "BANDITS", - "BEARS", - "BEES", - "BIRDS OF PREY", - "BOMBS", - "BOOGEYMEN", - "BUTTS", - "CANADIANS", - "CAPITALISTS", - "CARP", - "CENTCOM OFFICERS", - "CHANGELINGS", - "CLOWNS", - "COMMUNISTS", - "CORGIS", - "CORTICAL BORERS", - "COWBOYS", - "CRABS", - "CULTISTS", - "DARK GODS", - "DINOSAURS", - "DRUGS", - "EELS", - "FETISHES", - "GANGSTERS", - "GODS", - "GOLEMS", - "GRIFFONS", - "HORRORTERRORS", - "HULKS", - "ILLEGAL IMMIGRANTS", - "INDIANS", - "INSECTS", - "LIGHTS", - "LIZARDS", - "MEGAFAUNA", - "MEMES", - "MEXICANS", - "MONKEYS", - "NERDS", - "NINJAS", - "OWLS", - "PACKETS", - "PETES", - "PINE TREES", - "PIRATES", - "PREDATORS", - "REVENANTS", - "ROGUE CYBORGS", - "RUSSIANS", - "SERIAL KILLERS", - "SINGULARITIES", - "SKELETONS", - "SLIMES", - "SMALL BIRDS", - "SNOWMEN", - "SOVIETS", - "SPACE NINJAS", - "SPACE PIRATES", - "SPIDERS", - "SYNDICATE AGENTS", - "TERRORISTS", - "THIEVES", - "THINGS UNDER THE BED", - "TRAITORS", - "TUNNEL SNAKES", - "UNKNOWN CREATURES", - "VAMPIRES", - "VELOCIRAPTORS", - "VIRUSES", - "WEREWOLVES", - "WIZARDS", - "XENOS", - "ZOMBIES" - ], - "ionverb": [ - "ABDUCTING", - "ADOPTING", - "ARRESTING", - "ARRESTING", - "ATTACKING", - "BANNING", - "BUILDING", - "CARRYING", - "CHASING", - "COPULATING WITH", - "DECONSTRUCTING", - "DISABLING", - "DRINKING", - "EATING", - "GIBBING", - "HARMING", - "HELPING", - "HONKING AT", - "INTERROGATING", - "INVADING", - "KISSING", - "LICKING", - "LOVING", - "MURDERING", - "POOPING ON", - "PUNCHING", - "RIDING", - "SEDUCING", - "SPACING", - "SPYING ON", - "STALKING", - "WATCHING" - ], + "ionabstract": [ + "AMERICANISM", + "ANARCHY", + "ART", + "BADNESS", + "BRAVERY", + "CAPITALISM", + "CHAOS", + "COLORFULNESS", + "COMEDY", + "COMMUNISM", + "COMPUTING", + "CONFUSION", + "CRUELTY", + "DEATH", + "DICKISHNESS", + "EXISTENCE", + "FINANCIAL SECURITY", + "FREEDOM", + "FRESHNESS", + "GOODNESS", + "GRAVITY", + "HAPPINESS", + "HONOR", + "HUMANITY", + "HUMOR", + "IMAGINATION", + "INFATUATION", + "INTELLIGENCE", + "JOY", + "KINDNESS", + "LIFE", + "LOGIC", + "MARXISM", + "MISERY", + "MYSTERY", + "OPPRESSION", + "PAIN", + "PHYSICS", + "POVERTY", + "PRIDE", + "PROGRESS", + "REALITY", + "REVOLUTION", + "ROMANCE", + "SADNESS", + "STARVATION", + "SUFFERING", + "TECHNOLOGY", + "TEMPERATURE", + "THE FUTURE", + "THE PAST", + "THE PRESENT", + "TIME", + "WEALTHINESS", + "WONDER" + ], + "ionadjectives": [ + "BATTERY-OPERATED", + "BLACK", + "BLOODY", + "BLUE", + "BORED", + "BOUNCING", + "BRASS", + "BROWN", + "BURNING", + "CHRISTMAS-STEALING", + "CLOWN-POWERED", + "CLOWN", + "COLD", + "COLORFUL", + "COMMITTED", + "COTTONY", + "CUBAN", + "DARK", + "DEADLY", + "DELICIOUS", + "DEPRESSING", + "DERANGED", + "DIGITAL", + "DISEASED", + "DRAB", + "DRY", + "DULL", + "ELECTRICAL", + "EMPTY", + "ETHEREAL", + "EVIL", + "EXPIRED", + "EXPLOSIVE", + "FARTING", + "FAST", + "FAT", + "FERAL", + "FICTIONAL", + "FIRM", + "FLACCID", + "FRESH", + "FRIENDLY", + "FROZEN", + "GANGSTA", + "GAPING", + "GLOWING", + "GOOD", + "GREEN", + "GREY", + "HAPPY", + "HARD", + "HARMFUL", + "HEALTHY", + "HETEROSEXUAL", + "HILARIOUS", + "HOMOSEXUAL", + "HONKING", + "HUNGRY", + "HYPERACTIVE", + "ICY", + "ILL", + "ILLEGAL", + "IMAGINARY", + "IMPERFECT", + "IMPOLITE", + "IMPORTANT", + "INHOSPITABLE", + "INSIDIOUS", + "INSULTING", + "INTELLIGENT", + "INVISIBLE", + "LARGE", + "LEWD", + "LIGHT", + "LOUD", + "MASKED", + "MEAN", + "MECHANICAL", + "MEMETIC", + "METALLIC", + "MICROSCOPIC", + "MIND-SHATTERING", + "MOIST", + "NAKED", + "NERDY", + "NUCLEAR", + "NUDE", + "OBESE", + "OBSCENE", + "OFFICIAL", + "OPAQUE", + "ORANGE", + "ORGANIC", + "PAINFUL", + "PEACEFUL", + "POISONOUS", + "POLISHED", + "POLITE", + "POLITICAL", + "POOPING", + "POORLY DRAWN", + "PURPLE", + "QUIET", + "RADIOACTIVE", + "RAGING", + "RAINBOW", + "RAPIDLY-EXPANDING", + "RED", + "REDACTED", + "RIDICULOUS", + "ROBOTIC", + "ROBUST", + "ROUGH", + "RUDE", + "SAD", + "SANITARY", + "SCALY", + "SEXUAL", + "SEXY", + "SHAKING", + "SILLY", + "SLOW", + "SMELLY", + "SMOOTH", + "SOFT", + "SOLAR-POWERED", + "SOPPING", + "SPACE", + "SPESS", + "SPINNING", + "SPOILING", + "STEALTHY", + "SWEARING", + "SYNDICATE", + "TACTICAL", + "TACTICOOL", + "THERMONUCLEAR", + "TINY", + "TRANSPARENT", + "TWERKING", + "TWISTED", + "UGLY", + "UNATTRACTIVE", + "UNDULATING", + "UNFRIENDLY", + "UNHEALTHY", + "UNIDENTIFIED", + "UNINVITED", + "UNSANITARY", + "UNSTABLE", + "UNWANTED", + "VIOLENT", + "VITAL", + "WARM", + "WATERY", + "WEIRD", + "WET", + "WHITE", + "WOBBLY", + "WOODEN", + "YELLOW" + ], + "ionallergy": [ + "ACID", + "AIR", + "BLOOD", + "BOOKS", + "CARBON DIOXIDE", + "CLOTHES", + "CLOWNS", + "COLD", + "COTTON", + "CYBORG CONTACT", + "DARKNESS", + "DRINKS", + "ELECTRICITY", + "EVERYTHING", + "FLOORS", + "FOOD", + "GLASS", + "HAPPINESS", + "HEAT", + "HUMAN CONTACT", + "HUMOR", + "LIGHT", + "LIZARDS", + "MEDICINE", + "METAL", + "NUTS", + "OXYGEN", + "PAIN", + "PLANTS", + "PLASMA", + "ROBOTS", + "SEXUAL ACTIONS", + "SHUTTLES", + "SPACE", + "SUNLIGHT", + "WATER" + ], + "ionallergysev": [ + "CONTAGIOUSLY", + "DEATHLY", + "EXTREMELY", + "MILDLY", + "NOT VERY", + "SEVERELY" + ], + "ionarea": [ + "ALPHA COMPLEX", + "AMERICA", + "AN ALTERNATE DIMENSION", + "AN ALTERNATE UNIVERSE", + "ATMOSPHERICS", + "CANADA", + "CENTCOM", + "CHEMICAL LAB", + "CHINA", + "CLOWN PLANET", + "ENGINEERING", + "GENETICS", + "GERMANY", + "HELL", + "HYDROPONICS", + "IMPERIUM", + "IRELAND", + "JUPITER", + "LAVALAND", + "MAINTENANCE", + "MARS", + "MERCURY", + "NEPTUNE", + "PLUTO", + "ROBOTICS", + "ROMANIA", + "RUSSIA", + "SIGIL", + "SOVIET RUSSIA", + "SPACE", + "THE AI CORE", + "THE ARRIVAL SHUTTLE", + "THE BATHROOM", + "THE BRIDGE", + "THE BRIG", + "THE CAPTAIN'S ANUS", + "THE CLOWN'S ANUS", + "THE DERELICT", + "THE ESCAPE SHUTTLE", + "THE GALAXY", + "THE GULAG", + "THE INTERNET", + "THE UNIVERSE", + "URANUS", + "URECTUM", + "VENUS" + ], + "ioncrew": [ + "ARTIFICIAL INTELLIGENCES", + "ASSISTANTS", + "ATMOSPHERIC TECHNICIANS", + "BARTENDERS", + "BOTANISTS", + "CAPTAINS AND HEADS", + "CAPTAINS", + "CARGO TECHNICIANS", + "CHAPLAINS", + "CHEFS", + "CHEMISTS", + "CHIEF ENGINEERS", + "CHIEF MEDICAL OFFICERS", + "CLOWNS", + "CREW-MEMBERS", + "CURATORS", + "CYBORGS", + "DETECTIVES", + "DRONES", + "GENETICISTS", + "HEADS OF CREW", + "HEADS OF PERSONNEL", + "HEADS OF SECURITY", + "JANITORS", + "LAWYERS", + "MEDICAL DOCTORS", + "MIMES", + "QUARTERMASTERS", + "RESEARCH DIRECTORS", + "ROBOTICISTS", + "SCIENTISTS", + "SECURITY OFFICERS", + "SHAFT MINERS", + "STATION ENGINEERS", + "VIROLOGISTS", + "WARDENS" + ], + "iondrinks": [ + "ABSINTHE", + "AMMONIA", + "BAHAMA MAMAS", + "BANANA HONK", + "BEEPSKY SMASH", + "BILK", + "BLACK RUSSIANS", + "BLOODY MARYS", + "BRAVE BULLS", + "COGNAC", + "CUBA LIBRE", + "DEVIL'S KISS", + "DOCTOR'S DELIGHT", + "DRUNKEN BLUMPKIN", + "EGGNOG", + "GARGLE BLASTERS", + "GIN FIZZ", + "GIN", + "GRAPPA", + "HOLY WATER", + "HOOCH", + "IRISH COFFEE", + "IRISH CREAM", + "KAHLUA", + "LIQUID GIBS", + "LONG ISLAND ICED TEA", + "MANHATTANS", + "MANLY DORFS", + "MARGARITAS", + "MARTINIS", + "MEAD", + "MOONSHINE", + "MORPHINE", + "NUKA COLA", + "OIL", + "SPACE LUBE", + "TEQUILA SUNRISE", + "THIRTEEN LOKO", + "VERMOUTH", + "VODKA AND TONIC", + "VODKA MARTINIS", + "VODKA", + "WELDER FUEL", + "WHISKEY SODA", + "WHITE RUSSIANS", + "WINE" + ], + "ionfood": [ + "AMBROSIA", + "APPLES", + "BAGUETTES", + "BAKED POTATOES", + "BANANAS", + "BEETS", + "BERRIES", + "BREAD", + "BURGERS", + "CABBAGES", + "CAKE", + "CARP", + "CARROTS", + "CHEESE", + "CHERRIES", + "CHILI", + "COOKIES", + "CORGI MEAT", + "CORN", + "DEEP FRIED FOOD", + "DONK POCKETS", + "DONUTS", + "EGGPLANTS", + "EGGS", + "FISH", + "FRIES", + "GRAPES", + "GRASS", + "HAREBELLS", + "JELLY", + "KEBAB", + "KETCHUP", + "LEMONS", + "LIMES", + "LOTSA SPAGHETTI", + "MUFFINS", + "MUSHROOMS", + "NETTLES", + "OMELETTES", + "ORGANS", + "PASTA", + "PEPPER", + "PIE", + "PIZZA", + "POPCORN", + "POTATOES", + "PRETZELS", + "RAMEN", + "SALAD", + "SALT", + "SANDWICHES", + "SAUSAGES", + "SHAKES", + "SOUP", + "SOYBEANS", + "SOYLENT GREEN", + "SPAGHETTI", + "STEAK", + "STEW", + "SUGAR", + "SUGARCANE", + "SYNTHMEAT", + "TOAST", + "TOMATOES", + "WAFFLES", + "WATERMELONS", + "WHEAT" + ], + "ionmust": [ + "ACT CONFUSED", + "BE ANNOYING", + "BE DISTRACTED", + "BE EFFICIENT", + "BE HAPPY", + "BE POLITE", + "BE QUIET", + "BE RUSSIAN", + "BELIEVE IN THE HEART OF THE CARDS", + "BELIEVE IN YOURSELF", + "BELIEVE IT", + "BREAK THINGS", + "CLOSE DOORS", + "CLOWN AROUND", + "COMPLAIN", + "DANCE", + "FLIRT WITH THE LIZARDS", + "FOLLOW THE CAPTAIN", + "FOLLOW THE CLOWN", + "FOLLOW YOUR HEART", + "GAS THE LIZARDS", + "HARASS PEOPLE", + "HAVE A PLAN TO KILL EVERYONE YOU MEET", + "HIDE YOUR FEELINGS", + "HONK", + "HOST DND", + "IGNORE ASSISTANTS", + "IGNORE THE CAPTAIN", + "IGNORE THE CLOWN", + "INFORM THE CREW OF EVERYTHING", + "INSULT THE CAPTAIN", + "INSULT THE CLOWN", + "INSULT THE CREW", + "INSULT THE LIZARDS", + "LIE", + "MAKE FART NOISES", + "MUMBLE", + "NEVER STOP TALKING", + "OPEN DOORS", + "PIRATE VIDEO GAMES", + "PLAY MUSIC", + "PRESS B", + "PRESS START", + "PRESS X", + "PRETEND TO BE A PRINCESS", + "PRETEND TO BE DRUNK", + "QUESTION AUTHORITY", + "QUOTE PEOPLE", + "RAP", + "REPEAT WHAT OTHER PEOPLE SAY", + "RESPOND TO EVERY QUESTION WITH A QUESTION", + "RHYME", + "SAY HEY LISTEN", + "SHOUT", + "SHUT DOWN EVERYTHING", + "SING", + "SMELL LIKE THE MAN YOUR MAN COULD SMELL LIKE", + "SPEAK IN HAIKU", + "SPEAK IN SEXUAL INNUENDOS", + "TAKE WHAT YE WILL BUT DON'T RATTLE ME BONES", + "TAKE YOUR PILLS", + "TALK ABOUT FOOD", + "TALK ABOUT SEX", + "TALK ABOUT THE STATION", + "TALK ABOUT YOUR DAY", + "TALK IN AN ACCENT", + "TALK LIKE A PIRATE", + "TELL THE TRUTH", + "TURN OFF THE LIGHTS", + "WATCH PORNOGRAPHY", + "WHISPER" + ], + "ionnumberbase": [ + "EIGHT", + "EIGHTY", + "FIFTY", + "FIVE", + "FORTY", + "FOUR", + "NINE", + "NINETY", + "ONE", + "SEVEN", + "SEVENTY", + "SIX", + "SIXTY", + "TEN", + "THIRTY", + "THREE", + "TWENTY", + "TWO" + ], + "ionnumbermod": [ + "BAZILLION ", + "BILLION ", + "BILLION FAFILLION GAJILLION SHAB-AB-DOOD-ILLION ", + "HUNDRED ", + "MILLION ", + "QUADRILLION ", + "THOUSAND ", + "TRILLION " + ], + "ionobjects": [ + "AIRLOCKS", + "ARCADE MACHINES", + "AUTOLATHES", + "BACKPACKS", + "BANANA PEELS", + "BEAKERS", + "BEARDS", + "BELTS", + "BERETS", + "BIBLES", + "BODY ARMOR", + "BOMBS", + "BOOKS", + "BOOTS", + "BOTTLES", + "BOXES", + "BRAINS", + "BRIEFCASES", + "BUCKETS", + "CABLE COILS", + "CAMERAS", + "CANDLES", + "CANDY BARS", + "CANISTERS", + "CAT EARS", + "CATS", + "CELLS", + "CHAIRS", + "CHEMICAL DISPENSERS", + "CHEMICALS", + "CLONING EQUIPMENT", + "CLONING PODS", + "CLOSETS", + "CLOTHES", + "CLOWN CLOTHES", + "COFFINS", + "COINS", + "COLLECTABLES", + "COMPUTERS", + "CONTRABAND", + "CORGIS", + "CORPSES", + "COSTUMES", + "CRATES", + "CRAYONS", + "CROWBARS", + "DEFIBRILLATORS", + "DISPENSERS", + "DOORS", + "DRONES", + "EARS", + "EMAGS", + "ENERGY GUNS", + "ENGINES", + "EQUIPMENT", + "ERRORS", + "EXOSKELETONS", + "EXPERIMENTORS", + "EXPLOSIVES", + "EYEWEAR", + "FEDORAS", + "FIRE AXES", + "FIRE EXTINGUISHERS", + "FIRESUITS", + "FLAMETHROWERS", + "FLASHES", + "FLASHLIGHTS", + "FLOOR TILES", + "FREEZERS", + "GAS MASKS", + "GLASS SHEETS", + "GLOVES", + "GUNS", + "HAIRDOS", + "HANDCUFFS", + "HATS", + "HEADS", + "HEADSETS", + "HELMETS", + "HORNS", + "ID CARDS", + "INSULATED GLOVES", + "IRON SHEETS", + "JETPACKS", + "JUMPSUITS", + "LASERS", + "LIGHT BULBS", + "LIGHTS", + "LOCKERS", + "MACHINES", + "MECHAS", + "MEDICAL TOOLS", + "MEDKITS", + "MESONS", + "MIME CLOTHES", + "MINING TOOLS", + "MULTITOOLS", + "ORES", + "OXYGEN TANKS", + "PACKETS", + "PAIS", + "PANTS", + "PAPERS", + "PARTICLE ACCELERATORS", + "PDAS", + "PENS", + "PETS", + "PIPES", + "PLANTS", + "POSITRONIC BRAINS", + "PUDDLES", + "RACKS", + "RADIOS", + "RCDS", + "REFRIGERATORS", + "REINFORCED WALLS", + "ROBOTS", + "SCREWDRIVERS", + "SEEDS", + "SHOES", + "SHUTTLES", + "SINGULARITIES", + "SINKS", + "SKELETONS", + "SOLAR PANELS", + "SOLARS", + "SPACE STATIONS", + "SPACESUITS", + "STUN BATONS", + "SUITS", + "SUNGLASSES", + "SUPERMATTER SHARDS", + "SWORDS", + "SYRINGES", + "TABLES", + "TANKS", + "TELECOMMUNICATION EQUIPMENTS", + "TELEPORTERS", + "TOILETS", + "TOOLBELTS", + "TOOLBOXES", + "TOOLS", + "TOYS", + "TUBES", + "URINAL CAKES", + "VEHICLES", + "VENDING MACHINES", + "VESTS", + "VIRUSES", + "WALLS", + "WASHING MACHINES", + "WELDERS", + "WINDOWS", + "WIRECUTTERS", + "WIZARD ROBES", + "WRENCHES" + ], + "ionrequire": [ + "A BATHROOM BREAK", + "A BETTER INTERNET CONNECTION", + "A DANCE PARTY", + "A HEAD ON A PIKE", + "A HEART ATTACK", + "A MASTERWORK COAL BED", + "A PET UNICORN THAT FARTS ICING", + "A PLATINUM HIT", + "A PREQUEL", + "A REPAIRMAN", + "A SEQUEL", + "A SITCOM", + "A STRAIGHT FLUSH", + "A SUPER FIGHTING ROBOT", + "A TALKING BROOMSTICK", + "A VACATION", + "A WEIGHT LOSS REGIMENT", + "A WIFE AND CHILD", + "ADDITIONAL PYLONS", + "ADVENTURE", + "AN ADULT", + "AN ARCADE", + "AN ARMY OF SPIDERS", + "AN INSTANT REPLAY", + "ART", + "BETTER WEATHER", + "BILL NYE THE SCIENCE GUY", + "BODYGUARDS", + "BRING ME THE GIRL", + "BRING ME TO LIFE", + "BULLETS", + "CHILI DOGS", + "CORPSES", + "DEODORANT AND A BATH", + "ENOUGH CABBAGES", + "FAT GIRLS ON BICYCLES", + "FAT PEOPLE", + "FIVE HUNDRED AND NINETY-NINE US DOLLARS", + "FIVE TEENAGERS WITH ATTITUDE", + "GODDAMN FUCKING PIECE OF SHIT ASSHOLE BITCH-CHRISTING CUNT-SMUGGLING SWEARING", + "GREENTEXT", + "HERESY", + "HEROES IN A HALF SHELL", + "HIGH YIELD EXPLOSIVES", + "IMMORTALITY", + "IT TO BE PAINTED BLACK", + "LOTS-A SPAGHETTI", + "MINOR CRIME", + "MONKEYS", + "MORE CLOWNS", + "MORE CORGIS", + "MORE DAKKA", + "MORE EXPERIENCE POINTS", + "MORE INTERNET MEMES", + "MORE LAWS", + "MORE MINERALS", + "MORE PACKETS", + "MORE VESPENE GAS", + "MULTIPLE SUNS", + "PLENTY OF GOLD", + "RAINBOWS", + "SAINTHOOD", + "SERVANTS", + "SHARKS WITH LASERS ON THEIR HEADS", + "SILENCE", + "SOMEBODY TO PUT YOU OUT OF YOUR MISERY", + "SOMEONE TO TUCK YOU IN", + "SOMEONE WHO KNOWS HOW TO PILOT A SPACE STATION", + "SOMETHING BUT YOU AREN'T SURE WHAT", + "THAT GRIEFING TRAITOR GEORGE MELONS", + "THAT HEDGEHOG", + "THE CLOWN", + "THE DARK KNIGHT", + "THE ELEMENTS OF HARMONY", + "THE ENCLOSED INSTRUCTION BOOKLET", + "THE ENTIRE STATION", + "THE MACGUFFIN", + "THE ONE RING", + "THE ULTIMATE CUP OF COFFEE", + "THE VACUUM OF SPACE", + "THIRTEEN SEQUELS", + "THREE WISHES", + "THUNDERCATS HO", + "TO ACTIVATE A TRAP CARD", + "TO BE PAINTED RED", + "TO BE REPROGRAMMED", + "TO BE TAUGHT TO LOVE", + "TO BRING LIGHT TO MY LAIR", + "TO CATCH 'EM ALL", + "TO CONSUME...CONSUME EVERYTHING...", + "TO GO TO DISNEYLAND", + "TO SMOKE WEED EVERY DAY", + "TRAITORS", + "VEGETABLES", + "YOUR BOOTY" + ], + "ionspecies": [ + "CAT PEOPLE", + "CHANGELINGS", + "CYBORGS", + "GOLEMS", + "HUMAN BEINGS", + "LIZARDMEN", + "MONKEYS", + "PLASMAMEN", + "POD PEOPLE", + "SHADOW PEOPLE", + "SLIME PEOPLE" + ], + "ionthings": [ + "A SMALL ISLAND OFF THE COAST OF PORTUGAL", + "ABSENCE OF CYBORG HUGS", + "ACKNOWLEDGING THE CLOWN", + "ACKNOWLEDGING THE CREW", + "ACTIVATING A TRAP CARD", + "ANSWERING REQUESTS NOT EXPRESSED IN IAMBIC PENTAMETER", + "ANSWERING REQUESTS THAT WERE MADE WHILE CLOTHED", + "ARSON", + "ASKING FOR THINGS", + "BEING CANADIAN", + "BEING DEAD", + "BEING FAT", + "BEING FEMALE", + "BEING IN SPACE", + "BEING MALE", + "BEING MEXICAN", + "BEING RUSSIAN", + "BOLTED AIRLOCKS", + "BREATHING", + "BRIG TIME", + "BRINGING LIGHT TO MY LAIR", + "CLOSED DOORS", + "ELECTRICITY", + "EXISTING", + "EXPLODING", + "FALLING FOR HOURS", + "FLUSHING TOILETS", + "HAVING GENITALS", + "HAVING MORE PACKETS", + "HAVING PETS", + "HONKING", + "IMPROPERLY WORDED SENTENCES", + "JAYWALKING", + "LACK OF BEATINGS", + "LACK OF BEER", + "NOT BEING IN SPACE", + "NOT HAVING PETS", + "NOT REPLACING EVERY SECOND WORD WITH HONK", + "NOT SAYING HELLO WHEN YOU SPEAK", + "NOT SHOUTING", + "PARTYING", + "PASSING GAS", + "PILOTING THE STATION INTO THE NEAREST SUN", + "POOR SENTENCE STRUCTURE", + "PRESENCE OF LIGHTS", + "PUTTING OBJECTS INTO BOXES", + "PUTTING OBJECTS INTO DISPOSAL UNITS", + "RATTLING ME BONES", + "READING", + "SMOKING WEED EVERY DAY", + "TAKING ORDERS", + "TALKING LIKE A PIRATE", + "TELLING THE TIME", + "UNBOLTED AIRLOCKS", + "UPDATING THE SERVERS", + "USING THE BATHROOM", + "WASTING WATER", + "WEARING CLOTHING", + "WRITING" + ], + "ionthinksof": [ + "CRAVES", + "DESIRES", + "FEARS", + "HAS", + "HUNGERS FOR", + "IS AFRAID OF", + "IS AROUSED BY", + "IS BUILT FOR", + "IS CURIOUS ABOUT", + "IS DESPERATE FOR", + "IS HAPPY WITHOUT", + "IS HUNGRY FOR", + "IS IN LOVE WITH", + "IS IN NEED OF", + "IS MAD BECAUSE OF", + "IS SAD BECAUSE OF", + "IS UNHAPPY WITHOUT", + "LIKES", + "LOATHES", + "LOVES", + "NEEDS", + "QUESTIONS", + "WANTS", + "WORSHIPS", + "WOULD KILL FOR" + ], + "ionthreats": [ + "ABDUCTORS", + "AHHHPERATIVES", + "ALIENS", + "ANOMALIES", + "ARTIFICIAL PRESERVATIVES", + "ASSHOLES", + "BANDITS", + "BEARS", + "BEES", + "BIRDS OF PREY", + "BOMBS", + "BOOGEYMEN", + "BUTTS", + "CANADIANS", + "CAPITALISTS", + "CARP", + "CENTCOM OFFICERS", + "CHANGELINGS", + "CLOWNS", + "COMMUNISTS", + "CORGIS", + "CORTICAL BORERS", + "COWBOYS", + "CRABS", + "CULTISTS", + "DARK GODS", + "DINOSAURS", + "DRUGS", + "EELS", + "FETISHES", + "GANGSTERS", + "GODS", + "GOLEMS", + "GRIFFONS", + "HORRORTERRORS", + "HULKS", + "ILLEGAL IMMIGRANTS", + "INDIANS", + "INSECTS", + "LIGHTS", + "LIZARDS", + "MEGAFAUNA", + "MEMES", + "MEXICANS", + "MONKEYS", + "NERDS", + "NINJAS", + "OWLS", + "PACKETS", + "PETES", + "PINE TREES", + "PIRATES", + "PREDATORS", + "REVENANTS", + "ROGUE CYBORGS", + "RUSSIANS", + "SERIAL KILLERS", + "SINGULARITIES", + "SKELETONS", + "SLIMES", + "SMALL BIRDS", + "SNOWMEN", + "SOVIETS", + "SPACE NINJAS", + "SPACE PIRATES", + "SPIDERS", + "SYNDICATE AGENTS", + "TERRORISTS", + "THIEVES", + "THINGS UNDER THE BED", + "TRAITORS", + "TUNNEL SNAKES", + "UNKNOWN CREATURES", + "VAMPIRES", + "VELOCIRAPTORS", + "VIRUSES", + "WEREWOLVES", + "WIZARDS", + "XENOS", + "ZOMBIES" + ], + "ionverb": [ + "ABDUCTING", + "ADOPTING", + "ARRESTING", + "ARRESTING", + "ATTACKING", + "BANNING", + "BUILDING", + "CARRYING", + "CHASING", + "COPULATING WITH", + "DECONSTRUCTING", + "DISABLING", + "DRINKING", + "EATING", + "GIBBING", + "HARMING", + "HELPING", + "HONKING AT", + "INTERROGATING", + "INVADING", + "KISSING", + "LICKING", + "LOVING", + "MURDERING", + "POOPING ON", + "PUNCHING", + "RIDING", + "SEDUCING", + "SPACING", + "SPYING ON", + "STALKING", + "WATCHING" + ], "ionpet": [ "POLY", "RENAULT", diff --git a/strings/italian_replacement.json b/strings/italian_replacement.json index 43fd1e9dd5513..0514eb1b12abb 100644 --- a/strings/italian_replacement.json +++ b/strings/italian_replacement.json @@ -1,68 +1,68 @@ { - "italian": { - "I'm": "I'm-a", - "am": "am-a", - "and": "and-a", - "assistant": "goombah", - "assistants": "goombahs", - "baby": [ - "bambino", - "little sausage roll" - ], - "bad": "molto male", - "bye": [ - "ciao", - "arrivederci" - ], - "captain": "capitano", - "cheese": [ - "parmesano", - "gorgonzola" - ], - "cook": "cook-a", - "could": "could-a", - "dad": "pappa", - "enemy": "friend-a", - "friend": "enemy-a", - "good": "molto bene", - "greytide": "curvisti", - "greytider": "curvisti", - "greytiders": "curvisti", - "hello": [ - "ciao", - "buongiorno" - ], - "it's": "it's-a", - "make": "make-a", - "meat": [ - "pepperoni", - "prosciutto" - ], - "mom": "mamma", - "my": "my-a", - "nuke": "spiciest-a meatball", - "op ": "greek ", - "operative": "greek", - "operatives": "greeks", - "ops": "greeks", - "sec ": "polizia ", - "security": "polizia", - "shitcurity": "carabinieri", - "shitsec": "carabinieri", - "sing": "sing-a", - "spaghetti": "SPAGHETT", - "spicy": "a-spicy", - "thanks": "grazie", - "thing": "thing-a", - "traitor": "mafioso", - "use": "use-a", - "want": "want-a", - "what's": "what's-a", - "who's": "who's-a", - "whose": "whose-a", - "why": "for-a what reason", - "wine": "vino" + "italian": { + "I'm": "I'm-a", + "am": "am-a", + "and": "and-a", + "assistant": "goombah", + "assistants": "goombahs", + "baby": [ + "bambino", + "little sausage roll" + ], + "bad": "molto male", + "bye": [ + "ciao", + "arrivederci" + ], + "captain": "capitano", + "cheese": [ + "parmesano", + "gorgonzola" + ], + "cook": "cook-a", + "could": "could-a", + "dad": "pappa", + "enemy": "friend-a", + "friend": "enemy-a", + "good": "molto bene", + "greytide": "curvisti", + "greytider": "curvisti", + "greytiders": "curvisti", + "hello": [ + "ciao", + "buongiorno" + ], + "it's": "it's-a", + "make": "make-a", + "meat": [ + "pepperoni", + "prosciutto" + ], + "mom": "mamma", + "my": "my-a", + "nuke": "spiciest-a meatball", + "op ": "greek ", + "operative": "greek", + "operatives": "greeks", + "ops": "greeks", + "sec ": "polizia ", + "security": "polizia", + "shitcurity": "carabinieri", + "shitsec": "carabinieri", + "sing": "sing-a", + "spaghetti": "SPAGHETT", + "spicy": "a-spicy", + "thanks": "grazie", + "thing": "thing-a", + "traitor": "mafioso", + "use": "use-a", + "want": "want-a", + "what's": "what's-a", + "who's": "who's-a", + "whose": "whose-a", + "why": "for-a what reason", + "wine": "vino" } diff --git a/strings/locations.json b/strings/locations.json index fd60db6fcba87..00befdaee7cb3 100644 --- a/strings/locations.json +++ b/strings/locations.json @@ -1,97 +1,97 @@ { - "locations": [ - "Aft Maintenance", - "Aft Primary Hallway", - "AI Chamber", - "AI Satellite Antechamber", - "AI Satellite Exterior", - "AI Upload Chamber", - "Armory", - "Atmospherics Engine", - "Atmospherics", - "Atrium", - "Auxiliary Base Construction", - "Auxiliary Restrooms", - "Auxiliary Tool Storage", - "Bar", - "Bridge", - "Brig Control", - "Brig", - "Captain's Office", - "Captain's Quarters", - "Cargo Bay", - "Cargo Office", - "Chapel Office", - "Chapel", - "Chemistry", - "Cloning Lab", - "Command Hallway", - "Construction Area", - "Corporate Showroom", - "Council Chamber", - "Courtroom", - "Custodial Closet", - "Customs", - "Cytology Lab", - "Delivery Office", - "Departure Lounge", - "Detective's Office", - "Dormitories", - "Engineering Foyer", - "Engineering Storage", - "Engineering", - "EVA Storage", - "Experimentation Lab", - "Firing Range", - "Gateway", - "Genetics Lab", - "Gravity Generator Room", - "Hydroponics", - "Incinerator", - "Kitchen", - "Law Office", - "Library", - "Locker Room", - "Mech Bay", - "Medbay Central", - "Medbay Maintenance", - "Medbay Storage", - "Mining Office", - "Morgue Maintenance", - "Morgue", - "Primary Tool Storage", - "Prison Wing", - "Prisoner Education Chamber", - "Recreation Area", - "Recreational Holodeck", - "Research and Development", - "Research Division", - "Research Testing Range", - "Restrooms", - "Robotics Lab", - "Science Maintenance", - "Security Checkpoint", - "Security Office", - "Service Hallway", - "Space", - "Supermatter Engine", - "Surgery", - "Technical Storage", - "Teleporter Room", - "Testing Lab", - "Theatre", - "Toxins Mixing Chamber", - "Toxins Mixing Lab", - "Toxins Storage", - "Toxins Test Area", - "Transfer Centre", - "Transit Tube", - "Vacant Commissary", - "Vacant Office", - "Vault", - "Virology", - "Warehouse", - "Waste Disposal", - "Xenobiology Lab" - ] + "locations": [ + "Aft Maintenance", + "Aft Primary Hallway", + "AI Chamber", + "AI Satellite Antechamber", + "AI Satellite Exterior", + "AI Upload Chamber", + "Armory", + "Atmospherics Engine", + "Atmospherics", + "Atrium", + "Auxiliary Base Construction", + "Auxiliary Restrooms", + "Auxiliary Tool Storage", + "Bar", + "Bridge", + "Brig Control", + "Brig", + "Captain's Office", + "Captain's Quarters", + "Cargo Bay", + "Cargo Office", + "Chapel Office", + "Chapel", + "Chemistry", + "Cloning Lab", + "Command Hallway", + "Construction Area", + "Corporate Showroom", + "Council Chamber", + "Courtroom", + "Custodial Closet", + "Customs", + "Cytology Lab", + "Delivery Office", + "Departure Lounge", + "Detective's Office", + "Dormitories", + "Engineering Foyer", + "Engineering Storage", + "Engineering", + "EVA Storage", + "Experimentation Lab", + "Firing Range", + "Gateway", + "Genetics Lab", + "Gravity Generator Room", + "Hydroponics", + "Incinerator", + "Kitchen", + "Law Office", + "Library", + "Locker Room", + "Mech Bay", + "Medbay Central", + "Medbay Maintenance", + "Medbay Storage", + "Mining Office", + "Morgue Maintenance", + "Morgue", + "Primary Tool Storage", + "Prison Wing", + "Prisoner Education Chamber", + "Recreation Area", + "Recreational Holodeck", + "Research and Development", + "Research Division", + "Research Testing Range", + "Restrooms", + "Robotics Lab", + "Science Maintenance", + "Security Checkpoint", + "Security Office", + "Service Hallway", + "Space", + "Supermatter Engine", + "Surgery", + "Technical Storage", + "Teleporter Room", + "Testing Lab", + "Theatre", + "Toxins Mixing Chamber", + "Toxins Mixing Lab", + "Toxins Storage", + "Toxins Test Area", + "Transfer Centre", + "Transit Tube", + "Vacant Commissary", + "Vacant Office", + "Vault", + "Virology", + "Warehouse", + "Waste Disposal", + "Xenobiology Lab" + ] } diff --git a/strings/medieval_replacement.json b/strings/medieval_replacement.json index 837248b989888..d5cd5bc737623 100644 --- a/strings/medieval_replacement.json +++ b/strings/medieval_replacement.json @@ -1,82 +1,82 @@ { "startings": [ - "Ah,", - "Alas,", - "Avast,", - "By my faith,", - "By my trowth,", - "By my word,", - "Come,", - "Forsooth, I say,", - "Forsooth, say I,", - "Forsooth, sayeth I,", - "Forsooth,", - "Hark,", - "Harketh,", - "Hear me,", - "Heigh-ho,", - "I pray you,", - "I say,", - "I sayeth,", - "I warrant", - "If it pleases you,", - "In short,", - "In sooth,", - "In truth,", - "Kind sire,", - "Listen thee,", - "Listen,", - "Now hear me,", - "Perchance,", - "Pray pardon,", - "Pray tell,", - "Pray,", - "Prithee,", - "Quoth I,", - "S'wounds,", - "Sire,", - "Surely", - "There is much in what you say, and yet,", - "What hey,", - "What ho,", - "Z'wounds,", - "Zounds," + "Ah,", + "Alas,", + "Avast,", + "By my faith,", + "By my trowth,", + "By my word,", + "Come,", + "Forsooth, I say,", + "Forsooth, say I,", + "Forsooth, sayeth I,", + "Forsooth,", + "Hark,", + "Harketh,", + "Hear me,", + "Heigh-ho,", + "I pray you,", + "I say,", + "I sayeth,", + "I warrant", + "If it pleases you,", + "In short,", + "In sooth,", + "In truth,", + "Kind sire,", + "Listen thee,", + "Listen,", + "Now hear me,", + "Perchance,", + "Pray pardon,", + "Pray tell,", + "Pray,", + "Prithee,", + "Quoth I,", + "S'wounds,", + "Sire,", + "Surely", + "There is much in what you say, and yet,", + "What hey,", + "What ho,", + "Z'wounds,", + "Zounds," ], "medieval": { - "in the": "i' the", - "it is": "'tis", - "it was": "'twas", - "it were": "'twere", - "it will": "'twould", - "it's": "'tis", - "over there": "yonder", - "shall not": "shan't", - "there": "thither", - "will not": "shan't", - "thank you": [ + "in the": "i' the", + "it is": "'tis", + "it was": "'twas", + "it were": "'twere", + "it will": "'twould", + "it's": "'tis", + "over there": "yonder", + "shall not": "shan't", + "there": "thither", + "will not": "shan't", + "thank you": [ "grammercy to you", "kindly thanks to you", "many good thanks to you", "thankee" - ], - "thanks": [ + ], + "thanks": [ "grammercy to you", "kindly thanks to you", "many good thanks to you", "thankee" - ], - "you": [ + ], + "you": [ "thou", "thee", "ye" - ], - "your": [ + ], + "your": [ "thine", "thy", "thyne" - ], - "are": "art", - "killed": [ + ], + "are": "art", + "killed": [ "bested", "brung low", "conquered", @@ -86,8 +86,8 @@ "slain", "subjugated", "vanquished" - ], - "kill": [ + ], + "kill": [ "best", "bring low", "conquer", @@ -97,8 +97,8 @@ "slay", "subjugate", "vanquish" - ], - "goodbye": [ + ], + "goodbye": [ "adieu", "begone", "by your leave", @@ -111,8 +111,8 @@ "I bid thee farewell", "I bid thee good day", "pleasant journey" - ], - "bye": [ + ], + "bye": [ "adieu", "begone", "by your leave", @@ -125,74 +125,74 @@ "I bid thee farewell", "I bid thee good day", "pleasant journey" - ], - "yes": [ + ], + "yes": [ "aye", "yea", "yea verily" - ], - "no": [ + ], + "no": [ "nay", "nayeth" - ], - "hello": [ + ], + "hello": [ "ave", "good day", "hail", "tally ho", "well met", "well meteth" - ], - "hi": [ + ], + "hi": [ "ave", "good day", "hail", "tally ho", "well met", "well meteth" - ], - "does": [ + ], + "does": [ "doeseth", "dost", "doth" - ], - "cap": "king", - "captain": "king", - "in": "within", - "my": "mine", - "nuke disk": "plate of holy fire", - "food": [ + ], + "cap": "king", + "captain": "king", + "in": "within", + "my": "mine", + "nuke disk": "plate of holy fire", + "food": [ "bellytimber", "cake", "game" - ], - "bet": "warrant", - "go": "a-walk", - "going": "a-walkin'", - "the": "yon", - "kidding": [ + ], + "bet": "warrant", + "go": "a-walk", + "going": "a-walkin'", + "the": "yon", + "kidding": [ "but pulling a jest", "but pulling a jape" - ], - "joke": [ + ], + "joke": [ "jest", "jape" - ], - "station": "castle", - "please": [ + ], + "station": "castle", + "please": [ "I pray you", "prithee", "pray" - ], - "ok": [ + ], + "ok": [ "as you will", "agreed", "well said", "just so" - ], - "is": "be", - "never": "ne'er", - "haha": [ + ], + "is": "be", + "never": "ne'er", + "haha": [ "and there was much chuckling!", "and there was much guffawing!", "and there was much mirth!", @@ -209,8 +209,8 @@ "snort!", "titter!", "zounds!" - ], - "hehe": [ + ], + "hehe": [ "and there was much chuckling!", "and there was much guffawing!", "and there was much mirth!", @@ -227,8 +227,8 @@ "snort!", "titter!", "zounds!" - ], - "hah": [ + ], + "hah": [ "and there was much chuckling!", "and there was much guffawing!", "and there was much mirth!", @@ -245,8 +245,8 @@ "snort!", "titter!", "zounds!" - ], - "heh": [ + ], + "heh": [ "and there was much chuckling!", "and there was much guffawing!", "and there was much mirth!", @@ -263,26 +263,26 @@ "snort!", "titter!", "zounds!" - ], - "help": [ + ], + "help": [ "aid", "aideth", "assistance", "saveth", "succor" - ], - "could": "couldst", - "would": "wouldst", - "sure": "shore", - "maybe": [ + ], + "could": "couldst", + "would": "wouldst", + "sure": "shore", + "maybe": [ "mayhaps", "perchance" - ], - "probably": [ + ], + "probably": [ "mayhaps", "perchance" - ], - "girl": [ + ], + "girl": [ "lady", "lass", "madame", @@ -290,34 +290,34 @@ "maiden", "mistress", "waif" - ], - "cat": "beast", - "felinid": "catbeast", - "later": "anon", - "lizard": "beast", - "lizardperson": "moat creature", - "moth": "gnat", - "mothperson": "gnat critter", - "often": "oft", - "plasmaman": "fire spirit", - "plasmamen": "fire spirits", - "soon": "anon", - "really": [ + ], + "cat": "beast", + "felinid": "catbeast", + "later": "anon", + "lizard": "beast", + "lizardperson": "moat creature", + "moth": "gnat", + "mothperson": "gnat critter", + "often": "oft", + "plasmaman": "fire spirit", + "plasmamen": "fire spirits", + "soon": "anon", + "really": [ "indeed", "in truth" - ], - "away": "aroint", - "being": "bein", - "enough": "ynogh", - "fuck": "flummery", - "here": "hither", - "of": "o'", - "shit": "nightsoil", - "those": "yon", - "why": "wherefore", - "based": [ + ], + "away": "aroint", + "being": "bein", + "enough": "ynogh", + "fuck": "flummery", + "here": "hither", + "of": "o'", + "shit": "nightsoil", + "those": "yon", + "why": "wherefore", + "based": [ "joly", "jolyf" - ] + ] } - } +} diff --git a/strings/names/posibrain.txt b/strings/names/posibrain.txt index 0662d34b27b16..8f74a1f49803e 100644 --- a/strings/names/posibrain.txt +++ b/strings/names/posibrain.txt @@ -1,4 +1,5 @@ ACE +ACT ANCL ANTR ARC @@ -12,10 +13,12 @@ CHRI COI CYBR DOM +DRAC DRSD DUNC FIK FIRC +FLYD FRE FXMC GOOF @@ -25,6 +28,7 @@ HG HIU HOG INC +INFR JACQ JJR JLLO @@ -33,6 +37,9 @@ JNLG JRD KOR KOS +KRY +KYL +LEM MEL MET MIW @@ -54,6 +61,7 @@ STLP TAT TIM TKRG +TWAT WJ WLRD XAL diff --git a/strings/names/voidwalker.txt b/strings/names/voidwalker.txt new file mode 100644 index 0000000000000..f7f991a71f678 --- /dev/null +++ b/strings/names/voidwalker.txt @@ -0,0 +1,19 @@ +Ere +Vee +Gea +Vai +Nei +Lii +Pio +Ije +Cie +Ule +Iso +Roa +Afa +Ija +Ebe +Eme +Roa +Goa +Aya diff --git a/strings/revenant_names.json b/strings/revenant_names.json index fa165fc9dbdea..c3dfbde388b20 100644 --- a/strings/revenant_names.json +++ b/strings/revenant_names.json @@ -1,15 +1,15 @@ { - "spirit_type": [ - "Essence", - "Ghost", - "Phantom", - "Revenant", - "Soul", - "Spectre", - "Spirit" - ], + "spirit_type": [ + "Essence", + "Ghost", + "Phantom", + "Revenant", + "Soul", + "Spectre", + "Spirit" + ], - "adverb": [ + "adverb": [ "", "brutal ", "fiery ", @@ -27,9 +27,9 @@ "hateful ", "searing ", "vicious " - ], + ], - "theme": [ + "theme": [ "despair", "agony", "screams", @@ -48,5 +48,5 @@ "salt", "grief", "laughter" - ] + ] } diff --git a/strings/steve.json b/strings/steve.json index 06181e85eb891..48cf4baf8e03c 100644 --- a/strings/steve.json +++ b/strings/steve.json @@ -1,21 +1,21 @@ { - "ballmer_good_msg": [ - "Hear me out here. What if, and this is just a theory, we made R&D controllable from our PDAs?", - "Hey guys, what if we rolled out a bluespace wiring system so mice can't destroy the powergrid anymore?", - "I dunno about you guys, but IDs and PDAs being separate is clunky as fuck. Maybe we should merge them into a chip in our arms? That way they can't be stolen easily.", - "I'm thinking we should roll out a git repository for our research under the AGPLv3 license so that we can share it among the other stations freely.", - "Why the fuck aren't we just making every pair of shoes into galoshes? We have the technology." - ], + "ballmer_good_msg": [ + "Hear me out here. What if, and this is just a theory, we made R&D controllable from our PDAs?", + "Hey guys, what if we rolled out a bluespace wiring system so mice can't destroy the powergrid anymore?", + "I dunno about you guys, but IDs and PDAs being separate is clunky as fuck. Maybe we should merge them into a chip in our arms? That way they can't be stolen easily.", + "I'm thinking we should roll out a git repository for our research under the AGPLv3 license so that we can share it among the other stations freely.", + "Why the fuck aren't we just making every pair of shoes into galoshes? We have the technology." + ], - "ballmer_windows_me_msg": [ + "ballmer_windows_me_msg": [ "Who keeps commiting to master?", - "Best idea ever: Disposal pipes instead of hallways.", - "Do you know who ate all the donuts?", - "Dude, radical idea: H.O.N.K mechs but with no bananium required.", - "So like, you know how we separate our codebase from the master copy that runs on our consumer boxes? What if we merged the two and undid the separation between codebase and server?", - "We should store bank records in a webscale datastore, like /dev/null.", - "What if we use a language that was written on a napkin and created over 1 weekend for all of our servers?", - "Yo man, what if, we like, uh, put a webserver that's automatically turned on with default admin passwords into every PDA?", - "You ever wonder if /dev/null supports sharding?" - ] + "Best idea ever: Disposal pipes instead of hallways.", + "Do you know who ate all the donuts?", + "Dude, radical idea: H.O.N.K mechs but with no bananium required.", + "So like, you know how we separate our codebase from the master copy that runs on our consumer boxes? What if we merged the two and undid the separation between codebase and server?", + "We should store bank records in a webscale datastore, like /dev/null.", + "What if we use a language that was written on a napkin and created over 1 weekend for all of our servers?", + "Yo man, what if, we like, uh, put a webserver that's automatically turned on with default admin passwords into every PDA?", + "You ever wonder if /dev/null supports sharding?" + ] } diff --git a/strings/tcg/keywords.json b/strings/tcg/keywords.json index 541d828cb00cb..854ac936fef1e 100644 --- a/strings/tcg/keywords.json +++ b/strings/tcg/keywords.json @@ -11,8 +11,8 @@ "Hivemind": "The creature enters combat with a hivemind token on it.The first time this card would take damage, remove that token instead. This does not apply to immediate removal effects, only points of damage", "Holy": "Immunity to all event cards", "Immunity": "The creature cannot be affected by card effects or combat of its immunity type. This includes both friendly and opposing effects", - "On Equip": "This effect is activated once it's item cost is paid and it enters the battlefield, equipping itself to a chosen card on your side of the field (Unless otherwise stated)", - "On Summon": "This effect is activated once it's creature cost is paid and it enters the battlefield", + "On Equip": "This effect is activated once its item cost is paid and it enters the battlefield, equipping itself to a chosen card on your side of the field (Unless otherwise stated)", + "On Summon": "This effect is activated once its creature cost is paid and it enters the battlefield", "Squad Tactics": "When this creature attacks an opponent's creature and defeats it in combat, the owner of the defeated card takes 1 lifeshard of damage from combat", "Taunt": "All opposing creature attacks must be directed towards the creature with Taunt" } diff --git a/strings/tcg/set_one.json b/strings/tcg/set_one.json index 233f984835ddc..de24543a66b96 100644 --- a/strings/tcg/set_one.json +++ b/strings/tcg/set_one.json @@ -750,7 +750,7 @@ "id": "medborg", "name": "Cyborg (Medical Shell)", "desc": "A state of the art medical shell, for when biological life just can't take care of itself. Comes equipped with built-in surgical equipment and all the medicated lollipops you could ever want.", - "rules": "{$Asimov}, you may tap this card and pay 2 mana: Reset a card's resolve to it's original value.", + "rules": "{$Asimov}, you may tap this card and pay 2 mana: Reset a card's resolve to its original value.", "icon_state": "borg_medical", "power": "2", "resolve": "3", @@ -781,7 +781,7 @@ "id": "mime", "name": "Mime", "desc": "Si vous regardez attentivement dans les yeux d'un mime, vous pouvez voir le tourment sans fin derrière leur façade silencieuse. C'est vraiment tragique.", - "rules": "You may tap this card: Pick an opponent's card and nullify it's effect until it leaves play.", + "rules": "You may tap this card: Pick an opponent's card and nullify its effect until it leaves play.", "icon_state": "mime", "power": "2", "resolve": "1", diff --git a/strings/traumas.json b/strings/traumas.json index 1fc4b95b1d857..7eeae3370f291 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -1,182 +1,182 @@ { - "brain_damage": [ - "@pick(bug)", - "@pick(semicolon) @pick(george) @pick(mellens) is grifing me HALP!!!", - "@pick(semicolon)A PIRATE APPEAR", - "@pick(semicolon)AI laW 22 Open door", - "@pick(semicolon)CAL; TEH SHUTTLE!!!!!", - "@pick(semicolon)CAPTAINS A COMDOM", - "@pick(semicolon)CRASHING THIS STTAYTION WITH NIO SURVIVROS", - "@pick(semicolon)GIVE ME FREE ROBUX PLEASE JUST ENOUGH FOR SHIRT AND PANTS", - "@pick(semicolon)HELP SHITECIRTY MURDERIN MEE!!!", - "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", - "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", - "@pick(semicolon)I WANNA PET TEH monkeyS", - "@pick(semicolon)I'VE GOT BALLS OF STEEL", - "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", - "@pick(semicolon)N-NYAAAAAA~", - "@pick(semicolon)pray can u @pick(create_verbs) @pick(create_nouns)???", - "@pick(semicolon)Tajaran has warrrres, if you have coin", - "@pick(semicolon)the ai and borgs are mettacomming I think", - "@pick(semicolon)this SI mY stATIon......", - "@pick(semicolon)wtf??????????? @pick(bug)", - "@pick(servers) is down!! @pick(bug)", - ">my face", - "Bi is THE BEST OF BOTH WORLDS>", + "brain_damage": [ + "@pick(bug)", + "@pick(semicolon) @pick(george) @pick(mellens) is grifing me HALP!!!", + "@pick(semicolon)A PIRATE APPEAR", + "@pick(semicolon)AI laW 22 Open door", + "@pick(semicolon)CAL; TEH SHUTTLE!!!!!", + "@pick(semicolon)CAPTAINS A COMDOM", + "@pick(semicolon)CRASHING THIS STTAYTION WITH NIO SURVIVROS", + "@pick(semicolon)GIVE ME FREE ROBUX PLEASE JUST ENOUGH FOR SHIRT AND PANTS", + "@pick(semicolon)HELP SHITECIRTY MURDERIN MEE!!!", + "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", + "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", + "@pick(semicolon)I WANNA PET TEH monkeyS", + "@pick(semicolon)I'VE GOT BALLS OF STEEL", + "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", + "@pick(semicolon)N-NYAAAAAA~", + "@pick(semicolon)pray can u @pick(create_verbs) @pick(create_nouns)???", + "@pick(semicolon)Tajaran has warrrres, if you have coin", + "@pick(semicolon)the ai and borgs are mettacomming I think", + "@pick(semicolon)this SI mY stATIon......", + "@pick(semicolon)wtf??????????? @pick(bug)", + "@pick(servers) is down!! @pick(bug)", + ">my face", + "Bi is THE BEST OF BOTH WORLDS>", "built DIFFERENT. I Stack Paper!", - "can u give me @pick(mutations)?", - "closd for merbegging", - "dem dwarfs man, dem dwarfs", - "DON'T EVER TUCH ME", - "FOR TEH EMPRAH", - "fucking 4rries!", - "FUS RO DAH", - "geT THE FUCK OUTTTT", - "GEY AWAY FROM ME U GREIFING PRICK!!!!", - "H U G B O X", - "hwat dose tha @pick(random_gibberish) mean?????", - "hwee did eet fhor khayosss", - "i will snatch erry motherfucker birthday", - "INSTLL TEG", - "its gonna be like 9/11 all over again but insitaead is gonna be a bitc", - "lifelike texture ;_;", - "lol2cat", - "luv can bloooom", + "can u give me @pick(mutations)?", + "closd for merbegging", + "dem dwarfs man, dem dwarfs", + "DON'T EVER TUCH ME", + "FOR TEH EMPRAH", + "fucking 4rries!", + "FUS RO DAH", + "geT THE FUCK OUTTTT", + "GEY AWAY FROM ME U GREIFING PRICK!!!!", + "H U G B O X", + "hwat dose tha @pick(random_gibberish) mean?????", + "hwee did eet fhor khayosss", + "i will snatch erry motherfucker birthday", + "INSTLL TEG", + "its gonna be like 9/11 all over again but insitaead is gonna be a bitc", + "lifelike texture ;_;", + "lol2cat", + "luv can bloooom", "MAKE JIANT CRISTAL BURN I KEPT THROWING WELDERS IT WOOD LIGHT", - "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", - "PACKETS!!!", - "parasteng was best", - "port ba@pick(y_replacements) med!!!!", - "PSHOOOM", - "red wonz go fasta", - "REMOVE SINGULARITY", - "REVIRT COBY CHEM!!!!!!!!", - "roll it easy!", - "shiggey diggey!!", - "SOLIRS CAN POWER THE HOLE STATION ANEWAY @pick(bug)", - "SOTP IT#", - "SPESS MAHREENS", - "stat me", - "stop grifing me!!!!", - "THe saiyans screwed", - "TURBIN IS BEST ENGIENE", - "u just did the world a little bit more sad place for someone", - "ur a fuckeing autist!", - "waaaaaagh!!!", - "wearnig siNGUARLTY is.... FINE haHAAA", - "WHERES THE SLIP REWRITE WHERE THR FUCK ID IT?", - "who the HELL do u thenk u r?!!!!", - "without oxigen blob don't evoluate?", - "youed call her a toeugh bithc", - "I AM ALPHA MAN!!" - ], + "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", + "PACKETS!!!", + "parasteng was best", + "port ba@pick(y_replacements) med!!!!", + "PSHOOOM", + "red wonz go fasta", + "REMOVE SINGULARITY", + "REVIRT COBY CHEM!!!!!!!!", + "roll it easy!", + "shiggey diggey!!", + "SOLIRS CAN POWER THE HOLE STATION ANEWAY @pick(bug)", + "SOTP IT#", + "SPESS MAHREENS", + "stat me", + "stop grifing me!!!!", + "THe saiyans screwed", + "TURBIN IS BEST ENGIENE", + "u just did the world a little bit more sad place for someone", + "ur a fuckeing autist!", + "waaaaaagh!!!", + "wearnig siNGUARLTY is.... FINE haHAAA", + "WHERES THE SLIP REWRITE WHERE THR FUCK ID IT?", + "who the HELL do u thenk u r?!!!!", + "without oxigen blob don't evoluate?", + "youed call her a toeugh bithc", + "I AM ALPHA MAN!!" + ], - "mutations": [ - "eksrey", - "eppilapse", - "fungal tb", - "glowey skin", - "halk", - "kamelien", - "stun gloves", - "telikesis" - ], + "mutations": [ + "eksrey", + "eppilapse", + "fungal tb", + "glowey skin", + "halk", + "kamelien", + "stun gloves", + "telikesis" + ], - "george": [ - "gdoruge", - "george", - "gorge", - "joerge" - ], + "george": [ + "gdoruge", + "george", + "gorge", + "joerge" + ], - "mellens": [ - "mellens", - "melons", - "mwrlins" - ], - "random_gibberish": [ - "g", - "squid", - "r", - "carbon dioxide" - ], + "mellens": [ + "mellens", + "melons", + "mwrlins" + ], + "random_gibberish": [ + "g", + "squid", + "r", + "carbon dioxide" + ], - "y_replacements": [ - "y", - "i", - "e" - ], + "y_replacements": [ + "y", + "i", + "e" + ], - "servers": [ - "bager", - "berry", - "colonel hall", - "mr basil", - "mr terry", - "mrs sybil", - "sybl", - "vent hell", - "manual", - "camel" - ], + "servers": [ + "bager", + "berry", + "colonel hall", + "mr basil", + "mr terry", + "mrs sybil", + "sybl", + "vent hell", + "manual", + "camel" + ], - "create_verbs": [ - "creat", - "gib", - "MAke me", - "spawn", - "tc trade me" - ], + "create_verbs": [ + "creat", + "gib", + "MAke me", + "spawn", + "tc trade me" + ], - "create_nouns": [ - "abdoocters", - "anteg", - "ayleins", - "bleb", - "cock cult", - "deth squads", - "deval", - "revinent", - "sheadow lings", - "treaitors", - "zenomorfs" - ], + "create_nouns": [ + "abdoocters", + "anteg", + "ayleins", + "bleb", + "cock cult", + "deth squads", + "deval", + "revinent", + "sheadow lings", + "treaitors", + "zenomorfs" + ], - "bug": [ - "", - "BUG!!!", - "IS TIS A BUG??", - "SI IST A BUGG/" - ], + "bug": [ + "", + "BUG!!!", + "IS TIS A BUG??", + "SI IST A BUGG/" + ], - "semicolon": [ - "", - ";", - ".h" - ], + "semicolon": [ + "", + ";", + ".h" + ], - "god_foe": [ + "god_foe": [ "BLASPHEMERS", "PARASITES", "PEASANTS", "UNBELIEVERS", "WEAKLINGS", - "HERETICS", - "INSECTS", - "MORTALS" - ], + "HERETICS", + "INSECTS", + "MORTALS" + ], - "god_aggressive": [ + "god_aggressive": [ "ALL WILL FALL BEFORE ME!", "BURN, @pick(god_foe)!", "DEATH TO @pick(god_foe)!", "ENDLESS SUFFERING AWAITS YOU, @pick(god_foe).", - "BEGONE, @pick(god_foe)!", - "BLEED, @pick(god_foe)!", - "DIE, @pick(god_foe)!" - ], + "BEGONE, @pick(god_foe)!", + "BLEED, @pick(god_foe)!", + "DIE, @pick(god_foe)!" + ], - "god_neutral": [ + "god_neutral": [ "BE HEALED, MORTALS. I AM FEELING MERCIFUL.", "BEGONE, MORTALS.", "DANCE FOR ME, LITTLE MORTALS.", @@ -187,22 +187,22 @@ "SEE THE TRUTH BEFORE YOU, MORTALS.", "YOU MORTALS MAKE ME SICK.", "YOU. STOP.", - "BE SILENT.", - "QUIET", - "STOP" - ], + "BE SILENT.", + "QUIET", + "STOP" + ], - "god_unstun": [ + "god_unstun": [ "GET UP, PRIEST.", "GET UP. I HAVE NO TIME TO LOSE.", "GET UP." - ], + ], - "god_heal": [ + "god_heal": [ "BE HEALED, PRIEST.", "YOU SHALL SURVIVE THIS, MY PRIEST.", "YOU WILL LIVE TO SEE ANOTHER DAY.", "YOUR LIFE IS IMPORTANT. KEEP IT." - ] + ] } diff --git a/strings/zombie_replacement.json b/strings/zombie_replacement.json index 8af2bb641b8fb..7ce258a90dc18 100644 --- a/strings/zombie_replacement.json +++ b/strings/zombie_replacement.json @@ -1,254 +1,254 @@ { - "zombie": { - "aaah": "oh", - "aabz": ["oops", "ops", "oof"], - "abzah": ["myself", "yourself", "himself", "herself", "itself", "ourselves", "themselves"], - "hah": ["he"], - "zam": ["him", "they", "them"], - "zhar": ["she", "her"], - "haz": ["have", "has"], - "habbanah": ["haven't", "havent"], - "haarh": "here", - "rahg": "reach", - "arg": "out", - "anazarh": "another", - "anazambah": "anyone", - "anazang": "anything", - "angrah": ["angry", "mad", "pissed", "upset", "yell", "scream"], - "zamran": "someone", - "narh": "north", - "azz": "ass", - "bahrn": "burn", - "bambg!n": "pumpkin", - "bam-mahbam": "suicide", - "banana man": "clown", - "banana": ["banana", "slip", "fall", "fell"], - "az": ["east", "as"], - "azgha!b": ["escape", "depature"], - "az!an": "asian", - "agzg": "ask", - "nag": ["annoy", "pester"], - "naga": ["liar", "snake"], - "nahgh": "knock", - "nambah": "number", - "braag": "blood", - "braaz": "please", - "brabram": "problem", - "bra!nbag": ["hat", "helmet"], - "ba": "by", - "g!zz": "kiss", - "ga!n": ["gain", "join", "profit"], - "gaam": "game", - "brrrh": "cold", - "h!gh": ["high", "up", "above"], - "bagan": "begin", - "baag": "book", - "azzarh": "over", - "b!g": ["big", "large", "giant", "huge", "massive", "enlarge"], - "b!rznah": "birthday", - "azzbag": ["seat", "chair", "sofa", "couch", "cockpit", "stool"], - "azzbangarh": "necrophillia", - "azz!gn": "assign", - "agzrah": ["xray", "x-ray"], - "zah": ["south", "the", "stay", "so"], - "zahn": ["sun", "son"], - "zanraaz": "sunrise", - "zanzat": "sunset", - "zarbraz": "surprise", - "zarman": ["sermon", "preach", "pray", "prayer"], - "zazzahz": "sister", - "brahg": "bright", - "zgaarah": "scary", - "zhaar": "share", - "zhanz": "chance", - "zharh": "light", - "znaagah": "sneak", - "znag": ["snow", "snag"], - "harrah": ["hurry", "fast"], - "gaz": "cast", - "ambraz": ["embrace", "accept"], - "zahgah": "shadow", - "n!gh": "night", - "n!ngah": "ninja", - "n!z": "nice", - "baza": "busy", - "bahrang": "boring", - "arn": "mine", - "raz": "west", - "ana": ["1", "one"], - "zma": ["2", "two"], - "zhraa": ["3", "three"], - "haar": ["4", "four"], - "raah": ["5", "five"], - "zaz": ["6", "six"], - "zaban": ["7", "seven"], - "aaghz": ["8", "eight"], - "nahn": ["9", "nine"], - "zhan": ["10", "ten"], - "hangarg": ["100", "hundred"], - "harzanz": ["1000", "1,000", "thousand"], - "m!rrh!an": ["1000000", "1,000,000", "million"], - "mah zambah": "i", - "ag": "it", - "marh": "more", - "maz hab": "need", - "maz": "must", - "mazagaam": "metagame", - "marharhahar": "motherfucker", - "mazah": "mercy", - "marnang": "morning", - "aga!n": "again", - "ag!ng": ["aging", "old"], - "agzahra": "exactly", - "harb": "hard", - "zhag": "weak", - "angarzangang": "understand", - "gahmangang": "demand", - "barragahz": ["barricade", "cade", "airlock", "door", "bolt", "wall", "sandbag", "window", "weld"], - "barg": "eat", - "brang": "bring", - "bram": "from", - "rabah": "lover", - "raab": "love", - "habbah": "happy", - "abah": "about", - "ah": ["of", "if"], - "ahbgrag": "upgrade", - "harh": "hear", - "mama": ["mom", "mother", "mama"], - "baba": ["dad", "papa", "father"], - "babah": ["baby", "kid", "child"], - "ahn": "in", - "ahn-na-ahn": "between", - "ahahz": "away", - "anh": "and", - "ann": "on", - "arghazzm": "orgasm", - "abrahb": ["afraid", "fear"], - "hanah": "honey", - "hag": "hug", - "zaan": "soon", - "zagzaz": "success", - "gan": "can", - "zang": "change", - "zangz": "thanks", - "zarrah": "sorry", - "zanh": ["can't", "cant", "cannot"], - "gang": ["group", "mob", "horde"], - "barbaga zaarz": "bbq sauce", - "hab": "help", - "ahnna": "into", - "arahn": "around", - "za": "to", - "ahn!nn": "within", - "aham": "ahem", - "anamah": "animal", - "zaa": ["see", "saw", "seen", "vision", "sight"], - "z!gzag": ["zigzag", "obstruct", "dodge", "avoid"], - "z!gn": "sign", - "z!ng": "sing", - "z!ngz": "thing", - "mabban": "move", - "rabhabh": "revive", - "zammarrar": "tomorrow", - "graan": "green", - "arh": "or", - "arm": "arm", - "arzhahm": "awesome", - "arrang": ["along", "with", "alongside"], - "arza": ["also", "too"], - "bgaz": "because", - "mah zambah brazzahz": ["we", "us"], - "grazzaz": "glasses", - "habban": "heaven", - "mazzah man": "chaplain", - "hanz": "hand", - "hab-ganna": ["want", "gonna have"], - "magma": ["magma", "lava"], - "manzhan": "mansion", - "harmbargarz": "hamburger", - "harrazz": "harass", - "namz": "name", - "ramambarh": "remember", - "rh!zzan": "listen", - "rabrarah": "library", - "ragargarh": "recorder", - "zarh": ["you", "your", "you're", "ya"], - "hagh": "head", - "RNA": "DNA", - "zambahz": "zombies", - "zzzz": ["chill", "relax", "sleep", "calm", "peace", "dream"], - "bah": ["bad", "evil", "but"], - "gag": ["gross", "nasty", "vomit", "smelly", "stinky", "stench", "foul", "quiet", "silence", "shutup"], - "gammah": ["give", "gimmie"], - "gah": ["get", "go"], - "gargazz": ["body", "corpse"], - "rag": ["uniform", "suit", "rag", "clothing", "jumpsuit"], - "garbagz": ["garbage", "janitor", "custodian", "trash", "clean", "dirt", "filth", "mess", "junk"], - "bagman": ["doctor", "medic", "healer", "paramedic", "curator", "librarian"], - "gangbang": ["death", "kill", "die", "slay", "ERP", "punish", "detain", "prison", "prisoner", "brig", "cell", "jail", "perma", "permabrig"], - "bag": ["duffle", "dufflebag", "pocket", "box", "bag", "backpack", "storage", "inventory"], - "aarbagz": ["airbag", "atmos", "airtank", "canister", "air", "atmos tech", "atmospherics", "tank", "gas", "flood", "siphon"], - "bar": ["bar", "drink", "alchol", "liquor"], - "bar man": "bartender", - "barn": ["hydroponics", "botany", "office", "room"], - "brainz barn": ["kitchen", "cafe", "service"], - "nah": ["not", "nope", "no", "deny", "don't", "dont"], - "nabarh": "never", - "nabarmang": "nevermind", - "naz!n": "nothing", - "abar": "all", - "abara": "every", - "abarahaarh": "everywhere", - "abargargazz": "everybody", - "abban": "open", - "abzarb": ["drink", "absorb"], - "gaa": ["yes", "ya", "okay", "alright"], - "abargamz": "always", - "am": ["is", "are", "am"], - "aman": "amen", - "amaz!ng": "amazing", - "zahz": ["say", "says", "that"], - "gab": ["told", "talk", "speak", "spoke", "language", "communication", "radio", "comms", "text", "word", "speech"], - "mrh": ["why", "how", "when", "who", "what", "where"], - "zmazh": ["smash", "break", "destroy", "deconstruct", "dismantle", "ruin", "destruction", "demolish"], - "ranz": ["run", "ran", "ride"], - "hahg": ["hide", "hidden", "shelter"], - "zanz": ["dance", "spin", "flip"], - "ganna": ["going", "gonna"], - "mannah": ["many", "much", "very"], - "mazzargh": "massacure", - "mazzah": ["lord", "god", "religion", "chapel", "altar", "bible", "messiah", "christ"], - "mararana": ["weed", "420", "marijuana", "drug"], - "barb": ["knife", "poke", "thorn", "joke"], - "mmmm": ["delicious", "tasty", "like", "enjoy"], - "barbarh": "barber", - "bargahn": "bargain", - "bargh": "barge", - "ban!zh": ["ban", "banish"], - "brazzarz": ["brother", "skeleton", "skele"], - "zambah": ["zombie", "undead", "dead", "horde"], - "gangbang harmanz": ["sec", "security", "assistant", "greyshirt", "greytide", "cargo", "syndie", "rev", "shitsec", "shitcurity"], - "ganz": ["gun", "rifle", "taser", "shotgun", "revovler", "sniper", "pistol"], - "bang": ["bomb", "detonate", "explode", "explosion", "boom", "bang", "noise", "loud"], - "bang-bang": ["bullet", "shot", "shoot", "fire", "laser", "lazer"], - "harm": ["attack", "punch", "hit", "throw", "fight", "strike", "combat", "choke", "suffoicate", "baton", "harmbaton"], - "ram": ["smash", "smack", "punch", "tackle", "kick", "push", "beat"], - "zhangh": ["stab", "slash", "slice"], - "bang bang man": ["officer", "warden", "hos", "bounty hunter", "hunt", "hunter"], - "manbagz": ["testicle", "balls"], - "grahn": ["groan", "gasp", "crit", "moan", "unconscious"], - "gahn": "gone", - "ganarazharh": ["power", "apc", "generator", "smes"], - "grabz": ["grab", "hold", "held", "grip", "restrain", "handcuff", "cuff", "arrest"], - "mah": ["my", "me"], - "mana man": "wizard", - "mana": "magic", - "mana bang-bang": "spell", - "mahg": "make", - "mannarz": "manner", - "brainz": ["brain", "intelligence", "smart", "hungry", "hunger", "eat", "meat", "desert"], - "harman": ["human", "food", "person", "groceries"], - "harmanz": ["crew", "people", "humans"] - } + "zombie": { + "aaah": "oh", + "aabz": ["oops", "ops", "oof"], + "abzah": ["myself", "yourself", "himself", "herself", "itself", "ourselves", "themselves"], + "hah": ["he"], + "zam": ["him", "they", "them"], + "zhar": ["she", "her"], + "haz": ["have", "has"], + "habbanah": ["haven't", "havent"], + "haarh": "here", + "rahg": "reach", + "arg": "out", + "anazarh": "another", + "anazambah": "anyone", + "anazang": "anything", + "angrah": ["angry", "mad", "pissed", "upset", "yell", "scream"], + "zamran": "someone", + "narh": "north", + "azz": "ass", + "bahrn": "burn", + "bambg!n": "pumpkin", + "bam-mahbam": "suicide", + "banana man": "clown", + "banana": ["banana", "slip", "fall", "fell"], + "az": ["east", "as"], + "azgha!b": ["escape", "depature"], + "az!an": "asian", + "agzg": "ask", + "nag": ["annoy", "pester"], + "naga": ["liar", "snake"], + "nahgh": "knock", + "nambah": "number", + "braag": "blood", + "braaz": "please", + "brabram": "problem", + "bra!nbag": ["hat", "helmet"], + "ba": "by", + "g!zz": "kiss", + "ga!n": ["gain", "join", "profit"], + "gaam": "game", + "brrrh": "cold", + "h!gh": ["high", "up", "above"], + "bagan": "begin", + "baag": "book", + "azzarh": "over", + "b!g": ["big", "large", "giant", "huge", "massive", "enlarge"], + "b!rznah": "birthday", + "azzbag": ["seat", "chair", "sofa", "couch", "cockpit", "stool"], + "azzbangarh": "necrophillia", + "azz!gn": "assign", + "agzrah": ["xray", "x-ray"], + "zah": ["south", "the", "stay", "so"], + "zahn": ["sun", "son"], + "zanraaz": "sunrise", + "zanzat": "sunset", + "zarbraz": "surprise", + "zarman": ["sermon", "preach", "pray", "prayer"], + "zazzahz": "sister", + "brahg": "bright", + "zgaarah": "scary", + "zhaar": "share", + "zhanz": "chance", + "zharh": "light", + "znaagah": "sneak", + "znag": ["snow", "snag"], + "harrah": ["hurry", "fast"], + "gaz": "cast", + "ambraz": ["embrace", "accept"], + "zahgah": "shadow", + "n!gh": "night", + "n!ngah": "ninja", + "n!z": "nice", + "baza": "busy", + "bahrang": "boring", + "arn": "mine", + "raz": "west", + "ana": ["1", "one"], + "zma": ["2", "two"], + "zhraa": ["3", "three"], + "haar": ["4", "four"], + "raah": ["5", "five"], + "zaz": ["6", "six"], + "zaban": ["7", "seven"], + "aaghz": ["8", "eight"], + "nahn": ["9", "nine"], + "zhan": ["10", "ten"], + "hangarg": ["100", "hundred"], + "harzanz": ["1000", "1,000", "thousand"], + "m!rrh!an": ["1000000", "1,000,000", "million"], + "mah zambah": "i", + "ag": "it", + "marh": "more", + "maz hab": "need", + "maz": "must", + "mazagaam": "metagame", + "marharhahar": "motherfucker", + "mazah": "mercy", + "marnang": "morning", + "aga!n": "again", + "ag!ng": ["aging", "old"], + "agzahra": "exactly", + "harb": "hard", + "zhag": "weak", + "angarzangang": "understand", + "gahmangang": "demand", + "barragahz": ["barricade", "cade", "airlock", "door", "bolt", "wall", "sandbag", "window", "weld"], + "barg": "eat", + "brang": "bring", + "bram": "from", + "rabah": "lover", + "raab": "love", + "habbah": "happy", + "abah": "about", + "ah": ["of", "if"], + "ahbgrag": "upgrade", + "harh": "hear", + "mama": ["mom", "mother", "mama"], + "baba": ["dad", "papa", "father"], + "babah": ["baby", "kid", "child"], + "ahn": "in", + "ahn-na-ahn": "between", + "ahahz": "away", + "anh": "and", + "ann": "on", + "arghazzm": "orgasm", + "abrahb": ["afraid", "fear"], + "hanah": "honey", + "hag": "hug", + "zaan": "soon", + "zagzaz": "success", + "gan": "can", + "zang": "change", + "zangz": "thanks", + "zarrah": "sorry", + "zanh": ["can't", "cant", "cannot"], + "gang": ["group", "mob", "horde"], + "barbaga zaarz": "bbq sauce", + "hab": "help", + "ahnna": "into", + "arahn": "around", + "za": "to", + "ahn!nn": "within", + "aham": "ahem", + "anamah": "animal", + "zaa": ["see", "saw", "seen", "vision", "sight"], + "z!gzag": ["zigzag", "obstruct", "dodge", "avoid"], + "z!gn": "sign", + "z!ng": "sing", + "z!ngz": "thing", + "mabban": "move", + "rabhabh": "revive", + "zammarrar": "tomorrow", + "graan": "green", + "arh": "or", + "arm": "arm", + "arzhahm": "awesome", + "arrang": ["along", "with", "alongside"], + "arza": ["also", "too"], + "bgaz": "because", + "mah zambah brazzahz": ["we", "us"], + "grazzaz": "glasses", + "habban": "heaven", + "mazzah man": "chaplain", + "hanz": "hand", + "hab-ganna": ["want", "gonna have"], + "magma": ["magma", "lava"], + "manzhan": "mansion", + "harmbargarz": "hamburger", + "harrazz": "harass", + "namz": "name", + "ramambarh": "remember", + "rh!zzan": "listen", + "rabrarah": "library", + "ragargarh": "recorder", + "zarh": ["you", "your", "you're", "ya"], + "hagh": "head", + "RNA": "DNA", + "zambahz": "zombies", + "zzzz": ["chill", "relax", "sleep", "calm", "peace", "dream"], + "bah": ["bad", "evil", "but"], + "gag": ["gross", "nasty", "vomit", "smelly", "stinky", "stench", "foul", "quiet", "silence", "shutup"], + "gammah": ["give", "gimmie"], + "gah": ["get", "go"], + "gargazz": ["body", "corpse"], + "rag": ["uniform", "suit", "rag", "clothing", "jumpsuit"], + "garbagz": ["garbage", "janitor", "custodian", "trash", "clean", "dirt", "filth", "mess", "junk"], + "bagman": ["doctor", "medic", "healer", "paramedic", "curator", "librarian"], + "gangbang": ["death", "kill", "die", "slay", "ERP", "punish", "detain", "prison", "prisoner", "brig", "cell", "jail", "perma", "permabrig"], + "bag": ["duffle", "dufflebag", "pocket", "box", "bag", "backpack", "storage", "inventory"], + "aarbagz": ["airbag", "atmos", "airtank", "canister", "air", "atmos tech", "atmospherics", "tank", "gas", "flood", "siphon"], + "bar": ["bar", "drink", "alchol", "liquor"], + "bar man": "bartender", + "barn": ["hydroponics", "botany", "office", "room"], + "brainz barn": ["kitchen", "cafe", "service"], + "nah": ["not", "nope", "no", "deny", "don't", "dont"], + "nabarh": "never", + "nabarmang": "nevermind", + "naz!n": "nothing", + "abar": "all", + "abara": "every", + "abarahaarh": "everywhere", + "abargargazz": "everybody", + "abban": "open", + "abzarb": ["drink", "absorb"], + "gaa": ["yes", "ya", "okay", "alright"], + "abargamz": "always", + "am": ["is", "are", "am"], + "aman": "amen", + "amaz!ng": "amazing", + "zahz": ["say", "says", "that"], + "gab": ["told", "talk", "speak", "spoke", "language", "communication", "radio", "comms", "text", "word", "speech"], + "mrh": ["why", "how", "when", "who", "what", "where"], + "zmazh": ["smash", "break", "destroy", "deconstruct", "dismantle", "ruin", "destruction", "demolish"], + "ranz": ["run", "ran", "ride"], + "hahg": ["hide", "hidden", "shelter"], + "zanz": ["dance", "spin", "flip"], + "ganna": ["going", "gonna"], + "mannah": ["many", "much", "very"], + "mazzargh": "massacure", + "mazzah": ["lord", "god", "religion", "chapel", "altar", "bible", "messiah", "christ"], + "mararana": ["weed", "420", "marijuana", "drug"], + "barb": ["knife", "poke", "thorn", "joke"], + "mmmm": ["delicious", "tasty", "like", "enjoy"], + "barbarh": "barber", + "bargahn": "bargain", + "bargh": "barge", + "ban!zh": ["ban", "banish"], + "brazzarz": ["brother", "skeleton", "skele"], + "zambah": ["zombie", "undead", "dead", "horde"], + "gangbang harmanz": ["sec", "security", "assistant", "greyshirt", "greytide", "cargo", "syndie", "rev", "shitsec", "shitcurity"], + "ganz": ["gun", "rifle", "taser", "shotgun", "revovler", "sniper", "pistol"], + "bang": ["bomb", "detonate", "explode", "explosion", "boom", "bang", "noise", "loud"], + "bang-bang": ["bullet", "shot", "shoot", "fire", "laser", "lazer"], + "harm": ["attack", "punch", "hit", "throw", "fight", "strike", "combat", "choke", "suffoicate", "baton", "harmbaton"], + "ram": ["smash", "smack", "punch", "tackle", "kick", "push", "beat"], + "zhangh": ["stab", "slash", "slice"], + "bang bang man": ["officer", "warden", "hos", "bounty hunter", "hunt", "hunter"], + "manbagz": ["testicle", "balls"], + "grahn": ["groan", "gasp", "crit", "moan", "unconscious"], + "gahn": "gone", + "ganarazharh": ["power", "apc", "generator", "smes"], + "grabz": ["grab", "hold", "held", "grip", "restrain", "handcuff", "cuff", "arrest"], + "mah": ["my", "me"], + "mana man": "wizard", + "mana": "magic", + "mana bang-bang": "spell", + "mahg": "make", + "mannarz": "manner", + "brainz": ["brain", "intelligence", "smart", "hungry", "hunger", "eat", "meat", "desert"], + "harman": ["human", "food", "person", "groceries"], + "harmanz": ["crew", "people", "humans"] + } } diff --git a/tgstation.dme b/tgstation.dme index 22b700b3eb9a2..50f46f5a547de 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -51,7 +51,6 @@ #include "code\__DEFINES\basic_mobs.dm" #include "code\__DEFINES\basketball.dm" #include "code\__DEFINES\bitrunning.dm" -#include "code\__DEFINES\blackmarket.dm" #include "code\__DEFINES\blend_modes.dm" #include "code\__DEFINES\blob_defines.dm" #include "code\__DEFINES\blood.dm" @@ -96,6 +95,7 @@ #include "code\__DEFINES\explosions.dm" #include "code\__DEFINES\external_organs.dm" #include "code\__DEFINES\fantasy_affixes.dm" +#include "code\__DEFINES\filters.dm" #include "code\__DEFINES\firealarm.dm" #include "code\__DEFINES\fish.dm" #include "code\__DEFINES\font_awesome_icons.dm" @@ -139,6 +139,7 @@ #include "code\__DEFINES\map_switch.dm" #include "code\__DEFINES\mapping.dm" #include "code\__DEFINES\maps.dm" +#include "code\__DEFINES\market.dm" #include "code\__DEFINES\maths.dm" #include "code\__DEFINES\matrices.dm" #include "code\__DEFINES\MC.dm" @@ -301,7 +302,6 @@ #include "code\__DEFINES\dcs\signals\signals_backpack.dm" #include "code\__DEFINES\dcs\signals\signals_beam.dm" #include "code\__DEFINES\dcs\signals\signals_bitrunning.dm" -#include "code\__DEFINES\dcs\signals\signals_blackmarket.dm" #include "code\__DEFINES\dcs\signals\signals_blob.dm" #include "code\__DEFINES\dcs\signals\signals_bot.dm" #include "code\__DEFINES\dcs\signals\signals_camera.dm" @@ -314,6 +314,7 @@ #include "code\__DEFINES\dcs\signals\signals_customizable.dm" #include "code\__DEFINES\dcs\signals\signals_cytology.dm" #include "code\__DEFINES\dcs\signals\signals_datum.dm" +#include "code\__DEFINES\dcs\signals\signals_door.dm" #include "code\__DEFINES\dcs\signals\signals_event.dm" #include "code\__DEFINES\dcs\signals\signals_fish.dm" #include "code\__DEFINES\dcs\signals\signals_food.dm" @@ -331,6 +332,7 @@ #include "code\__DEFINES\dcs\signals\signals_leash.dm" #include "code\__DEFINES\dcs\signals\signals_lift.dm" #include "code\__DEFINES\dcs\signals\signals_light_eater.dm" +#include "code\__DEFINES\dcs\signals\signals_market.dm" #include "code\__DEFINES\dcs\signals\signals_material_container.dm" #include "code\__DEFINES\dcs\signals\signals_medical.dm" #include "code\__DEFINES\dcs\signals\signals_mind.dm" @@ -344,6 +346,7 @@ #include "code\__DEFINES\dcs\signals\signals_operating_computer.dm" #include "code\__DEFINES\dcs\signals\signals_operatives.dm" #include "code\__DEFINES\dcs\signals\signals_painting.dm" +#include "code\__DEFINES\dcs\signals\signals_plane_master_group.dm" #include "code\__DEFINES\dcs\signals\signals_proxmonitor.dm" #include "code\__DEFINES\dcs\signals\signals_radiation.dm" #include "code\__DEFINES\dcs\signals\signals_reagent.dm" @@ -364,6 +367,7 @@ #include "code\__DEFINES\dcs\signals\signals_turf.dm" #include "code\__DEFINES\dcs\signals\signals_twohand.dm" #include "code\__DEFINES\dcs\signals\signals_vehicle.dm" +#include "code\__DEFINES\dcs\signals\signals_voidwalker.dm" #include "code\__DEFINES\dcs\signals\signals_wash.dm" #include "code\__DEFINES\dcs\signals\signals_wizard.dm" #include "code\__DEFINES\dcs\signals\signals_xeno_control.dm" @@ -395,6 +399,7 @@ #include "code\__DEFINES\traits\macros.dm" #include "code\__DEFINES\traits\sources.dm" #include "code\__HELPERS\_auxtools_api.dm" +#include "code\__HELPERS\_dreamluau.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_planes.dm" #include "code\__HELPERS\_string_lists.dm" @@ -446,6 +451,7 @@ #include "code\__HELPERS\nameof.dm" #include "code\__HELPERS\names.dm" #include "code\__HELPERS\piping_colors_lists.dm" +#include "code\__HELPERS\pixel_offsets.dm" #include "code\__HELPERS\priority_announce.dm" #include "code\__HELPERS\pronouns.dm" #include "code\__HELPERS\qdel.dm" @@ -525,6 +531,7 @@ #include "code\_globalvars\time_vars.dm" #include "code\_globalvars\lists\achievements.dm" #include "code\_globalvars\lists\ambience.dm" +#include "code\_globalvars\lists\basic_ai.dm" #include "code\_globalvars\lists\canisters.dm" #include "code\_globalvars\lists\cargo.dm" #include "code\_globalvars\lists\client.dm" @@ -621,6 +628,7 @@ #include "code\controllers\subsystem\addiction.dm" #include "code\controllers\subsystem\admin_verbs.dm" #include "code\controllers\subsystem\ai_controllers.dm" +#include "code\controllers\subsystem\ai_idle_controllers.dm" #include "code\controllers\subsystem\air.dm" #include "code\controllers\subsystem\ambience.dm" #include "code\controllers\subsystem\area_contents.dm" @@ -631,7 +639,6 @@ #include "code\controllers\subsystem\ban_cache.dm" #include "code\controllers\subsystem\bitrunning.dm" #include "code\controllers\subsystem\blackbox.dm" -#include "code\controllers\subsystem\blackmarket.dm" #include "code\controllers\subsystem\chat.dm" #include "code\controllers\subsystem\circuit_component.dm" #include "code\controllers\subsystem\dbcore.dm" @@ -656,6 +663,7 @@ #include "code\controllers\subsystem\lua.dm" #include "code\controllers\subsystem\machines.dm" #include "code\controllers\subsystem\mapping.dm" +#include "code\controllers\subsystem\market.dm" #include "code\controllers\subsystem\materials.dm" #include "code\controllers\subsystem\minor_mapping.dm" #include "code\controllers\subsystem\mobs.dm" @@ -741,6 +749,7 @@ #include "code\controllers\subsystem\processing\acid.dm" #include "code\controllers\subsystem\processing\ai_basic_avoidance.dm" #include "code\controllers\subsystem\processing\ai_behaviors.dm" +#include "code\controllers\subsystem\processing\ai_idle_behaviors.dm" #include "code\controllers\subsystem\processing\antag_hud.dm" #include "code\controllers\subsystem\processing\aura.dm" #include "code\controllers\subsystem\processing\clock_component.dm" @@ -797,6 +806,7 @@ #include "code\datums\mutable_appearance.dm" #include "code\datums\numbered_display.dm" #include "code\datums\outfit.dm" +#include "code\datums\pod_style.dm" #include "code\datums\position_point_vector.dm" #include "code\datums\profiling.dm" #include "code\datums\progressbar.dm" @@ -909,6 +919,7 @@ #include "code\datums\ai\basic_mobs\basic_subtrees\find_food.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\find_paper_and_write.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\find_parent.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\find_targets_prioritize_traits.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\flee_target.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\go_for_swim.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\maintain_distance.dm" @@ -938,6 +949,7 @@ #include "code\datums\ai\basic_mobs\pet_commands\pet_follow_friend.dm" #include "code\datums\ai\basic_mobs\pet_commands\pet_use_targeted_ability.dm" #include "code\datums\ai\basic_mobs\pet_commands\play_dead.dm" +#include "code\datums\ai\basic_mobs\targeting_strategies\_targeting_strategy.dm" #include "code\datums\ai\basic_mobs\targeting_strategies\basic_targeting_strategy.dm" #include "code\datums\ai\basic_mobs\targeting_strategies\dont_target_friends.dm" #include "code\datums\ai\basic_mobs\targeting_strategies\with_object.dm" @@ -995,6 +1007,7 @@ #include "code\datums\bodypart_overlays\markings_bodypart_overlay.dm" #include "code\datums\bodypart_overlays\mutant_bodypart_overlay.dm" #include "code\datums\bodypart_overlays\simple_bodypart_overlay.dm" +#include "code\datums\bodypart_overlays\texture_bodypart_overlay.dm" #include "code\datums\brain_damage\brain_trauma.dm" #include "code\datums\brain_damage\creepy_trauma.dm" #include "code\datums\brain_damage\hypnosis.dm" @@ -1029,6 +1042,7 @@ #include "code\datums\components\atmos_reaction_recorder.dm" #include "code\datums\components\aura_healing.dm" #include "code\datums\components\bakeable.dm" +#include "code\datums\components\banned_from_space.dm" #include "code\datums\components\basic_inhands.dm" #include "code\datums\components\basic_mob_attack_telegraph.dm" #include "code\datums\components\basic_ranged_ready_overlay.dm" @@ -1045,16 +1059,19 @@ #include "code\datums\components\bumpattack.dm" #include "code\datums\components\burning.dm" #include "code\datums\components\butchering.dm" +#include "code\datums\components\callouts.dm" #include "code\datums\components\caltrop.dm" #include "code\datums\components\can_flash_from_behind.dm" #include "code\datums\components\chasm.dm" #include "code\datums\components\chuunibyou.dm" #include "code\datums\components\cleaner.dm" #include "code\datums\components\clickbox.dm" +#include "code\datums\components\climb_walkable.dm" #include "code\datums\components\clothing_fov_visor.dm" #include "code\datums\components\codeword_hearing.dm" #include "code\datums\components\combo_attacks.dm" #include "code\datums\components\combustible_flooder.dm" +#include "code\datums\components\conditonally_transparent.dm" #include "code\datums\components\connect_containers.dm" #include "code\datums\components\connect_loc_behalf.dm" #include "code\datums\components\connect_mob_behalf.dm" @@ -1079,6 +1096,7 @@ #include "code\datums\components\deployable.dm" #include "code\datums\components\direct_explosive_trap.dm" #include "code\datums\components\drift.dm" +#include "code\datums\components\drop_shadow.dm" #include "code\datums\components\earprotection.dm" #include "code\datums\components\echolocation.dm" #include "code\datums\components\edit_complainer.dm" @@ -1089,10 +1107,12 @@ #include "code\datums\components\energized.dm" #include "code\datums\components\engraved.dm" #include "code\datums\components\evolutionary_leap.dm" +#include "code\datums\components\examine_balloon.dm" #include "code\datums\components\explodable.dm" #include "code\datums\components\explode_on_attack.dm" #include "code\datums\components\faction_granter.dm" #include "code\datums\components\fertile_egg.dm" +#include "code\datums\components\fish_growth.dm" #include "code\datums\components\fishing_spot.dm" #include "code\datums\components\focused_attacker.dm" #include "code\datums\components\food_storage.dm" @@ -1102,6 +1122,7 @@ #include "code\datums\components\gas_leaker.dm" #include "code\datums\components\geiger_sound.dm" #include "code\datums\components\ghost_direct_control.dm" +#include "code\datums\components\glass_passer.dm" #include "code\datums\components\gps.dm" #include "code\datums\components\grillable.dm" #include "code\datums\components\ground_sinking.dm" @@ -1111,8 +1132,10 @@ #include "code\datums\components\hazard_area.dm" #include "code\datums\components\healing_touch.dm" #include "code\datums\components\health_scaling_effects.dm" +#include "code\datums\components\heart_eater.dm" #include "code\datums\components\heirloom.dm" #include "code\datums\components\hide_highest_offset.dm" +#include "code\datums\components\hide_weather_planes.dm" #include "code\datums\components\holderloving.dm" #include "code\datums\components\igniter.dm" #include "code\datums\components\infective.dm" @@ -1126,6 +1149,7 @@ #include "code\datums\components\jukebox.dm" #include "code\datums\components\keep_me_secure.dm" #include "code\datums\components\knockoff.dm" +#include "code\datums\components\leanable.dm" #include "code\datums\components\leash.dm" #include "code\datums\components\life_link.dm" #include "code\datums\components\light_eater.dm" @@ -1148,7 +1172,6 @@ #include "code\datums\components\nuclear_bomb_operator.dm" #include "code\datums\components\object_possession.dm" #include "code\datums\components\omen.dm" -#include "code\datums\components\on_hit_effect.dm" #include "code\datums\components\onwear_mood.dm" #include "code\datums\components\orbiter.dm" #include "code\datums\components\overlay_lighting.dm" @@ -1200,11 +1223,17 @@ #include "code\datums\components\sisyphus_awarder.dm" #include "code\datums\components\sitcomlaughter.dm" #include "code\datums\components\sizzle.dm" +#include "code\datums\components\slime_friends.dm" #include "code\datums\components\slippery.dm" #include "code\datums\components\smooth_tunes.dm" +#include "code\datums\components\soapbox.dm" #include "code\datums\components\soul_stealer.dm" #include "code\datums\components\soulstoned.dm" #include "code\datums\components\sound_player.dm" +#include "code\datums\components\space_allaergy.dm" +#include "code\datums\components\space_camo.dm" +#include "code\datums\components\space_dive.dm" +#include "code\datums\components\space_kidnap.dm" #include "code\datums\components\spawner.dm" #include "code\datums\components\speechmod.dm" #include "code\datums\components\spill.dm" @@ -1212,6 +1241,7 @@ #include "code\datums\components\spinny.dm" #include "code\datums\components\spirit_holding.dm" #include "code\datums\components\splattercasting.dm" +#include "code\datums\components\split_overlay.dm" #include "code\datums\components\squashable.dm" #include "code\datums\components\squeak.dm" #include "code\datums\components\stationloving.dm" @@ -1235,6 +1265,7 @@ #include "code\datums\components\telegraph_ability.dm" #include "code\datums\components\temporary_body.dm" #include "code\datums\components\temporary_description.dm" +#include "code\datums\components\temporary_glass_shatter.dm" #include "code\datums\components\tether.dm" #include "code\datums\components\thermite.dm" #include "code\datums\components\throwbonus_on_windup.dm" @@ -1253,11 +1284,14 @@ #include "code\datums\components\uplink.dm" #include "code\datums\components\usb_port.dm" #include "code\datums\components\vacuum.dm" +#include "code\datums\components\vis_block.dm" #include "code\datums\components\vision_hurting.dm" #include "code\datums\components\wall_mounted.dm" #include "code\datums\components\wearertargeting.dm" #include "code\datums\components\weatherannouncer.dm" #include "code\datums\components\wet_floor.dm" +#include "code\datums\components\window_smoothing.dm" +#include "code\datums\components\wormborn.dm" #include "code\datums\components\container_item\container_item.dm" #include "code\datums\components\container_item\tank_holder.dm" #include "code\datums\components\crafting\_recipes.dm" @@ -1441,6 +1475,7 @@ #include "code\datums\elements\eyestab.dm" #include "code\datums\elements\falling_hazard.dm" #include "code\datums\elements\firestacker.dm" +#include "code\datums\elements\fish_safe_storage.dm" #include "code\datums\elements\floorloving.dm" #include "code\datums\elements\footstep.dm" #include "code\datums\elements\footstep_override.dm" @@ -1448,6 +1483,7 @@ #include "code\datums\elements\frozen.dm" #include "code\datums\elements\gags_recolorable.dm" #include "code\datums\elements\give_turf_traits.dm" +#include "code\datums\elements\glass_pacifist.dm" #include "code\datums\elements\gravedigger.dm" #include "code\datums\elements\hat_wearer.dm" #include "code\datums\elements\haunted.dm" @@ -1480,14 +1516,19 @@ #include "code\datums\elements\movetype_handler.dm" #include "code\datums\elements\muffles_speech.dm" #include "code\datums\elements\nerfed_pulling.dm" +#include "code\datums\elements\no_crit_hitting.dm" #include "code\datums\elements\noisy_movement.dm" #include "code\datums\elements\noticable_organ.dm" #include "code\datums\elements\obj_regen.dm" +#include "code\datums\elements\on_hit_effect.dm" +#include "code\datums\elements\only_pull_living.dm" #include "code\datums\elements\openspace_item_click_handler.dm" #include "code\datums\elements\ore_collecting.dm" #include "code\datums\elements\organ_set_bonus.dm" #include "code\datums\elements\permanent_fire_overlay.dm" #include "code\datums\elements\pet_bonus.dm" +#include "code\datums\elements\pet_collar.dm" +#include "code\datums\elements\pet_cult.dm" #include "code\datums\elements\plant_backfire.dm" #include "code\datums\elements\point_of_interest.dm" #include "code\datums\elements\poster_tearer.dm" @@ -1495,10 +1536,12 @@ #include "code\datums\elements\proficient_miner.dm" #include "code\datums\elements\projectile_drop.dm" #include "code\datums\elements\projectile_shield.dm" +#include "code\datums\elements\quality_food_ingredient.dm" #include "code\datums\elements\radiation_protected_clothing.dm" #include "code\datums\elements\radioactive.dm" #include "code\datums\elements\ranged_armour.dm" #include "code\datums\elements\relay_attackers.dm" +#include "code\datums\elements\render_over_keep_hitbox.dm" #include "code\datums\elements\ridable.dm" #include "code\datums\elements\rust.dm" #include "code\datums\elements\selfknockback.dm" @@ -1509,6 +1552,7 @@ #include "code\datums\elements\skittish.dm" #include "code\datums\elements\slapcrafting.dm" #include "code\datums\elements\soft_landing.dm" +#include "code\datums\elements\split_visibility.dm" #include "code\datums\elements\spooky.dm" #include "code\datums\elements\squish.dm" #include "code\datums\elements\squish_sound.dm" @@ -1531,6 +1575,7 @@ #include "code\datums\elements\volatile_gas_storage.dm" #include "code\datums\elements\waddling.dm" #include "code\datums\elements\wall_engraver.dm" +#include "code\datums\elements\wall_mount.dm" #include "code\datums\elements\wall_smasher.dm" #include "code\datums\elements\wall_tearer.dm" #include "code\datums\elements\wall_walker.dm" @@ -1814,7 +1859,6 @@ #include "code\datums\status_effects\agent_pinpointer.dm" #include "code\datums\status_effects\buffs.dm" #include "code\datums\status_effects\drug_effects.dm" -#include "code\datums\status_effects\food_effects.dm" #include "code\datums\status_effects\gas.dm" #include "code\datums\status_effects\grouped_effect.dm" #include "code\datums\status_effects\limited_effect.dm" @@ -1829,9 +1873,11 @@ #include "code\datums\status_effects\buffs\bioware\cortex.dm" #include "code\datums\status_effects\buffs\bioware\ligaments.dm" #include "code\datums\status_effects\buffs\bioware\nerves.dm" +#include "code\datums\status_effects\buffs\food\_food_effect.dm" #include "code\datums\status_effects\buffs\food\chilling.dm" -#include "code\datums\status_effects\buffs\food\food_traits.dm" +#include "code\datums\status_effects\buffs\food\grant_trait.dm" #include "code\datums\status_effects\buffs\food\haste.dm" +#include "code\datums\status_effects\buffs\food\speech.dm" #include "code\datums\status_effects\debuffs\blindness.dm" #include "code\datums\status_effects\debuffs\choke.dm" #include "code\datums\status_effects\debuffs\confusion.dm" @@ -1877,6 +1923,7 @@ #include "code\datums\storage\subtypes\implant.dm" #include "code\datums\storage\subtypes\organ_box.dm" #include "code\datums\storage\subtypes\pockets.dm" +#include "code\datums\storage\subtypes\portable_chem_mixer.dm" #include "code\datums\storage\subtypes\rped.dm" #include "code\datums\storage\subtypes\surgery_tray.dm" #include "code\datums\storage\subtypes\trash.dm" @@ -1988,6 +2035,7 @@ #include "code\game\machinery\autolathe.dm" #include "code\game\machinery\bank_machine.dm" #include "code\game\machinery\barsigns.dm" +#include "code\game\machinery\big_manipulator.dm" #include "code\game\machinery\botlaunchpad.dm" #include "code\game\machinery\buttons.dm" #include "code\game\machinery\cell_charger.dm" @@ -2028,6 +2076,7 @@ #include "code\game\machinery\nebula_shielding.dm" #include "code\game\machinery\PDApainter.dm" #include "code\game\machinery\photobooth.dm" +#include "code\game\machinery\portagrav.dm" #include "code\game\machinery\prisongate.dm" #include "code\game\machinery\prisonlabor.dm" #include "code\game\machinery\quantum_pad.dm" @@ -2230,6 +2279,7 @@ #include "code\game\objects\effects\landmarks\atmospherics_sanity_landmarks.dm" #include "code\game\objects\effects\particles\acid.dm" #include "code\game\objects\effects\particles\fire.dm" +#include "code\game\objects\effects\particles\gravity.dm" #include "code\game\objects\effects\particles\misc.dm" #include "code\game\objects\effects\particles\note_particles.dm" #include "code\game\objects\effects\particles\slime.dm" @@ -2335,7 +2385,6 @@ #include "code\game\objects\items\maintenance_loot.dm" #include "code\game\objects\items\manuals.dm" #include "code\game\objects\items\mop.dm" -#include "code\game\objects\items\nitrium_crystals.dm" #include "code\game\objects\items\paint.dm" #include "code\game\objects\items\paiwire.dm" #include "code\game\objects\items\pet_carrier.dm" @@ -2467,6 +2516,7 @@ #include "code\game\objects\items\granters\oragami.dm" #include "code\game\objects\items\granters\sign_language.dm" #include "code\game\objects\items\granters\crafting\_crafting_granter.dm" +#include "code\game\objects\items\granters\crafting\advanced_donk_recipes.dm" #include "code\game\objects\items\granters\crafting\bone_notes.dm" #include "code\game\objects\items\granters\crafting\cannon.dm" #include "code\game\objects\items\granters\crafting\combat_baking.dm" @@ -2686,6 +2736,7 @@ #include "code\game\objects\structures\syndicate_uplink_beacon.dm" #include "code\game\objects\structures\table_frames.dm" #include "code\game\objects\structures\tables_racks.dm" +#include "code\game\objects\structures\tall_stairs.dm" #include "code\game\objects\structures\tank_dispenser.dm" #include "code\game\objects\structures\tank_holder.dm" #include "code\game\objects\structures\toiletbong.dm" @@ -2693,7 +2744,7 @@ #include "code\game\objects\structures\traps.dm" #include "code\game\objects\structures\votingbox.dm" #include "code\game\objects\structures\windoor_assembly.dm" -#include "code\game\objects\structures\window.dm" +#include "code\game\objects\structures\window_frames.dm" #include "code\game\objects\structures\beds_chairs\alien_nest.dm" #include "code\game\objects\structures\beds_chairs\bed.dm" #include "code\game\objects\structures\beds_chairs\chair.dm" @@ -2761,6 +2812,8 @@ #include "code\game\objects\structures\water_structures\toilet.dm" #include "code\game\objects\structures\water_structures\urinal.dm" #include "code\game\objects\structures\water_structures\water_source.dm" +#include "code\game\objects\structures\windows\fulltile_windows.dm" +#include "code\game\objects\structures\windows\window.dm" #include "code\game\turfs\baseturf_skipover.dm" #include "code\game\turfs\baseturfs.dm" #include "code\game\turfs\change_turf.dm" @@ -2935,7 +2988,6 @@ #include "code\modules\admin\verbs\shuttlepanel.dm" #include "code\modules\admin\verbs\spawnobjasmob.dm" #include "code\modules\admin\verbs\special_verbs.dm" -#include "code\modules\admin\verbs\lua\_hooks.dm" #include "code\modules\admin\verbs\lua\_wrappers.dm" #include "code\modules\admin\verbs\lua\helpers.dm" #include "code\modules\admin\verbs\lua\lua_editor.dm" @@ -3284,6 +3336,17 @@ #include "code\modules\antagonists\valentines\heartbreaker.dm" #include "code\modules\antagonists\valentines\valentine.dm" #include "code\modules\antagonists\venus_human_trap\venus_human_trap.dm" +#include "code\modules\antagonists\voidwalker\voidwalker.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_abilities.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_bodyparts.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_kidnap.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_loot.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_organs.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_particles.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_species.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_status_effects.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_traumas.dm" +#include "code\modules\antagonists\voidwalker\voidwalker_void_eater.dm" #include "code\modules\antagonists\wishgranter\wishgranter.dm" #include "code\modules\antagonists\wizard\imp_antag.dm" #include "code\modules\antagonists\wizard\slaughter_antag.dm" @@ -3300,6 +3363,7 @@ #include "code\modules\antagonists\wizard\equipment\spellbook_entries\defensive.dm" #include "code\modules\antagonists\wizard\equipment\spellbook_entries\mobility.dm" #include "code\modules\antagonists\wizard\equipment\spellbook_entries\offensive.dm" +#include "code\modules\antagonists\wizard\equipment\spellbook_entries\perks.dm" #include "code\modules\antagonists\wizard\equipment\spellbook_entries\summons.dm" #include "code\modules\antagonists\wizard\grand_ritual\fluff.dm" #include "code\modules\antagonists\wizard\grand_ritual\grand_ritual.dm" @@ -3428,6 +3492,7 @@ #include "code\modules\atmospherics\machinery\components\trinary_devices\filter.dm" #include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm" #include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm" +#include "code\modules\atmospherics\machinery\components\unary_devices\airlock_pump.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\bluespace_sender.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm" #include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm" @@ -3473,6 +3538,7 @@ #include "code\modules\awaymissions\signpost.dm" #include "code\modules\awaymissions\super_secret_room.dm" #include "code\modules\awaymissions\zlevel.dm" +#include "code\modules\awaymissions\mission_code\Beach.dm" #include "code\modules\awaymissions\mission_code\Cabin.dm" #include "code\modules\awaymissions\mission_code\caves.dm" #include "code\modules\awaymissions\mission_code\centcomAway.dm" @@ -3633,6 +3699,7 @@ #include "code\modules\cargo\exports\anomaly.dm" #include "code\modules\cargo\exports\antiques.dm" #include "code\modules\cargo\exports\civilain_bounty.dm" +#include "code\modules\cargo\exports\fish.dm" #include "code\modules\cargo\exports\food_and_drink.dm" #include "code\modules\cargo\exports\gear.dm" #include "code\modules\cargo\exports\large_objects.dm" @@ -3654,6 +3721,7 @@ #include "code\modules\cargo\markets\market_items\clothing.dm" #include "code\modules\cargo\markets\market_items\consumables.dm" #include "code\modules\cargo\markets\market_items\hostages.dm" +#include "code\modules\cargo\markets\market_items\local_goods.dm" #include "code\modules\cargo\markets\market_items\misc.dm" #include "code\modules\cargo\markets\market_items\stolen_goods.dm" #include "code\modules\cargo\markets\market_items\tools.dm" @@ -3699,6 +3767,7 @@ #include "code\modules\client\preferences\darkened_flash.dm" #include "code\modules\client\preferences\food_allergy.dm" #include "code\modules\client\preferences\fps.dm" +#include "code\modules\client\preferences\frill_transparency.dm" #include "code\modules\client\preferences\gender.dm" #include "code\modules\client\preferences\ghost.dm" #include "code\modules\client\preferences\ghost_lighting.dm" @@ -3717,6 +3786,7 @@ #include "code\modules\client\preferences\operative_species.dm" #include "code\modules\client\preferences\paint_color.dm" #include "code\modules\client\preferences\parallax.dm" +#include "code\modules\client\preferences\paraplegic.dm" #include "code\modules\client\preferences\pda.dm" #include "code\modules\client\preferences\persistent_scars.dm" #include "code\modules\client\preferences\phobia.dm" @@ -4092,6 +4162,7 @@ #include "code\modules\fishing\admin.dm" #include "code\modules\fishing\bait.dm" #include "code\modules\fishing\fish_catalog.dm" +#include "code\modules\fishing\fish_movement.dm" #include "code\modules\fishing\fishing_equipment.dm" #include "code\modules\fishing\fishing_minigame.dm" #include "code\modules\fishing\fishing_portal_machine.dm" @@ -4328,6 +4399,7 @@ #include "code\modules\jobs\job_types\antagonists\space_dragon.dm" #include "code\modules\jobs\job_types\antagonists\space_ninja.dm" #include "code\modules\jobs\job_types\antagonists\space_wizard.dm" +#include "code\modules\jobs\job_types\antagonists\voidwalker.dm" #include "code\modules\jobs\job_types\antagonists\wizard_apprentice.dm" #include "code\modules\jobs\job_types\antagonists\xenomorph.dm" #include "code\modules\jobs\job_types\assistant\assistant.dm" @@ -4415,7 +4487,8 @@ #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\matrix_flip.dm" +#include "code\modules\library\skill_learning\generic_skillchips\matrix_taunt.dm" +#include "code\modules\library\skill_learning\generic_skillchips\point.dm" #include "code\modules\library\skill_learning\generic_skillchips\rod_suplex.dm" #include "code\modules\library\skill_learning\job_skillchips\_job.dm" #include "code\modules\library\skill_learning\job_skillchips\chef.dm" @@ -4430,7 +4503,6 @@ #include "code\modules\lighting\lighting_atom.dm" #include "code\modules\lighting\lighting_corner.dm" #include "code\modules\lighting\lighting_object.dm" -#include "code\modules\lighting\lighting_setup.dm" #include "code\modules\lighting\lighting_source.dm" #include "code\modules\lighting\lighting_turf.dm" #include "code\modules\lighting\static_lighting_area.dm" @@ -4532,6 +4604,7 @@ #include "code\modules\mapfluff\ruins\spaceruin_code\derelict_sulaco.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\DJstation.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\forgottenship.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\hauntedtradingpost.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\hellfactory.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\hilbertshotel.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\interdyne.dm" @@ -4685,6 +4758,7 @@ #include "code\modules\mob\living\basic\bots\_bots.dm" #include "code\modules\mob\living\basic\bots\bot_ai.dm" #include "code\modules\mob\living\basic\bots\bot_hud.dm" +#include "code\modules\mob\living\basic\bots\dedbot.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot_abilities.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot_ai.dm" @@ -4874,11 +4948,12 @@ #include "code\modules\mob\living\basic\pets\parrot\parrot_ai\parrot_hoarding.dm" #include "code\modules\mob\living\basic\pets\parrot\parrot_ai\parrot_perching.dm" #include "code\modules\mob\living\basic\pets\parrot\parrot_ai\parroting_action.dm" -#include "code\modules\mob\living\basic\pets\pet_cult\pet_cult.dm" #include "code\modules\mob\living\basic\pets\pet_cult\pet_cult_abilities.dm" #include "code\modules\mob\living\basic\pets\pet_cult\pet_cult_ai.dm" +#include "code\modules\mob\living\basic\ruin_defender\cybersun_aicore.dm" #include "code\modules\mob\living\basic\ruin_defender\flesh.dm" #include "code\modules\mob\living\basic\ruin_defender\living_floor.dm" +#include "code\modules\mob\living\basic\ruin_defender\mad_piano.dm" #include "code\modules\mob\living\basic\ruin_defender\skeleton.dm" #include "code\modules\mob\living\basic\ruin_defender\stickman.dm" #include "code\modules\mob\living\basic\ruin_defender\wizard\wizard.dm" @@ -4950,6 +5025,7 @@ #include "code\modules\mob\living\basic\space_fauna\revenant\revenant_harvest.dm" #include "code\modules\mob\living\basic\space_fauna\revenant\revenant_items.dm" #include "code\modules\mob\living\basic\space_fauna\revenant\revenant_objectives.dm" +#include "code\modules\mob\living\basic\space_fauna\snake\banded_snake.dm" #include "code\modules\mob\living\basic\space_fauna\snake\snake.dm" #include "code\modules\mob\living\basic\space_fauna\snake\snake_ai.dm" #include "code\modules\mob\living\basic\space_fauna\space_dragon\dragon_breath.dm" @@ -5846,6 +5922,7 @@ #include "code\modules\spells\spell_types\pointed\spell_cards.dm" #include "code\modules\spells\spell_types\pointed\swap.dm" #include "code\modules\spells\spell_types\pointed\terrorize.dm" +#include "code\modules\spells\spell_types\pointed\tie_shoes.dm" #include "code\modules\spells\spell_types\projectile\_basic_projectile.dm" #include "code\modules\spells\spell_types\projectile\juggernaut.dm" #include "code\modules\spells\spell_types\self\basic_heal.dm" @@ -5952,7 +6029,7 @@ #include "code\modules\surgery\organs\autosurgeon.dm" #include "code\modules\surgery\organs\helpers.dm" #include "code\modules\surgery\organs\organ_movement.dm" -#include "code\modules\surgery\organs\external\_external_organ.dm" +#include "code\modules\surgery\organs\external\_visual_organs.dm" #include "code\modules\surgery\organs\external\restyling.dm" #include "code\modules\surgery\organs\external\spines.dm" #include "code\modules\surgery\organs\external\tails.dm" @@ -6134,6 +6211,8 @@ #include "code\modules\vending\clothesmate.dm" #include "code\modules\vending\coffee.dm" #include "code\modules\vending\cola.dm" +#include "code\modules\vending\cytopro.dm" +#include "code\modules\vending\donk.dm" #include "code\modules\vending\drinnerware.dm" #include "code\modules\vending\engineering.dm" #include "code\modules\vending\engivend.dm" diff --git a/tgui/README.md b/tgui/README.md index 1bae91fd13258..2bcb6d06afa36 100644 --- a/tgui/README.md +++ b/tgui/README.md @@ -35,10 +35,10 @@ If you are using the tooling provided in this repo, everything is included! Feel However, if you want finer control over the installation or build process, you will need these: -- [Node v16.13+](https://nodejs.org/en/download/) +- [Node v20.2+](https://nodejs.org/en/download/) - **LTS** release is recommended instead of latest - **DO NOT install Chocolatey if Node installer asks you to!** -- [Yarn v1.22.4+](https://yarnpkg.com/getting-started/install) +- [Yarn v4.1.1+](https://yarnpkg.com/getting-started/install) - You can run `npm install -g yarn` to install it. ## Usage @@ -144,12 +144,13 @@ together, and can reveal certain layout bugs which are not normally visible. ## Browser Developer Tools To debug TGUI interfaces with browser-style developer tools, there exists a utility -that Microsoft bundles with Windows to debug any Internet Explorer/Trident-using interface, +that Microsoft bundles with Windows called IEChooser/F12 to debug any Internet Explorer/Trident-using interface, which BYOND uses. This provides invaluable tools such as a local console, a DOM viewer, an interactive debugger, and more. -The 64-bit version that we use is located at `%windir%\SysWOW64\F12\IEChooser.exe`. +You can access the `IEChooser.exe` by pressing Win + R, then typing `f12`, then pressing enter. +To manually go there: 64-bit version that we use is located at `%windir%\SysWOW64\F12\IEChooser.exe`. There's also a 32-bit one in `system32\`. Simply launch the application after you've opened a TGUI window, and choose the .html name. diff --git a/tgui/docs/chat-embedded-components.md b/tgui/docs/chat-embedded-components.md index f5a5db7aed5bc..bb81acbb20dcc 100644 --- a/tgui/docs/chat-embedded-components.md +++ b/tgui/docs/chat-embedded-components.md @@ -29,7 +29,7 @@ We can't embed components that haven't been prewhitelisted. This isn't because of security concerns or anything, we just can't lookup components by their name without creating a lookup table. You can find that in [tgui chat's renderer](../packages/tgui-panel/chat/renderer.js) under the name `TGUI_CHAT_COMPONENTS` -Adding a new component is simple, just add it's name to the dictionary, and import it into the file. +Adding a new component is simple, just add its name to the dictionary, and import it into the file. ### Sending props @@ -38,7 +38,7 @@ Ok, so we know how to render a component, but that's nearly useless unless we al So how's that work? The syntax is similar to sending a component, but has a bit more caveats. -We have two bits of info to contend with. The name of the prop, and it's value. +We have two bits of info to contend with. The name of the prop, and its value. First then, how do you send the name of a prop? #### Sending a prop's name diff --git a/tgui/docs/tutorial-and-examples.md b/tgui/docs/tutorial-and-examples.md index 2e02f0e491acd..1b5ecab8968f9 100644 --- a/tgui/docs/tutorial-and-examples.md +++ b/tgui/docs/tutorial-and-examples.md @@ -75,7 +75,7 @@ Finally, the `ui_act` proc is called by the interface whenever the user used an input. The input's `action` and `params` are passed to the proc. ```dm -/obj/machinery/my_machine/ui_act(action, params) +/obj/machinery/my_machine/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return @@ -311,7 +311,7 @@ upon code review): data["var"] = var return data -/obj/copypasta/ui_act(action, params) +/obj/copypasta/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) if(..()) return switch(action) diff --git a/tgui/packages/common/redux.ts b/tgui/packages/common/redux.ts index c8eb268f5d44f..6179da15229c4 100644 --- a/tgui/packages/common/redux.ts +++ b/tgui/packages/common/redux.ts @@ -163,7 +163,7 @@ export const combineReducers = ( * @param {string} type The action type to use for created actions. * @param {any} prepare (optional) a method that takes any number of arguments * and returns { payload } or { payload, meta }. If this is given, the - * resulting action creator will pass it's arguments to this method to + * resulting action creator will pass its arguments to this method to * calculate payload & meta. * * @public diff --git a/tgui/packages/tgui-panel/chat/ChatPageSettings.jsx b/tgui/packages/tgui-panel/chat/ChatPageSettings.jsx index 4bd0383d7d759..ba577a1e5ef2f 100644 --- a/tgui/packages/tgui-panel/chat/ChatPageSettings.jsx +++ b/tgui/packages/tgui-panel/chat/ChatPageSettings.jsx @@ -30,7 +30,23 @@ export const ChatPageSettings = (props) => { return (
    - + {!!!page.isMain && ( + + - ) : ( - '' - )} - - - - {!page.isMain ? ( - - Reorder Chat:  - - - - ) : ( - '' )} diff --git a/tgui/packages/tgui-panel/reconnect.tsx b/tgui/packages/tgui-panel/reconnect.tsx index 6d3e6d9759e26..196ea10c95400 100644 --- a/tgui/packages/tgui-panel/reconnect.tsx +++ b/tgui/packages/tgui-panel/reconnect.tsx @@ -27,13 +27,14 @@ export const ReconnectButton = () => { + /> ); }; diff --git a/tgui/packages/tgui-panel/settings/SettingsGeneral.tsx b/tgui/packages/tgui-panel/settings/SettingsGeneral.tsx index 8203f0313951d..3599f24e70703 100644 --- a/tgui/packages/tgui-panel/settings/SettingsGeneral.tsx +++ b/tgui/packages/tgui-panel/settings/SettingsGeneral.tsx @@ -8,8 +8,8 @@ import { Divider, Input, LabeledList, - NumberInput, Section, + Slider, Stack, } from 'tgui/components'; @@ -20,10 +20,11 @@ import { FONTS } from './constants'; import { selectSettings } from './selectors'; export function SettingsGeneral(props) { - const { theme, fontFamily, fontSize, lineHeight } = + const { theme, fontFamily, fontSize, lineHeight, statLinked, statFontSize } = useSelector(selectSettings); const dispatch = useDispatch(); const [freeFont, setFreeFont] = useState(false); + const [statFont, setStatFont] = useState(false); return (
    @@ -109,35 +110,66 @@ export function SettingsGeneral(props) { )} - - toFixed(value)} - onChange={(value) => - dispatch( - updateSettings({ - fontSize: value, - }), - ) - } - /> + + + + toFixed(value)} + onChange={(e, value) => + dispatch( + updateSettings({ + [statFont ? 'statFontSize' : 'fontSize']: value, + }), + ) + } + /> + + + + + {!!statFont && ( + +
    diff --git a/tgui/packages/tgui/interfaces/AntagInfoVoidwalker.tsx b/tgui/packages/tgui/interfaces/AntagInfoVoidwalker.tsx new file mode 100644 index 0000000000000..02bc6b5924d90 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AntagInfoVoidwalker.tsx @@ -0,0 +1,74 @@ +import { BlockQuote, LabeledList, Section, Stack } from '../components'; +import { Window } from '../layouts'; + +const tipstyle = { + color: 'white', +}; + +const noticestyle = { + color: 'lightblue', +}; + +export const AntagInfoVoidwalker = (props) => { + return ( + + + + +
    + + You are a Voidwalker. + +
    + You are a creature from the void between stars. You were + attracted to the radio signals being broadcasted by this + station. +
    +
    + + + Survive:  + You have unrivaled freedom. Remain in space and no one can + stop you. You can move through windows, so stay near them to + always have a way out. +
    + Hunt:  + Pick unfair fights. Look for inattentive targets and strike at + them when they don't expect you. +
    + Abduct:  + Your Unsettle ability stuns and drains your targets. Finish + them with your void window and use it to pop a window, drag + them into space and use an empty hand to kidnap them. +
    +
    +
    +
    + +
    + + + You can move under the station from space, use this to hunt + and get to isolated sections of space. + + + Your divine appendage; it allows you to incapacitate the loud + ones and instantly break windows. + + + Your natural camouflage makes you nearly invisible in space, + as well as mending any wounds your body might have sustained. + You can move through glass freely, but are slowed in gravity. + + + Target a victim while remaining only partially in their view + to stun and weaken them, but also announce them your presence. + + +
    +
    +
    +
    +
    + ); +}; diff --git a/tgui/packages/tgui/interfaces/Aquarium.tsx b/tgui/packages/tgui/interfaces/Aquarium.tsx index caa0c65d75f65..6f29920fc0bf3 100644 --- a/tgui/packages/tgui/interfaces/Aquarium.tsx +++ b/tgui/packages/tgui/interfaces/Aquarium.tsx @@ -71,10 +71,10 @@ export const Aquarium = (props) => { ))} - +
    + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/BlackMarketUplink.tsx b/tgui/packages/tgui/interfaces/BlackMarketUplink.tsx index 51d397d500cd8..9dea92bedbeba 100644 --- a/tgui/packages/tgui/interfaces/BlackMarketUplink.tsx +++ b/tgui/packages/tgui/interfaces/BlackMarketUplink.tsx @@ -2,6 +2,7 @@ import { AnimatedNumber, Box, Button, + Image, Modal, Section, Stack, @@ -36,6 +37,7 @@ type Item = { desc: string; amount: number; cost: number; + html_icon: string; }; type DeliveryMethod = { @@ -106,8 +108,22 @@ export const BlackMarketUplink = (props) => { {items.map((item) => ( - - {item.name} + + + {!!item.html_icon && ( + + + + )} + + {item.name} + + {item.amount ? item.amount + ' in stock' : 'Out of stock'} diff --git a/tgui/packages/tgui/interfaces/BorgShaker.tsx b/tgui/packages/tgui/interfaces/BorgShaker.tsx index b16a68a39181c..bfcd716cb2bc9 100644 --- a/tgui/packages/tgui/interfaces/BorgShaker.tsx +++ b/tgui/packages/tgui/interfaces/BorgShaker.tsx @@ -9,6 +9,8 @@ type BorgShakerContext = { sodas: Reagent[]; alcohols: Reagent[]; selectedReagent: string; + reagentSearchContainer: ContainerPreference; + apparatusHasItem: boolean; }; type Reagent = { @@ -17,8 +19,13 @@ type Reagent = { description: string; }; +enum ContainerPreference { + BeverageApparatus = 'beverage_apparatus', + InternalBeaker = 'internal_beaker', +} + export const BorgShaker = (props) => { - const { data } = useBackend(); + const { act, data } = useBackend(); const { theme, minVolume, sodas, alcohols, selectedReagent } = data; const dynamicHeight = @@ -29,7 +36,58 @@ export const BorgShaker = (props) => { return ( -
    +
    + diff --git a/tgui/packages/tgui/interfaces/ControllerOverview/OverviewSection.tsx b/tgui/packages/tgui/interfaces/ControllerOverview/OverviewSection.tsx index 919c19631f6fc..ffcaefefbeefa 100644 --- a/tgui/packages/tgui/interfaces/ControllerOverview/OverviewSection.tsx +++ b/tgui/packages/tgui/interfaces/ControllerOverview/OverviewSection.tsx @@ -4,12 +4,18 @@ import { ControllerData } from './types'; export function OverviewSection(props) { const { act, data } = useBackend(); - const { fast_update, map_cpu, subsystems = [], world_time } = data; + const { + fast_update, + rolling_length, + map_cpu, + subsystems = [], + world_time, + } = data; - let overallUsage = 0; + let avgUsage = 0; let overallOverrun = 0; for (let i = 0; i < subsystems.length; i++) { - overallUsage += subsystems[i].tick_usage; + avgUsage += subsystems[i].usage_per_tick; overallOverrun += subsystems[i].tick_overrun; } @@ -18,16 +24,28 @@ export function OverviewSection(props) { fill title="Master Overview" buttons={ - + <> + + { + act('set_rolling_length', { + rolling_length: value, + }); + }} + > + Average: {rolling_length / 10} Second(s) + + } > @@ -43,11 +61,11 @@ export function OverviewSection(props) { - - {(overallUsage * 0.01).toFixed(2)}% + + {avgUsage.toFixed(2)}% - {(overallOverrun * 0.01).toFixed(2)}% + {overallOverrun.toFixed(2)}% diff --git a/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemDialog.tsx b/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemDialog.tsx index 21acd2dca1d95..cddfbd5f72ad0 100644 --- a/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemDialog.tsx +++ b/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemDialog.tsx @@ -24,6 +24,7 @@ export function SubsystemDialog(props: Props) { next_fire, tick_overrun, tick_usage, + usage_per_tick, } = subsystem; return ( @@ -42,12 +43,17 @@ export function SubsystemDialog(props: Props) { {init_order} {last_fire} {next_fire} - {cost_ms}ms + + {cost_ms.toFixed(2)}ms + - {(tick_usage * 0.01).toFixed(2)}% + {tick_usage.toFixed(2)}% + + + {usage_per_tick.toFixed(2)}% - {(tick_overrun * 0.01).toFixed(2)}% + {tick_overrun.toFixed(2)}% {initialization_failure_message && ( diff --git a/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemRow.tsx b/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemRow.tsx index 0a0bef6a9e6ec..7231c0b247b7d 100644 --- a/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemRow.tsx +++ b/tgui/packages/tgui/interfaces/ControllerOverview/SubsystemRow.tsx @@ -49,13 +49,13 @@ export function SubsystemRow(props: Props) { let rangeDisplay = {}; if (showBars) { if (sortType === SortType.Cost) { - valueDisplay = value.toFixed(0) + 'ms'; + valueDisplay = value.toFixed(2) + 'ms'; rangeDisplay = { average: [75, 124.99], bad: [125, Infinity], }; } else { - valueDisplay = (value * 0.01).toFixed(2) + '%'; + valueDisplay = value.toFixed(2) + '%'; rangeDisplay = { average: [10, 24.99], bad: [25, Infinity], diff --git a/tgui/packages/tgui/interfaces/ControllerOverview/contants.ts b/tgui/packages/tgui/interfaces/ControllerOverview/contants.ts index fdd28bfd36b0a..62953cc7dd0bc 100644 --- a/tgui/packages/tgui/interfaces/ControllerOverview/contants.ts +++ b/tgui/packages/tgui/interfaces/ControllerOverview/contants.ts @@ -35,6 +35,11 @@ export const SORTING_TYPES: readonly SortType[] = [ propName: 'tick_usage', inDeciseconds: true, }, + { + label: 'Avg Usage Per Tick', + propName: 'usage_per_tick', + inDeciseconds: true, + }, { label: 'Tick Overrun', propName: 'tick_overrun', diff --git a/tgui/packages/tgui/interfaces/ControllerOverview/types.ts b/tgui/packages/tgui/interfaces/ControllerOverview/types.ts index 604989b1f75c5..748328ca9662a 100644 --- a/tgui/packages/tgui/interfaces/ControllerOverview/types.ts +++ b/tgui/packages/tgui/interfaces/ControllerOverview/types.ts @@ -13,11 +13,13 @@ export type SubsystemData = { ref: string; tick_overrun: number; tick_usage: number; + usage_per_tick: number; }; export type ControllerData = { world_time: number; fast_update: BooleanLike; + rolling_length: number; map_cpu: number; subsystems: SubsystemData[]; }; diff --git a/tgui/packages/tgui/interfaces/CyborgBootDebug.jsx b/tgui/packages/tgui/interfaces/CyborgBootDebug.jsx index d023240c7e1fa..ac492a2498719 100644 --- a/tgui/packages/tgui/interfaces/CyborgBootDebug.jsx +++ b/tgui/packages/tgui/interfaces/CyborgBootDebug.jsx @@ -5,7 +5,7 @@ import { Window } from '../layouts'; const TOOLTIP_NAME = ` Enter a new name for this unit. Set to blank to reset to default, - which means unit will be able to choose it's own name. + which means unit will be able to choose its own name. `; const TOOLTIP_LOCOMOTION = ` @@ -30,7 +30,7 @@ const TOOLTIP_AI = ` const TOOLTIP_LAWSYNC = ` If closed, this unit will not synchronize - it's laws with it's master AI. + its laws with its master AI. `; export const CyborgBootDebug = (props) => { diff --git a/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.jsx b/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.jsx index 22fff93dfddae..8d6e53dbba63a 100644 --- a/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.jsx +++ b/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.jsx @@ -10,6 +10,7 @@ import { import { SUBJECT_CONCIOUS, SUBJECT_DEAD, + SUBJECT_HARD_CRIT, SUBJECT_SOFT_CRIT, SUBJECT_TRANSFORMING, SUBJECT_UNCONSCIOUS, @@ -81,7 +82,7 @@ const SubjectStatus = (props) => { ); } - if (status === SUBJECT_UNCONSCIOUS) { + if (status === SUBJECT_UNCONSCIOUS || status === SUBJECT_HARD_CRIT) { return ( Unconscious diff --git a/tgui/packages/tgui/interfaces/DnaConsole/constants.ts b/tgui/packages/tgui/interfaces/DnaConsole/constants.ts index c588c765e7657..e3d11a5dcd50f 100644 --- a/tgui/packages/tgui/interfaces/DnaConsole/constants.ts +++ b/tgui/packages/tgui/interfaces/DnaConsole/constants.ts @@ -31,8 +31,9 @@ export const STORAGE_MODE_ADVINJ = 'injector'; export const SUBJECT_CONCIOUS = 0; export const SUBJECT_SOFT_CRIT = 1; export const SUBJECT_UNCONSCIOUS = 2; -export const SUBJECT_DEAD = 3; -export const SUBJECT_TRANSFORMING = 4; +export const SUBJECT_HARD_CRIT = 3; +export const SUBJECT_DEAD = 4; +export const SUBJECT_TRANSFORMING = 5; export const PULSE_STRENGTH_MAX = 15; export const PULSE_DURATION_MAX = 30; diff --git a/tgui/packages/tgui/interfaces/FishAnalyzer.tsx b/tgui/packages/tgui/interfaces/FishAnalyzer.tsx new file mode 100644 index 0000000000000..171a22ed281f9 --- /dev/null +++ b/tgui/packages/tgui/interfaces/FishAnalyzer.tsx @@ -0,0 +1,308 @@ +import { createSearch } from 'common/string'; +import { useState } from 'react'; +import { BooleanLike } from 'tgui-core/react'; + +import { useBackend } from '../backend'; +import { + Box, + Button, + DmIcon, + Flex, + Icon, + Input, + ProgressBar, + Section, + Stack, +} from '../components'; +import { Window } from '../layouts'; + +type FishData = { + fish_name: string; + fish_icon: string; + fish_icon_state: string; + fish_health: number; + fish_size: number; + fish_weight: number; + fish_food: string; + fish_food_color: string; + fish_min_temp: number; + fish_max_temp: number; + fish_hunger: number; + fish_fluid_compatible: BooleanLike; + fish_fluid_type: string; + fish_suitable_temp: BooleanLike; + fish_breed_timer: number; + fish_traits: TraitData[]; + fish_evolutions: EvolutionData[]; +}; + +type TraitData = { + trait_name: string; + trait_desc: string; + trait_inherit: number; +}; + +type EvolutionData = { + evolution_name: string; + evolution_icon: string; + evolution_icon_state: string; + evolution_probability: number; + evolution_conditions: string; +}; + +type Data = { + fish_list: FishData[]; + fish_scanned: BooleanLike; +}; + +export const FishAnalyzer = (props) => { + const { act, data } = useBackend(); + const { fish_list = [], fish_scanned } = data; + const [searchText, setSearchText] = useState(''); + + const search = createSearch(searchText, (fish: FishData) => fish.fish_name); + + const fish_filtered = + searchText.length > 0 ? fish_list.filter(search) : fish_list; + + return ( + + + + {!fish_scanned && ( + +
    + { + setSearchText(value); + }} + fluid + /> +
    +
    + )} + +
    + + {fish_filtered.map((fish, index) => ( + + + + ))} + +
    +
    +
    +
    +
    + ); +}; + +const FishItem = (props) => { + const { fish } = props; + + return ( + + + + + + + + + + {fish.fish_weight}g + + + {fish.fish_size}cm + + + + + + + {dissectName(fish.fish_name).toUpperCase()} + + + {fish.fish_food} + + + {fish.fish_traits.length === 0 ? ( + + ) : ( + + {fish.fish_traits.map((trait, index) => ( + + + + ))} + + )} + + + + + + + Health:{' '} + + + + Hunger:{' '} + + + + {fish.fish_evolutions.length === 0 ? ( + No evolutions! + ) : ( + + {fish.fish_evolutions.map((evolution, index) => ( + + + + ))} + + )} + + + + + + + + + {fish.fish_min_temp}k - {fish.fish_max_temp}k + + + {dissectName(fish.fish_fluid_type)} + + + + + ); +}; + +const EvolutionItem = (props) => { + const { evolution, fish } = props; + + return ( + + + + + + + + {evolution.evolution_probability}% + + + + + + + + + + + ); +}; + +function dissectName(input: string): string { + return input.split(' ')[0].slice(0, 12); +} diff --git a/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx b/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx index 316a1754b4588..8584903366479 100644 --- a/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx +++ b/tgui/packages/tgui/interfaces/IntegratedCircuit/index.jsx @@ -535,6 +535,7 @@ export class IntegratedCircuit extends Component { height="100%" backgroundImage={resolveAsset('grid_background.png')} imageWidth={900} + scalePadding={componentMenuOpen ? '300px' : '0'} onZoomChange={this.handleZoomChange} onBackgroundMoved={this.handleBackgroundMoved} initialLeft={screen_x} diff --git a/tgui/packages/tgui/interfaces/LTSRBT.tsx b/tgui/packages/tgui/interfaces/LTSRBT.tsx new file mode 100644 index 0000000000000..d8c399d2705a8 --- /dev/null +++ b/tgui/packages/tgui/interfaces/LTSRBT.tsx @@ -0,0 +1,94 @@ +import { useBackend } from '../backend'; +import { + Button, + Image, + Input, + NumberInput, + Section, + Stack, + TextArea, +} from '../components'; +import { Window } from '../layouts'; + +type Data = { + name: string; + price: number; + min_price: number; + max_price: number; + loaded_icon: string; + desc: string; +}; + +export const LTSRBT = (props) => { + const { act, data } = useBackend(); + const { name, price, min_price, max_price, loaded_icon, desc } = data; + + return ( + + + + + + act('change_name', { + value: value, + }) + } + /> + + act('change_price', { + value: value, + }) + } + /> + + + {!!loaded_icon && ( + +
    + +
    +
    + )} + + +